AX了,所以兼容的16位,其余的寄存器同理
32位中的段寄存器不是我们能操作的了,给操作系统使用,所以有了权限一说
在16位中,我们可以直接操作段寄存器分段,或者寻址,而这样很不安全,万一你分段的时候,...都会写的EXE(PE文件中)
未初始化的数据, 定义数据的时候只能给? 不在PE文件中保存
⑥代码区的伪指令(.code)
定义执行的代码区
语法:
?...;你的核心代码
end START
三丶编译连接Win32汇编程序
在32位中,编译汇编程序和连接汇编程序就有点不同了
1.编译:
在CMD中输入
ml /c /coff 文件名.asm
上面说过,...我们知道了,第一个参数是窗口句柄,没有我们可以给NULL 而NULL 在汇编中没有,我们就用宏定义 (EQU)
第二个参数是一个0结尾字符串的首地址,那么在汇编中可以通过 offset伪指令,把常量区的地址给它...我们的EXE在这里上面的位置,都是为了兼容16位的,而真正的32位程序是从PE这里开始执行的,
上面的某些字段保存了PE所在的偏移,比如PE所在的位置是C8,那么上面的字段就会有C8保存,因为软件已启动