基于X86汇编语言

 

 32位寄存器                         64位寄存器

浮点单元寄存器     

64位操作模式                      整数的进制标识

算术运算符                          实数

字符串                                  标识符

注释

VS2019汇编环境设置         源程序结构                         段的定义

调用API                              创建子程序                        子程序利用堆栈传递参数

局部变量压栈

子程序x64调用规约            递归

Unicode还是ANSI版本

数据类型                             变量

显示寄存器的值                 如何显示变量值                  当前位置计数器

计算数组和字符串的大小      使用64位寄存器              指令操作数符号

标志寄存器                         间接寻址(处理数组)           汇编-指针

在VisualStudio调试器中显示数组                                 Irvine32库

标号                                    数据结构                           逻辑运算符

ASCII十进制数和非压缩十进制数

压缩BCD的算术运算

模块的概念

窗口

 

 

 

  

指令

nop空操作                        DUP操作符                           EQU伪指令(数值替换)

TEXTEQU伪指令(文本字符串替换)                               MOV指令

movzx和movsx指令              LAHF和SAHF设置或获取标志位寄存器

MOVSXD64位带符号扩展传送

XCHG交换数据                INC(递增)和DEC(递减)         ADD加法

sub指令                            MUL和IMUL乘法

div无符号整数除法           idiv有符号整数除法

ADC带进位加法               SBB带借位减法

neg求补(改变正负号)            OFFSET地址偏移量         Lea将内存地址加载到寄存器

addr获取变量地址

ALIGN对齐边界                PTR伪指令                                 TYPE返回变量单个元素大小

LENGTHOF返回数组中元素的个数                               SIZEOF返回数组字节总数

LABEL插入标号               TYPEDEF定义指针类型        push入栈指令

pop出栈指令                    PUSHFD和POPFD将32位标志寄存器值压栈和出栈

PUSHA和POPA将16位通用寄存器值压栈和出栈

PUSHAD和POPAD将32位通用寄存器值压栈和出栈

JMP无条件转移              

$当前地址偏移量             CALL和RET

PROTO声明过程

.if分支语句                       .while循环语句                       .repeat循环语句

.if和.while和.repeat注意事项

移位指令                           逻辑运算指令                         标志位操作指令

cmp整数比较指令             条件跳转                                 条件循环

AAA加法后拆分成非压缩BCD码

AAM乘法后拆分成非压缩BCD码

AAD除法前将非压缩BCD码转换为二进制 

DAA将两个压缩BCD码相加后的结果调整为压缩BCD码

CBW将有符号数字节转换为字              CWD将有符号数字转换为双字

CDQ将有符号数双字转换为四字

ENTER和LEAVE指令:创建和结束堆栈帧

INVOKE伪指令

 

 

  

API

ExitProcess结束程序                          MessageBoxA消息框

 

 

 

posted @   天子骄龙  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-10-12 C++--CMD中文乱码
点击右上角即可分享
微信分享提示

目录导航