实验10 3数值显示 一直除法溢出
assume cs:code,ds:data,ss:tsdata segment
db 16 dup (0)
data ends
ts segment
dw 8 dup (0)
ts ends
code segment
ks:mov ax,12666
mov bx,data
mov ds,bx
mov si,0
mov bx,ts
mov ss,bx
mov sp,16
mov bx,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show
mov ax,4c00H
int 21H
dtoc:
push dx
push cx
push bx
mov dx,0
t : mov bx,10
div bx
mov cx,ax
add dx,30H
mov ,dl
inc si
jcxz f
jmp shortt
f:
pop bx
pop cx
pop dx
push si
ret
show:
pop si
push bx
push cx
mov al,160
sub dh,1
mul dh
mov bx,ax
sub dl,1
mov al,2
mul dl
add bx,ax
mov ax,0b800H
add ax,bx
mov es,ax
mov di,0
mov ah,cl
s: mov al,
mov es:,ax
sub si,1
mov cx,si
add di,2
loop s
mov al,
mov es:,ax
push cx
push bx
ret
code ends
end ks我改了一个早上了都一直在除法溢出是在没办法了来论坛求教求教
用debug看到除法的得二次循环就除法溢出了:Q 哈我终于搞定了
原来我没把dx里的余数清掉assume cs:code,ds:data
data segment
db 16 dup (0)
data ends
code segment
ks:mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show
zh: push cx
mov ax,4c00H
int 21H
dtoc:
push cx
mov dx,0
t: mov bx,10
div bx
add dx,30H
mov ds:,dl
mov dx,0
inc si
mov cx,ax
jcxz f
loopt
f:
add al,30H
mov ,al
mov bx,si
pop cx
ret
show:
push cx
mov al,160
sub dh,1
mul dh
mov bx,ax
sub dl,1
mov al,2
mul dl
add bx,ax
mov ax,0b800H
mov es,ax
mov ah,cl
mov di,0
s: mov cx,si
mov al,ds:
mov es:,ax
sub si,1
add di,2
jcxz o
jmp short s
o: mov al,
mov es:,ax
jcxz zh
code ends
end ks这个是改好的分享一哈希望有人给点建议
还有杂关帖子,这个也要研究一下 实验10的第3个实验很考验人啊。我以前做的时候做了2天才搞定,还问了好多人的呵呵
页:
[1]