主题:[讨论]Divide Error!!!!请大家帮一下我!
小弟刚学汇编,我想放一个数进ax里,然后将其输出用的方法是除以10取余,将余数逆着打印.编译,链接都没问题,运行出现"Divide Error"
DATAS SEGMENT
pushcount dw ?
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,29 ;初始化一个值
call binidec ;调用过程将二进制数打印出来
MOV AH,4CH
INT 21H
binidec proc near
mov pushcount,0
mov bx,10
loop1: idiv bx
push dx
inc pushcount
cmp ax,0
jne loop1
print: pop dx
mov ax,dx
add ax,30h
mov dx,ax
mov ah,2
int 21h
dec pushcount
jnz print
binidec endp
CODES ENDS
END START
DATAS SEGMENT
pushcount dw ?
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,29 ;初始化一个值
call binidec ;调用过程将二进制数打印出来
MOV AH,4CH
INT 21H
binidec proc near
mov pushcount,0
mov bx,10
loop1: idiv bx
push dx
inc pushcount
cmp ax,0
jne loop1
print: pop dx
mov ax,dx
add ax,30h
mov dx,ax
mov ah,2
int 21h
dec pushcount
jnz print
binidec endp
CODES ENDS
END START