ok, mi focalizzerò su qualcosa di più particolare:
se io ho
AL=0ffh
AH=00
e faccio ADD AL,X <-- dove X è un numero maggiore di 0
ottengo
AH=00
AL=00 (se X era 1, alrimenti AL=(X-1))
per fare in modo che AH=1
DEvo fare un controllo dell'overflow flag/carry flag ogni volta che faccio l'addizione???
Es:
mov bl,1
xor ax,ax
mov al,54h
ciclo:
add al,bl
jnc ciclo ; oppure jno ciclo
inc ah
jmp ciclo
Oviamente questo esempio è inutile! Ma è questo l'unico modo per fare ciò? Infatti ho l'esigenza di considerare AL e non AX in quanto il compilatore non mi consente di fare ADD AX,BL in quanto registri di lunghezza diversa...
Ok, potrei fare
xor bh,bh
add ax,bx
ma se al posto di bl io avessi una variabile??? Ok, potrei definire una word, ma sprecherei 1 byte... (che pignolo)...
Comunque spero in un consiglio...