BX побочные эффекты? - PullRequest
       6

BX побочные эффекты?

0 голосов
/ 04 марта 2012

РЕДАКТИРОВАТЬ: Извините, я сделал ошибку новичка, и я сам изменял значение 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

1 Ответ

0 голосов
/ 04 марта 2012

Вы можете получить доступ bl - это младшие 8 бит из 16 бит bx, а bh - это старшие 8 бит.

Таким образом, изменяя bl, вы меняете bx также.

...