asembler w c++

0

tak wyglada kod:
DWORD a,b;
__asm mov a,b ;

i nie działa próbowąłem też z {} też nie działa pisze improper operand type

mam ms visual c++ 7.0

0

Nie możesz przenosić bezpośrednio jednej 'zawartości pamięci' do innej. trzeba to zrobic pośrednio; piszę z głowy, więc:
mov eax, [a]
mov [b], eax

albo:

push [a]
pop [b]

0

dzieki teraz działa

0

Tez mam problem z assemblerem.
Chce sprawdzic stan portu lpt i w tym celu wpisuje wstawke assemblerowa. W Dev-cpp system zamieszczania kodu asma jest dla mnie co najmniej dziwny.

__asm("mov %dx,378");
__asm("in %al,%dx");

Pierwsza linijka dziala, ale druga juz nie. "Suffix or operands invalid for 'in'." Dokumentacje Dev-cpp traktujace o asmie, z ktorymi sie spotkalem, nie zawieraly ani slowa o komendzie 'in'. Jak prawidlowo zapisac ten kod?

0

poczytać o składni AT&T

0

Byc moze instrukcja "in" nie jest obslugiwana (rozkaz jest zapisany poprawnie) z tego wzgledu ze jest to instrukcja do operacji na portach. A nawet gdyby udalo ci sie to skompilowac nie bedzie dzialac pod xp/nt (prog sie wysypie - niedozwolona instrukcja). W tych systemach dostep do portow nie jest mozliwy (ale w 9x jest).

0

wlasnie korzystam z w98. jak mozna sie dostac do portow przy uzyciu dev-cpp? kiedy probowalem outport, outp i outportb wyskakiwaly mi jakies bledy wewnatrz include'ow. dlatego probowalem asma, ale tez nie daje rady.

0

są gotowe funkcje do i/o w msvcrt.dll.
Nie jestem za dobry w C i nie potrafię tego zlinkować w devie:

extern int __cdecl _inp(int port);
extern void __cdecl _outp(int port, int bajt);
extern void Sleep(int ms);

int main()
{
//_inp(888);
for (int a=0; a<25; a++)
    {
    _outp(888,255);
    Sleep(200);
    _outp(888,0);
    Sleep(200);
    }
return 0;
}

so, podłączona dioda do lpt powinna sobie migać, ale dev jest taki uparty że nie da się napisać czegoś w stylu #use <libmsvcrt.a>

0

wpisalem ten kod, zalaczylem biblioteke msvcrt (w opcjach projektu trzeba wpisac "-lmsvcrt"), ale i tak wyskakuje blad przy linkowaniu. w borlandowym C inporty i outporty pieknie dzialaja. dev-cpp odbiera nadzieje :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1