¿La forma más corta de hacer una búsqueda en el ensamblador x86?
Pregunta
¿Cuál es la forma más corta de obtener un valor de la memoria en el ensamblador x86?
Solución
¿Quiere decir que no sea el registro de mov, [dirección]?
Otros consejos
No hay solución en el ensamblador Haw para hacer eso. Todas las instrucciones del ensamblador son estrictamente dedicadas.
mov AL, 0x12
se cargará inmediato el valor 0x12 para registrar Al
xor AL,AL
El resultado de la operación en Al Registro es 0
lodsb
Se cargará byte de ds: [esi] (o ds: [si] bajo CPU de 16 bits) dirección de memoria a Al
mov AL,[ESI]
Se cargará byte de ds: [esi] (o ds: [si] bajo CPU de 16 bits) dirección de memoria a Al
mov AL,[0xFFFF]
Cargará byte de ds: [0xffff] dirección de memoria a Al
pop AX
Cargará byte desde SS: [esp] (o SS: [sp] bajo CPU de 16 bits) dirección de memoria a Al
in AL, 0x123
Cargará byte desde la dirección del puerto 0x123
xlatb [EBX + AL]
Cargará byte de ds: [ebx + al] dirección de memoria
...
Ok, la forma más corta es para los registros pop, como pop eax
, es una instrucción de byte.
Pero eso solo se puede usar en casos especiales, donde el puntero de pila ESP apuntará a un búfer,
Y probablemente no usará la pila para otro propósito hasta que el código que lo use esté hecho.
La forma estándar es usar el mov
instrucción.