我沒有得到什麼區別。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