РЕДАКТИРОВАТЬ: Извините, я сделал ошибку новичка, и я сам изменял значение BX!:) В любом случае, спасибо.
Я получаю удовольствие от NASM и MBR, и по какой-то причине для регистра BX установлено значение "some", даже если я не пишу в него (только чтение).
Почему это так?Я уверен, что упускаю что-то очевидное, но я могу найти какие-то учебники, которые бы объяснили это поведение.
Код, о котором идет речь:
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