最新汇编语言考试复习题

合集下载

汇编语言复习资料4

汇编语言复习资料4

《汇编语言》试卷一、单选题(每题1分,共20分)1.CPU在读取指令时,实际读到的是什么?()A.伪指令和汇编指令所对应的字符串B.用汇编语言写的源程序中的信息C.由一系列二进制位组成的信息D.汇编指令所对应的字符串2.关于编译和连接,错误的说法是()。

A.编译产生的*.obj文件不能在操作系统下直接运行B.连接产生的*.exe文件里面没有伪指令C.编译可以检查出语法错误D.连接可以检查出逻辑错误3.CPU传递到地址总线上的地址是()。

A.逻辑地址B.偏移地址C.物理地址D.段地址4.一条将立即数赋值给寄存器的指令,在执行的前一刻,指令中的立即数在()中。

A.通用寄存器B.端口C.内存D.CPU内部的指令缓冲器5.关于8086CPU的几个寄存器,正确的说法是()。

A.可将BX当成两个8位寄存器,在偏移地址范围为0~255时,可以用“mov ax,[bl]”来实现将内存中的数据读到ax中B.可以用“byte ptr”实现将SI当成两个8位寄存器使用C.可将AX、BX、CX、DX当成8个8位寄存器使用D.AX、ah、al是不同的寄存器,指令“add al,bl”的执行不会影响AX的值6.对于16位结构的CPU,其应有的特征不包括()。

A.寄存器最大宽度是16位B.寄存器与运算器之间的通路为16位C.运算器一次处理的数据的最大宽度为16位D.地址总线宽度是16位7.下列与8086CPU寻址相关的说法,错误的是()。

A.8086CPU有20根地址总线,它的寻址能力为1MBB.一个物理地址可以对应多个段地址与偏移地址C.因为段寄存器是16位,所以一个段最大为64KBD.CPU内部有一个能合成20位地址的地址加法器8.8086CPU读取、执行指令的过程是()。

①从CS:IP指向的内存空间读取指令,将指令放入指令缓冲器②执行指令,转到步骤①③IP指向下一条指令A.①、②B.①、③、②C.若指令是转移指令,过程为①、③、②,不是则过程为①、②D.若指令是转移指令,过程为①、②,不是则过程为①、③、②9.对于8086CPU,错误的指令是()。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。

A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。

A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。

A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。

A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。

A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。

A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。

A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。

A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。

A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。

A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。

答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。

答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。

答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。

汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。

答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。

答案:100H:200H3. 汇编语言中,指令CALL的作用是________。

(完整版)汇编语言复习题

(完整版)汇编语言复习题

汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。

汇编语言复习题附带答案.

汇编语言复习题附带答案.

复习题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。

多选不给分。

