主题:显示的问题!!!
看看我程序!这是个冒泡程序,怎么显示不了全部,只显示:00010002000300040005
为什么不显示到0006???
data segment
Y dw 2,4,3,5,1,6
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov si,6
dec si
again: mov di,si
mov bp,0
next: mov ax,Y[bp]
cmp ax,Y[bp+2]
jge nochg
xchg ax,Y[bp+2]
mov Y[bp],ax
nochg: add bp,2
dec si
jnz next
mov si,di
mov bx,Y[bp]
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
dec si
jnz again
ret
main endp
code ends
end start
为什么不显示到0006???
data segment
Y dw 2,4,3,5,1,6
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov si,6
dec si
again: mov di,si
mov bp,0
next: mov ax,Y[bp]
cmp ax,Y[bp+2]
jge nochg
xchg ax,Y[bp+2]
mov Y[bp],ax
nochg: add bp,2
dec si
jnz next
mov si,di
mov bx,Y[bp]
mov ch,4
rotate: mov cl,4
rol bx,cl
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printit
add al,7h
printit:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
dec si
jnz again
ret
main endp
code ends
end start