汇编_第一个可执行程序

第一个可执行程序代码

assume cs:codesg		;假设某一段寄存器和某一个程序段相联系
codesg segment			;定义一个段
	mov ax,0123H
	mov bx,0456H
	add ax,bx
	add ax,ax

	mov ax,4c00H
	int 21H				;程序返回
codesg ends
end 					;标识程序结束

搭建汇编编译、链接和运行环境

下载masm软件,http://www.downcc.com/soft/523960.html
将这些可执行文件放在前文debug.exe同目录,同时汇编程序保存为1.asm
dosbox下,顺序执行masm.exe和link.exe,得到可执行文件1.exe

执行分析

  1. 此时shell将1.exe加载进内存中,ds=075a,cs=076a。书中介绍加载进内存时,存在256字节的程序段前缀(PSP),用于dos和被加载程序通信;在这之后则是代码段

  2. 单步调试,可以看到执行过程的ax值变化

总结

这节最大的收获是知道汇编代码至可执行程序是如何生成的。尽管并不是在控制台或窗口显示字符,但是通过debug程序,还是可以看到程序的执行。

posted @ 2023-04-12 20:11  柠檬水请加冰  阅读(33)  评论(0编辑  收藏  举报