汇编语言 本科Word格式文档下载.docx
《汇编语言 本科Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汇编语言 本科Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
![汇编语言 本科Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/29/e4313fc5-12d6-41c8-8358-5f1af91fb054/e4313fc5-12d6-41c8-8358-5f1af91fb0541.gif)
3、指令MOVBYTEPTR[BX],1000有错,错误为1000超过了一个字节的范围。
4、对于下面的符号定义,指出下列指令的错误。
A1DB?
A2DB10K1EQU1024①MOVK1,AXK1为常量,不能用MOV指令赋值②MOVA1,AXA1为字节,AX为字变量,不匹配③CMPA1,A2A1未定义,无法做比较指令④K1EQU,2048K1重新赋值前,必须用PURGE释放
5、寻找操作数的过程就是操作数的寻址方式。
6、将十六进制数AFH化为十进制是175,化为二进制是10101111化为八进制是257。
7、PC机中,段首址应分别在段寄存器CS、DS、SS、ES中,其中,CS和SS的段首址由系统自动置入,DS和ES的段首址由用户自己置入。
8、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,[SI+COUNT]中,源操作数的有效地址EA为20A8H,其物理地址为11488H。
9、十六进制数0FFF8H表示的十进制正数为65528,表示的十进制负数为-8。
10、求出十六进制数1234与十六进制数62A0之和,并根据结果设置标志位SF、ZF、CF和OF的值,和为74D4H;
SF=0,ZF=0,CF=0,OF=0。
11、十六进制数0F1H表示的十进制正数表示为241,表示的十进制负数表示为-15,十进制数255转换为BCD码表示为001001010101。
12、将十六进制数CDH化为十进制是205,化为二进制是11001101,化为八进制是315。
13、在汇编语言中,寻找操作数的过程就是操作数的寻址,一般来说,存放在指令代码中的操作数称为立即数,存放在CPU的内部寄存器中的操作数称为寄存器操作数,存放在内部存储器中的操作数称为存储器操作数。
14、已知AL,BL中数据为带符号数,若求AL∕BL的商,应使用指令序列为CBW和IDIVBL。
15、在1000H单元中有一条二字节指令JMPSHORTLAB,如果其中的偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为1030H、106CH、10B8H。
16、当标志位CF=1时表示无符号数运算产生溢出,而当标志位OF=1是表示带符号数运算产生溢出。
17、将二进制数110001化为十进制是49,十六进制为31,化为八进制为61。
18、将二进制数111110化为十进制是62,将十进制数31化为二进制为11111,化为八进制为37。
19、SP称为堆栈指示器,它用来存放当前栈顶的EA。
20、在汇编语言中,寻找操作数的过程就是操作数的寻址一般来说,存放在指令代码中的操作数称为立即数,存放在CPU的内部寄存器中的操作数称为寄存器操作数,存放在内部存储器中的操作数称为存储器操作数。
21、伪指令是它是在对源程序汇编期间由汇编程序处理的操作,它不产生任何机器代码。
22、有一个由20个字组成的存储区,其起始处段地址为4701H,偏移地址为2012H。
试写出该存储区首单元和末单元的物理地址分别为49022H和49048H。
23、8086微处理器内部共有14个16位可编程寄存器,数据寄存器组包括4个16位的寄存器,他们分别是BX、BP、SI、DI每段的段首址分别存放在对应的四个段寄存器中,这四个段寄存器的名称分别是DS、CS、ES、SS。
24、假设程序中的数据定义如下:
PARTNODW?
PNAMEDB16DUP(?
)COUNTDD?
PLENTHEQU$-PARTNO问PLENTH的值为16H。
25、要求屏蔽寄存器AL第0,1两位,则要执行指令ANDAL,0FCH;
如果要求把AL的第0,1位变反,可使用指令XORAL,03H。
26、要求屏蔽寄存器AL第0,1两位,则要执行指令ANDAL,0FCH;
27、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是十进制的97,如果认为它是BCD码,则表示61,又如果它是某个ASCII码,则代表字符a。
28、8086中有逻辑地址和物理地址,请将如下逻辑地址用物理地址表达:
逻辑地址:
FFFFH:
0对应物理地址:
0FFFF0H逻辑地址:
40H:
17H对应物理地址:
417H逻辑地址:
2000H:
4500H对应物理地址:
24500H逻辑地址:
B821H:
4567H对应物理地址:
CC777H
29、有下列数据定义:
AADW1,2,3,4,5,6,7COUNTEQU($-AA)/2则COUNT=7,表示存储单元AA占有的字的个数。
30、指令PUSHBL有错,应改为PUSHBX。
31、数-27的补码表示是11100101(8位),扩展到16位为111111*********1。
32、指令MOVAX,(SI+COUNT)中,源操作数的寻址方式为存储器变址寻址,目的操作数的寻址方式为寄存器方式。
33、伪指令是它是在对源程序汇编期间由汇编程序处理的操作,它不产生任何机器代码。
34、汇编语言源程序需经过masm程序汇编,link程序连接才能生成可执行文件。
35、在1000H单元中有一条二字节指令JMPSHORTLAB,如果其中的偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为1030H、106CH、10B8H。
36、指令PUSHBL有错,应改为PUSHBX。
37、十六进制数0FFF8H表示的十进制正数为65528,表示的十进制负数为8。
38、指令MOVMYDAT[BX][SI],ES:
AX有错,错误为AX寄存器不能使用段超越,指令MOVBYTEPTR[BX],1000有错,错误为1000超过了一个字节的范围。
39、假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:
①ADDVAR1,VAR2不能都是存储器操作数②SUBAL,VAR1数据类型不匹配③JMPLAB[SI]LAB是标号而不是变量名,后面不能加[SI]④JNZVAR1VAR1是变量而不是标号⑤JMPNEARLAB应使用NEARPTR
40、PC机中,既可作为八位又可作为十六位寄存器使用的寄存器为AX、BX、CX、DX。
1、数-27的补码表示是11100101(8位),扩展到16位为111111*********1。
2、PC机中,既可作为八位又可作为十六位寄存器使用的寄存器为AX、BX、CX、DX。
3、在指令MOVAX,[BX]中,源操作数的寻址方式为间接寻址,目的操作数的寻址方式为寄存器寻址。
4、有下列数据定义:
CCDW0,2,4,6,8,10,12,14,16COUNTEQU($-CC)/2则COUNT=9,表示存储单元CC占有的字的个数。
5、A1DB?
A2DB10K1EQU1024MOVK1,AXK1为常量,不能用MOV指令赋值MOVA1,AXA1为字节,AX为字变量,不匹配CMPA1,A2A1未定义,无法做比较指令K1EQU2048K1重新赋值前,必须用PURGE释放
6、8086中有逻辑地址和物理地址,请将如下逻辑地址用物理地址表达:
7、在1000H单元中有一条二字节指令JMPSHORTLAB,如果其中的偏移量分别为30H、6CH、0B8H,则转向地址LAB的值分别为1030H、106CH、10B8H。
8、将十进制数100化为十六进制是64,将十进制数100化为二进制是1100100。
9、要求屏蔽寄存器AL第0,1两位,则要执行指令ANDAL,0FCH;
10、汇编语言源程序需经过masm程序汇编,link程序连接才能生成可执行文件。
11、当标志位CF=1时表示无符号数运算产生溢出,而当标志位OF=1是表示带符号数运算产生溢出。
12、指令改错INC[SI]INCPTRWORD[SI]MOV[BX],[SI]MOVBX,[SI]MOVAX,[SI][DI]MOVAX,[BX][DI]MOVCS,1000MOVAX,1000
13、对于下面的符号定义,指出下列指令的错误。
A2DB10K1EQU1024①MOVK1,AXK1为常量,不能用MOV指令赋值②MOV