Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Scrivere un testo in unicode

G
GiovanniQuadraroli (1230 points)
10 28 38
in Programmazione in Assembly by (1.2k points)
Salve volevo sapere se e in caso fosse possibile come scrivere un testo in formato unicode in assembly. Ho provato a farlo manualmente e quindi ad inserire in un'allocazione di memoria definita staticamente le halfword che corrispondono a i caratteri. Andando a vedere però ogni carattere viene considerato come byte ed è seguito dal null che termina alla stringa. Spero di essere stato abbastanza preciso, grazie in anticipo
348 views

1 Answer

andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Se vuoi leggere un carattere unicode devi usare l'istruzione lh (load half) e quando ti sposti nel buffer di testo devi avanzare di 2 byte invece che di 1 come con le stringhe ascii.

Nella parte .data non avendo una direttiva .unicode la cosa più comoda (conoscendo i valori esadecimali dei caratteri da inserire) è di usare la direttiva .half, seguita dalla sequenza di numeri che corrispondono ai caratteri unicode della stringa che vuoi costruire, terminando la sequenza con uno 0