微机原理题库2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章 汇编语言

一.填空题

1.指令MOV [BX+SI],AL 中的目的操作数使用______段寄存器,属于______寻址方式。

解答:指令MOV [BX+SI],AL 中的目的操作数使用___DS___段寄存器,属于__基址变址____寻址方式。

2. 指令MOV BX ,NUM[SI]的源操作数使用的是______寻址方式,SUB AX ,[BX+SI]使用的是______寻址方式。

解答:指令MOV BX ,NUM[SI]源操作数使用了变址寄存器和一个位移量,因此是变址寻址方式。 指令SUB AX ,[BX+SI]中源操作数指定的一个基址寄存器BX 和一变址寄存器SI ,因此属于基址变址寻址方式。

3.指令LEA BX,[BP+SI]的源操作数位于 ,执行后BX 的内容是 。

解答:指令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 后, SP= AX= ,BX= 解答:(1)执行PUSH AX

SP -2=1FFEH →SP ,指针在位置1处,栈顶为AX 的内容 执行PUSH BX

SP -2=1FFCH →SP ,指针在位置2处,栈顶为BX 的内容 (2)再执行PUSH CX ,POPBX ,POPAX 后, 执行PUSH CX

SP -2=1FFAH →SP ,指针在位置3处,栈顶为CX 的内容 执行POP BX

将栈顶内容1000H 弹出到BX 中,SP +2=1FFCH →SP ,指针在位置4处,BX =1000H

执行POP AX

将栈顶内容5000H 弹出到AX 中,SP +2=1FFEH →SP ,指针在位置5处,AX =5000H 本题的正确答案为:

(1)执行PUSH AX ,PUSH BX 后,SP= 1FFCH 。 (2)再执行PUSH CX ,POPBX ,POPAX 后,

SP= 1FFEH AX= 5000H ,BX= 1000H

……

③1FFAH 00H

10H ②1FFCH ④ 00H

50H ①1FFEH ⑤ 00H 30H 2000H

……

5.若(AX)=7531H,(BX)=42DAH,则下列指令段

SAHF

PUSH BX

POPF

指令执行完毕后(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对两个无符号8位二进制数进行加法运算后,结果为0EH,且标志位CF=1,OF=1,SF=0,其结果应为十进制数 270 。

8. 设(AL)=B,则执行NEG AL后,(AL)=,设(AL)=B,则执行NEG AL后,(AL)=。

解答:基址变址寻址在计算机中的减法运算可以将减数求补,

(AL)=B是一个负数,求它的真值,就对其求补

(AL)=B=-1100000B=-60H

执行NEG AL后,(AL)= 01100000B=60H

9.已知:(AL)=7AH,题(1),(2)相互独立,求AL的值。

(1)SUB AL,20H (AL)=()

(2)CMP AL,20H (AL)=()

解答:(1)SUB AL,20H

这条是减法指令,7AH-20H=5AH,将结果回送到AL中

因此(AL)=5AH

(2)CMP AL,20H

这是比较指令,将目的操作数与源操作数相减,但不送回结果,只根据结果置标志位,即(DST) -(SRC)。指令执行后,两个操作数均不发生变化。因此(AL)=7AH

10.设DS=1000H、ES=2000H、SS=3000H、SI=00C0H、DI=0170H、BX=01B0H、AX=5657H,(10370H)=3AH,(10371H)=67H数据段中的变量NUM的偏移地址值为0050H。

①求下条指令源操作数的物理地址为

ADD AX ,NUM[BX][DI]

②指令执行完成后OF= ,CF=

解答:①ADD AX ,NUM[BX][DI]的源操作数是相对的基址变址寻址,处于数据段中,有效地址为:EA=0050H+01B0H+0170H=0370H

PA=DS×10H+EA=10370H

源操作数为10370H单元和10371H单元的内容=673AH

②指令执行完成后,AX=673AH+5657H=0BD91H,OF=1(有溢出),CF=0(无进位)

11. 将DL中的内容循环右移,已知移位前CL=9,要使其移位前后内容保持不变,应选用的指令是。

解答:将DL中的内容循环右移,已知移位前CL=9,要使其移位前后内容保持不变,应选用的指令是RCL或RCR 。

12.串操作指令的两个隐含的指针寄存器是。

解答:串操作指令的两个隐含的指针寄存器是 SI和DI寄存器。

13. 指令REP MOVSB重复执行的条件为。

解答:指令REP MOVSB重复执行的条件为 CX≠0 。

14. 串操作指令在内存中可以实现信息串的搬家,如果DS=ES且SI>DI,不能引起信息串的覆盖,应设置。

解答:串操作指令在内存中可以实现信息串的搬家,如果DS=ES且SI>DI,不能引起信息串的覆盖,应设置 DF=0 。

15. 将下列程序补充完整:程序的功能是在数据段ADDR1地址处有200个字节,要传送到数据段地址ADDR2处。

MOV AX,SEG ADDR1

MOV DS,AX

MOV ES,

MOV SI,

MOV DI,OFFSET ADDR2

MOV ,200

CLD

REP

解答:在存储器中实现信息块的搬家,使用重复前缀,必须先给CX赋值重复的次数。如果信息块的长度是多少个字节,用MOVSB传送时,则将此字节数赋给CX作重复次数;若用MOVSW传送时,则将此字节数÷2赋给CX作重复次数。程序要求200个字节搬移,指令中使用的重复次数为200,由此使用REP MOVSB

相关文档
最新文档