我见过一本关于汇编的书中的汇编程序:
assume cs:code
code segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
mov bx,0
mov ax,0
mov cx,8
s: add ax,cs:[bx]
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end
该程序的功能是添加八个数字。作者在
中编译了这个程序DOS 并使用 DEBUG 查看如何加载此程序。
作者使用 R 命令并获得
DS = 0B2DH ES = 0B2D SS = 0B3D CS = 0B3D IP = 0000
然后作者说该程序是从地址 0B3D:0000 加载的。
我很困惑为什么这个程序是从地址 0B3D:0000 加载的?
这是因为程序段前缀(PSP)的存在吗?
如果答案是 PSP 的存在, PSP 中的内容是什么?