汇编语言学习笔记——————第一个程序

一个汇编语言从写出到最终执行的简要过程

大体分为以下三步:

1.编写汇编源程序
2.对源程序进行编译连接
3.执行可执行文件中的程序

第二步执行的操作是使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用链接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。
第三步中,操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载到内存,设置CS:IP指向第一条要执行的指令,然后由CPU执行程序。
下图是从汇编程序从写出到执行的详细步骤。

编写
1.asm
编译MASM
1.obj
连接LINK
1.exe
加载command
内存中的程序
运行CPU

编写源程序

assume cs:code
code segment
start:mov ax,2000h
	  mov ds,ax
	  mov al,ds:[0]   ;在汇编源程序中,如果用指令访问一个内存单元,
					  ;则在指令中必须用“[...]”来表示内存单元,在编
					  ;译器中编写时,必须在[]前面显示地给出段地址
					  ;所在的段寄存器
	  mov bl,ds:[1]
	  mov cl,ds:[2]
	  mov dl,ds:[3]

	  mov ax,4c00h
	  int 21h
code ends
end start

编译链接

编译

为了使得我们编写的汇编语言程序得以执行,我们必须有相应的编译器和链接器,这里我们需要下载对应的三个文件,分别是MASM.exe、LINK.exe,ML.exe三个文件,对应的百度云链接如下:
链接:https://pan.baidu.com/s/15k0PZSgvO9JrAmilZ5U4Kg .
提取码:aswr
将下载的文件统一的放到一个文件夹下,如下图所示:
在这里插入图片描述
将三个文件拷贝至文件夹下就可以编译链表了,编译链接操作这里采用win10命令行窗口的方法进行编译和链接。编译链接前的文件下只有三个刚拷贝进来的文件,一个.asm文件和debug.exe(下面解释),首先先在命令行用masm编译.asm文件,首先先进到相应的文件夹下。运用masm 生成.obj文件,生成后的信息如下。
在这里插入图片描述

链接

生成了.obj文件后,运用link命令将其链接,最终生成.exe可执行文件,具体操作如下:
在这里插入图片描述

执行

生成了可执行文件后,需要运行可执行文件,由于win10是64位操作系统,不能运行16位的汇编语言程序,因此,我采用的方法是在dosbox里运行,要使得程序能够在dosbox运行,需要将debug.exe的程序放到当前的文件夹下,也就是前面所提到的debug程序,除此之外,还需要更改debug的相关路径。双击DOSBox 0.74 Options.bat,运行该批处理文件后用文本文档打开配置文件dosbox-0.74.conf文件,在文件的末尾进行更改。
在这里插入图片描述
在打开的文件的末尾输入如下语句,
在这里插入图片描述
至此,就可以运用dosbox来运行可执行文件了,用cd命令进入到对应的文件夹,输入debug compare.exe即可运行程序。
在这里插入图片描述
最后,通过t指令即可单步运行程序中的指令,如下图所示。
在这里插入图片描述

发布了19 篇原创文章 · 获赞 6 · 访问量 1726

猜你喜欢

转载自blog.csdn.net/weixin_42616791/article/details/103448316