微机原理习题-第3章
微机原理与接口技术 张颖超 叶彦斐 第3章 习题答案

MULCL
MOVCX, AX
MOVAL, CL
MOVAH, 0
MULCX
13.假设DX:AX中存放一个双字的数据:
NEG DX
NEG AX
SBB DX,0
请问:
(1)上述程序段完成什么功能?
(2)设执行前,DX=0001H,AX=FFFFH,上述程序段执行后,DX、AX的值是什么?
(1)清累加器AX;
(2)清进位标志位
(3)将累加器内容乘以2(不考虑溢出)
(4)将累加器内容除以2(不考虑余数)
答:
(1) a.XORAX, AX
b.SUBAX, AX
c.ANDAX,0
d.MOVAX,0
(2) a.SUBAX, AX
b.ANDAX, AX
c.ORAX, AX
d.XORAX, AX
(7)检查BX中的第2、6、10和12位是否同时为0。
答:
(1) ANDDL, 0FCH;1111 1100B
(2)ORSI, 0E000H;1110 0000 0000 0000B
(3)ANDAX, 0FFF0H;1111 1111 1111 0000B
ORAX, 0380H; 0000 0011 1000 0000B
(1) IN AL, PORT; AL=
(2) IN AL, 40H;AX=
(3) OUTDX,AL; (DX)=
(4) OUT DX, AX; (DX)=
答:
(1)AL=22H
(2) IN AX, 40H; AX=226EH
(3) OUTDX,AL; (DX)=6EH
(4) OUT DX, AX; (DX)=226EH
微机原理第三章课后习题解答

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章8086/8088指令系统与寻址方式习题3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
(1)MOV BX,12 ;目标操作数为寄存器寻址(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H (7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。
(1)XCHG CS,AX ;错,CS不能参与交换(2)MOV [BX],[1000] ;错,存储器之不能交换(3)XCHG BX,IP ;错,IP不能参与交换(4)PUSH CS(5)POP CS ;错,不能将数据弹到CS中(6)IN BX,DX ;输入/输出只能通过AL/AX(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元(8)MOV CS,[1000] ;CS不能作为目标寄存器(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址(10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址(11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?当前栈顶的地址=2FF00H当执行PUSH BX 指令后,栈顶地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。
微机原理与接口技术习题答案3

第3章8086CPU指令系统1.写出完成下列要求的变量定义语句:(1)在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;(2)在变量var2中保存字符串:’BYTE’,’word’,’WOR’D;(3)在缓冲区buf1中留出100个字节的存储空间;(4)在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;(5)在变量var3中保存缓冲区buf1的长度;(6)在变量pointer中保存变量var1和缓冲区buf1的偏移地址。
解:var1DW4512H,4512,-1,100/3,10H,65530var2DB’BYTE’,’word’,’WORD’buf1DB100DUP(?)buf2DB7DUP(5DUP(55H),10DUP(240))var3DBLENGTHbuf1pointerDWvar1,buf1(或者pointerDWOFFSETvar1,OFFSETbuf1)2.设变量var1的逻辑地址为0100:0000,画出下列语句定义的变量的存储分配图:var1DB12,-12,20/6,4DUP(0,55H)var2DB‘Assemble’var3DW‘AB’,‘cd’,‘E’var4DWvar2var5DDvar2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1,VAR2为字变量,L1为标号):(1)MOVSI,100(2)MOVBX,VAR1[SI](3)MOVAX,[BX](4)MOVAL,[DX](5)MOVBP,AL(6)MOVVAR1,VAR2(7)MOVCS,AX(8)MOVDS,0100H(9)MOV[BX][SI],1(10)MOVAX,VAR1+VAR2(11)ADDAX,LENGTHVAR1(12)ORBL,TYPEVAR2(13)SUB[DI],78H(14)MOVSVAR1,VAR2(15)PUSH100H(16)POPCS(17)XCHGAX,ES(18)MOVDS,CS(19)JMPL1+5(20)DIVAX,10(21)SHLBL,2(22)MOVAL,15+23(23)MULCX(24)XCHGCL,[SI](25)ADCCS:[0100],AH(26)SBBVAR1-5,154解:(1)MOVSI,100正确。
(完整版)微机原理第三章(1)及答案

第三章习题集二.选择题(每小题1分,共15分)1. 逻辑地址1000:2000对应的物理地址为( B )。
A、1200HB、12000HC、2100HD、21000H2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。
A、AXB、BXC、SPD、SI3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。
A.程序B.堆栈C.数据D.附加4.在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。
A. AX,BX,CX,IP;B. BX,SP,DX,SIC. IP,SP,BP,AXD. BP,BX,SI,DI5. 含有立即数的指令中,该立即数被存放在 A 。
A. 累加器中B. 指令操作码后的内存单元中C. 指令操作码前的内存单元中D. 由该立即数所指定的内存单元中6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。
A、有效地址B、物理地址C、逻辑地址D、相对地址7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,则DS=( B )。
A、0FFFFHB、0F47FHC、2032HD、0F000H8. 含有立即数的指令中,该立即数被存放在 B 。
A. 累加器中B. 指令操作码后的内存单元中C. 指令操作码前的内存单元中D. 由该立即数所指定的内存单元中9.寄存器间接寻址方式中,操作数在 C 中。
A. 通用寄存器B. 堆栈C. 存储单元D. 段寄存器10.下列指令中,有语法错误的指令是(B D)。
A. MOV AX,[1000H]B. LEA AL,1000HC. MOV [1000H],ALD. MOV 1000H,AX11. 下列指令语法有错的是:CA. MOV AX,1000HB. MOV AX,BXC. MOV [AX],[1000H]D. MOV AX,[1000H]12. 8086/8088中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。
东华理工 微机原理第三章习题答案

3.1给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的寄存器寻址(4) 使用BX的简接寻址(5) 使用BX的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。
3.2试根据以下要求写出相应的汇编语言指令(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。
(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。
(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。
(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。
(5) 把数0B5H与(AL)相加,并把结果送回AL中。
答:(1) ADD DX, BX(2) ADD AL, [BX][SI](3) ADD [BX+0B2H], CX(4) ADD WORD PTR [0524H], 2A59H(5) ADD AL, 0B5H3.3写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。
要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1) MOV BX, OFFSET BLOCK ADD BX, (6–1)*2MOV DX, [BX](2) MOV BX, OFFSET BLOCKMOV DX, [BX+(6–1)*2]BLOCK[BX](3) MOV BX, OFFSET BLOCKMOV SI, (6–1)*2MOV DX, [BX][SI]3.4现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。
微机原理第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.18086CPU有多少根数据线和地址线?它能寻址多少内存地址单元和I/O端口?8088又有多少根数据线和地址线?为什么要设计8088CPU?3.28086CPU内部按功能可分为哪两大部分?它们各自的主要功能是什么?8086与8088CPU中的指令队列缓冲器有何区别?在微处理器中设置指令队列缓冲器有什么作用?3.38086CPU内部的总线接口单元(BIU)由哪些功能部件组成?它们的基本操作原理是什么?3.4什么叫微处理器的并行操作方式?为什么说8086CPU具有并行操作的功能?在什么情况下8086的执行单元(EU)才需要等待总线接口单元(BIU)提取指令?3.5逻辑地址和物理地址有何区别?为什么8086微处理器要引入“段加偏移”的技术思想?“段加偏移”的基本含义是什么?试举例说明。
3.6段地址和段起始地址相同吗?两者是什么关系?8086的段起始地址就是段基址吗?它是怎样获得的?3.7在8086微计算机中,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址。
(假设段的最大长度为64K)(1)1000H (2)1234H (3)E000H (4)AB00H3.8已知8088微处理器组成的系统中,对于下列CS:IP组合,计算出要执行的下条指令的存储器地址。
(1)CS=1000H和IP=2000H (2)CS=2400H和IP=1A00H(3)CS=1A00H和IP=B000H (4)CS=3456H和IP=ABCDH3.9已知计算机中两个16位数算术运算的结果为0E91BH,求PF = ?,SF = ?,ZF = ?3.10一个基本的总线周期由几个状态组成?微处理器在什么情况下才执行总线周期?在什么情况下需要插入等待状态?3.11什么叫做非规则字,微处理器对非规则字是怎样操作的?字节、字在存储单元的存放顺序与存储单元的地址有什么关系?字符在存储单元中以什么形式存放,举例说明?3.128086对1MB的存储空间是如何按高位库和低位库来进行选择和访问的?用什么控制信号来实现对两个库的选择?3.13堆栈的深度由哪个寄存器确定?为什么说一个堆栈的深度最大为64KB?在执行一条入栈或出栈指令时,栈顶地址将如何变化?3.148086/8088CPU对(RESET)复位信号的复位脉冲宽度有何要求?复位后内部寄存器的状态如何?DT/信号起什么作用?它在什么情况下被浮置为高3.15ALE信号起什么作用?它在使用时能否被浮空?R阻状态?3.168086/8088CPU的哪些引脚采用了分时复用技术?哪些引脚具有两种功能?3.178086/8088 CPU的微机系统有哪两种工作方式?它们由什么引脚来实现控制?最小工作方式的主要特点是什么?3.18什么是寻址方式?8086/8088微处理器有哪几种主要的寻址方式?试写出寻址存储器操作时计算有效地址(EA)的通式?3.19指出8086/8088下列指令源操作数的寻址方式。
(1) MOV AX,1200H (2)MOV BX,[1200H](3) MOV BX,[SI] (4) MOV BX,[SI+1200H](5) MOV [BX+SI],AL (6)IN AL,DX3.20指出8086/8088下列指令中存储器操作数物理地址的计算表达式。
(1)MOV AL,[DI] (2)MOV AX,[BX+SI](3)MOV 8[BX+DI],AL (4)ADD AL,ES :[BX](5)SUB AX,[2400H] (6)ADC AX,[BX+DI+1200H](7)MOV CX,[BP+SI] (8)INC BYTE PTR [DI](9)MOV CL,LIST[BX+SI]3.21指出8086/8088系列指令的错误。
(1)MOV IP,[SI] (2)MOV CS,AX (3)MOV BL,SI+2 (4)MOV 60H,AL (5)PUSH 2400H (6)INC [BX] (7)ADD [2400H],24H (8)MOV [BX],[DI] (9)MOV SI,AL (10)POP CS3.22阅读下列程序段,指出每条指令执行以后有关寄存器的内容,并在DEBUG环境下验证结果。
MOV AX, 0ABCHDEC AXAND AX,00FFHMOV CL, 4SAL AL, 1MOV CL,ALADD CL, 78HPUSH AXPOP BX3.23指出RET和IRET两条指令的区别,并说明二者各用在什么场合?3.24说明MOV BX, DATA和MOV BX, OFFSET DATA指令之间的区别。
3.25假定PC存储器低地址区有关单元的内容如下:(0020H) = 3CH,(0021H) = 00H,(0022H) = 86H ,(0023H) = 0EH且CS = 2000H,IP = 0010H,SS = 1000H,SP = 0100H,FLAGS = 0240H,这时若执行INT 8 指令,试完成下列问题。
(1) 程序转向何处执行(用物理地址回答)?(2) 栈顶6个存储单元的地址及内容分别是什么(用16进制数表示)?3.26什么叫堆栈?说明堆栈中数据进出的顺序以及压入堆栈和弹出堆栈的操作过程。
堆栈指令一次传送8位还是16位?设SP = 2000H,AX = 3000H,BX = 5000H,执行下列程序段后,问SP = ?AX = ? BX = ?PUSH AXPUSH BXPOP AX3.27某程序段如下所示,左列为汇编的机器码,右列为对应的汇编程序(XXX代表一条指令):2000H: 40D0H JZ CTN... ...2000H:40E1H ABC:XXX... ...2000H: 40EFH CTN: XXX... ...2000H:40FEH JNE ABC试问代码中跳转指令ABC = ?CTN = ?3.28若AX = 5555H,BX = FF00H,试问在下列程序段执行后,AX = ?BX = ? CF = ?AND AX,BXXOR AX,AXNOT BX3.29试比较SUB AL,09H与CMP AL,09H这两条指令的异同,若AL = 08H,分别执行上述两条指令后,SF = ?CF = ? OF = ? ZF = ?3.30使用最少的指令,实现下述要求的功能。
(1) AH的高4位清0。
(2) AL的高4位取反。
(3)AL的高4位移到低4位,高4位清0。
(4)AH的低4位移到高4位,低4位清0。
3.31设BX = 6D16H,AX = 1100H,写出下列两条指令执行后BX寄存器中的内容。
MOV CL, 06HROL AX, CLSHR BX, CL3.32设初值AX = 0119H,执行下列程序段后AX = ?MOV CH, AHADD AL, AHDAAXCHG AL, CHADC AL, 34HDAAMOV AH, ALMOV AL, CHHLT3.33设初值AX = 6264H,CX = 0004H,在执行下列程序段后AX = ?AND AX, AXJZ DONESHL CX,1ROR AX, CLDONE: OR AX, 1234H3.34写出可使AX清0的几条指令。
3.35带有OFFSET的MOV指令与LEA指令比较,哪条指令的效率更高?3.36若AC = 1001H,DX = 20FFH,当执行ADD AX,DX指令以后,请列出和数及标志寄存器中每个位的内容(CF、AF、SF、ZF和OF)。
3.37若DL = 0F3H,BH = 72H,求DL – BH运算结果及标志寄存器各位的内容。
3.38用AND指令实现下列操作。
(1)BX“与”DX,结果存入BX。
(2)0AEH“与”DH。
(3)DI“与”BP,结果存入DI中。
(4)1234H“与”AX(5)由BP寻址的存储单元的数据“与”CX,结果存入存储单元中。
(6)AL和WAIT存储单元中的内容相“与”,结果存入WAIT。
3.39设计一个程序段,将DH中的最左3位清0,而不改变DH中的其他位,结果存入BH中。
3.40通“OR”指令实现下列操作。
(1)BL“或”DH,结果存入DH。
(2)0AEH“或”CX。
(3)DX“或”SI,结果存入SI中。
(4)1234H“或”AX。
(5)由BP寻址的存储单元的数据“或”CX,结果存入存储单元中。
(6)AL和WHEN存储单元中的内容相“或”,结果存入WHEN。
3.41设计一个程序段,将DI中的最右5位置1,而不改变DI中的其他位,结果存入SI中。
3.42设计一段程序代码,将AX中的最右4位置1,将AX中的最左3位清0,并且把AX中的7、8、9位取反。
3.43选择正确的指令实现下列操作。
(1)把DI右移3位,再把0移入最高位。
(2)把AL中的所有位左移1位,使0移入最低位。
(3)AL循环左移3位。
(4)DX带进位位循环右移1位。
3.44试比较JMP [DI] 与JMP FAR PTR[DI]指令的操作有什么区别?3.45用串操作指令设计实现如下功能的程序段:先将100个数从6180H处移到2000H处;再从中检索出等于AL中字符的单元,并将此单元值换成空格符。
3.46在使用条件转移命令时,特别要注意它们均为相对转移指令,请说明“相对转移”的含义是什么?如果要向较远的地方进行条件转移,那么在程序中应如何设置?3.47在执行中断返回指令IRET和过程(子程序)返回指令RET时,具体操作内容有什么区别?3.48INT 40H 指令的中断向量存储在哪些地址单元?试用图解说明中断向量的含义和具体内容,并指出它和中断入口地址之间是什么关系?。