stosB、stosw等命令的用法
来源:互联网 发布:专有网络 ftp 编辑:程序博客网 时间:2024/05/17 02:46
AA
STOS m8
将 AL 存储到地址 ES:(E)DI
AB
STOS m16
将 AX 存储到地址 ES:(E)DI
AB
STOS m32
将 EAX 存储到地址 ES:(E)DI
AA
STOSB
将 AL 存储到地址 ES:(E)DI
AB
STOSW
将 AX 存储到地址 ES:(E)DI
AB
STOSD
将 EAX 存储到地址 ES:(E)DI
说明将 AL、AX 或 EAX 寄存器中的字节、字或双字分别存储到目标操作数。目标操作数是内存位置,其地址从 ES:EDI 或 ES:DI 寄存器读取(具体取决于指令的地址大小属性,分别是 32 或 16)。ES 段不能使用跨段前缀覆盖。
在汇编代码级别,此指令允许采用两种形式:“显式操作数”形式与“无操作数”形式。显式操作数形式(使用 STOS 助记符指定)可以明确指定目标操作数。这里,目标操作数应该是表示目标值大小与位置的符号。接着,自动选择与目标操作数大小匹配的源操作数(对于字节操作数,选择 AL 寄存器;对于字操作数,选择 AX;对于双字操作数,选择 EAX)。提供此显式操作数形式是为了便于记录;不过请注意,此形式提供的记录可能会令人误解。也就是说,目标操作数符号必须指定操作数(字节、字或双字)的正确类型(大小),但不必指定正确的位置。位置总是由 ES:(E)DI 寄存器指定,在执行存储字符串指令之前,必须先正确加载这些寄存器。
无操作数形式提供“简短形式”的字节、字及双字版 STOS 指令。这里,同样假设 ES:(E)DI 是目标操作数,假设 AL、AX 或 EAX 寄存器是源操作数。目标操作数与源操作数的大小使用助记符选择:STOSB(从寄存器 AL 读取的字节)、STOSW(从 AX 读取的字)或 STOSD(从 EAX 读取的双字)。
从 AL、AX 或 EAX 寄存器将字节、字或双字传输到内存位置之后,根据 EFLAGS 寄存器中的 DF 标志的设置,(E)DI 寄存器会自动递增或递减。(如果 DF 标志是 0,则 (E)DI 寄存器递增;如果 DF 标志是 1,则 (E)DI 寄存器递减)。对于字节操作,(E)DI 寄存器递增或递减 1;对于字操作,递增或递减 2;对于双字操作,递增或递减 4。
通过 REP 前缀,可以使用 STOS、STOSB、STOSW 及 STOSD 指令整块加载 ECX 字节、字或双字。不过,这些指令更经常用在 LOOP 结构中,因为数据需要先移到 AL、AX 或 EAX,然后才可以存储。如需有关 REP 前缀的说明,请参阅本章的 。
- stosB、stosw等命令的用法
- Stosb stosw stosd
- stosb, stosw, stosd 汇编基础
- stosb, stosw, stosd 汇编基础
- stosb, stosw, stosd 汇编基础
- stosb, stosw, stosd 汇编指令
- stosd,stosb,stosw汇编指令
- STOS/STOSB/STOSW/STOSD/STOSQ---存储字符串
- stosb,stosw,stosd区别和功能解读
- STOSB指令的使用方法
- lodsb和stosb完成串的拷贝
- tar、zip、gzip、bzip2等命令的常见用法
- linux mount命令参数及用法详解---linux挂载光盘等文件系统的命令
- iostat 等运维命令用法
- mysql中授权(grant)和撤销授权(revoke)等命令的用法详解
- mysql中授权(grant)和撤销授权(revoke)等命令的用法详解[转]
- mysql中授权(grant)和撤销授权(revoke)等命令的用法详解[转]
- mysql中授权(grant)和撤销授权(revoke)等命令的用法详解[转]
- [Android源码分析]从spec角度来详细分析inquiry command带来的影响
- 虚拟机 tools安装
- linux下搭建邮件服务器(sendmail)
- ACM进阶与方向
- BUAA 752 (2013北航校赛B)
- stosB、stosw等命令的用法
- 多级下拉菜单的JavaScript
- 指针篇之七 看我七十二变
- ODBC DAO ADO OLEDB 数据库连接方式区别
- excel拼接字符串函数
- Java in sample
- 期待您的意见的代码:
- scott下没有创建视图权限不够问题
- #R_exel#从R里面底层操纵Excel/xlsx(自动化报告福音)