王爽汇编 第四章 第一个程序实验作业

第四章节 第一个程序
实验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

2,用Debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内

容和栈顶的内容
debug t1.exe
-r
ax=0000 bx=0000 cx=0016 dx=0000 sp=0000 bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=0B8D CS=0B8D IP=0000
-t
ax=2000 bx=0000 cx=0016 dx=0000 sp=0000 bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=0B8D CS=0B8D IP=0003
-T
ax=2000 bx=0000 cx=0016 dx=0000 sp=0000 bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=0008
-T
ax=2000 bx=0000 cx=0016 dx=0000 sp=000A bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=000B
-T
ax=0000 bx=0000 cx=0016 dx=0000 sp=000A bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=000C
-t
ax=0000 bx=0000 cx=0016 dx=0000 sp=000E bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=000D
-t
ax=0000 bx=0000 cx=0016 dx=0000 sp=000C bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=000E
-t
ax=0000 bx=0000 cx=0016 dx=0000 sp=000C bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=0010

-T
ax=0000 bx=0000 cx=0016 dx=0000 sp=000E bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=0011

-T
ax=4C00 bx=0000 cx=0016 dx=0000 sp=000E bp=0000 si=0000 di=0000
ds=0B7D ES=0B7D SS=2000 CS=0B8D IP=0014
-p
program terminated normally

3,psp的头两个字是CD20,用debug加载t1.exe,查看PSP的内容

0B7D:0              //PSP地址
0B8D:0              //程序地址
psp=0B7D*16+0=FCBE  //物理PSP地址
0B7D+10H:0           //可用段地址和偏移地址

-d 0B7D:0   可以查看

你可能感兴趣的:(编程,c,汇编,作业)