汇编语言---子程序设计举例(两组数据相加)
配置环境
- 配置环境
- 要求
- 编辑程序
- 运行程序
- 后续
-
首先双击下载程序进行下载。(没有安装程序的,可以下载我为大家准备的安装文件。) 不会安装的可以看一下文件
-
将debug.exe放入C盘(没有debug的自行下载)
-
打开DOXBos
-
将masm文件放入D盘(没有masm的自行下载)
-
更改masm文件为123(任意),在文件夹中创建文件123.asm(任意)。
-
在DOXBos程序中 输入mount C D:\123
-
输入C:
-
打开123.asm编写程序
-
第6、7步可以省略,省略办法见这篇文章,设置之后就不必每次都输入
已知在NUM1和NUM2为首地址的两个存储区中已分别定义了N个字数据。试编程实现实现将这两组N个字数据相加,并将和存入以NUM3为首地址的存储区中。
编辑程序DATA SEGMENT
NUM1 DW 1011H,2022H,3033H,4044H,5055H ;
NUM2 DW 6066H,7077H,8088H,9909H,0000H ;
N EQU ($-NUM2)/2 ;
NUM3 DW N DUP(?) ;
DATA ENDS
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA SI,NUM1
LEA BX,NUM2
LEA DI,NUM3
MOV CX,N
CALL SADD ;
MOV AH,4CH
INT 21H
SADD PROC
PUSH AX
PUSH BX
PUSH CX
PUSH SI
PUSH DI
PUSHF
JCXZ EXIT
CLC
CLD
NEXT:
LODSW
ADC AX,[BX]
STOSW
ADD BX,2
LOOP NEXT
EXIT:
POPF
POP DI
POP SI
POP CX
POP BX
POP AX
RET
SADD ENDP
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 ;(这里是你想要运行到的程序地址)
后续
如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 欢迎关注公众号。
编写不易,感谢支持。