image.png
image.png
image.png

image.png

image.png

image.png
系统认为end后面的这个就是程序的入口地址

image.png

为什么写成SA+10H:0而不写成SA:256?

因为我们够严谨,程序就是从SA+10H开始执行的嘞!

总结

程序加载后,ds中存放着程序所在内存区的段地址,这个内存区的偏移地址为0,则程序所在的内存区地址为ds:0
这个内存区的钱256个字节中存放的是PSP,dos用来和程序进行通信。

所以我们从ds中可以得到PSP的段地址为SA,PSP的偏移地址为0,则物理地址是SA*16+0.

因为PSP占256(100H)字节,所以程序的物理地址是:
SA16 + 0 + 256 = SA16 + 1616 = (SA+16)16+0

用U命令查看一下其他指令

t命令单步执行

p命令执行int 21

q命令结束debug