Эльфы большие и маленькие

             

ассемблерный файл elf_tiny.asm, сконструированный голыми руками


Теперь, когда борьба идет за каждый байт, воспользуется ассемблерными трюками, оптимизирующими размер ассемблерного кода. Во-первых, заменим MOV EBX, 1 на XOR EBX,EBX/INC EBX

(напоминаю, NASM использует INTEL'й синтаксис), во вторых, сохраним это значение в стеке однобайтовой командой PUSH EBX — позднее оно нам понадобиться для системного вызова exit. В-третьих, не будет явно инициализировать код возврата — он ведь нам все равно не нужен.

$nasm -f bin -o elf_tiny elf_tiny.asm

$chmod +x elf_tiny

$ls -l elf_tiny

-rwxr-xr-x  1 root staff 118 2006-04-20 19:29 elf_tiny

./elf_tiny

hello, elf



Содержание раздела