La mia comprensione dei registri di assiemi indica che a ogni registro è possibile accedere tramite l'intero codice a 32 bit ed è suddiviso in più registri accessibili. In questo esempio EAX
è un registro a 32 bit, se chiamiamo AX
dovrebbe restituire i primi 16 bit, e se chiamiamo AH
o AL
dovrebbe restituire gli 8 bit successivi dopo i 16 bit e AL
dovrebbe restituire gli ultimi 8 bit.Memoria di programmazione assiemi Assegnazione di EAX a Ax, AH, AL
Quindi la mia domanda, perché non credo veramente, è così che funziona. Se abbiamo memorizzare un valore a 32 bit di sette anni ... alias EAX
memorizzazione
0000 0000 0000 0000 0000 0000 0000 0111
Quindi, se chiamiamo AX
deve restituire
0000 0000 0000 0000
se lo chiamiamo AH
deve restituire
0000 0000
e quando chiamiamo AL
deve restituire
0000 0111
È corretto? e se è questo valore fornisce veramente la chiamata a AH
?
No, il valore per AX è sbagliato. Hack off gli ultimi 16 bit. AH restituisce semplicemente i bit da 8 a 15 di EAX. –
si prega di sostituire il modello di bit con qualcosa che è più facile da capire int il contesto della tua domanda es: 0000 0001 0010 0011 ... –