LINUX.ORG.RU

GCC. 16-битный код.


0

0

GCC может генерировать 16-битный код? я прочитал, что нет. а если, например, пишется 16-битная оська реального режима? что тогда делать?

anonymous

Ответ на: комментарий от ip1981

>GCC может генерировать перфокарты?

я далеко не специалист, но объясните тогда как он генерирует код для 8битног AVR

anonymous
()

Может. Но код -- говно. (префиксы)
> cat test.c && gcc test.c -c -o test.o && ld test.o -o test -s && objdump -d test -M i8086

__asm__(".code16");

int _start() {
        short a = 8;
        short b = 7;
        return a * b;
}

test:     file format elf32-i386


Disassembly of section .text:

08048074 <.text>:
 8048074:       66 55                   push   %ebp
 8048076:       66 89 e5                mov    %esp,%ebp
 8048079:       66 83 ec 10             sub    $0x10,%esp
 804807d:       67 c7 45 fc 08 00       addr32 movw $0x8,-0x4(%ebp)
 8048083:       67 c7 45 fe 07 00       addr32 movw $0x7,-0x2(%ebp)
 8048089:       67 66 0f bf 55 fc       addr32 movswl -0x4(%ebp),%edx
 804808f:       67 66 0f bf 45 fe       addr32 movswl -0x2(%ebp),%eax
 8048095:       66 0f af c2             imul   %edx,%eax
 8048099:       c9                      leave
 804809a:       c3                      ret


для 16 бит лучше bcc. (и вообще пиши в PM)

grindars
()
Ответ на: комментарий от grindars

grindars, мдя.. и правда префиксы. я просто пишу простую 16-битную ОСЬку. придется на чистом асме. а может и лучше так =) привык к нему...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.