32位汇编的基本框架
来源:互联网 发布:易建联nba生涯数据 编辑:程序博客网 时间:2024/05/17 06:11
整理了一下32位汇编的基本框架,具体如下:
.386 ;指定编译器程序是使用80386指令集编写的 还有.486/.586
.MODEL FLAT,C,fastcall ;.MODEL用来指定内存模型 Win32位下只有FLAT内存模型即平坦的访问,从0到4GB随意不分段访问 fastcall告诉编译器参数的传递约定(包括传参顺序和由谁恢复堆栈)
option casemap:none ;区别大小写
include user32.inc ;包含伪指令include语句
include windows.inc ;所有的Windows数据结构定义和常量定义包含在windows.inc中
……
.DATA ;定义已初始化的数据
.DATA? ;定义未初始化的数据
one db ?
s db 30 dup(0) ;定义了一个30个字节的s变量,初始化为0
.CONST ;定义常量数据
szCaption db 'MessageBox!',0 ;字符串后面加,0 相当于/0
szText db 'Welcome,Win32!',0
.CODE
;此处可以进行函数声明 方法:Asm_1 proto 参数1:大小(比如dword),参数2:dword ;参数可省略
Asm_1 PROC ;函数的实现
push ebp
mov ebp,esp
sub esp,40h
push ebx
push esi
push edi
invoke MessageBoxA,NULL,addr szText,addr szCaption,MB_OK
pop edi
pop esi
pop ebx
add esp,40h
pop ebp
ret
Asm_1 ENDP
END ;代码段结束
.386 ;指定编译器程序是使用80386指令集编写的 还有.486/.586
.MODEL FLAT,C,fastcall ;.MODEL用来指定内存模型 Win32位下只有FLAT内存模型即平坦的访问,从0到4GB随意不分段访问 fastcall告诉编译器参数的传递约定(包括传参顺序和由谁恢复堆栈)
option casemap:none ;区别大小写
include user32.inc ;包含伪指令include语句
include windows.inc ;所有的Windows数据结构定义和常量定义包含在windows.inc中
……
.DATA ;定义已初始化的数据
.DATA? ;定义未初始化的数据
one db ?
s db 30 dup(0) ;定义了一个30个字节的s变量,初始化为0
.CONST ;定义常量数据
szCaption db 'MessageBox!',0 ;字符串后面加,0 相当于/0
szText db 'Welcome,Win32!',0
.CODE
;此处可以进行函数声明 方法:Asm_1 proto 参数1:大小(比如dword),参数2:dword ;参数可省略
Asm_1 PROC ;函数的实现
push ebp
mov ebp,esp
sub esp,40h
push ebx
push esi
push edi
invoke MessageBoxA,NULL,addr szText,addr szCaption,MB_OK
pop edi
pop esi
pop ebx
add esp,40h
pop ebp
ret
Asm_1 ENDP
END ;代码段结束
阅读全文
1 0
- 32位汇编的基本框架
- 32位的汇编!~~
- 汇编 基本框架
- 32位汇编学习的一点心得
- 新增32位指令的汇编格式
- 32位汇编学习的一点心得
- linux-32位汇编
- 32位汇编寄存器
- 32位汇编寄存器
- 32位汇编基础
- 32位汇编作业
- 汇编的基本语法
- 32位汇编代码结构
- 32位汇编指令笔记
- 32位汇编语法总结
- [32位汇编系列]004 - 对话框资源的使用(1)
- [32位汇编系列]004 - 对话框资源的使用(2)
- [32位汇编系列]005 - 定时器的使用(1)
- python库安装方法和常用库
- Vuejs组件——slot内容分发
- 修改定制SpringBoot的启动banner图案
- 从零自学Hadoop(11):Hadoop命令上
- DFS:100. Same Tree
- 32位汇编的基本框架
- 2017-9-23(servlet登录和448. Find All Numbers Disappeared in an Array)
- MySQL 索引失效问题分析
- java回调
- [栈] brackets 括号序列
- ACM-ICPC北京赛区(2017)网络赛-题目9 : Minimum(线段树)
- 第五节第一大特性-封装
- Windows Server2008部署python爬虫环境
- Longest Substring Without Repeating Characters