汇编语言考试复习题及答案

合集下载

汇编语言考试复习题及参考答案

汇编语言考试复习题及参考答案

汇编语言考试复习题及参考答案中南大学现代远程教育课程考试复习题及参考答案《汇编语言》一、填空题:把答案填在题中横线上。

1. 8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。

2. CPU发出的访问存储器的地址是__________。

3. 逻辑地址为F000:100的存储单元,其物理地址是__________。

4. 用来指示堆栈栈顶的偏移地址的是__________寄存器。

5. 若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。

这条指令执行后将利用标志位__________实现转移。

6. 若定义:bdata db 2 dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。

7. 假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。

二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号内。

1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序[]2.下列各个8位二进制数的补码中,真值最大的是A.10001000B.11111111C.00000000D.00000001 []3.MASM语句中,表达常数不正确的形式是A.01101001BB. A346HC.’A’D. 5600 []4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H []5.dw 50 dup(?)预留了存储空间的字节数是A.25B.50C.100D.200 []6.下列指令中有操作数在代码段中的是A.mov ax,34hB.add ax,bxC.inc word ptr [34h]D.cmp ax,[34h] []7.假设AL=5,要使得AL=0FAH,应执行的指令是A. not alB.and al,0fhC.xor al,0f0hD.or al,0fh []8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm []9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=0D.ZF=1 []10.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2 []11.执行“in al, dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B. mov ax,0705C.mov ax,0075hD. mov ax,0705h []13.如下指令可将AX寄存器内容改变的是A. cmp ax,bxB. test ax,bxC. and ax,bxD. xchg ax,bx []14.设AH=10H,执行“neg ah”指令后,正确的结果是A. AH=10H、CF=1B. AH=F0H、CF=0C. AH=10H、CF=0D. AH=F0H、CF=1 []15.如下程序段:again: mov es:[di],alinc diloop again可用指令__________完成相同的功能。

汇编语言考试复习题及答案

汇编语言考试复习题及答案

汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。

每⼩题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分,共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.设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分,共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、CX10,且ZF=0D、CX10,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是( )。

A、SHR AX,1 SHR AX,1B、SHL AX,1 SHL,AX,1C、ROL AX,1 ROL AX,1D、RCR AX,1 RCR AX,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( )。

A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是( )。

A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是( )。

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 VAR指令完全等效的指令是( )。

汇编语言习题及答案

汇编语言习题及答案

汇编语言复习题简答题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. 汇编语言是一种: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)。

一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。

每小题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.执行下面的程序段后,DA T1单元的值是。

DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的一条是。

A) MOV BYTE PTR [BX],1000B) MOV AX,[SI][DI]C) LEA BX,4[BX]D) MOV AX,ARRAY1+ARRAY29.执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是。

A) 92H B) 8CHC) 8DH D) 00H10.设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是。

A) 200FEH B) 0102HC)20102H D) 00FEH11.对于下列程序段:AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用指令完成同样的功能。

A) REP MOVSB B)REP LODSBC) REP STOSB D) REPE SCASB12.下列指令中,不影响标志位的指令是。

A) ROR AL,1 B) JNC LabelC) INT n D) SUB AX,BX13.下列指令中,正确的一条是。

A) MOV AH,BX B) MUL AX,BXC) MOV SP,SS:DA TA-WORD[BX][SI]D) LEA DS,35[DI]14.假设V1和V2是用DW定义的变量,下列指令中正确的是。

A) MOV V1,V2 B) MOV V1,20HC) MOV 2000H,V2 D) MOV AL,V1二、填空题(将正确答案填入答题纸相应的地方。

每题2分,共20分)1.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令push ax后,存放数据21H的物理地址是_________。

2.假定(AX)=96H,(BX)=65H,依次执行ADD AX,BX和DAA指令后,(AL)=______。

3.若定义DA TA DW 1234H ,执行MOV BL,BYTE PTR DATA指令后,(BL)=______。

4.若定义DA TA DB 0A5H,5BH,在指令MOV BX,___________DA TA中填充,使指令正确执行。

5.在MOV WORD PTR[0074H],55BBH指令的机器代码中,最后一个字节是________。

6.写出将寄存器AX 的内容求反的正确指令是___________________。

7.设(AX)=2001H,执行CMP AX,AX后(AX)=_________________。

8.寄存器间接寻址方式中,操作数在__________中。

9.下面两个语句的区别在于不能多次赋值,可以多次赋值。

X1 EQU 1000HX2=1000H三、程序分析题(每题5分,共20分)1.执行下列程序后,指出相应寄存器的当前值。

MOV SP,2000HMOV AX,0F0HMOV SI,1234HMOV DX,5678HPUSH SIPOP DISHR AX,1TEST AX,DXPUSH DXHLTSP=_________; DL内容所在存储器的偏移地址为_________;AX=_________;DX=__________;标志位ZF为_________。

