汇编自测试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自测试题参考答案
一、填空题(每空1分,共40分)
1、宏汇编语言程序被汇编时,指令语句产生代码指令,伪指令语句不产生代码指令,宏指令语句可能产生也可能不产生代码指令。

2、调用程序、子程序传送参数的方法通常有寄存器、内存和堆栈三种方法。

3、伪指令EQU、DB、DW、MACRO的标号名字域必须有名字或标号的伪指令为EQU、MACRO。

6、下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数0~255;单字节有符号整数-128~+127。

注:微型计算机的有符号整数机器码采用补码表示,单字节有符号整数的范围为-128~+127。

7、在汇编语言中,END伪指令有两种格式。

主模块中的格式为END启动指令标号;非主模块中的格式为END。

8、乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在AX中,若源操作数的类型属性为字,则目的操作数在DX:AX中。

注:将题中的目的操作数改为乘积更确切一些。

9、请给出标志寄存器中标志位OF、IF、SF、ZF、PF、CF的说明: OF溢出、IF中断、SF符号、ZF零、PF奇偶、CF进位。

10、堆栈是按照先进后出原则组织的一片连续的存储区域。

11、变址寻址的有效地址是变址寄存器的内容与地址位移量代数和。

12、指令XLA T通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入BX,待转换的代码在表中的序号送AL。

13、若要求不产生汇编错误,则字符串'ABC'只能出现在伪指令DB中。

19、为下述情况各举一例。

⑴寄存器与存储单元内容相加送寄存器ADD AL, [BX]。

⑵寄存器互送MOV AX, BX。

⑶将标志寄存器进栈PUSHF。

⑷立即数与寄存器内容相加送寄存器ADD AX, 1234H。

⑸将48H、5AH存入字节数据区ARRAYB ARRAYB DB 48H , 5AH。

二、指出下列指令所用到的寻址方式(10分)
指令目的操作数寻址方式源操作数寻址方式
MOV AX,1000H
MOV AX,DS:[1000H] 直接寻址
MOV AX,DX
MOV [BX],AL
MOV [BX+SI+5],AX 基址加变址寻址
MOV [BP],BX
MOV AX, [DI+10]
MOV AX,[SI] 变址寻址
MOV EAX, [ESI*4+50]
MOV EAX, [EDX*2+EBP+0FH]
注:根据操作数的存放方式,可以把寻址方式分为立即数寻址、寄存器寻址和存储器寻址三类,存储器的寻址方式分为直接寻址和间接寻址两种,间接寻址再细分又包括基址寻址、变址寻址和基址加变址寻址。

不同的书可能有不同的分类,掌握大的分类就可以了。

三、(10分)阅读如下程序段,回答提出的问题。

MOV AX,3456
XCHG AX,BX
MOV AX,3456
SUB AX,BX
JE DONE
KK: ADD AX,BX
...
DONE:
该程序段执行完JE DONE语句后,AX=00H,ZF=1,IP=DONE的偏移地址。

四、(10分)
请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量V ARM1中的非零数据左移到最高位为“1”止,左移次数存入字节变量V ARB中,左移后的结果存入字变量V ARW中。

MOV BL,0
JS DONE
GOON: INC BL。

相关文档
最新文档