《2022年2022年汇编语言练习题 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言练习题 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、单项选择题(本大题共20 小题,每小题1 分,共 20 分) 1设 A=0.4H ,B=0.8H ,C=0.4,D=0.4Q,它们之间的关系是()A. C+D=B B. A+D=B C. B=D D. ACD 2标志寄存器中属于控制标志位的是()A.DF ,OF,SF B.DF,IF,TF C.OF,CF,PF D.AF,OF,SF 38088/8086 存储器分段,每个段不超过()A.64K 个字B.32K 个字节C.1 兆个字节D.64K 个字节4设 AL 中已有压缩型BCD 码,为实现对AL 的减 1 操作,可选用的指令序列是()A.DEC AL B.SBB AL ,0 AAS DA
2、S C.SUB AL , 1 D.SUB AL ,1 AAS DAS 5要输入端口1234H 中的 8 位数据,其指令应是()A.MOV DX ,1234H B.MOV DX ,1234H OUT DX ,AL 1N AL ,DX C.1N AX ,1234H D.OUT DX ,1234H 6若 AX= - 15 要得到 AX=15 应执行的指令是()A.NEG AX B.NOT AX C.INC AX D.DEC AX 78086/8088 系统执行传送指令MOV 时()A. 不影响标志位B.影响 DF 方向标志C.影响 SF 符号标志D.影响 CF 进位标志8MOV AL ,79 ADD
3、 AL ,0B1H 上面指令执行后,设置的标志位CF 和 OF 的值是()A.CF=0 ,OF=1 B.CF=1,OF=1 C.CF=0,OF=0 D.CF=1, OF=0 9已知 AX ,BX 中均为带符号数, 当进行字相除时, 下面指令或指令序列正确的是()A.DIV BX B.CWD IDIV BX C.XOR DX ,DX D.CBW DIV BX IDIV BX 10下列指令中操作数在代码段中的是()A.MOV AL ,42H B.ADD AL ,BL C.SUB BX ,DI D.1NC DI 11用 REPE SCASB 指令对字符串进行扫描,如 CX0 时,扫描结束, 那么表示
4、 ()A. 在字符串中遇上第一个AL 中指定的字符B.在字符串中有一个AL 中指定的字符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - C.在字符串中有一个不是AL 中指定的字符D. 在字符串中遇上第一个不是AL 中指令的字符12下列指令执行后对源和目的操作数均无影响的是()A.MOV BX+2 ,AX B.SUB AX ,2467H C.SBB SI ,BX D.CMP AX ,BX 13表示过程定义结束的伪指令是()A.EN
5、DP B.ENDS C.END D.ENDM 14下列有语法错误的语句是()A.DB 12H B.DW 4567H C.DD BCD D.DB CD15 DB1 DB 8 DUP (2 DUP( 3) ,3 DUP(2) )MOV AX , WORD PTR DB1 04H 上面指令执行后,AX 的内容是()A.0302H B.0203H C.0202H D.0303H 16 BUF1 DB 3 DUP (0, 2 DUP (1,2) ,3)COUNT EQU $ - BUF1 符号 COUNT 等价的值是()A.6 B.18 C.16 D.8 17 DA1 DW 2A05H DA2 DB 0
6、FAH MOV AL ,BYTE PTR DA1 SUB DA2 ,AL 上述指令执行后,DA2 中的内容是()A.0DAH B.0FAH C.0F5H D.0D0H 18设( SS)=338AH , (SP)=450H,执行 PUSH BX ,和 PUSHF 两条指令后,堆栈顶部的物理地址是()A.33CECH B.33CF2H C.33CF4H D.33CE8H 19设( SP)=0028H ,执行段内返回指令RET 6 后, SP的内容是()A.0036H B.0022H C.0030H D.0020H 20条件转移指令JNBE 产生转移的条件是()A. CF=0 AND ZF=0 B.
7、 CF=0 AND ZF=1 C. CF=1 AND ZF=0 D. CF=1 AND ZF=1 21. 与 MOV BX ,0FFSET VAR指令完全等效的指令是() 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - MOV BX ,VAR LDS BX ,VAR LES BX,VAR LEA BX, VAR 22. 在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(). WORD PAGE BYTE PA
8、RA 23. 在汇编语言程序的开发过程中使用宏功能的顺序是() 。宏定义,宏调用宏定义,宏展开宏定义,宏调用,宏展开宏定义,宏展开,宏调用24. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是() 。名字项操作项操作数项注释项13. MOV SP ,3210H PUSH AX 执行上述指令序列后,SP寄存器的值是() 。3211H 320EH 320FH 3212H 25.BUF DW 10H DUP(3 DUP(2,10H) ,3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是() 。80H 100H 124 192 二、简答题(本大题共3 小
9、题,每小题2 分,共 6 分)1假设 DS=2000H ,COUNT=0100H ,SI=0030H ,指令 MOV AX ,COUNTST 写出源操作数的物理地址?该指令可否写成MOV AX ,COUNT+SI ?2下面指令有无错误?若有错,是什么错误?MOV AX ,SIDI CMP SI ,BX 3条件转移指令的判断条件除标志位PF 外还有哪几个标志位?三、程序分析题(每小题6 分,共 36 分)l.已知AX=0FF60H , CF=1 MOV DX ,96 XOR DH, 0FFH SBB AX ,DX 执行上述指令序列后,AX= ,CF2.设寄存器AL ,BL,CL 中内容均为76H
10、,XOR AL ,0FH AND BL ,0FH OR CL,0FH 执行上述指令序列后,AL= BL= CL= 3.已知 AX=0A33AH ,DX=0F0F0H AND AH ,DL XOR AL ,DH NEC AH 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - NOT AL 执行上述指令序列后,AH= ,AL= 4. DATA SEGMENT S9 DB 0,1,2,3,4,5,6,7,8,9 DATA ENDS :
11、LEA SI ,S9 LEA , DI , S9+1 MOV CX ,5 LOP:MOV AL ,SI XCHC AL ,DI MOV SI ,AL ADD SI ,2 ADD DI ,2 LOOP LOP 上述程序段运行后,S9 开始的 10 个字节存储单元内容是什么?5. MOV AL ,38H MOV BL ,49H CALL SUB0 INC AL DEC CL . SUB0 PROC ADD AL ,BL MOV CL ,AL DAA RET SUB0 ENDP 上述程序段运行后,AL= CL= 6ADR DW 1234H ,5678H LEA SI , ADR LDS BX ,AD
12、R 设变量 ADR 的偏移地址是100H,上述两条指令执行后:SI= ,BX= 。7已知 DS 和 ES指向同一个段, 且当前数据段从0000H 到 00FFH 单元内容分别为01,02,03, , , 0FF,00H。问下列程序段执行后,00000009H 的内容是些什么值。MOV SI, 0000H MOV DI ,0001H MOV CX ,0080H CLD REP MOVSW 8STR1 DB COMPUTERNDPASCALSCA DB N名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
13、- - - 第 4 页,共 9 页 - - - - - - - - - LEA DI ,STR1 MOV AL,SCA MOV CX,10H CLD REPNE SCASB NEXT : ,程序运行到NEXT 时 CX= ZF= 9已知 AX=0FFFFH ,DX=0001H MOV CX,2 LOP:SHL AX ,1 RCL DX ,1 LOOP LOP 上述程序段执行后,DX= AX= 10已知 DX=0A476H ,CX=0302H ,CF=1 OR DX ,DX RCR DX ,CL XCHG CH ,CL RCL DX ,CL 上述程序段执行后,DX= CF= 11 MOV AX
14、,10 SHL AX ,1 SHL AX ,1 MOV BX ,AX MOV CL ,2 SHL AX ,CL ADD AX ,BX 上述程序段执行后,BX= AX= 12已知 AX=78H , BX=0804H SHR BX ,1 AND BX ,0F0FH MOV CX ,4 LOP:XCHG BH ,BL DIV BL SAL AX ,1 LOOP LOP 上述程序段执行后,AX= BX= 四.改错 . 阅读下列数据传送程序段,改正使用不当的语句A DB 35,47,2AH,XYZ B DB N DUP(0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
15、- - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - N EQU $-A MOV SI, A MOV DI, B MOV CX, LENGTH A LP: MOV AX, SI MOV DI, AX INC SI INC DI DEC CX LOOP LP 五.程序填空题 (每空 3 分,共 18 分) 1.下面是程序段是判断寄存器AH 和 AL 中第 3 位是否相同 ,如相同 ,AH 置 0,否则 AH 置全 1.试把空白处填上适当指令. AND AH , 08H MOV AH , 0FFH JMP NEXT
16、 ZERO: MOV AH, 0 NEXT : . 2.有一个首址为A 的字数组 ,完成从大到小的排序. DATAREA SEGMENT A DW N DUP(?) DATAREA ENDS PROGRAM SEGMENT MAIN PROC FAR START : PUSH DS SUB AX, AX PUSH AX MOV DS ,AX MOV CX , N LOOP1: MOV DI ,CX MOV BX ,0 LOOP2: MOV AX ,ABX CMP JGE CONTINE XCHG AX , MOV ABX , AX CONTINE: ADD BX LOOP LOOP2 LOOP
17、 LOOP1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - RET MAIN ENDP END START 3.该程序段的功能是求出存放在DX 、AX 中的双精度数的绝对值,并将结果保存在A 和 A2 单元中,请在空白处填写指令。1 JNS RESULT NOT AX NOT DX INC AX 2 RESULT: MOV A , AX MOV A+2 , DX 4 下面程序执行后,AL 的内容为 ARRAY 数组中的最小数,
18、请在空白处各填上一条指令。ARRAY DB 3 ,5,- 3,- 2,4,5, - 8,6 MOV CX ,7 MOV DI , 0 MOV AL ,ARRAY A1:INC DI JLE A2 MOV AL ,ARRAY DI A2 5下面程序段是判断两个存储单元是否同为正数,如是,则AX 置全 0,否则 AX 置非 0。试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令) 。VAR1 DW VAR2 DW MOV AX ,VAR1 MOV BX ,VAR2 XOR AX ,BX TEST BX ,8000H MOV AX ,0 NEXT : ,6.以
19、BUFF 为首地址的字节单元中,存放了 COUNT 个无符号数 ,下面程序段是找出其中最大数并送入 MAX 单元中 . BUF DB 5,6,7,58H,62,45H,127,. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - COUNT EQU $-BUF MAX DB ? . . MOV BX ,OFFSET BUF MOV CX ,COUNT -1 MOV AL ,BX NXET: INC CX JAE NEXT MOV
20、AL, BX NEXT: DEC CX MOV MAX , AL 六、编制程序题(第1 小题 8 分共 16 分)l.现有data segment array dw 64 dup(?) dw 5 dup(?) data ends 试编写一程序段,要求在 array+8 到 array+10(两者都包括在内)单元中插入5 个 0.(提示 :先把从array+8 单元开始的数据后移5 个单元 ,然后再在规定位置插入0) 2.从键盘上输入来宾的姓名Mr.或 Mrs. ,当按动任意键时,屏幕上显示出 : Welcome Mr. . 3.定义宏指令并展开宏调用:宏指令 JOE 把一串信息“ MESSAG
21、E NO.K ”存入数据区XK 中. 宏调用 I=0 JOE TEXT , I JOE TEXT ,I JOE TEXT ,I 4.在 BUF1 和 BUF2 两个数据区中,各定义有10 个带符号字数据,试编制一个完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM 为首的数据区中。DATA SECMENT BUF1 DW 56,24,54, 1,89, 8, ,BUF2 DW 45, 23,124, 345, 265, ,SUM DW 10 DUP (0)DATA ENDS 5. 改错 . 阅读下列数据传送程序段,改正使用不当的语句A DB 35,47,2AH,XYZ B DB N
22、DUP(0) N EQU $-A MOV SI, A MOV DI, B MOV CX, LENGTH A 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - LP: MOV AX, SI MOV DI, AX INC SI INC DI DEC CX LOOP LP 6.内存中由SOURCE 指示的个字节有符号数组成的数组分成正数和负数两个数组,并求这两个数组的数据个数,结果存放在RESULT 指示的内存区域。存放形式为正数个数在
23、前,其后跟正数组元素,然后是负数个数及负数数组元素. 7 从键盘输入一系列字符,以字符 $ 为结束符 ,然后对其中的非数字字符计数,并显示出计数结果8.在 STRING 到 STRING+99 单元中存放着一个字符串,并编写一个程序,测试该字符串中是否存在数字 .如有数字则把DL 的第 5 位置 1,否则将该位置0 9.统计串中的空格个数和逗号的个数. 11. . 用地址表转移表实现下列C语句, 其中变量 A和 B是有符号的整型变量 : switch(a%8) case 0 :b=32 ; break; case 1: case2: b=b+43; break; case3: b=b*a; break; case4: b- ; break; case5: case6: case7: printf(Function 5_6_7 ); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -
限制150内