微机原理第3章习题
微机原理第三章

一、选择题1.IP指令指针寄存器是属于( )a. 通用寄存器b. 段寄存器c. 变址寄存器d. 控制寄存器2.下面有语法错误的指令是( )a. ADD AL,AHb. ADD [BX+3],ALc. ADD AH,[DI]d. ADD [BP+2],DA1 (DA1是变量名)3.完成对DX的有符号数除以2的指令是( )a. IDIV 2b. SAR DX,1c. ROR DX,1d. RCR DX,14.使进位位置1的指令是( )a. CLCb. CMCc. STCd. NOP5.下面的XCHG指令中,语法正确的是( )a. XCHG AL,DSb. XCHG BL,[BX]c. XCHG AL,0FHd. XCHG BUF1,BUF26.一条指令中目的操作数不允许使用的寻址方式是( )a. 寄存器寻址b. 立即数寻址c. 变址寻址d. 寄存器间接寻址7.设SP=1FFEH,执行下列指令后,SP寄存器的值是( )POPFPUSH AXa.. 2000Hb. 2002Hc. 1FFCHd. 1FFEH8.LDS SI,ES:[2000H]指令的全部功能是( )a. 把地址2000H送SIb. 把地址2000H字单元的内容送SIc. 把地址2000H字单元内容送SI,把2002H字单元内容送DSd. 把地址2000H字单元内容送DS,把2002H字单元内容送SI 9.设AL=04H,BL=0F8H,执行MUL BL指令后,结果是( )a. AX=0032Hb. AX=00E0Hc. AX=03E0Hd. AX=0FFE0H10.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)=(),字单元(06926H)=()。
a. 1245Hb. 4578Hc. 4512Hd. 7845H11.逻辑运算指令都是按()进行操作的。
a. 位b. 字节c. 字d. BCD码12.互换指令XCHG可以在两个寄存器之间互换数据,也可以在()与()之间互换数据。
微机原理第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章

一、选择题1、CPU执行算术运算指令不会影响的标志为是_D__。
A.溢出标志 B.符号标志C.零标志 D.方向标志2、TEST指令和__A__指令执行同样的操作,但不送回操作结果,仅影响标志位。
A.AND B.ORC.NOT D.XOR3、下列指令中,影响标志位的指令是__D____。
A.从寄存器取数指令 B.条件转移指令C.压栈指令 D.循环移位指令4、执行指令INC AX后,不受影响的标志为__B___。
A.ZF B.CF C.SF D.OF5、当无符号数运算产生溢出时,__D__标志位为1.A.SF B.ZF C.CF D.OF6、若用户堆栈位于存储区10000H-1FFFFH,则该堆栈的段地址是___D____。
A.10000H B.1FFFFH C.1000H D.0FFFFH7、使用直接寻址方式时,操作数总是在 C 中。
A.通用寄存器B. 堆栈C. 主存单元D. 段寄存器8、指令MOV AX,[BP+SI]指令源操作数的段地址是 C 。
A. CSB. DSC. SSD. ES9、假定(AX)=96H,(BX)=65H,依此执行ADD AX,BX指令和DAA指令后,(AL)=___C_。
A.0FBH B.01H C.61H D.0BH10、设AX=C544H,在执行指令ADD AH,AL后, C 。
A. CF=0,OF=0B. CF=0,OF=1C.CF=1,OF=0D. CF=1,OF=111、由379AH得到FFFFH,可采用的逻辑运算是 D 。
A.与 B.或C.求反 D.或、异或二、填空题1.若物理地址为2D0H,偏移量为0B0H,则段地址为___22H_____。
2.8086指令系统中有_逻辑_移位和_算术_移位两类,其中__SHL__和SAL两条指令属于不同的移位指令,但其功能完全相同。
3.串操作指令规定目的操作数使用___DI___寄存器,目的串必须在__附加_段中。
4.在8086中进行寄存器间接寻址时,可采用的寄存器有____BX____、_BP_____、__SI______和__DI______。
微机原理第三章习题答案

