一、实验目的和要求
掌握汇编程序分支程序 (条件转移和无条件转移)设计。
二、实验内容和原理
计算下面函数值的程序(X、Y的值均在-128~+127之间)。
三、实验环境
实验室提供硬件环境。软件环境:Windows98/2000、MASM.EXE、LINK.EXE等。
四、算法描述及实验步骤
1、 分析并绘制流程图:
2、 原理:存储单元分配如下:变量X中存放x的值,变量Y中存放y的值,变量Z用来存放函数值,以上各变量均为字节类型。X与0进行比较,x<0转L1;Y与0进行比较,y<0转L2;x ≥ 0,y≥0则1—>Z,无条件转EXIT; y≥0转L2;x<0,y<0,-1Z,无条件转EXIT;x、y异号时则0Z。
3、 启动Windows记事本,编写源代码(见附录),保存在masm文件夹中,文件名:chp2.asm:
4、调试、编译:
编译、连接、调试运行:
C:\ masm chp2.asm<CR>
C:\ link chp2.obj<CR>
C:\ masm chp2.exe<CR>
如图所示:
五、实验结果
结果正确、编译、保存。通过本次实验,
六、总结
通过本次实验我们基本上掌握了分支程序设计的方法,达到实验的目的和要求。
附录:
DATA SEGMENT
X DB 24
Y DB -11
Z DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
CMP X,0
JS L1
CMP Y,0
JL L2
MOV Z,1
JMP EXIT
L1: CMP Y,0
JGE L2
MOV Z,-1
JMP EXIT
L2: MOV Z,0
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START