主题:CX=07D7 怎么取出10进制的2007????????
bxjbxj
[专家分:350] 发布于 2007-03-08 09:23:00
谢谢
回复列表 (共3个回复)
沙发
ccpp [专家分:9360] 发布于 2007-03-08 13:07:00
除以10取余,一直到商小于 10
即可转化为10进制
这个方法和 10进制 转换成 2进制 一样
板凳
bxjbxj [专家分:350] 发布于 2007-03-08 13:32:00
有代码就好了
3 楼
ccpp [专家分:9360] 发布于 2007-03-08 22:28:00
;你可以参见下面程序
;下面的程序把内存的 无符号数转换成 十进制 整数
;并把数字转换成asc 2 码 在屏幕显示
title getbx (com文件)
.model tiny
.code
org 100h
;---------------------
start:
mov bx,07d7h ;要显示的数X = 07D7
mov dx,0 ;装入
mov ax,bx ;被除数
lea si,sss ;
mov cx,1
mov bx,10 ;装入除数
@10:
cmp ax,10;小于10
jb @20
xor dx,dx ;异或清0 ,等价;mov dx,0
div bx ;除以10后取余数
or dl,030h ;余数变成对应的 ASC2 码
mov [si],dl ;保存ASC2 码
inc si
inc cx
jmp @10
@20:
or al,030h
mov [si],al
@30:
mov ah,02h ;反向逐个
mov dl,[si] ;显示被保存的ASC2 码
int 21h
dec si
loop @30
.exit
sss db 5 dup(?)
end start
我来回复