微机原理题库(共9页).docx
《微机原理题库(共9页).docx》由会员分享,可在线阅读,更多相关《微机原理题库(共9页).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第3章 汇编语言一填空题1.指令MOV BX+SI,AL中的目的操作数使用_段寄存器,属于_寻址方式。解答:指令MOV BX+SI,AL中的目的操作数使用_DS_段寄存器,属于_基址变址_寻址方式。2. 指令MOV BX,NUMSI的源操作数使用的是_寻址方式,SUB AX,BX+SI使用的是_寻址方式。解答:指令MOV BX,NUMSI源操作数使用了变址寄存器和一个位移量,因此是变址寻址方式。指令SUB AX,BX+SI中源操作数指定的一个基址寄存器BX和一变址寄存器SI,因此属于基址变址寻址方式。3.指令LEA BX,BP+SI的源操作数位于 ,执行后BX的内容是
2、 。解答:指令LEA BX,BP+SI的源操作数位于 堆栈段 ,执行后BX的内容是 BP和SI的内容之和 。4. 堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,CX=1000H,问(1)执行PUSH AX,PUSH BX后,SP= 。(2)再执行PUSH CX,POPBX,POPAX后,1FFAH00H10H1FFCH00H50H1FFEH00H30H2000H SP= AX= ,BX= AXBX解答:(1)执行PUSH AXSP21FFEHSP,指针在位置1处,栈顶为AX的内容执行PUSH BXSP21FFCHSP,指针在位置2处,栈顶为BX的内容(2)再执行PUSH
3、CX,POPBX,POPAX后,执行PUSH CXSP21FFAHSP,指针在位置3处,栈顶为CX的内容执行POP BX将栈顶内容1000H弹出到BX中,SP21FFCHSP,指针在位置4处,BX1000H 执行POP AX将栈顶内容5000H弹出到AX中,SP21FFEHSP,指针在位置5处,AX5000H 本题的正确答案为:(1)执行PUSH AX,PUSH BX后,SP= 1FFCH 。(2)再执行PUSH CX,POPBX,POPAX后, SP= 1FFEH AX= 5000H ,BX= 1000H 5.若(AX)=7531H,(BX)=42DAH,则下列指令段SAHFPUSH BXP
4、OPF指令执行完毕后(AX)= ,(SF,ZF,CF,OF)=( , , , )。解答:指令执行完毕后(AX)= 7531H ,(SF,ZF,CF,OF)=( 1 , 1 , 0 , 0 )6. 已知AL=2EH,BL=6CH,执行指令ADD AL,BL之后,AL ,BL ,ZF AF OF PF CF 。解答:已知AL=2EH,BL=6CH,执行指令ADD AL,BL之后,AL 9AH ,BL 6CH ,ZF 0 AF 1 OF 1 PF 1 CF 0 。7. 对两个无符号8位二进制数进行加法运算后,结果为0EH,且标志位CF=1,OF=1,SF=0,其结果应为十进制数 。解答: CPU对两
5、个无符号8位二进制数进行加法运算后,结果为0EH,且标志位CF=1,OF=1,SF=0,其结果应为十进制数 270 。8. 设(AL),则执行NEGAL后,(AL) , 设(AL),则执行NEGAL后,(AL) 。解答:基址变址寻址在计算机中的减法运算可以将减数求补,(AL)是一个负数,求它的真值,就对其求补(AL)B60H执行NEGAL后,(AL) B60H 9.已知:(AL)=7AH,题(1),(2)相互独立,求AL的值。(1)SUB AL,20H (AL)=( )(2)CMP AL,20H (AL)=( )解答: (1)SUB AL,20H 这条是减法指令,7AH20H5AH,将结果回送
6、到AL中因此(AL)5AH(2)CMP AL,20H 这是比较指令,将目的操作数与源操作数相减,但不送回结果,只根据结果置标志位,即(DST) (SRC)。指令执行后,两个操作数均不发生变化。因此(AL)7AH10.设DS=1000H、ES=2000H、SS=3000H、SI=00C0H、DI=0170H、BX=01B0H、AX5657H,(10370H)=3AH,(10371H)=67H数据段中的变量NUM的偏移地址值为0050H。求下条指令源操作数的物理地址为 ADD AX ,NUMBXDI指令执行完成后OF= ,CF 解答:ADD AX ,NUMBXDI的源操作数是相对的基址变址寻址,处
7、于数据段中,有效地址为:EA0050H01B0H0170H0370HPADS10HEA10370H源操作数为10370H单元和10371H单元的内容673AH指令执行完成后,AX673AH5657H0BD91H,OF1(有溢出),CF0(无进位)11. 将DL中的内容循环右移,已知移位前CL=9,要使其移位前后内容保持不变,应选用的指令是 。解答:将DL中的内容循环右移,已知移位前CL=9,要使其移位前后内容保持不变,应选用的指令是 RCL或RCR 。12.串操作指令的两个隐含的指针寄存器是 。解答:串操作指令的两个隐含的指针寄存器是 SI和DI寄存器 。13. 指令REP MOVSB重复执行
8、的条件为 。解答:指令REP MOVSB重复执行的条件为 CX0 。14. 串操作指令在内存中可以实现信息串的搬家,如果DS=ES且SIDI,不能引起信息串的覆盖,应设置 。解答:串操作指令在内存中可以实现信息串的搬家,如果DS=ES且SIDI,不能引起信息串的覆盖,应设置 DF0 。15. 将下列程序补充完整:程序的功能是在数据段ADDR1地址处有200个字节,要传送到数据段地址ADDR2处。MOV AX,SEG ADDR1MOV DS,AXMOV ES, MOV SI, MOV DI,OFFSET ADDR2MOV ,200CLDREP 解答:在存储器中实现信息块的搬家,使用重复前缀,必须
9、先给CX赋值重复的次数。如果信息块的长度是多少个字节,用MOVSB传送时,则将此字节数赋给CX作重复次数;若用MOVSW传送时,则将此字节数2赋给CX作重复次数。程序要求200个字节搬移,指令中使用的重复次数为200,由此使用REP MOVSB指令,完整的程序如下:MOV AX,SEG ADDR1MOV DS,AXMOV ES, AX MOV SI, OFFSET ADDR1 MOV DI,OFFSET ADDR2MOV CX ,200CLDREP MOVSB 16. 若指令JMP ADDR1的机器码为E93512H,此指令的CS1500H,IP2400H,则目标ADDR1与本指令之间的位移量
10、为 ,执行本指令时,IP的当前值为 ,本指令执行后,CPU转移至CS:IP为 。解答: JMP指令是无条件转移指令,JMP ADDR1的机器码为E93512H,这是三字节指令,E9H表示操作码,8086系统中,高地址存放的是高字节,低地址则是低字节,因此1235H是操作数,表示本指令与ADDR1之间的位移量为1235H。该指令是三字节指令,执行指令时,当前IP2400H32403H。由目标偏移地址当前IP值指令中的位移量2403H1235H3638H。因此,执行该指令后,CPU转移至1500H:3638H处。本题的正确答案为:若指令JMP ADDR1的机器码为E93512H,此指令的CS150
11、0H,IP2400H,则目标ADDR1与本指令之间的位移量为 1235H ,执行本指令时,IP的当前值为 2403H ,本指令执行后,CPU转移至CS:IP为 1500H:3638H 。17. 阅读程序并补充完整:以TAB为首地址的100个ASCII码字符添加奇偶校验位(bit7),使每个字节中的“1”的个数为偶数,再顺序输出到10H号端口。MOV SI,OFFSET TABMOV CX, L2: MOV AL,SIAND AL, L1OR AL, L1: OUT 10H, ALINC LOOP L2解答:传送类指令不影响标志位,可以使用AND AL,AL或AND AL,0FFH指令,它对AL
12、的内容无影响,但影响标志位。为使每个字节中的“1”的个数为偶数,用使用进行JP条件判断,如果PF1,则转到L2出,否则在最高位加1,可凑成偶数。完整的程序如下:MOV SI,OFFSET TABMOV CX, 100 L2: MOV AL,SIAND AL, 0FFH 或ALJP L1OR AL, 80H L1: OUT 10,HALINC SI LOOP L218. 设AX=8000H,BX=0FFFFH,执行CMP AX,BX后,写出两条能引起转移的条件转移指令 、 。解答:AX=8000H,BX=0FFFFH,执行CMP AX,BX后CF1(有借位),OF0(没有溢出),ZF0(结果不为
13、0),SF1(结果为负数,最高位为1),PF0(第8位有1个1)。因此能引起只要的条件指令有JC、JNO、JNZ等。本题的正确答案为:设AX=8000H,BX=0FFFFH,执行CMP AX,BX后,写出两条能引起转移的条件转移指令 JC 、 JNZ 。19. 汇编语言的调试过程如下:建立_以为扩展名的源文件;生成以_为扩展名的目标文件;生成以_为扩展名的可执行文件;使用DYBUG调试程序,调试可执行目标程序。解答:汇编语言的调试过程如下:建立 .ASM 以为扩展名的源文件;生成以 .OBJ 为扩展名的目标文件;生成以 .EXE 为扩展名的可执行文件;使用DYBUG调试程序,调试可执行目标程序
14、。20. 宏汇编语言程序被汇编时,_语句产生代码指令,_语句不产生代码指令, _语句可能产生也可能不产生代码指令。解答:宏汇编语言程序被汇编时, 指令性 语句产生代码指令, 伪指令 语句不产生代码指令, 宏指令 语句可能产生也可能不产生代码指令。21. 已知VAR1是字变量,指令MOV AX,VAR1的功能是将 送到AX中;指令MOV AX,OFFSET VAR1的是将 送到AX,其功能和指令 AX,VAR1是相同的。解答:已知VAR1是字变量,指令MOV AX,VAR1的功能是将 VAR1的内容 送到AX中;指令MOV AX,OFFSET VAR1的是将 VAR1的偏移量 送到AX,其功能和
15、指令 LEA AX,VAR1是相同的。22.假设VDT1和VDT2为字变量,TAL1和TAL2为标号,说明下列指令是否正确,说明其寻址方式;若有错误指出错误所在。(1)JMP VDT1(2)JMP NEAR TAL1(3)JNZ VDT2(4)JE TAL2(5)JMP FAR PTR TAL1(6)JMP FAL1SI解答:(1)JMP VDT1非法指令,跳转指令应为标号不能是变量,VDT1是变量(2)JMP NEAR TAL1非法指令,标号的类型属性指在转移指令中标号可转移的距离,也称距离属性。类型NEAR,表示此标号只能实现本代码段内转移或调用;类型FAR,表示可以作为其它代码段中的目标
16、地址,实现段间转移或调用。使用时,在属性后加PTR,应该改为:JMP NEAR PTR TAL1(3)JNZ VDT2非法指令,跳转指令应为标号不能是变量,VDT2是变量(4)JE TAL2合法指令。(5)JMP FAR PTR TAL1合法指令(6)JMP FAL1SI非法指令,FAL1为标号,表示指令语言的符号地址,SI是源变址寄存器,它存放的是地址。这条指令的错误之处在于两个地址表达式不能相加。二选择题1.寻址方式指出了操作数的位置,一般来说( D )。A、立即寻址给出了操作数地址;B、寄存器直接寻址的操作数在寄存器内,而指令给出了存储器;C、直接寻址直接给出了操作数本身;D、寄存器直接
17、寻址的操作数包含在寄存器内中,由指令指定寄存器的名称。2. 寄存器寻址方式中,操作数在( A )中。A、通用寄存器 B、堆栈C、内存单元 D、段寄存器3.寄存器间接寻址方式中,操作数在( C)中。A、通用寄存器 B、代码段C、内存单元 D、段寄存器4. 8088变址寻址方式中,操作数的物理地址等于( B ) A、段寄存器左移四位加上变址寄存器的内容;B、段寄存器左移四位加上变址寄存器的内容再加给定的偏移量;C、段寄存器左移四位加上变址寄存器的内容再加基址寄存器内容;D、段寄存器左移四位加上基址寄存器的内容再加给定的偏移量;5. 下列指令中非法指令是( B )A.MOV SI+BX,AX B.M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 题库
限制150内