win32下汇编之初识汇编

Hello, World !
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  .386   ;指定使用的指令集
  .model flat,stdcall  ;定义程序的工作模式
  option casemap:none ;程序中的变量和子程序名是否对大小写敏感
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include  windows.inc  ;Include 文件定义
include  user32.inc
includelib  user32.lib
include  kernel32.inc
includelib  kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  .data   ;数据段 用来存放一些字符串、变量定义
szCaption db 'A MessageBox !',0  
szText  db 'Hello, World !',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  .code   ;代码段
start:     ;开始标号
  invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
  invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  end start  ;指定程序的结束和程序入口
不同类型的段 用来存放不同类型的数据
例如全部段
.386
.model flat,stdcall
option casemap:none
<一些include语句>
.stack [堆栈段的大小]
.data
<一些初始化过的变量定义>
.data?
<一些没有初始化过的变量定义>
.const
<一些常量定义>
.code
<代码>
<开始标号>
 <其他语句>
end 开始标号
win32中只有代码和数据以及堆栈段之分  另外程序中不必定义堆栈段,系统会自动分配堆栈空间

 .data .data? .const
 第一类为可读写已定义的变量
 第二类为可读写未定义的变量
 第三类数据为一些常量 只可读 不可写入 .const为常量段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值