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

本人用的是notepad打汇编的,然后这次试验就命名为s3_1(并不是题目所说的t1,注意一下)

接着就日常masm、link和debug





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

先用u来查看debug的代码,代码段从0000执行到0014



逐条执行




(注意最后一个是p不是t,可查看4.9,执行完后用q返回dos界面)


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

在4.9里面已经说明了ds为PSP的段地址,CS为代码段的段地址。因此直接d ds:0就可以查看到PSP的内容


猜你喜欢

转载自blog.csdn.net/a673953508/article/details/80714652