汇编复习练习部分答案
- 格式:doc
- 大小:33.00 KB
- 文档页数:5
汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。
每⼩题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.下列指令中,正确的⼀条是。
汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。
A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。
A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。
A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。
A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。
一、判断题1. 8253在计数过程中,如不锁存或暂停,读出的数据不一定正确。
【答案】对2. 由于8088/8086 CPU在中断响应后自动关中断,所以在中断服务结束并返回后需用户开中断,才能再次响应中断。
()【答案】错3. 8086 的中断分为可屏蔽中断和不可屏蔽中断两种。
【答案】错4. 由于8088/8086 CPU在中断响应后自动关中断,所以在中断服务结束并返回后需用户开中断。
【答案】错5. 8086CPU在响应中断时,执行两个中断响应周期。
( )【答案】对6. 对8086系统,中断类型码的大小与中断优先级高低无关。
()【答案】对7. 对8086系统,中断优先级高低与中断类型码的大小有关。
()【答案】错8. 当中断控制器8259A设定为中断自动结束时,程序设计者无须在中断服务程序结束时向8259A发出EOI命令。
【答案】对9. CPU 在未执行完当前指令的情况下,就可响应可屏蔽中断请求。
【答案】错10. CPU响应可屏蔽中断时,无须从数据总线上读取中断类型码。
【答案】错11. 在读8253计数值时,只有在锁存或暂停时才能可靠地获得正确读数。
()【答案】对12. 8253 三个计数通道结构完全相同,且独立工作( )。
【答案】对13. 8253的每个计数器能按十进制或二进制两种制式中的一种进行计数。
【答案】对14. 若要实现定时控制,则需将定时器的计数脉冲输入信号作为中断请求信号。
()【答案】错15. 读取 8253 内的计数值时,必须先用锁存命令将当前计数值锁存在输出锁存器中()【答案】对16. 8253的每个计数器只能按二进制进行计数。
【答案】错17. 8086CPU中所有的内部中断都不能被屏蔽,且每种类型的中断有唯一对应的中断类型码。
( )【答案】错18. 若主程序中已使用IF标志位置“1”,则在执行完中断服务程序并返回主程序后,IF标志位一定为“0”。
【答案】错19. 8086 响应 INTR 请求需要执行两个总线响应周期( )。
汇编语言选择题及填空题复习部分已填写答案的汇编语言复习题一、选择题1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是( C)A. C+D=BB. A+D=BC. B=DD. A>C>D2.标志寄存器中属于控制标志位的是(B )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 ALB.SBB AL,0C.SUB AL,1D.SUB AL,1AAS DAS AAS DAS5.若AX= - 15要得到AX=15应执行的指令是()A.NEG AXB.NOT AXC.INC AXD.DEC AX 6.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7. MOV AL,79ADD AL,0B1H上面指令执行后,设置的标志位 CF和OF的值是()A.CF=0,OF=1B.CF=1,OF=1C.CF=0,OF=1D.CF=1,OF=08.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BXB.CWDC.XOR DX,DXD.CBWIDIV BX DIV BX IDIV BX 9.下列指令中操作数在代码段中的是()A.MOV AL,42HB.ADD AL,BLC.SUB [BX],DID.INC [DI]10.用REPE SCASB指令对字符串进行扫描,如CX>0时,扫描结束,那么表示()A.在字符串中遇上第一个AL中指定的字符B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符D.在字符串中遇上第一个不是AL中指令的字符11.下列指令执行后对源和目的操作数均无影响的是()A.MOV [BX+2],AXB.SUB AX,2467HC.SBB [SI],BXD.CMP AX,BX12.表示过程定义结束的伪指令是()A.ENDPB.ENDSC.ENDD.ENDM13.下列有语法错误的语句是()A.DB 12HB.DW 4567HC.DD ˋBCDˊD.DB ˋCDˊ14.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))┇MOV AX,WORD PTR DB1 [04H]上面指令执行后,AX的内容是()A.0302HB.0203HC.0202HD.0303H15.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是()A.6B.18C.16D.816.DA1 DW 2A05HDA2 DB 0FAH┇MOV AL,BYTE PTR DA1SUB DA2,AL上述指令执行后,DA2中的内容是()A.0DAHB.0FAHC.0F5HD.0D0H17.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()A.33CECHB.33CF2HC.33CF4HD.33CE8H18.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()A.0036HB.0022HC.0030HD.0020H19.条件转移指令JNBE产生转移的条件是()A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D. CF=1 AND ZF=120.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。
汇编语言复习题附答案一、选择题1. 汇编语言是一种()。
A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。
A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。
A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。
答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。
答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。
答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。
答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。
答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。
答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。
机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。
2. 描述汇编语言中如何实现条件跳转。
答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。
这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
所有十二种寻址方式必须必须必须牢牢记住,按照以往的经验是百分百会考,20分;指出程序的错误,百分百会考,16或者20分;说明程序的功能,课后习题就三四道,一定会考至少一到两道题,5-10分;应该会有补充程序题,也是课后题,所以就自己多注意。
选择题和最后的编程就看自己的本事了。
红色黄底的必须全部记住,死死地,百分百保证记住,标红的也要全部记住,必须全部记住。
后边没标红的程序,一般会考两道程序题,但是不敢确定是哪几道,所以程序题属于看自己的水平,能记住的就多记几道,否则自求多福。
学霸自重!我这只是当时的复习内容,现在一定要对一下有没有漏掉的,自行补充。
或者找一个比较认真的同学整理一份大家共享。
2.3 在IBM PC 机的存储器中存放信息如右下图所示。
试读出30022H 和30024H 字节单元的内容,以及30021H 和30022H 字单元的内容。
答:30022H 字节单元的内容为ABH ;30024H 字节单元的内容为EFH 。
30021H 字单元的内容为AB34H ;30022H 字单元的内容为CDABH 。
2.4 在实模式下,段地址和偏移地址为3017:000A 的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A 和3010:007A 呢?答:3017:000A 、3015:002A 和3010:007A 的存储单元的物理地址都是3017AH 。
2.6 在实模式下,存储器中每一段最多可有10000H 个字节。
如果用调试程序DEBUG 的r 命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF 、SF 、ZF 、CF 的值。
C>debug-r AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000SI=0000 DI=0000 DS=10E4 ES=10F4 SS=21F0 CS=31FFIP=0100 NV UP DI PL NZ NA PO NC答:此时存储器分段的示意图如右图所示。
《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。
2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。
3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。
4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。
5、根据功能不同,8086的标志位可分为状态标志和控制标志。
6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。
7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。
8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。
9、计算机的指令由操作码和地址码两部分组成。
10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。
11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。
12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。
13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。
14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。
15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。
其中代码段是源程序中必不可少的,其它的段可有可无。
16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。
数据定义伪指令为 DB 、 DW 、DD 。
17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。
《汇编语言程序设计》课程知识复习学习材料试题与参考答案一、单选题1.为了使MOV AX,VAR指令执行后,AX寄存器中的内容为4142H,下面哪一条数据定义会产生不正确的结果?(C)A.VAR DW 4142HB.VAR DW 16706C.VAR DB 42H,41HD.VAR DW ‘AB’2.关于8086/8088微机系列,下列说法哪个是正确的(D)A.一个存储单元由16个二进制位组成,简称字。
B.当存储一个字数据时,低字节放高地址位,高字节放低地址位。
C.在内存中,可以无限分配段,且段的大小不受限制。
D.段与段之间可以邻接,也可以重叠。
3.宏指令库以(C)格式存放在磁盘上。
A.可执行代码B.目标代码C.源代码4.计算机处理问题中会碰到大量的字符.符号,对此必须采用统一的二进制编码。
目前,微机中普遍采用的是( D)码。
A.BCD码B.二进制码C.十六进制码D.ASCII码5.运算器能够完成(C)运算。
A.算术运算B.逻辑运算C.算术运算和逻辑运算D.加减运算6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)A.无符号十进制数136B.带符号十进制数-120C.压缩型BCD十进制数88D.8位二进制数-8的补码表示7.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B )A.MOV AX,89B.MOV AX,0809HC.MOV AX,89HD.MOV AX,08098.在执行下列指令时,需要使用段寄存器DS的指令是(D)A.STOSWB.ADD AL,CLC.NEG BXD.INC DA[BX]9.假设AL=28H,执行ROL AL,1指令之后的情况是(D ) P125A.AL=14H, CF=1B.AL=50H, CF=1C.AL=14H, CF=0D.AL=50H, CF=010.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D )A.AX=0032HB.AX=00E0HC.AX=03E0HD.AX=0FFE0H11.JMP SI的目标地址偏移量为(A)。
一、选择1.下面指令执行后,改变AL寄存器内容的指令是( D )。
A.TEST AL,02HB.OR AL,ALC.CMP AL,BLD.AND AL,BL2.对寄存器AX的内容乘以4的正确指令序列是( B )。
A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )A.85B92HB.86192HC.BB690HD.12169H4.指令JMP FAR PTR DONE属于 CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址5.将DX的内容除以2,正确的指令是 CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,16.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。
A.CMPB.SUBC.ANDD.MOV7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
A.名字项B.操作项C.操作数项D.注释项8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B )A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.使用DOS功能调用时,子程序的编号应放在寄存器中( A )A. AHB. ALC. AXD. 任意指定12.下列语句中能实现留空8个字节单元的语句是( D )A. DA1 DT ?B.DA2 DW ?,?C. DA3 DD ?D.DA4 DQ ?13.指令JMP FAR PTR DONE属于CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址14.下列叙述不正确的是BA. 在不改变堆栈段寄存器的情况下,堆栈大小为64KBB. 紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令C. 中断服务程序的返回地址在堆栈中D. 堆栈中数据存放的特点是先进后出15.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是CA.12CSBH B.12B6BH C.12C59H D.12BFEH16.在下列指令的表示中,不正确的是CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL17.在进行二重循环程序设计时,下列描述正确的是AA.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内18.条件转移指令JNE的测试条件为AA.ZF=0 B.CF=0 C.ZF=1 D.CF=119.将DX的内容除以2,正确的指令是CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,120.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。
1.以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理址。
(1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF
答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH
2. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据的值。
答:字节型数据:11H 字型数据:0A311H
双字型数据:0113A311H
3. 分别指出下列指令中源操作数和目的操作数的寻址方式。
⑴ MOV BX,12 ⑵ MOV AL,128 ⑶ MOV [BX],DX ⑷ MOV DS,AX ⑸ MOV V AR,8 ⑹ MOV [1000H],DX ⑺ MOV 6[BX],CX ⑻ MOV AX,[BX][SI]
⑼ MOV TAB[BP][DI],AL
答案:⑴寄存器寻址方式立即寻址方式
⑵寄存器寻址方式立即寻址方式
⑶寄存器间接寻址方式寄存器寻址方式
⑷寄存器寻址方式寄存器寻址方式
⑸直接寻址方式立即寻址方式
⑹直接寻址方式寄存器寻址方式
⑺寄存器相对寻址方式寄存器寻址方式
⑻寄存器寻址方式基址变址寻址方式
⑼相对基址变址寻址方式寄存器寻址方式
4.在8086系统中,设(DS)=1000H,(ES)=2000H,(SS)=1200H,(BX)=0300H,(SI)=0200H,(BP)=0100H,V AR的偏移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少?
⑴ MOV BX,12 ⑵ MOV AL,128 ⑶ MOV [BX],DX ⑷ MOV ES:[SI],AX ⑸ MOV V AR,8 ⑹ MOV [1000H],DX ⑺ MOV 6[BX],CX ⑻ MOV [BX][SI],AX
⑼ MOV 6[BP][SI],AL
答案:⑴寄存器寻址方式———
⑵寄存器寻址方式———
⑶寄存器间接寻址方式DS:[BX]=10300H
⑷寄存器间接寻址方式ES:[SI]=20200H
⑸直接寻址方式DS:V AR=10060H
⑹直接寻址方式DS:1000H=11000H
⑺寄存器相对寻址方式DS:[BX+6]=10306H
⑻基址变址寻址方式SS:[BX+SI]=10500H
⑼相对基址变址寻址方式SS:[BP+SI+6]=12306H
5.试述以下指令的区别:
⑴ MOV AX,3000H 与 MOV AX,[3000H]
⑵ MOV AX,MEM 与 MOV AX,OFFSET MEM
⑶ MOV AX,MEM 与 LEA AX,MEM
答案:
⑴ MOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H。
而MOV AX,[3000H]指令源操作数的寻址方式为直接寻址方式,指令执行结果为: (DS:3000H)→AX。
⑵ MOV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为: (DS:MEM)→AX。
而MOV AX,OFFSET MEM指令的执行结果是把MEM的偏移量送AX。
⑶ MOV AX,MEM指令的执行结果是(DS:MEM)→AX。
而LEA AX,
MEM的执行结果是把MEM的偏移量送AX。
6.指出下列指令的错误:
⑴ MOV [AX],BX
寄存器间接寻址方式不能用AX寄存器
⑵ MOV AL,1280 源操作数超出目标范围
⑶ MOV [BX],9 目标操作数类型未知
⑷ MOV DS,1000H
立即数不能直接送段寄存器
⑸ MOV V AR,[BX]
两个操作数不能同时为存储器操作数
⑹ MOV M1,M2
两个操作数不能同时为存储器操作数
⑺ MOV 6,CX 操作数不能是立即数
⑻ MOV AX,[SI][DI] 源操作数寻址方式错
⑼ MOV CS,AX 操作数不能是代码段寄存器
⑽ MOV BX,OFFSET V AR[SI] OFFSET后只能跟变量或标号名
8.LEA DI,BUFFER
MOV AX,[DI]
ADD AX,2[DI]
MOV 4[DI],AX [不保证一定正确]
9.写出把首址为BUF的字型数组的第4个字送到AX寄存器的指令,要求使用以下几种寻址方式:
⑴直接寻址方式
⑵使用BX的寄存器间接寻址方式
⑶使用BX的寄存器相对寻址方式
答案:
⑴ MOV AX,BUF+3*2 ⑵ LEA BX,BUF+3*2 MOV AX,[BX]
⑶ MOV BX,3*2 MOV AX,BUF[BX]
10.设(DS)=1000H,(BX)=0300H,(SI)=0002H,(DI)=0100H,自
1000:0300单元开始存有以下数据(用十六进制形式表示):12
34 56 78 90 AB CD EF,试说明下列各条指令执行后目标操
作数的内容。
⑴ ADD BX,12 ;12
⑵ MOV DX,[0300H] ;3412
⑶ SUB BYTE PTR [BX],8 ;02F8H
⑷ MOV AX,[BX][SI] ;7856
⑸ MOV CX,5[BX] ;CDAB ⑹ MOV DX,4[BX][SI] ;EFCD
11.编程序使:
⑴使AL的各位变反。
⑵ BX寄存器低四位置1。
⑶ AX寄存器的低四位清0。
⑷使CX寄存器的低四位变反。
⑸用TEST指令测试AL寄存器的位0和位6是否同时为0,若是则
把0送DH寄存器,否则把1送DH寄存器。
答案:
⑴ NOT AL
⑵ OR BX,000FH
⑶ AND AX,0FFF0H
⑷ XOR CX,000FH
⑸ TEST AL,0100001B
JZ A
MOV DH,1
JMP SHORT B
A: MOV DH,0
B: …。