汇编语言基本指令系统习题
- 格式:doc
- 大小:18.50 KB
- 文档页数:7
汇编语⾔习题答案第⼀章.习题1.1⽤降幂法和除法将下列⼗进制数转换为⼆进制数和⼗六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列⼆进制数转换为⼗六进制数和⼗进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列⼗六进制数转换为⼆进制数和⼗进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列⼗六进制数的运算,并转换为⼗进制数进⾏校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为⼗进制数,请⽤8位⼆进制补码计算下列各题,并⽤⼗六进制数表⽰其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6)-85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=01.6下列各数为⼗六进制表⽰的8位⼆进制数,请说明当它们分别被看作是⽤补码表⽰的带符号数或⽆符号数时,它们所表⽰的⼗进制数是什么?(1) D8 (2) FF答:(1) D8H表⽰的带符号数为-40,D8H表⽰的⽆符号数为216;(2) FFH表⽰的带符号数为-1,FFH表⽰的⽆符号数为255。
3.知识点:0403(汇编语言程序格式) *汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B)。
选项A)MAP选项B)OBJ选项C)ASM选项D)EXE4.知识点:0403(汇编语言程序格式) *汇编语言的什么文件经链接(LINK)后产生可执行文件?(D)选项A)EXE选项B)OBJ选项C)MAP选项D)LST7. 知识点:0401(汇编程序功能) *汇编语言源程序是(A)程序。
选项A)不可直接执行的选项B)经连接后就可直接执行的选项C)经汇编程序汇编后就可执行的选项D)可直接执行的14知识点:0302(程序占有的空间和执行时间) **如果指令的运算结果为0,则(C)标志位为1。
选项A)SF选项B)CF选项C)ZF选项D)OF15知识点:0302(程序占有的空间和执行时间) **如果指令的运算结果中有奇数个1,则(C)标志位为0。
选项A)OF选项B)CF选项C)PF选项D)SF16. 知识点:0301(80x86的寻址方式) *IBM PC机的内存是按(D)是编址的。
选项A)位选项B)双字选项C)字选项D)字节23知识点:0301(80x86的寻址方式80x86的寻址方式) **如果内存的某一单元的物理地址为12345H。
则它的逻辑地址为(C):0345H。
选项A)0120H选项B)12000H选项C)1200H选项D)0012H24知识点:0301(80x86的寻址方式80x86的寻址方式) ***如果一个字变量中存放16个字,该字变量的起始地址为1000H:2000H,则该字变量数据区中的最末一个字单元的物理地址为( D)。
选项A)12020H选项B)12000H选项C)1201FH选项D)1201EH25知识点:0301(80x86的寻址方式80x86的寻址方式) **设22000H、22001H单元分别存放的数据为12H、34H,若要读取22000H字单元中的数据,此时读出的数据是(A)。
汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。
每⼩题2分,共30分)1.下列指令有语法错误的是__________。
A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执⾏下列程序段后,(AX)= ________。
TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC 指令不影响 _________标志。
A) OF B) CF C) ZF D) SF4.执⾏下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。
① A) 10H B) 12H C) 0EH D) 0FH② A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语⾔源程序经汇编后不能直接⽣成⽂件。
A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址⽅式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,⽆右孩⼦(C)⽆左孩⼦,20 (D)⽆左孩⼦,⽆右孩⼦7.执⾏下⾯的程序段后,DAT1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DAT2,AXMOV WORD PTR DAT1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的⼀条是。
1.什么是“程序可见”的寄存器?程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。
2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途?基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。
通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。
3.80x86微处理器标志寄存器中各标志位有什么意义?常用的7位:CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。
在移位类指令中,CF用来存放移出的代码(0或1)。
PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。
当操作结果的最低位字节中1的个数为偶数时置1,否则置0。
AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。
ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。
SF符号标志:其值等于运算结果的最高位。
如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。
OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。
DF方向标志: 用于串处理指令中控制处理信息的方向。
当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。
4.画出示意图,简述实模式下存储器寻址的过程。
20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。
采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。
汇编习题汇编习题⼀选择题1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.⼀个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末⼀个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与⾸字相隔(128-1=)127个字,且每个字占⽤2个字节,因此末字单元的物理地址应为:⾸字单元的物理地址+(128-1)×2即12ABH×10H+00ABH+(128-1)×2=12C59H。
3.在下列指令的表⽰中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有⼀个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需⽤类型说明,如DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]但是在题⽬的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;⽽其它选项中的指令均是正确的。
4. 条件转移指令JNE的测试条件为参考答案为:AA.ZF=0B.CF=0C.ZF=1D.CF=1[解析]略。
5. 8086CPU在基址加变址的寻址⽅式中,变址寄存器可以为参考答案为:DA.BX或CXC.DX或SID.SI或DI[解析]略6. 已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。
参考答案为:AA.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节[解析]指令中的源操作数的寻址⽅式是相对基址变址寻址,且由于其中的基址寄存器采⽤的是BX,所以源操作数是在数据段中,其偏移量为:BX+SI+2=2000H+1234H+2=3236H7. 在程序执⾏过程中,IP寄存器中始终保存的是参考答案为:BA.上⼀条指令的⾸地址B.下⼀条指令的⾸地址C.正在执⾏指令的⾸地址D.需计算有效地址后才能确定地址[解析]在程序运⾏过程中,它始终指向下⼀条指令的⾸地址,它与CS代码段寄存器联合确定下⼀条指令的物理地址。
汇编语言复习题简答题1.存储器地址为什么要分段?物理地址是如何形成的?2.IBM PC机的寻址方式(与数据有关的寻址方式)有几种?各举一例说明。
3.80x86微机的存储器中存放信息如下图所示。
试读出30022H与30024H字节单元的内容与30021H和30022H字单元的内容。
4.现有(DS)= 2000H,(BX)=0100H,(SI)= 0002H, (20100)= 12H, (20101)=34H, (20102)= 56H, (20103)=78H, (21200)=2AH, (21201)= 4CH, (21202)=B7H, (21203) = 65H,试说明下列各条指令执行完后AX的内容。
1)MOV AX,1200H2)MOV AX,BX3)MOV AX,[1200H]4)MOV AX,[BX]5)MOV AX,1100[BX]5.完成下列各式补码数的运算,并根据结果设置标志位SF,CF,ZF,OF,指出运算结果是否有效1)01001001b+10011101b2)01000001b-10101011b6.有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?答案:1、IBM PC系列机的字长为16位,能够访问的最大存储空间64KB,而在IBM PC内存为1MB的情况下,访问这1MB的存储空间需要20位。
为了解决字长为16位的机器访问1MB的存储空间,将1MB空间每16B分为一段,共64K段,以16位段地址:16位偏移地址的形式组成,物理地址通过如下方式计算:物理地址=段地址×10h + 偏移地址2.IBM PC机的寻址方式有7种:1)立即寻址:MOV AX, 1234H;2)寄存器寻址:MOV AX, BX;3)直接寻址:MOV AX, [1234H];4)寄存器间接寻址:MOV AX, [BX];5)寄存器相对寻址:MOV AX, 20H[BX];6)基址变址寻址:MOV AX, [BX][SI];7)相对基址变址寻址:MOV AX, 100H[BX][SI];3.解:(30022H)= 12H(30024H) = 56H(30021H) = 12CDH(30022H) = 3412H4.解:(1)MOV AX,1200H解:(AX)=1200H(2)M OV AX,BX解:(AX)= 0100H(3)M OV AX,[1200H]解:物理地址=(DS)×10H+1200H(AX) = 4C2AH(4)M OV AX,[BX]解:物理地址=(DS)×10H+0100H=20100H(AX)=3412H(5)M OV AX,1100[BX]解:物理地址=(DS)×10H+0100H+1100H=21200H(AX)=4C2AH5.(1)01001001b+10011101b解:01001001+ 10011101————————11100110 由此可得:SF=1 CF=0 ZF=0 OF = 0 计算结果有效(2)01000001b-10101011b解:01000001- 10101011————————=> 01000001+ 01010101————————10010110 由此可得:SF=1 CF=1 ZF=0 OF=1 减法计算中,被减数、减数符号相反,结果符号与减数相同,OF=1计算结果无效6.有符号定义语句如下:BUFF DB 1,2,3,’123’EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少?为什么?解:根据数据段的定义,BUFF长度定义为6个字节,分别存放1,2,3,‘1’,‘2’,‘3’,而后紧接着为EBUFF的地址,故L值为6程序题1 MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,0DEC CLJNZ AGAIN问:(1)该程序段完成的功能是:(2)AX=________。
第1章自测练习一、选择题(四选一)1.某个加法运算结果使标志ZF=1,则标志SF为A。
A 0B 1C 不改变原来的状态D 不确定2.可以为存储器操作数提供偏移地址的寄存器组是B。
A AX、BX、CX、DXB BX、BP、SI、DIC SP、IP、BP、DXD CS、DS、ES、SS3.8086/8088确定下一条执行指令物理地址的计算表达式为D。
A DS× 16+EAB ES× 16+EAC SS×l6+SPD CS×l6+IP4.某系列微机对存储器分段,如果每个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是C位。
A 14B 15C 16D 205.十进制数-100的8位二进制数的补码为 D 。
A 10011011B 01100100C 10011101D 100111006.下列各个8位二进制数的补码中,绝对值最大的是 A 。
A 10001000B 11111110C 00000100D 000000017.16位有符号数的补码所表示的十进制数的范围是B。
A -32767~+32768B -32768~+32767C -65535~+65536D 0~655358.对数值83A7H作逻辑非运算后的结果是D。
A 83A8H B、73A8H C、7C59H D、7C58H9.指令“mov cx,[bp+16]”的源操作数采用的段寄存器是 B 。
A CSB SSC DSD ES10.指向程序堆栈区的段寄存器是 B 。
A CSB SSC DSD ES11.有效地址是指 C 。
A 存储器操作数的物理地址B 存储器操作数的段地址C 存储器操作数的偏移地址D 立即数的偏移地址12.寄存器间接寻址方式中,操作数在 C 中。
A 通用寄存器B 段寄存器C 主存单元D 堆栈13.指令“mov ax,es:[bx][si]”源操作数的物理地址是D。
一、单项选择题(本大题共20小题,每小题1分,共20分)1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是()A.DF,OF,SFB.DF,IF,TFC.OF,CF,PFD.AF,OF,SF3.8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()A.DEC AL B.SBB AL,0AAS DASC.SUB AL,1D.SUB AL,1AAS DAS5.要输入端口1234H中的8位数据,其指令应是()A.MOV DX,1234HB.MOV DX,1234HOUT DX,AL 1N AL,DXC.1N AX,1234HD.OUT DX,1234H6.若AX=-15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX7.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志8.MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=0D.CF=1,OF=09.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BX B.CWDIDIV BXC.XOR DX,DXD.CBWDIV BX IDIV BX10.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.1NC [DI]11.用REPE SCASB指令对字符串进行扫描,如CX 0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符12.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX13.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM14.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H16.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ -BUF1符号COUNT等价的值是()A.6B.18C.16D.817.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H18.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H19.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H20.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=121.与MOV BX,0FFSET VAR指令完全等效的指令是()。
汇编语言复习题一、单项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作数的物理地址是()。
A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。
A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是()。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是()。
A、SHR AX,1SHR AX,1B、SHL AX,1SHL,AX,1C、ROL AX,1ROL AX,1D、RCR AX,1RCR AX,15、执行INC指令除对于SF、ZF有影响外,还要影响的标志位是()。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是()。
A、DH=10HCF=1B、DH=10HCF=0C、DH=10HCF=0D、DH=0F0H7、下列传送指令中有语法错误的是()。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是()。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是()A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是()。
MOV AL,82HCBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET V AR指令完全等效的指令是()。
华中师范大学网络教育学院《汇编语言程序设计》练习测试题库一 .选择题(只有一个正确答案,填在题干前的括号里)1.一台完整的计算机系统包括_________。
A.硬件系统和软件系统B.系统硬件和系统软件C.控制器、运算器、存储器、输入设备和输出设备D.操作系统、机器语言、汇编语言、高级语言2.汇编程序属于_________。
A.硬件系统B.软件系统C.系统软件D.用户软件3.简单的汇编语言程序可以通过_________来建立A.连接程序B.调试程序C.汇编程序D.编辑程序4.8086/8088微处理器包含有两个独立的部件_________和_________。
A.R和ALUB.CS和IPC.BIU和EUD.CPU和I/0设备5 .进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。
A.程序应该结构化B.程序应该执行速度快C.程序应该占用空间大D.程序应该简明、易读、易懂6 .一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是____。
A.12C5BHB.12B6BHC.12C59HD.12BFEH7 .字符串HOLLO的ASCII代码表示为____.A.484F4C4C4FHB.484F4D4D4FHC.494F4C4C4FHD.494F4D4D4FH8.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是_________:212CH。
A. IEA2HB. IEB2HC. IFA2HD. IFB2H9,现有段地址和偏移地址为1025H:0F2AH,那么它所对应存储单元中的物理地址是_________。
A. 1107AHB. 01F4FHC. 11F4FHD. 1117AH10.一个有16个字的数据区,它的起始地址是1000H:117AH,请指出这个数据区最末一个字单元的物理地址是_________。
A.111ACHB.11190HC .11198HD.1119AH11.在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是_________。
习题4
1.试说明以下指令中各操作数的寻址方式,如果是存储器寻址,请给出其EA计算公式,并说明所使用的段寄存器。
(1)MOV AL,08H
(2)MOV [0120H],BL
(3)ADD [BX],AL
(4)PUSH [SI]0200H
(5)SUB AX,[BP]
(6)AND V AR1+4,DL
(7)PUSHF
(8)MOV ES:[BX]0100H,AL
(9)ADC BYTE PTR [BP][SI]0210H,45H
(10)OR ARRY[BX][DI],CL
2.试分析下列汇编指令是否存在语法错误,如果有语法错误存在,请说明是怎样的错误。
(1)PUSH 8243H
(2)POP AL
(3)MOV AL,6543H
(4)ADD [0100H],64H
(5)ADC V AR1,V AR2
(6)MOV DS,ES
(7)MOV DS,0620H
(8)LEA BX,AX
(9)DEC AL,AH
(10)SHR BL,3
3.试说明分别执行下列各组指令后,CF、OF、AF、ZF、SF、PF这六个状态标志分别是怎样的取值。
(1)MOV AL,08H
ADD AL,0F9H
(2)MOV AL,0E1H
ADD AL,0F4H
(3)MOV AL,01H
SUB AL,02H
(4)MOV AL,02H
INC AL
(5)MOV AL,01H
AND AL,02H
4.按要求分析下面程序片段的执行结果。
MOV AL,0C2H
MOV AH,0E4H
ADD AL,AH
执行该程序片段后,(AL)=?,(AH)=?,如果将ADD指令的两个操作数解释为无符号数,运算有没有溢出?为什么?如果将ADD指令的两个操作数解释为补码,运算有没有溢出?为什么?
5.按要求分析下面程序片段的执行结果。
MOV AL,98H
MOV BL,42H
XCHG AL,BL
SUB AL,BL
执行该程序片段后,(AL)=?,(BL)=?,如果将SUB指令的两个操作数解释为无符号数,运算有没有溢出?为什么?如果将SUB指令的两个操作数解释为补码,运算有没有溢出?为什么?如果将SUB指令的两个操作数解释为补码,其减法运算对应的十进制真值表达式应如何书写?
6.按要求分析下面程序片段的执行结果。
STC
MOV AL,03H
AND AL,02H
ADC AL,00H
执行该程序片段后,(AL)=?
7.假设(DS)=1000H,(SS)=2000H,字内存单元(10200H)=0870H,(10202H)=2000H, (20870H)=0203H,(20872H)=0405H,括号内所给为内存单元物理地址,括号表示该地
址所指示单元中保存的数据,分别执行下列程序片段后,按要求分析各程序片段的执行结果。
(1)MOV AL,[0200H]
执行该程序片段后,(AL)=?
(2)MOV BP,0871H
MOV BL,[BP]
执行该程序片段后,(BL)=?
(3)LEA SI,[0200H]
执行该程序片段后,(SI)=?
(4)MOV SI,[0200H]
LEA SI,[SI]
执行该程序片段后,(SI)=?
(5)LDS BX,[0200H]
MOV AL,[BX]0002H
执行该程序片段后,(AL)=?
8.按要求分析下面程序片段的执行结果。
MOV AX,651CH
SHL AL,1
RCL AH,1
执行该程序片段后,(AX)=?,该程序片段的功能是什么?如果将(AX)解释为无符号数,那么运算是否溢出?为什么?如果将(AX)解释为补码,运算是否溢出?为什
么?SHL与SAL指令间有什么关联和区别?
9.按要求分析下面程序片段的执行结果。
MOV AL,35H
AND AL,0FH
执行该程序片段后,(AL)=?CF、OF、AF、ZF、SF、PF标志取值是什么?该程序片段的功能是什么?
10.假设一个48位的补码按照由低位到高位的顺序保存在字类型的内存单元V A1、V A1+2、V A1+3中,试按下列要求完成程序片段设计。
(1)设计程序片段,实现将该48位补码除以4的功能,运算结果仍然保存在原内存单元中。
(2)设计程序片段,求该48位补码的相反数补码,运算结果仍然保存在原内存单元中。
11.试说明如何使用CMP指令提供的标志位判断两个补码操作数大小关系的原理。
12.假设(SP)=0060H,执行两次PUSH指令后,(SP)=?假设(SP)=0038H,执行三次POP指令后,(SP)=?
13.按要求分析下面程序片段的执行结果。
MOV AL,01H
NEG AL
INC AL
执行该程序片段后(AL)=?,CF、OF标志的状态是什么?
14.按要求分析下面程序片段的执行结果。
MOV BL,51H
AND BL,0FEH
XOR BL,50H
DEC BL
执行该程序片段后(BL)=?,CF、OF标志的状态是什么?
15.按照各小题的要求分别设计程序片段。
(1)将AL寄存器的高4位与低4位交换
(2)将TF标志位置1
(3)将AL寄存器的第7位清0,但不影响其它数据位
(4)分离AL寄存器的最低两位,其它数据位清0。
(5)分离AL寄存器的高4位与低4位,并分别保存在BL、BH的低4位。