x86asm
bingghost
.0.0.0.0
展开
-
Win32ASM学习[2]:运算符
算术运算符 名称 优先级()圆括号 1+,-正、负 2*,/乘、除3MOD取模3+,-加、减4 ---------------转载 2011-12-04 13:22:25 · 1054 阅读 · 0 评论 -
Win32ASM学习[21]:宏汇编(1)
--------------------------------------------------------------------------------------------------------------------嗯 上个星期到现在 把Win32ASM基础汇编复习了下 在网上找到了 这个不错系列于是就转载过来了 其中 根据我自己的水平 删减了一些内容转载 2011-12-05 21:15:30 · 978 阅读 · 0 评论 -
Win32ASM学习[12]:位测试指令位扫描指令
----------------------------------------------------------------------------------------------------------------------- 一.BT 指令格式: BT OPD,OPS功能: 目的操作数OPD中由源操作数OPS指定的位送CF标志说明: 1. 在指令中,目的操作数OPD只转载 2011-12-04 15:50:20 · 991 阅读 · 0 评论 -
Win32ASM学习[18]:串指令-MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE
--------------------------------------------------------------------------------------------------------------------------------------------------------一.字符串传送指令 MOVSB/MOVSW/MOVSD 格式: MOVS OPD,OP转载 2011-12-05 19:58:53 · 5115 阅读 · 1 评论 -
Win32ASM学习[19]:结构与联合
结构和联合分别用 struct、union 定义, 都是 ends 结束定义.它们使用方法相同, 并可以互相嵌套; 主要区别是后者的各成员共用同一个地址.-----------------------------------------------------------------------------------------------------------------------转载 2011-12-05 20:29:56 · 561 阅读 · 0 评论 -
80X86伪指令
8086 伪指令表 一、数据定义伪操作 伪 指 令 名 称 语 句 格 式 功 能 定义字节类型的数据存储区 [变量名] DB 表达式[,…] 定义一个以变量名为首址的字节类型数据存储区,所含数据元素的个数由其后表达式的个数所决定,数据存储单元的初值由对应表达式的值给出 定义字节类型的数据存储区 [变量名] DW 表达式[,…] 同上,只是定转载 2011-12-08 15:42:31 · 2064 阅读 · 0 评论 -
Win32ASM代码基本模块
;--------------------------------------------------------------------------------;程序环境设置.386.model flat,stdcalloption casemap:none;-----------------------------------------------------------原创 2011-12-08 15:55:35 · 653 阅读 · 0 评论 -
Win32ASm学习[1]:RadASm下测试Debug
okay 正文开始下面的代码如果不能编译 请把你的RadAsm下的Masm32这个文件夹复制到任意一个磁盘的根目录下,在进行编译就可以了或者安装Masm32 SDK到任意磁盘根目录下 .386.model flat,stdcalloption casemap:none;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>转载 2011-12-04 13:16:15 · 2443 阅读 · 2 评论 -
Win32ASM学习[23]:RadASM快捷键
RadASM快键操作一.书签SHIFT+F8为所在行下书签或删除书签(Crtl+0-9能定义存于文件中的10个书签),可通过编辑\书签\开关书签。(CRTL+F8为下一书签,F8为上一书签)二、列选择:拉框时用到,CRTL+B为切换行&列 拉框。三、展开 & 关闭模块 & 显示行号:CRTL+E为展开和关闭模块,在左下脚2 & 3小按钮是展开全部和关闭全转载 2011-12-09 19:42:28 · 2256 阅读 · 0 评论 -
Win32ASM学习[9]: 标志寄存器
TF(Trap Flag)——位8,跟踪标志。置1 则开启单步执行调试模式,置0 则关闭。在单步执行模式下,处理器在每条指令后产生一个调试异常,这样在每条指令执行后都可以查看执行程序的状态。如果程序用POPF、POPFD 或者ET 指令设置TF 标志,那么这之后的第一条指令就会产生调试异常。 IF (Interrupt enable)——位9,中断许可标志。控制处理器对可屏蔽硬件中断请转载 2011-12-04 14:33:16 · 957 阅读 · 0 评论 -
Win32ASM && 变长参数的理解
C语言里面 提供了一些宏 可以使用变长参数 int MsgPrintf(INT dwszBuffer,TCHAR* szCaption,TCHAR* szFormat,...){ LPVOID lpszBuffer; va_list pArgList; va_start(pArgList,szFormat); lpszBuffer = HeapAlloc(GetPro原创 2012-03-20 20:22:43 · 898 阅读 · 0 评论 -
文件指针
一.移动文件指针SetFilePointer,hFile,lDistanceToMove,lpDistanceToMoveHigh,dwMoveMethoddwMoveMethod 指明移动的模式FILE_BEGIN 不管文件处于什么地方,总是从文件的头部开始移动,这时的位置参数相当于指定了一个绝对位置FILE_CURRENT 从当前的文件指针处开始移动,这时的位原创 2012-06-01 15:41:43 · 2284 阅读 · 0 评论 -
Win32ASM学习[20]:子程序
关于函数调用约定 :函数调用约定这是以前的一个求和函数的例子----------------------------------------------------------------------------------------------------------------.386.model flat, stdcallinclude windows.inc转载 2011-12-05 21:05:14 · 622 阅读 · 0 评论 -
Win32ASM学习[17]:条件跳转
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 一.跳转相关的标志位:1转载 2011-12-05 18:46:14 · 1034 阅读 · 0 评论 -
Win32ASM学习[11]:逻辑运算
--------------------------------------------------------------------------------------------------------------------------- 一.逻辑与运算指令 AND 格式: AND OPRD1,OPRD2其中目的操作数OPRD1为任一通用寄存器或存储器操作数.源操作数OP转载 2011-12-04 14:52:34 · 832 阅读 · 0 评论 -
Win32ASM学习[8]: 进制转换的库函数
在 masm32.inc 中有这样几个函数的声明: byt2bin_ex PROTO :BYTE, :DWORDwrd2bin_ex PROTO :WORD, :DWORDdw2bin_ex PROTO :DWORD, :DWORDdw2hex_ex PROTO :DWORD, :DWORDbin2byte_ex PROTO :DWORD----------转载 2011-12-04 14:22:18 · 936 阅读 · 0 评论 -
Win32ASM学习[10]:传送指令
汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操作数不能同为内存.---------------------------------------------------------------------------------------------------------------;mov;该指令不影响 EFlags;指令格式: (其中的 r、m、i 分别表示:转载 2011-12-04 14:40:38 · 746 阅读 · 0 评论 -
Win32ASM学习[3]:局部变量
.386.modelflat, stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib.codema转载 2011-12-04 13:29:04 · 1059 阅读 · 0 评论 -
Win32ASM学习[4]: TYPE、$、LENGTHOF、SIZEOF、TYPEDEF
--------------------------------------------------------------------------------------------------------------------------------------------------------------------.386.model flat, stdcallinclud转载 2011-12-04 13:37:28 · 869 阅读 · 0 评论 -
Win32ASM学习[6]: PTR、OFFSET、ADDR、THIS
PTR: 指定要操作的数据尺寸------------------------------------------------------------------------------------------------------------------------------------------.386.model flat, stdcallinclude wind转载 2011-12-04 14:03:38 · 731 阅读 · 0 评论 -
Win32ASM学习[13]:移位指令SHL,SHR,SAL,SAR,ROL,ROR,RCL,RCR,SHLD,SHRD
一. SHL、SHR、SAL、SAR: 移位指令----------------------------------------------------------------------------------------------------;SHL(Shift Left): 逻辑左移;SHR(Shift Right): 逻辑右移;SAL(Shift转载 2011-12-04 16:23:18 · 5991 阅读 · 0 评论 -
Win32ASM学习[14]:符号扩展指令: CBW,CWDE,CDQ,CWD
-----------------------------------------------------------------------------------------------------------------------------------------------------------------;CBW(Convert Byte to Word): 将 AL转载 2011-12-04 16:51:30 · 1340 阅读 · 0 评论 -
Win32ASM学习[16] :乘除指令: MUL、IMUL、DIV、IDIV
----------------------------------------------------------------------------------------------------------------------------------------------------------------------一. 无符号数乘法指令 MUL(MULtiply) 格式:转载 2011-12-04 19:29:44 · 6900 阅读 · 1 评论 -
Win32ASM学习[5]: 数据对齐相关的伪指令(ALIGN、EVEN、ORG)
32 位的寄存器容量是 4 字节, 如果内存中的数据都按 4*n 字节对齐, 肯定会加快吞吐速度;但事实并非如此, 不同大小的数据可能会让寄存器别别扭扭地去处理, 从而降低了运行速度!如果使用对齐, 就会浪费掉一些内存空间; 其实这是一个需要权衡 "速度" 与 "内存" 得失的问题.准备使用的测试文件:------------------------------------转载 2011-12-04 13:56:48 · 725 阅读 · 0 评论 -
Win32汇编学习[7]: 定义符号常量(=、EQU、TEXTEQU)
关于符号常量 =的例子.386.model flat,stdcallinclude windows.incinclude kernel32.incinclude masm32.incinclude debug.incincludelib kernel32.libincludelib masm32.libincludelib debug.lib转载 2011-12-04 14:14:17 · 1189 阅读 · 0 评论 -
Win32ASM学习[15]:加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
-------------------------------------------------------------------------------------------------------------------------------------------------------------------;INC(Increment): 加一;DEC(Decrement转载 2011-12-04 17:02:23 · 4402 阅读 · 0 评论 -
DLL转Lib
在C++中,为了允许操作符重载和函数重载,C++编译器往往按照某种规则改写每一个入口点的符号名,以便使用同一个名字(具有不同的参数类型或者是不同的作用域)有多种不同的用法,而不会打破现有基于C的链接器,.这项技术通常被称为改编(Name Mangling)或者名称修饰(Name Decoration),许多C++编译器厂商选择了自己的名称修饰方案.在VC++中,函数修饰名有编译类型(C或C++原创 2012-06-02 22:37:51 · 7037 阅读 · 0 评论