Har börjat kika på assembler. Vet oxå att det ska gå att bygga in i c++. Men vilket kommando använder man? använder DEV c++ Tack nu acepterar Dev c++ asm bloket men inte koden :( Det finns två syntaxer för x86-assembly: Intel och AT&T. Du har skrivit Intel-syntax, men GCC vill ha AT&T-syntax.Asseambler i c++
    
    
vill typ kunna skriva
void main()
{
  asm
  {
    mov xxx xxx xx
  }
}Sv: Asseambler i c++
    
    	asm (
		"movl $0x10, %eax;"
		"movl $0x20, %ebx;"
	);
Dev-C++ använder GCC och där skrivs inbäddad assembly som <b>asm("kod")</b> eller <b>__asm("kod")</b>. Man använder alltså en enda sträng med assembly (flera strängar separerade med "white-space" som ovan slås ihop till en enda sträng). Använder man flera assemblyinstruktioner måste man skilja dessa åt med radbrytningar (t.ex. <b>"movl $0x10, %eax\n"</b>) eller med semikolon (som jag gjort ovan).
    Sv:Asseambler i c++
    
    
hitta detta exemplet på nätet
 asm(
        "mov Ax,0B800h;"       //startadressen för skärmminnet (i textläge)
        "mov es,Ax;"           //lägg startadressen i es
        "xor di,di;"           //nollställ di (börja vid början av skärmen)
        "mov al, 65;"          //65 = ascii för tecknet 'A' till al
        "mov ah, 16*4+1;"      //Attribut = blå text på röd bakgrund till ah.
        "mov cx,2000;"         //25*80 = 2000 tecken på skärmen
        "rep stosw;"           //skriv ax till skärmminnet och räkna upp di 2000 ggr
);
vore tacksam om nån kan hjälpa mig rätta till koden
felmedelande: To many memory reference for 'mov'Sv: Asseambler i c++
    
    
En del om skillnaden mellan de två syntaxerna: http://madchat.org/coding/asm/att-vs-intel.txt
Mer om x86-assembly: http://en.wikibooks.org/wiki/Programming:x86_assembly