jak połączyć c++ z assemblerem?
Ostatnio zmodyfikowano 2009-05-18 23:05
manfred |
» 2009-05-16 21:07:53 int 0x2E? To "tylko" przerwanie, a raczej syscall będący odpowiednikiem całego Native API. Inna sprawa to to, że albo Winda ma inaczej zmapowane IRQ niż 0x20..0x27 i 0x28..0x2F, albo ten numer wymyślił jakiś pajac (wtedy koliduje z IRQ14 - przerwanie dysku twardego). A pod GCC twój (DOSowy) przykład się skompiluje, jak dasz asm("xorb %al, %al"); asm("int $22"); |
|
manfred |
» 2009-05-16 21:33:31 A jak się ma nie zwalać? Mówiłem - zapomnij o DOSie... |
|
manfred |
» 2009-05-17 16:58:55 Zależy co chcesz zrobić. Jakbyś się nie uczył asma pod DOS tylko pod Windows i nie pchał go tam, gdzie nie trzeba to by było łatwiej. |
|
manfred |
» 2009-05-17 17:01:23 SetConsoleMode + ReadConsole. |
|
manfred |
» 2009-05-17 18:04:14 Funkcje WinAPI. |
|
manfred |
» 2009-05-17 19:58:36 To w ring0 wejdź i sobie odczytaj bezpośrednio z klawiatury - jedyna możliwość w Windowsie, aby to odczytać z pominięciem sterowników i API. Mówię - usiłujesz wepchnąć asm tam, gdzie to nie jest potrzebne. Ja sam, pisząc OS w C++ unikam __asm tam, gdzie się da. |
|
manfred |
» 2009-05-18 19:45:22 Podstawy działania procesora z punktu programisty asma się kłaniają... |
|
manfred |
» 2009-05-18 23:03:55 |
|
1 2 « 3 » 4 |