8086指令用法

名词存贮器(memory uint,MEM)、 寄存器(register,REG)、 输入输出端口(input output port,IO)、 端口(port)、 立即数(Immediate,IMM)、 目标操作数(target operand,TOPER)、 源操作数(source operand,SOPER)。


8086寄存器(共有14个,均16位)

通用寄存器:

AX,BX,CX,DX 称作为数据寄存器:

AX (Accumulator):累加寄存器,也称之为累加器,高8位为AH,低8位为AL

BX (Base):基地址寄存器,高8位为BH,低8位为BL

CX (Count):计数器寄存器,高8位为CH,低8位为CL

DX (Data):数据寄存器,高8位为DH,低8位为DL

SP 和 BP 又称作为指针寄存器:

SP (Stack Pointer):堆栈指针寄存器;

BP (Base Pointer):基指针寄存器;

SI 和 DI 又称作为变址寄存器:

SI (Source Index):源变址寄存器;

DI (Destination Index):目的变址寄存器;

控制寄存器:

IP (Instruction Pointer):指令指针寄存器;

FLAG:标志寄存器;

段寄存器:

CS (Code Segment):代码段寄存器;
DS (Data Segment):数据段寄存器;
SS (Stack Segment):堆栈段寄存器;
ES (Extra Segment):附加段寄存器;


各种指令用法:

一、数据传输指令

MOV(Move

作用:通用数据传输指令,此指令的目标操作数和源操作数的字节数必须相同,否则会出错。

用法:MOV REG/MEM,REG/MEM/IMM

举例

mov ax,02h      ;mov REG,IMM
mov bx,ax       ;mov REG,REG
mov ax,[023h]   ;mov REG,MEM
mov bx,[bp+1]
mov cx,[si]
mov [bp],9      ;mov MEM,IMM
mov [bp],ax     ;mov MEM,REG
mov ah,al       ;8位的

PUSH(Push onto the stack

作用:把字压入堆栈中(执行时,SP-1放高地址字节,SP-2放低地址字节,SP<-SP-2)。

用法:PUSH REG/MEM/IMM

举例

push [bp]
push ax
push 0fh

POP(Pop from the stack

作用:把字从堆栈中弹出(执行时,SP<-SP+2)。

用法:POP REG/MEM

举例

push 0fh 
pop ax

PUSHA(Push all onto the stack

作用:把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈中(执行时,执行时每放入一个SP减2一次)。

用法:PUSHA

举例:略

POPA(Pop all from the stack

作用:把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈(执行时,执行时每放入一个SP加2一次)。

用法:PUSHA

举例:略

XCHG(Exchange

作用:交换字或字节,至少有一个操作数为寄存器,段寄存器不可作为操作数。

用法:XCHG REG,REG

举例

mov ax,1
mov bx,2
xchg ax,bx

XLAT(Translate

作用:字节查表转换, BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); 返回 AL 为查表结果. ( AL<-[BX+AL])

用法:XLAT

举例

data segment
    string db 'nice day'
data ends

code segment
    assume ds:data,cs:code
     start:
        mov ax,data
        mov ds,ax
        
        ;find
        lea bx,string
        mov al,5
        xlat
        
        ;output 
        mov dl,al
        mov ah,02h
        int 21h
        
        ;end 
        mov ah,4ch
        int 21h
code ends
    end start

推荐阅读:

1、8086 CPU 寄存器简介

你可能感兴趣的:(8086指令用法)