汇编语言试题及参考答案1.pdf
《汇编语言试题及参考答案1.pdf》由会员分享,可在线阅读,更多相关《汇编语言试题及参考答案1.pdf(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!汇编1 一、单项选择题(每小题1 分,共10 分)1、十进制数269 变换为十六进制数是(C)。(A)10B(B)10C(C)10D(D)10E 2、指令mov 100sibp,ax 目标操作数的隐含段为(B)。(A)数据段(B)堆栈段(C)代码段(D)附加段 3、以下语句汇编后,CENTH 的值是(C)buf1 dw 8,19,buf2 db 6,abc$,10 dup(5),CENTH equ buf2buf1 A.14 B.8 C.4 D.17 4、若栈顶物理地址为20100H,当执行完指令PU
2、SH AX 后,栈顶的物理地址为(D)。(A)20102H (B)20101H (C)200FFH (D)200FEH 5、执行下列指令后,正确的结果是(B)。MOV AL,100。MOV BL,-2 (A)AL=100H,BL=02H (B)AL=64H,BL=0FEH (C)AL=64H,BL=82H(D)AL=100H,BL=0FEH 6、假定AX 的内容为-32768,在执行了指令NEG AH 后,标志位(SF,OF)为(D)。(A)0,0(B)0,1(C)1,0(D)1,1 7、设AL 0B4H,BL 11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF 的值为(
3、B)。(A)OF 1,CF 0(B)OF 1,CF 1 (C)OF 0,CF 0(D)OF 0,CF 1 8、当AB 时转移的条件转移指令为(A,B 为带符号数)(D)。(A)JA(B)JAE(C)JG(D)JGE 9、完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是(A)。(A)MOV AL,00H(B)AND AL,00H(C)XOR AL,AL(D)SUB AL,AL 10、已知CALL BX执行前SP=100H,执行后SP 的内容为(D)。(A)100H(B)102H(C)98H(D)0FEH 二、填空题(每空1 分,共10 分)1、(00101011)B+(13)D+
4、(1B)H=(123 )Q 2、IBM PC 机内存容量最大为(1M )B,要寻找这样大的空间,需要()根地址线。欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3、有一个由20 个字组成的存储区,其起始处段地址为4701H,偏移地址为2012H。试写出该存储区首单元和末单元的物理地址分别为(49022H )和(49048H )。4、已知AL,BL 中数据为带符号数,若求ALBL 的商,应使用指令序列为:(CBW)和(IDIV BL )。5、调用程序与子程序之间的参数传递方法有三种,即(堆栈法 )、(寄存器法 )和(存储单元 )。三、指出下列指令的
5、错误并改正(每小题1 分,共9 分)1、MUL 20H 立即数不能作为MUL 指令的操作数。改正:MUL AL 2、RCR AX,3 移位次数大于1 的时候不允许使用立即数。改正:RCR AX,1 3、CMP 2000H,LAB 两个操作数不允许同时为存储器操作数。改正:CMP 2000H,AL 4、LDS DWORD PTR BUFFER 缺少目的操作数。改正:LDS BX,DWORD PTR BUFFER 5、CALL AL 子程序调用指令的操作数必须是16 位或 32 为。改正:CALL AX 6、MOV AL,300 无效的操作数。改正:MOV AL,30 7、MOV?AX,DI+BX
6、 寻址方式书写不正确。改正:MOV AX,DI+BX 8、MOV SP,BX 目的寻址寄存器书写不正确。改正:MOV BP,BX 9、IN AX,1234H 端口号大于255 的时候不能用立即数。改正IN AX,12H 四、简答题(每小题4 分,共16 分)1、8086 有哪4 种逻辑段?各种逻辑段分别是什么用途?代码段:用来存放程序的指令序列。数据段:存放当前运行程序所用的数据。堆栈段:确定堆栈所在的主存区域。附加段:是附件的数据段,也可用于数据的存放。2、请分别用一条汇编语言指令完成如下功能:(1)把BX 寄存器和DX 寄存器的内容相加,结果存入DX 寄存器。ADD DX,BX (2)用寄
7、存器BX 和 SI 的基址变址寻址方式把存储器的1 字节与AL 寄存器的内容相加,并把结果送到AL 中。ADD AL,BX+SI (3)用BX 和位移量为0B2H 的寄存器相对寻址方式把存储器中的一个字和CX 寄存器的内容相加,并把结果送回存储器中。ADD BX+0B2H,CX。(4)用位移量为0520H 的直接寻址方式把存储器中的一个字与数3412H 相加,并把结果送回该存储器中。ADD 0520H,3412H。3、变量和标号有什么属性?欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!(1)段属性:定义标号的段起始地址,此值必须在一个段寄存器中,
8、而标号的段则总是在CS 寄存器中。段属性值可以用SEG 算符求得。(2)偏移属性:标号的偏移地址是从段起始地址到定义标号的位置之间的字节数。标号偏移量属性值可由 OFFSET 算符求得。(3)类型属性:类型属性用来指出该标号是在本段内引用还是在其他段中引用的。标号类型值可用TYPE算符求得。4、什么是子程序的嵌套、递归和重入?子程序的嵌套:子程序内包含有子程序的调用就是子程序嵌套。递归:当子程序直接或间接地嵌套调用自身时称为递归调用。重入:是指子程序被中断后又被中断服务程序所调用,子程序的重入不同于子程序的递归。重入是被动地进入,而递归是主动地进入。五、程序分析题(每小题5 分,共20 分)1
9、、下列程序完成的是什么功能?求 AX 的绝对值 cmp ax,0,jns nonneg,neg ax,nonneg:2、假设X 和 X+2 单元的内容为双字数据P,Y 和 Y+2 单元的内容为双字数据Q(X 单元与Y 单元为低位字),说明下列程序段完成什么工作?如果2P 小于等于Q,则AX=2,否则AX=1 MOV DX,X+2 MOV AX,X ADD AX,X ADC DX,X+2 CMP DX,Y+2 JL L2 JG L1 CMP AX,Y JBE L2 L1:MOV AX,1 HLT;停止工作 L2:MOV AX,2 HLT 3、下述程序段运行后,S9 开始的10 个字节存储单元内容
10、是什么?1,0,3,2,5,4,7,6,9,8 DATA SEGMENT S9 DB 0,1,2,3,4 DB 5,6,7,8,9 DATA ENDS LEA SI,S9 LEA DI,S9+1 MOV CX,5 LOP:MOV AL,SI XCHG AL,DI MOV SI,AL ADD SI,2 ADD DI,2 DEC CX 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!JNZ LOP 4、分析下面的程序段完成什么功能?在以DATA 为首地址的100 个字的无符号的数据中,求出最小偶数并存入AX 寄存器中。MOV AX,0FFFFH MOV
11、 SI,0 MOV CX,100 AGAIN:MOV BX,DATASI TEST BX,1 JNZ NEXT CMP AX,BX JB NEXT MOV AX,BX NEXT:ADD SI,2 LOOP AGAIN 六、程序填空题(每空只能填一条指令!每空2 分,共10 分)下列程序段是把string 字符串中所有大写字母改为小写,该字符串以0 结尾,请补全程序。(1)LEA BX,STRING again:mov al,bx (2)CMP AL,0 jz done cmp al,A jb next (3)CMP AL,Z ja next (4)ADD AL,20H mov bx,al ne
12、xt:(5)INC BX jmp again done:nop 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!七、编制程序题(第一题10 分,第二题15 分,共25 分)1、查表法,实现一位16 进制数转换为ASCII 码显示 .MODEL SMALL.STACK.DATA ASCII DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H ;0-9ASCII DB 41H,42H,43H,44H,45H,46H ;A-F 的 ASCII HEX DB 0BH ;任意定义了一个待转换的一位16 进制数.CODE.ST
13、ARTUP LEA BX,ASCII MOV AL,HEX XLAT MOV DL,AL MOV AH,2 INT 21H .EXIT END 2、设有一段英文,其字符变量名为ENG,试编写一个程序,查对单词READ 在该文中出现次数并存放在BX 寄存器中。MODEL SMALL.STACK.DATA ENG DB SNNREADRAREADUNSUM;任意定义的一串字符 CNTENG EQU$-ENG KEYWORD DB READ CNTKEY EQU$-KEYWORD.CODE.STARTUP 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!
14、XOR BX,BX LEA SI,ENG MOV DX,CNTENG SUB DX,CNTKEY INC DX AGAIN:LEA DI,KEYWORD MOV CX,CNTKEY COMPARE:MOV AL,SI MOV AH,DI INC SI INC DI CMP AL,AH LOOPZ COMPARE JNZ NO_READ INC BX NO_READ:DEC DX JNZ AGAIN.EXIT END 汇编3 一、填空题 1.ZF 标志位是标志结果是否为零的,若结果,ZF 为(1),否则ZF 为(0)。当ZF 为1 时,SF为(0)2.标号可以有两种类型属性。它们是(NEAR 或
15、近程)和(FAR 或远程)3.8 位无符号整数的表示范围为0-255,写成16 进制形式为(0-FFH),8 位有符号整数的表示范围为-128-+127,写成16 进制形式为(80H-7FH)4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(GROUP),不得有名字的是(NAME),可有可无名字的是(DB)。欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!5.循环程序通常由(循环准备)(循环体)(循环的控制与修改)和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/(高)于+,-;XOR,O
16、R(低)于 AND,LT(等)于GT 7.宏指令定义必须由伪指令(MACRO)开始,伪指令(ENOM)结束,两者之间的语句称为(宏体)8.调用程序与子程序之间的参数传递方法有四种,即堆栈法(约定寄存器法)(约定存储单元法)(向量传递法)9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW (POP AYW)(2)双字变量AYD 存放的地址指针送ES 和 SI (LES SI,AYD)(3)变量AY2 类型属性送AH (MOV AH,TYPE AY2)(4)不允许中断即关中断 (CLI)(5)将字符串HOW ARE YOU!存入变量AYB (AYB DB“HOW ARE YOU
17、!)(6)子程序返回调用程序 (RET)(7)地址表达式AYY4的偏移地址送字变量ADDR(MOV ADDR,OFFSET AYY4)(8)AX 的内容加1,要求不影响CF(INC AX)(9)BX 的内容加1,要求影响所有标志位(ADD BX,1)(10)若操作结果为零转向短号GOON(JZ GOON)二、单选题 1.IBM PC 微机中,有符号数是用(2)表示的 1原码 2补码 3反码 4 BCD 码 2.把汇编源程序变成代码程序的过程是(2)1编译 2汇编 3编辑 4链接 三、己知:VAR1,VAR2 的类型属性分别为字和字节,标号LPFAR 的类型属性为FAR。指出下列非法语句的错误原
18、因 1.POP CS()CS 不能作目的操作数 2.INC BX().BX=义性 3.MVL 8()乘法指令源操作数不能是立即数 4.JLE LPFAR()远程标号不能作为条件转移指令的操作数 5.MOV DB,1800()立即数不能直接送段寄存器 6.MOVDI,VAR1 .两 个 操 作 数 不 能 同 时 为 存 储 器 操 作 数 7.S U B A X,V A R 2()操作数不配,AX 为字,VAR2 为字节 8.CMP SS AX()段寄存器不能作为运算指令的操作数 四、简答题 1.试述子程序的一般结构组成 .由 保 存 现 场,取 入 口 参 数,加 工 处 理,进 也 口 友
19、 数,恢 复 现 场 和 返 回 程 序 2.标号有哪三个属性?其含义是什么?段属性指定义该标号的段地址 偏移属性:指该标号的偏移地址 类型属性:指标号是在定义它的段内引用还是在其它段引用 3.试述CMP AX,BX 和 SUB AX,BX 两条语句的异同点?相同点:都执行AX-BX 操作,影响所有标志位且对档志位的影响相同 不同点:CMP 执行后AX,BX 内容不改变,而SUB 执行后,AX 内为AX-BX 之差,即内容变化了 五、阅读如下程序段,回答所提出的问题,假定X1,X2,.XN 为无符号数。ORG 100H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚
20、为您提供优质的文档!BLOK DW X1,X2,.,XN COUNT EQU($-BLOK)/2 RESULT DW COUNT,?.LEA BX,BLOK-2 MOV CX,RESULT XOR AX,AX GOON:ADD BX,2 CMP AX,BX JAE NEXT MOV AX,BX NEXT:LOOP GOON MOV RESULT+2,AX 程序段执行完,回答下述问题 RESULT+2 字存储单元的内容=(MAX(X1,X2,。XN)BX=()程序循环次数=(COUNT-1)六、在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字
21、符串,以0DH 为结束标志,试求串长度并送字变量COUNT 中。LEA SI,STR (MOV AL,ODH)XOR CX,CX GOON:CMP AL,SI (JE NEXT 或 JZ NEXT)INC CX (INC SI )JMP GOON NEXT:MOV COUNT,CX 七、编制将DS 段中名为BUFB 的字节存储区改写为空白字符(编码为20H)的程序段。假定BUFB 存储区定义为BUFB DB N DUP(),其中N 为字面常量 MOV AX,SEG BUFB MOV DS,AX LEA SI,BUFB MOV CX,N GOON:MOV BYTE PTRSI,20H INC S
22、I LOOP GOON 八、己知宏指令为:SHIFT MACRO RR,COUNT MOV AX,COUNT 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!IF RR LE 64 MOV CL,3 SHR AX,CL IF RR LT 16 MOV CL,6 SHR AX,CL ENDIF ENDIF ENDM 宏调用为:SHIFT 15,7FFFH SHIFT 80,9FFFH 写出宏扩展后的等效源程序段。MOV AX,7FFFH MOV CL,3 SHR AX,CL MOV CL,6 SHR AX,CL MOV AX,9FFFH 九、编写完整
23、程序,功能是把N 个 8 个二进制数据转换成16 进制字符数据。假定N 个数据存放在字节变量VARB 中,转换后的字符数据存放在HVARB 中,提示0-9 的字符码为30H-39H,A-F 的字符码为 41H-46H DATA SEGMENT VARB DB 45,36,377Q,。,11011011B N EQU$-VARB HVARB DB 2 NDRP(?)DATA ENDS STACK SEGMENT PARA STACK“STACK”DB 256 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:COOE,DS:DATA,SS:STACK MAIN PR
24、OC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX,N LEA DI,HVARB LEA SI,VARB,置初值 GOCN:MOV AH,SI MOV AL,AH AND AH,,0F0H MOV CL,4 SHR AH,CL CMP AH,9 JNA NEXT1 ADD AH,7 NEXT1:ADD AH,30H,AH AND AL,DFH 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!CMP AL,9 JNA NEXT2 ADD AL,7 NEXT2:ADD AL,30H
25、,AL MOV DI,AH MOV DI,AL ADD DI,2 INC SI DEC DX JNZ GOON RET MAIN ENDP CODE ENDS END MAIN 汇编4 一、单项选择题1 CPU 要访问的某一存储单元的实际地址称(C)A段地址 B偏移地址C物理地址 D逻辑地址 2某存储单元的物理地址是12345H,可以作为它的段地址有(D)A 2345H B 12345HC 12340H D 1234H 3执行后使BX=0 的同时也使CF=0,OF=0 的指令是(A)A XOR BX,BX B OR BX,BX C AND BX,BX D CMP BX,BX 4循环控制指令Lo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 试题 参考答案
限制150内