• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

wolverine

Problema em ASM ao fazer mov

4 mensagens neste tópico

Bom Dia

Estou a fazer um trabalho em asm em que tenho que fazer o codigo para fazer o contraste e o brilho de uma imagem. Ja fiz o codigo todo, mas da me erro nas seguintes linhas:

mov  dl, byte ptr [edi+ecx]  //pdest[y][x] = (Byte) cor


mov byte ptr [edi+ecx], al

mov byte ptr [edi+ecx], bl 

Penso que tera a ver com o facto de o al nao suportar numeros superiores a 255, sera isso?

Atenciosamente

Wolverine

:-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

AX tem 8 bits, logo AL terá metade, logo  não conseguirás conter aí os valores que queres... mas o que realmente dava jeito era saber que tipo de erro tens, o meu assembly já lá vai há 3 anos e nunca mais mexi nisso, posso estar enganado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Epa, este post ta meio velho, mas esse

AX tem 8 bits, logo AL terá metade

nao podia passar....

a arquitectura x86, tem 4 registos de uso geral

AX, BX, CX e DX

cada um com 16bits

cada um deles  divide-se em duas partes (por exemplo o AX)

AH (mais significativa)

AL (menos significativa)

cada uma com 8bits

a partir da serie 386, apareceu uma extensao a todos os registos, tornando-os de 32bits, tendo-se portanto os seguintes:

EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP, EIP

um abraço [ ]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora