A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Cap. III - Registradores do Microprocessador

Sab

15

Dez

2007


13:46

(11 votos, média 4.09 de 5) 


Mostrando resultados

No nosso código anterior não é mostrado o resultado da operação aritmética. Para isto devemos conhecer as seguintes funções de conversão da masm32.lib:

atodw,addr Numero_decimal

Esta função converte cadeias de texto (quantidades decimais) para seu valor inteiro e a quantidade convertida será devolvida para EAX. Exemplo:

.data Numero_decimal db "10",0 .code Invoke atodw,addr Numero_decimal mov ebx, eax ;EAX contém o valor inteiro 10 ou Ah
htodw,addr Numero_Hexadecimal

Esta função é semelhante à atodw, mas trabalha com quantidades hexadecimais e as converte para o seu valor inteiro. A quantidade convertida será devolvida para EAX.

dwtoa,Quantidade,addr Numero_Convertido_decimal

Esta função converte valores inteiros em cadeias de texto decimal. Seria o contrário da função atodw.

Quantidade - Neste parâmetro se pode utilizar variáveis, valores inteiros e registros do windows. Exemplo:

Caso 1 - valor inteiro: Invoke dwtoa,12, addr Numero_Convertido_decimal Caso 2 - Variáveis tipo DD: Invoke dwtoa, Valor_1, addr Numero_Convertido_decimal Caso 3 - Registros do Windows: Invoke dwtoa, EAX, addr Numero_Convertido_decimal
dw2hex,Quantidade,addr Numero_Convertido_Hex

Esta função possui os mesmos parâmetros da função dwtoa, com a diferença de que o resultado é uma quantidade de texto hexadecimal. É o contrário da função htodw.

Informações adicionais