21,458
社区成员
发帖
与我相关
我的任务
分享
DATAS SEGMENT
arc dw 7138h,84a6h,29eh
max dw ?
;------------------------
radix dw 16 ;进制数 2,10,16等
table db '0123456789ABCDEF'
;---------------------------
DATAS ENDS
STACKS SEGMENT
stk db 20 dup(0)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,stacks
mov ss,ax
mov sp ,size stk
lea si,arc
mov ax,[si]
mov bx,[si+2]
cmp ax,bx
jae fmax1
mov ax,bx
fmax1:
cmp ax,[si+4]
jae fmax2
mov ax,[si+4]
fmax2:mov max,ax
;----------------------------
xor cx, cx ;cx统计位数
mov ax, max ;ax被除数
mov bx,radix
trans:
mov dx, 0
div bx ;radix除数
push dx ;余数入栈
inc cx
test ax,ax
jnz trans
xor bx,bx
output:
pop bx ;余数出栈
mov dl,byte ptr table[bx];转化为ASCII码
mov ah,2
int 21h
loop output
;---------------------------------
MOV AH,4CH
INT 21H
CODES ENDS
END START