Win32汇编_基础

包含全部段的源程序结构:
.386
.model flat, stdcall
Option casemap:none
;<一些include语句>
.stack [堆栈段的大小]
.data
;<一些初始化过的变量定义>
.data?
;<一些没有初始化过的变量定义>
.const
;<一些常量定义>
.code
;<代码>
;<开始标号>
;  <其它语句>
end 开始标号

调用API:
push uType
push lpCaption
push lpText
push hWnd
call MessageBox

;MASM编译器的伪指令
invoke MessageBox, NULL, offset szText, offset lpCaption, MB_OK

函数的返回值:
一般放在eax中.如果返回的内容不是一个eax所能容纳的,一般是eax中返回一个指向返回数据的指针,或者用参数提供一个缓冲区地址,数据直接返回到缓冲区中去.

函数的声明:
函数名 proto [距离] [调用方式] [参数1]: 数据类型, [参数2]: 数据类型, …
参数名可以省略.

标号:
当在程序使用一条跳转指令的时候,可以用标号来表示跳转的目的地,在编译的时候会把它替换成地址,标号既可以定义在目标指令同一行的头部,也可以在目标指令前一行单独用一行定义.

标号: 目标指令    ;方法1
标号:: 目标指令   ;方法2
方法1(一个冒号),作用域是当前子程序,方法2(一个冒号),作用域是整个程序

@@:
当用@@做标号时,可以用@F和@B来引用它,@F表示本条指令后的第一个@@标号,@B表示本条指令前的第一个@@标号,程序中可以有多个@@标号,但@F和@B只寻找匹配最近的一个.

转载于:https://www.cnblogs.com/w413133157/archive/2010/08/19/1803398.html

Win32汇编_基础相关推荐

  1. Win32汇编学习笔记之基础篇

    基础篇 第一章 背景知识 1.1 Win32的软硬件平台 1.1.1    80x86系列处理器简史 Win32可以在多种硬件平台上运行,但使用最广泛的硬件平台是基于Intel公司80x86系列处理器 ...

  2. Win32汇编学习——windows基础知识(小甲鱼教程)

    <Win32汇编语言程序设计>(小甲鱼) 1)windows特权保护机制 1)80386的中断和异常 2)80386的保护机制 3)Windows的保护机制 2)80x86处理器的工作模式 ...

  3. win32 汇编基础概念整理

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

  4. win32汇编基础概念

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

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

    之前弄完了16位汇编,现在正式学习win32汇编,首先就是一些原理了,其实就是在16位的基础上增加了一些内容,其程序主要的结构记录如下 (1)指令集     .386     这是指定指令集 必须工作 ...

  6. Win32汇编基本编程框架

    Win32汇编编程框架如下: .386 .model flat,stdcall option casemap:none <一些include语句> .stack [堆栈段的大小] .dat ...

  7. Win32汇编扩展教程

    Win32汇编扩展教程 第一课 Win32 扩展消息框示例 在罗哥云琳的Win32消息框示例基础上,做一个扩展例子. 首先弹出消息框,2个按钮,YESNO; 点击NO,程序结束:点击YES,弹出第二个 ...

  8. 数字化方法基础(一)_基础操作与生成四面体

    数字化方法基础(一)_基础操作与生成四面体 Chapter1 VisualStudio2010 Express如何创建新工程 Chapter2 SB-WinSRC的使用方法 Chapter3 用Ope ...

  9. win32汇编 MASM03

    http://blog.fishc.com/738.html#codesyntax_5 让编程改变世界 Change the world by program 代码段 .code段是代码段,所有的指令 ...

最新文章

  1. VS2015+openGL配置
  2. 函数的使用——未完待续
  3. UVa 11762 (期望 DP) Race to 1
  4. SQL调优:带函数的谓词导致CBO Cardinality计算误差
  5. 在Python2.7下如何安装TA-lib库
  6. 46 - 算法 - Leetcode 168 -26进制 --减一
  7. springboot 使用mybatis-plus 配置乐观锁
  8. 两个一样的图像相除会怎么样_【壮凌自动化分析】一种动力电池生产中基于图像运动模糊的速度检测方法...
  9. python resize重置大小
  10. 几行python代码实现Windows软件卸载
  11. 导出PDF /home/education/font/simsun.ttc not found as file or resource.
  12. 因果法制体系轮回框架的崛起
  13. non-local caffe2 编译
  14. cef 获取 html代码,CefGlue获取网页源代码
  15. SSM和SSH框架对比
  16. 【论文导读】Self-Supervised Learning with Data AugmentationsProvably Isolates Content from Style
  17. Ansible#Typora-Ansible笔记
  18. linux系统的种类
  19. uniapp 解决phoneX原生tabbar 安全区域问题
  20. 豆酱小白与python(一):提取B站弹幕并制作词云

热门文章

  1. c++——结构与指针 类与指针
  2. Python-使用python-memcache操作Memcached
  3. [HDF]hdf-4.2.6类库的使用
  4. 告别苦逼的程序员生涯,我的CTO之路!
  5. DetachedCriteria 分页Projection取消聚合条件
  6. 批处理***与注册表
  7. Algs4-1.4.7统计算术运算与比较次数
  8. codevs 3981 动态最大子段和(线段树)
  9. 《云计算揭秘企业实施云计算的核心问题》——3.5节中小型企业
  10. jdom 插入 修改 删除