汇编实验二--顺序程序设计(2)

2020-03-29 19:16

3)& 4)

(1)、文本编辑内容4中代码段保存为II4.txt,masm编译link连接通过:

(2)、d命令查看MSG2单元中存放的值,如图(执行AND AX,MSG1+2后,未执行MOV

MSG2,AX指令):

5)

(5-1)编写程序段如下:

(1)、分析题目可知数据段中有X、Y、W、Z和常数10、5,所以有:

DATA DB 5,10

(2)、代码段中先执行(W-X)*10有:

CBW;之前误解为乘指令操作数需16位故而出现此错误。 MUL DATA+1

SUB AL,X

MOV AL,W

W DB 10

Z DW ?

Y DB 8

X DB 2

之后加5结果除于X+Y有:

DIV

CL

ADD CL,Y

ADD AX,DB ;DATA错输入为DB

MOV CL,X

(3)、所以有最初代码如下(错误):

DSEG SEGMENT

DATA DB 5,10 X Y Z W

DB 2 DB 8 DW ? DB 10

DSEG CSEG

ENDS SEGMENT

ASSUME CS:CSEG,DS:DSEG

MOV AX,DSEG

START:

MOV DS,AX MOV AL,W SUB CBW MUL ADD

DATA+1 AX,DB AL,X

MOV CL,X ADD DIV

CL,Y CL

CSEG

ENDS END

START

(5-2)编写程序段如下

(1)、分析题目可知数据段中有X、Y、Z和常数8、2、16,所以有:

Z DW ?

Y DB 3

X DB 5

DATA DB 8,2,16

(2)、代码段先实现(X+X)*8有如下:

MOV AL,X

ADD AL,AL ;实现X+X

MOV CL,3

SHL AL,CL ;逻辑左移3位实现乘8

实现(X-Y)*2有:

SHL BL,CL ;逻辑左移1位实现乘2

MOV CL,1

SUB BL,Y ;实现X-Y

MOV BL,X

实现分子部分(X+X)*8-(X-Y)*2:SUB AL,BL 实现除于16并把结果送Z:

MOV Z,AL

SHR

AL,CL ;逻辑右移4位实现除于16

MOV CL,4

(3)、程序段通过编译并并成功链接,如图:

5.调试过程 1)—— 2)& 3)

(1)、直接运行II2.exe文件可以看到dos窗口未显示任何信息,于是debug II2.exe文件跟踪执行,如图:

(2)、t命令单步运行观察到IP在不断得递增指向下一条指令:


汇编实验二--顺序程序设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学六年级想象作文:众神的考验2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: