Viitaten fawkz:n koodivinkkiin:
Onko mahdollista asettaa muiden rekisterien arvoja, kuin TYPE:ssä olevien, vaikkapa AL:n?
Tietysti voisi tehdä sellaisen TYPEn, jossa AL ja AH olisivat erikseen (AL AS STRING *1), mutta silloin toisaalta AX:n ei pääse niin helposti käsiksi.. no kuitenkin on muitakin mahdollisuuksia ;)
Eli esimerkki:
0) Ajatellaan vaikka, että AX=&H1234
1) Ensin maskataan AL:n tavu pois, näin: AND AX, &HFF00 (eli 00:t tyhjentyy, FF:t jää entiselleen)
2) Sitten OR:ataan haluttu tavu AL:ään, näin: OR AX, &H69
3) Nyt AX=&H1269, hiphei!
AH:n muuttaminen menee lähes samoin, eli:
0) Ajatellaan jälleen, että AX=&H1234
1) Maskataan AH:n tavu pois, näin: AND AX, &HFF
2) OR:ataan uusi AH AX:ään, näin: OR AX, &H6900
3) Nyt AX=&H6934, hiphiphurraa! :D
Toivottavasti tajusit(te) ;)
Tuo toimii, kiitos. Sama pätee varmaan muidenkin rekistereiden kanssa, kuin A-alkuisten.
Jep, eli pätee periaattessa jokaisen rekisterin kanssa. Mutta ei konekielessä pääse käsiksi kuin AX, BX, CX, ja DX:ään, noin niinkun kahtena palasena :)
Eli esim. SI ja DI eivät kuulu siihen joukkoon.
Aihe on jo aika vanha, joten et voi enää vastata siihen.