Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ i asembler

Ostatnio zmodyfikowano 2015-09-11 14:57
Autor Wiadomość
CacholaPL
Temat założony przez niniejszego użytkownika
C++ i asembler
» 2015-08-25 12:01:57
Witam, chciałbym w programie w C++ wywołać funkcję asemblerową. Funkcja ta sprawdza czy wciśnięty został klawisz i zwraca kod ASCII

MOV AH,10H
INT 16H

Chciałbym zwracaną wartość przypisać do zmiennej w C++, ale nie mam pojęcia jak to zrobić :/
P-136842
Piastlis
» 2015-08-25 12:33:12
https://sites.google.com/site​/prognisk​/wstawki-asemblerowe-w-c#TOC-Wstawki-asemblerowe-


Ale int 16h nie przejdzie.To funkcja MS-DOS.Da się zastosować tylko w emulatorze np. Dosbox.
P-136843
CacholaPL
Temat założony przez niniejszego użytkownika
» 2015-08-25 13:27:01
Nadal nie rozumiem o co chodzi :/ Próbowałem jeszcze tak, ale niezbyt chce działać:

C/C++
#include <iostream>

using namespace std;

int main()
{
    asm( "mov al, 1" );
    if( al == 32 )
    {
        cout << "Wcisnieto Spacje" << endl;
    }
}
P-136845
pekfos
» 2015-08-25 14:38:56
To, co chcesz osiągnąć, nie zadziała.

C/C++
asm( "mov al, 1" );
if( al == 32 )
Tym bardziej to..
P-136853
mateczek
Przerwania Biosu
» 2015-09-06 12:47:23
Int 16h to wywołanie przerwanie biosu. Chcesz z tego skorzystać pod Windowsem?? Czy twój komputer ma  w ogóle Bios??
Bo Windows nawet Ci nie puści takiego kodu który z przestrzeni użytkownika próbuje się dorwać do sprzętu :P. Może napisanie sterownika w trybie jądra to by puścił ale w zwykłym programie nie przejdzie !!!

Taki kod jak proponujesz przeszedł by co najwyżej w win98 bo ten nie miał jeszcze takich zabezpieczeń i ochrony pamięci. I wiem, że  windows 98 był ostatnim systemem M$ gdzie bezpośrednie odwołania do portów przechodziły. W nowszych trzeba było sterownik instalować i obsługiwać porty przy pomocy API (przerwaniami się nie bawiłem:P)

Tak czy siak assembler nie jest uniwersalny i tutaj jak chcesz pisać to potrzebne są informacje
jaki komputer?? jaki system operacyjny docelowy?? Oraz jaki kompilator c++?? (bo pewnie ciut inaczej będzie BorlandzieC++ ciut inaczej w MSvisualu i trochę inaczej w gcc)??

[url]https://pl.wikibooks.org/wiki/C/%C5%81%C4%85czenie_z_innymi_j%C4%99zykami[/url]

P-137288
kmlkamilek
» 2015-09-11 14:57:04
P-137418
« 1 »
  Strona 1 z 1