Publicado por Listeiro 037 em (última atualização em 01/04/2013) [ 3298 hits ]
Login: Listeiro 037, 190636 pontos
Publicado por Listeiro 037 em 31/07/2012
Changelog: Este método de escrita não usa mais a string com os caracteres a serem usados na impressão.
É feita normalmente a sequência de divisões por 10 e acumulados os restos para impressão de caracteres.
Ao invés disso os caracteres são colocados diretamente na pilha.
Daí o endereço da pilha com o caracter é enviado ao registrador para ser usado na impressão de um único caracter.
Sendo repetido isto em loop, até ser encontrado por comparação o valor que identifica o final da série de caracteres, que é o ' \ 0 ', o mesmo da linguagem C.
Publicado por Listeiro 037 em 28/02/2013
Changelog: Este versão de código, semelhante à versão de número 3, coloca os caracteres diretamente na pilha.
Nas duas versões anteriores, os caracteres eram desempilhados e impressos um a um por loop.
Aqui neste caso, quando a interrupção para a escrita é chamada, ao invés dos caracteres serem escritos um a um na tela, é passada para a interrupção um endereço de valor inicial dos caracteres na pilha (esp) e a quantidade total de caracteres que foram empilhados.
Deste modo são impressos todos os caracteres de uma só vez.
Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembly)
Calculadora em C com Assembly (multiplataforma)
GAS Calculadora de um dígito
GAS Inteiro para String
GAS Informações do sistema