142 lines
3.1 KiB
ArmAsm
142 lines
3.1 KiB
ArmAsm
main:
|
|
addi sp,sp,-16
|
|
sw ra,12(sp)
|
|
lw a0,0(zero)
|
|
call find
|
|
lw ra,12(sp)
|
|
addi sp,sp,16
|
|
jr ra
|
|
find:
|
|
li a5,4
|
|
.L2:
|
|
lh a4,2(a5)
|
|
beq a4,a0,.L13
|
|
.L11:
|
|
ble a4,a0,.L4
|
|
lw a5,0(a5)
|
|
andi a4,a5,1
|
|
bnez a4,.L14
|
|
.L10:
|
|
li a0,-1
|
|
ret
|
|
.L4:
|
|
bge a4,a0,.L10
|
|
lw a4,0(a5)
|
|
srli a5,a4,7
|
|
andi a4,a4,256
|
|
andi a5,a5,508
|
|
beqz a4,.L10
|
|
addi a5,a5,4
|
|
lh a4,2(a5)
|
|
bne a4,a0,.L11
|
|
.L13:
|
|
mv a0,a5
|
|
ret
|
|
.L14:
|
|
slli a5,a5,1
|
|
andi a5,a5,508
|
|
addi a5,a5,4
|
|
j .L2
|
|
#memset 0x0, 0x013A
|
|
#memset 0x0004, 0x02D49D03
|
|
#memset 0x0008, 0x00912305
|
|
#memset 0x000C, 0x00301307
|
|
#memset 0x0010, 0x001B0D09
|
|
#memset 0x0014, 0x00010B00
|
|
#memset 0x0018, 0x00090000
|
|
#memset 0x001C, 0x001E110F
|
|
#memset 0x0020, 0x001D0000
|
|
#memset 0x0024, 0x001E0000
|
|
#memset 0x0028, 0x00782115
|
|
#memset 0x002C, 0x00661D17
|
|
#memset 0x0030, 0x003C1B19
|
|
#memset 0x0034, 0x00300000
|
|
#memset 0x0038, 0x00430000
|
|
#memset 0x003C, 0x00701F00
|
|
#memset 0x0040, 0x00700000
|
|
#memset 0x0044, 0x007B0000
|
|
#memset 0x0048, 0x018E5925
|
|
#memset 0x004C, 0x00A12B27
|
|
#memset 0x0050, 0x009F0029
|
|
#memset 0x0054, 0x00910000
|
|
#memset 0x0058, 0x011D392D
|
|
#memset 0x005C, 0x00E22F00
|
|
#memset 0x0060, 0x01190031
|
|
#memset 0x0064, 0x01090033
|
|
#memset 0x0068, 0x00E93500
|
|
#memset 0x006C, 0x00FF3700
|
|
#memset 0x0070, 0x00FF0000
|
|
#memset 0x0074, 0x01213F3B
|
|
#memset 0x0078, 0x0120003D
|
|
#memset 0x007C, 0x011F0000
|
|
#memset 0x0080, 0x01835741
|
|
#memset 0x0084, 0x016A5543
|
|
#memset 0x0088, 0x012F4745
|
|
#memset 0x008C, 0x012E0000
|
|
#memset 0x0090, 0x014B4F49
|
|
#memset 0x0094, 0x013A4B00
|
|
#memset 0x0098, 0x01424D00
|
|
#memset 0x009C, 0x01460000
|
|
#memset 0x00A0, 0x015C0051
|
|
#memset 0x00A4, 0x014D5300
|
|
#memset 0x00A8, 0x01510000
|
|
#memset 0x00AC, 0x01730000
|
|
#memset 0x00B0, 0x018B0000
|
|
#memset 0x00B4, 0x01BF655B
|
|
#memset 0x00B8, 0x01A2615D
|
|
#memset 0x00BC, 0x01995F00
|
|
#memset 0x00C0, 0x019F0000
|
|
#memset 0x00C4, 0x01A46300
|
|
#memset 0x00C8, 0x01BD0000
|
|
#memset 0x00CC, 0x027C8967
|
|
#memset 0x00D0, 0x026C8569
|
|
#memset 0x00D4, 0x01CC6D6B
|
|
#memset 0x00D8, 0x01C60000
|
|
#memset 0x00DC, 0x021F7D6F
|
|
#memset 0x00E0, 0x02070071
|
|
#memset 0x00E4, 0x01D37300
|
|
#memset 0x00E8, 0x01F67B75
|
|
#memset 0x00EC, 0x01EF7977
|
|
#memset 0x00F0, 0x01D70000
|
|
#memset 0x00F4, 0x01F10000
|
|
#memset 0x00F8, 0x02060000
|
|
#memset 0x00FC, 0x0254837F
|
|
#memset 0x0100, 0x023D0081
|
|
#memset 0x0104, 0x02200000
|
|
#memset 0x0108, 0x02640000
|
|
#memset 0x010C, 0x026D8700
|
|
#memset 0x0110, 0x026E0000
|
|
#memset 0x0114, 0x02C0008B
|
|
#memset 0x0118, 0x0297998D
|
|
#memset 0x011C, 0x0289978F
|
|
#memset 0x0120, 0x02839591
|
|
#memset 0x0124, 0x027C9300
|
|
#memset 0x0128, 0x027E0000
|
|
#memset 0x012C, 0x02850000
|
|
#memset 0x0130, 0x028D0000
|
|
#memset 0x0134, 0x029E009B
|
|
#memset 0x0138, 0x02990000
|
|
#memset 0x013C, 0x03D4C99F
|
|
#memset 0x0140, 0x0332ADA1
|
|
#memset 0x0144, 0x02E9A300
|
|
#memset 0x0148, 0x031AABA5
|
|
#memset 0x014C, 0x0305A9A7
|
|
#memset 0x0150, 0x02EC0000
|
|
#memset 0x0154, 0x03090000
|
|
#memset 0x0158, 0x032B0000
|
|
#memset 0x015C, 0x03CC00AF
|
|
#memset 0x0160, 0x0365B7B1
|
|
#memset 0x0164, 0x0333B300
|
|
#memset 0x0168, 0x036200B5
|
|
#memset 0x016C, 0x033E0000
|
|
#memset 0x0170, 0x03B6C3B9
|
|
#memset 0x0174, 0x03AA00BB
|
|
#memset 0x0178, 0x039700BD
|
|
#memset 0x017C, 0x037DC1BF
|
|
#memset 0x0180, 0x03750000
|
|
#memset 0x0184, 0x03870000
|
|
#memset 0x0188, 0x03C8C7C5
|
|
#memset 0x018C, 0x03BB0000
|
|
#memset 0x0190, 0x03C90000
|
|
#memset 0x0194, 0x03E0CB00
|
|
#memset 0x0198, 0x03E40000
|