【win32汇编】0x01 开篇一些乱七八糟的话

之前弄完了16位汇编,现在正式学习win32汇编,首先就是一些原理了,其实就是在16位的基础上增加了一些内容,其程序主要的结构记录如下

(1)指令集
    .386     这是指定指令集 必须工作在80386的处理器上
    mov cr0,eax    这类指令在特权级0上运行,编译到这个就报错
    如果要写VxD等驱动程序,中间要用到特权指令。必须定义.386p
    但是在正常情况只要.386就可以了,这个是运行在特权级3上面的
    Pentium MMX中增加了mmx指令
        需要 .386
            .mmx
        
(2)model
    .model 内存模式 [.语言模式] [其他模式]
    自动为各种段寄存器定义了地址 assume那些
    
(3)option 语句
    option casemap:none 是表示对变量名和子程序大小写敏感
    接下来就是一些include预计
    <include xxx>
    #下面就是一些段了
    .stack [栈的大小]
    .data
    <初始化过的变量定义>
    .data?
    <未初始化的变量定义>
    .const
    <一些常量定义>
    .code
        <代码>
    end 开始标号
    实际上,这些段是内存的分段,而不是8086汇编的那些段

posted @ 2016-04-20 18:46  yugan  阅读(800)  评论(0编辑  收藏  举报