DanielRam 0 Posted April 3, 2015 Share Posted April 3, 2015 (edited) For some reason I can't figure out how to do this properly, I been thinking about this for at least a week, I'd really appreciate any help I could get. I need to sort the array1 and put it in array1s, the same thing with array2 and putting the sorted array in array2s. Here's what I have: .text ; Assemble into program memory .retain ; Override ELF conditional linking ; and retain current section .retainrefs ; Additionally retain any sections ; that have references to current ; section ;------------------------------------------------------------------------------- ARY1 .set 0x0200 ARY1S .set 0x0210 ARY2 .set 0x0220 ARY2S .set 0x0230 RESET mov.w #__STACK_END,SP ; Initialize stackpointer StopWDT mov.w #WDTPW|WDTHOLD,&WDTCTL ; Stop watchdog timer ;------------------------------------------------------------------------------- ClEAR clr r4 clr r5 clr r6 Sort1 mov.w #AR1,R4 mov.b @R4+,R5 mov.w #AR1S,R6 call #Sort Sort2 mov.w #AR2,R4 mov.b @R4+,R5 mov.w #AR2,R6 call #Sort Sort clr r7 clr r8 clr r9 clr r10 clr r11 clr r12 clr r13 clr r14 clr r15 clr r10 mov.b R5,R11 dec R11 mov.b @R4+,R7 mov.b @R4,R8 cmp.b R7,R8 jz No_Swap jge No_Swap Swap mov.b R7,R9 mov.b R8,R7 mov.b R9,R8 inc R10 mov.b R8,0(R4) mov.b R7,-1(R4) No_Swap dec R11 tst R11 jnz Swap cmp.b #0,R10 jnz Swap ret Mainloop jmp Mainloop ARRAY1SET mov.b #10,0(R4) mov.b #20,1(R4) mov.b #89,2(R4) mov.b #-5,3(R4) mov.b #13,4(R4) mov.b #63,5(R4) mov.b #-1,6(R4) mov.b #88,7(R4) mov.b #2,8(R4) mov.b #-88,9(R4) mov.b #1,10(R4) ARRAY2SET mov.b #10,0(R4) mov.b #90,1(R4) mov.b #-10,2(R4) mov.b #-45,3(R4) mov.b #25,4(R4) mov.b #-46,5(R4) mov.b #-8,6(R4) mov.b #99,7(R4) mov.b #20,8(R4) mov.b #0,9(R4) mov.b #-64,10(R4) Help please. -Daniel R Edited April 4, 2015 by bluehash Please use code tags next time to improve code readability. Quote Link to post Share on other sites
enl 227 Posted April 3, 2015 Share Posted April 3, 2015 Ok... wow... First: the teacher will come out Use the code tag (the <> at the top of the window) to preserve formatting for code. It also helps preserve sanity.... What algorithm are you trying to implement (insertion sort? selection sort? Bubble (shudder) sort?) Also, comments help a lot to indicate what you are trying to do, and help YOU to see problems as you write the code THat said, Your loops (the jnz at the end of the inner and the outer) are both jumping to the Swap label, and you are never doing the comparison after the first time. This is the core problem. THis is, in part why I ask what algorithm you are trying to implement, since the index handling and comparison/exchange schedule are not the same with different algorithms, so I can not help you fix the problem without more info. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.