您的当前位置:首页正文

第3章 寻址方式和指令系统作业

2020-06-18 来源:九壹网


一、选择题

1.寄存器间接寻址方式中,要寻找的操作数位于( B )中。

A.通用寄存器 B.内存单元 C.段寄存器 D.堆栈

2.下列指令中正确的是( C )。

A.MOV AL,BX B.MOV CS,AX C.MOV AL,CL D.MOV [BX],[SI]

3.下列指令中错误的是( C )。

A.MOV AX,1234H B.INC BX C.SRL AX,2 D.PUSH DX

4.设(SP)=1010H,执行POP AX后,SP中的内容为( B )。

A.1011H B.1012H C.1OOEH D.100FH

5.给定(AL)=80H,(CL)=02H,指令SHR AL,CL执行后的结果是(B )。

A.(AL)=40H B.(AL)=20H C.(AL)=C0H D.(AL)=E0H

6.将AX清零并使CF位清零,下面指令错误的是( A )。

A.SUB AX,BX B.XOR AX,AX C.MOV AX,0 D.AND AX,0OOOH

二、填空题

2.寻址的含义是指_寻找操作数的过程_;8086指令系统的寻址方式按照大类可分为_与操作数有关的寻址方式、与I/O端口有关的寻址方式_;其中寻址速度最快的是_立即数寻址_。

4.堆栈是一个特殊的_存储器区域_,其操作是以_2字节单元_为单位按照__先进后出_原则来处理;采用_SP_指向栈顶地址,入栈时地址变化为_SP<=(SP)-2_。

5.I/O端口的寻址有_直接端口寻址和间接端口寻址_两种方式;采用8位数时,可访问的端口地址为_0~255_;采用16位数时,可访问的端口地址为_0~65535_。

三、分析计算题

1.指出如下指令中源操作数和目的操作数的寻址方式:

(1)MOV AX,100H (2)MOV CX,AX

(3)ADD [SI],1000 (4)SUB BX,[SI+100]

(5)MOV [BX+300],AX (6)AND BP,[DI]

解:

源操作数的寻址方式 目的操作数的寻址方式

(1)MOV AX,100H 立即数 寄存器

(2)MOV CX,AX 寄存器 寄存器

(3)ADD [SI],1000 立即数 寄存器间接

(4)SUB BX,[SI+100] 变址 寄存器

(5)MOV [BX+300],AX 寄存器 变址

(6)AND BP,[DI] 寄存器间接 寄存器

2.分析如下指令的正误,对错误指令说明出错误原因并加以收正:

(1)MOV [1200],23H (2)MOV 1020H,CX

(3)MOV [1000H],[2000H] (4)MOV IP,O00H

(5)PUSH AL (6)OUT CX,AL

(7)IN AL,[80H] (8)MOV CL,3300H

解:

(1)MOV [1200],23H ;未指明数据类型 MOV BYTE PTR[1200],23H

(2)MOV 1020H,CX ;立即数不能作为目标操作数 MOV [1020H],CX

(3)MOV [1000H],[2000H] ;两操作数不能均是内存单元 MOV BYTE PTR [1000H],2000H

(4)MOV IP,000H ;IP不能在MOV指令中出现 JMP 000H

(5)PUSH AL ;操作数必须是16位 PUSH AX

(6)OUT CX,AL ;CX不能作为端口地址的间接访问寄存器 OUT DX,AL

(7)IN AL,[80H] ;直接端口地址写法错误 IN AL,80H

(8)MOV CL,3300H ;两操作数的数据类型不一致 MOV CX,3300H

4.已知(AX)=75A4H,CF=1,分别写出如下指令执行后的结果:

(1)ADD AX,08FFH (2)INC AX

(3)SUB AX,4455H (4)AND AX,OFFFH

(5)OR AX,0101H (6)SAR AX,1

(7)ROR AX,1 (8)ADC AX,5

解:

(1)ADD AX,08FFH ;(AX)= 7EA3H CF=0

(2)INC AX ;(AX)= 75A5H CF=1

(3)SUB AX,4455H ;(AX)= 314FH CF=0

(4)AND AX,0FFFH ;(AX)= 05A4H CF=0

(5)OR AX,0101H ;(AX)= 75A5H CF=0

(6)SAR AX,1 ;(AX)= 3AD2H CF=0

(7)ROR AX,1 ;(AX)= 3AD2H CF=0

(8)ADC AX,5 ;(AX)= 75AAH CF=0

6.试分析如下程序段执行完后,BX的内容:817FH

MOV BX,1030H

MOV CL,3

SHL BX,CL

DEC BX

解:

(BX)=1030H

(CL)=3

(BX)=8180H

(BX)=817FH

四、设计题

2.设AX、BX中保存有带符号数,CX、指令或程序段。

(1)若(CX)<(DX),则转移到NEXT1。

CMP CX,DX

JB NEXT1

(2)若(AX)>(BX),则转移到NEXT2。

CMP AX,BX

JG NEXT2

中保仔无符号数,请写出实现以下功能的DX

(3)若(CX)=0,则转移到NEXT3。

CMP CX,0

JE NEXT3

(4)若AX中内容为负,则转移到NEXT4。

ADD AX,0

JS NEXT4

五、写出完成下述功能的指令

(1)传送25H到AL寄存器

解:MOV AL,25H

(2)将AL的内容乘以2

解:SHL AL,1

(3)AL的内容乘以BL的内容

解:MUL BL,AL

(4)测试AL最低位是否为1

解:TEST AL,01

(5)把AL内容变成对应的ASCII

解:MOV AL,‘a’… ‘Z’

XLAT

(6)截取AL的低4位

解:AND AL,0FH

(7)交换AX、BX的内容。

解:XCHG AX,BX

因篇幅问题不能全部显示,请点此查看更多更全内容