实验3 编程、编译、连接、跟踪
(1)将下面的程序保存为 t1.asm 文件,将其生成可执行文件 t1.exe
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
实验结果:
由上可知,t1 程序汇编成功
(2)用 Debug 跟踪 t1.exe 的执行过程,写出每一步执行后,相关寄存器中的内容合栈顶的内容。
注:由于栈段的内容是随机的,故答案不唯一。只要操作正确就是正确答案
(3)PSP的头两个字节是 CD 20 ,用 Debug 加载 t1.exe ,查看 PSP 的内容。
注意,一定要做完这个实验才能进行下面的课程
内存区的前256个字节存放的是PSP,DOS用来和程序进行通信。在256字节处向后的空间存放的是程序,即 CS:IP 所指向的内容
PSP占 256(100H)字节,CS = 1299H
故PSP处内存地址为 12990H - 100H = 12890H
由图可知,在 1289:80 附近 有关于程序的名字