《汇编语言》复习题.doc

上传人:少林足球 文档编号:4715256 上传时间:2019-11-29 格式:DOC 页数:12 大小:74.01KB
返回 下载 相关 举报
《汇编语言》复习题.doc_第1页
第1页 / 共12页
《汇编语言》复习题.doc_第2页
第2页 / 共12页
《汇编语言》复习题.doc_第3页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《汇编语言》复习题.doc》由会员分享,可在线阅读,更多相关《《汇编语言》复习题.doc(12页珍藏版)》请在三一文库上搜索。

1、汇编语言复习题一、填空题(每小题0.5分,共10分)1、26.25D B O H2、56D的原码为 B,反码为 B,补码为 B。3、0C51H的反码为 B,补码为 B。4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。5、若(CS)0100H,(IP)1051H,则当前指令的物理地址为 。6、设(BX)1000H,(DI)0010H,(DS)2100H,在指令MOV AX,BX+DI中,源操作数的寻址方式为 ;物理地址为 。7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。写出下列指令单独执行后的结果。(1)MOV AX,BUF (AX) (2)LEA AX,B

2、UF (AX) 8、子程序的参数传递方法包括 、 、 。9、实模式下存储器的20位物理地址由 加 形成。二、选择题(每小题1分,共10分)1、下列通用数据传送指令的几种传送中,错误的传送方式是( )。A、从累加器到存储器 B、立即数到存储器C、从寄存器到存储器 D、从存储器到存储器2、使进位位置1的指令是( )。A、CLC B、CMC C、STC D、NOP3、设AL,BL中都是有符号数,当AL=BL时转至NEXT处,在CMP AL,BL指令后,应选用正确的条件转移指令是( )。A、JBE B、JNG C、JNA D、JNLE4、指令LOOPZ的循环执行条件是( )。A、CX0并且ZF=0 B

3、、CX0或ZF=0C、CX0并且ZF=1 D、CX0或ZF=15、下列合法的变量名称是( )。A、9BUF B、ADD C、BUF9 D、ASSUME6、一条指令中目的操作数不允许使用的寻址方式是( )。A、寄存器寻址 B、立即数寻址 C、变址寻址 D、寄存器间接寻址7、DOS的功能调用号必须送( )寄存器。A、DL B、DH C、AL D、AH8、在实模式下,存储器管理采用分段模式,每段大小可达( )。A、64M B、1M C、64K D、16字节9、用来存放下一条将要执行的指令地址的寄存器是( )。A、SP B、IP C、BP D、CS10、要使串操作从低地址向高地址进行,应把标志位设置为

4、( )。A、TF=1 B、TF=0 C、DF=1 D、DF=0三、判断题(每小题1分,共10分)1、XLAT BX,AL ( )2、POP CS ( )3、IN AX,34H ( )4、SHR BL,AL ( )5、PUSH AL ( )6、CS是代码段寄存器,在CS中存放代码段的段地址。( )7、逻辑运算符和逻辑运算指令区别在于:逻辑运算指令的功能在汇编阶段完成,逻辑运算符的功能在程序执行阶段完成。( )8、在同一程序中,EQU不能对一个符号重复定义,可对一个符号重复定义。( )9、堆栈坚持后进先出的原则。( )10、两无符号字节数相除,需预先执行CBW指令。( )四、读程序题(每空2分,共

5、20分)1、设AL85H,BL=0FH,写出下列各指令单独执行后的结果。(1)NEG AL ;AL= H(2)OR AL, BL ;AL= H (3)TEST AL,01H ;AL= H(4)AND AL,BL ;AL= HZF= 2、已知程序如下:CODE SEGMENT ASSUME CS:CODE BEGIN:MOV BL,17MOV CX,8 CLCNEXT1: MOV BH,30H ROL BL,1 JNC NEXT2 ADD BH,1 NEXT2:CALL PROC1 LOOP NEXT1 MOV BH,B CALL PROC1 MOV AH,4CH INT 21H PROC1 P

6、ROC MOV DL,BH MOV AH,2 INT 21H RETPROC1 ENDPEND BEGIN(1)子程序PROC1的功能是 。 (2)子程序PROC1入口参数是 。(3)若RET指令执行前SP0008H,则RET执行后,SP的值为 。(4)程序执行完毕,屏幕上显示内容是 。(5)主程序和子程序之间的参数传递方式是 。五、编程题(12每小题5分,36每小题10分,50分)1、写出短指令序列,将CL内容除以BL的内容,结果乘4并存入AX寄存器中(设CL和BL中均为无符号数)。2、在AL和BL寄存器中存放着两个有符号数,写出短指令序列比较两数的大小,并将大数存入MAX单元,小数存入MI

