查看: 49|回复: 0

x86汇编语言 编写第一个汇编程序hello world

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-11-1
发表于 2020-10-21 10:49:00 | 显示全部楼层 |阅读模式

目录
  • 一、准备运行环境
  • 二、编写汇编代码
  • 三、生成汇编程序并执行

一、准备运行环境

先准备汇编语言运行环境,在此下载:https://download.csdn.net/download/ljw_study_in_CSDN/12997354

打开DOSBox0.74-win32-installer,安装。

二、编写汇编代码

在汇编语言中,用分号;表示注释,类似于C/C++的//表示注释。

一个汇编程序的固定语法格式:

;数据段
data segment
	;此处定义数据变量类型
data ends

;代码段
code segment
assume cs:code,ds:data 
start:
	mov ax,data
	mov ds,ax
	;------
	;此处写需要实现的功能
	;------
	mov ah,4ch ;4ch表示从用户程序返回操作系统,结束程序
	int 21h
code ends
	end start

输出"hello world"的代码:

;数据段
data segment
	;定义字节大小(8位)的字符串,变量名为string
	;db表示字节
	;0dh,0ah表示回车换行
	;$表示字符串终止符
	string db 'Hello World!',0dh,0ah,'$' 
data ends

;代码段
code segment
assume cs:code,ds:data 
start:
	;push ds
	;mov ax,0
	;push ax
	mov ax,data
	mov ds,ax
	;------
	lea dx,string
	mov ah,09h ;ah是ax的高8位,功能号09h表示输出dx指向的字符串string
	int 21h ;中断指令,调用用户程序,执行ah中设置的09h号功能
	;------
	mov ah,4ch ;功能号4ch表示从用户程序返回操作系统,结束程序
	int 21h
code ends
	end start

本地可以用notepad++,将语言设置为A-Assembly,支持汇编语言的语法高亮,看着会比较舒服。

在这里插入图片描述

notepad++文本编辑器显示的语法高亮很好看:
在这里插入图片描述

三、生成汇编程序并执行

将第一步中下载的masm5文件夹存于D盘,比如路径为D:\masm5,然后将编写的代码文件保存为hello.asm,存于D:\masm5

在这里插入图片描述

打开第一步安装好的DOSBox 0.74,输入命令:

mount c d:/masm5
c:
dir

如下图:

在这里插入图片描述

然后输入命令:

masm hello.asm //再按三下回车
link hello.obj //再按三下回车
hello

结果如下:

在这里插入图片描述

完成!(用汇编语言写个hello world可真不容易啊...)



来源:https://www.cnblogs.com/nefu-ljw/p/13850758.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部