Efecto de LEA de 16 bits a destino de 32 bits, 32 a 32, 32 a destino de 16

Опубликовано: 12 Декабрь 2024
на канале: AltComp126
6
0

De 16 bits a 32 bits, la dirección se extiende a 0.
De 32 a 16, solo se escriben los primeros 16 bits y se descarta el resto de la dirección.
De 16 a 16 bits o de 32 a 32 bits es el efecto usual de MOV de siempre.

mov ecx,-1
a32 lea cx,[cs:0xB8000] ;ECX FFFF8000h
mov ecx,-1
lea ecx,[cs:0x8000] ;ECX 8000h
mov ecx,0xAAAAEEEE
a32 lea ecx,[cs:0x8000] ;ECX 8000h
mov ecx,-1
lea cx,[cs:0x8000] ;ECX FFFF8000
mov ecx,-1
lea ecx,[cs:0x8000] ;ECX 8000h

;ModRM: Mod 6-7, Reg 3-5, RM 0-2
;SIB SS 6-7, Index 3-5, Base 0-2

Lista de instrucciones LEA clave a probar:

lea ecx,[cs:eax*8] ;2E 66 67 8D 0C C5 00 00 00 00 ;ModRM 1100b SIB 11000101b
Lo mismo que lea ecx,[cs:eax*8+0x00000000] (SIB [scaledIndex+disp32])