汇编学习笔记1
学习参考书目《汇编语言》第二版 郑晓薇 机械工业出版社
假设X=4,Y=5,Z=((X+Y)*8-X)/2。编写一个汇编程序实现公式计算:
DATAS SEGMENT
X DW 4 ;定义X为字单元,值为4
Y DW 5
Z DW ? ;定义z为空单元
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV BX,X
MOV AX,Y
ADD AX,BX ;加法
MOV CL,3
SAL AX,CL ;算数左移3位,相当于乘以8
SUB AX,X
SAR AX,1 ;算术右移一位,相当于除以2
MOV Z,AX
MOV Z,AX
MOV AH,4CH
INT 21H
CODES ENDS
END START
含义:
1)x,y,z这三个变量应该看成存储单元,符号地址
2)用ASSUME伪指令说明段寄存器和段名之间的关系
3)START