VScode配置8086汇编环境的过程解析 - 网站

VScode配置8086汇编环境的过程解析

分类:汇编语言 · 发布时间:2023-04-13 02:13 · 阅读:5137

这篇文章主要介绍了VScode配置8086汇编环境的过程解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

0、感慨 

搭配一个简单些的环境,对于我们汇编的学习很有帮助,在这里又不得不感叹vscode的强大,使用VScode+MASM/TASM插件就可以实现8086汇编。真的相对于其他的安装方式,我们都会认同越简单越好。

1、VScode的安装

Visual Studio Code - Code Editing. Redefined

vscode的安装过程没有什么难度,出了选择安装路径外,一律通过即可。

2、下载MASM/TASM插件

在扩展当中,搜索并下载MASM/TASM。

3、测试汇编环境

新建文件

这里我们只需要点击Ctrl+Shift+N即可出现,下面这个界面。

 在这里需要已经新建好的工程文件夹。如我下图所示的“8086masm”。

 在其左侧资源管理器中的文件夹下,新建一个temp.asm文件,这里一定要有.asm后缀。

汇编文件配置

vscode它仅仅是一个代码编辑器,并不会像IDLE一样写好代码就可以点击进行运行,这里需要自己进行相应的配置。在vscode界面,同时按下Ctrl+Shift+P调出命令面板,输入setting。

打开工作区设置(JSON)。下面是我的配置信息,仅供参考。

{ "masmtasm.ASM.emulator": "msdos player", "masmtasm.dosbox.run": "exit", "masmtasm.ASM.assembler": "MASM-v5.00", "masmtasm.ASM.actions": { "TASM": { "baseBundle": "/TASM.jsdos", "before": [ "set PATH=C:\\TASM" ], "run": [ "TASM ${file}", "TLINK ${filename}", ">${filename}" ], "debug": [ "TASM /zi ${file}", "TLINK /v/3 ${filename}.obj", "TD ${filename}.exe" ] }, "MASM-v6.11": { "baseBundle": "/MASM-v6.11.jsdos", "before": [ "set PATH=C:\\MASM" ], "run": [ "masm ${file};", "link ${filename};", ">${filename}" ], "debug": [ "masm ${file};", "link ${filename}.OBJ;", ">debug ${filename}.exe" ] }, "MASM-v5.00": { "baseBundle": "/MASM-v5.00.jsdos", "before": [ "set PATH=C:\\MASM" ], "run": [ "masm ${file};", "link ${filename};", ">${filename}" ], "debug": [ "masm ${file};", "link ${filename}.OBJ;", ">debug ${filename}.exe" ], "support": [ "jsdos", "dosbox", "dosboxX", "msdos player" ] } } } 

汇编代码的运行

右键可以查看到,可以“运行当前程序(汇编+链接+运行)”

初学者可能不能看懂下面代码什么意思,我们来点击运行试试吧!

STACK   SEGMENT PARA 'STACK'     ;定义堆栈段,段名为STACK DB   100 DUP('?')                ;分配堆栈的大小,设置为100字节 STACK   ENDS DATA    SEGMENT                  ;定义数据段,段名为DATA STRING     DB'HELLO!','$'    ;定义字符串数据 DATA    ENDS CODE    SEGMENT                  ;定义代码段,改名为CODE ASSUME  CS:CODE, DS:DATA, SS:STACK START:  MOV  AX, DATA            ;程序执行起始点 MOV  DS, AX              ;将数据段地址寄存器指向用户数据段 MOV  AX, STACK MOV  SS, AX              ;将堆栈段地址寄存器指向用户堆栈段 LEA  DX, STRING MOV  AH, 09H INT  21H                 ;系统调试功能,在显示器上显示字符串 MOV  AH, 4CH INT  21H                 ;系统调试功能,程序结束返回操作系统 CODE    ENDS END  START               ;汇编结束,段内程序起点为START

运行结果如下: 

运行过后相信大家明白这就是一个完整的汇编语言源程序示例,该程序就是完成在屏幕中打印显示“HELLO!”。

当然啦,对于这个程序,我们应当侧重于了解它的格式,而不仅仅是内容。通常,完整的汇编语言源程序格式的定义由SEGMENT和ENDS这对伪指令实现,同时需要伪指令ASSUME指定该段加载的段地址寄存器。

以上的ASSUME语句将CS、DS、SS依次指向名为CODE、DATA、STACK的段,然而,ASSUME语句并不为DS、SS赋值,所以,程序开始就是先用传送指令将数据段DATA和堆栈段STACK的段地址分别赋值到DS、SS,然后进行系统功能调用,在显示器上显示字符串。最后,系统功能调用,程序结束返回操作系统。

到此这篇关于VScode配置8086汇编环境的文章就介绍到这了,更多相关VScode配置汇编内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

标签:
VScode 汇编

相关文章

汇编语言 跳转指令与C语言的条件分支

这篇文章主要介绍了汇编语言 跳转指令与C语言的条件分支,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

X86汇编调试环境搭建的过程

本次使用vscode搭建的,需要的插件有X86 and X86_64 Assembly(也可以使用masm插件),还有一个hexdump for VSCode。 安装NASM,并添加到环境变量,下面看下X86汇编调试环境搭建的过程吧

汇编语言LDR指令和LDR伪指令详解

这篇文章主要介绍了汇编语言LDR指令和LDR伪指令详解,伪指令是用来自动拆分代码值的,会把一条语句拆分成多条语句,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一文掌握汇编语言 halt 命令

汇编 halt 命令,是一条重复执行指定标号的循环命令。处理器暂停,直到出现中断或复位信号才继续,这篇文章主要介绍了汇编语言 halt 命令,需要的朋友可以参考下

最好懂的汇编语言教程,解释CPU如何执行代码

这篇文章主要介绍了最好懂的汇编语言教程,解释CPU如何执行代码。计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 CPU 到底干了些什么,以及代码的运行步骤,就一定要学习汇编语言。

返回分类 返回首页