实验 3 汇编语言顺序结构程序设计
班级
学号
姓名
一、实验题目:
1. 实现表达式 S=(X+4×Y)/Z,其中 X 为有符号的字节数据,Z、Y 为有符号的字数
据。
二、实验目的:
1. 掌握顺序结构程序设计;
2. 熟悉源程序基本组成:assume 的使用、段寄存器的赋值、程序返回;
3. 掌握数据传送、算术运算类指令的使用;
4. 掌握 MASM、LINK、DEBUG 等工具的使用。
三、实验设备:
硬件:PC 机
软件:DOS 操作系统、编辑软件、MASM 5.0
四、程序框图:
开始
程序初始化
计算 4*Y
计算 X+4*Y
计算(X+4*Y)/Z
送结果
结束
图 1 程序框图
五、实验内容:
1. 程序代码
DATA
DATA
CODE
DB 1000
DW -12
DW 20
DW 2 DUP(?)
SEGMENT
X
Y
Z
S
ENDS
SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AX,4
;被乘数 4 取到 AX 中
IMUL Y
MOV CX,AX
MOV BX,DX
MOV AX,X
CWD
ADD AX,CX
ADC DX,BX
IDIV Z
MOV S,AX
MOV S+2,DX
MOV AH,4CH
INT 21H
;计算 4*Y
;4*Y 转存到 BX、CX
;X 取到 AX 中
;X 扩展到 DX、AX 中
;计算 4*Y+X
;计算(X+4×Y)/Z
;送结果
;返回 DOS
CODE
ENDS
END
START
2. 调试过程(具体应用 DEBUG 指令及其结果)
六、实验思考与总结: