汇编语言考试复习题
- 格式:docx
- 大小:29.70 KB
- 文档页数:7
《汇编语言》试卷一、单选题(每题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,错误的指令是()。
汇编语言程序设计复习题一、单项选择题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. 高级语言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.下面指令执行后,改变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.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是A。
A.XOR AX,AXB.AND AX,AXC.OR AX,AXD.TEST AX,08.假设执行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.设NUM1 EQU 100NUM2 =64H 下面指令执行后,BL中全为1的指令是 D 。
汇编语⾔复习题与答案汇编语⾔程序设计复习题⼀、选择题1.⽤户为了解决⾃⼰的问题,⽤汇编语⾔所编写的程序,称为(B)A.⽬标程序B.源程序C.可执⾏程序D.汇编程序2.某系列微机对存储器的分段,如果每⼀个段最多的字节存储单元是64K,那么表⽰段内字节单元偏移地址的⼆进制位数应是(B)A.20位B.16位C.15位D.12位3.设SP初值为2000H,执⾏指令“PUSH AX”后,SP的值是(D)A.1FFFHB.1998HC.2002HD.1FFEH4.循环指令LOOP产⽣循环的条件是(C)A.CX-1=1B.CX-1=0C.CX-1≠0D.CF=1和ZF=05.汇编语⾔源程序中,每个语句可由四项组成,其中名字项是⼀个符号,下⾯列出的有效名字是(A)A.VariableB.First&ldC.0FFFFHD.‘Memphis’6.要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选⽤的语句是(A)A.DA1DB‘AB’B.DA1DW‘AB’C.DA1DB0ABHD.DA1DW‘ABH7.某程序装⼊内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是(C)字节。
A.2KB.4KC.8KD.16K8.有语句:COUNT EQU256下列四种叙述中,正确的是(C)。
A.COUNT是变量B.COUNT占⽤⼀个字节存储单元C.COUNT是符号常数D.COUNT占⽤⼆个字节存储单元9.下⾯指令中,源操作数的寻址⽅式为⽴即寻址的是(C)。
A.MOV AX,OFFSET AB.MOV AX,AC.MOV AX,1D.MOV AX,A〔BX〕10.下列指令执⾏后,不改变AL寄存器内容的指令是(B)。
A.AND AL,1B.CMP AL,DLC.XOR AL,ALD.SUB AL,DL11.执⾏1号DOS系统功能调⽤,从键盘输⼊的字符值存放在(A)寄存器中。
A.ALB.BLC.CLD.DL12.将CX寄存器低4位清零的正确指令是(B)。
汇编语言期末复习题一、单项选择题1.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区第一个字单元的物理地址是()。
A.12B5BH B.12B6BH C.12C59H D.12BFEH2.在IN AL,PORT指令中,PORT称为()。
A.立即数B.有效地址 C.端口地址 D.寄存器名3.在下列指令的中,不能实现把AX寄存器内容清零的指令是()。
A.SUB AX,AX B.XOR AX,AXC.OR AX,0000H D.AND AX,0000H4.条件转移指令JNE的测试条件为()。
A.ZF=0B.CF=0C.ZF=1D.CF=15.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。
A.BX或CX B.CX或SIC.DX或SI D.SI或DI6.设(AX)=1000H,NEG AXNOT AX执行上述两条指令后,正确的结果是()。
A.(AX)=1001H B.(AX)=0FFFH;C.(AX)=1000H D.(AX)=0111H。
7.串指令中的目的操作数地址一定是由()提供。
A.ES:[DI]B.SS:[BP]C.DS:[SI]D.CS:[IP]8.将DX的内容除以2,正确的指令是()。
A.DIV 2 B.DIV DX,2C.SAR DX,1D.SHL DX,19.用户为了解决自己的问题,用汇编语言所编写的程序,称为()。
A.目标程序B.汇编语言源程序C.可执行程序D.汇编程序10.用一条指令仅实现将AX←BX+SI的方法是()。
A.XCHG AX,[BX][SI]B.MOV AX,[BX+SI]C.LEA AX,BX[SI]D.LEA AX,[BX][SI]11.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。
A.1FFFH B.1998H C.1FFEH D.2002H12.一个字为()位二进制数。
A.8位B.16位C.32位D.64位13. 下列四个寄存器中,可作为八位寄存器的是()。
汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。
在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。
A. 汇编程序B. 连接程序C. 机器语言程序D. 源代码程序2. 在8088/8086 的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C ) 。
A..SS 和SPB.DS 和DIC.CS 和IPD.ES 和SI3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C ) 。
A. 物理地址B. 逻辑地址C. 端口地址D. 段地址4. MOV AX,3064H,该指令中源操作数采用的寻址方式是( A ) 。
A. 立即B. 直接C. 寄存器相对D. 寄存器间接5. 换码指令的助记符是( C ) 。
A. XCHGB. LEASC.XLATD. MOV6. 如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是( JGE ) 。
7. 下列符号中,可用作标识符的是( C ) 。
A.MOVB.AXC.MSG1D.1ABC8. X DB 10H DUP ( 1,2)内存变量定义语句拥有了( A ) 个字节的存储空间。
A.20DB.10DC.20HD.10H9. 当DF=0时,执行串操作指令MOVS,B变址寄存器SI、DI的值将( C ) 。
A. 不变B. 减 1C. 加 1D. 无法确定10. 如下指令可将AX寄存器内容改变的是( A ) 。
A.AND AX , BX B .TEST AX , BX C.CMP AX , BX D .XCHG AX , AX11.16 位CPU支持的I/O 地址范围是( D ) 。
A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12. M UL CL 指令实现的功能是( A ) 。
汇编语言参考复习题(注意:以下内容按照参考复习题的格式进行编写)一、选择题1. 汇编语言是计算机系统中一种低级语言,用于指令的 __________。
A. 编写B. 加载C. 解析D. 执行2. 在汇编语言中,使用 __________ 声明宏指令。
A. .MACROB. .DEFINEC. .CONSTD. .EQU3. 汇编语言中的数据大小以 __________ 进行计量。
A. 字节B. 位C. 字D. 十六进制字符4. 汇编语言中,寄存器是一种用于快速存取数据的 __________。
A. 存储器B. 输入设备C. 输出设备D. 计算单元5. 汇编语言中,使用 __________ 指令可以将数据存储到内存中。
A. MOVB. ADDC. CMPD. JMP二、填空题1. 汇编语言的基本组成部分包括 __________、汇编器和链接器。
2. 汇编语言中,利用 __________ 可以实现循环结构。
3. 在汇编语言中,使用 __________ 的指令可以获取用户的输入。
4. 汇编语言中的运算指令包括加法、减法、__________ 和乘法。
三、简答题1. 请简述汇编语言相对于高级语言的优势。
2. 请简要描述一下汇编语言的基本语法结构。
3. 汇编语言中的标号有什么作用?请举例说明。
四、编程题请编写汇编语言程序,实现将一个数组中的元素逆序存放的功能,并将结果打印输出。
(以下为文章的正文内容,根据题目自行组织语句和段落)一、选择题1. 汇编语言是计算机系统中一种低级语言,用于指令的执行。
2. 在汇编语言中,使用 .MACRO 声明宏指令。
3. 汇编语言中的数据大小以字节进行计量。
4. 汇编语言中,寄存器是一种用于快速存取数据的存储器。
5. 汇编语言中,使用 MOV 指令可以将数据存储到内存中。
二、填空题1. 汇编语言的基本组成部分包括汇编语言源程序、汇编器和链接器。
2. 汇编语言中,利用 LOOP 指令可以实现循环结构。
一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。
每小题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。