Я пытаюсь сохранить массив последовательности Фибоначчи в последовательных байтах регистра EBX от младшего байта к старшему байту.Мой код работает, как ожидалось до этого момента:
fib0=0
fib1=1
fib2= fib0 + fib1
fib3= fib1 + fib2
fib4= fib2 + fib3
fib5= fib3 + fib4
fib6= fib4 + fib5
.data
array BYTE fib2, fib3, fib4, fib5, fib6 ;Adding elements to the array
.code
main PROC
xor ebx,ebx
xor esi,esi
mov esi,OFFSET array ; Moves array in to ESI for offset
inc esi ; incrementing to fib3 value
mov bl,[esi] ; fib3 going to bl registry
inc esi ; inc. to fib4 value
mov bh,[esi] ; fib4 going to bh registry
Когда я делаю DumpRegs EBX = 00000302.Затем, когда я пытаюсь переместить fib5 в реестр bx, он перезаписывает два других значения реестра bl и bh.Поэтому, когда я записываю два других значения fib в реестр ebx со следующим кодом:
inc esi ; inc. to fib5 value
mov bx,[esi] ; fib5 going to bx registry
inc esi ; inc. to fib6 value
mov ebx,[esi] ; fib6 going to ebx registry
Мое окончательное значение для EBX = 00000008, что означает, что последнее выражение mov полностью перезаписывает весь регистр.Я хотел бы, чтобы это выглядело так: EBX = 08050302 в последовательных байтах.Это возможно?