7、N单元。3、编写子程序,将字节单元中的2进制数转换成16进制数输出。入口参数:AL中存放待转换的数据。出口参数:要求不改变任何寄存器的内容。4、编写子程序将两个多字节二进制数相减。入口参数:SI、DI分别指向两个数的首地址,BX指向差的首地址,CX中存放多字节的长度。出口参数:BX指向差的首地址。5、设从内存单元BUF开始存放下列有符号数据:1234H,0ED12H,0,2304H,0,7002H,编写完整的源程序统计其中的正数、0及负数的个数。 6、在BUF所指向的字存储单元中,存放若干个字数据3500H,0010H,1010H,8010H,编写完整的源程序计算这些数据之和,和放入SUM字单

8、元中。一、填空题(每小题0.5分,共10分)1、25 B O H2、32D的原码为 B,反码为 B,补码为 B。3、十进制数15的压缩BCD码为 ;非压缩BCD码为 。4、8086CPU可以直接寻址的内存空间大小为 ,程序员在编程时需要把存储器分段,每段的大小不能超过 。5、设DI0100H,DS3000H,在指令MOV CX,100+DI中,源操作数的寻址方式为 ;物理地址为 。6、汇编语言源程序有三种基本结构形式:顺序结构、 和 。7、从功能上,8086CPU分为 和 两部分。8、直接输入/输出指令的最大端口号是 ,间接输入/输出指令的端口号必须送 寄存器。9、DIV BX指令执行后,余数

9、在 中,商在 中。二、选择题(每小题1分,共10分)1、8086CPU中指令队列有( )个字节。A 4 B 6 C 8 D 162、DF=0,执行CMPSW指令后 ( )。A SI减1,DI减1 B SI加1,DI加1C SI减2,DI减2 D SI加2,DI加23、在DEBUG下,u命令的作用是( )。A 反汇编B 汇编 C 查看数据 D 写入数据4、用来存放下一条将要执行的指令地址的寄存器是( )。A SP B IP C BP D CS5、完成将有符号数BX的内容除以2的正确指令是( )。A SHR BX,1 B SAR BX,1 C SAL BX,1 D RCR BX,16、在汇编语言中

10、,标号在( )段使用。A DS B ES C CS D SS7、如AX=8001H ,则指令NEG AX执行后,AX的值是( )。A 0FFFFH B 7FFEH C 0FFFEH D 7FFFH8、下列通用数据传送指令的几种传送中,错误的传送方式是( )。A 从累加器到存储器 B 从寄存器到寄存器C 从寄存器到存储器 D 从存储器到存储器9、如果 AL90H,则执行CBW后,AX中的内容为( )。A FF90H B 0090H C 1090H D 不定10、使进位位清0的指令是( )。A CLC B CMC C STC D NOP三、判断题(每小题1分,共10分)1、MOV BX,SI( )

11、2、XCHG CS, BX ( )3、PUSH CS ( )4、POP CL ( )5、SHL BX,CL ( )6、OUT 50H, AX ( )7、DIV AX,BL ( )8、两带符号字节数相除,需预先执行CBW指令。( )9、伪指令能够翻译成机器码。( )10、堆栈坚持先进先出的原则。( )四、读程序题(每空2分,共20分)1、假设有以下数据定义伪指令,写出下列各指令单独执行后的结果。DATA1 DB 88H,15HDATA2 DW 1234H,2278HCNT EQU ($-DATA2)/2(1) MOV AX, WORD PTR DATA1 ;AX= (2) MOV AL, BYT

12、E PTR DATA2 ;AL= (3) MOV CX,CNT ;CX= (4) MOV BL, TYPE DATA2 ;BL= (5) MOV AL, SIZE DATA2 ;AL= 2、已知程序段如下:MOV DX,0CLCMOV AX,1432HMOV CL,4ROL AX,CL ;DEC AX ;MOV BX,2 MUL BX ;(1)指令执行后AX= CF= (2)指令执行后AX= CF= (3)指令执行后AX= 五、编程题(12每小题5分,36每小题10分,50分)1、定义一个名字为DATA的数据段,段中的变量和数据如下:D1为字符串变量:ABCDD2为字变量:1234D3为字变量

13、:8个52、编写标准单字符输出子程序。子程序名称:OUTPUTP入口参数:输出字符的ASCII放在DL寄存器中。3、编写完整的源程序实现把数据段BUF1所指向的内存单元中的字数据1245H送扩展段BUF2所指向的内存单元中。4、在BUF开始的内存区存放2个无符号字数据,编写完整的源程序比较其大小,大数存入MAX开始的字单元,小数存入MIN开始的字单元。5、设从STRING开始存放一以为结束标志的字符串:3$6AaAgzZ#,把字符串中的字符分类,数字送入NUM开始的内存区,字母送入CHAR开始的内存区,其它字符存到OTHER开始的内存区。6、设从内存单元BUF开始存放下列有符号字数据:0123

