汇编语言---计算绝对值
配置环境
- 配置环境
- 要求
- 编辑程序
- 运行程序
- 后续
-
首先双击下载程序进行下载。(没有安装程序的,可以下载我为大家准备的安装文件。) 不会安装的可以看一下文件
-
将debug.exe放入C盘(没有debug的自行下载)
-
打开DOXBos
-
将masm文件放入D盘(没有masm的自行下载)
-
更改masm文件为123(任意),在文件夹中创建文件123.asm(任意)。
-
在DOXBos程序中 输入mount C D:\123
-
输入C:
-
打开123.asm编写程序
-
第6、7步可以省略,省略办法见这篇文章,设置之后就不必每次都输入
编写一个程序,计算存放在AX中的有符号数的绝对值,并将结果存入RES单元中
编辑程序DATA SEGMENT
x DW -40
RES DW ?
DATA ENDS
STACK SEGMENT
DB 50 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DX,AX
MOV AX,x
CMP AX,0 ;比较指令
JGE DONE ;X>0转移
NEG AX ;求负数的绝对值
DONE: MOV RES,AX
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
-G 076A:0018 ;(这里是你想要运行到的程序地址)
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 欢迎关注公众号。
编写不易,感谢支持。