; Program Name: Dec_ASCII.asm
Dec_ASCII SEGMENT
ASSUME CS:Dec_ASCII,DS:Dec_ASCII
ORG 100H
Start: jmp Begin
ASCII DB 5 dup(' ') ;保存十進制無符號數的ASCII
ASCII_End DB '$' ;字符串結束標誌
Decimal DW 89158 ; 十進制無符號數,最大65535。
Begin: lea di,ASCII_End ; 字符串尾地址
dec di
mov bx,10 ; 用於除10,取商數和余數
std ;設置變址寄存器變址方向
mov ax,Decimal ; 取十進制無符號數
ASCII_Ctr: xor dx,dx
div bx ; 除10,取商數和余數
xchg ax,dx ;交換商數和余數
or al,30h ;轉換成ASCII碼
stosb ;保存ASCII碼
mov ax,dx ;把商數放入ax中
cmp ax,0
ja ASCII_Ctr ;商數大於0,繼續取余數
lea dx,ASCII ;字符串首地址
mov ah,9 ; 顯示結果
int 21h
Exit_Proc: mov ax,4c00h ;結束程序
int 21h
Dec_ASCII ENDS
END Start