书接上回:从0开始学汇编:汇编语言基础知识(下)-优快云博客
汇编这门课,对于我一个这辈子第一次用电脑的人,还是太难太抽象了,鄙人又不喜欢听课,每周就两节课,甚至还有一节是早八,越听越不懂,越不懂越不想听,本来不到50%的到课率,再一听不懂更是雪上加霜。所以与其坐以待毙不如自己照着书啃,顺便记录一下学习的过程。
教材使用钱晓捷主编的《汇编语言程序设计》第5版,基本围绕每一章的课后习题来,不求及格,以能够毕业为目标前进吧。
书上的“从汇编到链接到运行的原理”和网络上篇幅巨长的“DOSBOX与MASM安装教程”“如何利用旧Windows虚拟机搭建汇编环境”,对于本身不理解原理的鄙人来说实在是难如怪物,拼尽全力也没耐心看完。
虽然没耐心看复古的教程,但是会用VSCode很正常,就借助这个学习汇编是没有问题的。已经熟悉了VSCode的基本操作,懂一点汇编最基本的指令,但不会用VSCode编写、调试汇编程序的初学者,可以参考本章的学习过程。
目录
安装软件与插件
安装VSCode
Visual Studio Code - Code Editing. Redefined
正常流程下载安装即可。
为VSCode安装汇编插件
打开VSCode,找到左侧栏的“扩展”页(如果没有汉化,需要在扩展页安装汉化插件,搜索Chinese即可找到):
搜索并下载安装MASM。
插件有许多版本,请安装图中所示的这个,或者说下载量最多的一个:
测试运行
创建一个后缀为.asm的汇编源程序文件,输入helloword,如果安装顺利,软件会提示自动补全代码,得到完整的输出helloword的汇编源代码。注意是helloword,并非helloworld:
后注:如果你的电脑上拼尽全力也无法找到生成代码提示也没关系,照着现成的抄一遍就行了:
.386
DATA SEGMENT USE16
MESG DB 'Hello word','$'
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG:
MOV AX,DATA
MOV DS,AX
MOV AH,9
MOV DX, OFFSET MESG
INT 21H
MOV AH,4CH
INT 21H;back to dos
CODE ENDS
END BEG
窗口左下角“运行与调试”按钮旁边多出了一串英文词条(此处是jsdos MASM-v6.11,默认可能是jsdos TASM或其他),表示当前的汇编环境。单击该词条,命令行会提供一系列的选项,可以从中选择不同的汇编环境(本教程使用jsdos MASM-v6.11)(后来又换成DOSBOX了,大同小异,根据美观性和操作便利性选个喜欢的就行了):
MASM插件与其他热门插件(如C+