org 0000h
ljmp main
org 0030h
main:mov 60h,#19h
mov 61h,#33h
mov 62h,#58h
mov 63h,#55h
mov 64h,#56h
mov 65h,#65h
mov r7,#06h
mov r0,#60h
acall dfgh
acall xcvb
ajmp end1
srt: mov a,r7
mov r5,a
srt1: clr f0
mov a,r5
dec a
mov r5,a
mov r2,a
jz srt5
mov a,r0
mov r6,a
srt2:mov a,@r0
mov r3,a
inc r0
mov a,@r0
mov r4,a
clr c
subb a,r3
jnc srt4
setb f0
mov a,r3
mov @r0,a
dec r0
mov a,r4
mov @r0,a
inc r0
srt4:djnz r2,srt2
mov a,r6
mov r0,a
jb f0,srt1
srt5:ret
ret
dfgh:mov 70h,60h
mov 71h,61h
mov 72h,62h
mov 73h,63h
mov 74h,64h
mov 75h,65h
ret
xcvb:mov r0,#00h
mov r1,#00h
mov r2,#07h
mov r3,60h
k:djnz r2,k1
ajmp end1
k1:mov a,r3
cjne a,07fh,k3
k3:jc k2
mov a,r0
inc a
mov r0,a
mov a,r3
inc a
mov r3,a
ajmp k
k2:mov a,r1
inc a
mov r1,a
mov a,r3
inc a
mov r3,a
ajmp k
end1:mov 77h,r0
mov 78h,r1
ret
end
这样行吗?我在韦福上试了下,不过这只是正数排序的,遇到负数就不行了,
要去比较正负数的大小是不是要用 JNB(JB) P1.7, ABCD
==的? |