From de2e42bef3e6126e64115b001e975601de5f82f3 Mon Sep 17 00:00:00 2001 From: unlockable Date: Fri, 12 Jul 2024 21:26:37 +0800 Subject: [PATCH] First display unsorted numbers --- 23sort_nums.asm | 450 ++++++++++++++++++++++--------------------- 23sort_nums.txt | 317 +++++++++++++++--------------- 23sort_nums_mars.txt | 39 ++-- 3 files changed, 427 insertions(+), 379 deletions(-) diff --git a/23sort_nums.asm b/23sort_nums.asm index 3cccc53..27f652a 100644 --- a/23sort_nums.asm +++ b/23sort_nums.asm @@ -1,343 +1,361 @@ .text #initialize $sp - lui $sp, 0x4000 - addi $sp, $sp, 0x7ff + lui $sp, 0x4000 + addi $sp, $sp, 0x7ff # load digit to mem - lui $s0, 0x4000 - addi $s0, $s0, 0x20 + lui $s0, 0x4000 + addi $s0, $s0, 0x20 #0 - addi $s1, $zero, 0x3f - sw $s1, 0($s0) + addi $s1, $zero, 0x3f + sw $s1, 0($s0) #1 - addi $s1, $zero, 0x6 - sw $s1, 4($s0) + addi $s1, $zero, 0x6 + sw $s1, 4($s0) #2 - addi $s1, $zero, 0x5b - sw $s1, 8($s0) + addi $s1, $zero, 0x5b + sw $s1, 8($s0) #3 - addi $s1, $zero, 0x4f - sw $s1, 12($s0) + addi $s1, $zero, 0x4f + sw $s1, 12($s0) #4 - addi $s1, $zero, 0x66 - sw $s1, 16($s0) + addi $s1, $zero, 0x66 + sw $s1, 16($s0) #5 - addi $s1, $zero, 0x6d - sw $s1, 20($s0) + addi $s1, $zero, 0x6d + sw $s1, 20($s0) #6 - addi $s1, $zero, 0x7d - sw $s1, 24($s0) + addi $s1, $zero, 0x7d + sw $s1, 24($s0) #7 - addi $s1, $zero, 0x7 - sw $s1, 28($s0) + addi $s1, $zero, 0x7 + sw $s1, 28($s0) #8 - addi $s1, $zero, 0x7f - sw $s1, 32($s0) + addi $s1, $zero, 0x7f + sw $s1, 32($s0) #9 - addi $s1, $zero, 0x6f - sw $s1, 36($s0) + addi $s1, $zero, 0x6f + sw $s1, 36($s0) #A - addi $s1, $zero, 0x77 - sw $s1, 40($s0) + addi $s1, $zero, 0x77 + sw $s1, 40($s0) #B - addi $s1, $zero, 0x7c - sw $s1, 44($s0) + addi $s1, $zero, 0x7c + sw $s1, 44($s0) #C - addi $s1, $zero, 0x58 - sw $s1, 48($s0) + addi $s1, $zero, 0x58 + sw $s1, 48($s0) #D - addi $s1, $zero, 0x5e - sw $s1, 52($s0) + addi $s1, $zero, 0x5e + sw $s1, 52($s0) #E - addi $s1, $zero, 0x79 - sw $s1, 56($s0) + addi $s1, $zero, 0x79 + sw $s1, 56($s0) #F - addi $s1, $zero, 0x71 - sw $s1, 60($s0) + addi $s1, $zero, 0x71 + sw $s1, 60($s0) # save the numbers to be sorted - lui $s0, 0x4000 - addi $s0, $s0, 0x60 + lui $s0, 0x4000 + addi $s0, $s0, 0x60 - addi $s1, $zero, 0x4b8d - sw $s1, 0($s0) - addi $s1, $zero, 0x2307 - sw $s1, 4($s0) - addi $s1, $zero, 0xfae0 - sw $s1, 8($s0) - addi $s1, $zero, 0x7815 - sw $s1, 12($s0) - addi $s1, $zero, 0xc105 - sw $s1, 16($s0) - addi $s1, $zero, 0x84f0 - sw $s1, 20($s0) - addi $s1, $zero, 0xdb6 - sw $s1, 24($s0) - addi $s1, $zero, 0xf21d - sw $s1, 28($s0) - addi $s1, $zero, 0xe97a - sw $s1, 32($s0) - addi $s1, $zero, 0xa3b6 - sw $s1, 36($s0) - addi $s1, $zero, 0x8466 - sw $s1, 40($s0) - addi $s1, $zero, 0x3a25 - sw $s1, 44($s0) - addi $s1, $zero, 0x5df - sw $s1, 48($s0) - addi $s1, $zero, 0xd2de - sw $s1, 52($s0) - addi $s1, $zero, 0xba7a - sw $s1, 56($s0) - addi $s1, $zero, 0x7809 - sw $s1, 60($s0) - addi $s1, $zero, 0xf6a8 - sw $s1, 64($s0) - addi $s1, $zero, 0x361d - sw $s1, 68($s0) - addi $s1, $zero, 0x3adb - sw $s1, 72($s0) - addi $s1, $zero, 0x969a - sw $s1, 76($s0) + addi $s1, $zero, 0x4b8d + sw $s1, 0($s0) + addi $s1, $zero, 0x2307 + sw $s1, 4($s0) + addi $s1, $zero, 0xfae0 + sw $s1, 8($s0) + addi $s1, $zero, 0x7815 + sw $s1, 12($s0) + addi $s1, $zero, 0xc105 + sw $s1, 16($s0) + addi $s1, $zero, 0x84f0 + sw $s1, 20($s0) + addi $s1, $zero, 0xdb6 + sw $s1, 24($s0) + addi $s1, $zero, 0xf21d + sw $s1, 28($s0) + addi $s1, $zero, 0xe97a + sw $s1, 32($s0) + addi $s1, $zero, 0xa3b6 + sw $s1, 36($s0) + addi $s1, $zero, 0x8466 + sw $s1, 40($s0) + addi $s1, $zero, 0x3a25 + sw $s1, 44($s0) + addi $s1, $zero, 0x5df + sw $s1, 48($s0) + addi $s1, $zero, 0xd2de + sw $s1, 52($s0) + addi $s1, $zero, 0xba7a + sw $s1, 56($s0) + addi $s1, $zero, 0x7809 + sw $s1, 60($s0) + addi $s1, $zero, 0xf6a8 + sw $s1, 64($s0) + addi $s1, $zero, 0x361d + sw $s1, 68($s0) + addi $s1, $zero, 0x3adb + sw $s1, 72($s0) + addi $s1, $zero, 0x969a + sw $s1, 76($s0) main: - addi $a0, $zero, 20 + jal disp_num_in_mem + addi $a0, $zero, 20 jal insertion_sort +end: + jal disp_num_in_mem + j end - lui $s0, 0x4000 +disp_num_in_mem: + addi $sp, $sp, -20 + sw $ra, 4($sp) + sw $s0, 8($sp) + sw $s1, 12($sp) + sw $s2, 16($sp) + sw $s3, 20($sp) + + lui $s0, 0x4000 # s1 = 0x40000010 - addi $s1, $s0, 0x10 + addi $s1, $s0, 0x10 # s0 = 0x40000060 - addi $s0, $s0, 0x60 -display_numbers_loop: - addi $s2, $zero, 0 - addi $s3, $zero, 20 + addi $s0, $s0, 0x60 + addi $s2, $zero, 0 + addi $s3, $zero, 20 display_single_number: - sll $t0, $s2, 2 - add $t0, $s0, $t0 - lw $a0, 0($t0) - addi $a1, $s1, 0 + sll $t0, $s2, 2 + add $t0, $s0, $t0 + lw $a0, 0($t0) + addi $a1, $s1, 0 jal display_number - addi $s2, $s2, 1 - sub $t0, $s3, $s2 - bgtz $t0, display_single_number + addi $s2, $s2, 1 + sub $t0, $s3, $s2 + bgtz $t0, display_single_number jal display_empty - j display_numbers_loop + + lw $ra, 4($sp) + lw $s0, 8($sp) + lw $s1, 12($sp) + lw $s2, 16($sp) + lw $s3, 20($sp) + addi $sp, $sp, 20 + jr $ra # ------------------------------------------------------ # a0 is the number to be displayed, a1 is the bcd control addr display_number: - addi $sp, $sp, -32 - sw $ra, 4($sp) - sw $s0, 8($sp) - sw $s1, 12($sp) - sw $s2, 16($sp) - sw $s3, 20($sp) - sw $s4, 24($sp) - sw $s5, 28($sp) - sw $s6, 32($sp) + addi $sp, $sp, -32 + sw $ra, 4($sp) + sw $s0, 8($sp) + sw $s1, 12($sp) + sw $s2, 16($sp) + sw $s3, 20($sp) + sw $s4, 24($sp) + sw $s5, 28($sp) + sw $s6, 32($sp) # s0 is the number to be displayed - addi $s0, $a0, 0 + addi $s0, $a0, 0 # s1 is the bcd_control addr - addi $s1, $a1, 0 + addi $s1, $a1, 0 # s2 is the base addr for display digit - lui $s2, 0x4000 - addi $s2, $s2, 0x20 + lui $s2, 0x4000 + addi $s2, $s2, 0x20 # s3 is the counter for a complete scan of 4 digit # addi $s3, $zero, 0x17c4 - addi $s3, $zero, 0xbe2 + addi $s3, $zero, 0xbe2 all_digit_scan_loop: # s4 is the num being shifted gradually - addi $s4, $s0, 0 + addi $s4, $s0, 0 # s6 is the enable digit - addi $s6, $zero, 0x100 + addi $s6, $zero, 0x100 - addi $s5, $zero, 4 + addi $s5, $zero, 4 single_digit_loop: # get a digit - andi $t0, $s4, 0xf + andi $t0, $s4, 0xf # digit * 4 is the memory shift - sll $t0, $t0, 2 - add $t0, $s2, $t0 - lw $t0, 0($t0) - or $t0, $t0, $s6 - sw $t0, 0($s1) + sll $t0, $t0, 2 + add $t0, $s2, $t0 + lw $t0, 0($t0) + or $t0, $t0, $s6 + sw $t0, 0($s1) - srl $s4, $s4, 4 - sll $s6, $s6, 1 + srl $s4, $s4, 4 + sll $s6, $s6, 1 - addi $t0, $zero, 0x400 + addi $t0, $zero, 0x400 wait_time_loop: - addi $t0, $t0, -1 - bgtz $t0, wait_time_loop + addi $t0, $t0, -1 + bgtz $t0, wait_time_loop - addi $s5, $s5, -1 - bgtz $s5, single_digit_loop + addi $s5, $s5, -1 + bgtz $s5, single_digit_loop # end of single digit loop # ** depends on the clock ** # four digit, 328.68us. # 1s / 328.68us = 3042 = (be2)hex - addi $s3, $s3, -1 - bgtz $s3, all_digit_scan_loop + addi $s3, $s3, -1 + bgtz $s3, all_digit_scan_loop - lw $ra, 4($sp) - lw $s0, 8($sp) - lw $s1, 12($sp) - lw $s2, 16($sp) - lw $s3, 20($sp) - lw $s4, 24($sp) - lw $s5, 28($sp) - lw $s6, 32($sp) - addi $sp, $sp, 32 + lw $ra, 4($sp) + lw $s0, 8($sp) + lw $s1, 12($sp) + lw $s2, 16($sp) + lw $s3, 20($sp) + lw $s4, 24($sp) + lw $s5, 28($sp) + lw $s6, 32($sp) + addi $sp, $sp, 32 jr $ra display_empty: - lui $t0, 0x4000 - addi $t0, $t0, 0x10 - sw $zero, 0($t0) + lui $t0, 0x4000 + addi $t0, $t0, 0x10 + sw $zero, 0($t0) - lui $t0, 0x100 + lui $t0, 0x100 display_empty_wait_loop: - addi $t0, $t0, -1 - bgtz $t0, display_empty_wait_loop + addi $t0, $t0, -1 + bgtz $t0, display_empty_wait_loop jr $ra # a0 is the total number of numbers needed to be sorted insertion_sort: - addi $sp, $sp, -12 - sw $ra, 4($sp) - sw $s0, 8($sp) - sw $s1, 12($sp) + addi $sp, $sp, -12 + sw $ra, 4($sp) + sw $s0, 8($sp) + sw $s1, 12($sp) # la $t0, num_N # lw $s0, 0($t0) # n in s0 - addi $s0, $a0, 0 + addi $s0, $a0, 0 # li $s1, 1 # i in s1 - addi $s1, $zero, 1 + addi $s1, $zero, 1 item_loop: # bge $s1, $s0, done_item_loop # if i >= n, done loop - sub $t0, $s0, $s1 - blez $t0, done_item_loop + sub $t0, $s0, $s1 + blez $t0, done_item_loop - li $a0, 0 - addi $a1, $s1, -1 - move $a2, $s1 + li $a0, 0 + addi $a1, $s1, -1 + move $a2, $s1 jal binary_search - move $a0, $v0 - move $a1, $s1 + move $a0, $v0 + move $a1, $s1 jal insert - addi $s1, $s1, 1 # i ++ + addi $s1, $s1, 1 # i ++ j item_loop done_item_loop: - lw $ra, 4($sp) - lw $s0, 8($sp) - lw $s1, 12($sp) - addi $sp, $sp, 12 + lw $ra, 4($sp) + lw $s0, 8($sp) + lw $s1, 12($sp) + addi $sp, $sp, 12 jr $ra -binary_search: # a0: left, a1: right, a2: i - addi $sp, $sp, -20 - sw $s0, 4($sp) - sw $s1, 8($sp) - sw $s2, 12($sp) - sw $s3, 16($sp) - sw $ra, 20($sp) +binary_search: # a0: left, a1: right, a2: i + addi $sp, $sp, -20 + sw $s0, 4($sp) + sw $s1, 8($sp) + sw $s2, 12($sp) + sw $s3, 16($sp) + sw $ra, 20($sp) # ble $a0, $a1, in_boundary_binary_search # left <= right, in normal position - sub $t0, $a0, $a1 - blez $t0, in_boundary_binary_search + sub $t0, $a0, $a1 + blez $t0, in_boundary_binary_search # move $v0, $a0 # now in boundary condition - add $v0, $a0, $zero + add $v0, $a0, $zero j done_binary_search in_boundary_binary_search: - move $s0, $a0 # in normal situation - move $s1, $a1 - move $s2, $a2 - add $s3, $s0, $s1 # s3 = mid = (left + right) >> 1 - srl $s3, $s3, 1 + move $s0, $a0 # in normal situation + move $s1, $a1 + move $s2, $a2 + add $s3, $s0, $s1 # s3 = mid = (left + right) >> 1 + srl $s3, $s3, 1 # jal add_compare_count # la $t0, num_buff - lui $t0, 0x4000 - addi $t0, $t0, 0x60 + lui $t0, 0x4000 + addi $t0, $t0, 0x60 - sll $t1, $s3, 2 - add $t1, $t1, $t0 - lw $t1, 0($t1) # t1 = v[mid] - sll $t2, $s2, 2 - add $t2, $t2, $t0 - lw $t2, 0($t2) # t2 = v[n] + sll $t1, $s3, 2 + add $t1, $t1, $t0 + lw $t1, 0($t1) # t1 = v[mid] + sll $t2, $s2, 2 + add $t2, $t2, $t0 + lw $t2, 0($t2) # t2 = v[n] # ble $t1, $t2, binary_search_right # v[mid] <= v[n], jump to 'else' - sub $t0, $t1, $t2 - blez $t0, binary_search_right + sub $t0, $t1, $t2 + blez $t0, binary_search_right binary_search_left: - addi $a1, $s3, -1 + addi $a1, $s3, -1 jal binary_search j done_binary_search binary_search_right: - addi $a0, $s3, 1 + addi $a0, $s3, 1 jal binary_search done_binary_search: - lw $s0, 4($sp) - lw $s1, 8($sp) - lw $s2, 12($sp) - lw $s3, 16($sp) - lw $ra, 20($sp) - addi $sp, $sp, 20 + lw $s0, 4($sp) + lw $s1, 8($sp) + lw $s2, 12($sp) + lw $s3, 16($sp) + lw $ra, 20($sp) + addi $sp, $sp, 20 jr $ra -insert: # $a0: int k, $a1: int n - addi $sp, $sp, -12 - sw $s0, 4($sp) - sw $s1, 8($sp) - sw $ra, 12($sp) +insert: # $a0: int k, $a1: int n + addi $sp, $sp, -12 + sw $s0, 4($sp) + sw $s1, 8($sp) + sw $ra, 12($sp) # la $s0, num_buff # s0 = &v[0] - lui $s0, 0x4000 - addi $s0, $s0, 0x60 + lui $s0, 0x4000 + addi $s0, $s0, 0x60 - sll $t0, $a1, 2 - add $s2, $s0, $t0 - lw $s2, 0($s2) # s2 = tmp = 'pivot' = v[n] + sll $t0, $a1, 2 + add $s2, $s0, $t0 + lw $s2, 0($s2) # s2 = tmp = 'pivot' = v[n] - addi $s1, $a1, -1 # s1 = i = n - 1 + addi $s1, $a1, -1 # s1 = i = n - 1 insert_loop: # blt $s1, $a0, done_insert_loop # i < k, done loop - sub $t0, $s1, $a0 - bltz $t0, done_insert_loop + sub $t0, $s1, $a0 + bltz $t0, done_insert_loop - sll $t0, $s1, 2 - add $t0, $s0, $t0 # t0 = &v[i] - lw $t1, 0($t0) - sw $t1, 4($t0) + sll $t0, $s1, 2 + add $t0, $s0, $t0 # t0 = &v[i] + lw $t1, 0($t0) + sw $t1, 4($t0) - addi $s1, $s1, -1 # i-- + addi $s1, $s1, -1 # i-- j insert_loop done_insert_loop: - sll $t0, $a0, 2 - add $t0, $s0, $t0 - sw $s2, 0($t0) # t0 = &v[k] + sll $t0, $a0, 2 + add $t0, $s0, $t0 + sw $s2, 0($t0) # t0 = &v[k] - lw $s0, 4($sp) - lw $s1, 8($sp) - lw $ra, 12($sp) - addi $sp, $sp, 12 + lw $s0, 4($sp) + lw $s1, 8($sp) + lw $ra, 12($sp) + addi $sp, $sp, 12 jr $ra \ No newline at end of file diff --git a/23sort_nums.txt b/23sort_nums.txt index ee73793..e2c9e99 100644 --- a/23sort_nums.txt +++ b/23sort_nums.txt @@ -98,154 +98,169 @@ 20'd97: instruction <= 32'h3421969a; 20'd98: instruction <= 32'h00018820; 20'd99: instruction <= 32'hae11004c; -20'd100: instruction <= 32'h20040014; -20'd101: instruction <= 32'h0c0000a6; -20'd102: instruction <= 32'h3c104000; -20'd103: instruction <= 32'h22110010; -20'd104: instruction <= 32'h22100060; -20'd105: instruction <= 32'h20120000; -20'd106: instruction <= 32'h20130014; -20'd107: instruction <= 32'h00124080; -20'd108: instruction <= 32'h02084020; -20'd109: instruction <= 32'h8d040000; -20'd110: instruction <= 32'h22250000; -20'd111: instruction <= 32'h0c000075; -20'd112: instruction <= 32'h22520001; -20'd113: instruction <= 32'h02724022; -20'd114: instruction <= 32'h1d00fff8; -20'd115: instruction <= 32'h0c00009f; -20'd116: instruction <= 32'h08000069; -20'd117: instruction <= 32'h23bdffe0; -20'd118: instruction <= 32'hafbf0004; -20'd119: instruction <= 32'hafb00008; -20'd120: instruction <= 32'hafb1000c; -20'd121: instruction <= 32'hafb20010; -20'd122: instruction <= 32'hafb30014; -20'd123: instruction <= 32'hafb40018; -20'd124: instruction <= 32'hafb5001c; -20'd125: instruction <= 32'hafb60020; -20'd126: instruction <= 32'h20900000; -20'd127: instruction <= 32'h20b10000; -20'd128: instruction <= 32'h3c124000; -20'd129: instruction <= 32'h22520020; -20'd130: instruction <= 32'h20130be2; -20'd131: instruction <= 32'h22140000; -20'd132: instruction <= 32'h20160100; -20'd133: instruction <= 32'h20150004; -20'd134: instruction <= 32'h3288000f; -20'd135: instruction <= 32'h00084080; -20'd136: instruction <= 32'h02484020; -20'd137: instruction <= 32'h8d080000; -20'd138: instruction <= 32'h01164025; -20'd139: instruction <= 32'hae280000; -20'd140: instruction <= 32'h0014a102; -20'd141: instruction <= 32'h0016b040; -20'd142: instruction <= 32'h20080400; -20'd143: instruction <= 32'h2108ffff; -20'd144: instruction <= 32'h1d00fffe; -20'd145: instruction <= 32'h22b5ffff; -20'd146: instruction <= 32'h1ea0fff3; -20'd147: instruction <= 32'h2273ffff; -20'd148: instruction <= 32'h1e60ffee; -20'd149: instruction <= 32'h8fbf0004; -20'd150: instruction <= 32'h8fb00008; -20'd151: instruction <= 32'h8fb1000c; -20'd152: instruction <= 32'h8fb20010; -20'd153: instruction <= 32'h8fb30014; -20'd154: instruction <= 32'h8fb40018; -20'd155: instruction <= 32'h8fb5001c; -20'd156: instruction <= 32'h8fb60020; -20'd157: instruction <= 32'h23bd0020; -20'd158: instruction <= 32'h03e00008; -20'd159: instruction <= 32'h3c084000; -20'd160: instruction <= 32'h21080010; -20'd161: instruction <= 32'had000000; -20'd162: instruction <= 32'h3c080100; -20'd163: instruction <= 32'h2108ffff; -20'd164: instruction <= 32'h1d00fffe; -20'd165: instruction <= 32'h03e00008; -20'd166: instruction <= 32'h23bdfff4; -20'd167: instruction <= 32'hafbf0004; -20'd168: instruction <= 32'hafb00008; -20'd169: instruction <= 32'hafb1000c; -20'd170: instruction <= 32'h20900000; -20'd171: instruction <= 32'h20110001; -20'd172: instruction <= 32'h02114022; -20'd173: instruction <= 32'h19000009; -20'd174: instruction <= 32'h24040000; -20'd175: instruction <= 32'h2225ffff; -20'd176: instruction <= 32'h00113021; -20'd177: instruction <= 32'h0c0000bc; -20'd178: instruction <= 32'h00022021; -20'd179: instruction <= 32'h00112821; -20'd180: instruction <= 32'h0c0000e1; -20'd181: instruction <= 32'h22310001; -20'd182: instruction <= 32'h080000ac; -20'd183: instruction <= 32'h8fbf0004; -20'd184: instruction <= 32'h8fb00008; -20'd185: instruction <= 32'h8fb1000c; -20'd186: instruction <= 32'h23bd000c; -20'd187: instruction <= 32'h03e00008; -20'd188: instruction <= 32'h23bdffec; -20'd189: instruction <= 32'hafb00004; -20'd190: instruction <= 32'hafb10008; -20'd191: instruction <= 32'hafb2000c; -20'd192: instruction <= 32'hafb30010; -20'd193: instruction <= 32'hafbf0014; -20'd194: instruction <= 32'h00854022; -20'd195: instruction <= 32'h19000002; -20'd196: instruction <= 32'h00801020; -20'd197: instruction <= 32'h080000da; -20'd198: instruction <= 32'h00048021; -20'd199: instruction <= 32'h00058821; -20'd200: instruction <= 32'h00069021; -20'd201: instruction <= 32'h02119820; -20'd202: instruction <= 32'h00139842; -20'd203: instruction <= 32'h3c084000; -20'd204: instruction <= 32'h21080060; -20'd205: instruction <= 32'h00134880; -20'd206: instruction <= 32'h01284820; -20'd207: instruction <= 32'h8d290000; -20'd208: instruction <= 32'h00125080; -20'd209: instruction <= 32'h01485020; -20'd210: instruction <= 32'h8d4a0000; -20'd211: instruction <= 32'h012a4022; -20'd212: instruction <= 32'h19000003; -20'd213: instruction <= 32'h2265ffff; -20'd214: instruction <= 32'h0c0000bc; -20'd215: instruction <= 32'h080000da; -20'd216: instruction <= 32'h22640001; -20'd217: instruction <= 32'h0c0000bc; -20'd218: instruction <= 32'h8fb00004; -20'd219: instruction <= 32'h8fb10008; -20'd220: instruction <= 32'h8fb2000c; -20'd221: instruction <= 32'h8fb30010; -20'd222: instruction <= 32'h8fbf0014; -20'd223: instruction <= 32'h23bd0014; -20'd224: instruction <= 32'h03e00008; -20'd225: instruction <= 32'h23bdfff4; -20'd226: instruction <= 32'hafb00004; -20'd227: instruction <= 32'hafb10008; -20'd228: instruction <= 32'hafbf000c; -20'd229: instruction <= 32'h3c104000; -20'd230: instruction <= 32'h22100060; -20'd231: instruction <= 32'h00054080; -20'd232: instruction <= 32'h02089020; -20'd233: instruction <= 32'h8e520000; -20'd234: instruction <= 32'h20b1ffff; -20'd235: instruction <= 32'h02244022; -20'd236: instruction <= 32'h05000006; -20'd237: instruction <= 32'h00114080; -20'd238: instruction <= 32'h02084020; -20'd239: instruction <= 32'h8d090000; -20'd240: instruction <= 32'had090004; -20'd241: instruction <= 32'h2231ffff; -20'd242: instruction <= 32'h080000eb; -20'd243: instruction <= 32'h00044080; -20'd244: instruction <= 32'h02084020; -20'd245: instruction <= 32'had120000; -20'd246: instruction <= 32'h8fb00004; -20'd247: instruction <= 32'h8fb10008; -20'd248: instruction <= 32'h8fbf000c; -20'd249: instruction <= 32'h23bd000c; -20'd250: instruction <= 32'h03e00008; +20'd100: instruction <= 32'h0c000069; +20'd101: instruction <= 32'h20040014; +20'd102: instruction <= 32'h0c0000b5; +20'd103: instruction <= 32'h0c000069; +20'd104: instruction <= 32'h08000067; +20'd105: instruction <= 32'h23bdffec; +20'd106: instruction <= 32'hafbf0004; +20'd107: instruction <= 32'hafb00008; +20'd108: instruction <= 32'hafb1000c; +20'd109: instruction <= 32'hafb20010; +20'd110: instruction <= 32'hafb30014; +20'd111: instruction <= 32'h3c104000; +20'd112: instruction <= 32'h22110010; +20'd113: instruction <= 32'h22100060; +20'd114: instruction <= 32'h20120000; +20'd115: instruction <= 32'h20130014; +20'd116: instruction <= 32'h00124080; +20'd117: instruction <= 32'h02084020; +20'd118: instruction <= 32'h8d040000; +20'd119: instruction <= 32'h22250000; +20'd120: instruction <= 32'h0c000084; +20'd121: instruction <= 32'h22520001; +20'd122: instruction <= 32'h02724022; +20'd123: instruction <= 32'h1d00fff8; +20'd124: instruction <= 32'h0c0000ae; +20'd125: instruction <= 32'h8fbf0004; +20'd126: instruction <= 32'h8fb00008; +20'd127: instruction <= 32'h8fb1000c; +20'd128: instruction <= 32'h8fb20010; +20'd129: instruction <= 32'h8fb30014; +20'd130: instruction <= 32'h23bd0014; +20'd131: instruction <= 32'h03e00008; +20'd132: instruction <= 32'h23bdffe0; +20'd133: instruction <= 32'hafbf0004; +20'd134: instruction <= 32'hafb00008; +20'd135: instruction <= 32'hafb1000c; +20'd136: instruction <= 32'hafb20010; +20'd137: instruction <= 32'hafb30014; +20'd138: instruction <= 32'hafb40018; +20'd139: instruction <= 32'hafb5001c; +20'd140: instruction <= 32'hafb60020; +20'd141: instruction <= 32'h20900000; +20'd142: instruction <= 32'h20b10000; +20'd143: instruction <= 32'h3c124000; +20'd144: instruction <= 32'h22520020; +20'd145: instruction <= 32'h20130be2; +20'd146: instruction <= 32'h22140000; +20'd147: instruction <= 32'h20160100; +20'd148: instruction <= 32'h20150004; +20'd149: instruction <= 32'h3288000f; +20'd150: instruction <= 32'h00084080; +20'd151: instruction <= 32'h02484020; +20'd152: instruction <= 32'h8d080000; +20'd153: instruction <= 32'h01164025; +20'd154: instruction <= 32'hae280000; +20'd155: instruction <= 32'h0014a102; +20'd156: instruction <= 32'h0016b040; +20'd157: instruction <= 32'h20080400; +20'd158: instruction <= 32'h2108ffff; +20'd159: instruction <= 32'h1d00fffe; +20'd160: instruction <= 32'h22b5ffff; +20'd161: instruction <= 32'h1ea0fff3; +20'd162: instruction <= 32'h2273ffff; +20'd163: instruction <= 32'h1e60ffee; +20'd164: instruction <= 32'h8fbf0004; +20'd165: instruction <= 32'h8fb00008; +20'd166: instruction <= 32'h8fb1000c; +20'd167: instruction <= 32'h8fb20010; +20'd168: instruction <= 32'h8fb30014; +20'd169: instruction <= 32'h8fb40018; +20'd170: instruction <= 32'h8fb5001c; +20'd171: instruction <= 32'h8fb60020; +20'd172: instruction <= 32'h23bd0020; +20'd173: instruction <= 32'h03e00008; +20'd174: instruction <= 32'h3c084000; +20'd175: instruction <= 32'h21080010; +20'd176: instruction <= 32'had000000; +20'd177: instruction <= 32'h3c080100; +20'd178: instruction <= 32'h2108ffff; +20'd179: instruction <= 32'h1d00fffe; +20'd180: instruction <= 32'h03e00008; +20'd181: instruction <= 32'h23bdfff4; +20'd182: instruction <= 32'hafbf0004; +20'd183: instruction <= 32'hafb00008; +20'd184: instruction <= 32'hafb1000c; +20'd185: instruction <= 32'h20900000; +20'd186: instruction <= 32'h20110001; +20'd187: instruction <= 32'h02114022; +20'd188: instruction <= 32'h19000009; +20'd189: instruction <= 32'h24040000; +20'd190: instruction <= 32'h2225ffff; +20'd191: instruction <= 32'h00113021; +20'd192: instruction <= 32'h0c0000cb; +20'd193: instruction <= 32'h00022021; +20'd194: instruction <= 32'h00112821; +20'd195: instruction <= 32'h0c0000f0; +20'd196: instruction <= 32'h22310001; +20'd197: instruction <= 32'h080000bb; +20'd198: instruction <= 32'h8fbf0004; +20'd199: instruction <= 32'h8fb00008; +20'd200: instruction <= 32'h8fb1000c; +20'd201: instruction <= 32'h23bd000c; +20'd202: instruction <= 32'h03e00008; +20'd203: instruction <= 32'h23bdffec; +20'd204: instruction <= 32'hafb00004; +20'd205: instruction <= 32'hafb10008; +20'd206: instruction <= 32'hafb2000c; +20'd207: instruction <= 32'hafb30010; +20'd208: instruction <= 32'hafbf0014; +20'd209: instruction <= 32'h00854022; +20'd210: instruction <= 32'h19000002; +20'd211: instruction <= 32'h00801020; +20'd212: instruction <= 32'h080000e9; +20'd213: instruction <= 32'h00048021; +20'd214: instruction <= 32'h00058821; +20'd215: instruction <= 32'h00069021; +20'd216: instruction <= 32'h02119820; +20'd217: instruction <= 32'h00139842; +20'd218: instruction <= 32'h3c084000; +20'd219: instruction <= 32'h21080060; +20'd220: instruction <= 32'h00134880; +20'd221: instruction <= 32'h01284820; +20'd222: instruction <= 32'h8d290000; +20'd223: instruction <= 32'h00125080; +20'd224: instruction <= 32'h01485020; +20'd225: instruction <= 32'h8d4a0000; +20'd226: instruction <= 32'h012a4022; +20'd227: instruction <= 32'h19000003; +20'd228: instruction <= 32'h2265ffff; +20'd229: instruction <= 32'h0c0000cb; +20'd230: instruction <= 32'h080000e9; +20'd231: instruction <= 32'h22640001; +20'd232: instruction <= 32'h0c0000cb; +20'd233: instruction <= 32'h8fb00004; +20'd234: instruction <= 32'h8fb10008; +20'd235: instruction <= 32'h8fb2000c; +20'd236: instruction <= 32'h8fb30010; +20'd237: instruction <= 32'h8fbf0014; +20'd238: instruction <= 32'h23bd0014; +20'd239: instruction <= 32'h03e00008; +20'd240: instruction <= 32'h23bdfff4; +20'd241: instruction <= 32'hafb00004; +20'd242: instruction <= 32'hafb10008; +20'd243: instruction <= 32'hafbf000c; +20'd244: instruction <= 32'h3c104000; +20'd245: instruction <= 32'h22100060; +20'd246: instruction <= 32'h00054080; +20'd247: instruction <= 32'h02089020; +20'd248: instruction <= 32'h8e520000; +20'd249: instruction <= 32'h20b1ffff; +20'd250: instruction <= 32'h02244022; +20'd251: instruction <= 32'h05000006; +20'd252: instruction <= 32'h00114080; +20'd253: instruction <= 32'h02084020; +20'd254: instruction <= 32'h8d090000; +20'd255: instruction <= 32'had090004; +20'd256: instruction <= 32'h2231ffff; +20'd257: instruction <= 32'h080000fa; +20'd258: instruction <= 32'h00044080; +20'd259: instruction <= 32'h02084020; +20'd260: instruction <= 32'had120000; +20'd261: instruction <= 32'h8fb00004; +20'd262: instruction <= 32'h8fb10008; +20'd263: instruction <= 32'h8fbf000c; +20'd264: instruction <= 32'h23bd000c; +20'd265: instruction <= 32'h03e00008; diff --git a/23sort_nums_mars.txt b/23sort_nums_mars.txt index a2a0fe4..0ad13bf 100644 --- a/23sort_nums_mars.txt +++ b/23sort_nums_mars.txt @@ -98,8 +98,17 @@ ae110048 3421969a 00018820 ae11004c +0c000069 20040014 -0c0000a6 +0c0000b5 +0c000069 +08000067 +23bdffec +afbf0004 +afb00008 +afb1000c +afb20010 +afb30014 3c104000 22110010 22100060 @@ -109,12 +118,18 @@ ae11004c 02084020 8d040000 22250000 -0c000075 +0c000084 22520001 02724022 1d00fff8 -0c00009f -08000069 +0c0000ae +8fbf0004 +8fb00008 +8fb1000c +8fb20010 +8fb30014 +23bd0014 +03e00008 23bdffe0 afbf0004 afb00008 @@ -175,12 +190,12 @@ afb1000c 24040000 2225ffff 00113021 -0c0000bc +0c0000cb 00022021 00112821 -0c0000e1 +0c0000f0 22310001 -080000ac +080000bb 8fbf0004 8fb00008 8fb1000c @@ -195,7 +210,7 @@ afbf0014 00854022 19000002 00801020 -080000da +080000e9 00048021 00058821 00069021 @@ -212,10 +227,10 @@ afbf0014 012a4022 19000003 2265ffff -0c0000bc -080000da +0c0000cb +080000e9 22640001 -0c0000bc +0c0000cb 8fb00004 8fb10008 8fb2000c @@ -240,7 +255,7 @@ afbf000c 8d090000 ad090004 2231ffff -080000eb +080000fa 00044080 02084020 ad120000