exe可执行文件和源代码文件asm
exe可执行文件
通过link可以获得最终的exe文件
系统要运行exe文件的话 需要分配给他一段内存
系统是怎么知道要分配多大的内存给这个程序的? 也就是这个exe文件
因为exe文件中 除了我们整个程序的代码还包括了一些信息(文件有多大 程序的入口在哪里)描述信息
系统就是通过这些描述信息对寄存器进行相关设置
start伪指令 是告诉翻译软件 start 伪指令 在exe文件的描述信息中扮演什么角色?
就是将我们设置的程序的入口地址在哪里 记录在exe文件的描述信息中
然后系统通过这个描述文件中的内容去设置cs,ip 当然还有一些其他内存
exe可执行文件 不止包括了整个程序 还包括了描述信息
系统是根据这些描述信息 进行相关的设置
源代码文件 asm
汇编语言
汇编指令 被编译器翻译成010101001机器指令 机器码 由CPU执行
伪指令 由编译器执行
符号体系 由编译器执行
data segment 告诉编译器 data段从这里开始
data ends 告诉编译器 data段到这里结束 分配内存
段的名字可以随意取 方便我们阅读
实现了程序返回的功能
mov ax,4c00H
int 21H
系统在加载程序的时候要分配内存 设置寄存器
内存和寄存器都还给系统
不能永远占用内存 内存是有限的