汇编语言知识点总结

上传人:繁星 文档编号:42922320 上传时间:2018-06-04 格式:DOCX 页数:6 大小:780.01KB
返回 下载 相关 举报
汇编语言知识点总结_第1页
第1页 / 共6页
汇编语言知识点总结_第2页
第2页 / 共6页
汇编语言知识点总结_第3页
第3页 / 共6页
汇编语言知识点总结_第4页
第4页 / 共6页
汇编语言知识点总结_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《汇编语言知识点总结》由会员分享,可在线阅读,更多相关《汇编语言知识点总结(6页珍藏版)》请在金锄头文库上搜索。

1、汇编语言精简版汇编语言精简版版权归属版权归属 GuYue.WangGuYue.Wang一、入门基础一、入门基础 1. 1.汇编基本格式汇编基本格式2. 2.内存管理:小端存储。内存管理:小端存储。3. 3.寄存器寄存器1616 位位 CPUCPU 通用寄存器共通用寄存器共 8 8 个:个:AXAX,BXBX,CXCX,DXDX,BPBP,SPSP,SISI,DIDI,它们都可以作,它们都可以作 为普通的数据寄存器来使用,也有一些特殊的功能,如下:为普通的数据寄存器来使用,也有一些特殊的功能,如下: 数据寄存器数据寄存器 AXAX: BXBX:存放偏移地址:存放偏移地址 CX:CX: 循环次数(

2、循环次数(looploop) DX:DX: 指针寄存器指针寄存器 SISI:存放偏移地址,指向源操作数或作为变址寄存器,参与基址、变址寻址:存放偏移地址,指向源操作数或作为变址寄存器,参与基址、变址寻址 DIDI:存放偏移地址,指向目的操作数或作为变址寄存器,参与基址、变址寻址:存放偏移地址,指向目的操作数或作为变址寄存器,参与基址、变址寻址 SPSP:堆栈指针,存放偏移地址,与:堆栈指针,存放偏移地址,与 SSSS 结合使用结合使用 BPBP:基址寄存器,存放偏移地址,与:基址寄存器,存放偏移地址,与 DSDS 结合使用结合使用 IP:IP: 指令指针指令指针段寄存器段寄存器 CSCS:代码

3、段:代码段 DSDS:数据段:数据段 SSSS:堆栈段:堆栈段 ESES:4. 4.标志位标志位 ZFZF(零标志位):结果为(零标志位):结果为 0 0,则,则 ZF=1.ZF=1. PFPF(奇偶标志位):结果所有(奇偶标志位):结果所有 bitbit 位位 1 1 的个数为偶数,的个数为偶数,PF=1PF=1 SFSF(符号标志位):有符号数运算,结果为负,(符号标志位):有符号数运算,结果为负,SF=1SF=1 OFOF(溢出标志位):有符号数运算,发生溢出,(溢出标志位):有符号数运算,发生溢出,OF=1OF=1 CFCF(进位标志位):无符号数运算,记录了最高有效位向更高位的进位或

4、借位(进位标志位):无符号数运算,记录了最高有效位向更高位的进位或借位5. 5.定义数据定义数据二、指令集二、指令集 1. 1.数据传送指令数据传送指令 11 MOVMOV , , 两个操作数位数一致两个操作数位数一致 不能在两个存储单元之中进行数据直接传送不能在两个存储单元之中进行数据直接传送 不能在两个段寄存器之间进行数据直接传送不能在两个段寄存器之间进行数据直接传送 immimm 不能直接送入段寄存器不能直接送入段寄存器 目的操作数不能是目的操作数不能是 CSCS,IPIP22 XCHGXCHG , , :交换两个操作数的内容:交换两个操作数的内容xchgxchg regreg , ,

5、regreg xchgxchg regreg , , memmem xchgxchg memmem , , regreg3LEA3LEA , , :将:将 OP1OP1 的地址偏移量传送给的地址偏移量传送给 OP2OP2 源操作数必须是内存操作数源操作数必须是内存操作数 目的操作数必须是目的操作数必须是 1616 位的通用寄存器位的通用寄存器4PUSH4PUSH , , POPPOP :堆栈:堆栈 SSSS:栈段寄存器:栈段寄存器 SPSP:栈顶指针(:栈顶指针(使用时应当先初始化使用时应当先初始化) 一次压入或弹出一个字,栈顶最大变化范围一次压入或弹出一个字,栈顶最大变化范围 0FFFFH0

6、FFFFH 执行执行 PUSHPUSH、POPPOP 时,时,SPSP 指针默认移动指针默认移动 栈空:栈空:SPSP 指向栈空间最高地址单元的下一个单元指向栈空间最高地址单元的下一个单元 OPOP:段寄存器(:段寄存器(除除 CSCS) ,1616 位通用寄存器,内存的位通用寄存器,内存的 1616 位字位字2. 2.算数运算指令算数运算指令 11 ADDADD , , | | SUBSUB , , 目的目的= =目的目的 +/-+/-源源 两操作数不能同时为两操作数不能同时为 memmem (注:(注:ADDADD 、SUBSUB 影响标志位:影响标志位:CFCF、ZFZF、SFSF、OF

7、OF、AFAF、PFPF)22 INCINC :自增:自增 1 1 | | DECDEC :自减:自减 1 1 (注:(注:INCINC、DECDEC 适用于无符号运算,不影响进位标志适用于无符号运算,不影响进位标志 CFCF)33 NEGNEG :求负:求负( (求补求补) ),按位取反加,按位取反加 1 1影响标志位:影响标志位:CFCF、ZFZF、SFSF、OFOF、AFAF、PFPF44 CMPCMP , , :目的操作数:目的操作数源操作数,不回送结果,只影响标志位源操作数,不回送结果,只影响标志位 根据相减结果修改根据相减结果修改 OFOF、SFSF、ZFZF、CFCF、AFAF、

8、PFPF 无符号数的比较:无符号数的比较:有符号数的比较:有符号数的比较:55 MULMUL (无符号乘法)(无符号乘法)| | IMULIMUL (有符号乘法)(有符号乘法)乘数不能位乘数不能位 immimm IMULIMUL 指令的执行结果的高半部分不是低半部分的符号扩展,则设置指令的执行结果的高半部分不是低半部分的符号扩展,则设置 CFCF、OFOF66 DIVDIV (无符号除法)(无符号除法) | | IDIVIDIV (有符号除法)(有符号除法)除数不能位除数不能位 immimm IDIVIDIV:余数符号与被除数相同:余数符号与被除数相同3. 3.逻辑运算与移位指令逻辑运算与移位

9、指令 1AND1AND , , :按位相与,将结果保存在目的操作数中:按位相与,将结果保存在目的操作数中 总是清除总是清除 OFOF 和和 CFCF,根据结果修改,根据结果修改 SFSF、ZFZF、PFPF 对特定位清对特定位清00同时保留其他位同时保留其他位 应用:字符大小写转化应用:字符大小写转化22 OROR , , :按位相或,将结果保存在目的操作数中:按位相或,将结果保存在目的操作数中 使使 CF=0CF=0、OF=0OF=0,根据结果修改,根据结果修改 SFSF、ZFZF、PFPF 对特定位置对特定位置11 将数字转化位对应的将数字转化位对应的 ASCIIASCII 码码33 NO

10、TNOT :按位取反,不影响任何标志位:按位取反,不影响任何标志位44 XORXOR , , :按位异或,将结果保存在目的操作数中:按位异或,将结果保存在目的操作数中对某些为取反,且不影响其它位,与对某些为取反,且不影响其它位,与00异或保持不变;与异或保持不变;与11异或取反异或取反对寄存器清对寄存器清 0 0,或判断两个值是否相等,或判断两个值是否相等交换两个数,不使用中间变量交换两个数,不使用中间变量 CF=0CF=0,OF=0OF=0,PFPF、SFSF、ZFZF 变变55 TESTTEST , , :按位相与,不回送结果:按位相与,不回送结果 清除清除 OFOF、CFCF;修改;修改

11、 SFSF、ZFZF、PFPF 测试某些位是测试某些位是00或或1166 SHLSHL、SHRSHR 格式:格式:SHLSHL mem/regmem/reg , , 1 1 SHLSHL mem/regmem/reg , , CLCL(移动次数(移动次数11 放入放入 CLCL)相当于乘除法相当于乘除法 4. 4.程序控制指令程序控制指令 11 JMPJMP : :无条件转移指令无条件转移指令 2LOOP2LOOP:循环指令,循环次数存于:循环指令,循环次数存于 cxcx 中,执行中,执行 looploop 时首先时首先 CX=CX-1CX=CX-1,然后判断,然后判断 CX=0CX=0?,是

12、则跳转?,是则跳转 33条件跳转指令条件跳转指令 基于特定的标志值基于特定的标志值根据操作数之间是否相等,或根据根据操作数之间是否相等,或根据(E)CX(E)CX 的值的值 与与 CMPCMP , , 指令结合使用指令结合使用基于无符号整数比较结果的跳转指令基于无符号整数比较结果的跳转指令基于有符号整数比较结果的跳转指令基于有符号整数比较结果的跳转指令5. 5.输入输出指令输入输出指令( (接口与接口与 CPUCPU 之间的操作之间的操作) ) 11 ININ AL|AXAL|AX , , :从接口到:从接口到 CPUCPU 的输入操作的输入操作 22 OUTOUT , , AL|AXAL|A

13、X :从:从 CPUCPU 到接口的输出操作到接口的输出操作CPUCPU 只能用只能用 ALAL 或或 AXAX 接收或发送数据接收或发送数据 直接寻址直接寻址( (接口地址用一个字节表示接口地址用一个字节表示 00FFH)00FFH)ININ AL,AL, 35H35H OUTOUT 44H44H , , AXAX 寄存器间接寻址(接口地址由寄存器间接寻址(接口地址由 DXDX 内容决定内容决定 0000FFFFH0000FFFFH)MOVMOV DXDX,03F8H03F8HININ ALAL ,DXDX三、补充三、补充 1.CLC1.CLC : 使使 CF=0CF=0 2.ADC2.ADC , , : op1=op1+op2+CFop1=op1+op2+CF

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号