王爽汇编语言实验三

实验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

1、在VScode中编码

王爽汇编语言实验三

2、编译

王爽汇编语言实验三

3、连接

王爽汇编语言实验三

4、执行

王爽汇编语言实验三

(2) 用 Debug 跟踪 t1.exe 的执行过程,写出每一步执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。

1、先用 r 命令查看 CPU 中各个寄存器中的内容

王爽汇编语言实验三

2、用 t 命令单步执行

先设置 ss:sp

王爽汇编语言实验三

王爽汇编语言实验三

王爽汇编语言实验三

观察栈顶的内容:

王爽汇编语言实验三

王爽汇编语言实验三

王爽汇编语言实验三

王爽汇编语言实验三

王爽汇编语言实验三

(3) PSP 的头连个字节是 CD 20,用 Debug 加载 t1.exe,查看 PSP 的内容

王爽汇编语言实验三

用 U 命令将程序段中的内容翻译为汇编指令显示:

王爽汇编语言实验三