Come scrivere assembly inline in Pascal GNU?
-
12-09-2019 - |
Domanda
Dal momento che non v'è riferimento ufficiale, ho ricevuto solo un'esercitazione gpcasm.zip .Ma quando provo a seguire il tut e provare la linea esempio di montaggio sul mio debian.The GPC non era felice con esso.
gnu_asm.pas : In procedure 'MyStupidDelay': gnu_asm.pas:3: error : can't find a register in class AREG while reloading asm
Ecco il codice
program gnu_asm;
Procedure MyStupidDelay(time : integer);
Begin
Asm("0 : pushl $0xfffff
1 : decl(%%esp)
jnz 1b
addl $0x4, %%esp
decl %%eax
jnz 0b"
:
: "a" (time)
: "eax" );
end;
begin
write("only for test");
end.
Un'altra domanda, ci sono altri refernece, tutorial, esempi su assembly inline in Pascal GNU.
Grazie.
Soluzione
Il problema non può essere la parte pascal ma la parte assembler.
questo per un problema simile.
Per ulteriori informazioni pls indicare la vostra macchina di destinazione e informazioni sulle opzioni di compilazione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow