王爽《汇编语言》实验三

本文讲述了如何在DOSBox中配置编辑器,编写并编译ASM源文件,生成目标文件和可执行程序,以及进行Debug操作和检查PSP内容的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验三

编译原理

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

实验任务

1.生成程序

(1)编写.asm

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

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

进入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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值