Assembly + C

1. Assembly + C

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 19/05/2006 - 20:21h

Olá crânios...
Meu problema é o seguinte....
Quando coloco instruções em Assembly em meu codigo, sempre retorna um erro do Assembler.
Por exemblo, coloquei no meu codigo:

int main(void){
__asm__("mov ax, 09h");
return 0;
}

// O codigo acima é so pra exemplo... sei que num
// faz nada... :(

Bom... ele retorna o erro:

": too many memory references for mov"

Traduzindo: muitas referencias à memoria para mov

Como faço para conseguir compilar o programa?
Desde já agradeço...
Enzo 'Slackware_10'


  


2. Re: Assembly + C

Diego da Silva de Medeiros
diegotosco

(usa Slackware)

Enviado em 21/05/2006 - 23:09h

Desculpe a ignorância, mas porque o "ax" na instrução mov? Programo um pouco em assembly e conheço comandos como "MOV A,90h" e "MOVX A,90h", mas mov ax nunca tinha visto.


3. Registradores

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 27/05/2006 - 13:57h

A arquitetura interna do 8086 por padrao 4 registradores de 16bits (AX, BX, CX, DX), e 8 registradores de 16bits (AH, AL, BH, BL, CH, CL, DH, DL). Normalmente quando a instrução MOV é usada com registradores desse tipo (AX, AH, AL) são parametros de interrupções do sistema....




4. Asm at&t

Killocan
killocan

(usa Slackware)

Enviado em 17/09/2007 - 01:33h

Cara seguinte se vc estiver usando o gcc, ele usa o asm no padrão AT&T e as instruções usam uma sintaxe um pouco diferente, principalmente na ordem de quem é destino e quem é fonte, tpo no padrão intel é destino, fonte como vc fez, mov ax, 10... vai mover 10 pra ax, no padrão at&t seria mov 10, %eax saca, é fonte destino, recomendo que vc dê uma olhada na pagina do gcc vai no www.gnu.org que lá tu acha as docs e vê na parte de inline assembly code... :) vlw, qq coisa grita ae. http://killocan.freezope.org


5. Re: Assembly + C

M4iir1c10
M4iir1c10

(usa Arch Linux)

Enviado em 17/09/2007 - 07:30h

K-ra-k da pra mistura Assembler com C no Linux? Legal, vivendo e aprendendo...






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts