微机原理第3章习题分析
微机原理第3章习题与答案

习题一、选择题1.寻址方式指出了操作数的位置,一般来说_______。
A.立即寻址给出了操作数的地址B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器C.直接寻址直接给出了操作数本身D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称答案:D2.寄存器寻址方式中,操作数在_________。
A.通用寄存器B.堆栈C.内存单元D.段寄存器答案:A3.寄存器间接寻址方式中,操作数在_________。
A.通用寄存器B.堆栈C.内存单元D.段寄存器答案:C4.下列指令中的非法指令是______。
A.MOV[SI+BX],AXB.MOVCL,280C.MOV[0260H],2346HD.MOVBX,[BX]答案:B5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。
A.200FEHB.0102HC.20102HD.00FEH答案:A6.指令LEABX,TAB执行后,其结果是______。
A.将TAB中内容送BXB.将TAB的段基址送BXC.将TAB的偏移地址送BXD.将TAB所指单元的存储内容送BX答案:C7.下列正确的指令格式有______。
A.MOV[BX],1B.MOVAL,0345HC.MOVES:PTR[CX],3D.XLAT答案:D8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。
A.CF=0,OF=0B.CF=0,OF=1C.CF=1,OF=0D,CF=1,OF=1答案:C9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。
再执行DAA后,(AL)=_____。
A.02HB.12HC.62HD.72H答案:B10.执行下列程序后AL的内容为_____。
MOVAL,25HSUBAL,71HDASA.B4HB.43HC.54HD.67H11.下列四条指令中,需要使用DX寄存器的指令是______。
微机原理第3章作业及答案

第3章指令系统习题解答1. 若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,说明下列各条指令执行后,AX中的内容是什么?并说明各条指令中源操作数的寻址方式。
(1) MOV AX,DS (2) MOV AX,[2000H](3) MOV AX,[SI] (4) MOV AX,[BP](5) MOV AX,[BP+SI]【解】(1)AX=3000H 寄存器寻址(2)AX=4000H 直接寻址(3)AX=6020H 寄存器间接寻址(4)AX=4000H 寄存器间接寻址(5)AX=6020H 基址加变址寻址2. 指出下列指令中的非法指令。
(1) MOV BX,AL (2) MOV CS,2000H(3) PUSH 4567H (4) XCHG VAR1,VAR2(5) ADD AL,148H (6) MOV DS,2000H(7) MOV BH,SI (8) SUB 38H,AL【解】非法指令:(1) MOV BX,AL BX和AL的长度不一致(2) MOV CS,2000H CS段寄存器不能作目的操作数(3) PUSH 4567H 只能将寄存器或存储单元的内容压入堆栈,不能是立即数(4) XCHG VAR1,V AR2 两个存储单元之间不能直接交换数据(5) ADD AL,148H 运算溢出(6) MOV DS,2000H 立即数不能直接传送给DS段寄存器(7) MOV BH,SI BH和SI的长度不一致(8) SUB 38H,AL 目的操作数不能是立即数3. 若SP=2000H,AX=3355H,BX=4466H,试指出下列指令或程序段执行后有关寄存器的内容。
(1) PUSH AX执行后AX=?,SP=?(2) PUSH AXPUSH BXPOP DXPOP CX执行后AX=?,CX=?,DX=?,SP=?【解】(1) 执行后AX=3355H,SP=1FFEH(2) 执行后AX=3355H,CX=3355H,DX=4466H,SP=2000H4. 请按下面的要求写出相应的汇编指令或指令序列。
微机原理第三章课后习题解答

3.1已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H , (1E4F6H)=091DH。
在以上给出的环境下,试问下列指令段之行后的结果如何?(1)MOV CL,[BX+20H][SI];物理地址=DS*10H+BX+SI+20H=091D0H+0024H+0012H+0020H=09226H(09226H)=00F6H,(09226H)=F6H, (09227H)=00H执行后:CL=F6H(2)MOV [BP][DI], CX物理地址=SS*10H+BP+DI=1E4A0H +0024H+0032H=1E4F6HCX=5678H 执行后:(1E4F6H) = 5678H(3)LEA BX, [BX+20H][SI];BX=BX+20H+SI=0056HMOV AX, [BX+2];物理地址=DS*10H+BX+2=091D0H +0058H=09228H(09228H)=1E40H 执行后:AX=1E40H(4)LDS SI, [BX][DI];物理地址=DS*10H+BX+DI=091D0H +0056H=09226H(09226H)=00F6H (09228H)=1E40H执行后:BX=(09226H)=00F6HDS=(09228H)=1E40HMOV [SI],BX物理地址=DS*10H+SI =1E400H +0012H=1E412HBX=0024H,执行后:(1E412H)=0024H(5)XCHG CX,[BX+32H]物理地址=DS*10H+BX+32H =091D0H +0056H =09226H(09226H)=00F6H , CX=5678H执行后:(09226H)=5678H , CX=00F6HXCHG [BX+20H][SI], AX物理地址=DS*10H+BX+20H+SI =091D0H +0056H =09226H(09226H)=5678H , AX=1234H执行后: (09226H)=1234H , CX=5678H3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H。
微机原理第三章习题答案

习题3答案1. 指出下列指令的错误原因。
(1) AND AX, DL ;类型不匹配(2) ADD CS, DX ;CS不能作为目的操作数(3) MOV AX, IP ;IP不能作为指令的操作数(4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数(5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前(6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式(7) JGE AX ;条件转移指令的操作数只能是标号(8) PUSH DL ;对堆栈不能进行字节操作2. 用一条指令将BX清0。
(请给出3种方法)方法1:MOV BX, 0方法2:SUB BX, BX方法3:AND BX, 0 ;将BX和0做与,可以将BX清零方法4:XOR BX, BX3. 写出实现下列功能的指令序列。
(1) 判断AX的值,若AX等于0,则转到标号LABEL处。
(请写出3种方法)方法1:CMP AX, 0JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果; 因此指令执行后AX内容不会受到破坏方法2:TEST AX, 0FFHJZ LABEL ; 如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。
; 和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已; 经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3:AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的JZ LABEL(2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。
MOV AH, ALAND AL, 0FH ; AL高4位通过与清零,而低4位保持不变MOV CL, 4SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。
南邮 微机原理(微型计算机与接口技术)第3章习题解答

解:先将物理地址写成逻辑地址 源逻辑地址为 1000H:2345H 目的逻辑地址为 2000H:3456H MOV AX,1000H ;设置DS段寄存器 MOV DS, AX MOV AX, 2000H ;设置ES段寄存器 MOV ES, AX MOV SI, 2345H ;设置源偏移地址 MOV DI, 3456H ;设置目的偏移地址 MOV CX, 1024 ;设置长度值 CLD ;设置地址为增量方向 REP MOVSB ;重复传送指令
第3章习题解答
3.5 (1)方法1 MOV AX,WORD PTR FIRST MOV BX,WORD PTR SECOND MOV WORD PTR FIRST,BX MOV WORD PTR SECOND,AX 注意: PTR用于临时修改属性,常用方法是 在存储器操作数之前使用。 例如: WOR PTR FIRST WORD PTR [BX] BYTE PTR [SI+BX]
;移位次数=8 ;含进位的循环左移一位 ;含进位的循环右移一位 ;移位次数有无达到8次 ;有无达到8次,没有转L1 ;将结果传送到AL
3.10 第1小题的框图
置源数据区指针 置正数缓冲区指针 置负数缓冲区指针 置数据长度
从源缓冲区 取一个数
Y
=0吗?
N
N
是正数吗?
Y
传送到负数缓冲区 传送到正数缓冲区 负数缓冲区指针加1 正数缓冲区指针加1 源数据区指针加1 数据长度减1
S1: CMP BYTE PTR [BX],0 ;与0比较 JZ COM ;=0 准备取下一个数判断 JL M1 ;为负数转到M1处理 MOV AL,[BX] ;取数 MOV [SI],AL ;将正数存入PLUS缓冲区 INC SI ;修改正数缓冲区地址指针 JMP COM ;转到长度计数部分 M1: MOV AL,[BX] ;取数 MOV [DI], AL ;将负数存入MINUS缓冲区 INC DI ;修改负数缓冲区地址指针 COM: INC BX ;修改源数据地址指针 LOOP S1 ;数据长度减1,并判断 HLT ;结束
微机原理第3章习题与答案解析

习题一、选择题1.寻址方式指出了操作数的地点,一般来说_______。
A.立刻寻址给出了操作数的地点B.寄存器直接寻址的操作数在寄存器内,而指令给出了储存器C.直接寻址直接给出了操作数自己D.寄存器直接寻址的操作数包括在寄存器内,由指令指定寄存器的名称答案: D2.寄存器寻址方式中,操作数在_________。
A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: A3.寄存器间接寻址方式中,操作数在_________ 。
A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: C4.以下指令中的非法指令是 ______。
A. MOV [SI+BX], AXB.MOV CL, 280C.MOV [0260H], 2346HD.MOV BX, [BX]答案: B5.设 (SP)=0100H ,(SS)= 2000H ,履行 PUSH BP 指令后,栈顶的物理地点是 _____。
A.200FEHB.0102HC. 20102HD.00FEH答案: A6.指令 LEA BX, TAB 履行后,其结果是 ______。
A. 将 TAB 中内容送 BXB.将 TAB 的段基址送 BXC.将 TAB 的偏移地点送 BXD.将 TAB 所指单元的储存内容送 BX答案: C7.以下正确的指令格式有______。
A.MOV [BX], 1B.MOV AL, 0345HC.MOV ES: PTR[CX], 3D. XLAT答案: D8.设 (AX)=C544HA.CF=0,OF=0 ,在履行指令B.CF=0,OF=1ADD AH,AL 以后,C.CF=1,OF=0______。
D,CF=1,OF=1答案: C9.若 AL 、 BL 再履行 DAA 中是压缩BCD后, (AL)=_____数,且在履行。
ADD AL, BL 以后,(AL)=0CH , CF=1 ,AF=0 。
A.02HB.12HC.62HD.72H 答案: B10.履行以下程序后AL 的内容为 _____。
微机原理与汇编语言第三章习题解答
3.1 8086/8088 CPU的地址总线有多少位?其寻址范围是多少?答:20条,寻址范围:0~220-1 (1MB)3.2 8086/8088 CPU分为哪两个部分?各部分主要由什么组成?答: BIU(Bus Interface Unit总线接口单元)、EU(Execution Unit执行单元)3.4 8086/8088 CPU中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器也可作为地址寄存器使用?答:八个通用寄存器:AX、BX、CX、DX、SP、BP、SI、DI;三个指针寄存器:IP、SP、BP。
指令指针IP总是指向下一条将要执行的指令在代码段中的偏移地址。
当堆栈中有压入的数据时,堆栈指针SP总是指向栈顶;两个间址指针寄存器:源变址SI和目的变址寄存器DI;在寄存器间接寻址方式中,只有BX、BP、SI、DI能充当地址寄存器。
3.8 在8086/8088 CPU工作在最小模式时,(1)当CPU访问存储器时,要利用哪些信号?(2)当CPU访问外设接口时,要利用哪些信号?(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻?答:当MN/MX为高电平时工作于最小模式、否则为最大模式。
(1)地址线信号、数据线信号、RD、WR、M/IO、DEN、ALE、BHE、DT/R。
(2)地址线信号、数据线信号、RD、WR、M/IO、READY、DEN、ALE、DEN。
(3)DEN、DT/R3.9 当在8086/8088 CPU工作在最大模式时,(1)S—2、S—1、S—0可以表示CPU的哪些状态?(2)CPU的RQ——/GT——信号的作用?答:(1)(2)多处理器的总线控制信号。
共享总线的其他主控者通过该信号申请总线控制权和获得总线授予权。
3.10 试求出下面运算后各个标志位的值,并说明进位标志和溢出标志的区别? 1278H+3469H答:0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0+ 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1= 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1SF=0、CF=0、ZF=0、PF=1、AF=1、OF=03.12什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址:在存储器寻址中,程序员在程序中指定的地址称之为逻辑地址。
微机原理第3章习题(答案)
微机原理第3章习题(答案)1.下列各条指令是否有错?如果有,请指出错误之处并改正(1)MOVDS 1000H(2)MOV[100],23H(3)ADDAX [BX + BP+ 6](4)PUSHDL(5)INAX, [3FH](6)0UT3FFH AL(7)LESSS [SI](8)POP[AX](9)IMUL4CH(10)SHLBX 5(11)INT300(12)XCHGD, 0FFFH答:(1)错误。
不允许直接向段寄存器送立即数,可改为:MOVAX 1000HMOVD, AX(2)错误。
该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPT或WORDPT说明,否则汇编程序会因不能确定操作数长度而指示出错。
可改为:MOVBYTEPTR[1O0] 23H(3)错误。
不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADDAX [BX + DI + 6](4)错误。
堆栈操作应以字为单位进行,而DL是一个字节。
可改为:PUSHDX(5)错误。
在输入/输出指令中,8位端口地址应直接写在操作数处。
可改为:INAX, 3FH(6)错误。
端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX可改为:MOVD, 3FFHOUTDXAL(7)错误。
LES指令的目操作数应该是通用寄存器,不能是段寄存器。
可改为:LESBX [SI](8)错误。
AX不能用于间接寻址,间接寻址只能用BXBP、SI、DI四个寄存器之一。
可改为:POP[BX](9)错误。
立即数不能做乘法指令的操作数,可改为:MOVBJL 4CHIMULBL(10)错误。
当逻辑移位的次数大于1时,应该用CL指示次数。
可改为MOVCL 5SHLBX CL(11)错误。
操作数300>255,已超出有效的中断类型码范围。
(12)错误。
XCHG指令不允许立即数做它的操作数。
可改为:MOVC, 0FFFHXCHGDXCX2•请指出以下各指令的源、目的操作数所使用的寻址方式(1)MOVSI 2100H(2)SBBDISP[BX], 7(3)AND[DI] , AX(4)ORAX [609EH](5)MOV[BXb DI + 30H], CX(6)PUSHES [BP](7)CALL[DI]DISP(8)JNZShort_label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:基址寻址(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为变址寻址(8)只有一个操作数,为相对寻址3. 已知DS=2000H 有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT 勺偏移地址为1200H。
微机原理 汇编 接口技术 朱定华 第3章课后习题解答
DEC DI MOV BYTE PTR[DI],1 NWW:MOV DX,DI MOV AH,9 INT 21H
3-5 编写求两个4位压缩BCD数 之和,将和送显示器显示的程序。
W1 W2 OBF
DW 8931H DW 5678H DB 6 DUP(0)
MOV AL, BYTE PTR W1 ADD AL, BYTE PTR W2 DAA MOV AH, AL MOV AL, BYTE PTR W1+1 ADC AL, BYTE PTR W2+1 DAA PUSHF MOV DI,OFFSET OBF+5 MOV BYTE PTR[DI], $
MOV DX,OFFSET IBUF MOV AH,10 INT 21H MOV CL,IBUF+1 MOV CH,0 MOV SI,OFFSET IBUF+2
SININC: AGAIN:
CMP BYTE PTR [SI], PUSHF JNE SININC INC SI DEC CX MOV AL, 0 MOV AH, 10 MUL AH AND BYTE PTR [SI], 0FH ADD AL,[SI] INC SI LOOP AGAIN
MOV DX,OFFSET IBUF MOV AH,10 INT 21H
MOV CX,8
MOV SI,2
AG:
SHR IBUF[SI],1
RCL DH,1
INC SI
LOOP AG
MOV AH,2
MOV DL,0AH
INT 21H
NAD71:
MOV DL,DH MOV CL,4 SHR DL,CL ADD DL,30H CMP DL,39H JBE NAD71 ADD DL,7 MOV AH,2 INT 21H
微机原理第3章习题答案
微机原理第3章习题答案第3章习题参考答案1 分别指出下列指令中的源操作数和目的操作数的寻址方式。
答:源操作数目的操作数(1)MOV AX,[SI] 寄存器寻址寄存器间接寻址(2)MOV DI,100 寄存器寻址立即寻址(3)MOV [BX],AL 寄存器间接寄存器(4)MOV [BX][SI],CX 基址+变址寄存器(5)ADD DX,106H[SI] 寄存器变址(6)PUSH AX 寄存器(7)ADD DS:[BP],AX 带段超越寄存器间接寻址寄存器(8)OR AX,DX 寄存器寄存器2.设寄存器(DS)=2000H,(SS)=1500H,(ES)=3200H,(SI)=0A0H,(BX)=100H,(BP)=10H,数据段中变量VAL的偏移地址为50H。
试指出下列各条指令中源操作数的寻址方式是什么?对于存储器操作数,其物理地址是多少?答:操作数的寻址方式存储器操作数PA (1)MOV AX,[100H] 直接寻址20100H(2)MOV CX,ES:[BX] 带段超越的寄存器间接寻址32100H(3)MOV DX,[BX][SI] 基址+变址寻址200F0H(4)MOV AX,V AL[SI] 变址寻址200F0H(5)MOV BX,1234[BX] 基址寻址205D2H(6)MOV AX,[BP] 寄存器间接寻址15010H3. 判断下列指令有误错误,若有,则改之。
答:(1)PUSH CL 有错,对堆栈操作数总是16位的。
改为:PHSH CX (2)ADCAX,0ABH 无,只是CF的值是不确定的(0或1)(3)OUT 3EBH, AX 有,输出设备的端口地址若超过8位,应使用DX 间接寻址。
改为:MOV DX, 3EBHOUT DX,AX(4)MUL AL, CL 有错。
乘法指令中有AX或AL寄存器是隐含的。
改为:MUL CL(5)MUL AX, 25 有错。
乘法指令中不能用立即数。
改为:MOV BX,25MUL BX(6)ROL DX,5 有错。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理第3章习题分析
• 3.6指出下列指令的错误。 (1)MOV AH,CX 类型不匹配或两操作数字长不相等 (2)MOV 33H,AL 立即数不能做目的操作数 (3)MOV AX,[SI][DI] 两变址寄存器不能同时使用 (4)MOV [BX],[SI] 两操作数不能同时为存储器操作数 (5)ADD BYTE PTR[BP],256 两操作数类型不匹配
=0200H+(217A0H)
=04300H (3)JMP DWORD PTR[BX+DATA]
段间间接转移 PA=[BX+DATA]=(217E2H) ×10H+(217E0H)
=90000H+0400H=90400H
微机原理第3章习题分析
• 3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX] 的区别。
微机原理第3章习题分析
• 3.9试判断下列程序执行后,BX中的内容。 MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL
解:该程序是首先将BX内容不带进位循环左移1位, 再循环 右移3位,即相当于将BX内容不带进位循 环右移2位, 所以结果为(BX)=C02DH
微机原理第3章习题分析
(1)MOV AX,BX
(2)MOV DL,80H
(3)MOV AX,VAR
(4)MOV AX,VAR[BX][SI]
(5)MOV AL,‘B’
(6)MOV DI,ES:[BX]
(7)MOV DX,[BP微]机原理第3章习(题分8析)MOV BX,20H[BX]
解:
(1)寄存器寻址 无物理地址
(2)立即寻址
无物理地址
(3)立即寻址
无物理地址
(4)基址-变址-相对寻址
PA=(DS)×10H+VAR+(BX)+(SI)=608F0H
(5)立即寻址
无物理地址
(6)寄存器间接寻址
PA=(ES)× 10H+(BX)=20800H
(7)寄存器间接寻址
PA=(SS)× 10H+(BP)=16200H
(8)寄存器相对寻址
PA=(DS) × 10H+(微B机原X理)第3+章习2题0分H析=60820H
• 3.3假设(DS)=212AH,(CS)=0200H, (IP)=1200H,(BX)=0500H, 位移量DATA=40H (217A0H)=2300H,(217E0H)=0400H, (217E2H)=9000H, 试确定下列转移指令的转移地址。
答: ①MOV BX,5[BX]是数据传送类指令,表示将数据段中以
(BX+5)为偏移地址的16位数据送寄存器BX中。 ② LEA BX,5[BX]是取偏移地址指令,结果为 (BX)=(BX)+5,即操作数的偏移地址为(BX)+5 • 3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,
(BX)=1234H。执行指令PUSH AX后,(SP)=?, 再执行指令PUSH BX及POP AX之后,(SP)=?(AX) =?(BX)=? 解:执行指令PUSH AX后,(SP)=22FEH
微机原理第3章习题分析
• 3.11分别指出以下两个程序段的功能。
(1)MOV CX,10 LEA SI,FIRST LEA DI,SECOND
(2)CLD LEA DI,[1200H] MOV CX,0F00H
STD
XOR Hale Waihona Puke X,AXREP MOVSB
REP STOSW
将数据段中FIRST为最
将附加段中偏移地址为
微机原理第3章习题分析
(6)MOV DATA[SI],ES:AX 源操作数形式错,寄存器操作数不加段重设符 (7)JMP BYTE PTR[BX] 转移地址的字长至少应是16位 (8)OUT 230H,AX 对I/O指令,端口地址超过8位,必须采用间接寻址 (9)MOV DS,BP 正确 (10)MUL 39H MUL指令中操作数不能为立即数
• 3.10按下列要求写出相应的指令或程序段 (1)写出两条使AX内容为0的指令;
MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX (2)使BL寄存器中的高4位和低4位互换; MOV CL,4 ROL BL,CL 或 ROR BL,CL (3)屏蔽CX寄存器的b11、b7和b3位; AND CX,0F777H (4)测试DX中的b0和b8位是否为1。 TEST DX,0101H
微机原理第3章习题分析
• 3.7已知(AL)=7BH,(BL)=38H,试问执 行指令ADD AL,BL后,AF、CF、OF、PF、 SF和ZF的值各为多少?
解: (AL)=B3H AF=1,CF=0,OF=1, PF=0,SF=1,ZF=0
• 3.8试比较无条件转移指令、条件转移指令、调 用指令和中断指令有什么异同?(略)
(1)JMP 2300H (2)JMP WORD PTR[BX] (3)JMP DWORD PTR[BX+DATA]
微机原理第3章习题分析
解: (1)JMP 2300H
段内直接转移 PA=(CS)×10H+(IP)+2300H=05500H (2)JMP WORD PTR[BX]
段内间接转移 PA=(CS)×10H+[BX]
高地址的10个字节数据 按减地址方向传送到附 加段SECOND为最高地
1200H单元开始的 0F00H个字单元清零。
址的向前10个单元中。
微机原理第3章习题分析
• 3.12执行以下两条指令后,标志寄存器FLAGS 的六个状态位各为什么状态? MOV AX,84A0H ADD AX,9460H
解:(AX)=1900H 在两个16位数进行加法运算时,对CF、ZF、SF、 OF会产生影响,但对PF和AF标志位,只有其低8 位运算影响它们的状态。 AF=0,PF=1,CF=1, ZF=0,SF=0,OF=1
第三章 习题
微机原理第3章习题分析
• 3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方 式?(略)
• 3.2设(DS)=6000H,(ES)=2000H,(SS) =1500H,(SI)=00A0H,(BX)=0800H,(BP) =1200H,数据变量VAR为0050H。
请分别指出下列各条指令源操作数的寻址方式?它的物理 地址是多少?