汇编语言编写与调试(DosBox)

该博客介绍了如何利用DosBox和MASM在DOS环境下进行汇编语言程序的编写、编译和调试。首先详细讲述了下载安装DosBox和MASM文件,然后通过创建一个简单的汇编程序示例来展示如何生成exe文件。最后,通过Debug工具进行程序调试,检查程序运行结果,确保其正确性。

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

目录

一.工具下载与挂载

二.编写程序,生成exe文件

三.启动debug,调试程序

 

一.工具下载与挂载

1.下载DosBox和masm文件 

将masm文件解压在D盘根目录
在D盘新建一个文件夹dos
将masm文件夹复制到在dos文件夹里 修改masm文件夹名为Masm
在dos文件夹下建立asm文件夹。
将masm文件夹中的四个文件复制到asm文件中

a2d047f3303d48d0b34bde309fe5318d.png

 2a8e50f5e70c4b649e07df48bc6d4835.png

 2.挂载dos

进入Dosbox 0.74 Options.bat文件,在文件末尾加入以下代码

 

53a420dd6da4476288776026f430e667.png

二.编写程序,生成exe文件

1.在asm文件夹中新建文本文档code1.txt 将后缀名改为.asm 编辑程序如下:

DATA SEGMENT
          BLOCK DB 10H,11H,12H,13H,-1H,-5H,-7H,-10H,8H,6H
          MAX DB ?
          MIN DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:     MOV AX,DATA
           MOV DS,AX
           LEA SI,BLOCK
           MOV CX,9 
           MOV AL,[SI]
           MOV MAX,AL
           MOV MIN,AL
           INC SI
AGAIN:     MOV AL,[SI]
           CMP AL,0
           JG CODEA
           CMP AL,MIN
           JG CODEB
           MOV MIN,AL
           INC SI
           JMP AGA
CODEB:     INC SI
           JMP AGA
CODEA:     CMP AL,MAX
            JG CODEC
            INC SI
            JMP AGA
CODEC:     MOV MAX,AL
           INC SI
AGA:       LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START

实现功能:自己想一想,很简单

2.启动DosBox,汇编连接

5fba0ac939b64d97bc64ed2fa98a18a4.png

三.启动debug,调试程序

输入 debug code1.exe

单步执行到int 21h,此时cx寄存器为0,表示执行成功结束

 6eec28dd360e4d5ea95dc60d594cfe88.png

查看当前数据段内存单元内容

 aeefa38c69a84a6a8d759ef9a2c8f5cd.png

 8b7e1444950f477fa2f2470d43200d64.png

 这些数据与我们的目标需求一致,程序编写正确。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rvp-age

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值