Wenn ich versuche, einen Wert aus dem BX
-Register in ein Array-Element zu verschieben, ändert sich der Wert vollständig.
Nehmen wir zum Beispiel sagen, dass meine Array {0,4,4}, die SI
Register gleich 1 ist, und colorNum = 3 (colorNum und die Anordnung sind sowohl in Wortgröße). {769,0,4}
Ich weiß einfach nicht, was schief gelaufen ist, wie es hätte sein sollen:Wert ändert sich mit mov von einem Register zu einem Array
mov bx, [colorNum]
mov [arr + si], bx
Im Anschluss daran ich im Debugger, der das Array jetzt sehen konnte {0, 3,4}
Was sollte ich ändern, um den richtigen Wert in das Array zu verschieben?
Wenn jedes Element ein WORD ist, muss "si" 2 sein, um das zweite Element zu speichern. Sind Sie sicher, dass das ursprüngliche Array nicht "{1, 4, 4}" war? das würde die '{769,0,4}' –
erklären Was ist, wenn 'si' korrekt ist und es bereits' 2 * index' ist? Es ist unmöglich zu sehen, ob dies der Fall ist. –