zoukankan      html  css  js  c++  java
  • 关于对《汇编语言》第3版 作者:王爽的阅读总结

    ------------恢复内容开始------------

     段地址*16H+偏移地址= 物理地址

    寄存器:AX,BX,CX,DX,SI,DI,CS,SS,DS,ES,IP,SP,PSW

    AX,BX,CX,DX,可用8位寄存器表示,比如AH,AL

    CS:代码段寄存器

    IP:指令指针寄存器

    CS+IP 为指令指向的实际地址

    DS:数据段地址

    [Address]:内存单元,[0] 0 表示偏移地址

    Ds:[0] 表示传送ds为段地址,0偏移的内存地址

    SS:栈段寄存器

    SP:栈偏移地址

    SS:IP 表示为栈顶地址

    Loop:循环

    循环次数在cx中,每次循环自动 cx = cx-1

    [bx]:表示偏移地址为bx的内容的内存单元

    Bx=10  那么[bx]  [10] 意义相同

    And 逻辑与

    OR 逻辑或

    都是按位运算

    [bx+常数] :  bx=10 ,[bx+3] [10+3] 意义相同

    SI,DI,Bp寄存器与BX类似

    [bx+si+常数][bx+di+常数]

    DIV 除法

    MUL 乘法

    要注意除法、乘法的除数与被除数、商存放的寄存器位置

    db,dw,dd 用来定义字节、字、双字 数据

    Dup 操作符:

    Db 3 dup(0,1,2)

    相当于db 0,1,2,0,1,2,0,1,2

    db 重复次数 dup(重复的字节数据)

    dw 重复次数 dup(重复的字数据)

    Offset 取标号偏移地址  逆向中不常用

    Jmp 无条件转移指令

    Jmp short 偏移地址  偏移地址为当前地址+偏移地址=实际地址

    Jmp far ptr 地址   远转移   地址=实际地址

    Jcxz 有条件转移  判断cx是否为0 则转移

    ret相当于 pop IP

      

    Retf 相当于 pop IP  pop CS

    Call 相当于

    Push IP

    Jmp near ptr 地址

      

    标志寄存器  CF,PF,AF,ZF,SF,TF,IF,DF,OF

    ZF 零标志寄存器  结果为0 zf=1 否则zf=0

    PF 奇偶标志寄存器 结果所有的bit1的个数为偶数 pf=1 否则为pf=0

    SF 符号标志  结果为负数,SF=1,否则SF=0

    CF 进位标志位 如果有进位或者借位 CF=1

    OF 溢出标志

    adc 带进位的加法指令

    Sbb 带借位的减法指令

    Cmp 比较指令

    指令

    含义

    检测相关标志位

    Je

    等于则转移

    Zf=1

    Jne

    不等于则转移

    Zf=0

    Jb

    低于则转移

    Cf=1

    Jnb

    不低于则转移

    Cf=0

    Ja

    高于则转移

    Cf=0zf=0

    Jna

    不高于则转移

    Cf=1zf=1

    DF  方向标志位,在串处理指令中,控制每次操作后的sidi 的增减

    Df=0  每次操作后sidi 的递增

    Df=1   每次操作后sidi的递减

    Movsb 相当于

    如果df=0

    Inc si

    Inc di

    如果df=1

    Dec si

    Dec di

    Movsw 相当于

    如果df=0

    Add si,2

    Add di,2

    如果df=1

    Sub si,2

    Sub di,2

    一般过rep配合使用

    Rep是根据cx的值,重复后面的串传送指令

    Rep movsb相当于

    S:movsb

    Loop s

    Pushfpopf 把标志寄存器压栈出栈

    Int指令为中断指令  int n 为触发n号中断

    ------------恢复内容结束------------

  • 相关阅读:
    24-反转链表
    23-链表中环的入口节点
    22-链表中倒数第k个节点
    21-调整数组顺序使奇数位于偶数前面
    18-删除链表的节点
    17-打印从1到最大的n位数
    16-数值的整数次方
    15-二进制中1的个数
    14-剪绳子
    13-机器人的运动范围
  • 原文地址:https://www.cnblogs.com/youyaoqi/p/15271940.html
Copyright © 2011-2022 走看看