1.十六进制数 88H ,可表示成下面几种形式,请找出错误的表示(④。

①无符号十进制数 136 ②带符号十进制数-120③它的二进制形式是 10001000B ④ 8位二进制数-8的补码表示2.存放条件码标志、控制标志和系统标志的寄存器是(④。

① IP ② SP ③ BP ④ PSW3. 执行加法运算不能使用的寄存器是 ( ③。

①、 BP ②、 SI③、 CS ④、 CL4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是 (②①、 AX , BX , CX , DX ②、 BX , BP , SI , DI③、 SP , IP , BP , DX ④、 CS , DS , ES , SS4、下列传送指令中有语法错误的是 (①。

①、 MOV CS, AX ②、 MOV DS, AX③、 MOV SS, AX ④、 MOV ES, AX5. ADD AX , BX 指令执行完后 OF=1,下列说法正确的是(③①、如果 AX,BX 得内容均是带符号数,那么表示执行结果正确②、如果 AX,BX 得内容均是无符号数,那么表示执行结果不正确;③、如果 AX,BX 得内容均是带符号数,那么执行结果表示溢出;④、如果 AX,BX 得内容均是无符号数,那么执行结果表示溢出;6.一个有 16字的数据区域,它的起始地址是 70A0:DDF6,那么该数据单元第三个字单元的物理地址为(④①、 7E816H ②、 7E814H ③、 7E7F8H ④、 7E7FAH7、与 MOV BX, OFFSET VAR指令完全等效的指令是 ( ④。

①、 MOV BX, VAR ②、 LDS BX, VAR③、 LES BX, VAR ④、 LEA BX, VAR8.如果 AX=0FFFEH,那么单独执行完 ADD AX , 1,RCR AX , 1 , (AX = (④①、 0000H ②、 8000H ③、 0FFFFH ④、 7FFFH9. MOV AL , 88HTEST AL , 66H 指令执行完后, (AL =(①①、 88H ②、 66H ③、 0H ④、 0EEH10、 BUF DW 10H DUP(3 DUP(2, 10H , 3, 5上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (②。

汇编语言选择题及填空题复习部分已填写答案的

汇编语言选择题及填空题复习部分已填写答案的

汇编语言选择题及填空题复习部分已填写答案的汇编语言复习题一、选择题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的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、选择题1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 标记语言答案:B2. 汇编程序的编译过程包括:A. 预处理、编译、链接B. 编译、链接、运行C. 编译、预处理、链接D. 链接、编译、预处理答案:A3. 下列哪项是汇编语言的指令:A. MOV AX, BXB. int main()C. print "Hello, World!"D. System.out.println("Hello, World!");答案:A二、填空题4. 在汇编语言中,指令______用于将数据从内存传送到寄存器。

答案:MOV5. 汇编语言中的______指令用于实现无条件跳转。

答案:JMP6. 汇编语言中的______指令用于实现条件跳转。

答案:JZ 或 JE(零标志跳转)三、简答题7. 简述汇编语言的特点。

答案:汇编语言是一种低级语言,它非常接近机器语言,通常用于编写硬件操作和系统软件。

其特点是执行效率高,但编程复杂度高,可读性和可移植性较差。

8. 汇编语言与机器语言有何区别?答案:汇编语言是一种符号化的机器语言,它使用助记符代替机器语言中的二进制代码,更易于人类理解和编写。

机器语言则是计算机硬件直接执行的指令集,通常以二进制形式存在。

四、编程题9. 编写一段汇编语言程序,实现将AX寄存器的值加1。

答案:INC AX10. 编写一段汇编语言程序,实现将内存地址[100]处的值与BX寄存器的值相加,并将结果存回内存地址[100]。

答案:MOV AX, [100]ADD AX, BXMOV [100], AX五、论述题11. 论述汇编语言在现代计算机系统中的作用和局限性。

答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。

其作用在于能够直接控制硬件,实现高效的资源利用。

然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编总复习第一章微型计算机基础一、选择题1.8088是第一代个人计算机所采用的微处理器,其内部数据总路线是A。

A.16位B.8位C.20位D.32位2.8086微处理器,其地址总线是C。

A.16位B.8位C.20位D.32位3.一个完整的计算机系统包括B。

A.计算机及其外设B.硬件系统与软件系统C.主机、键盘、显示器D.系统软件、应用软件4.计算机存储系统中,高速缓冲(CACHE)存储器可以A。

A.提高整个系统的存储速度B.提高存储可靠性C.增加存储容量D.作暂存存储器用5.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该项存储器芯片的容量为B。

A.512B B.1KB C.2KB D.4KB6.地址总线的宽度与CPU的A相关。

A.内在寻址能力B.字长C.运算速度D.运算精度7.数据总线是B的。

A.单向B.双向C.某条单向,总体双向D.高阻二、真空1.根据传送的信息不同,一般计算机中的总路线可分为地址总线、数据总路线和控制总线。

2.CACHE是在CPU与内存之间设置的一个小容量的高速缓冲存储器。

三、综合题1.设8086CPU内部寄存器CS=B987H,IP=1117H,试计算存储器的物理地址。

CS ×24+ IP = B9870H + 1117H = 0BA987H2.设某机字长8位(含一位符号位),分别写出下列各二进制数的原码、补码和反码。

0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101[0]原=00000000 [-0.1000]原=1.1000000 [0.1000]原=0.1000000 [1101]原=00001101[0]补=00000000 [-0.1000]补=1.1000000 [0.1000]补=0.1000000 [1101]补=00001101[0]反=00000000 [-0.1000]反=1.0111111 [0.1000]反=0.1000000 [1101]反=00001101[-0]原=10000000 [0.1111]原=0.1111000 [-0.1111]原=1.1111000 [-1101]原=10001101 [-0]补=00000000 [0.1111]补=0.1111000 [-0.1111]补=1.0001000 [-1101]补=11110011 [-0]反=11111111 [0.1111]反=0.1111000 [-0.1111]反=1.0000111 [-1101]反=111100103.写出右边各数的原码、补码和反码。

7/16,4/16,1/16,0,-1/16,-4/16,-7/16 [7/16]原=[7/16]补=[7/16]反=7×2-4=0111×2-4 =0.0111[4/16]原=[4/16]补=[4/16]反=4×2-4=0100×2-4 =0.0100[1/16]原=[1/16]补=[1/16]反=0001×2-4 =0.0001[0]原=[0]补=[0]反=0000[-1/16]原=1.0111 [-1/16]补=1.1001 [-1/16]反=1.1000[-4/16]原=1.0100 [-4/16]补=1.1100 [-4/16]反=1.1011[-7/16]原=1.0100 [-7/16]补=1.1100 [-7/16]反=1.1011第二章汇编语言与汇编程序1.在8086系统中,设(DS)=1000H,(ES)=2000H,(SS)=1200H,(BX)=0300H,(SI)=0200H,(BP)=0100H,V AR的编移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少?(1) MOV BX,12 (2) MOV AL,128 (3) MOV [BX],DX (4) MOV ES:[SI],AX(5) MOV V AR,8 (6) MOV [1000H],DX (7) MOV 6[BX],CX(8) MOV [BX][SI],AX (9) MOV 6[BP][SI],AL答案:2.设(DS)=2000H,(SS)=3000H,(CS)=1200H,(BX)=0300H,(IP)=0100H,指令标号LAB的偏移量为0060H,(20300H)=50H,(20301H)=01H,(20306H)=0BH,(20306H)=05H,试确定以下JMP指令转向的物理地址是多少?(1)JMP BX (2)JMP 6[BX]答:(1) ∵(IP)=(BX)=0300H∴所以转向的物理地址为12300H(2) ∵(IP)=(DS:[BX+6])=(20306H)=050BH∴所以转向物理地址为1250BH3.设(CS)=2000H,CS:0100H单元有一条JMP SHORT LAB指令,若其中的位移量为:(1)60H (2)80H (3)0E0H试写出转向目标的物理是多少?答:因为CS:0100H处存放两字节指令,所以当执行该指令时(IP)=0102H (1)转向物理地址为:(CS)*10H(IP)+0060H=20162H(2)转向物理地址为:(CS)*10H(IP)+OFF80H=20082H(3)转向物理地址为:(CS)*10H+(IP)+OFFEOH=200E2H4.试述以下指令的区别(1) MOV AX,3000H 与MOV AX,[3000H]MOV AX,3000H指令源操作数的寻址方式为立即寻址方式,指令执行结果为:(AX)=3000H。

而MOV AX,[3000H]指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:3000H)→AX。

(2) MOV AX,MEM 与MOV AX,OFFSET MEMMOV AX,MEM指令源操作数的寻址方式为直接寻址方式,指令执行结果为:(DS:MEM)→AX。

而MOV AX,OFFSET MEM指令的执行结果是把MEM的偏移量送AX。

(3) MOV AX,MEM 与LEA AX,MEMMOV AX,MEM指令的执行结果是(DS:MEM)→AX。

而LEA AX,MEM的执行结果是把MEM的偏移量送AX。

5.指出下列指令的错误题目答案⑴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后只能跟变量或标号名6.写出把首址为BUF的字型数组的第4个字送到AX寄存器的指令,要求使用以下几种寻址方式⑴直接寻址方式⑵使用BX的寄存器间接寻址方式⑶使用BX的寄存器相对寻址方式答案:⑴MOV AX,BUF+3*2⑵LEA BX,BUF+3*2MOV AX,[BX]⑶MOV BX,3*2MOV AX,BUF[BX]7.设(AX)=0C5FFH,(BX)=9E00H,试实现以下要求:⑴ADD AX,BX 指令执行后,根据结果设置标志位ZF、SF、CF、OF、AF、PF,并讨论结果的正确性。

答案:执行ADD AX,BX 指令后,(AX)=0110001111111111B,并且最高位向前有进位。

因此,设置标志位如下:ZF SF CF OF AF PF0 0 1 1 0 1(NZ) (PL) (CY) (OV) (NA) (PE)讨论结果:对于无符号数而言,因为CF=1,所以结果不正确。

对于带符号数而言,因为OF=1,所以结果不正确。

8.编程序使⑴使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,0100001BJZ AMOV DH,1 JMP SHORT B A: MOV DH,0 B: …9. 试分析下面的程序段完成什么功能? MOV CL,4 SHL DX,CL MOV BL,AH SHL AL,CL SHR BL,CL OR DL,BL 答案:把DX 和AX 一对寄存器所形成的32位内容左移四位。

其中DX 中为高16位,AX 中为低16位。

第二-三章 汇编语言与程序设计1.下面的数据项定义了多少个字节? DA TA_1 DB 6DUP(4DUP(0FFH)) 24个字节不一样,分别是72H ,04H 和04H ,72H 。

存储字时低8位存在低字节,高8位存在高字节。

3.下面的两个数据项分别设置了多少个字节? (1)ASC_DA TA DB ‘12344个字节ASC_DATA(2)HEX_DATA DB 1234H2个字节4.执行下列指令后,AX 寄存器中的内容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX]AX 寄存器内容为40HTABLE TABLE+35.指出下列指令的错误 (1)MOV AH ,BX源、目的字长度不一致 (2)MOV [SI],[BX]源、目的不能同时为存贮器寻址方式 (3)MOV AX ,[SI][DI]基址变址方式不能有SI 和DI 的组合 (4)MOV AX ,[BX][BP]基址变址方式不能有BX 和BP 的组合 (5)MOV [BX],ES :AX在8086寻址方式中,AX 不能做为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式(6)MOV BYTE PTR[BX],1000 1000超出一个字节的表述范围 (7)MOV AX ,OFFSET [SI]OFFSET 只能用于简单变量,应去除 (8)MOV CS ,AXCS 不能作为目的的寄存器 (9)MOV DS ,BP段地址不能直接送入数据段寄存器6.设(DS)=1BOOH,(ES)=2BOOH ,有关存储器地址及其内容如右图所示,请用两条指令把X 装入AX 寄存器。

答案:LES BX, [2000H]X..8000H 2B00H 2B00:8000H1B00:2000H 1B00:2002H …………MOV AX, ES: [BX]7.试分析下面的程序段完成什么操作?MOV CL , 04SHL DX , CLMOV BL , AHSHL AX , CLSHR BL , CLOR DL , BL答案: 将DX: AX中的双字左移4位(乘16)8.假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(AX)=2060H,(BX)=3000H,(CX)=5,(DX)=0,(SI)=206OH,(DI)=3000H,(43000H)=0A006H,(23000H)=OB116H,(33000H)=0F802H,(25060)=00B0H,(SP)=0FFFEH,(CF)=1,(DF)=1,请写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响状态标志寄存器请给出状态标志SF、ZF、OF、CF的值。

相关文档
最新文档