栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

NASM命令行编译的DOS程序(具体操作步骤)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NASM命令行编译的DOS程序(具体操作步骤)

例程来自于

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!!! 


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/857608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号