Tasm, przeniesienie wartosci ze zmiennej to rejestru indeksowego

0

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]
0

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
0

no i git :), a ostatnia linijka faktycznie nie działała, dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1