When changing the value of a variable an error occurs invalid effective address
.
mov bl, var
mov [bl], 'a'
mov al, [bl] <--- here
mov ah, 0x0E
int 0x10
var db 'H'
As I know al
is 8-bit and bl
is a pointer pointing to 8-bit memory size.
There is something wrong that occurred after assigning a new value to var
, I don't know why?
Code after debugging:
mov bx, var
mov byte [var], 'a'
mov al, byte [bx]
mov ah, 0x0E
int 0x10
var db 'H'