生活随笔
收集整理的這篇文章主要介紹了
SI和DI寄存器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SI和DI常執行與地址有關的操作
- SI和DI是8086CPU中和BX功能相近的寄存器
- 區別:(SI和DIl不能夠分成兩個8位寄存器來使用
- 下面的三組指令實現了相同的功能:
- mov bx,0
mov ax,[bx] - mov si,0
mov ax,[si] - mov di,0
mov ax,[di] - mov bx,0
mov ax,[bx+123] - mov si,0
mov ax,[si+123] - mov di,0
mov ax,[di+123] - BX:通用寄存器,在計算存儲器地址時,常作為基址寄存器用
- SI:source index,源變址寄存器
- DI: destination in
- dex,目標變址寄存器
應用SI和DI
- 問題
- 用寄存器SI和DI實現將字符串‘welcome tomasm!’復制到它后面的數據區中
- 源數據起始地址:datasog:0
- 目標數據起始地址:datasg:16
- 用ds:si指向要復制的原始字符串
- 用ds:di指向目的空間
- 然后用一個循環來完成復制。
assume cs: codesg,ds:datasg
datasg segmentdb 'welcome to masm ! 'db '..................'
datasg ends
codesg segment
start: mov ax,datasgmov ds,axmov si,0mov di,16mov cx,8s:mov ax,[si]mov [di],axadd si,2add di,2loop smov ax,4c00hint 21h
codesg ends
end start
總結
以上是生活随笔為你收集整理的SI和DI寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。