Transformación del modo indexado basado en modo de direccionamiento indirecto (ensamblaje x86)

Actualmente estoy trabajando en cambiar ejemplos del modo complejo de direccionamiento indirecto a piezas simples del modo de direccionamiento indirecto. Sin embargo, me he encontrado con un ejemplo del modo basado, no puedo "transformar".

Código:

move %eax, 28(%esp)

He intentado

addl    $28, %esp
movl    (%eax), %esp

Esto crea una falla de segmentación; y no tengo idea de qué otra forma debería escribirlo.

Otro ejemplo, no he podido "transformar es

compl $4, 28(%esp)

-> en

addl    $28, %esp
cmpl    $4, %esp

Sin embargo, esto está funcionando, pero cambia mi salida ligeramente, por lo que podría no ser correcto también.

Respuestas a la pregunta(2)

Su respuesta a la pregunta