14、H,1,8041H,0,0A004H,0,编写完整的源程序统计其中的正数、零及负数的个数,结果分别存放在PLUS_NO、ZERO_NO、POSITIVE_NO所指向的字节单元。一、填空题(每小题0.5分,共10分)1、38D B O H2、12D的原码为 ,反码为 ,补码为 。3、5B21H的反码为 ,补码为 。4、十进制数65的非压缩BCD码为 ,压缩BCD码为 。5、若(CS)1100H,(IP)1050H,则当前指令的物理地址为 。6、已知(AX)= 789AH,问执行指令CBW后,(AX)=_。7、使用DOS中2号功能调用时,需先将_ _ _送入DL中。8888888、与MOV AX,

15、 OFFSET BUF等效的LEA指令是_。9、在汇编语言中,标号在 段使用,标号的属性有 、 、 。10、DIV CL指令执行后,余数在 中,商在 中。二、选择题(每小题1分,共10分)1、一条指令中目的操作数不允许使用的寻址方式是( )。A 寄存器寻址 B 立即数寻址 C 变址寻址 D 寄存器间接寻址2、LDS SI, 2000H指令的功能是( )。A 把地址2000H送SI B 把地址2000H送DSC 把地址2000H字单元的内容送SI,把2002H单元的内容送DSD 把地址2000H字单元的内容送DS,把2002H单元的内容送SI3、关于POP指令,以下正确的是( )。A 该指令的操

16、作数可以是立即数 B 该指令执行后,栈顶指针加1C 该指令执行后,栈顶指针减2 D 该指令执行后,栈顶指针加24、如果算术或逻辑运算结果为0,则( )。A ZF0 B ZF1 C SF0 D SF15、下列合法的变量名称是( )。A 9NEXT B SUB C NEXT1 D ASSUME6、完成对字单元BUF的内容加1运算,下面错误的指令是( )。A MOV BX,BUF B MOV BX,OFFSET BUF INC BX INC WORD PTR BX MOV BUF, BXC MOV BX, BUF D LEA BX,BUF INC WORD PTRBX INC WORD PTR BX

17、7、DOS的功能调用号必须送( )寄存器。A DL B DH C AL D AH8、在DEBUG下,用( )命令修改存储单元的内容。A E B R C D D G9、若SP0008H,则段内返回指令RET 2 执行后,SP的值为( )。A 0008H B 000AH C 000CH D 0004H10、以下说法错误是( )。A JMP是条件转移指令 B 条件转移指令只能实现段内转移C 条件转移指令可转移的范围是128127D 无条件转移指令可以实现段间转移三、判断题(每小题1分,共10分)1、MOV BX,2000H( )2、POP AL ( )3、SHL BX,CL ( )4、IN AX,1

18、234H ( )5、MUL CL ( )6、ROL AL,3 ( )7、逻辑运算符和逻辑运算指令区别在于:逻辑运算符的功能在汇编阶段完成,逻辑运算指令的功能在程序执行阶段完成。( )8、在同一程序中,不能对一个符号重复定义,EQU可对一个符号重复定义。( )9、8086CPU内有2字节的指令队列。( )10、CS是代码段寄存器,在CS中存放代码。( )四、读程序题(每空2分,共20分)1、设有如下段定义: DATA SEGMENT BUF1 DB 2,-1BUF2 DW ?,1234H,-2 CNT EQU ($-BUF2)/2DATA ENDS(1)操作数-1所在的内存单元的偏移地址为_ _

19、,在内存中占 个字节单元。 (2)操作数-2所在的内存单元的偏移地址为_ _,在内存中占 个字节单元。(3)变量CNT的值为_ _。2、已知源程序如下:PROC1 PROC MOV CX,16 CLCNEXT1:MOV DX,0 ROL BX,1 ADC DL,30H CALL PROC2 LOOP NEXT1 MOV DL,B CALL PROC2 RETPROC1 ENDPPROC2 PROC MOV AH,2 INT 21H RETPROC2 ENDP(1)子程序PROC1的功能是_ _,入口参数分别是_ _。(2)子程序PROC2的功能是_ _,入口参数分别是_ _。(3)如果子程序P

20、ROC1的入口参数初始值为8001H,程序执行完毕,屏幕上显示的内容是_ _ _。五、编程题(12每小题5分,46每小题10分,50分)1、定义一个名字为DATA1的数据段,段中的变量及数据如下:BUFA 为字节变量:12H, -1,0ABH, 200BUFB为字变量:5个 1000H,2000BUFC为字符串变量:HuiBianYuYan2、在AL寄存器存放一8位有符号数,设计短指令序列求该数的绝对值,结果存入JDZ所指向的字节单元。3、在BUF开始的内存区存放一个以为结束标志的字符串,设计短指令序列计算该字符串的长度并存入RESU字节单元。4、在BUF开始的内存区存放2个无符号字数据,编写完整的源程序比较其大小,大数存入MAX开始的字单元,小数存入MIN开始的字单元。5、编写完整的源程序,求满足x的阶乘小于500的最大x值,将x在屏幕上显示输出。6、编程完整的源程序计算表达式Z=X*Y+X/2-Y的值,X和Y的值由键盘输入(X、Y均为1位十进制数,输入功能用调用子程序的方法实现),结果Z存放在RES所指向的字节单元中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1