王爽《汇编语言》实验三

实验三

编译原理

源程序(.asm) -> 目标文件(.obj) -> 程序(.exe)

实验任务

1.生成程序

(1)编写.asm

由于我的dosbox没有edit.exe,先按照以下教程配置edit

如何解决DOSBox 0.74无法运行edit指令_dosbox edit.exe-CSDN博客

进入DOS方式,运行Edit

在这里插入图片描述

在edit界面编写.asm文件

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

在这里插入图片描述

将文件保存为.asm后缀

在这里插入图片描述

点击左上角file中的exit,退出edit

(2)编译

进入masm目录

在这里插入图片描述

输入编译的文件名,一路回车

在这里插入图片描述

可以在masm目录下查看生成的.obj文件

在这里插入图片描述

(3)连接

在masm目录下运行link.exe

在这里插入图片描述

在masm目录下可见生成的.exe

在这里插入图片描述

2.对程序进行debug

进入debug,按R查看寄存器

在这里插入图片描述

按u查看exe中全部指令

在这里插入图片描述

按t追踪每一条指令执行过程

注意:要使用p指令执行int 21

在这里插入图片描述

使用q指令退出debug,返回command

3.查看PSP内容

查看DS的地址,来到该地址,发现 PSP 的头两个字节确实是 CD 20

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值