Chciałbym po prostu podnieść wartość wybranego elementu tablicy o 1 - nie mogę podać elementu bezposrednio, musi byc ze zmiennej
tab db 100 dup(0)
num db ?
...
mov byte ptr [num], 3
mov bl, num
mov es:[si], bl
inc tab[si]
Chciałbym po prostu podnieść wartość wybranego elementu tablicy o 1 - nie mogę podać elementu bezposrednio, musi byc ze zmiennej
tab db 100 dup(0)
num db ?
...
mov byte ptr [num], 3
mov bl, num
mov es:[si], bl
inc tab[si]
Chcesz zrobić tab[num]++
? Wylicz po prostu adres pola w tablicy, wstaw ten adres do si
i tyle ;]
mov si, offset tab
xor bx, bx
mov bl, byte ptr [num]
add si, bx
inc ds:[si]
Albo jeśli ta ostatnia linijka nie pójdzie pod twoim asemblerem to zamiast niej coś w stylu:
mov ah, byte ptr ds:[si]
inc ah
mov byte ptr ds:[si], ah
no i git :), a ostatnia linijka faktycznie nie działała, dzięki.