汇编语言源程序怎样运行

汇编语言源程序怎样运行,第1张

汇编语言源程序运行方法:

1、找到一段起始地址为SA:0000(即起始地址的偏移地址为0)的容量足够的空闲内存区。

2、在这段内存区的前256个字节中,创建一个称为程序段前缀(PSP)的数据区,DOS利用PSP来和被加载程序进行通信。

3、从这段内存区的256字节处开始(在PSP的后面),将程序装入,程序的地址被设为SA+10H:0;空闲内存区从SA:0开始,0~255字节为PSP,从256字节处开始存放程序,为更好地区分PSP和程序,DOS将划分到不同的段中,如下这样的地址安排:

空闲内存区:SA:0

PSP区:SA:0

程序区:SA+10H:0

注意:PSP区和程序区虽然物理地址连续,却有不同的段地址。

4、将该内存区的段地址(SA)存入DS中,初始化其它相关寄存器后,设置CS:IP指向程序的入口(SA+10H:0)。

要运行汇编程序,可以有很多的方法,也可以用一些专门的软件,但众所周知,汇编的话,是即使用记事本也是可以写出来然后在DOS环境下运行的,只要有MASM.EXE和LINK.EXE即可,当我们在记事本里写好汇编程序时,应把它保存成.asm的格式,如sort.asm,然后在开始->运行中输入cmd,转到你存放程序的文件夹,最好所有的文件都是用英文命名,如我的是在D盘的huibian文件夹中

2.然后再输入masm 以及你的文件名敲回车,再在默认的情况下连敲三次回车,此时如果有错误和提醒,它会显示,否则就是 0,如图

3.再输入link 以及你的文件名,连敲几次回车,这时电脑会自动生成一个你的文件的目标文件,如我的文件名是maxxx

4.这时,你就可以直接运行程序 了,如我的运行结果为0054

5.当然,如果你觉得你的程序有问题,也可以用debug 进行调试,输入u可以直接看到你的每一步指令,直到出现最后一条 int 21h 为止,记住它前面的地址码,用g跳转可以直接执行到最后一步看到最后结果,如图

①安装好dosbox,然后找到“dosbox...options.bat”,双击它,(别急着点dosbox.exe)。

图1

②在d出的文本编辑器(如,记事本)中调整设置,找到[autoexec]所在行,添加两行(以d:\为例):

mount c: d:\

c:

图2

③下载并安装好nasm(一种小的汇编软件)

建议在dosbox中汇编并运行(按图3下文件、打开、解到d:\123);也可以在windows下汇编,dosbox里运行(这个我之前写过……)

图3

④打开dosbox,依次输入命令

cd 123

nasm

可以看到nasm安装成功并且能使用了,下一步是准备汇编代码

⑤在d:\123目录下新建一个文本文档123.txt

输入以下代码并保存(XXX可以随便改,$符号要保留)

org 256

jmp begin

s db 'hello, world! @author: XXX$'

begin:

mov dx,s

mov ah,9

int 21h

mov ax,4c00h

int 21h

⑥在dosbox的黑窗口里面继续输入以下命令

nasm 123.txt -o 123.com

123

然后就可以看到输出的字符串

hello, world! @author: XXX


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7765605.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存