ассемблер

Кто там спрашивал про ОС на ассемблере?

Вышел очередной релиз операционной системы BareMetal OS – 0.4.9. Его главными особенностями являются возможность сетевой коммуникации через Ethernet, а также функции выделения/освобождения памяти. BareMetal OS является написанной на ассемблере открытой 64-битной операционной системой для архитектуры x86-64, приложения для которой создаются на ассемблере или на C/C++.

Как в Линуксе сделать картинку или видео с вшитым ассемблерным кодом

Для начала нам надо установить nasm и Hex editor
Потом пишем нашу программу на ассемблере и вставляем туда строчку
incbin "porn.wmv"
porn.wmv должна находится в той же папке где мы и работаем
Компилируем
nasm -f elf prog.asm
Линкуем:
ld -s -o halo prog.o
Потом открываем оригинал porn.wmv в hex editor и смотрим с чего начинается файл
Потом окрываем слинкованный файл и стираем лишнее по отношению к porn.wmv
То есть при компиляции и линковании в halo было что добавлено типа "ELF и парапапа " все это надо стереть чтобы halo начиналось также как и porn.wmv
Вот и все
Прошу прощения чт

inline assembler в С

Не могу понять почему не работает встроенный ассемблер. Компилятор ругается. Вот код.
>
int func(int x,int y)
{
int retval;
__asm__ __volatile__(
"addl %%eax,%%ebx\n\t"
:"=b"(retval)
:"a"(a),"b"(b)
:"eax","ebx"
);
return(retval);
}

int main()
{
int x,y,z;

x=1;
y=2;
z=func(x,y);
return(0);
}

gcc 4.3.3 выдаёт:
expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’

Хотя код правильный.

style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-4493870272388852"
data-ad-slot="6622567932">

RSS-материал