[英]BX side effects?
編輯:對不起,我犯了一個新手錯誤,並一直在改變BX的價值! :) 不管怎么說,還是要謝謝你。
我很喜歡NASM和MBR,由於某種原因,即使我沒有寫BX寄存器(只是讀取),BX寄存器也被設置為“某個”值。
為什么? 我確定我缺少明顯的東西,但似乎可以找到任何可以解釋這種行為的教程。
有問題的代碼:
partfun:
mov bx, 01beh ; store a starting address to BX
; I will increment it later
mov cx, 0
mov al, bl ; BX changes here already, I think!
mov al, bh
; do something with AL here
.loop:
mov al, [bx]
; do something with AL here
add bx, 16 ;BX is 0110h now, not 01ceh, as I would expect!
;I wish to increment the stored value (address) by 16
inc cx
cmp cx, 4
jl .loop
ret
您可以訪問bl
是16位bx
的低8位,而bh
是高8位。
因此,通過更改bl
也可以更改bx
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.