ysyx-workbench/am-kernels/tests/cpu-tests/build/crc32-riscv32-nemu.txt
tracer-ysyx d08c2860da > compile NEMU
ysyx_22040000 李心杨
Linux calcite 6.6.19 #1-NixOS SMP PREEMPT_DYNAMIC Fri Mar  1 12:35:11 UTC 2024 x86_64 GNU/Linux
 16:26:21  up 4 days  3:32,  2 users,  load average: 0.85, 0.91, 0.95
2024-03-24 16:26:21 +08:00

95 lines
3.7 KiB
Text

/home/xin/repo/ysyx-workbench/am-kernels/tests/cpu-tests/build/crc32-riscv32-nemu.elf: file format elf32-littleriscv
Disassembly of section .text:
80000000 <_start>:
80000000: 00000413 li s0,0
80000004: 00009117 auipc sp,0x9
80000008: ffc10113 add sp,sp,-4 # 80009000 <_end>
8000000c: 10c000ef jal 80000118 <_trm_init>
80000010 <check>:
80000010: 00050463 beqz a0,80000018 <check+0x8>
80000014: 00008067 ret
80000018: ff010113 add sp,sp,-16
8000001c: 00100513 li a0,1
80000020: 00112623 sw ra,12(sp)
80000024: 0e8000ef jal 8000010c <halt>
80000028 <rc_crc32>:
80000028: 00000e97 auipc t4,0x0
8000002c: 540e8e93 add t4,t4,1344 # 80000568 <have_table.1>
80000030: 000ea883 lw a7,0(t4)
80000034: 04089a63 bnez a7,80000088 <rc_crc32+0x60>
80000038: edb88837 lui a6,0xedb88
8000003c: 00000317 auipc t1,0x0
80000040: 12c30313 add t1,t1,300 # 80000168 <table.0>
80000044: 32080813 add a6,a6,800 # edb88320 <_end+0x6db7f320>
80000048: 10000e13 li t3,256
8000004c: 00088713 mv a4,a7
80000050: 00800693 li a3,8
80000054: 00177793 and a5,a4,1
80000058: 40f007b3 neg a5,a5
8000005c: 0107f7b3 and a5,a5,a6
80000060: 00175713 srl a4,a4,0x1
80000064: fff68693 add a3,a3,-1
80000068: 00e7c733 xor a4,a5,a4
8000006c: fe0694e3 bnez a3,80000054 <rc_crc32+0x2c>
80000070: 00e32023 sw a4,0(t1)
80000074: 00188893 add a7,a7,1
80000078: 00430313 add t1,t1,4
8000007c: fdc898e3 bne a7,t3,8000004c <rc_crc32+0x24>
80000080: 00100793 li a5,1
80000084: 00fea023 sw a5,0(t4)
80000088: 00c58633 add a2,a1,a2
8000008c: fff54713 not a4,a0
80000090: 02c5fc63 bgeu a1,a2,800000c8 <rc_crc32+0xa0>
80000094: 00000517 auipc a0,0x0
80000098: 0d450513 add a0,a0,212 # 80000168 <table.0>
8000009c: 0005c683 lbu a3,0(a1)
800000a0: 0ff77793 zext.b a5,a4
800000a4: 00158593 add a1,a1,1
800000a8: 00d7c7b3 xor a5,a5,a3
800000ac: 00279793 sll a5,a5,0x2
800000b0: 00f507b3 add a5,a0,a5
800000b4: 0007a783 lw a5,0(a5)
800000b8: 00875713 srl a4,a4,0x8
800000bc: 00f74733 xor a4,a4,a5
800000c0: fcb61ee3 bne a2,a1,8000009c <rc_crc32+0x74>
800000c4: fff74513 not a0,a4
800000c8: 00008067 ret
800000cc <main>:
800000cc: ff010113 add sp,sp,-16
800000d0: 02b00613 li a2,43
800000d4: 00000597 auipc a1,0x0
800000d8: 06458593 add a1,a1,100 # 80000138 <_etext>
800000dc: 00000513 li a0,0
800000e0: 00112623 sw ra,12(sp)
800000e4: f45ff0ef jal 80000028 <rc_crc32>
800000e8: beb067b7 lui a5,0xbeb06
800000ec: cc778793 add a5,a5,-825 # beb05cc7 <_end+0x3eafccc7>
800000f0: 00f50533 add a0,a0,a5
800000f4: 00153513 seqz a0,a0
800000f8: f19ff0ef jal 80000010 <check>
800000fc: 00c12083 lw ra,12(sp)
80000100: 00000513 li a0,0
80000104: 01010113 add sp,sp,16
80000108: 00008067 ret
8000010c <halt>:
8000010c: 00050513 mv a0,a0
80000110: 00100073 ebreak
80000114: 0000006f j 80000114 <halt+0x8>
80000118 <_trm_init>:
80000118: ff010113 add sp,sp,-16
8000011c: 00000517 auipc a0,0x0
80000120: 04850513 add a0,a0,72 # 80000164 <mainargs>
80000124: 00112623 sw ra,12(sp)
80000128: fa5ff0ef jal 800000cc <main>
8000012c: 00050513 mv a0,a0
80000130: 00100073 ebreak
80000134: 0000006f j 80000134 <_trm_init+0x1c>