8086汇编指令笔记

8086/8088汇编指令总结

一、数据传送指令

1、传送指令:MOV (move)
    格式:mov dst,src

具体用法:

(1) CPU内部寄存器之间的数据传送,如:mov ah,al

(2) 立即数送至通用寄存器(非段寄存器)或存储单元,如:mov al,3       mov [bx],1234h

(3) 寄存器与存储器间的数据传送,如:mov ax,var      mov ax,[bx]
2、交换指令:XCHG
    xchg OPRD1,OPRD2    ;OPRD可以是通用寄存器或存储单元,但不包括段寄存器,不能同时是存储单元,不能有立即数
3、地址传送指令:LEA、LDS、LES
(1) LEA(Load Effective Address)
    格式:   lea REG,OPRD      
    功能:   把操作数OPRD的有效地址传送到操作数REG
     注:    REG必须是16位通用寄存器,OPRD必须是一个存储器操作数

     如:    lea ax,buf           ;buf是变量名
            lea ax,[si+2]

(2) LDS(Load pointer into DS)
    格式:   lds REG,OPRD      
    功能:   传送32位地址指针,将OPRD存储的32位数的高16位(段地址)送至DS,低16位(偏移地址)送至REG。(注意OPRD存放的32位数据,不是OPRD本身的地址)
     注:    操作数OPRD必须是一个32位存储器操作数,操作数REG可以时16位通用寄存器,但通常是指令指针寄存器(IP)或变址寄存器(SI,DI,SP,BP)

     如:    lds di,[bx]
            lds si,FARPOINTER     ;FARPOINTER是一个32位(双字)变量

(3) LES(Load pointer into ES)
    格式:   les REG,OPRD
    功能:   把操作数OPRD存储的32位数据的高16位(段地址)送至ES,低16位(偏移地址)送至REG

    其他同LDS

二、堆栈操作指令

1、进栈指令:push
    格式:push src
    功能: 把16位数据src压入堆栈。
    注:  源操作数src可以是通用寄存器和段寄存器,也可以是字存储单元

    如:  push si
         push [si]
         push var       ;var是16位(字)变量
2、出栈指令:pop
    格式:pop dst
    功能:从堆栈弹出16位数据至dst
    注: dst可以是通用寄存器和段寄存器,但不能是CS,可以是字存储单元

    如: pop si
        pop [si]
        pop var         ;var是字变量

三、标志操作指令

1、标志传
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值