Intel 64/x86_64/IA-32/x86处理器 - 通用指令(6) - 字符串指令/输入输出指令

String Instructions

字符串指令操作字节构成的串,用来在内存中将字符串搬来搬去。MOVS/CMPS/SCAS/LODS/STOS指令在执行完一次操作后,都会按照标志寄存器中的DF标志的指示自动地更新ESI/EDI寄存器;这样就可以与REP(重复指令前缀)连用,执行系列的字符串操作。

指令

描述

MOVS/MOVSB

搬移字符串/搬移字节字符串(将源操作数搬移到目标操作数)

MOVS/MOVSW

搬移字符串/搬移单字字符串

MOVS/MOVSD

搬移字符串/搬移双字字符串

CMPS/CMPSB

比较字符串/比较字节字符串(比较两个操作数,设置标志寄存器,下同)

CMPS/CMPSW

比较字符串/比较单字字符串

CMPS/CMPSD

比较字符串/比较双字字符串

SCAS/SCASB

扫描字符串/扫描字节字符串(比较AL/AX/EAX与ES:EDI/RDI,设置标志寄存器,下同)

SCAS/SCASW

扫描字符串/扫描单字字符串

SCAS/SCASD

扫描字符串/扫描双字字符串

LODS/LODSB

加载字符串/加载字节字符串(将DS:ESI加载到AL/AX/EAX中,下同)

LODS/LODSW

加载字符串/加载单字字符串

LODS/LODSD

加载字符串/加载双字字符串

STOS/STOSB

存储字符串/存储字节字符串(将AL/AX/EAX存储到ES:EDI中,下同)

STOS/STOSW

存储字符串/存储单字字符串

STOS/STOSD

存储字符串/存储双字字符串

REP

当ECX不为0时,重复执行(REP指令只能位于INS/OUTS,MOVS/LODS/STOS指令前)

REPE/REPZ

当ECX不为0且ZF=1时,重复执行

REPNE/REPNZ

当ECX不为0且ZF=0时,重复执行。

 

I/O Instructions

输入输出指令用于在处理器的I/O端口与寄存器/存储器之间搬移数据。

指令

描述

IN

从端口读数据(将指定端口的数据读入到AL/AX/EAX中)

OUT

向端口写数据(将AL/AX/EAX中的数据写入到指定端口)

INS/INSB

从端口读字节数据串(将指定端口的字节数据读入到ES:ED中,下同)

INS/INSW

从端口读单字数据串

INS/INSD

从端口读双字数据串

OUTS/OUTSB

向端口写字节数据串(将DS:ESI写入到指定端口)

OUTS/OUTSW

向端口写单字数据串

OUTS/OUTSD

向端口写双字数据串

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值