std在汇编语言是什么指令_汇编语言寄存器和指令操作的整理

目的操作数

5. 不能将一个段寄存器的内容直接送到另一个段寄存器中, 可借助通用寄存器或PUSH, POP指令实现这一要求

l PUSH SRC ;压栈指令: 将一个字数据压入当前栈顶, 位移量disp=-2的地址单元. 数据进栈时, 栈指针SP首先向低地址方向移动两个字节位置, 接着    数据进栈, 形成新的栈顶

l POP DST ;出栈指令: 弹出栈顶元素, 后将栈顶指针向栈底方向移动一个字

l XCHG OPR1, OPR2 ;交换指令: 将这两个操作数交换

地址传送指令:

l LEA DST, SRC ;装载有效地址指令: 该指令将源操作数的偏移量OA装载到目的操作数中

l LDS DST, SRC ;装载数据段指针指令: 将当前数据段中的一个双字数据装入到一个通用寄存器SI(双字数据的低字)和数据段寄存器DS(双字数据的高字)中

l LES DST, SRC ;装载附加段指针指令: 将附加数据段中的一个32位地址数据指针(附加段指针)送到DI(低字)和ES(高字)寄存器中

标志传送指令: (专用于标志寄存器保护和更新的指令, 共四条)

l LAHF ;标志寄存器送AH指令, 将标志寄存器的低字节送入AH中

l SAHF ;AH送标志寄存器指令, 将AH寄存器内容送标志寄存器FR的低字节

l PUSHF ;标志进栈指令, 标志寄存器进栈

l POPF ;标志出栈指令, 标志寄存器出栈

累加器专用传送指令:

l IN AL, Port ;从端口读入数据, 存放在AL中

l OUT Port, AL ;传送AL中的数据到端口

l XLAT OPR或XLAT ;用于将AL中当前的内容转换为一种代码

算术运算指令加法指令:

l ADD DST, SRC ;DST+SRC的和存放到DST中去

l ADC DST, SRC ;带进位加法指令, DST+SRC+CF

l INC DST ;增1指令

减法指令:

l SUB DST, RSC ;DST-SRC, 存放到DST中

l SBB DST, SRC ;带借位减法指令, DST-SRC-CF

l DEC DST ;减1指令

l NEG DST ;求补指令, 求补码

l CMP OPR1, OPR2 ;比较指令

乘法指令:

l MUL SRC ;无符号数乘指令, AL*SRC, 结果放入AX中

l IMUL SRC ;有符号数乘指令, AL*SRC, 结果放入AX中

除法指令:

l DIV SRC ;无符号数除指令, AX/SRC, 商放入AL中, 余数放在AH中

l IDIV SRC ;符号数除指令, AX/SRC, 上放入AL中, 余数放在AH中

l CBW, CWD ;都是符号扩展指令. 将AL的符号扩到AX中; 将AX的符号扩到DX中

逻辑运算与移位指令逻辑运算指令:

l NOT OPR ;逻辑非指令

l AND OPR ;逻辑与指令

l OR OPR ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值