习题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章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.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章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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 3.3假设(DS)=212AH,( )=0200H, . 假设 假设( ) ,(CS) ,( , ,(BX) (IP)=1200H,( )=0500H, ) ,( , 位移量DATA=40H 位移量 ,(217E0H)=0400H, (217A0H)=2300H,( ) ,( ) , (217E2H)=9000H, ) , 试确定下列转移指令的转移地址。 试确定下列转移指令的转移地址。
• 3.16写出完成下述功能的程序段。 写出完成下述功能的程序段。 . 写出完成下述功能的程序段 中传送一个数据56H到AL寄 (1)从地址 :0012H中传送一个数据 )从地址DS: 中传送一个数据 到 寄 存器。 存器。 MOV DS:BYTE PTR[0012H],56H : , MOV AL,[0012H] , 中的内容左移两位。 (2)将AL中的内容左移两位。 ) 中的内容左移两位 MOV CL,2 , SHL AL,CL , 的内容与字节单元DS: 中的内容相乘。 (3)AL的内容与字节单元 :0013H中的内容相乘。 ) 的内容与字节单元 中的内容相乘 MUL DS:BYTE PTR[0013H] : (4)乘积存入字单元 :0014H中。 )乘积存入字单元DS: 中 MOV DS:[0014H],AX : ,
• 3.15试编写程序,统计 . 试编写程序 统计BUFFER为起始地址的连 试编写程序, 为起始地址的连 个单元中0的个数 续200个单元中 的个数。 个单元中 的个数。 LEA SI,BUFFER 解: , MOV CX,200 , XOR BX,BX , AGAIN:MOV AL,[SI] : CMP AL,0 JNE GOON INC BX GOON: INC SI : LOOP AGAIN HLT
• 3.13将+46和-38分别乘以 ,可应用什么 . 将 分别乘以2, 和 分别乘以 指令来完成?如果除以2呢 指令来完成?如果除以 呢? 解: 分别乘以2, ①将+46和-38分别乘以 ,可分别用逻辑左移 和 分别乘以 指令SHL和算术左移指令 和算术左移指令SAL完成。SHL 完成。 指令 和算术左移指令 完成 针对无符号数,SAL针对有符号数,也可 针对无符号数, 针对有符号数, 针对有符号数 用MUL(无符号数)和IMUL(有符号数) (无符号数) (有符号数) 除以2, 实现+ ②除以 ,用SHR或DIV实现+46/2,用SAR 或 实现 , 实现- 或IDIV实现-38/2。 实现 。
(1)JMP 2300H ) (2)JMP WORD PTR[BX] ) (3)JMP DWORD PTR[BX+DATA] )
解: (1)JMP 2300H ) 段内直接转移 PA=( )×10H+( )+2300H=05500H =(CS) +(IP) =( +( = (2)JMP WORD PTR[BX] ) 段内间接转移 PA=( )×10H+[BX] =(CS) =( + =0200H+(217A0H) =04300H (3)JMP DWORD PTR[BX+DATA] ) 段间间接转移 PA=[BX+DATA]=(217E2H) ×10H+(217E0H) = + =90000H+0400H=90400H
• 3.14已知 . 已知 已知AX=8060H,DX=03F8H,端口 , ,端口PORT1 的地址是48H,内容为 的地址是84H, 的地址是 ,内容为40H;PORT2的地址是 ; 的地址是 , 内容为85H。请指出下列指令执行后的结果。 内容为 。请指出下列指令执行后的结果。 (1)OUT DX,AL ) , 输出到地址为03F8H的端口中 将60H输出到地址为 输出到地址为 的端口中 (2)IN AL,PORT1 ) , 读入一字节数据, )=40H 从PORT1读入一字节数据,则(AL)= 读入一字节数据 )= (3)OUT DX,AX ) , 从地址为03F8H的端口输出 将AX=8060H从地址为 = 从地址为 的端口输出 (4)IN AX,48H ) , 端口读入16位的数据 由48H端口读入 位的数据 端口读入 (5)OUT PORT2,AX ) , 从地址为84H的端口输出 将8060H从地址为 从地址为 的端口输出
PA=(ES)× 10H+( )= ( ) +(BX)= +( )=20800H
(7)寄存器间接寻址 )
PA=(SS)× 10H+( )=16200H ( ) +(BP)= +( )=
(8)寄存器相对寻址 )
PA=(DS) × 10H+( )+ ( ) +(BX)+ +( )+20H=60820H =
(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.4试说明指令 . 试说明指令 试说明指令MOV BX,5[BX]与指令 与指令LEA BX,5[BX] , 与指令 , 的区别。 的区别。 答: 是数据传送类指令, ①MOV BX,5[BX]是数据传送类指令,表示将数据段中以 , 是数据传送类指令 位数据送寄存器BX中 (BX+5)为偏移地址的 位数据送寄存器 中。 )为偏移地址的16位数据送寄存器 是取偏移地址指令, ② LEA BX,5[BX]是取偏移地址指令,结果为 , 是取偏移地址指令 (BX)=(BX)+5,即操作数的偏移地址为(BX)+5 ) ( ) ,即操作数的偏移地址为( ) • 3.5设堆栈指针 的初值为 设堆栈指针SP的初值为 ,(AX) . 设堆栈指针 的初值为2300H,( )=50ABH, ,( , (BX)=1234H。执行指令 ) 。执行指令PUSH AX后,( )=?, 后,(SP) ?, 再执行指令PUSH BX及POP AX之后,(SP)=?( ) 再执行指令 及 之后,( ) ?(AX) 之后,( ?( =?( )=? ?(BX) ? ?( 执行指令PUSH AX后,( )=22FEH 解:执行指令 后,(SP) 执行指令PUSH BX及POP AX之后, 之后, 执行指令 及 之后 ,(AX) ( ) (SP)=22FEH,( )=(BX)=1234H ) ,(
• 3.12执行以下两条指令后,标志寄存器 . 执行以下两条指令后 标志寄存器FLAGS 执行以下两条指令后, 的六个状态位各为什么状态? 的六个状态位各为什么状态? MOV AX,84A0H , ADD AX,9460H , :(AX) 解:( )=1900H 在两个16位数进行加法运算时 位数进行加法运算时, 在两个 位数进行加法运算时,对CF、ZF、SF、 、 、 、 OF会产生影响,但对 和AF标志位,只有其低 会产生影响, 标志位, 会产生影响 但对PF和 标志位 只有其低8 位运算影响它们的状态。 位运算影响它们的状态。 AF=0,PF=1,CF=1, , , , ZF=0,SF=0,OF=1 , ,
• 3.7已知(AL)=7BH,( )=38H,试问执 . 已知 已知( ) ,(BL) ,( , 行指令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试比较无条件转移指令、条件转移指令、调 . 试比较无条件转移指令 条件转移指令、 试比较无条件转移指令、 用指令和中断指令有什么异同?( ?(略 用指令和中断指令有什么异同?(略)
• 3.10按下列要求写出相应的指令或程序段 . 按下列要求写出相应的指令或程序段 内容为0的指令 (1)写出两条使 内容为 的指令; )写出两条使AX内容为 的指令; MOV AX,0 , XOR AX,AX , AND AX,0 , SUB AX,AX , 寄存器中的高4位和低 位互换; (2)使BL寄存器中的高 位和低 位互换; ) 寄存器中的高 位和低4位互换 MOV CL,4 CL, ROL BL,CL , 或 ROR BL,CL , (3)屏蔽CX寄存器的 )屏蔽 寄存器的b11、b7和b3位; 、 和 位 寄存器的 AND CX,0F777H , 中的b0和 位是否为 位是否为1。 (4)测试 中的 和b8位是否为 。 )测试DX中的 TEST DX,0101H ,
第三章 习题
• 3.1什么叫寻址方式?8086/8088CPU共有哪几种寻址方 . 什么叫寻址方式 什么叫寻址方式? 共有哪几种寻址方 ?(略 式?(略) • 3.2设(DS)=6000H,( )=2000H,( ) . 设 ,(ES) ,(SS) ) ,( ,( =1500H,( )=00A0H,( )=0800H,( ) ,(SI) ,(BX) ,(BP) ,( ,( ,( =1200H,数据变量 ,数据变量VAR为0050H。 为 。 请分别指出下列各条指令源操作数的寻址方式? 请分别指出下列各条指令源操作数的寻址方式?它的物理 地址是多少? 地址是多少? (1)MOV AX,BX ) , (3)MOV AX,VAR ) , (4)MOV AX,VAR[BX][SI] ) , (5)MOV AL,‘B’ ) , (6)MOV DI,ES:[BX] ) , : (7)MOV DX,[BP] ) , (8)MOV BX,20H[BX] ) , (2)MOV DL,80H ) ,
• 3.9试判断下列程序执行后,BX中的内容。 . 试判断下列程序执行后 试判断下列程序执行后, 中的内容 中的内容。 MOV CL,3 , MOV BX,0B7H , ROL BX,1 , ROR BX,CL , 内容不带进位循环左移1位 解:该程序是首先将BX内容不带进位循环左移 位, 该程序是首先将 内容不带进位循环左移 右移3位 即相当于将BX内容不带进位循 再循环 右移 位,即相当于将 内容不带进位循 环右移2位 环右移 位, 所以结果为( ) 所以结果为(BX)=C02DH