• 8086汇编——课堂笔记整理1


    Data movement instruction

    MOV

    1.REG,IMM/REG/MEM/SEG

       MEM,REG/IMM/SEG   *无 MOV MEM,MEM

       SEG,REG16/MEM16

        *无 IMM 作为目的操作数的,目的操作数是存储地址

        *SEG:16bit不变

    2.无:

      MEM,MEM

      SEG,IMM

      MOV指令中不操作FLAG

      目的操作数中无 IP(instruction pointer register)

      目的操作数中无 CS(CODE SEGMENT)

      SEG,SEG

      不等宽

       2个操作数dst,src

    3.e.g.

       MOV AX,@data

       MOV DS,AX  ;将定义的数据加载到指令块中,MOV DS,@data(seg,imm)错误

    tip:

    A BYTE 100  ;A=变量名=符号地址=内存地址MEM   直接寻址

                      ;offset A=imm

    MOV VAL1,VAL2;MOV MEM,MEM

    tip:

    OFFSET   SEG

    return OFFEST/SEG of the memory location,返回的是imm

    MOV DS,OFFSET VAL1;MOV SEG,IMM

    tip:

    EQU    =

    EQU:constant     =:初始化

    NUMBER EQU 100

    MOV NUMBER,VAL2;IMM不能做dst

    MOV NUMBER,VAL2

     PUSH

    PUSH SRC

    栈底是高地址,SP(堆栈指针从栈底向上移,高地址->低地址),stack LIFO

    压栈:先移动堆栈指针,再存入数据

    存储单元是8bit,所以

    16bit:SP<-(SP)-2

              ((SP)+1,(SP))<-(src)  (高地址,低地址)---(数据高位,数据低位)

    POP

    POP DST

    SP下移(低地址->高地址)

    弹栈:先弹出数据,再移动堆栈指针

    DST<-((SP)+1,(SP))

    SP<-(SP)+2

    CS 不做dst,不能POP CS

    LEA

    load effective address instruction

    effective address==offset address

    LEA REG,MEM

    tip:

    (BX):表示BX的有效地址

    e.g.1  寄存器

    LEA DI,[BX] ;将BX的有效地址存入DI

    MOV SI,[BX] ;将内存中的数据存入SI  segment*10H+(BX)  中存的数据

    e.g.2  符号地址

    LEA DI,BUFFER  ;BUFFER 的偏移地址MOV DI,BUFFER  ;2000H:BUFFER中的数据

     tip:

    LEA  任意存储器的有效地址  寄存器&符号地址

    OFFSET  符号地址

    XCHG

    交换register,register/memory的contents

    无  XCHG MEM,MEM,

         XCHG SEG,SEG/MEM/REG

    宽度一致

    SAHF

    改变FLAG REGISTER的低8位

    AH -> FLAG低8位

    LAHF

    FLAG低8位 -> AH

  • 相关阅读:
    CTF web之旅 20
    CTF web之旅 19
    CTF web之旅 18
    CTF web之旅 17
    CTF web之旅 16
    php数组遍历函数array_reduce、array_filter()、array_map()、array_walk()三者的用法和区别
    composer require安装的模块依赖和`composer.json`中版本冲突
    Linux执行shell出现错误bad interpreter: No such file or directory解决方法
    dcat-admin
    在Laravel外独立使用Eloquent
  • 原文地址:https://www.cnblogs.com/HackHer/p/5347711.html
Copyright © 2020-2023  润新知