【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我们在这里需要DOSBox软件,这里提供MASM和DOSBox下载链接:
MASM:https://pan.baidu.com/s/1T-UAPk57iNL-NtvSj-IShA 提取码g3y1
DOSBox:https://pan.baidu.com/s/1wxr9HN51jFqEtYaUcZFIdA 提取码g2fx
下载好了第一个文件会看到里面有debug.exe,LINK.EXE,MASM.EXE三个程序,我们需要把它们和我们写好的hello.asm(用txt创建后改名为hello.asm)文件放在一个文件夹下面,假设这里放在了D盘的MASM文件夹下。
assume cs:code,ds:datas
datas segment
str db 'helloWorld!','$'
datas ends
code segment
mov ax,datas
mov ds,ax
lea dx,str ; 获取str的偏移地址
mov ah,9 ; 调用9号功能输出字符串
int 21h
mov ah,4ch
int 21h
code ends
end
下载好第二个文件发现里面有DOSBox…的程序,点击正常安装完就好。安装完成后打开桌面上的DOSBox0.74
我们来到红色圈圈包起来的路径下C:\Users\hp\AppData\Local\DOSBox
用文本编辑器打开这个dos-box-0.74.conf,在最后面加入
mount c: d:\MASM
c:
然后重新打开桌面上的DOSBox
输入debug 然后输入r 发现可以正常使用debug
输入masm hello.asm
- Object fileName: 目标文件的路径与名称,默认直接enter
剩下source listening(列表文件)和Cross-reference(交叉引用文件)是从源文件编译为目标文件过程中产生的中间结果,可以直接enter不生成。
再输入link hello.obj发现可以正常编译链接
- Run File: 可执行文件,连接后生成的exe文件,默认enter
- List File: 映像文件,是连接过程中将目标文件连接为可执行文件过程中产生的中间文件,同样地,直接enter忽略
- Libraries: 库文件,如果一个程序调用了某一个库的子程序,就需要在连接的时候,将这个库文件与目标文件连接在一起,生成可执行文件,但是我准备的这段程序没有调用任何子程序,所以直接enter忽略。
此时执行hello
即可看到 helloWorld!
连接结束后输出的最后一行Link: warning L4021: no stack sement, 没有栈段
,可以不用理会。
来源:oschina
链接:https://my.oschina.net/u/3264179/blog/3145304