Poslao: 18 Apr 2010 18:59
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
nasao sam sledeci kod na netu i prepisao u devcpp
#include <iostream.h>
int main()
{
asm("in %al,61");
asm("and %al,252");
asm("out 61,%al");
}
izbacuje gresku
Error suffix or operands invalid for `in'
Error suffix or operands invalid for `out'
kako se ubacuje inline asm u devcpp
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 15 Maj 2010 21:05
|
offline
- Janki90
- Elitni građanin
- Pridružio: 28 Maj 2006
- Poruke: 1536
- Gde živiš: Seven holy paths to hell
|
Sta treba da radi taj kod??
in i out nemas u assembly syntax ...
|
|
|
|
Poslao: 15 Maj 2010 21:54
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
I ja sam nesto lupao glavu oko ovoga.
Jedino sto mi pada na pamet je mozda da je u pitanju razlika izmedju Intelove i AT&T sintakse.
|
|
|
|
Poslao: 17 Maj 2010 16:17
|
offline
- SrdjanK90
- Građanin
- Srdjan Kordic
- Informacione Tehnologije
- Pridružio: 30 Dec 2009
- Poruke: 43
- Gde živiš: Niš\Babušnica
|
Ako hoćes da u c/c++ program ubacis asemblerski kod kucas _ASM pa velika zagrada, pa kod u asembleru(naravno asemblerski kod tima MOV ax,2 ,PUSH ax i sl) ne mozes tako kao sto si ti pisao to asemblerski prevodilac ne razume.
|
|
|
|
Poslao: 17 Maj 2010 17:34
|
offline
- Janki90
- Elitni građanin
- Pridružio: 28 Maj 2006
- Poruke: 1536
- Gde živiš: Seven holy paths to hell
|
SrdjanK90 ::Ako hoćes da u c/c++ program ubacis asemblerski kod kucas _ASM pa velika zagrada, pa kod u asembleru(naravno asemblerski kod tima MOV ax,2 ,PUSH ax i sl) ne mozes tako kao sto si ti pisao to asemblerski prevodilac ne razume.
int i;
_ASM{
mov eax,i;
}
ovo je definicija za MS VS 2008...
definicija za devc++ je:
int i;
asm(".intel_syntax noprefix \n"
"mov eax,_i \n"
);
|
|
|
|
Poslao: 30 Sep 2010 17:38
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
Janki90 ::Sta treba da radi taj kod??
in i out nemas u assembly syntax ...
zbog bolesti se nisam javio ranije
IN i OUT treba da posalju ili prime byte na paralelni port
podrzane su kod intela a ja imam amd procesor inace otale .asm komande rade
|
|
|
|
|
Poslao: 01 Okt 2010 17:37
|
offline
- vladobk
- Građanin
- Pridružio: 11 Feb 2006
- Poruke: 166
- Gde živiš: Loznica
|
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
/* Add 10 and 20 and store result into register %eax */
__asm__ ( "movl $10, %eax;"
"movl $20, %ebx;"
"addl %ebx, %eax;"
);
/* __asm__("in %al,61"); */
system("PAUSE");
return 0;
}
ovaj kod radi a kad ukljucim in
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
/* Add 10 and 20 and store result into register %eax */
__asm__ ( "movl $10, %eax;"
"movl $20, %ebx;"
"addl %ebx, %eax;"
);
__asm__("in %al,61");
system("PAUSE");
return 0;
} izbaci gresku
probao sam sve varijante u biosu i daje istu gresku, probacu u makro assembleru
kako je ovo dobro radilo u DELPHI1
hvala za linkove
|
|
|
|