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