我没有得到什么区别。SI和DI寄存器的实际区别是什么?
12
A
回答
22
如果您使用的是像MOVSB指令,SI被视为小号乌尔斯河寄存器,而迪被视为d estination寄存器。但它们都是普通的x86寄存器。
10
我的程序集有点生疏,但是其中一个是Source Index,另一个是Destination Index。 movsb
等指令将从SI
指向的内存位置复制一个字节,并将其移动到DI
所指向的内存位置,然后将两者都递增,因此如果要将存储在处的字节复制到DI+1
,需要进一步的movsb指令。
0
如告诉上述二代表目标索引和Si代表源索引,当我们要移动从我们使用SI例如,MOV AX,[SI]存储器中的数据。 当我们想要将数据移动到内存中时,我们使用di。例如,MOV [二],斧
两者都是16位寄存器,并且不能被分成8位
5
SI
代表源索引。源索引用作指向字符串指令(LODS,MOVS或CMPS)中正在读取的当前字符的指针。源索引也可用作间接寻址时添加Bx或Bp的偏移量。
例如:
MOV [Bx + SI] , Ax
该指令拷贝Ax的内容到存储器位置为地址为BX和SI的总和。
DI
代表目标索引,用作一个指针被写入或在一个字符串指令相比当前字符。
它也可以像SI一样用作偏移量。
相关问题
- 1. 寄存器和临时寄存器有什么区别?
- 2. 物理寄存器和重新排序缓冲区实际上是什么?
- 3. vim中的缓冲区和寄存器有什么区别?
- 4. ESP和EIP寄存器有什么区别
- 5. RTMFP和BitTorrent的实际区别是什么?
- 6. while(true)和for(;;)之间的实际区别是什么?
- 7. `_.defaults`和`_.extend`之间的实际区别是什么?
- 8. 特殊形式和宏之间的实际区别是什么?
- 9. int *和int []之间的实际区别是什么?
- 10. Objective-C中'object'和'variable'的实际区别是什么?
- 11. Response.Write和<%= %>之间的实际区别是什么?
- 12. gluortho2d和glViewport的实际区别是什么
- 13. 什么是ESP和EBP寄存器?
- 14. 什么是接收器控制寄存器的中断级别
- 15. 是什么之间的assertEquals()VS assertTrue()TestNG中的实际区别?
- 16. 下面以VHDL编码更新寄存器有什么区别?
- 17. DI原理和“程序到接口,而不是实现”有什么区别?
- 18. 网页寄存和自我托管有什么区别?
- 19. 这两个FactoryGirl声明的实际区别是什么
- 20. x86标志寄存器中的Aux Carry和Common Carry有什么区别)?
- 21. 处理器/寄存器/内存中数据,地址和指令的区别是什么?
- 22. PIC寄存器(%ebx)是做什么的?
- 23. Android - 什么是实际使用 - 类别
- 24. Class和Class <?>之间的实际区别是什么(如果有的话)?
- 25. Azure通知集线器遥测选项的实际区别是什么?
- 26. Atlassian SDK中atlas-run和atlas-run-standalone之间的实际区别是什么?
- 27. Jdbc中Type2和Type4驱动程序的实际区别是什么
- 28. WCF中传输和消息可靠性的实际区别是什么?
- 29. 命令窗口和立即窗口之间的实际区别是什么?
- 30. 在MySQL中`REPLACE`和`INSERT ... ON DUPLICATE KEY UPDATE`之间的实际区别是什么?
您可以同时使用MOV [SI],斧头,斧头MOV,[二],如果您使用的是简单的MOV指令,他们基本上是相同的,只是因为你可以使用MOV [BX],斧头。当你使用像MOVSB这样的指令时,CPU假定SI是源,DI是目的地,但是当你手动执行时,你可以使用两者都执行。 – Bob 2010-06-02 05:45:12