2.执行下列程序段后,给出指定寄存器的内容。

MOV AL,45HMOV BH,ALAND BH,0FHMOV CL,4SHR AL,CLMOV BL,ALBH=__________; BL=________3.执行下列程序段后,给出指定寄存器的内容。

MOV AX,0MOV BX,1MOV CX,100A: ADD AX,BXINC BXLOOP AHLT执行后的结果为(BX)=______;(AX)=______。

该程序段的功能是________________________。

4.执行下列指令后:STR1 DW ‘AB’STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT①、寄存器CL的值是__________;②、寄存器AX的值是___________;③、如将STR1 DW ‘AB’ 改为STR1 DB ‘AB’用“MOV AX,WORD PTR STR1”代替“MOV AX,STR1”后,寄存器AX的值是______________。

5、执行下列指令后:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXHLT寄存器AH的值是___________;寄存器AL的值是___________。

四、程序设计题(每题15分,共30分)1.编程从键盘输入一字符串存放在IN-BUF 缓冲区中,然后在下一行以相反顺序显示出来。

2.编写将压缩BCD码转化为对应的两个ASCII码的子程序。

模拟试卷答案(答案不一定正确)一、选择题1.AA选项,请先查阅书56页,PUSH指令的用法,一次只能压入一个字(16位)。

B选项,ADC指令(书56页),符合语法要求(AX) = (AX) + 50H + CF,C选项,书51页图3-16,[SI] 即DS:[SI] 指示的是内存的存储空间,[DI] 即DS:[DI] 指示的是该物理地址指向的空间存放的数值,该操作即“存储单元立即数”,有关该寻址方式见书P42页下方“4.寄存器间接寻址方式”。

D.见书92页“(1) PTR”此处WORD PTR是为了明确[BX+5]存储单元的属性。

2.B说明:EQU伪指令类似于C语言的#define宏,在编译前被转化,见书96页。

由图可知此题应为0300H3. BINC指令见书56页最下方。

4. B CSTR1 DW ‘AB’见书98页下方字符串表达式STR2 DB 16 DUP(?) DUP重复指令见书99页CNT EQU $-STR1 EQU见书96页,$见书104页,EQU不影响$值MOV CX, CNTMOV AX, STR1HLT 一般用来表示程序结束,见书80页由“STR1 DW ‘AB’”和“STR2 DB 16 DUP(?)”可以写出如右图的存储示意。

注意的是代码编译时变成。

STR1 DW ‘AB’STR2 DB 16 DUP(?)MOV CX, $-STR1 这里的$要在前两句的基础上增加1,表示当前,$=0012H。

MOV AX, STR1又因为STR1的地址为0000H,所以(CL)=0012H。

根据书第98页到第99页图(b) 可知应选4142H,选C5. C见书86页由图可知,经过汇编后不能直接生成EXE文件,EXE文件必须由LINK.EXE 连接生成。

6. A见书43页,[BX+SI+2]的默认段前缀为DS,偏移量应该是BX + SI + 2 = 3236H7. CDAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1 (AX) = 3412HCMP AX,WORD PTR DAT2 (AX) < 7856HJA DONE 由于上面略过这句MOV BX,WORD PTR DA T2 (BX) = 7856HMOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BX DA T1存放56HDONE:HLT8. CA选项,MOV不能将立即数存入内存中,B缺少基地址寄存器。

9. CMOV AX,1234H (AX) = 0001 0010 0011 0100BMOV CL,4ROL AX,CL (AX) = 2341H 书69页DEC AX (AX) = 2340HMOV CX,4 (CX) = 4MUL CX 书59页(AX) = 8D00H∴(AH)=8DHHLT10.A见书35页,由于PUSH压入的是一个字,因此SP自减2,∵(SP)=0100H,(SP)=(SP)-2∴(SP)=00FEH。

因为(SS)*16D+(SP)=20000H+00FEH=200FEH。

11.A12.BROR见书69,影响CF,SUB见书58,AF、CF、OF、PF、SF和ZF,INT改变中断标志位,JNC仅判断CF标志位。

13.CA选项类型不匹配,B语法错误,D见书53页14.BA选项不能从内存到内存,C选项不能存入立即数,D类型不匹配。

二、填空题[1] 200FFH [2] 0101H [3] 12H [4] WORD PTR [5] [6] NOT AX [7] 2001H [8]存储器(书42页)[9] X1 X2三、程序分析题1. SP=1FFEH DL偏移地址=1FFFH AX=78H DX=5678H ZF=02. BH=05H BL=04H3. (BX)=101 (AX)=0+1+2+…+100 功能为从0累加到1004. (CL)=0011H (AX)=4142H (AX)=4241H5. (AH)=8DH (AL)=00H三、程序设计题(参考课堂笔记)。

相关文档
最新文档