例程来自于
NASM写的DOS程序:Hello World!_xtdumpling的博客-CSDN博客_dos nasm
;NASM "Hello World!", run in CMD or DOS.
;编译链接命令:
; nasm hello.asm -o hello.com
section .text
global main
org 100h
main:
mov ax, cs
mov ds, ax
mov ah, 9 ;9号调用
mov dx, msge ;字符串的首地址送入dx
int 21h ;输出字符串
mov ah, 4ch ;4ch号调用
int 21h ;结束
msge:
db 'Hello World!',0dh,0ah,'$'
步骤一:
将上述程序,拷入Visual Studio,保存成hello.asm,记住程序保存的位置,这里,我们只用到Visual Studio的编辑功能,接下来的编译,我们将采用命令行的方式进行(主要如何在Visual Studio环境下编译还不熟悉)。
步骤二:
WIN+R键,敲入CMD,启动windows的命令行控制台,利用dir查看刚刚生成的汇编程序hello.asm
步骤三:
命令行编译生成DOS下可以执行的com格式文件
编译链接命令:
; nasm hello.asm -o hello.com
再次参看 如图已经生成了hello.com文件
步骤四:
运行测试。
首先我们在windows 命令行模式下运行试试。
结果是不能运行,DOS是久远的16位操作系统,现在windows都是64位的了,不再支持运行了。
那就没有办法测试了嘛?其实办法还是有的,比如emu8086,就可以。
启动emu8086,调入hello.com,如图所示
并且我们可以看到dos下com文件的特点,总是装载到段内偏移地址100H处,这也是我们写程序总是用ORG 100H的原因所在。
接下啦,运行看看
看来不错。
这就是个好玩的小玩仍,Just for Fun!!!