汇编语言-学习
来源:互联网 发布:windows 界面开发框架 编辑:程序博客网 时间:2024/04/30 12:29
一个标准的汇编语言程序
.386
.model flat , stdcall //cs=FLAT、 ds=FLAT、 es=FLAT、 fs=ERROR、 gs=ERROR
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
include 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
各段与PE文件的节区对应
.data == _DATA
.data? == _BSS
.code == _TEXT 此段默认不可写,可设置PE头部中的属性来打开可写属性
API函数的返回值类型是DWORD,存放在EAX中
函数声明 MessageBox Proto hWnd:dword , lpText:dword .....
标号 @@: -简明标号 @F - 下一个@@标号 @B - 上一个@@标号
全局变量定义在.data 或.data?节中
局部变量,子程序中的局部变量存放在堆栈中,在子程序中必须在最前面定义,定义: local lo1:byte、 local lov2[1024]:dword
结构的定义:
结构名 struct
变量名 数据类型 ?
结构名 ends
stWnd WNDCLASS <>
stWnd WNDCLASS <1,1,1,1,1,1,1,1>
mov movzx movsx
sizeof lengthof
offset addr
子程序
子程序名 proc ...
子程序名 endp
高级语法
条件测试语句
.if .else .elseif .endif
CARRY? OVERFLOW? PARITY? SIGN? ZERO?
循环语句
.whild 条件表达式
.break .if 条件
.continue
.endw
.repeat
.break .if 条件
.continue
.until 条件表达式
代码风格
b 字节 w 字 dw 双字
h 句柄 lp 指针 sz 字符串 lpsz 字符串指针 f 浮点数 st 数据结构
- 汇编语言-学习
- 学习汇编语言
- 学习汇编语言!
- 学习汇编语言
- 汇编语言学习
- 汇编语言学习
- 学习:汇编语言
- 汇编语言学习
- 汇编语言学习笔记(一):汇编语言基础知识
- CASL汇编语言学习
- 学习汇编语言的教程
- 汇编语言程序设计学习交流
- X86汇编语言学习手记
- 开始学习《汇编语言》
- 汇编语言学习笔记(一)
- 汇编语言学习笔记(二)
- 汇编语言学习笔记(三)
- 汇编语言学习笔记(四)
- 部门预算进行时
- 刺激微软
- 配置管理计划的新设想
- 学习Extjs与RoR的集成有感
- 放弃完美的需求管理
- 汇编语言-学习
- JBoss 4.0.5GA 多次部署应用程序出现 PermGen 内存不足(溢出)问题
- 基于DSL的组织机构模型 之一:预告
- 组织机构DSL之二:参考资料(ruby hacking guide )的阅读笔记
- OpenGL版本与OpenGL扩展机制 (转载)
- ddd quickly 中文版译者序
- 《COM技术内幕》FAQ
- 写在周日的凌晨( 一次思维的对话)
- Put it into a Context!(写作中)