2020年1月2日共页第1页共页第2页2007—2008学年第二学期闽江学院考()适用年级专业:06电本考试形式:闭卷考试课程:微型计算机原理与应用班级姓名学号题号一二三四五六七八九十总分得分一、填空题20%得分1、一台电子计算机由存储器、运算器、控制器、输入设备、输出设备组成。2、在IBMPC中,有四个专门存放地址的寄存器,称为段寄存器,它们是DS、CS、ES、和SS。3、在标志寄存器中,OF表示溢出位标志位,CF表示进位位标志位4、系统总线包括数据总线、控制总线、地址总线三种总线。5、ZF表示零值位标志位,SF表示符号位标志位。6、常用通用寄存器有AX、BX、CX、DX。二、选择题30%得分1、下列数中最大的数为CA、(10010101)BB、(227)OC、(96)HD、(96)D2、当1与0或1进行何种运算时,结果均为1DA、逻辑‘与’B、逻辑‘或’C、逻辑‘非D、逻辑‘异或’3、在计算机内部,数的运算和存储都采用A数A、二进制B、十进制C、八进制D、十六进制4、IBM-PC中的一个字单元由C字节单元组成。A、8B、4C、2D、15、B是唯一代表存储空间中每一个字节单元的地址。A、段地址B、物理地址C、偏移地址D、PSW6、某存储单元的段基址为0915H,偏移量为003AH,那它的物理地址为A。A、0918AHB、0945AHC、0915AHD、0912AH7、一个物理地址对应D个逻辑地址A、1个B、2个C、3个D、若干个8、逻辑地址由D构成A、CS和IPB、DS和IPC、ES和IPD、段地址和偏移量9、在计算机内部,数的运算和存储都采用数A、二进制B、十进制C、八进制D、十六进制10、ADDAL,BL如果指令执行前,(AL)=28,(BL)=68,则指令执行后(AL)=装订线2020年1月2日共页第3页共页第4页CF=AF=DA、96,1,0B、40,1,0C、40,0,1D、96,0,111、标志位操作指令CMC的作用是将C。A、CF=0B、CF=1C、CF取反D、DF=012、操作数地址在指令中称为A寻址A、直接B、寄存器C、寄存器间址D、变址13、下列错误的指令是BA、ANDDH,DLB、MOV[BX][BP],AXC、MOVDA_WORD,1234HD、XCHGAL,DA_BYTE114、计算机指令系统往往具有多种寻址方式。操作数就是指令的一部分称为C_寻址。A、直接B、运算器C、立即数D、指令15、ROR指令是BA、循环左移B、循环右移C、带进位循环左移D、带进位循环右移16、机器指令由A代码组成A、二进制B、八进制C、十进制D、十六进制17、已知(32000H)=1234H,(32002H)=2345H,(DS)3000H,则MOVAX,[2000H]指令执行后,(AX)=AA、1234HB、3423HC、2345HD、4512H18、下列哪一项不可以作为立即寻址的目的操作数BA、通用寄存器B、立即数C、存储器D指针寄存器19、下列指令格式不正确的为DA、MOVAX,1234HB、XCHGAX,BUFC、XCHGBUF,AXD、XCHGBUF1,BUF220、若CF=1,OF=1,则ANDAX,0BFH执行后DA、CF=1,OF=0B、CF=0,OF=1C、CF=1,OF=1D、CF=0,OF=021、若CF=1,OF=1,则ORAX,0BFH执行后DA、CF=1,OF=0B、CF=0,OF=1C、CF=1,OF=1D、CF=0,OF=022、若CF=1,OF=1,则XORAX,0BFH执行后DA、CF=1,OF=0B、CF=0,OF=1C、CF=1,OF=1D、CF=0,OF=023、若CF=1,OF=1,则TESTAX,0BFH执行后DA、CF=1,OF=0B、CF=0,OF=1C、CF=1,OF=1D、CF=0,OF=024、下列逻辑运算指令中,不允许使用立即数为操作数的指令为DA、ANDB、ORC、XORD、NOT25、若将AH的内容的低四位分离,则应选用AA、ANDAL,0FHB、ORAL,0FHC、XORAL,0FHD、TESTAL,0FH26、若将AH的内容的高四位分离,则应选用AA、ANDAL,0F0HB、ORAL,0F0HC、XORAL,0F0HD、TESTAL,0F0H27、LOOPNE指令的转移条件是DA、CX=0且ZF=1B、CX=0且ZF=02020年1月2日共页第5页共页第6页CX≠0且ZF=1CX≠0且ZF=028、D伪操作用来定义字节,其后的每一个操作数都占有一个字节。A、DDB、DWC、DQD、DB29、语句ADDRDB6HDUP(1,2(DUP(1,2))中有数据‘0101H’的字存储单元有D个。A、3B、4C、5D、630、KDW20HDUP(0,1,2DUP(2))MOVAL,SIZEK此两指令执行完后,AL的值为CA、10HB、20HC、40HD、80H三、读程题:(30%)1、已知(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464HLEASI,[SI]MOVAX,[SI]MOV[SI+22H],1200HLDSSI,[SI+20H]ADDAX,[SI]上述程序段执行后,(DS)=___1200H____,(SI)=__464H____,(AX)=__6156H___.2、已知(AX)=1234HMOVBX,AXNEGBXADDAX,BX上述几条指令执行后,(AX)=____0____?(BX)=____EDCCH_________?3、已知(AX)=0A33AH,(DX)=0F0FHANDAH,DLXORAL,DHDECAXNOTAL上述指令执行后:(AX)=__6035H_______?4、有一短程序,试写出它的结果:MOVAL,43HORAL,20H两条程序执行完后结果:(AL)=63H。5、下列程序段执行后,BX寄存器的内容是多少?MOVCL,7MOVBX,8D16HSHRBX,CLBX=011AH。6、已知(AX)=0A5C6H,(CX)=0F03H,CF=1RCLAX,CLANDAH,CHRCRAX,CL上述三条指令执行完后,(AX)=__81C6H_____,CF=___1____;7、已知(AX)=4321HINCAXNEGAXDECAXNEGAX上述三条指令执行后:(AX)=__4323H____8、LESDI,[BX]如果指令执行前(DS)=B000H,(BX)=080AH,2020年1月2日共页第7页共页第8页(0B080CH)=04ABH,(0B080CH)=4000H,则指令执行后(DI)=04ABH,(ES)=4000H9、12、MOVAX,[BX]如果(DS)=2000H(BX)=1000H[21000H]=1234H[21002H]=2345H则(AX)=1234H。10、LEABX,[BX+SI+0F62H]执行前BX=0400H,SI=003CH执行以后BX=0FDEH。四、编程题(20%)1、编制一程序,求两个数组对应的数据之差,并把结果存入新数组SUM之中。计算一直进行到两数之差为零或数组结束。将新数组的长度存于LEN单元中。DSEGSEGMENTARRAY1DB71,21,40,44,34,32,28,171ARRAY2DB12,15,70,40,10,87,524,713CUNTEQU$-ARRAY2LENDB?SUMDB20HDUP(0)DSEGENDSSSEGSEGMENTPARASTACKDW20HDUP(?)SSEGENDSCSEGSEGMENTASSUMEDS:DSEG,SS:SSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXMOVCX,0MOVCX,CUNTMOVBX,-1NOZERO:INCBXMOVAL,ARRAY1[BX]SUBAL,ARRAY2[BX]MOVSUM[BX],ALLOOPNENOZEROJEENDOINCBLENDO:MOVLEN,BLMOVAH,4CHINT21HCODEENDSENDSTART2、将DX寄存器中的16位数分成2组,每组8位,然后把这两组数分别放在BL和CL中。SSEGSEGMENTPARASTACKDW20HDUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEGSTART:MOVAX,DXMOVCL,8SHLDX,CLMOVBL,DLANDCX,0FFHCODEENDSENDSTART