汇编语言---计算表达式的值
配置环境
- 配置环境
- 实现的功能
- 编辑程序
- 运行程序
- 后续
-
首先双击下载程序进行下载。(没有安装程序的,可以下载我为大家准备的安装文件。) 不会安装的可以看一下文件
-
将debug.exe放入C盘(没有debug的自行下载)
-
打开DOXBos
-
将masm文件放入D盘(没有masm的自行下载)
-
更改masm文件为123(任意),在文件夹中创建文件123.asm。
-
在DOXBos程序中 输入mount C D:\123
-
输入C:
-
打开123.asm编写程序
编写程序,计算表达式(2*X+Y-65)/Z的值。要求相除之后的商和余数分别存放在A,B单元中(设X,Y,Z和A,B都是16位有符号数,不考虑溢出)
编辑程序DATA SEGMENT
X DW 18
Y DW 260
Z DW 5
A DW ?
B DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DX,AX
MOV X,AX ;
MOV BX,2
IMUL BX ;隐含的被乘数
ADD AX,Y
ADC DX,0
SUB AX,65
SBB DX,0
IDIV Z
MOV A,AX
MOV B,DX
MOV AH,4CH
INT 21H
CODE ENDS
END START
运行程序
-
masm 123.asm
如果出现错误根据提示进行更改
-
link.123
-
运行123.exe
-
运行成功
-
反汇编(为了输入方便,将123.exe改为1.exe,这点大家不用更改,维持你文件名即可)
debug 1.exe
然后用U命令
-u
得到反汇编结果
- 运行结果,查看寄存器(T命令或者G命令) 如果用T命令一步一步执行 可以输入
debug 1.exe
-r
-t
...
(直到得出结果)
如果用G命令全部运行
debug 1.exe
-u
-G 076A:0018 ;(这里是你想要运行到的程序地址)
程序将会运行到这里
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 欢迎关注公众号。
编写不易,感谢支持。