Windows 32位 汇编语法 [2] 程序入口、注释与换行
2011-08-30 18:13
375 查看
@1.程序结束与程序入口:
汇编源程序中没有一个main函数,程序员可以指定从代码段的任何一个地方开始执行,这个地方由程序最后一句end语句来指定:
end [开始地址]
这句语句同时表壳源程序结束,所有代码必须在end语句之前,例如:
end start
上述语句指定程序从start这个标号开始执行。
但是一个源程序不必非要指定入口标号,这时候可以把开始地址忽略不写,这种情况发生在编写多模块程序的单个模块的时候。当分开写多个程序模块时,每个模块的源程序中也可以包括.data,.data?,.const和.code段,结构就和上面的Win32 Hello World一样,只是其他模块最后的end语句必须不带开始地址。当最后把多个模块链接在一起的时候,只能有一个主模块指定入口地址,在多个模块中指定入口地址或者没有一个模块指定 了入口地址链接程序都会报错。
@2.注释和换行
举例——注释使用 ; 号
;这里是注释
call _PrintChar ;这里是注释
szChar db 'Hello, World;', odh, oah ;world后面的分号不是注释,后面的才是
当源程序的某一行过长,不得于阅读的时候,可以分行书写,分行的办法是在一行的最后用反斜杠(\)做换行符,如
invoke MessageBox,NULL,offset szText, offset szCaption, MB_OK
可以写为:
invoke MessageBox\
NULL,\
offset szText,\
offset szCaption,\
MB_OK
汇编源程序中没有一个main函数,程序员可以指定从代码段的任何一个地方开始执行,这个地方由程序最后一句end语句来指定:
end [开始地址]
这句语句同时表壳源程序结束,所有代码必须在end语句之前,例如:
end start
上述语句指定程序从start这个标号开始执行。
但是一个源程序不必非要指定入口标号,这时候可以把开始地址忽略不写,这种情况发生在编写多模块程序的单个模块的时候。当分开写多个程序模块时,每个模块的源程序中也可以包括.data,.data?,.const和.code段,结构就和上面的Win32 Hello World一样,只是其他模块最后的end语句必须不带开始地址。当最后把多个模块链接在一起的时候,只能有一个主模块指定入口地址,在多个模块中指定入口地址或者没有一个模块指定 了入口地址链接程序都会报错。
@2.注释和换行
举例——注释使用 ; 号
;这里是注释
call _PrintChar ;这里是注释
szChar db 'Hello, World;', odh, oah ;world后面的分号不是注释,后面的才是
当源程序的某一行过长,不得于阅读的时候,可以分行书写,分行的办法是在一行的最后用反斜杠(\)做换行符,如
invoke MessageBox,NULL,offset szText, offset szCaption, MB_OK
可以写为:
invoke MessageBox\
NULL,\
offset szText,\
offset szCaption,\
MB_OK
相关文章推荐
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 1 (消息的使用和入口代码)
- Windows下32位汇编程序环境搭建
- Windows 32位 汇编语法 [1] 模式与段
- windows32位汇编编写的屏幕锁定程序
- windows下32位汇编语言学习笔记 第四章 第一个窗口程序 (windows的消息机制)
- Windows下32位汇编程序环境搭建
- windows 32位程序编译成64位
- Windows 7 64bit和Visual Studio 2010下的64位与32位程序配置,dll使用,与性能初步比较
- Win32汇编教程二 Win32汇编程序的结构和语法
- Windows环境下32位汇编语言程序设计
- 开源GUI-Microwindows之程序入口分析
- windows搭建汇编程序IDE
- 64位操作系统(Windows 2008 R2 X64)安装32位程序Excel/word在Dcom下找不到的解决办法
- 查找windows程序 入口
- 几种程序的反汇编代码入口特征
- 神州数码解密程序32位汇编版
- 编写一个程序,查找C语言中的基本语法错误,如圆括号、方括号、花括号不配对等,正确处理引号与注释
- 斐波那契数 32位windows 汇编
- 在64位Windows的IIS上开启32位程序支持(zz)
- Windows环境下32位汇编程序设计C版code--第五章(一)