teste

Começando no assembly

Primeiro exemplo

;nome do programa: one.asm
;
.model small
.stack
.code
mov AH,1h ;Função 1 do DOS
int 21h ;lê caracter e retorna código ASCII ao registrador AL
mov DL,AL ;move o código ASCII para o registrador DL
sub DL,30h ;subtrai de 30h para converter a um dígito de 0 a 9
cmp DL,9h ;compara se o dígito está entre 0 e 9
jle digit1 ;se verdadeiro obtém o primeiro número (4 bits)
sub DL,7h ;se falso, subtrai de 7h para converter a uma letra A-F
digit1:
mov CL,4h ;prepara para multiplicar por 16
shl DL,CL ;multiplica para converter dentro dos 4 bits mais altos
int 21h ;obtém o próximo caracter
sub AL,30h ;repete a operação de conversão
cmp AL,9h ;compara o valor 9h com o conteúdo do registrador AL
jle digit2 ;se verdadeiro, obtém o segundo dígito
sub AL,7h ;se falso, subtrai de 7h
digit2:
add DL,AL ;adiciona o segundo dígito
mov AH,4Ch ;função 4Ch do DOS (exit)
Int 21h ;interrupção 21h
End ;finaliza o programa

Este programa lê dois caracteres e os imprime na tela