我沒有得到什麼區別。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. Response.Write和<%= %>之間的實際區別是什麼?
- 4. RTMFP和BitTorrent的實際區別是什麼?
- 5. `_.defaults`和`_.extend`之間的實際區別是什麼?
- 6. while(true)和for(;;)之間的實際區別是什麼?
- 7. gluortho2d和glViewport的實際區別是什麼
- 8. 特殊形式和宏之間的實際區別是什麼?
- 9. Objective-C中'object'和'variable'的實際區別是什麼?
- 10. DI原理和「程序到接口,而不是實現」有什麼區別?
- 11. 處理器/寄存器/內存中數據,地址和指令的區別是什麼?
- 12. PIC寄存器(%ebx)是做什麼的?
- 13. Android - 什麼是實際使用 - 類別
- 14. Azure通知集線器遙測選項的實際區別是什麼?
- 15. Atlassian SDK中atlas-run和atlas-run-standalone之間的實際區別是什麼?
- 16. Jdbc中Type2和Type4驅動程序的實際區別是什麼
- 17. upvar和全局命令在tcl中的實際區別是什麼
- 18. 命令窗口和立即窗口之間的實際區別是什麼?
- 19. WCF中傳輸和消息可靠性的實際區別是什麼?
- 20. 在MySQL中`REPLACE`和`INSERT ... ON DUPLICATE KEY UPDATE`之間的實際區別是什麼?
- 21. PHP中「關聯」和「索引」數組之間的實際區別是什麼?
- 22. ctor注入的PHP-DI寄存器實例
- 23. 什麼是專用寄存器?
- 24. 什麼是DI
- 25. 低位和高位寄存器的區別
- 26. 是什麼區別:
- 27. 什麼是實際應用過濾器?
- 28. 是什麼的file_get_contents和FREAD的區別
- 29. 對象和實例有什麼區別?
- 30. `Rational`和`BigNum`實現有什麼區別
您可以同時使用MOV [SI],斧頭,斧頭MOV,[二],如果您使用的是簡單的MOV指令,他們基本上是相同的,只是因爲你可以使用MOV [BX],斧頭。當你使用像MOVSB這樣的指令時,CPU假定SI是源,DI是目的地,但是當你手動執行時,你可以使用兩者都執行。 – Bob 2010-06-02 05:45:12