微机的汇编上机方式搭建

本文介绍了如何在Windows环境下使用Vscode结合MASM和Dosbox搭建汇编语言的开发和调试环境。通过调整Dosbox配置实现高分辨率显示,并详细步骤指导如何从安装Vscode扩展到运行和调试汇编程序。推荐这种方式,因其操作便捷且稳定性好。
摘要由CSDN通过智能技术生成


一、汇编语言上机的几种方式

汇编语言的上机方式,主要指的是调试方式的不同。

1.1 指令调试方式

DOS上机主要指的是采用指令进行调试,如下图所示,通过DEBUG各种调试指令调试程序,每次打印出寄存器的值,以及打印结果。
在这里插入图片描述

1.2 可视化的调试环境

  1. Masm for windows 集成上机环境,下载链接,特点是安装方便,附有一些资料的链接。不足之处,使用可视化的调试需要注册,注册就是要money
    在这里插入图片描述

  2. Vscode + MASM/TASM模块进行调试

  3. Vscode + MASM + Dosbox 搭建上机环境


二、Vscode + MASM/TASM

一站式方案,很砂锅

  1. Vscode的安装,参考链接
  2. 安装扩展模块
    安装MASM/TASM。安装后应该能看到MASM/TASM 和 VSCode DOSBox,这样满足汇编调试的基本要求。安装Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code,可以汉化一下。
    在这里插入图片描述
    终于可以新建文件,敲入代码

示例代码:HELLO.ASM

DATA	SEGMENT
MES1	DB 'hello world !','$'
MES2	DB 50,0,50 DUP(0)
DATA	ENDS					

SSTACK	SEGMENT STACK
		DW 64 DUP(?)
SSTACK	ENDS

CODE	SEGMENT
		ASSUME CS:CODE, DS:DATA,SS:SSTACK

START:
		MOV AX,DATA
		MOV DS,AX
		
		MOV DX,OFFSET MES2
		MOV AH,0AH
		INT 21H	
		
;不会自动输入$ 符号 手动输入$ 符号也可以运行
		MOV DI,OFFSET MES2+1
		MOV BL,[DI]
		MOV AX,'$'
		MOV [BX+DI+1],AX
		
		CALL ENTERR		;回车换行

		MOV DX,OFFSET MES2+2
		MOV AH,9
		INT 21H
				
		MOV AH,01H
		INT 21H			;读键盘输入到AL中并回显
		CALL ENTERR		;回车换行
		
		MOV CX,04H
		MOV DL,41H
AA:		MOV AH,02H
		INT 21H
		INC DL
		LOOP AA			;将DL中的数据显示出来
		CALL ENTERR		;回车换行
		MOV AX,DATA
		MOV DS,AX
		MOV DX,OFFSET MES1
		MOV AH,09H
		INT 21H
		CALL ENTERR
		
		MOV AX,4C00H
		INT 21H
ENTERR:
		MOV AH,02H
		MOV DL,0DH
		INT 21H
		MOV AH,02H
		MOV DL,0AH
		INT 21H
		RET
		
CODE	ENDS
		END START

在文件HELLO.ASM编辑窗口,点击右键,可以看到两个模式:
运行当前程序(汇编+链接+运行)
调试当前程序(汇编+链接+调试)
这里因为Run Code并不支持汇编,所以不要像处理c/c++时选择“Run Code”
在这里插入图片描述
选择“运行当前程序(汇编+链接+运行)”,运行结果如下:
在这里插入图片描述
选择“运行当前程序(汇编+链接+调试)”,运行结果如下:
“专业”的界面出现了……
在这里插入图片描述

三、Vscode + MASM + Dosbox 搭建上机环境

这种配置下,Vscode只用作代码编辑功能,通过Dosbox调用MASM进行调试和运行。
Dosbox 0.74-3下载链接
MASM 资料太杂,百度网盘链接:https://pan.baidu.com/s/1FIXw2f5IMAeIL7gVS57uUA
提取码:9981

3.1 配置Dosbox分辨率,启动加载

在Dosbox安装目录下,找到DOSBox 0.74-3 Options.bat,双击运行,
dosbox-0.74-3.conf,先修改dosbox窗口的分辨率,这里我设置为1920x1080

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74-3.map
usescancodes=true

改为如下:

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=1920x1080
output=opengl
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74-3.map
usescancodes=true

在文件中的最后部分,添加自动运行的指令,设置挂载:

[autoexec]
#Lines in this section will be run at startup.
#You can put your MOUNT lines here.
mount c: c:\masm
c:

启动Dosbox,自动执行之前的指令,实际就是让"c:\masm"映射到"c:",可以通过dir指令查询目录下文件和文件夹。
在这里插入图片描述

3.2 测试运行

还有用上文的代码,编译,链接,运行,调试的功能:
C:>masm HELLO.asm-------------编译.asm文件
C:>link HELLO.OBJ----------------链接.obj文件
C:>HELLO.EXE----------------------运行.exe文件
C:>TD HELLO.EXE-----------------调试程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

为方便在window10及以上的平台进行汇编语言的编程练习,对比几种汇编语言的上机方式并进行测试。比较推荐的Vscode + MASM + Dosbox 搭建上机环境,操作反应比较快,比较稳定,vscode编程界面风格比较好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值