Ensamblado, mostrando el programa en código ascii.
; El siguiente programa es un ensamblado de 16 bits, tomando el número decimal 89158 como ejemplo. Se compila correctamente y se ejecuta correctamente.
; Nombre del programa: Dec_ASCII.asm
SEGMENTO Dec_ASCII
ASSUME CS:Dec_ASCII,DS:Dec_ASCII
ORG 100H
Inicio: jmp Begin
ASCII DB 5 dup(' ') ;Guardar el número decimal ASCII sin signo
ASCII_End DB '$' ;Indicador de fin de cadena p>
Decimal DW 89158; Número decimal sin signo, máximo 65535.
Comienzo: lea di,ASCII_End; dirección final de cadena
dec di
mov bx,10 usado para dividir 10, obtener el cociente y el resto
p>std ;Establece la dirección del índice del registro de índice
mov ax,Decimal
ASCII_Ctr: xor dx,dx
div bx; Dividir por 10, obtener el cociente y el resto
xchg ax,dx; Intercambiar el cociente y el resto
o al,30h >
stosb ;Guardar el código ASCII
mov ax,dx ;Poner el cociente en ax
cmp ax,0
ja ASCII_Ctr ;Cociente Si mayor que 0, continúe tomando el resto
lea dx,ASCII; cadena primera dirección
mov ah,9; mostrar resultado
int 21h
Exit_Proc: mov ax,4c00h ;Finalizar programa
int 21h
Dec_ASCII FINALIZA
FINALIZAR Inicio