-
汇编程序从写出到执行的过程
- 源程序: t1.asm
assume cs:codesg
codesg segment
mov ax,2000H
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00H
int 21H
codesg ends
end
-
编译
-
连接
-
运行
2.EXE 文件程序加载过程
- 程序加载后,ds中存放着程序所在内存区的地址,这个内存区的偏移地址为0,则程序所在的内存区的地址为 ds:0
- 这个内存区的前256个字符存放的是 PSP ,DOS用来和程序进行通信,从256字节后的空间存放的是程序。
因为 PSP 占256(100H)字节,所以程序的物理地址是:
SA * 16 + 0 + 256 = (SA + 16)* 16
可用段地址和偏移地址表示为: SA + 10H :0