学第一个汇编程序hello world的说明笔记
2011-06-11 13:35
357 查看
.486 ; 定义工作模式常见的有.386,.486,.586等只是CPU指令集的不同如 .model flat, stdcall ; 定义内存模式 ;flat为win32程序使用的模式,代码和数据段使用同一个4GB段,还有其他模式用不到就不学了 ;stdcall为子程序调用模式因为windows api调用使用的是stdcall格式,所以win32汇编没得选择 option casemap :none ;指定这个打开大小写敏感设置 ;-------------------------------------- include windows.inc include masm32.inc include user32.inc ;MessageBox在这个头文件里 include kernel32.inc ;ExitProcess在这个头文件里 ;----------------------------------------函数代码在dll中,库文件只保留函数的定位信息和参数数目 includelib masm32.lib includelib user32.lib includelib kernel32.lib ;--------------------------------------以上是包含的头文件和库 ;.data数据段存放的都是已初始化的变量,并分配实际存储大小 ;未初始化放在.data?段内.data?段内的的变量只保留大小信息,不实际分配 .data szCaption db "A MessageBox !",0 ;定义消息框标题 szText db "Hello,World !",0 ;定义消息框显示内容 ;.code段为写程序指令的区域 .code start: ;start标号 invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ;MFC定义MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType) ;hWnd:窗口句柄,lpText消息内容,lpCaption消息标题,uType消息类型,注意汇编程序只有一种类型就是dword ;32位汇编里,地址是平坦的,地址空间为4.3G,offset取的是线性地址,是保护模式下的虚拟地址 ;带参数的伪指令必须用invoke不带参数的可以用cell ;MessageBox具体使用可参考msdn invoke ExitProcess,NULL ;退出进程 end start ;从start标号开始运行
相关文章推荐
- 汇编学习笔记:第一个程序,Hello World!!!
- 汇编语言学习笔记(4)——第一个可执行程序
- php学习笔记二:第一个php程序 hello world!
- [汇编语言学习笔记][第四章第一个程序的编写]
- 汇编第一个程序 Hello World (初学者与入门)
- 读王爽老师汇编语言笔记---第一个汇编程序
- [置顶] [汇编语言学习笔记][第四章第一个程序的编写]
- 第一个汇编程序学习"Hello world!"
- 32位汇编语言学习笔记(21)--用NASM实现Hello World小程序
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 (windows的消息机制)
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 1 (消息的使用和入口代码)
- 0506第一个汇编程序Hello World
- 汇编入门学习笔记 (三) —— 第一个程序
- Java 技术基础笔记(2)—— 创建第一个Java程序 Hello World
- “Hello World”—— 第一个汇编程序
- 第一个汇编程序hello world
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- 王爽汇编语言学习笔记(四) --第一个程序
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行