今天是我学习汇编语言的第一天~
至于我为什么要学汇编,有两个原因:(1)无聊想学;(2)发现了一本荒废了亿年的汇编书(怎么感觉跟没讲似的)
书上讲的汇编环境安装方法已经太过”古老“,所以我在网上查了n篇资料,又是一次将树莓派报废的尝试,最后CPU竟然烧到了87°C,都能烤肉了(T_T)
-----------------------正文---------------------
1. 硬软件信息
硬件:树莓派4b
软件:Windows 11
2. 安装过程
第一步:安装汇编运行环境DOSBox
DOSBox资源链接:https://pan.baidu.com/s/1lcmtFWXoe40ZgXBRt2lw9Q
提取码:cgf9
解压,打开应用程序DOSBox.exe,按照提示一步步进行安装,设置全部默认
安装完成后退出DOSBox。
第二步:安装MASM,LINK和DEBUG
资源链接:https://pan.baidu.com/s/1WujUQlthf5d2mY7OsyQweA
提取码:1yug
这边我在C盘根目录建了一个文件夹叫AssimbleStudy(名字自己取),然后新建两个文件夹分别叫ASM和MASM(这个名字不能变)(由于树莓派的特殊原因它只有C盘,有D或E盘的童鞋们可以建在其他盘,记住路径不能含空格,不然DOSBox会识别失败!!)
然后将刚才贴出的资源链接里的压缩包解压到刚刚建的MASM文件夹。
第三步:配置DOSBox
用编辑器打开DOSBox安装路径里的DOSBox 0.74 Options.bat文件,在末尾加入如下几行:
mount A: C:/AssimbleStudy
set PATH=%PATH%;A:/MASM;
A:
cd A:/ASM
这段配置的意思差不多就是挂载了一个临时的虚拟磁盘A盘(因为DOSBox只能识别虚拟磁盘),它的真实路径是C:/AssimbleStudy(根据自己情况输入),然后将汇编处理的DEBUG,LINK和MASM三个文件所在的MASM文件夹临时加入环境变量PATH方便编译,转到虚拟A盘,最后进入ASM工作目录(理解能力差的童鞋这段可以直接跳过)
保存,打开DOSBox,应该会显示如下界面
第四步:安装编辑器Visual Studio Code(可选)
编写汇编程序用普通的编辑器就行,这边推荐使用VSCode,想用VSCode码汇编程序的可以参考下面的安装教程(安装完的直接跳第二步安装汇编扩展)
(1)下载安装VSCode
访问VSCode官网VSCode官方链接,根据自身情况选择安装包下载,由于树莓派是ARM64架构,我选择的安装包是VSCodeUserSetup-arm64-1.63.2.exe,童鞋们可以根据自己电脑的架构选择安装包
安装过程一路Next,这里就不展示了。
(2)安装汇编扩展
打开VSCode,打开扩展界面,搜索ASM,选择ASM Code Lens扩展,选择install
等待它安装一会儿,待界面显示“卸载”或“Uninstall”即可
3. 编写第一个汇编程序——Hello World!
打开VSCode(VSCode也可以换成如Notepad++这样你熟悉的编辑器),在VSCode中打开刚才创建的ASM文件夹,新建一个汇编程序hello.asm(记住后缀一定要是.asm!!)
然后键入以下内容:
STACK SEGMENT PARA 'STACK'
DB 100 DUP('?')
STACK ENDS
DATA SEGMENT
STRING DB 'Hello World!','$'
DATA ENDS
CODE SEGMENT
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
(其实这段代码是什么意思我也不知道,从书上抄的,反正能打印出“Hello World!”就行了)
然后打开DOSBox,输入以下代码:
masm hello.asm
link hello.obj
hello.exe
如果有提示让你输入内容全部不输入,直接回车,看到打印出“Hello World!”即为运行成功