汇编语言程序第二次作业讲述Word格式.docx

上传人:b****2 文档编号:13603306 上传时间:2022-10-12 格式:DOCX 页数:16 大小:19.41KB
下载 相关 举报
汇编语言程序第二次作业讲述Word格式.docx_第1页
第1页 / 共16页
汇编语言程序第二次作业讲述Word格式.docx_第2页
第2页 / 共16页
汇编语言程序第二次作业讲述Word格式.docx_第3页
第3页 / 共16页
汇编语言程序第二次作业讲述Word格式.docx_第4页
第4页 / 共16页
汇编语言程序第二次作业讲述Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

汇编语言程序第二次作业讲述Word格式.docx

《汇编语言程序第二次作业讲述Word格式.docx》由会员分享,可在线阅读,更多相关《汇编语言程序第二次作业讲述Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

汇编语言程序第二次作业讲述Word格式.docx

SHLAL,CL

执行上述指令后CF和AL的内容是()。

AF=1,(AL)=00001001

AF=0,(AL)=00001001

AF=1,(AL)=00100000

AF=0,(AL)=00100000

C

3.下面指令序列测试BH中的数是否为奇数, 

若为奇数则转移至K1处,横线处的指令应为()。

TESTBH,01H

_____K1

JNE

JZ

JS

JC

4.已知标号NEXT与指令MOVAX,TYPENEXT在同一个段内,则AX的值为()。

1

2

-1

B

5.DATASEGMENT

BUFDB1,2,3,4,5

COUNTEQU-BUF

DATAENDS

在以上数据段中COUNT的值为()

3

4

6

6.下列是8位二进制数的补码,其中真值最大的是(  )。

10001000    

11111111

00000000 

00000001

D

7.16位有符号数的补码所表示的十进制数的范围是(  )。

-32767~+32768  

-32768~+32767   

-65535~+65536

0~65535

8.下面的XCHG指令中,语法正确的是()。

XCHGAL,DS

XCHGBL,[BX]

XCHGAL,0FH

XCHGBUF1,BUF2

9.LDSSI,ES:

[2000H]指令的全部功能是()。

把地址2000H送SI

把地址2000H字单元的内容送SI

把地址2000H字单元内容送SI,把2002H字单元内容送DS

把地址2000H字单元内容送DS,把2002H字单元内容送SI

10.数据定义如下:

BUF1DB10

BUF2DW20DUP(?

实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是()。

CMPBUF1,BYTEPTRBUF2+3

MOVAL,BUF1

CMPAL,BYTEPTRBUF2+2

MOVAL,BUF1

CMPAL,BUF2+2

CMPALBUF2+3

(注意:

若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。

在线只需提交客观题答案。

二、主观题(共15道小题)

11. 

假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?

它们的错误是什么?

(1)MOVBP,AL;

(2)MOVWORD_OP[BX+4*3][DI],SP

(3)MOVWORD_OP1,WORD_OP2;

(4)MOVAX,WORD_OP1[DX];

(5)MOVSAVE_WORD,DS

(6)MOVSP,SS:

DATA_WORD[BX][SI]

(7)MOV[BX][SI],2;

(8)MOVAX,WORD_OP1+WORD_OP2

(9)MOVAX,WORD_OP1-WORD_OP2+100

(10)MOVWORD_OP1,WORD_OP1-WORD_OP2

参考答案:

错,寄存器类型不匹配

错,不能都是存储器操作数

错,DX不能用于存储器寻址

错,[BX][SI]未指出数据类型

12. 

假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:

(1)ADDVAR1,VAR2;

(2)SUBAL,VAR1;

(3)JMPLAB[SI];

(4)JNZVAR1;

(5)JMPNEARLAB;

不能都是存储器操作数

数据类型不匹配

LAB是标号而不是变量名,后面不能加[SI]

VAR1是变量而不是标号

应使用NEARPTR

13. 

有符号定义语句如下:

BUFFDB1,2,3,‘123’

EBUFFDB0

LEQUEBUFF-BUFF

问L的值是多少?

L=6。

14. 

假设程序中的数据定义如下:

LNAMEDB30DUP(?

ADDRESSDB30DUP(?

CITYDB15DUP(?

CODE_LISTDB1,7,8,3,2

(1)用一条MOV指令将LNAME的偏移地址放入AX。

(2)用一条指令将CODE_LIST的头两个字节的内容放入SI。

(3)用一条伪操作使CODE_LENGTH的值等于CODE_LIST域的实际长度。

(1)MOVAX,OFFSETLNAME

(2)MOVSI,WORDPTRCODE_LIST

(3)CODE_LENGTHEQU-CODELIST;

此语句必须放在CODELIST语句之后

15. 

试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

程序段如下:

BEGIN:

MOVAH,1;

从键盘输入一个字符的DOS调用

INT21H

CMPAL,‘a’ 

输入字符<

‘a’吗?

JBSTOP

CMPAL,‘z’ 

输入字符>

‘z’吗?

JASTOP

SUBAL,20H;

转换为大写字母,用ANDAL,11011111B也可

MOVDL,AL;

显示一个字符的DOS调用

MOVAH,2

JMPBEGIN

STOP:

RET

16. 

编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。

DECAL;

得到前导字符

准备显示三个字符

MOVCX,3

DISPLAY:

MOVAH,2;

INCDL

LOOPDISPLAY

17. 

下面的程序段有错吗?

若有,请指出错误。

CRAYPROC

PUSHAX

ADDAX,BX

RET

ENDPCRAY

程序有错。

改正如下:

CRAYENDP;

CRAY是过程名,应放在ENDP的前面

18. 

写一段子程序SKIPLINES,完成输出空行的功能。

空出的行数在AX寄存器中。

程序如下:

CSEGSEGMENT

SKIPLINESPROCFAR

ASSUMECS:

CSEG

PUSHCX

PUSHDX

MOVCX,AX

DISP:

MOVDL,0DH;

显示回车换行,即输出空行

MOVAH,2;

MOVDL,0AH

LOOPDISP

POPDX

POPCX

SKIPLINESENDP

END

19. 

编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。

字符区首地址及其长度为变元。

宏定义如下:

CLRBMACRON,CFIL

MOVCX,N

CLD

MOVAL,‘ 

’ 

取空格符的ASCII码

LEADI,CFIL

REPSTOSB

ENDM

20. 

写出分配给下列中断类型号在中断向量表中的物理地址。

(1)INT12H

(2)INT8

(1)中断类型号12H在中断向量表中的物理地址为00048H、00049H、0004AH、0004BH;

(2)中断类型号8在中断向量表中的物理地址为00020H、00021H、00022H、00023

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1