汇编语言学习笔记-设置开发环境,编写hello world!

简介: 我用的IDE是masm32官方网站是:http://www.masm32.com/下载的地址是:http://www.masm32au.com/masm32/m32v10r.zip(这个包适合中国人开发For programmers in Australia, China, South East Asia and the Pacific region.

我用的IDE是masm32
官方网站是:http://www.masm32.com/
下载的地址是:http://www.masm32au.com/masm32/m32v10r.zip
(这个包适合中国人开发For programmers in Australia, China, South East Asia and the Pacific region.)
img_9684fbe4390d674b47ebb1f1c042923f.jpg

hello  world的汇编代码如下

img_1c53668bcee393edac0d7b3b3daff1ae.gif img_405b18b4b6584ae338e0f6ecaf736533.gif 代码
 
  
. 386
.model flat,stdcall
option
casemap: none

include windows.
inc
include user32.
inc
includelib user32.lib
include kernel32.
inc
includelib kernel32.lib


.data
szCaption db
' BOX ' , 0
szText db
' hello world ' , 0


.code
start:
invoke MessageBox,NULL,offset szText,\
offset szCaption,MB_OK
invoke ExitProcess,NULL
end start

代码输入完毕后

保存成asm文件然后

工具栏》》project>>build all
就可以在你的工程目录中找到相应的exe文件

 

下面说明一下代码的主要含义

.386
是说运行在386核心的CPU上,且特权级别最低

flat
是说内存平坦,且拥有4G的地址空间可以访问

stdcall
使用堆栈传递参数,使用从右向左的方式将参数入栈,堆栈的平衡是由子程序来完成的

option casemap:none
程序中区分大小写

include    windows.inc
include    user32.inc
includelib    user32.lib
include    kernel32.inc
includelib    kernel32.lib
引用一些必要的文件
inc文件是函数声明
lib文件中包括函数的定义
如果你运行本程序此处报错的话,请改为绝对路径

.data
szCaption     db   'BOX',0
szText        db   'hello world',0
定义变量,  db是字节类型的变量,dw是字类型,dd是双字类型。支付传后面跟0是为了标明字符串的结束(与C类似)

.code
start:
         invoke  MessageBox,NULL,offset  szText,\
         offset  szCaption,MB_OK
         invoke  ExitProcess,NULL
end   start
.code代码段定义
end   start程序结束
与start:配对
start只是个标记,可以随便定义,应用系统根据这个标记来找到程序的开始位置

invoke调用系统函数
offset取地址
MB_OK是在前面的inc文件中定义的一种按钮类型

目录
相关文章
|
1月前
|
编译器 Linux C++
3C++程序的编写和实现
3C++程序的编写和实现
17 2
|
1月前
|
存储 IDE 编译器
编程笔记 GOLANG基础 005 第一个程序:hello world 使用vscode
编程笔记 GOLANG基础 005 第一个程序:hello world 使用vscode
|
4月前
|
IDE Linux 开发工具
Python语言的编写和运行代码
Python语言的编写和运行代码
63 1
|
4月前
|
Unix Java C语言
C 语言入门:如何编写 Hello World
C 语言是由 Dennis Ritchie 于 1972 年在贝尔实验室创建的一种通用编程语言。尽管年代久远,它仍然是一款非常流行的语言。它之所以受欢迎的主要原因是它是计算机科学领域的基础语言之一。C 语言与 UNIX 紧密相连,因为它被用于编写 UNIX 操作系统。
110 0
|
8月前
|
Rust 程序员 Shell
快速配置 Rust 开发环境并编写一个小应用
快速配置 Rust 开发环境并编写一个小应用
122 0
|
程序员 编译器 Linux
G0 语言编译运行说明 | 学习笔记
快速学习 G0 语言编译运行说明
87 0
|
Rust 安全 Java
【Rust指南】快速入门|开发环境|hello world
【Rust指南】快速入门|开发环境|hello world
218 0
【Rust指南】快速入门|开发环境|hello world
|
SQL IDE JavaScript
你会几种语言编写 Hello World ?
Hello, World最早是由 Brian Kernighan 创建的。1978年,Brian Kernighan写了一本名叫《C程序设计语言》的编程书,在程序员中广为流传。他在这本书中第一次引用的Hello World程序,源自他在1973年编写的一部讲授 B语言的编程教程
|
存储 编译器
Basic开发笔记:Basic语言介绍、环境搭建、基本语法示例与程序实例
Basic开发笔记:Basic语言介绍、环境搭建、基本语法示例与程序实例
Basic开发笔记:Basic语言介绍、环境搭建、基本语法示例与程序实例