常用汇编指令 rep movs / rep stos
- MOVSB、MOVSW 和 MOVSD 指令将数据从 ESI 指向的内存位置复制到 EDI 指向的内存位置。(根据方向标志位的值)这两个寄存器自动地增加或减少:
cld 设置方向标志位DF为0, 每次复制完, esi, edi自动增加, 指向下一个地址.
std 设置方向标志位DF为1, 每次复制完, esi, edi自动减少, 指向下一个地址.
至于esi, edi, 增加或减少多少个字节, 是根据 movsb/movsw/movsd最后面哪个字母决定.
movsb 以字节形式复制, 每次复制一个字节大小, esi/edi自动增加或减少1个字节
movsw 以字形式复制,每次复制一个字(2个字节)大小, esi/edi自动增加或减少2个字节
movsd 以双字形式复制, 每次复制2个字(4个字节)带下, esi/edi自动增加或减少4个字节
这几条命令一般都是配合 rep (repeat) 指令来使用, 表示重复复制
rep movs byte ptr es:[edi], byte ptr ds:[esi] 简写为: rep movsb
rep movs word ptr es:[edi], word ptr ds:[esi] 简写为: rep movsw
rep movs dword ptr es:[edi], dword ptr ds:[esi] 简写为: rep movsd
至于复制多少次, 是由ecx决定的.
2.STOS指令:将Al/AX/EAX的值存储到[EDI]指定的内存单元
STOS BYTE PTR ES:[EDI] 简写为STOSB
STOS WORD PTR ES:[EDI] 简写为STOSW
STOS DWORD PTR ES:[EDI] 简写为STOSD
具体是AL/AX/EAX那就要看具体的宽度是多少,指令执行后, edi的值也会增加或减少对应字节数, 这取决于 方向标志位DF的值, DF=0, edi增加, DF=1, edi减少, 和movs指令同理.
STOS指令也会配合REP来使用.
常用汇编指令 rep movs / rep stos相关推荐
- 常用汇编指令(七大类)
常用汇编指令 汇编语言指令大致分为以下几类 一.传送类指令 二.算数运算类指令 三.位操作指令 四.串操作指令 五.控制转移类指令 六.处理器控制类指令 七.汇编指令伪指令 一.传送类指令 1.数据传 ...
- 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码...
浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. ...
- RISC-V 常用汇编指令
RISCV 常用汇编指令 相关寄存器 寄存器 ABI 名 用途 Saver x0 zero 读取时总为 0, 写入时不起任何效果 - x1 ra 存放函数返回地址 (return address) C ...
- Cortex-A7 常用汇编指令
Cortex-A7 常用汇编指令 一.处理器内部数据传输指令 1.mov 将数据从一个寄存器拷贝到另外一个寄存器,或者将一个立即数传递到寄存器里面 MOV R0,R1 @将寄存器 R1 中的数据传递给 ...
- 逆向中常见寄存器及常用汇编指令
寄存器 通用寄存器 (前八个) 32位 16位 作用 EAX(累加器) AX 作用于操作数和结果的数据 EBX(基址寄存器) BX DS段中的数据指针 ECX(计数器) CX 用于字符串和循环操作 E ...
- Linux常用汇编指令
一. 数据传输指令 1. 通用数据传输指令 mov 传送字或字节 ( movb 传送字节 movw 传送字 movl 传送双字 movq 传送四字 movabsq 传送绝对的四字 ) movsx 先符 ...
- x64 ASM 常用汇编指令
语法习惯 这里主要说AT&T风格的汇编语言风格.因为gdb看反汇编默认的风格就是AT&T风格的,Intel风格的这里就不做介绍. 立即数,$ 开头 寄存器,% 开头 取地址里面的值,偏 ...
- 常用汇编指令对标志位的影响
加法指令 ADD (addition) 指令对标志位的影响:CF=1 最高有效位向高位有进位CF=0 最高有效位向高位无进位OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反. ...
- Linux学习笔记---Cortex-A7 常用汇编指令
MOV指令 MOV R0,R1 @将寄存器R1中的数据传递给R0 MOV R0,#0X12 @将立即数0X12传递给R0寄存器 MRS指令 MRS R0,CPSR @将特殊 ...
- MCS-51单片机常用汇编指令大全
1.数据传送指令 寄存器寻址: MOV R0,30H :把30H单元内容赋给寄存器R0 直接寻址: MOV ACC,30H ;把30H单元内容赋给累加器A 立即寻址: MOV R0,#30H ;把立即 ...
最新文章
- Swift 使用CoreLocation获取定位与位置信息
- 计算机视觉来看看苏伊士运河堵船(船舶检测)
- python列表切片口诀-Python-100例(7-8) 复制列表 打印乘法口诀
- 重构alert,confirm
- mysql数据库中_截取数据_mysql数据库的字符串截取方法
- MySQL百万级数据库优化方案
- hutol json null值没了_详解Java去除json数据中的null空值问题
- 在本地调用hadoop的api
- 蓝桥杯 ADV-102 算法提高 单词个数统计
- GJB150A湿热试验-高低温交变湿热试验标准检测报告
- Ueditor 使用
- centerOS 7.6FTP安装与配置
- 数据恢复工具winhex使用教程
- 学而思pythonlevel3_【学而思网校语言学习】学而思网校【2019-寒】AE英语直播班 Level 3上【报价 价格 评测 怎么样】 -什么值得买...
- 这张几千人排在门外的大会门票,送你 | 来填写问卷
- kindle中html笔记,大神教你用Kindle做笔记,事半功倍的方法来了!
- centos7dos命令下打开网络
- ubuntu18.04安装tbb library
- 我劝你最好别偷看我的HTTP总结
- 黑帽seo 模板生成php,全自动无限生成关键词页面(黑帽SEO优化终极方法)
热门文章
- 【ionic】无法识别ionic
- 为什么很多公司不要培训出来的Java程序员?
- 第十节、grep、find、sed和awk
- 什么叫大数据人物画像_【说大数据】人物画像 :大数据时代的心灵捕手
- linux卸载windows boot,windows和Linux双系统卸载Linux系统
- 【入门】求三个数的平均数
- 深度评论 | 雷军这么努力,为什么小米还是干不过OV
- 转载 CSDN 谈谈我对证券公司一些部门的理解(前、中、后台)
- xp计算机用户名和密码忘记了怎么办,XP系统开机密码忘记了怎么办?
- header标签为什么不能改变背景颜色呢?