commit 1935e3d0185a4e853ad82158e0b8c5d9af8dcff2 Author: Patrick Hangl Date: Thu Jan 15 13:06:36 2026 +0100 Projekte angelegt diff --git a/simulation/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx b/simulation/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx new file mode 100644 index 0000000..0bbc390 Binary files /dev/null and b/simulation/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx differ diff --git a/simulation/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx b/simulation/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx new file mode 100644 index 0000000..8d65a5a Binary files /dev/null and b/simulation/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx differ diff --git a/simulation/Release/.cache/clangd/index/main.c.4B7F348E4DD1011A.idx b/simulation/Release/.cache/clangd/index/main.c.4B7F348E4DD1011A.idx new file mode 100644 index 0000000..fdcc616 Binary files /dev/null and b/simulation/Release/.cache/clangd/index/main.c.4B7F348E4DD1011A.idx differ diff --git a/simulation/Release/.cache/clangd/index/math.h.9E31E7D2A3A086E1.idx b/simulation/Release/.cache/clangd/index/math.h.9E31E7D2A3A086E1.idx new file mode 100644 index 0000000..05b6dda Binary files /dev/null and b/simulation/Release/.cache/clangd/index/math.h.9E31E7D2A3A086E1.idx differ diff --git a/simulation/Release/.cache/clangd/index/signal_path.c.EFF85444D3BB52AD.idx b/simulation/Release/.cache/clangd/index/signal_path.c.EFF85444D3BB52AD.idx new file mode 100644 index 0000000..4ae0b0f Binary files /dev/null and b/simulation/Release/.cache/clangd/index/signal_path.c.EFF85444D3BB52AD.idx differ diff --git a/simulation/Release/.cache/clangd/index/signal_path.h.CC571B8E64E10946.idx b/simulation/Release/.cache/clangd/index/signal_path.h.CC571B8E64E10946.idx new file mode 100644 index 0000000..3be58ce Binary files /dev/null and b/simulation/Release/.cache/clangd/index/signal_path.h.CC571B8E64E10946.idx differ diff --git a/simulation/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx b/simulation/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx new file mode 100644 index 0000000..7f61d0b Binary files /dev/null and b/simulation/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx differ diff --git a/simulation/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx b/simulation/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx new file mode 100644 index 0000000..114592c Binary files /dev/null and b/simulation/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx differ diff --git a/simulation/Release/chesswork/main-2c657d.# b/simulation/Release/chesswork/main-2c657d.# new file mode 100644 index 0000000..83211dd --- /dev/null +++ b/simulation/Release/chesswork/main-2c657d.# @@ -0,0 +1,8 @@ +0b3a1439876c35d4e2e78ed4e229a1ffbdca4df3 +b85c95c92e890cf0233f9e50ae029a827db9f04a +42695db990e5aaff0b9f36d25938c80e96ce47cc +1c47baffc25d7adbfe1360500633829beb76d995 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 +0 diff --git a/simulation/Release/chesswork/main-2c657d.asm b/simulation/Release/chesswork/main-2c657d.asm new file mode 100644 index 0000000..e0113d7 --- /dev/null +++ b/simulation/Release/chesswork/main-2c657d.asm @@ -0,0 +1,12 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +.dir 0 "C:\Users\phangl\OneDrive - MED-EL\Desktop\LPDSP32_Modell\lib" +.text local 1 void_enable_interrupts +.placeholder +.src_ref 0 "lpdsp32_irq.h" 47 first + ie = 1 +.src_ref 0 "lpdsp32_irq.h" 48 + nop diff --git a/simulation/Release/chesswork/main-2c657d.asm.mic b/simulation/Release/chesswork/main-2c657d.asm.mic new file mode 100644 index 0000000..c56f19d --- /dev/null +++ b/simulation/Release/chesswork/main-2c657d.asm.mic @@ -0,0 +1,9 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:47 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib +m -g +HC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/elongation -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 main-2c657d.asm -omain-2c657d.asm.mic lpdsp32 + +// Release: ipp X-2025.06 +//.text local void_enable_interrupts void_enable_interrupts + 0 1/*first*/ "10111010000100010000" .srcref "%PROCDIR%" "lpdsp32_irq.h" 47 // ie = 1 + 1 1/*first*/ "00000000000000000000" .srcref "%PROCDIR%" "lpdsp32_irq.h" 48 // nop diff --git a/simulation/Release/chesswork/main-9f2435.# b/simulation/Release/chesswork/main-9f2435.# new file mode 100644 index 0000000..1d8670c --- /dev/null +++ b/simulation/Release/chesswork/main-9f2435.# @@ -0,0 +1,8 @@ +466ba9a29dd6732e5048de41303e492793f3e524 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +9bc11a5ae02d860ea1a49be9ba20510fbd931a4a +da39a3ee5e6b4b0d3255bfef95601890afd80709 +69cfd8cc3fbe170e72ebc0ce327cc94c5afbcf7b +46 +0 diff --git a/simulation/Release/chesswork/main-9f2435.o b/simulation/Release/chesswork/main-9f2435.o new file mode 100644 index 0000000..a0fa3ff Binary files /dev/null and b/simulation/Release/chesswork/main-9f2435.o differ diff --git a/simulation/Release/chesswork/main-9f2435.sfg b/simulation/Release/chesswork/main-9f2435.sfg new file mode 100644 index 0000000..7fa45c7 --- /dev/null +++ b/simulation/Release/chesswork/main-9f2435.sfg @@ -0,0 +1,591 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + +/*** +!! int main() +F_main : user_defined, called { + fnm : "main" 'int main()'; + arg : ( dmaddr_:i int32_:r ); + loc : ( LR[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( l=80 b=8 ); +} +**** +!! void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int) +F_Z4initP16SingleSignalPathS0_PdS1_iidddi : user_defined, called { + fnm : "init" 'void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i int32_:i int32_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] A[1] A[2] A[3] RA[0] RA[1] AX[0] AX[1] BX[0] RB[0] ); + vac : ( srIM[0] ); +} +!! void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *) +F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ : user_defined, called { + fnm : "calc" 'void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i int32_:i dmaddr_:i dmaddr_:i dmaddr_:i ); + loc : ( LR[0] A[0] A[1] RA[0] A[4] A[5] __spill_WDMA[0] ); + vac : ( srIM[0] ); +} +!! inline assembly inline assembly void enable_interrupts() +Fvoid_enable_interrupts : user_defined, volatile, assembly { + fnm : "enable_interrupts" 'inline assembly void enable_interrupts()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! inline assembly inline assembly void core_halt() +Fvoid_core_halt : user_defined, volatile, assembly { + fnm : "core_halt" 'inline assembly void core_halt()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _main typ=uint20_ bnd=e stl=PM tref=__sint____ + 5 : __M_DMIO typ=int8_ bnd=d stl=DMIO + 8 : __M_SDMB typ=int16_ bnd=d stl=SDMB + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 14 : __M_LDMA typ=int64_ bnd=d stl=LDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 32 : __extDM typ=int8_ bnd=b stl=DM + 33 : __extPM typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : b0 typ=int8_ val=8t0 bnd=a sz=40 algn=8 stl=DMA tref=__A5__fdouble_DMA + 36 : b1 typ=int8_ val=48t0 bnd=a sz=40 algn=8 stl=DMA tref=__A5__fdouble_DMA + 37 : _ZL16corrupted_signal typ=int8_ bnd=i sz=144 algn=4 stl=DMA tref=SingleSignalPath_DMA + 38 : __extDM_SingleSignalPath typ=int8_ bnd=b stl=DM + 39 : _ZL22reference_noise_signal typ=int8_ bnd=i sz=144 algn=4 stl=DMA tref=SingleSignalPath_DMA + 40 : _ZL14output_pointer typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 41 : __extDM___PDMint16_ typ=int8_ bnd=b stl=DM + 42 : _ZL11output_port typ=int8_ val=8388624f bnd=i sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 43 : __extDM_int16_ typ=int8_ bnd=b stl=DM + 44 : _ZL14sample_pointer typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 45 : _ZL6sample typ=int8_ bnd=i sz=2 algn=2 stl=DMB tref=int16_t_DMB + 46 : _ZL15action_required typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__sint_DMA + 47 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 48 : _ZL12css_cmd_flag typ=int8_ val=12582916f bnd=i sz=1 algn=1 stl=DMIO tref=__uchar_DMIO + 49 : __extDM_uint8_ typ=int8_ bnd=b stl=DM + 50 : _ZZ4mainvE4mode typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=OutputMode_DMA + 51 : _ZL10input_port typ=int8_ val=8388608f bnd=i sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 52 : __extDM_void typ=int8_ bnd=b stl=DM + 53 : __extPM_void typ=uint20_ bnd=b stl=PM + 54 : __extDM_int64_ typ=int8_ bnd=b stl=DM + 55 : __rd___sp typ=dmaddr_ bnd=m + 56 : __ptr_corrupted_signal typ=dmaddr_ bnd=m + 57 : __ptr_corrupted_signal typ=dmaddr_ val=0a bnd=m adro=37 + 58 : __ptr_reference_noise_signal typ=dmaddr_ bnd=m + 59 : __ptr_reference_noise_signal typ=dmaddr_ val=0a bnd=m adro=39 + 61 : __ptr_output_pointer typ=dmaddr_ val=0a bnd=m adro=40 + 63 : __ct_8388624 typ=dmaddr_ val=8388624f bnd=m + 65 : __ptr_sample_pointer typ=dmaddr_ val=0a bnd=m adro=44 + 67 : __ptr_sample typ=dmaddr_ val=0a bnd=m adro=45 + 69 : __ptr_action_required typ=dmaddr_ val=0a bnd=m adro=46 + 71 : __ct_12582916 typ=dmaddr_ val=12582916f bnd=m + 73 : __ptr_mode typ=dmaddr_ val=0a bnd=m adro=50 + 76 : __ct_0 typ=uint1_ val=0f bnd=m + 77 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 82 : __ptr_b0 typ=dmaddr_ bnd=m + 86 : __ptr_b1 typ=dmaddr_ bnd=m + 90 : __ct_4604930618986332160 typ=int64_ val=4604930618986332160f bnd=m + 92 : __ct_0 typ=int32_ val=0f bnd=m + 95 : __ct_0 typ=uint40_ val=0f bnd=m + 140 : __ct_2 typ=int32_ val=2f bnd=m + 141 : __ct typ=int32_ bnd=m + 143 : __ct typ=int32_ bnd=m + 144 : __ct_4606281698874543309 typ=int64_ val=4606281698874543309f bnd=m + 145 : __ct typ=int64_ bnd=m + 147 : __ct typ=int64_ bnd=m + 148 : __ct_4576918229304087675 typ=int64_ val=4576918229304087675f bnd=m + 149 : __ct typ=int64_ bnd=m + 150 : __ct_64 typ=int32_ val=64f bnd=m + 151 : __ct typ=int32_ bnd=m + 152 : _Z4initP16SingleSignalPathS0_PdS1_iidddi typ=dmaddr_ val=0r bnd=m + 154 : __link typ=dmaddr_ bnd=m + 162 : __ct_2 typ=uint8_ val=2f bnd=m + 164 : __fch__ZL15action_required typ=int32_ bnd=m + 165 : __ct_1 typ=int32_ val=1f bnd=m + 167 : __tmp typ=bool bnd=m + 168 : __ct_1 typ=uint8_ val=1f bnd=m + 172 : __fch__ZL14output_pointer typ=dmaddr_ bnd=m + 177 : __tmp typ=dmaddr_ bnd=m + 178 : __fch__ZL14sample_pointer typ=dmaddr_ bnd=m + 179 : __fchtmp typ=int16_ bnd=m + 181 : __fch__ZZ4mainvE4mode typ=int32_ bnd=m + 184 : __tmp typ=dmaddr_ bnd=m + 187 : __tmp typ=dmaddr_ bnd=m + 188 : __fch__ZL14sample_pointer typ=dmaddr_ bnd=m + 189 : _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ typ=dmaddr_ val=0r bnd=m + 191 : __link typ=dmaddr_ bnd=m + 211 : __ct_4 typ=int18_ val=4f bnd=m + 212 : __ct_8 typ=int18_ val=8f bnd=m + 222 : __ct_8388626 typ=dmaddr_ val=8388626f bnd=m + 223 : __ct_8388610 typ=dmaddr_ val=8388610f bnd=m + 244 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 275 : __ct_m80S0 typ=int18_ val=-88S0 bnd=m + 278 : __ct_0t0 typ=int18_ val=8t0 bnd=m + 279 : __ct_40t0 typ=int18_ val=48t0 bnd=m + 283 : __ct_2 typ=int18_ val=2f bnd=m + 284 : __ct_8t0 typ=int18_ val=16t0 bnd=m + 287 : __ct_16t0 typ=int18_ val=24t0 bnd=m + 290 : __ct_24t0 typ=int18_ val=32t0 bnd=m + 293 : __ct_32t0 typ=int18_ val=40t0 bnd=m + 296 : __ct_48t0 typ=int18_ val=56t0 bnd=m + 299 : __ct_56t0 typ=int18_ val=64t0 bnd=m + 302 : __ct_64t0 typ=int18_ val=72t0 bnd=m + 305 : __ct_72t0 typ=int18_ val=80t0 bnd=m + 311 : __tmp typ=uint3_ bnd=m + 319 : __true typ=bool val=1f bnd=m + 321 : __either typ=bool bnd=m + 322 : __trgt typ=int10_ val=0j bnd=m + 323 : __trgt typ=int10_ val=0j bnd=m + 324 : __trgt typ=int10_ val=0j bnd=m +] +F_main { + #250 off=0 + (__M_SDMB.6 var=8) st_def () <12>; + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__extDM.30 var=32) source () <54>; + (__extPM.31 var=33) source () <55>; + (__sp.32 var=34) source () <56>; + (b0.33 var=35) source () <57>; + (b1.34 var=36) source () <58>; + (_ZL16corrupted_signal.35 var=37) source () <59>; + (__extDM_SingleSignalPath.36 var=38) source () <60>; + (_ZL22reference_noise_signal.37 var=39) source () <61>; + (_ZL14output_pointer.38 var=40) source () <62>; + (__extDM___PDMint16_.39 var=41) source () <63>; + (_ZL11output_port.40 var=42) source () <64>; + (__extDM_int16_.41 var=43) source () <65>; + (_ZL14sample_pointer.42 var=44) source () <66>; + (_ZL6sample.43 var=45) source () <67>; + (_ZL15action_required.44 var=46) source () <68>; + (__extDM_int32_.45 var=47) source () <69>; + (_ZL12css_cmd_flag.46 var=48) source () <70>; + (__extDM_uint8_.47 var=49) source () <71>; + (_ZZ4mainvE4mode.48 var=50) source () <72>; + (_ZL10input_port.49 var=51) source () <73>; + (__extDM_void.50 var=52) source () <74>; + (__extPM_void.51 var=53) source () <75>; + (__extDM_int64_.52 var=54) source () <76>; + (__ptr_corrupted_signal.54 var=57) const () <78>; + (__ptr_reference_noise_signal.56 var=59) const () <80>; + (__ct_0.77 var=76) const () <101>; + (__la.79 var=77 stl=LR off=0) inp () <103>; + (__rd___sp.83 var=55) rd_res_reg (__R_SP.24 __sp.32) <107>; + (__R_SP.87 var=26 __sp.88 var=34) wr_res_reg (__rt.700 __sp.32) <111>; + (__rd___sp.89 var=55) rd_res_reg (__R_SP.24 __sp.88) <113>; + (__ct_4604930618986332160.99 var=90) const () <123>; + (__M_LDMA.104 var=14 b0.105 var=35) store (__ct_4604930618986332160.99 __rt.722 b0.33) <128>; + (__ct_0.106 var=95) const () <129>; + (__M_LDMA.111 var=14 b0.112 var=35) store (__ct_0.106 __rt.788 b0.105) <134>; + (__M_LDMA.118 var=14 b0.119 var=35) store (__ct_0.106 __rt.810 b0.112) <140>; + (__M_LDMA.125 var=14 b0.126 var=35) store (__ct_0.106 __rt.832 b0.119) <146>; + (__M_LDMA.132 var=14 b0.133 var=35) store (__ct_0.106 __rt.854 b0.126) <152>; + (__M_LDMA.139 var=14 b1.140 var=36) store (__ct_4604930618986332160.99 __rt.744 b1.34) <158>; + (__M_LDMA.146 var=14 b1.147 var=36) store (__ct_0.106 __rt.876 b1.140) <164>; + (__M_LDMA.153 var=14 b1.154 var=36) store (__ct_0.106 __rt.898 b1.147) <170>; + (__M_LDMA.160 var=14 b1.161 var=36) store (__ct_0.106 __rt.920 b1.154) <176>; + (__M_LDMA.167 var=14 b1.168 var=36) store (__ct_0.106 __rt.942 b1.161) <182>; + (__ct_2.173 var=140) const () <187>; + (__ct_4606281698874543309.179 var=144) const () <193>; + (__ct_4576918229304087675.185 var=148) const () <199>; + (__ct_64.188 var=150) const () <202>; + (_Z4initP16SingleSignalPathS0_PdS1_iidddi.191 var=152) const () <205>; + (__link.193 var=154) dmaddr__call_dmaddr_ (_Z4initP16SingleSignalPathS0_PdS1_iidddi.191) <207>; + (__rt.700 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.83 __ct_m80S0.955) <789>; + (__rt.722 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_0t0.958) <817>; + (__rt.744 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_40t0.959) <845>; + (__rt.788 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_8t0.964) <901>; + (__rt.810 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_16t0.967) <929>; + (__rt.832 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_24t0.970) <957>; + (__rt.854 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_32t0.973) <985>; + (__rt.876 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_48t0.976) <1013>; + (__rt.898 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_56t0.979) <1041>; + (__rt.920 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_64t0.982) <1069>; + (__rt.942 var=244) __Pvoid__pl___Pvoid_int18_ (__rd___sp.89 __ct_72t0.985) <1097>; + (__ct_m80S0.955 var=275) const () <1154>; + (__ct_0t0.958 var=278) const () <1160>; + (__ct_40t0.959 var=279) const () <1162>; + (__ct_8t0.964 var=284) const () <1172>; + (__ct_16t0.967 var=287) const () <1178>; + (__ct_24t0.970 var=290) const () <1184>; + (__ct_32t0.973 var=293) const () <1190>; + (__ct_48t0.976 var=296) const () <1196>; + (__ct_56t0.979 var=299) const () <1202>; + (__ct_64t0.982 var=302) const () <1208>; + (__ct_72t0.985 var=305) const () <1214>; + call { + (__ptr_corrupted_signal.169 var=56 stl=A off=0) assign (__ptr_corrupted_signal.54) <183>; + (__ptr_reference_noise_signal.170 var=58 stl=A off=1) assign (__ptr_reference_noise_signal.56) <184>; + (__ptr_b0.171 var=82 stl=A off=2) assign (__rt.722) <185>; + (__ptr_b1.172 var=86 stl=A off=3) assign (__rt.744) <186>; + (__ct.175 var=141 stl=RA off=0) assign (__ct_2.173) <189>; + (__ct.178 var=143 stl=RA off=1) assign (__ct_2.173) <192>; + (__ct.181 var=145 stl=AX off=0) assign (__ct_4606281698874543309.179) <195>; + (__ct.184 var=147 stl=AX off=1) assign (__ct_4606281698874543309.179) <198>; + (__ct.187 var=149 stl=BX off=0) assign (__ct_4576918229304087675.185) <201>; + (__ct.190 var=151 stl=RB off=0) assign (__ct_64.188) <204>; + (__link.194 var=154 stl=LR off=0) assign (__link.193) <208>; + (_ZL10input_port.195 var=51 _ZL11output_port.196 var=42 _ZL12css_cmd_flag.197 var=48 _ZL14output_pointer.198 var=40 _ZL14sample_pointer.199 var=44 _ZL15action_required.200 var=46 _ZL16corrupted_signal.201 var=37 _ZL22reference_noise_signal.202 var=39 _ZL6sample.203 var=45 __extDM.204 var=32 __extDM_SingleSignalPath.205 var=38 __extDM___PDMint16_.206 var=41 __extDM_int16_.207 var=43 __extDM_int32_.208 var=47 __extDM_int64_.209 var=54 __extDM_uint8_.210 var=49 __extDM_void.211 var=52 __extPM.212 var=33 __extPM_void.213 var=53 b0.214 var=35 b1.215 var=36 __vola.216 var=29) F_Z4initP16SingleSignalPathS0_PdS1_iidddi (__link.194 __ptr_corrupted_signal.169 __ptr_reference_noise_signal.170 __ptr_b0.171 __ptr_b1.172 __ct.175 __ct.178 __ct.181 __ct.184 __ct.187 __ct.190 _ZL10input_port.49 _ZL11output_port.40 _ZL12css_cmd_flag.46 _ZL14output_pointer.38 _ZL14sample_pointer.42 _ZL15action_required.44 _ZL16corrupted_signal.35 _ZL22reference_noise_signal.37 _ZL6sample.43 __extDM.30 __extDM_SingleSignalPath.36 __extDM___PDMint16_.39 __extDM_int16_.41 __extDM_int32_.45 __extDM_int64_.52 __extDM_uint8_.47 __extDM_void.50 __extPM.31 __extPM_void.51 b0.133 b1.168 __vola.27) <209>; + } #4 off=1 + call { + (__vola.217 var=29) Fvoid_enable_interrupts (__vola.216) <210>; + } #5 off=2 + #6 off=3 + (__ptr_output_pointer.58 var=61) const () <82>; + (__ct_8388624.60 var=63) const () <84>; + (__ptr_sample_pointer.63 var=65) const () <87>; + (__ptr_sample.65 var=67) const () <89>; + (__ptr_action_required.67 var=69) const () <91>; + (__ct_12582916.69 var=71) const () <93>; + (__ptr_mode.72 var=73) const () <96>; + (__ct_0.101 var=92) const () <125>; + (__M_WDMA.221 var=11 _ZL14output_pointer.222 var=40) store (__ct_8388626.667 __ptr_output_pointer.58 _ZL14output_pointer.198) <214>; + (__M_WDMA.223 var=11 _ZL14sample_pointer.224 var=44) store (__ptr_sample.65 __ptr_sample_pointer.63 _ZL14sample_pointer.199) <215>; + (__M_WDMA.227 var=11 _ZL15action_required.228 var=46 __vola.229 var=29) store (__ct_0.101 __ptr_action_required.67 _ZL15action_required.200 __vola.217) <218>; + (__ct_2.312 var=162) const () <303>; + (__ct_1.321 var=165) const () <308>; + (__ct_1.364 var=168) const () <352>; + (__fch__ZZ4mainvE4mode.398 var=181) load (__M_WDMA.9 __ptr_mode.72 _ZZ4mainvE4mode.48) <371>; + (_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_.410 var=189) const () <383>; + (__ct_4.623 var=211) const () <633>; + (__ct_8.624 var=212) const () <635>; + (__ct_8388626.667 var=222) const () <703>; + (__ct_8388610.668 var=223) const () <705>; + (__ct_2.963 var=283) const () <1170>; + (__trgt.1000 var=322) const () <1355>; + (__trgt.1002 var=323) const () <1358>; + (__trgt.1003 var=324) const () <1360>; + do { + { + (__vola.272 var=29) entry (__vola.460 __vola.229) <263>; + (__extDM.275 var=32) entry (__extDM.466 __extDM.204) <266>; + (__extPM.276 var=33) entry (__extPM.468 __extPM.212) <267>; + (b0.278 var=35) entry (b0.472 b0.214) <269>; + (b1.279 var=36) entry (b1.474 b1.215) <270>; + (_ZL16corrupted_signal.280 var=37) entry (_ZL16corrupted_signal.476 _ZL16corrupted_signal.201) <271>; + (__extDM_SingleSignalPath.281 var=38) entry (__extDM_SingleSignalPath.478 __extDM_SingleSignalPath.205) <272>; + (_ZL22reference_noise_signal.282 var=39) entry (_ZL22reference_noise_signal.480 _ZL22reference_noise_signal.202) <273>; + (_ZL14output_pointer.283 var=40) entry (_ZL14output_pointer.482 _ZL14output_pointer.222) <274>; + (__extDM___PDMint16_.284 var=41) entry (__extDM___PDMint16_.484 __extDM___PDMint16_.206) <275>; + (_ZL11output_port.285 var=42) entry (_ZL11output_port.486 _ZL11output_port.196) <276>; + (__extDM_int16_.286 var=43) entry (__extDM_int16_.488 __extDM_int16_.207) <277>; + (_ZL14sample_pointer.287 var=44) entry (_ZL14sample_pointer.490 _ZL14sample_pointer.224) <278>; + (_ZL6sample.288 var=45) entry (_ZL6sample.492 _ZL6sample.203) <279>; + (_ZL15action_required.289 var=46) entry (_ZL15action_required.494 _ZL15action_required.228) <280>; + (__extDM_int32_.290 var=47) entry (__extDM_int32_.496 __extDM_int32_.208) <281>; + (_ZL12css_cmd_flag.291 var=48) entry (_ZL12css_cmd_flag.498 _ZL12css_cmd_flag.197) <282>; + (__extDM_uint8_.292 var=49) entry (__extDM_uint8_.500 __extDM_uint8_.210) <283>; + (_ZL10input_port.294 var=51) entry (_ZL10input_port.504 _ZL10input_port.195) <285>; + (__extDM_void.295 var=52) entry (__extDM_void.506 __extDM_void.211) <286>; + (__extPM_void.296 var=53) entry (__extPM_void.508 __extPM_void.213) <287>; + (__extDM_int64_.297 var=54) entry (__extDM_int64_.510 __extDM_int64_.209) <288>; + } #11 + { + #13 off=4 + (__M_DMIO.314 var=5 _ZL12css_cmd_flag.315 var=48 __vola.316 var=29) store (__ct_2.312 __ct_12582916.69 _ZL12css_cmd_flag.291 __vola.272) <305>; + call { + (__vola.317 var=29) Fvoid_core_halt (__vola.316) <306>; + } #14 off=5 + #496 off=6 + (__fch__ZL15action_required.318 var=164 _ZL15action_required.319 var=46 __vola.320 var=29) load (__M_WDMA.9 __ptr_action_required.67 _ZL15action_required.289 __vola.317) <307>; + (__tmp.990 var=311) uint3__cmp_int72__int72_ (__fch__ZL15action_required.318 __ct_1.321) <1223>; + (__tmp.997 var=167) bool_nequal_uint3_ (__tmp.990) <1312>; + () void_jump_bool_int10_ (__tmp.997 __trgt.1000) <1356>; + (__either.1001 var=321) undefined () <1357>; + if { + { + () if_expr (__either.1001) <351>; + } #17 + { + } #21 off=10 + { + #303 off=7 + (__M_DMIO.366 var=5 _ZL12css_cmd_flag.367 var=48 __vola.368 var=29) store (__ct_1.364 __ct_12582916.69 _ZL12css_cmd_flag.315 __vola.320) <354>; + (__M_WDMA.371 var=11 _ZL15action_required.372 var=46 __vola.373 var=29) store (__ct_0.101 __ptr_action_required.67 _ZL15action_required.319 __vola.368) <357>; + (__fch__ZL14output_pointer.374 var=172) load (__M_WDMA.9 __ptr_output_pointer.58 _ZL14output_pointer.283) <358>; + (__M_WDMA.380 var=11 _ZL14output_pointer.381 var=40) store (__tmp.619 __ptr_output_pointer.58 _ZL14output_pointer.283) <364>; + (__fch__ZL14sample_pointer.382 var=178) load (__M_WDMA.9 __ptr_sample_pointer.63 _ZL14sample_pointer.287) <365>; + (__fchtmp.383 var=179 _ZL10input_port.384 var=51 _ZL11output_port.385 var=42 _ZL6sample.386 var=45 __extDM_int16_.387 var=43 __vola.388 var=29) load (__M_SDMB.6 __fch__ZL14sample_pointer.382 _ZL10input_port.294 _ZL11output_port.285 _ZL6sample.288 __extDM_int16_.286 __vola.373) <366>; + (__M_SDMB.390 var=8 _ZL10input_port.391 var=51 _ZL11output_port.392 var=42 _ZL6sample.393 var=45 __extDM_int16_.394 var=43 __vola.395 var=29) store (__fchtmp.383 __tmp.619 _ZL10input_port.384 _ZL11output_port.385 _ZL6sample.386 __extDM_int16_.387 __vola.388) <368>; + (__link.412 var=191) dmaddr__call_dmaddr_ (_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_.410) <385>; + (__tmp.619 var=177) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch__ZL14output_pointer.374 __ct_4.623 __ct_8388624.60 __ct_8.624) <593>; + (__rt.766 var=244) __Pvoid__mi___Pvoid_int18_ (__ct_8388610.668 __ct_2.963) <873>; + call { + (__ptr_corrupted_signal.396 var=56 stl=A off=0) assign (__ptr_corrupted_signal.54) <369>; + (__ptr_reference_noise_signal.397 var=58 stl=A off=1) assign (__ptr_reference_noise_signal.56) <370>; + (__fch__ZZ4mainvE4mode.399 var=181 stl=RA off=0) assign (__fch__ZZ4mainvE4mode.398) <372>; + (__tmp.403 var=184 stl=A off=4) assign (__ct_8388610.668) <376>; + (__tmp.407 var=187 stl=A off=5) assign (__rt.766) <380>; + (__fch__ZL14sample_pointer.409 var=188 stl=__spill_WDMA off=0) assign (__fch__ZL14sample_pointer.382) <382>; + (__link.413 var=191 stl=LR off=0) assign (__link.412) <386>; + (_ZL10input_port.414 var=51 _ZL11output_port.415 var=42 _ZL12css_cmd_flag.416 var=48 _ZL14output_pointer.417 var=40 _ZL14sample_pointer.418 var=44 _ZL15action_required.419 var=46 _ZL16corrupted_signal.420 var=37 _ZL22reference_noise_signal.421 var=39 _ZL6sample.422 var=45 __extDM.423 var=32 __extDM_SingleSignalPath.424 var=38 __extDM___PDMint16_.425 var=41 __extDM_int16_.426 var=43 __extDM_int32_.427 var=47 __extDM_int64_.428 var=54 __extDM_uint8_.429 var=49 __extDM_void.430 var=52 __extPM.431 var=33 __extPM_void.432 var=53 b0.433 var=35 b1.434 var=36 __vola.435 var=29) F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ (__link.413 __ptr_corrupted_signal.396 __ptr_reference_noise_signal.397 __fch__ZZ4mainvE4mode.399 __tmp.403 __tmp.407 __fch__ZL14sample_pointer.409 _ZL10input_port.391 _ZL11output_port.392 _ZL12css_cmd_flag.367 _ZL14output_pointer.381 _ZL14sample_pointer.287 _ZL15action_required.372 _ZL16corrupted_signal.280 _ZL22reference_noise_signal.282 _ZL6sample.393 __extDM.275 __extDM_SingleSignalPath.281 __extDM___PDMint16_.284 __extDM_int16_.394 __extDM_int32_.290 __extDM_int64_.297 __extDM_uint8_.292 __extDM_void.295 __extPM.276 __extPM_void.296 b0.278 b1.279 __vola.395) <387>; + } #20 off=8 + #499 off=9 + () void_jump_int10_ (__trgt.1002) <1359>; + } #18 + { + (__vola.436 var=29) merge (__vola.320 __vola.435) <388>; + (__extDM.437 var=32) merge (__extDM.275 __extDM.423) <389>; + (__extPM.438 var=33) merge (__extPM.276 __extPM.431) <390>; + (b0.439 var=35) merge (b0.278 b0.433) <391>; + (b1.440 var=36) merge (b1.279 b1.434) <392>; + (_ZL16corrupted_signal.441 var=37) merge (_ZL16corrupted_signal.280 _ZL16corrupted_signal.420) <393>; + (__extDM_SingleSignalPath.442 var=38) merge (__extDM_SingleSignalPath.281 __extDM_SingleSignalPath.424) <394>; + (_ZL22reference_noise_signal.443 var=39) merge (_ZL22reference_noise_signal.282 _ZL22reference_noise_signal.421) <395>; + (_ZL14output_pointer.444 var=40) merge (_ZL14output_pointer.283 _ZL14output_pointer.417) <396>; + (__extDM___PDMint16_.445 var=41) merge (__extDM___PDMint16_.284 __extDM___PDMint16_.425) <397>; + (_ZL11output_port.446 var=42) merge (_ZL11output_port.285 _ZL11output_port.415) <398>; + (__extDM_int16_.447 var=43) merge (__extDM_int16_.286 __extDM_int16_.426) <399>; + (_ZL14sample_pointer.448 var=44) merge (_ZL14sample_pointer.287 _ZL14sample_pointer.418) <400>; + (_ZL6sample.449 var=45) merge (_ZL6sample.288 _ZL6sample.422) <401>; + (_ZL15action_required.450 var=46) merge (_ZL15action_required.319 _ZL15action_required.419) <402>; + (__extDM_int32_.451 var=47) merge (__extDM_int32_.290 __extDM_int32_.427) <403>; + (_ZL12css_cmd_flag.452 var=48) merge (_ZL12css_cmd_flag.315 _ZL12css_cmd_flag.416) <404>; + (__extDM_uint8_.453 var=49) merge (__extDM_uint8_.292 __extDM_uint8_.429) <405>; + (_ZL10input_port.454 var=51) merge (_ZL10input_port.294 _ZL10input_port.414) <406>; + (__extDM_void.455 var=52) merge (__extDM_void.295 __extDM_void.430) <407>; + (__extPM_void.456 var=53) merge (__extPM_void.296 __extPM_void.432) <408>; + (__extDM_int64_.457 var=54) merge (__extDM_int64_.297 __extDM_int64_.428) <409>; + } #22 + } #16 + #500 off=11 + () void_jump_int10_ (__trgt.1003) <1361>; + (__true.1004 var=319) const () <1362>; + } #12 + { + () while_expr (__true.1004) <412>; + (__vola.460 var=29 __vola.461 var=29) exit (__vola.436) <413>; + (__extDM.466 var=32 __extDM.467 var=32) exit (__extDM.437) <416>; + (__extPM.468 var=33 __extPM.469 var=33) exit (__extPM.438) <417>; + (b0.472 var=35 b0.473 var=35) exit (b0.439) <419>; + (b1.474 var=36 b1.475 var=36) exit (b1.440) <420>; + (_ZL16corrupted_signal.476 var=37 _ZL16corrupted_signal.477 var=37) exit (_ZL16corrupted_signal.441) <421>; + (__extDM_SingleSignalPath.478 var=38 __extDM_SingleSignalPath.479 var=38) exit (__extDM_SingleSignalPath.442) <422>; + (_ZL22reference_noise_signal.480 var=39 _ZL22reference_noise_signal.481 var=39) exit (_ZL22reference_noise_signal.443) <423>; + (_ZL14output_pointer.482 var=40 _ZL14output_pointer.483 var=40) exit (_ZL14output_pointer.444) <424>; + (__extDM___PDMint16_.484 var=41 __extDM___PDMint16_.485 var=41) exit (__extDM___PDMint16_.445) <425>; + (_ZL11output_port.486 var=42 _ZL11output_port.487 var=42) exit (_ZL11output_port.446) <426>; + (__extDM_int16_.488 var=43 __extDM_int16_.489 var=43) exit (__extDM_int16_.447) <427>; + (_ZL14sample_pointer.490 var=44 _ZL14sample_pointer.491 var=44) exit (_ZL14sample_pointer.448) <428>; + (_ZL6sample.492 var=45 _ZL6sample.493 var=45) exit (_ZL6sample.449) <429>; + (_ZL15action_required.494 var=46 _ZL15action_required.495 var=46) exit (_ZL15action_required.450) <430>; + (__extDM_int32_.496 var=47 __extDM_int32_.497 var=47) exit (__extDM_int32_.451) <431>; + (_ZL12css_cmd_flag.498 var=48 _ZL12css_cmd_flag.499 var=48) exit (_ZL12css_cmd_flag.452) <432>; + (__extDM_uint8_.500 var=49 __extDM_uint8_.501 var=49) exit (__extDM_uint8_.453) <433>; + (_ZL10input_port.504 var=51 _ZL10input_port.505 var=51) exit (_ZL10input_port.454) <435>; + (__extDM_void.506 var=52 __extDM_void.507 var=52) exit (__extDM_void.455) <436>; + (__extPM_void.508 var=53 __extPM_void.509 var=53) exit (__extPM_void.456) <437>; + (__extDM_int64_.510 var=54 __extDM_int64_.511 var=54) exit (__extDM_int64_.457) <438>; + } #24 + } #10 rng=[1,65535] + #49 off=12 nxt=-4 + () sink (__vola.461) <659>; + () sink (__extDM.467) <660>; + () sink (__extPM.469) <661>; + () sink (__sp.88) <662>; + () sink (_ZL16corrupted_signal.477) <663>; + () sink (__extDM_SingleSignalPath.479) <664>; + () sink (_ZL22reference_noise_signal.481) <665>; + () sink (_ZL14output_pointer.483) <666>; + () sink (__extDM___PDMint16_.485) <667>; + () sink (_ZL11output_port.487) <668>; + () sink (__extDM_int16_.489) <669>; + () sink (_ZL14sample_pointer.491) <670>; + () sink (_ZL6sample.493) <671>; + () sink (_ZL15action_required.495) <672>; + () sink (__extDM_int32_.497) <673>; + () sink (_ZL12css_cmd_flag.499) <674>; + () sink (__extDM_uint8_.501) <675>; + () sink (_ZL10input_port.505) <676>; + () sink (__extDM_void.507) <677>; + () sink (__extPM_void.509) <678>; + () sink (__extDM_int64_.511) <679>; + () sink (__ct_0.77) <680>; +} #0 +0 : 'main.c'; +---------- +0 : (0,46:0,0); +4 : (0,56:4,15); +5 : (0,95:8,16); +6 : (0,101:8,20); +10 : (0,101:8,21); +12 : (0,101:17,21); +13 : (0,102:25,22); +14 : (0,103:12,22); +16 : (0,104:12,23); +18 : (0,104:38,24); +20 : (0,109:16,28); +21 : (0,104:12,31); +250 : (0,56:4,15); +303 : (0,109:16,28); +496 : (0,104:32,23); +---------- +84 : (0,96:26,0); +107 : (0,46:4,0); +111 : (0,46:4,0); +113 : (0,51:11,0); +123 : (0,51:18,0); +125 : (0,51:18,0); +128 : (0,51:18,2); +129 : (0,51:24,0); +134 : (0,51:24,3); +140 : (0,51:28,4); +146 : (0,51:32,5); +152 : (0,51:36,6); +158 : (0,52:18,8); +164 : (0,52:24,9); +170 : (0,52:28,10); +176 : (0,52:32,11); +182 : (0,52:36,12); +183 : (0,57:8,0); +184 : (0,57:27,0); +185 : (0,58:8,0); +186 : (0,59:8,0); +187 : (0,60:8,0); +189 : (0,60:8,0); +192 : (0,61:8,0); +193 : (0,62:8,0); +195 : (0,62:8,0); +198 : (0,63:8,0); +199 : (0,64:8,0); +201 : (0,64:8,0); +202 : (0,65:8,0); +204 : (0,65:8,0); +207 : (0,56:4,15); +208 : (0,56:4,0); +209 : (0,56:4,15); +210 : (0,95:8,16); +214 : (0,96:8,17); +215 : (0,97:8,18); +218 : (0,100:8,19); +263 : (0,101:8,21); +266 : (0,101:8,21); +267 : (0,101:8,21); +269 : (0,101:8,21); +270 : (0,101:8,21); +271 : (0,101:8,21); +272 : (0,101:8,21); +273 : (0,101:8,21); +274 : (0,101:8,21); +275 : (0,101:8,21); +276 : (0,101:8,21); +277 : (0,101:8,21); +278 : (0,101:8,21); +279 : (0,101:8,21); +280 : (0,101:8,21); +281 : (0,101:8,21); +282 : (0,101:8,21); +283 : (0,101:8,21); +285 : (0,101:8,21); +286 : (0,101:8,21); +287 : (0,101:8,21); +288 : (0,101:8,21); +303 : (0,102:25,0); +305 : (0,102:12,21); +306 : (0,103:12,22); +307 : (0,104:16,23); +308 : (0,104:35,0); +351 : (0,104:12,23); +352 : (0,105:29,0); +354 : (0,105:16,24); +357 : (0,106:16,25); +358 : (0,107:44,26); +364 : (0,107:16,26); +365 : (0,108:35,27); +366 : (0,108:34,27); +368 : (0,108:16,27); +369 : (0,109:21,0); +370 : (0,109:40,0); +371 : (0,109:65,28); +372 : (0,109:65,0); +376 : (0,109:82,0); +380 : (0,109:98,0); +382 : (0,109:103,0); +385 : (0,109:16,28); +386 : (0,109:16,0); +387 : (0,109:16,28); +388 : (0,104:12,33); +389 : (0,104:12,33); +390 : (0,104:12,33); +391 : (0,104:12,33); +392 : (0,104:12,33); +393 : (0,104:12,33); +394 : (0,104:12,33); +395 : (0,104:12,33); +396 : (0,104:12,33); +397 : (0,104:12,33); +398 : (0,104:12,33); +399 : (0,104:12,33); +400 : (0,104:12,33); +401 : (0,104:12,33); +402 : (0,104:12,33); +403 : (0,104:12,33); +404 : (0,104:12,33); +405 : (0,104:12,33); +406 : (0,104:12,33); +407 : (0,104:12,33); +408 : (0,104:12,33); +409 : (0,104:12,33); +412 : (0,101:8,35); +413 : (0,101:8,35); +416 : (0,101:8,35); +417 : (0,101:8,35); +419 : (0,101:8,35); +420 : (0,101:8,35); +421 : (0,101:8,35); +422 : (0,101:8,35); +423 : (0,101:8,35); +424 : (0,101:8,35); +425 : (0,101:8,35); +426 : (0,101:8,35); +427 : (0,101:8,35); +428 : (0,101:8,35); +429 : (0,101:8,35); +430 : (0,101:8,35); +431 : (0,101:8,35); +432 : (0,101:8,35); +433 : (0,101:8,35); +435 : (0,101:8,35); +436 : (0,101:8,35); +437 : (0,101:8,35); +438 : (0,101:8,35); +593 : (0,107:33,26); +633 : (0,107:33,0); +635 : (0,107:33,0); +703 : (0,96:37,0); +705 : (0,109:82,0); +789 : (0,46:4,0); +817 : (0,51:11,0); +845 : (0,52:11,0); +901 : (0,51:24,0); +929 : (0,51:28,0); +957 : (0,51:32,0); +985 : (0,51:36,0); +1013 : (0,52:24,0); +1041 : (0,52:28,0); +1069 : (0,52:32,0); +1097 : (0,52:36,0); +1154 : (0,46:4,0); +1160 : (0,51:11,0); +1162 : (0,52:11,0); +1172 : (0,51:24,0); +1178 : (0,51:28,0); +1184 : (0,51:32,0); +1190 : (0,51:36,0); +1196 : (0,52:24,0); +1202 : (0,52:28,0); +1208 : (0,52:32,0); +1214 : (0,52:36,0); +1223 : (0,104:32,23); +1312 : (0,104:32,23); +1356 : (0,104:12,23); +1361 : (0,101:8,35); + diff --git a/simulation/Release/chesswork/main-b11aa2.# b/simulation/Release/chesswork/main-b11aa2.# new file mode 100644 index 0000000..4103f01 --- /dev/null +++ b/simulation/Release/chesswork/main-b11aa2.# @@ -0,0 +1,8 @@ +466ba9a29dd6732e5048de41303e492793f3e524 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +8c9014769355b236211cd7156468f42706cc2c17 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +fa4a2bbf63f4c53259a8af9b8f5234ce21cdd3d5 +44 +0 diff --git a/simulation/Release/chesswork/main-b11aa2.o b/simulation/Release/chesswork/main-b11aa2.o new file mode 100644 index 0000000..eb7b1e3 Binary files /dev/null and b/simulation/Release/chesswork/main-b11aa2.o differ diff --git a/simulation/Release/chesswork/main-b11aa2.sfg b/simulation/Release/chesswork/main-b11aa2.sfg new file mode 100644 index 0000000..b758cb1 --- /dev/null +++ b/simulation/Release/chesswork/main-b11aa2.sfg @@ -0,0 +1,75 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + +/*** +!! extern void isr0() +Fisr0 : user_defined, isr, called { + fnm : "isr0" 'void isr0()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] srFlags[0] ); + svd : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : isr0 typ=uint20_ bnd=e stl=PM tref=void____ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 27 : __R_ILR typ=dmaddr_ bnd=d stl=ILR + 30 : __vola typ=uint20_ bnd=b stl=PM + 35 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __ila typ=dmaddr_ bnd=b stl=ILR + 37 : _ZL15action_required typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__sint_DMA + 39 : __rd___sp typ=dmaddr_ bnd=m + 40 : __rd___ila typ=dmaddr_ bnd=m + 42 : __ptr_action_required typ=dmaddr_ val=0a bnd=m adro=37 + 46 : __ct_1 typ=int32_ val=1f bnd=m + 58 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 79 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 80 : __ct_0s0 typ=int18_ val=0s0 bnd=m +] +Fisr0 { + (__R_SP.24 var=26) st_def () <48>; + (__R_ILR.25 var=27) st_def () <49>; + (__vola.28 var=30) source () <52>; + (__sp.33 var=35) source () <57>; + (__ila.34 var=36) source () <58>; + (_ZL15action_required.35 var=37) source () <59>; + (__ptr_action_required.39 var=42) const () <63>; + (__rd___sp.41 var=39) rd_res_reg (__R_SP.24 __sp.33) <65>; + (__R_SP.45 var=26 __sp.46 var=35) wr_res_reg (__rt.87 __sp.33) <69>; + (__ct_1.47 var=46) const () <71>; + (__M_WDMA.49 var=11 _ZL15action_required.50 var=37 __vola.51 var=30) store (__ct_1.47 __ptr_action_required.39 _ZL15action_required.35 __vola.28) <73>; + (__rd___sp.52 var=39) rd_res_reg (__R_SP.24 __sp.46) <74>; + (__R_SP.56 var=26 __sp.57 var=35) wr_res_reg (__rt.109 __sp.46) <78>; + (__rd___ila.58 var=40) rd_res_reg (__R_ILR.25 __ila.34) <79>; + () void_reti_dmaddr_ (__rd___ila.58) <80>; + () sink (__vola.51) <81>; + () sink (__sp.57) <86>; + () sink (_ZL15action_required.50) <88>; + (__rt.87 var=58) __Pvoid__pl___Pvoid_int18_ (__rd___sp.41 __ct_0S0.122) <139>; + (__rt.109 var=58) __Pvoid__pl___Pvoid_int18_ (__rd___sp.52 __ct_0s0.123) <167>; + (__ct_0S0.122 var=79) const () <191>; + (__ct_0s0.123 var=80) const () <193>; +} #5 off=0 nxt=-2 +0 : 'main.c'; +---------- +5 : (0,44:1,2); +---------- +65 : (0,42:16,0); +69 : (0,42:16,0); +71 : (0,43:19,0); +73 : (0,43:1,1); +74 : (0,44:1,0); +78 : (0,44:1,2); +79 : (0,44:1,0); +80 : (0,44:1,2); +139 : (0,42:16,0); +167 : (0,44:1,0); +191 : (0,42:16,0); +193 : (0,44:1,0); + diff --git a/simulation/Release/chesswork/main-d47062.# b/simulation/Release/chesswork/main-d47062.# new file mode 100644 index 0000000..f424140 --- /dev/null +++ b/simulation/Release/chesswork/main-d47062.# @@ -0,0 +1,8 @@ +0b3a1439876c35d4e2e78ed4e229a1ffbdca4df3 +b85c95c92e890cf0233f9e50ae029a827db9f04a +42695db990e5aaff0b9f36d25938c80e96ce47cc +c238342daf0be0efc059b5ac898db49a2a4f5cd4 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 +0 diff --git a/simulation/Release/chesswork/main-d47062.asm b/simulation/Release/chesswork/main-d47062.asm new file mode 100644 index 0000000..ad2a7b6 --- /dev/null +++ b/simulation/Release/chesswork/main-d47062.asm @@ -0,0 +1,10 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +.dir 0 "C:\Users\phangl\OneDrive - MED-EL\Desktop\LPDSP32_Modell\lib" +.text local 1 void_core_halt +.placeholder +.src_ref 0 "lpdsp32_irq.h" 66 first + powerdown; nop diff --git a/simulation/Release/chesswork/main-d47062.asm.mic b/simulation/Release/chesswork/main-d47062.asm.mic new file mode 100644 index 0000000..a4cc478 --- /dev/null +++ b/simulation/Release/chesswork/main-d47062.asm.mic @@ -0,0 +1,9 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:47 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib +m -g +HC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/elongation -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 main-d47062.asm -omain-d47062.asm.mic lpdsp32 + +// Release: ipp X-2025.06 +//.text local void_core_halt void_core_halt + 0 2/*first*/ "01000110000011100000" .srcref "%PROCDIR%" "lpdsp32_irq.h" 66 // powerdown ; nop + 1 0 "00111000000000000000" diff --git a/simulation/Release/chesswork/main.aliases b/simulation/Release/chesswork/main.aliases new file mode 100644 index 0000000..e69de29 diff --git a/simulation/Release/chesswork/main.ctt b/simulation/Release/chesswork/main.ctt new file mode 100644 index 0000000..deab781 --- /dev/null +++ b/simulation/Release/chesswork/main.ctt @@ -0,0 +1,19 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +#const float_tininess_after_rounding enum __anonymous0__main_ 0 (0x0) +#const float_tininess_before_rounding enum __anonymous0__main_ 1 (0x1) +#const float_round_nearest_even enum __anonymous1__main_ 0 (0x0) +#const float_round_to_zero enum __anonymous1__main_ 1 (0x1) +#const float_round_up enum __anonymous1__main_ 2 (0x2) +#const float_round_down enum __anonymous1__main_ 3 (0x3) +#const block_len const int 1 (0x1) +#const OUTPUT_MODE_C_SENSOR enum OutputMode 0 (0x0) +#const OUTPUT_MODE_ACC_SENSOR enum OutputMode 1 (0x1) +#const OUTPUT_MODE_FIR_LMS enum OutputMode 2 (0x2) +#const OUTPUT_MODE_FIR enum OutputMode 3 (0x3) +#const OUTPUT_MODE_FIR_LMS_LEAKY enum OutputMode 4 (0x4) +#const ones unsigned 4294967295 (0xffffffff) +#const coefficients int 64 (0x40) diff --git a/simulation/Release/chesswork/main.dti b/simulation/Release/chesswork/main.dti new file mode 100644 index 0000000..9720502 --- /dev/null +++ b/simulation/Release/chesswork/main.dti @@ -0,0 +1,228 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + bool__ : _basic() bool; + __cchar__ : _basic() __cchar; + __schar__ : _basic() __schar; + __uchar__ : _basic() __uchar; + __sshort__ : _basic() __sshort; + __ushort__ : _basic() __ushort; + __sint__ : _basic() __sint; + __uint__ : _basic() __uint; + __slong__ : _basic() __slong; + __ulong__ : _basic() __ulong; + __flongdouble__ : _basic() __flongdouble; + int72___ : _basic() int72_; + int32___ : _basic() int32_; + __slonglong__ : _basic() __slonglong; + __ulonglong__ : _basic() __ulonglong; + __Pvoid__ : _basic() __Pvoid; + int64___ : _basic() int64_; + accum_t__ : _basic() accum_t; + flags_t__ : _basic() flags_t; + __rtp__ : _typedef() __rtp $__ulonglong__; + __atp0__ : _typedef() __atp0 $accum_t__; + __atp1__ : _typedef() __atp1 $accum_t__; + __atp2__ : _typedef() __atp2 $__ulonglong__; + dmaddr___ : _basic() dmaddr_; + float32__ : _typedef() float32 $__uint__; + __rtp___1 : _typedef() __rtp $float32__; + __atp0___1 : _typedef() __atp0 $__sint__; + float64__ : _typedef() float64 $__ulonglong__; + __rtp___2 : _typedef() __rtp $float64__; + __atp0___2 : _typedef() __atp0 $__sint__; + __rtp___3 : _typedef() __rtp $float32__; + __atp0___3 : _typedef() __atp0 $__slonglong__; + __rtp___4 : _typedef() __rtp $float64__; + __atp0___4 : _typedef() __atp0 $__slonglong__; + __rtp___5 : _typedef() __rtp $__sint__; + __atp0___5 : _typedef() __atp0 $float32__; + __rtp___6 : _typedef() __rtp $__slonglong__; + __atp0___6 : _typedef() __atp0 $float32__; + __rtp___7 : _typedef() __rtp $float64__; + __atp0___7 : _typedef() __atp0 $float32__; + __rtp___8 : _typedef() __rtp $float32__; + __atp0___8 : _typedef() __atp0 $float32__; + __rtp___9 : _typedef() __rtp $float32__; + __atp0___9 : _typedef() __atp0 $float32__; + __atp1___1 : _typedef() __atp1 $float32__; + __rtp___10 : _typedef() __rtp $float32__; + __atp0___10 : _typedef() __atp0 $float32__; + __atp1___2 : _typedef() __atp1 $float32__; + __rtp___11 : _typedef() __rtp $float32__; + __atp0___11 : _typedef() __atp0 $float32__; + __atp1___3 : _typedef() __atp1 $float32__; + __rtp___12 : _typedef() __rtp $float32__; + __atp0___12 : _typedef() __atp0 $float32__; + __atp1___4 : _typedef() __atp1 $float32__; + __rtp___13 : _typedef() __rtp $__sint__; + __atp0___13 : _typedef() __atp0 $float32__; + __atp1___5 : _typedef() __atp1 $float32__; + __rtp___14 : _typedef() __rtp $__sint__; + __atp0___14 : _typedef() __atp0 $float32__; + __atp1___6 : _typedef() __atp1 $float32__; + __rtp___15 : _typedef() __rtp $__sint__; + __atp0___15 : _typedef() __atp0 $float32__; + __atp1___7 : _typedef() __atp1 $float32__; + __rtp___16 : _typedef() __rtp $__sint__; + __atp0___16 : _typedef() __atp0 $float64__; + __rtp___17 : _typedef() __rtp $__slonglong__; + __atp0___17 : _typedef() __atp0 $float64__; + __rtp___18 : _typedef() __rtp $float32__; + __atp0___18 : _typedef() __atp0 $float64__; + __rtp___19 : _typedef() __rtp $float64__; + __atp0___19 : _typedef() __atp0 $float64__; + __rtp___20 : _typedef() __rtp $float64__; + __atp0___20 : _typedef() __atp0 $float64__; + __atp1___8 : _typedef() __atp1 $float64__; + __rtp___21 : _typedef() __rtp $float64__; + __atp0___21 : _typedef() __atp0 $float64__; + __atp1___9 : _typedef() __atp1 $float64__; + __rtp___22 : _typedef() __rtp $float64__; + __atp0___22 : _typedef() __atp0 $float64__; + __atp1___10 : _typedef() __atp1 $float64__; + __rtp___23 : _typedef() __rtp $float64__; + __atp0___23 : _typedef() __atp0 $float64__; + __atp1___11 : _typedef() __atp1 $float64__; + __rtp___24 : _typedef() __rtp $__sint__; + __atp0___24 : _typedef() __atp0 $float64__; + __atp1___12 : _typedef() __atp1 $float64__; + __rtp___25 : _typedef() __rtp $__sint__; + __atp0___25 : _typedef() __atp0 $float64__; + __atp1___13 : _typedef() __atp1 $float64__; + __rtp___26 : _typedef() __rtp $__sint__; + __atp0___26 : _typedef() __atp0 $float64__; + __atp1___14 : _typedef() __atp1 $float64__; + __ffloat__ : _basic() __ffloat; + __fdouble__ : _basic() __fdouble; + uint15__IMSK : _basic(IMSK,1,1) uint15_; + uint15__irq_stat : _basic(irq_stat,1,1) uint15_; + __sint_DMA : _basic(DMA,4,4) __sint; + __Pvoid_DMA : _basic(DMA,4,4) __Pvoid; + __P__sint_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $__sint_DMA; + BufferPtr_DMA : _struct(DMA,12,4) BufferPtr { + buffer_len $__sint_DMA @0; + ptr_start $__P__sint_DMA @4; + ptr_current $__P__sint_DMA @8; + } + __sint_DMB : _basic(DMB,4,4) __sint; + __Pvoid_DMB : _basic(DMB,4,4) __Pvoid; + __PDMB__sint_DMB : _pointer(DMB,4,4) $__Pvoid_DMB $__sint_DMB; + BufferPtrDMB_DMB : _struct(DMB,12,4) BufferPtrDMB { + buffer_len $__sint_DMB @0; + ptr_start $__PDMB__sint_DMB @4; + ptr_current $__PDMB__sint_DMB @8; + } + __A64DMB__sint_DMB : _array(DMB,256,4) [64] $__sint_DMB; + __uchar_DMIO : _basic(DMIO,1,1) __uchar; + __A5__sint_DMA : _array(DMA,20,4) [5] $__sint_DMA; + __A2__sint_DMA : _array(DMA,8,4) [2] $__sint_DMA; + __A16__sint_DMA : _array(DMA,64,4) [16] $__sint_DMA; + SingleSignalPath_DMA : _struct(DMA,144,4) SingleSignalPath { + input_scale $__sint_DMA @0; + x_nbit_bitshift $__sint_DMA @4; + preemph_activated $__sint_DMA @8; + b_preemph $__A5__sint_DMA @12; + _preemph_scale_nbits $__sint_DMA @32; + _xd $__A2__sint_DMA @36; + _yd $__A2__sint_DMA @44; + _delay_buffer $__A16__sint_DMA @52; + delay_buffer $BufferPtr_DMA @116; + n_delay_samps $__sint_DMA @128; + weight_actived $__sint_DMA @132; + weight $__sint_DMA @136; + _weight_scale_nbits $__sint_DMA @140; + } + __sshort_DMB : _basic(DMB,2,2) __sshort; + int16_t_DMB : _typedef(DMB,2,2) int16_t $__sshort_DMB; + __A4DMB__sshort_DMB : _array(DMB,8,2) [4] $int16_t_DMB; + __PDMB__sshort_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $int16_t_DMB; + __rtp___27 : _typedef() __rtp $__ffloat__; + __atp0___27 : _typedef() __atp0 $__ffloat__; + __atp1___15 : _typedef() __atp1 $__sint__; + __rtp___28 : _typedef() __rtp $__fdouble__; + __atp0___28 : _typedef() __atp0 $__fdouble__; + __atp1___16 : _typedef() __atp1 $__sint__; + __rtp___29 : _typedef() __rtp $__ffloat__; + __atp0___29 : _typedef() __atp0 $__ffloat__; + __rtp___30 : _typedef() __rtp $__fdouble__; + __atp0___30 : _typedef() __atp0 $__fdouble__; + __rtp___31 : _typedef() __rtp $__ffloat__; + __atp0___31 : _typedef() __atp0 $__ffloat__; + __rtp___32 : _typedef() __rtp $__fdouble__; + __atp0___32 : _typedef() __atp0 $__fdouble__; + __rtp___33 : _typedef() __rtp $__ffloat__; + __atp0___33 : _typedef() __atp0 $__ffloat__; + __rtp___34 : _typedef() __rtp $__fdouble__; + __atp0___34 : _typedef() __atp0 $__fdouble__; + __rtp___35 : _typedef() __rtp $__ffloat__; + __atp0___35 : _typedef() __atp0 $__ffloat__; + __rtp___36 : _typedef() __rtp $__fdouble__; + __atp0___36 : _typedef() __atp0 $__fdouble__; + __rtp___37 : _typedef() __rtp $__ffloat__; + __atp0___37 : _typedef() __atp0 $__ffloat__; + __rtp___38 : _typedef() __rtp $__fdouble__; + __atp0___38 : _typedef() __atp0 $__fdouble__; + __rtp___39 : _typedef() __rtp $__ffloat__; + __atp0___39 : _typedef() __atp0 $__ffloat__; + __rtp___40 : _typedef() __rtp $__fdouble__; + __atp0___40 : _typedef() __atp0 $__fdouble__; + __rtp___41 : _typedef() __rtp $__ffloat__; + __atp0___41 : _typedef() __atp0 $__ffloat__; + __rtp___42 : _typedef() __rtp $__fdouble__; + __atp0___42 : _typedef() __atp0 $__fdouble__; + __rtp___43 : _typedef() __rtp $__ffloat__; + __atp0___43 : _typedef() __atp0 $__ffloat__; + __rtp___44 : _typedef() __rtp $__fdouble__; + __atp0___44 : _typedef() __atp0 $__fdouble__; + __rtp___45 : _typedef() __rtp $__ffloat__; + __atp0___45 : _typedef() __atp0 $__ffloat__; + __rtp___46 : _typedef() __rtp $__fdouble__; + __atp0___46 : _typedef() __atp0 $__fdouble__; + __rtp___47 : _typedef() __rtp $__ffloat__; + __atp0___47 : _typedef() __atp0 $__ffloat__; + __atp1___17 : _typedef() __atp1 $__ffloat__; + __rtp___48 : _typedef() __rtp $__fdouble__; + __atp0___48 : _typedef() __atp0 $__fdouble__; + __atp1___18 : _typedef() __atp1 $__fdouble__; + __rtp___49 : _typedef() __rtp $__fdouble__; + __atp0___49 : _typedef() __atp0 $__fdouble__; + __atp1___19 : _typedef() __atp1 $__fdouble__; + __rtp___50 : _typedef() __rtp $__ffloat__; + __atp0___50 : _typedef() __atp0 $__ffloat__; + __rtp___51 : _typedef() __rtp $__fdouble__; + __atp0___51 : _typedef() __atp0 $__fdouble__; + __rtp___52 : _typedef() __rtp $__ffloat__; + __atp0___52 : _typedef() __atp0 $__ffloat__; + __rtp___53 : _typedef() __rtp $__fdouble__; + __atp0___53 : _typedef() __atp0 $__fdouble__; + __rtp___54 : _typedef() __rtp $__fdouble__; + __atp0___54 : _typedef() __atp0 $__fdouble__; + __rtp___55 : _typedef() __rtp $__ffloat__; + __atp0___55 : _typedef() __atp0 $__ffloat__; + __atp1___20 : _typedef() __atp1 $__ffloat__; + __rtp___56 : _typedef() __rtp $__fdouble__; + __atp0___56 : _typedef() __atp0 $__fdouble__; + __atp1___21 : _typedef() __atp1 $__fdouble__; + __rtp___57 : _typedef() __rtp $__ffloat__; + __atp0___57 : _typedef() __atp0 $__ffloat__; + __PDMBvoid__ : _basic() __PDMBvoid; + fract_t__ : _basic() fract_t; + pmem_t__ : _basic() pmem_t; + __PDMvoid__ : _basic() __PDMvoid; + __PDMAvoid__ : _basic() __PDMAvoid; + __PDMIOvoid__ : _basic() __PDMIOvoid; + __PPMvoid__ : _basic() __PPMvoid; + OutputMode_DMA : _enum(DMA,4,4) OutputMode $__sint_DMA { + OUTPUT_MODE_C_SENSOR = 0; + OUTPUT_MODE_ACC_SENSOR = 1; + OUTPUT_MODE_FIR_LMS = 2; + OUTPUT_MODE_FIR = 3; + OUTPUT_MODE_FIR_LMS_LEAKY = 4; + } + void____ : _function() _void; + __sint____ : _function() $__sint__; + __fdouble_DMA : _basic(DMA,8,8) __fdouble; + __A5__fdouble_DMA : _array(DMA,40,8) [5] $__fdouble_DMA; diff --git a/simulation/Release/chesswork/main.fnm b/simulation/Release/chesswork/main.fnm new file mode 100644 index 0000000..df49115 --- /dev/null +++ b/simulation/Release/chesswork/main.fnm @@ -0,0 +1,50 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +// toolrelease _25R2; + +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\simulation\\main.c" +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\simulation" + +"main-b11aa2.sfg" + : isr0 + : "isr0" global "main.c" 42 Ofile + ( + ) + +"main-9f2435.sfg" + : _main + : "main" global "main.c" 46 Ofile + ( + _Z4initP16SingleSignalPathS0_PdS1_iidddi + _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + void_enable_interrupts + void_core_halt + ) + +"main-2c657d.asm" + : void_enable_interrupts + : "enable_interrupts" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\lpdsp32_irq.h" 43 Ofile + ( + ) + +"main-d47062.asm" + : void_core_halt + : "core_halt" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\lpdsp32_irq.h" 62 Ofile + ( + ) + +"" + : _Z4initP16SingleSignalPathS0_PdS1_iidddi + : "init" global "signal_processing\\include\\signal_path.h" 121 Ofile + ( + ) + +"" + : _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + : "calc" global "signal_processing\\include\\signal_path.h" 125 Ofile + ( + ) + diff --git a/simulation/Release/chesswork/main.gvt b/simulation/Release/chesswork/main.gvt new file mode 100644 index 0000000..7e80449 --- /dev/null +++ b/simulation/Release/chesswork/main.gvt @@ -0,0 +1,26 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +[ + 1 : _imsk_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=IMSK tref=uint15__IMSK + 2 : _irq_stat_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=irq_stat tref=uint15__irq_stat + 6 : _ZL12css_cmd_flag typ=int8_ val=12582916f bnd=f sz=1 algn=1 stl=DMIO tref=__uchar_DMIO + 7 : _ZL15action_required typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__sint_DMA + 8 : _ZL16corrupted_signal typ=int8_ bnd=f sz=144 algn=4 stl=DMA tref=SingleSignalPath_DMA + 9 : _ZL22reference_noise_signal typ=int8_ bnd=f sz=144 algn=4 stl=DMA tref=SingleSignalPath_DMA + 10 : _ZL10input_port typ=int8_ val=8388608f bnd=f sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 11 : _ZL11output_port typ=int8_ val=8388624f bnd=f sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 12 : _ZL15input_pointer_0 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 13 : _ZL15input_pointer_1 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 14 : _ZL14output_pointer typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 15 : _ZL14sample_pointer typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 16 : _ZL6sample typ=int8_ bnd=f sz=2 algn=2 stl=DMB tref=int16_t_DMB + 17 : _ZZ4mainvE4mode typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=OutputMode_DMA +] +__main_sttc { +} #0 +---------- +---------- + diff --git a/simulation/Release/chesswork/main.gvt.# b/simulation/Release/chesswork/main.gvt.# new file mode 100644 index 0000000..c85af8c --- /dev/null +++ b/simulation/Release/chesswork/main.gvt.# @@ -0,0 +1,8 @@ +b94f5e81f66808a8f4f9315bd020e05811fb8d4a +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +d125357c90bc01d214517ac1f8dd127ce36fc2ee +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 +0 diff --git a/simulation/Release/chesswork/main.gvt.o b/simulation/Release/chesswork/main.gvt.o new file mode 100644 index 0000000..1d5327f Binary files /dev/null and b/simulation/Release/chesswork/main.gvt.o differ diff --git a/simulation/Release/chesswork/main.ini b/simulation/Release/chesswork/main.ini new file mode 100644 index 0000000..3ad78f9 --- /dev/null +++ b/simulation/Release/chesswork/main.ini @@ -0,0 +1,18 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +_ZL12css_cmd_flag/6 $ css_cmd_flag +_ZL15action_required/7 $ action_required +_ZL16corrupted_signal/8 $ corrupted_signal +_ZL22reference_noise_signal/9 $ reference_noise_signal +_ZL10input_port/10 $ input_port +_ZL11output_port/11 $ output_port +_ZL15input_pointer_0/12 $ input_pointer_0 +_ZL15input_pointer_1/13 $ input_pointer_1 +_ZL14output_pointer/14 $ output_pointer +_ZL14sample_pointer/15 $ sample_pointer +_ZL6sample/16 $ sample +_ZZ4mainvE4mode/17 $ mode _main +_ZZ4mainvE4mode/17 : #02 #00 #00 #00 diff --git a/simulation/Release/chesswork/main.lib b/simulation/Release/chesswork/main.lib new file mode 100644 index 0000000..0a6ba65 --- /dev/null +++ b/simulation/Release/chesswork/main.lib @@ -0,0 +1,64 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +toolrelease _25R2; + + +// additional +prop gp_offset_type = ( __sint ); + +prop static_variable_registers = ( IMSK irq_stat ); + +// inline assembly void enable_interrupts() +Fvoid_enable_interrupts : user_defined, volatile, assembly { + fnm : "enable_interrupts" 'inline assembly void enable_interrupts()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// inline assembly void core_halt() +Fvoid_core_halt : user_defined, volatile, assembly { + fnm : "core_halt" 'inline assembly void core_halt()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int) +F_Z4initP16SingleSignalPathS0_PdS1_iidddi : user_defined, called { + fnm : "init" 'void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i int32_:i int32_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] A[1] A[2] A[3] RA[0] RA[1] AX[0] AX[1] BX[0] RB[0] ); + vac : ( srIM[0] ); +} + +// void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *) +F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ : user_defined, called { + fnm : "calc" 'void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i int32_:i dmaddr_:i dmaddr_:i dmaddr_:i ); + loc : ( LR[0] A[0] A[1] RA[0] A[4] A[5] __spill_WDMA[0] ); + vac : ( srIM[0] ); +} + +// void isr0() +Fisr0 : user_defined, isr, called { + fnm : "isr0" 'void isr0()'; + flc : ( A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Ae[0] Ae[1] Ah[0] Ah[1] Al[0] Al[1] Be[0] Be[1] Bh[0] Bh[1] Bl[0] Bl[1] C[0] C[1] C[2] C[3] LB[0] LB[1] LR[0] LSZ[0] LSZ[1] RA[0] RA[1] RB[0] RB[1] srFlags[0] ); + svd : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// int main() +F_main : user_defined, called { + fnm : "main" 'int main()'; + arg : ( dmaddr_:i int32_:r ); + loc : ( LR[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( l=80 b=8 ); + llv : 0 4 0 0 0 ; +} + diff --git a/simulation/Release/chesswork/main.objlist b/simulation/Release/chesswork/main.objlist new file mode 100644 index 0000000..90bc2f3 --- /dev/null +++ b/simulation/Release/chesswork/main.objlist @@ -0,0 +1,3 @@ +"main-b11aa2.o" 0 +"main-9f2435.o" 0 +"main.gvt.o" 0 diff --git a/simulation/Release/chesswork/main.tof b/simulation/Release/chesswork/main.tof new file mode 100644 index 0000000..c087007 --- /dev/null +++ b/simulation/Release/chesswork/main.tof @@ -0,0 +1,13 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + +// per defined called function, table of invoked intrinsic functions (excluding built-in operators): + +// void isr0() + +// int main() +void *cyclic_add(void *, int, void *, int) + diff --git a/simulation/Release/chesswork/signal_path-101f20.# b/simulation/Release/chesswork/signal_path-101f20.# new file mode 100644 index 0000000..c1e393c --- /dev/null +++ b/simulation/Release/chesswork/signal_path-101f20.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +e09177406743480e193022463cd660529462057a +da39a3ee5e6b4b0d3255bfef95601890afd80709 +51f321a08bbf6d068e6d50c4fac79f685b77b8d9 +348 +0 diff --git a/simulation/Release/chesswork/signal_path-101f20.o b/simulation/Release/chesswork/signal_path-101f20.o new file mode 100644 index 0000000..0fd33bf Binary files /dev/null and b/simulation/Release/chesswork/signal_path-101f20.o differ diff --git a/simulation/Release/chesswork/signal_path-101f20.sfg b/simulation/Release/chesswork/signal_path-101f20.sfg new file mode 100644 index 0000000..06bb789 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-101f20.sfg @@ -0,0 +1,523 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *) +F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ : user_defined, called { + fnm : "calc" 'void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i int32_:i dmaddr_:i dmaddr_:i dmaddr_:i ); + loc : ( LR[0] A[0] A[1] RA[0] A[4] A[5] __spill_WDMA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +!! void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int) +F_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi : user_defined, called { + fnm : "sig_cirular_buffer_ptr_put_sample_DMB" 'void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[4] RA[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ typ=uint20_ bnd=e stl=PM tref=void_____PSingleSignalPath___PSingleSignalPath_OutputMode___PDMB__sshort___PDMB__sshort___PDMB__sshort__ + 8 : __M_SDMB typ=int16_ bnd=d stl=SDMB + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 12 : __M_WDMB typ=int32_ bnd=d stl=WDMB + 14 : __M_LDMA typ=int64_ bnd=d stl=LDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 32 : __extDM typ=int8_ bnd=b stl=DM + 33 : __extPM typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32 typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 36 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32 typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 37 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 38 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 39 : ptr_fir_lms_delay_line typ=int8_ bnd=e sz=12 algn=4 stl=DMB tref=BufferPtrDMB_DMB + 40 : __extDM_BufferPtrDMB typ=int8_ bnd=b stl=DM + 41 : ptr_fir_lms_coeffs typ=int8_ bnd=e sz=12 algn=4 stl=DMA tref=BufferPtr_DMA + 42 : __extDM_BufferPtr typ=int8_ bnd=b stl=DM + 43 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt typ=int8_ bnd=i sz=4 algn=4 stl=DMB tref=__A1DMB__sint_DMB + 44 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 typ=int8_ bnd=i sz=4 algn=4 stl=DMB tref=__A1DMB__sint_DMB + 45 : _ZL2mu typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__sint_DMA + 46 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 47 : __extDM_int16_ typ=int8_ bnd=b stl=DM + 48 : __extDM_void typ=int8_ bnd=b stl=DM + 49 : __extPM_void typ=uint20_ bnd=b stl=PM + 50 : ptr_fir_lms_delay_line_ptr_current typ=int8_ bnd=b stl=DM + 51 : __extDM___PDMint32_ typ=int8_ bnd=b stl=DM + 52 : ptr_fir_lms_delay_line_ptr_start typ=int8_ bnd=b stl=DM + 53 : ptr_fir_lms_coeffs_ptr_current typ=int8_ bnd=b stl=DM + 54 : ptr_fir_lms_delay_line_buffer_len typ=int8_ bnd=b stl=DM + 55 : ptr_fir_lms_coeffs_buffer_len typ=int8_ bnd=b stl=DM + 56 : ptr_fir_lms_coeffs_ptr_start typ=int8_ bnd=b stl=DM + 57 : __extDM_int64_ typ=int8_ bnd=b stl=DM + 58 : __rd___sp typ=dmaddr_ bnd=m + 60 : __ptr_cSensor_32 typ=dmaddr_ val=0a bnd=m adro=35 + 62 : __ptr_accSensor_32 typ=dmaddr_ val=0a bnd=m adro=36 + 64 : __ptr_c_block_pre typ=dmaddr_ val=0a bnd=m adro=37 + 66 : __ptr_acc_block_pre typ=dmaddr_ val=0a bnd=m adro=38 + 67 : __ptr_ptr_fir_lms_delay_line typ=dmaddr_ bnd=m + 68 : __ptr_ptr_fir_lms_delay_line typ=dmaddr_ val=0a bnd=m adro=39 + 70 : __ptr_ptr_fir_lms_coeffs typ=dmaddr_ val=0a bnd=m adro=41 + 72 : __ptr_acc_block_filt typ=dmaddr_ val=0a bnd=m adro=43 + 74 : __ptr_out_32 typ=dmaddr_ val=0a bnd=m adro=44 + 76 : __ptr_mu typ=dmaddr_ val=0a bnd=m adro=45 + 77 : __ct_0 typ=uint1_ val=0f bnd=m + 78 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 79 : cSensorSignal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 80 : accSensorSignal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 81 : output_mode typ=int32_ bnd=p tref=OutputMode__ + 82 : cSensor typ=dmaddr_ bnd=p tref=__PDMB__sshort__ + 83 : accSensor typ=dmaddr_ bnd=p tref=__PDMB__sshort__ + 84 : out_16 typ=dmaddr_ bnd=p tref=__PDMB__sshort__ + 92 : __tmpb0_F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ typ=int32_ bnd=m tref=__sint__ + 97 : __inl_p_x0 typ=dmaddr_ bnd=m tref=__PDMB__sint__ + 99 : __inl_p_h typ=dmaddr_ bnd=m tref=__P__sint__ + 102 : __inl_acc1_A typ=int72_ bnd=m tref=accum_t__ + 103 : __inl_acc1_B typ=int72_ bnd=m tref=accum_t__ + 111 : __inl_acc1_C typ=int72_ bnd=m tref=accum_t__ + 118 : __inl_p_h0 typ=dmaddr_ bnd=m tref=__P__sint__ + 119 : __inl_p_x0 typ=dmaddr_ bnd=m tref=__PDMB__sint__ + 120 : __inl_p_x1 typ=dmaddr_ bnd=m tref=__PDMB__sint__ + 124 : __inl_acc_C typ=int72_ bnd=m tref=accum_t__ + 125 : __inl_prod typ=int32_ bnd=m tref=__sint__ + 127 : __inl_h0 typ=int32_ bnd=m tref=__sint__ + 128 : __inl_h1 typ=int32_ bnd=m tref=__sint__ + 129 : __inl_acc_A typ=int72_ bnd=m tref=accum_t__ + 130 : __inl_acc_B typ=int72_ bnd=m tref=accum_t__ + 137 : __ct_2 typ=int32_ val=2f bnd=m + 141 : __fch___extDM_int16_ typ=int16_ bnd=m + 143 : __ct_16 typ=int32_ val=16f bnd=m + 145 : __tmp typ=int32_ bnd=m + 156 : __fch___extDM_int16_ typ=int16_ bnd=m + 160 : __tmp typ=int32_ bnd=m + 202 : __ct_0 typ=int32_ val=0f bnd=m + 205 : __fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre typ=int32_ bnd=m + 206 : _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi typ=dmaddr_ val=0r bnd=m + 208 : __link typ=dmaddr_ bnd=m + 212 : __fch_ptr_fir_lms_delay_line_ptr_current typ=dmaddr_ bnd=m + 216 : __fch_ptr_fir_lms_delay_line_ptr_start typ=dmaddr_ bnd=m + 220 : __fch_ptr_fir_lms_coeffs_ptr_current typ=dmaddr_ bnd=m + 224 : __fch_ptr_fir_lms_delay_line_buffer_len typ=int32_ bnd=m + 228 : __fch_ptr_fir_lms_coeffs_buffer_len typ=int32_ bnd=m + 237 : __fchtmp typ=int32_ bnd=m + 238 : __fchtmp typ=int32_ bnd=m + 248 : __fchtmp typ=int32_ bnd=m + 249 : __fchtmp typ=int32_ bnd=m + 259 : __tmp typ=int72_ bnd=m + 261 : __tmp typ=int72_ bnd=m + 263 : __tmp typ=int32_ bnd=m + 265 : __tmp typ=int32_ bnd=m + 279 : __fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre typ=int32_ bnd=m + 284 : __tmp typ=int32_ bnd=m + 295 : __fch_ptr_fir_lms_coeffs_ptr_start typ=dmaddr_ bnd=m + 332 : __fch__ZL2mu typ=int32_ bnd=m + 337 : __fchtmp typ=int64_ bnd=m + 343 : __fchtmp typ=int32_ bnd=m + 344 : __tmp typ=int72_ bnd=m + 346 : __fchtmp typ=int32_ bnd=m + 347 : __tmp typ=int72_ bnd=m + 361 : __tmp typ=int32_ bnd=m + 362 : __tmp typ=int32_ bnd=m + 363 : __tmp typ=int64_ bnd=m + 382 : __fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 typ=int32_ bnd=m + 386 : __tmp typ=int72_ bnd=m + 387 : __tmp typ=int32_ bnd=m + 388 : __tmp typ=int16_ bnd=m + 428 : __ct_m4 typ=int18_ val=-4f bnd=m + 429 : __ct_m8 typ=int18_ val=-8f bnd=m + 453 : __vcnt typ=int32_ bnd=m + 454 : __ct_m1 typ=int32_ val=-1f bnd=m + 455 : __ct_1 typ=int32_ val=1f bnd=m + 456 : __cv typ=uint16_ bnd=m + 482 : __ptr_ptr_fir_lms_coeffs__a8 typ=dmaddr_ val=8a bnd=m adro=41 + 485 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 513 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 514 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 515 : __ct_4 typ=int18_ val=4f bnd=m + 516 : __ct_8 typ=int18_ val=8f bnd=m + 520 : __ct_2 typ=uint2_ val=2f bnd=m + 527 : __ct_1 typ=uint2_ val=1f bnd=m + 532 : __tmp typ=int72_ bnd=m + 537 : __tmp typ=int18_ bnd=m + 540 : __inl_acc1_A typ=int32_ bnd=m + 541 : __inl_acc1_B typ=int32_ bnd=m + 547 : __trgt typ=uint16_ val=0j bnd=m + 548 : __vcnt typ=uint16_ bnd=m + 549 : __trgt typ=uint16_ val=0j bnd=m + 550 : __vcnt typ=uint16_ bnd=m +] +F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ { + #602 off=0 + (__M_SDMB.6 var=8) st_def () <12>; + (__M_WDMA.9 var=11) st_def () <18>; + (__M_WDMB.10 var=12) st_def () <20>; + (__M_LDMA.12 var=14) st_def () <24>; + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__extDM.30 var=32) source () <54>; + (__extPM.31 var=33) source () <55>; + (__sp.32 var=34) source () <56>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32.33 var=35) source () <57>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32.34 var=36) source () <58>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.35 var=37) source () <59>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.36 var=38) source () <60>; + (ptr_fir_lms_delay_line.37 var=39) source () <61>; + (__extDM_BufferPtrDMB.38 var=40) source () <62>; + (ptr_fir_lms_coeffs.39 var=41) source () <63>; + (__extDM_BufferPtr.40 var=42) source () <64>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt.41 var=43) source () <65>; + (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.42 var=44) source () <66>; + (_ZL2mu.43 var=45) source () <67>; + (__extDM_int32_.44 var=46) source () <68>; + (__extDM_int16_.45 var=47) source () <69>; + (__extDM_void.46 var=48) source () <70>; + (__extPM_void.47 var=49) source () <71>; + (ptr_fir_lms_delay_line_ptr_current.48 var=50) source () <72>; + (__extDM___PDMint32_.49 var=51) source () <73>; + (ptr_fir_lms_delay_line_ptr_start.50 var=52) source () <74>; + (ptr_fir_lms_coeffs_ptr_current.51 var=53) source () <75>; + (ptr_fir_lms_delay_line_buffer_len.52 var=54) source () <76>; + (ptr_fir_lms_coeffs_buffer_len.53 var=55) source () <77>; + (ptr_fir_lms_coeffs_ptr_start.54 var=56) source () <78>; + (__extDM_int64_.55 var=57) source () <79>; + (__ptr_cSensor_32.57 var=60) const () <81>; + (__ptr_accSensor_32.59 var=62) const () <83>; + (__ptr_c_block_pre.61 var=64) const () <85>; + (__ptr_acc_block_pre.63 var=66) const () <87>; + (__ptr_ptr_fir_lms_delay_line.65 var=68) const () <89>; + (__ct_0.75 var=77) const () <99>; + (__la.77 var=78 stl=LR off=0) inp () <101>; + (__la.78 var=78) deassign (__la.77) <102>; + (cSensorSignal.80 var=79 stl=A off=0) inp () <104>; + (accSensorSignal.83 var=80 stl=A off=1) inp () <107>; + (output_mode.86 var=81 stl=RA off=0) inp () <110>; + (cSensor.89 var=82 stl=A off=4) inp () <113>; + (cSensor.90 var=82) deassign (cSensor.89) <114>; + (accSensor.92 var=83 stl=A off=5) inp () <116>; + (accSensor.93 var=83) deassign (accSensor.92) <117>; + (out_16.95 var=84 stl=__spill_WDMA off=0) inp () <119>; + (out_16.96 var=84) deassign (out_16.95) <120>; + (__rd___sp.98 var=58) rd_res_reg (__R_SP.24 __sp.32) <122>; + (__R_SP.102 var=26 __sp.103 var=34) wr_res_reg (__rt.2223 __sp.32) <126>; + (__fch___extDM_int16_.246 var=141 __extDM_int16_.247 var=47 __vola.248 var=29) load (__M_SDMB.6 cSensor.90 __extDM_int16_.45 __vola.27) <270>; + (__ct_16.250 var=143) const () <272>; + (__M_WDMA.258 var=11 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32.259 var=35) store (__tmp.2419 __ptr_cSensor_32.57 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32.33) <280>; + (__fch___extDM_int16_.265 var=156 __extDM_int16_.266 var=47 __vola.267 var=29) load (__M_SDMB.6 accSensor.93 __extDM_int16_.247 __vola.248) <286>; + (__M_WDMA.277 var=11 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32.278 var=36) store (__tmp.2424 __ptr_accSensor_32.59 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32.34) <296>; + (__M_WDMA.563 var=11 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.564 var=37) store (__tmp.2419 __ptr_c_block_pre.61 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.35) <494>; + (__M_WDMA.576 var=11 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.577 var=38) store (__tmp.2424 __ptr_acc_block_pre.63 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.36) <506>; + (_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi.766 var=206) const () <608>; + (__link.768 var=208) dmaddr__call_dmaddr_ (_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi.766) <610>; + (__rt.2223 var=485) __Pvoid__pl___Pvoid_int18_ (__rd___sp.98 __ct_0S0.2412) <1909>; + (__ct_0S0.2412 var=513) const () <2176>; + (__ct_2.2418 var=520) const () <2187>; + (__tmp.2419 var=145) int72__shift_int72__int72__uint2_ (__fch___extDM_int16_.246 __ct_16.250 __ct_2.2418) <2188>; + (__tmp.2424 var=160) int72__shift_int72__int72__uint2_ (__fch___extDM_int16_.265 __ct_16.250 __ct_2.2418) <2196>; + call { + (__ptr_ptr_fir_lms_delay_line.760 var=67 stl=A off=4) assign (__ptr_ptr_fir_lms_delay_line.65) <602>; + (__fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.765 var=205 stl=RA off=0) assign (__tmp.2424) <607>; + (__link.769 var=208 stl=LR off=0) assign (__link.768) <611>; + (_ZL2mu.770 var=45 __extDM.771 var=32 __extDM_BufferPtr.772 var=42 __extDM_BufferPtrDMB.773 var=40 __extDM___PDMint32_.774 var=51 __extDM_int16_.775 var=47 __extDM_int32_.776 var=46 __extDM_int64_.777 var=57 __extDM_void.778 var=48 __extPM.779 var=33 __extPM_void.780 var=49 ptr_fir_lms_coeffs.781 var=41 ptr_fir_lms_coeffs_buffer_len.782 var=55 ptr_fir_lms_coeffs_ptr_current.783 var=53 ptr_fir_lms_coeffs_ptr_start.784 var=56 ptr_fir_lms_delay_line.785 var=39 ptr_fir_lms_delay_line_buffer_len.786 var=54 ptr_fir_lms_delay_line_ptr_current.787 var=50 ptr_fir_lms_delay_line_ptr_start.788 var=52 __vola.789 var=29) F_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi (__link.769 __ptr_ptr_fir_lms_delay_line.760 __fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.765 _ZL2mu.43 __extDM.30 __extDM_BufferPtr.40 __extDM_BufferPtrDMB.38 __extDM___PDMint32_.49 __extDM_int16_.266 __extDM_int32_.44 __extDM_int64_.55 __extDM_void.46 __extPM.31 __extPM_void.47 ptr_fir_lms_coeffs.39 ptr_fir_lms_coeffs_buffer_len.53 ptr_fir_lms_coeffs_ptr_current.51 ptr_fir_lms_coeffs_ptr_start.54 ptr_fir_lms_delay_line.37 ptr_fir_lms_delay_line_buffer_len.52 ptr_fir_lms_delay_line_ptr_current.48 ptr_fir_lms_delay_line_ptr_start.50 __vola.267) <612>; + } #14 off=1 + #624 off=2 + (__ptr_ptr_fir_lms_coeffs.67 var=70) const () <91>; + (__ct_2.242 var=137) const () <266>; + (__ct_0.761 var=202) const () <603>; + (__fch_ptr_fir_lms_delay_line_ptr_current.799 var=212) load (__M_WDMB.10 __rt.2333 ptr_fir_lms_delay_line_ptr_current.787) <622>; + (__fch_ptr_fir_lms_delay_line_ptr_start.804 var=216) load (__M_WDMB.10 __rt.2355 ptr_fir_lms_delay_line_ptr_start.788) <627>; + (__fch_ptr_fir_lms_coeffs_ptr_current.809 var=220) load (__M_WDMA.9 __ptr_ptr_fir_lms_coeffs__a8.2209 ptr_fir_lms_coeffs_ptr_current.783) <632>; + (__fch_ptr_fir_lms_delay_line_buffer_len.814 var=224) load (__M_WDMB.10 __rt.2377 ptr_fir_lms_delay_line_buffer_len.786) <637>; + (__fch_ptr_fir_lms_coeffs_buffer_len.819 var=228) load (__M_WDMA.9 __ptr_ptr_fir_lms_coeffs.67 ptr_fir_lms_coeffs_buffer_len.782) <642>; + (__ct_m4.2080 var=428) const () <1742>; + (__ct_m1.2141 var=454) const () <1794>; + (__vcnt.2142 var=453) __sint__pl___sint___sint (__fch_ptr_fir_lms_coeffs_buffer_len.819 __ct_m1.2141) <1796>; + (__ct_1.2144 var=455) const () <1798>; + (__vcnt.2145 var=453) __sint__pl___sint___sint (__vcnt.2440 __ct_1.2144) <1800>; + (__cv.2146 var=456) uint16__uint16____sint (__vcnt.2145) <1801>; + (__ptr_ptr_fir_lms_coeffs__a8.2209 var=482) const () <1865>; + (__rt.2333 var=485) __Pvoid__pl___Pvoid_int18_ (__ptr_ptr_fir_lms_delay_line.65 __ct_8.2415) <2049>; + (__rt.2355 var=485) __Pvoid__mi___Pvoid_int18_ (__rt.2333 __ct_4.2414) <2077>; + (__rt.2377 var=485) __Pvoid__mi___Pvoid_int18_ (__rt.2355 __ct_4.2414) <2105>; + (__rt.2399 var=485) __Pvoid__pl___Pvoid_int18_ (__ptr_ptr_fir_lms_coeffs.67 __ct_4.2414) <2133>; + (__ct_4.2414 var=515) const () <2180>; + (__ct_8.2415 var=516) const () <2182>; + (__tmp.2429 var=537) int72__shift_int72__int72__uint2_ (__fch_ptr_fir_lms_delay_line_buffer_len.814 __ct_2.242 __ct_2.2418) <2204>; + (__ct_1.2433 var=527) const () <2211>; + (__tmp.2439 var=532) int72__shift_int72__int72__uint2_ (__vcnt.2142 __ct_1.2144 __ct_1.2433) <2220>; + (__vcnt.2440 var=453) int32__extract_high_int72_ (__tmp.2439) <2221>; + (__trgt.2448 var=547) const () <2312>; + () void_doloop_uint16__uint16_ (__cv.2146 __trgt.2448) <2313>; + (__vcnt.2449 var=548) undefined () <2314>; + for { + { + (__inl_p_x0.883 var=97) entry (__inl_p_x0.1052 __fch_ptr_fir_lms_delay_line_ptr_current.799) <706>; + (__inl_p_h.885 var=99) entry (__inl_p_h.1056 __fch_ptr_fir_lms_coeffs_ptr_current.809) <708>; + (__inl_acc1_A.888 var=540) entry (__inl_acc1_A.1062 __ct_0.761) <711>; + (__inl_acc1_B.889 var=541) entry (__inl_acc1_B.1064 __ct_0.761) <712>; + } #17 + { + (__fchtmp.924 var=237) load (__M_WDMB.10 __inl_p_x0.883 _ZL2mu.770 __extDM_int32_.776 ptr_fir_lms_coeffs_buffer_len.782 ptr_fir_lms_delay_line_buffer_len.786) <747>; + (__fchtmp.925 var=238) load (__M_WDMA.9 __inl_p_h.885 _ZL2mu.770 __extDM_int32_.776 ptr_fir_lms_coeffs_buffer_len.782 ptr_fir_lms_delay_line_buffer_len.786) <748>; + (__fchtmp.935 var=248) load (__M_WDMB.10 __inl_p_x0.2019 _ZL2mu.770 __extDM_int32_.776 ptr_fir_lms_coeffs_buffer_len.782 ptr_fir_lms_delay_line_buffer_len.786) <758>; + (__fchtmp.936 var=249) load (__M_WDMA.9 __rt.2267 _ZL2mu.770 __extDM_int32_.776 ptr_fir_lms_coeffs_buffer_len.782 ptr_fir_lms_delay_line_buffer_len.786) <759>; + (__inl_acc1_A.947 var=102) accum_t__pl_accum_t_accum_t (__inl_acc1_A.888 __tmp.2032) <770>; + (__inl_acc1_B.949 var=103) accum_t__pl_accum_t_accum_t (__inl_acc1_B.889 __tmp.2037) <772>; + (__tmp.950 var=263) __sint_rnd_saturate_accum_t (__inl_acc1_A.947) <773>; + (__tmp.952 var=265) __sint_rnd_saturate_accum_t (__inl_acc1_B.949) <775>; + (__inl_p_x0.2019 var=97) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__inl_p_x0.883 __ct_m4.2080 __fch_ptr_fir_lms_delay_line_ptr_start.804 __tmp.2429) <1628>; + (__inl_p_x0.2027 var=97) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__inl_p_x0.2019 __ct_m4.2080 __fch_ptr_fir_lms_delay_line_ptr_start.804 __tmp.2429) <1639>; + (__tmp.2032 var=259) int72__multss_int32__int32__uint1_ (__fchtmp.924 __fchtmp.925 __ct_0.75) <1647>; + (__tmp.2037 var=261) int72__multss_int32__int32__uint1_ (__fchtmp.935 __fchtmp.936 __ct_0.75) <1655>; + (__rt.2267 var=485) __Pvoid__pl___Pvoid_int18_ (__inl_p_h.885 __ct_4.2414) <1965>; + (__rt.2289 var=485) __Pvoid__pl___Pvoid_int18_ (__rt.2267 __ct_4.2414) <1993>; + } #412 off=3 + { + () for_count (__vcnt.2449) <781>; + (__inl_p_x0.1052 var=97 __inl_p_x0.1053 var=97) exit (__inl_p_x0.2027) <829>; + (__inl_p_h.1056 var=99 __inl_p_h.1057 var=99) exit (__rt.2289) <831>; + (__inl_acc1_A.1062 var=540 __inl_acc1_A.1063 var=540) exit (__tmp.950) <834>; + (__inl_acc1_B.1064 var=541 __inl_acc1_B.1065 var=541) exit (__tmp.952) <835>; + } #19 + } #16 rng=[1,65535] + #103 off=4 + (__ptr_acc_block_filt.69 var=72) const () <93>; + (__ptr_out_32.71 var=74) const () <95>; + (__ptr_mu.73 var=76) const () <97>; + (__inl_acc1_C.1134 var=111) accum_t__pl_accum_t_accum_t (__inl_acc1_A.1063 __inl_acc1_B.1065) <870>; + (__tmpb0_F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_.1135 var=92) __sint_rnd_saturate_accum_t (__inl_acc1_C.1134) <871>; + (__M_WDMB.1139 var=12 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt.1140 var=43) store (__tmpb0_F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_.1135 __ptr_acc_block_filt.69 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt.41) <875>; + (__fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.1144 var=279) load (__M_WDMA.9 __ptr_c_block_pre.61 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.564) <879>; + (__tmp.1149 var=284) __sint__mi___sint___sint (__fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.1144 __tmpb0_F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_.1135) <884>; + (__M_WDMB.1153 var=12 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.1154 var=44) store (__tmp.1149 __ptr_out_32.71 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.42) <888>; + (__fch_ptr_fir_lms_coeffs_ptr_start.1170 var=295) load (__M_WDMA.9 __rt.2399 ptr_fir_lms_coeffs_ptr_start.784) <904>; + (__fch__ZL2mu.1218 var=332) load (__M_WDMA.9 __ptr_mu.73 _ZL2mu.770) <952>; + (__inl_prod.1220 var=125) __sint_rnd_saturate_accum_t (__inl_acc_C.2050) <954>; + (__inl_p_x1.2045 var=120) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch_ptr_fir_lms_delay_line_ptr_current.799 __ct_m4.2080 __fch_ptr_fir_lms_delay_line_ptr_start.804 __tmp.2429) <1666>; + (__inl_acc_C.2050 var=124) int72__multss_int32__int32__uint1_ (__fch__ZL2mu.1218 __tmp.1149 __ct_0.75) <1674>; + (__ct_m8.2081 var=429) const () <1744>; + (__trgt.2450 var=549) const () <2315>; + () void_doloop_uint16__uint16_ (__cv.2146 __trgt.2450) <2316>; + (__vcnt.2451 var=550) undefined () <2317>; + for { + { + (_ZL2mu.1240 var=45) entry (_ZL2mu.1385 _ZL2mu.770) <974>; + (__extDM_int32_.1241 var=46) entry (__extDM_int32_.1387 __extDM_int32_.776) <975>; + (ptr_fir_lms_delay_line_buffer_len.1249 var=54) entry (ptr_fir_lms_delay_line_buffer_len.1403 ptr_fir_lms_delay_line_buffer_len.786) <983>; + (ptr_fir_lms_coeffs_buffer_len.1250 var=55) entry (ptr_fir_lms_coeffs_buffer_len.1405 ptr_fir_lms_coeffs_buffer_len.782) <984>; + (__extDM_int64_.1252 var=57) entry (__extDM_int64_.1409 __extDM_int64_.777) <986>; + (__inl_p_h0.1294 var=118) entry (__inl_p_h0.1493 __fch_ptr_fir_lms_coeffs_ptr_start.1170) <1028>; + (__inl_p_x0.1295 var=119) entry (__inl_p_x0.1495 __fch_ptr_fir_lms_delay_line_ptr_current.799) <1029>; + (__inl_p_x1.1296 var=120) entry (__inl_p_x1.1497 __inl_p_x1.2045) <1030>; + } #22 + { + (__fchtmp.1312 var=337) load (__M_LDMA.12 __inl_p_h0.1294 _ZL2mu.1240 __extDM_int32_.1241 __extDM_int64_.1252 ptr_fir_lms_coeffs_buffer_len.1250 ptr_fir_lms_delay_line_buffer_len.1249) <1046>; + (__inl_h0.1314 var=127 __inl_h1.1315 var=128) void_lldecompose___ulonglong___sint___sint (__fchtmp.1312) <1048>; + (__fchtmp.1318 var=343) load (__M_WDMB.10 __inl_p_x0.1295 _ZL2mu.1240 __extDM_int32_.1241 ptr_fir_lms_coeffs_buffer_len.1250 ptr_fir_lms_delay_line_buffer_len.1249) <1051>; + (__inl_acc_A.1320 var=129) accum_t__pl_accum_t_accum_t (__inl_h0.1314 __tmp.2055) <1053>; + (__fchtmp.1321 var=346) load (__M_WDMB.10 __inl_p_x1.1296 _ZL2mu.1240 __extDM_int32_.1241 ptr_fir_lms_coeffs_buffer_len.1250 ptr_fir_lms_delay_line_buffer_len.1249) <1054>; + (__inl_acc_B.1323 var=130) accum_t__pl_accum_t_accum_t (__inl_h1.1315 __tmp.2060) <1056>; + (__tmp.1336 var=361) __sint_rnd_saturate_accum_t (__inl_acc_A.1320) <1069>; + (__tmp.1337 var=362) __sint_rnd_saturate_accum_t (__inl_acc_B.1323) <1070>; + (__tmp.1338 var=363) __ulonglong_llcompose___sint___sint (__tmp.1336 __tmp.1337) <1071>; + (__M_LDMA.1340 var=14 _ZL2mu.1341 var=45 __extDM_int32_.1342 var=46 __extDM_int64_.1343 var=57 ptr_fir_lms_coeffs_buffer_len.1344 var=55 ptr_fir_lms_delay_line_buffer_len.1345 var=54) store (__tmp.1338 __inl_p_h0.1294 _ZL2mu.1240 __extDM_int32_.1241 __extDM_int64_.1252 ptr_fir_lms_coeffs_buffer_len.1250 ptr_fir_lms_delay_line_buffer_len.1249) <1073>; + (__tmp.2055 var=344) int72__multss_int32__int32__uint1_ (__inl_prod.1220 __fchtmp.1318 __ct_0.75) <1682>; + (__tmp.2060 var=347) int72__multss_int32__int32__uint1_ (__inl_prod.1220 __fchtmp.1321 __ct_0.75) <1690>; + (__inl_p_x0.2068 var=119) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__inl_p_x0.1295 __ct_m8.2081 __fch_ptr_fir_lms_delay_line_ptr_start.804 __tmp.2429) <1701>; + (__inl_p_x1.2076 var=120) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__inl_p_x1.1296 __ct_m8.2081 __fch_ptr_fir_lms_delay_line_ptr_start.804 __tmp.2429) <1712>; + (__rt.2311 var=485) __Pvoid__pl___Pvoid_int18_ (__inl_p_h0.1294 __ct_8.2415) <2021>; + } #482 off=5 + { + () for_count (__vcnt.2451) <1081>; + (_ZL2mu.1385 var=45 _ZL2mu.1386 var=45) exit (_ZL2mu.1341) <1098>; + (__extDM_int32_.1387 var=46 __extDM_int32_.1388 var=46) exit (__extDM_int32_.1342) <1099>; + (ptr_fir_lms_delay_line_buffer_len.1403 var=54 ptr_fir_lms_delay_line_buffer_len.1404 var=54) exit (ptr_fir_lms_delay_line_buffer_len.1345) <1107>; + (ptr_fir_lms_coeffs_buffer_len.1405 var=55 ptr_fir_lms_coeffs_buffer_len.1406 var=55) exit (ptr_fir_lms_coeffs_buffer_len.1344) <1108>; + (__extDM_int64_.1409 var=57 __extDM_int64_.1410 var=57) exit (__extDM_int64_.1343) <1110>; + (__inl_p_h0.1493 var=118 __inl_p_h0.1494 var=118) exit (__rt.2311) <1152>; + (__inl_p_x0.1495 var=119 __inl_p_x0.1496 var=119) exit (__inl_p_x0.2068) <1153>; + (__inl_p_x1.1497 var=120 __inl_p_x1.1498 var=120) exit (__inl_p_x1.2076) <1154>; + } #24 + } #21 rng=[1,65535] + #36 off=6 nxt=-2 + (__fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.1716 var=382) load (__M_WDMB.10 __ptr_out_32.71 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.1154) <1359>; + (__tmp.1721 var=387) __sint_rnd_saturate_accum_t (__tmp.2434) <1364>; + (__tmp.1722 var=388) __sshort___sshort___sint (__tmp.1721) <1365>; + (__M_SDMB.1728 var=8 __extDM_int16_.1729 var=47 __vola.1730 var=29) store (__tmp.1722 out_16.96 __extDM_int16_.775 __vola.789) <1371>; + (__rd___sp.1917 var=58) rd_res_reg (__R_SP.24 __sp.103) <1471>; + (__R_SP.1921 var=26 __sp.1922 var=34) wr_res_reg (__rt.2245 __sp.103) <1475>; + () void_ret_dmaddr_ (__la.78) <1476>; + () sink (__vola.1730) <1477>; + () sink (__extDM.771) <1480>; + () sink (__extPM.779) <1481>; + () sink (__sp.1922) <1482>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32.259) <1483>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32.278) <1484>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre.564) <1485>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre.577) <1486>; + () sink (ptr_fir_lms_delay_line.785) <1487>; + () sink (__extDM_BufferPtrDMB.773) <1488>; + () sink (ptr_fir_lms_coeffs.781) <1489>; + () sink (__extDM_BufferPtr.772) <1490>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt.1140) <1491>; + () sink (_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.1154) <1492>; + () sink (_ZL2mu.1386) <1493>; + () sink (__extDM_int32_.1388) <1494>; + () sink (__extDM_int16_.1729) <1495>; + () sink (__extDM_void.778) <1496>; + () sink (__extPM_void.780) <1497>; + () sink (ptr_fir_lms_delay_line_ptr_current.787) <1498>; + () sink (__extDM___PDMint32_.774) <1499>; + () sink (ptr_fir_lms_delay_line_ptr_start.788) <1500>; + () sink (ptr_fir_lms_coeffs_ptr_current.783) <1501>; + () sink (ptr_fir_lms_delay_line_buffer_len.1404) <1502>; + () sink (ptr_fir_lms_coeffs_buffer_len.1406) <1503>; + () sink (ptr_fir_lms_coeffs_ptr_start.784) <1504>; + () sink (__extDM_int64_.1410) <1505>; + () sink (__ct_0.75) <1506>; + (__rt.2245 var=485) __Pvoid__pl___Pvoid_int18_ (__rd___sp.1917 __ct_0s0.2413) <1937>; + (__ct_0s0.2413 var=514) const () <2178>; + (__tmp.2434 var=386) int72__shift_int72__int72__uint2_ (__fch__ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32.1716 __ct_16.250 __ct_1.2433) <2212>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,348:0,0); +14 : (0,383:4,26); +16 : (0,385:23,43); +21 : (0,389:4,87); +36 : (0,397:0,115); +103 : (0,389:4,85); +412 : (0,385:23,61); +482 : (0,389:4,0); +602 : (0,383:4,26); +624 : (0,385:23,43); +---------- +85 : (0,387:16,0); +87 : (0,383:67,0); +89 : (0,385:23,0); +91 : (0,385:23,0); +93 : (0,385:4,0); +95 : (0,387:4,0); +122 : (0,348:5,0); +126 : (0,348:5,0); +266 : (0,371:39,0); +270 : (0,371:39,11); +272 : (0,371:47,0); +280 : (0,371:18,11); +286 : (0,372:42,12); +296 : (0,372:20,12); +494 : (0,377:20,19); +506 : (0,378:22,20); +602 : (0,383:42,0); +603 : (0,383:81,0); +607 : (0,383:80,0); +610 : (0,383:4,26); +611 : (0,383:4,0); +612 : (0,383:4,26); +622 : (0,385:23,33); +627 : (0,385:23,34); +632 : (0,385:23,35); +637 : (0,385:23,36); +642 : (0,385:23,37); +706 : (0,385:23,43); +708 : (0,385:23,43); +711 : (0,385:23,43); +712 : (0,385:23,43); +747 : (0,385:23,43); +748 : (0,385:23,44); +758 : (0,385:23,49); +759 : (0,385:23,50); +770 : (0,385:23,55); +772 : (0,385:23,56); +773 : (0,385:23,57); +775 : (0,385:23,58); +781 : (0,385:23,61); +829 : (0,385:23,61); +831 : (0,385:23,61); +834 : (0,385:23,61); +835 : (0,385:23,61); +870 : (0,385:23,62); +871 : (0,385:23,63); +875 : (0,385:18,66); +879 : (0,387:27,67); +884 : (0,387:31,67); +888 : (0,387:10,67); +904 : (0,389:4,75); +952 : (0,389:4,84); +954 : (0,389:4,85); +974 : (0,389:4,87); +975 : (0,389:4,87); +983 : (0,389:4,87); +984 : (0,389:4,87); +986 : (0,389:4,87); +1028 : (0,389:4,87); +1029 : (0,389:4,87); +1030 : (0,389:4,87); +1046 : (0,389:4,87); +1048 : (0,389:4,87); +1051 : (0,389:4,90); +1053 : (0,389:4,90); +1054 : (0,389:4,91); +1056 : (0,389:4,91); +1069 : (0,389:4,94); +1070 : (0,389:4,94); +1071 : (0,389:4,94); +1073 : (0,389:4,94); +1081 : (0,389:4,98); +1098 : (0,389:4,98); +1099 : (0,389:4,98); +1107 : (0,389:4,98); +1108 : (0,389:4,98); +1110 : (0,389:4,98); +1152 : (0,389:4,98); +1153 : (0,389:4,98); +1154 : (0,389:4,98); +1359 : (0,394:48,105); +1364 : (0,394:20,105); +1365 : (0,394:18,105); +1371 : (0,394:14,105); +1471 : (0,397:0,0); +1475 : (0,397:0,115); +1476 : (0,397:0,115); +1628 : (0,385:23,48); +1639 : (0,385:23,54); +1647 : (0,385:23,55); +1655 : (0,385:23,56); +1666 : (0,389:4,78); +1674 : (0,389:4,84); +1682 : (0,389:4,90); +1690 : (0,389:4,91); +1701 : (0,389:4,92); +1712 : (0,389:4,93); +1742 : (0,385:23,0); +1744 : (0,389:4,0); +1865 : (0,385:23,0); +1909 : (0,348:5,0); +1937 : (0,397:0,0); +1965 : (0,385:23,0); +1993 : (0,385:23,0); +2021 : (0,389:4,0); +2049 : (0,385:23,0); +2077 : (0,385:23,0); +2105 : (0,385:23,0); +2133 : (0,389:4,0); +2176 : (0,348:5,0); +2178 : (0,397:0,0); +2180 : (0,385:23,0); +2182 : (0,389:4,0); +2187 : (0,371:44,0); +2188 : (0,371:44,11); +2196 : (0,372:47,12); +2204 : (0,385:23,48); +2211 : (0,394:53,0); +2212 : (0,394:53,105); +2313 : (0,385:23,61); +2316 : (0,389:4,98); + diff --git a/simulation/Release/chesswork/signal_path-154f66.# b/simulation/Release/chesswork/signal_path-154f66.# new file mode 100644 index 0000000..6ba484f --- /dev/null +++ b/simulation/Release/chesswork/signal_path-154f66.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +454cbf759dc179bab963eec74c3b7ec9f827cdcb +da39a3ee5e6b4b0d3255bfef95601890afd80709 +cef764f6402a6eeb549cc520677fd8828baab91e +71 +0 diff --git a/simulation/Release/chesswork/signal_path-154f66.o b/simulation/Release/chesswork/signal_path-154f66.o new file mode 100644 index 0000000..157f1ad Binary files /dev/null and b/simulation/Release/chesswork/signal_path-154f66.o differ diff --git a/simulation/Release/chesswork/signal_path-154f66.sfg b/simulation/Release/chesswork/signal_path-154f66.sfg new file mode 100644 index 0000000..afeb885 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-154f66.sfg @@ -0,0 +1,216 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_init_buffer(BufferPtr *, int *, int, int) +F_Z15sig_init_bufferP9BufferPtrPiii : user_defined, called { + fnm : "sig_init_buffer" 'int sig_init_buffer(BufferPtr *, int *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] A[1] RA[1] RB[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z15sig_init_bufferP9BufferPtrPiii typ=uint20_ bnd=e stl=PM tref=__sint_____PBufferPtr___P__sint___sint___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 37 : __extDM_BufferPtr_buffer_len typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtr_ptr_start typ=int8_ bnd=b stl=DM + 40 : __extDM_BufferPtr_ptr_current typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : __rt typ=int32_ bnd=p tref=__sint__ + 45 : buffer typ=dmaddr_ bnd=p tref=__PBufferPtr__ + 46 : buffer_start_add typ=dmaddr_ bnd=p tref=__P__sint__ + 47 : length typ=int32_ bnd=p tref=__sint__ + 48 : max_buffer_len typ=int32_ bnd=p tref=__sint__ + 54 : __ct_0 typ=int32_ val=0f bnd=m + 65 : __tmp typ=bool bnd=m + 72 : __ct_1 typ=int32_ val=1f bnd=m + 76 : __tmp typ=bool bnd=m + 92 : __iv1_i typ=dmaddr_ bnd=m + 95 : __cv typ=uint16_ bnd=m + 103 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 127 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 128 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 129 : __ct_4 typ=int18_ val=4f bnd=m + 133 : __tmp typ=uint3_ bnd=m + 138 : __tmp typ=uint3_ bnd=m + 148 : __either typ=bool bnd=m + 149 : __trgt typ=int10_ val=0j bnd=m + 150 : __trgt typ=int10_ val=0j bnd=m + 151 : __trgt typ=int10_ val=0j bnd=m + 152 : __trgt typ=int10_ val=0j bnd=m + 153 : __trgt typ=uint16_ val=0j bnd=m + 154 : __vcnt typ=uint16_ bnd=m +] +F_Z15sig_init_bufferP9BufferPtrPiii { + #239 off=0 + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_int32_.34 var=36) source () <58>; + (__extDM_BufferPtr_buffer_len.35 var=37) source () <59>; + (__extDM_BufferPtr_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtr_ptr_current.38 var=40) source () <62>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.46 var=45 stl=A off=0) inp () <70>; + (buffer.47 var=45) deassign (buffer.46) <71>; + (buffer_start_add.49 var=46 stl=A off=1) inp () <73>; + (buffer_start_add.50 var=46) deassign (buffer_start_add.49) <74>; + (length.52 var=47 stl=RA off=1) inp () <76>; + (length.53 var=47) deassign (length.52) <77>; + (max_buffer_len.55 var=48 stl=RB off=0) inp () <79>; + (max_buffer_len.56 var=48) deassign (max_buffer_len.55) <80>; + (__rd___sp.58 var=41) rd_res_reg (__R_SP.24 __sp.32) <82>; + (__R_SP.62 var=26 __sp.63 var=34) wr_res_reg (__rt.274 __sp.32) <86>; + (__ct_0.66 var=54) const () <90>; + (__M_WDMA.69 var=11 __extDM_BufferPtr_buffer_len.70 var=37) store (length.53 buffer.47 __extDM_BufferPtr_buffer_len.35) <93>; + (__M_WDMA.74 var=11 __extDM_BufferPtr_ptr_start.75 var=38) store (buffer_start_add.50 __rt.340 __extDM_BufferPtr_ptr_start.36) <97>; + (__M_WDMA.79 var=11 __extDM_BufferPtr_ptr_current.80 var=40) store (buffer_start_add.50 __rt.362 __extDM_BufferPtr_ptr_current.38) <101>; + (__rt.274 var=103) __Pvoid__pl___Pvoid_int18_ (__rd___sp.58 __ct_0S0.375) <320>; + (__rt.340 var=103) __Pvoid__pl___Pvoid_int18_ (buffer.47 __ct_4.377) <404>; + (__rt.362 var=103) __Pvoid__pl___Pvoid_int18_ (__rt.340 __ct_4.377) <432>; + (__ct_0S0.375 var=127) const () <457>; + (__ct_4.377 var=129) const () <461>; + (__tmp.380 var=133) uint3__cmp_int72__int72_ (length.53 __ct_0.66) <466>; + (__tmp.393 var=65) bool_nplus_uint3_ (__tmp.380) <500>; + (__trgt.396 var=149) const () <511>; + () void_jump_bool_int10_ (__tmp.393 __trgt.396) <512>; + (__either.397 var=148) undefined () <513>; + if { + { + () if_expr (__either.397) <126>; + () chess_frequent_else () <127>; + () chess_rear_then () <514>; + } #5 + { + (__trgt.398 var=150) const () <515>; + () void_jump_int10_ (__trgt.398) <516>; + } #11 off=4 + { + #30 off=1 + (__cv.254 var=95) uint16__uint16____sint (length.53) <288>; + (__trgt.402 var=153) const () <522>; + () void_doloop_uint16__uint16_ (__cv.254 __trgt.402) <523>; + (__vcnt.403 var=154) undefined () <524>; + for { + { + (__extDM_int32_.112 var=36) entry (__extDM_int32_.152 __extDM_int32_.34) <135>; + (__extDM_BufferPtr_buffer_len.113 var=37) entry (__extDM_BufferPtr_buffer_len.154 __extDM_BufferPtr_buffer_len.70) <136>; + (__iv1_i.245 var=92) entry (__iv1_i.246 buffer_start_add.50) <279>; + } #8 + { + (__M_WDMA.131 var=11 __extDM_BufferPtr_buffer_len.132 var=37 __extDM_int32_.133 var=36) store (__ct_0.66 __iv1_i.245 __extDM_BufferPtr_buffer_len.113 __extDM_int32_.112) <154>; + (__rt.318 var=103) __Pvoid__pl___Pvoid_int18_ (__iv1_i.245 __ct_4.377) <376>; + } #173 off=2 + { + () for_count (__vcnt.403) <159>; + (__extDM_int32_.152 var=36 __extDM_int32_.153 var=36) exit (__extDM_int32_.133) <167>; + (__extDM_BufferPtr_buffer_len.154 var=37 __extDM_BufferPtr_buffer_len.155 var=37) exit (__extDM_BufferPtr_buffer_len.132) <168>; + (__iv1_i.246 var=92 __iv1_i.247 var=92) exit (__rt.318) <280>; + } #10 + } #7 rng=[1,65535] + } #6 + { + (__extDM_int32_.178 var=36) merge (__extDM_int32_.34 __extDM_int32_.153) <180>; + (__extDM_BufferPtr_buffer_len.179 var=37) merge (__extDM_BufferPtr_buffer_len.70 __extDM_BufferPtr_buffer_len.155) <181>; + } #12 + } #4 + #242 off=5 + (__tmp.385 var=138) uint3__cmp_int72__int72_ (length.53 max_buffer_len.56) <474>; + (__tmp.386 var=76) bool_neg_uint3_ (__tmp.385) <475>; + (__trgt.399 var=151) const () <517>; + () void_jump_bool_int10_ (__tmp.386 __trgt.399) <518>; + (__either.400 var=148) undefined () <519>; + if { + { + () if_expr (__either.400) <205>; + } #15 + { + } #16 off=7 + { + (__ct_1.134 var=72) const () <155>; + (__trgt.401 var=152) const () <520>; + () void_jump_int10_ (__trgt.401) <521>; + } #17 off=6 + { + (__rt.207 var=44) merge (__ct_0.66 __ct_1.134) <210>; + } #18 + } #14 + #20 off=8 nxt=-2 + (__rd___sp.208 var=41) rd_res_reg (__R_SP.24 __sp.63) <211>; + (__R_SP.212 var=26 __sp.213 var=34) wr_res_reg (__rt.296 __sp.63) <215>; + () void_ret_dmaddr_ (__la.43) <216>; + (__rt.214 var=44 stl=RA off=0) assign (__rt.207) <217>; + () out (__rt.214) <218>; + () sink (__sp.213) <224>; + () sink (__extDM_int32_.178) <226>; + () sink (__extDM_BufferPtr_buffer_len.179) <227>; + () sink (__extDM_BufferPtr_ptr_start.75) <228>; + () sink (__extDM_BufferPtr_ptr_current.80) <230>; + () sink (__ct_0.40) <231>; + (__rt.296 var=103) __Pvoid__pl___Pvoid_int18_ (__rd___sp.208 __ct_0s0.376) <348>; + (__ct_0s0.376 var=128) const () <459>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,71:0,0); +4 : (0,76:4,5); +6 : (0,76:4,6); +7 : (0,76:4,6); +11 : (0,76:4,13); +14 : (0,79:4,16); +16 : (0,83:8,17); +17 : (0,80:8,21); +20 : (0,79:4,26); +173 : (0,76:37,6); +239 : (0,76:4,5); +242 : (0,79:14,16); +---------- +82 : (0,71:4,0); +86 : (0,71:4,0); +90 : (0,72:10,0); +93 : (0,72:10,1); +97 : (0,73:10,2); +101 : (0,74:10,3); +126 : (0,76:4,5); +135 : (0,76:4,6); +136 : (0,76:4,6); +154 : (0,77:24,6); +155 : (0,76:33,0); +159 : (0,76:4,11); +167 : (0,76:4,11); +168 : (0,76:4,11); +180 : (0,76:4,15); +181 : (0,76:4,15); +205 : (0,79:4,16); +210 : (0,79:4,25); +211 : (0,79:4,0); +215 : (0,79:4,26); +216 : (0,79:4,26); +217 : (0,79:4,0); +320 : (0,71:4,0); +348 : (0,79:4,0); +404 : (0,73:10,0); +432 : (0,74:10,0); +457 : (0,71:4,0); +459 : (0,79:4,0); +466 : (0,76:4,5); +474 : (0,79:14,16); +475 : (0,79:14,16); +500 : (0,76:4,5); +512 : (0,76:4,5); +518 : (0,79:4,16); +523 : (0,76:4,11); + diff --git a/simulation/Release/chesswork/signal_path-352f49.# b/simulation/Release/chesswork/signal_path-352f49.# new file mode 100644 index 0000000..64fe9b8 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-352f49.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +ad94f23a9ebcbc49d7cf7e855204645158988be1 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +b6139837f6ca35c36b0c65fc4fb39c9f43e36de9 +109 +0 diff --git a/simulation/Release/chesswork/signal_path-352f49.o b/simulation/Release/chesswork/signal_path-352f49.o new file mode 100644 index 0000000..a2e6dbe Binary files /dev/null and b/simulation/Release/chesswork/signal_path-352f49.o differ diff --git a/simulation/Release/chesswork/signal_path-352f49.sfg b/simulation/Release/chesswork/signal_path-352f49.sfg new file mode 100644 index 0000000..54d0ee5 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-352f49.sfg @@ -0,0 +1,115 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *, int) +F_Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi : user_defined, called { + fnm : "sig_cirular_buffer_ptr_increment_DMB" 'void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi typ=uint20_ bnd=e stl=PM tref=void_____PBufferPtrDMB___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_BufferPtrDMB_ptr_current typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtrDMB_ptr_start typ=int8_ bnd=b stl=DM + 39 : __extDM_BufferPtrDMB_buffer_len typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : buffer typ=dmaddr_ bnd=p tref=__PBufferPtrDMB__ + 45 : i_incr typ=int32_ bnd=p tref=__sint__ + 52 : __fch___extDM_BufferPtrDMB_ptr_current typ=dmaddr_ bnd=m + 59 : __fch___extDM_BufferPtrDMB_ptr_start typ=dmaddr_ bnd=m + 63 : __fch___extDM_BufferPtrDMB_buffer_len typ=int32_ bnd=m + 67 : __tmp typ=dmaddr_ bnd=m + 90 : __ct_2 typ=int32_ val=2f bnd=m + 93 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 118 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 119 : __ct_8 typ=int18_ val=8f bnd=m + 122 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 124 : __ct_4 typ=int18_ val=4f bnd=m + 128 : __ct_2 typ=uint2_ val=2f bnd=m + 133 : __tmp typ=int18_ bnd=m + 134 : __tmp typ=int18_ bnd=m +] +F_Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi { + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_BufferPtrDMB_ptr_current.34 var=36) source () <58>; + (__extDM_BufferPtrDMB_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtrDMB_buffer_len.37 var=39) source () <61>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.45 var=44 stl=A off=0) inp () <69>; + (buffer.46 var=44) deassign (buffer.45) <70>; + (i_incr.48 var=45 stl=RA off=0) inp () <72>; + (i_incr.49 var=45) deassign (i_incr.48) <73>; + (__rd___sp.51 var=41) rd_res_reg (__R_SP.24 __sp.32) <75>; + (__R_SP.55 var=26 __sp.56 var=34) wr_res_reg (__rt.133 __sp.32) <79>; + (__fch___extDM_BufferPtrDMB_ptr_current.60 var=52) load (__M_WDMA.9 __rt.155 __extDM_BufferPtrDMB_ptr_current.34) <84>; + (__fch___extDM_BufferPtrDMB_ptr_start.67 var=59) load (__M_WDMA.9 __rt.199 __extDM_BufferPtrDMB_ptr_start.36) <91>; + (__fch___extDM_BufferPtrDMB_buffer_len.71 var=63) load (__M_WDMA.9 __rt.221 __extDM_BufferPtrDMB_buffer_len.37) <95>; + (__M_WDMA.79 var=11 __extDM_BufferPtrDMB_ptr_current.80 var=36) store (__tmp.110 __rt.243 __extDM_BufferPtrDMB_ptr_current.34) <103>; + (__rd___sp.81 var=41) rd_res_reg (__R_SP.24 __sp.56) <104>; + (__R_SP.85 var=26 __sp.86 var=34) wr_res_reg (__rt.177 __sp.56) <108>; + () void_ret_dmaddr_ (__la.43) <109>; + () sink (__sp.86) <115>; + () sink (__extDM_BufferPtrDMB_ptr_current.80) <117>; + () sink (__ct_0.40) <122>; + (__tmp.110 var=67) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch___extDM_BufferPtrDMB_ptr_current.60 __tmp.266 __fch___extDM_BufferPtrDMB_ptr_start.67 __tmp.271) <155>; + (__ct_2.119 var=90) const () <175>; + (__rt.133 var=93) __Pvoid__pl___Pvoid_int18_ (__rd___sp.51 __ct_0S0.256) <201>; + (__rt.155 var=93) __Pvoid__pl___Pvoid_int18_ (buffer.46 __ct_8.257) <229>; + (__rt.177 var=93) __Pvoid__pl___Pvoid_int18_ (__rd___sp.81 __ct_0s0.260) <257>; + (__rt.199 var=93) __Pvoid__mi___Pvoid_int18_ (__rt.155 __ct_4.262) <285>; + (__rt.221 var=93) __Pvoid__mi___Pvoid_int18_ (__rt.199 __ct_4.262) <313>; + (__rt.243 var=93) __Pvoid__pl___Pvoid_int18_ (__rt.221 __ct_8.257) <341>; + (__ct_0S0.256 var=118) const () <367>; + (__ct_8.257 var=119) const () <369>; + (__ct_0s0.260 var=122) const () <375>; + (__ct_4.262 var=124) const () <379>; + (__ct_2.265 var=128) const () <384>; + (__tmp.266 var=133) int72__shift_int72__int72__uint2_ (i_incr.49 __ct_2.119 __ct_2.265) <385>; + (__tmp.271 var=134) int72__shift_int72__int72__uint2_ (__fch___extDM_BufferPtrDMB_buffer_len.71 __ct_2.119 __ct_2.265) <393>; +} #5 off=0 nxt=-2 +0 : 'signal_processing\\signal_path.c'; +---------- +5 : (0,109:0,2); +---------- +75 : (0,107:5,0); +79 : (0,107:5,0); +84 : (0,108:43,1); +91 : (0,108:72,1); +95 : (0,108:91,1); +103 : (0,108:10,1); +104 : (0,109:0,0); +108 : (0,109:0,2); +109 : (0,109:0,2); +155 : (0,108:26,1); +175 : (0,108:58,0); +201 : (0,107:5,0); +229 : (0,108:43,1); +257 : (0,109:0,0); +285 : (0,108:72,0); +341 : (0,108:43,0); +367 : (0,107:5,0); +369 : (0,108:43,0); +375 : (0,109:0,0); +379 : (0,108:72,0); +384 : (0,108:58,0); +385 : (0,108:58,1); +393 : (0,108:91,1); + diff --git a/simulation/Release/chesswork/signal_path-530a42.# b/simulation/Release/chesswork/signal_path-530a42.# new file mode 100644 index 0000000..31b4df7 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-530a42.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +d5b4d9c0123aad702011823a9e5239cc1db9d199 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +4bb732fadaeebe782ad161865c598024b80ec94c +204 +0 diff --git a/simulation/Release/chesswork/signal_path-530a42.o b/simulation/Release/chesswork/signal_path-530a42.o new file mode 100644 index 0000000..1e249bb Binary files /dev/null and b/simulation/Release/chesswork/signal_path-530a42.o differ diff --git a/simulation/Release/chesswork/signal_path-530a42.sfg b/simulation/Release/chesswork/signal_path-530a42.sfg new file mode 100644 index 0000000..9c5c5ed --- /dev/null +++ b/simulation/Release/chesswork/signal_path-530a42.sfg @@ -0,0 +1,137 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_calc_weight(SingleSignalPath *, int) +F_Z15sig_calc_weightP16SingleSignalPathi : user_defined, called { + fnm : "sig_calc_weight" 'int sig_calc_weight(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z15sig_calc_weightP16SingleSignalPathi typ=uint20_ bnd=e stl=PM tref=__sint_____PSingleSignalPath___sint___3 + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_SingleSignalPath_weight_actived typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath_weight typ=int8_ bnd=b stl=DM + 39 : __rd___sp typ=dmaddr_ bnd=m + 40 : __ct_0 typ=uint1_ val=0f bnd=m + 41 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 42 : __rt typ=int32_ bnd=p tref=__sint__ + 43 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 44 : x typ=int32_ bnd=p tref=__sint__ + 48 : acc typ=int72_ bnd=m lscp=144 tref=accum_t__ + 52 : __fch___extDM_SingleSignalPath_weight_actived typ=int32_ bnd=m + 53 : __ct_0 typ=int32_ val=0f bnd=m + 55 : __tmp typ=bool bnd=m + 59 : __fch___extDM_SingleSignalPath_weight typ=int32_ bnd=m + 77 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 100 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 101 : __ct_132 typ=int18_ val=132f bnd=m + 104 : __ct_136 typ=int18_ val=136f bnd=m + 107 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 111 : __tmp typ=uint3_ bnd=m + 121 : __either typ=bool bnd=m + 122 : __trgt typ=int10_ val=0j bnd=m + 123 : __trgt typ=int10_ val=0j bnd=m +] +F_Z15sig_calc_weightP16SingleSignalPathi { + #194 off=0 + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath_weight_actived.34 var=36) source () <58>; + (__extDM_SingleSignalPath_weight.36 var=38) source () <60>; + (__ct_0.38 var=40) const () <62>; + (__la.40 var=41 stl=LR off=0) inp () <64>; + (__la.41 var=41) deassign (__la.40) <65>; + (signal.44 var=43 stl=A off=0) inp () <68>; + (signal.45 var=43) deassign (signal.44) <69>; + (x.47 var=44 stl=RA off=1) inp () <71>; + (x.48 var=44) deassign (x.47) <72>; + (__rd___sp.50 var=39) rd_res_reg (__R_SP.24 __sp.32) <74>; + (__R_SP.54 var=26 __sp.55 var=34) wr_res_reg (__rt.133 __sp.32) <78>; + (__fch___extDM_SingleSignalPath_weight_actived.60 var=52) load (__M_WDMA.9 __rt.155 __extDM_SingleSignalPath_weight_actived.34) <84>; + (__ct_0.61 var=53) const () <85>; + (__rt.133 var=77) __Pvoid__pl___Pvoid_int18_ (__rd___sp.50 __ct_0S0.212) <200>; + (__rt.155 var=77) __Pvoid__pl___Pvoid_int18_ (signal.45 __ct_132.213) <228>; + (__ct_0S0.212 var=100) const () <309>; + (__ct_132.213 var=101) const () <311>; + (__tmp.222 var=111) uint3__cmp_int72__int72_ (__fch___extDM_SingleSignalPath_weight_actived.60 __ct_0.61) <328>; + (__tmp.223 var=55) bool_equal_uint3_ (__tmp.222) <329>; + (__trgt.231 var=122) const () <363>; + () void_jump_bool_int10_ (__tmp.223 __trgt.231) <364>; + (__either.232 var=121) undefined () <365>; + if { + { + () if_expr (__either.232) <103>; + } #5 + { + } #6 off=2 + { + (__fch___extDM_SingleSignalPath_weight.83 var=59) load (__M_WDMA.9 __rt.177 __extDM_SingleSignalPath_weight.36) <108>; + (__rt.85 var=42) __sint_rnd_saturate_accum_t (acc.115) <110>; + (acc.115 var=48) int72__multss_int32__int32__uint1_ (x.48 __fch___extDM_SingleSignalPath_weight.83 __ct_0.38) <161>; + (__rt.177 var=77) __Pvoid__pl___Pvoid_int18_ (signal.45 __ct_136.216) <256>; + (__ct_136.216 var=104) const () <317>; + (__trgt.233 var=123) const () <366>; + () void_jump_int10_ (__trgt.233) <367>; + } #144 off=1 + { + (__rt.86 var=42) merge (x.48 __rt.85) <111>; + } #8 + } #4 + #10 off=3 nxt=-2 + (__rd___sp.88 var=39) rd_res_reg (__R_SP.24 __sp.55) <113>; + (__R_SP.92 var=26 __sp.93 var=34) wr_res_reg (__rt.199 __sp.55) <117>; + () void_ret_dmaddr_ (__la.41) <118>; + (__rt.94 var=42 stl=RA off=0) assign (__rt.86) <119>; + () out (__rt.94) <120>; + () sink (__sp.93) <126>; + () sink (__ct_0.38) <131>; + (__rt.199 var=77) __Pvoid__pl___Pvoid_int18_ (__rd___sp.88 __ct_0s0.219) <284>; + (__ct_0s0.219 var=107) const () <323>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,204:0,0); +4 : (0,205:4,1); +6 : (0,205:37,2); +10 : (0,210:4,11); +144 : (0,210:11,7); +194 : (0,205:31,1); +---------- +74 : (0,204:4,0); +78 : (0,204:4,0); +84 : (0,205:14,1); +85 : (0,205:34,0); +103 : (0,205:4,1); +108 : (0,208:38,6); +110 : (0,210:11,7); +111 : (0,205:4,10); +113 : (0,210:4,0); +117 : (0,210:4,11); +118 : (0,210:4,11); +119 : (0,210:4,0); +161 : (0,208:18,6); +200 : (0,204:4,0); +228 : (0,205:14,1); +256 : (0,208:38,6); +284 : (0,210:4,0); +309 : (0,204:4,0); +311 : (0,205:14,0); +317 : (0,208:38,0); +323 : (0,210:4,0); +328 : (0,205:31,1); +329 : (0,205:31,1); +364 : (0,205:4,1); + diff --git a/simulation/Release/chesswork/signal_path-6fcf7f.# b/simulation/Release/chesswork/signal_path-6fcf7f.# new file mode 100644 index 0000000..94638a7 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-6fcf7f.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +57cf3fdd8d7def6492095f180e9539315d131531 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da7a8c19e98dc87d8274bee4a21dcd27ad1cbf24 +152 +0 diff --git a/simulation/Release/chesswork/signal_path-6fcf7f.o b/simulation/Release/chesswork/signal_path-6fcf7f.o new file mode 100644 index 0000000..59ee911 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-6fcf7f.o differ diff --git a/simulation/Release/chesswork/signal_path-6fcf7f.sfg b/simulation/Release/chesswork/signal_path-6fcf7f.sfg new file mode 100644 index 0000000..d19d55a --- /dev/null +++ b/simulation/Release/chesswork/signal_path-6fcf7f.sfg @@ -0,0 +1,148 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_init_delay(SingleSignalPath *, int) +F_Z14sig_init_delayP16SingleSignalPathi : user_defined, called { + fnm : "sig_init_delay" 'int sig_init_delay(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +!! int sig_init_buffer(BufferPtr *, int *, int, int) +F_Z15sig_init_bufferP9BufferPtrPiii : user_defined, called { + fnm : "sig_init_buffer" 'int sig_init_buffer(BufferPtr *, int *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] A[1] RA[1] RB[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +***/ + +[ + 0 : _Z14sig_init_delayP16SingleSignalPathi typ=uint20_ bnd=e stl=PM tref=__sint_____PSingleSignalPath___sint__ + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 32 : __extDM typ=int8_ bnd=b stl=DM + 33 : __extPM typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : __extDM_SingleSignalPath typ=int8_ bnd=b stl=DM + 36 : __extDM_SingleSignalPath_delay_buffer typ=int8_ bnd=b stl=DM + 37 : __extDM_BufferPtr typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath__delay_buffer typ=int8_ bnd=b stl=DM + 39 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 40 : __extDM_void typ=int8_ bnd=b stl=DM + 41 : __extPM_void typ=uint20_ bnd=b stl=PM + 42 : __rd___sp typ=dmaddr_ bnd=m + 43 : __ct_0 typ=uint1_ val=0f bnd=m + 44 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 45 : __rt typ=int32_ bnd=p tref=__sint__ + 46 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 47 : n_delay typ=int32_ bnd=p tref=__sint__ + 53 : __tmp typ=dmaddr_ bnd=m + 56 : __tmp typ=dmaddr_ bnd=m + 57 : __ct_16 typ=int32_ val=16f bnd=m + 58 : __ct typ=int32_ bnd=m + 59 : _Z15sig_init_bufferP9BufferPtrPiii typ=dmaddr_ val=0r bnd=m + 62 : __tmp typ=int32_ bnd=m + 76 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 99 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 100 : __ct_116 typ=int18_ val=116f bnd=m + 103 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 105 : __ct_64 typ=int18_ val=64f bnd=m +] +F_Z14sig_init_delayP16SingleSignalPathi { + #142 off=0 + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__extDM.30 var=32) source () <54>; + (__extPM.31 var=33) source () <55>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath.33 var=35) source () <57>; + (__extDM_SingleSignalPath_delay_buffer.34 var=36) source () <58>; + (__extDM_BufferPtr.35 var=37) source () <59>; + (__extDM_SingleSignalPath__delay_buffer.36 var=38) source () <60>; + (__extDM_int32_.37 var=39) source () <61>; + (__extDM_void.38 var=40) source () <62>; + (__extPM_void.39 var=41) source () <63>; + (__ct_0.41 var=43) const () <65>; + (__la.43 var=44 stl=LR off=0) inp () <67>; + (__la.44 var=44) deassign (__la.43) <68>; + (signal.47 var=46 stl=A off=0) inp () <71>; + (signal.48 var=46) deassign (signal.47) <72>; + (n_delay.50 var=47 stl=RA off=1) inp () <74>; + (n_delay.51 var=47) deassign (n_delay.50) <75>; + (__rd___sp.53 var=42) rd_res_reg (__R_SP.24 __sp.32) <77>; + (__R_SP.57 var=26 __sp.58 var=34) wr_res_reg (__rt.132 __sp.32) <81>; + (__ct_16.68 var=57) const () <92>; + (_Z15sig_init_bufferP9BufferPtrPiii.71 var=59) const () <95>; + (__rd___sp.88 var=42) rd_res_reg (__R_SP.24 __sp.58) <102>; + (__R_SP.92 var=26 __sp.93 var=34) wr_res_reg (__rt.176 __sp.58) <106>; + (__rt.132 var=76) __Pvoid__pl___Pvoid_int18_ (__rd___sp.53 __ct_0S0.211) <192>; + (__rt.154 var=76) __Pvoid__pl___Pvoid_int18_ (signal.48 __ct_116.212) <220>; + (__rt.176 var=76) __Pvoid__pl___Pvoid_int18_ (__rd___sp.88 __ct_0s0.215) <248>; + (__rt.198 var=76) __Pvoid__mi___Pvoid_int18_ (__rt.154 __ct_64.217) <276>; + (__ct_0S0.211 var=99) const () <303>; + (__ct_116.212 var=100) const () <305>; + (__ct_0s0.215 var=103) const () <311>; + (__ct_64.217 var=105) const () <315>; + () void_jump_dmaddr_ (_Z15sig_init_bufferP9BufferPtrPiii.71) <339>; + call { + (__tmp.62 var=53 stl=A off=0) assign (__rt.154) <86>; + (__tmp.66 var=56 stl=A off=1) assign (__rt.198) <90>; + (n_delay.67 var=47 stl=RA off=1) assign (n_delay.51) <91>; + (__ct.70 var=58 stl=RB off=0) assign (__ct_16.68) <94>; + (__la.74 var=44 stl=LR off=0) assign (__la.44) <98>; + (__tmp.75 var=62 stl=RA off=0 __extDM.78 var=32 __extDM_BufferPtr.79 var=37 __extDM_SingleSignalPath.80 var=35 __extDM_SingleSignalPath__delay_buffer.81 var=38 __extDM_SingleSignalPath_delay_buffer.82 var=36 __extDM_int32_.83 var=39 __extDM_void.84 var=40 __extPM.85 var=33 __extPM_void.86 var=41 __vola.87 var=29) F_Z15sig_init_bufferP9BufferPtrPiii (__la.74 __tmp.62 __tmp.66 n_delay.67 __ct.70 __extDM.30 __extDM_BufferPtr.35 __extDM_SingleSignalPath.33 __extDM_SingleSignalPath__delay_buffer.36 __extDM_SingleSignalPath_delay_buffer.34 __extDM_int32_.37 __extDM_void.38 __extPM.31 __extPM_void.39 __vola.27) <99>; + (__tmp.76 var=62) deassign (__tmp.75) <100>; + } #4 off=1 + #6 off=2 nxt=-2 + (__rt.94 var=45 stl=RA off=0) assign (__tmp.76) <108>; + () out (__rt.94) <109>; + () sink (__vola.87) <110>; + () sink (__extDM.78) <113>; + () sink (__extPM.85) <114>; + () sink (__sp.93) <115>; + () sink (__extDM_SingleSignalPath.80) <116>; + () sink (__extDM_SingleSignalPath_delay_buffer.82) <117>; + () sink (__extDM_BufferPtr.79) <118>; + () sink (__extDM_SingleSignalPath__delay_buffer.81) <119>; + () sink (__extDM_int32_.83) <120>; + () sink (__extDM_void.84) <121>; + () sink (__extPM_void.86) <122>; + () sink (__ct_0.41) <123>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,152:0,0); +4 : (0,153:11,1); +6 : (0,153:4,1); +142 : (0,153:4,1); +---------- +77 : (0,152:4,0); +81 : (0,152:4,0); +86 : (0,153:34,0); +90 : (0,153:56,0); +91 : (0,153:73,0); +92 : (0,153:82,0); +94 : (0,153:82,0); +98 : (0,153:11,0); +99 : (0,153:11,1); +102 : (0,153:4,0); +106 : (0,153:4,1); +108 : (0,153:26,0); +192 : (0,152:4,0); +220 : (0,153:34,1); +248 : (0,153:4,0); +276 : (0,153:56,0); +303 : (0,152:4,0); +305 : (0,153:34,0); +311 : (0,153:4,0); +315 : (0,153:56,0); +339 : (0,153:11,1); + diff --git a/simulation/Release/chesswork/signal_path-9c02ae.# b/simulation/Release/chesswork/signal_path-9c02ae.# new file mode 100644 index 0000000..9a6cdb1 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-9c02ae.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +48e27357cf6b74d9a9ddfe61cbe4d757b31f02a7 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +4002b21ff0f8102d02854cc902593f4f886be97b +309 +0 diff --git a/simulation/Release/chesswork/signal_path-9c02ae.o b/simulation/Release/chesswork/signal_path-9c02ae.o new file mode 100644 index 0000000..273ef5d Binary files /dev/null and b/simulation/Release/chesswork/signal_path-9c02ae.o differ diff --git a/simulation/Release/chesswork/signal_path-9c02ae.sfg b/simulation/Release/chesswork/signal_path-9c02ae.sfg new file mode 100644 index 0000000..95ca1d8 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-9c02ae.sfg @@ -0,0 +1,617 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int) +F_Z4initP16SingleSignalPathS0_PdS1_iidddi : user_defined, called { + fnm : "init" 'void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i int32_:i int32_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] A[1] A[2] A[3] RA[0] RA[1] AX[0] AX[1] BX[0] RB[0] ); + vac : ( srIM[0] ); + frm : ( b=8 ); +} +**** +!! void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int) +F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi : user_defined, called { + fnm : "sig_init_preemph_coef" 'void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int64_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] AX[1] BX[0] BX[1] __spill_LDMA[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! int sig_init_delay(SingleSignalPath *, int) +F_Z14sig_init_delayP16SingleSignalPathi : user_defined, called { + fnm : "sig_init_delay" 'int sig_init_delay(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! void sig_init_weight(SingleSignalPath *, double, int) +F_Z15sig_init_weightP16SingleSignalPathdi : user_defined, called { + fnm : "sig_init_weight" 'void sig_init_weight(SingleSignalPath *, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int) +F_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii : user_defined, called { + fnm : "sig_init_buffer_DMB" 'int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[4] A[5] RA[1] RB[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! int sig_init_buffer(BufferPtr *, int *, int, int) +F_Z15sig_init_bufferP9BufferPtrPiii : user_defined, called { + fnm : "sig_init_buffer" 'int sig_init_buffer(BufferPtr *, int *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] A[1] RA[1] RB[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! float64 float64_mul(float64, float64) +F_Z11float64_mulyy : user_defined, called { + fnm : "float64_mul" 'float64 float64_mul(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! int float64_to_int32_round_to_zero(float64) +F_Z30float64_to_int32_round_to_zeroy : user_defined, called { + fnm : "float64_to_int32_round_to_zero" 'int float64_to_int32_round_to_zero(float64)'; + arg : ( dmaddr_:i int32_:r int64_:i ); + loc : ( LR[0] RA[0] AX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _Z4initP16SingleSignalPathS0_PdS1_iidddi typ=uint20_ bnd=e stl=PM tref=void_____PSingleSignalPath___PSingleSignalPath___P__fdouble___P__fdouble___sint___sint___fdouble___fdouble___fdouble___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 12 : __M_WDMB typ=int32_ bnd=d stl=WDMB + 14 : __M_LDMA typ=int64_ bnd=d stl=LDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 32 : __extDM typ=int8_ bnd=b stl=DM + 33 : __extPM typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : _ZL2mu typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__sint_DMA + 36 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 37 : ptr_fir_lms_delay_line typ=int8_ bnd=e sz=12 algn=4 stl=DMB tref=BufferPtrDMB_DMB + 38 : __extDM_BufferPtrDMB typ=int8_ bnd=b stl=DM + 39 : fir_lms_delay_line typ=int8_ bnd=e sz=256 algn=4 stl=DMB tref=__A64DMB__sint_DMB + 40 : ptr_fir_lms_coeffs typ=int8_ bnd=e sz=12 algn=4 stl=DMA tref=BufferPtr_DMA + 41 : __extDM_BufferPtr typ=int8_ bnd=b stl=DM + 42 : fir_lms_coeffs typ=int8_ bnd=e sz=256 algn=8 stl=DMA tref=__A64__sint_DMA + 43 : __extDM_SingleSignalPath typ=int8_ bnd=b stl=DM + 44 : __extDM_int64_ typ=int8_ bnd=b stl=DM + 45 : __extDM_void typ=int8_ bnd=b stl=DM + 46 : __extPM_void typ=uint20_ bnd=b stl=PM + 47 : ptr_fir_lms_delay_line_ptr_start typ=int8_ bnd=b stl=DM + 48 : __extDM___PDMint32_ typ=int8_ bnd=b stl=DM + 49 : ptr_fir_lms_coeffs_ptr_start typ=int8_ bnd=b stl=DM + 50 : __rd___sp typ=dmaddr_ bnd=m + 52 : __ptr_mu typ=dmaddr_ val=0a bnd=m adro=35 + 53 : __ptr_ptr_fir_lms_delay_line typ=dmaddr_ bnd=m + 54 : __ptr_ptr_fir_lms_delay_line typ=dmaddr_ val=0a bnd=m adro=37 + 55 : __ptr_fir_lms_delay_line typ=dmaddr_ bnd=m + 56 : __ptr_fir_lms_delay_line typ=dmaddr_ val=0a bnd=m adro=39 + 57 : __ptr_ptr_fir_lms_coeffs typ=dmaddr_ bnd=m + 58 : __ptr_ptr_fir_lms_coeffs typ=dmaddr_ val=0a bnd=m adro=40 + 59 : __ptr_fir_lms_coeffs typ=dmaddr_ bnd=m + 60 : __ptr_fir_lms_coeffs typ=dmaddr_ val=0a bnd=m adro=42 + 61 : __ct_0 typ=uint1_ val=0f bnd=m + 62 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 63 : cSensorSignal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 64 : accSensorSignal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 65 : b_c typ=dmaddr_ bnd=p tref=__P__fdouble__ + 66 : b_acc typ=dmaddr_ bnd=p tref=__P__fdouble__ + 67 : delay_c typ=int32_ bnd=p tref=__sint__ + 68 : delay_acc typ=int32_ bnd=p tref=__sint__ + 69 : weight_c typ=int64_ bnd=p tref=__fdouble__ + 70 : weight_acc typ=int64_ bnd=p tref=__fdouble__ + 71 : lms_mu typ=int64_ bnd=p tref=__fdouble__ + 72 : lms_fir_num_coeffs typ=int32_ bnd=p tref=__sint__ + 78 : __ct_0 typ=int32_ val=0f bnd=m + 81 : __fch___extDM_int64_ typ=int64_ bnd=m + 85 : __fch___extDM_int64_ typ=int64_ bnd=m + 89 : __fch___extDM_int64_ typ=int64_ bnd=m + 93 : __fch___extDM_int64_ typ=int64_ bnd=m + 97 : __fch___extDM_int64_ typ=int64_ bnd=m + 98 : __ct_31 typ=int32_ val=31f bnd=m + 99 : __ct typ=int32_ bnd=m + 100 : _Z21sig_init_preemph_coefP16SingleSignalPathdddddi typ=dmaddr_ val=0r bnd=m + 102 : __link typ=dmaddr_ bnd=m + 103 : _Z14sig_init_delayP16SingleSignalPathi typ=dmaddr_ val=0r bnd=m + 105 : __link typ=dmaddr_ bnd=m + 106 : __tmp typ=int32_ bnd=m + 108 : __ct typ=int32_ bnd=m + 109 : _Z15sig_init_weightP16SingleSignalPathdi typ=dmaddr_ val=0r bnd=m + 111 : __link typ=dmaddr_ bnd=m + 115 : __fch___extDM_int64_ typ=int64_ bnd=m + 119 : __fch___extDM_int64_ typ=int64_ bnd=m + 123 : __fch___extDM_int64_ typ=int64_ bnd=m + 127 : __fch___extDM_int64_ typ=int64_ bnd=m + 131 : __fch___extDM_int64_ typ=int64_ bnd=m + 133 : __ct typ=int32_ bnd=m + 136 : __link typ=dmaddr_ bnd=m + 139 : __link typ=dmaddr_ bnd=m + 140 : __tmp typ=int32_ bnd=m + 142 : __ct typ=int32_ bnd=m + 145 : __link typ=dmaddr_ bnd=m + 146 : __ct_4746794007244308480 typ=int64_ val=4746794007244308480f bnd=m + 148 : __tmp typ=int64_ bnd=m + 149 : __tmp typ=int32_ bnd=m + 150 : __ct_64 typ=int32_ val=64f bnd=m + 151 : __ct typ=int32_ bnd=m + 152 : _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii typ=dmaddr_ val=0r bnd=m + 154 : __link typ=dmaddr_ bnd=m + 155 : __tmp typ=int32_ bnd=m + 157 : __ct typ=int32_ bnd=m + 158 : _Z15sig_init_bufferP9BufferPtrPiii typ=dmaddr_ val=0r bnd=m + 160 : __link typ=dmaddr_ bnd=m + 161 : __tmp typ=int32_ bnd=m + 164 : __tmp typ=bool bnd=m + 170 : __fch_ptr_fir_lms_delay_line_ptr_start typ=dmaddr_ bnd=m + 180 : __fch_ptr_fir_lms_coeffs_ptr_start typ=dmaddr_ bnd=m + 201 : __iv1_i typ=dmaddr_ bnd=m + 202 : __iv2_i typ=dmaddr_ bnd=m + 205 : __cv typ=uint16_ bnd=m + 213 : __ptr_ptr_fir_lms_delay_line__a4 typ=dmaddr_ val=4a bnd=m adro=37 + 214 : __ptr_ptr_fir_lms_coeffs__a4 typ=dmaddr_ val=4a bnd=m adro=40 + 217 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 248 : __ct_0S0 typ=int18_ val=-8S0 bnd=m + 249 : __ct_0s0 typ=int18_ val=8s0 bnd=m + 250 : __ct_4 typ=int18_ val=4f bnd=m + 251 : __ct_8 typ=int18_ val=8f bnd=m + 262 : __tmp typ=uint3_ bnd=m + 267 : __a1 typ=int64_ bnd=m tref=__atp1___10 + 268 : _Z11float64_mulyy typ=dmaddr_ val=0r bnd=m + 269 : __link typ=dmaddr_ bnd=m + 271 : __tmp typ=int64_ bnd=m + 273 : _Z30float64_to_int32_round_to_zeroy typ=dmaddr_ val=0r bnd=m + 274 : __link typ=dmaddr_ bnd=m + 285 : __either typ=bool bnd=m + 286 : __trgt typ=int10_ val=0j bnd=m + 287 : __trgt typ=int10_ val=0j bnd=m + 288 : __trgt typ=uint16_ val=0j bnd=m + 289 : __vcnt typ=uint16_ bnd=m +] +F_Z4initP16SingleSignalPathS0_PdS1_iidddi { + #276 off=0 + (__M_WDMA.9 var=11) st_def () <18>; + (__M_WDMB.10 var=12) st_def () <20>; + (__M_LDMA.12 var=14) st_def () <24>; + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__extDM.30 var=32) source () <54>; + (__extPM.31 var=33) source () <55>; + (__sp.32 var=34) source () <56>; + (_ZL2mu.33 var=35) source () <57>; + (__extDM_int32_.34 var=36) source () <58>; + (ptr_fir_lms_delay_line.35 var=37) source () <59>; + (__extDM_BufferPtrDMB.36 var=38) source () <60>; + (fir_lms_delay_line.37 var=39) source () <61>; + (ptr_fir_lms_coeffs.38 var=40) source () <62>; + (__extDM_BufferPtr.39 var=41) source () <63>; + (fir_lms_coeffs.40 var=42) source () <64>; + (__extDM_SingleSignalPath.41 var=43) source () <65>; + (__extDM_int64_.42 var=44) source () <66>; + (__extDM_void.43 var=45) source () <67>; + (__extPM_void.44 var=46) source () <68>; + (ptr_fir_lms_delay_line_ptr_start.45 var=47) source () <69>; + (__extDM___PDMint32_.46 var=48) source () <70>; + (ptr_fir_lms_coeffs_ptr_start.47 var=49) source () <71>; + (__ct_0.59 var=61) const () <83>; + (__la.61 var=62 stl=LR off=0) inp () <85>; + (__la.62 var=62) deassign (__la.61) <86>; + (cSensorSignal.64 var=63 stl=A off=0) inp () <88>; + (cSensorSignal.65 var=63) deassign (cSensorSignal.64) <89>; + (accSensorSignal.67 var=64 stl=A off=1) inp () <91>; + (accSensorSignal.68 var=64) deassign (accSensorSignal.67) <92>; + (b_c.70 var=65 stl=A off=2) inp () <94>; + (b_c.71 var=65) deassign (b_c.70) <95>; + (b_acc.73 var=66 stl=A off=3) inp () <97>; + (b_acc.74 var=66) deassign (b_acc.73) <98>; + (delay_c.76 var=67 stl=RA off=0) inp () <100>; + (delay_c.77 var=67) deassign (delay_c.76) <101>; + (delay_acc.79 var=68 stl=RA off=1) inp () <103>; + (delay_acc.80 var=68) deassign (delay_acc.79) <104>; + (weight_c.82 var=69 stl=AX off=0) inp () <106>; + (weight_c.83 var=69) deassign (weight_c.82) <107>; + (weight_acc.85 var=70 stl=AX off=1) inp () <109>; + (weight_acc.86 var=70) deassign (weight_acc.85) <110>; + (lms_mu.88 var=71 stl=BX off=0) inp () <112>; + (lms_mu.89 var=71) deassign (lms_mu.88) <113>; + (lms_fir_num_coeffs.91 var=72 stl=RB off=0) inp () <115>; + (lms_fir_num_coeffs.92 var=72) deassign (lms_fir_num_coeffs.91) <116>; + (__rd___sp.94 var=50) rd_res_reg (__R_SP.24 __sp.32) <118>; + (__R_SP.98 var=26 __sp.99 var=34) wr_res_reg (__rt.679 __sp.32) <122>; + (__fch___extDM_int64_.106 var=81) load (__M_LDMA.12 b_c.71 __extDM_int64_.42) <130>; + (__fch___extDM_int64_.111 var=85) load (__M_LDMA.12 __rt.767 __extDM_int64_.42) <135>; + (__fch___extDM_int64_.116 var=89) load (__M_LDMA.12 __rt.789 __extDM_int64_.42) <140>; + (__fch___extDM_int64_.121 var=93) load (__M_LDMA.12 __rt.811 __extDM_int64_.42) <145>; + (__fch___extDM_int64_.126 var=97) load (__M_LDMA.12 __rt.833 __extDM_int64_.42) <150>; + (__ct_31.128 var=98) const () <152>; + (_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.131 var=100) const () <155>; + (__link.133 var=102) dmaddr__call_dmaddr_ (_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.131) <157>; + (__rt.679 var=217) __Pvoid__pl___Pvoid_int18_ (__rd___sp.94 __ct_0S0.934) <617>; + (__rt.767 var=217) __Pvoid__pl___Pvoid_int18_ (b_c.71 __ct_8.937) <729>; + (__rt.789 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.767 __ct_8.937) <757>; + (__rt.811 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.789 __ct_8.937) <785>; + (__rt.833 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.811 __ct_8.937) <813>; + (__ct_0S0.934 var=248) const () <965>; + (__ct_8.937 var=251) const () <971>; + call { + (cSensorSignal.102 var=63 stl=A off=0) assign (cSensorSignal.65) <126>; + (__fch___extDM_int64_.107 var=81 stl=AX off=0) assign (__fch___extDM_int64_.106) <131>; + (__fch___extDM_int64_.112 var=85 stl=AX off=1) assign (__fch___extDM_int64_.111) <136>; + (__fch___extDM_int64_.117 var=89 stl=BX off=0) assign (__fch___extDM_int64_.116) <141>; + (__fch___extDM_int64_.122 var=93 stl=BX off=1) assign (__fch___extDM_int64_.121) <146>; + (__fch___extDM_int64_.127 var=97 stl=__spill_LDMA off=0) assign (__fch___extDM_int64_.126) <151>; + (__ct.130 var=99 stl=RA off=0) assign (__ct_31.128) <154>; + (__link.134 var=102 stl=LR off=0) assign (__link.133) <158>; + (_ZL2mu.135 var=35 __extDM.136 var=32 __extDM_BufferPtr.137 var=41 __extDM_BufferPtrDMB.138 var=38 __extDM_SingleSignalPath.139 var=43 __extDM___PDMint32_.140 var=48 __extDM_int32_.141 var=36 __extDM_int64_.142 var=44 __extDM_void.143 var=45 __extPM.144 var=33 __extPM_void.145 var=46 fir_lms_coeffs.146 var=42 fir_lms_delay_line.147 var=39 ptr_fir_lms_coeffs.148 var=40 ptr_fir_lms_coeffs_ptr_start.149 var=49 ptr_fir_lms_delay_line.150 var=37 ptr_fir_lms_delay_line_ptr_start.151 var=47 __vola.152 var=29) F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi (__link.134 cSensorSignal.102 __fch___extDM_int64_.107 __fch___extDM_int64_.112 __fch___extDM_int64_.117 __fch___extDM_int64_.122 __fch___extDM_int64_.127 __ct.130 _ZL2mu.33 __extDM.30 __extDM_BufferPtr.39 __extDM_BufferPtrDMB.36 __extDM_SingleSignalPath.41 __extDM___PDMint32_.46 __extDM_int32_.34 __extDM_int64_.42 __extDM_void.43 __extPM.31 __extPM_void.44 fir_lms_coeffs.40 fir_lms_delay_line.37 ptr_fir_lms_coeffs.38 ptr_fir_lms_coeffs_ptr_start.47 ptr_fir_lms_delay_line.35 ptr_fir_lms_delay_line_ptr_start.45 __vola.27) <159>; + } #4 off=1 + #5 off=2 + (_Z14sig_init_delayP16SingleSignalPathi.155 var=103) const () <162>; + (__link.157 var=105) dmaddr__call_dmaddr_ (_Z14sig_init_delayP16SingleSignalPathi.155) <164>; + call { + (cSensorSignal.153 var=63 stl=A off=0) assign (cSensorSignal.65) <160>; + (delay_c.154 var=67 stl=RA off=1) assign (delay_c.77) <161>; + (__link.158 var=105 stl=LR off=0) assign (__link.157) <165>; + (__tmp.159 var=106 stl=RA off=0 _ZL2mu.162 var=35 __extDM.163 var=32 __extDM_BufferPtr.164 var=41 __extDM_BufferPtrDMB.165 var=38 __extDM_SingleSignalPath.166 var=43 __extDM___PDMint32_.167 var=48 __extDM_int32_.168 var=36 __extDM_int64_.169 var=44 __extDM_void.170 var=45 __extPM.171 var=33 __extPM_void.172 var=46 fir_lms_coeffs.173 var=42 fir_lms_delay_line.174 var=39 ptr_fir_lms_coeffs.175 var=40 ptr_fir_lms_coeffs_ptr_start.176 var=49 ptr_fir_lms_delay_line.177 var=37 ptr_fir_lms_delay_line_ptr_start.178 var=47 __vola.179 var=29) F_Z14sig_init_delayP16SingleSignalPathi (__link.158 cSensorSignal.153 delay_c.154 _ZL2mu.135 __extDM.136 __extDM_BufferPtr.137 __extDM_BufferPtrDMB.138 __extDM_SingleSignalPath.139 __extDM___PDMint32_.140 __extDM_int32_.141 __extDM_int64_.142 __extDM_void.143 __extPM.144 __extPM_void.145 fir_lms_coeffs.146 fir_lms_delay_line.147 ptr_fir_lms_coeffs.148 ptr_fir_lms_coeffs_ptr_start.149 ptr_fir_lms_delay_line.150 ptr_fir_lms_delay_line_ptr_start.151 __vola.152) <166>; + } #6 off=3 + #7 off=4 + (_Z15sig_init_weightP16SingleSignalPathdi.185 var=109) const () <174>; + (__link.187 var=111) dmaddr__call_dmaddr_ (_Z15sig_init_weightP16SingleSignalPathdi.185) <176>; + call { + (cSensorSignal.180 var=63 stl=A off=0) assign (cSensorSignal.65) <169>; + (weight_c.181 var=69 stl=AX off=0) assign (weight_c.83) <170>; + (__ct.184 var=108 stl=RA off=0) assign (__ct_31.128) <173>; + (__link.188 var=111 stl=LR off=0) assign (__link.187) <177>; + (_ZL2mu.189 var=35 __extDM.190 var=32 __extDM_BufferPtr.191 var=41 __extDM_BufferPtrDMB.192 var=38 __extDM_SingleSignalPath.193 var=43 __extDM___PDMint32_.194 var=48 __extDM_int32_.195 var=36 __extDM_int64_.196 var=44 __extDM_void.197 var=45 __extPM.198 var=33 __extPM_void.199 var=46 fir_lms_coeffs.200 var=42 fir_lms_delay_line.201 var=39 ptr_fir_lms_coeffs.202 var=40 ptr_fir_lms_coeffs_ptr_start.203 var=49 ptr_fir_lms_delay_line.204 var=37 ptr_fir_lms_delay_line_ptr_start.205 var=47 __vola.206 var=29) F_Z15sig_init_weightP16SingleSignalPathdi (__link.188 cSensorSignal.180 weight_c.181 __ct.184 _ZL2mu.162 __extDM.163 __extDM_BufferPtr.164 __extDM_BufferPtrDMB.165 __extDM_SingleSignalPath.166 __extDM___PDMint32_.167 __extDM_int32_.168 __extDM_int64_.169 __extDM_void.170 __extPM.171 __extPM_void.172 fir_lms_coeffs.173 fir_lms_delay_line.174 ptr_fir_lms_coeffs.175 ptr_fir_lms_coeffs_ptr_start.176 ptr_fir_lms_delay_line.177 ptr_fir_lms_delay_line_ptr_start.178 __vola.179) <178>; + } #8 off=5 + #370 off=6 + (__fch___extDM_int64_.211 var=115) load (__M_LDMA.12 b_acc.74 __extDM_int64_.196) <183>; + (__fch___extDM_int64_.216 var=119) load (__M_LDMA.12 __rt.855 __extDM_int64_.196) <188>; + (__fch___extDM_int64_.221 var=123) load (__M_LDMA.12 __rt.877 __extDM_int64_.196) <193>; + (__fch___extDM_int64_.226 var=127) load (__M_LDMA.12 __rt.899 __extDM_int64_.196) <198>; + (__fch___extDM_int64_.231 var=131) load (__M_LDMA.12 __rt.921 __extDM_int64_.196) <203>; + (__link.238 var=136) dmaddr__call_dmaddr_ (_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.131) <210>; + (__rt.855 var=217) __Pvoid__pl___Pvoid_int18_ (b_acc.74 __ct_8.937) <841>; + (__rt.877 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.855 __ct_8.937) <869>; + (__rt.899 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.877 __ct_8.937) <897>; + (__rt.921 var=217) __Pvoid__pl___Pvoid_int18_ (__rt.899 __ct_8.937) <925>; + call { + (accSensorSignal.207 var=64 stl=A off=0) assign (accSensorSignal.68) <179>; + (__fch___extDM_int64_.212 var=115 stl=AX off=0) assign (__fch___extDM_int64_.211) <184>; + (__fch___extDM_int64_.217 var=119 stl=AX off=1) assign (__fch___extDM_int64_.216) <189>; + (__fch___extDM_int64_.222 var=123 stl=BX off=0) assign (__fch___extDM_int64_.221) <194>; + (__fch___extDM_int64_.227 var=127 stl=BX off=1) assign (__fch___extDM_int64_.226) <199>; + (__fch___extDM_int64_.232 var=131 stl=__spill_LDMA off=0) assign (__fch___extDM_int64_.231) <204>; + (__ct.235 var=133 stl=RA off=0) assign (__ct_31.128) <207>; + (__link.239 var=136 stl=LR off=0) assign (__link.238) <211>; + (_ZL2mu.240 var=35 __extDM.241 var=32 __extDM_BufferPtr.242 var=41 __extDM_BufferPtrDMB.243 var=38 __extDM_SingleSignalPath.244 var=43 __extDM___PDMint32_.245 var=48 __extDM_int32_.246 var=36 __extDM_int64_.247 var=44 __extDM_void.248 var=45 __extPM.249 var=33 __extPM_void.250 var=46 fir_lms_coeffs.251 var=42 fir_lms_delay_line.252 var=39 ptr_fir_lms_coeffs.253 var=40 ptr_fir_lms_coeffs_ptr_start.254 var=49 ptr_fir_lms_delay_line.255 var=37 ptr_fir_lms_delay_line_ptr_start.256 var=47 __vola.257 var=29) F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi (__link.239 accSensorSignal.207 __fch___extDM_int64_.212 __fch___extDM_int64_.217 __fch___extDM_int64_.222 __fch___extDM_int64_.227 __fch___extDM_int64_.232 __ct.235 _ZL2mu.189 __extDM.190 __extDM_BufferPtr.191 __extDM_BufferPtrDMB.192 __extDM_SingleSignalPath.193 __extDM___PDMint32_.194 __extDM_int32_.195 __extDM_int64_.196 __extDM_void.197 __extPM.198 __extPM_void.199 fir_lms_coeffs.200 fir_lms_delay_line.201 ptr_fir_lms_coeffs.202 ptr_fir_lms_coeffs_ptr_start.203 ptr_fir_lms_delay_line.204 ptr_fir_lms_delay_line_ptr_start.205 __vola.206) <212>; + } #10 off=7 + #11 off=8 + (__link.262 var=139) dmaddr__call_dmaddr_ (_Z14sig_init_delayP16SingleSignalPathi.155) <217>; + call { + (accSensorSignal.258 var=64 stl=A off=0) assign (accSensorSignal.68) <213>; + (delay_acc.259 var=68 stl=RA off=1) assign (delay_acc.80) <214>; + (__link.263 var=139 stl=LR off=0) assign (__link.262) <218>; + (__tmp.264 var=140 stl=RA off=0 _ZL2mu.267 var=35 __extDM.268 var=32 __extDM_BufferPtr.269 var=41 __extDM_BufferPtrDMB.270 var=38 __extDM_SingleSignalPath.271 var=43 __extDM___PDMint32_.272 var=48 __extDM_int32_.273 var=36 __extDM_int64_.274 var=44 __extDM_void.275 var=45 __extPM.276 var=33 __extPM_void.277 var=46 fir_lms_coeffs.278 var=42 fir_lms_delay_line.279 var=39 ptr_fir_lms_coeffs.280 var=40 ptr_fir_lms_coeffs_ptr_start.281 var=49 ptr_fir_lms_delay_line.282 var=37 ptr_fir_lms_delay_line_ptr_start.283 var=47 __vola.284 var=29) F_Z14sig_init_delayP16SingleSignalPathi (__link.263 accSensorSignal.258 delay_acc.259 _ZL2mu.240 __extDM.241 __extDM_BufferPtr.242 __extDM_BufferPtrDMB.243 __extDM_SingleSignalPath.244 __extDM___PDMint32_.245 __extDM_int32_.246 __extDM_int64_.247 __extDM_void.248 __extPM.249 __extPM_void.250 fir_lms_coeffs.251 fir_lms_delay_line.252 ptr_fir_lms_coeffs.253 ptr_fir_lms_coeffs_ptr_start.254 ptr_fir_lms_delay_line.255 ptr_fir_lms_delay_line_ptr_start.256 __vola.257) <219>; + } #12 off=9 + #13 off=10 + (__link.292 var=145) dmaddr__call_dmaddr_ (_Z15sig_init_weightP16SingleSignalPathdi.185) <229>; + call { + (accSensorSignal.285 var=64 stl=A off=0) assign (accSensorSignal.68) <222>; + (weight_acc.286 var=70 stl=AX off=0) assign (weight_acc.86) <223>; + (__ct.289 var=142 stl=RA off=0) assign (__ct_31.128) <226>; + (__link.293 var=145 stl=LR off=0) assign (__link.292) <230>; + (_ZL2mu.294 var=35 __extDM.295 var=32 __extDM_BufferPtr.296 var=41 __extDM_BufferPtrDMB.297 var=38 __extDM_SingleSignalPath.298 var=43 __extDM___PDMint32_.299 var=48 __extDM_int32_.300 var=36 __extDM_int64_.301 var=44 __extDM_void.302 var=45 __extPM.303 var=33 __extPM_void.304 var=46 fir_lms_coeffs.305 var=42 fir_lms_delay_line.306 var=39 ptr_fir_lms_coeffs.307 var=40 ptr_fir_lms_coeffs_ptr_start.308 var=49 ptr_fir_lms_delay_line.309 var=37 ptr_fir_lms_delay_line_ptr_start.310 var=47 __vola.311 var=29) F_Z15sig_init_weightP16SingleSignalPathdi (__link.293 accSensorSignal.285 weight_acc.286 __ct.289 _ZL2mu.267 __extDM.268 __extDM_BufferPtr.269 __extDM_BufferPtrDMB.270 __extDM_SingleSignalPath.271 __extDM___PDMint32_.272 __extDM_int32_.273 __extDM_int64_.274 __extDM_void.275 __extPM.276 __extPM_void.277 fir_lms_coeffs.278 fir_lms_delay_line.279 ptr_fir_lms_coeffs.280 ptr_fir_lms_coeffs_ptr_start.281 ptr_fir_lms_delay_line.282 ptr_fir_lms_delay_line_ptr_start.283 __vola.284) <231>; + } #14 off=11 + #474 off=12 + (__ct_4746794007244308480.312 var=146) const () <232>; + (_Z11float64_mulyy.954 var=268) const () <1022>; + (__link.955 var=269) dmaddr__call_dmaddr_ (_Z11float64_mulyy.954) <1023>; + call { + (lms_mu.956 var=71 stl=AX off=1) assign (lms_mu.89) <1024>; + (__a1.957 var=267 stl=BX off=0) assign (__ct_4746794007244308480.312) <1025>; + (__link.958 var=269 stl=LR off=0) assign (__link.955) <1026>; + (__tmp.959 var=271 stl=AX off=0) F_Z11float64_mulyy (__link.958 lms_mu.956 __a1.957) <1027>; + (__tmp.960 var=148) deassign (__tmp.959) <1028>; + } #475 off=13 + #480 off=14 + (_Z30float64_to_int32_round_to_zeroy.963 var=273) const () <1034>; + (__link.964 var=274) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.963) <1035>; + call { + (__tmp.965 var=148 stl=AX off=0) assign (__tmp.960) <1036>; + (__link.966 var=274 stl=LR off=0) assign (__link.964) <1037>; + (__tmp.967 var=149 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.966 __tmp.965) <1038>; + (__tmp.968 var=149) deassign (__tmp.967) <1039>; + } #481 off=15 + #471 off=16 + (__ptr_mu.49 var=52) const () <73>; + (__ptr_ptr_fir_lms_delay_line.51 var=54) const () <75>; + (__ptr_fir_lms_delay_line.53 var=56) const () <77>; + (__M_WDMA.316 var=11 _ZL2mu.317 var=35) store (__tmp.968 __ptr_mu.49 _ZL2mu.294) <236>; + (__ct_64.321 var=150) const () <240>; + (_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii.324 var=152) const () <243>; + (__link.326 var=154) dmaddr__call_dmaddr_ (_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii.324) <245>; + call { + (__ptr_ptr_fir_lms_delay_line.318 var=53 stl=A off=4) assign (__ptr_ptr_fir_lms_delay_line.51) <237>; + (__ptr_fir_lms_delay_line.319 var=55 stl=A off=5) assign (__ptr_fir_lms_delay_line.53) <238>; + (lms_fir_num_coeffs.320 var=72 stl=RA off=1) assign (lms_fir_num_coeffs.92) <239>; + (__ct.323 var=151 stl=RB off=0) assign (__ct_64.321) <242>; + (__link.327 var=154 stl=LR off=0) assign (__link.326) <246>; + (__tmp.328 var=155 stl=RA off=0 _ZL2mu.331 var=35 __extDM.332 var=32 __extDM_BufferPtr.333 var=41 __extDM_BufferPtrDMB.334 var=38 __extDM_SingleSignalPath.335 var=43 __extDM___PDMint32_.336 var=48 __extDM_int32_.337 var=36 __extDM_int64_.338 var=44 __extDM_void.339 var=45 __extPM.340 var=33 __extPM_void.341 var=46 fir_lms_coeffs.342 var=42 fir_lms_delay_line.343 var=39 ptr_fir_lms_coeffs.344 var=40 ptr_fir_lms_coeffs_ptr_start.345 var=49 ptr_fir_lms_delay_line.346 var=37 ptr_fir_lms_delay_line_ptr_start.347 var=47 __vola.348 var=29) F_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii (__link.327 __ptr_ptr_fir_lms_delay_line.318 __ptr_fir_lms_delay_line.319 lms_fir_num_coeffs.320 __ct.323 _ZL2mu.317 __extDM.295 __extDM_BufferPtr.296 __extDM_BufferPtrDMB.297 __extDM_SingleSignalPath.298 __extDM___PDMint32_.299 __extDM_int32_.300 __extDM_int64_.301 __extDM_void.302 __extPM.303 __extPM_void.304 fir_lms_coeffs.305 fir_lms_delay_line.306 ptr_fir_lms_coeffs.307 ptr_fir_lms_coeffs_ptr_start.308 ptr_fir_lms_delay_line.309 ptr_fir_lms_delay_line_ptr_start.310 __vola.311) <247>; + } #16 off=17 + #17 off=18 + (__ptr_ptr_fir_lms_coeffs.55 var=58) const () <79>; + (__ptr_fir_lms_coeffs.57 var=60) const () <81>; + (_Z15sig_init_bufferP9BufferPtrPiii.355 var=158) const () <256>; + (__link.357 var=160) dmaddr__call_dmaddr_ (_Z15sig_init_bufferP9BufferPtrPiii.355) <258>; + call { + (__ptr_ptr_fir_lms_coeffs.349 var=57 stl=A off=0) assign (__ptr_ptr_fir_lms_coeffs.55) <250>; + (__ptr_fir_lms_coeffs.350 var=59 stl=A off=1) assign (__ptr_fir_lms_coeffs.57) <251>; + (lms_fir_num_coeffs.351 var=72 stl=RA off=1) assign (lms_fir_num_coeffs.92) <252>; + (__ct.354 var=157 stl=RB off=0) assign (__ct_64.321) <255>; + (__link.358 var=160 stl=LR off=0) assign (__link.357) <259>; + (__tmp.359 var=161 stl=RA off=0 _ZL2mu.362 var=35 __extDM.363 var=32 __extDM_BufferPtr.364 var=41 __extDM_BufferPtrDMB.365 var=38 __extDM_SingleSignalPath.366 var=43 __extDM___PDMint32_.367 var=48 __extDM_int32_.368 var=36 __extDM_int64_.369 var=44 __extDM_void.370 var=45 __extPM.371 var=33 __extPM_void.372 var=46 fir_lms_coeffs.373 var=42 fir_lms_delay_line.374 var=39 ptr_fir_lms_coeffs.375 var=40 ptr_fir_lms_coeffs_ptr_start.376 var=49 ptr_fir_lms_delay_line.377 var=37 ptr_fir_lms_delay_line_ptr_start.378 var=47 __vola.379 var=29) F_Z15sig_init_bufferP9BufferPtrPiii (__link.358 __ptr_ptr_fir_lms_coeffs.349 __ptr_fir_lms_coeffs.350 lms_fir_num_coeffs.351 __ct.354 _ZL2mu.331 __extDM.332 __extDM_BufferPtr.333 __extDM_BufferPtrDMB.334 __extDM_SingleSignalPath.335 __extDM___PDMint32_.336 __extDM_int32_.337 __extDM_int64_.338 __extDM_void.339 __extPM.340 __extPM_void.341 fir_lms_coeffs.342 fir_lms_delay_line.343 ptr_fir_lms_coeffs.344 ptr_fir_lms_coeffs_ptr_start.345 ptr_fir_lms_delay_line.346 ptr_fir_lms_delay_line_ptr_start.347 __vola.348) <260>; + } #18 off=19 + #466 off=20 + (__ct_0.103 var=78) const () <127>; + (__tmp.947 var=262) uint3__cmp_int72__int72_ (lms_fir_num_coeffs.92 __ct_0.103) <989>; + (__tmp.975 var=164) bool_nplus_uint3_ (__tmp.947) <1098>; + (__trgt.978 var=286) const () <1126>; + () void_jump_bool_int10_ (__tmp.975 __trgt.978) <1127>; + (__either.979 var=285) undefined () <1128>; + if { + { + () if_expr (__either.979) <306>; + () chess_frequent_else () <307>; + () chess_rear_then () <1129>; + } #21 + { + (__trgt.980 var=287) const () <1130>; + () void_jump_int10_ (__trgt.980) <1131>; + } #27 off=24 + { + #34 off=21 + (__fch_ptr_fir_lms_delay_line_ptr_start.467 var=170) load (__M_WDMB.10 __ptr_ptr_fir_lms_delay_line__a4.664 ptr_fir_lms_delay_line_ptr_start.378) <352>; + (__fch_ptr_fir_lms_coeffs_ptr_start.482 var=180) load (__M_WDMA.9 __ptr_ptr_fir_lms_coeffs__a4.665 ptr_fir_lms_coeffs_ptr_start.376) <363>; + (__cv.649 var=205) uint16__uint16____sint (lms_fir_num_coeffs.92) <558>; + (__ptr_ptr_fir_lms_delay_line__a4.664 var=213) const () <574>; + (__ptr_ptr_fir_lms_coeffs__a4.665 var=214) const () <576>; + (__ct_4.936 var=250) const () <969>; + (__trgt.981 var=288) const () <1132>; + () void_doloop_uint16__uint16_ (__cv.649 __trgt.981) <1133>; + (__vcnt.982 var=289) undefined () <1134>; + for { + { + (_ZL2mu.429 var=35) entry (_ZL2mu.508 _ZL2mu.362) <314>; + (__extDM_int32_.430 var=36) entry (__extDM_int32_.510 __extDM_int32_.368) <315>; + (fir_lms_delay_line.433 var=39) entry (fir_lms_delay_line.516 fir_lms_delay_line.374) <318>; + (fir_lms_coeffs.436 var=42) entry (fir_lms_coeffs.522 fir_lms_coeffs.373) <321>; + (__iv1_i.635 var=201) entry (__iv1_i.636 __fch_ptr_fir_lms_delay_line_ptr_start.467) <545>; + (__iv2_i.640 var=202) entry (__iv2_i.641 __fch_ptr_fir_lms_coeffs_ptr_start.482) <549>; + } #24 + { + (__M_WDMB.472 var=12 _ZL2mu.473 var=35 __extDM_int32_.474 var=36 fir_lms_coeffs.475 var=42 fir_lms_delay_line.476 var=39) store (__ct_0.103 __iv1_i.635 _ZL2mu.429 __extDM_int32_.430 fir_lms_coeffs.436 fir_lms_delay_line.433) <357>; + (__M_WDMA.487 var=11 _ZL2mu.488 var=35 __extDM_int32_.489 var=36 fir_lms_coeffs.490 var=42 fir_lms_delay_line.491 var=39) store (__ct_0.103 __iv2_i.640 _ZL2mu.473 __extDM_int32_.474 fir_lms_coeffs.475 fir_lms_delay_line.476) <368>; + (__rt.723 var=217) __Pvoid__pl___Pvoid_int18_ (__iv1_i.635 __ct_4.936) <673>; + (__rt.745 var=217) __Pvoid__pl___Pvoid_int18_ (__iv2_i.640 __ct_4.936) <701>; + } #256 off=22 + { + () for_count (__vcnt.982) <373>; + (_ZL2mu.508 var=35 _ZL2mu.509 var=35) exit (_ZL2mu.488) <380>; + (__extDM_int32_.510 var=36 __extDM_int32_.511 var=36) exit (__extDM_int32_.489) <381>; + (fir_lms_delay_line.516 var=39 fir_lms_delay_line.517 var=39) exit (fir_lms_delay_line.491) <384>; + (fir_lms_coeffs.522 var=42 fir_lms_coeffs.523 var=42) exit (fir_lms_coeffs.490) <387>; + (__iv1_i.636 var=201 __iv1_i.637 var=201) exit (__rt.723) <546>; + (__iv2_i.641 var=202 __iv2_i.642 var=202) exit (__rt.745) <550>; + } #26 + } #23 rng=[1,65535] + } #22 + { + (_ZL2mu.574 var=35) merge (_ZL2mu.362 _ZL2mu.509) <413>; + (__extDM_int32_.575 var=36) merge (__extDM_int32_.368 __extDM_int32_.511) <414>; + (fir_lms_delay_line.576 var=39) merge (fir_lms_delay_line.374 fir_lms_delay_line.517) <415>; + (fir_lms_coeffs.577 var=42) merge (fir_lms_coeffs.373 fir_lms_coeffs.523) <416>; + } #28 + } #20 + #30 off=25 nxt=-2 + (__rd___sp.580 var=50) rd_res_reg (__R_SP.24 __sp.99) <419>; + (__R_SP.584 var=26 __sp.585 var=34) wr_res_reg (__rt.701 __sp.99) <423>; + () void_ret_dmaddr_ (__la.62) <424>; + () sink (__vola.379) <425>; + () sink (__extDM.363) <428>; + () sink (__extPM.371) <429>; + () sink (__sp.585) <430>; + () sink (_ZL2mu.574) <431>; + () sink (__extDM_int32_.575) <432>; + () sink (ptr_fir_lms_delay_line.377) <433>; + () sink (__extDM_BufferPtrDMB.365) <434>; + () sink (fir_lms_delay_line.576) <435>; + () sink (ptr_fir_lms_coeffs.375) <436>; + () sink (__extDM_BufferPtr.364) <437>; + () sink (fir_lms_coeffs.577) <438>; + () sink (__extDM_SingleSignalPath.366) <439>; + () sink (__extDM_int64_.369) <440>; + () sink (__extDM_void.370) <441>; + () sink (__extPM_void.372) <442>; + () sink (ptr_fir_lms_delay_line_ptr_start.378) <443>; + () sink (__extDM___PDMint32_.367) <444>; + () sink (ptr_fir_lms_coeffs_ptr_start.376) <445>; + () sink (__ct_0.59) <446>; + (__rt.701 var=217) __Pvoid__pl___Pvoid_int18_ (__rd___sp.580 __ct_0s0.935) <645>; + (__ct_0s0.935 var=249) const () <967>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,309:0,0); +4 : (0,324:4,2); +5 : (0,325:34,3); +6 : (0,325:4,3); +7 : (0,326:45,4); +8 : (0,326:4,4); +10 : (0,329:4,5); +11 : (0,330:36,6); +12 : (0,330:4,6); +13 : (0,331:49,7); +14 : (0,331:4,7); +16 : (0,337:4,10); +17 : (0,338:77,11); +18 : (0,338:4,11); +20 : (0,340:4,13); +22 : (0,340:4,14); +23 : (0,340:4,14); +27 : (0,340:4,22); +30 : (0,344:0,25); +256 : (0,340:49,14); +276 : (0,324:4,2); +370 : (0,329:4,5); +466 : (0,340:4,13); +471 : (0,337:4,10); +474 : (0,335:16,9); +475 : (0,335:16,9); +480 : (0,335:7,9); +481 : (0,335:7,9); +---------- +77 : (0,337:49,0); +81 : (0,338:41,0); +118 : (0,309:5,0); +122 : (0,309:5,0); +126 : (0,324:26,0); +127 : (0,324:45,0); +130 : (0,324:44,2); +131 : (0,324:44,0); +135 : (0,324:52,2); +136 : (0,324:52,0); +140 : (0,324:60,2); +141 : (0,324:60,0); +145 : (0,324:68,2); +146 : (0,324:68,0); +150 : (0,324:76,2); +151 : (0,324:76,0); +152 : (0,324:81,0); +154 : (0,324:81,0); +157 : (0,324:4,2); +158 : (0,324:4,0); +159 : (0,324:4,2); +160 : (0,325:19,0); +161 : (0,325:34,0); +164 : (0,325:4,3); +165 : (0,325:4,0); +166 : (0,325:4,3); +169 : (0,326:20,0); +170 : (0,326:35,0); +173 : (0,326:45,0); +176 : (0,326:4,4); +177 : (0,326:4,0); +178 : (0,326:4,4); +179 : (0,329:26,0); +183 : (0,329:48,5); +184 : (0,329:48,0); +188 : (0,329:58,5); +189 : (0,329:58,0); +193 : (0,329:68,5); +194 : (0,329:68,0); +198 : (0,329:78,5); +199 : (0,329:78,0); +203 : (0,329:88,5); +204 : (0,329:88,0); +207 : (0,329:93,0); +210 : (0,329:4,5); +211 : (0,329:4,0); +212 : (0,329:4,5); +213 : (0,330:19,0); +214 : (0,330:36,0); +217 : (0,330:4,6); +218 : (0,330:4,0); +219 : (0,330:4,6); +222 : (0,331:20,0); +223 : (0,331:37,0); +226 : (0,331:49,0); +229 : (0,331:4,7); +230 : (0,331:4,0); +231 : (0,331:4,7); +232 : (0,335:16,0); +236 : (0,335:4,9); +237 : (0,337:24,0); +238 : (0,337:49,0); +239 : (0,337:69,0); +240 : (0,337:89,0); +242 : (0,337:89,0); +245 : (0,337:4,10); +246 : (0,337:4,0); +247 : (0,337:4,10); +250 : (0,338:20,0); +251 : (0,338:41,0); +252 : (0,338:57,0); +255 : (0,338:77,0); +258 : (0,338:4,11); +259 : (0,338:4,0); +260 : (0,338:4,11); +306 : (0,340:4,13); +314 : (0,340:4,14); +315 : (0,340:4,14); +318 : (0,340:4,14); +321 : (0,340:4,14); +352 : (0,341:30,14); +357 : (0,341:40,14); +363 : (0,342:26,15); +368 : (0,342:36,15); +373 : (0,340:4,20); +380 : (0,340:4,20); +381 : (0,340:4,20); +384 : (0,340:4,20); +387 : (0,340:4,20); +413 : (0,340:4,24); +414 : (0,340:4,24); +415 : (0,340:4,24); +416 : (0,340:4,24); +419 : (0,344:0,0); +423 : (0,344:0,25); +424 : (0,344:0,25); +574 : (0,341:30,0); +576 : (0,342:26,0); +617 : (0,309:5,0); +645 : (0,344:0,0); +729 : (0,324:52,0); +757 : (0,324:60,0); +785 : (0,324:68,0); +813 : (0,324:76,0); +841 : (0,329:58,0); +869 : (0,329:68,0); +897 : (0,329:78,0); +925 : (0,329:88,0); +965 : (0,309:5,0); +967 : (0,344:0,0); +971 : (0,324:52,0); +989 : (0,340:4,13); +1022 : (0,335:16,0); +1023 : (0,335:16,9); +1024 : (0,335:16,9); +1025 : (0,335:16,9); +1026 : (0,335:16,9); +1027 : (0,335:16,9); +1028 : (0,335:16,9); +1034 : (0,335:7,0); +1035 : (0,335:7,9); +1036 : (0,335:7,9); +1037 : (0,335:7,9); +1038 : (0,335:7,9); +1039 : (0,335:7,9); +1098 : (0,340:4,13); +1127 : (0,340:4,13); +1133 : (0,340:4,20); + diff --git a/simulation/Release/chesswork/signal_path-a30375.# b/simulation/Release/chesswork/signal_path-a30375.# new file mode 100644 index 0000000..02f56d9 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-a30375.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +cd3d7a324e5803ca379119c6ac3a521de85c2d58 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +02bb82ee2ad0a49c939022d10fb51d620f2409d2 +194 +0 diff --git a/simulation/Release/chesswork/signal_path-a30375.o b/simulation/Release/chesswork/signal_path-a30375.o new file mode 100644 index 0000000..7b43203 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-a30375.o differ diff --git a/simulation/Release/chesswork/signal_path-a30375.sfg b/simulation/Release/chesswork/signal_path-a30375.sfg new file mode 100644 index 0000000..8427066 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-a30375.sfg @@ -0,0 +1,226 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_delay_buffer_load_and_get(SingleSignalPath *, int) +F_Z29sig_delay_buffer_load_and_getP16SingleSignalPathi : user_defined, called { + fnm : "sig_delay_buffer_load_and_get" 'int sig_delay_buffer_load_and_get(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +!! void sig_cirular_buffer_ptr_increment(BufferPtr *, int) +F_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri : user_defined, called { + fnm : "sig_cirular_buffer_ptr_increment" 'void sig_cirular_buffer_ptr_increment(BufferPtr *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _Z29sig_delay_buffer_load_and_getP16SingleSignalPathi typ=uint20_ bnd=e stl=PM tref=__sint_____PSingleSignalPath___sint___2 + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 32 : __extDM typ=int8_ bnd=b stl=DM + 33 : __extPM typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : __extDM_SingleSignalPath typ=int8_ bnd=b stl=DM + 36 : __extDM_SingleSignalPath_delay_buffer typ=int8_ bnd=b stl=DM + 37 : __extDM_BufferPtr typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath_delay_buffer_buffer_len typ=int8_ bnd=b stl=DM + 39 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 40 : __extDM_SingleSignalPath_delay_buffer_ptr_current typ=int8_ bnd=b stl=DM + 41 : __extDM___PDMint32_ typ=int8_ bnd=b stl=DM + 42 : __extDM_void typ=int8_ bnd=b stl=DM + 43 : __extPM_void typ=uint20_ bnd=b stl=PM + 44 : __rd___sp typ=dmaddr_ bnd=m + 45 : __ct_0 typ=uint1_ val=0f bnd=m + 46 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 47 : __rt typ=int32_ bnd=p tref=__sint__ + 48 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 49 : x typ=int32_ bnd=p tref=__sint__ + 57 : __ct_0 typ=int32_ val=0f bnd=m + 60 : __fch___extDM_SingleSignalPath_delay_buffer_buffer_len typ=int32_ bnd=m + 63 : __tmp typ=bool bnd=m + 70 : __fch___extDM_SingleSignalPath_delay_buffer_ptr_current typ=dmaddr_ bnd=m + 81 : __tmp typ=dmaddr_ bnd=m + 82 : __ct_1 typ=int32_ val=1f bnd=m + 83 : __ct typ=int32_ bnd=m + 84 : _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri typ=dmaddr_ val=0r bnd=m + 86 : __link typ=dmaddr_ bnd=m + 100 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 124 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 125 : __ct_116 typ=int18_ val=116f bnd=m + 128 : __ct_8 typ=int18_ val=8f bnd=m + 130 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 134 : __tmp typ=uint3_ bnd=m + 144 : __either typ=bool bnd=m + 145 : __trgt typ=int10_ val=0j bnd=m + 146 : __trgt typ=int10_ val=0j bnd=m +] +F_Z29sig_delay_buffer_load_and_getP16SingleSignalPathi { + #228 off=0 + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__extDM.30 var=32) source () <54>; + (__extPM.31 var=33) source () <55>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath.33 var=35) source () <57>; + (__extDM_SingleSignalPath_delay_buffer.34 var=36) source () <58>; + (__extDM_BufferPtr.35 var=37) source () <59>; + (__extDM_SingleSignalPath_delay_buffer_buffer_len.36 var=38) source () <60>; + (__extDM_int32_.37 var=39) source () <61>; + (__extDM_SingleSignalPath_delay_buffer_ptr_current.38 var=40) source () <62>; + (__extDM___PDMint32_.39 var=41) source () <63>; + (__extDM_void.40 var=42) source () <64>; + (__extPM_void.41 var=43) source () <65>; + (__ct_0.43 var=45) const () <67>; + (__la.45 var=46 stl=LR off=0) inp () <69>; + (__la.46 var=46) deassign (__la.45) <70>; + (signal.49 var=48 stl=A off=0) inp () <73>; + (signal.50 var=48) deassign (signal.49) <74>; + (x.52 var=49 stl=RA off=1) inp () <76>; + (x.53 var=49) deassign (x.52) <77>; + (__rd___sp.55 var=44) rd_res_reg (__R_SP.24 __sp.32) <79>; + (__R_SP.59 var=26 __sp.60 var=34) wr_res_reg (__rt.195 __sp.32) <83>; + (__ct_0.65 var=57) const () <89>; + (__fch___extDM_SingleSignalPath_delay_buffer_buffer_len.68 var=60) load (__M_WDMA.9 __rt.217 __extDM_SingleSignalPath_delay_buffer_buffer_len.36) <92>; + (__rt.195 var=100) __Pvoid__pl___Pvoid_int18_ (__rd___sp.55 __ct_0S0.296) <259>; + (__rt.217 var=100) __Pvoid__pl___Pvoid_int18_ (signal.50 __ct_116.297) <287>; + (__ct_0S0.296 var=124) const () <399>; + (__ct_116.297 var=125) const () <401>; + (__tmp.305 var=134) uint3__cmp_int72__int72_ (__fch___extDM_SingleSignalPath_delay_buffer_buffer_len.68 __ct_0.65) <416>; + (__tmp.306 var=63) bool_equal_uint3_ (__tmp.305) <417>; + (__trgt.314 var=145) const () <457>; + () void_jump_bool_int10_ (__tmp.306 __trgt.314) <458>; + (__either.315 var=144) undefined () <459>; + if { + { + () if_expr (__either.315) <116>; + } #5 + { + } #6 off=4 + { + #157 off=1 + (__fch___extDM_SingleSignalPath_delay_buffer_ptr_current.99 var=70) load (__M_WDMA.9 __rt.239 __extDM_SingleSignalPath_delay_buffer_ptr_current.38) <124>; + (__rt.100 var=47) load (__M_WDMA.9 __fch___extDM_SingleSignalPath_delay_buffer_ptr_current.99 __extDM_SingleSignalPath_delay_buffer_buffer_len.36 __extDM_int32_.37) <125>; + (__M_WDMA.108 var=11 __extDM_SingleSignalPath_delay_buffer_buffer_len.109 var=38 __extDM_int32_.110 var=39) store (x.53 __fch___extDM_SingleSignalPath_delay_buffer_ptr_current.99 __extDM_SingleSignalPath_delay_buffer_buffer_len.36 __extDM_int32_.37) <133>; + (__ct_1.115 var=82) const () <138>; + (_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri.118 var=84) const () <141>; + (__link.120 var=86) dmaddr__call_dmaddr_ (_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri.118) <143>; + (__rt.239 var=100) __Pvoid__pl___Pvoid_int18_ (__rt.217 __ct_8.300) <315>; + (__rt.283 var=100) __Pvoid__mi___Pvoid_int18_ (__rt.239 __ct_8.300) <371>; + (__ct_8.300 var=128) const () <407>; + call { + (__tmp.114 var=81 stl=A off=0) assign (__rt.283) <137>; + (__ct.117 var=83 stl=RA off=0) assign (__ct_1.115) <140>; + (__link.121 var=86 stl=LR off=0) assign (__link.120) <144>; + (__extDM.122 var=32 __extDM_BufferPtr.123 var=37 __extDM_SingleSignalPath.124 var=35 __extDM_SingleSignalPath_delay_buffer.125 var=36 __extDM_SingleSignalPath_delay_buffer_buffer_len.126 var=38 __extDM_SingleSignalPath_delay_buffer_ptr_current.127 var=40 __extDM___PDMint32_.128 var=41 __extDM_int32_.129 var=39 __extDM_void.130 var=42 __extPM.131 var=33 __extPM_void.132 var=43 __vola.133 var=29) F_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri (__link.121 __tmp.114 __ct.117 __extDM.30 __extDM_BufferPtr.35 __extDM_SingleSignalPath.33 __extDM_SingleSignalPath_delay_buffer.34 __extDM_SingleSignalPath_delay_buffer_buffer_len.109 __extDM_SingleSignalPath_delay_buffer_ptr_current.38 __extDM___PDMint32_.39 __extDM_int32_.110 __extDM_void.40 __extPM.31 __extPM_void.41 __vola.27) <145>; + } #9 off=2 + #231 off=3 + (__trgt.316 var=146) const () <460>; + () void_jump_int10_ (__trgt.316) <461>; + } #7 + { + (__vola.134 var=29) merge (__vola.27 __vola.133) <146>; + (__extDM.135 var=32) merge (__extDM.30 __extDM.122) <147>; + (__extPM.136 var=33) merge (__extPM.31 __extPM.131) <148>; + (__extDM_SingleSignalPath.137 var=35) merge (__extDM_SingleSignalPath.33 __extDM_SingleSignalPath.124) <149>; + (__extDM_SingleSignalPath_delay_buffer.138 var=36) merge (__extDM_SingleSignalPath_delay_buffer.34 __extDM_SingleSignalPath_delay_buffer.125) <150>; + (__extDM_BufferPtr.139 var=37) merge (__extDM_BufferPtr.35 __extDM_BufferPtr.123) <151>; + (__extDM_SingleSignalPath_delay_buffer_buffer_len.140 var=38) merge (__extDM_SingleSignalPath_delay_buffer_buffer_len.36 __extDM_SingleSignalPath_delay_buffer_buffer_len.126) <152>; + (__extDM_int32_.141 var=39) merge (__extDM_int32_.37 __extDM_int32_.129) <153>; + (__extDM_SingleSignalPath_delay_buffer_ptr_current.142 var=40) merge (__extDM_SingleSignalPath_delay_buffer_ptr_current.38 __extDM_SingleSignalPath_delay_buffer_ptr_current.127) <154>; + (__extDM___PDMint32_.143 var=41) merge (__extDM___PDMint32_.39 __extDM___PDMint32_.128) <155>; + (__extDM_void.144 var=42) merge (__extDM_void.40 __extDM_void.130) <156>; + (__extPM_void.145 var=43) merge (__extPM_void.41 __extPM_void.132) <157>; + (__rt.146 var=47) merge (x.53 __rt.100) <158>; + } #10 + } #4 + #12 off=5 nxt=-2 + (__rd___sp.148 var=44) rd_res_reg (__R_SP.24 __sp.60) <160>; + (__R_SP.152 var=26 __sp.153 var=34) wr_res_reg (__rt.261 __sp.60) <164>; + () void_ret_dmaddr_ (__la.46) <165>; + (__rt.154 var=47 stl=RA off=0) assign (__rt.146) <166>; + () out (__rt.154) <167>; + () sink (__vola.134) <168>; + () sink (__extDM.135) <171>; + () sink (__extPM.136) <172>; + () sink (__sp.153) <173>; + () sink (__extDM_SingleSignalPath.137) <174>; + () sink (__extDM_SingleSignalPath_delay_buffer.138) <175>; + () sink (__extDM_BufferPtr.139) <176>; + () sink (__extDM_SingleSignalPath_delay_buffer_buffer_len.140) <177>; + () sink (__extDM_int32_.141) <178>; + () sink (__extDM_SingleSignalPath_delay_buffer_ptr_current.142) <179>; + () sink (__extDM___PDMint32_.143) <180>; + () sink (__extDM_void.144) <181>; + () sink (__extPM_void.145) <182>; + () sink (__ct_0.43) <183>; + (__rt.261 var=100) __Pvoid__pl___Pvoid_int18_ (__rd___sp.148 __ct_0s0.302) <343>; + (__ct_0s0.302 var=130) const () <411>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,194:0,0); +4 : (0,195:4,1); +6 : (0,195:46,2); +7 : (0,196:8,5); +9 : (0,200:4,8); +12 : (0,201:4,13); +157 : (0,200:4,8); +228 : (0,195:40,1); +---------- +79 : (0,194:4,0); +83 : (0,194:4,0); +89 : (0,195:28,0); +92 : (0,195:28,1); +116 : (0,195:4,1); +124 : (0,198:35,6); +125 : (0,198:14,6); +133 : (0,199:4,7); +137 : (0,200:44,0); +138 : (0,200:60,0); +140 : (0,200:60,0); +143 : (0,200:4,8); +144 : (0,200:4,0); +145 : (0,200:4,8); +146 : (0,195:4,12); +147 : (0,195:4,12); +148 : (0,195:4,12); +149 : (0,195:4,12); +150 : (0,195:4,12); +151 : (0,195:4,12); +152 : (0,195:4,12); +153 : (0,195:4,12); +154 : (0,195:4,12); +155 : (0,195:4,12); +156 : (0,195:4,12); +157 : (0,195:4,12); +158 : (0,195:4,12); +160 : (0,201:4,0); +164 : (0,201:4,13); +165 : (0,201:4,13); +166 : (0,201:4,0); +259 : (0,194:4,0); +287 : (0,195:14,1); +315 : (0,198:35,6); +343 : (0,201:4,0); +371 : (0,195:14,0); +399 : (0,194:4,0); +401 : (0,195:14,0); +407 : (0,198:35,0); +411 : (0,201:4,0); +416 : (0,195:40,1); +417 : (0,195:40,1); +458 : (0,195:4,1); + diff --git a/simulation/Release/chesswork/signal_path-d6dbe4.# b/simulation/Release/chesswork/signal_path-d6dbe4.# new file mode 100644 index 0000000..58617eb --- /dev/null +++ b/simulation/Release/chesswork/signal_path-d6dbe4.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +ab6f52618a5136888eb86a044b33767c8d77620c +da39a3ee5e6b4b0d3255bfef95601890afd80709 +340d9ea84ad046dfee07a971bcee354e65107347 +173 +0 diff --git a/simulation/Release/chesswork/signal_path-d6dbe4.o b/simulation/Release/chesswork/signal_path-d6dbe4.o new file mode 100644 index 0000000..cf89d6f Binary files /dev/null and b/simulation/Release/chesswork/signal_path-d6dbe4.o differ diff --git a/simulation/Release/chesswork/signal_path-d6dbe4.sfg b/simulation/Release/chesswork/signal_path-d6dbe4.sfg new file mode 100644 index 0000000..eb5c30a --- /dev/null +++ b/simulation/Release/chesswork/signal_path-d6dbe4.sfg @@ -0,0 +1,245 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_calc_biquad(SingleSignalPath *, int) +F_Z15sig_calc_biquadP16SingleSignalPathi : user_defined, called { + fnm : "sig_calc_biquad" 'int sig_calc_biquad(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z15sig_calc_biquadP16SingleSignalPathi typ=uint20_ bnd=e stl=PM tref=__sint_____PSingleSignalPath___sint___1 + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_SingleSignalPath_preemph_activated typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath_b_preemph typ=int8_ bnd=b stl=DM + 39 : __extDM_SingleSignalPath__xd typ=int8_ bnd=b stl=DM + 40 : __extDM_SingleSignalPath__yd typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : __rt typ=int32_ bnd=p tref=__sint__ + 45 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 46 : x typ=int32_ bnd=p tref=__sint__ + 50 : sum typ=int72_ bnd=m lscp=591 tref=accum_t__ + 55 : __fch___extDM_SingleSignalPath_preemph_activated typ=int32_ bnd=m + 56 : __ct_0 typ=int32_ val=0f bnd=m + 58 : __tmp typ=bool bnd=m + 65 : __fch___extDM_SingleSignalPath_b_preemph typ=int32_ bnd=m + 66 : __tmp typ=int72_ bnd=m + 73 : __fch___extDM_SingleSignalPath__xd typ=int32_ bnd=m + 80 : __fch___extDM_SingleSignalPath_b_preemph typ=int32_ bnd=m + 81 : __tmp typ=int72_ bnd=m + 82 : __tmp typ=int72_ bnd=m + 89 : __fch___extDM_SingleSignalPath__xd typ=int32_ bnd=m + 96 : __fch___extDM_SingleSignalPath_b_preemph typ=int32_ bnd=m + 97 : __tmp typ=int72_ bnd=m + 98 : __tmp typ=int72_ bnd=m + 105 : __fch___extDM_SingleSignalPath__yd typ=int32_ bnd=m + 112 : __fch___extDM_SingleSignalPath_b_preemph typ=int32_ bnd=m + 113 : __tmp typ=int72_ bnd=m + 114 : __tmp typ=int72_ bnd=m + 121 : __fch___extDM_SingleSignalPath__yd typ=int32_ bnd=m + 128 : __fch___extDM_SingleSignalPath_b_preemph typ=int32_ bnd=m + 129 : __tmp typ=int72_ bnd=m + 131 : __ct_1 typ=int32_ val=1f bnd=m + 133 : __tmp typ=int72_ bnd=m + 197 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 232 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 233 : __ct_8 typ=int18_ val=8f bnd=m + 236 : __ct_12 typ=int18_ val=12f bnd=m + 239 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 240 : __ct_24 typ=int18_ val=24f bnd=m + 242 : __ct_20 typ=int18_ val=20f bnd=m + 244 : __ct_4 typ=int18_ val=4f bnd=m + 248 : __tmp typ=uint3_ bnd=m + 253 : __ct_0 typ=uint2_ val=0f bnd=m + 263 : __either typ=bool bnd=m + 264 : __trgt typ=int10_ val=0j bnd=m + 265 : __trgt typ=int10_ val=0j bnd=m +] +F_Z15sig_calc_biquadP16SingleSignalPathi { + #553 off=0 + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath_preemph_activated.34 var=36) source () <58>; + (__extDM_SingleSignalPath_b_preemph.36 var=38) source () <60>; + (__extDM_SingleSignalPath__xd.37 var=39) source () <61>; + (__extDM_SingleSignalPath__yd.38 var=40) source () <62>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (signal.46 var=45 stl=A off=0) inp () <70>; + (signal.47 var=45) deassign (signal.46) <71>; + (x.49 var=46 stl=RA off=1) inp () <73>; + (x.50 var=46) deassign (x.49) <74>; + (__rd___sp.52 var=41) rd_res_reg (__R_SP.24 __sp.32) <76>; + (__R_SP.56 var=26 __sp.57 var=34) wr_res_reg (__rt.297 __sp.32) <80>; + (__fch___extDM_SingleSignalPath_preemph_activated.63 var=55) load (__M_WDMA.9 __rt.319 __extDM_SingleSignalPath_preemph_activated.34) <87>; + (__ct_0.64 var=56) const () <88>; + (__rt.297 var=197) __Pvoid__pl___Pvoid_int18_ (__rd___sp.52 __ct_0S0.640) <391>; + (__rt.319 var=197) __Pvoid__pl___Pvoid_int18_ (signal.47 __ct_8.641) <419>; + (__ct_0S0.640 var=232) const () <840>; + (__ct_8.641 var=233) const () <842>; + (__tmp.655 var=248) uint3__cmp_int72__int72_ (__fch___extDM_SingleSignalPath_preemph_activated.63 __ct_0.64) <869>; + (__tmp.656 var=58) bool_equal_uint3_ (__tmp.655) <870>; + (__trgt.669 var=264) const () <927>; + () void_jump_bool_int10_ (__tmp.656 __trgt.669) <928>; + (__either.670 var=263) undefined () <929>; + if { + { + () if_expr (__either.670) <109>; + } #5 + { + } #6 off=2 + { + (__fch___extDM_SingleSignalPath_b_preemph.92 var=65) load (__M_WDMA.9 __rt.341 __extDM_SingleSignalPath_b_preemph.36) <117>; + (__fch___extDM_SingleSignalPath__xd.100 var=73) load (__M_WDMA.9 __rt.385 __extDM_SingleSignalPath__xd.37) <125>; + (__fch___extDM_SingleSignalPath_b_preemph.107 var=80) load (__M_WDMA.9 __rt.407 __extDM_SingleSignalPath_b_preemph.36) <132>; + (__tmp.109 var=82) accum_t__pl_accum_t_accum_t (__tmp.244 __tmp.249) <134>; + (__fch___extDM_SingleSignalPath__xd.116 var=89) load (__M_WDMA.9 __rt.429 __extDM_SingleSignalPath__xd.37) <141>; + (__fch___extDM_SingleSignalPath_b_preemph.123 var=96) load (__M_WDMA.9 __rt.451 __extDM_SingleSignalPath_b_preemph.36) <148>; + (__tmp.125 var=98) accum_t__pl_accum_t_accum_t (__tmp.109 __tmp.254) <150>; + (__fch___extDM_SingleSignalPath__yd.132 var=105) load (__M_WDMA.9 __rt.473 __extDM_SingleSignalPath__yd.38) <157>; + (__fch___extDM_SingleSignalPath_b_preemph.139 var=112) load (__M_WDMA.9 __rt.495 __extDM_SingleSignalPath_b_preemph.36) <164>; + (__tmp.141 var=114) accum_t__pl_accum_t_accum_t (__tmp.125 __tmp.259) <166>; + (__fch___extDM_SingleSignalPath__yd.148 var=121) load (__M_WDMA.9 __rt.517 __extDM_SingleSignalPath__yd.38) <173>; + (__fch___extDM_SingleSignalPath_b_preemph.155 var=128) load (__M_WDMA.9 __rt.539 __extDM_SingleSignalPath_b_preemph.36) <180>; + (sum.157 var=50) accum_t__pl_accum_t_accum_t (__tmp.141 __tmp.264) <182>; + (__ct_1.159 var=131) const () <184>; + (__rt.162 var=44) __sint_rnd_saturate_accum_t (__tmp.661) <187>; + (__M_WDMA.176 var=11 __extDM_SingleSignalPath__xd.177 var=39) store (__fch___extDM_SingleSignalPath__xd.100 __rt.561 __extDM_SingleSignalPath__xd.37) <201>; + (__M_WDMA.184 var=11 __extDM_SingleSignalPath__xd.185 var=39) store (x.50 __rt.583 __extDM_SingleSignalPath__xd.177) <208>; + (__M_WDMA.199 var=11 __extDM_SingleSignalPath__yd.200 var=40) store (__fch___extDM_SingleSignalPath__yd.132 __rt.605 __extDM_SingleSignalPath__yd.38) <222>; + (__M_WDMA.207 var=11 __extDM_SingleSignalPath__yd.208 var=40) store (__rt.162 __rt.627 __extDM_SingleSignalPath__yd.200) <229>; + (__tmp.244 var=66) int72__multss_int32__int32__uint1_ (x.50 __fch___extDM_SingleSignalPath_b_preemph.92 __ct_0.40) <293>; + (__tmp.249 var=81) int72__multss_int32__int32__uint1_ (__fch___extDM_SingleSignalPath__xd.100 __fch___extDM_SingleSignalPath_b_preemph.107 __ct_0.40) <301>; + (__tmp.254 var=97) int72__multss_int32__int32__uint1_ (__fch___extDM_SingleSignalPath__xd.116 __fch___extDM_SingleSignalPath_b_preemph.123 __ct_0.40) <309>; + (__tmp.259 var=113) int72__multss_int32__int32__uint1_ (__fch___extDM_SingleSignalPath__yd.132 __fch___extDM_SingleSignalPath_b_preemph.139 __ct_0.40) <317>; + (__tmp.264 var=129) int72__multss_int32__int32__uint1_ (__fch___extDM_SingleSignalPath__yd.148 __fch___extDM_SingleSignalPath_b_preemph.155 __ct_0.40) <325>; + (__rt.341 var=197) __Pvoid__pl___Pvoid_int18_ (signal.47 __ct_12.644) <447>; + (__rt.385 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.341 __ct_24.648) <503>; + (__rt.407 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.385 __ct_20.650) <531>; + (__rt.429 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.407 __ct_24.648) <559>; + (__rt.451 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.429 __ct_20.650) <587>; + (__rt.473 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.451 __ct_24.648) <615>; + (__rt.495 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.473 __ct_20.650) <643>; + (__rt.517 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.495 __ct_24.648) <671>; + (__rt.539 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.517 __ct_20.650) <699>; + (__rt.561 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.539 __ct_12.644) <727>; + (__rt.583 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.561 __ct_4.652) <755>; + (__rt.605 var=197) __Pvoid__pl___Pvoid_int18_ (__rt.583 __ct_12.644) <783>; + (__rt.627 var=197) __Pvoid__mi___Pvoid_int18_ (__rt.605 __ct_4.652) <811>; + (__ct_12.644 var=236) const () <848>; + (__ct_24.648 var=240) const () <856>; + (__ct_20.650 var=242) const () <860>; + (__ct_4.652 var=244) const () <864>; + (__ct_0.660 var=253) const () <877>; + (__tmp.661 var=133) int72__shift_int72__int72__uint2_ (sum.157 __ct_1.159 __ct_0.660) <878>; + (__trgt.671 var=265) const () <930>; + () void_jump_int10_ (__trgt.671) <931>; + } #591 off=1 + { + (__extDM_SingleSignalPath__xd.209 var=39) merge (__extDM_SingleSignalPath__xd.37 __extDM_SingleSignalPath__xd.185) <230>; + (__extDM_SingleSignalPath__yd.210 var=40) merge (__extDM_SingleSignalPath__yd.38 __extDM_SingleSignalPath__yd.208) <231>; + (__rt.211 var=44) merge (x.50 __rt.162) <232>; + } #8 + } #4 + #10 off=3 nxt=-2 + (__rd___sp.214 var=41) rd_res_reg (__R_SP.24 __sp.57) <235>; + (__R_SP.218 var=26 __sp.219 var=34) wr_res_reg (__rt.363 __sp.57) <239>; + () void_ret_dmaddr_ (__la.43) <240>; + (__rt.220 var=44 stl=RA off=0) assign (__rt.211) <241>; + () out (__rt.220) <242>; + () sink (__sp.219) <248>; + () sink (__extDM_SingleSignalPath__xd.209) <253>; + () sink (__extDM_SingleSignalPath__yd.210) <254>; + () sink (__ct_0.40) <255>; + (__rt.363 var=197) __Pvoid__pl___Pvoid_int18_ (__rd___sp.214 __ct_0s0.647) <475>; + (__ct_0s0.647 var=239) const () <854>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,173:0,0); +4 : (0,174:4,1); +6 : (0,174:40,2); +10 : (0,188:4,16); +553 : (0,174:34,1); +591 : (0,187:15,11); +---------- +76 : (0,173:4,0); +80 : (0,173:4,0); +87 : (0,174:14,1); +88 : (0,174:37,0); +109 : (0,174:4,1); +117 : (0,178:39,6); +125 : (0,178:68,6); +132 : (0,178:90,6); +134 : (0,178:44,6); +141 : (0,179:30,6); +148 : (0,179:52,6); +150 : (0,178:95,6); +157 : (0,179:81,6); +164 : (0,179:103,6); +166 : (0,179:57,6); +173 : (0,180:30,6); +180 : (0,180:51,6); +182 : (0,179:108,6); +184 : (0,181:32,0); +187 : (0,181:12,7); +201 : (0,184:15,8); +208 : (0,185:15,9); +222 : (0,186:15,10); +229 : (0,187:15,11); +230 : (0,174:4,15); +231 : (0,174:4,15); +232 : (0,174:4,15); +235 : (0,188:4,0); +239 : (0,188:4,16); +240 : (0,188:4,16); +241 : (0,188:4,0); +293 : (0,178:8,6); +301 : (0,178:46,6); +309 : (0,179:8,6); +317 : (0,179:59,6); +325 : (0,180:8,6); +391 : (0,173:4,0); +419 : (0,174:14,1); +447 : (0,178:28,6); +475 : (0,188:4,0); +503 : (0,178:63,0); +531 : (0,178:90,0); +559 : (0,179:30,0); +587 : (0,179:52,0); +615 : (0,179:76,0); +643 : (0,179:103,0); +671 : (0,180:30,0); +699 : (0,180:51,0); +727 : (0,179:30,0); +755 : (0,178:63,0); +783 : (0,180:30,0); +811 : (0,179:76,0); +840 : (0,173:4,0); +842 : (0,174:14,0); +848 : (0,178:28,0); +854 : (0,188:4,0); +856 : (0,178:63,0); +860 : (0,178:90,0); +864 : (0,178:63,0); +869 : (0,174:34,1); +870 : (0,174:34,1); +877 : (0,181:29,0); +878 : (0,181:29,7); +928 : (0,174:4,1); + diff --git a/simulation/Release/chesswork/signal_path-d74ce2.# b/simulation/Release/chesswork/signal_path-d74ce2.# new file mode 100644 index 0000000..8f7d216 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-d74ce2.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +e2ded2b6178a19a31d3cb7b39f694325b2214d67 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +4647624aebdbf5e32824e242277d6279ea22a0eb +157 +0 diff --git a/simulation/Release/chesswork/signal_path-d74ce2.o b/simulation/Release/chesswork/signal_path-d74ce2.o new file mode 100644 index 0000000..ecdb6f4 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-d74ce2.o differ diff --git a/simulation/Release/chesswork/signal_path-d74ce2.sfg b/simulation/Release/chesswork/signal_path-d74ce2.sfg new file mode 100644 index 0000000..3640bec --- /dev/null +++ b/simulation/Release/chesswork/signal_path-d74ce2.sfg @@ -0,0 +1,369 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_init_weight(SingleSignalPath *, double, int) +F_Z15sig_init_weightP16SingleSignalPathdi : user_defined, called { + fnm : "sig_init_weight" 'void sig_init_weight(SingleSignalPath *, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +!! extern double ff_pow(double, double) +Fff_pow : user_defined, called { + fnm : "ff_pow" 'double ff_pow(double, double)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! int float64_eq(float64, float64) +F_Z10float64_eqyy : user_defined, called { + fnm : "float64_eq" 'int float64_eq(float64, float64)'; + arg : ( dmaddr_:i int32_:r int64_:i int64_:i ); + loc : ( LR[0] RA[0] AX[0] AX[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 int32_to_float64(int) +F_Z16int32_to_float64i : user_defined, called { + fnm : "int32_to_float64" 'float64 int32_to_float64(int)'; + arg : ( dmaddr_:i int64_:r int32_:i ); + loc : ( LR[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 float64_sub(float64, float64) +F_Z11float64_subyy : user_defined, called { + fnm : "float64_sub" 'float64 float64_sub(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! int float64_to_int32_round_to_zero(float64) +F_Z30float64_to_int32_round_to_zeroy : user_defined, called { + fnm : "float64_to_int32_round_to_zero" 'int float64_to_int32_round_to_zero(float64)'; + arg : ( dmaddr_:i int32_:r int64_:i ); + loc : ( LR[0] RA[0] AX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 float64_mul(float64, float64) +F_Z11float64_mulyy : user_defined, called { + fnm : "float64_mul" 'float64 float64_mul(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _Z15sig_init_weightP16SingleSignalPathdi typ=uint20_ bnd=e stl=PM tref=void_____PSingleSignalPath___fdouble___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_SingleSignalPath_weight_actived typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath_weight typ=int8_ bnd=b stl=DM + 39 : __extDM_SingleSignalPath__weight_scale_nbits typ=int8_ bnd=b stl=DM + 40 : __rd___sp typ=dmaddr_ bnd=m + 41 : __ct_0 typ=uint1_ val=0f bnd=m + 42 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 43 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 44 : weight typ=int64_ bnd=p tref=__fdouble__ + 45 : scale_nbits typ=int32_ bnd=p tref=__sint__ + 49 : __tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi typ=int64_ bnd=m lscp=181 tref=__fdouble__ + 50 : __tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi typ=int64_ bnd=m lscp=181 tref=__fdouble__ + 52 : scale typ=int32_ bnd=m lscp=181 tref=__sint__ + 53 : __ct_4607182418800017408 typ=int64_ val=4607182418800017408f bnd=m + 56 : __ct_0 typ=int32_ val=0f bnd=m + 61 : __ct_1 typ=int32_ val=1f bnd=m + 67 : __ct_4611686018427387904 typ=int64_ val=4611686018427387904f bnd=m + 72 : __tmp typ=int64_ bnd=m + 74 : __tmp typ=int64_ bnd=m + 75 : __tmp typ=int64_ bnd=m + 76 : __tmp typ=int32_ bnd=m + 96 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 117 : __tmp typ=int32_ bnd=m + 126 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 127 : __ct_132 typ=int18_ val=132f bnd=m + 130 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 131 : __ct_4 typ=int18_ val=4f bnd=m + 135 : __tmp typ=bool bnd=m + 142 : __a0 typ=int64_ bnd=m tref=__atp0___48 + 144 : ff_pow typ=dmaddr_ val=0r bnd=m + 145 : __link typ=dmaddr_ bnd=m + 162 : __a1 typ=int64_ bnd=m tref=__atp1___12 + 163 : _Z10float64_eqyy typ=dmaddr_ val=0r bnd=m + 164 : __link typ=dmaddr_ bnd=m + 170 : __tmp typ=uint3_ bnd=m + 175 : _Z16int32_to_float64i typ=dmaddr_ val=0r bnd=m + 176 : __link typ=dmaddr_ bnd=m + 178 : __tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi typ=int64_ bnd=m + 180 : __a1 typ=int64_ bnd=m tref=__atp1___9 + 181 : _Z11float64_subyy typ=dmaddr_ val=0r bnd=m + 182 : __link typ=dmaddr_ bnd=m + 184 : __tmp typ=int64_ bnd=m + 186 : _Z30float64_to_int32_round_to_zeroy typ=dmaddr_ val=0r bnd=m + 187 : __link typ=dmaddr_ bnd=m + 190 : __tmp typ=int64_ bnd=m + 193 : _Z11float64_mulyy typ=dmaddr_ val=0r bnd=m + 194 : __link typ=dmaddr_ bnd=m + 196 : __tmp typ=int64_ bnd=m + 206 : __either typ=bool bnd=m + 207 : __trgt typ=int10_ val=0j bnd=m + 208 : __trgt typ=int10_ val=0j bnd=m +] +F_Z15sig_init_weightP16SingleSignalPathdi { + #272 off=0 + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath_weight_actived.34 var=36) source () <58>; + (__extDM_SingleSignalPath_weight.36 var=38) source () <60>; + (__extDM_SingleSignalPath__weight_scale_nbits.37 var=39) source () <61>; + (__ct_0.39 var=41) const () <63>; + (__la.41 var=42 stl=LR off=0) inp () <65>; + (__la.42 var=42) deassign (__la.41) <66>; + (signal.44 var=43 stl=A off=0) inp () <68>; + (signal.45 var=43) deassign (signal.44) <69>; + (weight.47 var=44 stl=AX off=0) inp () <71>; + (weight.48 var=44) deassign (weight.47) <72>; + (scale_nbits.50 var=45 stl=RA off=0) inp () <74>; + (scale_nbits.51 var=45) deassign (scale_nbits.50) <75>; + (__rd___sp.53 var=40) rd_res_reg (__R_SP.24 __sp.32) <77>; + (__R_SP.57 var=26 __sp.58 var=34) wr_res_reg (__rt.177 __sp.32) <81>; + (__ct_4607182418800017408.63 var=53) const () <87>; + (__rt.177 var=96) __Pvoid__pl___Pvoid_int18_ (__rd___sp.53 __ct_0S0.284) <249>; + (__ct_0S0.284 var=126) const () <398>; + (_Z10float64_eqyy.329 var=163) const () <485>; + (__link.330 var=164) dmaddr__call_dmaddr_ (_Z10float64_eqyy.329) <486>; + call { + (weight.331 var=44 stl=AX off=0) assign (weight.48) <487>; + (__a1.332 var=162 stl=AX off=1) assign (__ct_4607182418800017408.63) <488>; + (__link.333 var=164 stl=LR off=0) assign (__link.330) <489>; + (__tmp.334 var=117 stl=RA off=0) F_Z10float64_eqyy (__link.333 weight.331 __a1.332) <490>; + (__tmp.335 var=117) deassign (__tmp.334) <491>; + } #273 off=1 + #269 off=2 + (__ct_0.85 var=56) const () <110>; + (__rt.205 var=96) __Pvoid__pl___Pvoid_int18_ (signal.45 __ct_132.285) <286>; + (__ct_132.285 var=127) const () <400>; + (__tmp.339 var=170) uint3__cmp_int72__int72_ (__tmp.335 __ct_0.85) <498>; + (__tmp.344 var=135) bool_nequal_uint3_ (__tmp.339) <518>; + (__trgt.403 var=207) const () <646>; + () void_jump_bool_int10_ (__tmp.344 __trgt.403) <647>; + (__either.404 var=206) undefined () <648>; + if { + { + () if_expr (__either.404) <109>; + } #5 + { + (__M_WDMA.90 var=11 __extDM_SingleSignalPath_weight_actived.91 var=36) store (__ct_0.85 __rt.205 __extDM_SingleSignalPath_weight_actived.34) <115>; + } #6 off=18 + { + #285 off=3 + (__ct_1.92 var=61) const () <116>; + (__M_WDMA.97 var=11 __extDM_SingleSignalPath_weight_actived.98 var=36) store (__ct_1.92 __rt.205 __extDM_SingleSignalPath_weight_actived.34) <121>; + (__rt.249 var=96) __Pvoid__pl___Pvoid_int18_ (__rt.205 __ct_4.289) <342>; + (__ct_4.289 var=131) const () <408>; + (_Z16int32_to_float64i.346 var=175) const () <521>; + (__link.347 var=176) dmaddr__call_dmaddr_ (_Z16int32_to_float64i.346) <522>; + call { + (scale_nbits.348 var=45 stl=RA off=0) assign (scale_nbits.51) <523>; + (__link.349 var=176 stl=LR off=0) assign (__link.347) <524>; + (__tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.350 var=178 stl=AX off=0) F_Z16int32_to_float64i (__link.349 scale_nbits.348) <525>; + (__tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.351 var=50) deassign (__tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.350) <526>; + } #286 off=4 + #282 off=5 + (__ct_4611686018427387904.104 var=67) const () <127>; + (ff_pow.302 var=144) const () <440>; + (__link.303 var=145) dmaddr__call_dmaddr_ (ff_pow.302) <441>; + call { + (__a0.304 var=142 stl=AX off=1) assign (__ct_4611686018427387904.104) <442>; + (__tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.305 var=50 stl=BX off=0) assign (__tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.351) <443>; + (__link.306 var=145 stl=LR off=0) assign (__link.303) <444>; + (__tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.307 var=49 stl=AX off=0) Fff_pow (__link.306 __a0.304 __tmpb2_F_Z15sig_init_weightP16SingleSignalPathdi.305) <445>; + (__tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.308 var=49) deassign (__tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.307) <446>; + } #248 off=6 + #299 off=7 + (_Z11float64_subyy.355 var=181) const () <533>; + (__link.356 var=182) dmaddr__call_dmaddr_ (_Z11float64_subyy.355) <534>; + call { + (__tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.357 var=49 stl=AX off=1) assign (__tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.308) <535>; + (__a1.358 var=180 stl=BX off=0) assign (__ct_4607182418800017408.63) <536>; + (__link.359 var=182 stl=LR off=0) assign (__link.356) <537>; + (__tmp.360 var=184 stl=AX off=0) F_Z11float64_subyy (__link.359 __tmpb0_F_Z15sig_init_weightP16SingleSignalPathdi.357 __a1.358) <538>; + (__tmp.361 var=72) deassign (__tmp.360) <539>; + } #300 off=8 + #305 off=9 + (_Z30float64_to_int32_round_to_zeroy.364 var=186) const () <545>; + (__link.365 var=187) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.364) <546>; + call { + (__tmp.366 var=72 stl=AX off=0) assign (__tmp.361) <547>; + (__link.367 var=187 stl=LR off=0) assign (__link.365) <548>; + (scale.368 var=52 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.367 __tmp.366) <549>; + (scale.369 var=52) deassign (scale.368) <550>; + } #306 off=10 + #311 off=11 + (__link.373 var=176) dmaddr__call_dmaddr_ (_Z16int32_to_float64i.346) <557>; + call { + (scale.374 var=52 stl=RA off=0) assign (scale.369) <558>; + (__link.375 var=176 stl=LR off=0) assign (__link.373) <559>; + (__tmp.376 var=190 stl=AX off=0) F_Z16int32_to_float64i (__link.375 scale.374) <560>; + (__tmp.377 var=74) deassign (__tmp.376) <561>; + } #312 off=12 + #317 off=13 + (_Z11float64_mulyy.381 var=193) const () <568>; + (__link.382 var=194) dmaddr__call_dmaddr_ (_Z11float64_mulyy.381) <569>; + call { + (weight.383 var=44 stl=AX off=1) assign (weight.48) <570>; + (__tmp.384 var=74 stl=BX off=0) assign (__tmp.377) <571>; + (__link.385 var=194 stl=LR off=0) assign (__link.382) <572>; + (__tmp.386 var=196 stl=AX off=0) F_Z11float64_mulyy (__link.385 weight.383 __tmp.384) <573>; + (__tmp.387 var=75) deassign (__tmp.386) <574>; + } #318 off=14 + #323 off=15 + (__link.391 var=187) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.364) <581>; + call { + (__tmp.392 var=75 stl=AX off=0) assign (__tmp.387) <582>; + (__link.393 var=187 stl=LR off=0) assign (__link.391) <583>; + (__tmp.394 var=76 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.393 __tmp.392) <584>; + (__tmp.395 var=76) deassign (__tmp.394) <585>; + } #324 off=16 + #296 off=17 + (__M_WDMA.117 var=11 __extDM_SingleSignalPath_weight.118 var=38) store (__tmp.395 __rt.249 __extDM_SingleSignalPath_weight.36) <140>; + (__M_WDMA.122 var=11 __extDM_SingleSignalPath__weight_scale_nbits.123 var=39) store (scale_nbits.51 __rt.271 __extDM_SingleSignalPath__weight_scale_nbits.37) <144>; + (__rt.271 var=96) __Pvoid__pl___Pvoid_int18_ (__rt.249 __ct_4.289) <370>; + (__trgt.405 var=208) const () <649>; + () void_jump_int10_ (__trgt.405) <650>; + } #181 + { + (__extDM_SingleSignalPath_weight_actived.124 var=36) merge (__extDM_SingleSignalPath_weight_actived.91 __extDM_SingleSignalPath_weight_actived.98) <145>; + (__extDM_SingleSignalPath_weight.125 var=38) merge (__extDM_SingleSignalPath_weight.36 __extDM_SingleSignalPath_weight.118) <146>; + (__extDM_SingleSignalPath__weight_scale_nbits.126 var=39) merge (__extDM_SingleSignalPath__weight_scale_nbits.37 __extDM_SingleSignalPath__weight_scale_nbits.123) <147>; + } #8 + } #4 + #10 off=19 nxt=-2 + (__rd___sp.131 var=40) rd_res_reg (__R_SP.24 __sp.58) <152>; + (__R_SP.135 var=26 __sp.136 var=34) wr_res_reg (__rt.227 __sp.58) <156>; + () void_ret_dmaddr_ (__la.42) <157>; + () sink (__sp.136) <163>; + () sink (__extDM_SingleSignalPath_weight_actived.124) <165>; + () sink (__extDM_SingleSignalPath_weight.125) <167>; + () sink (__extDM_SingleSignalPath__weight_scale_nbits.126) <168>; + () sink (__ct_0.39) <169>; + (__rt.227 var=96) __Pvoid__pl___Pvoid_int18_ (__rd___sp.131 __ct_0s0.288) <314>; + (__ct_0s0.288 var=130) const () <406>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,157:0,0); +4 : (0,159:4,1); +6 : (0,159:22,2); +10 : (0,169:0,22); +181 : (0,167:14,18); +248 : (0,165:20,13); +269 : (0,159:15,1); +272 : (0,159:15,1); +273 : (0,159:15,1); +282 : (0,165:20,13); +285 : (0,165:25,10); +286 : (0,165:25,10); +296 : (0,167:14,18); +299 : (0,165:40,16); +300 : (0,165:40,16); +305 : (0,165:40,16); +306 : (0,165:40,16); +311 : (0,166:32,17); +312 : (0,166:32,17); +317 : (0,166:32,17); +318 : (0,166:32,17); +323 : (0,166:23,17); +324 : (0,166:23,17); +---------- +77 : (0,157:5,0); +81 : (0,157:5,0); +87 : (0,159:18,0); +109 : (0,159:4,1); +110 : (0,160:33,0); +115 : (0,160:14,2); +116 : (0,164:33,0); +121 : (0,164:14,5); +127 : (0,165:20,0); +140 : (0,166:14,17); +144 : (0,167:14,18); +145 : (0,159:4,21); +146 : (0,159:4,21); +147 : (0,159:4,21); +152 : (0,169:0,0); +156 : (0,169:0,22); +157 : (0,169:0,22); +249 : (0,157:5,0); +286 : (0,160:14,2); +314 : (0,169:0,0); +342 : (0,166:14,0); +370 : (0,167:14,0); +398 : (0,157:5,0); +400 : (0,160:14,0); +406 : (0,169:0,0); +408 : (0,166:14,0); +440 : (0,165:20,0); +441 : (0,165:20,13); +442 : (0,165:20,13); +443 : (0,165:20,13); +444 : (0,165:20,13); +445 : (0,165:20,13); +446 : (0,165:20,13); +485 : (0,159:15,0); +486 : (0,159:15,1); +487 : (0,159:15,1); +488 : (0,159:15,1); +489 : (0,159:15,1); +490 : (0,159:15,1); +491 : (0,159:15,1); +498 : (0,159:15,1); +518 : (0,159:15,1); +521 : (0,165:25,0); +522 : (0,165:25,10); +523 : (0,165:25,10); +524 : (0,165:25,10); +525 : (0,165:25,10); +526 : (0,165:25,10); +533 : (0,165:40,0); +534 : (0,165:40,16); +535 : (0,165:40,16); +536 : (0,165:40,16); +537 : (0,165:40,16); +538 : (0,165:40,16); +539 : (0,165:40,16); +545 : (0,165:40,0); +546 : (0,165:40,16); +547 : (0,165:40,16); +548 : (0,165:40,16); +549 : (0,165:40,16); +550 : (0,165:40,16); +557 : (0,166:32,17); +558 : (0,166:32,17); +559 : (0,166:32,17); +560 : (0,166:32,17); +561 : (0,166:32,17); +568 : (0,166:32,0); +569 : (0,166:32,17); +570 : (0,166:32,17); +571 : (0,166:32,17); +572 : (0,166:32,17); +573 : (0,166:32,17); +574 : (0,166:32,17); +581 : (0,166:23,17); +582 : (0,166:23,17); +583 : (0,166:23,17); +584 : (0,166:23,17); +585 : (0,166:23,17); +647 : (0,159:4,1); + diff --git a/simulation/Release/chesswork/signal_path-e110bc.# b/simulation/Release/chesswork/signal_path-e110bc.# new file mode 100644 index 0000000..33e6db0 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-e110bc.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +82c539e4dac9d70a3f1d40c2cee8fa60a9a786fd +da39a3ee5e6b4b0d3255bfef95601890afd80709 +db8ac96f746c20d8257c01deb0158ddbdd492022 +114 +0 diff --git a/simulation/Release/chesswork/signal_path-e110bc.o b/simulation/Release/chesswork/signal_path-e110bc.o new file mode 100644 index 0000000..6a1ed2d Binary files /dev/null and b/simulation/Release/chesswork/signal_path-e110bc.o differ diff --git a/simulation/Release/chesswork/signal_path-e110bc.sfg b/simulation/Release/chesswork/signal_path-e110bc.sfg new file mode 100644 index 0000000..9a36040 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-e110bc.sfg @@ -0,0 +1,118 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_cirular_buffer_ptr_put_sample(BufferPtr *, int) +F_Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri : user_defined, called { + fnm : "sig_cirular_buffer_ptr_put_sample" 'void sig_cirular_buffer_ptr_put_sample(BufferPtr *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri typ=uint20_ bnd=e stl=PM tref=void_____PBufferPtr___sint___1 + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_BufferPtr_ptr_current typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtr_ptr_start typ=int8_ bnd=b stl=DM + 39 : __extDM_BufferPtr_buffer_len typ=int8_ bnd=b stl=DM + 40 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : buffer typ=dmaddr_ bnd=p tref=__PBufferPtr__ + 45 : sample typ=int32_ bnd=p tref=__sint__ + 52 : __fch___extDM_BufferPtr_ptr_current typ=dmaddr_ bnd=m + 62 : __fch___extDM_BufferPtr_ptr_start typ=dmaddr_ bnd=m + 66 : __fch___extDM_BufferPtr_buffer_len typ=int32_ bnd=m + 70 : __tmp typ=dmaddr_ bnd=m + 89 : __ct_4 typ=int18_ val=4f bnd=m + 94 : __ct_2 typ=int32_ val=2f bnd=m + 97 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 122 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 123 : __ct_8 typ=int18_ val=8f bnd=m + 126 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 131 : __ct_2 typ=uint2_ val=2f bnd=m + 135 : __tmp typ=int18_ bnd=m +] +F_Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri { + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_BufferPtr_ptr_current.34 var=36) source () <58>; + (__extDM_BufferPtr_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtr_buffer_len.37 var=39) source () <61>; + (__extDM_int32_.38 var=40) source () <62>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.45 var=44 stl=A off=0) inp () <69>; + (buffer.46 var=44) deassign (buffer.45) <70>; + (sample.48 var=45 stl=RA off=0) inp () <72>; + (sample.49 var=45) deassign (sample.48) <73>; + (__rd___sp.51 var=41) rd_res_reg (__R_SP.24 __sp.32) <75>; + (__R_SP.55 var=26 __sp.56 var=34) wr_res_reg (__rt.140 __sp.32) <79>; + (__fch___extDM_BufferPtr_ptr_current.60 var=52) load (__M_WDMA.9 __rt.162 __extDM_BufferPtr_ptr_current.34) <84>; + (__M_WDMA.61 var=11 __extDM_BufferPtr_buffer_len.62 var=39 __extDM_int32_.63 var=40) store (sample.49 __fch___extDM_BufferPtr_ptr_current.60 __extDM_BufferPtr_buffer_len.37 __extDM_int32_.38) <85>; + (__fch___extDM_BufferPtr_ptr_start.73 var=62) load (__M_WDMA.9 __rt.206 __extDM_BufferPtr_ptr_start.36) <95>; + (__fch___extDM_BufferPtr_buffer_len.77 var=66) load (__M_WDMA.9 __rt.228 __extDM_BufferPtr_buffer_len.62) <99>; + (__M_WDMA.85 var=11 __extDM_BufferPtr_ptr_current.86 var=36) store (__tmp.116 __rt.250 __extDM_BufferPtr_ptr_current.34) <107>; + (__rd___sp.87 var=41) rd_res_reg (__R_SP.24 __sp.56) <108>; + (__R_SP.91 var=26 __sp.92 var=34) wr_res_reg (__rt.184 __sp.56) <112>; + () void_ret_dmaddr_ (__la.43) <113>; + () sink (__sp.92) <119>; + () sink (__extDM_BufferPtr_ptr_current.86) <121>; + () sink (__extDM_BufferPtr_buffer_len.62) <124>; + () sink (__extDM_int32_.63) <125>; + () sink (__ct_0.40) <126>; + (__tmp.116 var=70) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch___extDM_BufferPtr_ptr_current.60 __ct_4.120 __fch___extDM_BufferPtr_ptr_start.73 __tmp.272) <159>; + (__ct_4.120 var=89) const () <173>; + (__ct_2.126 var=94) const () <181>; + (__rt.140 var=97) __Pvoid__pl___Pvoid_int18_ (__rd___sp.51 __ct_0S0.263) <208>; + (__rt.162 var=97) __Pvoid__pl___Pvoid_int18_ (buffer.46 __ct_8.264) <236>; + (__rt.184 var=97) __Pvoid__pl___Pvoid_int18_ (__rd___sp.87 __ct_0s0.267) <264>; + (__rt.206 var=97) __Pvoid__mi___Pvoid_int18_ (__rt.162 __ct_4.120) <292>; + (__rt.228 var=97) __Pvoid__mi___Pvoid_int18_ (__rt.206 __ct_4.120) <320>; + (__rt.250 var=97) __Pvoid__pl___Pvoid_int18_ (__rt.228 __ct_8.264) <348>; + (__ct_0S0.263 var=122) const () <375>; + (__ct_8.264 var=123) const () <377>; + (__ct_0s0.267 var=126) const () <383>; + (__ct_2.271 var=131) const () <390>; + (__tmp.272 var=135) int72__shift_int72__int72__uint2_ (__fch___extDM_BufferPtr_buffer_len.77 __ct_2.126 __ct_2.271) <391>; +} #5 off=0 nxt=-2 +0 : 'signal_processing\\signal_path.c'; +---------- +5 : (0,114:0,3); +---------- +75 : (0,111:5,0); +79 : (0,111:5,0); +84 : (0,112:11,1); +85 : (0,112:4,1); +95 : (0,113:67,2); +99 : (0,113:86,2); +107 : (0,113:10,2); +108 : (0,114:0,0); +112 : (0,114:0,3); +113 : (0,114:0,3); +159 : (0,113:26,2); +173 : (0,113:26,0); +181 : (0,113:86,0); +208 : (0,111:5,0); +236 : (0,112:11,1); +264 : (0,114:0,0); +292 : (0,113:67,0); +348 : (0,112:11,0); +375 : (0,111:5,0); +377 : (0,112:11,0); +383 : (0,114:0,0); +390 : (0,113:86,0); +391 : (0,113:86,2); + diff --git a/simulation/Release/chesswork/signal_path-e7968f.# b/simulation/Release/chesswork/signal_path-e7968f.# new file mode 100644 index 0000000..c934bc0 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-e7968f.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +7f6e67d097bef17f42d1903822e2e079fd089c69 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +a930397de8fa3f7e26f75e262973f1cd15f811d0 +119 +0 diff --git a/simulation/Release/chesswork/signal_path-e7968f.o b/simulation/Release/chesswork/signal_path-e7968f.o new file mode 100644 index 0000000..fc78a09 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-e7968f.o differ diff --git a/simulation/Release/chesswork/signal_path-e7968f.sfg b/simulation/Release/chesswork/signal_path-e7968f.sfg new file mode 100644 index 0000000..5069a47 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-e7968f.sfg @@ -0,0 +1,118 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int) +F_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi : user_defined, called { + fnm : "sig_cirular_buffer_ptr_put_sample_DMB" 'void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[4] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi typ=uint20_ bnd=e stl=PM tref=void_____PDMBBufferPtrDMB___sint__ + 12 : __M_WDMB typ=int32_ bnd=d stl=WDMB + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_BufferPtrDMB_ptr_current typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtrDMB_ptr_start typ=int8_ bnd=b stl=DM + 39 : __extDM_BufferPtrDMB_buffer_len typ=int8_ bnd=b stl=DM + 40 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : buffer typ=dmaddr_ bnd=p tref=__PDMBBufferPtrDMB__ + 45 : sample typ=int32_ bnd=p tref=__sint__ + 52 : __fch___extDM_BufferPtrDMB_ptr_current typ=dmaddr_ bnd=m + 62 : __fch___extDM_BufferPtrDMB_ptr_start typ=dmaddr_ bnd=m + 66 : __fch___extDM_BufferPtrDMB_buffer_len typ=int32_ bnd=m + 70 : __tmp typ=dmaddr_ bnd=m + 89 : __ct_4 typ=int18_ val=4f bnd=m + 94 : __ct_2 typ=int32_ val=2f bnd=m + 97 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 122 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 123 : __ct_8 typ=int18_ val=8f bnd=m + 126 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 131 : __ct_2 typ=uint2_ val=2f bnd=m + 135 : __tmp typ=int18_ bnd=m +] +F_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi { + (__M_WDMB.10 var=12) st_def () <20>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_BufferPtrDMB_ptr_current.34 var=36) source () <58>; + (__extDM_BufferPtrDMB_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtrDMB_buffer_len.37 var=39) source () <61>; + (__extDM_int32_.38 var=40) source () <62>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.45 var=44 stl=A off=4) inp () <69>; + (buffer.46 var=44) deassign (buffer.45) <70>; + (sample.48 var=45 stl=RA off=0) inp () <72>; + (sample.49 var=45) deassign (sample.48) <73>; + (__rd___sp.51 var=41) rd_res_reg (__R_SP.24 __sp.32) <75>; + (__R_SP.55 var=26 __sp.56 var=34) wr_res_reg (__rt.140 __sp.32) <79>; + (__fch___extDM_BufferPtrDMB_ptr_current.60 var=52) load (__M_WDMB.10 __rt.162 __extDM_BufferPtrDMB_ptr_current.34) <84>; + (__M_WDMB.61 var=12 __extDM_BufferPtrDMB_buffer_len.62 var=39 __extDM_int32_.63 var=40) store (sample.49 __fch___extDM_BufferPtrDMB_ptr_current.60 __extDM_BufferPtrDMB_buffer_len.37 __extDM_int32_.38) <85>; + (__fch___extDM_BufferPtrDMB_ptr_start.73 var=62) load (__M_WDMB.10 __rt.206 __extDM_BufferPtrDMB_ptr_start.36) <95>; + (__fch___extDM_BufferPtrDMB_buffer_len.77 var=66) load (__M_WDMB.10 __rt.228 __extDM_BufferPtrDMB_buffer_len.62) <99>; + (__M_WDMB.85 var=12 __extDM_BufferPtrDMB_ptr_current.86 var=36) store (__tmp.116 __rt.250 __extDM_BufferPtrDMB_ptr_current.34) <107>; + (__rd___sp.87 var=41) rd_res_reg (__R_SP.24 __sp.56) <108>; + (__R_SP.91 var=26 __sp.92 var=34) wr_res_reg (__rt.184 __sp.56) <112>; + () void_ret_dmaddr_ (__la.43) <113>; + () sink (__sp.92) <119>; + () sink (__extDM_BufferPtrDMB_ptr_current.86) <121>; + () sink (__extDM_BufferPtrDMB_buffer_len.62) <124>; + () sink (__extDM_int32_.63) <125>; + () sink (__ct_0.40) <126>; + (__tmp.116 var=70) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch___extDM_BufferPtrDMB_ptr_current.60 __ct_4.120 __fch___extDM_BufferPtrDMB_ptr_start.73 __tmp.272) <159>; + (__ct_4.120 var=89) const () <173>; + (__ct_2.126 var=94) const () <181>; + (__rt.140 var=97) __Pvoid__pl___Pvoid_int18_ (__rd___sp.51 __ct_0S0.263) <208>; + (__rt.162 var=97) __Pvoid__pl___Pvoid_int18_ (buffer.46 __ct_8.264) <236>; + (__rt.184 var=97) __Pvoid__pl___Pvoid_int18_ (__rd___sp.87 __ct_0s0.267) <264>; + (__rt.206 var=97) __Pvoid__mi___Pvoid_int18_ (__rt.162 __ct_4.120) <292>; + (__rt.228 var=97) __Pvoid__mi___Pvoid_int18_ (__rt.206 __ct_4.120) <320>; + (__rt.250 var=97) __Pvoid__pl___Pvoid_int18_ (__rt.228 __ct_8.264) <348>; + (__ct_0S0.263 var=122) const () <375>; + (__ct_8.264 var=123) const () <377>; + (__ct_0s0.267 var=126) const () <383>; + (__ct_2.271 var=131) const () <390>; + (__tmp.272 var=135) int72__shift_int72__int72__uint2_ (__fch___extDM_BufferPtrDMB_buffer_len.77 __ct_2.126 __ct_2.271) <391>; +} #5 off=0 nxt=-2 +0 : 'signal_processing\\signal_path.c'; +---------- +5 : (0,119:0,3); +---------- +75 : (0,116:5,0); +79 : (0,116:5,0); +84 : (0,117:11,1); +85 : (0,117:4,1); +95 : (0,118:67,2); +99 : (0,118:86,2); +107 : (0,118:10,2); +108 : (0,119:0,0); +112 : (0,119:0,3); +113 : (0,119:0,3); +159 : (0,118:26,2); +173 : (0,118:26,0); +181 : (0,118:86,0); +208 : (0,116:5,0); +236 : (0,117:11,1); +264 : (0,119:0,0); +292 : (0,118:67,0); +348 : (0,117:11,0); +375 : (0,116:5,0); +377 : (0,117:11,0); +383 : (0,119:0,0); +390 : (0,118:86,0); +391 : (0,118:86,2); + diff --git a/simulation/Release/chesswork/signal_path-f55921.# b/simulation/Release/chesswork/signal_path-f55921.# new file mode 100644 index 0000000..e7aa9b9 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-f55921.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +bbef4f50b43757d842fa606817bbe8dce38a281e +da39a3ee5e6b4b0d3255bfef95601890afd80709 +ed333c6a3e8d1aafe83fb852bbcd140ff4272cff +87 +0 diff --git a/simulation/Release/chesswork/signal_path-f55921.o b/simulation/Release/chesswork/signal_path-f55921.o new file mode 100644 index 0000000..b735dba Binary files /dev/null and b/simulation/Release/chesswork/signal_path-f55921.o differ diff --git a/simulation/Release/chesswork/signal_path-f55921.sfg b/simulation/Release/chesswork/signal_path-f55921.sfg new file mode 100644 index 0000000..93b2bda --- /dev/null +++ b/simulation/Release/chesswork/signal_path-f55921.sfg @@ -0,0 +1,216 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int) +F_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii : user_defined, called { + fnm : "sig_init_buffer_DMB" 'int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[4] A[5] RA[1] RB[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii typ=uint20_ bnd=e stl=PM tref=__sint_____PDMBBufferPtrDMB___PDMB__sint___sint___sint__ + 12 : __M_WDMB typ=int32_ bnd=d stl=WDMB + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_int32_ typ=int8_ bnd=b stl=DM + 37 : __extDM_BufferPtrDMB_buffer_len typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtrDMB_ptr_start typ=int8_ bnd=b stl=DM + 40 : __extDM_BufferPtrDMB_ptr_current typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : __rt typ=int32_ bnd=p tref=__sint__ + 45 : buffer typ=dmaddr_ bnd=p tref=__PDMBBufferPtrDMB__ + 46 : buffer_start_add typ=dmaddr_ bnd=p tref=__PDMB__sint__ + 47 : length typ=int32_ bnd=p tref=__sint__ + 48 : max_buffer_len typ=int32_ bnd=p tref=__sint__ + 54 : __ct_0 typ=int32_ val=0f bnd=m + 65 : __tmp typ=bool bnd=m + 72 : __ct_1 typ=int32_ val=1f bnd=m + 76 : __tmp typ=bool bnd=m + 92 : __iv1_i typ=dmaddr_ bnd=m + 95 : __cv typ=uint16_ bnd=m + 103 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 127 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 128 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 129 : __ct_4 typ=int18_ val=4f bnd=m + 133 : __tmp typ=uint3_ bnd=m + 138 : __tmp typ=uint3_ bnd=m + 148 : __either typ=bool bnd=m + 149 : __trgt typ=int10_ val=0j bnd=m + 150 : __trgt typ=int10_ val=0j bnd=m + 151 : __trgt typ=int10_ val=0j bnd=m + 152 : __trgt typ=int10_ val=0j bnd=m + 153 : __trgt typ=uint16_ val=0j bnd=m + 154 : __vcnt typ=uint16_ bnd=m +] +F_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii { + #239 off=0 + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_int32_.34 var=36) source () <58>; + (__extDM_BufferPtrDMB_buffer_len.35 var=37) source () <59>; + (__extDM_BufferPtrDMB_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtrDMB_ptr_current.38 var=40) source () <62>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.46 var=45 stl=A off=4) inp () <70>; + (buffer.47 var=45) deassign (buffer.46) <71>; + (buffer_start_add.49 var=46 stl=A off=5) inp () <73>; + (buffer_start_add.50 var=46) deassign (buffer_start_add.49) <74>; + (length.52 var=47 stl=RA off=1) inp () <76>; + (length.53 var=47) deassign (length.52) <77>; + (max_buffer_len.55 var=48 stl=RB off=0) inp () <79>; + (max_buffer_len.56 var=48) deassign (max_buffer_len.55) <80>; + (__rd___sp.58 var=41) rd_res_reg (__R_SP.24 __sp.32) <82>; + (__R_SP.62 var=26 __sp.63 var=34) wr_res_reg (__rt.274 __sp.32) <86>; + (__ct_0.66 var=54) const () <90>; + (__M_WDMB.69 var=12 __extDM_BufferPtrDMB_buffer_len.70 var=37) store (length.53 buffer.47 __extDM_BufferPtrDMB_buffer_len.35) <93>; + (__M_WDMB.74 var=12 __extDM_BufferPtrDMB_ptr_start.75 var=38) store (buffer_start_add.50 __rt.340 __extDM_BufferPtrDMB_ptr_start.36) <97>; + (__M_WDMB.79 var=12 __extDM_BufferPtrDMB_ptr_current.80 var=40) store (buffer_start_add.50 __rt.362 __extDM_BufferPtrDMB_ptr_current.38) <101>; + (__rt.274 var=103) __Pvoid__pl___Pvoid_int18_ (__rd___sp.58 __ct_0S0.375) <320>; + (__rt.340 var=103) __Pvoid__pl___Pvoid_int18_ (buffer.47 __ct_4.377) <404>; + (__rt.362 var=103) __Pvoid__pl___Pvoid_int18_ (__rt.340 __ct_4.377) <432>; + (__ct_0S0.375 var=127) const () <457>; + (__ct_4.377 var=129) const () <461>; + (__tmp.380 var=133) uint3__cmp_int72__int72_ (length.53 __ct_0.66) <466>; + (__tmp.393 var=65) bool_nplus_uint3_ (__tmp.380) <500>; + (__trgt.396 var=149) const () <511>; + () void_jump_bool_int10_ (__tmp.393 __trgt.396) <512>; + (__either.397 var=148) undefined () <513>; + if { + { + () if_expr (__either.397) <126>; + () chess_frequent_else () <127>; + () chess_rear_then () <514>; + } #5 + { + (__trgt.398 var=150) const () <515>; + () void_jump_int10_ (__trgt.398) <516>; + } #11 off=4 + { + #30 off=1 + (__cv.254 var=95) uint16__uint16____sint (length.53) <288>; + (__trgt.402 var=153) const () <522>; + () void_doloop_uint16__uint16_ (__cv.254 __trgt.402) <523>; + (__vcnt.403 var=154) undefined () <524>; + for { + { + (__extDM_int32_.112 var=36) entry (__extDM_int32_.152 __extDM_int32_.34) <135>; + (__extDM_BufferPtrDMB_buffer_len.113 var=37) entry (__extDM_BufferPtrDMB_buffer_len.154 __extDM_BufferPtrDMB_buffer_len.70) <136>; + (__iv1_i.245 var=92) entry (__iv1_i.246 buffer_start_add.50) <279>; + } #8 + { + (__M_WDMB.131 var=12 __extDM_BufferPtrDMB_buffer_len.132 var=37 __extDM_int32_.133 var=36) store (__ct_0.66 __iv1_i.245 __extDM_BufferPtrDMB_buffer_len.113 __extDM_int32_.112) <154>; + (__rt.318 var=103) __Pvoid__pl___Pvoid_int18_ (__iv1_i.245 __ct_4.377) <376>; + } #173 off=2 + { + () for_count (__vcnt.403) <159>; + (__extDM_int32_.152 var=36 __extDM_int32_.153 var=36) exit (__extDM_int32_.133) <167>; + (__extDM_BufferPtrDMB_buffer_len.154 var=37 __extDM_BufferPtrDMB_buffer_len.155 var=37) exit (__extDM_BufferPtrDMB_buffer_len.132) <168>; + (__iv1_i.246 var=92 __iv1_i.247 var=92) exit (__rt.318) <280>; + } #10 + } #7 rng=[1,65535] + } #6 + { + (__extDM_int32_.178 var=36) merge (__extDM_int32_.34 __extDM_int32_.153) <180>; + (__extDM_BufferPtrDMB_buffer_len.179 var=37) merge (__extDM_BufferPtrDMB_buffer_len.70 __extDM_BufferPtrDMB_buffer_len.155) <181>; + } #12 + } #4 + #242 off=5 + (__tmp.385 var=138) uint3__cmp_int72__int72_ (length.53 max_buffer_len.56) <474>; + (__tmp.386 var=76) bool_neg_uint3_ (__tmp.385) <475>; + (__trgt.399 var=151) const () <517>; + () void_jump_bool_int10_ (__tmp.386 __trgt.399) <518>; + (__either.400 var=148) undefined () <519>; + if { + { + () if_expr (__either.400) <205>; + } #15 + { + } #16 off=7 + { + (__ct_1.134 var=72) const () <155>; + (__trgt.401 var=152) const () <520>; + () void_jump_int10_ (__trgt.401) <521>; + } #17 off=6 + { + (__rt.207 var=44) merge (__ct_0.66 __ct_1.134) <210>; + } #18 + } #14 + #20 off=8 nxt=-2 + (__rd___sp.208 var=41) rd_res_reg (__R_SP.24 __sp.63) <211>; + (__R_SP.212 var=26 __sp.213 var=34) wr_res_reg (__rt.296 __sp.63) <215>; + () void_ret_dmaddr_ (__la.43) <216>; + (__rt.214 var=44 stl=RA off=0) assign (__rt.207) <217>; + () out (__rt.214) <218>; + () sink (__sp.213) <224>; + () sink (__extDM_int32_.178) <226>; + () sink (__extDM_BufferPtrDMB_buffer_len.179) <227>; + () sink (__extDM_BufferPtrDMB_ptr_start.75) <228>; + () sink (__extDM_BufferPtrDMB_ptr_current.80) <230>; + () sink (__ct_0.40) <231>; + (__rt.296 var=103) __Pvoid__pl___Pvoid_int18_ (__rd___sp.208 __ct_0s0.376) <348>; + (__ct_0s0.376 var=128) const () <459>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,87:0,0); +4 : (0,92:4,5); +6 : (0,92:4,6); +7 : (0,92:4,6); +11 : (0,92:4,13); +14 : (0,95:4,16); +16 : (0,99:8,17); +17 : (0,96:8,21); +20 : (0,95:4,26); +173 : (0,92:37,6); +239 : (0,92:4,5); +242 : (0,95:14,16); +---------- +82 : (0,87:4,0); +86 : (0,87:4,0); +90 : (0,88:10,0); +93 : (0,88:10,1); +97 : (0,89:10,2); +101 : (0,90:10,3); +126 : (0,92:4,5); +135 : (0,92:4,6); +136 : (0,92:4,6); +154 : (0,93:24,6); +155 : (0,92:33,0); +159 : (0,92:4,11); +167 : (0,92:4,11); +168 : (0,92:4,11); +180 : (0,92:4,15); +181 : (0,92:4,15); +205 : (0,95:4,16); +210 : (0,95:4,25); +211 : (0,95:4,0); +215 : (0,95:4,26); +216 : (0,95:4,26); +217 : (0,95:4,0); +320 : (0,87:4,0); +348 : (0,95:4,0); +404 : (0,89:10,0); +432 : (0,90:10,0); +457 : (0,87:4,0); +459 : (0,95:4,0); +466 : (0,92:4,5); +474 : (0,95:14,16); +475 : (0,95:14,16); +500 : (0,92:4,5); +512 : (0,92:4,5); +518 : (0,95:4,16); +523 : (0,92:4,11); + diff --git a/simulation/Release/chesswork/signal_path-f8ba01.# b/simulation/Release/chesswork/signal_path-f8ba01.# new file mode 100644 index 0000000..52e41a5 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-f8ba01.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +f0a89ba4f0ffe4d6c35e3ba6a3fe720aafc74986 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +929c6065768a0037415bd30b60dc40028d4df14c +133 +0 diff --git a/simulation/Release/chesswork/signal_path-f8ba01.o b/simulation/Release/chesswork/signal_path-f8ba01.o new file mode 100644 index 0000000..ee9c588 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-f8ba01.o differ diff --git a/simulation/Release/chesswork/signal_path-f8ba01.sfg b/simulation/Release/chesswork/signal_path-f8ba01.sfg new file mode 100644 index 0000000..f37734d --- /dev/null +++ b/simulation/Release/chesswork/signal_path-f8ba01.sfg @@ -0,0 +1,736 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int) +F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi : user_defined, called { + fnm : "sig_init_preemph_coef" 'void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int64_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] AX[1] BX[0] BX[1] __spill_LDMA[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +!! extern double ff_pow(double, double) +Fff_pow : user_defined, called { + fnm : "ff_pow" 'double ff_pow(double, double)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} +!! int float64_eq(float64, float64) +F_Z10float64_eqyy : user_defined, called { + fnm : "float64_eq" 'int float64_eq(float64, float64)'; + arg : ( dmaddr_:i int32_:r int64_:i int64_:i ); + loc : ( LR[0] RA[0] AX[0] AX[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 int32_to_float64(int) +F_Z16int32_to_float64i : user_defined, called { + fnm : "int32_to_float64" 'float64 int32_to_float64(int)'; + arg : ( dmaddr_:i int64_:r int32_:i ); + loc : ( LR[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 float64_sub(float64, float64) +F_Z11float64_subyy : user_defined, called { + fnm : "float64_sub" 'float64 float64_sub(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! int float64_to_int32_round_to_zero(float64) +F_Z30float64_to_int32_round_to_zeroy : user_defined, called { + fnm : "float64_to_int32_round_to_zero" 'int float64_to_int32_round_to_zero(float64)'; + arg : ( dmaddr_:i int32_:r int64_:i ); + loc : ( LR[0] RA[0] AX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +!! float64 float64_mul(float64, float64) +F_Z11float64_mulyy : user_defined, called { + fnm : "float64_mul" 'float64 float64_mul(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} +***/ + +[ + 0 : _Z21sig_init_preemph_coefP16SingleSignalPathdddddi typ=uint20_ bnd=e stl=PM tref=void_____PSingleSignalPath___fdouble___fdouble___fdouble___fdouble___fdouble___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_SingleSignalPath_preemph_activated typ=int8_ bnd=b stl=DM + 38 : __extDM_SingleSignalPath__preemph_scale_nbits typ=int8_ bnd=b stl=DM + 39 : __extDM_SingleSignalPath_b_preemph typ=int8_ bnd=b stl=DM + 40 : __rd___sp typ=dmaddr_ bnd=m + 41 : __ct_0 typ=uint1_ val=0f bnd=m + 42 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 43 : signal typ=dmaddr_ bnd=p tref=__PSingleSignalPath__ + 44 : b0 typ=int64_ bnd=p tref=__fdouble__ + 45 : b1 typ=int64_ bnd=p tref=__fdouble__ + 46 : b2 typ=int64_ bnd=p tref=__fdouble__ + 47 : a1 typ=int64_ bnd=p tref=__fdouble__ + 48 : a2 typ=int64_ bnd=p tref=__fdouble__ + 49 : scale_bits typ=int32_ bnd=p tref=__sint__ + 53 : __tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi typ=int64_ bnd=m lscp=247 tref=__fdouble__ + 54 : __tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi typ=int64_ bnd=m lscp=247 tref=__fdouble__ + 56 : scale typ=int32_ bnd=m lscp=247 tref=__sint__ + 57 : __ct_4607182418800017408 typ=int64_ val=4607182418800017408f bnd=m + 60 : __ct_0 typ=uint40_ val=0f bnd=m + 65 : __tmp typ=bool bnd=m + 71 : __tmp typ=bool bnd=m + 77 : __tmp typ=bool bnd=m + 83 : __tmp typ=bool bnd=m + 84 : __ct_0 typ=int32_ val=0f bnd=m + 89 : __ct_1 typ=int32_ val=1f bnd=m + 98 : __ct_4611686018427387904 typ=int64_ val=4611686018427387904f bnd=m + 103 : __tmp typ=int64_ bnd=m + 105 : __tmp typ=int64_ bnd=m + 106 : __tmp typ=int64_ bnd=m + 107 : __tmp typ=int32_ bnd=m + 115 : __tmp typ=int64_ bnd=m + 116 : __tmp typ=int32_ bnd=m + 124 : __tmp typ=int64_ bnd=m + 125 : __tmp typ=int32_ bnd=m + 133 : __tmp typ=int64_ bnd=m + 134 : __tmp typ=int32_ bnd=m + 142 : __tmp typ=int64_ bnd=m + 143 : __tmp typ=int32_ bnd=m + 164 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 185 : __tmp typ=int32_ bnd=m + 202 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 203 : __ct_8 typ=int18_ val=8f bnd=m + 206 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 207 : __ct_24 typ=int18_ val=24f bnd=m + 209 : __ct_20 typ=int18_ val=20f bnd=m + 210 : __ct_4 typ=int18_ val=4f bnd=m + 214 : __tmp typ=bool bnd=m + 225 : __a0 typ=int64_ bnd=m tref=__atp0___48 + 227 : ff_pow typ=dmaddr_ val=0r bnd=m + 228 : __link typ=dmaddr_ bnd=m + 253 : __a1 typ=int64_ bnd=m tref=__atp1___12 + 254 : _Z10float64_eqyy typ=dmaddr_ val=0r bnd=m + 255 : __link typ=dmaddr_ bnd=m + 265 : __tmp typ=uint3_ bnd=m + 274 : _Z16int32_to_float64i typ=dmaddr_ val=0r bnd=m + 275 : __link typ=dmaddr_ bnd=m + 277 : __tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi typ=int64_ bnd=m + 279 : __a1 typ=int64_ bnd=m tref=__atp1___9 + 280 : _Z11float64_subyy typ=dmaddr_ val=0r bnd=m + 281 : __link typ=dmaddr_ bnd=m + 283 : __tmp typ=int64_ bnd=m + 285 : _Z30float64_to_int32_round_to_zeroy typ=dmaddr_ val=0r bnd=m + 286 : __link typ=dmaddr_ bnd=m + 289 : __tmp typ=int64_ bnd=m + 292 : _Z11float64_mulyy typ=dmaddr_ val=0r bnd=m + 293 : __link typ=dmaddr_ bnd=m + 295 : __tmp typ=int64_ bnd=m + 297 : __tmp typ=int64_ bnd=m + 299 : __tmp typ=int64_ bnd=m + 301 : __tmp typ=int64_ bnd=m + 303 : __tmp typ=int64_ bnd=m + 311 : __true typ=bool val=1f bnd=m + 312 : __false typ=bool val=0f bnd=m + 313 : __either typ=bool bnd=m + 314 : __trgt typ=int10_ val=0j bnd=m + 315 : __trgt typ=int10_ val=0j bnd=m + 316 : __trgt typ=int10_ val=0j bnd=m + 317 : __trgt typ=int10_ val=0j bnd=m + 318 : __trgt typ=int10_ val=0j bnd=m + 319 : __trgt typ=int10_ val=0j bnd=m +] +F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi { + #482 off=0 + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_SingleSignalPath_preemph_activated.34 var=36) source () <58>; + (__extDM_SingleSignalPath__preemph_scale_nbits.36 var=38) source () <60>; + (__extDM_SingleSignalPath_b_preemph.37 var=39) source () <61>; + (__ct_0.39 var=41) const () <63>; + (__la.41 var=42 stl=LR off=0) inp () <65>; + (__la.42 var=42) deassign (__la.41) <66>; + (signal.44 var=43 stl=A off=0) inp () <68>; + (signal.45 var=43) deassign (signal.44) <69>; + (b0.47 var=44 stl=AX off=0) inp () <71>; + (b0.48 var=44) deassign (b0.47) <72>; + (b1.50 var=45 stl=AX off=1) inp () <74>; + (b1.51 var=45) deassign (b1.50) <75>; + (b2.53 var=46 stl=BX off=0) inp () <77>; + (b2.54 var=46) deassign (b2.53) <78>; + (a1.56 var=47 stl=BX off=1) inp () <80>; + (a1.57 var=47) deassign (a1.56) <81>; + (a2.59 var=48 stl=__spill_LDMA off=0) inp () <83>; + (a2.60 var=48) deassign (a2.59) <84>; + (scale_bits.62 var=49 stl=RA off=0) inp () <86>; + (scale_bits.63 var=49) deassign (scale_bits.62) <87>; + (__rd___sp.65 var=40) rd_res_reg (__R_SP.24 __sp.32) <89>; + (__R_SP.69 var=26 __sp.70 var=34) wr_res_reg (__rt.365 __sp.32) <93>; + (__ct_4607182418800017408.75 var=57) const () <99>; + (__rt.365 var=164) __Pvoid__pl___Pvoid_int18_ (__rd___sp.65 __ct_0S0.584) <447>; + (__ct_0S0.584 var=202) const () <747>; + (_Z10float64_eqyy.680 var=254) const () <927>; + (__link.681 var=255) dmaddr__call_dmaddr_ (_Z10float64_eqyy.680) <928>; + call { + (b0.682 var=44 stl=AX off=0) assign (b0.48) <929>; + (__a1.683 var=253 stl=AX off=1) assign (__ct_4607182418800017408.75) <930>; + (__link.684 var=255 stl=LR off=0) assign (__link.681) <931>; + (__tmp.685 var=185 stl=RA off=0) F_Z10float64_eqyy (__link.684 b0.682 __a1.683) <932>; + (__tmp.686 var=185) deassign (__tmp.685) <933>; + } #483 off=1 + #479 off=2 + (__ct_0.101 var=60) const () <126>; + (__ct_0.217 var=84) const () <246>; + (__rt.417 var=164) __Pvoid__pl___Pvoid_int18_ (signal.45 __ct_8.585) <520>; + (__ct_8.585 var=203) const () <749>; + (__tmp.730 var=265) uint3__cmp_int72__int72_ (__tmp.686 __ct_0.217) <992>; + (__tmp.888 var=214) bool_equal_uint3_ (__tmp.730) <1262>; + (__trgt.897 var=314) const () <1291>; + () void_jump_bool_int10_ (__tmp.888 __trgt.897) <1292>; + (__either.898 var=313) undefined () <1293>; + if { + { + () if_expr (__either.898) <125>; + } #5 + { + (__true.899 var=311) const () <1294>; + } #7 + { + #491 off=3 + (__link.691 var=255) dmaddr__call_dmaddr_ (_Z10float64_eqyy.680) <941>; + call { + (b1.692 var=45 stl=AX off=0) assign (b1.51) <942>; + (__a1.693 var=253 stl=AX off=1) assign (__ct_0.101) <943>; + (__link.694 var=255 stl=LR off=0) assign (__link.691) <944>; + (__tmp.695 var=185 stl=RA off=0) F_Z10float64_eqyy (__link.694 b1.692 __a1.693) <945>; + (__tmp.696 var=185) deassign (__tmp.695) <946>; + } #492 off=4 + #488 off=5 + (__tmp.735 var=265) uint3__cmp_int72__int72_ (__tmp.696 __ct_0.217) <1000>; + (__tmp.889 var=214) bool_equal_uint3_ (__tmp.735) <1263>; + (__trgt.900 var=315) const () <1295>; + () void_jump_bool_int10_ (__tmp.889 __trgt.900) <1296>; + (__either.901 var=313) undefined () <1297>; + } #383 + { + (__tmp.890 var=65) merge (__true.899 __either.901) <1264>; + } #8 + } #4 + if { + { + () if_expr (__tmp.890) <155>; + } #11 + { + (__true.902 var=311) const () <1298>; + } #13 + { + #500 off=6 + (__link.701 var=255) dmaddr__call_dmaddr_ (_Z10float64_eqyy.680) <954>; + call { + (b2.702 var=46 stl=AX off=0) assign (b2.54) <955>; + (__a1.703 var=253 stl=AX off=1) assign (__ct_0.101) <956>; + (__link.704 var=255 stl=LR off=0) assign (__link.701) <957>; + (__tmp.705 var=185 stl=RA off=0) F_Z10float64_eqyy (__link.704 b2.702 __a1.703) <958>; + (__tmp.706 var=185) deassign (__tmp.705) <959>; + } #501 off=7 + #497 off=8 + (__tmp.740 var=265) uint3__cmp_int72__int72_ (__tmp.706 __ct_0.217) <1008>; + (__tmp.891 var=214) bool_equal_uint3_ (__tmp.740) <1265>; + (__trgt.903 var=316) const () <1299>; + () void_jump_bool_int10_ (__tmp.891 __trgt.903) <1300>; + (__either.904 var=313) undefined () <1301>; + } #388 + { + (__tmp.892 var=71) merge (__true.902 __either.904) <1266>; + } #14 + } #10 + if { + { + () if_expr (__tmp.892) <185>; + } #17 + { + (__true.905 var=311) const () <1302>; + } #19 + { + #509 off=9 + (__link.711 var=255) dmaddr__call_dmaddr_ (_Z10float64_eqyy.680) <967>; + call { + (a1.712 var=47 stl=AX off=0) assign (a1.57) <968>; + (__a1.713 var=253 stl=AX off=1) assign (__ct_0.101) <969>; + (__link.714 var=255 stl=LR off=0) assign (__link.711) <970>; + (__tmp.715 var=185 stl=RA off=0) F_Z10float64_eqyy (__link.714 a1.712 __a1.713) <971>; + (__tmp.716 var=185) deassign (__tmp.715) <972>; + } #510 off=10 + #506 off=11 + (__tmp.745 var=265) uint3__cmp_int72__int72_ (__tmp.716 __ct_0.217) <1016>; + (__tmp.893 var=214) bool_equal_uint3_ (__tmp.745) <1267>; + (__trgt.906 var=317) const () <1303>; + () void_jump_bool_int10_ (__tmp.893 __trgt.906) <1304>; + (__either.907 var=313) undefined () <1305>; + } #393 + { + (__tmp.894 var=77) merge (__true.905 __either.907) <1268>; + } #20 + } #16 + if { + { + () if_expr (__tmp.894) <215>; + } #23 + { + (__false.908 var=312) const () <1306>; + } #25 + { + #518 off=12 + (__link.721 var=255) dmaddr__call_dmaddr_ (_Z10float64_eqyy.680) <980>; + call { + (a2.722 var=48 stl=AX off=0) assign (a2.60) <981>; + (__a1.723 var=253 stl=AX off=1) assign (__ct_0.101) <982>; + (__link.724 var=255 stl=LR off=0) assign (__link.721) <983>; + (__tmp.725 var=185 stl=RA off=0) F_Z10float64_eqyy (__link.724 a2.722 __a1.723) <984>; + (__tmp.726 var=185) deassign (__tmp.725) <985>; + } #519 off=13 + #515 off=14 + (__tmp.750 var=265) uint3__cmp_int72__int72_ (__tmp.726 __ct_0.217) <1024>; + (__tmp.759 var=214) bool_nequal_uint3_ (__tmp.750) <1051>; + (__trgt.909 var=318) const () <1307>; + () void_jump_bool_int10_ (__tmp.759 __trgt.909) <1308>; + (__either.910 var=313) undefined () <1309>; + } #398 + { + (__tmp.193 var=83) merge (__false.908 __either.910) <221>; + } #26 + } #22 + if { + { + () if_expr (__tmp.193) <245>; + } #29 + { + (__M_WDMA.222 var=11 __extDM_SingleSignalPath_preemph_activated.223 var=36) store (__ct_0.217 __rt.417 __extDM_SingleSignalPath_preemph_activated.34) <251>; + } #30 off=46 + { + #545 off=15 + (__ct_1.224 var=89) const () <252>; + (__M_WDMA.229 var=11 __extDM_SingleSignalPath_preemph_activated.230 var=36) store (__ct_1.224 __rt.417 __extDM_SingleSignalPath_preemph_activated.34) <257>; + (__M_WDMA.234 var=11 __extDM_SingleSignalPath__preemph_scale_nbits.235 var=38) store (scale_bits.63 __rt.461 __extDM_SingleSignalPath__preemph_scale_nbits.36) <261>; + (__rt.461 var=164) __Pvoid__pl___Pvoid_int18_ (__rt.417 __ct_24.589) <576>; + (__rt.483 var=164) __Pvoid__mi___Pvoid_int18_ (__rt.461 __ct_20.591) <604>; + (__ct_24.589 var=207) const () <757>; + (__ct_20.591 var=209) const () <761>; + (_Z16int32_to_float64i.761 var=274) const () <1054>; + (__link.762 var=275) dmaddr__call_dmaddr_ (_Z16int32_to_float64i.761) <1055>; + call { + (scale_bits.763 var=49 stl=RA off=0) assign (scale_bits.63) <1056>; + (__link.764 var=275 stl=LR off=0) assign (__link.762) <1057>; + (__tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.765 var=277 stl=AX off=0) F_Z16int32_to_float64i (__link.764 scale_bits.763) <1058>; + (__tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.766 var=54) deassign (__tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.765) <1059>; + } #546 off=16 + #542 off=17 + (__ct_4611686018427387904.241 var=98) const () <267>; + (ff_pow.625 var=227) const () <830>; + (__link.626 var=228) dmaddr__call_dmaddr_ (ff_pow.625) <831>; + call { + (__a0.627 var=225 stl=AX off=1) assign (__ct_4611686018427387904.241) <832>; + (__tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.628 var=54 stl=BX off=0) assign (__tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.766) <833>; + (__link.629 var=228 stl=LR off=0) assign (__link.626) <834>; + (__tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.630 var=53 stl=AX off=0) Fff_pow (__link.629 __a0.627 __tmpb2_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.628) <835>; + (__tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.631 var=53) deassign (__tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.630) <836>; + } #434 off=18 + #573 off=19 + (_Z11float64_subyy.770 var=280) const () <1066>; + (__link.771 var=281) dmaddr__call_dmaddr_ (_Z11float64_subyy.770) <1067>; + call { + (__tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.772 var=53 stl=AX off=1) assign (__tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.631) <1068>; + (__a1.773 var=279 stl=BX off=0) assign (__ct_4607182418800017408.75) <1069>; + (__link.774 var=281 stl=LR off=0) assign (__link.771) <1070>; + (__tmp.775 var=283 stl=AX off=0) F_Z11float64_subyy (__link.774 __tmpb0_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi.772 __a1.773) <1071>; + (__tmp.776 var=103) deassign (__tmp.775) <1072>; + } #574 off=20 + #579 off=21 + (_Z30float64_to_int32_round_to_zeroy.779 var=285) const () <1078>; + (__link.780 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1079>; + call { + (__tmp.781 var=103 stl=AX off=0) assign (__tmp.776) <1080>; + (__link.782 var=286 stl=LR off=0) assign (__link.780) <1081>; + (scale.783 var=56 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.782 __tmp.781) <1082>; + (scale.784 var=56) deassign (scale.783) <1083>; + } #580 off=22 + #585 off=23 + (__link.788 var=275) dmaddr__call_dmaddr_ (_Z16int32_to_float64i.761) <1090>; + call { + (scale.789 var=56 stl=RA off=0) assign (scale.784) <1091>; + (__link.790 var=275 stl=LR off=0) assign (__link.788) <1092>; + (__tmp.791 var=289 stl=AX off=0) F_Z16int32_to_float64i (__link.790 scale.789) <1093>; + (__tmp.792 var=105) deassign (__tmp.791) <1094>; + } #586 off=24 + #591 off=25 + (_Z11float64_mulyy.796 var=292) const () <1101>; + (__link.797 var=293) dmaddr__call_dmaddr_ (_Z11float64_mulyy.796) <1102>; + call { + (b0.798 var=44 stl=AX off=1) assign (b0.48) <1103>; + (__tmp.799 var=105 stl=BX off=0) assign (__tmp.792) <1104>; + (__link.800 var=293 stl=LR off=0) assign (__link.797) <1105>; + (__tmp.801 var=295 stl=AX off=0) F_Z11float64_mulyy (__link.800 b0.798 __tmp.799) <1106>; + (__tmp.802 var=106) deassign (__tmp.801) <1107>; + } #592 off=26 + #597 off=27 + (__link.806 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1114>; + call { + (__tmp.807 var=106 stl=AX off=0) assign (__tmp.802) <1115>; + (__link.808 var=286 stl=LR off=0) assign (__link.806) <1116>; + (__tmp.809 var=107 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.808 __tmp.807) <1117>; + (__tmp.810 var=107) deassign (__tmp.809) <1118>; + } #598 off=28 + #603 off=29 + (__M_WDMA.257 var=11 __extDM_SingleSignalPath_b_preemph.258 var=39) store (__tmp.810 __rt.483 __extDM_SingleSignalPath_b_preemph.37) <283>; + (__rt.505 var=164) __Pvoid__pl___Pvoid_int18_ (__rt.483 __ct_4.592) <632>; + (__ct_4.592 var=210) const () <763>; + (__link.815 var=293) dmaddr__call_dmaddr_ (_Z11float64_mulyy.796) <1126>; + call { + (b1.816 var=45 stl=AX off=1) assign (b1.51) <1127>; + (__tmp.817 var=105 stl=BX off=0) assign (__tmp.792) <1128>; + (__link.818 var=293 stl=LR off=0) assign (__link.815) <1129>; + (__tmp.819 var=297 stl=AX off=0) F_Z11float64_mulyy (__link.818 b1.816 __tmp.817) <1130>; + (__tmp.820 var=115) deassign (__tmp.819) <1131>; + } #604 off=30 + #609 off=31 + (__link.824 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1138>; + call { + (__tmp.825 var=115 stl=AX off=0) assign (__tmp.820) <1139>; + (__link.826 var=286 stl=LR off=0) assign (__link.824) <1140>; + (__tmp.827 var=116 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.826 __tmp.825) <1141>; + (__tmp.828 var=116) deassign (__tmp.827) <1142>; + } #610 off=32 + #615 off=33 + (__M_WDMA.268 var=11 __extDM_SingleSignalPath_b_preemph.269 var=39) store (__tmp.828 __rt.505 __extDM_SingleSignalPath_b_preemph.258) <293>; + (__rt.527 var=164) __Pvoid__pl___Pvoid_int18_ (__rt.505 __ct_4.592) <660>; + (__link.833 var=293) dmaddr__call_dmaddr_ (_Z11float64_mulyy.796) <1150>; + call { + (b2.834 var=46 stl=AX off=1) assign (b2.54) <1151>; + (__tmp.835 var=105 stl=BX off=0) assign (__tmp.792) <1152>; + (__link.836 var=293 stl=LR off=0) assign (__link.833) <1153>; + (__tmp.837 var=299 stl=AX off=0) F_Z11float64_mulyy (__link.836 b2.834 __tmp.835) <1154>; + (__tmp.838 var=124) deassign (__tmp.837) <1155>; + } #616 off=34 + #621 off=35 + (__link.842 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1162>; + call { + (__tmp.843 var=124 stl=AX off=0) assign (__tmp.838) <1163>; + (__link.844 var=286 stl=LR off=0) assign (__link.842) <1164>; + (__tmp.845 var=125 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.844 __tmp.843) <1165>; + (__tmp.846 var=125) deassign (__tmp.845) <1166>; + } #622 off=36 + #627 off=37 + (__M_WDMA.279 var=11 __extDM_SingleSignalPath_b_preemph.280 var=39) store (__tmp.846 __rt.527 __extDM_SingleSignalPath_b_preemph.269) <303>; + (__rt.549 var=164) __Pvoid__pl___Pvoid_int18_ (__rt.527 __ct_4.592) <688>; + (__link.851 var=293) dmaddr__call_dmaddr_ (_Z11float64_mulyy.796) <1174>; + call { + (a1.852 var=47 stl=AX off=1) assign (a1.57) <1175>; + (__tmp.853 var=105 stl=BX off=0) assign (__tmp.792) <1176>; + (__link.854 var=293 stl=LR off=0) assign (__link.851) <1177>; + (__tmp.855 var=301 stl=AX off=0) F_Z11float64_mulyy (__link.854 a1.852 __tmp.853) <1178>; + (__tmp.856 var=133) deassign (__tmp.855) <1179>; + } #628 off=38 + #633 off=39 + (__link.860 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1186>; + call { + (__tmp.861 var=133 stl=AX off=0) assign (__tmp.856) <1187>; + (__link.862 var=286 stl=LR off=0) assign (__link.860) <1188>; + (__tmp.863 var=134 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.862 __tmp.861) <1189>; + (__tmp.864 var=134) deassign (__tmp.863) <1190>; + } #634 off=40 + #639 off=41 + (__M_WDMA.290 var=11 __extDM_SingleSignalPath_b_preemph.291 var=39) store (__tmp.864 __rt.549 __extDM_SingleSignalPath_b_preemph.280) <313>; + (__rt.571 var=164) __Pvoid__pl___Pvoid_int18_ (__rt.549 __ct_4.592) <716>; + (__link.869 var=293) dmaddr__call_dmaddr_ (_Z11float64_mulyy.796) <1198>; + call { + (a2.870 var=48 stl=AX off=1) assign (a2.60) <1199>; + (__tmp.871 var=105 stl=BX off=0) assign (__tmp.792) <1200>; + (__link.872 var=293 stl=LR off=0) assign (__link.869) <1201>; + (__tmp.873 var=303 stl=AX off=0) F_Z11float64_mulyy (__link.872 a2.870 __tmp.871) <1202>; + (__tmp.874 var=142) deassign (__tmp.873) <1203>; + } #640 off=42 + #645 off=43 + (__link.878 var=286) dmaddr__call_dmaddr_ (_Z30float64_to_int32_round_to_zeroy.779) <1210>; + call { + (__tmp.879 var=142 stl=AX off=0) assign (__tmp.874) <1211>; + (__link.880 var=286 stl=LR off=0) assign (__link.878) <1212>; + (__tmp.881 var=143 stl=RA off=0) F_Z30float64_to_int32_round_to_zeroy (__link.880 __tmp.879) <1213>; + (__tmp.882 var=143) deassign (__tmp.881) <1214>; + } #646 off=44 + #570 off=45 + (__M_WDMA.301 var=11 __extDM_SingleSignalPath_b_preemph.302 var=39) store (__tmp.882 __rt.571 __extDM_SingleSignalPath_b_preemph.291) <323>; + (__trgt.911 var=319) const () <1310>; + () void_jump_int10_ (__trgt.911) <1311>; + } #247 + { + (__extDM_SingleSignalPath_preemph_activated.303 var=36) merge (__extDM_SingleSignalPath_preemph_activated.223 __extDM_SingleSignalPath_preemph_activated.230) <324>; + (__extDM_SingleSignalPath__preemph_scale_nbits.304 var=38) merge (__extDM_SingleSignalPath__preemph_scale_nbits.36 __extDM_SingleSignalPath__preemph_scale_nbits.235) <325>; + (__extDM_SingleSignalPath_b_preemph.305 var=39) merge (__extDM_SingleSignalPath_b_preemph.37 __extDM_SingleSignalPath_b_preemph.302) <326>; + } #32 + } #28 + #34 off=47 nxt=-2 + (__rd___sp.310 var=40) rd_res_reg (__R_SP.24 __sp.70) <331>; + (__R_SP.314 var=26 __sp.315 var=34) wr_res_reg (__rt.439 __sp.70) <335>; + () void_ret_dmaddr_ (__la.42) <336>; + () sink (__sp.315) <342>; + () sink (__extDM_SingleSignalPath_preemph_activated.303) <344>; + () sink (__extDM_SingleSignalPath__preemph_scale_nbits.304) <346>; + () sink (__extDM_SingleSignalPath_b_preemph.305) <347>; + () sink (__ct_0.39) <348>; + (__rt.439 var=164) __Pvoid__pl___Pvoid_int18_ (__rd___sp.310 __ct_0s0.588) <548>; + (__ct_0s0.588 var=206) const () <755>; +} #0 +0 : 'signal_processing\\signal_path.c'; +---------- +0 : (0,133:0,0); +4 : (0,135:17,1); +7 : (0,135:17,3); +10 : (0,135:29,5); +13 : (0,135:29,7); +16 : (0,135:41,9); +19 : (0,135:41,11); +22 : (0,135:53,13); +25 : (0,135:53,15); +28 : (0,135:4,17); +30 : (0,135:66,18); +34 : (0,149:0,42); +247 : (0,147:25,38); +383 : (0,135:23,2); +388 : (0,135:35,6); +393 : (0,135:47,10); +398 : (0,135:59,14); +434 : (0,141:20,30); +479 : (0,135:11,1); +482 : (0,135:11,1); +483 : (0,135:11,1); +488 : (0,135:23,2); +491 : (0,135:23,2); +492 : (0,135:23,2); +497 : (0,135:35,6); +500 : (0,135:35,6); +501 : (0,135:35,6); +506 : (0,135:47,10); +509 : (0,135:47,10); +510 : (0,135:47,10); +515 : (0,135:59,14); +518 : (0,135:59,14); +519 : (0,135:59,14); +542 : (0,141:20,30); +545 : (0,141:25,27); +546 : (0,141:25,27); +570 : (0,147:25,38); +573 : (0,141:39,33); +574 : (0,141:39,33); +579 : (0,141:39,33); +580 : (0,141:39,33); +585 : (0,143:34,34); +586 : (0,143:34,34); +591 : (0,143:34,34); +592 : (0,143:34,34); +597 : (0,143:29,34); +598 : (0,143:29,34); +603 : (0,144:34,35); +604 : (0,144:34,35); +609 : (0,144:29,35); +610 : (0,144:29,35); +615 : (0,145:34,36); +616 : (0,145:34,36); +621 : (0,145:29,36); +622 : (0,145:29,36); +627 : (0,146:34,37); +628 : (0,146:34,37); +633 : (0,146:29,37); +634 : (0,146:29,37); +639 : (0,147:34,38); +640 : (0,147:34,38); +645 : (0,147:29,38); +646 : (0,147:29,38); +---------- +89 : (0,133:5,0); +93 : (0,133:5,0); +99 : (0,135:14,0); +125 : (0,135:17,1); +126 : (0,135:26,0); +155 : (0,135:29,5); +185 : (0,135:41,9); +215 : (0,135:53,13); +221 : (0,135:53,16); +245 : (0,135:4,17); +246 : (0,136:36,0); +251 : (0,136:14,18); +252 : (0,139:36,0); +257 : (0,139:14,21); +261 : (0,140:14,22); +267 : (0,141:20,0); +283 : (0,143:25,34); +293 : (0,144:25,35); +303 : (0,145:25,36); +313 : (0,146:25,37); +323 : (0,147:25,38); +324 : (0,135:4,41); +325 : (0,135:4,41); +326 : (0,135:4,41); +331 : (0,149:0,0); +335 : (0,149:0,42); +336 : (0,149:0,42); +447 : (0,133:5,0); +520 : (0,136:14,18); +548 : (0,149:0,0); +576 : (0,140:14,0); +604 : (0,143:14,0); +632 : (0,144:25,0); +660 : (0,145:25,0); +688 : (0,146:25,0); +716 : (0,147:25,0); +747 : (0,133:5,0); +749 : (0,136:14,0); +755 : (0,149:0,0); +757 : (0,140:14,0); +761 : (0,143:14,0); +763 : (0,144:25,0); +830 : (0,141:20,0); +831 : (0,141:20,30); +832 : (0,141:20,30); +833 : (0,141:20,30); +834 : (0,141:20,30); +835 : (0,141:20,30); +836 : (0,141:20,30); +927 : (0,135:11,0); +928 : (0,135:11,1); +929 : (0,135:11,1); +930 : (0,135:11,1); +931 : (0,135:11,1); +932 : (0,135:11,1); +933 : (0,135:11,1); +941 : (0,135:23,2); +942 : (0,135:23,2); +943 : (0,135:23,2); +944 : (0,135:23,2); +945 : (0,135:23,2); +946 : (0,135:23,2); +954 : (0,135:35,6); +955 : (0,135:35,6); +956 : (0,135:35,6); +957 : (0,135:35,6); +958 : (0,135:35,6); +959 : (0,135:35,6); +967 : (0,135:47,10); +968 : (0,135:47,10); +969 : (0,135:47,10); +970 : (0,135:47,10); +971 : (0,135:47,10); +972 : (0,135:47,10); +980 : (0,135:59,14); +981 : (0,135:59,14); +982 : (0,135:59,14); +983 : (0,135:59,14); +984 : (0,135:59,14); +985 : (0,135:59,14); +992 : (0,135:11,1); +1000 : (0,135:23,2); +1008 : (0,135:35,6); +1016 : (0,135:47,10); +1024 : (0,135:59,14); +1051 : (0,135:59,14); +1054 : (0,141:25,0); +1055 : (0,141:25,27); +1056 : (0,141:25,27); +1057 : (0,141:25,27); +1058 : (0,141:25,27); +1059 : (0,141:25,27); +1066 : (0,141:39,0); +1067 : (0,141:39,33); +1068 : (0,141:39,33); +1069 : (0,141:39,33); +1070 : (0,141:39,33); +1071 : (0,141:39,33); +1072 : (0,141:39,33); +1078 : (0,141:39,0); +1079 : (0,141:39,33); +1080 : (0,141:39,33); +1081 : (0,141:39,33); +1082 : (0,141:39,33); +1083 : (0,141:39,33); +1090 : (0,143:34,34); +1091 : (0,143:34,34); +1092 : (0,143:34,34); +1093 : (0,143:34,34); +1094 : (0,143:34,34); +1101 : (0,143:34,0); +1102 : (0,143:34,34); +1103 : (0,143:34,34); +1104 : (0,143:34,34); +1105 : (0,143:34,34); +1106 : (0,143:34,34); +1107 : (0,143:34,34); +1114 : (0,143:29,34); +1115 : (0,143:29,34); +1116 : (0,143:29,34); +1117 : (0,143:29,34); +1118 : (0,143:29,34); +1126 : (0,144:34,35); +1127 : (0,144:34,35); +1128 : (0,144:34,35); +1129 : (0,144:34,35); +1130 : (0,144:34,35); +1131 : (0,144:34,35); +1138 : (0,144:29,35); +1139 : (0,144:29,35); +1140 : (0,144:29,35); +1141 : (0,144:29,35); +1142 : (0,144:29,35); +1150 : (0,145:34,36); +1151 : (0,145:34,36); +1152 : (0,145:34,36); +1153 : (0,145:34,36); +1154 : (0,145:34,36); +1155 : (0,145:34,36); +1162 : (0,145:29,36); +1163 : (0,145:29,36); +1164 : (0,145:29,36); +1165 : (0,145:29,36); +1166 : (0,145:29,36); +1174 : (0,146:34,37); +1175 : (0,146:34,37); +1176 : (0,146:34,37); +1177 : (0,146:34,37); +1178 : (0,146:34,37); +1179 : (0,146:34,37); +1186 : (0,146:29,37); +1187 : (0,146:29,37); +1188 : (0,146:29,37); +1189 : (0,146:29,37); +1190 : (0,146:29,37); +1198 : (0,147:34,38); +1199 : (0,147:34,38); +1200 : (0,147:34,38); +1201 : (0,147:34,38); +1202 : (0,147:34,38); +1203 : (0,147:34,38); +1210 : (0,147:29,38); +1211 : (0,147:29,38); +1212 : (0,147:29,38); +1213 : (0,147:29,38); +1214 : (0,147:29,38); +1262 : (0,135:11,1); +1263 : (0,135:23,2); +1264 : (0,135:17,4); +1265 : (0,135:35,6); +1266 : (0,135:29,8); +1267 : (0,135:47,10); +1268 : (0,135:41,12); +1292 : (0,135:17,1); +1296 : (0,135:29,5); +1300 : (0,135:41,9); +1304 : (0,135:53,13); +1308 : (0,135:4,17); + diff --git a/simulation/Release/chesswork/signal_path-fcd1fd.# b/simulation/Release/chesswork/signal_path-fcd1fd.# new file mode 100644 index 0000000..c234c24 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-fcd1fd.# @@ -0,0 +1,8 @@ +6bd14b3bc305504dd7bb9269fe30bf59aca75a76 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +b00c70141a9ef8150a816e6a96c0a6bc875ec33f +da39a3ee5e6b4b0d3255bfef95601890afd80709 +122d38bb381f5f89236bf4743d8e37e54b004dea +105 +0 diff --git a/simulation/Release/chesswork/signal_path-fcd1fd.o b/simulation/Release/chesswork/signal_path-fcd1fd.o new file mode 100644 index 0000000..5da9556 Binary files /dev/null and b/simulation/Release/chesswork/signal_path-fcd1fd.o differ diff --git a/simulation/Release/chesswork/signal_path-fcd1fd.sfg b/simulation/Release/chesswork/signal_path-fcd1fd.sfg new file mode 100644 index 0000000..c47c547 --- /dev/null +++ b/simulation/Release/chesswork/signal_path-fcd1fd.sfg @@ -0,0 +1,115 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +/*** +!! void sig_cirular_buffer_ptr_increment(BufferPtr *, int) +F_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri : user_defined, called { + fnm : "sig_cirular_buffer_ptr_increment" 'void sig_cirular_buffer_ptr_increment(BufferPtr *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri typ=uint20_ bnd=e stl=PM tref=void_____PBufferPtr___sint__ + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 36 : __extDM_BufferPtr_ptr_current typ=int8_ bnd=b stl=DM + 38 : __extDM_BufferPtr_ptr_start typ=int8_ bnd=b stl=DM + 39 : __extDM_BufferPtr_buffer_len typ=int8_ bnd=b stl=DM + 41 : __rd___sp typ=dmaddr_ bnd=m + 42 : __ct_0 typ=uint1_ val=0f bnd=m + 43 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 44 : buffer typ=dmaddr_ bnd=p tref=__PBufferPtr__ + 45 : i_incr typ=int32_ bnd=p tref=__sint__ + 52 : __fch___extDM_BufferPtr_ptr_current typ=dmaddr_ bnd=m + 59 : __fch___extDM_BufferPtr_ptr_start typ=dmaddr_ bnd=m + 63 : __fch___extDM_BufferPtr_buffer_len typ=int32_ bnd=m + 67 : __tmp typ=dmaddr_ bnd=m + 90 : __ct_2 typ=int32_ val=2f bnd=m + 93 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 118 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 119 : __ct_8 typ=int18_ val=8f bnd=m + 122 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 124 : __ct_4 typ=int18_ val=4f bnd=m + 128 : __ct_2 typ=uint2_ val=2f bnd=m + 133 : __tmp typ=int18_ bnd=m + 134 : __tmp typ=int18_ bnd=m +] +F_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri { + (__M_WDMA.9 var=11) st_def () <18>; + (__R_SP.24 var=26) st_def () <48>; + (__sp.32 var=34) source () <56>; + (__extDM_BufferPtr_ptr_current.34 var=36) source () <58>; + (__extDM_BufferPtr_ptr_start.36 var=38) source () <60>; + (__extDM_BufferPtr_buffer_len.37 var=39) source () <61>; + (__ct_0.40 var=42) const () <64>; + (__la.42 var=43 stl=LR off=0) inp () <66>; + (__la.43 var=43) deassign (__la.42) <67>; + (buffer.45 var=44 stl=A off=0) inp () <69>; + (buffer.46 var=44) deassign (buffer.45) <70>; + (i_incr.48 var=45 stl=RA off=0) inp () <72>; + (i_incr.49 var=45) deassign (i_incr.48) <73>; + (__rd___sp.51 var=41) rd_res_reg (__R_SP.24 __sp.32) <75>; + (__R_SP.55 var=26 __sp.56 var=34) wr_res_reg (__rt.133 __sp.32) <79>; + (__fch___extDM_BufferPtr_ptr_current.60 var=52) load (__M_WDMA.9 __rt.155 __extDM_BufferPtr_ptr_current.34) <84>; + (__fch___extDM_BufferPtr_ptr_start.67 var=59) load (__M_WDMA.9 __rt.199 __extDM_BufferPtr_ptr_start.36) <91>; + (__fch___extDM_BufferPtr_buffer_len.71 var=63) load (__M_WDMA.9 __rt.221 __extDM_BufferPtr_buffer_len.37) <95>; + (__M_WDMA.79 var=11 __extDM_BufferPtr_ptr_current.80 var=36) store (__tmp.110 __rt.243 __extDM_BufferPtr_ptr_current.34) <103>; + (__rd___sp.81 var=41) rd_res_reg (__R_SP.24 __sp.56) <104>; + (__R_SP.85 var=26 __sp.86 var=34) wr_res_reg (__rt.177 __sp.56) <108>; + () void_ret_dmaddr_ (__la.43) <109>; + () sink (__sp.86) <115>; + () sink (__extDM_BufferPtr_ptr_current.80) <117>; + () sink (__ct_0.40) <122>; + (__tmp.110 var=67) dmaddr__add_mod_dmaddr__int18__dmaddr__int18_ (__fch___extDM_BufferPtr_ptr_current.60 __tmp.266 __fch___extDM_BufferPtr_ptr_start.67 __tmp.271) <155>; + (__ct_2.119 var=90) const () <175>; + (__rt.133 var=93) __Pvoid__pl___Pvoid_int18_ (__rd___sp.51 __ct_0S0.256) <201>; + (__rt.155 var=93) __Pvoid__pl___Pvoid_int18_ (buffer.46 __ct_8.257) <229>; + (__rt.177 var=93) __Pvoid__pl___Pvoid_int18_ (__rd___sp.81 __ct_0s0.260) <257>; + (__rt.199 var=93) __Pvoid__mi___Pvoid_int18_ (__rt.155 __ct_4.262) <285>; + (__rt.221 var=93) __Pvoid__mi___Pvoid_int18_ (__rt.199 __ct_4.262) <313>; + (__rt.243 var=93) __Pvoid__pl___Pvoid_int18_ (__rt.221 __ct_8.257) <341>; + (__ct_0S0.256 var=118) const () <367>; + (__ct_8.257 var=119) const () <369>; + (__ct_0s0.260 var=122) const () <375>; + (__ct_4.262 var=124) const () <379>; + (__ct_2.265 var=128) const () <384>; + (__tmp.266 var=133) int72__shift_int72__int72__uint2_ (i_incr.49 __ct_2.119 __ct_2.265) <385>; + (__tmp.271 var=134) int72__shift_int72__int72__uint2_ (__fch___extDM_BufferPtr_buffer_len.71 __ct_2.119 __ct_2.265) <393>; +} #5 off=0 nxt=-2 +0 : 'signal_processing\\signal_path.c'; +---------- +5 : (0,105:0,2); +---------- +75 : (0,103:5,0); +79 : (0,103:5,0); +84 : (0,104:43,1); +91 : (0,104:72,1); +95 : (0,104:91,1); +103 : (0,104:10,1); +104 : (0,105:0,0); +108 : (0,105:0,2); +109 : (0,105:0,2); +155 : (0,104:26,1); +175 : (0,104:58,0); +201 : (0,103:5,0); +229 : (0,104:43,1); +257 : (0,105:0,0); +285 : (0,104:72,0); +341 : (0,104:43,0); +367 : (0,103:5,0); +369 : (0,104:43,0); +375 : (0,105:0,0); +379 : (0,104:72,0); +384 : (0,104:58,0); +385 : (0,104:58,1); +393 : (0,104:91,1); + diff --git a/simulation/Release/chesswork/signal_path.aliases b/simulation/Release/chesswork/signal_path.aliases new file mode 100644 index 0000000..e69de29 diff --git a/simulation/Release/chesswork/signal_path.ctt b/simulation/Release/chesswork/signal_path.ctt new file mode 100644 index 0000000..a4d051b --- /dev/null +++ b/simulation/Release/chesswork/signal_path.ctt @@ -0,0 +1,24 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + +#const float_tininess_after_rounding enum __anonymous0__signal_path_ 0 (0x0) +#const float_tininess_before_rounding enum __anonymous0__signal_path_ 1 (0x1) +#const float_round_nearest_even enum __anonymous1__signal_path_ 0 (0x0) +#const float_round_to_zero enum __anonymous1__signal_path_ 1 (0x1) +#const float_round_up enum __anonymous1__signal_path_ 2 (0x2) +#const float_round_down enum __anonymous1__signal_path_ 3 (0x3) +#const block_len const int 1 (0x1) +#const OUTPUT_MODE_C_SENSOR enum OutputMode 0 (0x0) +#const OUTPUT_MODE_ACC_SENSOR enum OutputMode 1 (0x1) +#const OUTPUT_MODE_FIR_LMS enum OutputMode 2 (0x2) +#const OUTPUT_MODE_FIR enum OutputMode 3 (0x3) +#const OUTPUT_MODE_FIR_LMS_LEAKY enum OutputMode 4 (0x4) +#const ones unsigned 4294967295 (0xffffffff) +#const scale_bits int 31 (0x1f) +#const scale int 2147483647 (0x7fffffff) +#const __tmpb1_F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi const double 2.0000000000000000 (0x4000000000000000) +#const __inl_x double 2.0000000000000000 (0x4000000000000000) +#const __tmpb1_F_Z15sig_init_weightP16SingleSignalPathdi const double 2.0000000000000000 (0x4000000000000000) +#const __inl_x double 2.0000000000000000 (0x4000000000000000) diff --git a/simulation/Release/chesswork/signal_path.dti b/simulation/Release/chesswork/signal_path.dti new file mode 100644 index 0000000..1ddaba5 --- /dev/null +++ b/simulation/Release/chesswork/signal_path.dti @@ -0,0 +1,255 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + bool__ : _basic() bool; + __cchar__ : _basic() __cchar; + __schar__ : _basic() __schar; + __uchar__ : _basic() __uchar; + __sshort__ : _basic() __sshort; + __ushort__ : _basic() __ushort; + __sint__ : _basic() __sint; + __uint__ : _basic() __uint; + __slong__ : _basic() __slong; + __ulong__ : _basic() __ulong; + __flongdouble__ : _basic() __flongdouble; + int72___ : _basic() int72_; + int32___ : _basic() int32_; + __slonglong__ : _basic() __slonglong; + __ulonglong__ : _basic() __ulonglong; + __Pvoid__ : _basic() __Pvoid; + int64___ : _basic() int64_; + accum_t__ : _basic() accum_t; + flags_t__ : _basic() flags_t; + __rtp__ : _typedef() __rtp $__ulonglong__; + __atp0__ : _typedef() __atp0 $accum_t__; + __atp1__ : _typedef() __atp1 $accum_t__; + __atp2__ : _typedef() __atp2 $__ulonglong__; + dmaddr___ : _basic() dmaddr_; + float32__ : _typedef() float32 $__uint__; + __rtp___1 : _typedef() __rtp $float32__; + __atp0___1 : _typedef() __atp0 $__sint__; + float64__ : _typedef() float64 $__ulonglong__; + __rtp___2 : _typedef() __rtp $float64__; + __atp0___2 : _typedef() __atp0 $__sint__; + __rtp___3 : _typedef() __rtp $float32__; + __atp0___3 : _typedef() __atp0 $__slonglong__; + __rtp___4 : _typedef() __rtp $float64__; + __atp0___4 : _typedef() __atp0 $__slonglong__; + __rtp___5 : _typedef() __rtp $__sint__; + __atp0___5 : _typedef() __atp0 $float32__; + __rtp___6 : _typedef() __rtp $__slonglong__; + __atp0___6 : _typedef() __atp0 $float32__; + __rtp___7 : _typedef() __rtp $float64__; + __atp0___7 : _typedef() __atp0 $float32__; + __rtp___8 : _typedef() __rtp $float32__; + __atp0___8 : _typedef() __atp0 $float32__; + __rtp___9 : _typedef() __rtp $float32__; + __atp0___9 : _typedef() __atp0 $float32__; + __atp1___1 : _typedef() __atp1 $float32__; + __rtp___10 : _typedef() __rtp $float32__; + __atp0___10 : _typedef() __atp0 $float32__; + __atp1___2 : _typedef() __atp1 $float32__; + __rtp___11 : _typedef() __rtp $float32__; + __atp0___11 : _typedef() __atp0 $float32__; + __atp1___3 : _typedef() __atp1 $float32__; + __rtp___12 : _typedef() __rtp $float32__; + __atp0___12 : _typedef() __atp0 $float32__; + __atp1___4 : _typedef() __atp1 $float32__; + __rtp___13 : _typedef() __rtp $__sint__; + __atp0___13 : _typedef() __atp0 $float32__; + __atp1___5 : _typedef() __atp1 $float32__; + __rtp___14 : _typedef() __rtp $__sint__; + __atp0___14 : _typedef() __atp0 $float32__; + __atp1___6 : _typedef() __atp1 $float32__; + __rtp___15 : _typedef() __rtp $__sint__; + __atp0___15 : _typedef() __atp0 $float32__; + __atp1___7 : _typedef() __atp1 $float32__; + __rtp___16 : _typedef() __rtp $__sint__; + __atp0___16 : _typedef() __atp0 $float64__; + __rtp___17 : _typedef() __rtp $__slonglong__; + __atp0___17 : _typedef() __atp0 $float64__; + __rtp___18 : _typedef() __rtp $float32__; + __atp0___18 : _typedef() __atp0 $float64__; + __rtp___19 : _typedef() __rtp $float64__; + __atp0___19 : _typedef() __atp0 $float64__; + __rtp___20 : _typedef() __rtp $float64__; + __atp0___20 : _typedef() __atp0 $float64__; + __atp1___8 : _typedef() __atp1 $float64__; + __rtp___21 : _typedef() __rtp $float64__; + __atp0___21 : _typedef() __atp0 $float64__; + __atp1___9 : _typedef() __atp1 $float64__; + __rtp___22 : _typedef() __rtp $float64__; + __atp0___22 : _typedef() __atp0 $float64__; + __atp1___10 : _typedef() __atp1 $float64__; + __rtp___23 : _typedef() __rtp $float64__; + __atp0___23 : _typedef() __atp0 $float64__; + __atp1___11 : _typedef() __atp1 $float64__; + __rtp___24 : _typedef() __rtp $__sint__; + __atp0___24 : _typedef() __atp0 $float64__; + __atp1___12 : _typedef() __atp1 $float64__; + __rtp___25 : _typedef() __rtp $__sint__; + __atp0___25 : _typedef() __atp0 $float64__; + __atp1___13 : _typedef() __atp1 $float64__; + __rtp___26 : _typedef() __rtp $__sint__; + __atp0___26 : _typedef() __atp0 $float64__; + __atp1___14 : _typedef() __atp1 $float64__; + __ffloat__ : _basic() __ffloat; + __fdouble__ : _basic() __fdouble; + uint15__IMSK : _basic(IMSK,1,1) uint15_; + uint15__irq_stat : _basic(irq_stat,1,1) uint15_; + __sint_DMA : _basic(DMA,4,4) __sint; + __Pvoid_DMA : _basic(DMA,4,4) __Pvoid; + __P__sint_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $__sint_DMA; + BufferPtr_DMA : _struct(DMA,12,4) BufferPtr { + buffer_len $__sint_DMA @0; + ptr_start $__P__sint_DMA @4; + ptr_current $__P__sint_DMA @8; + } + __sint_DMB : _basic(DMB,4,4) __sint; + __Pvoid_DMB : _basic(DMB,4,4) __Pvoid; + __PDMB__sint_DMB : _pointer(DMB,4,4) $__Pvoid_DMB $__sint_DMB; + BufferPtrDMB_DMB : _struct(DMB,12,4) BufferPtrDMB { + buffer_len $__sint_DMB @0; + ptr_start $__PDMB__sint_DMB @4; + ptr_current $__PDMB__sint_DMB @8; + } + __A64DMB__sint_DMB : _array(DMB,256,4) [64] $__sint_DMB; + __A64__sint_DMA : _array(DMA,256,4) [64] $__sint_DMA; + __rtp___27 : _typedef() __rtp $__ffloat__; + __atp0___27 : _typedef() __atp0 $__ffloat__; + __atp1___15 : _typedef() __atp1 $__sint__; + __rtp___28 : _typedef() __rtp $__fdouble__; + __atp0___28 : _typedef() __atp0 $__fdouble__; + __atp1___16 : _typedef() __atp1 $__sint__; + __rtp___29 : _typedef() __rtp $__ffloat__; + __atp0___29 : _typedef() __atp0 $__ffloat__; + __rtp___30 : _typedef() __rtp $__fdouble__; + __atp0___30 : _typedef() __atp0 $__fdouble__; + __rtp___31 : _typedef() __rtp $__ffloat__; + __atp0___31 : _typedef() __atp0 $__ffloat__; + __rtp___32 : _typedef() __rtp $__fdouble__; + __atp0___32 : _typedef() __atp0 $__fdouble__; + __rtp___33 : _typedef() __rtp $__ffloat__; + __atp0___33 : _typedef() __atp0 $__ffloat__; + __rtp___34 : _typedef() __rtp $__fdouble__; + __atp0___34 : _typedef() __atp0 $__fdouble__; + __rtp___35 : _typedef() __rtp $__ffloat__; + __atp0___35 : _typedef() __atp0 $__ffloat__; + __rtp___36 : _typedef() __rtp $__fdouble__; + __atp0___36 : _typedef() __atp0 $__fdouble__; + __rtp___37 : _typedef() __rtp $__ffloat__; + __atp0___37 : _typedef() __atp0 $__ffloat__; + __rtp___38 : _typedef() __rtp $__fdouble__; + __atp0___38 : _typedef() __atp0 $__fdouble__; + __rtp___39 : _typedef() __rtp $__ffloat__; + __atp0___39 : _typedef() __atp0 $__ffloat__; + __rtp___40 : _typedef() __rtp $__fdouble__; + __atp0___40 : _typedef() __atp0 $__fdouble__; + __rtp___41 : _typedef() __rtp $__ffloat__; + __atp0___41 : _typedef() __atp0 $__ffloat__; + __rtp___42 : _typedef() __rtp $__fdouble__; + __atp0___42 : _typedef() __atp0 $__fdouble__; + __rtp___43 : _typedef() __rtp $__ffloat__; + __atp0___43 : _typedef() __atp0 $__ffloat__; + __rtp___44 : _typedef() __rtp $__fdouble__; + __atp0___44 : _typedef() __atp0 $__fdouble__; + __rtp___45 : _typedef() __rtp $__ffloat__; + __atp0___45 : _typedef() __atp0 $__ffloat__; + __rtp___46 : _typedef() __rtp $__fdouble__; + __atp0___46 : _typedef() __atp0 $__fdouble__; + __rtp___47 : _typedef() __rtp $__ffloat__; + __atp0___47 : _typedef() __atp0 $__ffloat__; + __atp1___17 : _typedef() __atp1 $__ffloat__; + __rtp___48 : _typedef() __rtp $__fdouble__; + __atp0___48 : _typedef() __atp0 $__fdouble__; + __atp1___18 : _typedef() __atp1 $__fdouble__; + __rtp___49 : _typedef() __rtp $__fdouble__; + __atp0___49 : _typedef() __atp0 $__fdouble__; + __atp1___19 : _typedef() __atp1 $__fdouble__; + __rtp___50 : _typedef() __rtp $__ffloat__; + __atp0___50 : _typedef() __atp0 $__ffloat__; + __rtp___51 : _typedef() __rtp $__fdouble__; + __atp0___51 : _typedef() __atp0 $__fdouble__; + __rtp___52 : _typedef() __rtp $__ffloat__; + __atp0___52 : _typedef() __atp0 $__ffloat__; + __rtp___53 : _typedef() __rtp $__fdouble__; + __atp0___53 : _typedef() __atp0 $__fdouble__; + __rtp___54 : _typedef() __rtp $__fdouble__; + __atp0___54 : _typedef() __atp0 $__fdouble__; + __rtp___55 : _typedef() __rtp $__ffloat__; + __atp0___55 : _typedef() __atp0 $__ffloat__; + __atp1___20 : _typedef() __atp1 $__ffloat__; + __rtp___56 : _typedef() __rtp $__fdouble__; + __atp0___56 : _typedef() __atp0 $__fdouble__; + __atp1___21 : _typedef() __atp1 $__fdouble__; + __rtp___57 : _typedef() __rtp $__ffloat__; + __atp0___57 : _typedef() __atp0 $__ffloat__; + __PDMBvoid__ : _basic() __PDMBvoid; + fract_t__ : _basic() fract_t; + pmem_t__ : _basic() pmem_t; + __PDMvoid__ : _basic() __PDMvoid; + __PDMAvoid__ : _basic() __PDMAvoid; + __PDMIOvoid__ : _basic() __PDMIOvoid; + __PPMvoid__ : _basic() __PPMvoid; + __A1__sint_DMA : _array(DMA,4,4) [1] $__sint_DMA; + __A1DMB__sint_DMB : _array(DMB,4,4) [1] $__sint_DMB; + __P__sint__ : _pointer() $__Pvoid__ $__sint_DMA; + __PDMB__sint_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $__sint_DMB; + __PDMB__sint__ : _pointer() $__Pvoid__ $__sint_DMB; + __PBufferPtr__ : _pointer() $__Pvoid__ $BufferPtr_DMA; +__sint_____PBufferPtr___P__sint___sint___sint__ : _function() $__sint__ $__PBufferPtr__ $__P__sint__ $__sint__ $__sint__; + __PDMBBufferPtrDMB__ : _pointer() $__Pvoid__ $BufferPtrDMB_DMB; +__sint_____PDMBBufferPtrDMB___PDMB__sint___sint___sint__ : _function() $__sint__ $__PDMBBufferPtrDMB__ $__PDMB__sint__ $__sint__ $__sint__; + void_____PBufferPtr___sint__ : _function() _void $__PBufferPtr__ $__sint__; + BufferPtrDMB_DMA : _struct(DMA,12,4) BufferPtrDMB { + buffer_len $__sint_DMA @0; + ptr_start $__PDMB__sint_DMA @4; + ptr_current $__PDMB__sint_DMA @8; + } + __PBufferPtrDMB__ : _pointer() $__Pvoid__ $BufferPtrDMB_DMA; + void_____PBufferPtrDMB___sint__ : _function() _void $__PBufferPtrDMB__ $__sint__; + void_____PBufferPtr___sint___1 : _function() _void $__PBufferPtr__ $__sint__; +void_____PDMBBufferPtrDMB___sint__ : _function() _void $__PDMBBufferPtrDMB__ $__sint__; + __A5__sint_DMA : _array(DMA,20,4) [5] $__sint_DMA; + __A2__sint_DMA : _array(DMA,8,4) [2] $__sint_DMA; + __A16__sint_DMA : _array(DMA,64,4) [16] $__sint_DMA; + SingleSignalPath_DMA : _struct(DMA,144,4) SingleSignalPath { + input_scale $__sint_DMA @0; + x_nbit_bitshift $__sint_DMA @4; + preemph_activated $__sint_DMA @8; + b_preemph $__A5__sint_DMA @12; + _preemph_scale_nbits $__sint_DMA @32; + _xd $__A2__sint_DMA @36; + _yd $__A2__sint_DMA @44; + _delay_buffer $__A16__sint_DMA @52; + delay_buffer $BufferPtr_DMA @116; + n_delay_samps $__sint_DMA @128; + weight_actived $__sint_DMA @132; + weight $__sint_DMA @136; + _weight_scale_nbits $__sint_DMA @140; + } + __PSingleSignalPath__ : _pointer() $__Pvoid__ $SingleSignalPath_DMA; +void_____PSingleSignalPath___fdouble___fdouble___fdouble___fdouble___fdouble___sint__ : _function() _void $__PSingleSignalPath__ $__fdouble__ $__fdouble__ $__fdouble__ $__fdouble__ $__fdouble__ $__sint__; +__sint_____PSingleSignalPath___sint__ : _function() $__sint__ $__PSingleSignalPath__ $__sint__; +void_____PSingleSignalPath___fdouble___sint__ : _function() _void $__PSingleSignalPath__ $__fdouble__ $__sint__; +__sint_____PSingleSignalPath___sint___1 : _function() $__sint__ $__PSingleSignalPath__ $__sint__; +__sint_____PSingleSignalPath___sint___2 : _function() $__sint__ $__PSingleSignalPath__ $__sint__; +__sint_____PSingleSignalPath___sint___3 : _function() $__sint__ $__PSingleSignalPath__ $__sint__; + __fdouble_DMA : _basic(DMA,8,8) __fdouble; + __P__fdouble__ : _pointer() $__Pvoid__ $__fdouble_DMA; +void_____PSingleSignalPath___PSingleSignalPath___P__fdouble___P__fdouble___sint___sint___fdouble___fdouble___fdouble___sint__ : _function() _void $__PSingleSignalPath__ $__PSingleSignalPath__ $__P__fdouble__ $__P__fdouble__ $__sint__ $__sint__ $__fdouble__ $__fdouble__ $__fdouble__ $__sint__; + OutputMode__ : _enum() OutputMode $__sint__ { + OUTPUT_MODE_C_SENSOR = 0; + OUTPUT_MODE_ACC_SENSOR = 1; + OUTPUT_MODE_FIR_LMS = 2; + OUTPUT_MODE_FIR = 3; + OUTPUT_MODE_FIR_LMS_LEAKY = 4; + } + __sshort_DMB : _basic(DMB,2,2) __sshort; + int16_t_DMB : _typedef(DMB,2,2) int16_t $__sshort_DMB; + __PDMB__sshort__ : _pointer() $__Pvoid__ $int16_t_DMB; +void_____PSingleSignalPath___PSingleSignalPath_OutputMode___PDMB__sshort___PDMB__sshort___PDMB__sshort__ : _function() _void $__PSingleSignalPath__ $__PSingleSignalPath__ $OutputMode__ $__PDMB__sshort__ $__PDMB__sshort__ $__PDMB__sshort__; + uint32_t__ : _typedef() uint32_t $__uint__; + void__ : _basic() void; diff --git a/simulation/Release/chesswork/signal_path.fnm b/simulation/Release/chesswork/signal_path.fnm new file mode 100644 index 0000000..4c0bb35 --- /dev/null +++ b/simulation/Release/chesswork/signal_path.fnm @@ -0,0 +1,152 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + +// toolrelease _25R2; + +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\simulation\\signal_processing\\signal_path.c" +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\simulation" + +"signal_path-154f66.sfg" + : _Z15sig_init_bufferP9BufferPtrPiii + : "sig_init_buffer" global "signal_processing\\signal_path.c" 71 Ofile + ( + ) + +"signal_path-f55921.sfg" + : _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii + : "sig_init_buffer_DMB" global "signal_processing\\signal_path.c" 87 Ofile + ( + ) + +"signal_path-fcd1fd.sfg" + : _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri + : "sig_cirular_buffer_ptr_increment" global "signal_processing\\signal_path.c" 103 Ofile + ( + ) + +"signal_path-352f49.sfg" + : _Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi + : "sig_cirular_buffer_ptr_increment_DMB" global "signal_processing\\signal_path.c" 107 Ofile + ( + ) + +"signal_path-e110bc.sfg" + : _Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri + : "sig_cirular_buffer_ptr_put_sample" global "signal_processing\\signal_path.c" 111 Ofile + ( + ) + +"signal_path-e7968f.sfg" + : _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi + : "sig_cirular_buffer_ptr_put_sample_DMB" global "signal_processing\\signal_path.c" 116 Ofile + ( + ) + +"signal_path-f8ba01.sfg" + : _Z21sig_init_preemph_coefP16SingleSignalPathdddddi + : "sig_init_preemph_coef" global "signal_processing\\signal_path.c" 133 Ofile + ( + ff_pow + _Z10float64_eqyy + _Z16int32_to_float64i + _Z11float64_subyy + _Z30float64_to_int32_round_to_zeroy + _Z11float64_mulyy + ) + +"signal_path-6fcf7f.sfg" + : _Z14sig_init_delayP16SingleSignalPathi + : "sig_init_delay" global "signal_processing\\signal_path.c" 152 Ofile + ( + _Z15sig_init_bufferP9BufferPtrPiii + ) + +"signal_path-d74ce2.sfg" + : _Z15sig_init_weightP16SingleSignalPathdi + : "sig_init_weight" global "signal_processing\\signal_path.c" 157 Ofile + ( + ff_pow + _Z10float64_eqyy + _Z16int32_to_float64i + _Z11float64_subyy + _Z30float64_to_int32_round_to_zeroy + _Z11float64_mulyy + ) + +"signal_path-d6dbe4.sfg" + : _Z15sig_calc_biquadP16SingleSignalPathi + : "sig_calc_biquad" global "signal_processing\\signal_path.c" 173 Ofile + ( + ) + +"signal_path-a30375.sfg" + : _Z29sig_delay_buffer_load_and_getP16SingleSignalPathi + : "sig_delay_buffer_load_and_get" global "signal_processing\\signal_path.c" 194 Ofile + ( + _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri + ) + +"signal_path-530a42.sfg" + : _Z15sig_calc_weightP16SingleSignalPathi + : "sig_calc_weight" global "signal_processing\\signal_path.c" 204 Ofile + ( + ) + +"signal_path-9c02ae.sfg" + : _Z4initP16SingleSignalPathS0_PdS1_iidddi + : "init" global "signal_processing\\signal_path.c" 309 Ofile + ( + _Z21sig_init_preemph_coefP16SingleSignalPathdddddi + _Z14sig_init_delayP16SingleSignalPathi + _Z15sig_init_weightP16SingleSignalPathdi + _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii + _Z15sig_init_bufferP9BufferPtrPiii + _Z11float64_mulyy + _Z30float64_to_int32_round_to_zeroy + ) + +"signal_path-101f20.sfg" + : _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + : "calc" global "signal_processing\\signal_path.c" 348 Ofile + ( + _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi + ) + +"" + : ff_pow + : "ff_pow" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\runtime\\include\\math.h" 80 Ofile + ( + ) + +"" + : _Z10float64_eqyy + : "float64_eq" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\softfloat\\softfloat.h" 162 Ofile + ( + ) + +"" + : _Z16int32_to_float64i + : "int32_to_float64" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\softfloat\\softfloat.h" 112 Ofile + ( + ) + +"" + : _Z11float64_subyy + : "float64_sub" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\softfloat\\softfloat.h" 157 Ofile + ( + ) + +"" + : _Z30float64_to_int32_round_to_zeroy + : "float64_to_int32_round_to_zero" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\softfloat\\softfloat.h" 147 Ofile + ( + ) + +"" + : _Z11float64_mulyy + : "float64_mul" global "..\\..\\..\\OneDrive - MED-EL\\Desktop\\LPDSP32_Modell\\lib\\softfloat\\softfloat.h" 158 Ofile + ( + ) + diff --git a/simulation/Release/chesswork/signal_path.gvt b/simulation/Release/chesswork/signal_path.gvt new file mode 100644 index 0000000..4851ceb --- /dev/null +++ b/simulation/Release/chesswork/signal_path.gvt @@ -0,0 +1,33 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + +[ + 1 : _imsk_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=IMSK tref=uint15__IMSK + 2 : _irq_stat_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=irq_stat tref=uint15__irq_stat + 3 : ptr_fir_lms_coeffs typ=int8_ bnd=e sz=12 algn=4 stl=DMA tref=BufferPtr_DMA + 4 : ptr_fir_lms_delay_line typ=int8_ bnd=e sz=12 algn=4 stl=DMB tref=BufferPtrDMB_DMB + 5 : fir_lms_delay_line typ=int8_ bnd=e sz=256 algn=4 stl=DMB tref=__A64DMB__sint_DMB + 6 : _ZL7counter typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__sint_DMA + 7 : _ZL2mu typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__sint_DMA + 8 : _ZL4leak typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__sint_DMA + 9 : fir_lms_delay_line typ=int8_ bnd=g sz=256 algn=4 stl=DMB tref=__A64DMB__sint_DMB + 10 : ptr_fir_lms_delay_line typ=int8_ bnd=g sz=12 algn=4 stl=DMB tref=BufferPtrDMB_DMB + 11 : ptr_fir_lms_coeffs typ=int8_ bnd=g sz=12 algn=4 stl=DMA tref=BufferPtr_DMA + 12 : fir_lms_coeffs typ=int8_ bnd=g sz=256 algn=8 stl=DMA tref=__A64__sint_DMA + 13 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 14 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 15 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 16 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__A1__sint_DMA + 17 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt typ=int8_ bnd=f sz=4 algn=4 stl=DMB tref=__A1DMB__sint_DMB + 18 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 typ=int8_ bnd=f sz=4 algn=4 stl=DMB tref=__A1DMB__sint_DMB + 19 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13p_c_block_pre typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__P__sint_DMA + 20 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E16p_acc_block_filt typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__P__sint_DMA + 21 : _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E8p_out_32 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sint_DMA +] +__signal_path_sttc { +} #0 +---------- +---------- + diff --git a/simulation/Release/chesswork/signal_path.gvt.# b/simulation/Release/chesswork/signal_path.gvt.# new file mode 100644 index 0000000..7d86b1d --- /dev/null +++ b/simulation/Release/chesswork/signal_path.gvt.# @@ -0,0 +1,8 @@ +b94f5e81f66808a8f4f9315bd020e05811fb8d4a +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +afdf5390cdc5affd5e50c6ca82dc307d96b63dce +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 +0 diff --git a/simulation/Release/chesswork/signal_path.gvt.o b/simulation/Release/chesswork/signal_path.gvt.o new file mode 100644 index 0000000..3256317 Binary files /dev/null and b/simulation/Release/chesswork/signal_path.gvt.o differ diff --git a/simulation/Release/chesswork/signal_path.ini b/simulation/Release/chesswork/signal_path.ini new file mode 100644 index 0000000..9e16f5e --- /dev/null +++ b/simulation/Release/chesswork/signal_path.ini @@ -0,0 +1,21 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + +_ZL7counter/6 $ counter +_ZL2mu/7 $ mu +_ZL4leak/8 $ leak +_ZL4leak/8 : #1d #ac #ff #7f +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre/13 $ c_block_pre _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre/14 $ acc_block_pre _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32/15 $ cSensor_32 _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32/16 $ accSensor_32 _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt/17 $ acc_block_filt _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32/18 $ out_32 _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13p_c_block_pre/19 $ p_c_block_pre _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13p_c_block_pre/19 : (dmaddr_:int32_:0)_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre #00 #00 #00 #00 +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E16p_acc_block_filt/20 $ p_acc_block_filt _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E16p_acc_block_filt/20 : (dmaddr_:int32_:0)_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre #00 #00 #00 #00 +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E8p_out_32/21 $ p_out_32 _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E8p_out_32/21 : (dmaddr_:int32_:0)_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 #00 #00 #00 #00 diff --git a/simulation/Release/chesswork/signal_path.lib b/simulation/Release/chesswork/signal_path.lib new file mode 100644 index 0000000..4a1b9f6 --- /dev/null +++ b/simulation/Release/chesswork/signal_path.lib @@ -0,0 +1,207 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + +toolrelease _25R2; + + +// additional +prop gp_offset_type = ( __sint ); + +prop static_variable_registers = ( IMSK irq_stat ); + +// float64 int32_to_float64(int) +F_Z16int32_to_float64i : user_defined, called { + fnm : "int32_to_float64" 'float64 int32_to_float64(int)'; + arg : ( dmaddr_:i int64_:r int32_:i ); + loc : ( LR[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// int float64_to_int32_round_to_zero(float64) +F_Z30float64_to_int32_round_to_zeroy : user_defined, called { + fnm : "float64_to_int32_round_to_zero" 'int float64_to_int32_round_to_zero(float64)'; + arg : ( dmaddr_:i int32_:r int64_:i ); + loc : ( LR[0] RA[0] AX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// float64 float64_sub(float64, float64) +F_Z11float64_subyy : user_defined, called { + fnm : "float64_sub" 'float64 float64_sub(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// float64 float64_mul(float64, float64) +F_Z11float64_mulyy : user_defined, called { + fnm : "float64_mul" 'float64 float64_mul(float64, float64)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// int float64_eq(float64, float64) +F_Z10float64_eqyy : user_defined, called { + fnm : "float64_eq" 'int float64_eq(float64, float64)'; + arg : ( dmaddr_:i int32_:r int64_:i int64_:i ); + loc : ( LR[0] RA[0] AX[0] AX[1] ); + vac : ( srIM[0] ); + llv : 0 0 0 0 0 ; +} + +// double ff_pow(double, double) +Fff_pow : user_defined, called { + fnm : "ff_pow" 'double ff_pow(double, double)'; + arg : ( dmaddr_:i int64_:r int64_:i int64_:i ); + loc : ( LR[0] AX[0] AX[1] BX[0] ); + vac : ( srIM[0] ); + llv : 0 1 0 0 0 ; +} + +// void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int) +F_Z4initP16SingleSignalPathS0_PdS1_iidddi : user_defined, called { + fnm : "init" 'void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i dmaddr_:i int32_:i int32_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] A[1] A[2] A[3] RA[0] RA[1] AX[0] AX[1] BX[0] RB[0] ); + vac : ( srIM[0] ); + frm : ( b=8 ); + llv : 0 1 0 0 0 ; +} + +// void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *) +F_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ : user_defined, called { + fnm : "calc" 'void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *)'; + arg : ( dmaddr_:i dmaddr_:i dmaddr_:i int32_:i dmaddr_:i dmaddr_:i dmaddr_:i ); + loc : ( LR[0] A[0] A[1] RA[0] A[4] A[5] __spill_WDMA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// int sig_init_buffer(BufferPtr *, int *, int, int) +F_Z15sig_init_bufferP9BufferPtrPiii : user_defined, called { + fnm : "sig_init_buffer" 'int sig_init_buffer(BufferPtr *, int *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] A[1] RA[1] RB[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int) +F_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii : user_defined, called { + fnm : "sig_init_buffer_DMB" 'int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i dmaddr_:i int32_:i int32_:i ); + loc : ( LR[0] RA[0] A[4] A[5] RA[1] RB[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// void sig_cirular_buffer_ptr_increment(BufferPtr *, int) +F_Z32sig_cirular_buffer_ptr_incrementP9BufferPtri : user_defined, called { + fnm : "sig_cirular_buffer_ptr_increment" 'void sig_cirular_buffer_ptr_increment(BufferPtr *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *, int) +F_Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi : user_defined, called { + fnm : "sig_cirular_buffer_ptr_increment_DMB" 'void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// void sig_cirular_buffer_ptr_put_sample(BufferPtr *, int) +F_Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri : user_defined, called { + fnm : "sig_cirular_buffer_ptr_put_sample" 'void sig_cirular_buffer_ptr_put_sample(BufferPtr *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int) +F_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi : user_defined, called { + fnm : "sig_cirular_buffer_ptr_put_sample_DMB" 'void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int)'; + arg : ( dmaddr_:i dmaddr_:i int32_:i ); + loc : ( LR[0] A[4] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int) +F_Z21sig_init_preemph_coefP16SingleSignalPathdddddi : user_defined, called { + fnm : "sig_init_preemph_coef" 'void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int64_:i int64_:i int64_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] AX[1] BX[0] BX[1] __spill_LDMA[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// int sig_init_delay(SingleSignalPath *, int) +F_Z14sig_init_delayP16SingleSignalPathi : user_defined, called { + fnm : "sig_init_delay" 'int sig_init_delay(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// void sig_init_weight(SingleSignalPath *, double, int) +F_Z15sig_init_weightP16SingleSignalPathdi : user_defined, called { + fnm : "sig_init_weight" 'void sig_init_weight(SingleSignalPath *, double, int)'; + arg : ( dmaddr_:i dmaddr_:i int64_:i int32_:i ); + loc : ( LR[0] A[0] AX[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 1 0 0 0 ; +} + +// int sig_calc_biquad(SingleSignalPath *, int) +F_Z15sig_calc_biquadP16SingleSignalPathi : user_defined, called { + fnm : "sig_calc_biquad" 'int sig_calc_biquad(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// int sig_delay_buffer_load_and_get(SingleSignalPath *, int) +F_Z29sig_delay_buffer_load_and_getP16SingleSignalPathi : user_defined, called { + fnm : "sig_delay_buffer_load_and_get" 'int sig_delay_buffer_load_and_get(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + +// int sig_calc_weight(SingleSignalPath *, int) +F_Z15sig_calc_weightP16SingleSignalPathi : user_defined, called { + fnm : "sig_calc_weight" 'int sig_calc_weight(SingleSignalPath *, int)'; + arg : ( dmaddr_:i int32_:r dmaddr_:i int32_:i ); + loc : ( LR[0] RA[0] A[0] RA[1] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + diff --git a/simulation/Release/chesswork/signal_path.objlist b/simulation/Release/chesswork/signal_path.objlist new file mode 100644 index 0000000..74477db --- /dev/null +++ b/simulation/Release/chesswork/signal_path.objlist @@ -0,0 +1,15 @@ +"signal_path-154f66.o" 0 +"signal_path-f55921.o" 0 +"signal_path-fcd1fd.o" 0 +"signal_path-352f49.o" 0 +"signal_path-e110bc.o" 0 +"signal_path-e7968f.o" 0 +"signal_path-f8ba01.o" 0 +"signal_path-6fcf7f.o" 0 +"signal_path-d74ce2.o" 0 +"signal_path-d6dbe4.o" 0 +"signal_path-a30375.o" 0 +"signal_path-530a42.o" 0 +"signal_path-9c02ae.o" 0 +"signal_path-101f20.o" 0 +"signal_path.gvt.o" 0 diff --git a/simulation/Release/chesswork/signal_path.tof b/simulation/Release/chesswork/signal_path.tof new file mode 100644 index 0000000..ac584c4 --- /dev/null +++ b/simulation/Release/chesswork/signal_path.tof @@ -0,0 +1,54 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork signal_processing/signal_path.c lpdsp32 + + +// per defined called function, table of invoked intrinsic functions (excluding built-in operators): + +// int sig_init_buffer(BufferPtr *, int *, int, int) + +// int sig_init_buffer_DMB(BufferPtrDMB chess_storage(DMB) *, int chess_storage(DMB) *, int, int) + +// void sig_cirular_buffer_ptr_increment(BufferPtr *, int) +void *cyclic_add(void *, int, void *, int) + +// void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *, int) +void *cyclic_add(void *, int, void *, int) + +// void sig_cirular_buffer_ptr_put_sample(BufferPtr *, int) +void *cyclic_add(void *, int, void *, int) + +// void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *, int) +void *cyclic_add(void *, int, void *, int) + +// void sig_init_preemph_coef(SingleSignalPath *, double, double, double, double, double, int) + +// int sig_init_delay(SingleSignalPath *, int) + +// void sig_init_weight(SingleSignalPath *, double, int) + +// int sig_calc_biquad(SingleSignalPath *, int) +accum_t fract_mult(int, int) +accum_t operator+(accum_t, accum_t) +accum_t operator<<(accum_t, int) +int rnd_saturate(accum_t) + +// int sig_delay_buffer_load_and_get(SingleSignalPath *, int) + +// int sig_calc_weight(SingleSignalPath *, int) +accum_t fract_mult(int, int) +int rnd_saturate(accum_t) + +// void init(SingleSignalPath *, SingleSignalPath *, double *, double *, int, int, double, double, double, int) + +// void calc(SingleSignalPath *, SingleSignalPath *, OutputMode, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *, volatile int16_t chess_storage(DMB) *) +accum_t to_accum(int) +void *cyclic_add(void *, int, void *, int) +accum_t fract_mult(int, int) +accum_t operator+(accum_t, accum_t) +int rnd_saturate(accum_t) +void lldecompose(unsigned long long, int &, int &) +unsigned long long llcompose(int, int) +accum_t operator>>(accum_t, int) + diff --git a/simulation/Release/compile_commands.json b/simulation/Release/compile_commands.json new file mode 100644 index 0000000..6860c01 --- /dev/null +++ b/simulation/Release/compile_commands.json @@ -0,0 +1,58 @@ +[ + { + "directory": "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation", + "file": "main.c", + "arguments": [ + "chess-clang", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "--chess-proc-dir=C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "-S", + "-nostdlibinc", + "-D__chess__", + "-D__tct_release__=2506", + "-g", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include", + "-D__tct_patch__=0", + "-include", + "lpdsp32_llvm.h", + "-xc++", + "-Wno-register", + "-DLLVM_NO_WARN_IGNORED_CHESS", + "-D__ndl__", + "-U__chess_clang__", + "-Dassembly=", + "-Dasm_begin=asm(", + "-Dasm_end=);", + "main.c", + "--chess-proc-name=lpdsp32" + ] + }, + { + "directory": "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation", + "file": "signal_processing/signal_path.c", + "arguments": [ + "chess-clang", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "--chess-proc-dir=C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "-S", + "-nostdlibinc", + "-D__chess__", + "-D__tct_release__=2506", + "-g", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include", + "-D__tct_patch__=0", + "-include", + "lpdsp32_llvm.h", + "-xc++", + "-Wno-register", + "-DLLVM_NO_WARN_IGNORED_CHESS", + "-D__ndl__", + "-U__chess_clang__", + "-Dassembly=", + "-Dasm_begin=asm(", + "-Dasm_end=);", + "signal_processing/signal_path.c", + "--chess-proc-name=lpdsp32" + ] + } +] diff --git a/simulation/Release/main.# b/simulation/Release/main.# new file mode 100644 index 0000000..6b39722 --- /dev/null +++ b/simulation/Release/main.# @@ -0,0 +1,2 @@ +5ded821a5cc42b974b84897a1cdadc8cd03132a9 +16eb5e4638293780f809bd1de8ff96feb0151a27 diff --git a/simulation/Release/main.o b/simulation/Release/main.o new file mode 100644 index 0000000..07170f9 Binary files /dev/null and b/simulation/Release/main.o differ diff --git a/simulation/Release/main.o.as b/simulation/Release/main.o.as new file mode 100644 index 0000000..2bf56d9 --- /dev/null +++ b/simulation/Release/main.o.as @@ -0,0 +1,296 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:48 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 +Mhex +Ihex -g Release/main.o lpdsp32 + +// Release: ipp X-2025.06 +.data_segment_name +.bss local .at 12582916 _ZL12css_cmd_flag DMIO 1 + + +.data_segment_name +.bss local 4 _ZL15action_required DMA 4 + +.data_segment_name +.bss local 4 _ZL16corrupted_signal DMA 144 + +.data_segment_name +.bss local 4 _ZL22reference_noise_signal DMA 144 + +.data_segment_name +.bss local .at 8388608 _ZL10input_port DMB 8 + + +.data_segment_name +.bss local .at 8388624 _ZL11output_port DMB 8 + + +.data_segment_name +.bss local 4 _ZL15input_pointer_0 DMA 4 + +.data_segment_name +.bss local 4 _ZL15input_pointer_1 DMA 4 + +.data_segment_name +.bss local 4 _ZL14output_pointer DMA 4 + +.data_segment_name +.bss local 4 _ZL14sample_pointer DMA 4 + +.data_segment_name +.bss local 2 _ZL6sample DMB 2 + +.data_segment_name +.data local 4 _ZZ4mainvE4mode DMA + 0x2 + 0x0 + 0x0 + 0x0 + +.undef local data _main__end + +.undef local data _ZL15action_required + +.undef local data _ZL16corrupted_signal + +.undef local data _ZL22reference_noise_signal + +.undef local data _ZL14output_pointer + +.undef local data _ZL11output_port + + +.undef local data _ZL14sample_pointer + +.undef local data _ZL6sample + +.undef local data _ZL15action_required + +.undef local data _ZL12css_cmd_flag + + +.undef local data _ZZ4mainvE4mode + +.undef local data _ZL10input_port + + +.undef global data _main + +.text_segment_name +.text global 2 isr0 +.src_ref 0 "main.c" 44 1 first + /* 0x000000 0x00000 */ nop +.src_ref 0 "main.c" 42 16 first + /* 0x000001 0xabff0 */ sp+= -0x8 +.src_ref 0 "main.c" 43 1 + /* 0x000002 0x5c006 */ ra1 = 1; sp[0x0] = ra1 + /* 0x000003 0x88049 */ /* MW */ +.src_ref 0 "main.c" 43 1 first + /* 0x000004 0x6c000 */ [_ZL15action_required] = ra1 + /* 0x000005 0x00049 */ /* MW */ +.src_ref 0 "main.c" 44 1 first + /* 0x000006 0xba168 */ retidb + /* 0x000007 0x88009 */ ra1 = sp[0x0] +.label isr0__end last +.src_ref 0 "main.c" 44 1 + /* 0x000008 0x40000 */ nop; sp+= 0x8 + /* 0x000009 0x28010 */ /* MW */ + +.data_segment_name +.rodata.constmem global 8 _ro_data_DM_8___main__3 DM +.label _ro_lbl_DM_8___main_0_0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xe8 + 0x3f +.label _ro_lbl_DM_8___main_8_1 + 0xcd + 0xcc + 0xcc + 0xcc + 0xcc + 0xcc + 0xec + 0x3f +.label _ro_lbl_DM_8___main_16_2 + 0x7b + 0x14 + 0xae + 0x47 + 0xe1 + 0x7a + 0x84 + 0x3f + +.text_segment_name +.text global 2 _main +.src_ref 0 "main.c" 46 first +.src_ref 0 "main.c" 46 4 + /* 0x000000 0xabf50 */ sp+= -0x58 +.src_ref 0 "main.c" 51 18 +.src_ref 0 "main.c" 52 18 + /* 0x000001 0x6e000 */ bxl0 = [_ro_lbl_DM_8___main_0_0] + /* 0x000002 0x00012 */ /* MW */ +.src_ref 0 "main.c" 51 24 +.src_ref 0 "main.c" 51 28 +.src_ref 0 "main.c" 51 32 +.src_ref 0 "main.c" 51 36 +.src_ref 0 "main.c" 52 24 +.src_ref 0 "main.c" 52 28 +.src_ref 0 "main.c" 52 32 +.src_ref 0 "main.c" 52 36 + /* 0x000003 0x5c000 */ ax1 = 0; a2 = sp + 0x8 + /* 0x000004 0xa4042 */ /* MW */ +.src_ref 0 "main.c" 51 18 first +.src_ref 0 "main.c" 56 4 + /* 0x000005 0x5c00a */ ra1 = 2; a2[0x0] = bhl0 + /* 0x000006 0x8d07a */ /* MW */ +.src_ref 0 "main.c" 56 4 + /* 0x000007 0x5c103 */ rb0 = 64; a3 = sp + 0x30 + /* 0x000008 0x24183 */ /* MW */ +.src_ref 0 "main.c" 52 18 first +.src_ref 0 "main.c" 56 4 + /* 0x000009 0x5c00a */ ra0 = 2; a3[0x0] = bhl0 + /* 0x00000a 0x0d87a */ /* MW */ +.src_ref 0 "main.c" 51 24 first + /* 0x00000b 0x90259 */ sp[0x10] = ahl1 +.src_ref 0 "main.c" 52 24 first + /* 0x00000c 0x90759 */ sp[0x38] = ahl1 +.src_ref 0 "main.c" 51 28 first + /* 0x00000d 0x90359 */ sp[0x18] = ahl1 +.src_ref 0 "main.c" 52 28 first + /* 0x00000e 0x90859 */ sp[0x40] = ahl1 +.src_ref 0 "main.c" 51 32 first + /* 0x00000f 0x90459 */ sp[0x20] = ahl1 +.src_ref 0 "main.c" 52 32 first + /* 0x000010 0x90959 */ sp[0x48] = ahl1 +.src_ref 0 "main.c" 51 36 first + /* 0x000011 0x90559 */ sp[0x28] = ahl1 +.src_ref 0 "main.c" 52 36 first + /* 0x000012 0x90a59 */ sp[0x50] = ahl1 +.src_ref 0 "main.c" 56 4 + /* 0x000013 0x68000 */ a0 = _ZL16corrupted_signal + /* 0x000014 0x00020 */ /* MW */ +.src_ref 0 "main.c" 56 4 + /* 0x000015 0x6e000 */ axl1 = [(_ro_lbl_DM_8___main_8_1 + 0)] + /* 0x000016 0x00411 */ /* MW */ +.src_ref 0 "main.c" 56 4 + /* 0x000017 0x2a008 */ ax0 = ax1 + 0x0 +.src_ref 0 "main.c" 56 4 + /* 0x000018 0x68000 */ a1 = _ZL22reference_noise_signal + /* 0x000019 0x00021 */ /* MW */ +.src_ref 0 "main.c" 56 4 first + /* 0x00001a 0x66000 */ calldb _Z4initP16SingleSignalPathS0_PdS1_iidddi + /* 0x00001b 0x00008 */ /* MW */ +.src_ref 0 "main.c" 56 4 + /* 0x00001c 0x6e000 */ bxl0 = [(_ro_lbl_DM_8___main_16_2 + 0)] + /* 0x00001d 0x00812 */ /* MW */ +.src_ref 0 "main.c" 95 8 first +.src_ref 1 "lpdsp32_irq.h" 47 first + /* 0x00001e 0xba110 */ ie = 0x1 +.src_ref 1 "lpdsp32_irq.h" 48 first + /* 0x00001f 0x00000 */ nop +.src_ref 0 "main.c" 100 8 first + /* 0x000020 0x6c000 */ [_ZL15action_required] = zero + /* 0x000021 0x0007a */ /* MW */ +.src_ref 0 "main.c" 96 8 + /* 0x000022 0x68200 */ a5 = -0x7fffee + /* 0x000023 0x004a5 */ /* MW */ +.src_ref 0 "main.c" 96 8 first + /* 0x000024 0x6c000 */ [_ZL14output_pointer] = a5 + /* 0x000025 0x00065 */ /* MW */ +.src_ref 0 "main.c" 97 8 + /* 0x000026 0x68000 */ a4 = _ZL6sample + /* 0x000027 0x00024 */ /* MW */ +.src_ref 0 "main.c" 97 8 first + /* 0x000028 0x6c000 */ [_ZL14sample_pointer] = a4 + /* 0x000029 0x00064 */ /* MW */ +.src_ref 0 "main.c" 102 12 +.src_ref 0 "main.c" 107 33 + /* 0x00002a 0x5c810 */ c0 = 4; rb0 = 0x2 + /* 0x00002b 0x30016 */ /* MW */ +.src_ref 0 "main.c" 105 16 + /* 0x00002c 0x40000 */ nop; ra1 = 0x1 + /* 0x00002d 0x3000d */ /* MW */ +.src_ref 0 "main.c" 102 12 first + /* 0x00002e 0x6e600 */ [0xc00004] = rb0.b + /* 0x00002f 0x00266 */ /* MW */ +.src_ref 0 "main.c" 103 12 first +.src_ref 1 "lpdsp32_irq.h" 66 first + /* 0x000030 0x460e0 */ powerdown; nop + /* 0x000031 0x38000 */ /* MW */ +.src_ref 0 "main.c" 104 16 first + /* 0x000032 0x6c000 */ ra0 = [_ZL15action_required] + /* 0x000033 0x00008 */ /* MW */ +.src_ref 0 "main.c" 104 32 + /* 0x000034 0x32060 */ cmp(ra0,0x1) +.src_ref 0 "main.c" 104 12 +.src_ref 0 "main.c" 104 32 + /* 0x000035 0xbff81 */ if (nz) jps -0x8 +.src_ref 0 "main.c" 105 16 first + /* 0x000036 0x6e600 */ [0xc00004] = ra1.b + /* 0x000037 0x00265 */ /* MW */ +.src_ref 0 "main.c" 106 16 first + /* 0x000038 0x6c000 */ [_ZL15action_required] = zero + /* 0x000039 0x0007a */ /* MW */ +.src_ref 0 "main.c" 107 33 + /* 0x00003a 0x68200 */ lb0 = -0x7ffff0 + /* 0x00003b 0x0042c */ /* MW */ +.src_ref 0 "main.c" 107 44 first + /* 0x00003c 0x6c000 */ a5 = [_ZL14output_pointer] + /* 0x00003d 0x00025 */ /* MW */ +.src_ref 0 "main.c" 107 33 + /* 0x00003e 0x68000 */ lsz0 = 0x8 + /* 0x00003f 0x0022e */ /* MW */ +.src_ref 0 "main.c" 108 35 first + /* 0x000040 0x6c000 */ a3 = [_ZL14sample_pointer] + /* 0x000041 0x00023 */ /* MW */ +.src_ref 0 "main.c" 107 33 first + /* 0x000042 0x9ec00 */ a0 = a5+%0c0 +.src_ref 0 "main.c" 107 16 + /* 0x000043 0x6c000 */ [_ZL14output_pointer] = a0 + /* 0x000044 0x00060 */ /* MW */ +.src_ref 0 "main.c" 109 16 + /* 0x000045 0x68200 */ a4 = -0x7ffffe + /* 0x000046 0x000a4 */ /* MW */ +.src_ref 0 "main.c" 108 34 first + /* 0x000047 0x95835 */ ra1.s = a3[0x0] +.src_ref 0 "main.c" 108 16 + /* 0x000048 0x94075 */ a0[0x0] = ra1.s + /* 0x000049 0x88063 */ sp[0x0] = a3 + /* 0x00004a 0x40000 */ nop; a5 = a4 - 0x2 + /* 0x00004b 0x22415 */ /* MW */ +.src_ref 0 "main.c" 109 16 + /* 0x00004c 0x68000 */ a1 = _ZL22reference_noise_signal + /* 0x00004d 0x00021 */ /* MW */ +.src_ref 0 "main.c" 109 16 + /* 0x00004e 0x68000 */ a0 = _ZL16corrupted_signal + /* 0x00004f 0x00020 */ /* MW */ +.src_ref 0 "main.c" 109 16 first + /* 0x000050 0x66000 */ calldb _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + /* 0x000051 0x00008 */ /* MW */ + /* 0x000052 0x6c000 */ ra0 = [_ZZ4mainvE4mode] + /* 0x000053 0x00008 */ /* MW */ +.src_ref 0 "main.c" 101 8 first +.src_ref 0 "main.c" 105 16 + /* 0x000054 0x43ec7 */ jpsdb -0x28; ra1 = 0x1 + /* 0x000055 0xb000d */ /* MW */ +.label _main__end last +.src_ref 0 "main.c" 102 12 +.src_ref 0 "main.c" 107 33 + /* 0x000056 0x5c810 */ c0 = 4; rb0 = 0x2 + /* 0x000057 0x30016 */ /* MW */ + +.undef global text _Z4initP16SingleSignalPathS0_PdS1_iidddi + +.undef global text _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + +.dir 0 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation" +.dir 1 "%PROCDIR%" + + +.direct_eval +,-,(,) diff --git a/simulation/Release/signal_path.# b/simulation/Release/signal_path.# new file mode 100644 index 0000000..483a2d5 --- /dev/null +++ b/simulation/Release/signal_path.# @@ -0,0 +1,2 @@ +8631387a8e5bacf182153a839c3cf3675054bbcb +16eb5e4638293780f809bd1de8ff96feb0151a27 diff --git a/simulation/Release/signal_path.o b/simulation/Release/signal_path.o new file mode 100644 index 0000000..89e29be Binary files /dev/null and b/simulation/Release/signal_path.o differ diff --git a/simulation/Release/signal_path.o.as b/simulation/Release/signal_path.o.as new file mode 100644 index 0000000..c8339a8 --- /dev/null +++ b/simulation/Release/signal_path.o.as @@ -0,0 +1,1238 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:48 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 +Mhex +Ihex -g Release/signal_path.o lpdsp32 + +// Release: ipp X-2025.06 +.data_segment_name +.bss local 4 _ZL7counter DMA 4 + +.data_segment_name +.bss local 4 _ZL2mu DMA 4 + +.data_segment_name +.data local 4 _ZL4leak DMA + 0x1d + 0xac + 0xff + 0x7f + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre DMA 4 + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre DMA 4 + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32 DMA 4 + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32 DMA 4 + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt DMB 4 + +.data_segment_name +.bss local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 DMB 4 + +.data_segment_name +.data local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13p_c_block_pre DMA +.rela 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre 0 + 0x0 + 0x0 + 0x0 + 0x0 + +.data_segment_name +.data local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E16p_acc_block_filt DMA +.rela 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre 0 + 0x0 + 0x0 + 0x0 + 0x0 + +.data_segment_name +.data local 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E8p_out_32 DMA +.rela 4 _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 0 + 0x0 + 0x0 + 0x0 + 0x0 + +.undef local data _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3___end + +.undef local data _ZL2mu + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32 + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32 + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt + +.undef local data _ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 + +.undef local data _ZL2mu + +.data_segment_name +.bss global 4 fir_lms_delay_line DMB 256 + +.data_segment_name +.bss global 4 ptr_fir_lms_delay_line DMB 12 + +.data_segment_name +.bss global 4 ptr_fir_lms_coeffs DMA 12 + +.data_segment_name +.bss global 8 fir_lms_coeffs DMA 256 + +.undef global data _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ + +.text_segment_name +.text global 2 _Z15sig_init_bufferP9BufferPtrPiii +.src_ref 0 "signal_path.c" 71 first +.src_ref 0 "signal_path.c" 72 10 +.src_ref 0 "signal_path.c" 77 24 + /* 0x000000 0x39020 */ c0 = 4 +.src_ref 0 "signal_path.c" 72 10 first +.src_ref 0 "signal_path.c" 76 4 first + /* 0x000001 0x59014 */ cmp(ra1,0x0); [a0+c0] = ra1 + /* 0x000002 0x00049 */ /* MW */ +.src_ref 0 "signal_path.c" 74 10 first +.src_ref 0 "signal_path.c" 76 4 + /* 0x000003 0x42036 */ if (np) jpsdb 0x6; a0[0x4] = a1 + /* 0x000004 0x840e1 */ /* MW */ +.src_ref 0 "signal_path.c" 73 10 first + /* 0x000005 0x84061 */ a0[0x0] = a1 +.src_ref 0 "signal_path.c" 76 4 first + /* 0x000006 0x62000 */ lp [ra1] 0x1 + /* 0x000007 0x00015 */ /* MW */ + /* 0x000008 0x00000 */ nop + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 77 24 first + /* 0x00000a 0x8087a */ [a1+c0] = zero +.src_ref 0 "signal_path.c" 79 14 first + /* 0x00000b 0x301a8 */ cmp(ra1,rb0) +.src_ref 0 "signal_path.c" 79 4 +.src_ref 0 "signal_path.c" 79 14 + /* 0x00000c 0x42011 */ if (s) jps 0x2; ra0 = zero + /* 0x00000d 0x18e88 */ /* MW */ +.src_ref 0 "signal_path.c" 79 4 + /* 0x00000e 0x5c006 */ ra0 = 1; ret + /* 0x00000f 0x3a140 */ /* MW */ +.label _Z15sig_init_bufferP9BufferPtrPiii__end last +.src_ref 0 "signal_path.c" 79 4 + /* 0x000010 0x40000 */ nop; ret + /* 0x000011 0x3a140 */ /* MW */ + +.text_segment_name +.text global 2 _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.src_ref 0 "signal_path.c" 87 first +.src_ref 0 "signal_path.c" 88 10 +.src_ref 0 "signal_path.c" 93 24 + /* 0x000000 0x39020 */ c0 = 4 +.src_ref 0 "signal_path.c" 88 10 first +.src_ref 0 "signal_path.c" 92 4 first + /* 0x000001 0x59014 */ cmp(ra1,0x0); [a4+c0] = ra1 + /* 0x000002 0x02049 */ /* MW */ +.src_ref 0 "signal_path.c" 90 10 first +.src_ref 0 "signal_path.c" 92 4 + /* 0x000003 0x42036 */ if (np) jpsdb 0x6; a4[0x4] = a5 + /* 0x000004 0x860e5 */ /* MW */ +.src_ref 0 "signal_path.c" 89 10 first + /* 0x000005 0x86065 */ a4[0x0] = a5 +.src_ref 0 "signal_path.c" 92 4 first + /* 0x000006 0x62000 */ lp [ra1] 0x1 + /* 0x000007 0x00015 */ /* MW */ + /* 0x000008 0x00000 */ nop + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 93 24 first + /* 0x00000a 0x8287a */ [a5+c0] = zero +.src_ref 0 "signal_path.c" 95 14 first + /* 0x00000b 0x301a8 */ cmp(ra1,rb0) +.src_ref 0 "signal_path.c" 95 4 +.src_ref 0 "signal_path.c" 95 14 + /* 0x00000c 0x42011 */ if (s) jps 0x2; ra0 = zero + /* 0x00000d 0x18e88 */ /* MW */ +.src_ref 0 "signal_path.c" 95 4 + /* 0x00000e 0x5c006 */ ra0 = 1; ret + /* 0x00000f 0x3a140 */ /* MW */ +.label _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii__end last +.src_ref 0 "signal_path.c" 95 4 + /* 0x000010 0x40000 */ nop; ret + /* 0x000011 0x3a140 */ /* MW */ + +.text_segment_name +.text global 2 _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri +.src_ref 0 "signal_path.c" 104 43 +.src_ref 0 "signal_path.c" 104 43 first +.src_ref 0 "signal_path.c" 104 72 +.src_ref 0 "signal_path.c" 105 first + /* 0x000000 0x5c810 */ c0 = 4; a0 = a0 + 0x8 + /* 0x000001 0x20040 */ /* MW */ +.src_ref 0 "signal_path.c" 104 43 first +.src_ref 0 "signal_path.c" 104 58 first + /* 0x000002 0x51852 */ ra0 = lsl(ra0,0x2); a1 = [a0-c0] + /* 0x000003 0x00221 */ /* MW */ +.src_ref 0 "signal_path.c" 104 72 + /* 0x000004 0x8022c */ lb0 = [a0-c0] +.src_ref 0 "signal_path.c" 104 91 + /* 0x000005 0x8400a */ rb0 = a0[0x0] +.src_ref 0 "signal_path.c" 104 26 +.src_ref 0 "signal_path.c" 104 91 + /* 0x000006 0x5185a */ ra0 = lsl(rb0,0x2); c0 = ra0 + /* 0x000007 0x18228 */ /* MW */ +.src_ref 0 "signal_path.c" 104 26 + /* 0x000008 0x9822e */ lsz0 = ra0 + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 104 26 +.src_ref 0 "signal_path.c" 105 first + /* 0x00000a 0x460a4 */ retdb; a1 = a1+%0c0 + /* 0x00000b 0x1cc01 */ /* MW */ +.src_ref 0 "signal_path.c" 104 10 first + /* 0x00000c 0x84161 */ a0[0x8] = a1 +.label _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri__end + /* 0x00000d 0x00000 */ nop + +.text_segment_name +.text global 2 _Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi +.src_ref 0 "signal_path.c" 108 43 +.src_ref 0 "signal_path.c" 108 43 first +.src_ref 0 "signal_path.c" 108 72 +.src_ref 0 "signal_path.c" 109 first + /* 0x000000 0x5c810 */ c0 = 4; a0 = a0 + 0x8 + /* 0x000001 0x20040 */ /* MW */ +.src_ref 0 "signal_path.c" 108 43 first +.src_ref 0 "signal_path.c" 108 58 first + /* 0x000002 0x51852 */ ra0 = lsl(ra0,0x2); a1 = [a0-c0] + /* 0x000003 0x00221 */ /* MW */ +.src_ref 0 "signal_path.c" 108 72 + /* 0x000004 0x8022c */ lb0 = [a0-c0] +.src_ref 0 "signal_path.c" 108 91 + /* 0x000005 0x8400a */ rb0 = a0[0x0] +.src_ref 0 "signal_path.c" 108 26 +.src_ref 0 "signal_path.c" 108 91 + /* 0x000006 0x5185a */ ra0 = lsl(rb0,0x2); c0 = ra0 + /* 0x000007 0x18228 */ /* MW */ +.src_ref 0 "signal_path.c" 108 26 + /* 0x000008 0x9822e */ lsz0 = ra0 + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 108 26 +.src_ref 0 "signal_path.c" 109 first + /* 0x00000a 0x460a4 */ retdb; a1 = a1+%0c0 + /* 0x00000b 0x1cc01 */ /* MW */ +.src_ref 0 "signal_path.c" 108 10 first + /* 0x00000c 0x84161 */ a0[0x8] = a1 +.label _Z36sig_cirular_buffer_ptr_increment_DMBP12BufferPtrDMBi__end + /* 0x00000d 0x00000 */ nop + +.text_segment_name +.text global 2 _Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri +.src_ref 0 "signal_path.c" 112 11 +.src_ref 0 "signal_path.c" 112 11 first +.src_ref 0 "signal_path.c" 113 26 +.src_ref 0 "signal_path.c" 113 67 +.src_ref 0 "signal_path.c" 114 first + /* 0x000000 0x5c810 */ c0 = 4; a0 = a0 + 0x8 + /* 0x000001 0x20040 */ /* MW */ +.src_ref 0 "signal_path.c" 112 11 first + /* 0x000002 0x80221 */ a1 = [a0-c0] +.src_ref 0 "signal_path.c" 113 67 first + /* 0x000003 0x8022c */ lb0 = [a0-c0] +.src_ref 0 "signal_path.c" 112 4 first + /* 0x000004 0x84848 */ a1[0x0] = ra0 + /* 0x000005 0x00000 */ nop +.src_ref 0 "signal_path.c" 113 86 first + /* 0x000006 0x84008 */ ra0 = a0[0x0] +.src_ref 0 "signal_path.c" 113 86 + /* 0x000007 0x230a4 */ ra0 = lsl(ra0,0x2) +.src_ref 0 "signal_path.c" 113 26 + /* 0x000008 0x9822e */ lsz0 = ra0 + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 113 26 +.src_ref 0 "signal_path.c" 114 first + /* 0x00000a 0x460a4 */ retdb; a1 = a1+%0c0 + /* 0x00000b 0x1cc01 */ /* MW */ +.src_ref 0 "signal_path.c" 113 10 first + /* 0x00000c 0x84161 */ a0[0x8] = a1 +.label _Z33sig_cirular_buffer_ptr_put_sampleP9BufferPtri__end + /* 0x00000d 0x00000 */ nop + +.text_segment_name +.text global 2 _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.src_ref 0 "signal_path.c" 117 11 +.src_ref 0 "signal_path.c" 117 11 first +.src_ref 0 "signal_path.c" 118 26 +.src_ref 0 "signal_path.c" 118 67 +.src_ref 0 "signal_path.c" 119 first + /* 0x000000 0x5c810 */ c0 = 4; a4 = a4 + 0x8 + /* 0x000001 0x22044 */ /* MW */ +.src_ref 0 "signal_path.c" 117 11 first + /* 0x000002 0x82220 */ a0 = [a4-c0] +.src_ref 0 "signal_path.c" 118 67 first + /* 0x000003 0x8222c */ lb0 = [a4-c0] +.src_ref 0 "signal_path.c" 117 4 first + /* 0x000004 0x84048 */ a0[0x0] = ra0 + /* 0x000005 0x00000 */ nop +.src_ref 0 "signal_path.c" 118 86 first + /* 0x000006 0x86008 */ ra0 = a4[0x0] +.src_ref 0 "signal_path.c" 118 86 + /* 0x000007 0x230a4 */ ra0 = lsl(ra0,0x2) +.src_ref 0 "signal_path.c" 118 26 + /* 0x000008 0x9822e */ lsz0 = ra0 + /* 0x000009 0x00000 */ nop +.src_ref 0 "signal_path.c" 118 26 +.src_ref 0 "signal_path.c" 119 first + /* 0x00000a 0x460a4 */ retdb; a0 = a0+%0c0 + /* 0x00000b 0x1c400 */ /* MW */ +.src_ref 0 "signal_path.c" 118 10 first + /* 0x00000c 0x86160 */ a4[0x8] = a0 +.label _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi__end + /* 0x00000d 0x00000 */ nop + +.data_segment_name +.rodata.constmem global 8 _ro_data_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi__2 DM +.label _ro_lbl_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi_0_0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f +.label _ro_lbl_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi_8_1 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 + +.text_segment_name +.text global 2 _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.src_ref 0 "signal_path.c" 133 first +.src_ref 0 "signal_path.c" 133 5 + /* 0x000000 0xabfa0 */ sp+= -0x30 + /* 0x000001 0x90259 */ sp[0x10] = ahl1 + /* 0x000002 0x880f6 */ sp[0x4] = lr + /* 0x000003 0x88048 */ sp[0x0] = ra0 + /* 0x000004 0x9035b */ sp[0x18] = bhl1 + /* 0x000005 0x9045a */ sp[0x20] = bhl0 + /* 0x000006 0x90558 */ sp[0x28] = ahl0 + /* 0x000007 0x88160 */ sp[0x8] = a0 +.src_ref 0 "signal_path.c" 135 11 first + /* 0x000008 0x66000 */ calldb _Z10float64_eqyy + /* 0x000009 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 135 11 + /* 0x00000a 0x6e000 */ axl1 = [_ro_lbl_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi_0_0] + /* 0x00000b 0x00011 */ /* MW */ +.src_ref 0 "signal_path.c" 135 11 +.src_ref 0 "signal_path.c" 136 14 +.src_ref 0 "signal_path.c" 139 14 + /* 0x00000c 0x59010 */ cmp(ra0,0x0); a1 = sp[0x8] + /* 0x00000d 0x08121 */ /* MW */ +.src_ref 0 "signal_path.c" 135 11 +.src_ref 0 "signal_path.c" 135 17 + /* 0x00000e 0xbc298 */ if (z) jpsdb 0x29 +.src_ref 0 "signal_path.c" 136 14 first + /* 0x00000f 0xa0840 */ a0 = a1 + 0x8 + /* 0x000010 0x40000 */ nop; sp[0xc] = a0 + /* 0x000011 0x081e0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 23 first + /* 0x000012 0x66000 */ calldb _Z10float64_eqyy + /* 0x000013 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 135 23 +.src_ref 0 "signal_path.c" 135 23 + /* 0x000014 0x5c000 */ ax1 = 0; axl0 = sp[0x10] + /* 0x000015 0x90210 */ /* MW */ +.src_ref 0 "signal_path.c" 135 23 +.src_ref 0 "signal_path.c" 140 14 + /* 0x000016 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] + /* 0x000017 0x081a0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 23 +.src_ref 0 "signal_path.c" 135 29 +.src_ref 0 "signal_path.c" 136 14 +.src_ref 0 "signal_path.c" 139 14 + /* 0x000018 0x420f0 */ if (z) jps 0x1e; a1 = sp[0x8] + /* 0x000019 0x08121 */ /* MW */ + /* 0x00001a 0x40000 */ nop; sp[0xc] = a0 + /* 0x00001b 0x081e0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 35 + /* 0x00001c 0x66000 */ calldb _Z10float64_eqyy + /* 0x00001d 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 135 35 +.src_ref 0 "signal_path.c" 135 35 + /* 0x00001e 0x5c000 */ ax1 = 0; axl0 = sp[0x20] + /* 0x00001f 0x90410 */ /* MW */ +.src_ref 0 "signal_path.c" 135 35 +.src_ref 0 "signal_path.c" 140 14 + /* 0x000020 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] + /* 0x000021 0x081a0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 35 +.src_ref 0 "signal_path.c" 135 41 +.src_ref 0 "signal_path.c" 136 14 +.src_ref 0 "signal_path.c" 139 14 + /* 0x000022 0x420a0 */ if (z) jps 0x14; a1 = sp[0x8] + /* 0x000023 0x08121 */ /* MW */ + /* 0x000024 0x40000 */ nop; sp[0xc] = a0 + /* 0x000025 0x081e0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 47 + /* 0x000026 0x66000 */ calldb _Z10float64_eqyy + /* 0x000027 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 135 47 +.src_ref 0 "signal_path.c" 135 47 + /* 0x000028 0x5c000 */ ax1 = 0; axl0 = sp[0x18] + /* 0x000029 0x90310 */ /* MW */ +.src_ref 0 "signal_path.c" 135 47 +.src_ref 0 "signal_path.c" 140 14 + /* 0x00002a 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] + /* 0x00002b 0x081a0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 47 +.src_ref 0 "signal_path.c" 135 53 +.src_ref 0 "signal_path.c" 136 14 +.src_ref 0 "signal_path.c" 139 14 + /* 0x00002c 0x42050 */ if (z) jps 0xa; a1 = sp[0x8] + /* 0x00002d 0x08121 */ /* MW */ + /* 0x00002e 0x40000 */ nop; sp[0xc] = a0 + /* 0x00002f 0x081e0 */ /* MW */ +.src_ref 0 "signal_path.c" 135 59 + /* 0x000030 0x66000 */ calldb _Z10float64_eqyy + /* 0x000031 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 135 59 +.src_ref 0 "signal_path.c" 135 59 + /* 0x000032 0x5c000 */ ax1 = 0; axl0 = sp[0x30] + /* 0x000033 0x90610 */ /* MW */ +.src_ref 0 "signal_path.c" 135 59 +.src_ref 0 "signal_path.c" 136 14 +.src_ref 0 "signal_path.c" 139 14 + /* 0x000034 0x59010 */ cmp(ra0,0x0); a1 = sp[0x8] + /* 0x000035 0x08121 */ /* MW */ +.src_ref 0 "signal_path.c" 135 4 +.src_ref 0 "signal_path.c" 135 59 +.src_ref 0 "signal_path.c" 140 14 + /* 0x000036 0x42248 */ if (nz) jps 0x49; a0 = sp[0xc] + /* 0x000037 0x881a0 */ /* MW */ +.src_ref 0 "signal_path.c" 140 14 +.src_ref 0 "signal_path.c" 141 25 + /* 0x000038 0x88008 */ ra0 = sp[0x0] +.src_ref 0 "signal_path.c" 139 14 +.src_ref 0 "signal_path.c" 140 14 + /* 0x000039 0x5c007 */ rb0 = 1; a0 = a0 + 0x18 + /* 0x00003a 0x200c0 */ /* MW */ +.src_ref 0 "signal_path.c" 140 14 first + /* 0x00003b 0x84048 */ a0[0x0] = ra0 +.src_ref 0 "signal_path.c" 143 14 + /* 0x00003c 0xa04a0 */ a0 = a0 - 0x14 + /* 0x00003d 0x88060 */ sp[0x0] = a0 +.src_ref 0 "signal_path.c" 139 14 first + /* 0x00003e 0x8494a */ a1[0x8] = rb0 +.src_ref 0 "signal_path.c" 141 25 first + /* 0x00003f 0x66000 */ call _Z16int32_to_float64i + /* 0x000040 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 141 20 + /* 0x000041 0x2a002 */ bx0 = ax0 + 0x0 +.src_ref 0 "signal_path.c" 141 20 + /* 0x000042 0x66000 */ calldb ff_pow + /* 0x000043 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 141 20 + /* 0x000044 0x6e000 */ axl1 = [(_ro_lbl_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi_8_1 + 0)] + /* 0x000045 0x00411 */ /* MW */ +.src_ref 0 "signal_path.c" 141 39 + /* 0x000046 0x55000 */ ax1 = ax0 + 0x0; nop + /* 0x000047 0xb8000 */ /* MW */ +.src_ref 0 "signal_path.c" 141 39 + /* 0x000048 0x66000 */ calldb _Z11float64_subyy + /* 0x000049 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 141 39 + /* 0x00004a 0x6e000 */ bxl0 = [_ro_lbl_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi_0_0] + /* 0x00004b 0x00012 */ /* MW */ +.src_ref 0 "signal_path.c" 141 39 + /* 0x00004c 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x00004d 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 143 34 first + /* 0x00004e 0x66000 */ call _Z16int32_to_float64i + /* 0x00004f 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 143 34 +.src_ref 0 "signal_path.c" 143 34 + /* 0x000050 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] + /* 0x000051 0x10511 */ /* MW */ + /* 0x000052 0x40000 */ nop; sp[0x8] = bhl0 + /* 0x000053 0x1015a */ /* MW */ +.src_ref 0 "signal_path.c" 143 34 + /* 0x000054 0x66000 */ call _Z11float64_mulyy + /* 0x000055 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 143 29 + /* 0x000056 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000057 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 143 25 + /* 0x000058 0x88020 */ a0 = sp[0x0] +.src_ref 0 "signal_path.c" 143 25 +.src_ref 0 "signal_path.c" 144 34 + /* 0x000059 0x5c810 */ c0 = 4; bxl0 = sp[0x8] + /* 0x00005a 0x10112 */ /* MW */ +.src_ref 0 "signal_path.c" 143 25 + /* 0x00005b 0x80048 */ [a0+c0] = ra0 + /* 0x00005c 0x88060 */ sp[0x0] = a0 +.src_ref 0 "signal_path.c" 144 34 first + /* 0x00005d 0x66000 */ calldb _Z11float64_mulyy + /* 0x00005e 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 144 34 + /* 0x00005f 0x90211 */ axl1 = sp[0x10] +.src_ref 0 "signal_path.c" 144 29 + /* 0x000060 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000061 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 144 25 + /* 0x000062 0x88020 */ a0 = sp[0x0] +.src_ref 0 "signal_path.c" 144 25 +.src_ref 0 "signal_path.c" 145 34 + /* 0x000063 0x5c810 */ c0 = 4; bxl0 = sp[0x8] + /* 0x000064 0x10112 */ /* MW */ +.src_ref 0 "signal_path.c" 144 25 + /* 0x000065 0x80048 */ [a0+c0] = ra0 + /* 0x000066 0x88060 */ sp[0x0] = a0 +.src_ref 0 "signal_path.c" 145 34 first + /* 0x000067 0x66000 */ calldb _Z11float64_mulyy + /* 0x000068 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 145 34 + /* 0x000069 0x90411 */ axl1 = sp[0x20] +.src_ref 0 "signal_path.c" 145 29 + /* 0x00006a 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x00006b 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 145 25 + /* 0x00006c 0x88020 */ a0 = sp[0x0] +.src_ref 0 "signal_path.c" 145 25 +.src_ref 0 "signal_path.c" 146 34 + /* 0x00006d 0x5c810 */ c0 = 4; bxl0 = sp[0x8] + /* 0x00006e 0x10112 */ /* MW */ +.src_ref 0 "signal_path.c" 145 25 + /* 0x00006f 0x80048 */ [a0+c0] = ra0 + /* 0x000070 0x88260 */ sp[0x10] = a0 +.src_ref 0 "signal_path.c" 146 34 first + /* 0x000071 0x66000 */ calldb _Z11float64_mulyy + /* 0x000072 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 146 34 + /* 0x000073 0x90311 */ axl1 = sp[0x18] +.src_ref 0 "signal_path.c" 146 29 + /* 0x000074 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000075 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 146 25 + /* 0x000076 0x88020 */ a0 = sp[0x0] +.src_ref 0 "signal_path.c" 147 34 + /* 0x000077 0x90112 */ bxl0 = sp[0x8] +.src_ref 0 "signal_path.c" 146 25 + /* 0x000078 0x840c8 */ a0[0x4] = ra0 +.src_ref 0 "signal_path.c" 147 34 first + /* 0x000079 0x66000 */ calldb _Z11float64_mulyy + /* 0x00007a 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 147 34 + /* 0x00007b 0x90611 */ axl1 = sp[0x30] +.src_ref 0 "signal_path.c" 147 29 + /* 0x00007c 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x00007d 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 147 25 + /* 0x00007e 0x88220 */ a0 = sp[0x10] + /* 0x00007f 0xbc02f */ jpsdb 0x2 +.src_ref 0 "signal_path.c" 147 25 + /* 0x000080 0x840c8 */ a0[0x4] = ra0 +.src_ref 0 "signal_path.c" 136 14 first + /* 0x000081 0x8497a */ a1[0x8] = zero + /* 0x000082 0x00000 */ nop +.src_ref 0 "signal_path.c" 149 + /* 0x000083 0x880b6 */ lr = sp[0x4] +.label _Z21sig_init_preemph_coefP16SingleSignalPathdddddi__end last +.src_ref 0 "signal_path.c" 149 first +.src_ref 0 "signal_path.c" 149 first + /* 0x000084 0x460a0 */ ret; sp+= 0x30 + /* 0x000085 0x28060 */ /* MW */ + +.undef global text ff_pow + +.undef global text _Z10float64_eqyy + +.undef global text _Z16int32_to_float64i + +.undef global text _Z11float64_subyy + +.undef global text _Z30float64_to_int32_round_to_zeroy + +.undef global text _Z11float64_mulyy + +.text_segment_name +.text global 2 _Z14sig_init_delayP16SingleSignalPathi +.src_ref 0 "signal_path.c" 152 first +.src_ref 0 "signal_path.c" 153 34 first + /* 0x000000 0x40000 */ nop; a0 = a0 + 0x74 + /* 0x000001 0x203a0 */ /* MW */ +.src_ref 0 "signal_path.c" 153 11 first + /* 0x000002 0x64000 */ jpdb _Z15sig_init_bufferP9BufferPtrPiii + /* 0x000003 0x0000f */ /* MW */ +.label _Z14sig_init_delayP16SingleSignalPathi__end last +.src_ref 0 "signal_path.c" 153 11 +.src_ref 0 "signal_path.c" 153 56 + /* 0x000004 0x5c043 */ rb0 = 16; a1 = a0 - 0x40 + /* 0x000005 0x20601 */ /* MW */ + +.undef global text _Z15sig_init_bufferP9BufferPtrPiii + +.data_segment_name +.rodata.constmem global 8 _ro_data_DM_8___Z15sig_init_weightP16SingleSignalPathdi__2 DM +.label _ro_lbl_DM_8___Z15sig_init_weightP16SingleSignalPathdi_0_0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f +.label _ro_lbl_DM_8___Z15sig_init_weightP16SingleSignalPathdi_8_1 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 + +.text_segment_name +.text global 2 _Z15sig_init_weightP16SingleSignalPathdi +.src_ref 0 "signal_path.c" 157 first +.src_ref 0 "signal_path.c" 157 5 + /* 0x000000 0xabfd0 */ sp+= -0x18 + /* 0x000001 0x88076 */ sp[0x0] = lr + /* 0x000002 0x880c8 */ sp[0x4] = ra0 + /* 0x000003 0x90258 */ sp[0x10] = ahl0 + /* 0x000004 0x88160 */ sp[0x8] = a0 +.src_ref 0 "signal_path.c" 159 15 first + /* 0x000005 0x66000 */ calldb _Z10float64_eqyy + /* 0x000006 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 159 15 + /* 0x000007 0x6e000 */ axl1 = [_ro_lbl_DM_8___Z15sig_init_weightP16SingleSignalPathdi_0_0] + /* 0x000008 0x00011 */ /* MW */ +.src_ref 0 "signal_path.c" 160 14 + /* 0x000009 0x88120 */ a0 = sp[0x8] +.src_ref 0 "signal_path.c" 159 15 + /* 0x00000a 0x32020 */ cmp(ra0,0x0) +.src_ref 0 "signal_path.c" 160 14 first + /* 0x00000b 0x76000 */ a0 = a0 + 0x84 + /* 0x00000c 0x00420 */ /* MW */ +.src_ref 0 "signal_path.c" 159 4 first +.src_ref 0 "signal_path.c" 159 15 first + /* 0x00000d 0x42110 */ if (nz) jps 0x22; sp[0x8] = a0 + /* 0x00000e 0x88160 */ /* MW */ +.src_ref 0 "signal_path.c" 164 14 + /* 0x00000f 0x3800c */ ra0 = 1 +.src_ref 0 "signal_path.c" 164 14 first + /* 0x000010 0x84048 */ a0[0x0] = ra0 +.src_ref 0 "signal_path.c" 166 14 + /* 0x000011 0xa0020 */ a0 = a0 + 0x4 + /* 0x000012 0x881e0 */ sp[0xc] = a0 +.src_ref 0 "signal_path.c" 165 25 first + /* 0x000013 0x66000 */ calldb _Z16int32_to_float64i + /* 0x000014 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 165 25 + /* 0x000015 0x88088 */ ra0 = sp[0x4] +.src_ref 0 "signal_path.c" 165 20 + /* 0x000016 0x2a002 */ bx0 = ax0 + 0x0 +.src_ref 0 "signal_path.c" 165 20 + /* 0x000017 0x66000 */ calldb ff_pow + /* 0x000018 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 165 20 + /* 0x000019 0x6e000 */ axl1 = [(_ro_lbl_DM_8___Z15sig_init_weightP16SingleSignalPathdi_8_1 + 0)] + /* 0x00001a 0x00411 */ /* MW */ +.src_ref 0 "signal_path.c" 165 40 + /* 0x00001b 0x2a001 */ ax1 = ax0 + 0x0 +.src_ref 0 "signal_path.c" 165 40 + /* 0x00001c 0x66000 */ calldb _Z11float64_subyy + /* 0x00001d 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 165 40 + /* 0x00001e 0x6e000 */ bxl0 = [_ro_lbl_DM_8___Z15sig_init_weightP16SingleSignalPathdi_0_0] + /* 0x00001f 0x00012 */ /* MW */ +.src_ref 0 "signal_path.c" 165 40 + /* 0x000020 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000021 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 166 32 first + /* 0x000022 0x66000 */ call _Z16int32_to_float64i + /* 0x000023 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 166 32 + /* 0x000024 0x66000 */ calldb _Z11float64_mulyy + /* 0x000025 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 166 32 +.src_ref 0 "signal_path.c" 166 32 + /* 0x000026 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x10] + /* 0x000027 0x10211 */ /* MW */ +.src_ref 0 "signal_path.c" 166 23 + /* 0x000028 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000029 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 167 14 + /* 0x00002a 0x881a1 */ a1 = sp[0xc] +.src_ref 0 "signal_path.c" 166 14 + /* 0x00002b 0x88120 */ a0 = sp[0x8] +.src_ref 0 "signal_path.c" 167 14 + /* 0x00002c 0x8808a */ rb0 = sp[0x4] +.src_ref 0 "signal_path.c" 169 + /* 0x00002d 0x88036 */ lr = sp[0x0] +.src_ref 0 "signal_path.c" 166 14 + /* 0x00002e 0x42027 */ jpsdb 0x4; a0[0x4] = ra0 + /* 0x00002f 0x840c8 */ /* MW */ +.src_ref 0 "signal_path.c" 167 14 first + /* 0x000030 0x848ca */ a1[0x4] = rb0 +.src_ref 0 "signal_path.c" 169 + /* 0x000031 0x88036 */ lr = sp[0x0] +.src_ref 0 "signal_path.c" 160 14 first + /* 0x000032 0x40000 */ nop; a0[0x0] = zero + /* 0x000033 0x0407a */ /* MW */ +.label _Z15sig_init_weightP16SingleSignalPathdi__end last +.src_ref 0 "signal_path.c" 169 first +.src_ref 0 "signal_path.c" 169 first + /* 0x000034 0x460a0 */ ret; sp+= 0x18 + /* 0x000035 0x28030 */ /* MW */ + +.undef global text ff_pow + +.undef global text _Z10float64_eqyy + +.undef global text _Z16int32_to_float64i + +.undef global text _Z11float64_subyy + +.undef global text _Z30float64_to_int32_round_to_zeroy + +.undef global text _Z11float64_mulyy + +.text_segment_name +.text global 2 _Z15sig_calc_biquadP16SingleSignalPathi +.src_ref 0 "signal_path.c" 173 first +.src_ref 0 "signal_path.c" 174 14 first + /* 0x000000 0x84108 */ ra0 = a0[0x8] +.src_ref 0 "signal_path.c" 174 34 first +.src_ref 0 "signal_path.c" 178 8 +.src_ref 0 "signal_path.c" 185 15 + /* 0x000001 0x59010 */ cmp(ra0,0x0); ra0 = ra1 + /* 0x000002 0x18248 */ /* MW */ +.src_ref 0 "signal_path.c" 174 4 +.src_ref 0 "signal_path.c" 174 34 + /* 0x000003 0xbc1c0 */ if (z) jps 0x1c +.src_ref 0 "signal_path.c" 178 28 first +.src_ref 0 "signal_path.c" 178 39 +.src_ref 0 "signal_path.c" 178 90 +.src_ref 0 "signal_path.c" 179 52 +.src_ref 0 "signal_path.c" 179 103 + /* 0x000004 0x5c860 */ c0 = 24; a0 = a0 + 0xc + /* 0x000005 0x20060 */ /* MW */ +.src_ref 0 "signal_path.c" 178 39 +.src_ref 0 "signal_path.c" 178 68 +.src_ref 0 "signal_path.c" 179 30 +.src_ref 0 "signal_path.c" 179 81 +.src_ref 0 "signal_path.c" 180 30 + /* 0x000006 0x5c851 */ c2 = 20; ra1 = [a0+c0] + /* 0x000007 0x00009 */ /* MW */ +.src_ref 0 "signal_path.c" 178 8 +.src_ref 0 "signal_path.c" 178 68 + /* 0x000008 0x44080 */ ax0 = ra0*ra1; ra1 = [a0-c2] + /* 0x000009 0x00309 */ /* MW */ +.src_ref 0 "signal_path.c" 178 90 +.src_ref 0 "signal_path.c" 185 15 + /* 0x00000a 0x55011 */ bx0 = ra0 + 0x0; rb0 = [a0+c0] + /* 0x00000b 0x0000a */ /* MW */ +.src_ref 0 "signal_path.c" 178 44 +.src_ref 0 "signal_path.c" 178 46 +.src_ref 0 "signal_path.c" 179 30 + /* 0x00000c 0x44340 */ ax0 = ax0+ra1*rb0; rb0 = [a0-c2] + /* 0x00000d 0x0030a */ /* MW */ +.src_ref 0 "signal_path.c" 179 52 +.src_ref 0 "signal_path.c" 180 51 +.src_ref 0 "signal_path.c" 185 15 + /* 0x00000e 0x5c830 */ c1 = 12; ra0 = [a0+c0] + /* 0x00000f 0x80008 */ /* MW */ +.src_ref 0 "signal_path.c" 178 95 +.src_ref 0 "signal_path.c" 179 8 +.src_ref 0 "signal_path.c" 179 81 + /* 0x000010 0x44440 */ ax0 = ax0+rb0*ra0; ra0 = [a0-c2] + /* 0x000011 0x00308 */ /* MW */ +.src_ref 0 "signal_path.c" 179 103 +.src_ref 0 "signal_path.c" 184 15 +.src_ref 0 "signal_path.c" 186 15 + /* 0x000012 0x5c810 */ c0 = 4; rb0 = [a0+c0] + /* 0x000013 0x0000a */ /* MW */ +.src_ref 0 "signal_path.c" 179 57 +.src_ref 0 "signal_path.c" 179 59 +.src_ref 0 "signal_path.c" 180 30 + /* 0x000014 0x44140 */ ax0 = ax0+ra0*rb0; rb0 = [a0-c2] + /* 0x000015 0x0030a */ /* MW */ +.src_ref 0 "signal_path.c" 180 51 + /* 0x000016 0x8008b */ rb1 = [a0+c1] +.src_ref 0 "signal_path.c" 179 108 +.src_ref 0 "signal_path.c" 180 8 +.src_ref 0 "signal_path.c" 184 15 first + /* 0x000017 0x445c0 */ ax0 = ax0+rb0*rb1; [a0-c0] = ra1 + /* 0x000018 0x00249 */ /* MW */ +.src_ref 0 "signal_path.c" 181 29 first +.src_ref 0 "signal_path.c" 185 15 first + /* 0x000019 0x51020 */ ax0 = asl(ax0,0x1); [a0+c1] = bh0 + /* 0x00001a 0x000d2 */ /* MW */ +.src_ref 0 "signal_path.c" 186 15 first + /* 0x00001b 0x80248 */ [a0-c0] = ra0 +.src_ref 0 "signal_path.c" 181 12 first +.src_ref 0 "signal_path.c" 188 4 first + /* 0x00001c 0x460a4 */ retdb; ra0 = axs0 + /* 0x00001d 0x18008 */ /* MW */ +.src_ref 0 "signal_path.c" 187 15 first + /* 0x00001e 0x84048 */ a0[0x0] = ra0 + /* 0x00001f 0x00000 */ nop +.label _Z15sig_calc_biquadP16SingleSignalPathi__end last +.src_ref 0 "signal_path.c" 188 4 first + /* 0x000020 0x40000 */ nop; ret + /* 0x000021 0x3a140 */ /* MW */ + +.text_segment_name +.text global 2 _Z29sig_delay_buffer_load_and_getP16SingleSignalPathi +.src_ref 0 "signal_path.c" 194 first +.src_ref 0 "signal_path.c" 195 14 first + /* 0x000000 0xa03a0 */ a0 = a0 + 0x74 +.src_ref 0 "signal_path.c" 195 28 first + /* 0x000001 0x84008 */ ra0 = a0[0x0] +.src_ref 0 "signal_path.c" 194 4 +.src_ref 0 "signal_path.c" 195 40 + /* 0x000002 0x59010 */ cmp(ra0,0x0); sp+= -0x8 + /* 0x000003 0x2bff0 */ /* MW */ +.src_ref 0 "signal_path.c" 195 4 +.src_ref 0 "signal_path.c" 195 40 + /* 0x000004 0x42050 */ if (z) jps 0xa; sp[0x0] = lr + /* 0x000005 0x08076 */ /* MW */ +.src_ref 0 "signal_path.c" 198 35 first + /* 0x000006 0xa0040 */ a0 = a0 + 0x8 +.src_ref 0 "signal_path.c" 198 35 +.src_ref 0 "signal_path.c" 200 4 + /* 0x000007 0x5c006 */ ra0 = 1; a1 = a0[0x0] + /* 0x000008 0x04021 */ /* MW */ +.src_ref 0 "signal_path.c" 195 14 + /* 0x000009 0xa0440 */ a0 = a0 - 0x8 +.src_ref 0 "signal_path.c" 198 14 + /* 0x00000a 0x8480a */ rb0 = a1[0x0] +.src_ref 0 "signal_path.c" 199 4 first + /* 0x00000b 0x84849 */ a1[0x0] = ra1 + /* 0x00000c 0x880ca */ sp[0x4] = rb0 +.src_ref 0 "signal_path.c" 200 4 first + /* 0x00000d 0x66000 */ call _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri + /* 0x00000e 0x00000 */ /* MW */ + /* 0x00000f 0xbc017 */ jps 0x1 + /* 0x000010 0x880c9 */ sp[0x4] = ra1 + /* 0x000011 0x00000 */ nop +.src_ref 0 "signal_path.c" 201 4 + /* 0x000012 0x88036 */ lr = sp[0x0] +.src_ref 0 "signal_path.c" 201 4 first + /* 0x000013 0xba148 */ retdb + /* 0x000014 0x88088 */ ra0 = sp[0x4] +.label _Z29sig_delay_buffer_load_and_getP16SingleSignalPathi__end +.src_ref 0 "signal_path.c" 201 4 + /* 0x000015 0xa8010 */ sp+= 0x8 + +.undef global text _Z32sig_cirular_buffer_ptr_incrementP9BufferPtri + +.text_segment_name +.text global 2 _Z15sig_calc_weightP16SingleSignalPathi +.src_ref 0 "signal_path.c" 204 first +.src_ref 0 "signal_path.c" 205 14 first + /* 0x000000 0x76000 */ a1 = a0 + 0x84 + /* 0x000001 0x00421 */ /* MW */ +.src_ref 0 "signal_path.c" 205 14 first + /* 0x000002 0x84808 */ ra0 = a1[0x0] +.src_ref 0 "signal_path.c" 205 31 +.src_ref 0 "signal_path.c" 208 18 + /* 0x000003 0x59010 */ cmp(ra0,0x0); ra0 = ra1 + /* 0x000004 0x18248 */ /* MW */ +.src_ref 0 "signal_path.c" 205 4 +.src_ref 0 "signal_path.c" 205 31 + /* 0x000005 0xbc060 */ if (z) jps 0x6 +.src_ref 0 "signal_path.c" 208 38 first + /* 0x000006 0x76000 */ a0 = a0 + 0x88 + /* 0x000007 0x00440 */ /* MW */ +.src_ref 0 "signal_path.c" 208 38 +.src_ref 0 "signal_path.c" 210 4 first + /* 0x000008 0x460a4 */ retdb; ra1 = a0[0x0] + /* 0x000009 0x04009 */ /* MW */ +.src_ref 0 "signal_path.c" 208 18 first + /* 0x00000a 0x08100 */ ax0 = ra0*ra1 +.src_ref 0 "signal_path.c" 210 11 first + /* 0x00000b 0x98008 */ ra0 = axs0 +.label _Z15sig_calc_weightP16SingleSignalPathi__end last +.src_ref 0 "signal_path.c" 210 4 + /* 0x00000c 0x40000 */ nop; ret + /* 0x00000d 0x3a140 */ /* MW */ + +.data_segment_name +.rodata.constmem global 8 _ro_data_DM_8___Z4initP16SingleSignalPathS0_PdS1_iidddi__1 DM +.label _ro_lbl_DM_8___Z4initP16SingleSignalPathS0_PdS1_iidddi_0_0 + 0x0 + 0x0 + 0xc0 + 0xff + 0xff + 0xff + 0xdf + 0x41 + +.text_segment_name +.text global 2 _Z4initP16SingleSignalPathS0_PdS1_iidddi +.src_ref 0 "signal_path.c" 309 first +.src_ref 0 "signal_path.c" 309 5 + /* 0x000000 0xabf80 */ sp+= -0x40 + /* 0x000001 0x90758 */ sp[0x38] = ahl0 + /* 0x000002 0x90659 */ sp[0x30] = ahl1 + /* 0x000003 0x9055a */ sp[0x28] = bhl0 + /* 0x000004 0x883f6 */ sp[0x1c] = lr + /* 0x000005 0x88448 */ sp[0x20] = ra0 + /* 0x000006 0x8814a */ sp[0x8] = rb0 + /* 0x000007 0x881c9 */ sp[0xc] = ra1 + /* 0x000008 0x88263 */ sp[0x10] = a3 + /* 0x000009 0x882e1 */ sp[0x14] = a1 + /* 0x00000a 0x88360 */ sp[0x18] = a0 +.src_ref 0 "signal_path.c" 324 44 +.src_ref 0 "signal_path.c" 324 52 +.src_ref 0 "signal_path.c" 324 60 + /* 0x00000b 0x39040 */ c0 = 8 +.src_ref 0 "signal_path.c" 324 44 first + /* 0x00000c 0x8d010 */ axl0 = [a2+c0] +.src_ref 0 "signal_path.c" 324 52 + /* 0x00000d 0x8d011 */ axl1 = [a2+c0] +.src_ref 0 "signal_path.c" 324 60 + /* 0x00000e 0x8d012 */ bxl0 = [a2+c0] +.src_ref 0 "signal_path.c" 324 76 + /* 0x00000f 0x8d133 */ bxl1 = a2[0x8] + /* 0x000010 0x9005b */ sp[0x0] = bhl1 +.src_ref 0 "signal_path.c" 324 4 + /* 0x000011 0x66000 */ calldb _Z21sig_init_preemph_coefP16SingleSignalPathdddddi + /* 0x000012 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 324 4 +.src_ref 0 "signal_path.c" 324 68 + /* 0x000013 0x5c07e */ ra0 = 31; bxl1 = a2[0x0] + /* 0x000014 0x0d033 */ /* MW */ +.src_ref 0 "signal_path.c" 325 4 + /* 0x000015 0x88320 */ a0 = sp[0x18] +.src_ref 0 "signal_path.c" 325 4 first + /* 0x000016 0x66000 */ calldb _Z14sig_init_delayP16SingleSignalPathi + /* 0x000017 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 325 4 + /* 0x000018 0x88409 */ ra1 = sp[0x20] +.src_ref 0 "signal_path.c" 326 4 + /* 0x000019 0x88320 */ a0 = sp[0x18] +.src_ref 0 "signal_path.c" 326 4 first + /* 0x00001a 0x66000 */ calldb _Z15sig_init_weightP16SingleSignalPathdi + /* 0x00001b 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 326 4 +.src_ref 0 "signal_path.c" 326 4 + /* 0x00001c 0x5c07e */ ra0 = 31; axl0 = sp[0x38] + /* 0x00001d 0x10710 */ /* MW */ +.src_ref 0 "signal_path.c" 329 48 + /* 0x00001e 0x88222 */ a2 = sp[0x10] +.src_ref 0 "signal_path.c" 329 4 +.src_ref 0 "signal_path.c" 329 48 +.src_ref 0 "signal_path.c" 329 58 +.src_ref 0 "signal_path.c" 329 68 + /* 0x00001f 0x5c820 */ c0 = 8; a0 = sp[0x14] + /* 0x000020 0x082a0 */ /* MW */ +.src_ref 0 "signal_path.c" 329 4 +.src_ref 0 "signal_path.c" 329 48 first + /* 0x000021 0x5c07e */ ra0 = 31; axl0 = [a2+c0] + /* 0x000022 0x0d010 */ /* MW */ +.src_ref 0 "signal_path.c" 329 58 + /* 0x000023 0x8d011 */ axl1 = [a2+c0] +.src_ref 0 "signal_path.c" 329 68 + /* 0x000024 0x8d012 */ bxl0 = [a2+c0] +.src_ref 0 "signal_path.c" 329 88 + /* 0x000025 0x8d133 */ bxl1 = a2[0x8] + /* 0x000026 0x9005b */ sp[0x0] = bhl1 +.src_ref 0 "signal_path.c" 329 4 + /* 0x000027 0x66000 */ calldb _Z21sig_init_preemph_coefP16SingleSignalPathdddddi + /* 0x000028 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 329 78 + /* 0x000029 0x8d033 */ bxl1 = a2[0x0] +.src_ref 0 "signal_path.c" 330 4 + /* 0x00002a 0x882a0 */ a0 = sp[0x14] +.src_ref 0 "signal_path.c" 330 4 first + /* 0x00002b 0x66000 */ calldb _Z14sig_init_delayP16SingleSignalPathi + /* 0x00002c 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 330 4 + /* 0x00002d 0x88189 */ ra1 = sp[0xc] +.src_ref 0 "signal_path.c" 331 4 + /* 0x00002e 0x882a0 */ a0 = sp[0x14] +.src_ref 0 "signal_path.c" 331 4 first + /* 0x00002f 0x66000 */ calldb _Z15sig_init_weightP16SingleSignalPathdi + /* 0x000030 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 331 4 +.src_ref 0 "signal_path.c" 331 4 + /* 0x000031 0x5c07e */ ra0 = 31; axl0 = sp[0x30] + /* 0x000032 0x10610 */ /* MW */ +.src_ref 0 "signal_path.c" 335 16 + /* 0x000033 0x90511 */ axl1 = sp[0x28] +.src_ref 0 "signal_path.c" 335 16 first + /* 0x000034 0x66000 */ calldb _Z11float64_mulyy + /* 0x000035 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 335 16 + /* 0x000036 0x6e000 */ bxl0 = [_ro_lbl_DM_8___Z4initP16SingleSignalPathS0_PdS1_iidddi_0_0] + /* 0x000037 0x00012 */ /* MW */ +.src_ref 0 "signal_path.c" 335 7 + /* 0x000038 0x66000 */ call _Z30float64_to_int32_round_to_zeroy + /* 0x000039 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 335 4 + /* 0x00003a 0x6c000 */ [_ZL2mu] = ra0 + /* 0x00003b 0x00048 */ /* MW */ +.src_ref 0 "signal_path.c" 337 4 + /* 0x00003c 0x68000 */ a4 = ptr_fir_lms_delay_line + /* 0x00003d 0x00024 */ /* MW */ +.src_ref 0 "signal_path.c" 337 4 + /* 0x00003e 0x68000 */ a5 = fir_lms_delay_line + /* 0x00003f 0x00025 */ /* MW */ +.src_ref 0 "signal_path.c" 337 4 first + /* 0x000040 0x66000 */ calldb _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii + /* 0x000041 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 337 4 +.src_ref 0 "signal_path.c" 337 4 + /* 0x000042 0x5c103 */ rb0 = 64; ra1 = sp[0x8] + /* 0x000043 0x08109 */ /* MW */ +.src_ref 0 "signal_path.c" 338 4 + /* 0x000044 0x68000 */ a0 = ptr_fir_lms_coeffs + /* 0x000045 0x00020 */ /* MW */ +.src_ref 0 "signal_path.c" 338 4 + /* 0x000046 0x68000 */ a1 = fir_lms_coeffs + /* 0x000047 0x00021 */ /* MW */ +.src_ref 0 "signal_path.c" 338 4 first + /* 0x000048 0x66000 */ calldb _Z15sig_init_bufferP9BufferPtrPiii + /* 0x000049 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 338 4 +.src_ref 0 "signal_path.c" 338 4 + /* 0x00004a 0x5c103 */ rb0 = 64; ra1 = sp[0x8] + /* 0x00004b 0x08109 */ /* MW */ +.src_ref 0 "signal_path.c" 340 4 + /* 0x00004c 0x88108 */ ra0 = sp[0x8] +.src_ref 0 "signal_path.c" 340 4 first + /* 0x00004d 0x32020 */ cmp(ra0,0x0) +.src_ref 0 "signal_path.c" 340 4 + /* 0x00004e 0xbc0d5 */ if (np) jps 0xd +.src_ref 0 "signal_path.c" 341 30 first + /* 0x00004f 0x6c000 */ a0 = [(ptr_fir_lms_delay_line + 4)] + /* 0x000050 0x00220 */ /* MW */ +.src_ref 0 "signal_path.c" 340 4 first + /* 0x000051 0x62000 */ lp [ra0] 0x3 + /* 0x000052 0x00034 */ /* MW */ +.src_ref 0 "signal_path.c" 342 26 first + /* 0x000053 0x6c000 */ a2 = [(ptr_fir_lms_coeffs + 4)] + /* 0x000054 0x00222 */ /* MW */ +.src_ref 0 "signal_path.c" 341 40 +.src_ref 0 "signal_path.c" 342 36 +.src_ref 0 "signal_path.c" 344 + /* 0x000055 0x5c810 */ c0 = 4; lr = sp[0x1c] + /* 0x000056 0x083b6 */ /* MW */ +.src_ref 0 "signal_path.c" 341 40 first + /* 0x000057 0x8007a */ [a0+c0] = zero +.src_ref 0 "signal_path.c" 342 36 first + /* 0x000058 0x40000 */ nop; [a2+c0] = zero + /* 0x000059 0x0107a */ /* MW */ +.src_ref 0 "signal_path.c" 344 first +.src_ref 0 "signal_path.c" 344 first + /* 0x00005a 0x460a0 */ ret; sp+= 0x40 + /* 0x00005b 0x28080 */ /* MW */ +.label _Z4initP16SingleSignalPathS0_PdS1_iidddi__end last +.src_ref 0 "signal_path.c" 344 + /* 0x00005c 0x43fe3 */ jps -0x4; lr = sp[0x1c] + /* 0x00005d 0x883b6 */ /* MW */ + +.undef global data ptr_fir_lms_delay_line + +.undef global data fir_lms_delay_line + +.undef global data ptr_fir_lms_coeffs + +.undef global data fir_lms_coeffs + +.undef global text _Z21sig_init_preemph_coefP16SingleSignalPathdddddi + +.undef global text _Z14sig_init_delayP16SingleSignalPathi + +.undef global text _Z15sig_init_weightP16SingleSignalPathdi + +.undef global text _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii + +.undef global text _Z15sig_init_bufferP9BufferPtrPiii + +.undef global text _Z11float64_mulyy + +.undef global text _Z30float64_to_int32_round_to_zeroy + +.text_segment_name +.text global 2 _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.src_ref 0 "signal_path.c" 348 first +.src_ref 0 "signal_path.c" 371 39 first + /* 0x000000 0x96034 */ ra0.s = a4[0x0] +.src_ref 0 "signal_path.c" 371 44 first +.src_ref 0 "signal_path.c" 372 42 first + /* 0x000001 0x51a13 */ rb0 = lsl(ra0,0x10); ra0.s = a5[0x0] + /* 0x000002 0x16834 */ /* MW */ +.src_ref 0 "signal_path.c" 348 5 +.src_ref 0 "signal_path.c" 372 47 + /* 0x000003 0x51a12 */ ra0 = lsl(ra0,0x10); sp+= -0x8 + /* 0x000004 0x2bff0 */ /* MW */ + /* 0x000005 0x88076 */ sp[0x0] = lr +.src_ref 0 "signal_path.c" 383 4 + /* 0x000006 0x68000 */ a4 = ptr_fir_lms_delay_line + /* 0x000007 0x00024 */ /* MW */ +.src_ref 0 "signal_path.c" 371 18 + /* 0x000008 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32] = rb0 + /* 0x000009 0x0004a */ /* MW */ +.src_ref 0 "signal_path.c" 377 20 first + /* 0x00000a 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre] = rb0 + /* 0x00000b 0x0004a */ /* MW */ +.src_ref 0 "signal_path.c" 372 20 first + /* 0x00000c 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32] = ra0 + /* 0x00000d 0x00048 */ /* MW */ +.src_ref 0 "signal_path.c" 378 22 first + /* 0x00000e 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre] = ra0 + /* 0x00000f 0x00048 */ /* MW */ +.src_ref 0 "signal_path.c" 383 4 first + /* 0x000010 0x66000 */ call _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi + /* 0x000011 0x00000 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x000012 0x68000 */ a4 = ptr_fir_lms_delay_line + /* 0x000013 0x00024 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 + /* 0x000014 0x5c810 */ c0 = 4; axs0 = zero + /* 0x000015 0x18e80 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000016 0x5cbf0 */ c1 = -4; a4 = a4 + 0x8 + /* 0x000017 0xa2044 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 first + /* 0x000018 0x5c001 */ bx0 = 0; a5 = [a4-c0] + /* 0x000019 0x02225 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x00001a 0x8222c */ lb0 = [a4-c0] +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 389 4 + /* 0x00001b 0x68000 */ a2 = ptr_fir_lms_coeffs + /* 0x00001c 0x00022 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x00001d 0x86008 */ ra0 = a4[0x0] +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 + /* 0x00001e 0x51852 */ ra0 = lsl(ra0,0x2); rb0 = a2[0x0] + /* 0x00001f 0x0500a */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000020 0x553fa */ ra0 = rb0 + -0x1; lsz0 = ra0 + /* 0x000021 0x1822e */ /* MW */ +.src_ref 0 "signal_path.c" 394 14 +.src_ref 0 "signal_path.c" 394 18 + /* 0x000022 0x51432 */ ra0 = asr(ra0,0x1); a1 = sp[0x8] + /* 0x000023 0x08121 */ /* MW */ + /* 0x000024 0x2a067 */ rb1 = ra0 + 0x1 +.src_ref 0 "signal_path.c" 385 23 + /* 0x000025 0x62000 */ lp [rb1] 0x6 + /* 0x000026 0x00067 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x000027 0x6c000 */ a0 = [(ptr_fir_lms_coeffs + 8)] + /* 0x000028 0x00420 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x000029 0xa2804 */ a4 = a5 + 0x0 +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 + /* 0x00002a 0xd8089 */ ra1 = [a0+c0]; rb0 = [a4+%0c1] +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 + /* 0x00002b 0x444dc */ bx1 = bx0+rb0*ra1; ra0 = [a0+c0]; rb0 = [a4+%0c1] + /* 0x00002c 0x50089 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 385 23 + /* 0x00002d 0x44448 */ ax1 = ax0+rb0*ra0; bxs0 = bxs1 + /* 0x00002e 0x180c2 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 + /* 0x00002f 0x98040 */ axs0 = axs1 +.src_ref 0 "signal_path.c" 387 27 first + /* 0x000030 0x6c000 */ rb0 = [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre] + /* 0x000031 0x0000a */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 first +.src_ref 0 "signal_path.c" 389 4 first + /* 0x000032 0x54008 */ ax0 = bx0 + ax0; a4 = a2[0x4] + /* 0x000033 0x050a4 */ /* MW */ +.src_ref 0 "signal_path.c" 385 23 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000034 0x5cbe0 */ c0 = -8; ra0 = axs0 + /* 0x000035 0x18008 */ /* MW */ +.src_ref 0 "signal_path.c" 385 18 + /* 0x000036 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt] = ra0 + /* 0x000037 0x00048 */ /* MW */ +.src_ref 0 "signal_path.c" 387 31 first +.src_ref 0 "signal_path.c" 389 4 first + /* 0x000038 0x5709a */ ra0 = rb0 - ra0; a0 = a5+%0c1 + /* 0x000039 0x1ec80 */ /* MW */ +.src_ref 0 "signal_path.c" 389 4 + /* 0x00003a 0x6c000 */ rb0 = [_ZL2mu] + /* 0x00003b 0x0000a */ /* MW */ +.src_ref 0 "signal_path.c" 389 4 +.src_ref 0 "signal_path.c" 389 4 + /* 0x00003c 0x44400 */ ax0 = rb0*ra0; c1 = 0x8 + /* 0x00003d 0x2c041 */ /* MW */ +.src_ref 0 "signal_path.c" 389 4 + /* 0x00003e 0x62000 */ lp [rb1] 0x7 + /* 0x00003f 0x00077 */ /* MW */ +.src_ref 0 "signal_path.c" 387 10 + /* 0x000040 0x6c000 */ [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32] = ra0 + /* 0x000041 0x00048 */ /* MW */ +.src_ref 0 "signal_path.c" 389 4 + /* 0x000042 0x98009 */ ra1 = axs0 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000043 0x8e025 */ axs1,bxs1 = a4[0x0] +.src_ref 0 "signal_path.c" 389 4 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000044 0x82c08 */ ra0 = [a5+%0c0] +.src_ref 0 "signal_path.c" 389 4 +.src_ref 0 "signal_path.c" 389 4 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000045 0x44242 */ ax0 = ax1+ra1*ra0; rb0 = [a0+%0c0] + /* 0x000046 0x0040a */ /* MW */ +.src_ref 0 "signal_path.c" 389 4 + /* 0x000047 0x086ac */ bx0 = bx1+ra1*rb0 +.src_ref 0 "signal_path.c" 389 4 + /* 0x000048 0x8e0c0 */ [a4+c1] = axs0,bxs0 + /* 0x000049 0x00000 */ nop +.src_ref 0 "signal_path.c" 394 48 first + /* 0x00004a 0x6c000 */ ra0 = [_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32] + /* 0x00004b 0x00008 */ /* MW */ +.src_ref 0 "signal_path.c" 394 53 +.src_ref 0 "signal_path.c" 397 + /* 0x00004c 0x51610 */ ax0 = asr(ra0,0x10); lr = sp[0x0] + /* 0x00004d 0x08036 */ /* MW */ +.src_ref 0 "signal_path.c" 394 20 +.src_ref 0 "signal_path.c" 397 first + /* 0x00004e 0x460a4 */ retdb; axs0 = axs0 + /* 0x00004f 0x18000 */ /* MW */ +.src_ref 0 "signal_path.c" 394 14 first +.src_ref 0 "signal_path.c" 394 18 first + /* 0x000050 0x94870 */ a1[0x0] = axs0.s +.label _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3___end +.src_ref 0 "signal_path.c" 397 first + /* 0x000051 0xa8010 */ sp+= 0x8 + +.undef global data ptr_fir_lms_delay_line + +.undef global data ptr_fir_lms_coeffs + +.undef global text _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi + +.dir 0 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation/signal_processing" + + +.direct_eval +,-,(,) diff --git a/simulation/Release/simulation b/simulation/Release/simulation new file mode 100644 index 0000000..9c950d9 Binary files /dev/null and b/simulation/Release/simulation differ diff --git a/simulation/Release/simulation.## b/simulation/Release/simulation.## new file mode 100644 index 0000000..9c74e18 --- /dev/null +++ b/simulation/Release/simulation.## @@ -0,0 +1,2 @@ +aa435361f250687c0e1eb2648547ef9da366d40a +b67211b93ae358410514ac48305c8ebe67686881 diff --git a/simulation/Release/simulation.as b/simulation/Release/simulation.as new file mode 100644 index 0000000..7ab5d01 --- /dev/null +++ b/simulation/Release/simulation.as @@ -0,0 +1,4528 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:49 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 +Mhex +Ihex -g +u Release/simulation lpdsp32 + +// Release: ipp X-2025.06 + +.text_segment PM 0x000000 +.entry_point +.label _ivt +.src_ref 0 "lpdsp32_init.s" 15 first + /* 0x000000 0x64000 */ jp 0x20 /* MW 2 */ + /* 0x000001 0x00207 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 16 first + /* 0x000002 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000003 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 17 first + /* 0x000004 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000005 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 18 first + /* 0x000006 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000007 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 19 first + /* 0x000008 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000009 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 20 first + /* 0x00000a 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000b 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 21 first + /* 0x00000c 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000d 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 22 first + /* 0x00000e 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000f 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 23 first + /* 0x000010 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000011 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 24 first + /* 0x000012 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000013 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 25 first + /* 0x000014 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000015 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 26 first + /* 0x000016 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000017 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 27 first + /* 0x000018 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000019 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 28 first + /* 0x00001a 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001b 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 29 first + /* 0x00001c 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001d 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 30 first + /* 0x00001e 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001f 0x38000 *//* MW 1 */ +.label _main_init +.src_ref 0 "lpdsp32_init.s" 5 first + /* 0x000020 0xba112 */ r = 0x1 +.src_ref 0 "lpdsp32_init.s" 6 first + /* 0x000021 0xba113 */ s = 0x1 +.src_ref 0 "lpdsp32_init.s" 7 first + /* 0x000022 0x68003 */ sp = 0xfff8 /* MW 2 */ + /* 0x000023 0xffe38 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 8 first + /* 0x000024 0x46088 */ ie = 0x1; nop /* MW 2 */ + /* 0x000025 0x38000 *//* MW 1 */ +.label _main +.src_ref 1 "main.c" 46 first +.src_ref 1 "main.c" 46 4 + /* 0x000026 0xabf50 */ sp+= -0x58 +.src_ref 1 "main.c" 51 18 +.src_ref 1 "main.c" 52 18 + /* 0x000027 0x6e000 */ bxl0 = [0x138] /* MW 2 */ + /* 0x000028 0x09c12 *//* MW 1 */ +.src_ref 1 "main.c" 51 24 +.src_ref 1 "main.c" 51 28 +.src_ref 1 "main.c" 51 32 +.src_ref 1 "main.c" 51 36 +.src_ref 1 "main.c" 52 24 +.src_ref 1 "main.c" 52 28 +.src_ref 1 "main.c" 52 32 +.src_ref 1 "main.c" 52 36 + /* 0x000029 0x5c000 */ ax1 = 0; a2 = sp + 0x8 /* MW 2 */ + /* 0x00002a 0xa4042 *//* MW 1 */ +.src_ref 1 "main.c" 51 18 first +.src_ref 1 "main.c" 56 4 + /* 0x00002b 0x5c00a */ ra1 = 2; a2[0x0] = bhl0 /* MW 2 */ + /* 0x00002c 0x8d07a *//* MW 1 */ +.src_ref 1 "main.c" 56 4 + /* 0x00002d 0x5c103 */ rb0 = 64; a3 = sp + 0x30 /* MW 2 */ + /* 0x00002e 0x24183 *//* MW 1 */ +.src_ref 1 "main.c" 52 18 first +.src_ref 1 "main.c" 56 4 + /* 0x00002f 0x5c00a */ ra0 = 2; a3[0x0] = bhl0 /* MW 2 */ + /* 0x000030 0x0d87a *//* MW 1 */ +.src_ref 1 "main.c" 51 24 first + /* 0x000031 0x90259 */ sp[0x10] = ahl1 +.src_ref 1 "main.c" 52 24 first + /* 0x000032 0x90759 */ sp[0x38] = ahl1 +.src_ref 1 "main.c" 51 28 first + /* 0x000033 0x90359 */ sp[0x18] = ahl1 +.src_ref 1 "main.c" 52 28 first + /* 0x000034 0x90859 */ sp[0x40] = ahl1 +.src_ref 1 "main.c" 51 32 first + /* 0x000035 0x90459 */ sp[0x20] = ahl1 +.src_ref 1 "main.c" 52 32 first + /* 0x000036 0x90959 */ sp[0x48] = ahl1 +.src_ref 1 "main.c" 51 36 first + /* 0x000037 0x90559 */ sp[0x28] = ahl1 +.src_ref 1 "main.c" 52 36 first + /* 0x000038 0x90a59 */ sp[0x50] = ahl1 +.src_ref 1 "main.c" 56 4 + /* 0x000039 0x68000 */ a0 = 0x8 /* MW 2 */ + /* 0x00003a 0x00220 *//* MW 1 */ +.src_ref 1 "main.c" 56 4 + /* 0x00003b 0x6e000 */ axl1 = [0x140] /* MW 2 */ + /* 0x00003c 0x0a011 *//* MW 1 */ +.src_ref 1 "main.c" 56 4 + /* 0x00003d 0x2a008 */ ax0 = ax1 + 0x0 +.src_ref 1 "main.c" 56 4 + /* 0x00003e 0x68000 */ a1 = 0x98 /* MW 2 */ + /* 0x00003f 0x02621 *//* MW 1 */ +.src_ref 1 "main.c" 56 4 first + /* 0x000040 0x66000 */ calldb 0x172 /* MW 2 */ + /* 0x000041 0x01728 *//* MW 1 */ +.src_ref 1 "main.c" 56 4 + /* 0x000042 0x6e000 */ bxl0 = [0x148] /* MW 2 */ + /* 0x000043 0x0a412 *//* MW 1 */ +.src_ref 1 "main.c" 95 8 first +.src_ref 0 "lpdsp32_irq.h" 47 first + /* 0x000044 0xba110 */ ie = 0x1 +.src_ref 0 "lpdsp32_irq.h" 48 first + /* 0x000045 0x00000 */ nop +.src_ref 1 "main.c" 100 8 first + /* 0x000046 0x6c000 */ [0x4] = zero /* MW 2 */ + /* 0x000047 0x0027a *//* MW 1 */ +.src_ref 1 "main.c" 96 8 + /* 0x000048 0x68200 */ a5 = -0x7fffee /* MW 2 */ + /* 0x000049 0x004a5 *//* MW 1 */ +.src_ref 1 "main.c" 96 8 first + /* 0x00004a 0x6c000 */ [0x128] = a5 /* MW 2 */ + /* 0x00004b 0x09465 *//* MW 1 */ +.src_ref 1 "main.c" 97 8 + /* 0x00004c 0x68200 */ a4 = -0x7ffff8 /* MW 2 */ + /* 0x00004d 0x00224 *//* MW 1 */ +.src_ref 1 "main.c" 97 8 first + /* 0x00004e 0x6c000 */ [0x12c] = a4 /* MW 2 */ + /* 0x00004f 0x09664 *//* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 + /* 0x000050 0x5c810 */ c0 = 4; rb0 = 0x2 /* MW 2 */ + /* 0x000051 0x30016 *//* MW 1 */ +.src_ref 1 "main.c" 105 16 + /* 0x000052 0x40000 */ nop; ra1 = 0x1 /* MW 2 */ + /* 0x000053 0x3000d *//* MW 1 */ +.src_ref 1 "main.c" 102 12 first + /* 0x000054 0x6e600 */ [0xc00004] = rb0.b /* MW 2 */ + /* 0x000055 0x00266 *//* MW 1 */ +.src_ref 1 "main.c" 103 12 first +.src_ref 0 "lpdsp32_irq.h" 66 first + /* 0x000056 0x460e0 */ powerdown; nop /* MW 2 */ + /* 0x000057 0x38000 *//* MW 1 */ +.src_ref 1 "main.c" 104 16 first + /* 0x000058 0x6c000 */ ra0 = [0x4] /* MW 2 */ + /* 0x000059 0x00208 *//* MW 1 */ +.src_ref 1 "main.c" 104 32 + /* 0x00005a 0x32060 */ cmp(ra0,0x1) +.src_ref 1 "main.c" 104 12 +.src_ref 1 "main.c" 104 32 + /* 0x00005b 0xbff81 */ if (nz) jps -0x8 +.src_ref 1 "main.c" 105 16 first + /* 0x00005c 0x6e600 */ [0xc00004] = ra1.b /* MW 2 */ + /* 0x00005d 0x00265 *//* MW 1 */ +.src_ref 1 "main.c" 106 16 first + /* 0x00005e 0x6c000 */ [0x4] = zero /* MW 2 */ + /* 0x00005f 0x0027a *//* MW 1 */ +.src_ref 1 "main.c" 107 33 + /* 0x000060 0x68200 */ lb0 = -0x7ffff0 /* MW 2 */ + /* 0x000061 0x0042c *//* MW 1 */ +.src_ref 1 "main.c" 107 44 first + /* 0x000062 0x6c000 */ a5 = [0x128] /* MW 2 */ + /* 0x000063 0x09425 *//* MW 1 */ +.src_ref 1 "main.c" 107 33 + /* 0x000064 0x68000 */ lsz0 = 0x8 /* MW 2 */ + /* 0x000065 0x0022e *//* MW 1 */ +.src_ref 1 "main.c" 108 35 first + /* 0x000066 0x6c000 */ a3 = [0x12c] /* MW 2 */ + /* 0x000067 0x09623 *//* MW 1 */ +.src_ref 1 "main.c" 107 33 first + /* 0x000068 0x9ec00 */ a0 = a5+%0c0 +.src_ref 1 "main.c" 107 16 + /* 0x000069 0x6c000 */ [0x128] = a0 /* MW 2 */ + /* 0x00006a 0x09460 *//* MW 1 */ +.src_ref 1 "main.c" 109 16 + /* 0x00006b 0x68200 */ a4 = -0x7ffffe /* MW 2 */ + /* 0x00006c 0x000a4 *//* MW 1 */ +.src_ref 1 "main.c" 108 34 first + /* 0x00006d 0x95835 */ ra1.s = a3[0x0] +.src_ref 1 "main.c" 108 16 + /* 0x00006e 0x94075 */ a0[0x0] = ra1.s + /* 0x00006f 0x88063 */ sp[0x0] = a3 + /* 0x000070 0x40000 */ nop; a5 = a4 - 0x2 /* MW 2 */ + /* 0x000071 0x22415 *//* MW 1 */ +.src_ref 1 "main.c" 109 16 + /* 0x000072 0x68000 */ a1 = 0x98 /* MW 2 */ + /* 0x000073 0x02621 *//* MW 1 */ +.src_ref 1 "main.c" 109 16 + /* 0x000074 0x68000 */ a0 = 0x8 /* MW 2 */ + /* 0x000075 0x00220 *//* MW 1 */ +.src_ref 1 "main.c" 109 16 first + /* 0x000076 0x66000 */ calldb 0x1d0 /* MW 2 */ + /* 0x000077 0x01d08 *//* MW 1 */ + /* 0x000078 0x6c000 */ ra0 = [0x130] /* MW 2 */ + /* 0x000079 0x09808 *//* MW 1 */ +.src_ref 1 "main.c" 101 8 first +.src_ref 1 "main.c" 105 16 + /* 0x00007a 0x43ec7 */ jpsdb -0x28; ra1 = 0x1 /* MW 2 */ + /* 0x00007b 0xb000d *//* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 + /* 0x00007c 0x5c810 */ c0 = 4; rb0 = 0x2 /* MW 2 */ + /* 0x00007d 0x30016 *//* MW 1 */ +.label _Z15sig_init_bufferP9BufferPtrPiii +.src_ref 2 "signal_path.c" 71 first +.src_ref 2 "signal_path.c" 72 10 +.src_ref 2 "signal_path.c" 77 24 + /* 0x00007e 0x39020 */ c0 = 4 +.src_ref 2 "signal_path.c" 72 10 first +.src_ref 2 "signal_path.c" 76 4 first + /* 0x00007f 0x59014 */ cmp(ra1,0x0); [a0+c0] = ra1 /* MW 2 */ + /* 0x000080 0x00049 *//* MW 1 */ +.src_ref 2 "signal_path.c" 74 10 first +.src_ref 2 "signal_path.c" 76 4 + /* 0x000081 0x42036 */ if (np) jpsdb 0x6; a0[0x4] = a1 /* MW 2 */ + /* 0x000082 0x840e1 *//* MW 1 */ +.src_ref 2 "signal_path.c" 73 10 first + /* 0x000083 0x84061 */ a0[0x0] = a1 +.src_ref 2 "signal_path.c" 76 4 first + /* 0x000084 0x62000 */ lp [ra1] 0x1 /* MW 2 */ + /* 0x000085 0x00015 *//* MW 1 */ + /* 0x000086 0x00000 */ nop + /* 0x000087 0x00000 */ nop +.src_ref 2 "signal_path.c" 77 24 first + /* 0x000088 0x8087a */ [a1+c0] = zero +.src_ref 2 "signal_path.c" 79 14 first + /* 0x000089 0x301a8 */ cmp(ra1,rb0) +.src_ref 2 "signal_path.c" 79 4 +.src_ref 2 "signal_path.c" 79 14 + /* 0x00008a 0x42011 */ if (s) jps 0x2; ra0 = zero /* MW 2 */ + /* 0x00008b 0x18e88 *//* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + /* 0x00008c 0x5c006 */ ra0 = 1; ret /* MW 2 */ + /* 0x00008d 0x3a140 *//* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + /* 0x00008e 0x40000 */ nop; ret /* MW 2 */ + /* 0x00008f 0x3a140 *//* MW 1 */ +.label _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.src_ref 2 "signal_path.c" 87 first +.src_ref 2 "signal_path.c" 88 10 +.src_ref 2 "signal_path.c" 93 24 + /* 0x000090 0x39020 */ c0 = 4 +.src_ref 2 "signal_path.c" 88 10 first +.src_ref 2 "signal_path.c" 92 4 first + /* 0x000091 0x59014 */ cmp(ra1,0x0); [a4+c0] = ra1 /* MW 2 */ + /* 0x000092 0x02049 *//* MW 1 */ +.src_ref 2 "signal_path.c" 90 10 first +.src_ref 2 "signal_path.c" 92 4 + /* 0x000093 0x42036 */ if (np) jpsdb 0x6; a4[0x4] = a5 /* MW 2 */ + /* 0x000094 0x860e5 *//* MW 1 */ +.src_ref 2 "signal_path.c" 89 10 first + /* 0x000095 0x86065 */ a4[0x0] = a5 +.src_ref 2 "signal_path.c" 92 4 first + /* 0x000096 0x62000 */ lp [ra1] 0x1 /* MW 2 */ + /* 0x000097 0x00015 *//* MW 1 */ + /* 0x000098 0x00000 */ nop + /* 0x000099 0x00000 */ nop +.src_ref 2 "signal_path.c" 93 24 first + /* 0x00009a 0x8287a */ [a5+c0] = zero +.src_ref 2 "signal_path.c" 95 14 first + /* 0x00009b 0x301a8 */ cmp(ra1,rb0) +.src_ref 2 "signal_path.c" 95 4 +.src_ref 2 "signal_path.c" 95 14 + /* 0x00009c 0x42011 */ if (s) jps 0x2; ra0 = zero /* MW 2 */ + /* 0x00009d 0x18e88 *//* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + /* 0x00009e 0x5c006 */ ra0 = 1; ret /* MW 2 */ + /* 0x00009f 0x3a140 *//* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + /* 0x0000a0 0x40000 */ nop; ret /* MW 2 */ + /* 0x0000a1 0x3a140 *//* MW 1 */ +.label _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.src_ref 2 "signal_path.c" 117 11 +.src_ref 2 "signal_path.c" 117 11 first +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 118 67 +.src_ref 2 "signal_path.c" 119 first + /* 0x0000a2 0x5c810 */ c0 = 4; a4 = a4 + 0x8 /* MW 2 */ + /* 0x0000a3 0x22044 *//* MW 1 */ +.src_ref 2 "signal_path.c" 117 11 first + /* 0x0000a4 0x82220 */ a0 = [a4-c0] +.src_ref 2 "signal_path.c" 118 67 first + /* 0x0000a5 0x8222c */ lb0 = [a4-c0] +.src_ref 2 "signal_path.c" 117 4 first + /* 0x0000a6 0x84048 */ a0[0x0] = ra0 + /* 0x0000a7 0x00000 */ nop +.src_ref 2 "signal_path.c" 118 86 first + /* 0x0000a8 0x86008 */ ra0 = a4[0x0] +.src_ref 2 "signal_path.c" 118 86 + /* 0x0000a9 0x230a4 */ ra0 = lsl(ra0,0x2) +.src_ref 2 "signal_path.c" 118 26 + /* 0x0000aa 0x9822e */ lsz0 = ra0 + /* 0x0000ab 0x00000 */ nop +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 119 first + /* 0x0000ac 0x460a4 */ retdb; a0 = a0+%0c0 /* MW 2 */ + /* 0x0000ad 0x1c400 *//* MW 1 */ +.src_ref 2 "signal_path.c" 118 10 first + /* 0x0000ae 0x86160 */ a4[0x8] = a0 + /* 0x0000af 0x00000 */ nop +.label _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.src_ref 2 "signal_path.c" 133 first +.src_ref 2 "signal_path.c" 133 5 + /* 0x0000b0 0xabfa0 */ sp+= -0x30 + /* 0x0000b1 0x90259 */ sp[0x10] = ahl1 + /* 0x0000b2 0x880f6 */ sp[0x4] = lr + /* 0x0000b3 0x88048 */ sp[0x0] = ra0 + /* 0x0000b4 0x9035b */ sp[0x18] = bhl1 + /* 0x0000b5 0x9045a */ sp[0x20] = bhl0 + /* 0x0000b6 0x90558 */ sp[0x28] = ahl0 + /* 0x0000b7 0x88160 */ sp[0x8] = a0 +.src_ref 2 "signal_path.c" 135 11 first + /* 0x0000b8 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x0000b9 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 + /* 0x0000ba 0x6e000 */ axl1 = [0x270] /* MW 2 */ + /* 0x0000bb 0x13811 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + /* 0x0000bc 0x59010 */ cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ + /* 0x0000bd 0x08121 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 135 17 + /* 0x0000be 0xbc298 */ if (z) jpsdb 0x29 +.src_ref 2 "signal_path.c" 136 14 first + /* 0x0000bf 0xa0840 */ a0 = a1 + 0x8 + /* 0x0000c0 0x40000 */ nop; sp[0xc] = a0 /* MW 2 */ + /* 0x0000c1 0x081e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 first + /* 0x0000c2 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x0000c3 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 23 + /* 0x0000c4 0x5c000 */ ax1 = 0; axl0 = sp[0x10] /* MW 2 */ + /* 0x0000c5 0x90210 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 140 14 + /* 0x0000c6 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ + /* 0x0000c7 0x081a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 29 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + /* 0x0000c8 0x420f0 */ if (z) jps 0x1e; a1 = sp[0x8] /* MW 2 */ + /* 0x0000c9 0x08121 *//* MW 1 */ + /* 0x0000ca 0x40000 */ nop; sp[0xc] = a0 /* MW 2 */ + /* 0x0000cb 0x081e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 + /* 0x0000cc 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x0000cd 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 35 + /* 0x0000ce 0x5c000 */ ax1 = 0; axl0 = sp[0x20] /* MW 2 */ + /* 0x0000cf 0x90410 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 140 14 + /* 0x0000d0 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ + /* 0x0000d1 0x081a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 41 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + /* 0x0000d2 0x420a0 */ if (z) jps 0x14; a1 = sp[0x8] /* MW 2 */ + /* 0x0000d3 0x08121 *//* MW 1 */ + /* 0x0000d4 0x40000 */ nop; sp[0xc] = a0 /* MW 2 */ + /* 0x0000d5 0x081e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 + /* 0x0000d6 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x0000d7 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 47 + /* 0x0000d8 0x5c000 */ ax1 = 0; axl0 = sp[0x18] /* MW 2 */ + /* 0x0000d9 0x90310 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 140 14 + /* 0x0000da 0x59010 */ cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ + /* 0x0000db 0x081a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 53 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + /* 0x0000dc 0x42050 */ if (z) jps 0xa; a1 = sp[0x8] /* MW 2 */ + /* 0x0000dd 0x08121 *//* MW 1 */ + /* 0x0000de 0x40000 */ nop; sp[0xc] = a0 /* MW 2 */ + /* 0x0000df 0x081e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 + /* 0x0000e0 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x0000e1 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 135 59 + /* 0x0000e2 0x5c000 */ ax1 = 0; axl0 = sp[0x30] /* MW 2 */ + /* 0x0000e3 0x90610 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + /* 0x0000e4 0x59010 */ cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ + /* 0x0000e5 0x08121 *//* MW 1 */ +.src_ref 2 "signal_path.c" 135 4 +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 140 14 + /* 0x0000e6 0x42248 */ if (nz) jps 0x49; a0 = sp[0xc] /* MW 2 */ + /* 0x0000e7 0x881a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 +.src_ref 2 "signal_path.c" 141 25 + /* 0x0000e8 0x88008 */ ra0 = sp[0x0] +.src_ref 2 "signal_path.c" 139 14 +.src_ref 2 "signal_path.c" 140 14 + /* 0x0000e9 0x5c007 */ rb0 = 1; a0 = a0 + 0x18 /* MW 2 */ + /* 0x0000ea 0x200c0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 first + /* 0x0000eb 0x84048 */ a0[0x0] = ra0 +.src_ref 2 "signal_path.c" 143 14 + /* 0x0000ec 0xa04a0 */ a0 = a0 - 0x14 + /* 0x0000ed 0x88060 */ sp[0x0] = a0 +.src_ref 2 "signal_path.c" 139 14 first + /* 0x0000ee 0x8494a */ a1[0x8] = rb0 +.src_ref 2 "signal_path.c" 141 25 first + /* 0x0000ef 0x66000 */ call 0x350 /* MW 2 */ + /* 0x0000f0 0x03500 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 + /* 0x0000f1 0x2a002 */ bx0 = ax0 + 0x0 +.src_ref 2 "signal_path.c" 141 20 + /* 0x0000f2 0x66000 */ calldb 0x7ba /* MW 2 */ + /* 0x0000f3 0x07ba8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 + /* 0x0000f4 0x6e000 */ axl1 = [0x278] /* MW 2 */ + /* 0x0000f5 0x13c11 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 + /* 0x0000f6 0x55000 */ ax1 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0000f7 0xb8000 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 + /* 0x0000f8 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0000f9 0x050c8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 + /* 0x0000fa 0x6e000 */ bxl0 = [0x270] /* MW 2 */ + /* 0x0000fb 0x13812 *//* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 + /* 0x0000fc 0x66000 */ call 0x36e /* MW 2 */ + /* 0x0000fd 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 first + /* 0x0000fe 0x66000 */ call 0x350 /* MW 2 */ + /* 0x0000ff 0x03500 *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 +.src_ref 2 "signal_path.c" 143 34 + /* 0x000100 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x000101 0x10511 *//* MW 1 */ + /* 0x000102 0x40000 */ nop; sp[0x8] = bhl0 /* MW 2 */ + /* 0x000103 0x1015a *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 + /* 0x000104 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000105 0x05180 *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 29 + /* 0x000106 0x66000 */ call 0x36e /* MW 2 */ + /* 0x000107 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 + /* 0x000108 0x88020 */ a0 = sp[0x0] +.src_ref 2 "signal_path.c" 143 25 +.src_ref 2 "signal_path.c" 144 34 + /* 0x000109 0x5c810 */ c0 = 4; bxl0 = sp[0x8] /* MW 2 */ + /* 0x00010a 0x10112 *//* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 + /* 0x00010b 0x80048 */ [a0+c0] = ra0 + /* 0x00010c 0x88060 */ sp[0x0] = a0 +.src_ref 2 "signal_path.c" 144 34 first + /* 0x00010d 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00010e 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 144 34 + /* 0x00010f 0x90211 */ axl1 = sp[0x10] +.src_ref 2 "signal_path.c" 144 29 + /* 0x000110 0x66000 */ call 0x36e /* MW 2 */ + /* 0x000111 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 + /* 0x000112 0x88020 */ a0 = sp[0x0] +.src_ref 2 "signal_path.c" 144 25 +.src_ref 2 "signal_path.c" 145 34 + /* 0x000113 0x5c810 */ c0 = 4; bxl0 = sp[0x8] /* MW 2 */ + /* 0x000114 0x10112 *//* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 + /* 0x000115 0x80048 */ [a0+c0] = ra0 + /* 0x000116 0x88060 */ sp[0x0] = a0 +.src_ref 2 "signal_path.c" 145 34 first + /* 0x000117 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000118 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 145 34 + /* 0x000119 0x90411 */ axl1 = sp[0x20] +.src_ref 2 "signal_path.c" 145 29 + /* 0x00011a 0x66000 */ call 0x36e /* MW 2 */ + /* 0x00011b 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 + /* 0x00011c 0x88020 */ a0 = sp[0x0] +.src_ref 2 "signal_path.c" 145 25 +.src_ref 2 "signal_path.c" 146 34 + /* 0x00011d 0x5c810 */ c0 = 4; bxl0 = sp[0x8] /* MW 2 */ + /* 0x00011e 0x10112 *//* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 + /* 0x00011f 0x80048 */ [a0+c0] = ra0 + /* 0x000120 0x88260 */ sp[0x10] = a0 +.src_ref 2 "signal_path.c" 146 34 first + /* 0x000121 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000122 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 146 34 + /* 0x000123 0x90311 */ axl1 = sp[0x18] +.src_ref 2 "signal_path.c" 146 29 + /* 0x000124 0x66000 */ call 0x36e /* MW 2 */ + /* 0x000125 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 146 25 + /* 0x000126 0x88020 */ a0 = sp[0x0] +.src_ref 2 "signal_path.c" 147 34 + /* 0x000127 0x90112 */ bxl0 = sp[0x8] +.src_ref 2 "signal_path.c" 146 25 + /* 0x000128 0x840c8 */ a0[0x4] = ra0 +.src_ref 2 "signal_path.c" 147 34 first + /* 0x000129 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00012a 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 147 34 + /* 0x00012b 0x90611 */ axl1 = sp[0x30] +.src_ref 2 "signal_path.c" 147 29 + /* 0x00012c 0x66000 */ call 0x36e /* MW 2 */ + /* 0x00012d 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 147 25 + /* 0x00012e 0x88220 */ a0 = sp[0x10] + /* 0x00012f 0xbc02f */ jpsdb 0x2 +.src_ref 2 "signal_path.c" 147 25 + /* 0x000130 0x840c8 */ a0[0x4] = ra0 +.src_ref 2 "signal_path.c" 136 14 first + /* 0x000131 0x8497a */ a1[0x8] = zero + /* 0x000132 0x00000 */ nop +.src_ref 2 "signal_path.c" 149 + /* 0x000133 0x880b6 */ lr = sp[0x4] +.src_ref 2 "signal_path.c" 149 first +.src_ref 2 "signal_path.c" 149 first + /* 0x000134 0x460a0 */ ret; sp+= 0x30 /* MW 2 */ + /* 0x000135 0x28060 *//* MW 1 */ +.label _Z14sig_init_delayP16SingleSignalPathi +.src_ref 2 "signal_path.c" 152 first +.src_ref 2 "signal_path.c" 153 34 first + /* 0x000136 0x40000 */ nop; a0 = a0 + 0x74 /* MW 2 */ + /* 0x000137 0x203a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 first + /* 0x000138 0x64000 */ jpdb 0x7e /* MW 2 */ + /* 0x000139 0x007ef *//* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 +.src_ref 2 "signal_path.c" 153 56 + /* 0x00013a 0x5c043 */ rb0 = 16; a1 = a0 - 0x40 /* MW 2 */ + /* 0x00013b 0x20601 *//* MW 1 */ +.label _Z15sig_init_weightP16SingleSignalPathdi +.src_ref 2 "signal_path.c" 157 first +.src_ref 2 "signal_path.c" 157 5 + /* 0x00013c 0xabfd0 */ sp+= -0x18 + /* 0x00013d 0x88076 */ sp[0x0] = lr + /* 0x00013e 0x880c8 */ sp[0x4] = ra0 + /* 0x00013f 0x90258 */ sp[0x10] = ahl0 + /* 0x000140 0x88160 */ sp[0x8] = a0 +.src_ref 2 "signal_path.c" 159 15 first + /* 0x000141 0x66000 */ calldb 0x698 /* MW 2 */ + /* 0x000142 0x06988 *//* MW 1 */ +.src_ref 2 "signal_path.c" 159 15 + /* 0x000143 0x6e000 */ axl1 = [0x280] /* MW 2 */ + /* 0x000144 0x14011 *//* MW 1 */ +.src_ref 2 "signal_path.c" 160 14 + /* 0x000145 0x88120 */ a0 = sp[0x8] +.src_ref 2 "signal_path.c" 159 15 + /* 0x000146 0x32020 */ cmp(ra0,0x0) +.src_ref 2 "signal_path.c" 160 14 first + /* 0x000147 0x76000 */ a0 = a0 + 0x84 /* MW 2 */ + /* 0x000148 0x00420 *//* MW 1 */ +.src_ref 2 "signal_path.c" 159 4 first +.src_ref 2 "signal_path.c" 159 15 first + /* 0x000149 0x42110 */ if (nz) jps 0x22; sp[0x8] = a0 /* MW 2 */ + /* 0x00014a 0x88160 *//* MW 1 */ +.src_ref 2 "signal_path.c" 164 14 + /* 0x00014b 0x3800c */ ra0 = 1 +.src_ref 2 "signal_path.c" 164 14 first + /* 0x00014c 0x84048 */ a0[0x0] = ra0 +.src_ref 2 "signal_path.c" 166 14 + /* 0x00014d 0xa0020 */ a0 = a0 + 0x4 + /* 0x00014e 0x881e0 */ sp[0xc] = a0 +.src_ref 2 "signal_path.c" 165 25 first + /* 0x00014f 0x66000 */ calldb 0x350 /* MW 2 */ + /* 0x000150 0x03508 *//* MW 1 */ +.src_ref 2 "signal_path.c" 165 25 + /* 0x000151 0x88088 */ ra0 = sp[0x4] +.src_ref 2 "signal_path.c" 165 20 + /* 0x000152 0x2a002 */ bx0 = ax0 + 0x0 +.src_ref 2 "signal_path.c" 165 20 + /* 0x000153 0x66000 */ calldb 0x7ba /* MW 2 */ + /* 0x000154 0x07ba8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 165 20 + /* 0x000155 0x6e000 */ axl1 = [0x288] /* MW 2 */ + /* 0x000156 0x14411 *//* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 + /* 0x000157 0x2a001 */ ax1 = ax0 + 0x0 +.src_ref 2 "signal_path.c" 165 40 + /* 0x000158 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000159 0x050c8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 + /* 0x00015a 0x6e000 */ bxl0 = [0x280] /* MW 2 */ + /* 0x00015b 0x14012 *//* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 + /* 0x00015c 0x66000 */ call 0x36e /* MW 2 */ + /* 0x00015d 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 first + /* 0x00015e 0x66000 */ call 0x350 /* MW 2 */ + /* 0x00015f 0x03500 *//* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 + /* 0x000160 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000161 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 +.src_ref 2 "signal_path.c" 166 32 + /* 0x000162 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x10] /* MW 2 */ + /* 0x000163 0x10211 *//* MW 1 */ +.src_ref 2 "signal_path.c" 166 23 + /* 0x000164 0x66000 */ call 0x36e /* MW 2 */ + /* 0x000165 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 + /* 0x000166 0x881a1 */ a1 = sp[0xc] +.src_ref 2 "signal_path.c" 166 14 + /* 0x000167 0x88120 */ a0 = sp[0x8] +.src_ref 2 "signal_path.c" 167 14 + /* 0x000168 0x8808a */ rb0 = sp[0x4] +.src_ref 2 "signal_path.c" 169 + /* 0x000169 0x88036 */ lr = sp[0x0] +.src_ref 2 "signal_path.c" 166 14 + /* 0x00016a 0x42027 */ jpsdb 0x4; a0[0x4] = ra0 /* MW 2 */ + /* 0x00016b 0x840c8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 first + /* 0x00016c 0x848ca */ a1[0x4] = rb0 +.src_ref 2 "signal_path.c" 169 + /* 0x00016d 0x88036 */ lr = sp[0x0] +.src_ref 2 "signal_path.c" 160 14 first + /* 0x00016e 0x40000 */ nop; a0[0x0] = zero /* MW 2 */ + /* 0x00016f 0x0407a *//* MW 1 */ +.src_ref 2 "signal_path.c" 169 first +.src_ref 2 "signal_path.c" 169 first + /* 0x000170 0x460a0 */ ret; sp+= 0x18 /* MW 2 */ + /* 0x000171 0x28030 *//* MW 1 */ +.label _Z4initP16SingleSignalPathS0_PdS1_iidddi +.src_ref 2 "signal_path.c" 309 first +.src_ref 2 "signal_path.c" 309 5 + /* 0x000172 0xabf80 */ sp+= -0x40 + /* 0x000173 0x90758 */ sp[0x38] = ahl0 + /* 0x000174 0x90659 */ sp[0x30] = ahl1 + /* 0x000175 0x9055a */ sp[0x28] = bhl0 + /* 0x000176 0x883f6 */ sp[0x1c] = lr + /* 0x000177 0x88448 */ sp[0x20] = ra0 + /* 0x000178 0x8814a */ sp[0x8] = rb0 + /* 0x000179 0x881c9 */ sp[0xc] = ra1 + /* 0x00017a 0x88263 */ sp[0x10] = a3 + /* 0x00017b 0x882e1 */ sp[0x14] = a1 + /* 0x00017c 0x88360 */ sp[0x18] = a0 +.src_ref 2 "signal_path.c" 324 44 +.src_ref 2 "signal_path.c" 324 52 +.src_ref 2 "signal_path.c" 324 60 + /* 0x00017d 0x39040 */ c0 = 8 +.src_ref 2 "signal_path.c" 324 44 first + /* 0x00017e 0x8d010 */ axl0 = [a2+c0] +.src_ref 2 "signal_path.c" 324 52 + /* 0x00017f 0x8d011 */ axl1 = [a2+c0] +.src_ref 2 "signal_path.c" 324 60 + /* 0x000180 0x8d012 */ bxl0 = [a2+c0] +.src_ref 2 "signal_path.c" 324 76 + /* 0x000181 0x8d133 */ bxl1 = a2[0x8] + /* 0x000182 0x9005b */ sp[0x0] = bhl1 +.src_ref 2 "signal_path.c" 324 4 + /* 0x000183 0x66000 */ calldb 0xb0 /* MW 2 */ + /* 0x000184 0x00b08 *//* MW 1 */ +.src_ref 2 "signal_path.c" 324 4 +.src_ref 2 "signal_path.c" 324 68 + /* 0x000185 0x5c07e */ ra0 = 31; bxl1 = a2[0x0] /* MW 2 */ + /* 0x000186 0x0d033 *//* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 + /* 0x000187 0x88320 */ a0 = sp[0x18] +.src_ref 2 "signal_path.c" 325 4 first + /* 0x000188 0x66000 */ calldb 0x136 /* MW 2 */ + /* 0x000189 0x01368 *//* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 + /* 0x00018a 0x88409 */ ra1 = sp[0x20] +.src_ref 2 "signal_path.c" 326 4 + /* 0x00018b 0x88320 */ a0 = sp[0x18] +.src_ref 2 "signal_path.c" 326 4 first + /* 0x00018c 0x66000 */ calldb 0x13c /* MW 2 */ + /* 0x00018d 0x013c8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 326 4 +.src_ref 2 "signal_path.c" 326 4 + /* 0x00018e 0x5c07e */ ra0 = 31; axl0 = sp[0x38] /* MW 2 */ + /* 0x00018f 0x10710 *//* MW 1 */ +.src_ref 2 "signal_path.c" 329 48 + /* 0x000190 0x88222 */ a2 = sp[0x10] +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 +.src_ref 2 "signal_path.c" 329 58 +.src_ref 2 "signal_path.c" 329 68 + /* 0x000191 0x5c820 */ c0 = 8; a0 = sp[0x14] /* MW 2 */ + /* 0x000192 0x082a0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 first + /* 0x000193 0x5c07e */ ra0 = 31; axl0 = [a2+c0] /* MW 2 */ + /* 0x000194 0x0d010 *//* MW 1 */ +.src_ref 2 "signal_path.c" 329 58 + /* 0x000195 0x8d011 */ axl1 = [a2+c0] +.src_ref 2 "signal_path.c" 329 68 + /* 0x000196 0x8d012 */ bxl0 = [a2+c0] +.src_ref 2 "signal_path.c" 329 88 + /* 0x000197 0x8d133 */ bxl1 = a2[0x8] + /* 0x000198 0x9005b */ sp[0x0] = bhl1 +.src_ref 2 "signal_path.c" 329 4 + /* 0x000199 0x66000 */ calldb 0xb0 /* MW 2 */ + /* 0x00019a 0x00b08 *//* MW 1 */ +.src_ref 2 "signal_path.c" 329 78 + /* 0x00019b 0x8d033 */ bxl1 = a2[0x0] +.src_ref 2 "signal_path.c" 330 4 + /* 0x00019c 0x882a0 */ a0 = sp[0x14] +.src_ref 2 "signal_path.c" 330 4 first + /* 0x00019d 0x66000 */ calldb 0x136 /* MW 2 */ + /* 0x00019e 0x01368 *//* MW 1 */ +.src_ref 2 "signal_path.c" 330 4 + /* 0x00019f 0x88189 */ ra1 = sp[0xc] +.src_ref 2 "signal_path.c" 331 4 + /* 0x0001a0 0x882a0 */ a0 = sp[0x14] +.src_ref 2 "signal_path.c" 331 4 first + /* 0x0001a1 0x66000 */ calldb 0x13c /* MW 2 */ + /* 0x0001a2 0x013c8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 331 4 +.src_ref 2 "signal_path.c" 331 4 + /* 0x0001a3 0x5c07e */ ra0 = 31; axl0 = sp[0x30] /* MW 2 */ + /* 0x0001a4 0x10610 *//* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 + /* 0x0001a5 0x90511 */ axl1 = sp[0x28] +.src_ref 2 "signal_path.c" 335 16 first + /* 0x0001a6 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0001a7 0x05188 *//* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 + /* 0x0001a8 0x6e000 */ bxl0 = [0x290] /* MW 2 */ + /* 0x0001a9 0x14812 *//* MW 1 */ +.src_ref 2 "signal_path.c" 335 7 + /* 0x0001aa 0x66000 */ call 0x36e /* MW 2 */ + /* 0x0001ab 0x036e0 *//* MW 1 */ +.src_ref 2 "signal_path.c" 335 4 + /* 0x0001ac 0x6c000 */ [0x134] = ra0 /* MW 2 */ + /* 0x0001ad 0x09a48 *//* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + /* 0x0001ae 0x68200 */ a4 = -0x7ffee4 /* MW 2 */ + /* 0x0001af 0x04724 *//* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + /* 0x0001b0 0x68200 */ a5 = -0x7fffe4 /* MW 2 */ + /* 0x0001b1 0x00725 *//* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 first + /* 0x0001b2 0x66000 */ calldb 0x90 /* MW 2 */ + /* 0x0001b3 0x00908 *//* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 +.src_ref 2 "signal_path.c" 337 4 + /* 0x0001b4 0x5c103 */ rb0 = 64; ra1 = sp[0x8] /* MW 2 */ + /* 0x0001b5 0x08109 *//* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 + /* 0x0001b6 0x68000 */ a0 = 0x160 /* MW 2 */ + /* 0x0001b7 0x05820 *//* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 + /* 0x0001b8 0x68000 */ a1 = 0x170 /* MW 2 */ + /* 0x0001b9 0x05c21 *//* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 first + /* 0x0001ba 0x66000 */ calldb 0x7e /* MW 2 */ + /* 0x0001bb 0x007e8 *//* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 +.src_ref 2 "signal_path.c" 338 4 + /* 0x0001bc 0x5c103 */ rb0 = 64; ra1 = sp[0x8] /* MW 2 */ + /* 0x0001bd 0x08109 *//* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 + /* 0x0001be 0x88108 */ ra0 = sp[0x8] +.src_ref 2 "signal_path.c" 340 4 first + /* 0x0001bf 0x32020 */ cmp(ra0,0x0) +.src_ref 2 "signal_path.c" 340 4 + /* 0x0001c0 0xbc0d5 */ if (np) jps 0xd +.src_ref 2 "signal_path.c" 341 30 first + /* 0x0001c1 0x6c400 */ a0 = [0x800120] /* MW 2 */ + /* 0x0001c2 0x09020 *//* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 first + /* 0x0001c3 0x62000 */ lp [ra0] 0x3 /* MW 2 */ + /* 0x0001c4 0x00034 *//* MW 1 */ +.src_ref 2 "signal_path.c" 342 26 first + /* 0x0001c5 0x6c000 */ a2 = [0x164] /* MW 2 */ + /* 0x0001c6 0x0b222 *//* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 +.src_ref 2 "signal_path.c" 342 36 +.src_ref 2 "signal_path.c" 344 + /* 0x0001c7 0x5c810 */ c0 = 4; lr = sp[0x1c] /* MW 2 */ + /* 0x0001c8 0x083b6 *//* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 first + /* 0x0001c9 0x8007a */ [a0+c0] = zero +.src_ref 2 "signal_path.c" 342 36 first + /* 0x0001ca 0x40000 */ nop; [a2+c0] = zero /* MW 2 */ + /* 0x0001cb 0x0107a *//* MW 1 */ +.src_ref 2 "signal_path.c" 344 first +.src_ref 2 "signal_path.c" 344 first + /* 0x0001cc 0x460a0 */ ret; sp+= 0x40 /* MW 2 */ + /* 0x0001cd 0x28080 *//* MW 1 */ +.src_ref 2 "signal_path.c" 344 + /* 0x0001ce 0x43fe3 */ jps -0x4; lr = sp[0x1c] /* MW 2 */ + /* 0x0001cf 0x883b6 *//* MW 1 */ +.label _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.src_ref 2 "signal_path.c" 348 first +.src_ref 2 "signal_path.c" 371 39 first + /* 0x0001d0 0x96034 */ ra0.s = a4[0x0] +.src_ref 2 "signal_path.c" 371 44 first +.src_ref 2 "signal_path.c" 372 42 first + /* 0x0001d1 0x51a13 */ rb0 = lsl(ra0,0x10); ra0.s = a5[0x0] /* MW 2 */ + /* 0x0001d2 0x16834 *//* MW 1 */ +.src_ref 2 "signal_path.c" 348 5 +.src_ref 2 "signal_path.c" 372 47 + /* 0x0001d3 0x51a12 */ ra0 = lsl(ra0,0x10); sp+= -0x8 /* MW 2 */ + /* 0x0001d4 0x2bff0 *//* MW 1 */ + /* 0x0001d5 0x88076 */ sp[0x0] = lr +.src_ref 2 "signal_path.c" 383 4 + /* 0x0001d6 0x68200 */ a4 = -0x7ffee4 /* MW 2 */ + /* 0x0001d7 0x04724 *//* MW 1 */ +.src_ref 2 "signal_path.c" 371 18 + /* 0x0001d8 0x6c000 */ [0x158] = rb0 /* MW 2 */ + /* 0x0001d9 0x0ac4a *//* MW 1 */ +.src_ref 2 "signal_path.c" 377 20 first + /* 0x0001da 0x6c000 */ [0x150] = rb0 /* MW 2 */ + /* 0x0001db 0x0a84a *//* MW 1 */ +.src_ref 2 "signal_path.c" 372 20 first + /* 0x0001dc 0x6c000 */ [0x15c] = ra0 /* MW 2 */ + /* 0x0001dd 0x0ae48 *//* MW 1 */ +.src_ref 2 "signal_path.c" 378 22 first + /* 0x0001de 0x6c000 */ [0x154] = ra0 /* MW 2 */ + /* 0x0001df 0x0aa48 *//* MW 1 */ +.src_ref 2 "signal_path.c" 383 4 first + /* 0x0001e0 0x66000 */ call 0xa2 /* MW 2 */ + /* 0x0001e1 0x00a20 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001e2 0x68200 */ a4 = -0x7ffee4 /* MW 2 */ + /* 0x0001e3 0x04724 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001e4 0x5c810 */ c0 = 4; axs0 = zero /* MW 2 */ + /* 0x0001e5 0x18e80 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + /* 0x0001e6 0x5cbf0 */ c1 = -4; a4 = a4 + 0x8 /* MW 2 */ + /* 0x0001e7 0xa2044 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 first + /* 0x0001e8 0x5c001 */ bx0 = 0; a5 = [a4-c0] /* MW 2 */ + /* 0x0001e9 0x02225 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001ea 0x8222c */ lb0 = [a4-c0] +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + /* 0x0001eb 0x68000 */ a2 = 0x160 /* MW 2 */ + /* 0x0001ec 0x05822 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001ed 0x86008 */ ra0 = a4[0x0] +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001ee 0x51852 */ ra0 = lsl(ra0,0x2); rb0 = a2[0x0] /* MW 2 */ + /* 0x0001ef 0x0500a *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + /* 0x0001f0 0x553fa */ ra0 = rb0 + -0x1; lsz0 = ra0 /* MW 2 */ + /* 0x0001f1 0x1822e *//* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 +.src_ref 2 "signal_path.c" 394 18 + /* 0x0001f2 0x51432 */ ra0 = asr(ra0,0x1); a1 = sp[0x8] /* MW 2 */ + /* 0x0001f3 0x08121 *//* MW 1 */ + /* 0x0001f4 0x2a067 */ rb1 = ra0 + 0x1 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001f5 0x62000 */ lp [rb1] 0x6 /* MW 2 */ + /* 0x0001f6 0x00067 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001f7 0x6c000 */ a0 = [0x168] /* MW 2 */ + /* 0x0001f8 0x0b420 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001f9 0xa2804 */ a4 = a5 + 0x0 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001fa 0xd8089 */ ra1 = [a0+c0]; rb0 = [a4+%0c1] +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001fb 0x444dc */ bx1 = bx0+rb0*ra1; ra0 = [a0+c0]; rb0 = [a4+%0c1] /* MW 2 */ + /* 0x0001fc 0x50089 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001fd 0x44448 */ ax1 = ax0+rb0*ra0; bxs0 = bxs1 /* MW 2 */ + /* 0x0001fe 0x180c2 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + /* 0x0001ff 0x98040 */ axs0 = axs1 +.src_ref 2 "signal_path.c" 387 27 first + /* 0x000200 0x6c000 */ rb0 = [0x150] /* MW 2 */ + /* 0x000201 0x0a80a *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 first +.src_ref 2 "signal_path.c" 389 4 first + /* 0x000202 0x54008 */ ax0 = bx0 + ax0; a4 = a2[0x4] /* MW 2 */ + /* 0x000203 0x050a4 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + /* 0x000204 0x5cbe0 */ c0 = -8; ra0 = axs0 /* MW 2 */ + /* 0x000205 0x18008 *//* MW 1 */ +.src_ref 2 "signal_path.c" 385 18 + /* 0x000206 0x6c400 */ [0x80000c] = ra0 /* MW 2 */ + /* 0x000207 0x00648 *//* MW 1 */ +.src_ref 2 "signal_path.c" 387 31 first +.src_ref 2 "signal_path.c" 389 4 first + /* 0x000208 0x5709a */ ra0 = rb0 - ra0; a0 = a5+%0c1 /* MW 2 */ + /* 0x000209 0x1ec80 *//* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + /* 0x00020a 0x6c000 */ rb0 = [0x134] /* MW 2 */ + /* 0x00020b 0x09a0a *//* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + /* 0x00020c 0x44400 */ ax0 = rb0*ra0; c1 = 0x8 /* MW 2 */ + /* 0x00020d 0x2c041 *//* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + /* 0x00020e 0x62000 */ lp [rb1] 0x7 /* MW 2 */ + /* 0x00020f 0x00077 *//* MW 1 */ +.src_ref 2 "signal_path.c" 387 10 + /* 0x000210 0x6c400 */ [0x800018] = ra0 /* MW 2 */ + /* 0x000211 0x00c48 *//* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + /* 0x000212 0x98009 */ ra1 = axs0 +.src_ref 2 "signal_path.c" 389 4 + /* 0x000213 0x8e025 */ axs1,bxs1 = a4[0x0] +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + /* 0x000214 0x82c08 */ ra0 = [a5+%0c0] +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + /* 0x000215 0x44242 */ ax0 = ax1+ra1*ra0; rb0 = [a0+%0c0] /* MW 2 */ + /* 0x000216 0x0040a *//* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + /* 0x000217 0x086ac */ bx0 = bx1+ra1*rb0 +.src_ref 2 "signal_path.c" 389 4 + /* 0x000218 0x8e0c0 */ [a4+c1] = axs0,bxs0 + /* 0x000219 0x00000 */ nop +.src_ref 2 "signal_path.c" 394 48 first + /* 0x00021a 0x6c400 */ ra0 = [0x800018] /* MW 2 */ + /* 0x00021b 0x00c08 *//* MW 1 */ +.src_ref 2 "signal_path.c" 394 53 +.src_ref 2 "signal_path.c" 397 + /* 0x00021c 0x51610 */ ax0 = asr(ra0,0x10); lr = sp[0x0] /* MW 2 */ + /* 0x00021d 0x08036 *//* MW 1 */ +.src_ref 2 "signal_path.c" 394 20 +.src_ref 2 "signal_path.c" 397 first + /* 0x00021e 0x460a4 */ retdb; axs0 = axs0 /* MW 2 */ + /* 0x00021f 0x18000 *//* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 first +.src_ref 2 "signal_path.c" 394 18 first + /* 0x000220 0x94870 */ a1[0x0] = axs0.s +.src_ref 2 "signal_path.c" 397 first + /* 0x000221 0xa8010 */ sp+= 0x8 +.label _Z16div64_pos_called7accum_tS_Ry +.src_ref 0 "lpdsp32_div.c" 19 first +.src_ref 0 "lpdsp32_div.c" 27 16 first + /* 0x000222 0x37086 */ rb0 = nrm(bx0) +.src_ref 0 "lpdsp32_div.c" 27 24 first + /* 0x000223 0x37044 */ ra0 = nrm(ax1) +.src_ref 0 "lpdsp32_div.c" 27 23 + /* 0x000224 0x2e134 */ ra0 = rb0 - ra0 +.src_ref 0 "lpdsp32_div.c" 27 31 + /* 0x000225 0x2a064 */ ra0 = ra0 + 0x1 +.src_ref 0 "lpdsp32_div.c" 28 14 first + /* 0x000226 0x32020 */ cmp(ra0,0x0) +.src_ref 0 "lpdsp32_div.c" 28 4 +.src_ref 0 "lpdsp32_div.c" 28 14 + /* 0x000227 0xbc135 */ if (np) jps 0x13 +.src_ref 0 "lpdsp32_div.c" 32 19 +.src_ref 0 "lpdsp32_div.c" 42 16 + /* 0x000228 0x38206 */ rb0 = 64 +.src_ref 0 "lpdsp32_div.c" 32 19 first + /* 0x000229 0x301a0 */ cmp(ra0,rb0) +.src_ref 0 "lpdsp32_div.c" 32 9 +.src_ref 0 "lpdsp32_div.c" 32 19 + /* 0x00022a 0xbc0d0 */ if (z) jps 0xd +.src_ref 0 "lpdsp32_div.c" 39 1 first + /* 0x00022b 0x62000 */ lp [ra0] 0x1 /* MW 2 */ + /* 0x00022c 0x00014 *//* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 37 7 first + /* 0x00022d 0x20110 */ ax0 = asl(bx0,ra0) +.src_ref 0 "lpdsp32_div.c" 40 9 + /* 0x00022e 0x98eb5 */ flags = zero +.src_ref 0 "lpdsp32_div.c" 40 9 first + /* 0x00022f 0x2f809 */ ax1 = div(ax1,ax0) +.src_ref 0 "lpdsp32_div.c" 41 1 first +.src_ref 0 "lpdsp32_div.c" 41 5 first + /* 0x000230 0xbc013 */ if (ns) jps 0x1 +.src_ref 0 "lpdsp32_div.c" 41 28 + /* 0x000231 0x28009 */ ax1 = ax1 + ax0 +.src_ref 0 "lpdsp32_div.c" 43 20 first + /* 0x000232 0x20908 */ ax0 = asr(ax1,ra0) +.src_ref 0 "lpdsp32_div.c" 42 16 first +.src_ref 0 "lpdsp32_div.c" 45 4 first + /* 0x000233 0x5709a */ ra0 = rb0 - ra0; retdb /* MW 2 */ + /* 0x000234 0x3a148 *//* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 11 +.src_ref 0 "lpdsp32_div.c" 43 5 first + /* 0x000235 0x50084 */ ax1 = asl(ax1,ra0); bxl1 = ahl0 /* MW 2 */ + /* 0x000236 0x99203 *//* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 5 first + /* 0x000237 0x21908 */ ax0 = lsr(ax1,ra0) +.src_ref 0 "lpdsp32_div.c" 45 4 first + /* 0x000238 0xba148 */ retdb +.src_ref 0 "lpdsp32_div.c" 33 12 first + /* 0x000239 0x37840 */ ax0 = sxtd(ax1) + /* 0x00023a 0x98e83 */ bxs1 = zero +.src_ref 0 "lpdsp32_div.c" 45 4 first + /* 0x00023b 0xba148 */ retdb + /* 0x00023c 0x2a00b */ bx1 = ax1 + 0x0 + /* 0x00023d 0x98e80 */ axs0 = zero +.label _ZL18estimateDiv128To64yyy + /* 0x00023e 0xabf70 */ sp+= -0x48 + /* 0x00023f 0x5842c */ cmpu(bx1,ax1); sp[0x28] = bhl0 /* MW 2 */ + /* 0x000240 0x1055a *//* MW 1 */ + /* 0x000241 0x4241e */ if (np) jpsdb 0x83; sp[0x30] = bhl1 /* MW 2 */ + /* 0x000242 0x9065b *//* MW 1 */ + /* 0x000243 0x88076 */ sp[0x0] = lr + /* 0x000244 0x38106 */ rb0 = 32 + /* 0x000245 0x50ccc */ ax0 = lsr(bx1,rb0); sp[0x18] = ahl1 /* MW 2 */ + /* 0x000246 0x10359 *//* MW 1 */ + /* 0x000247 0x508c1 */ bx0 = lsl(ax0,rb0); sp[0x20] = ahl0 /* MW 2 */ + /* 0x000248 0x10458 *//* MW 1 */ + /* 0x000249 0x58428 */ cmpu(bx0,ax1); sp[0x8] = bhl0 /* MW 2 */ + /* 0x00024a 0x1015a *//* MW 1 */ + /* 0x00024b 0x55001 */ bx0 = ax0 + 0x0; ae0 = zero /* MW 2 */ + /* 0x00024c 0x18e94 *//* MW 1 */ + /* 0x00024d 0x6e000 */ axl1 = [0x398] /* MW 2 */ + /* 0x00024e 0x1cc11 *//* MW 1 */ + /* 0x00024f 0x4207e */ if (np) jpsdb 0xf; sp[0x10] = ahl0 /* MW 2 */ + /* 0x000250 0x90258 *//* MW 1 */ + /* 0x000251 0x55004 */ ax0 = ax1 + 0x0; sp[0x4] = ae0 /* MW 2 */ + /* 0x000252 0x080d4 *//* MW 1 */ + /* 0x000253 0xba101 */ im = 0x0 + /* 0x000254 0x90311 */ axl1 = sp[0x18] + /* 0x000255 0x98e95 */ ae1 = zero + /* 0x000256 0x90212 */ bxl0 = sp[0x10] + /* 0x000257 0x66000 */ calldb 0x222 /* MW 2 */ + /* 0x000258 0x02228 *//* MW 1 */ + /* 0x000259 0x88096 */ be0 = sp[0x4] + /* 0x00025a 0x6e000 */ axl1 = [0x398] /* MW 2 */ + /* 0x00025b 0x1cc11 *//* MW 1 */ + /* 0x00025c 0x5c083 */ rb0 = 32; bxl0 = sp[0x20] /* MW 2 */ + /* 0x00025d 0x10412 *//* MW 1 */ + /* 0x00025e 0x508c0 */ ax0 = lsl(ax0,rb0); bxl1 = sp[0x30] /* MW 2 */ + /* 0x00025f 0x10613 *//* MW 1 */ + /* 0x000260 0x9830b */ rb1 = al0 + /* 0x000261 0x46088 */ im = 0x1; ra0 = bl0 /* MW 2 */ + /* 0x000262 0x98388 *//* MW 1 */ + /* 0x000263 0x44191 */ bx0 = ra0(u)*rb1(u); ra1 = bl1 /* MW 2 */ + /* 0x000264 0x183c9 *//* MW 1 */ + /* 0x000265 0x50cc1 */ bx1 = lsr(ax0,rb0); sp[0x38] = ahl0 /* MW 2 */ + /* 0x000266 0x90758 *//* MW 1 */ + /* 0x000267 0x44399 */ bx1 = ra1(u)*rb1(u); rb1 = bl1 /* MW 2 */ + /* 0x000268 0x183cb *//* MW 1 */ + /* 0x000269 0x44199 */ bx1 = ra0(u)*rb1(u); axl0 = bhl1 /* MW 2 */ + /* 0x00026a 0x192c0 *//* MW 1 */ + /* 0x00026b 0x44399 */ bx1 = ra1(u)*rb1(u); sp[0x40] = bhl1 /* MW 2 */ + /* 0x00026c 0x1085b *//* MW 1 */ + /* 0x00026d 0x5bc41 */ bx0 = sxtd(bx0); bxl1 = bhl1 /* MW 2 */ + /* 0x00026e 0x192c3 *//* MW 1 */ + /* 0x00026f 0x5404d */ bx1 = bx1 + bx0; ra1 = 0x1 /* MW 2 */ + /* 0x000270 0xb000d *//* MW 1 */ + /* 0x000271 0x378c3 */ bx1 = sxtd(bx1) + /* 0x000272 0x30898 */ cmpu(bx1,bx0) + /* 0x000273 0xbc012 */ if (s) jps 0x1 + /* 0x000274 0x98e89 */ ra1 = zero + /* 0x000275 0x2119a */ bx0 = lsl(bx1,rb0) + /* 0x000276 0x28080 */ ax0 = ax0 + bx0 + /* 0x000277 0x37800 */ ax0 = sxtd(ax0) + /* 0x000278 0x30880 */ cmpu(ax0,bx0) + /* 0x000279 0x209aa */ bx0 = asr(ra1,rb0) + /* 0x00027a 0x21192 */ bx0 = lsl(bx0,rb0) + /* 0x00027b 0x2199b */ bx1 = lsr(bx1,rb0) + /* 0x00027c 0x54069 */ bx1 = bx0 + bx1; bxl0 = sp[0x40] /* MW 2 */ + /* 0x00027d 0x90812 *//* MW 1 */ + /* 0x00027e 0x378c3 */ bx1 = sxtd(bx1) + /* 0x00027f 0x54069 */ bx1 = bx0 + bx1; if (s) jpsdb 0x3 /* MW 2 */ + /* 0x000280 0xbc03a *//* MW 1 */ + /* 0x000281 0x5bc61 */ bx1 = sxtd(bx1); bxs0 = 0x1 /* MW 2 */ + /* 0x000282 0xb000a *//* MW 1 */ + /* 0x000283 0x98e82 */ bxs0 = zero + /* 0x000284 0x20992 */ bx0 = asr(bx0,rb0) + /* 0x000285 0x5404d */ bx0 = bx1 + bx0; bxl1 = sp[0x18] /* MW 2 */ + /* 0x000286 0x10313 *//* MW 1 */ + /* 0x000287 0x37882 */ bx0 = sxtd(bx0) + /* 0x000288 0x5704d */ bx1 = bx1 - bx0; bxl0 = sp[0x28] /* MW 2 */ + /* 0x000289 0x90512 *//* MW 1 */ + /* 0x00028a 0x30810 */ cmpu(bx0,ax0) + /* 0x00028b 0x57008 */ ax0 = bx0 - ax0; bxs0 = 0x1 /* MW 2 */ + /* 0x00028c 0x3000a *//* MW 1 */ + /* 0x00028d 0x5bc61 */ bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ + /* 0x00028e 0xbc02a *//* MW 1 */ + /* 0x00028f 0x37800 */ ax0 = sxtd(ax0) + /* 0x000290 0x98e82 */ bxs0 = zero + /* 0x000291 0x20992 */ bx0 = asr(bx0,rb0) + /* 0x000292 0x5704d */ bx1 = bx1 - bx0; bxl0 = sp[0x30] /* MW 2 */ + /* 0x000293 0x90612 *//* MW 1 */ + /* 0x000294 0x378c3 */ bx1 = sxtd(bx1) + /* 0x000295 0x32018 */ cmp(bx1,0x0) + /* 0x000296 0xbc353 */ if (ns) jps 0x35 + /* 0x000297 0x21192 */ bx0 = lsl(bx0,rb0) + /* 0x000298 0x9035a */ sp[0x18] = bhl0 + /* 0x000299 0x00000 */ nop + /* 0x00029a 0x90712 */ bxl0 = sp[0x38] + /* 0x00029b 0x28052 */ bx0 = bx0 + ax1 + /* 0x00029c 0x37882 */ bx0 = sxtd(bx0) + /* 0x00029d 0x9055a */ sp[0x28] = bhl0 + /* 0x00029e 0x00000 */ nop + /* 0x00029f 0x90412 */ bxl0 = sp[0x20] + /* 0x0002a0 0x5404d */ bx1 = bx1 + bx0; bxl0 = sp[0x18] /* MW 2 */ + /* 0x0002a1 0x90312 *//* MW 1 */ + /* 0x0002a2 0x28082 */ bx0 = ax0 + bx0 + /* 0x0002a3 0x37882 */ bx0 = sxtd(bx0) + /* 0x0002a4 0x58408 */ cmpu(bx0,ax0); axl0 = bhl0 /* MW 2 */ + /* 0x0002a5 0x19280 *//* MW 1 */ + /* 0x0002a6 0x5bc61 */ bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ + /* 0x0002a7 0xbc02a *//* MW 1 */ + /* 0x0002a8 0x3800a */ bx0 = 1 + /* 0x0002a9 0x98e82 */ bxs0 = zero + /* 0x0002aa 0x20992 */ bx0 = asr(bx0,rb0) + /* 0x0002ab 0x5404d */ bx1 = bx1 + bx0; bxl0 = sp[0x28] /* MW 2 */ + /* 0x0002ac 0x90512 *//* MW 1 */ + /* 0x0002ad 0x378c3 */ bx1 = sxtd(bx1) + /* 0x0002ae 0x32018 */ cmp(bx1,0x0) + /* 0x0002af 0xbfeb2 */ if (s) jps -0x15 + /* 0x0002b0 0x50cc0 */ ax1 = lsr(ax0,rb0); sp[0x18] = bhl0 /* MW 2 */ + /* 0x0002b1 0x9035a *//* MW 1 */ + /* 0x0002b2 0x508cd */ bx1 = lsl(bx1,rb0); im = 0x0 /* MW 2 */ + /* 0x0002b3 0xba101 *//* MW 1 */ + /* 0x0002b4 0x5482c */ ax1 = bx1 | ax1; bxl1 = sp[0x8] /* MW 2 */ + /* 0x0002b5 0x90113 *//* MW 1 */ + /* 0x0002b6 0x5842c */ cmpu(bx1,ax1); bxl0 = sp[0x10] /* MW 2 */ + /* 0x0002b7 0x10212 *//* MW 1 */ + /* 0x0002b8 0x42032 */ if (np) jps 0x6; be0 = sp[0x4] /* MW 2 */ + /* 0x0002b9 0x88096 *//* MW 1 */ + /* 0x0002ba 0x66000 */ calldb 0x222 /* MW 2 */ + /* 0x0002bb 0x02228 *//* MW 1 */ + /* 0x0002bc 0x40000 */ nop; ae1 = zero /* MW 2 */ + /* 0x0002bd 0x18e95 *//* MW 1 */ + /* 0x0002be 0x42023 */ jps 0x4; bxl1 = sp[0x18] /* MW 2 */ + /* 0x0002bf 0x90313 *//* MW 1 */ + /* 0x0002c0 0x40000 */ nop; bxl1 = sp[0x18] /* MW 2 */ + /* 0x0002c1 0x10313 *//* MW 1 */ + /* 0x0002c2 0x6e000 */ axl0 = [0x3a0] /* MW 2 */ + /* 0x0002c3 0x1d010 *//* MW 1 */ + /* 0x0002c4 0x5480c */ ax0 = bx1 | ax0; jps 0x2 /* MW 2 */ + /* 0x0002c5 0x3c027 *//* MW 1 */ + /* 0x0002c6 0x5c7fc */ ax0 = -1L; im = 0x0 /* MW 2 */ + /* 0x0002c7 0x3a101 *//* MW 1 */ + /* 0x0002c8 0x40000 */ nop; lr = sp[0x0] /* MW 2 */ + /* 0x0002c9 0x08036 *//* MW 1 */ + /* 0x0002ca 0x460a0 */ ret; sp+= 0x48 /* MW 2 */ + /* 0x0002cb 0x28090 *//* MW 1 */ + /* 0x0002cc 0x43f13 */ jps -0x1e; bxl0 = sp[0x38] /* MW 2 */ + /* 0x0002cd 0x90712 *//* MW 1 */ +.label _ZL19propagateFloat64NaNyy + /* 0x0002ce 0x5c0ce */ ra0 = 51; sp+= -0x8 /* MW 2 */ + /* 0x0002cf 0x2bff0 *//* MW 1 */ + /* 0x0002d0 0x50c84 */ ax0 = lsr(ax1,ra0); sp[0x0] = bhl0 /* MW 2 */ + /* 0x0002d1 0x1005a *//* MW 1 */ + /* 0x0002d2 0x6a000 */ bxl0 = 0xfff L /* MW 2 */ + /* 0x0002d3 0x3ffc2 *//* MW 1 */ + /* 0x0002d4 0x28883 */ bx1 = ax0 & bx0 + /* 0x0002d5 0x6a000 */ axl0 = 0xffe L /* MW 2 */ + /* 0x0002d6 0x3ff80 *//* MW 1 */ + /* 0x0002d7 0x30818 */ cmpu(bx1,ax0) + /* 0x0002d8 0xbc089 */ if (nz) jpsdb 0x8 + /* 0x0002d9 0x6e000 */ bxl1 = [0x3a8] /* MW 2 */ + /* 0x0002da 0x1d413 *//* MW 1 */ + /* 0x0002db 0x288cb */ bx1 = ax1 & bx1 + /* 0x0002dc 0x5940c */ cmpu(bx1,0x0); rb0 = 0x1 /* MW 2 */ + /* 0x0002dd 0x3000e *//* MW 1 */ + /* 0x0002de 0xbc031 */ if (nz) jps 0x3 + /* 0x0002df 0x4200b */ jps 0x1; rb0 = zero /* MW 2 */ + /* 0x0002e0 0x98e8a *//* MW 1 */ + /* 0x0002e1 0x98e8a */ rb0 = zero + /* 0x0002e2 0x52084 */ ax1 = bs(ax1,ra0); bxl1 = sp[0x0] /* MW 2 */ + /* 0x0002e3 0x90013 *//* MW 1 */ + /* 0x0002e4 0x50c8c */ ax1 = lsr(bx1,ra0); sp[0x0] = ahl1 /* MW 2 */ + /* 0x0002e5 0x90059 *//* MW 1 */ + /* 0x0002e6 0x28889 */ ax1 = ax1 & bx0 + /* 0x0002e7 0x30808 */ cmpu(ax1,ax0) + /* 0x0002e8 0x5182c */ ax1 = lsl(bx1,0x1); if (nz) jpsdb 0x6 /* MW 2 */ + /* 0x0002e9 0xbc069 *//* MW 1 */ + /* 0x0002ea 0x24118 */ ax0 = bs(bx1,ra0) + /* 0x0002eb 0x6e000 */ bxl0 = [0x3a8] /* MW 2 */ + /* 0x0002ec 0x1d412 *//* MW 1 */ + /* 0x0002ed 0x2889a */ bx0 = bx1 & bx0 + /* 0x0002ee 0x32810 */ cmpu(bx0,0x0) + /* 0x0002ef 0xbc0a1 */ if (nz) jps 0xa + /* 0x0002f0 0x32030 */ cmp(rb0,0x0) + /* 0x0002f1 0xbc069 */ if (nz) jpsdb 0x6 + /* 0x0002f2 0x6e000 */ bxl0 = [0x3b0] /* MW 2 */ + /* 0x0002f3 0x1d812 *//* MW 1 */ + /* 0x0002f4 0x30888 */ cmpu(ax1,bx0) + /* 0x0002f5 0xbc044 */ if (p) jps 0x4 + /* 0x0002f6 0x42013 */ jps 0x2; axl0 = sp[0x0] /* MW 2 */ + /* 0x0002f7 0x90010 *//* MW 1 */ + /* 0x0002f8 0x40000 */ nop; axl0 = sp[0x0] /* MW 2 */ + /* 0x0002f9 0x10010 *//* MW 1 */ + /* 0x0002fa 0x460a0 */ ret; sp+= 0x8 /* MW 2 */ + /* 0x0002fb 0x28010 *//* MW 1 */ +.label _ZL19roundAndPackFloat64iiy + /* 0x0002fc 0x68000 */ bxs0 = 0x7fd /* MW 2 */ + /* 0x0002fd 0x1ff42 *//* MW 1 */ + /* 0x0002fe 0x5d4a3 */ rb1 = mask16(ra1); axl0 = 0x3ff L /* MW 2 */ + /* 0x0002ff 0xb5ff8 *//* MW 1 */ + /* 0x000300 0x54405 */ bx1 = ax1 & ax0; rb0 = 0x20 /* MW 2 */ + /* 0x000301 0xb0106 *//* MW 1 */ + /* 0x000302 0x5805c */ cmp(rb1,bx0); rb1 = 0x3f /* MW 2 */ + /* 0x000303 0x301ff *//* MW 1 */ + /* 0x000304 0x504d1 */ bx1 = asr(ra0,rb0); ra0 = bl1 /* MW 2 */ + /* 0x000305 0x983c8 *//* MW 1 */ + /* 0x000306 0x508ed */ bx1 = lsl(bx1,rb1); if (s) jps 0x25 /* MW 2 */ + /* 0x000307 0xbc252 *//* MW 1 */ + /* 0x000308 0x300a8 */ cmp(ra1,bx0) + /* 0x000309 0xbc3a4 */ if (p) jps 0x3a + /* 0x00030a 0x300a8 */ cmp(ra1,bx0) + /* 0x00030b 0xbc051 */ if (nz) jps 0x5 + /* 0x00030c 0xb5002 */ bxl0 = 0x200L + /* 0x00030d 0x2808a */ bx0 = ax1 + bx0 + /* 0x00030e 0x37882 */ bx0 = sxtd(bx0) + /* 0x00030f 0x32010 */ cmp(bx0,0x0) + /* 0x000310 0xbc332 */ if (s) jps 0x33 + /* 0x000311 0x32028 */ cmp(ra1,0x0) + /* 0x000312 0xbc1a3 */ if (ns) jps 0x1a + /* 0x000313 0x36145 */ ra1 = -ra1 + /* 0x000314 0x32028 */ cmp(ra1,0x0) + /* 0x000315 0xbc140 */ if (z) jps 0x14 + /* 0x000316 0x38204 */ ra0 = 64 + /* 0x000317 0x30128 */ cmp(ra1,ra0) + /* 0x000318 0xbc072 */ if (s) jps 0x7 + /* 0x000319 0x32808 */ cmpu(ax1,0x0) + /* 0x00031a 0x5c006 */ ra1 = 1; if (nz) jps 0x2 /* MW 2 */ + /* 0x00031b 0xbc021 *//* MW 1 */ + /* 0x00031c 0x40000 */ nop; ra1 = zero /* MW 2 */ + /* 0x00031d 0x18e89 *//* MW 1 */ + /* 0x00031e 0x504d4 */ ax1 = asr(ra1,rb0); jps 0xa /* MW 2 */ + /* 0x00031f 0xbc0a7 *//* MW 1 */ + /* 0x000320 0x36142 */ bx0 = -ra1 + /* 0x000321 0x544eb */ rb1 = bx0 & rb1; ra0 = 0x1 /* MW 2 */ + /* 0x000322 0xb000c *//* MW 1 */ + /* 0x000323 0x211ca */ bx0 = lsl(ax1,rb1) + /* 0x000324 0x32810 */ cmpu(bx0,0x0) + /* 0x000325 0x50ca4 */ ax1 = lsr(ax1,ra1); if (nz) jps 0x1 /* MW 2 */ + /* 0x000326 0xbc011 *//* MW 1 */ + /* 0x000327 0x98e88 */ ra0 = zero + /* 0x000328 0x209a2 */ bx0 = asr(ra0,rb0) + /* 0x000329 0x29089 */ ax1 = ax1 | bx0 + /* 0x00032a 0x28808 */ ax0 = ax1 & ax0 + /* 0x00032b 0x5c002 */ ra1 = 0; ra0 = al0 /* MW 2 */ + /* 0x00032c 0x98308 *//* MW 1 */ + /* 0x00032d 0x3814f */ rb1 = 41 + /* 0x00032e 0x251e4 */ ra0 = bi(ra0,rb1) + /* 0x00032f 0x59010 */ cmp(ra0,0x0); axl0 = 0x200L /* MW 2 */ + /* 0x000330 0x35000 *//* MW 1 */ + /* 0x000331 0x54004 */ ax1 = ax1 + ax0; axs0 = -0x2 /* MW 2 */ + /* 0x000332 0xb3ff0 *//* MW 1 */ + /* 0x000333 0x5bc20 */ ax1 = sxtd(ax1); if (z) jpsdb 0x2 /* MW 2 */ + /* 0x000334 0xbc028 *//* MW 1 */ + /* 0x000335 0x23a89 */ ax1 = lsr(ax1,0xa) + /* 0x000336 0x387f8 */ ax0 = -1 + /* 0x000337 0x20980 */ ax0 = asr(ax0,rb0) + /* 0x000338 0x28809 */ ax1 = ax1 & ax0 + /* 0x000339 0x32808 */ cmpu(ax1,0x0) + /* 0x00033a 0xbc011 */ if (nz) jps 0x1 + /* 0x00033b 0x98e89 */ ra1 = zero + /* 0x00033c 0x504d4 */ ax0 = asr(ra1,rb0); ra1 = 0x34 /* MW 2 */ + /* 0x00033d 0x301a5 *//* MW 1 */ + /* 0x00033e 0x21140 */ ax0 = lsl(ax0,ra1) + /* 0x00033f 0x28018 */ ax0 = bx1 + ax0 + /* 0x000340 0x5bc00 */ ax0 = sxtd(ax0); retdb /* MW 2 */ + /* 0x000341 0x3a148 *//* MW 1 */ + /* 0x000342 0x28041 */ ax1 = ax0 + ax1 + /* 0x000343 0x37840 */ ax0 = sxtd(ax1) + /* 0x000344 0x6e000 */ axl1 = [0x3b8] /* MW 2 */ + /* 0x000345 0x1dc11 *//* MW 1 */ + /* 0x000346 0xba148 */ retdb + /* 0x000347 0x28059 */ ax1 = bx1 + ax1 + /* 0x000348 0x5bc20 */ ax0 = sxtd(ax1); nop /* MW 2 */ + /* 0x000349 0x38000 *//* MW 1 */ +.label _ZL28normalizeRoundAndPackFloat64iiy + /* 0x00034a 0x37046 */ rb0 = nrm(ax1) + /* 0x00034b 0x2e1ad */ ra1 = ra1 - rb0 + /* 0x00034c 0x64000 */ jpdb 0x2fc /* MW 2 */ + /* 0x00034d 0x02fcf *//* MW 1 */ + /* 0x00034e 0x508c4 */ ax1 = lsl(ax1,rb0); nop /* MW 2 */ + /* 0x00034f 0xb8000 *//* MW 1 */ +.label _Z16int32_to_float64i + /* 0x000350 0x32020 */ cmp(ra0,0x0) + /* 0x000351 0x420c8 */ if (z) jps 0x19; axs0 = zero /* MW 2 */ + /* 0x000352 0x18e80 *//* MW 1 */ + /* 0x000353 0x32020 */ cmp(ra0,0x0) + /* 0x000354 0x5c005 */ bx0 = 1; if (s) jps 0x1 /* MW 2 */ + /* 0x000355 0x3c012 *//* MW 1 */ + /* 0x000356 0x98e82 */ bxs0 = zero + /* 0x000357 0x36904 */ ra0 = |ra0| + /* 0x000358 0x5b883 */ rb1 = nrm(ra0); ra1 = 0x16 /* MW 2 */ + /* 0x000359 0xb00b5 *//* MW 1 */ + /* 0x00035a 0x540bc */ ax0 = rb1 + ra1; rb0 = 0x20 /* MW 2 */ + /* 0x00035b 0x30106 *//* MW 1 */ + /* 0x00035c 0x68000 */ ra1 = 0x432 /* MW 2 */ + /* 0x00035d 0x10c89 *//* MW 1 */ + /* 0x00035e 0x57014 */ ax1 = ra1 - ax0; rb1 = 0x3f /* MW 2 */ + /* 0x00035f 0xb01ff *//* MW 1 */ + /* 0x000360 0x504c4 */ ax1 = asr(ax1,rb0); ra1 = 0x34 /* MW 2 */ + /* 0x000361 0xb01a5 *//* MW 1 */ + /* 0x000362 0x20992 */ bx0 = asr(bx0,rb0) + /* 0x000363 0x211d2 */ bx0 = lsl(bx0,rb1) + /* 0x000364 0x21149 */ ax1 = lsl(ax1,ra1) + /* 0x000365 0x219a3 */ bx1 = lsr(ra0,rb0) + /* 0x000366 0x28052 */ bx0 = bx0 + ax1 + /* 0x000367 0x21018 */ ax0 = lsl(bx1,ax0) + /* 0x000368 0x5bc41 */ bx0 = sxtd(bx0); retdb /* MW 2 */ + /* 0x000369 0x3a148 *//* MW 1 */ + /* 0x00036a 0x28010 */ ax0 = bx0 + ax0 + /* 0x00036b 0x37800 */ ax0 = sxtd(ax0) + /* 0x00036c 0x40000 */ nop; ret /* MW 2 */ + /* 0x00036d 0x3a140 *//* MW 1 */ +.label _Z30float64_to_int32_round_to_zeroy + /* 0x00036e 0x381a6 */ rb0 = 52 + /* 0x00036f 0x50cc1 */ bx0 = lsr(ax0,rb0); ra0 = 0x3f /* MW 2 */ + /* 0x000370 0x301fc *//* MW 1 */ + /* 0x000371 0x6a000 */ axl1 = 0x7ff L /* MW 2 */ + /* 0x000372 0x1ffc1 *//* MW 1 */ + /* 0x000373 0x28852 */ bx0 = bx0 & ax1 + /* 0x000374 0x50c80 */ ax1 = lsr(ax0,ra0); ra0 = bl0 /* MW 2 */ + /* 0x000375 0x98388 *//* MW 1 */ + /* 0x000376 0x68000 */ ra1 = 0x41e /* MW 2 */ + /* 0x000377 0x10789 *//* MW 1 */ + /* 0x000378 0x580b0 */ cmp(ra0,ra1); ra1 = al1 /* MW 2 */ + /* 0x000379 0x18349 *//* MW 1 */ + /* 0x00037a 0x6e000 */ bxl0 = [0x3c0] /* MW 2 */ + /* 0x00037b 0x1e012 *//* MW 1 */ + /* 0x00037c 0x54440 */ ax0 = ax0 & bx0; if (p) jps 0x1c /* MW 2 */ + /* 0x00037d 0x3c1c4 *//* MW 1 */ + /* 0x00037e 0xb1fff */ rb1 = 0x3ff + /* 0x00037f 0x301e0 */ cmp(ra0,rb1) + /* 0x000380 0xbc172 */ if (s) jps 0x17 + /* 0x000381 0x32028 */ cmp(ra1,0x0) + /* 0x000382 0x68000 */ rb1 = 0x433 /* MW 2 */ + /* 0x000383 0x10ccb *//* MW 1 */ + /* 0x000384 0x2e13c */ ra0 = rb1 - ra0 + /* 0x000385 0x24180 */ ax0 = bs(ax0,rb0) + /* 0x000386 0x50c80 */ ax0 = lsr(ax0,ra0); if (z) jpsdb 0x2 /* MW 2 */ + /* 0x000387 0x3c028 *//* MW 1 */ + /* 0x000388 0x98308 */ ra0 = al0 + /* 0x000389 0x36104 */ ra0 = -ra0 + /* 0x00038a 0x32020 */ cmp(ra0,0x0) + /* 0x00038b 0x5c007 */ rb0 = 1; if (s) jps 0x1 /* MW 2 */ + /* 0x00038c 0x3c012 *//* MW 1 */ + /* 0x00038d 0x98e8a */ rb0 = zero + /* 0x00038e 0x29976 */ rb0 = rb0 ^ ra1 + /* 0x00038f 0x32030 */ cmp(rb0,0x0) + /* 0x000390 0xbc060 */ if (z) jps 0x6 + /* 0x000391 0x32028 */ cmp(ra1,0x0) + /* 0x000392 0xbc049 */ if (nz) jpsdb 0x4 + /* 0x000393 0x6c000 */ ra0 = [0x3c8] /* MW 2 */ + /* 0x000394 0x1e408 *//* MW 1 */ + /* 0x000395 0x6c000 */ ra0 = [0x3cc] /* MW 2 */ + /* 0x000396 0x1e608 *//* MW 1 */ + /* 0x000397 0xba140 */ ret + /* 0x000398 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x000399 0x18e88 *//* MW 1 */ + /* 0x00039a 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x00039b 0x1ffca *//* MW 1 */ + /* 0x00039c 0x301a0 */ cmp(ra0,rb0) + /* 0x00039d 0xbff31 */ if (nz) jps -0xd + /* 0x00039e 0x32800 */ cmpu(ax0,0x0) + /* 0x00039f 0xbff10 */ if (z) jps -0xf + /* 0x0003a0 0x43f7b */ jps -0x11; ra1 = zero /* MW 2 */ + /* 0x0003a1 0x98e89 *//* MW 1 */ +.label _ZL14addFloat64Sigsyyi + /* 0x0003a2 0x381a5 */ ra1 = 52 + /* 0x0003a3 0x6a000 */ axl0 = 0x7ff L /* MW 2 */ + /* 0x0003a4 0x1ffc0 *//* MW 1 */ + /* 0x0003a5 0x50ca5 */ bx1 = lsr(ax1,ra1); sp+= -0x18 /* MW 2 */ + /* 0x0003a6 0xabfd0 *//* MW 1 */ + /* 0x0003a7 0x2881b */ bx1 = bx1 & ax0 + /* 0x0003a8 0x50ca9 */ bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ + /* 0x0003a9 0x983c9 *//* MW 1 */ + /* 0x0003aa 0x2881b */ bx1 = bx1 & ax0 + /* 0x0003ab 0x6e000 */ axl0 = [0x3d0] /* MW 2 */ + /* 0x0003ac 0x1e810 *//* MW 1 */ + /* 0x0003ad 0x54405 */ bx1 = ax1 & ax0; rb0 = bl1 /* MW 2 */ + /* 0x0003ae 0x983ca *//* MW 1 */ + /* 0x0003af 0x2e1af */ rb1 = ra1 - rb0 + /* 0x0003b0 0x2325b */ bx1 = lsl(bx1,0x9) + /* 0x0003b1 0x5901c */ cmp(rb1,0x0); sp[0x10] = bhl1 /* MW 2 */ + /* 0x0003b2 0x1025b *//* MW 1 */ + /* 0x0003b3 0x28810 */ ax0 = bx0 & ax0 + /* 0x0003b4 0x51920 */ ax0 = lsl(ax0,0x9); if (p) jpsdb 0x36 /* MW 2 */ + /* 0x0003b5 0x3c36c *//* MW 1 */ + /* 0x0003b6 0x68000 */ bxs1 = 0x7ff /* MW 2 */ + /* 0x0003b7 0x1ffc3 *//* MW 1 */ + /* 0x0003b8 0x5901c */ cmp(rb1,0x0); sp[0x8] = ahl0 /* MW 2 */ + /* 0x0003b9 0x10158 *//* MW 1 */ + /* 0x0003ba 0x5c080 */ ax0 = 32; sp[0x0] = ra0 /* MW 2 */ + /* 0x0003bb 0x08048 *//* MW 1 */ + /* 0x0003bc 0x50410 */ ax0 = asr(ra0,ax0); ra0 = 0x3f /* MW 2 */ + /* 0x0003bd 0x301fc *//* MW 1 */ + /* 0x0003be 0x50880 */ ax0 = lsl(ax0,ra0); if (ns) jps 0x6a /* MW 2 */ + /* 0x0003bf 0x3c6a3 *//* MW 1 */ + /* 0x0003c0 0x300f0 */ cmp(rb0,bx1) + /* 0x0003c1 0xbc5f0 */ if (z) jps 0x5f + /* 0x0003c2 0x32028 */ cmp(ra1,0x0) + /* 0x0003c3 0xbc050 */ if (z) jps 0x5 + /* 0x0003c4 0x5c0f6 */ ra1 = 61; axl1 = sp[0x10] /* MW 2 */ + /* 0x0003c5 0x90211 *//* MW 1 */ + /* 0x0003c6 0x520a4 */ ax1 = bs(ax1,ra1); jpsdb 0x2 /* MW 2 */ + /* 0x0003c7 0xbc02f *//* MW 1 */ + /* 0x0003c8 0x90259 */ sp[0x10] = ahl1 + /* 0x0003c9 0x2a07f */ rb1 = rb1 + 0x1 + /* 0x0003ca 0x361c7 */ rb1 = -rb1 + /* 0x0003cb 0x5901c */ cmp(rb1,0x0); axs1 = 0x40 /* MW 2 */ + /* 0x0003cc 0x30201 *//* MW 1 */ + /* 0x0003cd 0x420c0 */ if (z) jps 0x18; ra1 = rb0 /* MW 2 */ + /* 0x0003ce 0x18289 *//* MW 1 */ + /* 0x0003cf 0x30078 */ cmp(rb1,ax1) + /* 0x0003d0 0x42041 */ if (s) jps 0x8; axl1 = sp[0x10] /* MW 2 */ + /* 0x0003d1 0x10211 *//* MW 1 */ + /* 0x0003d2 0x59404 */ cmpu(ax1,0x0); ra0 = 0x1 /* MW 2 */ + /* 0x0003d3 0x3000c *//* MW 1 */ + /* 0x0003d4 0x5c083 */ rb0 = 32; if (nz) jps 0x2 /* MW 2 */ + /* 0x0003d5 0x3c021 *//* MW 1 */ + /* 0x0003d6 0x40000 */ nop; ra0 = zero /* MW 2 */ + /* 0x0003d7 0x18e88 *//* MW 1 */ + /* 0x0003d8 0x504d0 */ ax1 = asr(ra0,rb0); jps 0xe /* MW 2 */ + /* 0x0003d9 0xbc0e7 *//* MW 1 */ + /* 0x0003da 0x361c2 */ bx0 = -rb1 + /* 0x0003db 0x54489 */ bx0 = bx0 & ra0; rb0 = 0x1 /* MW 2 */ + /* 0x0003dc 0x3000e *//* MW 1 */ + /* 0x0003dd 0x50845 */ bx0 = lsl(ax1,bx0); ra0 = 0x20 /* MW 2 */ + /* 0x0003de 0x30104 *//* MW 1 */ + /* 0x0003df 0x32810 */ cmpu(bx0,0x0) + /* 0x0003e0 0x50ce4 */ ax1 = lsr(ax1,rb1); if (nz) jps 0x2 /* MW 2 */ + /* 0x0003e1 0xbc021 *//* MW 1 */ + /* 0x0003e2 0x40000 */ nop; rb0 = zero /* MW 2 */ + /* 0x0003e3 0x18e8a *//* MW 1 */ + /* 0x0003e4 0x50499 */ bx0 = asr(rb0,ra0); jpsdb 0x2 /* MW 2 */ + /* 0x0003e5 0x3c02f *//* MW 1 */ + /* 0x0003e6 0x29089 */ ax1 = ax1 | bx0 + /* 0x0003e7 0x90211 */ axl1 = sp[0x10] + /* 0x0003e8 0x42157 */ jpsdb 0x2a; ra0 = sp[0x0] /* MW 2 */ + /* 0x0003e9 0x88008 *//* MW 1 */ + /* 0x0003ea 0x5c0f7 */ rb0 = 61; axl0 = sp[0x8] /* MW 2 */ + /* 0x0003eb 0x10110 *//* MW 1 */ + /* 0x0003ec 0x300e8 */ cmp(ra1,bx1) + /* 0x0003ed 0xbc4a0 */ if (z) jps 0x4a + /* 0x0003ee 0x32030 */ cmp(rb0,0x0) + /* 0x0003ef 0xbc030 */ if (z) jps 0x3 + /* 0x0003f0 0x5c0f7 */ rb0 = 61; jpsdb 0x2 /* MW 2 */ + /* 0x0003f1 0x3c02f *//* MW 1 */ + /* 0x0003f2 0x24180 */ ax0 = bs(ax0,rb0) + /* 0x0003f3 0x2a7ff */ rb1 = rb1 + -0x1 + /* 0x0003f4 0x32038 */ cmp(rb1,0x0) + /* 0x0003f5 0x5c103 */ rb0 = 64; if (z) jps 0x1b /* MW 2 */ + /* 0x0003f6 0x3c1b0 *//* MW 1 */ + /* 0x0003f7 0x301b8 */ cmp(rb1,rb0) + /* 0x0003f8 0x5c0ff */ rb0 = 63; if (s) jps 0x9 /* MW 2 */ + /* 0x0003f9 0x3c092 *//* MW 1 */ + /* 0x0003fa 0x32800 */ cmpu(ax0,0x0) + /* 0x0003fb 0x5c0f7 */ rb0 = 61; if (nz) jpsdb 0x3 /* MW 2 */ + /* 0x0003fc 0x3c039 *//* MW 1 */ + /* 0x0003fd 0x5c007 */ rb1 = 1; axs1 = 0x20 /* MW 2 */ + /* 0x0003fe 0xb0101 *//* MW 1 */ + /* 0x0003ff 0x98e8b */ rb1 = zero + /* 0x000400 0xbc13f */ jpsdb 0x13 + /* 0x000401 0x5043c */ ax0 = asr(rb1,ax1); axl1 = sp[0x10] /* MW 2 */ + /* 0x000402 0x10211 *//* MW 1 */ + /* 0x000403 0x361c2 */ bx0 = -rb1 + /* 0x000404 0x544c9 */ bx0 = bx0 & rb0; axs1 = 0x1 /* MW 2 */ + /* 0x000405 0x30009 *//* MW 1 */ + /* 0x000406 0x21082 */ bx0 = lsl(ax0,bx0) + /* 0x000407 0x59408 */ cmpu(bx0,0x0); rb0 = 0x20 /* MW 2 */ + /* 0x000408 0x30106 *//* MW 1 */ + /* 0x000409 0x50ce1 */ bx0 = lsr(ax0,rb1); if (nz) jps 0x1 /* MW 2 */ + /* 0x00040a 0x3c011 *//* MW 1 */ + /* 0x00040b 0x98e81 */ axs1 = zero + /* 0x00040c 0x504c4 */ ax0 = asr(ax1,rb0); nop /* MW 2 */ + /* 0x00040d 0x38000 *//* MW 1 */ + /* 0x00040e 0x5c0f7 */ rb0 = 61; jpsdb 0x4 /* MW 2 */ + /* 0x00040f 0x3c04f *//* MW 1 */ + /* 0x000410 0x54808 */ ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ + /* 0x000411 0x10211 *//* MW 1 */ + /* 0x000412 0x5c0f7 */ rb0 = 61; axl1 = sp[0x10] /* MW 2 */ + /* 0x000413 0x10211 *//* MW 1 */ + /* 0x000414 0x24189 */ ax1 = bs(ax1,rb0) + /* 0x000415 0x28009 */ ax1 = ax1 + ax0 + /* 0x000416 0x37842 */ bx0 = sxtd(ax1) + /* 0x000417 0x23051 */ ax1 = lsl(bx0,0x1) + /* 0x000418 0x59004 */ cmp(ax1,0x0); nop /* MW 2 */ + /* 0x000419 0x38000 *//* MW 1 */ + /* 0x00041a 0x553f6 */ ra1 = ra1 + -0x1; if (ns) jps 0x2 /* MW 2 */ + /* 0x00041b 0xbc023 *//* MW 1 */ + /* 0x00041c 0x55036 */ ra1 = ra1 + 0x1; axl1 = bhl0 /* MW 2 */ + /* 0x00041d 0x99281 *//* MW 1 */ + /* 0x00041e 0x64000 */ jpdb 0x2fc /* MW 2 */ + /* 0x00041f 0x02fcf *//* MW 1 */ + /* 0x000420 0xa8030 */ sp+= 0x18 + /* 0x000421 0x90113 */ bxl1 = sp[0x8] + /* 0x000422 0x32818 */ cmpu(bx1,0x0) + /* 0x000423 0xbc1e1 */ if (nz) jps 0x1e + /* 0x000424 0x6e000 */ axl1 = [0x3d8] /* MW 2 */ + /* 0x000425 0x1ec11 *//* MW 1 */ + /* 0x000426 0x28041 */ ax1 = ax0 + ax1 + /* 0x000427 0x37840 */ ax0 = sxtd(ax1) + /* 0x000428 0x460a0 */ ret; sp+= 0x18 /* MW 2 */ + /* 0x000429 0x28030 *//* MW 1 */ + /* 0x00042a 0x300e8 */ cmp(ra1,bx1) + /* 0x00042b 0xbc190 */ if (z) jps 0x19 + /* 0x00042c 0x32028 */ cmp(ra1,0x0) + /* 0x00042d 0x42108 */ if (z) jps 0x21; axl1 = sp[0x10] /* MW 2 */ + /* 0x00042e 0x10211 *//* MW 1 */ + /* 0x00042f 0x6e000 */ bxl0 = [0x3e0] /* MW 2 */ + /* 0x000430 0x1f012 *//* MW 1 */ + /* 0x000431 0x54045 */ bx0 = ax1 + bx0; axl1 = sp[0x8] /* MW 2 */ + /* 0x000432 0x10111 *//* MW 1 */ + /* 0x000433 0x5bc41 */ bx0 = sxtd(bx0); ra0 = sp[0x0] /* MW 2 */ + /* 0x000434 0x08008 *//* MW 1 */ + /* 0x000435 0x54028 */ ax1 = bx0 + ax1; jpsdb -0x19 /* MW 2 */ + /* 0x000436 0xbfe7f *//* MW 1 */ + /* 0x000437 0x37841 */ ax1 = sxtd(ax1) + /* 0x000438 0x90210 */ axl0 = sp[0x10] + /* 0x000439 0x32800 */ cmpu(ax0,0x0) + /* 0x00043a 0xbc030 */ if (z) jps 0x3 + /* 0x00043b 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x00043c 0x02cef *//* MW 1 */ + /* 0x00043d 0xa8030 */ sp+= 0x18 + /* 0x00043e 0xba148 */ retdb + /* 0x00043f 0xa8030 */ sp+= 0x18 + /* 0x000440 0x55004 */ ax0 = ax1 + 0x0; nop /* MW 2 */ + /* 0x000441 0x38000 *//* MW 1 */ + /* 0x000442 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x000443 0x02cef *//* MW 1 */ + /* 0x000444 0xa8030 */ sp+= 0x18 + /* 0x000445 0x90110 */ axl0 = sp[0x8] + /* 0x000446 0x90213 */ bxl1 = sp[0x10] + /* 0x000447 0x29018 */ ax0 = bx1 | ax0 + /* 0x000448 0x32800 */ cmpu(ax0,0x0) + /* 0x000449 0xbc030 */ if (z) jps 0x3 + /* 0x00044a 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x00044b 0x02cef *//* MW 1 */ + /* 0x00044c 0xa8030 */ sp+= 0x18 + /* 0x00044d 0xba148 */ retdb + /* 0x00044e 0xa8030 */ sp+= 0x18 + /* 0x00044f 0x2a008 */ ax0 = ax1 + 0x0 + /* 0x000450 0x90112 */ bxl0 = sp[0x8] + /* 0x000451 0x54044 */ ax1 = ax1 + bx0; sp+= 0x18 /* MW 2 */ + /* 0x000452 0xa8030 *//* MW 1 */ + /* 0x000453 0x37841 */ ax1 = sxtd(ax1) + /* 0x000454 0x51d24 */ ax1 = lsr(ax1,0x9); retdb /* MW 2 */ + /* 0x000455 0xba148 *//* MW 1 */ + /* 0x000456 0x28041 */ ax1 = ax0 + ax1 + /* 0x000457 0x37840 */ ax0 = sxtd(ax1) +.label _ZL14subFloat64Sigsyyi + /* 0x000458 0x381a6 */ rb0 = 52 + /* 0x000459 0x50cc4 */ ax0 = lsr(ax1,rb0); sp+= -0x20 /* MW 2 */ + /* 0x00045a 0x2bfc0 *//* MW 1 */ + /* 0x00045b 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x00045c 0x1ffc3 *//* MW 1 */ + /* 0x00045d 0x54460 */ ax0 = ax0 & bx1; sp[0x10] = ahl1 /* MW 2 */ + /* 0x00045e 0x10259 *//* MW 1 */ + /* 0x00045f 0x5c0fb */ rb1 = 62; ra1 = al0 /* MW 2 */ + /* 0x000460 0x98309 *//* MW 1 */ + /* 0x000461 0x6e000 */ axl0 = [0x3e8] /* MW 2 */ + /* 0x000462 0x1f410 *//* MW 1 */ + /* 0x000463 0x28809 */ ax1 = ax1 & ax0 + /* 0x000464 0x23289 */ ax1 = lsl(ax1,0xa) + /* 0x000465 0x520e4 */ ax1 = bs(ax1,rb1); sp[0x8] = ahl1 /* MW 2 */ + /* 0x000466 0x90159 *//* MW 1 */ + /* 0x000467 0x50cc8 */ ax1 = lsr(bx0,rb0); sp[0x0] = ahl1 /* MW 2 */ + /* 0x000468 0x90059 *//* MW 1 */ + /* 0x000469 0x54464 */ ax1 = ax1 & bx1; rb0 = 0x20 /* MW 2 */ + /* 0x00046a 0xb0106 *//* MW 1 */ + /* 0x00046b 0x54408 */ ax1 = bx0 & ax0; bxs1 = al1 /* MW 2 */ + /* 0x00046c 0x98343 *//* MW 1 */ + /* 0x00046d 0x23288 */ ax0 = lsl(ax1,0xa) + /* 0x00046e 0x2e0e9 */ ax1 = ra1 - bx1 + /* 0x00046f 0x520e0 */ ax1 = bs(ax0,rb1); rb1 = ah1 /* MW 2 */ + /* 0x000470 0x9844b *//* MW 1 */ + /* 0x000471 0x5901c */ cmp(rb1,0x0); sp[0x18] = ahl1 /* MW 2 */ + /* 0x000472 0x10359 *//* MW 1 */ + /* 0x000473 0x5501c */ ax1 = rb1 + 0x0; if (p) jps 0x29 /* MW 2 */ + /* 0x000474 0xbc294 *//* MW 1 */ + /* 0x000475 0x32008 */ cmp(ax1,0x0) + /* 0x000476 0x528d3 */ rb1 = bi(ra0,rb0); if (ns) jps 0x4e /* MW 2 */ + /* 0x000477 0xbc4e3 *//* MW 1 */ + /* 0x000478 0x68000 */ ra0 = 0x7ff /* MW 2 */ + /* 0x000479 0x1ffc8 *//* MW 1 */ + /* 0x00047a 0x30118 */ cmp(bx1,ra0) + /* 0x00047b 0xbc640 */ if (z) jps 0x64 + /* 0x00047c 0x32028 */ cmp(ra1,0x0) + /* 0x00047d 0x42010 */ if (nz) jps 0x2; axl0 = sp[0x0] /* MW 2 */ + /* 0x00047e 0x90010 *//* MW 1 */ + /* 0x00047f 0x55024 */ ax1 = ax1 + 0x1; axl0 = sp[0x8] /* MW 2 */ + /* 0x000480 0x90110 *//* MW 1 */ + /* 0x000481 0x36042 */ bx0 = -ax1 + /* 0x000482 0x59008 */ cmp(bx0,0x0); ra0 = 0x40 /* MW 2 */ + /* 0x000483 0x30204 *//* MW 1 */ + /* 0x000484 0xbc130 */ if (z) jps 0x13 + /* 0x000485 0x30110 */ cmp(bx0,ra0) + /* 0x000486 0x5c0fe */ ra0 = 63; if (s) jps 0x6 /* MW 2 */ + /* 0x000487 0x3c062 *//* MW 1 */ + /* 0x000488 0x32800 */ cmpu(ax0,0x0) + /* 0x000489 0x5c006 */ ra0 = 1; if (nz) jps 0x1 /* MW 2 */ + /* 0x00048a 0x3c011 *//* MW 1 */ + /* 0x00048b 0x98e88 */ ra0 = zero + /* 0x00048c 0x504d0 */ ax0 = asr(ra0,rb0); jps 0xa /* MW 2 */ + /* 0x00048d 0x3c0a7 *//* MW 1 */ + /* 0x00048e 0x36081 */ ax1 = -bx0 + /* 0x00048f 0x54486 */ ra0 = ax1 & ra0; ra1 = 0x1 /* MW 2 */ + /* 0x000490 0x3000d *//* MW 1 */ + /* 0x000491 0x21101 */ ax1 = lsl(ax0,ra0) + /* 0x000492 0x32808 */ cmpu(ax1,0x0) + /* 0x000493 0x50c41 */ bx0 = lsr(ax0,bx0); if (nz) jps 0x1 /* MW 2 */ + /* 0x000494 0x3c011 *//* MW 1 */ + /* 0x000495 0x98e89 */ ra1 = zero + /* 0x000496 0x209a9 */ ax1 = asr(ra1,rb0) + /* 0x000497 0x29050 */ ax0 = bx0 | ax1 + /* 0x000498 0x90311 */ axl1 = sp[0x18] + /* 0x000499 0x982c8 */ ra0 = rb1 + /* 0x00049a 0x57005 */ bx0 = ax1 - ax0; jpsdb 0x26 /* MW 2 */ + /* 0x00049b 0x3c26f *//* MW 1 */ + /* 0x00049c 0x5bc40 */ ax1 = sxtd(bx0); ra1 = bh1 /* MW 2 */ + /* 0x00049d 0x984c9 *//* MW 1 */ + /* 0x00049e 0x68000 */ rb1 = 0x7ff /* MW 2 */ + /* 0x00049f 0x1ffcb *//* MW 1 */ + /* 0x0004a0 0x301e8 */ cmp(ra1,rb1) + /* 0x0004a1 0xbc490 */ if (z) jps 0x49 + /* 0x0004a2 0x32018 */ cmp(bx1,0x0) + /* 0x0004a3 0x42010 */ if (nz) jps 0x2; bxl0 = sp[0x18] /* MW 2 */ + /* 0x0004a4 0x90312 *//* MW 1 */ + /* 0x0004a5 0x553e4 */ ax1 = ax1 + -0x1; bxl0 = ahl0 /* MW 2 */ + /* 0x0004a6 0x99202 *//* MW 1 */ + /* 0x0004a7 0x32008 */ cmp(ax1,0x0) + /* 0x0004a8 0x5c103 */ rb1 = 64; if (z) jps 0x14 /* MW 2 */ + /* 0x0004a9 0xbc140 *//* MW 1 */ + /* 0x0004aa 0x301c8 */ cmp(ax1,rb1) + /* 0x0004ab 0x5c0fc */ ax0 = 63; if (s) jps 0x7 /* MW 2 */ + /* 0x0004ac 0x3c072 *//* MW 1 */ + /* 0x0004ad 0x32810 */ cmpu(bx0,0x0) + /* 0x0004ae 0x5c007 */ rb1 = 1; if (nz) jps 0x2 /* MW 2 */ + /* 0x0004af 0xbc021 *//* MW 1 */ + /* 0x0004b0 0x40000 */ nop; rb1 = zero /* MW 2 */ + /* 0x0004b1 0x18e8b *//* MW 1 */ + /* 0x0004b2 0x504dd */ bx0 = asr(rb1,rb0); jps 0xa /* MW 2 */ + /* 0x0004b3 0x3c0a7 *//* MW 1 */ + /* 0x0004b4 0x36043 */ bx1 = -ax1 + /* 0x0004b5 0x5440c */ ax0 = bx1 & ax0; rb1 = 0x1 /* MW 2 */ + /* 0x0004b6 0x3000f *//* MW 1 */ + /* 0x0004b7 0x21010 */ ax0 = lsl(bx0,ax0) + /* 0x0004b8 0x32800 */ cmpu(ax0,0x0) + /* 0x0004b9 0x50c29 */ bx0 = lsr(bx0,ax1); if (nz) jps 0x1 /* MW 2 */ + /* 0x0004ba 0x3c011 *//* MW 1 */ + /* 0x0004bb 0x98e8b */ rb1 = zero + /* 0x0004bc 0x209b9 */ ax1 = asr(rb1,rb0) + /* 0x0004bd 0x29052 */ bx0 = bx0 | ax1 + /* 0x0004be 0x90011 */ axl1 = sp[0x0] + /* 0x0004bf 0x2e08a */ bx0 = ax1 - bx0 + /* 0x0004c0 0x5bc40 */ ax1 = sxtd(bx0); nop /* MW 2 */ + /* 0x0004c1 0xb8000 *//* MW 1 */ + /* 0x0004c2 0x64000 */ jpdb 0x34a /* MW 2 */ + /* 0x0004c3 0x034af *//* MW 1 */ + /* 0x0004c4 0x553f6 */ ra1 = ra1 + -0x1; sp+= 0x20 /* MW 2 */ + /* 0x0004c5 0xa8040 *//* MW 1 */ + /* 0x0004c6 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x0004c7 0x1ffca *//* MW 1 */ + /* 0x0004c8 0x580d4 */ cmp(ra1,rb0); axl1 = sp[0x8] /* MW 2 */ + /* 0x0004c9 0x10111 *//* MW 1 */ + /* 0x0004ca 0xbc0a0 */ if (z) jps 0xa + /* 0x0004cb 0x32028 */ cmp(ra1,0x0) + /* 0x0004cc 0xbc021 */ if (nz) jps 0x2 + /* 0x0004cd 0x5c006 */ ra1 = 1; bxs1 = 0x1 /* MW 2 */ + /* 0x0004ce 0xb000b *//* MW 1 */ + /* 0x0004cf 0x30840 */ cmpu(ax0,ax1) + /* 0x0004d0 0xbc252 */ if (s) jps 0x25 + /* 0x0004d1 0x30808 */ cmpu(ax1,ax0) + /* 0x0004d2 0xbc252 */ if (s) jps 0x25 + /* 0x0004d3 0x4204b */ jps 0x9; axs0 = zero /* MW 2 */ + /* 0x0004d4 0x98e80 *//* MW 1 */ + /* 0x0004d5 0x29008 */ ax0 = ax1 | ax0 + /* 0x0004d6 0x32800 */ cmpu(ax0,0x0) + /* 0x0004d7 0x42018 */ if (z) jps 0x3; axl1 = sp[0x10] /* MW 2 */ + /* 0x0004d8 0x10211 *//* MW 1 */ + /* 0x0004d9 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x0004da 0x02cef *//* MW 1 */ + /* 0x0004db 0xa8040 */ sp+= 0x20 + /* 0x0004dc 0x6e000 */ axl0 = [0x3f0] /* MW 2 */ + /* 0x0004dd 0x1f810 *//* MW 1 */ + /* 0x0004de 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0004df 0x28040 *//* MW 1 */ + /* 0x0004e0 0x32800 */ cmpu(ax0,0x0) + /* 0x0004e1 0x5c0fe */ ra0 = 63; if (nz) jps 0x18 /* MW 2 */ + /* 0x0004e2 0x3c181 *//* MW 1 */ + /* 0x0004e3 0x209ba */ bx0 = asr(rb1,rb0) + /* 0x0004e4 0x21112 */ bx0 = lsl(bx0,ra0) + /* 0x0004e5 0x6e000 */ axl1 = [0x3f8] /* MW 2 */ + /* 0x0004e6 0x1fc11 *//* MW 1 */ + /* 0x0004e7 0x28052 */ bx0 = bx0 + ax1 + /* 0x0004e8 0x37880 */ ax0 = sxtd(bx0) + /* 0x0004e9 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0004ea 0x28040 *//* MW 1 */ + /* 0x0004eb 0x90111 */ axl1 = sp[0x8] + /* 0x0004ec 0x59404 */ cmpu(ax1,0x0); axl0 = sp[0x10] /* MW 2 */ + /* 0x0004ed 0x10210 *//* MW 1 */ + /* 0x0004ee 0x40000 */ nop; if (z) jps 0x4 /* MW 2 */ + /* 0x0004ef 0x3c040 *//* MW 1 */ + /* 0x0004f0 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x0004f1 0x02cef *//* MW 1 */ + /* 0x0004f2 0x55000 */ ax1 = ax0 + 0x0; sp+= 0x20 /* MW 2 */ + /* 0x0004f3 0xa8040 *//* MW 1 */ + /* 0x0004f4 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0004f5 0x28040 *//* MW 1 */ + /* 0x0004f6 0x55001 */ bx0 = ax0 + 0x0; jps -0x39 /* MW 2 */ + /* 0x0004f7 0x3fc77 *//* MW 1 */ + /* 0x0004f8 0xbfa0f */ jpsdb -0x60 + /* 0x0004f9 0x55004 */ ax0 = ax1 + 0x0; axl1 = ahl0 /* MW 2 */ + /* 0x0004fa 0x19201 *//* MW 1 */ + /* 0x0004fb 0x90211 */ axl1 = sp[0x10] + /* 0x0004fc 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x0004fd 0x02cef *//* MW 1 */ + /* 0x0004fe 0x40000 */ nop; sp+= 0x20 /* MW 2 */ + /* 0x0004ff 0x28040 *//* MW 1 */ +.label _Z11float64_addyy + /* 0x000500 0x381fc */ ra0 = 63 + /* 0x000501 0x21913 */ bx1 = lsr(bx0,ra0) + /* 0x000502 0x50c84 */ ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ + /* 0x000503 0x183ca *//* MW 1 */ + /* 0x000504 0x98308 */ ra0 = al0 + /* 0x000505 0x301a0 */ cmp(ra0,rb0) + /* 0x000506 0x40000 */ nop; if (z) jps 0x2 /* MW 2 */ + /* 0x000507 0x3c020 *//* MW 1 */ + /* 0x000508 0x64000 */ jp 0x458 /* MW 2 */ + /* 0x000509 0x04587 *//* MW 1 */ + /* 0x00050a 0x64000 */ jp 0x3a2 /* MW 2 */ + /* 0x00050b 0x03a27 *//* MW 1 */ +.label _Z11float64_subyy + /* 0x00050c 0x381fc */ ra0 = 63 + /* 0x00050d 0x21913 */ bx1 = lsr(bx0,ra0) + /* 0x00050e 0x50c84 */ ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ + /* 0x00050f 0x183ca *//* MW 1 */ + /* 0x000510 0x98308 */ ra0 = al0 + /* 0x000511 0x301a0 */ cmp(ra0,rb0) + /* 0x000512 0x40000 */ nop; if (z) jps 0x2 /* MW 2 */ + /* 0x000513 0x3c020 *//* MW 1 */ + /* 0x000514 0x64000 */ jp 0x3a2 /* MW 2 */ + /* 0x000515 0x03a27 *//* MW 1 */ + /* 0x000516 0x64000 */ jp 0x458 /* MW 2 */ + /* 0x000517 0x04587 *//* MW 1 */ +.label _Z11float64_mulyy + /* 0x000518 0x5c0fe */ ra0 = 63; ra1 = 0x34 /* MW 2 */ + /* 0x000519 0x301a5 *//* MW 1 */ + /* 0x00051a 0x50c88 */ ax0 = lsr(bx0,ra0); sp+= -0x18 /* MW 2 */ + /* 0x00051b 0x2bfd0 *//* MW 1 */ + /* 0x00051c 0x50c84 */ ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ + /* 0x00051d 0x1830a *//* MW 1 */ + /* 0x00051e 0x50ca5 */ bx1 = lsr(ax1,ra1); rb1 = al0 /* MW 2 */ + /* 0x00051f 0x9830b *//* MW 1 */ + /* 0x000520 0x6a000 */ axl0 = 0x7ff L /* MW 2 */ + /* 0x000521 0x1ffc0 *//* MW 1 */ + /* 0x000522 0x54cdf */ rb1 = rb1 ^ rb0; sp[0x8] = bhl0 /* MW 2 */ + /* 0x000523 0x9015a *//* MW 1 */ + /* 0x000524 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x000525 0x1ffca *//* MW 1 */ + /* 0x000526 0x5440d */ bx1 = bx1 & ax0; sp[0x0] = rb1 /* MW 2 */ + /* 0x000527 0x8804b *//* MW 1 */ + /* 0x000528 0x50ca9 */ bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ + /* 0x000529 0x983c9 *//* MW 1 */ + /* 0x00052a 0x5440c */ ax0 = bx1 & ax0; bxs1 = 0x20 /* MW 2 */ + /* 0x00052b 0x30103 *//* MW 1 */ + /* 0x00052c 0x580d4 */ cmp(ra1,rb0); ra0 = al0 /* MW 2 */ + /* 0x00052d 0x18308 *//* MW 1 */ + /* 0x00052e 0x5047d */ bx1 = asr(rb1,bx1); axs0 = 0x3f /* MW 2 */ + /* 0x00052f 0xb01f8 *//* MW 1 */ + /* 0x000530 0x21018 */ ax0 = lsl(bx1,ax0) + /* 0x000531 0x6e000 */ bxl1 = [0x410] /* MW 2 */ + /* 0x000532 0x20813 *//* MW 1 */ + /* 0x000533 0x54060 */ ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ + /* 0x000534 0x10258 *//* MW 1 */ + /* 0x000535 0x37803 */ bx1 = sxtd(ax0) + /* 0x000536 0x6e000 */ axl0 = [0x400] /* MW 2 */ + /* 0x000537 0x20010 *//* MW 1 */ + /* 0x000538 0x54409 */ bx0 = bx0 & ax0; if (z) jpsdb 0x66 /* MW 2 */ + /* 0x000539 0x3c668 *//* MW 1 */ + /* 0x00053a 0x54404 */ ax0 = ax1 & ax0; rb1 = 0x20 /* MW 2 */ + /* 0x00053b 0x30107 *//* MW 1 */ + /* 0x00053c 0x301a0 */ cmp(ra0,rb0) + /* 0x00053d 0xbc570 */ if (z) jps 0x57 + /* 0x00053e 0x32028 */ cmp(ra1,0x0) + /* 0x00053f 0xbc071 */ if (nz) jps 0x7 + /* 0x000540 0x32800 */ cmpu(ax0,0x0) + /* 0x000541 0xbc700 */ if (z) jps 0x70 + /* 0x000542 0x37005 */ ra1 = nrm(ax0) + /* 0x000543 0x552d6 */ ra1 = ra1 + -0xa; axs1 = 0x1 /* MW 2 */ + /* 0x000544 0xb0009 *//* MW 1 */ + /* 0x000545 0x21140 */ ax0 = lsl(ax0,ra1) + /* 0x000546 0x2e14d */ ra1 = ax1 - ra1 + /* 0x000547 0x32020 */ cmp(ra0,0x0) + /* 0x000548 0xbc071 */ if (nz) jps 0x7 + /* 0x000549 0x32810 */ cmpu(bx0,0x0) + /* 0x00054a 0xbc6b0 */ if (z) jps 0x6b + /* 0x00054b 0x37084 */ ra0 = nrm(bx0) + /* 0x00054c 0x552d2 */ ra0 = ra0 + -0xa; axs1 = 0x1 /* MW 2 */ + /* 0x00054d 0x30009 *//* MW 1 */ + /* 0x00054e 0x21112 */ bx0 = lsl(bx0,ra0) + /* 0x00054f 0x2e10c */ ra0 = ax1 - ra0 + /* 0x000550 0x381a1 */ ax1 = 52 + /* 0x000551 0x52029 */ bx1 = bs(bx0,ax1); im = 0x1 /* MW 2 */ + /* 0x000552 0xba111 *//* MW 1 */ + /* 0x000553 0x232db */ bx1 = lsl(bx1,0xb) + /* 0x000554 0x52020 */ ax1 = bs(ax0,ax1); axs0 = ra0 /* MW 2 */ + /* 0x000555 0x98200 *//* MW 1 */ + /* 0x000556 0x50ced */ bx1 = lsr(bx1,rb1); ra0 = bl1 /* MW 2 */ + /* 0x000557 0x983c8 *//* MW 1 */ + /* 0x000558 0x51944 */ ax1 = lsl(ax1,0xa); bxs0 = ra1 /* MW 2 */ + /* 0x000559 0x98242 *//* MW 1 */ + /* 0x00055a 0x5c081 */ bx1 = 32; ra1 = bl1 /* MW 2 */ + /* 0x00055b 0x983c9 *//* MW 1 */ + /* 0x00055c 0x50c64 */ ax1 = lsr(ax1,bx1); rb0 = al1 /* MW 2 */ + /* 0x00055d 0x9834a *//* MW 1 */ + /* 0x00055e 0x54008 */ ax0 = bx0 + ax0; rb1 = al1 /* MW 2 */ + /* 0x00055f 0x1834b *//* MW 1 */ + /* 0x000560 0x08c22 */ bx0 = rb1(u)*ra0(u) + /* 0x000561 0x44489 */ ax1 = rb0(u)*ra1(u); bxl0 = bhl0 /* MW 2 */ + /* 0x000562 0x19282 *//* MW 1 */ + /* 0x000563 0x44419 */ bx1 = rb0(u)*ra0(u); axl1 = ahl1 /* MW 2 */ + /* 0x000564 0x19241 *//* MW 1 */ + /* 0x000565 0x54044 */ ax1 = ax1 + bx0; ra0 = -0x3ff /* MW 2 */ + /* 0x000566 0xb200c *//* MW 1 */ + /* 0x000567 0x5bc20 */ ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ + /* 0x000568 0xb0106 *//* MW 1 */ + /* 0x000569 0x30888 */ cmpu(ax1,bx0) + /* 0x00056a 0x5bc60 */ ax0 = sxtd(bx1); bxs1 = ah0 /* MW 2 */ + /* 0x00056b 0x18403 *//* MW 1 */ + /* 0x00056c 0x44699 */ bx1 = rb1(u)*ra1(u); rb1 = bh1 /* MW 2 */ + /* 0x00056d 0x184cb *//* MW 1 */ + /* 0x00056e 0x5bc61 */ bx0 = sxtd(bx1); if (s) jpsdb 0x3 /* MW 2 */ + /* 0x00056f 0x3c03a *//* MW 1 */ + /* 0x000570 0x5409e */ ra1 = rb1 + ra0; ra0 = 0x1 /* MW 2 */ + /* 0x000571 0xb000c *//* MW 1 */ + /* 0x000572 0x98e88 */ ra0 = zero + /* 0x000573 0x2118b */ bx1 = lsl(ax1,rb0) + /* 0x000574 0x280c0 */ ax0 = ax0 + bx1 + /* 0x000575 0x37800 */ ax0 = sxtd(ax0) + /* 0x000576 0x308c0 */ cmpu(ax0,bx1) + /* 0x000577 0x504d1 */ bx1 = asr(ra0,rb0); ra0 = 0x1 /* MW 2 */ + /* 0x000578 0xb000c *//* MW 1 */ + /* 0x000579 0x2119b */ bx1 = lsl(bx1,rb0) + /* 0x00057a 0x21989 */ ax1 = lsr(ax1,rb0) + /* 0x00057b 0x28059 */ ax1 = bx1 + ax1 + /* 0x00057c 0x37841 */ ax1 = sxtd(ax1) + /* 0x00057d 0x54028 */ ax1 = bx0 + ax1; if (s) jpsdb 0x3 /* MW 2 */ + /* 0x00057e 0xbc03a *//* MW 1 */ + /* 0x00057f 0x5bc20 */ ax1 = sxtd(ax1); bxs0 = 0x1 /* MW 2 */ + /* 0x000580 0xb000a *//* MW 1 */ + /* 0x000581 0x98e82 */ bxs0 = zero + /* 0x000582 0x32800 */ cmpu(ax0,0x0) + /* 0x000583 0x20992 */ bx0 = asr(bx0,rb0) + /* 0x000584 0x54044 */ ax1 = ax1 + bx0; if (nz) jpsdb 0x2 /* MW 2 */ + /* 0x000585 0xbc029 *//* MW 1 */ + /* 0x000586 0x37841 */ ax1 = sxtd(ax1) + /* 0x000587 0x98e88 */ ra0 = zero + /* 0x000588 0x209a2 */ bx0 = asr(ra0,rb0) + /* 0x000589 0x54844 */ ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ + /* 0x00058a 0xba101 *//* MW 1 */ + /* 0x00058b 0x51825 */ bx0 = lsl(ax1,0x1); ra0 = sp[0x0] /* MW 2 */ + /* 0x00058c 0x08008 *//* MW 1 */ + /* 0x00058d 0x32010 */ cmp(bx0,0x0) + /* 0x00058e 0x40000 */ nop; if (s) jps 0x2 /* MW 2 */ + /* 0x00058f 0x3c022 *//* MW 1 */ + /* 0x000590 0x553f6 */ ra1 = ra1 + -0x1; axl1 = bhl0 /* MW 2 */ + /* 0x000591 0x99281 *//* MW 1 */ + /* 0x000592 0x64000 */ jpdb 0x2fc /* MW 2 */ + /* 0x000593 0x02fcf *//* MW 1 */ + /* 0x000594 0xa8030 */ sp+= 0x18 + /* 0x000595 0x32810 */ cmpu(bx0,0x0) + /* 0x000596 0xbc231 */ if (nz) jps 0x23 + /* 0x000597 0x209e9 */ ax1 = asr(ra1,rb1) + /* 0x000598 0x54804 */ ax1 = ax1 | ax0; axl0 = bhl1 /* MW 2 */ + /* 0x000599 0x992c0 *//* MW 1 */ + /* 0x00059a 0x59404 */ cmpu(ax1,0x0); im = 0x0 /* MW 2 */ + /* 0x00059b 0x3a101 *//* MW 1 */ + /* 0x00059c 0xbc131 */ if (nz) jps 0x13 + /* 0x00059d 0xbc12f */ jpsdb 0x12 + /* 0x00059e 0x6e000 */ axl0 = [0x408] /* MW 2 */ + /* 0x00059f 0x20410 *//* MW 1 */ + /* 0x0005a0 0x32800 */ cmpu(ax0,0x0) + /* 0x0005a1 0xbc1d1 */ if (nz) jps 0x1d + /* 0x0005a2 0x68000 */ ra1 = 0x7ff /* MW 2 */ + /* 0x0005a3 0x1ffc9 *//* MW 1 */ + /* 0x0005a4 0x30160 */ cmp(ra0,ra1) + /* 0x0005a5 0xbc021 */ if (nz) jps 0x2 + /* 0x0005a6 0x32810 */ cmpu(bx0,0x0) + /* 0x0005a7 0xbc171 */ if (nz) jps 0x17 + /* 0x0005a8 0x209e1 */ ax1 = asr(ra0,rb1) + /* 0x0005a9 0x54844 */ ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ + /* 0x0005aa 0xba101 *//* MW 1 */ + /* 0x0005ab 0x32808 */ cmpu(ax1,0x0) + /* 0x0005ac 0xbc038 */ if (z) jpsdb 0x3 + /* 0x0005ad 0x6e000 */ axl0 = [0x408] /* MW 2 */ + /* 0x0005ae 0x20410 *//* MW 1 */ + /* 0x0005af 0x2a018 */ ax0 = bx1 + 0x0 + /* 0x0005b0 0x460a0 */ ret; sp+= 0x18 /* MW 2 */ + /* 0x0005b1 0x28030 *//* MW 1 */ + /* 0x0005b2 0xba148 */ retdb + /* 0x0005b3 0x46080 */ im = 0x0; axl0 = sp[0x10] /* MW 2 */ + /* 0x0005b4 0x90210 *//* MW 1 */ + /* 0x0005b5 0xa8030 */ sp+= 0x18 + /* 0x0005b6 0xba148 */ retdb + /* 0x0005b7 0x46080 */ im = 0x0; axl0 = sp[0x10] /* MW 2 */ + /* 0x0005b8 0x90210 *//* MW 1 */ + /* 0x0005b9 0xa8030 */ sp+= 0x18 + /* 0x0005ba 0x90112 */ bxl0 = sp[0x8] + /* 0x0005bb 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x0005bc 0x02cef *//* MW 1 */ + /* 0x0005bd 0x46080 */ im = 0x0; sp+= 0x18 /* MW 2 */ + /* 0x0005be 0xa8030 *//* MW 1 */ + /* 0x0005bf 0x90112 */ bxl0 = sp[0x8] + /* 0x0005c0 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x0005c1 0x02cef *//* MW 1 */ + /* 0x0005c2 0x46080 */ im = 0x0; sp+= 0x18 /* MW 2 */ + /* 0x0005c3 0xa8030 *//* MW 1 */ +.label _Z11float64_divyy + /* 0x0005c4 0x381ff */ rb1 = 63 + /* 0x0005c5 0x50ce4 */ ax0 = lsr(ax1,rb1); ra0 = 0x34 /* MW 2 */ + /* 0x0005c6 0x301a4 *//* MW 1 */ + /* 0x0005c7 0x50ce8 */ ax0 = lsr(bx0,rb1); ra1 = al0 /* MW 2 */ + /* 0x0005c8 0x18309 *//* MW 1 */ + /* 0x0005c9 0x50c84 */ ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ + /* 0x0005ca 0x1830a *//* MW 1 */ + /* 0x0005cb 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x0005cc 0x1ffc3 *//* MW 1 */ + /* 0x0005cd 0x54460 */ ax0 = ax0 & bx1; sp+= -0x28 /* MW 2 */ + /* 0x0005ce 0x2bfb0 *//* MW 1 */ + /* 0x0005cf 0x54cd6 */ ra1 = ra1 ^ rb0; rb0 = al0 /* MW 2 */ + /* 0x0005d0 0x9830a *//* MW 1 */ + /* 0x0005d1 0x50c88 */ ax0 = lsr(bx0,ra0); sp[0x0] = ra1 /* MW 2 */ + /* 0x0005d2 0x08049 *//* MW 1 */ + /* 0x0005d3 0x54460 */ ax0 = ax0 & bx1; bxs1 = 0x20 /* MW 2 */ + /* 0x0005d4 0x30103 *//* MW 1 */ + /* 0x0005d5 0x50474 */ ax0 = asr(ra1,bx1); ra1 = al0 /* MW 2 */ + /* 0x0005d6 0x18309 *//* MW 1 */ + /* 0x0005d7 0x6e000 */ bxl1 = [0x428] /* MW 2 */ + /* 0x0005d8 0x21413 *//* MW 1 */ + /* 0x0005d9 0x508e0 */ ax0 = lsl(ax0,rb1); sp[0x4] = lr /* MW 2 */ + /* 0x0005da 0x080f6 *//* MW 1 */ + /* 0x0005db 0x54060 */ ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ + /* 0x0005dc 0x10258 *//* MW 1 */ + /* 0x0005dd 0x68000 */ rb1 = 0x7ff /* MW 2 */ + /* 0x0005de 0x1ffcb *//* MW 1 */ + /* 0x0005df 0x6e000 */ bxl1 = [0x418] /* MW 2 */ + /* 0x0005e0 0x20c13 *//* MW 1 */ + /* 0x0005e1 0x37800 */ ax0 = sxtd(ax0) + /* 0x0005e2 0x580f8 */ cmp(rb0,rb1); sp[0x8] = ahl0 /* MW 2 */ + /* 0x0005e3 0x10158 *//* MW 1 */ + /* 0x0005e4 0x54468 */ ax0 = bx0 & bx1; if (z) jpsdb 0x8e /* MW 2 */ + /* 0x0005e5 0x3c8e8 *//* MW 1 */ + /* 0x0005e6 0x288cb */ bx1 = ax1 & bx1 + /* 0x0005e7 0x301e8 */ cmp(ra1,rb1) + /* 0x0005e8 0xbc830 */ if (z) jps 0x83 + /* 0x0005e9 0x32028 */ cmp(ra1,0x0) + /* 0x0005ea 0xbc071 */ if (nz) jps 0x7 + /* 0x0005eb 0x32800 */ cmpu(ax0,0x0) + /* 0x0005ec 0xbc970 */ if (z) jps 0x97 + /* 0x0005ed 0x37002 */ bx0 = nrm(ax0) + /* 0x0005ee 0x552c9 */ bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ + /* 0x0005ef 0x30009 *//* MW 1 */ + /* 0x0005f0 0x21080 */ ax0 = lsl(ax0,bx0) + /* 0x0005f1 0x2e08d */ ra1 = ax1 - bx0 + /* 0x0005f2 0x32030 */ cmp(rb0,0x0) + /* 0x0005f3 0xbc071 */ if (nz) jps 0x7 + /* 0x0005f4 0x32818 */ cmpu(bx1,0x0) + /* 0x0005f5 0xbc990 */ if (z) jps 0x99 + /* 0x0005f6 0x370c2 */ bx0 = nrm(bx1) + /* 0x0005f7 0x552c9 */ bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ + /* 0x0005f8 0x30009 *//* MW 1 */ + /* 0x0005f9 0x2e08e */ rb0 = ax1 - bx0 + /* 0x0005fa 0x2109b */ bx1 = lsl(bx1,bx0) + /* 0x0005fb 0x24119 */ ax1 = bs(bx1,ra0) + /* 0x0005fc 0x24100 */ ax0 = bs(ax0,ra0) + /* 0x0005fd 0x23289 */ ax1 = lsl(ax1,0xa) + /* 0x0005fe 0x51961 */ bx1 = lsl(ax0,0xb); sp[0x10] = ahl1 /* MW 2 */ + /* 0x0005ff 0x90259 *//* MW 1 */ + /* 0x000600 0x51824 */ ax0 = lsl(ax1,0x1); bxs0 = 0x3fd /* MW 2 */ + /* 0x000601 0x31fea *//* MW 1 */ + /* 0x000602 0x5840c */ cmpu(bx1,ax0); sp[0x18] = bhl1 /* MW 2 */ + /* 0x000603 0x1035b *//* MW 1 */ + /* 0x000604 0x570ba */ ra0 = rb0 - ra1; if (p) jpsdb 0x4 /* MW 2 */ + /* 0x000605 0x3c04c *//* MW 1 */ + /* 0x000606 0x280a2 */ bx0 = ra0 + bx0 + /* 0x000607 0x23849 */ ax1 = lsr(ax1,0x1) + /* 0x000608 0x55029 */ bx0 = bx0 + 0x1; sp[0x10] = ahl1 /* MW 2 */ + /* 0x000609 0x10259 *//* MW 1 */ + /* 0x00060a 0x5c001 */ bx0 = 0; sp[0x8] = bh0 /* MW 2 */ + /* 0x00060b 0x08152 *//* MW 1 */ + /* 0x00060c 0x66000 */ call 0x23e /* MW 2 */ + /* 0x00060d 0x023e0 *//* MW 1 */ + /* 0x00060e 0xb4ff9 */ axl1 = 0x1ff L + /* 0x00060f 0x28841 */ ax1 = ax0 & ax1 + /* 0x000610 0x5a444 */ cmpu(ax1,0x2L); axl1 = sp[0x18] /* MW 2 */ + /* 0x000611 0x10311 *//* MW 1 */ + /* 0x000612 0xbc514 */ if (p) jps 0x51 + /* 0x000613 0x38102 */ bx0 = 32 + /* 0x000614 0x50c45 */ bx1 = lsr(ax1,bx0); rb1 = al1 /* MW 2 */ + /* 0x000615 0x9834b *//* MW 1 */ + /* 0x000616 0x50c41 */ bx1 = lsr(ax0,bx0); ra1 = bl1 /* MW 2 */ + /* 0x000617 0x983c9 *//* MW 1 */ + /* 0x000618 0x46088 */ im = 0x1; rb0 = bl1 /* MW 2 */ + /* 0x000619 0x983ca *//* MW 1 */ + /* 0x00061a 0x44309 */ ax1 = ra1(u)*rb0(u); ra0 = al0 /* MW 2 */ + /* 0x00061b 0x18308 *//* MW 1 */ + /* 0x00061c 0x44709 */ ax1 = rb1(u)*rb0(u); sp[0x20] = ahl1 /* MW 2 */ + /* 0x00061d 0x10459 *//* MW 1 */ + /* 0x00061e 0x44209 */ ax1 = ra1(u)*ra0(u); bxl1 = ahl1 /* MW 2 */ + /* 0x00061f 0x19243 *//* MW 1 */ + /* 0x000620 0x5bc20 */ ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ + /* 0x000621 0xb0106 *//* MW 1 */ + /* 0x000622 0x5402d */ bx1 = bx1 + ax1; ra1 = 0x1 /* MW 2 */ + /* 0x000623 0xb000d *//* MW 1 */ + /* 0x000624 0x378c2 */ bx0 = sxtd(bx1) + /* 0x000625 0x30850 */ cmpu(bx0,ax1) + /* 0x000626 0x44609 */ ax1 = rb1(u)*ra0(u); if (s) jpsdb 0x3 /* MW 2 */ + /* 0x000627 0x3c03a *//* MW 1 */ + /* 0x000628 0x5bc20 */ ax1 = sxtd(ax1); ra0 = 0x1 /* MW 2 */ + /* 0x000629 0xb000c *//* MW 1 */ + /* 0x00062a 0x98e88 */ ra0 = zero + /* 0x00062b 0x21193 */ bx1 = lsl(bx0,rb0) + /* 0x00062c 0x280c9 */ ax1 = ax1 + bx1 + /* 0x00062d 0x37841 */ ax1 = sxtd(ax1) + /* 0x00062e 0x308c8 */ cmpu(ax1,bx1) + /* 0x00062f 0x209a3 */ bx1 = asr(ra0,rb0) + /* 0x000630 0x2119b */ bx1 = lsl(bx1,rb0) + /* 0x000631 0x21992 */ bx0 = lsr(bx0,rb0) + /* 0x000632 0x5404d */ bx0 = bx1 + bx0; bxl1 = sp[0x20] /* MW 2 */ + /* 0x000633 0x10413 *//* MW 1 */ + /* 0x000634 0x37882 */ bx0 = sxtd(bx0) + /* 0x000635 0x5404d */ bx0 = bx1 + bx0; if (s) jpsdb 0x3 /* MW 2 */ + /* 0x000636 0x3c03a *//* MW 1 */ + /* 0x000637 0x5bc41 */ bx0 = sxtd(bx0); bxs1 = 0x1 /* MW 2 */ + /* 0x000638 0x3000b *//* MW 1 */ + /* 0x000639 0x98e83 */ bxs1 = zero + /* 0x00063a 0x32808 */ cmpu(ax1,0x0) + /* 0x00063b 0x2099b */ bx1 = asr(bx1,rb0) + /* 0x00063c 0x54069 */ bx0 = bx0 + bx1; bxl1 = sp[0x10] /* MW 2 */ + /* 0x00063d 0x10213 *//* MW 1 */ + /* 0x00063e 0x37882 */ bx0 = sxtd(bx0) + /* 0x00063f 0x5704d */ bx0 = bx1 - bx0; bxs1 = 0x1 /* MW 2 */ + /* 0x000640 0x3000b *//* MW 1 */ + /* 0x000641 0x36041 */ ax1 = -ax1 + /* 0x000642 0x5bc20 */ ax1 = sxtd(ax1); if (nz) jpsdb 0x2 /* MW 2 */ + /* 0x000643 0xbc029 *//* MW 1 */ + /* 0x000644 0x37882 */ bx0 = sxtd(bx0) + /* 0x000645 0x98e83 */ bxs1 = zero + /* 0x000646 0x2099b */ bx1 = asr(bx1,rb0) + /* 0x000647 0x57069 */ bx0 = bx0 - bx1; lr = sp[0x4] /* MW 2 */ + /* 0x000648 0x080b6 *//* MW 1 */ + /* 0x000649 0x5bc41 */ bx0 = sxtd(bx0); bxl1 = sp[0x18] /* MW 2 */ + /* 0x00064a 0x10313 *//* MW 1 */ + /* 0x00064b 0x32010 */ cmp(bx0,0x0) + /* 0x00064c 0xbc0f3 */ if (ns) jps 0xf + /* 0x00064d 0x280cb */ bx1 = ax1 + bx1 + /* 0x00064e 0x378c3 */ bx1 = sxtd(bx1) + /* 0x00064f 0x5842c */ cmpu(bx1,ax1); axl1 = bhl1 /* MW 2 */ + /* 0x000650 0x192c1 *//* MW 1 */ + /* 0x000651 0x563e0 */ ax0 = ax0 + -0x1 L; if (s) jpsdb 0x3 /* MW 2 */ + /* 0x000652 0x3c03a *//* MW 1 */ + /* 0x000653 0x5bc00 */ ax0 = sxtd(ax0); bxs1 = 0x1 /* MW 2 */ + /* 0x000654 0x3000b *//* MW 1 */ + /* 0x000655 0x98e83 */ bxs1 = zero + /* 0x000656 0x2099b */ bx1 = asr(bx1,rb0) + /* 0x000657 0x54069 */ bx0 = bx0 + bx1; bxl1 = sp[0x18] /* MW 2 */ + /* 0x000658 0x10313 *//* MW 1 */ + /* 0x000659 0x37882 */ bx0 = sxtd(bx0) + /* 0x00065a 0x32010 */ cmp(bx0,0x0) + /* 0x00065b 0xbff12 */ if (s) jps -0xf + /* 0x00065c 0x32808 */ cmpu(ax1,0x0) + /* 0x00065d 0x42008 */ if (nz) jps 0x1; ra0 = sp[0x0] /* MW 2 */ + /* 0x00065e 0x88008 *//* MW 1 */ + /* 0x00065f 0x98e89 */ ra1 = zero + /* 0x000660 0x504d4 */ ax1 = asr(ra1,rb0); jpsdb 0x6 /* MW 2 */ + /* 0x000661 0xbc06f *//* MW 1 */ + /* 0x000662 0x54820 */ ax1 = ax0 | ax1; ra1 = sp[0x8] /* MW 2 */ + /* 0x000663 0x88109 *//* MW 1 */ + /* 0x000664 0x88008 */ ra0 = sp[0x0] + /* 0x000665 0x88109 */ ra1 = sp[0x8] + /* 0x000666 0x55000 */ ax1 = ax0 + 0x0; lr = sp[0x4] /* MW 2 */ + /* 0x000667 0x880b6 *//* MW 1 */ + /* 0x000668 0x64000 */ jpdb 0x2fc /* MW 2 */ + /* 0x000669 0x02fcf *//* MW 1 */ + /* 0x00066a 0x46080 */ im = 0x0; sp+= 0x28 /* MW 2 */ + /* 0x00066b 0xa8050 *//* MW 1 */ + /* 0x00066c 0x32800 */ cmpu(ax0,0x0) + /* 0x00066d 0x42018 */ if (z) jps 0x3; lr = sp[0x4] /* MW 2 */ + /* 0x00066e 0x080b6 *//* MW 1 */ + /* 0x00066f 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x000670 0x02cef *//* MW 1 */ + /* 0x000671 0xa8050 */ sp+= 0x28 + /* 0x000672 0x42073 */ jps 0xe; axl0 = sp[0x10] /* MW 2 */ + /* 0x000673 0x90210 *//* MW 1 */ + /* 0x000674 0x32818 */ cmpu(bx1,0x0) + /* 0x000675 0xbc1d1 */ if (nz) jps 0x1d + /* 0x000676 0x301e8 */ cmp(ra1,rb1) + /* 0x000677 0x42040 */ if (nz) jps 0x8; lr = sp[0x4] /* MW 2 */ + /* 0x000678 0x880b6 *//* MW 1 */ + /* 0x000679 0x32800 */ cmpu(ax0,0x0) + /* 0x00067a 0xbc030 */ if (z) jps 0x3 + /* 0x00067b 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x00067c 0x02cef *//* MW 1 */ + /* 0x00067d 0xa8050 */ sp+= 0x28 + /* 0x00067e 0xbc03f */ jpsdb 0x3 + /* 0x00067f 0x6e000 */ axl0 = [0x420] /* MW 2 */ + /* 0x000680 0x21010 *//* MW 1 */ + /* 0x000681 0x90110 */ axl0 = sp[0x8] + /* 0x000682 0x460a0 */ ret; sp+= 0x28 /* MW 2 */ + /* 0x000683 0x28050 *//* MW 1 */ + /* 0x000684 0x38101 */ ax1 = 32 + /* 0x000685 0x20871 */ ax1 = asr(rb0,ax1) + /* 0x000686 0x290c9 */ ax1 = ax1 | bx1 + /* 0x000687 0x32808 */ cmpu(ax1,0x0) + /* 0x000688 0x42010 */ if (nz) jps 0x2; axl0 = sp[0x8] /* MW 2 */ + /* 0x000689 0x90110 *//* MW 1 */ + /* 0x00068a 0x6e000 */ axl0 = [0x420] /* MW 2 */ + /* 0x00068b 0x21010 *//* MW 1 */ + /* 0x00068c 0x880b6 */ lr = sp[0x4] + /* 0x00068d 0x460a0 */ ret; sp+= 0x28 /* MW 2 */ + /* 0x00068e 0x28050 *//* MW 1 */ + /* 0x00068f 0x880b6 */ lr = sp[0x4] + /* 0x000690 0xba148 */ retdb + /* 0x000691 0x90210 */ axl0 = sp[0x10] + /* 0x000692 0xa8050 */ sp+= 0x28 + /* 0x000693 0x880b6 */ lr = sp[0x4] + /* 0x000694 0x64000 */ jpdb 0x2ce /* MW 2 */ + /* 0x000695 0x02cef *//* MW 1 */ + /* 0x000696 0x40000 */ nop; sp+= 0x28 /* MW 2 */ + /* 0x000697 0x28050 *//* MW 1 */ +.label _Z10float64_eqyy + /* 0x000698 0x381a4 */ ra0 = 52 + /* 0x000699 0x21902 */ bx0 = lsr(ax0,ra0) + /* 0x00069a 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x00069b 0x1ffc3 *//* MW 1 */ + /* 0x00069c 0x288d2 */ bx0 = bx0 & bx1 + /* 0x00069d 0x98388 */ ra0 = bl0 + /* 0x00069e 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x00069f 0x1ffca *//* MW 1 */ + /* 0x0006a0 0x301a0 */ cmp(ra0,rb0) + /* 0x0006a1 0xbc051 */ if (nz) jps 0x5 + /* 0x0006a2 0x6e000 */ bxl0 = [0x430] /* MW 2 */ + /* 0x0006a3 0x21812 *//* MW 1 */ + /* 0x0006a4 0x28882 */ bx0 = ax0 & bx0 + /* 0x0006a5 0x32810 */ cmpu(bx0,0x0) + /* 0x0006a6 0xbc191 */ if (nz) jps 0x19 + /* 0x0006a7 0x381a4 */ ra0 = 52 + /* 0x0006a8 0x2190a */ bx0 = lsr(ax1,ra0) + /* 0x0006a9 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x0006aa 0x1ffc3 *//* MW 1 */ + /* 0x0006ab 0x288d2 */ bx0 = bx0 & bx1 + /* 0x0006ac 0x98388 */ ra0 = bl0 + /* 0x0006ad 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x0006ae 0x1ffca *//* MW 1 */ + /* 0x0006af 0x301a0 */ cmp(ra0,rb0) + /* 0x0006b0 0xbc051 */ if (nz) jps 0x5 + /* 0x0006b1 0x6e000 */ bxl0 = [0x430] /* MW 2 */ + /* 0x0006b2 0x21812 *//* MW 1 */ + /* 0x0006b3 0x2888a */ bx0 = ax1 & bx0 + /* 0x0006b4 0x32810 */ cmpu(bx0,0x0) + /* 0x0006b5 0xbc0a1 */ if (nz) jps 0xa + /* 0x0006b6 0x30840 */ cmpu(ax0,ax1) + /* 0x0006b7 0x5c006 */ ra0 = 1; if (z) jps 0x9 /* MW 2 */ + /* 0x0006b8 0x3c090 *//* MW 1 */ + /* 0x0006b9 0x29040 */ ax0 = ax0 | ax1 + /* 0x0006ba 0x23040 */ ax0 = lsl(ax0,0x1) + /* 0x0006bb 0x32800 */ cmpu(ax0,0x0) + /* 0x0006bc 0x40000 */ nop; if (z) jps 0x4 /* MW 2 */ + /* 0x0006bd 0x3c040 *//* MW 1 */ + /* 0x0006be 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x0006bf 0x18e88 *//* MW 1 */ + /* 0x0006c0 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x0006c1 0x18e88 *//* MW 1 */ + /* 0x0006c2 0x40000 */ nop; ret /* MW 2 */ + /* 0x0006c3 0x3a140 *//* MW 1 */ +.label _Z10float64_leyy + /* 0x0006c4 0x381a4 */ ra0 = 52 + /* 0x0006c5 0x21902 */ bx0 = lsr(ax0,ra0) + /* 0x0006c6 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x0006c7 0x1ffc3 *//* MW 1 */ + /* 0x0006c8 0x288d2 */ bx0 = bx0 & bx1 + /* 0x0006c9 0x98388 */ ra0 = bl0 + /* 0x0006ca 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x0006cb 0x1ffca *//* MW 1 */ + /* 0x0006cc 0x301a0 */ cmp(ra0,rb0) + /* 0x0006cd 0xbc051 */ if (nz) jps 0x5 + /* 0x0006ce 0x6e000 */ bxl0 = [0x438] /* MW 2 */ + /* 0x0006cf 0x21c12 *//* MW 1 */ + /* 0x0006d0 0x28882 */ bx0 = ax0 & bx0 + /* 0x0006d1 0x32810 */ cmpu(bx0,0x0) + /* 0x0006d2 0xbc2b1 */ if (nz) jps 0x2b + /* 0x0006d3 0x381a4 */ ra0 = 52 + /* 0x0006d4 0x2190a */ bx0 = lsr(ax1,ra0) + /* 0x0006d5 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x0006d6 0x1ffc3 *//* MW 1 */ + /* 0x0006d7 0x288d2 */ bx0 = bx0 & bx1 + /* 0x0006d8 0x98388 */ ra0 = bl0 + /* 0x0006d9 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x0006da 0x1ffca *//* MW 1 */ + /* 0x0006db 0x301a0 */ cmp(ra0,rb0) + /* 0x0006dc 0xbc051 */ if (nz) jps 0x5 + /* 0x0006dd 0x6e000 */ bxl0 = [0x438] /* MW 2 */ + /* 0x0006de 0x21c12 *//* MW 1 */ + /* 0x0006df 0x2888a */ bx0 = ax1 & bx0 + /* 0x0006e0 0x32810 */ cmpu(bx0,0x0) + /* 0x0006e1 0xbc1c1 */ if (nz) jps 0x1c + /* 0x0006e2 0x381fc */ ra0 = 63 + /* 0x0006e3 0x21902 */ bx0 = lsr(ax0,ra0) + /* 0x0006e4 0x50c85 */ bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ + /* 0x0006e5 0x1838a *//* MW 1 */ + /* 0x0006e6 0x98388 */ ra0 = bl0 + /* 0x0006e7 0x30130 */ cmp(rb0,ra0) + /* 0x0006e8 0xbc0c1 */ if (nz) jps 0xc + /* 0x0006e9 0x30840 */ cmpu(ax0,ax1) + /* 0x0006ea 0x5c006 */ ra0 = 1; if (z) jps 0x14 /* MW 2 */ + /* 0x0006eb 0x3c140 *//* MW 1 */ + /* 0x0006ec 0x30840 */ cmpu(ax0,ax1) + /* 0x0006ed 0x5c006 */ ra1 = 1; if (s) jps 0x1 /* MW 2 */ + /* 0x0006ee 0xbc012 *//* MW 1 */ + /* 0x0006ef 0x98e89 */ ra1 = zero + /* 0x0006f0 0x29976 */ rb0 = rb0 ^ ra1 + /* 0x0006f1 0x32030 */ cmp(rb0,0x0) + /* 0x0006f2 0xbc0d1 */ if (nz) jps 0xd + /* 0x0006f3 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x0006f4 0x18e88 *//* MW 1 */ + /* 0x0006f5 0x32030 */ cmp(rb0,0x0) + /* 0x0006f6 0x5c006 */ ra0 = 1; if (nz) jps 0x8 /* MW 2 */ + /* 0x0006f7 0x3c081 *//* MW 1 */ + /* 0x0006f8 0x29040 */ ax0 = ax0 | ax1 + /* 0x0006f9 0x23040 */ ax0 = lsl(ax0,0x1) + /* 0x0006fa 0x32800 */ cmpu(ax0,0x0) + /* 0x0006fb 0xbc040 */ if (z) jps 0x4 + /* 0x0006fc 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x0006fd 0x18e88 *//* MW 1 */ + /* 0x0006fe 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x0006ff 0x18e88 *//* MW 1 */ + /* 0x000700 0x40000 */ nop; ret /* MW 2 */ + /* 0x000701 0x3a140 *//* MW 1 */ +.label _Z10float64_ltyy + /* 0x000702 0x381a4 */ ra0 = 52 + /* 0x000703 0x21902 */ bx0 = lsr(ax0,ra0) + /* 0x000704 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x000705 0x1ffc3 *//* MW 1 */ + /* 0x000706 0x288d2 */ bx0 = bx0 & bx1 + /* 0x000707 0x98388 */ ra0 = bl0 + /* 0x000708 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x000709 0x1ffca *//* MW 1 */ + /* 0x00070a 0x301a0 */ cmp(ra0,rb0) + /* 0x00070b 0xbc051 */ if (nz) jps 0x5 + /* 0x00070c 0x6e000 */ bxl0 = [0x440] /* MW 2 */ + /* 0x00070d 0x22012 *//* MW 1 */ + /* 0x00070e 0x28882 */ bx0 = ax0 & bx0 + /* 0x00070f 0x32810 */ cmpu(bx0,0x0) + /* 0x000710 0xbc2d1 */ if (nz) jps 0x2d + /* 0x000711 0x381a4 */ ra0 = 52 + /* 0x000712 0x2190a */ bx0 = lsr(ax1,ra0) + /* 0x000713 0x6a000 */ bxl1 = 0x7ff L /* MW 2 */ + /* 0x000714 0x1ffc3 *//* MW 1 */ + /* 0x000715 0x288d2 */ bx0 = bx0 & bx1 + /* 0x000716 0x98388 */ ra0 = bl0 + /* 0x000717 0x68000 */ rb0 = 0x7ff /* MW 2 */ + /* 0x000718 0x1ffca *//* MW 1 */ + /* 0x000719 0x301a0 */ cmp(ra0,rb0) + /* 0x00071a 0xbc051 */ if (nz) jps 0x5 + /* 0x00071b 0x6e000 */ bxl0 = [0x440] /* MW 2 */ + /* 0x00071c 0x22012 *//* MW 1 */ + /* 0x00071d 0x2888a */ bx0 = ax1 & bx0 + /* 0x00071e 0x32810 */ cmpu(bx0,0x0) + /* 0x00071f 0xbc1e1 */ if (nz) jps 0x1e + /* 0x000720 0x381fc */ ra0 = 63 + /* 0x000721 0x21902 */ bx0 = lsr(ax0,ra0) + /* 0x000722 0x50c85 */ bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ + /* 0x000723 0x1838a *//* MW 1 */ + /* 0x000724 0x98388 */ ra0 = bl0 + /* 0x000725 0x30130 */ cmp(rb0,ra0) + /* 0x000726 0xbc0d1 */ if (nz) jps 0xd + /* 0x000727 0x30840 */ cmpu(ax0,ax1) + /* 0x000728 0x5c006 */ ra0 = 1; if (z) jps 0x8 /* MW 2 */ + /* 0x000729 0x3c080 *//* MW 1 */ + /* 0x00072a 0x30840 */ cmpu(ax0,ax1) + /* 0x00072b 0x5c006 */ ra1 = 1; if (s) jps 0x1 /* MW 2 */ + /* 0x00072c 0xbc012 *//* MW 1 */ + /* 0x00072d 0x98e89 */ ra1 = zero + /* 0x00072e 0x29976 */ rb0 = rb0 ^ ra1 + /* 0x00072f 0x32030 */ cmp(rb0,0x0) + /* 0x000730 0x40000 */ nop; if (nz) jps 0xe /* MW 2 */ + /* 0x000731 0x3c0e1 *//* MW 1 */ + /* 0x000732 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x000733 0x18e88 *//* MW 1 */ + /* 0x000734 0x32030 */ cmp(rb0,0x0) + /* 0x000735 0x5c006 */ ra0 = 1; if (z) jps 0x5 /* MW 2 */ + /* 0x000736 0x3c050 *//* MW 1 */ + /* 0x000737 0x29040 */ ax0 = ax0 | ax1 + /* 0x000738 0x23040 */ ax0 = lsl(ax0,0x1) + /* 0x000739 0x32800 */ cmpu(ax0,0x0) + /* 0x00073a 0x40000 */ nop; if (nz) jps 0x4 /* MW 2 */ + /* 0x00073b 0x3c041 *//* MW 1 */ + /* 0x00073c 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x00073d 0x18e88 *//* MW 1 */ + /* 0x00073e 0x460a0 */ ret; ra0 = zero /* MW 2 */ + /* 0x00073f 0x18e88 *//* MW 1 */ + /* 0x000740 0x40000 */ nop; ret /* MW 2 */ + /* 0x000741 0x3a140 *//* MW 1 */ +.label ff_ldexp + /* 0x000742 0x6c000 */ bxs0 = [0x4a0] /* MW 2 */ + /* 0x000743 0x25002 *//* MW 1 */ + /* 0x000744 0x98440 */ axs0 = ah1 + /* 0x000745 0x54441 */ bx0 = ax0 & bx0; sp+= -0x20 /* MW 2 */ + /* 0x000746 0x2bfc0 *//* MW 1 */ + /* 0x000747 0x5168a */ ra0 = asr(bx0,0x14); sp[0x4] = ra0 /* MW 2 */ + /* 0x000748 0x080c8 *//* MW 1 */ + /* 0x000749 0x59010 */ cmp(ra0,0x0); bxs0 = al1 /* MW 2 */ + /* 0x00074a 0x18342 *//* MW 1 */ + /* 0x00074b 0x420d8 */ if (nz) jps 0x1b; sp[0x0] = lr /* MW 2 */ + /* 0x00074c 0x88076 *//* MW 1 */ + /* 0x00074d 0x00000 */ nop + /* 0x00074e 0x6c000 */ ra0 = [0x4a4] /* MW 2 */ + /* 0x00074f 0x25208 *//* MW 1 */ + /* 0x000750 0x28900 */ ax0 = ax0 & ra0 + /* 0x000751 0x29010 */ ax0 = bx0 | ax0 + /* 0x000752 0x32000 */ cmp(ax0,0x0) + /* 0x000753 0xbc5a0 */ if (z) jps 0x5a + /* 0x000754 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000755 0x05188 *//* MW 1 */ + /* 0x000756 0x6e000 */ bxl0 = [0x478] /* MW 2 */ + /* 0x000757 0x23c12 *//* MW 1 */ + /* 0x000758 0x6c000 */ ra0 = [0x4a0] /* MW 2 */ + /* 0x000759 0x25008 *//* MW 1 */ + /* 0x00075a 0x5c328 */ ax1 = -54; bxs0 = ah0 /* MW 2 */ + /* 0x00075b 0x98402 *//* MW 1 */ + /* 0x00075c 0x5448a */ ra0 = bx0 & ra0; sp[0x8] = bh0 /* MW 2 */ + /* 0x00075d 0x08152 *//* MW 1 */ + /* 0x00075e 0x683fc */ bxs0 = -0xc350 /* MW 2 */ + /* 0x00075f 0xf2c02 *//* MW 1 */ + /* 0x000760 0x51692 */ ra0 = asr(ra0,0x14); rb0 = sp[0x4] /* MW 2 */ + /* 0x000761 0x0808a *//* MW 1 */ + /* 0x000762 0x58058 */ cmp(rb0,bx0); sp[0x10] = ahl0 /* MW 2 */ + /* 0x000763 0x10258 *//* MW 1 */ + /* 0x000764 0x54032 */ ra0 = ra0 + ax1; if (s) jps 0x4c /* MW 2 */ + /* 0x000765 0x3c4c2 *//* MW 1 */ + /* 0x000766 0x42023 */ jps 0x4; axl1 = sp[0x10] /* MW 2 */ + /* 0x000767 0x90211 *//* MW 1 */ + /* 0x000768 0x8808a */ rb0 = sp[0x4] + /* 0x000769 0x88150 */ sp[0x8] = ah0 + /* 0x00076a 0x40000 */ nop; sp[0x10] = ahl1 /* MW 2 */ + /* 0x00076b 0x10259 *//* MW 1 */ + /* 0x00076c 0x68000 */ axs0 = 0x7ff /* MW 2 */ + /* 0x00076d 0x1ffc0 *//* MW 1 */ + /* 0x00076e 0x30020 */ cmp(ra0,ax0) + /* 0x00076f 0xbc380 */ if (z) jps 0x38 + /* 0x000770 0x6e000 */ axl0 = [0x490] /* MW 2 */ + /* 0x000771 0x24810 *//* MW 1 */ + /* 0x000772 0x28808 */ ax0 = ax1 & ax0 + /* 0x000773 0x6e000 */ axl1 = [0x488] /* MW 2 */ + /* 0x000774 0x24411 *//* MW 1 */ + /* 0x000775 0x54821 */ bx0 = ax0 | ax1; sp[0x18] = ahl0 /* MW 2 */ + /* 0x000776 0x10358 *//* MW 1 */ + /* 0x000777 0x281a0 */ ax0 = ra0 + rb0 + /* 0x000778 0x881d0 */ sp[0xc] = ah0 + /* 0x000779 0x66000 */ call 0x518 /* MW 2 */ + /* 0x00077a 0x05180 *//* MW 1 */ + /* 0x00077b 0x88181 */ axs1 = sp[0xc] + /* 0x00077c 0x68000 */ bxs0 = 0x7fe /* MW 2 */ + /* 0x00077d 0x1ff82 *//* MW 1 */ + /* 0x00077e 0x58044 */ cmp(ax1,bx0); bxs0 = sp[0x8] /* MW 2 */ + /* 0x00077f 0x08102 *//* MW 1 */ + /* 0x000780 0xbc2a4 */ if (p) jps 0x2a + /* 0x000781 0x6c000 */ rb0 = [0x4a8] /* MW 2 */ + /* 0x000782 0x2540a *//* MW 1 */ + /* 0x000783 0x59004 */ cmp(ax1,0x0); ra0 = -0x36 /* MW 2 */ + /* 0x000784 0x33e54 *//* MW 1 */ + /* 0x000785 0x544c9 */ bx0 = bx0 & rb0; if (p) jps 0x1a /* MW 2 */ + /* 0x000786 0x3c1a4 *//* MW 1 */ + /* 0x000787 0x30108 */ cmp(ax1,ra0) + /* 0x000788 0x42062 */ if (np) jps 0xc; ra0 = sp[0x4] /* MW 2 */ + /* 0x000789 0x88088 *//* MW 1 */ + /* 0x00078a 0x381b4 */ ra0 = 54 + /* 0x00078b 0x54084 */ ax1 = ax1 + ra0; axl0 = sp[0x10] /* MW 2 */ + /* 0x00078c 0x90210 *//* MW 1 */ + /* 0x00078d 0x23509 */ ax1 = lsl(ax1,0x14) + /* 0x00078e 0x29051 */ ax1 = bx0 | ax1 + /* 0x00078f 0x98441 */ axs1 = ah1 + /* 0x000790 0x9830d */ al1 = al0 + /* 0x000791 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000792 0x05188 *//* MW 1 */ + /* 0x000793 0x6e000 */ bxl0 = [0x498] /* MW 2 */ + /* 0x000794 0x24c12 *//* MW 1 */ + /* 0x000795 0xbc157 */ jps 0x15 + /* 0x000796 0x68003 */ axs1 = 0xc350 /* MW 2 */ + /* 0x000797 0x0d401 *//* MW 1 */ + /* 0x000798 0x58030 */ cmp(ra0,ax1); bxl0 = sp[0x18] /* MW 2 */ + /* 0x000799 0x10312 *//* MW 1 */ + /* 0x00079a 0xbc10c */ if (p) jpsdb 0x10 + /* 0x00079b 0x6e000 */ axl1 = [0x480] /* MW 2 */ + /* 0x00079c 0x24011 *//* MW 1 */ + /* 0x00079d 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00079e 0x05188 *//* MW 1 */ + /* 0x00079f 0x29052 */ bx0 = bx0 | ax1 + /* 0x0007a0 0xbc0a7 */ jps 0xa + /* 0x0007a1 0x23508 */ ax0 = lsl(ax1,0x14) + /* 0x0007a2 0x54808 */ ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ + /* 0x0007a3 0x10211 *//* MW 1 */ + /* 0x0007a4 0x4202f */ jpsdb 0x5; axs0 = ah0 /* MW 2 */ + /* 0x0007a5 0x98400 *//* MW 1 */ + /* 0x0007a6 0x40000 */ nop; al0 = al1 /* MW 2 */ + /* 0x0007a7 0x1834c *//* MW 1 */ + /* 0x0007a8 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0007a9 0x05008 *//* MW 1 */ + /* 0x0007aa 0x2a00a */ bx0 = ax1 + 0x0 + /* 0x0007ab 0x88036 */ lr = sp[0x0] + /* 0x0007ac 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0007ad 0x28040 *//* MW 1 */ + /* 0x0007ae 0x55004 */ ax0 = ax1 + 0x0; lr = sp[0x0] /* MW 2 */ + /* 0x0007af 0x08036 *//* MW 1 */ + /* 0x0007b0 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0007b1 0x28040 *//* MW 1 */ + /* 0x0007b2 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x0007b3 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0007b4 0x05188 *//* MW 1 */ + /* 0x0007b5 0x6e000 */ axl1 = [0x480] /* MW 2 */ + /* 0x0007b6 0x24011 *//* MW 1 */ + /* 0x0007b7 0x88036 */ lr = sp[0x0] + /* 0x0007b8 0x460a0 */ ret; sp+= 0x20 /* MW 2 */ + /* 0x0007b9 0x28040 *//* MW 1 */ +.label ff_pow + /* 0x0007ba 0x6c000 */ axs0 = [0x4ac] /* MW 2 */ + /* 0x0007bb 0x25600 *//* MW 1 */ + /* 0x0007bc 0x55007 */ rb0 = ax1 + 0x0; rb1 = bh0 /* MW 2 */ + /* 0x0007bd 0x1848b *//* MW 1 */ + /* 0x0007be 0x54419 */ bx1 = rb0 & ax0; sp+= -0x58 /* MW 2 */ + /* 0x0007bf 0xabf50 *//* MW 1 */ + /* 0x0007c0 0x5441e */ ra0 = rb1 & ax0; axs0 = bl0 /* MW 2 */ + /* 0x0007c1 0x18380 *//* MW 1 */ + /* 0x0007c2 0x54811 */ bx0 = ra0 | ax0; sp[0x0] = bhl0 /* MW 2 */ + /* 0x0007c3 0x1005a *//* MW 1 */ + /* 0x0007c4 0x59408 */ cmpu(bx0,0x0); sp[0x8] = al1 /* MW 2 */ + /* 0x0007c5 0x0814d *//* MW 1 */ + /* 0x0007c6 0x64000 */ if (z) jpdb 0xb66 /* MW 2 */ + /* 0x0007c7 0x0b668 *//* MW 1 */ + /* 0x0007c8 0x88276 */ sp[0x10] = lr + /* 0x0007c9 0x00000 */ nop + /* 0x0007ca 0x6c000 */ bxs0 = [0x4b0] /* MW 2 */ + /* 0x0007cb 0x25802 *//* MW 1 */ + /* 0x0007cc 0x30098 */ cmp(bx1,bx0) + /* 0x0007cd 0x64000 */ if (p) jp 0xb62 /* MW 2 */ + /* 0x0007ce 0x0b624 *//* MW 1 */ + /* 0x0007cf 0x30098 */ cmp(bx1,bx0) + /* 0x0007d0 0x42008 */ if (z) jps 0x1; ra1 = sp[0x8] /* MW 2 */ + /* 0x0007d1 0x08109 *//* MW 1 */ + /* 0x0007d2 0xbc037 */ jps 0x3 + /* 0x0007d3 0x32828 */ cmpu(ra1,0x0) + /* 0x0007d4 0x64000 */ if (nz) jp 0xb62 /* MW 2 */ + /* 0x0007d5 0x0b621 *//* MW 1 */ + /* 0x0007d6 0x300a0 */ cmp(ra0,bx0) + /* 0x0007d7 0x64000 */ if (p) jp 0xb62 /* MW 2 */ + /* 0x0007d8 0x0b624 *//* MW 1 */ + /* 0x0007d9 0x300a0 */ cmp(ra0,bx0) + /* 0x0007da 0xbc010 */ if (z) jps 0x1 + /* 0x0007db 0xbc047 */ jps 0x4 + /* 0x0007dc 0x59400 */ cmpu(ax0,0x0); nop /* MW 2 */ + /* 0x0007dd 0x38000 *//* MW 1 */ + /* 0x0007de 0x64000 */ if (nz) jp 0xb62 /* MW 2 */ + /* 0x0007df 0x0b621 *//* MW 1 */ + /* 0x0007e0 0x59018 */ cmp(rb0,0x0); ra1 = zero /* MW 2 */ + /* 0x0007e1 0x18e89 *//* MW 1 */ + /* 0x0007e2 0x4216d */ if (ns) jpsdb 0x2d; sp[0x14] = ra1 /* MW 2 */ + /* 0x0007e3 0x882c9 *//* MW 1 */ + /* 0x0007e4 0x00000 */ nop + /* 0x0007e5 0x6c000 */ ra1 = [0x4b4] /* MW 2 */ + /* 0x0007e6 0x25a09 *//* MW 1 */ + /* 0x0007e7 0x580b0 */ cmp(ra0,ra1); ra1 = 0x2 /* MW 2 */ + /* 0x0007e8 0x30015 *//* MW 1 */ + /* 0x0007e9 0xbc263 */ if (ns) jps 0x26 + /* 0x0007ea 0x6c000 */ ra1 = [0x4b8] /* MW 2 */ + /* 0x0007eb 0x25c09 *//* MW 1 */ + /* 0x0007ec 0x580b0 */ cmp(ra0,ra1); ra1 = zero /* MW 2 */ + /* 0x0007ed 0x18e89 *//* MW 1 */ + /* 0x0007ee 0xbc212 */ if (s) jps 0x21 + /* 0x0007ef 0x90359 */ sp[0x18] = ahl1 + /* 0x0007f0 0x51692 */ ra1 = asr(ra0,0x14); axs1 = -0x3ff /* MW 2 */ + /* 0x0007f1 0xb2009 *//* MW 1 */ + /* 0x0007f2 0x54036 */ ra1 = ra1 + ax1; axs1 = 0x14 /* MW 2 */ + /* 0x0007f3 0xb00a1 *//* MW 1 */ + /* 0x0007f4 0x58034 */ cmp(ra1,ax1); axs1 = 0x34 /* MW 2 */ + /* 0x0007f5 0x301a1 *//* MW 1 */ + /* 0x0007f6 0xbc0e4 */ if (p) jps 0xe + /* 0x0007f7 0x32800 */ cmpu(ax0,0x0) + /* 0x0007f8 0x420a0 */ if (nz) jps 0x14; axs1 = zero /* MW 2 */ + /* 0x0007f9 0x98e81 *//* MW 1 */ + /* 0x0007fa 0x380a1 */ ax1 = 20 + /* 0x0007fb 0x2e149 */ ax1 = ax1 - ra1 + /* 0x0007fc 0x20865 */ ra1 = asr(ra0,ax1) + /* 0x0007fd 0x21069 */ ax1 = lsl(ra1,ax1) + /* 0x0007fe 0x58084 */ cmp(ax1,ra0); axs1 = zero /* MW 2 */ + /* 0x0007ff 0x18e81 *//* MW 1 */ + /* 0x000800 0xbc0d1 */ if (nz) jps 0xd + /* 0x000801 0x55434 */ ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ + /* 0x000802 0xb0015 *//* MW 1 */ + /* 0x000803 0x57034 */ ax1 = ra1 - ax1; jps 0x9 /* MW 2 */ + /* 0x000804 0xbc097 *//* MW 1 */ + /* 0x000805 0x2e149 */ ax1 = ax1 - ra1 + /* 0x000806 0x21845 */ ra1 = lsr(ax0,ax1) + /* 0x000807 0x21069 */ ax1 = lsl(ra1,ax1) + /* 0x000808 0x58404 */ cmpu(ax1,ax0); axs1 = zero /* MW 2 */ + /* 0x000809 0x18e81 *//* MW 1 */ + /* 0x00080a 0xbc031 */ if (nz) jps 0x3 + /* 0x00080b 0x55434 */ ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ + /* 0x00080c 0xb0015 *//* MW 1 */ + /* 0x00080d 0x2e069 */ ax1 = ra1 - ax1 + /* 0x00080e 0x55006 */ ra1 = ax1 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x00080f 0x90311 *//* MW 1 */ + /* 0x000810 0x882c9 */ sp[0x14] = ra1 + /* 0x000811 0x32800 */ cmpu(ax0,0x0) + /* 0x000812 0x6c000 */ ra1 = [0x4d8] /* MW 2 */ + /* 0x000813 0x26c09 *//* MW 1 */ + /* 0x000814 0x540ae */ ra1 = bx1 + ra1; if (nz) jpsdb 0x17 /* MW 2 */ + /* 0x000815 0xbc179 *//* MW 1 */ + /* 0x000816 0x88100 */ axs0 = sp[0x8] + /* 0x000817 0x58050 */ cmp(ra0,bx0); sp[0x8] = ahl1 /* MW 2 */ + /* 0x000818 0x10159 *//* MW 1 */ + /* 0x000819 0x64000 */ if (z) jp 0xb6c /* MW 2 */ + /* 0x00081a 0x0b6c0 *//* MW 1 */ + /* 0x00081b 0x6c000 */ axs1 = [0x4b8] /* MW 2 */ + /* 0x00081c 0x25c01 *//* MW 1 */ + /* 0x00081d 0x30060 */ cmp(ra0,ax1) + /* 0x00081e 0x64000 */ if (z) jp 0xb87 /* MW 2 */ + /* 0x00081f 0x0b870 *//* MW 1 */ + /* 0x000820 0x6c000 */ axs1 = [0x4bc] /* MW 2 */ + /* 0x000821 0x25e01 *//* MW 1 */ + /* 0x000822 0x30078 */ cmp(rb1,ax1) + /* 0x000823 0x64000 */ if (z) jpdb 0xb92 /* MW 2 */ + /* 0x000824 0x0b928 *//* MW 1 */ + /* 0x000825 0x6c000 */ axs1 = [0x4c0] /* MW 2 */ + /* 0x000826 0x26001 *//* MW 1 */ + /* 0x000827 0x30078 */ cmp(rb1,ax1) + /* 0x000828 0x42018 */ if (nz) jps 0x3; axl1 = sp[0x8] /* MW 2 */ + /* 0x000829 0x90111 *//* MW 1 */ + /* 0x00082a 0x32030 */ cmp(rb0,0x0) + /* 0x00082b 0x64000 */ if (ns) jp 0xb99 /* MW 2 */ + /* 0x00082c 0x0b993 *//* MW 1 */ + /* 0x00082d 0x32800 */ cmpu(ax0,0x0) + /* 0x00082e 0x6e000 */ axl0 = [0x4f0] /* MW 2 */ + /* 0x00082f 0x27810 *//* MW 1 */ + /* 0x000830 0x54404 */ ax0 = ax1 & ax0; if (nz) jps 0xb /* MW 2 */ + /* 0x000831 0x3c0b1 *//* MW 1 */ + /* 0x000832 0x30098 */ cmp(bx1,bx0) + /* 0x000833 0x64000 */ if (z) jp 0xb9e /* MW 2 */ + /* 0x000834 0x0b9e0 *//* MW 1 */ + /* 0x000835 0x32018 */ cmp(bx1,0x0) + /* 0x000836 0x64000 */ if (z) jp 0xb9e /* MW 2 */ + /* 0x000837 0x0b9e0 *//* MW 1 */ + /* 0x000838 0x6c000 */ bxs0 = [0x4b8] /* MW 2 */ + /* 0x000839 0x25c02 *//* MW 1 */ + /* 0x00083a 0x30098 */ cmp(bx1,bx0) + /* 0x00083b 0x64000 */ if (z) jp 0xb9e /* MW 2 */ + /* 0x00083c 0x0b9e0 *//* MW 1 */ + /* 0x00083d 0x23ff6 */ rb0 = lsr(rb0,0x1f) + /* 0x00083e 0x553fb */ rb0 = rb0 + -0x1; bxs0 = sp[0x14] /* MW 2 */ + /* 0x00083f 0x08282 *//* MW 1 */ + /* 0x000840 0x54859 */ bx0 = rb0 | bx0; sp[0x8] = rb0 /* MW 2 */ + /* 0x000841 0x0814a *//* MW 1 */ + /* 0x000842 0x32810 */ cmpu(bx0,0x0) + /* 0x000843 0x64000 */ if (z) jp 0xb58 /* MW 2 */ + /* 0x000844 0x0b580 *//* MW 1 */ + /* 0x000845 0x6c000 */ bxs0 = [0x4c4] /* MW 2 */ + /* 0x000846 0x26202 *//* MW 1 */ + /* 0x000847 0x300a0 */ cmp(ra0,bx0) + /* 0x000848 0xbd594 */ if (p) jps 0x159 + /* 0x000849 0x68040 */ axs1 = 0x100000 /* MW 2 */ + /* 0x00084a 0x00001 *//* MW 1 */ + /* 0x00084b 0x5802c */ cmp(bx1,ax1); axs1 = zero /* MW 2 */ + /* 0x00084c 0x18e81 *//* MW 1 */ + /* 0x00084d 0x42049 */ if (ns) jps 0x9; rb0 = zero /* MW 2 */ + /* 0x00084e 0x98e8a *//* MW 1 */ + /* 0x00084f 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000850 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000851 0x05188 *//* MW 1 */ + /* 0x000852 0x6e000 */ bxl0 = [0x530] /* MW 2 */ + /* 0x000853 0x29812 *//* MW 1 */ + /* 0x000854 0x5c32c */ ax1 = -53; nop /* MW 2 */ + /* 0x000855 0xb8000 *//* MW 1 */ + /* 0x000856 0x5c003 */ rb0 = 0; bxs1 = ah0 /* MW 2 */ + /* 0x000857 0x18403 *//* MW 1 */ + /* 0x000858 0x6803f */ bxs0 = 0xfffff /* MW 2 */ + /* 0x000859 0xfffc2 *//* MW 1 */ + /* 0x00085a 0x5444f */ rb1 = bx1 & bx0; bxs0 = -0x3ff /* MW 2 */ + /* 0x00085b 0xb200a *//* MW 1 */ + /* 0x00085c 0x5168e */ ra0 = asr(bx1,0x14); sp[0xc] = rb0 /* MW 2 */ + /* 0x00085d 0x081ca *//* MW 1 */ + /* 0x00085e 0x280a2 */ bx0 = ra0 + bx0 + /* 0x00085f 0x28089 */ ax1 = ax1 + bx0 + /* 0x000860 0x6c000 */ bxs0 = [0x4b8] /* MW 2 */ + /* 0x000861 0x25c02 *//* MW 1 */ + /* 0x000862 0x6800e */ bxs1 = 0x3988e /* MW 2 */ + /* 0x000863 0x62383 *//* MW 1 */ + /* 0x000864 0x5807c */ cmp(rb1,bx1); sp[0x18] = ah1 /* MW 2 */ + /* 0x000865 0x08351 *//* MW 1 */ + /* 0x000866 0x5485e */ ra0 = rb1 | bx0; if (np) jps 0xe /* MW 2 */ + /* 0x000867 0x3c0e5 *//* MW 1 */ + /* 0x000868 0x6802e */ axs1 = 0xbb67a /* MW 2 */ + /* 0x000869 0xd9e81 *//* MW 1 */ + /* 0x00086a 0x5803c */ cmp(rb1,ax1); rb0 = 0x1 /* MW 2 */ + /* 0x00086b 0x3000e *//* MW 1 */ + /* 0x00086c 0xbc072 */ if (s) jps 0x7 + /* 0x00086d 0x88301 */ axs1 = sp[0x18] + /* 0x00086e 0x683c0 */ bxs0 = -0x100000 /* MW 2 */ + /* 0x00086f 0x00002 *//* MW 1 */ + /* 0x000870 0x55024 */ ax1 = ax1 + 0x1; rb0 = zero /* MW 2 */ + /* 0x000871 0x98e8a *//* MW 1 */ + /* 0x000872 0x54052 */ ra0 = ra0 + bx0; sp[0x18] = ah1 /* MW 2 */ + /* 0x000873 0x08351 *//* MW 1 */ + /* 0x000874 0x40000 */ nop; sp[0xc] = rb0 /* MW 2 */ + /* 0x000875 0x081ca *//* MW 1 */ + /* 0x000876 0x68000 */ a0 = 0x448 /* MW 2 */ + /* 0x000877 0x11220 *//* MW 1 */ + /* 0x000878 0x51878 */ ax1 = lsl(rb0,0x3); sp[0x1c] = ra0 /* MW 2 */ + /* 0x000879 0x883c8 *//* MW 1 */ + /* 0x00087a 0x55010 */ ax1 = ra0 + 0x0; c0 = ah1 /* MW 2 */ + /* 0x00087b 0x98468 *//* MW 1 */ + /* 0x00087c 0x9c000 */ a0 = a0+c0 + /* 0x00087d 0x8c032 */ bxl0 = a0[0x0] + /* 0x00087e 0x9830d */ al1 = al0 + /* 0x00087f 0x90559 */ sp[0x28] = ahl1 + /* 0x000880 0x9045a */ sp[0x20] = bhl0 + /* 0x000881 0x88668 */ sp[0x30] = c0 + /* 0x000882 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000883 0x050c0 *//* MW 1 */ + /* 0x000884 0x90511 */ axl1 = sp[0x28] + /* 0x000885 0x90758 */ sp[0x38] = ahl0 + /* 0x000886 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000887 0x05008 *//* MW 1 */ + /* 0x000888 0x90412 */ bxl0 = sp[0x20] + /* 0x000889 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x00088a 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x00088b 0x05c48 *//* MW 1 */ + /* 0x00088c 0x6e000 */ axl1 = [0x4e8] /* MW 2 */ + /* 0x00088d 0x27411 *//* MW 1 */ + /* 0x00088e 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x00088f 0x10711 *//* MW 1 */ + /* 0x000890 0x40000 */ nop; sp[0x40] = bhl0 /* MW 2 */ + /* 0x000891 0x1085a *//* MW 1 */ + /* 0x000892 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000893 0x05180 *//* MW 1 */ + /* 0x000894 0x5c0f4 */ ax1 = 61; bxs0 = sp[0x1c] /* MW 2 */ + /* 0x000895 0x88382 *//* MW 1 */ + /* 0x000896 0x5142b */ rb0 = asr(bx0,0x1); bxs0 = sp[0xc] /* MW 2 */ + /* 0x000897 0x08182 *//* MW 1 */ + /* 0x000898 0x52038 */ ax1 = bs(rb0,ax1); sp[0x48] = ahl0 /* MW 2 */ + /* 0x000899 0x90958 *//* MW 1 */ + /* 0x00089a 0x68020 */ rb1 = 0x80000 /* MW 2 */ + /* 0x00089b 0x0000b *//* MW 1 */ + /* 0x00089c 0x51a4b */ rb0 = lsl(bx0,0x12); bxl0 = sp[0x20] /* MW 2 */ + /* 0x00089d 0x10412 *//* MW 1 */ + /* 0x00089e 0x540e4 */ ax1 = ax1 + rb1; al0 = zero /* MW 2 */ + /* 0x00089f 0x98e8c *//* MW 1 */ + /* 0x0008a0 0x540c4 */ ax1 = ax1 + rb0; sp[0x20] = ahl0 /* MW 2 */ + /* 0x0008a1 0x90458 *//* MW 1 */ + /* 0x0008a2 0x98441 */ axs1 = ah1 + /* 0x0008a3 0x98e8d */ al1 = zero + /* 0x0008a4 0x40000 */ nop; sp[0x50] = ahl1 /* MW 2 */ + /* 0x0008a5 0x10a59 *//* MW 1 */ + /* 0x0008a6 0x66000 */ call 0x50c /* MW 2 */ + /* 0x0008a7 0x050c0 *//* MW 1 */ + /* 0x0008a8 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0008a9 0x050c8 *//* MW 1 */ + /* 0x0008aa 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x0008ab 0x10511 *//* MW 1 */ + /* 0x0008ac 0x90411 */ axl1 = sp[0x20] + /* 0x0008ad 0x90558 */ sp[0x28] = ahl0 + /* 0x0008ae 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008af 0x05188 *//* MW 1 */ + /* 0x0008b0 0x40000 */ nop; bxl0 = sp[0x50] /* MW 2 */ + /* 0x0008b1 0x10a12 *//* MW 1 */ + /* 0x0008b2 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0008b3 0x050c8 *//* MW 1 */ + /* 0x0008b4 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x0008b5 0x10711 *//* MW 1 */ + /* 0x0008b6 0x90512 */ bxl0 = sp[0x28] + /* 0x0008b7 0x90558 */ sp[0x28] = ahl0 + /* 0x0008b8 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008b9 0x05188 *//* MW 1 */ + /* 0x0008ba 0x40000 */ nop; axl1 = sp[0x20] /* MW 2 */ + /* 0x0008bb 0x10411 *//* MW 1 */ + /* 0x0008bc 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0008bd 0x050c8 *//* MW 1 */ + /* 0x0008be 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x0008bf 0x10511 *//* MW 1 */ + /* 0x0008c0 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008c1 0x05188 *//* MW 1 */ + /* 0x0008c2 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ + /* 0x0008c3 0x10811 *//* MW 1 */ + /* 0x0008c4 0x90911 */ axl1 = sp[0x48] + /* 0x0008c5 0x55005 */ bx0 = ax1 + 0x0; sp[0x28] = ahl0 /* MW 2 */ + /* 0x0008c6 0x10558 *//* MW 1 */ + /* 0x0008c7 0x66000 */ call 0x518 /* MW 2 */ + /* 0x0008c8 0x05180 *//* MW 1 */ + /* 0x0008c9 0x90758 */ sp[0x38] = ahl0 + /* 0x0008ca 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008cb 0x05188 *//* MW 1 */ + /* 0x0008cc 0x55000 */ ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ + /* 0x0008cd 0x99202 *//* MW 1 */ + /* 0x0008ce 0x6e000 */ bxl0 = [0x560] /* MW 2 */ + /* 0x0008cf 0x2b012 *//* MW 1 */ + /* 0x0008d0 0x90858 */ sp[0x40] = ahl0 + /* 0x0008d1 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008d2 0x05188 *//* MW 1 */ + /* 0x0008d3 0x90711 */ axl1 = sp[0x38] + /* 0x0008d4 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0008d5 0x38000 *//* MW 1 */ + /* 0x0008d6 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0008d7 0x05008 *//* MW 1 */ + /* 0x0008d8 0x6e000 */ axl1 = [0x558] /* MW 2 */ + /* 0x0008d9 0x2ac11 *//* MW 1 */ + /* 0x0008da 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008db 0x05188 *//* MW 1 */ + /* 0x0008dc 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x0008dd 0x10711 *//* MW 1 */ + /* 0x0008de 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0008df 0x38000 *//* MW 1 */ + /* 0x0008e0 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0008e1 0x05008 *//* MW 1 */ + /* 0x0008e2 0x6e000 */ axl1 = [0x550] /* MW 2 */ + /* 0x0008e3 0x2a811 *//* MW 1 */ + /* 0x0008e4 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008e5 0x05188 *//* MW 1 */ + /* 0x0008e6 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x0008e7 0x10711 *//* MW 1 */ + /* 0x0008e8 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0008e9 0x38000 *//* MW 1 */ + /* 0x0008ea 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0008eb 0x05008 *//* MW 1 */ + /* 0x0008ec 0x6e000 */ axl1 = [0x548] /* MW 2 */ + /* 0x0008ed 0x2a411 *//* MW 1 */ + /* 0x0008ee 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008ef 0x05188 *//* MW 1 */ + /* 0x0008f0 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x0008f1 0x10711 *//* MW 1 */ + /* 0x0008f2 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0008f3 0x38000 *//* MW 1 */ + /* 0x0008f4 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0008f5 0x05008 *//* MW 1 */ + /* 0x0008f6 0x6e000 */ axl1 = [0x540] /* MW 2 */ + /* 0x0008f7 0x2a011 *//* MW 1 */ + /* 0x0008f8 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0008f9 0x05188 *//* MW 1 */ + /* 0x0008fa 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x0008fb 0x10711 *//* MW 1 */ + /* 0x0008fc 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0008fd 0x38000 *//* MW 1 */ + /* 0x0008fe 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x0008ff 0x05008 *//* MW 1 */ + /* 0x000900 0x6e000 */ axl1 = [0x538] /* MW 2 */ + /* 0x000901 0x29c11 *//* MW 1 */ + /* 0x000902 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000903 0x05188 *//* MW 1 */ + /* 0x000904 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ + /* 0x000905 0x10811 *//* MW 1 */ + /* 0x000906 0x90411 */ axl1 = sp[0x20] + /* 0x000907 0x90758 */ sp[0x38] = ahl0 + /* 0x000908 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000909 0x05008 *//* MW 1 */ + /* 0x00090a 0x40000 */ nop; bxl0 = sp[0x48] /* MW 2 */ + /* 0x00090b 0x10912 *//* MW 1 */ + /* 0x00090c 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00090d 0x05188 *//* MW 1 */ + /* 0x00090e 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x00090f 0x10511 *//* MW 1 */ + /* 0x000910 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000911 0x05008 *//* MW 1 */ + /* 0x000912 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x000913 0x10711 *//* MW 1 */ + /* 0x000914 0x40000 */ nop; axl1 = sp[0x20] /* MW 2 */ + /* 0x000915 0x10411 *//* MW 1 */ + /* 0x000916 0x55005 */ bx0 = ax1 + 0x0; sp[0x38] = ahl0 /* MW 2 */ + /* 0x000917 0x10758 *//* MW 1 */ + /* 0x000918 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000919 0x05180 *//* MW 1 */ + /* 0x00091a 0x55001 */ bx0 = ax0 + 0x0; sp[0x40] = ahl0 /* MW 2 */ + /* 0x00091b 0x10858 *//* MW 1 */ + /* 0x00091c 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x00091d 0x05008 *//* MW 1 */ + /* 0x00091e 0x6e000 */ axl1 = [0x568] /* MW 2 */ + /* 0x00091f 0x2b411 *//* MW 1 */ + /* 0x000920 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000921 0x05008 *//* MW 1 */ + /* 0x000922 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x38] /* MW 2 */ + /* 0x000923 0x90712 *//* MW 1 */ + /* 0x000924 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000925 0x98e8d */ al1 = zero + /* 0x000926 0x40000 */ nop; sp[0x50] = ahl1 /* MW 2 */ + /* 0x000927 0x10a59 *//* MW 1 */ + /* 0x000928 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000929 0x050c8 *//* MW 1 */ + /* 0x00092a 0x6e000 */ bxl0 = [0x568] /* MW 2 */ + /* 0x00092b 0x2b412 *//* MW 1 */ + /* 0x00092c 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x00092d 0x050c8 *//* MW 1 */ + /* 0x00092e 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x40] /* MW 2 */ + /* 0x00092f 0x90812 *//* MW 1 */ + /* 0x000930 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000931 0x050c8 *//* MW 1 */ + /* 0x000932 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ + /* 0x000933 0x10711 *//* MW 1 */ + /* 0x000934 0x90411 */ axl1 = sp[0x20] + /* 0x000935 0x90458 */ sp[0x20] = ahl0 + /* 0x000936 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000937 0x05188 *//* MW 1 */ + /* 0x000938 0x90a12 */ bxl0 = sp[0x50] + /* 0x000939 0x90511 */ axl1 = sp[0x28] + /* 0x00093a 0x90558 */ sp[0x28] = ahl0 + /* 0x00093b 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00093c 0x05188 *//* MW 1 */ + /* 0x00093d 0x90a12 */ bxl0 = sp[0x50] + /* 0x00093e 0x90411 */ axl1 = sp[0x20] + /* 0x00093f 0x90458 */ sp[0x20] = ahl0 + /* 0x000940 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000941 0x05188 *//* MW 1 */ + /* 0x000942 0x40000 */ nop; bxl0 = sp[0x48] /* MW 2 */ + /* 0x000943 0x10912 *//* MW 1 */ + /* 0x000944 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000945 0x05008 *//* MW 1 */ + /* 0x000946 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x000947 0x10411 *//* MW 1 */ + /* 0x000948 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x000949 0x10511 *//* MW 1 */ + /* 0x00094a 0x40000 */ nop; sp[0x20] = bhl0 /* MW 2 */ + /* 0x00094b 0x1045a *//* MW 1 */ + /* 0x00094c 0x66000 */ call 0x500 /* MW 2 */ + /* 0x00094d 0x05000 *//* MW 1 */ + /* 0x00094e 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ + /* 0x00094f 0x90512 *//* MW 1 */ + /* 0x000950 0x98e8d */ al1 = zero + /* 0x000951 0x90559 */ sp[0x28] = ahl1 + /* 0x000952 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000953 0x050c0 *//* MW 1 */ + /* 0x000954 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000955 0x050c8 *//* MW 1 */ + /* 0x000956 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x000957 0x10411 *//* MW 1 */ + /* 0x000958 0x6e000 */ axl1 = [0x570] /* MW 2 */ + /* 0x000959 0x2b811 *//* MW 1 */ + /* 0x00095a 0x90458 */ sp[0x20] = ahl0 + /* 0x00095b 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x00095c 0x05188 *//* MW 1 */ + /* 0x00095d 0x90512 */ bxl0 = sp[0x28] + /* 0x00095e 0x90512 */ bxl0 = sp[0x28] + /* 0x00095f 0x90558 */ sp[0x28] = ahl0 + /* 0x000960 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000961 0x05188 *//* MW 1 */ + /* 0x000962 0x6e000 */ axl1 = [0x578] /* MW 2 */ + /* 0x000963 0x2bc11 *//* MW 1 */ + /* 0x000964 0x90411 */ axl1 = sp[0x20] + /* 0x000965 0x90458 */ sp[0x20] = ahl0 + /* 0x000966 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000967 0x05188 *//* MW 1 */ + /* 0x000968 0x6e000 */ bxl0 = [0x580] /* MW 2 */ + /* 0x000969 0x2c012 *//* MW 1 */ + /* 0x00096a 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x00096b 0x05008 *//* MW 1 */ + /* 0x00096c 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x00096d 0x10411 *//* MW 1 */ + /* 0x00096e 0x88628 */ c0 = sp[0x30] + /* 0x00096f 0x68000 */ a0 = 0x468 /* MW 2 */ + /* 0x000970 0x11a20 *//* MW 1 */ + /* 0x000971 0x00000 */ nop + /* 0x000972 0x9c000 */ a0 = a0+c0 + /* 0x000973 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000974 0x05008 *//* MW 1 */ + /* 0x000975 0x55000 */ ax1 = ax0 + 0x0; bxl0 = a0[0x0] /* MW 2 */ + /* 0x000976 0x8c032 *//* MW 1 */ + /* 0x000977 0x90458 */ sp[0x20] = ahl0 + /* 0x000978 0x66000 */ calldb 0x350 /* MW 2 */ + /* 0x000979 0x03508 *//* MW 1 */ + /* 0x00097a 0x88308 */ ra0 = sp[0x18] + /* 0x00097b 0x90511 */ axl1 = sp[0x28] + /* 0x00097c 0x90358 */ sp[0x18] = ahl0 + /* 0x00097d 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x00097e 0x05008 *//* MW 1 */ + /* 0x00097f 0x90412 */ bxl0 = sp[0x20] + /* 0x000980 0x68000 */ a0 = 0x458 /* MW 2 */ + /* 0x000981 0x11620 *//* MW 1 */ + /* 0x000982 0x55000 */ ax1 = ax0 + 0x0; c0 = sp[0x30] /* MW 2 */ + /* 0x000983 0x88628 *//* MW 1 */ + /* 0x000984 0x00000 */ nop + /* 0x000985 0x9c000 */ a0 = a0+c0 + /* 0x000986 0x8c032 */ bxl0 = a0[0x0] + /* 0x000987 0x9065a */ sp[0x30] = bhl0 + /* 0x000988 0x66000 */ call 0x500 /* MW 2 */ + /* 0x000989 0x05000 *//* MW 1 */ + /* 0x00098a 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x00098b 0x05008 *//* MW 1 */ + /* 0x00098c 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ + /* 0x00098d 0x90312 *//* MW 1 */ + /* 0x00098e 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ + /* 0x00098f 0x90312 *//* MW 1 */ + /* 0x000990 0x98e8d */ al1 = zero + /* 0x000991 0x90359 */ sp[0x18] = ahl1 + /* 0x000992 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000993 0x050c0 *//* MW 1 */ + /* 0x000994 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000995 0x050c8 *//* MW 1 */ + /* 0x000996 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x30] /* MW 2 */ + /* 0x000997 0x90612 *//* MW 1 */ + /* 0x000998 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000999 0x050c8 *//* MW 1 */ + /* 0x00099a 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ + /* 0x00099b 0x90512 *//* MW 1 */ + /* 0x00099c 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x00099d 0x050c8 *//* MW 1 */ + /* 0x00099e 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x00099f 0x10411 *//* MW 1 */ + /* 0x0009a0 0x40000 */ nop; jps 0x60 /* MW 2 */ + /* 0x0009a1 0x3c607 *//* MW 1 */ + /* 0x0009a2 0x6c000 */ axs0 = [0x4c8] /* MW 2 */ + /* 0x0009a3 0x26400 *//* MW 1 */ + /* 0x0009a4 0x30020 */ cmp(ra0,ax0) + /* 0x0009a5 0xbc0ad */ if (np) jpsdb 0xa + /* 0x0009a6 0x6c000 */ axs0 = [0x4cc] /* MW 2 */ + /* 0x0009a7 0x26600 *//* MW 1 */ + /* 0x0009a8 0x30018 */ cmp(bx1,ax0) + /* 0x0009a9 0x64000 */ if (np) jpdb 0xbc5 /* MW 2 */ + /* 0x0009aa 0x0bc5d *//* MW 1 */ + /* 0x0009ab 0x6c000 */ bxs0 = [0x4b8] /* MW 2 */ + /* 0x0009ac 0x25c02 *//* MW 1 */ + /* 0x0009ad 0x30098 */ cmp(bx1,bx0) + /* 0x0009ae 0x64000 */ if (ns) jp 0xbce /* MW 2 */ + /* 0x0009af 0x0bce3 *//* MW 1 */ + /* 0x0009b0 0x30018 */ cmp(bx1,ax0) + /* 0x0009b1 0x64000 */ if (s) jpdb 0xbd6 /* MW 2 */ + /* 0x0009b2 0x0bd6a *//* MW 1 */ + /* 0x0009b3 0x6c000 */ axs0 = [0x4b8] /* MW 2 */ + /* 0x0009b4 0x25c00 *//* MW 1 */ + /* 0x0009b5 0x30018 */ cmp(bx1,ax0) + /* 0x0009b6 0x64000 */ if (p) jp 0xbde /* MW 2 */ + /* 0x0009b7 0x0bde4 *//* MW 1 */ + /* 0x0009b8 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0009b9 0x050c8 *//* MW 1 */ + /* 0x0009ba 0x6e000 */ bxl0 = [0x4e8] /* MW 2 */ + /* 0x0009bb 0x27412 *//* MW 1 */ + /* 0x0009bc 0x40000 */ nop; sp[0x18] = ahl0 /* MW 2 */ + /* 0x0009bd 0x10358 *//* MW 1 */ + /* 0x0009be 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009bf 0x05188 *//* MW 1 */ + /* 0x0009c0 0x55001 */ bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ + /* 0x0009c1 0x19201 *//* MW 1 */ + /* 0x0009c2 0x6e000 */ bxl0 = [0x510] /* MW 2 */ + /* 0x0009c3 0x28812 *//* MW 1 */ + /* 0x0009c4 0x90458 */ sp[0x20] = ahl0 + /* 0x0009c5 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009c6 0x05188 *//* MW 1 */ + /* 0x0009c7 0x90311 */ axl1 = sp[0x18] + /* 0x0009c8 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0009c9 0x38000 *//* MW 1 */ + /* 0x0009ca 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0009cb 0x050c8 *//* MW 1 */ + /* 0x0009cc 0x6e000 */ axl1 = [0x508] /* MW 2 */ + /* 0x0009cd 0x28411 *//* MW 1 */ + /* 0x0009ce 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009cf 0x05188 *//* MW 1 */ + /* 0x0009d0 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x0009d1 0x10311 *//* MW 1 */ + /* 0x0009d2 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x0009d3 0x38000 *//* MW 1 */ + /* 0x0009d4 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0009d5 0x050c8 *//* MW 1 */ + /* 0x0009d6 0x6e000 */ axl1 = [0x500] /* MW 2 */ + /* 0x0009d7 0x28011 *//* MW 1 */ + /* 0x0009d8 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009d9 0x05188 *//* MW 1 */ + /* 0x0009da 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x0009db 0x10411 *//* MW 1 */ + /* 0x0009dc 0x6e000 */ axl1 = [0x518] /* MW 2 */ + /* 0x0009dd 0x28c11 *//* MW 1 */ + /* 0x0009de 0x90458 */ sp[0x20] = ahl0 + /* 0x0009df 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009e0 0x05188 *//* MW 1 */ + /* 0x0009e1 0x90312 */ bxl0 = sp[0x18] + /* 0x0009e2 0x90311 */ axl1 = sp[0x18] + /* 0x0009e3 0x90358 */ sp[0x18] = ahl0 + /* 0x0009e4 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009e5 0x05188 *//* MW 1 */ + /* 0x0009e6 0x6e000 */ bxl0 = [0x520] /* MW 2 */ + /* 0x0009e7 0x29012 *//* MW 1 */ + /* 0x0009e8 0x90411 */ axl1 = sp[0x20] + /* 0x0009e9 0x90458 */ sp[0x20] = ahl0 + /* 0x0009ea 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x0009eb 0x05188 *//* MW 1 */ + /* 0x0009ec 0x6e000 */ bxl0 = [0x528] /* MW 2 */ + /* 0x0009ed 0x29412 *//* MW 1 */ + /* 0x0009ee 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0009ef 0x050c8 *//* MW 1 */ + /* 0x0009f0 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x0009f1 0x10411 *//* MW 1 */ + /* 0x0009f2 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x0009f3 0x10311 *//* MW 1 */ + /* 0x0009f4 0x40000 */ nop; sp[0x20] = bhl0 /* MW 2 */ + /* 0x0009f5 0x1045a *//* MW 1 */ + /* 0x0009f6 0x66000 */ call 0x500 /* MW 2 */ + /* 0x0009f7 0x05000 *//* MW 1 */ + /* 0x0009f8 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ + /* 0x0009f9 0x90312 *//* MW 1 */ + /* 0x0009fa 0x98e8d */ al1 = zero + /* 0x0009fb 0x90359 */ sp[0x18] = ahl1 + /* 0x0009fc 0x66000 */ call 0x50c /* MW 2 */ + /* 0x0009fd 0x050c0 *//* MW 1 */ + /* 0x0009fe 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x0009ff 0x050c8 *//* MW 1 */ + /* 0x000a00 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ + /* 0x000a01 0x10411 *//* MW 1 */ + /* 0x000a02 0x88281 */ axs1 = sp[0x14] + /* 0x000a03 0x553e5 */ bx0 = ax1 + -0x1; axs1 = sp[0x8] /* MW 2 */ + /* 0x000a04 0x08101 *//* MW 1 */ + /* 0x000a05 0x54844 */ ax1 = ax1 | bx0; sp[0x8] = ahl0 /* MW 2 */ + /* 0x000a06 0x90158 *//* MW 1 */ + /* 0x000a07 0x32808 */ cmpu(ax1,0x0) + /* 0x000a08 0x42024 */ if (nz) jpsdb 0x4; bxl0 = sp[0x0] /* MW 2 */ + /* 0x000a09 0x90012 *//* MW 1 */ + /* 0x000a0a 0x6e000 */ axl0 = [0x4e8] /* MW 2 */ + /* 0x000a0b 0x27410 *//* MW 1 */ + /* 0x000a0c 0x6e000 */ axl0 = [0x588] /* MW 2 */ + /* 0x000a0d 0x2c410 *//* MW 1 */ + /* 0x000a0e 0x90558 */ sp[0x28] = ahl0 + /* 0x000a0f 0x55008 */ ax1 = bx0 + 0x0; bl0 = zero /* MW 2 */ + /* 0x000a10 0x98e8e *//* MW 1 */ + /* 0x000a11 0x9045a */ sp[0x20] = bhl0 + /* 0x000a12 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000a13 0x050c0 *//* MW 1 */ + /* 0x000a14 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a15 0x05188 *//* MW 1 */ + /* 0x000a16 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ + /* 0x000a17 0x90312 *//* MW 1 */ + /* 0x000a18 0x90011 */ axl1 = sp[0x0] + /* 0x000a19 0x90058 */ sp[0x0] = ahl0 + /* 0x000a1a 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a1b 0x05188 *//* MW 1 */ + /* 0x000a1c 0x40000 */ nop; bxl0 = sp[0x8] /* MW 2 */ + /* 0x000a1d 0x10112 *//* MW 1 */ + /* 0x000a1e 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000a1f 0x05008 *//* MW 1 */ + /* 0x000a20 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000a21 0x10011 *//* MW 1 */ + /* 0x000a22 0x90411 */ axl1 = sp[0x20] + /* 0x000a23 0x90058 */ sp[0x0] = ahl0 + /* 0x000a24 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a25 0x05188 *//* MW 1 */ + /* 0x000a26 0x40000 */ nop; bxl0 = sp[0x18] /* MW 2 */ + /* 0x000a27 0x10312 *//* MW 1 */ + /* 0x000a28 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000a29 0x10011 *//* MW 1 */ + /* 0x000a2a 0x40000 */ nop; sp[0x8] = bhl0 /* MW 2 */ + /* 0x000a2b 0x1015a *//* MW 1 */ + /* 0x000a2c 0x66000 */ call 0x500 /* MW 2 */ + /* 0x000a2d 0x05000 *//* MW 1 */ + /* 0x000a2e 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ + /* 0x000a2f 0x90112 *//* MW 1 */ + /* 0x000a30 0x88351 */ sp[0x18] = ah1 + /* 0x000a31 0x882cd */ sp[0x14] = al1 + /* 0x000a32 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000a33 0x050c0 *//* MW 1 */ + /* 0x000a34 0x88301 */ axs1 = sp[0x18] + /* 0x000a35 0x6c000 */ bxs0 = [0x4d0] /* MW 2 */ + /* 0x000a36 0x26802 *//* MW 1 */ + /* 0x000a37 0x6c000 */ rb0 = [0x4ac] /* MW 2 */ + /* 0x000a38 0x2560a *//* MW 1 */ + /* 0x000a39 0x58044 */ cmp(ax1,bx0); bxs0 = sp[0x14] /* MW 2 */ + /* 0x000a3a 0x08282 *//* MW 1 */ + /* 0x000a3b 0x4213d */ if (ns) jpsdb 0x27; sp[0x20] = ahl0 /* MW 2 */ + /* 0x000a3c 0x90458 *//* MW 1 */ + /* 0x000a3d 0x28988 */ ax0 = ax1 & rb0 + /* 0x000a3e 0x6c000 */ rb0 = [0x4d4] /* MW 2 */ + /* 0x000a3f 0x26a0a *//* MW 1 */ + /* 0x000a40 0x580c0 */ cmp(ax0,rb0); sp[0x14] = ah0 /* MW 2 */ + /* 0x000a41 0x082d0 *//* MW 1 */ + /* 0x000a42 0xbc1d2 */ if (s) jps 0x1d + /* 0x000a43 0x6c000 */ axs0 = [0x4e0] /* MW 2 */ + /* 0x000a44 0x27000 *//* MW 1 */ + /* 0x000a45 0x54007 */ rb0 = ax1 + ax0; axl1 = sp[0x28] /* MW 2 */ + /* 0x000a46 0x10511 *//* MW 1 */ + /* 0x000a47 0x290b0 */ ax0 = rb0 | bx0 + /* 0x000a48 0x883d0 */ sp[0x1c] = ah0 + /* 0x000a49 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a4a 0x05188 *//* MW 1 */ + /* 0x000a4b 0x6e000 */ bxl0 = [0x5a0] /* MW 2 */ + /* 0x000a4c 0x2d012 *//* MW 1 */ + /* 0x000a4d 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000a4e 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a4f 0x05188 *//* MW 1 */ + /* 0x000a50 0x6e000 */ bxl0 = [0x5a0] /* MW 2 */ + /* 0x000a51 0x2d012 *//* MW 1 */ + /* 0x000a52 0x88381 */ axs1 = sp[0x1c] + /* 0x000a53 0x59404 */ cmpu(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ + /* 0x000a54 0x10658 *//* MW 1 */ + /* 0x000a55 0xbd949 */ if (nz) jpsdb 0x194 + /* 0x000a56 0x90010 */ axl0 = sp[0x0] + /* 0x000a57 0x66000 */ calldb 0x6c4 /* MW 2 */ + /* 0x000a58 0x06c48 *//* MW 1 */ + /* 0x000a59 0x90411 */ axl1 = sp[0x20] + /* 0x000a5a 0x32020 */ cmp(ra0,0x0) + /* 0x000a5b 0xbd8a9 */ if (nz) jpsdb 0x18a + /* 0x000a5c 0x6c000 */ axs1 = [0x4c0] /* MW 2 */ + /* 0x000a5d 0x26001 *//* MW 1 */ + /* 0x000a5e 0x40000 */ nop; jps 0x2 /* MW 2 */ + /* 0x000a5f 0x3c027 *//* MW 1 */ + /* 0x000a60 0x6c000 */ axs1 = [0x4c0] /* MW 2 */ + /* 0x000a61 0x26001 *//* MW 1 */ + /* 0x000a62 0x4211b */ jps 0x23; axs0 = sp[0x14] /* MW 2 */ + /* 0x000a63 0x88280 *//* MW 1 */ + /* 0x000a64 0x6c000 */ rb0 = [0x4dc] /* MW 2 */ + /* 0x000a65 0x26e0a *//* MW 1 */ + /* 0x000a66 0x540c7 */ rb0 = ax1 + rb0; axl1 = sp[0x28] /* MW 2 */ + /* 0x000a67 0x10511 *//* MW 1 */ + /* 0x000a68 0x54858 */ ax0 = rb0 | bx0; sp[0x14] = ah0 /* MW 2 */ + /* 0x000a69 0x082d0 *//* MW 1 */ + /* 0x000a6a 0x883d0 */ sp[0x1c] = ah0 + /* 0x000a6b 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a6c 0x05188 *//* MW 1 */ + /* 0x000a6d 0x6e000 */ bxl0 = [0x590] /* MW 2 */ + /* 0x000a6e 0x2c812 *//* MW 1 */ + /* 0x000a6f 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000a70 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000a71 0x05188 *//* MW 1 */ + /* 0x000a72 0x6e000 */ bxl0 = [0x590] /* MW 2 */ + /* 0x000a73 0x2c812 *//* MW 1 */ + /* 0x000a74 0x88381 */ axs1 = sp[0x1c] + /* 0x000a75 0x59004 */ cmp(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ + /* 0x000a76 0x10658 *//* MW 1 */ + /* 0x000a77 0xbd7a1 */ if (nz) jps 0x17a + /* 0x000a78 0x40000 */ nop; axl1 = sp[0x0] /* MW 2 */ + /* 0x000a79 0x10011 *//* MW 1 */ + /* 0x000a7a 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000a7b 0x05008 *//* MW 1 */ + /* 0x000a7c 0x6e000 */ bxl0 = [0x598] /* MW 2 */ + /* 0x000a7d 0x2cc12 *//* MW 1 */ + /* 0x000a7e 0x66000 */ calldb 0x702 /* MW 2 */ + /* 0x000a7f 0x07028 *//* MW 1 */ + /* 0x000a80 0x55000 */ ax1 = ax0 + 0x0; axl0 = sp[0x20] /* MW 2 */ + /* 0x000a81 0x90410 *//* MW 1 */ + /* 0x000a82 0x32020 */ cmp(ra0,0x0) + /* 0x000a83 0x42b4c */ if (nz) jpsdb 0x169; axs0 = sp[0x14] /* MW 2 */ + /* 0x000a84 0x88280 *//* MW 1 */ + /* 0x000a85 0x6c000 */ axs1 = [0x4c0] /* MW 2 */ + /* 0x000a86 0x26001 *//* MW 1 */ + /* 0x000a87 0x30040 */ cmp(ax0,ax1) + /* 0x000a88 0x51683 */ rb0 = asr(ax0,0x14); if (np) jps 0x26 /* MW 2 */ + /* 0x000a89 0x3c265 *//* MW 1 */ + /* 0x000a8a 0xb2011 */ axs1 = -0x3fe + /* 0x000a8b 0x54038 */ ax1 = rb0 + ax1; axs0 = sp[0x18] /* MW 2 */ + /* 0x000a8c 0x88300 *//* MW 1 */ + /* 0x000a8d 0x68040 */ rb0 = 0x100000 /* MW 2 */ + /* 0x000a8e 0x0000a *//* MW 1 */ + /* 0x000a8f 0x50c3b */ rb0 = lsr(rb0,ax1); axs1 = -0x3ff /* MW 2 */ + /* 0x000a90 0x32009 *//* MW 1 */ + /* 0x000a91 0x540c3 */ rb0 = ax0 + rb0; bxs0 = -0x1 /* MW 2 */ + /* 0x000a92 0x33ffa *//* MW 1 */ + /* 0x000a93 0x6c000 */ rb1 = [0x4ac] /* MW 2 */ + /* 0x000a94 0x2560b *//* MW 1 */ + /* 0x000a95 0x544fb */ rb1 = rb0 & rb1; bxs1 = 0x34 /* MW 2 */ + /* 0x000a96 0xb01a3 *//* MW 1 */ + /* 0x000a97 0x22d3f */ rb1 = asr(rb1,0x14) + /* 0x000a98 0x6803f */ ra0 = 0xfffff /* MW 2 */ + /* 0x000a99 0xfffc8 *//* MW 1 */ + /* 0x000a9a 0x28935 */ ra1 = rb0 & ra0 + /* 0x000a9b 0x5403c */ ax1 = rb1 + ax1; rb1 = 0x14 /* MW 2 */ + /* 0x000a9c 0xb00a7 *//* MW 1 */ + /* 0x000a9d 0x21864 */ ra0 = lsr(ra0,ax1) + /* 0x000a9e 0x298a2 */ bx0 = ra0 ^ bx0 + /* 0x000a9f 0x288b2 */ bx0 = rb0 & bx0 + /* 0x000aa0 0x52075 */ bx1 = bs(ra1,bx1); bxs0 = bh0 /* MW 2 */ + /* 0x000aa1 0x98482 *//* MW 1 */ + /* 0x000aa2 0x5703c */ ax1 = rb1 - ax1; bl0 = zero /* MW 2 */ + /* 0x000aa3 0x98e8e *//* MW 1 */ + /* 0x000aa4 0x5042f */ rb0 = asr(bx1,ax1); axl1 = sp[0x8] /* MW 2 */ + /* 0x000aa5 0x10111 *//* MW 1 */ + /* 0x000aa6 0x59000 */ cmp(ax0,0x0); sp[0x14] = rb0 /* MW 2 */ + /* 0x000aa7 0x082ca *//* MW 1 */ + /* 0x000aa8 0xbc033 */ if (ns) jps 0x3 + /* 0x000aa9 0x88280 */ axs0 = sp[0x14] + /* 0x000aaa 0x36000 */ ax0 = -ax0 + /* 0x000aab 0x882d0 */ sp[0x14] = ah0 + /* 0x000aac 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000aad 0x050c0 *//* MW 1 */ + /* 0x000aae 0x55001 */ bx0 = ax0 + 0x0; jps 0x2 /* MW 2 */ + /* 0x000aaf 0x3c027 *//* MW 1 */ + /* 0x000ab0 0x90112 */ bxl0 = sp[0x8] + /* 0x000ab1 0x882fa */ sp[0x14] = zero + /* 0x000ab2 0x9015a */ sp[0x8] = bhl0 + /* 0x000ab3 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000ab4 0x05008 *//* MW 1 */ + /* 0x000ab5 0x90011 */ axl1 = sp[0x0] + /* 0x000ab6 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000ab7 0x98e8d */ al1 = zero + /* 0x000ab8 0x90359 */ sp[0x18] = ahl1 + /* 0x000ab9 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000aba 0x05188 *//* MW 1 */ + /* 0x000abb 0x6e000 */ bxl0 = [0x5a8] /* MW 2 */ + /* 0x000abc 0x2d412 *//* MW 1 */ + /* 0x000abd 0x90112 */ bxl0 = sp[0x8] + /* 0x000abe 0x90158 */ sp[0x8] = ahl0 + /* 0x000abf 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000ac0 0x050c8 *//* MW 1 */ + /* 0x000ac1 0x90311 */ axl1 = sp[0x18] + /* 0x000ac2 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000ac3 0x050c8 *//* MW 1 */ + /* 0x000ac4 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000ac5 0x10011 *//* MW 1 */ + /* 0x000ac6 0x55000 */ ax1 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000ac7 0xb8000 *//* MW 1 */ + /* 0x000ac8 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000ac9 0x05188 *//* MW 1 */ + /* 0x000aca 0x6e000 */ bxl0 = [0x5b0] /* MW 2 */ + /* 0x000acb 0x2d812 *//* MW 1 */ + /* 0x000acc 0x6e000 */ bxl0 = [0x5b8] /* MW 2 */ + /* 0x000acd 0x2dc12 *//* MW 1 */ + /* 0x000ace 0x90058 */ sp[0x0] = ahl0 + /* 0x000acf 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000ad0 0x05188 *//* MW 1 */ + /* 0x000ad1 0x90311 */ axl1 = sp[0x18] + /* 0x000ad2 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000ad3 0x05008 *//* MW 1 */ + /* 0x000ad4 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000ad5 0x10011 *//* MW 1 */ + /* 0x000ad6 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ + /* 0x000ad7 0x10111 *//* MW 1 */ + /* 0x000ad8 0x40000 */ nop; sp[0x0] = bhl0 /* MW 2 */ + /* 0x000ad9 0x1005a *//* MW 1 */ + /* 0x000ada 0x66000 */ call 0x500 /* MW 2 */ + /* 0x000adb 0x05000 *//* MW 1 */ + /* 0x000adc 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ + /* 0x000add 0x90112 *//* MW 1 */ + /* 0x000ade 0x40000 */ nop; sp[0x8] = ahl1 /* MW 2 */ + /* 0x000adf 0x10159 *//* MW 1 */ + /* 0x000ae0 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000ae1 0x050c0 *//* MW 1 */ + /* 0x000ae2 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000ae3 0x050c8 *//* MW 1 */ + /* 0x000ae4 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000ae5 0x10011 *//* MW 1 */ + /* 0x000ae6 0x90111 */ axl1 = sp[0x8] + /* 0x000ae7 0x55005 */ bx0 = ax1 + 0x0; sp[0x0] = ahl0 /* MW 2 */ + /* 0x000ae8 0x10058 *//* MW 1 */ + /* 0x000ae9 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000aea 0x05180 *//* MW 1 */ + /* 0x000aeb 0x2a001 */ ax1 = ax0 + 0x0 + /* 0x000aec 0x90359 */ sp[0x18] = ahl1 + /* 0x000aed 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000aee 0x05188 *//* MW 1 */ + /* 0x000aef 0x6e000 */ bxl0 = [0x5e0] /* MW 2 */ + /* 0x000af0 0x2f012 *//* MW 1 */ + /* 0x000af1 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x000af2 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000af3 0x05008 *//* MW 1 */ + /* 0x000af4 0x6e000 */ axl1 = [0x5d8] /* MW 2 */ + /* 0x000af5 0x2ec11 *//* MW 1 */ + /* 0x000af6 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000af7 0x05188 *//* MW 1 */ + /* 0x000af8 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000af9 0x10311 *//* MW 1 */ + /* 0x000afa 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000afb 0x38000 *//* MW 1 */ + /* 0x000afc 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000afd 0x05008 *//* MW 1 */ + /* 0x000afe 0x6e000 */ axl1 = [0x5d0] /* MW 2 */ + /* 0x000aff 0x2e811 *//* MW 1 */ + /* 0x000b00 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000b01 0x05188 *//* MW 1 */ + /* 0x000b02 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000b03 0x10311 *//* MW 1 */ + /* 0x000b04 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000b05 0x38000 *//* MW 1 */ + /* 0x000b06 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000b07 0x05008 *//* MW 1 */ + /* 0x000b08 0x6e000 */ axl1 = [0x5c8] /* MW 2 */ + /* 0x000b09 0x2e411 *//* MW 1 */ + /* 0x000b0a 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000b0b 0x05188 *//* MW 1 */ + /* 0x000b0c 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000b0d 0x10311 *//* MW 1 */ + /* 0x000b0e 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000b0f 0x38000 *//* MW 1 */ + /* 0x000b10 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000b11 0x05008 *//* MW 1 */ + /* 0x000b12 0x6e000 */ axl1 = [0x5c0] /* MW 2 */ + /* 0x000b13 0x2e011 *//* MW 1 */ + /* 0x000b14 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000b15 0x05188 *//* MW 1 */ + /* 0x000b16 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000b17 0x10311 *//* MW 1 */ + /* 0x000b18 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b19 0x050c8 *//* MW 1 */ + /* 0x000b1a 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ + /* 0x000b1b 0x10111 *//* MW 1 */ + /* 0x000b1c 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ + /* 0x000b1d 0x10111 *//* MW 1 */ + /* 0x000b1e 0x9035a */ sp[0x18] = bhl0 + /* 0x000b1f 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000b20 0x05180 *//* MW 1 */ + /* 0x000b21 0x90311 */ axl1 = sp[0x18] + /* 0x000b22 0x40000 */ nop; sp[0x18] = ahl0 /* MW 2 */ + /* 0x000b23 0x10358 *//* MW 1 */ + /* 0x000b24 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b25 0x050c8 *//* MW 1 */ + /* 0x000b26 0x6e000 */ bxl0 = [0x5e8] /* MW 2 */ + /* 0x000b27 0x2f412 *//* MW 1 */ + /* 0x000b28 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000b29 0x05c48 *//* MW 1 */ + /* 0x000b2a 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000b2b 0x10311 *//* MW 1 */ + /* 0x000b2c 0x90111 */ axl1 = sp[0x8] + /* 0x000b2d 0x90358 */ sp[0x18] = ahl0 + /* 0x000b2e 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000b2f 0x05188 *//* MW 1 */ + /* 0x000b30 0x40000 */ nop; bxl0 = sp[0x0] /* MW 2 */ + /* 0x000b31 0x10012 *//* MW 1 */ + /* 0x000b32 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000b33 0x05008 *//* MW 1 */ + /* 0x000b34 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ + /* 0x000b35 0x10011 *//* MW 1 */ + /* 0x000b36 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b37 0x050c8 *//* MW 1 */ + /* 0x000b38 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ + /* 0x000b39 0x10311 *//* MW 1 */ + /* 0x000b3a 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b3b 0x050c8 *//* MW 1 */ + /* 0x000b3c 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ + /* 0x000b3d 0x90112 *//* MW 1 */ + /* 0x000b3e 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x000b3f 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b40 0x050c8 *//* MW 1 */ + /* 0x000b41 0x6e000 */ axl1 = [0x4e8] /* MW 2 */ + /* 0x000b42 0x27411 *//* MW 1 */ + /* 0x000b43 0x88288 */ ra0 = sp[0x14] + /* 0x000b44 0x51a90 */ ax1 = lsl(ra0,0x14); bxs0 = ah0 /* MW 2 */ + /* 0x000b45 0x98402 *//* MW 1 */ + /* 0x000b46 0x54029 */ bx0 = bx0 + ax1; axl1 = sp[0x28] /* MW 2 */ + /* 0x000b47 0x10511 *//* MW 1 */ + /* 0x000b48 0x22d16 */ rb0 = asr(bx0,0x14) + /* 0x000b49 0x32030 */ cmp(rb0,0x0) + /* 0x000b4a 0xbc035 */ if (np) jps 0x3 + /* 0x000b4b 0x4203f */ jpsdb 0x7; bxs0 = bh0 /* MW 2 */ + /* 0x000b4c 0x98482 *//* MW 1 */ + /* 0x000b4d 0x9830e */ bl0 = al0 + /* 0x000b4e 0x66000 */ calldb 0x742 /* MW 2 */ + /* 0x000b4f 0x07428 *//* MW 1 */ + /* 0x000b50 0x55000 */ ax1 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000b51 0xb8000 *//* MW 1 */ + /* 0x000b52 0x55001 */ bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ + /* 0x000b53 0x10511 *//* MW 1 */ + /* 0x000b54 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000b55 0x05180 *//* MW 1 */ + /* 0x000b56 0x40000 */ nop; jps 0x11 /* MW 2 */ + /* 0x000b57 0x3c117 *//* MW 1 */ + /* 0x000b58 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b59 0x050c8 *//* MW 1 */ + /* 0x000b5a 0x55005 */ bx0 = ax1 + 0x0; nop /* MW 2 */ + /* 0x000b5b 0x38000 *//* MW 1 */ + /* 0x000b5c 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000b5d 0x05c48 *//* MW 1 */ + /* 0x000b5e 0x55001 */ bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ + /* 0x000b5f 0x19201 *//* MW 1 */ + /* 0x000b60 0x40000 */ nop; jps 0x7 /* MW 2 */ + /* 0x000b61 0x3c077 *//* MW 1 */ + /* 0x000b62 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000b63 0x05008 *//* MW 1 */ + /* 0x000b64 0x90012 */ bxl0 = sp[0x0] + /* 0x000b65 0xbc037 */ jps 0x3 + /* 0x000b66 0x00000 */ nop + /* 0x000b67 0x6e000 */ axl0 = [0x4e8] /* MW 2 */ + /* 0x000b68 0x27410 *//* MW 1 */ + /* 0x000b69 0x88236 */ lr = sp[0x10] + /* 0x000b6a 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000b6b 0x280b0 *//* MW 1 */ + /* 0x000b6c 0x29029 */ ax1 = ra1 | ax0 + /* 0x000b6d 0x32808 */ cmpu(ax1,0x0) + /* 0x000b6e 0xbc118 */ if (z) jpsdb 0x11 + /* 0x000b6f 0x6c000 */ axs1 = [0x4b8] /* MW 2 */ + /* 0x000b70 0x25c01 *//* MW 1 */ + /* 0x000b71 0x30058 */ cmp(bx1,ax1) + /* 0x000b72 0x42039 */ if (ns) jps 0x7; axs0 = zero /* MW 2 */ + /* 0x000b73 0x98e80 *//* MW 1 */ + /* 0x000b74 0x32038 */ cmp(rb1,0x0) + /* 0x000b75 0x42069 */ if (ns) jps 0xd; bxl0 = sp[0x0] /* MW 2 */ + /* 0x000b76 0x90012 *//* MW 1 */ + /* 0x000b77 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b78 0x050c8 *//* MW 1 */ + /* 0x000b79 0x98e81 */ axs1 = zero + /* 0x000b7a 0xbc097 */ jps 0x9 + /* 0x000b7b 0x32038 */ cmp(rb1,0x0) + /* 0x000b7c 0x42031 */ if (ns) jps 0x6; axl0 = sp[0x0] /* MW 2 */ + /* 0x000b7d 0x90010 *//* MW 1 */ + /* 0x000b7e 0x42023 */ jps 0x4; axs0 = zero /* MW 2 */ + /* 0x000b7f 0x98e80 *//* MW 1 */ + /* 0x000b80 0x90012 */ bxl0 = sp[0x0] + /* 0x000b81 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000b82 0x050c8 *//* MW 1 */ + /* 0x000b83 0x2a011 */ ax1 = bx0 + 0x0 + /* 0x000b84 0x88236 */ lr = sp[0x10] + /* 0x000b85 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000b86 0x280b0 *//* MW 1 */ + /* 0x000b87 0x32038 */ cmp(rb1,0x0) + /* 0x000b88 0x4202d */ if (ns) jpsdb 0x5; axl0 = sp[0x8] /* MW 2 */ + /* 0x000b89 0x90110 *//* MW 1 */ + /* 0x000b8a 0x6e000 */ axl1 = [0x4e8] /* MW 2 */ + /* 0x000b8b 0x27411 *//* MW 1 */ + /* 0x000b8c 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000b8d 0x05c48 *//* MW 1 */ + /* 0x000b8e 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x000b8f 0x88236 */ lr = sp[0x10] + /* 0x000b90 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000b91 0x280b0 *//* MW 1 */ + /* 0x000b92 0x90112 */ bxl0 = sp[0x8] + /* 0x000b93 0x66000 */ calldb 0x518 /* MW 2 */ + /* 0x000b94 0x05188 *//* MW 1 */ + /* 0x000b95 0x2a011 */ ax1 = bx0 + 0x0 + /* 0x000b96 0x88236 */ lr = sp[0x10] + /* 0x000b97 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000b98 0x280b0 *//* MW 1 */ + /* 0x000b99 0x88236 */ lr = sp[0x10] + /* 0x000b9a 0x64000 */ jpdb 0xbf6 /* MW 2 */ + /* 0x000b9b 0x0bf6f *//* MW 1 */ + /* 0x000b9c 0x40000 */ nop; sp+= 0x58 /* MW 2 */ + /* 0x000b9d 0x280b0 *//* MW 1 */ + /* 0x000b9e 0x6e000 */ axl1 = [0x4e8] /* MW 2 */ + /* 0x000b9f 0x27411 *//* MW 1 */ + /* 0x000ba0 0x5901c */ cmp(rb1,0x0); sp[0x0] = rb0 /* MW 2 */ + /* 0x000ba1 0x0804a *//* MW 1 */ + /* 0x000ba2 0x42031 */ if (ns) jps 0x6; sp[0x4] = ra1 /* MW 2 */ + /* 0x000ba3 0x880c9 *//* MW 1 */ + /* 0x000ba4 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000ba5 0x05c48 *//* MW 1 */ + /* 0x000ba6 0x55001 */ bx0 = ax0 + 0x0; nop /* MW 2 */ + /* 0x000ba7 0x38000 *//* MW 1 */ + /* 0x000ba8 0x42013 */ jps 0x2; axs1 = sp[0x0] /* MW 2 */ + /* 0x000ba9 0x88001 *//* MW 1 */ + /* 0x000baa 0x40000 */ nop; axs1 = sp[0x0] /* MW 2 */ + /* 0x000bab 0x08001 *//* MW 1 */ + /* 0x000bac 0x59004 */ cmp(ax1,0x0); bxs0 = sp[0x4] /* MW 2 */ + /* 0x000bad 0x08082 *//* MW 1 */ + /* 0x000bae 0x42091 */ if (ns) jps 0x12; axs1 = sp[0x14] /* MW 2 */ + /* 0x000baf 0x88281 *//* MW 1 */ + /* 0x000bb0 0x29052 */ bx0 = bx0 | ax1 + /* 0x000bb1 0x32010 */ cmp(bx0,0x0) + /* 0x000bb2 0xbc070 */ if (z) jps 0x7 + /* 0x000bb3 0x32048 */ cmp(ax1,0x1) + /* 0x000bb4 0x42060 */ if (nz) jps 0xc; axs1 = zero /* MW 2 */ + /* 0x000bb5 0x98e81 *//* MW 1 */ + /* 0x000bb6 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000bb7 0x050c8 *//* MW 1 */ + /* 0x000bb8 0x2a002 */ bx0 = ax0 + 0x0 + /* 0x000bb9 0xbc087 */ jps 0x8 + /* 0x000bba 0x66000 */ calldb 0x50c /* MW 2 */ + /* 0x000bbb 0x050c8 *//* MW 1 */ + /* 0x000bbc 0x55000 */ ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ + /* 0x000bbd 0x99202 *//* MW 1 */ + /* 0x000bbe 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000bbf 0x05c48 *//* MW 1 */ + /* 0x000bc0 0x55001 */ bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ + /* 0x000bc1 0x19201 *//* MW 1 */ + /* 0x000bc2 0x88236 */ lr = sp[0x10] + /* 0x000bc3 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000bc4 0x280b0 *//* MW 1 */ + /* 0x000bc5 0x32038 */ cmp(rb1,0x0) + /* 0x000bc6 0x42025 */ if (s) jpsdb 0x4; lr = sp[0x10] /* MW 2 */ + /* 0x000bc7 0x08236 *//* MW 1 */ + /* 0x000bc8 0x6e000 */ axl0 = [0x4f8] /* MW 2 */ + /* 0x000bc9 0x27c10 *//* MW 1 */ + /* 0x000bca 0x40000 */ nop; axs0 = zero /* MW 2 */ + /* 0x000bcb 0x18e80 *//* MW 1 */ + /* 0x000bcc 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000bcd 0x280b0 *//* MW 1 */ + /* 0x000bce 0x32038 */ cmp(rb1,0x0) + /* 0x000bcf 0x4201e */ if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ + /* 0x000bd0 0x08236 *//* MW 1 */ + /* 0x000bd1 0x6e000 */ axl0 = [0x4f8] /* MW 2 */ + /* 0x000bd2 0x27c10 *//* MW 1 */ + /* 0x000bd3 0x98e80 */ axs0 = zero + /* 0x000bd4 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000bd5 0x280b0 *//* MW 1 */ + /* 0x000bd6 0x32038 */ cmp(rb1,0x0) + /* 0x000bd7 0x4201d */ if (s) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ + /* 0x000bd8 0x08236 *//* MW 1 */ + /* 0x000bd9 0x6e000 */ axl0 = [0x4f8] /* MW 2 */ + /* 0x000bda 0x27c10 *//* MW 1 */ + /* 0x000bdb 0x98e80 */ axs0 = zero + /* 0x000bdc 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000bdd 0x280b0 *//* MW 1 */ + /* 0x000bde 0x32038 */ cmp(rb1,0x0) + /* 0x000bdf 0x4201e */ if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ + /* 0x000be0 0x08236 *//* MW 1 */ + /* 0x000be1 0x6e000 */ axl0 = [0x4f8] /* MW 2 */ + /* 0x000be2 0x27c10 *//* MW 1 */ + /* 0x000be3 0x98e80 */ axs0 = zero + /* 0x000be4 0x460a0 */ ret; sp+= 0x58 /* MW 2 */ + /* 0x000be5 0x280b0 *//* MW 1 */ + /* 0x000be6 0x88236 */ lr = sp[0x10] + /* 0x000be7 0xba148 */ retdb + /* 0x000be8 0x90610 */ axl0 = sp[0x30] + /* 0x000be9 0xa80b0 */ sp+= 0x58 + /* 0x000bea 0x88236 */ lr = sp[0x10] + /* 0x000beb 0xba148 */ retdb + /* 0x000bec 0x90610 */ axl0 = sp[0x30] + /* 0x000bed 0xa80b0 */ sp+= 0x58 + /* 0x000bee 0x88236 */ lr = sp[0x10] + /* 0x000bef 0xba148 */ retdb + /* 0x000bf0 0x90610 */ axl0 = sp[0x30] + /* 0x000bf1 0xa80b0 */ sp+= 0x58 + /* 0x000bf2 0x88236 */ lr = sp[0x10] + /* 0x000bf3 0xba148 */ retdb + /* 0x000bf4 0x90610 */ axl0 = sp[0x30] + /* 0x000bf5 0xa80b0 */ sp+= 0x58 +.label ff_sqrt + /* 0x000bf6 0x98448 */ ra0 = ah1 + /* 0x000bf7 0x6c000 */ bxs0 = [0x5f0] /* MW 2 */ + /* 0x000bf8 0x2f802 *//* MW 1 */ + /* 0x000bf9 0x54453 */ rb0 = ra0 & bx0; axs0 = al1 /* MW 2 */ + /* 0x000bfa 0x18340 *//* MW 1 */ + /* 0x000bfb 0x58058 */ cmp(rb0,bx0); sp+= -0x18 /* MW 2 */ + /* 0x000bfc 0x2bfd0 *//* MW 1 */ + /* 0x000bfd 0xbcc10 */ if (z) jps 0xc1 + /* 0x000bfe 0x32020 */ cmp(ra0,0x0) + /* 0x000bff 0xbc084 */ if (p) jps 0x8 + /* 0x000c00 0x6c000 */ bxs0 = [0x5f4] /* MW 2 */ + /* 0x000c01 0x2fa02 *//* MW 1 */ + /* 0x000c02 0x288a2 */ bx0 = ra0 & bx0 + /* 0x000c03 0x29012 */ bx0 = bx0 | ax0 + /* 0x000c04 0x32810 */ cmpu(bx0,0x0) + /* 0x000c05 0xbcd10 */ if (z) jps 0xd1 + /* 0x000c06 0x32020 */ cmp(ra0,0x0) + /* 0x000c07 0xbcc42 */ if (s) jps 0xc4 + /* 0x000c08 0x22d26 */ rb0 = asr(ra0,0x14) + /* 0x000c09 0x32030 */ cmp(rb0,0x0) + /* 0x000c0a 0xbc1c1 */ if (nz) jps 0x1c + /* 0x000c0b 0x32020 */ cmp(ra0,0x0) + /* 0x000c0c 0x5c080 */ ax1 = 32; if (nz) jps 0x8 /* MW 2 */ + /* 0x000c0d 0xbc081 *//* MW 1 */ + /* 0x000c0e 0x3875a */ bx0 = -21 + /* 0x000c0f 0x23ac5 */ ra1 = lsr(ax0,0xb) + /* 0x000c10 0x29164 */ ra0 = ra0 | ra1 + /* 0x000c11 0x32020 */ cmp(ra0,0x0) + /* 0x000c12 0x5405b */ rb0 = rb0 + bx0; if (z) jpsdb -0x5 /* MW 2 */ + /* 0x000c13 0x3ffb8 *//* MW 1 */ + /* 0x000c14 0x51aa0 */ ax0 = lsl(ax0,0x15); nop /* MW 2 */ + /* 0x000c15 0x38000 *//* MW 1 */ + /* 0x000c16 0x68040 */ ra1 = 0x100000 /* MW 2 */ + /* 0x000c17 0x00009 *//* MW 1 */ + /* 0x000c18 0x544b3 */ rb1 = ra0 & ra1; bxs0 = zero /* MW 2 */ + /* 0x000c19 0x98e82 *//* MW 1 */ + /* 0x000c1a 0x32038 */ cmp(rb1,0x0) + /* 0x000c1b 0xbc051 */ if (nz) jps 0x5 + /* 0x000c1c 0x23064 */ ra0 = lsl(ra0,0x1) + /* 0x000c1d 0x28967 */ rb1 = ra0 & ra1 + /* 0x000c1e 0x32038 */ cmp(rb1,0x0) + /* 0x000c1f 0x55029 */ bx0 = bx0 + 0x1; if (z) jps -0x5 /* MW 2 */ + /* 0x000c20 0x3ffb0 *//* MW 1 */ + /* 0x000c21 0x2e08d */ ra1 = ax1 - bx0 + /* 0x000c22 0x2a7d1 */ ax1 = bx0 + -0x1 + /* 0x000c23 0x21945 */ ra1 = lsr(ax0,ra1) + /* 0x000c24 0x21080 */ ax0 = lsl(ax0,bx0) + /* 0x000c25 0x2e076 */ rb0 = rb0 - ax1 + /* 0x000c26 0x29164 */ ra0 = ra0 | ra1 + /* 0x000c27 0xb2009 */ axs1 = -0x3ff + /* 0x000c28 0x6803f */ ra1 = 0xfffff /* MW 2 */ + /* 0x000c29 0xfffc9 *//* MW 1 */ + /* 0x000c2a 0x5403b */ rb0 = rb0 + ax1; bxs0 = 0x20 /* MW 2 */ + /* 0x000c2b 0x30102 *//* MW 1 */ + /* 0x000c2c 0x52c58 */ bt(rb0,bx0); axs1 = 0x34 /* MW 2 */ + /* 0x000c2d 0x301a1 *//* MW 1 */ + /* 0x000c2e 0x544b2 */ ra0 = ra0 & ra1; if (nz) jpsdb 0x8 /* MW 2 */ + /* 0x000c2f 0x3c089 *//* MW 1 */ + /* 0x000c30 0x24064 */ ra0 = bs(ra0,ax1) + /* 0x000c31 0x6c000 */ axs1 = [0x5f8] /* MW 2 */ + /* 0x000c32 0x2fc01 *//* MW 1 */ + /* 0x000c33 0x28841 */ ax1 = ax0 & ax1 + /* 0x000c34 0x23fcd */ ra1 = lsr(ax1,0x1f) + /* 0x000c35 0x23061 */ ax1 = lsl(ra0,0x1) + /* 0x000c36 0x2814c */ ra0 = ax1 + ra1 + /* 0x000c37 0x23040 */ ax0 = lsl(ax0,0x1) + /* 0x000c38 0x6c000 */ axs1 = [0x5f8] /* MW 2 */ + /* 0x000c39 0x2fc01 *//* MW 1 */ + /* 0x000c3a 0x54422 */ ra1 = ax0 & ax1; bxs1 = zero /* MW 2 */ + /* 0x000c3b 0x98e83 *//* MW 1 */ + /* 0x000c3c 0x22876 */ rb0 = asr(rb0,0x1) + /* 0x000c3d 0x51833 */ rb0 = lsl(ra0,0x1); sp[0x0] = rb0 /* MW 2 */ + /* 0x000c3e 0x0804a *//* MW 1 */ + /* 0x000c3f 0x51ff6 */ ra1 = lsr(ra1,0x1f); ra0 = zero /* MW 2 */ + /* 0x000c40 0x98e88 *//* MW 1 */ + /* 0x000c41 0x540ba */ ra1 = rb0 + ra1; bxs0 = zero /* MW 2 */ + /* 0x000c42 0x98e82 *//* MW 1 */ + /* 0x000c43 0x68080 */ rb0 = 0x200000 /* MW 2 */ + /* 0x000c44 0x0000a *//* MW 1 */ + /* 0x000c45 0x23040 */ ax0 = lsl(ax0,0x1) + /* 0x000c46 0x2819f */ rb1 = bx1 + rb0 + /* 0x000c47 0x30178 */ cmp(rb1,ra1) + /* 0x000c48 0xbc044 */ if (p) jps 0x4 + /* 0x000c49 0x2e1ed */ ra1 = ra1 - rb1 + /* 0x000c4a 0x281bf */ rb1 = rb1 + rb0 + /* 0x000c4b 0x540d2 */ ra0 = ra0 + rb0; bxs1 = rb1 /* MW 2 */ + /* 0x000c4c 0x182c3 *//* MW 1 */ + /* 0x000c4d 0x23876 */ rb0 = lsr(rb0,0x1) + /* 0x000c4e 0x32830 */ cmpu(rb0,0x0) + /* 0x000c4f 0x28847 */ rb1 = ax0 & ax1 + /* 0x000c50 0x2306d */ ra1 = lsl(ra1,0x1) + /* 0x000c51 0x23fff */ rb1 = lsr(rb1,0x1f) + /* 0x000c52 0x51820 */ ax0 = lsl(ax0,0x1); if (nz) jpsdb -0xe /* MW 2 */ + /* 0x000c53 0x3ff29 *//* MW 1 */ + /* 0x000c54 0x281ed */ ra1 = ra1 + rb1 + /* 0x000c55 0x5c002 */ ra0 = 0; sp[0x4] = ra0 /* MW 2 */ + /* 0x000c56 0x080c8 *//* MW 1 */ + /* 0x000c57 0x55006 */ ra0 = ax1 + 0x0; sp[0xc] = ra0 /* MW 2 */ + /* 0x000c58 0x081c8 *//* MW 1 */ + /* 0x000c59 0x30158 */ cmp(bx1,ra1) + /* 0x000c5a 0x5408b */ rb0 = bx0 + ra0; if (s) jps 0x4 /* MW 2 */ + /* 0x000c5b 0x3c042 *//* MW 1 */ + /* 0x000c5c 0x30158 */ cmp(bx1,ra1) + /* 0x000c5d 0xbc181 */ if (nz) jps 0x18 + /* 0x000c5e 0x30830 */ cmpu(rb0,ax0) + /* 0x000c5f 0xbc164 */ if (p) jps 0x16 + /* 0x000c60 0x28872 */ bx0 = rb0 & ax1 + /* 0x000c61 0x30850 */ cmpu(bx0,ax1) + /* 0x000c62 0x5409b */ rb1 = rb0 + ra0; if (nz) jpsdb 0x8 /* MW 2 */ + /* 0x000c63 0xbc089 *//* MW 1 */ + /* 0x000c64 0x5501d */ bx0 = rb1 + 0x0; rb1 = bh1 /* MW 2 */ + /* 0x000c65 0x184cb *//* MW 1 */ + /* 0x000c66 0x5442a */ ra1 = bx0 & ax1; sp[0x8] = ra1 /* MW 2 */ + /* 0x000c67 0x88149 *//* MW 1 */ + /* 0x000c68 0x32828 */ cmpu(ra1,0x0) + /* 0x000c69 0x42008 */ if (nz) jps 0x1; ra1 = sp[0x8] /* MW 2 */ + /* 0x000c6a 0x88109 *//* MW 1 */ + /* 0x000c6b 0x2a05f */ rb1 = bx1 + 0x1 + /* 0x000c6c 0x30980 */ cmpu(ax0,rb0) + /* 0x000c6d 0x57076 */ ra1 = ra1 - bx1; if (ns) jpsdb 0x3 /* MW 2 */ + /* 0x000c6e 0xbc03b *//* MW 1 */ + /* 0x000c6f 0x5501d */ bx1 = rb1 + 0x0; rb1 = sp[0xc] /* MW 2 */ + /* 0x000c70 0x8818b *//* MW 1 */ + /* 0x000c71 0x2a7ed */ ra1 = ra1 + -0x1 + /* 0x000c72 0x2813f */ rb1 = rb1 + ra0 + /* 0x000c73 0x570c3 */ rb0 = ax0 - rb0; sp[0xc] = rb1 /* MW 2 */ + /* 0x000c74 0x081cb *//* MW 1 */ + /* 0x000c75 0x2a030 */ ax0 = rb0 + 0x0 + /* 0x000c76 0x23864 */ ra0 = lsr(ra0,0x1) + /* 0x000c77 0x32820 */ cmpu(ra0,0x0) + /* 0x000c78 0x28846 */ rb0 = ax0 & ax1 + /* 0x000c79 0x2306d */ ra1 = lsl(ra1,0x1) + /* 0x000c7a 0x23ff6 */ rb0 = lsr(rb0,0x1f) + /* 0x000c7b 0x51820 */ ax0 = lsl(ax0,0x1); if (nz) jpsdb -0x24 /* MW 2 */ + /* 0x000c7c 0x3fdc9 *//* MW 1 */ + /* 0x000c7d 0x281ad */ ra1 = ra1 + rb0 + /* 0x000c7e 0x29029 */ ax1 = ra1 | ax0 + /* 0x000c7f 0x59404 */ cmpu(ax1,0x0); sp[0x8] = lr /* MW 2 */ + /* 0x000c80 0x08176 *//* MW 1 */ + /* 0x000c81 0xbc280 */ if (z) jps 0x28 + /* 0x000c82 0x6e000 */ axl1 = [0x600] /* MW 2 */ + /* 0x000c83 0x30011 *//* MW 1 */ + /* 0x000c84 0x66000 */ calldb 0x6c4 /* MW 2 */ + /* 0x000c85 0x06c48 *//* MW 1 */ + /* 0x000c86 0x55004 */ ax0 = ax1 + 0x0; nop /* MW 2 */ + /* 0x000c87 0x38000 *//* MW 1 */ + /* 0x000c88 0x59010 */ cmp(ra0,0x0); axs1 = sp[0x4] /* MW 2 */ + /* 0x000c89 0x08081 *//* MW 1 */ + /* 0x000c8a 0x420e0 */ if (z) jps 0x1c; ra0 = sp[0xc] /* MW 2 */ + /* 0x000c8b 0x08188 *//* MW 1 */ + /* 0x000c8c 0x55024 */ ax1 = ax1 + 0x1; axs0 = -0x1 /* MW 2 */ + /* 0x000c8d 0xb3ff8 *//* MW 1 */ + /* 0x000c8e 0x58410 */ cmpu(ra0,ax0); sp[0x10] = ah1 /* MW 2 */ + /* 0x000c8f 0x08251 *//* MW 1 */ + /* 0x000c90 0xbc150 */ if (z) jps 0x15 + /* 0x000c91 0x6e000 */ axl1 = [0x600] /* MW 2 */ + /* 0x000c92 0x30011 *//* MW 1 */ + /* 0x000c93 0x66000 */ calldb 0x702 /* MW 2 */ + /* 0x000c94 0x07028 *//* MW 1 */ + /* 0x000c95 0x2a008 */ ax0 = ax1 + 0x0 + /* 0x000c96 0x32020 */ cmp(ra0,0x0) + /* 0x000c97 0x42028 */ if (nz) jps 0x5; axs1 = sp[0xc] /* MW 2 */ + /* 0x000c98 0x88181 *//* MW 1 */ + /* 0x000c99 0x88082 */ bxs0 = sp[0x4] + /* 0x000c9a 0x55424 */ ax0 = ax1 & 0x1; jpsdb 0x11 /* MW 2 */ + /* 0x000c9b 0x3c11f *//* MW 1 */ + /* 0x000c9c 0x54006 */ ra0 = ax1 + ax0; sp[0x10] = bh0 /* MW 2 */ + /* 0x000c9d 0x08252 *//* MW 1 */ + /* 0x000c9e 0x387f0 */ ax0 = -2 + /* 0x000c9f 0x30808 */ cmpu(ax1,ax0) + /* 0x000ca0 0xbc030 */ if (z) jps 0x3 + /* 0x000ca1 0x88080 */ axs0 = sp[0x4] + /* 0x000ca2 0x40000 */ nop; sp[0x10] = ah0 /* MW 2 */ + /* 0x000ca3 0x08250 *//* MW 1 */ + /* 0x000ca4 0x55046 */ ra0 = ax1 + 0x2; jps 0x7 /* MW 2 */ + /* 0x000ca5 0x3c077 *//* MW 1 */ + /* 0x000ca6 0x4202b */ jps 0x5; ra0 = zero /* MW 2 */ + /* 0x000ca7 0x98e88 *//* MW 1 */ + /* 0x000ca8 0x4201b */ jps 0x3; sp[0x10] = ah1 /* MW 2 */ + /* 0x000ca9 0x88251 *//* MW 1 */ + /* 0x000caa 0x88081 */ axs1 = sp[0x4] + /* 0x000cab 0x88188 */ ra0 = sp[0xc] + /* 0x000cac 0x88251 */ sp[0x10] = ah1 + /* 0x000cad 0x23864 */ ra0 = lsr(ra0,0x1) + /* 0x000cae 0x88200 */ axs0 = sp[0x10] + /* 0x000caf 0x55421 */ bx0 = ax0 & 0x1; axs1 = sp[0x0] /* MW 2 */ + /* 0x000cb0 0x08001 *//* MW 1 */ + /* 0x000cb1 0x32050 */ cmp(bx0,0x1) + /* 0x000cb2 0x22846 */ rb0 = asr(ax0,0x1) + /* 0x000cb3 0x6c000 */ axs0 = [0x5fc] /* MW 2 */ + /* 0x000cb4 0x2fe00 *//* MW 1 */ + /* 0x000cb5 0x54018 */ ax0 = rb0 + ax0; if (nz) jpsdb 0x3 /* MW 2 */ + /* 0x000cb6 0x3c039 *//* MW 1 */ + /* 0x000cb7 0x6c000 */ bxs0 = [0x5f8] /* MW 2 */ + /* 0x000cb8 0x2fc02 *//* MW 1 */ + /* 0x000cb9 0x290a4 */ ra0 = ra0 | bx0 + /* 0x000cba 0x23509 */ ax1 = lsl(ax1,0x14) + /* 0x000cbb 0x28041 */ ax1 = ax0 + ax1 + /* 0x000cbc 0x42057 */ jpsdb 0xa; axs0 = ah1 /* MW 2 */ + /* 0x000cbd 0x98440 *//* MW 1 */ + /* 0x000cbe 0x9820c */ al0 = ra0 + /* 0x000cbf 0x88176 */ sp[0x8] = lr + /* 0x000cc0 0x55005 */ bx0 = ax1 + 0x0; sp[0x0] = ahl1 /* MW 2 */ + /* 0x000cc1 0x10059 *//* MW 1 */ + /* 0x000cc2 0x66000 */ call 0x518 /* MW 2 */ + /* 0x000cc3 0x05180 *//* MW 1 */ + /* 0x000cc4 0x66000 */ calldb 0x500 /* MW 2 */ + /* 0x000cc5 0x05008 *//* MW 1 */ + /* 0x000cc6 0x55000 */ ax1 = ax0 + 0x0; bxl0 = sp[0x0] /* MW 2 */ + /* 0x000cc7 0x90012 *//* MW 1 */ + /* 0x000cc8 0x40000 */ nop; lr = sp[0x8] /* MW 2 */ + /* 0x000cc9 0x08136 *//* MW 1 */ + /* 0x000cca 0x460a0 */ ret; sp+= 0x18 /* MW 2 */ + /* 0x000ccb 0x28030 *//* MW 1 */ + /* 0x000ccc 0x55005 */ bx0 = ax1 + 0x0; sp[0x0] = lr /* MW 2 */ + /* 0x000ccd 0x08076 *//* MW 1 */ + /* 0x000cce 0x66000 */ call 0x50c /* MW 2 */ + /* 0x000ccf 0x050c0 *//* MW 1 */ + /* 0x000cd0 0x66000 */ calldb 0x5c4 /* MW 2 */ + /* 0x000cd1 0x05c48 *//* MW 1 */ + /* 0x000cd2 0x55001 */ bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ + /* 0x000cd3 0x19201 *//* MW 1 */ + /* 0x000cd4 0x88036 */ lr = sp[0x0] + /* 0x000cd5 0x460a0 */ ret; sp+= 0x18 /* MW 2 */ + /* 0x000cd6 0x28030 *//* MW 1 */ + /* 0x000cd7 0xba148 */ retdb + /* 0x000cd8 0xa8030 */ sp+= 0x18 + /* 0x000cd9 0x2a008 */ ax0 = ax1 + 0x0 + +.bss_segment DM 0x000004 12c + +.data_segment DM 0x000130 +.label _ZZ4mainvE4mode + 0x2 + 0x0 + 0x0 + 0x0 + +.bss_segment DM 0x000134 4 + +.rodata_segment DM 0x000138 +.label _ro_data_DM_8___main__3 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xe8 + 0x3f + 0xcd + 0xcc + 0xcc + 0xcc + 0xcc + 0xcc + 0xec + 0x3f + 0x7b + 0x14 + 0xae + 0x47 + 0xe1 + 0x7a + 0x84 + 0x3f + +.bss_segment DM 0x000150 1c + +.bss_segment DM 0x000170 100 + +.rodata_segment DM 0x000270 +.label _ro_data_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi__2 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 +.label _ro_data_DM_8___Z15sig_init_weightP16SingleSignalPathdi__2 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 +.label _ro_data_DM_8___Z4initP16SingleSignalPathS0_PdS1_iidddi__1 + 0x0 + 0x0 + 0xc0 + 0xff + 0xff + 0xff + 0xdf + 0x41 + +.bss_segment DM 0x000298 100 + +.rodata_segment DM 0x000398 +.label _ro_data_DM_8___ZL18estimateDiv128To64yyy__2 + 0x0 + 0x0 + 0x0 + 0x0 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x0 + 0x0 + 0x0 + 0x0 +.label _ro_data_DM_8___ZL19propagateFloat64NaNyy__2 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x7 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xe0 + 0xff +.label _ro_data_DM_8___ZL19roundAndPackFloat64iiy__1 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f +.label _ro_data_DM_8___Z30float64_to_int32_round_to_zeroy__1 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 + +.rodata_segment DM 0x0003c8 +.label _ro_data_DM_4___Z30float64_to_int32_round_to_zeroy__4 + 0x0 + 0x0 + 0x0 + 0x80 + 0xff + 0xff + 0xff + 0x7f + +.rodata_segment DM 0x0003d0 +.label _ro_data_DM_8___ZL14addFloat64Sigsyyi__3 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 +.label _ro_data_DM_8___ZL14subFloat64Sigsyyi__3 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f +.label _ro_data_DM_8___Z11float64_mulyy__3 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f +.label _ro_data_DM_8___Z11float64_divyy__3 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f +.label _ro_data_DM_8___Z10float64_eqyy__1 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 +.label _ro_data_DM_8___Z10float64_leyy__1 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 +.label _ro_data_DM_8___Z10float64_ltyy__1 + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xf + 0x0 +.label _ZZ6ff_powddE2bp + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf8 + 0x3f +.label _ZZ6ff_powddE4dp_h + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 + 0x3 + 0xb8 + 0xe2 + 0x3f +.label _ZZ6ff_powddE4dp_l + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x6 + 0xd0 + 0xcf + 0x43 + 0xeb + 0xfd + 0x4c + 0x3e +.label _ro_data_DM_8__ff_ldexp__5 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x50 + 0x43 + 0x59 + 0xf3 + 0xf8 + 0xc2 + 0x1f + 0x6e + 0xa5 + 0x1 + 0x9c + 0x75 + 0x0 + 0x88 + 0x3c + 0xe4 + 0x37 + 0x7e + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x80 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x90 + 0x3c + +.rodata_segment DM 0x0004a0 +.label _ro_data_DM_4__ff_ldexp__9 + 0x0 + 0x0 + 0xf0 + 0x7f + 0xff + 0xff + 0xff + 0x7f + 0xff + 0xff + 0xf + 0x80 +.label _ro_data_DM_4__ff_pow__14 + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0xf0 + 0x7f + 0x0 + 0x0 + 0x40 + 0x43 + 0x0 + 0x0 + 0xf0 + 0x3f + 0x0 + 0x0 + 0x0 + 0x40 + 0x0 + 0x0 + 0xe0 + 0x3f + 0x0 + 0x0 + 0xe0 + 0x41 + 0x0 + 0x0 + 0xf0 + 0x43 + 0xff + 0xff + 0xef + 0x3f + 0x0 + 0x0 + 0x90 + 0x40 + 0x0 + 0xcc + 0x90 + 0x40 + 0x0 + 0x0 + 0x10 + 0xc0 + 0x0 + 0x0 + 0x70 + 0xbf + 0x0 + 0x34 + 0x6f + 0x3f + +.rodata_segment DM 0x0004e8 +.label _ro_data_DM_8__ff_pow__48 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x7f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xe0 + 0x3f + 0x55 + 0x55 + 0x55 + 0x55 + 0x55 + 0x55 + 0xd5 + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xd0 + 0x3f + 0x0 + 0x0 + 0x0 + 0x60 + 0x47 + 0x15 + 0xf7 + 0x3f + 0x44 + 0xdf + 0x5d + 0xf8 + 0xb + 0xae + 0x54 + 0x3e + 0xfe + 0x82 + 0x2b + 0x65 + 0x47 + 0x15 + 0xf7 + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 + 0x43 + 0x3 + 0x33 + 0x33 + 0x33 + 0x33 + 0x33 + 0xe3 + 0x3f + 0xff + 0xab + 0x6f + 0xdb + 0xb6 + 0x6d + 0xdb + 0x3f + 0x4d + 0x26 + 0x8f + 0x51 + 0x55 + 0x55 + 0xd5 + 0x3f + 0x1 + 0x41 + 0x1d + 0xa9 + 0x60 + 0x74 + 0xd1 + 0x3f + 0x65 + 0xdb + 0xc9 + 0x93 + 0x4a + 0x86 + 0xcd + 0x3f + 0xef + 0x4e + 0x45 + 0x4a + 0x28 + 0x7e + 0xca + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x8 + 0x40 + 0x0 + 0x0 + 0x0 + 0xe0 + 0x9 + 0xc7 + 0xee + 0x3f + 0xf5 + 0x1 + 0x5b + 0x14 + 0xe0 + 0x2f + 0x3e + 0xbe + 0xfd + 0x3 + 0x3a + 0xdc + 0x9 + 0xc7 + 0xee + 0x3f + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0xbf + 0x9c + 0x75 + 0x0 + 0x88 + 0x3c + 0xe4 + 0x37 + 0x7e + 0xfe + 0x82 + 0x2b + 0x65 + 0x47 + 0x15 + 0x97 + 0x3c + 0x59 + 0xf3 + 0xf8 + 0xc2 + 0x1f + 0x6e + 0xa5 + 0x1 + 0x0 + 0x0 + 0x0 + 0x0 + 0x43 + 0x2e + 0xe6 + 0x3f + 0xef + 0x39 + 0xfa + 0xfe + 0x42 + 0x2e + 0xe6 + 0x3f + 0x39 + 0x6c + 0xa8 + 0xc + 0x61 + 0x5c + 0x20 + 0xbe + 0x3e + 0x55 + 0x55 + 0x55 + 0x55 + 0x55 + 0xc5 + 0x3f + 0x93 + 0xbd + 0xbe + 0x16 + 0x6c + 0xc1 + 0x66 + 0xbf + 0x2c + 0xde + 0x25 + 0xaf + 0x6a + 0x56 + 0x11 + 0x3f + 0xf1 + 0x6b + 0xd2 + 0xc5 + 0x41 + 0xbd + 0xbb + 0xbe + 0xd0 + 0xa4 + 0xbe + 0x72 + 0x69 + 0x37 + 0x66 + 0x3e + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x40 + +.rodata_segment DM 0x0005f0 +.label _ro_data_DM_4__ff_sqrt__4 + 0x0 + 0x0 + 0xf0 + 0x7f + 0xff + 0xff + 0xff + 0x7f + 0x0 + 0x0 + 0x0 + 0x80 + 0x0 + 0x0 + 0xe0 + 0x3f + +.rodata_segment DM 0x000600 +.label _ro_data_DM_8__ff_sqrt__6 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0xf0 + 0x3f + +.bss_segment DM 0x800000 a + +.bss_segment DM 0x80000c 4 + +.bss_segment DM 0x800010 8 + +.bss_segment DM 0x800018 110 + +.bss_segment DM 0xc00004 1 +.dir 0 "%PROCDIR%" +.dir 1 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation" +.dir 2 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation/signal_processing" + +.stack DMA e000 fff8 diff --git a/simulation/Release/simulation.cmic2 b/simulation/Release/simulation.cmic2 new file mode 100644 index 0000000..06dcfb0 --- /dev/null +++ b/simulation/Release/simulation.cmic2 @@ -0,0 +1,4551 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:49 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 +Mhex +Ihex -g +u Release/simulation lpdsp32 + +// Release: ipp X-2025.06 +.label _ivt +.function _ivt _ivt +.src_ref 0 "lpdsp32_init.s" 15 first +.function_start + 0 "01100100000000000000" // jp 0x20 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct absolute target_address=32 */ + 1 "00000000001000000111" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 16 first + 2 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 17 first + 4 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 5 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 18 first + 6 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 7 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 19 first + 8 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 9 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 20 first + 10 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 11 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 21 first + 12 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 13 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 22 first + 14 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 15 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 23 first + 16 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 17 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 24 first + 18 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 19 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 25 first + 20 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 21 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 26 first + 22 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 23 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 27 first + 24 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 25 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 28 first + 26 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 27 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 29 first + 28 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 29 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 30 first + 30 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 31 "00111000000000000000" // /* MW 1 */ +.label _main_init +.function _main_init _main_init +.src_ref 0 "lpdsp32_init.s" 5 first +.function_start + 32 "10111010000100010010" // r = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 6 first + 33 "10111010000100010011" // s = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 7 first + 34 "01101000000000000011" // sp = 0xfff8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 35 "11111111111000111000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 8 first + 36 "01000110000010001000" // ie = 0x1; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 37 "00111000000000000000" // /* MW 1 */ +.label _main +.function main _main +.src_ref 1 "main.c" 46 first +.src_ref 1 "main.c" 46 4 +.function_start + 38 "10101011111101010000" // sp+= -0x58 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 18 +.src_ref 1 "main.c" 52 18 + 39 "01101110000000000000" // bxl0 = [0x138] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 40 "00001001110000010010" // /* MW 1 */ +.src_ref 1 "main.c" 51 24 +.src_ref 1 "main.c" 51 28 +.src_ref 1 "main.c" 51 32 +.src_ref 1 "main.c" 51 36 +.src_ref 1 "main.c" 52 24 +.src_ref 1 "main.c" 52 28 +.src_ref 1 "main.c" 52 32 +.src_ref 1 "main.c" 52 36 + 41 "01011100000000000000" // ax1 = 0; a2 = sp + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 42 "10100100000001000010" // /* MW 1 */ +.src_ref 1 "main.c" 51 18 first +.src_ref 1 "main.c" 56 4 + 43 "01011100000000001010" // ra1 = 2; a2[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 44 "10001101000001111010" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 45 "01011100000100000011" // rb0 = 64; a3 = sp + 0x30 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 46 "00100100000110000011" // /* MW 1 */ +.src_ref 1 "main.c" 52 18 first +.src_ref 1 "main.c" 56 4 + 47 "01011100000000001010" // ra0 = 2; a3[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 48 "00001101100001111010" // /* MW 1 */ +.src_ref 1 "main.c" 51 24 first + 49 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 24 first + 50 "10010000011101011001" // sp[0x38] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 28 first + 51 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 28 first + 52 "10010000100001011001" // sp[0x40] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 32 first + 53 "10010000010001011001" // sp[0x20] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 32 first + 54 "10010000100101011001" // sp[0x48] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 36 first + 55 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 36 first + 56 "10010000101001011001" // sp[0x50] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 56 4 + 57 "01101000000000000000" // a0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 58 "00000000001000100000" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 59 "01101110000000000000" // axl1 = [0x140] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 60 "00001010000000010001" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 61 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 56 4 + 62 "01101000000000000000" // a1 = 0x98 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 63 "00000010011000100001" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 first +.no_stack_arguments + 64 "01100110000000000000" // calldb 0x172 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=370 delay_slots=1 */ + 65 "00000001011100101000" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 +.delay_slot + 66 "01101110000000000000" // bxl0 = [0x148] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 67 "00001010010000010010" // /* MW 1 */ +.src_ref 1 "main.c" 95 8 first +.src_ref 0 "lpdsp32_irq.h" 47 first +.return_address + 68 "10111010000100010000" // ie = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_irq.h" 48 first + 69 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 100 8 first + 70 "01101100000000000000" // [0x4] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 71 "00000000001001111010" // /* MW 1 */ +.src_ref 1 "main.c" 96 8 + 72 "01101000001000000000" // a5 = -0x7fffee /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 73 "00000000010010100101" // /* MW 1 */ +.src_ref 1 "main.c" 96 8 first + 74 "01101100000000000000" // [0x128] = a5 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 75 "00001001010001100101" // /* MW 1 */ +.src_ref 1 "main.c" 97 8 + 76 "01101000001000000000" // a4 = -0x7ffff8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 77 "00000000001000100100" // /* MW 1 */ +.src_ref 1 "main.c" 97 8 first + 78 "01101100000000000000" // [0x12c] = a4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 79 "00001001011001100100" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 + 80 "01011100100000010000" // c0 = 4; rb0 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 81 "00110000000000010110" // /* MW 1 */ +.src_ref 1 "main.c" 105 16 + 82 "01000000000000000000" // nop; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 83 "00110000000000001101" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 first +.loop_nesting 1 + 84 "01101110011000000000" // [0xc00004] = rb0.b /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 85 "00000000001001100110" // /* MW 1 */ +.src_ref 1 "main.c" 103 12 first +.src_ref 0 "lpdsp32_irq.h" 66 first + 86 "01000110000011100000" // powerdown; nop /* MW 2 */ /* control_operation: words=2 unconditional cycles_taken=2 indirect absolute */ + 87 "00111000000000000000" // /* MW 1 */ +.src_ref 1 "main.c" 104 16 first + 88 "01101100000000000000" // ra0 = [0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 89 "00000000001000001000" // /* MW 1 */ +.src_ref 1 "main.c" 104 32 + 90 "00110010000001100000" // cmp(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 104 12 +.src_ref 1 "main.c" 104 32 + 91 "10111111111110000001" // if (nz) jps -0x8 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-8 */ +.src_ref 1 "main.c" 105 16 first + 92 "01101110011000000000" // [0xc00004] = ra1.b /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 93 "00000000001001100101" // /* MW 1 */ +.src_ref 1 "main.c" 106 16 first + 94 "01101100000000000000" // [0x4] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 95 "00000000001001111010" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 + 96 "01101000001000000000" // lb0 = -0x7ffff0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 97 "00000000010000101100" // /* MW 1 */ +.src_ref 1 "main.c" 107 44 first + 98 "01101100000000000000" // a5 = [0x128] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 99 "00001001010000100101" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 + 100 "01101000000000000000" // lsz0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 101 "00000000001000101110" // /* MW 1 */ +.src_ref 1 "main.c" 108 35 first + 102 "01101100000000000000" // a3 = [0x12c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 103 "00001001011000100011" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 first + 104 "10011110110000000000" // a0 = a5+%0c0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 107 16 + 105 "01101100000000000000" // [0x128] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 106 "00001001010001100000" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 107 "01101000001000000000" // a4 = -0x7ffffe /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 108 "00000000000010100100" // /* MW 1 */ +.src_ref 1 "main.c" 108 34 first + 109 "10010101100000110101" // ra1.s = a3[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 108 16 + 110 "10010100000001110101" // a0[0x0] = ra1.s /* control_operation: words=1 cycles_taken=1 */ + 111 "10001000000001100011" // sp[0x0] = a3 /* control_operation: words=1 cycles_taken=1 */ + 112 "01000000000000000000" // nop; a5 = a4 - 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 113 "00100010010000010101" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 114 "01101000000000000000" // a1 = 0x98 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 115 "00000010011000100001" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 116 "01101000000000000000" // a0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 117 "00000000001000100000" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 first + 118 "01100110000000000000" // calldb 0x1d0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=464 delay_slots=1 */ + 119 "00000001110100001000" // /* MW 1 */ +.delay_slot + 120 "01101100000000000000" // ra0 = [0x130] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 121 "00001001100000001000" // /* MW 1 */ +.src_ref 1 "main.c" 101 8 first +.src_ref 1 "main.c" 105 16 +.return_address + 122 "01000011111011000111" // jpsdb -0x28; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-40 delay_slots=1 */ + 123 "10110000000000001101" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 +.delay_slot + 124 "01011100100000010000" // c0 = 4; rb0 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 125 "00110000000000010110" // /* MW 1 */ +.label _Z15sig_init_bufferP9BufferPtrPiii +.function sig_init_buffer _Z15sig_init_bufferP9BufferPtrPiii +.src_ref 2 "signal_path.c" 71 first +.src_ref 2 "signal_path.c" 72 10 +.src_ref 2 "signal_path.c" 77 24 +.function_start + 126 "00111001000000100000" // c0 = 4 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 72 10 first +.src_ref 2 "signal_path.c" 76 4 first + 127 "01011001000000010100" // cmp(ra1,0x0); [a0+c0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 128 "00000000000001001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 74 10 first +.src_ref 2 "signal_path.c" 76 4 + 129 "01000010000000110110" // if (np) jpsdb 0x6; a0[0x4] = a1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 130 "10000100000011100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 73 10 first +.delay_slot + 131 "10000100000001100001" // a0[0x0] = a1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 76 4 first + 132 "01100010000000000000" // lp [ra1] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 133 "00000000000000010101" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 134 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 135 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 77 24 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 136 "10000000100001111010" // [a1+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 79 14 first +.loop_nesting 0 + 137 "00110000000110101000" // cmp(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 79 4 +.src_ref 2 "signal_path.c" 79 14 + 138 "01000010000000010001" // if (s) jps 0x2; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 139 "00011000111010001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + 140 "01011100000000000110" // ra0 = 1; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 141 "00111010000101000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + 142 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 143 "00111010000101000000" // /* MW 1 */ +.label _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.function sig_init_buffer_DMB _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.src_ref 2 "signal_path.c" 87 first +.src_ref 2 "signal_path.c" 88 10 +.src_ref 2 "signal_path.c" 93 24 +.function_start + 144 "00111001000000100000" // c0 = 4 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 88 10 first +.src_ref 2 "signal_path.c" 92 4 first + 145 "01011001000000010100" // cmp(ra1,0x0); [a4+c0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 146 "00000010000001001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 90 10 first +.src_ref 2 "signal_path.c" 92 4 + 147 "01000010000000110110" // if (np) jpsdb 0x6; a4[0x4] = a5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 148 "10000110000011100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 89 10 first +.delay_slot + 149 "10000110000001100101" // a4[0x0] = a5 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 92 4 first + 150 "01100010000000000000" // lp [ra1] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 151 "00000000000000010101" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 152 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 153 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 93 24 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 154 "10000010100001111010" // [a5+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 95 14 first +.loop_nesting 0 + 155 "00110000000110101000" // cmp(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 95 4 +.src_ref 2 "signal_path.c" 95 14 + 156 "01000010000000010001" // if (s) jps 0x2; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 157 "00011000111010001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + 158 "01011100000000000110" // ra0 = 1; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 159 "00111010000101000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + 160 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 161 "00111010000101000000" // /* MW 1 */ +.label _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.function sig_cirular_buffer_ptr_put_sample_DMB _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.src_ref 2 "signal_path.c" 117 11 +.src_ref 2 "signal_path.c" 117 11 first +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 118 67 +.src_ref 2 "signal_path.c" 119 first +.function_start + 162 "01011100100000010000" // c0 = 4; a4 = a4 + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 163 "00100010000001000100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 117 11 first + 164 "10000010001000100000" // a0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 67 first + 165 "10000010001000101100" // lb0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 117 4 first + 166 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 167 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 86 first + 168 "10000110000000001000" // ra0 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 86 + 169 "00100011000010100100" // ra0 = lsl(ra0,0x2) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 26 + 170 "10011000001000101110" // lsz0 = ra0 /* control_operation: words=1 cycles_taken=1 */ + 171 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 119 first + 172 "01000110000010100100" // retdb; a0 = a0+%0c0 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 173 "00011100010000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 118 10 first +.delay_slot + 174 "10000110000101100000" // a4[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 175 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.label _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.function sig_init_preemph_coef _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.src_ref 2 "signal_path.c" 133 first +.src_ref 2 "signal_path.c" 133 5 +.function_start + 176 "10101011111110100000" // sp+= -0x30 /* control_operation: words=1 cycles_taken=1 */ + 177 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 178 "10001000000011110110" // sp[0x4] = lr /* control_operation: words=1 cycles_taken=1 */ + 179 "10001000000001001000" // sp[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 180 "10010000001101011011" // sp[0x18] = bhl1 /* control_operation: words=1 cycles_taken=1 */ + 181 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 182 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 183 "10001000000101100000" // sp[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 135 11 first +.no_stack_arguments + 184 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 185 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.delay_slot + 186 "01101110000000000000" // axl1 = [0x270] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 187 "00010011100000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 +.return_address + 188 "01011001000000010000" // cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 189 "00001000000100100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 135 17 + 190 "10111100001010011000" // if (z) jpsdb 0x29 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=41 delay_slots=1 */ +.src_ref 2 "signal_path.c" 136 14 first +.delay_slot + 191 "10100000100001000000" // a0 = a1 + 0x8 /* control_operation: words=1 cycles_taken=1 */ + 192 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 193 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 first +.no_stack_arguments + 194 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 195 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 23 +.delay_slot + 196 "01011100000000000000" // ax1 = 0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 197 "10010000001000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 198 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 199 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 29 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 200 "01000010000011110000" // if (z) jps 0x1e; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=30 */ + 201 "00001000000100100001" // /* MW 1 */ + 202 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 203 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.no_stack_arguments + 204 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 205 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 35 +.delay_slot + 206 "01011100000000000000" // ax1 = 0; axl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 207 "10010000010000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 208 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 209 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 41 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 210 "01000010000010100000" // if (z) jps 0x14; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 211 "00001000000100100001" // /* MW 1 */ + 212 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 213 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.no_stack_arguments + 214 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 215 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 47 +.delay_slot + 216 "01011100000000000000" // ax1 = 0; axl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 217 "10010000001100010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 218 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 219 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 53 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 220 "01000010000001010000" // if (z) jps 0xa; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 221 "00001000000100100001" // /* MW 1 */ + 222 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 223 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.no_stack_arguments + 224 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 225 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 135 59 +.delay_slot + 226 "01011100000000000000" // ax1 = 0; axl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 227 "10010000011000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 +.return_address + 228 "01011001000000010000" // cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 229 "00001000000100100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 4 +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 140 14 + 230 "01000010001001001000" // if (nz) jps 0x49; a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=73 */ + 231 "10001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 +.src_ref 2 "signal_path.c" 141 25 + 232 "10001000000000001000" // ra0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 139 14 +.src_ref 2 "signal_path.c" 140 14 + 233 "01011100000000000111" // rb0 = 1; a0 = a0 + 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 234 "00100000000011000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 first + 235 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 143 14 + 236 "10100000010010100000" // a0 = a0 - 0x14 /* control_operation: words=1 cycles_taken=1 */ + 237 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 139 14 first + 238 "10000100100101001010" // a1[0x8] = rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 141 25 first +.no_stack_arguments + 239 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 240 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 +.return_address + 241 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 141 20 +.no_stack_arguments + 242 "01100110000000000000" // calldb 0x7ba /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1978 delay_slots=1 */ + 243 "00000111101110101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 +.delay_slot + 244 "01101110000000000000" // axl1 = [0x278] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 245 "00010011110000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.return_address + 246 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 247 "10111000000000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.no_stack_arguments + 248 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 249 "00000101000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.delay_slot + 250 "01101110000000000000" // bxl0 = [0x270] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 251 "00010011100000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.return_address +.no_stack_arguments + 252 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 253 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 first +.return_address +.no_stack_arguments + 254 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 255 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 +.src_ref 2 "signal_path.c" 143 34 +.return_address + 256 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 257 "00010000010100010001" // /* MW 1 */ + 258 "01000000000000000000" // nop; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 259 "00010000000101011010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 +.no_stack_arguments + 260 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 261 "00000101000110000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 29 +.return_address +.no_stack_arguments + 262 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 263 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 +.return_address + 264 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 143 25 +.src_ref 2 "signal_path.c" 144 34 + 265 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 266 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 + 267 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 268 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 34 first +.no_stack_arguments + 269 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 270 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 34 +.delay_slot + 271 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 29 +.return_address +.no_stack_arguments + 272 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 273 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 +.return_address + 274 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 25 +.src_ref 2 "signal_path.c" 145 34 + 275 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 276 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 + 277 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 278 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 34 first +.no_stack_arguments + 279 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 280 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 34 +.delay_slot + 281 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 29 +.return_address +.no_stack_arguments + 282 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 283 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 +.return_address + 284 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 25 +.src_ref 2 "signal_path.c" 146 34 + 285 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 286 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 + 287 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 288 "10001000001001100000" // sp[0x10] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 34 first +.no_stack_arguments + 289 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 290 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 146 34 +.delay_slot + 291 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 29 +.return_address +.no_stack_arguments + 292 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 293 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 146 25 +.return_address + 294 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 34 + 295 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 25 + 296 "10000100000011001000" // a0[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 34 first +.no_stack_arguments + 297 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 298 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 147 34 +.delay_slot + 299 "10010000011000010001" // axl1 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 29 +.return_address +.no_stack_arguments + 300 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 301 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 147 25 +.return_address + 302 "10001000001000100000" // a0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 303 "10111100000000101111" // jpsdb 0x2 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 delay_slots=1 */ +.src_ref 2 "signal_path.c" 147 25 +.delay_slot + 304 "10000100000011001000" // a0[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 136 14 first + 305 "10000100100101111010" // a1[0x8] = zero /* control_operation: words=1 cycles_taken=1 */ + 306 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 149 + 307 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 149 first +.src_ref 2 "signal_path.c" 149 first + 308 "01000110000010100000" // ret; sp+= 0x30 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 309 "00101000000001100000" // /* MW 1 */ +.label _Z14sig_init_delayP16SingleSignalPathi +.function sig_init_delay _Z14sig_init_delayP16SingleSignalPathi +.src_ref 2 "signal_path.c" 152 first +.src_ref 2 "signal_path.c" 153 34 first +.function_start + 310 "01000000000000000000" // nop; a0 = a0 + 0x74 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 311 "00100000001110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 first +.tail_call + 312 "01100100000000000000" // jpdb 0x7e /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=126 delay_slots=1 */ + 313 "00000000011111101111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 +.src_ref 2 "signal_path.c" 153 56 +.delay_slot + 314 "01011100000001000011" // rb0 = 16; a1 = a0 - 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 315 "00100000011000000001" // /* MW 1 */ +.label _Z15sig_init_weightP16SingleSignalPathdi +.function sig_init_weight _Z15sig_init_weightP16SingleSignalPathdi +.src_ref 2 "signal_path.c" 157 first +.src_ref 2 "signal_path.c" 157 5 +.function_start + 316 "10101011111111010000" // sp+= -0x18 /* control_operation: words=1 cycles_taken=1 */ + 317 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ + 318 "10001000000011001000" // sp[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 319 "10010000001001011000" // sp[0x10] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 320 "10001000000101100000" // sp[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 159 15 first +.no_stack_arguments + 321 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 322 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 159 15 +.delay_slot + 323 "01101110000000000000" // axl1 = [0x280] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 324 "00010100000000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 160 14 +.return_address + 325 "10001000000100100000" // a0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 159 15 + 326 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 160 14 first + 327 "01110110000000000000" // a0 = a0 + 0x84 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 328 "00000000010000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 159 4 first +.src_ref 2 "signal_path.c" 159 15 first + 329 "01000010000100010000" // if (nz) jps 0x22; sp[0x8] = a0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=34 */ + 330 "10001000000101100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 164 14 + 331 "00111000000000001100" // ra0 = 1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 164 14 first + 332 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 333 "10100000000000100000" // a0 = a0 + 0x4 /* control_operation: words=1 cycles_taken=1 */ + 334 "10001000000111100000" // sp[0xc] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 25 first +.no_stack_arguments + 335 "01100110000000000000" // calldb 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=848 delay_slots=1 */ + 336 "00000011010100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 25 +.delay_slot + 337 "10001000000010001000" // ra0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 20 +.return_address + 338 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 20 +.no_stack_arguments + 339 "01100110000000000000" // calldb 0x7ba /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1978 delay_slots=1 */ + 340 "00000111101110101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 20 +.delay_slot + 341 "01101110000000000000" // axl1 = [0x288] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 342 "00010100010000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.return_address + 343 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 40 +.no_stack_arguments + 344 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 345 "00000101000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.delay_slot + 346 "01101110000000000000" // bxl0 = [0x280] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 347 "00010100000000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.return_address +.no_stack_arguments + 348 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 349 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 first +.return_address +.no_stack_arguments + 350 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 351 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 +.return_address +.no_stack_arguments + 352 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 353 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 +.src_ref 2 "signal_path.c" 166 32 +.delay_slot + 354 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 355 "00010000001000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 23 +.return_address +.no_stack_arguments + 356 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 357 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 +.return_address + 358 "10001000000110100001" // a1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 359 "10001000000100100000" // a0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 167 14 + 360 "10001000000010001010" // rb0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 169 + 361 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 362 "01000010000000100111" // jpsdb 0x4; a0[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 363 "10000100000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 first +.delay_slot + 364 "10000100100011001010" // a1[0x4] = rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 169 + 365 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 160 14 first + 366 "01000000000000000000" // nop; a0[0x0] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 367 "00000100000001111010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 169 first +.src_ref 2 "signal_path.c" 169 first + 368 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 369 "00101000000000110000" // /* MW 1 */ +.label _Z4initP16SingleSignalPathS0_PdS1_iidddi +.function init _Z4initP16SingleSignalPathS0_PdS1_iidddi +.src_ref 2 "signal_path.c" 309 first +.src_ref 2 "signal_path.c" 309 5 +.function_start + 370 "10101011111110000000" // sp+= -0x40 /* control_operation: words=1 cycles_taken=1 */ + 371 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 372 "10010000011001011001" // sp[0x30] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 373 "10010000010101011010" // sp[0x28] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 374 "10001000001111110110" // sp[0x1c] = lr /* control_operation: words=1 cycles_taken=1 */ + 375 "10001000010001001000" // sp[0x20] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 376 "10001000000101001010" // sp[0x8] = rb0 /* control_operation: words=1 cycles_taken=1 */ + 377 "10001000000111001001" // sp[0xc] = ra1 /* control_operation: words=1 cycles_taken=1 */ + 378 "10001000001001100011" // sp[0x10] = a3 /* control_operation: words=1 cycles_taken=1 */ + 379 "10001000001011100001" // sp[0x14] = a1 /* control_operation: words=1 cycles_taken=1 */ + 380 "10001000001101100000" // sp[0x18] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 44 +.src_ref 2 "signal_path.c" 324 52 +.src_ref 2 "signal_path.c" 324 60 + 381 "00111001000001000000" // c0 = 8 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 44 first + 382 "10001101000000010000" // axl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 52 + 383 "10001101000000010001" // axl1 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 60 + 384 "10001101000000010010" // bxl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 76 + 385 "10001101000100110011" // bxl1 = a2[0x8] /* control_operation: words=1 cycles_taken=1 */ + 386 "10010000000001011011" // sp[0x0] = bhl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 4 + 387 "01100110000000000000" // calldb 0xb0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=176 delay_slots=1 */ + 388 "00000000101100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 324 4 +.src_ref 2 "signal_path.c" 324 68 +.delay_slot + 389 "01011100000001111110" // ra0 = 31; bxl1 = a2[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 390 "00001101000000110011" // /* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 +.return_address + 391 "10001000001100100000" // a0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 325 4 first +.no_stack_arguments + 392 "01100110000000000000" // calldb 0x136 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=310 delay_slots=1 */ + 393 "00000001001101101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 +.delay_slot + 394 "10001000010000001001" // ra1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 326 4 +.return_address + 395 "10001000001100100000" // a0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 326 4 first +.no_stack_arguments + 396 "01100110000000000000" // calldb 0x13c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=316 delay_slots=1 */ + 397 "00000001001111001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 326 4 +.src_ref 2 "signal_path.c" 326 4 +.delay_slot + 398 "01011100000001111110" // ra0 = 31; axl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 399 "00010000011100010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 48 +.return_address + 400 "10001000001000100010" // a2 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 +.src_ref 2 "signal_path.c" 329 58 +.src_ref 2 "signal_path.c" 329 68 + 401 "01011100100000100000" // c0 = 8; a0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 402 "00001000001010100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 first + 403 "01011100000001111110" // ra0 = 31; axl0 = [a2+c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 404 "00001101000000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 58 + 405 "10001101000000010001" // axl1 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 68 + 406 "10001101000000010010" // bxl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 88 + 407 "10001101000100110011" // bxl1 = a2[0x8] /* control_operation: words=1 cycles_taken=1 */ + 408 "10010000000001011011" // sp[0x0] = bhl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 4 + 409 "01100110000000000000" // calldb 0xb0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=176 delay_slots=1 */ + 410 "00000000101100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 78 +.delay_slot + 411 "10001101000000110011" // bxl1 = a2[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 330 4 +.return_address + 412 "10001000001010100000" // a0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 330 4 first +.no_stack_arguments + 413 "01100110000000000000" // calldb 0x136 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=310 delay_slots=1 */ + 414 "00000001001101101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 330 4 +.delay_slot + 415 "10001000000110001001" // ra1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 331 4 +.return_address + 416 "10001000001010100000" // a0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 331 4 first +.no_stack_arguments + 417 "01100110000000000000" // calldb 0x13c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=316 delay_slots=1 */ + 418 "00000001001111001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 331 4 +.src_ref 2 "signal_path.c" 331 4 +.delay_slot + 419 "01011100000001111110" // ra0 = 31; axl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 420 "00010000011000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 +.return_address + 421 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 335 16 first +.no_stack_arguments + 422 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 423 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 +.delay_slot + 424 "01101110000000000000" // bxl0 = [0x290] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 425 "00010100100000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 7 +.return_address +.no_stack_arguments + 426 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 427 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 4 +.return_address + 428 "01101100000000000000" // [0x134] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 429 "00001001101001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + 430 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 431 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + 432 "01101000001000000000" // a5 = -0x7fffe4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 433 "00000000011100100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 first +.no_stack_arguments + 434 "01100110000000000000" // calldb 0x90 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=144 delay_slots=1 */ + 435 "00000000100100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 +.src_ref 2 "signal_path.c" 337 4 +.delay_slot + 436 "01011100000100000011" // rb0 = 64; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 437 "00001000000100001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 +.return_address + 438 "01101000000000000000" // a0 = 0x160 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 439 "00000101100000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 + 440 "01101000000000000000" // a1 = 0x170 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 441 "00000101110000100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 first +.no_stack_arguments + 442 "01100110000000000000" // calldb 0x7e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=126 delay_slots=1 */ + 443 "00000000011111101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 +.src_ref 2 "signal_path.c" 338 4 +.delay_slot + 444 "01011100000100000011" // rb0 = 64; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 445 "00001000000100001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 +.return_address + 446 "10001000000100001000" // ra0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 340 4 first + 447 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 340 4 + 448 "10111100000011010101" // if (np) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ +.src_ref 2 "signal_path.c" 341 30 first + 449 "01101100010000000000" // a0 = [0x800120] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 450 "00001001000000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 first + 451 "01100010000000000000" // lp [ra0] 0x3 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 452 "00000000000000110100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 342 26 first +.delay_slot + 453 "01101100000000000000" // a2 = [0x164] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 454 "00001011001000100010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 +.src_ref 2 "signal_path.c" 342 36 +.src_ref 2 "signal_path.c" 344 +.delay_slot + 455 "01011100100000010000" // c0 = 4; lr = sp[0x1c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 456 "00001000001110110110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 first +.loop_nesting 1 + 457 "10000000000001111010" // [a0+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 342 36 first +.end_of_loop +.noswbrkpt + 458 "01000000000000000000" // nop; [a2+c0] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 459 "00000001000001111010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 344 first +.src_ref 2 "signal_path.c" 344 first +.loop_nesting 0 + 460 "01000110000010100000" // ret; sp+= 0x40 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 461 "00101000000010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 344 + 462 "01000011111111100011" // jps -0x4; lr = sp[0x1c] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-4 */ + 463 "10001000001110110110" // /* MW 1 */ +.label _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.function calc _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.src_ref 2 "signal_path.c" 348 first +.src_ref 2 "signal_path.c" 371 39 first +.function_start + 464 "10010110000000110100" // ra0.s = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 371 44 first +.src_ref 2 "signal_path.c" 372 42 first + 465 "01010001101000010011" // rb0 = lsl(ra0,0x10); ra0.s = a5[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 466 "00010110100000110100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 348 5 +.src_ref 2 "signal_path.c" 372 47 + 467 "01010001101000010010" // ra0 = lsl(ra0,0x10); sp+= -0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 468 "00101011111111110000" // /* MW 1 */ + 469 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 383 4 + 470 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 471 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 371 18 + 472 "01101100000000000000" // [0x158] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 473 "00001010110001001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 377 20 first + 474 "01101100000000000000" // [0x150] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 475 "00001010100001001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 372 20 first + 476 "01101100000000000000" // [0x15c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 477 "00001010111001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 378 22 first + 478 "01101100000000000000" // [0x154] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 479 "00001010101001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 383 4 first +.no_stack_arguments + 480 "01100110000000000000" // call 0xa2 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=162 */ + 481 "00000000101000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.return_address + 482 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 483 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 484 "01011100100000010000" // c0 = 4; axs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 485 "00011000111010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 486 "01011100101111110000" // c1 = -4; a4 = a4 + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 487 "10100010000001000100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 first + 488 "01011100000000000001" // bx0 = 0; a5 = [a4-c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 489 "00000010001000100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + 490 "10000010001000101100" // lb0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 491 "01101000000000000000" // a2 = 0x160 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 492 "00000101100000100010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + 493 "10000110000000001000" // ra0 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 494 "01010001100001010010" // ra0 = lsl(ra0,0x2); rb0 = a2[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 495 "00000101000000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 496 "01010101001111111010" // ra0 = rb0 + -0x1; lsz0 = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 497 "00011000001000101110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 +.src_ref 2 "signal_path.c" 394 18 + 498 "01010001010000110010" // ra0 = asr(ra0,0x1); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 499 "00001000000100100001" // /* MW 1 */ + 500 "00101010000001100111" // rb1 = ra0 + 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 + 501 "01100010000000000000" // lp [rb1] 0x6 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 502 "00000000000001100111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.delay_slot + 503 "01101100000000000000" // a0 = [0x168] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 504 "00001011010000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.delay_slot + 505 "10100010100000000100" // a4 = a5 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.loop_nesting 1 + 506 "11011000000010001001" // ra1 = [a0+c0]; rb0 = [a4+%0c1] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 507 "01000100010011011100" // bx1 = bx0+rb0*ra1; ra0 = [a0+c0]; rb0 = [a4+%0c1] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 508 "01010000000010001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 509 "01000100010001001000" // ax1 = ax0+rb0*ra0; bxs0 = bxs1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 510 "00011000000011000010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.end_of_loop +.noswbrkpt + 511 "10011000000001000000" // axs0 = axs1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 387 27 first +.loop_nesting 0 + 512 "01101100000000000000" // rb0 = [0x150] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 513 "00001010100000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 first +.src_ref 2 "signal_path.c" 389 4 first + 514 "01010100000000001000" // ax0 = bx0 + ax0; a4 = a2[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 515 "00000101000010100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 516 "01011100101111100000" // c0 = -8; ra0 = axs0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 517 "00011000000000001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 18 + 518 "01101100010000000000" // [0x80000c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 519 "00000000011001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 387 31 first +.src_ref 2 "signal_path.c" 389 4 first + 520 "01010111000010011010" // ra0 = rb0 - ra0; a0 = a5+%0c1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 521 "00011110110010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 522 "01101100000000000000" // rb0 = [0x134] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 523 "00001001101000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 524 "01000100010000000000" // ax0 = rb0*ra0; c1 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 525 "00101100000001000001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 526 "01100010000000000000" // lp [rb1] 0x7 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 527 "00000000000001110111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 387 10 +.delay_slot + 528 "01101100010000000000" // [0x800018] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 529 "00000000110001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 +.delay_slot + 530 "10011000000000001001" // ra1 = axs0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.loop_nesting 1 + 531 "10001110000000100101" // axs1,bxs1 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 532 "10000010110000001000" // ra0 = [a5+%0c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 533 "01000100001001000010" // ax0 = ax1+ra1*ra0; rb0 = [a0+%0c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 534 "00000000010000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 535 "00001000011010101100" // bx0 = bx1+ra1*rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 + 536 "10001110000011000000" // [a4+c1] = axs0,bxs0 /* control_operation: words=1 cycles_taken=1 */ +.end_of_loop +.noswbrkpt + 537 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 394 48 first +.loop_nesting 0 + 538 "01101100010000000000" // ra0 = [0x800018] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 539 "00000000110000001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 53 +.src_ref 2 "signal_path.c" 397 + 540 "01010001011000010000" // ax0 = asr(ra0,0x10); lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 541 "00001000000000110110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 20 +.src_ref 2 "signal_path.c" 397 first + 542 "01000110000010100100" // retdb; axs0 = axs0 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 543 "00011000000000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 first +.src_ref 2 "signal_path.c" 394 18 first +.delay_slot + 544 "10010100100001110000" // a1[0x0] = axs0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 397 first +.delay_slot + 545 "10101000000000010000" // sp+= 0x8 /* control_operation: words=1 cycles_taken=1 */ +.label _Z16div64_pos_called7accum_tS_Ry +.function div64_pos_called _Z16div64_pos_called7accum_tS_Ry +.src_ref 0 "lpdsp32_div.c" 19 first +.src_ref 0 "lpdsp32_div.c" 27 16 first +.function_start + 546 "00110111000010000110" // rb0 = nrm(bx0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 24 first + 547 "00110111000001000100" // ra0 = nrm(ax1) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 23 + 548 "00101110000100110100" // ra0 = rb0 - ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 31 + 549 "00101010000001100100" // ra0 = ra0 + 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 28 14 first + 550 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 28 4 +.src_ref 0 "lpdsp32_div.c" 28 14 + 551 "10111100000100110101" // if (np) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ +.src_ref 0 "lpdsp32_div.c" 32 19 +.src_ref 0 "lpdsp32_div.c" 42 16 + 552 "00111000001000000110" // rb0 = 64 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 32 19 first + 553 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 32 9 +.src_ref 0 "lpdsp32_div.c" 32 19 + 554 "10111100000011010000" // if (z) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ +.src_ref 0 "lpdsp32_div.c" 39 1 first + 555 "01100010000000000000" // lp [ra0] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 556 "00000000000000010100" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 37 7 first +.delay_slot + 557 "00100000000100010000" // ax0 = asl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 40 9 +.delay_slot + 558 "10011000111010110101" // flags = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 40 9 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 559 "00101111100000001001" // ax1 = div(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 41 1 first +.src_ref 0 "lpdsp32_div.c" 41 5 first +.loop_nesting 0 + 560 "10111100000000010011" // if (ns) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ +.src_ref 0 "lpdsp32_div.c" 41 28 + 561 "00101000000000001001" // ax1 = ax1 + ax0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 43 20 first + 562 "00100000100100001000" // ax0 = asr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 42 16 first +.src_ref 0 "lpdsp32_div.c" 45 4 first + 563 "01010111000010011010" // ra0 = rb0 - ra0; retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 564 "00111010000101001000" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 11 +.src_ref 0 "lpdsp32_div.c" 43 5 first +.delay_slot + 565 "01010000000010000100" // ax1 = asl(ax1,ra0); bxl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 566 "10011001001000000011" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 5 first +.delay_slot + 567 "00100001100100001000" // ax0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 45 4 first + 568 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.src_ref 0 "lpdsp32_div.c" 33 12 first +.delay_slot + 569 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 570 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 45 4 first + 571 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 572 "00101010000000001011" // bx1 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 573 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ +.label _ZL18estimateDiv128To64yyy +.function estimateDiv128To64 _ZL18estimateDiv128To64yyy +.function_start + 574 "10101011111101110000" // sp+= -0x48 /* control_operation: words=1 cycles_taken=1 */ + 575 "01011000010000101100" // cmpu(bx1,ax1); sp[0x28] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 576 "00010000010101011010" // /* MW 1 */ + 577 "01000010010000011110" // if (np) jpsdb 0x83; sp[0x30] = bhl1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=131 delay_slots=1 */ + 578 "10010000011001011011" // /* MW 1 */ +.delay_slot + 579 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ + 580 "00111000000100000110" // rb0 = 32 /* control_operation: words=1 cycles_taken=1 */ + 581 "01010000110011001100" // ax0 = lsr(bx1,rb0); sp[0x18] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 582 "00010000001101011001" // /* MW 1 */ + 583 "01010000100011000001" // bx0 = lsl(ax0,rb0); sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 584 "00010000010001011000" // /* MW 1 */ + 585 "01011000010000101000" // cmpu(bx0,ax1); sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 586 "00010000000101011010" // /* MW 1 */ + 587 "01010101000000000001" // bx0 = ax0 + 0x0; ae0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 588 "00011000111010010100" // /* MW 1 */ + 589 "01101110000000000000" // axl1 = [0x398] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 590 "00011100110000010001" // /* MW 1 */ + 591 "01000010000001111110" // if (np) jpsdb 0xf; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=15 delay_slots=1 */ + 592 "10010000001001011000" // /* MW 1 */ +.delay_slot + 593 "01010101000000000100" // ax0 = ax1 + 0x0; sp[0x4] = ae0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 594 "00001000000011010100" // /* MW 1 */ + 595 "10111010000100000001" // im = 0x0 /* control_operation: words=1 cycles_taken=1 */ + 596 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 597 "10011000111010010101" // ae1 = zero /* control_operation: words=1 cycles_taken=1 */ + 598 "10010000001000010010" // bxl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 599 "01100110000000000000" // calldb 0x222 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=546 delay_slots=1 */ + 600 "00000010001000101000" // /* MW 1 */ +.delay_slot + 601 "10001000000010010110" // be0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 602 "01101110000000000000" // axl1 = [0x398] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 603 "00011100110000010001" // /* MW 1 */ + 604 "01011100000010000011" // rb0 = 32; bxl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 605 "00010000010000010010" // /* MW 1 */ + 606 "01010000100011000000" // ax0 = lsl(ax0,rb0); bxl1 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 607 "00010000011000010011" // /* MW 1 */ + 608 "10011000001100001011" // rb1 = al0 /* control_operation: words=1 cycles_taken=1 */ + 609 "01000110000010001000" // im = 0x1; ra0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 610 "10011000001110001000" // /* MW 1 */ + 611 "01000100000110010001" // bx0 = ra0(u)*rb1(u); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 612 "00011000001111001001" // /* MW 1 */ + 613 "01010000110011000001" // bx1 = lsr(ax0,rb0); sp[0x38] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 614 "10010000011101011000" // /* MW 1 */ + 615 "01000100001110011001" // bx1 = ra1(u)*rb1(u); rb1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 616 "00011000001111001011" // /* MW 1 */ + 617 "01000100000110011001" // bx1 = ra0(u)*rb1(u); axl0 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 618 "00011001001011000000" // /* MW 1 */ + 619 "01000100001110011001" // bx1 = ra1(u)*rb1(u); sp[0x40] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 620 "00010000100001011011" // /* MW 1 */ + 621 "01011011110001000001" // bx0 = sxtd(bx0); bxl1 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 622 "00011001001011000011" // /* MW 1 */ + 623 "01010100000001001101" // bx1 = bx1 + bx0; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 624 "10110000000000001101" // /* MW 1 */ + 625 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 626 "00110000100010011000" // cmpu(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 627 "10111100000000010010" // if (s) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 628 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 629 "00100001000110011010" // bx0 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 630 "00101000000010000000" // ax0 = ax0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 631 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 632 "00110000100010000000" // cmpu(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 633 "00100000100110101010" // bx0 = asr(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 634 "00100001000110010010" // bx0 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 635 "00100001100110011011" // bx1 = lsr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 636 "01010100000001101001" // bx1 = bx0 + bx1; bxl0 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 637 "10010000100000010010" // /* MW 1 */ + 638 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 639 "01010100000001101001" // bx1 = bx0 + bx1; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 640 "10111100000000111010" // /* MW 1 */ +.delay_slot + 641 "01011011110001100001" // bx1 = sxtd(bx1); bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 642 "10110000000000001010" // /* MW 1 */ + 643 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 644 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 645 "01010100000001001101" // bx0 = bx1 + bx0; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 646 "00010000001100010011" // /* MW 1 */ + 647 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 648 "01010111000001001101" // bx1 = bx1 - bx0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 649 "10010000010100010010" // /* MW 1 */ + 650 "00110000100000010000" // cmpu(bx0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 651 "01010111000000001000" // ax0 = bx0 - ax0; bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 652 "00110000000000001010" // /* MW 1 */ + 653 "01011011110001100001" // bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 654 "10111100000000101010" // /* MW 1 */ +.delay_slot + 655 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 656 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 657 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 658 "01010111000001001101" // bx1 = bx1 - bx0; bxl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 659 "10010000011000010010" // /* MW 1 */ + 660 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 661 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 662 "10111100001101010011" // if (ns) jps 0x35 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=53 */ + 663 "00100001000110010010" // bx0 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 664 "10010000001101011010" // sp[0x18] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 665 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 666 "10010000011100010010" // bxl0 = sp[0x38] /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 667 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 668 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 669 "10010000010101011010" // sp[0x28] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 670 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 671 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 672 "01010100000001001101" // bx1 = bx1 + bx0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 673 "10010000001100010010" // /* MW 1 */ + 674 "00101000000010000010" // bx0 = ax0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 675 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 676 "01011000010000001000" // cmpu(bx0,ax0); axl0 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 677 "00011001001010000000" // /* MW 1 */ + 678 "01011011110001100001" // bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 679 "10111100000000101010" // /* MW 1 */ +.delay_slot + 680 "00111000000000001010" // bx0 = 1 /* control_operation: words=1 cycles_taken=1 */ + 681 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 682 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 683 "01010100000001001101" // bx1 = bx1 + bx0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 684 "10010000010100010010" // /* MW 1 */ + 685 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 686 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 687 "10111111111010110010" // if (s) jps -0x15 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-21 */ +.loop_nesting 0 + 688 "01010000110011000000" // ax1 = lsr(ax0,rb0); sp[0x18] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 689 "10010000001101011010" // /* MW 1 */ + 690 "01010000100011001101" // bx1 = lsl(bx1,rb0); im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 691 "10111010000100000001" // /* MW 1 */ + 692 "01010100100000101100" // ax1 = bx1 | ax1; bxl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 693 "10010000000100010011" // /* MW 1 */ + 694 "01011000010000101100" // cmpu(bx1,ax1); bxl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 695 "00010000001000010010" // /* MW 1 */ + 696 "01000010000000110010" // if (np) jps 0x6; be0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 697 "10001000000010010110" // /* MW 1 */ +.no_stack_arguments + 698 "01100110000000000000" // calldb 0x222 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=546 delay_slots=1 */ + 699 "00000010001000101000" // /* MW 1 */ +.delay_slot + 700 "01000000000000000000" // nop; ae1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 701 "00011000111010010101" // /* MW 1 */ +.return_address + 702 "01000010000000100011" // jps 0x4; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 703 "10010000001100010011" // /* MW 1 */ + 704 "01000000000000000000" // nop; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 705 "00010000001100010011" // /* MW 1 */ + 706 "01101110000000000000" // axl0 = [0x3a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 707 "00011101000000010000" // /* MW 1 */ + 708 "01010100100000001100" // ax0 = bx1 | ax0; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 709 "00111100000000100111" // /* MW 1 */ + 710 "01011100011111111100" // ax0 = -1L; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 711 "00111010000100000001" // /* MW 1 */ + 712 "01000000000000000000" // nop; lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 713 "00001000000000110110" // /* MW 1 */ + 714 "01000110000010100000" // ret; sp+= 0x48 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 715 "00101000000010010000" // /* MW 1 */ + 716 "01000011111100010011" // jps -0x1e; bxl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-30 */ + 717 "10010000011100010010" // /* MW 1 */ +.label _ZL19propagateFloat64NaNyy +.function propagateFloat64NaN _ZL19propagateFloat64NaNyy +.function_start + 718 "01011100000011001110" // ra0 = 51; sp+= -0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 719 "00101011111111110000" // /* MW 1 */ + 720 "01010000110010000100" // ax0 = lsr(ax1,ra0); sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 721 "00010000000001011010" // /* MW 1 */ + 722 "01101010000000000000" // bxl0 = 0xfff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 723 "00111111111111000010" // /* MW 1 */ + 724 "00101000100010000011" // bx1 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 725 "01101010000000000000" // axl0 = 0xffe L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 726 "00111111111110000000" // /* MW 1 */ + 727 "00110000100000011000" // cmpu(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 728 "10111100000010001001" // if (nz) jpsdb 0x8 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 delay_slots=1 */ +.delay_slot + 729 "01101110000000000000" // bxl1 = [0x3a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 730 "00011101010000010011" // /* MW 1 */ + 731 "00101000100011001011" // bx1 = ax1 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 732 "01011001010000001100" // cmpu(bx1,0x0); rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 733 "00110000000000001110" // /* MW 1 */ + 734 "10111100000000110001" // if (nz) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 735 "01000010000000001011" // jps 0x1; rb0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 736 "10011000111010001010" // /* MW 1 */ + 737 "10011000111010001010" // rb0 = zero /* control_operation: words=1 cycles_taken=1 */ + 738 "01010010000010000100" // ax1 = bs(ax1,ra0); bxl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 739 "10010000000000010011" // /* MW 1 */ + 740 "01010000110010001100" // ax1 = lsr(bx1,ra0); sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 741 "10010000000001011001" // /* MW 1 */ + 742 "00101000100010001001" // ax1 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 743 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 744 "01010001100000101100" // ax1 = lsl(bx1,0x1); if (nz) jpsdb 0x6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 745 "10111100000001101001" // /* MW 1 */ +.delay_slot + 746 "00100100000100011000" // ax0 = bs(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 747 "01101110000000000000" // bxl0 = [0x3a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 748 "00011101010000010010" // /* MW 1 */ + 749 "00101000100010011010" // bx0 = bx1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 750 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 751 "10111100000010100001" // if (nz) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 752 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 753 "10111100000001101001" // if (nz) jpsdb 0x6 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=6 delay_slots=1 */ +.delay_slot + 754 "01101110000000000000" // bxl0 = [0x3b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 755 "00011101100000010010" // /* MW 1 */ + 756 "00110000100010001000" // cmpu(ax1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 757 "10111100000001000100" // if (p) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 758 "01000010000000010011" // jps 0x2; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 759 "10010000000000010000" // /* MW 1 */ + 760 "01000000000000000000" // nop; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 761 "00010000000000010000" // /* MW 1 */ + 762 "01000110000010100000" // ret; sp+= 0x8 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 763 "00101000000000010000" // /* MW 1 */ +.label _ZL19roundAndPackFloat64iiy +.function roundAndPackFloat64 _ZL19roundAndPackFloat64iiy +.function_start + 764 "01101000000000000000" // bxs0 = 0x7fd /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 765 "00011111111101000010" // /* MW 1 */ + 766 "01011101010010100011" // rb1 = mask16(ra1); axl0 = 0x3ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 767 "10110101111111111000" // /* MW 1 */ + 768 "01010100010000000101" // bx1 = ax1 & ax0; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 769 "10110000000100000110" // /* MW 1 */ + 770 "01011000000001011100" // cmp(rb1,bx0); rb1 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 771 "00110000000111111111" // /* MW 1 */ + 772 "01010000010011010001" // bx1 = asr(ra0,rb0); ra0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 773 "10011000001111001000" // /* MW 1 */ + 774 "01010000100011101101" // bx1 = lsl(bx1,rb1); if (s) jps 0x25 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=37 */ + 775 "10111100001001010010" // /* MW 1 */ + 776 "00110000000010101000" // cmp(ra1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 777 "10111100001110100100" // if (p) jps 0x3a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=58 */ + 778 "00110000000010101000" // cmp(ra1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 779 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 780 "10110101000000000010" // bxl0 = 0x200L /* control_operation: words=1 cycles_taken=1 */ + 781 "00101000000010001010" // bx0 = ax1 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 782 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 783 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 784 "10111100001100110010" // if (s) jps 0x33 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=51 */ + 785 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 786 "10111100000110100011" // if (ns) jps 0x1a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=26 */ + 787 "00110110000101000101" // ra1 = -ra1 /* control_operation: words=1 cycles_taken=1 */ + 788 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 789 "10111100000101000000" // if (z) jps 0x14 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=20 */ + 790 "00111000001000000100" // ra0 = 64 /* control_operation: words=1 cycles_taken=1 */ + 791 "00110000000100101000" // cmp(ra1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 792 "10111100000001110010" // if (s) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 793 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 794 "01011100000000000110" // ra1 = 1; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 795 "10111100000000100001" // /* MW 1 */ + 796 "01000000000000000000" // nop; ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 797 "00011000111010001001" // /* MW 1 */ + 798 "01010000010011010100" // ax1 = asr(ra1,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 799 "10111100000010100111" // /* MW 1 */ + 800 "00110110000101000010" // bx0 = -ra1 /* control_operation: words=1 cycles_taken=1 */ + 801 "01010100010011101011" // rb1 = bx0 & rb1; ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 802 "10110000000000001100" // /* MW 1 */ + 803 "00100001000111001010" // bx0 = lsl(ax1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 804 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 805 "01010000110010100100" // ax1 = lsr(ax1,ra1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 806 "10111100000000010001" // /* MW 1 */ + 807 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 808 "00100000100110100010" // bx0 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 809 "00101001000010001001" // ax1 = ax1 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 810 "00101000100000001000" // ax0 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 811 "01011100000000000010" // ra1 = 0; ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 812 "10011000001100001000" // /* MW 1 */ + 813 "00111000000101001111" // rb1 = 41 /* control_operation: words=1 cycles_taken=1 */ + 814 "00100101000111100100" // ra0 = bi(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 815 "01011001000000010000" // cmp(ra0,0x0); axl0 = 0x200L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 816 "00110101000000000000" // /* MW 1 */ + 817 "01010100000000000100" // ax1 = ax1 + ax0; axs0 = -0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 818 "10110011111111110000" // /* MW 1 */ + 819 "01011011110000100000" // ax1 = sxtd(ax1); if (z) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 820 "10111100000000101000" // /* MW 1 */ +.delay_slot + 821 "00100011101010001001" // ax1 = lsr(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 822 "00111000011111111000" // ax0 = -1 /* control_operation: words=1 cycles_taken=1 */ + 823 "00100000100110000000" // ax0 = asr(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 824 "00101000100000001001" // ax1 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 825 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 826 "10111100000000010001" // if (nz) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 827 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 828 "01010000010011010100" // ax0 = asr(ra1,rb0); ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 829 "00110000000110100101" // /* MW 1 */ + 830 "00100001000101000000" // ax0 = lsl(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 831 "00101000000000011000" // ax0 = bx1 + ax0 /* control_operation: words=1 cycles_taken=1 */ + 832 "01011011110000000000" // ax0 = sxtd(ax0); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 833 "00111010000101001000" // /* MW 1 */ +.delay_slot + 834 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 835 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 836 "01101110000000000000" // axl1 = [0x3b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 837 "00011101110000010001" // /* MW 1 */ + 838 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 839 "00101000000001011001" // ax1 = bx1 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 840 "01011011110000100000" // ax0 = sxtd(ax1); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 841 "00111000000000000000" // /* MW 1 */ +.label _ZL28normalizeRoundAndPackFloat64iiy +.function normalizeRoundAndPackFloat64 _ZL28normalizeRoundAndPackFloat64iiy +.function_start + 842 "00110111000001000110" // rb0 = nrm(ax1) /* control_operation: words=1 cycles_taken=1 */ + 843 "00101110000110101101" // ra1 = ra1 - rb0 /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 844 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 845 "00000010111111001111" // /* MW 1 */ +.delay_slot + 846 "01010000100011000100" // ax1 = lsl(ax1,rb0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 847 "10111000000000000000" // /* MW 1 */ +.label _Z16int32_to_float64i +.function int32_to_float64 _Z16int32_to_float64i +.function_start + 848 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 849 "01000010000011001000" // if (z) jps 0x19; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=25 */ + 850 "00011000111010000000" // /* MW 1 */ + 851 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 852 "01011100000000000101" // bx0 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 853 "00111100000000010010" // /* MW 1 */ + 854 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 855 "00110110100100000100" // ra0 = |ra0| /* control_operation: words=1 cycles_taken=1 */ + 856 "01011011100010000011" // rb1 = nrm(ra0); ra1 = 0x16 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 857 "10110000000010110101" // /* MW 1 */ + 858 "01010100000010111100" // ax0 = rb1 + ra1; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 859 "00110000000100000110" // /* MW 1 */ + 860 "01101000000000000000" // ra1 = 0x432 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 861 "00010000110010001001" // /* MW 1 */ + 862 "01010111000000010100" // ax1 = ra1 - ax0; rb1 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 863 "10110000000111111111" // /* MW 1 */ + 864 "01010000010011000100" // ax1 = asr(ax1,rb0); ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 865 "10110000000110100101" // /* MW 1 */ + 866 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 867 "00100001000111010010" // bx0 = lsl(bx0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 868 "00100001000101001001" // ax1 = lsl(ax1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 869 "00100001100110100011" // bx1 = lsr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 870 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 871 "00100001000000011000" // ax0 = lsl(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 872 "01011011110001000001" // bx0 = sxtd(bx0); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 873 "00111010000101001000" // /* MW 1 */ +.delay_slot + 874 "00101000000000010000" // ax0 = bx0 + ax0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 875 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 876 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 877 "00111010000101000000" // /* MW 1 */ +.label _Z30float64_to_int32_round_to_zeroy +.function float64_to_int32_round_to_zero _Z30float64_to_int32_round_to_zeroy +.function_start + 878 "00111000000110100110" // rb0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 879 "01010000110011000001" // bx0 = lsr(ax0,rb0); ra0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 880 "00110000000111111100" // /* MW 1 */ + 881 "01101010000000000000" // axl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 882 "00011111111111000001" // /* MW 1 */ + 883 "00101000100001010010" // bx0 = bx0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 884 "01010000110010000000" // ax1 = lsr(ax0,ra0); ra0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 885 "10011000001110001000" // /* MW 1 */ + 886 "01101000000000000000" // ra1 = 0x41e /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 887 "00010000011110001001" // /* MW 1 */ + 888 "01011000000010110000" // cmp(ra0,ra1); ra1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 889 "00011000001101001001" // /* MW 1 */ + 890 "01101110000000000000" // bxl0 = [0x3c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 891 "00011110000000010010" // /* MW 1 */ + 892 "01010100010001000000" // ax0 = ax0 & bx0; if (p) jps 0x1c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=28 */ + 893 "00111100000111000100" // /* MW 1 */ + 894 "10110001111111111111" // rb1 = 0x3ff /* control_operation: words=1 cycles_taken=1 */ + 895 "00110000000111100000" // cmp(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 896 "10111100000101110010" // if (s) jps 0x17 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=23 */ + 897 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 898 "01101000000000000000" // rb1 = 0x433 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 899 "00010000110011001011" // /* MW 1 */ + 900 "00101110000100111100" // ra0 = rb1 - ra0 /* control_operation: words=1 cycles_taken=1 */ + 901 "00100100000110000000" // ax0 = bs(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 902 "01010000110010000000" // ax0 = lsr(ax0,ra0); if (z) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 903 "00111100000000101000" // /* MW 1 */ +.delay_slot + 904 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 905 "00110110000100000100" // ra0 = -ra0 /* control_operation: words=1 cycles_taken=1 */ + 906 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 907 "01011100000000000111" // rb0 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 908 "00111100000000010010" // /* MW 1 */ + 909 "10011000111010001010" // rb0 = zero /* control_operation: words=1 cycles_taken=1 */ + 910 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 911 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 912 "10111100000001100000" // if (z) jps 0x6 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=6 */ + 913 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 914 "10111100000001001001" // if (nz) jpsdb 0x4 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 delay_slots=1 */ +.delay_slot + 915 "01101100000000000000" // ra0 = [0x3c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 916 "00011110010000001000" // /* MW 1 */ + 917 "01101100000000000000" // ra0 = [0x3cc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 918 "00011110011000001000" // /* MW 1 */ + 919 "10111010000101000000" // ret /* control_operation: words=1 rts unconditional cycles_taken=3 */ + 920 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 921 "00011000111010001000" // /* MW 1 */ + 922 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 923 "00011111111111001010" // /* MW 1 */ + 924 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 925 "10111111111100110001" // if (nz) jps -0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-13 */ + 926 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 927 "10111111111100010000" // if (z) jps -0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-15 */ + 928 "01000011111101111011" // jps -0x11; ra1 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-17 */ + 929 "10011000111010001001" // /* MW 1 */ +.label _ZL14addFloat64Sigsyyi +.function addFloat64Sigs _ZL14addFloat64Sigsyyi +.function_start + 930 "00111000000110100101" // ra1 = 52 /* control_operation: words=1 cycles_taken=1 */ + 931 "01101010000000000000" // axl0 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 932 "00011111111111000000" // /* MW 1 */ + 933 "01010000110010100101" // bx1 = lsr(ax1,ra1); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 934 "10101011111111010000" // /* MW 1 */ + 935 "00101000100000011011" // bx1 = bx1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 936 "01010000110010101001" // bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 937 "10011000001111001001" // /* MW 1 */ + 938 "00101000100000011011" // bx1 = bx1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 939 "01101110000000000000" // axl0 = [0x3d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 940 "00011110100000010000" // /* MW 1 */ + 941 "01010100010000000101" // bx1 = ax1 & ax0; rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 942 "10011000001111001010" // /* MW 1 */ + 943 "00101110000110101111" // rb1 = ra1 - rb0 /* control_operation: words=1 cycles_taken=1 */ + 944 "00100011001001011011" // bx1 = lsl(bx1,0x9) /* control_operation: words=1 cycles_taken=1 */ + 945 "01011001000000011100" // cmp(rb1,0x0); sp[0x10] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 946 "00010000001001011011" // /* MW 1 */ + 947 "00101000100000010000" // ax0 = bx0 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 948 "01010001100100100000" // ax0 = lsl(ax0,0x9); if (p) jpsdb 0x36 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=54 delay_slots=1 */ + 949 "00111100001101101100" // /* MW 1 */ +.delay_slot + 950 "01101000000000000000" // bxs1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 951 "00011111111111000011" // /* MW 1 */ + 952 "01011001000000011100" // cmp(rb1,0x0); sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 953 "00010000000101011000" // /* MW 1 */ + 954 "01011100000010000000" // ax0 = 32; sp[0x0] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 955 "00001000000001001000" // /* MW 1 */ + 956 "01010000010000010000" // ax0 = asr(ra0,ax0); ra0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 957 "00110000000111111100" // /* MW 1 */ + 958 "01010000100010000000" // ax0 = lsl(ax0,ra0); if (ns) jps 0x6a /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=106 */ + 959 "00111100011010100011" // /* MW 1 */ + 960 "00110000000011110000" // cmp(rb0,bx1) /* control_operation: words=1 cycles_taken=1 */ + 961 "10111100010111110000" // if (z) jps 0x5f /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=95 */ + 962 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 963 "10111100000001010000" // if (z) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 964 "01011100000011110110" // ra1 = 61; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 965 "10010000001000010001" // /* MW 1 */ + 966 "01010010000010100100" // ax1 = bs(ax1,ra1); jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 967 "10111100000000101111" // /* MW 1 */ +.delay_slot + 968 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 969 "00101010000001111111" // rb1 = rb1 + 0x1 /* control_operation: words=1 cycles_taken=1 */ + 970 "00110110000111000111" // rb1 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 971 "01011001000000011100" // cmp(rb1,0x0); axs1 = 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 972 "00110000001000000001" // /* MW 1 */ + 973 "01000010000011000000" // if (z) jps 0x18; ra1 = rb0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=24 */ + 974 "00011000001010001001" // /* MW 1 */ + 975 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 976 "01000010000001000001" // if (s) jps 0x8; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 977 "00010000001000010001" // /* MW 1 */ + 978 "01011001010000000100" // cmpu(ax1,0x0); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 979 "00110000000000001100" // /* MW 1 */ + 980 "01011100000010000011" // rb0 = 32; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 981 "00111100000000100001" // /* MW 1 */ + 982 "01000000000000000000" // nop; ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 983 "00011000111010001000" // /* MW 1 */ + 984 "01010000010011010000" // ax1 = asr(ra0,rb0); jps 0xe /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 985 "10111100000011100111" // /* MW 1 */ + 986 "00110110000111000010" // bx0 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 987 "01010100010010001001" // bx0 = bx0 & ra0; rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 988 "00110000000000001110" // /* MW 1 */ + 989 "01010000100001000101" // bx0 = lsl(ax1,bx0); ra0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 990 "00110000000100000100" // /* MW 1 */ + 991 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 992 "01010000110011100100" // ax1 = lsr(ax1,rb1); if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 993 "10111100000000100001" // /* MW 1 */ + 994 "01000000000000000000" // nop; rb0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 995 "00011000111010001010" // /* MW 1 */ + 996 "01010000010010011001" // bx0 = asr(rb0,ra0); jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 997 "00111100000000101111" // /* MW 1 */ +.delay_slot + 998 "00101001000010001001" // ax1 = ax1 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 999 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1000 "01000010000101010111" // jpsdb 0x2a; ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=42 delay_slots=1 */ + 1001 "10001000000000001000" // /* MW 1 */ +.delay_slot + 1002 "01011100000011110111" // rb0 = 61; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1003 "00010000000100010000" // /* MW 1 */ + 1004 "00110000000011101000" // cmp(ra1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1005 "10111100010010100000" // if (z) jps 0x4a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=74 */ + 1006 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1007 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 1008 "01011100000011110111" // rb0 = 61; jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1009 "00111100000000101111" // /* MW 1 */ +.delay_slot + 1010 "00100100000110000000" // ax0 = bs(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1011 "00101010011111111111" // rb1 = rb1 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 1012 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1013 "01011100000100000011" // rb0 = 64; if (z) jps 0x1b /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=27 */ + 1014 "00111100000110110000" // /* MW 1 */ + 1015 "00110000000110111000" // cmp(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1016 "01011100000011111111" // rb0 = 63; if (s) jps 0x9 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1017 "00111100000010010010" // /* MW 1 */ + 1018 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1019 "01011100000011110111" // rb0 = 61; if (nz) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1020 "00111100000000111001" // /* MW 1 */ +.delay_slot + 1021 "01011100000000000111" // rb1 = 1; axs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1022 "10110000000100000001" // /* MW 1 */ + 1023 "10011000111010001011" // rb1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1024 "10111100000100111111" // jpsdb 0x13 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 delay_slots=1 */ +.delay_slot + 1025 "01010000010000111100" // ax0 = asr(rb1,ax1); axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1026 "00010000001000010001" // /* MW 1 */ + 1027 "00110110000111000010" // bx0 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 1028 "01010100010011001001" // bx0 = bx0 & rb0; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1029 "00110000000000001001" // /* MW 1 */ + 1030 "00100001000010000010" // bx0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1031 "01011001010000001000" // cmpu(bx0,0x0); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1032 "00110000000100000110" // /* MW 1 */ + 1033 "01010000110011100001" // bx0 = lsr(ax0,rb1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1034 "00111100000000010001" // /* MW 1 */ + 1035 "10011000111010000001" // axs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1036 "01010000010011000100" // ax0 = asr(ax1,rb0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1037 "00111000000000000000" // /* MW 1 */ + 1038 "01011100000011110111" // rb0 = 61; jpsdb 0x4 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 1039 "00111100000001001111" // /* MW 1 */ +.delay_slot + 1040 "01010100100000001000" // ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1041 "00010000001000010001" // /* MW 1 */ + 1042 "01011100000011110111" // rb0 = 61; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1043 "00010000001000010001" // /* MW 1 */ + 1044 "00100100000110001001" // ax1 = bs(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1045 "00101000000000001001" // ax1 = ax1 + ax0 /* control_operation: words=1 cycles_taken=1 */ + 1046 "00110111100001000010" // bx0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1047 "00100011000001010001" // ax1 = lsl(bx0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1048 "01011001000000000100" // cmp(ax1,0x0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1049 "00111000000000000000" // /* MW 1 */ + 1050 "01010101001111110110" // ra1 = ra1 + -0x1; if (ns) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1051 "10111100000000100011" // /* MW 1 */ + 1052 "01010101000000110110" // ra1 = ra1 + 0x1; axl1 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1053 "10011001001010000001" // /* MW 1 */ +.tail_call + 1054 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1055 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1056 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1057 "10010000000100010011" // bxl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1058 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1059 "10111100000111100001" // if (nz) jps 0x1e /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=30 */ + 1060 "01101110000000000000" // axl1 = [0x3d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1061 "00011110110000010001" // /* MW 1 */ + 1062 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1063 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1064 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1065 "00101000000000110000" // /* MW 1 */ + 1066 "00110000000011101000" // cmp(ra1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1067 "10111100000110010000" // if (z) jps 0x19 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=25 */ + 1068 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1069 "01000010000100001000" // if (z) jps 0x21; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=33 */ + 1070 "00010000001000010001" // /* MW 1 */ + 1071 "01101110000000000000" // bxl0 = [0x3e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1072 "00011111000000010010" // /* MW 1 */ + 1073 "01010100000001000101" // bx0 = ax1 + bx0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1074 "00010000000100010001" // /* MW 1 */ + 1075 "01011011110001000001" // bx0 = sxtd(bx0); ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1076 "00001000000000001000" // /* MW 1 */ + 1077 "01010100000000101000" // ax1 = bx0 + ax1; jpsdb -0x19 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-25 delay_slots=1 */ + 1078 "10111111111001111111" // /* MW 1 */ +.delay_slot + 1079 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1080 "10010000001000010000" // axl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1081 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1082 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1083 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1084 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1085 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1086 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1087 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1088 "01010101000000000100" // ax0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1089 "00111000000000000000" // /* MW 1 */ +.tail_call + 1090 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1091 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1092 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1093 "10010000000100010000" // axl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1094 "10010000001000010011" // bxl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1095 "00101001000000011000" // ax0 = bx1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1096 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1097 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1098 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1099 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1100 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1101 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1102 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1103 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 1104 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1105 "01010100000001000100" // ax1 = ax1 + bx0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1106 "10101000000000110000" // /* MW 1 */ + 1107 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1108 "01010001110100100100" // ax1 = lsr(ax1,0x9); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 1109 "10111010000101001000" // /* MW 1 */ +.delay_slot + 1110 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1111 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ +.label _ZL14subFloat64Sigsyyi +.function subFloat64Sigs _ZL14subFloat64Sigsyyi +.function_start + 1112 "00111000000110100110" // rb0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1113 "01010000110011000100" // ax0 = lsr(ax1,rb0); sp+= -0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1114 "00101011111111000000" // /* MW 1 */ + 1115 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1116 "00011111111111000011" // /* MW 1 */ + 1117 "01010100010001100000" // ax0 = ax0 & bx1; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1118 "00010000001001011001" // /* MW 1 */ + 1119 "01011100000011111011" // rb1 = 62; ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1120 "10011000001100001001" // /* MW 1 */ + 1121 "01101110000000000000" // axl0 = [0x3e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1122 "00011111010000010000" // /* MW 1 */ + 1123 "00101000100000001001" // ax1 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 1124 "00100011001010001001" // ax1 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1125 "01010010000011100100" // ax1 = bs(ax1,rb1); sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1126 "10010000000101011001" // /* MW 1 */ + 1127 "01010000110011001000" // ax1 = lsr(bx0,rb0); sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1128 "10010000000001011001" // /* MW 1 */ + 1129 "01010100010001100100" // ax1 = ax1 & bx1; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1130 "10110000000100000110" // /* MW 1 */ + 1131 "01010100010000001000" // ax1 = bx0 & ax0; bxs1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1132 "10011000001101000011" // /* MW 1 */ + 1133 "00100011001010001000" // ax0 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1134 "00101110000011101001" // ax1 = ra1 - bx1 /* control_operation: words=1 cycles_taken=1 */ + 1135 "01010010000011100000" // ax1 = bs(ax0,rb1); rb1 = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1136 "10011000010001001011" // /* MW 1 */ + 1137 "01011001000000011100" // cmp(rb1,0x0); sp[0x18] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1138 "00010000001101011001" // /* MW 1 */ + 1139 "01010101000000011100" // ax1 = rb1 + 0x0; if (p) jps 0x29 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=41 */ + 1140 "10111100001010010100" // /* MW 1 */ + 1141 "00110010000000001000" // cmp(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1142 "01010010100011010011" // rb1 = bi(ra0,rb0); if (ns) jps 0x4e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=78 */ + 1143 "10111100010011100011" // /* MW 1 */ + 1144 "01101000000000000000" // ra0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1145 "00011111111111001000" // /* MW 1 */ + 1146 "00110000000100011000" // cmp(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1147 "10111100011001000000" // if (z) jps 0x64 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=100 */ + 1148 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1149 "01000010000000010000" // if (nz) jps 0x2; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1150 "10010000000000010000" // /* MW 1 */ + 1151 "01010101000000100100" // ax1 = ax1 + 0x1; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1152 "10010000000100010000" // /* MW 1 */ + 1153 "00110110000001000010" // bx0 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1154 "01011001000000001000" // cmp(bx0,0x0); ra0 = 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1155 "00110000001000000100" // /* MW 1 */ + 1156 "10111100000100110000" // if (z) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ + 1157 "00110000000100010000" // cmp(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1158 "01011100000011111110" // ra0 = 63; if (s) jps 0x6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 1159 "00111100000001100010" // /* MW 1 */ + 1160 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1161 "01011100000000000110" // ra0 = 1; if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1162 "00111100000000010001" // /* MW 1 */ + 1163 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1164 "01010000010011010000" // ax0 = asr(ra0,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 1165 "00111100000010100111" // /* MW 1 */ + 1166 "00110110000010000001" // ax1 = -bx0 /* control_operation: words=1 cycles_taken=1 */ + 1167 "01010100010010000110" // ra0 = ax1 & ra0; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1168 "00110000000000001101" // /* MW 1 */ + 1169 "00100001000100000001" // ax1 = lsl(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1170 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1171 "01010000110001000001" // bx0 = lsr(ax0,bx0); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1172 "00111100000000010001" // /* MW 1 */ + 1173 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1174 "00100000100110101001" // ax1 = asr(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1175 "00101001000001010000" // ax0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1176 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 1177 "10011000001011001000" // ra0 = rb1 /* control_operation: words=1 cycles_taken=1 */ + 1178 "01010111000000000101" // bx0 = ax1 - ax0; jpsdb 0x26 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=38 delay_slots=1 */ + 1179 "00111100001001101111" // /* MW 1 */ +.delay_slot + 1180 "01011011110001000000" // ax1 = sxtd(bx0); ra1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1181 "10011000010011001001" // /* MW 1 */ + 1182 "01101000000000000000" // rb1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1183 "00011111111111001011" // /* MW 1 */ + 1184 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1185 "10111100010010010000" // if (z) jps 0x49 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=73 */ + 1186 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1187 "01000010000000010000" // if (nz) jps 0x2; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1188 "10010000001100010010" // /* MW 1 */ + 1189 "01010101001111100100" // ax1 = ax1 + -0x1; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1190 "10011001001000000010" // /* MW 1 */ + 1191 "00110010000000001000" // cmp(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1192 "01011100000100000011" // rb1 = 64; if (z) jps 0x14 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 1193 "10111100000101000000" // /* MW 1 */ + 1194 "00110000000111001000" // cmp(ax1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1195 "01011100000011111100" // ax0 = 63; if (s) jps 0x7 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 1196 "00111100000001110010" // /* MW 1 */ + 1197 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1198 "01011100000000000111" // rb1 = 1; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1199 "10111100000000100001" // /* MW 1 */ + 1200 "01000000000000000000" // nop; rb1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1201 "00011000111010001011" // /* MW 1 */ + 1202 "01010000010011011101" // bx0 = asr(rb1,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 1203 "00111100000010100111" // /* MW 1 */ + 1204 "00110110000001000011" // bx1 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1205 "01010100010000001100" // ax0 = bx1 & ax0; rb1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1206 "00110000000000001111" // /* MW 1 */ + 1207 "00100001000000010000" // ax0 = lsl(bx0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1208 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1209 "01010000110000101001" // bx0 = lsr(bx0,ax1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1210 "00111100000000010001" // /* MW 1 */ + 1211 "10011000111010001011" // rb1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1212 "00100000100110111001" // ax1 = asr(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1213 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1214 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1215 "00101110000010001010" // bx0 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1216 "01011011110001000000" // ax1 = sxtd(bx0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1217 "10111000000000000000" // /* MW 1 */ +.tail_call + 1218 "01100100000000000000" // jpdb 0x34a /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=842 delay_slots=1 */ + 1219 "00000011010010101111" // /* MW 1 */ +.delay_slot + 1220 "01010101001111110110" // ra1 = ra1 + -0x1; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1221 "10101000000001000000" // /* MW 1 */ +.return_address + 1222 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1223 "00011111111111001010" // /* MW 1 */ + 1224 "01011000000011010100" // cmp(ra1,rb0); axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1225 "00010000000100010001" // /* MW 1 */ + 1226 "10111100000010100000" // if (z) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1227 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1228 "10111100000000100001" // if (nz) jps 0x2 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 */ + 1229 "01011100000000000110" // ra1 = 1; bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1230 "10110000000000001011" // /* MW 1 */ + 1231 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1232 "10111100001001010010" // if (s) jps 0x25 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=37 */ + 1233 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1234 "10111100001001010010" // if (s) jps 0x25 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=37 */ + 1235 "01000010000001001011" // jps 0x9; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1236 "10011000111010000000" // /* MW 1 */ + 1237 "00101001000000001000" // ax0 = ax1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1238 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1239 "01000010000000011000" // if (z) jps 0x3; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 1240 "00010000001000010001" // /* MW 1 */ +.tail_call + 1241 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1242 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1243 "10101000000001000000" // sp+= 0x20 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1244 "01101110000000000000" // axl0 = [0x3f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1245 "00011111100000010000" // /* MW 1 */ + 1246 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1247 "00101000000001000000" // /* MW 1 */ + 1248 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1249 "01011100000011111110" // ra0 = 63; if (nz) jps 0x18 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=24 */ + 1250 "00111100000110000001" // /* MW 1 */ + 1251 "00100000100110111010" // bx0 = asr(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1252 "00100001000100010010" // bx0 = lsl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1253 "01101110000000000000" // axl1 = [0x3f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1254 "00011111110000010001" // /* MW 1 */ + 1255 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1256 "00110111100010000000" // ax0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1257 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1258 "00101000000001000000" // /* MW 1 */ + 1259 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1260 "01011001010000000100" // cmpu(ax1,0x0); axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1261 "00010000001000010000" // /* MW 1 */ + 1262 "01000000000000000000" // nop; if (z) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1263 "00111100000001000000" // /* MW 1 */ +.tail_call + 1264 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1265 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1266 "01010101000000000000" // ax1 = ax0 + 0x0; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1267 "10101000000001000000" // /* MW 1 */ +.return_address + 1268 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1269 "00101000000001000000" // /* MW 1 */ + 1270 "01010101000000000001" // bx0 = ax0 + 0x0; jps -0x39 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-57 */ + 1271 "00111111110001110111" // /* MW 1 */ + 1272 "10111111101000001111" // jpsdb -0x60 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-96 delay_slots=1 */ +.delay_slot + 1273 "01010101000000000100" // ax0 = ax1 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1274 "00011001001000000001" // /* MW 1 */ + 1275 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1276 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1277 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1278 "01000000000000000000" // nop; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1279 "00101000000001000000" // /* MW 1 */ +.label _Z11float64_addyy +.function float64_add _Z11float64_addyy +.function_start + 1280 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1281 "00100001100100010011" // bx1 = lsr(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1282 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1283 "00011000001111001010" // /* MW 1 */ + 1284 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 1285 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1286 "01000000000000000000" // nop; if (z) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1287 "00111100000000100000" // /* MW 1 */ +.tail_call + 1288 "01100100000000000000" // jp 0x458 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=1112 */ + 1289 "00000100010110000111" // /* MW 1 */ +.tail_call +.return_address + 1290 "01100100000000000000" // jp 0x3a2 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=930 */ + 1291 "00000011101000100111" // /* MW 1 */ +.label _Z11float64_subyy +.function float64_sub _Z11float64_subyy +.function_start + 1292 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1293 "00100001100100010011" // bx1 = lsr(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1294 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1295 "00011000001111001010" // /* MW 1 */ + 1296 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 1297 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1298 "01000000000000000000" // nop; if (z) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1299 "00111100000000100000" // /* MW 1 */ +.tail_call + 1300 "01100100000000000000" // jp 0x3a2 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=930 */ + 1301 "00000011101000100111" // /* MW 1 */ +.tail_call +.return_address + 1302 "01100100000000000000" // jp 0x458 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=1112 */ + 1303 "00000100010110000111" // /* MW 1 */ +.label _Z11float64_mulyy +.function float64_mul _Z11float64_mulyy +.function_start + 1304 "01011100000011111110" // ra0 = 63; ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1305 "00110000000110100101" // /* MW 1 */ + 1306 "01010000110010001000" // ax0 = lsr(bx0,ra0); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1307 "00101011111111010000" // /* MW 1 */ + 1308 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1309 "00011000001100001010" // /* MW 1 */ + 1310 "01010000110010100101" // bx1 = lsr(ax1,ra1); rb1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1311 "10011000001100001011" // /* MW 1 */ + 1312 "01101010000000000000" // axl0 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1313 "00011111111111000000" // /* MW 1 */ + 1314 "01010100110011011111" // rb1 = rb1 ^ rb0; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1315 "10010000000101011010" // /* MW 1 */ + 1316 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1317 "00011111111111001010" // /* MW 1 */ + 1318 "01010100010000001101" // bx1 = bx1 & ax0; sp[0x0] = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1319 "10001000000001001011" // /* MW 1 */ + 1320 "01010000110010101001" // bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1321 "10011000001111001001" // /* MW 1 */ + 1322 "01010100010000001100" // ax0 = bx1 & ax0; bxs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1323 "00110000000100000011" // /* MW 1 */ + 1324 "01011000000011010100" // cmp(ra1,rb0); ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1325 "00011000001100001000" // /* MW 1 */ + 1326 "01010000010001111101" // bx1 = asr(rb1,bx1); axs0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1327 "10110000000111111000" // /* MW 1 */ + 1328 "00100001000000011000" // ax0 = lsl(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1329 "01101110000000000000" // bxl1 = [0x410] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1330 "00100000100000010011" // /* MW 1 */ + 1331 "01010100000001100000" // ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1332 "00010000001001011000" // /* MW 1 */ + 1333 "00110111100000000011" // bx1 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1334 "01101110000000000000" // axl0 = [0x400] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1335 "00100000000000010000" // /* MW 1 */ + 1336 "01010100010000001001" // bx0 = bx0 & ax0; if (z) jpsdb 0x66 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=102 delay_slots=1 */ + 1337 "00111100011001101000" // /* MW 1 */ +.delay_slot + 1338 "01010100010000000100" // ax0 = ax1 & ax0; rb1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1339 "00110000000100000111" // /* MW 1 */ + 1340 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1341 "10111100010101110000" // if (z) jps 0x57 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=87 */ + 1342 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1343 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1344 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1345 "10111100011100000000" // if (z) jps 0x70 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=112 */ + 1346 "00110111000000000101" // ra1 = nrm(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1347 "01010101001011010110" // ra1 = ra1 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1348 "10110000000000001001" // /* MW 1 */ + 1349 "00100001000101000000" // ax0 = lsl(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 1350 "00101110000101001101" // ra1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 1351 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1352 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1353 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1354 "10111100011010110000" // if (z) jps 0x6b /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=107 */ + 1355 "00110111000010000100" // ra0 = nrm(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1356 "01010101001011010010" // ra0 = ra0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1357 "00110000000000001001" // /* MW 1 */ + 1358 "00100001000100010010" // bx0 = lsl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1359 "00101110000100001100" // ra0 = ax1 - ra0 /* control_operation: words=1 cycles_taken=1 */ + 1360 "00111000000110100001" // ax1 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1361 "01010010000000101001" // bx1 = bs(bx0,ax1); im = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1362 "10111010000100010001" // /* MW 1 */ + 1363 "00100011001011011011" // bx1 = lsl(bx1,0xb) /* control_operation: words=1 cycles_taken=1 */ + 1364 "01010010000000100000" // ax1 = bs(ax0,ax1); axs0 = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1365 "10011000001000000000" // /* MW 1 */ + 1366 "01010000110011101101" // bx1 = lsr(bx1,rb1); ra0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1367 "10011000001111001000" // /* MW 1 */ + 1368 "01010001100101000100" // ax1 = lsl(ax1,0xa); bxs0 = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1369 "10011000001001000010" // /* MW 1 */ + 1370 "01011100000010000001" // bx1 = 32; ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1371 "10011000001111001001" // /* MW 1 */ + 1372 "01010000110001100100" // ax1 = lsr(ax1,bx1); rb0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1373 "10011000001101001010" // /* MW 1 */ + 1374 "01010100000000001000" // ax0 = bx0 + ax0; rb1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1375 "00011000001101001011" // /* MW 1 */ + 1376 "00001000110000100010" // bx0 = rb1(u)*ra0(u) /* control_operation: words=1 cycles_taken=1 */ + 1377 "01000100010010001001" // ax1 = rb0(u)*ra1(u); bxl0 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1378 "00011001001010000010" // /* MW 1 */ + 1379 "01000100010000011001" // bx1 = rb0(u)*ra0(u); axl1 = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1380 "00011001001001000001" // /* MW 1 */ + 1381 "01010100000001000100" // ax1 = ax1 + bx0; ra0 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1382 "10110010000000001100" // /* MW 1 */ + 1383 "01011011110000100000" // ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1384 "10110000000100000110" // /* MW 1 */ + 1385 "00110000100010001000" // cmpu(ax1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1386 "01011011110001100000" // ax0 = sxtd(bx1); bxs1 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1387 "00011000010000000011" // /* MW 1 */ + 1388 "01000100011010011001" // bx1 = rb1(u)*ra1(u); rb1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1389 "00011000010011001011" // /* MW 1 */ + 1390 "01011011110001100001" // bx0 = sxtd(bx1); if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1391 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1392 "01010100000010011110" // ra1 = rb1 + ra0; ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1393 "10110000000000001100" // /* MW 1 */ + 1394 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1395 "00100001000110001011" // bx1 = lsl(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1396 "00101000000011000000" // ax0 = ax0 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1397 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1398 "00110000100011000000" // cmpu(ax0,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1399 "01010000010011010001" // bx1 = asr(ra0,rb0); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1400 "10110000000000001100" // /* MW 1 */ + 1401 "00100001000110011011" // bx1 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1402 "00100001100110001001" // ax1 = lsr(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1403 "00101000000001011001" // ax1 = bx1 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1404 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1405 "01010100000000101000" // ax1 = bx0 + ax1; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1406 "10111100000000111010" // /* MW 1 */ +.delay_slot + 1407 "01011011110000100000" // ax1 = sxtd(ax1); bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1408 "10110000000000001010" // /* MW 1 */ + 1409 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1410 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1411 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1412 "01010100000001000100" // ax1 = ax1 + bx0; if (nz) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1413 "10111100000000101001" // /* MW 1 */ +.delay_slot + 1414 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1415 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1416 "00100000100110100010" // bx0 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1417 "01010100100001000100" // ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1418 "10111010000100000001" // /* MW 1 */ + 1419 "01010001100000100101" // bx0 = lsl(ax1,0x1); ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1420 "00001000000000001000" // /* MW 1 */ + 1421 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1422 "01000000000000000000" // nop; if (s) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1423 "00111100000000100010" // /* MW 1 */ + 1424 "01010101001111110110" // ra1 = ra1 + -0x1; axl1 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1425 "10011001001010000001" // /* MW 1 */ +.tail_call + 1426 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1427 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1428 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1429 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1430 "10111100001000110001" // if (nz) jps 0x23 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=35 */ + 1431 "00100000100111101001" // ax1 = asr(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1432 "01010100100000000100" // ax1 = ax1 | ax0; axl0 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1433 "10011001001011000000" // /* MW 1 */ + 1434 "01011001010000000100" // cmpu(ax1,0x0); im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1435 "00111010000100000001" // /* MW 1 */ + 1436 "10111100000100110001" // if (nz) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ + 1437 "10111100000100101111" // jpsdb 0x12 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=18 delay_slots=1 */ +.delay_slot + 1438 "01101110000000000000" // axl0 = [0x408] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1439 "00100000010000010000" // /* MW 1 */ + 1440 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1441 "10111100000111010001" // if (nz) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 1442 "01101000000000000000" // ra1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1443 "00011111111111001001" // /* MW 1 */ + 1444 "00110000000101100000" // cmp(ra0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 1445 "10111100000000100001" // if (nz) jps 0x2 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 */ + 1446 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1447 "10111100000101110001" // if (nz) jps 0x17 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=23 */ + 1448 "00100000100111100001" // ax1 = asr(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1449 "01010100100001000100" // ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1450 "10111010000100000001" // /* MW 1 */ + 1451 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1452 "10111100000000111000" // if (z) jpsdb 0x3 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 delay_slots=1 */ +.delay_slot + 1453 "01101110000000000000" // axl0 = [0x408] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1454 "00100000010000010000" // /* MW 1 */ + 1455 "00101010000000011000" // ax0 = bx1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 1456 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1457 "00101000000000110000" // /* MW 1 */ + 1458 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1459 "01000110000010000000" // im = 0x0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1460 "10010000001000010000" // /* MW 1 */ +.delay_slot + 1461 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ + 1462 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1463 "01000110000010000000" // im = 0x0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1464 "10010000001000010000" // /* MW 1 */ +.delay_slot + 1465 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ + 1466 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1467 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1468 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1469 "01000110000010000000" // im = 0x0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1470 "10101000000000110000" // /* MW 1 */ +.return_address + 1471 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1472 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1473 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1474 "01000110000010000000" // im = 0x0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1475 "10101000000000110000" // /* MW 1 */ +.label _Z11float64_divyy +.function float64_div _Z11float64_divyy +.function_start + 1476 "00111000000111111111" // rb1 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1477 "01010000110011100100" // ax0 = lsr(ax1,rb1); ra0 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1478 "00110000000110100100" // /* MW 1 */ + 1479 "01010000110011101000" // ax0 = lsr(bx0,rb1); ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1480 "00011000001100001001" // /* MW 1 */ + 1481 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1482 "00011000001100001010" // /* MW 1 */ + 1483 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1484 "00011111111111000011" // /* MW 1 */ + 1485 "01010100010001100000" // ax0 = ax0 & bx1; sp+= -0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1486 "00101011111110110000" // /* MW 1 */ + 1487 "01010100110011010110" // ra1 = ra1 ^ rb0; rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1488 "10011000001100001010" // /* MW 1 */ + 1489 "01010000110010001000" // ax0 = lsr(bx0,ra0); sp[0x0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1490 "00001000000001001001" // /* MW 1 */ + 1491 "01010100010001100000" // ax0 = ax0 & bx1; bxs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1492 "00110000000100000011" // /* MW 1 */ + 1493 "01010000010001110100" // ax0 = asr(ra1,bx1); ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1494 "00011000001100001001" // /* MW 1 */ + 1495 "01101110000000000000" // bxl1 = [0x428] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1496 "00100001010000010011" // /* MW 1 */ + 1497 "01010000100011100000" // ax0 = lsl(ax0,rb1); sp[0x4] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1498 "00001000000011110110" // /* MW 1 */ + 1499 "01010100000001100000" // ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1500 "00010000001001011000" // /* MW 1 */ + 1501 "01101000000000000000" // rb1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1502 "00011111111111001011" // /* MW 1 */ + 1503 "01101110000000000000" // bxl1 = [0x418] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1504 "00100000110000010011" // /* MW 1 */ + 1505 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1506 "01011000000011111000" // cmp(rb0,rb1); sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1507 "00010000000101011000" // /* MW 1 */ + 1508 "01010100010001101000" // ax0 = bx0 & bx1; if (z) jpsdb 0x8e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=142 delay_slots=1 */ + 1509 "00111100100011101000" // /* MW 1 */ +.delay_slot + 1510 "00101000100011001011" // bx1 = ax1 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1511 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1512 "10111100100000110000" // if (z) jps 0x83 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=131 */ + 1513 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1514 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1515 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1516 "10111100100101110000" // if (z) jps 0x97 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=151 */ + 1517 "00110111000000000010" // bx0 = nrm(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1518 "01010101001011001001" // bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1519 "00110000000000001001" // /* MW 1 */ + 1520 "00100001000010000000" // ax0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1521 "00101110000010001101" // ra1 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1522 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1523 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1524 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1525 "10111100100110010000" // if (z) jps 0x99 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=153 */ + 1526 "00110111000011000010" // bx0 = nrm(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1527 "01010101001011001001" // bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1528 "00110000000000001001" // /* MW 1 */ + 1529 "00101110000010001110" // rb0 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1530 "00100001000010011011" // bx1 = lsl(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1531 "00100100000100011001" // ax1 = bs(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1532 "00100100000100000000" // ax0 = bs(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1533 "00100011001010001001" // ax1 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1534 "01010001100101100001" // bx1 = lsl(ax0,0xb); sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1535 "10010000001001011001" // /* MW 1 */ + 1536 "01010001100000100100" // ax0 = lsl(ax1,0x1); bxs0 = 0x3fd /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1537 "00110001111111101010" // /* MW 1 */ + 1538 "01011000010000001100" // cmpu(bx1,ax0); sp[0x18] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1539 "00010000001101011011" // /* MW 1 */ + 1540 "01010111000010111010" // ra0 = rb0 - ra1; if (p) jpsdb 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 1541 "00111100000001001100" // /* MW 1 */ +.delay_slot + 1542 "00101000000010100010" // bx0 = ra0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 1543 "00100011100001001001" // ax1 = lsr(ax1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1544 "01010101000000101001" // bx0 = bx0 + 0x1; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1545 "00010000001001011001" // /* MW 1 */ + 1546 "01011100000000000001" // bx0 = 0; sp[0x8] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1547 "00001000000101010010" // /* MW 1 */ +.no_stack_arguments + 1548 "01100110000000000000" // call 0x23e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=574 */ + 1549 "00000010001111100000" // /* MW 1 */ +.return_address + 1550 "10110100111111111001" // axl1 = 0x1ff L /* control_operation: words=1 cycles_taken=1 */ + 1551 "00101000100001000001" // ax1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 1552 "01011010010001000100" // cmpu(ax1,0x2L); axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1553 "00010000001100010001" // /* MW 1 */ + 1554 "10111100010100010100" // if (p) jps 0x51 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=81 */ + 1555 "00111000000100000010" // bx0 = 32 /* control_operation: words=1 cycles_taken=1 */ + 1556 "01010000110001000101" // bx1 = lsr(ax1,bx0); rb1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1557 "10011000001101001011" // /* MW 1 */ + 1558 "01010000110001000001" // bx1 = lsr(ax0,bx0); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1559 "10011000001111001001" // /* MW 1 */ + 1560 "01000110000010001000" // im = 0x1; rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1561 "10011000001111001010" // /* MW 1 */ + 1562 "01000100001100001001" // ax1 = ra1(u)*rb0(u); ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1563 "00011000001100001000" // /* MW 1 */ + 1564 "01000100011100001001" // ax1 = rb1(u)*rb0(u); sp[0x20] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1565 "00010000010001011001" // /* MW 1 */ + 1566 "01000100001000001001" // ax1 = ra1(u)*ra0(u); bxl1 = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1567 "00011001001001000011" // /* MW 1 */ + 1568 "01011011110000100000" // ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1569 "10110000000100000110" // /* MW 1 */ + 1570 "01010100000000101101" // bx1 = bx1 + ax1; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1571 "10110000000000001101" // /* MW 1 */ + 1572 "00110111100011000010" // bx0 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1573 "00110000100001010000" // cmpu(bx0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1574 "01000100011000001001" // ax1 = rb1(u)*ra0(u); if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1575 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1576 "01011011110000100000" // ax1 = sxtd(ax1); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1577 "10110000000000001100" // /* MW 1 */ + 1578 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1579 "00100001000110010011" // bx1 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1580 "00101000000011001001" // ax1 = ax1 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1581 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1582 "00110000100011001000" // cmpu(ax1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1583 "00100000100110100011" // bx1 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1584 "00100001000110011011" // bx1 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1585 "00100001100110010010" // bx0 = lsr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1586 "01010100000001001101" // bx0 = bx1 + bx0; bxl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1587 "00010000010000010011" // /* MW 1 */ + 1588 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1589 "01010100000001001101" // bx0 = bx1 + bx0; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1590 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1591 "01011011110001000001" // bx0 = sxtd(bx0); bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1592 "00110000000000001011" // /* MW 1 */ + 1593 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1594 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1595 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1596 "01010100000001101001" // bx0 = bx0 + bx1; bxl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1597 "00010000001000010011" // /* MW 1 */ + 1598 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1599 "01010111000001001101" // bx0 = bx1 - bx0; bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1600 "00110000000000001011" // /* MW 1 */ + 1601 "00110110000001000001" // ax1 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1602 "01011011110000100000" // ax1 = sxtd(ax1); if (nz) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1603 "10111100000000101001" // /* MW 1 */ +.delay_slot + 1604 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1605 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1606 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1607 "01010111000001101001" // bx0 = bx0 - bx1; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1608 "00001000000010110110" // /* MW 1 */ + 1609 "01011011110001000001" // bx0 = sxtd(bx0); bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1610 "00010000001100010011" // /* MW 1 */ + 1611 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1612 "10111100000011110011" // if (ns) jps 0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=15 */ +.loop_nesting 1 + 1613 "00101000000011001011" // bx1 = ax1 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1614 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1615 "01011000010000101100" // cmpu(bx1,ax1); axl1 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1616 "00011001001011000001" // /* MW 1 */ + 1617 "01010110001111100000" // ax0 = ax0 + -0x1 L; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1618 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1619 "01011011110000000000" // ax0 = sxtd(ax0); bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1620 "00110000000000001011" // /* MW 1 */ + 1621 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1622 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1623 "01010100000001101001" // bx0 = bx0 + bx1; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1624 "00010000001100010011" // /* MW 1 */ + 1625 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1626 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1627 "10111111111100010010" // if (s) jps -0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-15 */ +.loop_nesting 0 + 1628 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1629 "01000010000000001000" // if (nz) jps 0x1; ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1630 "10001000000000001000" // /* MW 1 */ + 1631 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1632 "01010000010011010100" // ax1 = asr(ra1,rb0); jpsdb 0x6 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 1633 "10111100000001101111" // /* MW 1 */ +.delay_slot + 1634 "01010100100000100000" // ax1 = ax0 | ax1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1635 "10001000000100001001" // /* MW 1 */ + 1636 "10001000000000001000" // ra0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1637 "10001000000100001001" // ra1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1638 "01010101000000000000" // ax1 = ax0 + 0x0; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1639 "10001000000010110110" // /* MW 1 */ +.tail_call + 1640 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1641 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1642 "01000110000010000000" // im = 0x0; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1643 "10101000000001010000" // /* MW 1 */ +.return_address + 1644 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1645 "01000010000000011000" // if (z) jps 0x3; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 1646 "00001000000010110110" // /* MW 1 */ +.tail_call + 1647 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1648 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1649 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1650 "01000010000001110011" // jps 0xe; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 1651 "10010000001000010000" // /* MW 1 */ + 1652 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1653 "10111100000111010001" // if (nz) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 1654 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1655 "01000010000001000000" // if (nz) jps 0x8; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1656 "10001000000010110110" // /* MW 1 */ + 1657 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1658 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1659 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1660 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1661 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1662 "10111100000000111111" // jpsdb 0x3 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 delay_slots=1 */ +.delay_slot + 1663 "01101110000000000000" // axl0 = [0x420] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1664 "00100001000000010000" // /* MW 1 */ + 1665 "10010000000100010000" // axl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1666 "01000110000010100000" // ret; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1667 "00101000000001010000" // /* MW 1 */ + 1668 "00111000000100000001" // ax1 = 32 /* control_operation: words=1 cycles_taken=1 */ + 1669 "00100000100001110001" // ax1 = asr(rb0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1670 "00101001000011001001" // ax1 = ax1 | bx1 /* control_operation: words=1 cycles_taken=1 */ + 1671 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1672 "01000010000000010000" // if (nz) jps 0x2; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1673 "10010000000100010000" // /* MW 1 */ + 1674 "01101110000000000000" // axl0 = [0x420] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1675 "00100001000000010000" // /* MW 1 */ + 1676 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1677 "01000110000010100000" // ret; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1678 "00101000000001010000" // /* MW 1 */ + 1679 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1680 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1681 "10010000001000010000" // axl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1682 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ + 1683 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1684 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1685 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1686 "01000000000000000000" // nop; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1687 "00101000000001010000" // /* MW 1 */ +.label _Z10float64_eqyy +.function float64_eq _Z10float64_eqyy +.function_start + 1688 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1689 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1690 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1691 "00011111111111000011" // /* MW 1 */ + 1692 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1693 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1694 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1695 "00011111111111001010" // /* MW 1 */ + 1696 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1697 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1698 "01101110000000000000" // bxl0 = [0x430] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1699 "00100001100000010010" // /* MW 1 */ + 1700 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1701 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1702 "10111100000110010001" // if (nz) jps 0x19 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=25 */ + 1703 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1704 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1705 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1706 "00011111111111000011" // /* MW 1 */ + 1707 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1708 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1709 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1710 "00011111111111001010" // /* MW 1 */ + 1711 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1712 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1713 "01101110000000000000" // bxl0 = [0x430] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1714 "00100001100000010010" // /* MW 1 */ + 1715 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1716 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1717 "10111100000010100001" // if (nz) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1718 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1719 "01011100000000000110" // ra0 = 1; if (z) jps 0x9 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1720 "00111100000010010000" // /* MW 1 */ + 1721 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1722 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1723 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1724 "01000000000000000000" // nop; if (z) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1725 "00111100000001000000" // /* MW 1 */ + 1726 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1727 "00011000111010001000" // /* MW 1 */ + 1728 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1729 "00011000111010001000" // /* MW 1 */ + 1730 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1731 "00111010000101000000" // /* MW 1 */ +.label _Z10float64_leyy +.function float64_le _Z10float64_leyy +.function_start + 1732 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1733 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1734 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1735 "00011111111111000011" // /* MW 1 */ + 1736 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1737 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1738 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1739 "00011111111111001010" // /* MW 1 */ + 1740 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1741 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1742 "01101110000000000000" // bxl0 = [0x438] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1743 "00100001110000010010" // /* MW 1 */ + 1744 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1745 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1746 "10111100001010110001" // if (nz) jps 0x2b /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=43 */ + 1747 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1748 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1749 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1750 "00011111111111000011" // /* MW 1 */ + 1751 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1752 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1753 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1754 "00011111111111001010" // /* MW 1 */ + 1755 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1756 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1757 "01101110000000000000" // bxl0 = [0x438] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1758 "00100001110000010010" // /* MW 1 */ + 1759 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1760 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1761 "10111100000111000001" // if (nz) jps 0x1c /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=28 */ + 1762 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1763 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1764 "01010000110010000101" // bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1765 "00011000001110001010" // /* MW 1 */ + 1766 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1767 "00110000000100110000" // cmp(rb0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1768 "10111100000011000001" // if (nz) jps 0xc /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=12 */ + 1769 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1770 "01011100000000000110" // ra0 = 1; if (z) jps 0x14 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 1771 "00111100000101000000" // /* MW 1 */ + 1772 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1773 "01011100000000000110" // ra1 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1774 "10111100000000010010" // /* MW 1 */ + 1775 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1776 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 1777 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1778 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 1779 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1780 "00011000111010001000" // /* MW 1 */ + 1781 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1782 "01011100000000000110" // ra0 = 1; if (nz) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1783 "00111100000010000001" // /* MW 1 */ + 1784 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1785 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1786 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1787 "10111100000001000000" // if (z) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 1788 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1789 "00011000111010001000" // /* MW 1 */ + 1790 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1791 "00011000111010001000" // /* MW 1 */ + 1792 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1793 "00111010000101000000" // /* MW 1 */ +.label _Z10float64_ltyy +.function float64_lt _Z10float64_ltyy +.function_start + 1794 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1795 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1796 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1797 "00011111111111000011" // /* MW 1 */ + 1798 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1799 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1800 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1801 "00011111111111001010" // /* MW 1 */ + 1802 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1803 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1804 "01101110000000000000" // bxl0 = [0x440] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1805 "00100010000000010010" // /* MW 1 */ + 1806 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1807 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1808 "10111100001011010001" // if (nz) jps 0x2d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=45 */ + 1809 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1810 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1811 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1812 "00011111111111000011" // /* MW 1 */ + 1813 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1814 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1815 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1816 "00011111111111001010" // /* MW 1 */ + 1817 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1818 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1819 "01101110000000000000" // bxl0 = [0x440] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1820 "00100010000000010010" // /* MW 1 */ + 1821 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1822 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1823 "10111100000111100001" // if (nz) jps 0x1e /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=30 */ + 1824 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1825 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1826 "01010000110010000101" // bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1827 "00011000001110001010" // /* MW 1 */ + 1828 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1829 "00110000000100110000" // cmp(rb0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1830 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 1831 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1832 "01011100000000000110" // ra0 = 1; if (z) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1833 "00111100000010000000" // /* MW 1 */ + 1834 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1835 "01011100000000000110" // ra1 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1836 "10111100000000010010" // /* MW 1 */ + 1837 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1838 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 1839 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1840 "01000000000000000000" // nop; if (nz) jps 0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 1841 "00111100000011100001" // /* MW 1 */ + 1842 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1843 "00011000111010001000" // /* MW 1 */ + 1844 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1845 "01011100000000000110" // ra0 = 1; if (z) jps 0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 1846 "00111100000001010000" // /* MW 1 */ + 1847 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1848 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1849 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1850 "01000000000000000000" // nop; if (nz) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1851 "00111100000001000001" // /* MW 1 */ + 1852 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1853 "00011000111010001000" // /* MW 1 */ + 1854 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1855 "00011000111010001000" // /* MW 1 */ + 1856 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1857 "00111010000101000000" // /* MW 1 */ +.label ff_ldexp +.function ff_ldexp ff_ldexp +.function_start + 1858 "01101100000000000000" // bxs0 = [0x4a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1859 "00100101000000000010" // /* MW 1 */ + 1860 "10011000010001000000" // axs0 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 1861 "01010100010001000001" // bx0 = ax0 & bx0; sp+= -0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1862 "00101011111111000000" // /* MW 1 */ + 1863 "01010001011010001010" // ra0 = asr(bx0,0x14); sp[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1864 "00001000000011001000" // /* MW 1 */ + 1865 "01011001000000010000" // cmp(ra0,0x0); bxs0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1866 "00011000001101000010" // /* MW 1 */ + 1867 "01000010000011011000" // if (nz) jps 0x1b; sp[0x0] = lr /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=27 */ + 1868 "10001000000001110110" // /* MW 1 */ + 1869 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 1870 "01101100000000000000" // ra0 = [0x4a4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1871 "00100101001000001000" // /* MW 1 */ + 1872 "00101000100100000000" // ax0 = ax0 & ra0 /* control_operation: words=1 cycles_taken=1 */ + 1873 "00101001000000010000" // ax0 = bx0 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1874 "00110010000000000000" // cmp(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1875 "10111100010110100000" // if (z) jps 0x5a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=90 */ +.no_stack_arguments + 1876 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1877 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1878 "01101110000000000000" // bxl0 = [0x478] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1879 "00100011110000010010" // /* MW 1 */ +.return_address + 1880 "01101100000000000000" // ra0 = [0x4a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1881 "00100101000000001000" // /* MW 1 */ + 1882 "01011100001100101000" // ax1 = -54; bxs0 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1883 "10011000010000000010" // /* MW 1 */ + 1884 "01010100010010001010" // ra0 = bx0 & ra0; sp[0x8] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1885 "00001000000101010010" // /* MW 1 */ + 1886 "01101000001111111100" // bxs0 = -0xc350 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1887 "11110010110000000010" // /* MW 1 */ + 1888 "01010001011010010010" // ra0 = asr(ra0,0x14); rb0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1889 "00001000000010001010" // /* MW 1 */ + 1890 "01011000000001011000" // cmp(rb0,bx0); sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1891 "00010000001001011000" // /* MW 1 */ + 1892 "01010100000000110010" // ra0 = ra0 + ax1; if (s) jps 0x4c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=76 */ + 1893 "00111100010011000010" // /* MW 1 */ + 1894 "01000010000000100011" // jps 0x4; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1895 "10010000001000010001" // /* MW 1 */ + 1896 "10001000000010001010" // rb0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1897 "10001000000101010000" // sp[0x8] = ah0 /* control_operation: words=1 cycles_taken=1 */ + 1898 "01000000000000000000" // nop; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1899 "00010000001001011001" // /* MW 1 */ + 1900 "01101000000000000000" // axs0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1901 "00011111111111000000" // /* MW 1 */ + 1902 "00110000000000100000" // cmp(ra0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1903 "10111100001110000000" // if (z) jps 0x38 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=56 */ + 1904 "01101110000000000000" // axl0 = [0x490] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1905 "00100100100000010000" // /* MW 1 */ + 1906 "00101000100000001000" // ax0 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 1907 "01101110000000000000" // axl1 = [0x488] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1908 "00100100010000010001" // /* MW 1 */ + 1909 "01010100100000100001" // bx0 = ax0 | ax1; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1910 "00010000001101011000" // /* MW 1 */ + 1911 "00101000000110100000" // ax0 = ra0 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 1912 "10001000000111010000" // sp[0xc] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1913 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 1914 "00000101000110000000" // /* MW 1 */ +.return_address + 1915 "10001000000110000001" // axs1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ + 1916 "01101000000000000000" // bxs0 = 0x7fe /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1917 "00011111111110000010" // /* MW 1 */ + 1918 "01011000000001000100" // cmp(ax1,bx0); bxs0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1919 "00001000000100000010" // /* MW 1 */ + 1920 "10111100001010100100" // if (p) jps 0x2a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=42 */ + 1921 "01101100000000000000" // rb0 = [0x4a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1922 "00100101010000001010" // /* MW 1 */ + 1923 "01011001000000000100" // cmp(ax1,0x0); ra0 = -0x36 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1924 "00110011111001010100" // /* MW 1 */ + 1925 "01010100010011001001" // bx0 = bx0 & rb0; if (p) jps 0x1a /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=26 */ + 1926 "00111100000110100100" // /* MW 1 */ + 1927 "00110000000100001000" // cmp(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1928 "01000010000001100010" // if (np) jps 0xc; ra0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=12 */ + 1929 "10001000000010001000" // /* MW 1 */ + 1930 "00111000000110110100" // ra0 = 54 /* control_operation: words=1 cycles_taken=1 */ + 1931 "01010100000010000100" // ax1 = ax1 + ra0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1932 "10010000001000010000" // /* MW 1 */ + 1933 "00100011010100001001" // ax1 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 1934 "00101001000001010001" // ax1 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1935 "10011000010001000001" // axs1 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 1936 "10011000001100001101" // al1 = al0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1937 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1938 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1939 "01101110000000000000" // bxl0 = [0x498] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1940 "00100100110000010010" // /* MW 1 */ +.return_address + 1941 "10111100000101010111" // jps 0x15 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=21 */ + 1942 "01101000000000000011" // axs1 = 0xc350 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1943 "00001101010000000001" // /* MW 1 */ + 1944 "01011000000000110000" // cmp(ra0,ax1); bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1945 "00010000001100010010" // /* MW 1 */ + 1946 "10111100000100001100" // if (p) jpsdb 0x10 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=16 delay_slots=1 */ +.delay_slot + 1947 "01101110000000000000" // axl1 = [0x480] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1948 "00100100000000010001" // /* MW 1 */ +.no_stack_arguments + 1949 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1950 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1951 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1952 "10111100000010100111" // jps 0xa /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1953 "00100011010100001000" // ax0 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 1954 "01010100100000001000" // ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1955 "00010000001000010001" // /* MW 1 */ + 1956 "01000010000000101111" // jpsdb 0x5; axs0 = ah0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 delay_slots=1 */ + 1957 "10011000010000000000" // /* MW 1 */ +.delay_slot + 1958 "01000000000000000000" // nop; al0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1959 "00011000001101001100" // /* MW 1 */ +.no_stack_arguments + 1960 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 1961 "00000101000000001000" // /* MW 1 */ +.delay_slot + 1962 "00101010000000001010" // bx0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1963 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1964 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1965 "00101000000001000000" // /* MW 1 */ + 1966 "01010101000000000100" // ax0 = ax1 + 0x0; lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1967 "00001000000000110110" // /* MW 1 */ + 1968 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1969 "00101000000001000000" // /* MW 1 */ + 1970 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1971 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1972 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1973 "01101110000000000000" // axl1 = [0x480] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1974 "00100100000000010001" // /* MW 1 */ +.return_address + 1975 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1976 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1977 "00101000000001000000" // /* MW 1 */ +.label ff_pow +.function ff_pow ff_pow +.function_start + 1978 "01101100000000000000" // axs0 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1979 "00100101011000000000" // /* MW 1 */ + 1980 "01010101000000000111" // rb0 = ax1 + 0x0; rb1 = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1981 "00011000010010001011" // /* MW 1 */ + 1982 "01010100010000011001" // bx1 = rb0 & ax0; sp+= -0x58 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1983 "10101011111101010000" // /* MW 1 */ + 1984 "01010100010000011110" // ra0 = rb1 & ax0; axs0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1985 "00011000001110000000" // /* MW 1 */ + 1986 "01010100100000010001" // bx0 = ra0 | ax0; sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1987 "00010000000001011010" // /* MW 1 */ + 1988 "01011001010000001000" // cmpu(bx0,0x0); sp[0x8] = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1989 "00001000000101001101" // /* MW 1 */ + 1990 "01100100000000000000" // if (z) jpdb 0xb66 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=2918 delay_slots=1 */ + 1991 "00001011011001101000" // /* MW 1 */ +.delay_slot + 1992 "10001000001001110110" // sp[0x10] = lr /* control_operation: words=1 cycles_taken=1 */ + 1993 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 1994 "01101100000000000000" // bxs0 = [0x4b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1995 "00100101100000000010" // /* MW 1 */ + 1996 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1997 "01100100000000000000" // if (p) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 1998 "00001011011000100100" // /* MW 1 */ + 1999 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2000 "01000010000000001000" // if (z) jps 0x1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 2001 "00001000000100001001" // /* MW 1 */ + 2002 "10111100000000110111" // jps 0x3 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2003 "00110010100000101000" // cmpu(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2004 "01100100000000000000" // if (nz) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2005 "00001011011000100001" // /* MW 1 */ + 2006 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2007 "01100100000000000000" // if (p) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2008 "00001011011000100100" // /* MW 1 */ + 2009 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2010 "10111100000000010000" // if (z) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 2011 "10111100000001000111" // jps 0x4 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 2012 "01011001010000000000" // cmpu(ax0,0x0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2013 "00111000000000000000" // /* MW 1 */ + 2014 "01100100000000000000" // if (nz) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2015 "00001011011000100001" // /* MW 1 */ + 2016 "01011001000000011000" // cmp(rb0,0x0); ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2017 "00011000111010001001" // /* MW 1 */ + 2018 "01000010000101101101" // if (ns) jpsdb 0x2d; sp[0x14] = ra1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=45 delay_slots=1 */ + 2019 "10001000001011001001" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 2020 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2021 "01101100000000000000" // ra1 = [0x4b4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2022 "00100101101000001001" // /* MW 1 */ + 2023 "01011000000010110000" // cmp(ra0,ra1); ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2024 "00110000000000010101" // /* MW 1 */ + 2025 "10111100001001100011" // if (ns) jps 0x26 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=38 */ + 2026 "01101100000000000000" // ra1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2027 "00100101110000001001" // /* MW 1 */ + 2028 "01011000000010110000" // cmp(ra0,ra1); ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2029 "00011000111010001001" // /* MW 1 */ + 2030 "10111100001000010010" // if (s) jps 0x21 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=33 */ + 2031 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 2032 "01010001011010010010" // ra1 = asr(ra0,0x14); axs1 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2033 "10110010000000001001" // /* MW 1 */ + 2034 "01010100000000110110" // ra1 = ra1 + ax1; axs1 = 0x14 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2035 "10110000000010100001" // /* MW 1 */ + 2036 "01011000000000110100" // cmp(ra1,ax1); axs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2037 "00110000000110100001" // /* MW 1 */ + 2038 "10111100000011100100" // if (p) jps 0xe /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=14 */ + 2039 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2040 "01000010000010100000" // if (nz) jps 0x14; axs1 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 2041 "10011000111010000001" // /* MW 1 */ + 2042 "00111000000010100001" // ax1 = 20 /* control_operation: words=1 cycles_taken=1 */ + 2043 "00101110000101001001" // ax1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 2044 "00100000100001100101" // ra1 = asr(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2045 "00100001000001101001" // ax1 = lsl(ra1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2046 "01011000000010000100" // cmp(ax1,ra0); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2047 "00011000111010000001" // /* MW 1 */ + 2048 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 2049 "01010101010000110100" // ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2050 "10110000000000010101" // /* MW 1 */ + 2051 "01010111000000110100" // ax1 = ra1 - ax1; jps 0x9 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 2052 "10111100000010010111" // /* MW 1 */ + 2053 "00101110000101001001" // ax1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 2054 "00100001100001000101" // ra1 = lsr(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2055 "00100001000001101001" // ax1 = lsl(ra1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2056 "01011000010000000100" // cmpu(ax1,ax0); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2057 "00011000111010000001" // /* MW 1 */ + 2058 "10111100000000110001" // if (nz) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2059 "01010101010000110100" // ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2060 "10110000000000010101" // /* MW 1 */ + 2061 "00101110000001101001" // ax1 = ra1 - ax1 /* control_operation: words=1 cycles_taken=1 */ + 2062 "01010101000000000110" // ra1 = ax1 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2063 "10010000001100010001" // /* MW 1 */ + 2064 "10001000001011001001" // sp[0x14] = ra1 /* control_operation: words=1 cycles_taken=1 */ + 2065 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2066 "01101100000000000000" // ra1 = [0x4d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2067 "00100110110000001001" // /* MW 1 */ + 2068 "01010100000010101110" // ra1 = bx1 + ra1; if (nz) jpsdb 0x17 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=23 delay_slots=1 */ + 2069 "10111100000101111001" // /* MW 1 */ +.delay_slot + 2070 "10001000000100000000" // axs0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2071 "01011000000001010000" // cmp(ra0,bx0); sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2072 "00010000000101011001" // /* MW 1 */ + 2073 "01100100000000000000" // if (z) jp 0xb6c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2924 */ + 2074 "00001011011011000000" // /* MW 1 */ + 2075 "01101100000000000000" // axs1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2076 "00100101110000000001" // /* MW 1 */ + 2077 "00110000000001100000" // cmp(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2078 "01100100000000000000" // if (z) jp 0xb87 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2951 */ + 2079 "00001011100001110000" // /* MW 1 */ + 2080 "01101100000000000000" // axs1 = [0x4bc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2081 "00100101111000000001" // /* MW 1 */ + 2082 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2083 "01100100000000000000" // if (z) jpdb 0xb92 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=2962 delay_slots=1 */ + 2084 "00001011100100101000" // /* MW 1 */ +.delay_slot + 2085 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2086 "00100110000000000001" // /* MW 1 */ + 2087 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2088 "01000010000000011000" // if (nz) jps 0x3; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 2089 "10010000000100010001" // /* MW 1 */ + 2090 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2091 "01100100000000000000" // if (ns) jp 0xb99 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2969 */ + 2092 "00001011100110010011" // /* MW 1 */ + 2093 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2094 "01101110000000000000" // axl0 = [0x4f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2095 "00100111100000010000" // /* MW 1 */ + 2096 "01010100010000000100" // ax0 = ax1 & ax0; if (nz) jps 0xb /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=11 */ + 2097 "00111100000010110001" // /* MW 1 */ + 2098 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2099 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2100 "00001011100111100000" // /* MW 1 */ + 2101 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2102 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2103 "00001011100111100000" // /* MW 1 */ + 2104 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2105 "00100101110000000010" // /* MW 1 */ + 2106 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2107 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2108 "00001011100111100000" // /* MW 1 */ + 2109 "00100011111111110110" // rb0 = lsr(rb0,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 2110 "01010101001111111011" // rb0 = rb0 + -0x1; bxs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2111 "00001000001010000010" // /* MW 1 */ + 2112 "01010100100001011001" // bx0 = rb0 | bx0; sp[0x8] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2113 "00001000000101001010" // /* MW 1 */ + 2114 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2115 "01100100000000000000" // if (z) jp 0xb58 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2904 */ + 2116 "00001011010110000000" // /* MW 1 */ + 2117 "01101100000000000000" // bxs0 = [0x4c4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2118 "00100110001000000010" // /* MW 1 */ + 2119 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2120 "10111101010110010100" // if (p) jps 0x159 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=345 */ + 2121 "01101000000001000000" // axs1 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2122 "00000000000000000001" // /* MW 1 */ + 2123 "01011000000000101100" // cmp(bx1,ax1); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2124 "00011000111010000001" // /* MW 1 */ + 2125 "01000010000001001001" // if (ns) jps 0x9; rb0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 2126 "10011000111010001010" // /* MW 1 */ + 2127 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2128 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2129 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2130 "01101110000000000000" // bxl0 = [0x530] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2131 "00101001100000010010" // /* MW 1 */ +.return_address + 2132 "01011100001100101100" // ax1 = -53; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2133 "10111000000000000000" // /* MW 1 */ + 2134 "01011100000000000011" // rb0 = 0; bxs1 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2135 "00011000010000000011" // /* MW 1 */ + 2136 "01101000000000111111" // bxs0 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2137 "11111111111111000010" // /* MW 1 */ + 2138 "01010100010001001111" // rb1 = bx1 & bx0; bxs0 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2139 "10110010000000001010" // /* MW 1 */ + 2140 "01010001011010001110" // ra0 = asr(bx1,0x14); sp[0xc] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2141 "00001000000111001010" // /* MW 1 */ + 2142 "00101000000010100010" // bx0 = ra0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 2143 "00101000000010001001" // ax1 = ax1 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 2144 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2145 "00100101110000000010" // /* MW 1 */ + 2146 "01101000000000001110" // bxs1 = 0x3988e /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2147 "01100010001110000011" // /* MW 1 */ + 2148 "01011000000001111100" // cmp(rb1,bx1); sp[0x18] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2149 "00001000001101010001" // /* MW 1 */ + 2150 "01010100100001011110" // ra0 = rb1 | bx0; if (np) jps 0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 2151 "00111100000011100101" // /* MW 1 */ + 2152 "01101000000000101110" // axs1 = 0xbb67a /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2153 "11011001111010000001" // /* MW 1 */ + 2154 "01011000000000111100" // cmp(rb1,ax1); rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2155 "00110000000000001110" // /* MW 1 */ + 2156 "10111100000001110010" // if (s) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 2157 "10001000001100000001" // axs1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2158 "01101000001111000000" // bxs0 = -0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2159 "00000000000000000010" // /* MW 1 */ + 2160 "01010101000000100100" // ax1 = ax1 + 0x1; rb0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2161 "10011000111010001010" // /* MW 1 */ + 2162 "01010100000001010010" // ra0 = ra0 + bx0; sp[0x18] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2163 "00001000001101010001" // /* MW 1 */ + 2164 "01000000000000000000" // nop; sp[0xc] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2165 "00001000000111001010" // /* MW 1 */ + 2166 "01101000000000000000" // a0 = 0x448 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2167 "00010001001000100000" // /* MW 1 */ + 2168 "01010001100001111000" // ax1 = lsl(rb0,0x3); sp[0x1c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2169 "10001000001111001000" // /* MW 1 */ + 2170 "01010101000000010000" // ax1 = ra0 + 0x0; c0 = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2171 "10011000010001101000" // /* MW 1 */ + 2172 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ + 2173 "10001100000000110010" // bxl0 = a0[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2174 "10011000001100001101" // al1 = al0 /* control_operation: words=1 cycles_taken=1 */ + 2175 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 2176 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 2177 "10001000011001101000" // sp[0x30] = c0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2178 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2179 "00000101000011000000" // /* MW 1 */ +.return_address + 2180 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2181 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2182 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2183 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2184 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2185 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2186 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2187 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2188 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2189 "00100111010000010001" // /* MW 1 */ +.return_address + 2190 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2191 "00010000011100010001" // /* MW 1 */ + 2192 "01000000000000000000" // nop; sp[0x40] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2193 "00010000100001011010" // /* MW 1 */ +.no_stack_arguments + 2194 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2195 "00000101000110000000" // /* MW 1 */ +.return_address + 2196 "01011100000011110100" // ax1 = 61; bxs0 = sp[0x1c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2197 "10001000001110000010" // /* MW 1 */ + 2198 "01010001010000101011" // rb0 = asr(bx0,0x1); bxs0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2199 "00001000000110000010" // /* MW 1 */ + 2200 "01010010000000111000" // ax1 = bs(rb0,ax1); sp[0x48] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2201 "10010000100101011000" // /* MW 1 */ + 2202 "01101000000000100000" // rb1 = 0x80000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2203 "00000000000000001011" // /* MW 1 */ + 2204 "01010001101001001011" // rb0 = lsl(bx0,0x12); bxl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2205 "00010000010000010010" // /* MW 1 */ + 2206 "01010100000011100100" // ax1 = ax1 + rb1; al0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2207 "10011000111010001100" // /* MW 1 */ + 2208 "01010100000011000100" // ax1 = ax1 + rb0; sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2209 "10010000010001011000" // /* MW 1 */ + 2210 "10011000010001000001" // axs1 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 2211 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2212 "01000000000000000000" // nop; sp[0x50] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2213 "00010000101001011001" // /* MW 1 */ +.no_stack_arguments + 2214 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2215 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2216 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2217 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2218 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2219 "00010000010100010001" // /* MW 1 */ +.return_address + 2220 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2221 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2222 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2223 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2224 "01000000000000000000" // nop; bxl0 = sp[0x50] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2225 "00010000101000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2226 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2227 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2228 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2229 "00010000011100010001" // /* MW 1 */ +.return_address + 2230 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2231 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2232 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2233 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2234 "01000000000000000000" // nop; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2235 "00010000010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2236 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2237 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2238 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2239 "00010000010100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2240 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2241 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2242 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2243 "00010000100000010001" // /* MW 1 */ +.return_address + 2244 "10010000100100010001" // axl1 = sp[0x48] /* control_operation: words=1 cycles_taken=1 */ + 2245 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x28] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2246 "00010000010101011000" // /* MW 1 */ +.no_stack_arguments + 2247 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2248 "00000101000110000000" // /* MW 1 */ +.return_address + 2249 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2250 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2251 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2252 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2253 "10011001001000000010" // /* MW 1 */ +.return_address + 2254 "01101110000000000000" // bxl0 = [0x560] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2255 "00101011000000010010" // /* MW 1 */ + 2256 "10010000100001011000" // sp[0x40] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2257 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2258 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2259 "10010000011100010001" // axl1 = sp[0x38] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2260 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2261 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2262 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2263 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2264 "01101110000000000000" // axl1 = [0x558] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2265 "00101010110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2266 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2267 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2268 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2269 "00010000011100010001" // /* MW 1 */ +.return_address + 2270 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2271 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2272 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2273 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2274 "01101110000000000000" // axl1 = [0x550] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2275 "00101010100000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2276 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2277 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2278 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2279 "00010000011100010001" // /* MW 1 */ +.return_address + 2280 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2281 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2282 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2283 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2284 "01101110000000000000" // axl1 = [0x548] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2285 "00101010010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2286 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2287 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2288 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2289 "00010000011100010001" // /* MW 1 */ +.return_address + 2290 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2291 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2292 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2293 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2294 "01101110000000000000" // axl1 = [0x540] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2295 "00101010000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2296 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2297 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2298 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2299 "00010000011100010001" // /* MW 1 */ +.return_address + 2300 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2301 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2302 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2303 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2304 "01101110000000000000" // axl1 = [0x538] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2305 "00101001110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2306 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2307 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2308 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2309 "00010000100000010001" // /* MW 1 */ +.return_address + 2310 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2311 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2312 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2313 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2314 "01000000000000000000" // nop; bxl0 = sp[0x48] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2315 "00010000100100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2316 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2317 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2318 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2319 "00010000010100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2320 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2321 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2322 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2323 "00010000011100010001" // /* MW 1 */ +.return_address + 2324 "01000000000000000000" // nop; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2325 "00010000010000010001" // /* MW 1 */ + 2326 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x38] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2327 "00010000011101011000" // /* MW 1 */ +.no_stack_arguments + 2328 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2329 "00000101000110000000" // /* MW 1 */ +.return_address + 2330 "01010101000000000001" // bx0 = ax0 + 0x0; sp[0x40] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2331 "00010000100001011000" // /* MW 1 */ +.no_stack_arguments + 2332 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2333 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2334 "01101110000000000000" // axl1 = [0x568] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2335 "00101011010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2336 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2337 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2338 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2339 "10010000011100010010" // /* MW 1 */ +.return_address + 2340 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2341 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2342 "01000000000000000000" // nop; sp[0x50] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2343 "00010000101001011001" // /* MW 1 */ +.no_stack_arguments + 2344 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2345 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2346 "01101110000000000000" // bxl0 = [0x568] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2347 "00101011010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2348 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2349 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2350 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2351 "10010000100000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2352 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2353 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2354 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2355 "00010000011100010001" // /* MW 1 */ +.return_address + 2356 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2357 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2358 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2359 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2360 "10010000101000010010" // bxl0 = sp[0x50] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2361 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2362 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2363 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2364 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2365 "10010000101000010010" // bxl0 = sp[0x50] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2366 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2367 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2368 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2369 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2370 "01000000000000000000" // nop; bxl0 = sp[0x48] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2371 "00010000100100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2372 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2373 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2374 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2375 "00010000010000010001" // /* MW 1 */ +.return_address + 2376 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2377 "00010000010100010001" // /* MW 1 */ + 2378 "01000000000000000000" // nop; sp[0x20] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2379 "00010000010001011010" // /* MW 1 */ +.no_stack_arguments + 2380 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2381 "00000101000000000000" // /* MW 1 */ +.return_address + 2382 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2383 "10010000010100010010" // /* MW 1 */ + 2384 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2385 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2386 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2387 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2388 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2389 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2390 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2391 "00010000010000010001" // /* MW 1 */ +.return_address + 2392 "01101110000000000000" // axl1 = [0x570] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2393 "00101011100000010001" // /* MW 1 */ + 2394 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2395 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2396 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2397 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2398 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2399 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2400 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2401 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2402 "01101110000000000000" // axl1 = [0x578] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2403 "00101011110000010001" // /* MW 1 */ +.return_address + 2404 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2405 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2406 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2407 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2408 "01101110000000000000" // bxl0 = [0x580] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2409 "00101100000000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2410 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2411 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2412 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2413 "00010000010000010001" // /* MW 1 */ +.return_address + 2414 "10001000011000101000" // c0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ + 2415 "01101000000000000000" // a0 = 0x468 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2416 "00010001101000100000" // /* MW 1 */ + 2417 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2418 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2419 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2420 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2421 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = a0[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2422 "10001100000000110010" // /* MW 1 */ +.return_address + 2423 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2424 "01100110000000000000" // calldb 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=848 delay_slots=1 */ + 2425 "00000011010100001000" // /* MW 1 */ +.delay_slot + 2426 "10001000001100001000" // ra0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2427 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2428 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2429 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2430 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2431 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2432 "01101000000000000000" // a0 = 0x458 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2433 "00010001011000100000" // /* MW 1 */ + 2434 "01010101000000000000" // ax1 = ax0 + 0x0; c0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2435 "10001000011000101000" // /* MW 1 */ + 2436 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2437 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ + 2438 "10001100000000110010" // bxl0 = a0[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2439 "10010000011001011010" // sp[0x30] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2440 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2441 "00000101000000000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2442 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2443 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2444 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2445 "10010000001100010010" // /* MW 1 */ +.return_address + 2446 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2447 "10010000001100010010" // /* MW 1 */ + 2448 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2449 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2450 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2451 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2452 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2453 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2454 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2455 "10010000011000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2456 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2457 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2458 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2459 "10010000010100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2460 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2461 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2462 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2463 "00010000010000010001" // /* MW 1 */ +.return_address + 2464 "01000000000000000000" // nop; jps 0x60 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=96 */ + 2465 "00111100011000000111" // /* MW 1 */ + 2466 "01101100000000000000" // axs0 = [0x4c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2467 "00100110010000000000" // /* MW 1 */ + 2468 "00110000000000100000" // cmp(ra0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2469 "10111100000010101101" // if (np) jpsdb 0xa /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 delay_slots=1 */ +.delay_slot + 2470 "01101100000000000000" // axs0 = [0x4cc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2471 "00100110011000000000" // /* MW 1 */ + 2472 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2473 "01100100000000000000" // if (np) jpdb 0xbc5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=3013 delay_slots=1 */ + 2474 "00001011110001011101" // /* MW 1 */ +.delay_slot + 2475 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2476 "00100101110000000010" // /* MW 1 */ + 2477 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2478 "01100100000000000000" // if (ns) jp 0xbce /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=3022 */ + 2479 "00001011110011100011" // /* MW 1 */ + 2480 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2481 "01100100000000000000" // if (s) jpdb 0xbd6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=3030 delay_slots=1 */ + 2482 "00001011110101101010" // /* MW 1 */ +.delay_slot + 2483 "01101100000000000000" // axs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2484 "00100101110000000000" // /* MW 1 */ + 2485 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2486 "01100100000000000000" // if (p) jp 0xbde /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=3038 */ + 2487 "00001011110111100100" // /* MW 1 */ +.no_stack_arguments + 2488 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2489 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2490 "01101110000000000000" // bxl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2491 "00100111010000010010" // /* MW 1 */ +.return_address + 2492 "01000000000000000000" // nop; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2493 "00010000001101011000" // /* MW 1 */ +.no_stack_arguments + 2494 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2495 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2496 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2497 "00011001001000000001" // /* MW 1 */ +.return_address + 2498 "01101110000000000000" // bxl0 = [0x510] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2499 "00101000100000010010" // /* MW 1 */ + 2500 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2501 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2502 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2503 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2504 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2505 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2506 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2507 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2508 "01101110000000000000" // axl1 = [0x508] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2509 "00101000010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2510 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2511 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2512 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2513 "00010000001100010001" // /* MW 1 */ +.return_address + 2514 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2515 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2516 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2517 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2518 "01101110000000000000" // axl1 = [0x500] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2519 "00101000000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2520 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2521 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2522 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2523 "00010000010000010001" // /* MW 1 */ +.return_address + 2524 "01101110000000000000" // axl1 = [0x518] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2525 "00101000110000010001" // /* MW 1 */ + 2526 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2527 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2528 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2529 "10010000001100010010" // bxl0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2530 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2531 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2532 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2533 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2534 "01101110000000000000" // bxl0 = [0x520] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2535 "00101001000000010010" // /* MW 1 */ +.return_address + 2536 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2537 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2538 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2539 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2540 "01101110000000000000" // bxl0 = [0x528] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2541 "00101001010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2542 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2543 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2544 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2545 "00010000010000010001" // /* MW 1 */ +.return_address + 2546 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2547 "00010000001100010001" // /* MW 1 */ + 2548 "01000000000000000000" // nop; sp[0x20] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2549 "00010000010001011010" // /* MW 1 */ +.no_stack_arguments + 2550 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2551 "00000101000000000000" // /* MW 1 */ +.return_address + 2552 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2553 "10010000001100010010" // /* MW 1 */ + 2554 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2555 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2556 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2557 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2558 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2559 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2560 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2561 "00010000010000010001" // /* MW 1 */ +.return_address + 2562 "10001000001010000001" // axs1 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2563 "01010101001111100101" // bx0 = ax1 + -0x1; axs1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2564 "00001000000100000001" // /* MW 1 */ + 2565 "01010100100001000100" // ax1 = ax1 | bx0; sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2566 "10010000000101011000" // /* MW 1 */ + 2567 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2568 "01000010000000100100" // if (nz) jpsdb 0x4; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 2569 "10010000000000010010" // /* MW 1 */ +.delay_slot + 2570 "01101110000000000000" // axl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2571 "00100111010000010000" // /* MW 1 */ + 2572 "01101110000000000000" // axl0 = [0x588] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2573 "00101100010000010000" // /* MW 1 */ + 2574 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 2575 "01010101000000001000" // ax1 = bx0 + 0x0; bl0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2576 "10011000111010001110" // /* MW 1 */ + 2577 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2578 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2579 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2580 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2581 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2582 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2583 "10010000001100010010" // /* MW 1 */ +.return_address + 2584 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2585 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2586 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2587 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2588 "01000000000000000000" // nop; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2589 "00010000000100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2590 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2591 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2592 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2593 "00010000000000010001" // /* MW 1 */ +.return_address + 2594 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2595 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2596 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2597 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2598 "01000000000000000000" // nop; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2599 "00010000001100010010" // /* MW 1 */ +.return_address + 2600 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2601 "00010000000000010001" // /* MW 1 */ + 2602 "01000000000000000000" // nop; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2603 "00010000000101011010" // /* MW 1 */ +.no_stack_arguments + 2604 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2605 "00000101000000000000" // /* MW 1 */ +.return_address + 2606 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2607 "10010000000100010010" // /* MW 1 */ + 2608 "10001000001101010001" // sp[0x18] = ah1 /* control_operation: words=1 cycles_taken=1 */ + 2609 "10001000001011001101" // sp[0x14] = al1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2610 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2611 "00000101000011000000" // /* MW 1 */ +.return_address + 2612 "10001000001100000001" // axs1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2613 "01101100000000000000" // bxs0 = [0x4d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2614 "00100110100000000010" // /* MW 1 */ + 2615 "01101100000000000000" // rb0 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2616 "00100101011000001010" // /* MW 1 */ + 2617 "01011000000001000100" // cmp(ax1,bx0); bxs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2618 "00001000001010000010" // /* MW 1 */ + 2619 "01000010000100111101" // if (ns) jpsdb 0x27; sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=39 delay_slots=1 */ + 2620 "10010000010001011000" // /* MW 1 */ +.delay_slot + 2621 "00101000100110001000" // ax0 = ax1 & rb0 /* control_operation: words=1 cycles_taken=1 */ + 2622 "01101100000000000000" // rb0 = [0x4d4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2623 "00100110101000001010" // /* MW 1 */ + 2624 "01011000000011000000" // cmp(ax0,rb0); sp[0x14] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2625 "00001000001011010000" // /* MW 1 */ + 2626 "10111100000111010010" // if (s) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 2627 "01101100000000000000" // axs0 = [0x4e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2628 "00100111000000000000" // /* MW 1 */ + 2629 "01010100000000000111" // rb0 = ax1 + ax0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2630 "00010000010100010001" // /* MW 1 */ + 2631 "00101001000010110000" // ax0 = rb0 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 2632 "10001000001111010000" // sp[0x1c] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2633 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2634 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2635 "01101110000000000000" // bxl0 = [0x5a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2636 "00101101000000010010" // /* MW 1 */ +.return_address + 2637 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2638 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2639 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2640 "01101110000000000000" // bxl0 = [0x5a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2641 "00101101000000010010" // /* MW 1 */ +.return_address + 2642 "10001000001110000001" // axs1 = sp[0x1c] /* control_operation: words=1 cycles_taken=1 */ + 2643 "01011001010000000100" // cmpu(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2644 "00010000011001011000" // /* MW 1 */ + 2645 "10111101100101001001" // if (nz) jpsdb 0x194 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=404 delay_slots=1 */ +.delay_slot + 2646 "10010000000000010000" // axl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2647 "01100110000000000000" // calldb 0x6c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1732 delay_slots=1 */ + 2648 "00000110110001001000" // /* MW 1 */ +.delay_slot + 2649 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2650 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2651 "10111101100010101001" // if (nz) jpsdb 0x18a /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=394 delay_slots=1 */ +.delay_slot + 2652 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2653 "00100110000000000001" // /* MW 1 */ + 2654 "01000000000000000000" // nop; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2655 "00111100000000100111" // /* MW 1 */ + 2656 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2657 "00100110000000000001" // /* MW 1 */ + 2658 "01000010000100011011" // jps 0x23; axs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=35 */ + 2659 "10001000001010000000" // /* MW 1 */ + 2660 "01101100000000000000" // rb0 = [0x4dc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2661 "00100110111000001010" // /* MW 1 */ + 2662 "01010100000011000111" // rb0 = ax1 + rb0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2663 "00010000010100010001" // /* MW 1 */ + 2664 "01010100100001011000" // ax0 = rb0 | bx0; sp[0x14] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2665 "00001000001011010000" // /* MW 1 */ + 2666 "10001000001111010000" // sp[0x1c] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2667 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2668 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2669 "01101110000000000000" // bxl0 = [0x590] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2670 "00101100100000010010" // /* MW 1 */ +.return_address + 2671 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2672 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2673 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2674 "01101110000000000000" // bxl0 = [0x590] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2675 "00101100100000010010" // /* MW 1 */ +.return_address + 2676 "10001000001110000001" // axs1 = sp[0x1c] /* control_operation: words=1 cycles_taken=1 */ + 2677 "01011001000000000100" // cmp(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2678 "00010000011001011000" // /* MW 1 */ + 2679 "10111101011110100001" // if (nz) jps 0x17a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=378 */ + 2680 "01000000000000000000" // nop; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2681 "00010000000000010001" // /* MW 1 */ +.no_stack_arguments + 2682 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2683 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2684 "01101110000000000000" // bxl0 = [0x598] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2685 "00101100110000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2686 "01100110000000000000" // calldb 0x702 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1794 delay_slots=1 */ + 2687 "00000111000000101000" // /* MW 1 */ +.delay_slot + 2688 "01010101000000000000" // ax1 = ax0 + 0x0; axl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2689 "10010000010000010000" // /* MW 1 */ +.return_address + 2690 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2691 "01000010101101001100" // if (nz) jpsdb 0x169; axs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=361 delay_slots=1 */ + 2692 "10001000001010000000" // /* MW 1 */ +.delay_slot + 2693 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2694 "00100110000000000001" // /* MW 1 */ + 2695 "00110000000001000000" // cmp(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2696 "01010001011010000011" // rb0 = asr(ax0,0x14); if (np) jps 0x26 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=38 */ + 2697 "00111100001001100101" // /* MW 1 */ + 2698 "10110010000000010001" // axs1 = -0x3fe /* control_operation: words=1 cycles_taken=1 */ + 2699 "01010100000000111000" // ax1 = rb0 + ax1; axs0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2700 "10001000001100000000" // /* MW 1 */ + 2701 "01101000000001000000" // rb0 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2702 "00000000000000001010" // /* MW 1 */ + 2703 "01010000110000111011" // rb0 = lsr(rb0,ax1); axs1 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2704 "00110010000000001001" // /* MW 1 */ + 2705 "01010100000011000011" // rb0 = ax0 + rb0; bxs0 = -0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2706 "00110011111111111010" // /* MW 1 */ + 2707 "01101100000000000000" // rb1 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2708 "00100101011000001011" // /* MW 1 */ + 2709 "01010100010011111011" // rb1 = rb0 & rb1; bxs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2710 "10110000000110100011" // /* MW 1 */ + 2711 "00100010110100111111" // rb1 = asr(rb1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 2712 "01101000000000111111" // ra0 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2713 "11111111111111001000" // /* MW 1 */ + 2714 "00101000100100110101" // ra1 = rb0 & ra0 /* control_operation: words=1 cycles_taken=1 */ + 2715 "01010100000000111100" // ax1 = rb1 + ax1; rb1 = 0x14 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2716 "10110000000010100111" // /* MW 1 */ + 2717 "00100001100001100100" // ra0 = lsr(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2718 "00101001100010100010" // bx0 = ra0 ^ bx0 /* control_operation: words=1 cycles_taken=1 */ + 2719 "00101000100010110010" // bx0 = rb0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 2720 "01010010000001110101" // bx1 = bs(ra1,bx1); bxs0 = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2721 "10011000010010000010" // /* MW 1 */ + 2722 "01010111000000111100" // ax1 = rb1 - ax1; bl0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2723 "10011000111010001110" // /* MW 1 */ + 2724 "01010000010000101111" // rb0 = asr(bx1,ax1); axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2725 "00010000000100010001" // /* MW 1 */ + 2726 "01011001000000000000" // cmp(ax0,0x0); sp[0x14] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2727 "00001000001011001010" // /* MW 1 */ + 2728 "10111100000000110011" // if (ns) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2729 "10001000001010000000" // axs0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2730 "00110110000000000000" // ax0 = -ax0 /* control_operation: words=1 cycles_taken=1 */ + 2731 "10001000001011010000" // sp[0x14] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2732 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2733 "00000101000011000000" // /* MW 1 */ +.return_address + 2734 "01010101000000000001" // bx0 = ax0 + 0x0; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2735 "00111100000000100111" // /* MW 1 */ + 2736 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2737 "10001000001011111010" // sp[0x14] = zero /* control_operation: words=1 cycles_taken=1 */ + 2738 "10010000000101011010" // sp[0x8] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2739 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2740 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2741 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2742 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2743 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2744 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2745 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2746 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2747 "01101110000000000000" // bxl0 = [0x5a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2748 "00101101010000010010" // /* MW 1 */ +.return_address + 2749 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2750 "10010000000101011000" // sp[0x8] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2751 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2752 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2753 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address +.no_stack_arguments + 2754 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2755 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2756 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2757 "00010000000000010001" // /* MW 1 */ +.return_address + 2758 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2759 "10111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2760 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2761 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2762 "01101110000000000000" // bxl0 = [0x5b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2763 "00101101100000010010" // /* MW 1 */ +.return_address + 2764 "01101110000000000000" // bxl0 = [0x5b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2765 "00101101110000010010" // /* MW 1 */ + 2766 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2767 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2768 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2769 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address +.no_stack_arguments + 2770 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2771 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2772 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2773 "00010000000000010001" // /* MW 1 */ +.return_address + 2774 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2775 "00010000000100010001" // /* MW 1 */ + 2776 "01000000000000000000" // nop; sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2777 "00010000000001011010" // /* MW 1 */ +.no_stack_arguments + 2778 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2779 "00000101000000000000" // /* MW 1 */ +.return_address + 2780 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2781 "10010000000100010010" // /* MW 1 */ + 2782 "01000000000000000000" // nop; sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2783 "00010000000101011001" // /* MW 1 */ +.no_stack_arguments + 2784 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2785 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2786 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2787 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2788 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2789 "00010000000000010001" // /* MW 1 */ +.return_address + 2790 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2791 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2792 "00010000000001011000" // /* MW 1 */ +.no_stack_arguments + 2793 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2794 "00000101000110000000" // /* MW 1 */ +.return_address + 2795 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2796 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2797 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2798 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2799 "01101110000000000000" // bxl0 = [0x5e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2800 "00101111000000010010" // /* MW 1 */ +.return_address + 2801 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2802 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2803 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2804 "01101110000000000000" // axl1 = [0x5d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2805 "00101110110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2806 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2807 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2808 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2809 "00010000001100010001" // /* MW 1 */ +.return_address + 2810 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2811 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2812 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2813 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2814 "01101110000000000000" // axl1 = [0x5d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2815 "00101110100000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2816 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2817 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2818 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2819 "00010000001100010001" // /* MW 1 */ +.return_address + 2820 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2821 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2822 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2823 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2824 "01101110000000000000" // axl1 = [0x5c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2825 "00101110010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2826 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2827 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2828 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2829 "00010000001100010001" // /* MW 1 */ +.return_address + 2830 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2831 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2832 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2833 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2834 "01101110000000000000" // axl1 = [0x5c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2835 "00101110000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2836 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2837 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2838 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2839 "00010000001100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2840 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2841 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2842 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2843 "00010000000100010001" // /* MW 1 */ +.return_address + 2844 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2845 "00010000000100010001" // /* MW 1 */ + 2846 "10010000001101011010" // sp[0x18] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2847 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2848 "00000101000110000000" // /* MW 1 */ +.return_address + 2849 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2850 "01000000000000000000" // nop; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2851 "00010000001101011000" // /* MW 1 */ +.no_stack_arguments + 2852 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2853 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2854 "01101110000000000000" // bxl0 = [0x5e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2855 "00101111010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2856 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2857 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2858 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2859 "00010000001100010001" // /* MW 1 */ +.return_address + 2860 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2861 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2862 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2863 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2864 "01000000000000000000" // nop; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2865 "00010000000000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2866 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2867 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2868 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2869 "00010000000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2870 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2871 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2872 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2873 "00010000001100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2874 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2875 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2876 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2877 "10010000000100010010" // /* MW 1 */ +.return_address + 2878 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2879 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2880 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2881 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2882 "00100111010000010001" // /* MW 1 */ +.return_address + 2883 "10001000001010001000" // ra0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2884 "01010001101010010000" // ax1 = lsl(ra0,0x14); bxs0 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2885 "10011000010000000010" // /* MW 1 */ + 2886 "01010100000000101001" // bx0 = bx0 + ax1; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2887 "00010000010100010001" // /* MW 1 */ + 2888 "00100010110100010110" // rb0 = asr(bx0,0x14) /* control_operation: words=1 cycles_taken=1 */ + 2889 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2890 "10111100000000110101" // if (np) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2891 "01000010000000111111" // jpsdb 0x7; bxs0 = bh0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 delay_slots=1 */ + 2892 "10011000010010000010" // /* MW 1 */ +.delay_slot + 2893 "10011000001100001110" // bl0 = al0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2894 "01100110000000000000" // calldb 0x742 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1858 delay_slots=1 */ + 2895 "00000111010000101000" // /* MW 1 */ +.delay_slot + 2896 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2897 "10111000000000000000" // /* MW 1 */ +.return_address + 2898 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2899 "00010000010100010001" // /* MW 1 */ +.no_stack_arguments + 2900 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2901 "00000101000110000000" // /* MW 1 */ +.return_address + 2902 "01000000000000000000" // nop; jps 0x11 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=17 */ + 2903 "00111100000100010111" // /* MW 1 */ +.no_stack_arguments + 2904 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2905 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2906 "01010101000000000101" // bx0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2907 "00111000000000000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2908 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2909 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2910 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2911 "00011001001000000001" // /* MW 1 */ +.return_address + 2912 "01000000000000000000" // nop; jps 0x7 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 2913 "00111100000001110111" // /* MW 1 */ +.no_stack_arguments + 2914 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2915 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2916 "10010000000000010010" // bxl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2917 "10111100000000110111" // jps 0x3 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2918 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2919 "01101110000000000000" // axl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2920 "00100111010000010000" // /* MW 1 */ + 2921 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2922 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2923 "00101000000010110000" // /* MW 1 */ + 2924 "00101001000000101001" // ax1 = ra1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 2925 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2926 "10111100000100011000" // if (z) jpsdb 0x11 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=17 delay_slots=1 */ +.delay_slot + 2927 "01101100000000000000" // axs1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2928 "00100101110000000001" // /* MW 1 */ + 2929 "00110000000001011000" // cmp(bx1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2930 "01000010000000111001" // if (ns) jps 0x7; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 2931 "10011000111010000000" // /* MW 1 */ + 2932 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2933 "01000010000001101001" // if (ns) jps 0xd; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=13 */ + 2934 "10010000000000010010" // /* MW 1 */ +.no_stack_arguments + 2935 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2936 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2937 "10011000111010000001" // axs1 = zero /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2938 "10111100000010010111" // jps 0x9 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=9 */ + 2939 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2940 "01000010000000110001" // if (ns) jps 0x6; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 2941 "10010000000000010000" // /* MW 1 */ + 2942 "01000010000000100011" // jps 0x4; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 2943 "10011000111010000000" // /* MW 1 */ + 2944 "10010000000000010010" // bxl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2945 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2946 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2947 "00101010000000010001" // ax1 = bx0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2948 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2949 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2950 "00101000000010110000" // /* MW 1 */ + 2951 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2952 "01000010000000101101" // if (ns) jpsdb 0x5; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 delay_slots=1 */ + 2953 "10010000000100010000" // /* MW 1 */ +.delay_slot + 2954 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2955 "00100111010000010001" // /* MW 1 */ +.no_stack_arguments + 2956 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2957 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2958 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2959 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2960 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2961 "00101000000010110000" // /* MW 1 */ + 2962 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2963 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2964 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2965 "00101010000000010001" // ax1 = bx0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2966 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2967 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2968 "00101000000010110000" // /* MW 1 */ + 2969 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 2970 "01100100000000000000" // jpdb 0xbf6 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=3062 delay_slots=1 */ + 2971 "00001011111101101111" // /* MW 1 */ +.delay_slot + 2972 "01000000000000000000" // nop; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2973 "00101000000010110000" // /* MW 1 */ +.return_address + 2974 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2975 "00100111010000010001" // /* MW 1 */ + 2976 "01011001000000011100" // cmp(rb1,0x0); sp[0x0] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2977 "00001000000001001010" // /* MW 1 */ + 2978 "01000010000000110001" // if (ns) jps 0x6; sp[0x4] = ra1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 2979 "10001000000011001001" // /* MW 1 */ +.no_stack_arguments + 2980 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2981 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2982 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2983 "00111000000000000000" // /* MW 1 */ +.return_address + 2984 "01000010000000010011" // jps 0x2; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2985 "10001000000000000001" // /* MW 1 */ + 2986 "01000000000000000000" // nop; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2987 "00001000000000000001" // /* MW 1 */ + 2988 "01011001000000000100" // cmp(ax1,0x0); bxs0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2989 "00001000000010000010" // /* MW 1 */ + 2990 "01000010000010010001" // if (ns) jps 0x12; axs1 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=18 */ + 2991 "10001000001010000001" // /* MW 1 */ + 2992 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 2993 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2994 "10111100000001110000" // if (z) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 2995 "00110010000001001000" // cmp(ax1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 2996 "01000010000001100000" // if (nz) jps 0xc; axs1 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=12 */ + 2997 "10011000111010000001" // /* MW 1 */ +.no_stack_arguments + 2998 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2999 "00000101000011001000" // /* MW 1 */ +.delay_slot + 3000 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 3001 "10111100000010000111" // jps 0x8 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 */ +.no_stack_arguments + 3002 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 3003 "00000101000011001000" // /* MW 1 */ +.delay_slot + 3004 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3005 "10011001001000000010" // /* MW 1 */ +.return_address +.no_stack_arguments + 3006 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 3007 "00000101110001001000" // /* MW 1 */ +.delay_slot + 3008 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3009 "00011001001000000001" // /* MW 1 */ +.return_address + 3010 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3011 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3012 "00101000000010110000" // /* MW 1 */ + 3013 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3014 "01000010000000100101" // if (s) jpsdb 0x4; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 3015 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3016 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3017 "00100111110000010000" // /* MW 1 */ + 3018 "01000000000000000000" // nop; axs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3019 "00011000111010000000" // /* MW 1 */ + 3020 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3021 "00101000000010110000" // /* MW 1 */ + 3022 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3023 "01000010000000011110" // if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3024 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3025 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3026 "00100111110000010000" // /* MW 1 */ + 3027 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3028 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3029 "00101000000010110000" // /* MW 1 */ + 3030 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3031 "01000010000000011101" // if (s) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3032 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3033 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3034 "00100111110000010000" // /* MW 1 */ + 3035 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3036 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3037 "00101000000010110000" // /* MW 1 */ + 3038 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3039 "01000010000000011110" // if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3040 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3041 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3042 "00100111110000010000" // /* MW 1 */ + 3043 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3044 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3045 "00101000000010110000" // /* MW 1 */ + 3046 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3047 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3048 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3049 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3050 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3051 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3052 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3053 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3054 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3055 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3056 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3057 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3058 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3059 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3060 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3061 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ +.label ff_sqrt +.function ff_sqrt ff_sqrt +.function_start + 3062 "10011000010001001000" // ra0 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 3063 "01101100000000000000" // bxs0 = [0x5f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3064 "00101111100000000010" // /* MW 1 */ + 3065 "01010100010001010011" // rb0 = ra0 & bx0; axs0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3066 "00011000001101000000" // /* MW 1 */ + 3067 "01011000000001011000" // cmp(rb0,bx0); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3068 "00101011111111010000" // /* MW 1 */ + 3069 "10111100110000010000" // if (z) jps 0xc1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=193 */ + 3070 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3071 "10111100000010000100" // if (p) jps 0x8 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 */ + 3072 "01101100000000000000" // bxs0 = [0x5f4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3073 "00101111101000000010" // /* MW 1 */ + 3074 "00101000100010100010" // bx0 = ra0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 3075 "00101001000000010010" // bx0 = bx0 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 3076 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3077 "10111100110100010000" // if (z) jps 0xd1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=209 */ + 3078 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3079 "10111100110001000010" // if (s) jps 0xc4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=196 */ + 3080 "00100010110100100110" // rb0 = asr(ra0,0x14) /* control_operation: words=1 cycles_taken=1 */ + 3081 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3082 "10111100000111000001" // if (nz) jps 0x1c /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=28 */ + 3083 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3084 "01011100000010000000" // ax1 = 32; if (nz) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 3085 "10111100000010000001" // /* MW 1 */ + 3086 "00111000011101011010" // bx0 = -21 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 3087 "00100011101011000101" // ra1 = lsr(ax0,0xb) /* control_operation: words=1 cycles_taken=1 */ + 3088 "00101001000101100100" // ra0 = ra0 | ra1 /* control_operation: words=1 cycles_taken=1 */ + 3089 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3090 "01010100000001011011" // rb0 = rb0 + bx0; if (z) jpsdb -0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-5 delay_slots=1 */ + 3091 "00111111111110111000" // /* MW 1 */ +.delay_slot + 3092 "01010001101010100000" // ax0 = lsl(ax0,0x15); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3093 "00111000000000000000" // /* MW 1 */ +.loop_nesting 0 + 3094 "01101000000001000000" // ra1 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3095 "00000000000000001001" // /* MW 1 */ + 3096 "01010100010010110011" // rb1 = ra0 & ra1; bxs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3097 "10011000111010000010" // /* MW 1 */ + 3098 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3099 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ +.loop_nesting 1 + 3100 "00100011000001100100" // ra0 = lsl(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3101 "00101000100101100111" // rb1 = ra0 & ra1 /* control_operation: words=1 cycles_taken=1 */ + 3102 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3103 "01010101000000101001" // bx0 = bx0 + 0x1; if (z) jps -0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-5 */ + 3104 "00111111111110110000" // /* MW 1 */ +.loop_nesting 0 + 3105 "00101110000010001101" // ra1 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 3106 "00101010011111010001" // ax1 = bx0 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 3107 "00100001100101000101" // ra1 = lsr(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3108 "00100001000010000000" // ax0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 3109 "00101110000001110110" // rb0 = rb0 - ax1 /* control_operation: words=1 cycles_taken=1 */ + 3110 "00101001000101100100" // ra0 = ra0 | ra1 /* control_operation: words=1 cycles_taken=1 */ + 3111 "10110010000000001001" // axs1 = -0x3ff /* control_operation: words=1 cycles_taken=1 */ + 3112 "01101000000000111111" // ra1 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3113 "11111111111111001001" // /* MW 1 */ + 3114 "01010100000000111011" // rb0 = rb0 + ax1; bxs0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3115 "00110000000100000010" // /* MW 1 */ + 3116 "01010010110001011000" // bt(rb0,bx0); axs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3117 "00110000000110100001" // /* MW 1 */ + 3118 "01010100010010110010" // ra0 = ra0 & ra1; if (nz) jpsdb 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 delay_slots=1 */ + 3119 "00111100000010001001" // /* MW 1 */ +.delay_slot + 3120 "00100100000001100100" // ra0 = bs(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 3121 "01101100000000000000" // axs1 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3122 "00101111110000000001" // /* MW 1 */ + 3123 "00101000100001000001" // ax1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3124 "00100011111111001101" // ra1 = lsr(ax1,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3125 "00100011000001100001" // ax1 = lsl(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3126 "00101000000101001100" // ra0 = ax1 + ra1 /* control_operation: words=1 cycles_taken=1 */ + 3127 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3128 "01101100000000000000" // axs1 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3129 "00101111110000000001" // /* MW 1 */ + 3130 "01010100010000100010" // ra1 = ax0 & ax1; bxs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3131 "10011000111010000011" // /* MW 1 */ + 3132 "00100010100001110110" // rb0 = asr(rb0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3133 "01010001100000110011" // rb0 = lsl(ra0,0x1); sp[0x0] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3134 "00001000000001001010" // /* MW 1 */ + 3135 "01010001111111110110" // ra1 = lsr(ra1,0x1f); ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3136 "10011000111010001000" // /* MW 1 */ + 3137 "01010100000010111010" // ra1 = rb0 + ra1; bxs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3138 "10011000111010000010" // /* MW 1 */ + 3139 "01101000000010000000" // rb0 = 0x200000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3140 "00000000000000001010" // /* MW 1 */ + 3141 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 3142 "00101000000110011111" // rb1 = bx1 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 3143 "00110000000101111000" // cmp(rb1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3144 "10111100000001000100" // if (p) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 3145 "00101110000111101101" // ra1 = ra1 - rb1 /* control_operation: words=1 cycles_taken=1 */ + 3146 "00101000000110111111" // rb1 = rb1 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 3147 "01010100000011010010" // ra0 = ra0 + rb0; bxs1 = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3148 "00011000001011000011" // /* MW 1 */ + 3149 "00100011100001110110" // rb0 = lsr(rb0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3150 "00110010100000110000" // cmpu(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3151 "00101000100001000111" // rb1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3152 "00100011000001101101" // ra1 = lsl(ra1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3153 "00100011111111111111" // rb1 = lsr(rb1,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3154 "01010001100000100000" // ax0 = lsl(ax0,0x1); if (nz) jpsdb -0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-14 delay_slots=1 */ + 3155 "00111111111100101001" // /* MW 1 */ +.delay_slot + 3156 "00101000000111101101" // ra1 = ra1 + rb1 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 0 + 3157 "01011100000000000010" // ra0 = 0; sp[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3158 "00001000000011001000" // /* MW 1 */ + 3159 "01010101000000000110" // ra0 = ax1 + 0x0; sp[0xc] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3160 "00001000000111001000" // /* MW 1 */ +.loop_nesting 1 + 3161 "00110000000101011000" // cmp(bx1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3162 "01010100000010001011" // rb0 = bx0 + ra0; if (s) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 3163 "00111100000001000010" // /* MW 1 */ + 3164 "00110000000101011000" // cmp(bx1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3165 "10111100000110000001" // if (nz) jps 0x18 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=24 */ + 3166 "00110000100000110000" // cmpu(rb0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 3167 "10111100000101100100" // if (p) jps 0x16 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=22 */ + 3168 "00101000100001110010" // bx0 = rb0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3169 "00110000100001010000" // cmpu(bx0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 3170 "01010100000010011011" // rb1 = rb0 + ra0; if (nz) jpsdb 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 delay_slots=1 */ + 3171 "10111100000010001001" // /* MW 1 */ +.delay_slot + 3172 "01010101000000011101" // bx0 = rb1 + 0x0; rb1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3173 "00011000010011001011" // /* MW 1 */ + 3174 "01010100010000101010" // ra1 = bx0 & ax1; sp[0x8] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3175 "10001000000101001001" // /* MW 1 */ + 3176 "00110010100000101000" // cmpu(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3177 "01000010000000001000" // if (nz) jps 0x1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 3178 "10001000000100001001" // /* MW 1 */ + 3179 "00101010000001011111" // rb1 = bx1 + 0x1 /* control_operation: words=1 cycles_taken=1 */ + 3180 "00110000100110000000" // cmpu(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 3181 "01010111000001110110" // ra1 = ra1 - bx1; if (ns) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3182 "10111100000000111011" // /* MW 1 */ +.delay_slot + 3183 "01010101000000011101" // bx1 = rb1 + 0x0; rb1 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3184 "10001000000110001011" // /* MW 1 */ + 3185 "00101010011111101101" // ra1 = ra1 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 3186 "00101000000100111111" // rb1 = rb1 + ra0 /* control_operation: words=1 cycles_taken=1 */ + 3187 "01010111000011000011" // rb0 = ax0 - rb0; sp[0xc] = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3188 "00001000000111001011" // /* MW 1 */ + 3189 "00101010000000110000" // ax0 = rb0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 3190 "00100011100001100100" // ra0 = lsr(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3191 "00110010100000100000" // cmpu(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3192 "00101000100001000110" // rb0 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3193 "00100011000001101101" // ra1 = lsl(ra1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3194 "00100011111111110110" // rb0 = lsr(rb0,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3195 "01010001100000100000" // ax0 = lsl(ax0,0x1); if (nz) jpsdb -0x24 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-36 delay_slots=1 */ + 3196 "00111111110111001001" // /* MW 1 */ +.delay_slot + 3197 "00101000000110101101" // ra1 = ra1 + rb0 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 0 + 3198 "00101001000000101001" // ax1 = ra1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 3199 "01011001010000000100" // cmpu(ax1,0x0); sp[0x8] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3200 "00001000000101110110" // /* MW 1 */ + 3201 "10111100001010000000" // if (z) jps 0x28 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=40 */ + 3202 "01101110000000000000" // axl1 = [0x600] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3203 "00110000000000010001" // /* MW 1 */ +.no_stack_arguments + 3204 "01100110000000000000" // calldb 0x6c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1732 delay_slots=1 */ + 3205 "00000110110001001000" // /* MW 1 */ +.delay_slot + 3206 "01010101000000000100" // ax0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3207 "00111000000000000000" // /* MW 1 */ +.return_address + 3208 "01011001000000010000" // cmp(ra0,0x0); axs1 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3209 "00001000000010000001" // /* MW 1 */ + 3210 "01000010000011100000" // if (z) jps 0x1c; ra0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=28 */ + 3211 "00001000000110001000" // /* MW 1 */ + 3212 "01010101000000100100" // ax1 = ax1 + 0x1; axs0 = -0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3213 "10110011111111111000" // /* MW 1 */ + 3214 "01011000010000010000" // cmpu(ra0,ax0); sp[0x10] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3215 "00001000001001010001" // /* MW 1 */ + 3216 "10111100000101010000" // if (z) jps 0x15 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=21 */ + 3217 "01101110000000000000" // axl1 = [0x600] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3218 "00110000000000010001" // /* MW 1 */ +.no_stack_arguments + 3219 "01100110000000000000" // calldb 0x702 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1794 delay_slots=1 */ + 3220 "00000111000000101000" // /* MW 1 */ +.delay_slot + 3221 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 3222 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3223 "01000010000000101000" // if (nz) jps 0x5; axs1 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 3224 "10001000000110000001" // /* MW 1 */ + 3225 "10001000000010000010" // bxs0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3226 "01010101010000100100" // ax0 = ax1 & 0x1; jpsdb 0x11 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=17 delay_slots=1 */ + 3227 "00111100000100011111" // /* MW 1 */ +.delay_slot + 3228 "01010100000000000110" // ra0 = ax1 + ax0; sp[0x10] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3229 "00001000001001010010" // /* MW 1 */ + 3230 "00111000011111110000" // ax0 = -2 /* control_operation: words=1 cycles_taken=1 */ + 3231 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 3232 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 3233 "10001000000010000000" // axs0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3234 "01000000000000000000" // nop; sp[0x10] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3235 "00001000001001010000" // /* MW 1 */ + 3236 "01010101000001000110" // ra0 = ax1 + 0x2; jps 0x7 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 3237 "00111100000001110111" // /* MW 1 */ + 3238 "01000010000000101011" // jps 0x5; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 3239 "10011000111010001000" // /* MW 1 */ + 3240 "01000010000000011011" // jps 0x3; sp[0x10] = ah1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 3241 "10001000001001010001" // /* MW 1 */ + 3242 "10001000000010000001" // axs1 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3243 "10001000000110001000" // ra0 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ + 3244 "10001000001001010001" // sp[0x10] = ah1 /* control_operation: words=1 cycles_taken=1 */ + 3245 "00100011100001100100" // ra0 = lsr(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3246 "10001000001000000000" // axs0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3247 "01010101010000100001" // bx0 = ax0 & 0x1; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3248 "00001000000000000001" // /* MW 1 */ + 3249 "00110010000001010000" // cmp(bx0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3250 "00100010100001000110" // rb0 = asr(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3251 "01101100000000000000" // axs0 = [0x5fc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3252 "00101111111000000000" // /* MW 1 */ + 3253 "01010100000000011000" // ax0 = rb0 + ax0; if (nz) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3254 "00111100000000111001" // /* MW 1 */ +.delay_slot + 3255 "01101100000000000000" // bxs0 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3256 "00101111110000000010" // /* MW 1 */ + 3257 "00101001000010100100" // ra0 = ra0 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 3258 "00100011010100001001" // ax1 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 3259 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 3260 "01000010000001010111" // jpsdb 0xa; axs0 = ah1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 delay_slots=1 */ + 3261 "10011000010001000000" // /* MW 1 */ +.delay_slot + 3262 "10011000001000001100" // al0 = ra0 /* control_operation: words=1 cycles_taken=1 */ + 3263 "10001000000101110110" // sp[0x8] = lr /* control_operation: words=1 cycles_taken=1 */ + 3264 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3265 "00010000000001011001" // /* MW 1 */ +.no_stack_arguments + 3266 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 3267 "00000101000110000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 3268 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 3269 "00000101000000001000" // /* MW 1 */ +.delay_slot + 3270 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3271 "10010000000000010010" // /* MW 1 */ +.return_address + 3272 "01000000000000000000" // nop; lr = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3273 "00001000000100110110" // /* MW 1 */ + 3274 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3275 "00101000000000110000" // /* MW 1 */ + 3276 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3277 "00001000000001110110" // /* MW 1 */ +.no_stack_arguments + 3278 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 3279 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 3280 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 3281 "00000101110001001000" // /* MW 1 */ +.delay_slot + 3282 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3283 "00011001001000000001" // /* MW 1 */ +.return_address + 3284 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 3285 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3286 "00101000000000110000" // /* MW 1 */ + 3287 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3288 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3289 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.dir 0 "%PROCDIR%" +.dir 1 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation" +.dir 2 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation/signal_processing" diff --git a/simulation/Release/simulation.cmico b/simulation/Release/simulation.cmico new file mode 100644 index 0000000..8e84664 --- /dev/null +++ b/simulation/Release/simulation.cmico @@ -0,0 +1 @@ ++Mhex diff --git a/simulation/Release/simulation.map b/simulation/Release/simulation.map new file mode 100644 index 0000000..32f74db --- /dev/null +++ b/simulation/Release/simulation.map @@ -0,0 +1,254 @@ + +// File generated by bridge version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:49 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\bridge.exe -oRelease/simulation Release/main.o Release/signal_path.o -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -g -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 -cC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/lpdsp32.bcf -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib -llpdsp32 -lc -lsoftfloat -lm -a2 -m -fH +work Release/chesswork -plpdsp32 + +// Release: ipp X-2025.06 + +Memory map for memory 'DM': + + Size = 16777216 + Width = 8 bits + Offset = 0 + Used = 10011 + + 0x00000004..0x00000007 : Occupied in alias or record memory 'DMA' by symbol '_ZL15action_required' + 0x00000008..0x00000097 : Occupied in alias or record memory 'DMA' by symbol '_ZL16corrupted_signal' + 0x00000098..0x00000127 : Occupied in alias or record memory 'DMA' by symbol '_ZL22reference_noise_signal' + 0x00000128..0x0000012b : Occupied in alias or record memory 'DMA' by symbol '_ZL14output_pointer' + 0x0000012c..0x0000012f : Occupied in alias or record memory 'DMA' by symbol '_ZL14sample_pointer' + 0x00000130..0x00000133 : Occupied in alias or record memory 'DMA' by symbol '_ZZ4mainvE4mode' + 0x00000134..0x00000137 : Occupied in alias or record memory 'DMA' by symbol '_ZL2mu' + 0x00000138..0x0000014f ( 24 items) : Release/main.o::_ro_data_DM_8___main__3 (Data, Global, .rodata.constmem.DM) + 0x00000150..0x00000153 : Occupied in alias or record memory 'DMA' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre' + 0x00000154..0x00000157 : Occupied in alias or record memory 'DMA' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre' + 0x00000158..0x0000015b : Occupied in alias or record memory 'DMA' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32' + 0x0000015c..0x0000015f : Occupied in alias or record memory 'DMA' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32' + 0x00000160..0x0000016b : Occupied in alias or record memory 'DMA' by symbol 'ptr_fir_lms_coeffs' + 0x00000170..0x0000026f : Occupied in alias or record memory 'DMA' by symbol 'fir_lms_coeffs' + 0x00000270..0x0000027f ( 16 items) : Release/signal_path.o::_ro_data_DM_8___Z21sig_init_preemph_coefP16SingleSignalPathdddddi__2 (Data, Global, .rodata.constmem.DM) + 0x00000280..0x0000028f ( 16 items) : Release/signal_path.o::_ro_data_DM_8___Z15sig_init_weightP16SingleSignalPathdi__2 (Data, Global, .rodata.constmem.DM) + 0x00000290..0x00000297 ( 8 items) : Release/signal_path.o::_ro_data_DM_8___Z4initP16SingleSignalPathS0_PdS1_iidddi__1 (Data, Global, .rodata.constmem.DM) + 0x00000298..0x00000397 : Occupied in alias or record memory 'DMA' by symbol '_main_argv_area' + 0x00000398..0x000003a7 ( 16 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___ZL18estimateDiv128To64yyy__2 (Data, Local, .rodata.constmem.DM) + 0x000003a8..0x000003b7 ( 16 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___ZL19propagateFloat64NaNyy__2 (Data, Local, .rodata.constmem.DM) + 0x000003b8..0x000003bf ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___ZL19roundAndPackFloat64iiy__1 (Data, Local, .rodata.constmem.DM) + 0x000003c0..0x000003c7 ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z30float64_to_int32_round_to_zeroy__1 (Data, Global, .rodata.constmem.DM) + 0x000003c8..0x000003cf ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_4___Z30float64_to_int32_round_to_zeroy__4 (Data, Global, .rodata.constmem.DM) + 0x000003d0..0x000003e7 ( 24 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___ZL14addFloat64Sigsyyi__3 (Data, Local, .rodata.constmem.DM) + 0x000003e8..0x000003ff ( 24 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___ZL14subFloat64Sigsyyi__3 (Data, Local, .rodata.constmem.DM) + 0x00000400..0x00000417 ( 24 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z11float64_mulyy__3 (Data, Global, .rodata.constmem.DM) + 0x00000418..0x0000042f ( 24 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z11float64_divyy__3 (Data, Global, .rodata.constmem.DM) + 0x00000430..0x00000437 ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z10float64_eqyy__1 (Data, Global, .rodata.constmem.DM) + 0x00000438..0x0000043f ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z10float64_leyy__1 (Data, Global, .rodata.constmem.DM) + 0x00000440..0x00000447 ( 8 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ro_data_DM_8___Z10float64_ltyy__1 (Data, Global, .rodata.constmem.DM) + 0x00000448..0x00000457 : Occupied in alias or record memory 'DMA' by symbol '_ZZ6ff_powddE2bp' + 0x00000458..0x00000467 : Occupied in alias or record memory 'DMA' by symbol '_ZZ6ff_powddE4dp_h' + 0x00000468..0x00000477 : Occupied in alias or record memory 'DMA' by symbol '_ZZ6ff_powddE4dp_l' + 0x00000478..0x0000049f ( 40 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_8__ff_ldexp__5 (Data, Global, .rodata.constmem.DM) + 0x000004a0..0x000004ab ( 12 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_4__ff_ldexp__9 (Data, Global, .rodata.constmem.DM) + 0x000004ac..0x000004e3 ( 56 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_4__ff_pow__14 (Data, Global, .rodata.constmem.DM) + 0x000004e8..0x000005ef ( 264 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_8__ff_pow__48 (Data, Global, .rodata.constmem.DM) + 0x000005f0..0x000005ff ( 16 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_4__ff_sqrt__4 (Data, Global, .rodata.constmem.DM) + 0x00000600..0x00000607 ( 8 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ro_data_DM_8__ff_sqrt__6 (Data, Global, .rodata.constmem.DM) + 0x0000e000..0x0000fff7 ( 8184 items) : Stack + 0x00800000..0x00800007 : Occupied in alias or record memory 'DMB' by symbol '_ZL10input_port' + 0x00800008..0x00800009 : Occupied in alias or record memory 'DMB' by symbol '_ZL6sample' + 0x0080000c..0x0080000f : Occupied in alias or record memory 'DMB' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt' + 0x00800010..0x00800017 : Occupied in alias or record memory 'DMB' by symbol '_ZL11output_port' + 0x00800018..0x0080001b : Occupied in alias or record memory 'DMB' by symbol '_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32' + 0x0080001c..0x0080011b : Occupied in alias or record memory 'DMB' by symbol 'fir_lms_delay_line' + 0x0080011c..0x00800127 : Occupied in alias or record memory 'DMB' by symbol 'ptr_fir_lms_delay_line' + 0x00c00004..0x00c00004 : Occupied in alias or record memory 'DMIO' by symbol '_ZL12css_cmd_flag' + +Memory map for memory 'DMA': + + Size = 8388608 + Width = 8 bits + Offset = 0 + Used = 9080 + + 0x00000004..0x00000007 ( 4 items) : Release/main.o::_ZL15action_required (Data, Local, .bss.DMA.4) + 0x00000008..0x00000097 ( 144 items) : Release/main.o::_ZL16corrupted_signal (Data, Local, .bss.DMA.4) + 0x00000098..0x00000127 ( 144 items) : Release/main.o::_ZL22reference_noise_signal (Data, Local, .bss.DMA.4) + 0x00000128..0x0000012b ( 4 items) : Release/main.o::_ZL14output_pointer (Data, Local, .bss.DMA.4) + 0x0000012c..0x0000012f ( 4 items) : Release/main.o::_ZL14sample_pointer (Data, Local, .bss.DMA.4) + 0x00000130..0x00000133 ( 4 items) : Release/main.o::_ZZ4mainvE4mode (Data, Local, .data.DMA.4) + 0x00000134..0x00000137 ( 4 items) : Release/signal_path.o::_ZL2mu (Data, Local, .bss.DMA.4) + 0x00000150..0x00000153 ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E11c_block_pre (Data, Local, .bss.DMA.4) + 0x00000154..0x00000157 ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E13acc_block_pre (Data, Local, .bss.DMA.4) + 0x00000158..0x0000015b ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E10cSensor_32 (Data, Local, .bss.DMA.4) + 0x0000015c..0x0000015f ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E12accSensor_32 (Data, Local, .bss.DMA.4) + 0x00000160..0x0000016b ( 12 items) : Release/signal_path.o::ptr_fir_lms_coeffs (Data, Global, .bss.DMA.4) + 0x00000170..0x0000026f ( 256 items) : Release/signal_path.o::fir_lms_coeffs (Data, Global, .bss.DMA.8) + 0x00000298..0x00000397 ( 256 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_main_argv_area (Data, Global, .bss.DMA.0) + 0x00000448..0x00000457 ( 16 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ZZ6ff_powddE2bp (Data, Local, .rodata.DMA.8) + 0x00000458..0x00000467 ( 16 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ZZ6ff_powddE4dp_h (Data, Local, .rodata.DMA.8) + 0x00000468..0x00000477 ( 16 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::_ZZ6ff_powddE4dp_l (Data, Local, .rodata.DMA.8) + 0x0000e000..0x0000fff7 ( 8184 items) : Stack + +Memory map for memory 'DMB': + + Size = 4194304 + Width = 8 bits + Offset = 0 + Used = 294 + + 0x00800000..0x00800007 ( 8 items) : Release/main.o::_ZL10input_port (Data, Local, .bss.DMB.2) + 0x00800008..0x00800009 ( 2 items) : Release/main.o::_ZL6sample (Data, Local, .bss.DMB.2) + 0x0080000c..0x0080000f ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E14acc_block_filt (Data, Local, .bss.DMB.4) + 0x00800010..0x00800017 ( 8 items) : Release/main.o::_ZL11output_port (Data, Local, .bss.DMB.2) + 0x00800018..0x0080001b ( 4 items) : Release/signal_path.o::_ZZ4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_E6out_32 (Data, Local, .bss.DMB.4) + 0x0080001c..0x0080011b ( 256 items) : Release/signal_path.o::fir_lms_delay_line (Data, Global, .bss.DMB.4) + 0x0080011c..0x00800127 ( 12 items) : Release/signal_path.o::ptr_fir_lms_delay_line (Data, Global, .bss.DMB.4) + +Memory map for memory 'DMIO': + + Size = 4194304 + Width = 8 bits + Offset = 0 + Used = 1 + + 0x00c00004..0x00c00004 ( 1 items) : Release/main.o::_ZL12css_cmd_flag (Data, Local, .bss.DMIO.1) + +Memory map for memory 'PM': + + Size = 16777216 + Width = 20 bits + Offset = 0 + Used = 3290 + + 0x00000000..0x0000001f ( 32 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_ivt (Function, Global, .text) + 0x00000020..0x00000025 ( 6 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_main_init (Function, Global, .text) + 0x00000026..0x0000007d ( 88 items) : Release/main.o::_main (Function, Global, .text) (stack frame size = 88) + 0x0000007e..0x0000008f ( 18 items) : Release/signal_path.o::_Z15sig_init_bufferP9BufferPtrPiii (Function, Global, .text) + 0x00000090..0x000000a1 ( 18 items) : Release/signal_path.o::_Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii (Function, Global, .text) + 0x000000a2..0x000000af ( 14 items) : Release/signal_path.o::_Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi (Function, Global, .text) + 0x000000b0..0x00000135 ( 134 items) : Release/signal_path.o::_Z21sig_init_preemph_coefP16SingleSignalPathdddddi (Function, Global, .text) (stack frame size = 48) + 0x00000136..0x0000013b ( 6 items) : Release/signal_path.o::_Z14sig_init_delayP16SingleSignalPathi (Function, Global, .text) + 0x0000013c..0x00000171 ( 54 items) : Release/signal_path.o::_Z15sig_init_weightP16SingleSignalPathdi (Function, Global, .text) (stack frame size = 24) + 0x00000172..0x000001cf ( 94 items) : Release/signal_path.o::_Z4initP16SingleSignalPathS0_PdS1_iidddi (Function, Global, .text) (stack frame size = 64) + 0x000001d0..0x00000221 ( 82 items) : Release/signal_path.o::_Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ (Function, Global, .text) (stack frame size = 8) + 0x00000222..0x0000023d ( 28 items) : lpdsp32_div.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_Z16div64_pos_called7accum_tS_Ry (Function, Global, .text) + 0x0000023e..0x000002cd ( 144 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL18estimateDiv128To64yyy (Function, Local, .text) (stack frame size = 72) + 0x000002ce..0x000002fb ( 46 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL19propagateFloat64NaNyy (Function, Local, .text) (stack frame size = 8) + 0x000002fc..0x00000349 ( 78 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL19roundAndPackFloat64iiy (Function, Local, .text) + 0x0000034a..0x0000034f ( 6 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL28normalizeRoundAndPackFloat64iiy (Function, Local, .text) + 0x00000350..0x0000036d ( 30 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z16int32_to_float64i (Function, Global, .text) + 0x0000036e..0x000003a1 ( 52 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z30float64_to_int32_round_to_zeroy (Function, Global, .text) + 0x000003a2..0x00000457 ( 182 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL14addFloat64Sigsyyi (Function, Local, .text) (stack frame size = 24) + 0x00000458..0x000004ff ( 168 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_ZL14subFloat64Sigsyyi (Function, Local, .text) (stack frame size = 32) + 0x00000500..0x0000050b ( 12 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z11float64_addyy (Function, Global, .text) + 0x0000050c..0x00000517 ( 12 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z11float64_subyy (Function, Global, .text) + 0x00000518..0x000005c3 ( 172 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z11float64_mulyy (Function, Global, .text) (stack frame size = 24) + 0x000005c4..0x00000697 ( 212 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z11float64_divyy (Function, Global, .text) (stack frame size = 40) + 0x00000698..0x000006c3 ( 44 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z10float64_eqyy (Function, Global, .text) + 0x000006c4..0x00000701 ( 62 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z10float64_leyy (Function, Global, .text) + 0x00000702..0x00000741 ( 64 items) : softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a)::_Z10float64_ltyy (Function, Global, .text) + 0x00000742..0x000007b9 ( 120 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::ff_ldexp (Function, Global, .text) (stack frame size = 32) + 0x000007ba..0x00000bf5 ( 1084 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::ff_pow (Function, Global, .text) (stack frame size = 88) + 0x00000bf6..0x00000cd9 ( 228 items) : math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a)::ff_sqrt (Function, Global, .text) (stack frame size = 24) + +External symbols: + + __dso_handle = 0x0 + _ctors_end = 0x0 + _ctors_start = 0x0 + _dtors_end = 0x0 + _dtors_start = 0x0 + _pc_end = 0xcda + _pc_start = 0x0 + _sp_end_DMA = 0xe000 + _sp_start_DMA = 0xfff8 + +Section summary for memory 'DM': + + .bss .data .rodata File + ---------- ---------- ---------- ---------- + 0 0 176 softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a) + 0 0 396 math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a) + 0 0 48 math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a) (in DMA) + 256 0 0 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) (in DMA) + 0 0 24 Release/main.o + 300 4 0 Release/main.o (in DMA) + 18 0 0 Release/main.o (in DMB) + 1 0 0 Release/main.o (in DMIO) + 0 0 40 Release/signal_path.o + 288 0 0 Release/signal_path.o (in DMA) + 276 0 0 Release/signal_path.o (in DMB) + ---------- ---------- ---------- ---------- + 1139 4 684 Total + +Section summary for memory 'DMA': + + .bss .data .rodata .stack File + ---------- ---------- ---------- ---------- ---------- + 0 0 0 8184 + 0 0 48 0 math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a) + 256 0 0 0 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + 300 4 0 0 Release/main.o + 288 0 0 0 Release/signal_path.o + ---------- ---------- ---------- ---------- ---------- + 844 4 48 8184 Total + +Section summary for memory 'DMB': + + .bss File + ---------- ---------- + 18 Release/main.o + 276 Release/signal_path.o + ---------- ---------- + 294 Total + +Section summary for memory 'DMIO': + + .bss File + ---------- ---------- + 1 Release/main.o + ---------- ---------- + 1 Total + +Section summary for memory 'PM': + + .text File + ---------- ---------- + 28 lpdsp32_div.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + 1284 softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a) + 1432 math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a) + 38 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + 88 Release/main.o + 420 Release/signal_path.o + ---------- ---------- + 3290 Total + +File summary: + +Release/main.o + DM 24 + DMA 304 + DMB 18 + DMIO 1 + PM 88 + +Release/signal_path.o + DM 40 + DMA 288 + DMB 276 + PM 420 + +softfloat.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib/libsoftfloat.a) + DM 176 + PM 1284 + +math.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib/libm.a) + DM 396 + DMA 48 + PM 1432 + +lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + DMA 256 + PM 38 + +lpdsp32_div.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + PM 28 + diff --git a/simulation/Release/simulation.srv b/simulation/Release/simulation.srv new file mode 100644 index 0000000..06dcfb0 --- /dev/null +++ b/simulation/Release/simulation.srv @@ -0,0 +1,4551 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 13:02:49 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -DBLOCK_LEN=1 -DMAX_FIR_COEFFS=64 -D__tct_patch__=0 +Mhex +Ihex -g +u Release/simulation lpdsp32 + +// Release: ipp X-2025.06 +.label _ivt +.function _ivt _ivt +.src_ref 0 "lpdsp32_init.s" 15 first +.function_start + 0 "01100100000000000000" // jp 0x20 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct absolute target_address=32 */ + 1 "00000000001000000111" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 16 first + 2 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 17 first + 4 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 5 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 18 first + 6 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 7 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 19 first + 8 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 9 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 20 first + 10 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 11 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 21 first + 12 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 13 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 22 first + 14 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 15 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 23 first + 16 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 17 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 24 first + 18 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 19 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 25 first + 20 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 21 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 26 first + 22 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 23 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 27 first + 24 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 25 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 28 first + 26 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 27 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 29 first + 28 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 29 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 30 first + 30 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 31 "00111000000000000000" // /* MW 1 */ +.label _main_init +.function _main_init _main_init +.src_ref 0 "lpdsp32_init.s" 5 first +.function_start + 32 "10111010000100010010" // r = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 6 first + 33 "10111010000100010011" // s = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 7 first + 34 "01101000000000000011" // sp = 0xfff8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 35 "11111111111000111000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 8 first + 36 "01000110000010001000" // ie = 0x1; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 37 "00111000000000000000" // /* MW 1 */ +.label _main +.function main _main +.src_ref 1 "main.c" 46 first +.src_ref 1 "main.c" 46 4 +.function_start + 38 "10101011111101010000" // sp+= -0x58 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 18 +.src_ref 1 "main.c" 52 18 + 39 "01101110000000000000" // bxl0 = [0x138] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 40 "00001001110000010010" // /* MW 1 */ +.src_ref 1 "main.c" 51 24 +.src_ref 1 "main.c" 51 28 +.src_ref 1 "main.c" 51 32 +.src_ref 1 "main.c" 51 36 +.src_ref 1 "main.c" 52 24 +.src_ref 1 "main.c" 52 28 +.src_ref 1 "main.c" 52 32 +.src_ref 1 "main.c" 52 36 + 41 "01011100000000000000" // ax1 = 0; a2 = sp + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 42 "10100100000001000010" // /* MW 1 */ +.src_ref 1 "main.c" 51 18 first +.src_ref 1 "main.c" 56 4 + 43 "01011100000000001010" // ra1 = 2; a2[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 44 "10001101000001111010" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 45 "01011100000100000011" // rb0 = 64; a3 = sp + 0x30 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 46 "00100100000110000011" // /* MW 1 */ +.src_ref 1 "main.c" 52 18 first +.src_ref 1 "main.c" 56 4 + 47 "01011100000000001010" // ra0 = 2; a3[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 48 "00001101100001111010" // /* MW 1 */ +.src_ref 1 "main.c" 51 24 first + 49 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 24 first + 50 "10010000011101011001" // sp[0x38] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 28 first + 51 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 28 first + 52 "10010000100001011001" // sp[0x40] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 32 first + 53 "10010000010001011001" // sp[0x20] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 32 first + 54 "10010000100101011001" // sp[0x48] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 51 36 first + 55 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 52 36 first + 56 "10010000101001011001" // sp[0x50] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 56 4 + 57 "01101000000000000000" // a0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 58 "00000000001000100000" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 59 "01101110000000000000" // axl1 = [0x140] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 60 "00001010000000010001" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 + 61 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 56 4 + 62 "01101000000000000000" // a1 = 0x98 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 63 "00000010011000100001" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 first +.no_stack_arguments + 64 "01100110000000000000" // calldb 0x172 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=370 delay_slots=1 */ + 65 "00000001011100101000" // /* MW 1 */ +.src_ref 1 "main.c" 56 4 +.delay_slot + 66 "01101110000000000000" // bxl0 = [0x148] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 67 "00001010010000010010" // /* MW 1 */ +.src_ref 1 "main.c" 95 8 first +.src_ref 0 "lpdsp32_irq.h" 47 first +.return_address + 68 "10111010000100010000" // ie = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_irq.h" 48 first + 69 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 100 8 first + 70 "01101100000000000000" // [0x4] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 71 "00000000001001111010" // /* MW 1 */ +.src_ref 1 "main.c" 96 8 + 72 "01101000001000000000" // a5 = -0x7fffee /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 73 "00000000010010100101" // /* MW 1 */ +.src_ref 1 "main.c" 96 8 first + 74 "01101100000000000000" // [0x128] = a5 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 75 "00001001010001100101" // /* MW 1 */ +.src_ref 1 "main.c" 97 8 + 76 "01101000001000000000" // a4 = -0x7ffff8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 77 "00000000001000100100" // /* MW 1 */ +.src_ref 1 "main.c" 97 8 first + 78 "01101100000000000000" // [0x12c] = a4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 79 "00001001011001100100" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 + 80 "01011100100000010000" // c0 = 4; rb0 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 81 "00110000000000010110" // /* MW 1 */ +.src_ref 1 "main.c" 105 16 + 82 "01000000000000000000" // nop; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 83 "00110000000000001101" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 first +.loop_nesting 1 + 84 "01101110011000000000" // [0xc00004] = rb0.b /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 85 "00000000001001100110" // /* MW 1 */ +.src_ref 1 "main.c" 103 12 first +.src_ref 0 "lpdsp32_irq.h" 66 first + 86 "01000110000011100000" // powerdown; nop /* MW 2 */ /* control_operation: words=2 unconditional cycles_taken=2 indirect absolute */ + 87 "00111000000000000000" // /* MW 1 */ +.src_ref 1 "main.c" 104 16 first + 88 "01101100000000000000" // ra0 = [0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 89 "00000000001000001000" // /* MW 1 */ +.src_ref 1 "main.c" 104 32 + 90 "00110010000001100000" // cmp(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 104 12 +.src_ref 1 "main.c" 104 32 + 91 "10111111111110000001" // if (nz) jps -0x8 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-8 */ +.src_ref 1 "main.c" 105 16 first + 92 "01101110011000000000" // [0xc00004] = ra1.b /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 93 "00000000001001100101" // /* MW 1 */ +.src_ref 1 "main.c" 106 16 first + 94 "01101100000000000000" // [0x4] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 95 "00000000001001111010" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 + 96 "01101000001000000000" // lb0 = -0x7ffff0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 97 "00000000010000101100" // /* MW 1 */ +.src_ref 1 "main.c" 107 44 first + 98 "01101100000000000000" // a5 = [0x128] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 99 "00001001010000100101" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 + 100 "01101000000000000000" // lsz0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 101 "00000000001000101110" // /* MW 1 */ +.src_ref 1 "main.c" 108 35 first + 102 "01101100000000000000" // a3 = [0x12c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 103 "00001001011000100011" // /* MW 1 */ +.src_ref 1 "main.c" 107 33 first + 104 "10011110110000000000" // a0 = a5+%0c0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 107 16 + 105 "01101100000000000000" // [0x128] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 106 "00001001010001100000" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 107 "01101000001000000000" // a4 = -0x7ffffe /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 108 "00000000000010100100" // /* MW 1 */ +.src_ref 1 "main.c" 108 34 first + 109 "10010101100000110101" // ra1.s = a3[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 108 16 + 110 "10010100000001110101" // a0[0x0] = ra1.s /* control_operation: words=1 cycles_taken=1 */ + 111 "10001000000001100011" // sp[0x0] = a3 /* control_operation: words=1 cycles_taken=1 */ + 112 "01000000000000000000" // nop; a5 = a4 - 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 113 "00100010010000010101" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 114 "01101000000000000000" // a1 = 0x98 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 115 "00000010011000100001" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 + 116 "01101000000000000000" // a0 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 117 "00000000001000100000" // /* MW 1 */ +.src_ref 1 "main.c" 109 16 first + 118 "01100110000000000000" // calldb 0x1d0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=464 delay_slots=1 */ + 119 "00000001110100001000" // /* MW 1 */ +.delay_slot + 120 "01101100000000000000" // ra0 = [0x130] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 121 "00001001100000001000" // /* MW 1 */ +.src_ref 1 "main.c" 101 8 first +.src_ref 1 "main.c" 105 16 +.return_address + 122 "01000011111011000111" // jpsdb -0x28; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-40 delay_slots=1 */ + 123 "10110000000000001101" // /* MW 1 */ +.src_ref 1 "main.c" 102 12 +.src_ref 1 "main.c" 107 33 +.delay_slot + 124 "01011100100000010000" // c0 = 4; rb0 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 125 "00110000000000010110" // /* MW 1 */ +.label _Z15sig_init_bufferP9BufferPtrPiii +.function sig_init_buffer _Z15sig_init_bufferP9BufferPtrPiii +.src_ref 2 "signal_path.c" 71 first +.src_ref 2 "signal_path.c" 72 10 +.src_ref 2 "signal_path.c" 77 24 +.function_start + 126 "00111001000000100000" // c0 = 4 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 72 10 first +.src_ref 2 "signal_path.c" 76 4 first + 127 "01011001000000010100" // cmp(ra1,0x0); [a0+c0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 128 "00000000000001001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 74 10 first +.src_ref 2 "signal_path.c" 76 4 + 129 "01000010000000110110" // if (np) jpsdb 0x6; a0[0x4] = a1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 130 "10000100000011100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 73 10 first +.delay_slot + 131 "10000100000001100001" // a0[0x0] = a1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 76 4 first + 132 "01100010000000000000" // lp [ra1] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 133 "00000000000000010101" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 134 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 135 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 77 24 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 136 "10000000100001111010" // [a1+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 79 14 first +.loop_nesting 0 + 137 "00110000000110101000" // cmp(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 79 4 +.src_ref 2 "signal_path.c" 79 14 + 138 "01000010000000010001" // if (s) jps 0x2; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 139 "00011000111010001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + 140 "01011100000000000110" // ra0 = 1; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 141 "00111010000101000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 79 4 + 142 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 143 "00111010000101000000" // /* MW 1 */ +.label _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.function sig_init_buffer_DMB _Z19sig_init_buffer_DMBPU17chess_storage_DMB12BufferPtrDMBPU17chess_storage_DMBiii +.src_ref 2 "signal_path.c" 87 first +.src_ref 2 "signal_path.c" 88 10 +.src_ref 2 "signal_path.c" 93 24 +.function_start + 144 "00111001000000100000" // c0 = 4 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 88 10 first +.src_ref 2 "signal_path.c" 92 4 first + 145 "01011001000000010100" // cmp(ra1,0x0); [a4+c0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 146 "00000010000001001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 90 10 first +.src_ref 2 "signal_path.c" 92 4 + 147 "01000010000000110110" // if (np) jpsdb 0x6; a4[0x4] = a5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 148 "10000110000011100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 89 10 first +.delay_slot + 149 "10000110000001100101" // a4[0x0] = a5 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 92 4 first + 150 "01100010000000000000" // lp [ra1] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 151 "00000000000000010101" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 152 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 153 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 93 24 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 154 "10000010100001111010" // [a5+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 95 14 first +.loop_nesting 0 + 155 "00110000000110101000" // cmp(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 95 4 +.src_ref 2 "signal_path.c" 95 14 + 156 "01000010000000010001" // if (s) jps 0x2; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 157 "00011000111010001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + 158 "01011100000000000110" // ra0 = 1; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 159 "00111010000101000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 95 4 + 160 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 161 "00111010000101000000" // /* MW 1 */ +.label _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.function sig_cirular_buffer_ptr_put_sample_DMB _Z37sig_cirular_buffer_ptr_put_sample_DMBPU17chess_storage_DMB12BufferPtrDMBi +.src_ref 2 "signal_path.c" 117 11 +.src_ref 2 "signal_path.c" 117 11 first +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 118 67 +.src_ref 2 "signal_path.c" 119 first +.function_start + 162 "01011100100000010000" // c0 = 4; a4 = a4 + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 163 "00100010000001000100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 117 11 first + 164 "10000010001000100000" // a0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 67 first + 165 "10000010001000101100" // lb0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 117 4 first + 166 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 167 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 86 first + 168 "10000110000000001000" // ra0 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 86 + 169 "00100011000010100100" // ra0 = lsl(ra0,0x2) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 26 + 170 "10011000001000101110" // lsz0 = ra0 /* control_operation: words=1 cycles_taken=1 */ + 171 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 118 26 +.src_ref 2 "signal_path.c" 119 first + 172 "01000110000010100100" // retdb; a0 = a0+%0c0 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 173 "00011100010000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 118 10 first +.delay_slot + 174 "10000110000101100000" // a4[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot +.swstall delay_slot + 175 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.label _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.function sig_init_preemph_coef _Z21sig_init_preemph_coefP16SingleSignalPathdddddi +.src_ref 2 "signal_path.c" 133 first +.src_ref 2 "signal_path.c" 133 5 +.function_start + 176 "10101011111110100000" // sp+= -0x30 /* control_operation: words=1 cycles_taken=1 */ + 177 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 178 "10001000000011110110" // sp[0x4] = lr /* control_operation: words=1 cycles_taken=1 */ + 179 "10001000000001001000" // sp[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 180 "10010000001101011011" // sp[0x18] = bhl1 /* control_operation: words=1 cycles_taken=1 */ + 181 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 182 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 183 "10001000000101100000" // sp[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 135 11 first +.no_stack_arguments + 184 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 185 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.delay_slot + 186 "01101110000000000000" // axl1 = [0x270] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 187 "00010011100000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 +.return_address + 188 "01011001000000010000" // cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 189 "00001000000100100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 11 +.src_ref 2 "signal_path.c" 135 17 + 190 "10111100001010011000" // if (z) jpsdb 0x29 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=41 delay_slots=1 */ +.src_ref 2 "signal_path.c" 136 14 first +.delay_slot + 191 "10100000100001000000" // a0 = a1 + 0x8 /* control_operation: words=1 cycles_taken=1 */ + 192 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 193 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 first +.no_stack_arguments + 194 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 195 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 23 +.delay_slot + 196 "01011100000000000000" // ax1 = 0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 197 "10010000001000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 198 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 199 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 23 +.src_ref 2 "signal_path.c" 135 29 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 200 "01000010000011110000" // if (z) jps 0x1e; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=30 */ + 201 "00001000000100100001" // /* MW 1 */ + 202 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 203 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.no_stack_arguments + 204 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 205 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 35 +.delay_slot + 206 "01011100000000000000" // ax1 = 0; axl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 207 "10010000010000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 208 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 209 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 35 +.src_ref 2 "signal_path.c" 135 41 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 210 "01000010000010100000" // if (z) jps 0x14; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 211 "00001000000100100001" // /* MW 1 */ + 212 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 213 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.no_stack_arguments + 214 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 215 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 47 +.delay_slot + 216 "01011100000000000000" // ax1 = 0; axl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 217 "10010000001100010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 140 14 +.return_address + 218 "01011001000000010000" // cmp(ra0,0x0); a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 219 "00001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 47 +.src_ref 2 "signal_path.c" 135 53 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 + 220 "01000010000001010000" // if (z) jps 0xa; a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 221 "00001000000100100001" // /* MW 1 */ + 222 "01000000000000000000" // nop; sp[0xc] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 223 "00001000000111100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.no_stack_arguments + 224 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 225 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 135 59 +.delay_slot + 226 "01011100000000000000" // ax1 = 0; axl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 227 "10010000011000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 136 14 +.src_ref 2 "signal_path.c" 139 14 +.return_address + 228 "01011001000000010000" // cmp(ra0,0x0); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 229 "00001000000100100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 135 4 +.src_ref 2 "signal_path.c" 135 59 +.src_ref 2 "signal_path.c" 140 14 + 230 "01000010001001001000" // if (nz) jps 0x49; a0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=73 */ + 231 "10001000000110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 +.src_ref 2 "signal_path.c" 141 25 + 232 "10001000000000001000" // ra0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 139 14 +.src_ref 2 "signal_path.c" 140 14 + 233 "01011100000000000111" // rb0 = 1; a0 = a0 + 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 234 "00100000000011000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 140 14 first + 235 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 143 14 + 236 "10100000010010100000" // a0 = a0 - 0x14 /* control_operation: words=1 cycles_taken=1 */ + 237 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 139 14 first + 238 "10000100100101001010" // a1[0x8] = rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 141 25 first +.no_stack_arguments + 239 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 240 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 +.return_address + 241 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 141 20 +.no_stack_arguments + 242 "01100110000000000000" // calldb 0x7ba /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1978 delay_slots=1 */ + 243 "00000111101110101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 20 +.delay_slot + 244 "01101110000000000000" // axl1 = [0x278] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 245 "00010011110000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.return_address + 246 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 247 "10111000000000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.no_stack_arguments + 248 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 249 "00000101000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.delay_slot + 250 "01101110000000000000" // bxl0 = [0x270] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 251 "00010011100000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 141 39 +.return_address +.no_stack_arguments + 252 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 253 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 first +.return_address +.no_stack_arguments + 254 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 255 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 +.src_ref 2 "signal_path.c" 143 34 +.return_address + 256 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 257 "00010000010100010001" // /* MW 1 */ + 258 "01000000000000000000" // nop; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 259 "00010000000101011010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 34 +.no_stack_arguments + 260 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 261 "00000101000110000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 29 +.return_address +.no_stack_arguments + 262 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 263 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 +.return_address + 264 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 143 25 +.src_ref 2 "signal_path.c" 144 34 + 265 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 266 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 143 25 + 267 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 268 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 34 first +.no_stack_arguments + 269 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 270 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 34 +.delay_slot + 271 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 29 +.return_address +.no_stack_arguments + 272 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 273 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 +.return_address + 274 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 144 25 +.src_ref 2 "signal_path.c" 145 34 + 275 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 276 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 144 25 + 277 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 278 "10001000000001100000" // sp[0x0] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 34 first +.no_stack_arguments + 279 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 280 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 34 +.delay_slot + 281 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 29 +.return_address +.no_stack_arguments + 282 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 283 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 +.return_address + 284 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 145 25 +.src_ref 2 "signal_path.c" 146 34 + 285 "01011100100000010000" // c0 = 4; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 286 "00010000000100010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 145 25 + 287 "10000000000001001000" // [a0+c0] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 288 "10001000001001100000" // sp[0x10] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 34 first +.no_stack_arguments + 289 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 290 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 146 34 +.delay_slot + 291 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 29 +.return_address +.no_stack_arguments + 292 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 293 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 146 25 +.return_address + 294 "10001000000000100000" // a0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 34 + 295 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 146 25 + 296 "10000100000011001000" // a0[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 34 first +.no_stack_arguments + 297 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 298 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 147 34 +.delay_slot + 299 "10010000011000010001" // axl1 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 147 29 +.return_address +.no_stack_arguments + 300 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 301 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 147 25 +.return_address + 302 "10001000001000100000" // a0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 303 "10111100000000101111" // jpsdb 0x2 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 delay_slots=1 */ +.src_ref 2 "signal_path.c" 147 25 +.delay_slot + 304 "10000100000011001000" // a0[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 136 14 first + 305 "10000100100101111010" // a1[0x8] = zero /* control_operation: words=1 cycles_taken=1 */ + 306 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 149 + 307 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 149 first +.src_ref 2 "signal_path.c" 149 first + 308 "01000110000010100000" // ret; sp+= 0x30 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 309 "00101000000001100000" // /* MW 1 */ +.label _Z14sig_init_delayP16SingleSignalPathi +.function sig_init_delay _Z14sig_init_delayP16SingleSignalPathi +.src_ref 2 "signal_path.c" 152 first +.src_ref 2 "signal_path.c" 153 34 first +.function_start + 310 "01000000000000000000" // nop; a0 = a0 + 0x74 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 311 "00100000001110100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 first +.tail_call + 312 "01100100000000000000" // jpdb 0x7e /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=126 delay_slots=1 */ + 313 "00000000011111101111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 153 11 +.src_ref 2 "signal_path.c" 153 56 +.delay_slot + 314 "01011100000001000011" // rb0 = 16; a1 = a0 - 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 315 "00100000011000000001" // /* MW 1 */ +.label _Z15sig_init_weightP16SingleSignalPathdi +.function sig_init_weight _Z15sig_init_weightP16SingleSignalPathdi +.src_ref 2 "signal_path.c" 157 first +.src_ref 2 "signal_path.c" 157 5 +.function_start + 316 "10101011111111010000" // sp+= -0x18 /* control_operation: words=1 cycles_taken=1 */ + 317 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ + 318 "10001000000011001000" // sp[0x4] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 319 "10010000001001011000" // sp[0x10] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 320 "10001000000101100000" // sp[0x8] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 159 15 first +.no_stack_arguments + 321 "01100110000000000000" // calldb 0x698 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1688 delay_slots=1 */ + 322 "00000110100110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 159 15 +.delay_slot + 323 "01101110000000000000" // axl1 = [0x280] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 324 "00010100000000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 160 14 +.return_address + 325 "10001000000100100000" // a0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 159 15 + 326 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 160 14 first + 327 "01110110000000000000" // a0 = a0 + 0x84 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 328 "00000000010000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 159 4 first +.src_ref 2 "signal_path.c" 159 15 first + 329 "01000010000100010000" // if (nz) jps 0x22; sp[0x8] = a0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=34 */ + 330 "10001000000101100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 164 14 + 331 "00111000000000001100" // ra0 = 1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 164 14 first + 332 "10000100000001001000" // a0[0x0] = ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 333 "10100000000000100000" // a0 = a0 + 0x4 /* control_operation: words=1 cycles_taken=1 */ + 334 "10001000000111100000" // sp[0xc] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 25 first +.no_stack_arguments + 335 "01100110000000000000" // calldb 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=848 delay_slots=1 */ + 336 "00000011010100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 25 +.delay_slot + 337 "10001000000010001000" // ra0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 20 +.return_address + 338 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 20 +.no_stack_arguments + 339 "01100110000000000000" // calldb 0x7ba /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1978 delay_slots=1 */ + 340 "00000111101110101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 20 +.delay_slot + 341 "01101110000000000000" // axl1 = [0x288] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 342 "00010100010000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.return_address + 343 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 165 40 +.no_stack_arguments + 344 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 345 "00000101000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.delay_slot + 346 "01101110000000000000" // bxl0 = [0x280] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 347 "00010100000000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 165 40 +.return_address +.no_stack_arguments + 348 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 349 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 first +.return_address +.no_stack_arguments + 350 "01100110000000000000" // call 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=848 */ + 351 "00000011010100000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 +.return_address +.no_stack_arguments + 352 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 353 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 32 +.src_ref 2 "signal_path.c" 166 32 +.delay_slot + 354 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 355 "00010000001000010001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 166 23 +.return_address +.no_stack_arguments + 356 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 357 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 +.return_address + 358 "10001000000110100001" // a1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 359 "10001000000100100000" // a0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 167 14 + 360 "10001000000010001010" // rb0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 169 + 361 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 166 14 + 362 "01000010000000100111" // jpsdb 0x4; a0[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 363 "10000100000011001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 167 14 first +.delay_slot + 364 "10000100100011001010" // a1[0x4] = rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 169 + 365 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 160 14 first + 366 "01000000000000000000" // nop; a0[0x0] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 367 "00000100000001111010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 169 first +.src_ref 2 "signal_path.c" 169 first + 368 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 369 "00101000000000110000" // /* MW 1 */ +.label _Z4initP16SingleSignalPathS0_PdS1_iidddi +.function init _Z4initP16SingleSignalPathS0_PdS1_iidddi +.src_ref 2 "signal_path.c" 309 first +.src_ref 2 "signal_path.c" 309 5 +.function_start + 370 "10101011111110000000" // sp+= -0x40 /* control_operation: words=1 cycles_taken=1 */ + 371 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 372 "10010000011001011001" // sp[0x30] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 373 "10010000010101011010" // sp[0x28] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 374 "10001000001111110110" // sp[0x1c] = lr /* control_operation: words=1 cycles_taken=1 */ + 375 "10001000010001001000" // sp[0x20] = ra0 /* control_operation: words=1 cycles_taken=1 */ + 376 "10001000000101001010" // sp[0x8] = rb0 /* control_operation: words=1 cycles_taken=1 */ + 377 "10001000000111001001" // sp[0xc] = ra1 /* control_operation: words=1 cycles_taken=1 */ + 378 "10001000001001100011" // sp[0x10] = a3 /* control_operation: words=1 cycles_taken=1 */ + 379 "10001000001011100001" // sp[0x14] = a1 /* control_operation: words=1 cycles_taken=1 */ + 380 "10001000001101100000" // sp[0x18] = a0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 44 +.src_ref 2 "signal_path.c" 324 52 +.src_ref 2 "signal_path.c" 324 60 + 381 "00111001000001000000" // c0 = 8 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 44 first + 382 "10001101000000010000" // axl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 52 + 383 "10001101000000010001" // axl1 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 60 + 384 "10001101000000010010" // bxl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 76 + 385 "10001101000100110011" // bxl1 = a2[0x8] /* control_operation: words=1 cycles_taken=1 */ + 386 "10010000000001011011" // sp[0x0] = bhl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 324 4 + 387 "01100110000000000000" // calldb 0xb0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=176 delay_slots=1 */ + 388 "00000000101100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 324 4 +.src_ref 2 "signal_path.c" 324 68 +.delay_slot + 389 "01011100000001111110" // ra0 = 31; bxl1 = a2[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 390 "00001101000000110011" // /* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 +.return_address + 391 "10001000001100100000" // a0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 325 4 first +.no_stack_arguments + 392 "01100110000000000000" // calldb 0x136 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=310 delay_slots=1 */ + 393 "00000001001101101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 325 4 +.delay_slot + 394 "10001000010000001001" // ra1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 326 4 +.return_address + 395 "10001000001100100000" // a0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 326 4 first +.no_stack_arguments + 396 "01100110000000000000" // calldb 0x13c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=316 delay_slots=1 */ + 397 "00000001001111001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 326 4 +.src_ref 2 "signal_path.c" 326 4 +.delay_slot + 398 "01011100000001111110" // ra0 = 31; axl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 399 "00010000011100010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 48 +.return_address + 400 "10001000001000100010" // a2 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 +.src_ref 2 "signal_path.c" 329 58 +.src_ref 2 "signal_path.c" 329 68 + 401 "01011100100000100000" // c0 = 8; a0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 402 "00001000001010100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 4 +.src_ref 2 "signal_path.c" 329 48 first + 403 "01011100000001111110" // ra0 = 31; axl0 = [a2+c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 404 "00001101000000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 58 + 405 "10001101000000010001" // axl1 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 68 + 406 "10001101000000010010" // bxl0 = [a2+c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 88 + 407 "10001101000100110011" // bxl1 = a2[0x8] /* control_operation: words=1 cycles_taken=1 */ + 408 "10010000000001011011" // sp[0x0] = bhl1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 329 4 + 409 "01100110000000000000" // calldb 0xb0 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=176 delay_slots=1 */ + 410 "00000000101100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 329 78 +.delay_slot + 411 "10001101000000110011" // bxl1 = a2[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 330 4 +.return_address + 412 "10001000001010100000" // a0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 330 4 first +.no_stack_arguments + 413 "01100110000000000000" // calldb 0x136 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=310 delay_slots=1 */ + 414 "00000001001101101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 330 4 +.delay_slot + 415 "10001000000110001001" // ra1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 331 4 +.return_address + 416 "10001000001010100000" // a0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 331 4 first +.no_stack_arguments + 417 "01100110000000000000" // calldb 0x13c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=316 delay_slots=1 */ + 418 "00000001001111001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 331 4 +.src_ref 2 "signal_path.c" 331 4 +.delay_slot + 419 "01011100000001111110" // ra0 = 31; axl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 420 "00010000011000010000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 +.return_address + 421 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 335 16 first +.no_stack_arguments + 422 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 423 "00000101000110001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 16 +.delay_slot + 424 "01101110000000000000" // bxl0 = [0x290] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 425 "00010100100000010010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 7 +.return_address +.no_stack_arguments + 426 "01100110000000000000" // call 0x36e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=878 */ + 427 "00000011011011100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 335 4 +.return_address + 428 "01101100000000000000" // [0x134] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 429 "00001001101001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + 430 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 431 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 + 432 "01101000001000000000" // a5 = -0x7fffe4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 433 "00000000011100100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 first +.no_stack_arguments + 434 "01100110000000000000" // calldb 0x90 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=144 delay_slots=1 */ + 435 "00000000100100001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 337 4 +.src_ref 2 "signal_path.c" 337 4 +.delay_slot + 436 "01011100000100000011" // rb0 = 64; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 437 "00001000000100001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 +.return_address + 438 "01101000000000000000" // a0 = 0x160 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 439 "00000101100000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 + 440 "01101000000000000000" // a1 = 0x170 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 441 "00000101110000100001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 first +.no_stack_arguments + 442 "01100110000000000000" // calldb 0x7e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=126 delay_slots=1 */ + 443 "00000000011111101000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 338 4 +.src_ref 2 "signal_path.c" 338 4 +.delay_slot + 444 "01011100000100000011" // rb0 = 64; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 445 "00001000000100001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 +.return_address + 446 "10001000000100001000" // ra0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 340 4 first + 447 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 340 4 + 448 "10111100000011010101" // if (np) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ +.src_ref 2 "signal_path.c" 341 30 first + 449 "01101100010000000000" // a0 = [0x800120] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 450 "00001001000000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 340 4 first + 451 "01100010000000000000" // lp [ra0] 0x3 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 452 "00000000000000110100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 342 26 first +.delay_slot + 453 "01101100000000000000" // a2 = [0x164] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 454 "00001011001000100010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 +.src_ref 2 "signal_path.c" 342 36 +.src_ref 2 "signal_path.c" 344 +.delay_slot + 455 "01011100100000010000" // c0 = 4; lr = sp[0x1c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 456 "00001000001110110110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 341 40 first +.loop_nesting 1 + 457 "10000000000001111010" // [a0+c0] = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 342 36 first +.end_of_loop +.noswbrkpt + 458 "01000000000000000000" // nop; [a2+c0] = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 459 "00000001000001111010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 344 first +.src_ref 2 "signal_path.c" 344 first +.loop_nesting 0 + 460 "01000110000010100000" // ret; sp+= 0x40 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 461 "00101000000010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 344 + 462 "01000011111111100011" // jps -0x4; lr = sp[0x1c] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-4 */ + 463 "10001000001110110110" // /* MW 1 */ +.label _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.function calc _Z4calcP16SingleSignalPathS0_10OutputModePU17chess_storage_DMBVsS3_S3_ +.src_ref 2 "signal_path.c" 348 first +.src_ref 2 "signal_path.c" 371 39 first +.function_start + 464 "10010110000000110100" // ra0.s = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 371 44 first +.src_ref 2 "signal_path.c" 372 42 first + 465 "01010001101000010011" // rb0 = lsl(ra0,0x10); ra0.s = a5[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 466 "00010110100000110100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 348 5 +.src_ref 2 "signal_path.c" 372 47 + 467 "01010001101000010010" // ra0 = lsl(ra0,0x10); sp+= -0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 468 "00101011111111110000" // /* MW 1 */ + 469 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 383 4 + 470 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 471 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 371 18 + 472 "01101100000000000000" // [0x158] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 473 "00001010110001001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 377 20 first + 474 "01101100000000000000" // [0x150] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 475 "00001010100001001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 372 20 first + 476 "01101100000000000000" // [0x15c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 477 "00001010111001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 378 22 first + 478 "01101100000000000000" // [0x154] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 479 "00001010101001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 383 4 first +.no_stack_arguments + 480 "01100110000000000000" // call 0xa2 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=162 */ + 481 "00000000101000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.return_address + 482 "01101000001000000000" // a4 = -0x7ffee4 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 483 "00000100011100100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 484 "01011100100000010000" // c0 = 4; axs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 485 "00011000111010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 486 "01011100101111110000" // c1 = -4; a4 = a4 + 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 487 "10100010000001000100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 first + 488 "01011100000000000001" // bx0 = 0; a5 = [a4-c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 489 "00000010001000100101" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + 490 "10000010001000101100" // lb0 = [a4-c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 491 "01101000000000000000" // a2 = 0x160 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 492 "00000101100000100010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 + 493 "10000110000000001000" // ra0 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 494 "01010001100001010010" // ra0 = lsl(ra0,0x2); rb0 = a2[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 495 "00000101000000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 496 "01010101001111111010" // ra0 = rb0 + -0x1; lsz0 = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 497 "00011000001000101110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 +.src_ref 2 "signal_path.c" 394 18 + 498 "01010001010000110010" // ra0 = asr(ra0,0x1); a1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 499 "00001000000100100001" // /* MW 1 */ + 500 "00101010000001100111" // rb1 = ra0 + 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 + 501 "01100010000000000000" // lp [rb1] 0x6 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 502 "00000000000001100111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.delay_slot + 503 "01101100000000000000" // a0 = [0x168] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 504 "00001011010000100000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.delay_slot + 505 "10100010100000000100" // a4 = a5 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.loop_nesting 1 + 506 "11011000000010001001" // ra1 = [a0+c0]; rb0 = [a4+%0c1] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 507 "01000100010011011100" // bx1 = bx0+rb0*ra1; ra0 = [a0+c0]; rb0 = [a4+%0c1] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 508 "01010000000010001001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 385 23 + 509 "01000100010001001000" // ax1 = ax0+rb0*ra0; bxs0 = bxs1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 510 "00011000000011000010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.end_of_loop +.noswbrkpt + 511 "10011000000001000000" // axs0 = axs1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 387 27 first +.loop_nesting 0 + 512 "01101100000000000000" // rb0 = [0x150] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 513 "00001010100000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 first +.src_ref 2 "signal_path.c" 389 4 first + 514 "01010100000000001000" // ax0 = bx0 + ax0; a4 = a2[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 515 "00000101000010100100" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 23 +.src_ref 2 "signal_path.c" 389 4 + 516 "01011100101111100000" // c0 = -8; ra0 = axs0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 517 "00011000000000001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 385 18 + 518 "01101100010000000000" // [0x80000c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 519 "00000000011001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 387 31 first +.src_ref 2 "signal_path.c" 389 4 first + 520 "01010111000010011010" // ra0 = rb0 - ra0; a0 = a5+%0c1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 521 "00011110110010000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 522 "01101100000000000000" // rb0 = [0x134] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 523 "00001001101000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 524 "01000100010000000000" // ax0 = rb0*ra0; c1 = 0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 525 "00101100000001000001" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 526 "01100010000000000000" // lp [rb1] 0x7 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 527 "00000000000001110111" // /* MW 1 */ +.src_ref 2 "signal_path.c" 387 10 +.delay_slot + 528 "01101100010000000000" // [0x800018] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 529 "00000000110001001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 +.delay_slot + 530 "10011000000000001001" // ra1 = axs0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.loop_nesting 1 + 531 "10001110000000100101" // axs1,bxs1 = a4[0x0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 532 "10000010110000001000" // ra0 = [a5+%0c0] /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 +.src_ref 2 "signal_path.c" 389 4 + 533 "01000100001001000010" // ax0 = ax1+ra1*ra0; rb0 = [a0+%0c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 534 "00000000010000001010" // /* MW 1 */ +.src_ref 2 "signal_path.c" 389 4 + 535 "00001000011010101100" // bx0 = bx1+ra1*rb0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 389 4 + 536 "10001110000011000000" // [a4+c1] = axs0,bxs0 /* control_operation: words=1 cycles_taken=1 */ +.end_of_loop +.noswbrkpt + 537 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 394 48 first +.loop_nesting 0 + 538 "01101100010000000000" // ra0 = [0x800018] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 539 "00000000110000001000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 53 +.src_ref 2 "signal_path.c" 397 + 540 "01010001011000010000" // ax0 = asr(ra0,0x10); lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 541 "00001000000000110110" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 20 +.src_ref 2 "signal_path.c" 397 first + 542 "01000110000010100100" // retdb; axs0 = axs0 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 543 "00011000000000000000" // /* MW 1 */ +.src_ref 2 "signal_path.c" 394 14 first +.src_ref 2 "signal_path.c" 394 18 first +.delay_slot + 544 "10010100100001110000" // a1[0x0] = axs0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 2 "signal_path.c" 397 first +.delay_slot + 545 "10101000000000010000" // sp+= 0x8 /* control_operation: words=1 cycles_taken=1 */ +.label _Z16div64_pos_called7accum_tS_Ry +.function div64_pos_called _Z16div64_pos_called7accum_tS_Ry +.src_ref 0 "lpdsp32_div.c" 19 first +.src_ref 0 "lpdsp32_div.c" 27 16 first +.function_start + 546 "00110111000010000110" // rb0 = nrm(bx0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 24 first + 547 "00110111000001000100" // ra0 = nrm(ax1) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 23 + 548 "00101110000100110100" // ra0 = rb0 - ra0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 27 31 + 549 "00101010000001100100" // ra0 = ra0 + 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 28 14 first + 550 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 28 4 +.src_ref 0 "lpdsp32_div.c" 28 14 + 551 "10111100000100110101" // if (np) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ +.src_ref 0 "lpdsp32_div.c" 32 19 +.src_ref 0 "lpdsp32_div.c" 42 16 + 552 "00111000001000000110" // rb0 = 64 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 32 19 first + 553 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 32 9 +.src_ref 0 "lpdsp32_div.c" 32 19 + 554 "10111100000011010000" // if (z) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ +.src_ref 0 "lpdsp32_div.c" 39 1 first + 555 "01100010000000000000" // lp [ra0] 0x1 /* MW 2 */ /* control_operation: words=2 doloop unconditional cycles_taken=1 delay_slots=2 */ + 556 "00000000000000010100" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 37 7 first +.delay_slot + 557 "00100000000100010000" // ax0 = asl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 40 9 +.delay_slot + 558 "10011000111010110101" // flags = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 40 9 first +.end_of_loop +.noswbrkpt +.loop_nesting 1 + 559 "00101111100000001001" // ax1 = div(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 41 1 first +.src_ref 0 "lpdsp32_div.c" 41 5 first +.loop_nesting 0 + 560 "10111100000000010011" // if (ns) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ +.src_ref 0 "lpdsp32_div.c" 41 28 + 561 "00101000000000001001" // ax1 = ax1 + ax0 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 43 20 first + 562 "00100000100100001000" // ax0 = asr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 42 16 first +.src_ref 0 "lpdsp32_div.c" 45 4 first + 563 "01010111000010011010" // ra0 = rb0 - ra0; retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 564 "00111010000101001000" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 11 +.src_ref 0 "lpdsp32_div.c" 43 5 first +.delay_slot + 565 "01010000000010000100" // ax1 = asl(ax1,ra0); bxl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 566 "10011001001000000011" // /* MW 1 */ +.src_ref 0 "lpdsp32_div.c" 42 5 first +.delay_slot + 567 "00100001100100001000" // ax0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 45 4 first + 568 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.src_ref 0 "lpdsp32_div.c" 33 12 first +.delay_slot + 569 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 570 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_div.c" 45 4 first + 571 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 572 "00101010000000001011" // bx1 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 573 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ +.label _ZL18estimateDiv128To64yyy +.function estimateDiv128To64 _ZL18estimateDiv128To64yyy +.function_start + 574 "10101011111101110000" // sp+= -0x48 /* control_operation: words=1 cycles_taken=1 */ + 575 "01011000010000101100" // cmpu(bx1,ax1); sp[0x28] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 576 "00010000010101011010" // /* MW 1 */ + 577 "01000010010000011110" // if (np) jpsdb 0x83; sp[0x30] = bhl1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=131 delay_slots=1 */ + 578 "10010000011001011011" // /* MW 1 */ +.delay_slot + 579 "10001000000001110110" // sp[0x0] = lr /* control_operation: words=1 cycles_taken=1 */ + 580 "00111000000100000110" // rb0 = 32 /* control_operation: words=1 cycles_taken=1 */ + 581 "01010000110011001100" // ax0 = lsr(bx1,rb0); sp[0x18] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 582 "00010000001101011001" // /* MW 1 */ + 583 "01010000100011000001" // bx0 = lsl(ax0,rb0); sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 584 "00010000010001011000" // /* MW 1 */ + 585 "01011000010000101000" // cmpu(bx0,ax1); sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 586 "00010000000101011010" // /* MW 1 */ + 587 "01010101000000000001" // bx0 = ax0 + 0x0; ae0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 588 "00011000111010010100" // /* MW 1 */ + 589 "01101110000000000000" // axl1 = [0x398] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 590 "00011100110000010001" // /* MW 1 */ + 591 "01000010000001111110" // if (np) jpsdb 0xf; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=15 delay_slots=1 */ + 592 "10010000001001011000" // /* MW 1 */ +.delay_slot + 593 "01010101000000000100" // ax0 = ax1 + 0x0; sp[0x4] = ae0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 594 "00001000000011010100" // /* MW 1 */ + 595 "10111010000100000001" // im = 0x0 /* control_operation: words=1 cycles_taken=1 */ + 596 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 597 "10011000111010010101" // ae1 = zero /* control_operation: words=1 cycles_taken=1 */ + 598 "10010000001000010010" // bxl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 599 "01100110000000000000" // calldb 0x222 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=546 delay_slots=1 */ + 600 "00000010001000101000" // /* MW 1 */ +.delay_slot + 601 "10001000000010010110" // be0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 602 "01101110000000000000" // axl1 = [0x398] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 603 "00011100110000010001" // /* MW 1 */ + 604 "01011100000010000011" // rb0 = 32; bxl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 605 "00010000010000010010" // /* MW 1 */ + 606 "01010000100011000000" // ax0 = lsl(ax0,rb0); bxl1 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 607 "00010000011000010011" // /* MW 1 */ + 608 "10011000001100001011" // rb1 = al0 /* control_operation: words=1 cycles_taken=1 */ + 609 "01000110000010001000" // im = 0x1; ra0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 610 "10011000001110001000" // /* MW 1 */ + 611 "01000100000110010001" // bx0 = ra0(u)*rb1(u); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 612 "00011000001111001001" // /* MW 1 */ + 613 "01010000110011000001" // bx1 = lsr(ax0,rb0); sp[0x38] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 614 "10010000011101011000" // /* MW 1 */ + 615 "01000100001110011001" // bx1 = ra1(u)*rb1(u); rb1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 616 "00011000001111001011" // /* MW 1 */ + 617 "01000100000110011001" // bx1 = ra0(u)*rb1(u); axl0 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 618 "00011001001011000000" // /* MW 1 */ + 619 "01000100001110011001" // bx1 = ra1(u)*rb1(u); sp[0x40] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 620 "00010000100001011011" // /* MW 1 */ + 621 "01011011110001000001" // bx0 = sxtd(bx0); bxl1 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 622 "00011001001011000011" // /* MW 1 */ + 623 "01010100000001001101" // bx1 = bx1 + bx0; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 624 "10110000000000001101" // /* MW 1 */ + 625 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 626 "00110000100010011000" // cmpu(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 627 "10111100000000010010" // if (s) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 628 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 629 "00100001000110011010" // bx0 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 630 "00101000000010000000" // ax0 = ax0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 631 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 632 "00110000100010000000" // cmpu(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 633 "00100000100110101010" // bx0 = asr(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 634 "00100001000110010010" // bx0 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 635 "00100001100110011011" // bx1 = lsr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 636 "01010100000001101001" // bx1 = bx0 + bx1; bxl0 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 637 "10010000100000010010" // /* MW 1 */ + 638 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 639 "01010100000001101001" // bx1 = bx0 + bx1; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 640 "10111100000000111010" // /* MW 1 */ +.delay_slot + 641 "01011011110001100001" // bx1 = sxtd(bx1); bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 642 "10110000000000001010" // /* MW 1 */ + 643 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 644 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 645 "01010100000001001101" // bx0 = bx1 + bx0; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 646 "00010000001100010011" // /* MW 1 */ + 647 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 648 "01010111000001001101" // bx1 = bx1 - bx0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 649 "10010000010100010010" // /* MW 1 */ + 650 "00110000100000010000" // cmpu(bx0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 651 "01010111000000001000" // ax0 = bx0 - ax0; bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 652 "00110000000000001010" // /* MW 1 */ + 653 "01011011110001100001" // bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 654 "10111100000000101010" // /* MW 1 */ +.delay_slot + 655 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 656 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 657 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 658 "01010111000001001101" // bx1 = bx1 - bx0; bxl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 659 "10010000011000010010" // /* MW 1 */ + 660 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 661 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 662 "10111100001101010011" // if (ns) jps 0x35 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=53 */ + 663 "00100001000110010010" // bx0 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 664 "10010000001101011010" // sp[0x18] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 665 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 666 "10010000011100010010" // bxl0 = sp[0x38] /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 667 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 668 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 669 "10010000010101011010" // sp[0x28] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 670 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 671 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 672 "01010100000001001101" // bx1 = bx1 + bx0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 673 "10010000001100010010" // /* MW 1 */ + 674 "00101000000010000010" // bx0 = ax0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 675 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 676 "01011000010000001000" // cmpu(bx0,ax0); axl0 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 677 "00011001001010000000" // /* MW 1 */ + 678 "01011011110001100001" // bx1 = sxtd(bx1); if (s) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 679 "10111100000000101010" // /* MW 1 */ +.delay_slot + 680 "00111000000000001010" // bx0 = 1 /* control_operation: words=1 cycles_taken=1 */ + 681 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 682 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 683 "01010100000001001101" // bx1 = bx1 + bx0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 684 "10010000010100010010" // /* MW 1 */ + 685 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 686 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 687 "10111111111010110010" // if (s) jps -0x15 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-21 */ +.loop_nesting 0 + 688 "01010000110011000000" // ax1 = lsr(ax0,rb0); sp[0x18] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 689 "10010000001101011010" // /* MW 1 */ + 690 "01010000100011001101" // bx1 = lsl(bx1,rb0); im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 691 "10111010000100000001" // /* MW 1 */ + 692 "01010100100000101100" // ax1 = bx1 | ax1; bxl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 693 "10010000000100010011" // /* MW 1 */ + 694 "01011000010000101100" // cmpu(bx1,ax1); bxl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 695 "00010000001000010010" // /* MW 1 */ + 696 "01000010000000110010" // if (np) jps 0x6; be0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 697 "10001000000010010110" // /* MW 1 */ +.no_stack_arguments + 698 "01100110000000000000" // calldb 0x222 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=546 delay_slots=1 */ + 699 "00000010001000101000" // /* MW 1 */ +.delay_slot + 700 "01000000000000000000" // nop; ae1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 701 "00011000111010010101" // /* MW 1 */ +.return_address + 702 "01000010000000100011" // jps 0x4; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 703 "10010000001100010011" // /* MW 1 */ + 704 "01000000000000000000" // nop; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 705 "00010000001100010011" // /* MW 1 */ + 706 "01101110000000000000" // axl0 = [0x3a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 707 "00011101000000010000" // /* MW 1 */ + 708 "01010100100000001100" // ax0 = bx1 | ax0; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 709 "00111100000000100111" // /* MW 1 */ + 710 "01011100011111111100" // ax0 = -1L; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 711 "00111010000100000001" // /* MW 1 */ + 712 "01000000000000000000" // nop; lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 713 "00001000000000110110" // /* MW 1 */ + 714 "01000110000010100000" // ret; sp+= 0x48 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 715 "00101000000010010000" // /* MW 1 */ + 716 "01000011111100010011" // jps -0x1e; bxl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-30 */ + 717 "10010000011100010010" // /* MW 1 */ +.label _ZL19propagateFloat64NaNyy +.function propagateFloat64NaN _ZL19propagateFloat64NaNyy +.function_start + 718 "01011100000011001110" // ra0 = 51; sp+= -0x8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 719 "00101011111111110000" // /* MW 1 */ + 720 "01010000110010000100" // ax0 = lsr(ax1,ra0); sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 721 "00010000000001011010" // /* MW 1 */ + 722 "01101010000000000000" // bxl0 = 0xfff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 723 "00111111111111000010" // /* MW 1 */ + 724 "00101000100010000011" // bx1 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 725 "01101010000000000000" // axl0 = 0xffe L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 726 "00111111111110000000" // /* MW 1 */ + 727 "00110000100000011000" // cmpu(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 728 "10111100000010001001" // if (nz) jpsdb 0x8 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 delay_slots=1 */ +.delay_slot + 729 "01101110000000000000" // bxl1 = [0x3a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 730 "00011101010000010011" // /* MW 1 */ + 731 "00101000100011001011" // bx1 = ax1 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 732 "01011001010000001100" // cmpu(bx1,0x0); rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 733 "00110000000000001110" // /* MW 1 */ + 734 "10111100000000110001" // if (nz) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 735 "01000010000000001011" // jps 0x1; rb0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 736 "10011000111010001010" // /* MW 1 */ + 737 "10011000111010001010" // rb0 = zero /* control_operation: words=1 cycles_taken=1 */ + 738 "01010010000010000100" // ax1 = bs(ax1,ra0); bxl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 739 "10010000000000010011" // /* MW 1 */ + 740 "01010000110010001100" // ax1 = lsr(bx1,ra0); sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 741 "10010000000001011001" // /* MW 1 */ + 742 "00101000100010001001" // ax1 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 743 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 744 "01010001100000101100" // ax1 = lsl(bx1,0x1); if (nz) jpsdb 0x6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 745 "10111100000001101001" // /* MW 1 */ +.delay_slot + 746 "00100100000100011000" // ax0 = bs(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 747 "01101110000000000000" // bxl0 = [0x3a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 748 "00011101010000010010" // /* MW 1 */ + 749 "00101000100010011010" // bx0 = bx1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 750 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 751 "10111100000010100001" // if (nz) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 752 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 753 "10111100000001101001" // if (nz) jpsdb 0x6 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=6 delay_slots=1 */ +.delay_slot + 754 "01101110000000000000" // bxl0 = [0x3b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 755 "00011101100000010010" // /* MW 1 */ + 756 "00110000100010001000" // cmpu(ax1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 757 "10111100000001000100" // if (p) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 758 "01000010000000010011" // jps 0x2; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 759 "10010000000000010000" // /* MW 1 */ + 760 "01000000000000000000" // nop; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 761 "00010000000000010000" // /* MW 1 */ + 762 "01000110000010100000" // ret; sp+= 0x8 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 763 "00101000000000010000" // /* MW 1 */ +.label _ZL19roundAndPackFloat64iiy +.function roundAndPackFloat64 _ZL19roundAndPackFloat64iiy +.function_start + 764 "01101000000000000000" // bxs0 = 0x7fd /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 765 "00011111111101000010" // /* MW 1 */ + 766 "01011101010010100011" // rb1 = mask16(ra1); axl0 = 0x3ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 767 "10110101111111111000" // /* MW 1 */ + 768 "01010100010000000101" // bx1 = ax1 & ax0; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 769 "10110000000100000110" // /* MW 1 */ + 770 "01011000000001011100" // cmp(rb1,bx0); rb1 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 771 "00110000000111111111" // /* MW 1 */ + 772 "01010000010011010001" // bx1 = asr(ra0,rb0); ra0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 773 "10011000001111001000" // /* MW 1 */ + 774 "01010000100011101101" // bx1 = lsl(bx1,rb1); if (s) jps 0x25 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=37 */ + 775 "10111100001001010010" // /* MW 1 */ + 776 "00110000000010101000" // cmp(ra1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 777 "10111100001110100100" // if (p) jps 0x3a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=58 */ + 778 "00110000000010101000" // cmp(ra1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 779 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 780 "10110101000000000010" // bxl0 = 0x200L /* control_operation: words=1 cycles_taken=1 */ + 781 "00101000000010001010" // bx0 = ax1 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 782 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 783 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 784 "10111100001100110010" // if (s) jps 0x33 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=51 */ + 785 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 786 "10111100000110100011" // if (ns) jps 0x1a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=26 */ + 787 "00110110000101000101" // ra1 = -ra1 /* control_operation: words=1 cycles_taken=1 */ + 788 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 789 "10111100000101000000" // if (z) jps 0x14 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=20 */ + 790 "00111000001000000100" // ra0 = 64 /* control_operation: words=1 cycles_taken=1 */ + 791 "00110000000100101000" // cmp(ra1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 792 "10111100000001110010" // if (s) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 793 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 794 "01011100000000000110" // ra1 = 1; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 795 "10111100000000100001" // /* MW 1 */ + 796 "01000000000000000000" // nop; ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 797 "00011000111010001001" // /* MW 1 */ + 798 "01010000010011010100" // ax1 = asr(ra1,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 799 "10111100000010100111" // /* MW 1 */ + 800 "00110110000101000010" // bx0 = -ra1 /* control_operation: words=1 cycles_taken=1 */ + 801 "01010100010011101011" // rb1 = bx0 & rb1; ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 802 "10110000000000001100" // /* MW 1 */ + 803 "00100001000111001010" // bx0 = lsl(ax1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 804 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 805 "01010000110010100100" // ax1 = lsr(ax1,ra1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 806 "10111100000000010001" // /* MW 1 */ + 807 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 808 "00100000100110100010" // bx0 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 809 "00101001000010001001" // ax1 = ax1 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 810 "00101000100000001000" // ax0 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 811 "01011100000000000010" // ra1 = 0; ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 812 "10011000001100001000" // /* MW 1 */ + 813 "00111000000101001111" // rb1 = 41 /* control_operation: words=1 cycles_taken=1 */ + 814 "00100101000111100100" // ra0 = bi(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 815 "01011001000000010000" // cmp(ra0,0x0); axl0 = 0x200L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 816 "00110101000000000000" // /* MW 1 */ + 817 "01010100000000000100" // ax1 = ax1 + ax0; axs0 = -0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 818 "10110011111111110000" // /* MW 1 */ + 819 "01011011110000100000" // ax1 = sxtd(ax1); if (z) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 820 "10111100000000101000" // /* MW 1 */ +.delay_slot + 821 "00100011101010001001" // ax1 = lsr(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 822 "00111000011111111000" // ax0 = -1 /* control_operation: words=1 cycles_taken=1 */ + 823 "00100000100110000000" // ax0 = asr(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 824 "00101000100000001001" // ax1 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 825 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 826 "10111100000000010001" // if (nz) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 827 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 828 "01010000010011010100" // ax0 = asr(ra1,rb0); ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 829 "00110000000110100101" // /* MW 1 */ + 830 "00100001000101000000" // ax0 = lsl(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 831 "00101000000000011000" // ax0 = bx1 + ax0 /* control_operation: words=1 cycles_taken=1 */ + 832 "01011011110000000000" // ax0 = sxtd(ax0); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 833 "00111010000101001000" // /* MW 1 */ +.delay_slot + 834 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 835 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 836 "01101110000000000000" // axl1 = [0x3b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 837 "00011101110000010001" // /* MW 1 */ + 838 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 839 "00101000000001011001" // ax1 = bx1 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 840 "01011011110000100000" // ax0 = sxtd(ax1); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 841 "00111000000000000000" // /* MW 1 */ +.label _ZL28normalizeRoundAndPackFloat64iiy +.function normalizeRoundAndPackFloat64 _ZL28normalizeRoundAndPackFloat64iiy +.function_start + 842 "00110111000001000110" // rb0 = nrm(ax1) /* control_operation: words=1 cycles_taken=1 */ + 843 "00101110000110101101" // ra1 = ra1 - rb0 /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 844 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 845 "00000010111111001111" // /* MW 1 */ +.delay_slot + 846 "01010000100011000100" // ax1 = lsl(ax1,rb0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 847 "10111000000000000000" // /* MW 1 */ +.label _Z16int32_to_float64i +.function int32_to_float64 _Z16int32_to_float64i +.function_start + 848 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 849 "01000010000011001000" // if (z) jps 0x19; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=25 */ + 850 "00011000111010000000" // /* MW 1 */ + 851 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 852 "01011100000000000101" // bx0 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 853 "00111100000000010010" // /* MW 1 */ + 854 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 855 "00110110100100000100" // ra0 = |ra0| /* control_operation: words=1 cycles_taken=1 */ + 856 "01011011100010000011" // rb1 = nrm(ra0); ra1 = 0x16 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 857 "10110000000010110101" // /* MW 1 */ + 858 "01010100000010111100" // ax0 = rb1 + ra1; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 859 "00110000000100000110" // /* MW 1 */ + 860 "01101000000000000000" // ra1 = 0x432 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 861 "00010000110010001001" // /* MW 1 */ + 862 "01010111000000010100" // ax1 = ra1 - ax0; rb1 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 863 "10110000000111111111" // /* MW 1 */ + 864 "01010000010011000100" // ax1 = asr(ax1,rb0); ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 865 "10110000000110100101" // /* MW 1 */ + 866 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 867 "00100001000111010010" // bx0 = lsl(bx0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 868 "00100001000101001001" // ax1 = lsl(ax1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 869 "00100001100110100011" // bx1 = lsr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 870 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 871 "00100001000000011000" // ax0 = lsl(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 872 "01011011110001000001" // bx0 = sxtd(bx0); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 873 "00111010000101001000" // /* MW 1 */ +.delay_slot + 874 "00101000000000010000" // ax0 = bx0 + ax0 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 875 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 876 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 877 "00111010000101000000" // /* MW 1 */ +.label _Z30float64_to_int32_round_to_zeroy +.function float64_to_int32_round_to_zero _Z30float64_to_int32_round_to_zeroy +.function_start + 878 "00111000000110100110" // rb0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 879 "01010000110011000001" // bx0 = lsr(ax0,rb0); ra0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 880 "00110000000111111100" // /* MW 1 */ + 881 "01101010000000000000" // axl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 882 "00011111111111000001" // /* MW 1 */ + 883 "00101000100001010010" // bx0 = bx0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 884 "01010000110010000000" // ax1 = lsr(ax0,ra0); ra0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 885 "10011000001110001000" // /* MW 1 */ + 886 "01101000000000000000" // ra1 = 0x41e /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 887 "00010000011110001001" // /* MW 1 */ + 888 "01011000000010110000" // cmp(ra0,ra1); ra1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 889 "00011000001101001001" // /* MW 1 */ + 890 "01101110000000000000" // bxl0 = [0x3c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 891 "00011110000000010010" // /* MW 1 */ + 892 "01010100010001000000" // ax0 = ax0 & bx0; if (p) jps 0x1c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=28 */ + 893 "00111100000111000100" // /* MW 1 */ + 894 "10110001111111111111" // rb1 = 0x3ff /* control_operation: words=1 cycles_taken=1 */ + 895 "00110000000111100000" // cmp(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 896 "10111100000101110010" // if (s) jps 0x17 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=23 */ + 897 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 898 "01101000000000000000" // rb1 = 0x433 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 899 "00010000110011001011" // /* MW 1 */ + 900 "00101110000100111100" // ra0 = rb1 - ra0 /* control_operation: words=1 cycles_taken=1 */ + 901 "00100100000110000000" // ax0 = bs(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 902 "01010000110010000000" // ax0 = lsr(ax0,ra0); if (z) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 903 "00111100000000101000" // /* MW 1 */ +.delay_slot + 904 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 905 "00110110000100000100" // ra0 = -ra0 /* control_operation: words=1 cycles_taken=1 */ + 906 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 907 "01011100000000000111" // rb0 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 908 "00111100000000010010" // /* MW 1 */ + 909 "10011000111010001010" // rb0 = zero /* control_operation: words=1 cycles_taken=1 */ + 910 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 911 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 912 "10111100000001100000" // if (z) jps 0x6 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=6 */ + 913 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 914 "10111100000001001001" // if (nz) jpsdb 0x4 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 delay_slots=1 */ +.delay_slot + 915 "01101100000000000000" // ra0 = [0x3c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 916 "00011110010000001000" // /* MW 1 */ + 917 "01101100000000000000" // ra0 = [0x3cc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 918 "00011110011000001000" // /* MW 1 */ + 919 "10111010000101000000" // ret /* control_operation: words=1 rts unconditional cycles_taken=3 */ + 920 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 921 "00011000111010001000" // /* MW 1 */ + 922 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 923 "00011111111111001010" // /* MW 1 */ + 924 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 925 "10111111111100110001" // if (nz) jps -0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-13 */ + 926 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 927 "10111111111100010000" // if (z) jps -0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-15 */ + 928 "01000011111101111011" // jps -0x11; ra1 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-17 */ + 929 "10011000111010001001" // /* MW 1 */ +.label _ZL14addFloat64Sigsyyi +.function addFloat64Sigs _ZL14addFloat64Sigsyyi +.function_start + 930 "00111000000110100101" // ra1 = 52 /* control_operation: words=1 cycles_taken=1 */ + 931 "01101010000000000000" // axl0 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 932 "00011111111111000000" // /* MW 1 */ + 933 "01010000110010100101" // bx1 = lsr(ax1,ra1); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 934 "10101011111111010000" // /* MW 1 */ + 935 "00101000100000011011" // bx1 = bx1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 936 "01010000110010101001" // bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 937 "10011000001111001001" // /* MW 1 */ + 938 "00101000100000011011" // bx1 = bx1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 939 "01101110000000000000" // axl0 = [0x3d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 940 "00011110100000010000" // /* MW 1 */ + 941 "01010100010000000101" // bx1 = ax1 & ax0; rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 942 "10011000001111001010" // /* MW 1 */ + 943 "00101110000110101111" // rb1 = ra1 - rb0 /* control_operation: words=1 cycles_taken=1 */ + 944 "00100011001001011011" // bx1 = lsl(bx1,0x9) /* control_operation: words=1 cycles_taken=1 */ + 945 "01011001000000011100" // cmp(rb1,0x0); sp[0x10] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 946 "00010000001001011011" // /* MW 1 */ + 947 "00101000100000010000" // ax0 = bx0 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 948 "01010001100100100000" // ax0 = lsl(ax0,0x9); if (p) jpsdb 0x36 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=54 delay_slots=1 */ + 949 "00111100001101101100" // /* MW 1 */ +.delay_slot + 950 "01101000000000000000" // bxs1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 951 "00011111111111000011" // /* MW 1 */ + 952 "01011001000000011100" // cmp(rb1,0x0); sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 953 "00010000000101011000" // /* MW 1 */ + 954 "01011100000010000000" // ax0 = 32; sp[0x0] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 955 "00001000000001001000" // /* MW 1 */ + 956 "01010000010000010000" // ax0 = asr(ra0,ax0); ra0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 957 "00110000000111111100" // /* MW 1 */ + 958 "01010000100010000000" // ax0 = lsl(ax0,ra0); if (ns) jps 0x6a /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=106 */ + 959 "00111100011010100011" // /* MW 1 */ + 960 "00110000000011110000" // cmp(rb0,bx1) /* control_operation: words=1 cycles_taken=1 */ + 961 "10111100010111110000" // if (z) jps 0x5f /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=95 */ + 962 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 963 "10111100000001010000" // if (z) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 964 "01011100000011110110" // ra1 = 61; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 965 "10010000001000010001" // /* MW 1 */ + 966 "01010010000010100100" // ax1 = bs(ax1,ra1); jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 967 "10111100000000101111" // /* MW 1 */ +.delay_slot + 968 "10010000001001011001" // sp[0x10] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 969 "00101010000001111111" // rb1 = rb1 + 0x1 /* control_operation: words=1 cycles_taken=1 */ + 970 "00110110000111000111" // rb1 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 971 "01011001000000011100" // cmp(rb1,0x0); axs1 = 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 972 "00110000001000000001" // /* MW 1 */ + 973 "01000010000011000000" // if (z) jps 0x18; ra1 = rb0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=24 */ + 974 "00011000001010001001" // /* MW 1 */ + 975 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 976 "01000010000001000001" // if (s) jps 0x8; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 977 "00010000001000010001" // /* MW 1 */ + 978 "01011001010000000100" // cmpu(ax1,0x0); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 979 "00110000000000001100" // /* MW 1 */ + 980 "01011100000010000011" // rb0 = 32; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 981 "00111100000000100001" // /* MW 1 */ + 982 "01000000000000000000" // nop; ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 983 "00011000111010001000" // /* MW 1 */ + 984 "01010000010011010000" // ax1 = asr(ra0,rb0); jps 0xe /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 985 "10111100000011100111" // /* MW 1 */ + 986 "00110110000111000010" // bx0 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 987 "01010100010010001001" // bx0 = bx0 & ra0; rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 988 "00110000000000001110" // /* MW 1 */ + 989 "01010000100001000101" // bx0 = lsl(ax1,bx0); ra0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 990 "00110000000100000100" // /* MW 1 */ + 991 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 992 "01010000110011100100" // ax1 = lsr(ax1,rb1); if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 993 "10111100000000100001" // /* MW 1 */ + 994 "01000000000000000000" // nop; rb0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 995 "00011000111010001010" // /* MW 1 */ + 996 "01010000010010011001" // bx0 = asr(rb0,ra0); jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 997 "00111100000000101111" // /* MW 1 */ +.delay_slot + 998 "00101001000010001001" // ax1 = ax1 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 999 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1000 "01000010000101010111" // jpsdb 0x2a; ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=42 delay_slots=1 */ + 1001 "10001000000000001000" // /* MW 1 */ +.delay_slot + 1002 "01011100000011110111" // rb0 = 61; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1003 "00010000000100010000" // /* MW 1 */ + 1004 "00110000000011101000" // cmp(ra1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1005 "10111100010010100000" // if (z) jps 0x4a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=74 */ + 1006 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1007 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 1008 "01011100000011110111" // rb0 = 61; jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1009 "00111100000000101111" // /* MW 1 */ +.delay_slot + 1010 "00100100000110000000" // ax0 = bs(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1011 "00101010011111111111" // rb1 = rb1 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 1012 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1013 "01011100000100000011" // rb0 = 64; if (z) jps 0x1b /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=27 */ + 1014 "00111100000110110000" // /* MW 1 */ + 1015 "00110000000110111000" // cmp(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1016 "01011100000011111111" // rb0 = 63; if (s) jps 0x9 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1017 "00111100000010010010" // /* MW 1 */ + 1018 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1019 "01011100000011110111" // rb0 = 61; if (nz) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1020 "00111100000000111001" // /* MW 1 */ +.delay_slot + 1021 "01011100000000000111" // rb1 = 1; axs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1022 "10110000000100000001" // /* MW 1 */ + 1023 "10011000111010001011" // rb1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1024 "10111100000100111111" // jpsdb 0x13 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 delay_slots=1 */ +.delay_slot + 1025 "01010000010000111100" // ax0 = asr(rb1,ax1); axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1026 "00010000001000010001" // /* MW 1 */ + 1027 "00110110000111000010" // bx0 = -rb1 /* control_operation: words=1 cycles_taken=1 */ + 1028 "01010100010011001001" // bx0 = bx0 & rb0; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1029 "00110000000000001001" // /* MW 1 */ + 1030 "00100001000010000010" // bx0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1031 "01011001010000001000" // cmpu(bx0,0x0); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1032 "00110000000100000110" // /* MW 1 */ + 1033 "01010000110011100001" // bx0 = lsr(ax0,rb1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1034 "00111100000000010001" // /* MW 1 */ + 1035 "10011000111010000001" // axs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1036 "01010000010011000100" // ax0 = asr(ax1,rb0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1037 "00111000000000000000" // /* MW 1 */ + 1038 "01011100000011110111" // rb0 = 61; jpsdb 0x4 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 1039 "00111100000001001111" // /* MW 1 */ +.delay_slot + 1040 "01010100100000001000" // ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1041 "00010000001000010001" // /* MW 1 */ + 1042 "01011100000011110111" // rb0 = 61; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1043 "00010000001000010001" // /* MW 1 */ + 1044 "00100100000110001001" // ax1 = bs(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1045 "00101000000000001001" // ax1 = ax1 + ax0 /* control_operation: words=1 cycles_taken=1 */ + 1046 "00110111100001000010" // bx0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1047 "00100011000001010001" // ax1 = lsl(bx0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1048 "01011001000000000100" // cmp(ax1,0x0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1049 "00111000000000000000" // /* MW 1 */ + 1050 "01010101001111110110" // ra1 = ra1 + -0x1; if (ns) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1051 "10111100000000100011" // /* MW 1 */ + 1052 "01010101000000110110" // ra1 = ra1 + 0x1; axl1 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1053 "10011001001010000001" // /* MW 1 */ +.tail_call + 1054 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1055 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1056 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1057 "10010000000100010011" // bxl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1058 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1059 "10111100000111100001" // if (nz) jps 0x1e /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=30 */ + 1060 "01101110000000000000" // axl1 = [0x3d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1061 "00011110110000010001" // /* MW 1 */ + 1062 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1063 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1064 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1065 "00101000000000110000" // /* MW 1 */ + 1066 "00110000000011101000" // cmp(ra1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1067 "10111100000110010000" // if (z) jps 0x19 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=25 */ + 1068 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1069 "01000010000100001000" // if (z) jps 0x21; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=33 */ + 1070 "00010000001000010001" // /* MW 1 */ + 1071 "01101110000000000000" // bxl0 = [0x3e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1072 "00011111000000010010" // /* MW 1 */ + 1073 "01010100000001000101" // bx0 = ax1 + bx0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1074 "00010000000100010001" // /* MW 1 */ + 1075 "01011011110001000001" // bx0 = sxtd(bx0); ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1076 "00001000000000001000" // /* MW 1 */ + 1077 "01010100000000101000" // ax1 = bx0 + ax1; jpsdb -0x19 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-25 delay_slots=1 */ + 1078 "10111111111001111111" // /* MW 1 */ +.delay_slot + 1079 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1080 "10010000001000010000" // axl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1081 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1082 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1083 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1084 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1085 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1086 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1087 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1088 "01010101000000000100" // ax0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1089 "00111000000000000000" // /* MW 1 */ +.tail_call + 1090 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1091 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1092 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1093 "10010000000100010000" // axl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1094 "10010000001000010011" // bxl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 1095 "00101001000000011000" // ax0 = bx1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1096 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1097 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1098 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1099 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1100 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1101 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1102 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1103 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 1104 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1105 "01010100000001000100" // ax1 = ax1 + bx0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1106 "10101000000000110000" // /* MW 1 */ + 1107 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1108 "01010001110100100100" // ax1 = lsr(ax1,0x9); retdb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 1109 "10111010000101001000" // /* MW 1 */ +.delay_slot + 1110 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1111 "00110111100001000000" // ax0 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ +.label _ZL14subFloat64Sigsyyi +.function subFloat64Sigs _ZL14subFloat64Sigsyyi +.function_start + 1112 "00111000000110100110" // rb0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1113 "01010000110011000100" // ax0 = lsr(ax1,rb0); sp+= -0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1114 "00101011111111000000" // /* MW 1 */ + 1115 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1116 "00011111111111000011" // /* MW 1 */ + 1117 "01010100010001100000" // ax0 = ax0 & bx1; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1118 "00010000001001011001" // /* MW 1 */ + 1119 "01011100000011111011" // rb1 = 62; ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1120 "10011000001100001001" // /* MW 1 */ + 1121 "01101110000000000000" // axl0 = [0x3e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1122 "00011111010000010000" // /* MW 1 */ + 1123 "00101000100000001001" // ax1 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 1124 "00100011001010001001" // ax1 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1125 "01010010000011100100" // ax1 = bs(ax1,rb1); sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1126 "10010000000101011001" // /* MW 1 */ + 1127 "01010000110011001000" // ax1 = lsr(bx0,rb0); sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1128 "10010000000001011001" // /* MW 1 */ + 1129 "01010100010001100100" // ax1 = ax1 & bx1; rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1130 "10110000000100000110" // /* MW 1 */ + 1131 "01010100010000001000" // ax1 = bx0 & ax0; bxs1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1132 "10011000001101000011" // /* MW 1 */ + 1133 "00100011001010001000" // ax0 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1134 "00101110000011101001" // ax1 = ra1 - bx1 /* control_operation: words=1 cycles_taken=1 */ + 1135 "01010010000011100000" // ax1 = bs(ax0,rb1); rb1 = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1136 "10011000010001001011" // /* MW 1 */ + 1137 "01011001000000011100" // cmp(rb1,0x0); sp[0x18] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1138 "00010000001101011001" // /* MW 1 */ + 1139 "01010101000000011100" // ax1 = rb1 + 0x0; if (p) jps 0x29 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=41 */ + 1140 "10111100001010010100" // /* MW 1 */ + 1141 "00110010000000001000" // cmp(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1142 "01010010100011010011" // rb1 = bi(ra0,rb0); if (ns) jps 0x4e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=78 */ + 1143 "10111100010011100011" // /* MW 1 */ + 1144 "01101000000000000000" // ra0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1145 "00011111111111001000" // /* MW 1 */ + 1146 "00110000000100011000" // cmp(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1147 "10111100011001000000" // if (z) jps 0x64 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=100 */ + 1148 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1149 "01000010000000010000" // if (nz) jps 0x2; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1150 "10010000000000010000" // /* MW 1 */ + 1151 "01010101000000100100" // ax1 = ax1 + 0x1; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1152 "10010000000100010000" // /* MW 1 */ + 1153 "00110110000001000010" // bx0 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1154 "01011001000000001000" // cmp(bx0,0x0); ra0 = 0x40 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1155 "00110000001000000100" // /* MW 1 */ + 1156 "10111100000100110000" // if (z) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ + 1157 "00110000000100010000" // cmp(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1158 "01011100000011111110" // ra0 = 63; if (s) jps 0x6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 1159 "00111100000001100010" // /* MW 1 */ + 1160 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1161 "01011100000000000110" // ra0 = 1; if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1162 "00111100000000010001" // /* MW 1 */ + 1163 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1164 "01010000010011010000" // ax0 = asr(ra0,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 1165 "00111100000010100111" // /* MW 1 */ + 1166 "00110110000010000001" // ax1 = -bx0 /* control_operation: words=1 cycles_taken=1 */ + 1167 "01010100010010000110" // ra0 = ax1 & ra0; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1168 "00110000000000001101" // /* MW 1 */ + 1169 "00100001000100000001" // ax1 = lsl(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1170 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1171 "01010000110001000001" // bx0 = lsr(ax0,bx0); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1172 "00111100000000010001" // /* MW 1 */ + 1173 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1174 "00100000100110101001" // ax1 = asr(ra1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1175 "00101001000001010000" // ax0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1176 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 1177 "10011000001011001000" // ra0 = rb1 /* control_operation: words=1 cycles_taken=1 */ + 1178 "01010111000000000101" // bx0 = ax1 - ax0; jpsdb 0x26 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=38 delay_slots=1 */ + 1179 "00111100001001101111" // /* MW 1 */ +.delay_slot + 1180 "01011011110001000000" // ax1 = sxtd(bx0); ra1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1181 "10011000010011001001" // /* MW 1 */ + 1182 "01101000000000000000" // rb1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1183 "00011111111111001011" // /* MW 1 */ + 1184 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1185 "10111100010010010000" // if (z) jps 0x49 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=73 */ + 1186 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1187 "01000010000000010000" // if (nz) jps 0x2; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1188 "10010000001100010010" // /* MW 1 */ + 1189 "01010101001111100100" // ax1 = ax1 + -0x1; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1190 "10011001001000000010" // /* MW 1 */ + 1191 "00110010000000001000" // cmp(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1192 "01011100000100000011" // rb1 = 64; if (z) jps 0x14 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 1193 "10111100000101000000" // /* MW 1 */ + 1194 "00110000000111001000" // cmp(ax1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1195 "01011100000011111100" // ax0 = 63; if (s) jps 0x7 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 1196 "00111100000001110010" // /* MW 1 */ + 1197 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1198 "01011100000000000111" // rb1 = 1; if (nz) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1199 "10111100000000100001" // /* MW 1 */ + 1200 "01000000000000000000" // nop; rb1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1201 "00011000111010001011" // /* MW 1 */ + 1202 "01010000010011011101" // bx0 = asr(rb1,rb0); jps 0xa /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 */ + 1203 "00111100000010100111" // /* MW 1 */ + 1204 "00110110000001000011" // bx1 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1205 "01010100010000001100" // ax0 = bx1 & ax0; rb1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1206 "00110000000000001111" // /* MW 1 */ + 1207 "00100001000000010000" // ax0 = lsl(bx0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1208 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1209 "01010000110000101001" // bx0 = lsr(bx0,ax1); if (nz) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1210 "00111100000000010001" // /* MW 1 */ + 1211 "10011000111010001011" // rb1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1212 "00100000100110111001" // ax1 = asr(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1213 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1214 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1215 "00101110000010001010" // bx0 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1216 "01011011110001000000" // ax1 = sxtd(bx0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1217 "10111000000000000000" // /* MW 1 */ +.tail_call + 1218 "01100100000000000000" // jpdb 0x34a /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=842 delay_slots=1 */ + 1219 "00000011010010101111" // /* MW 1 */ +.delay_slot + 1220 "01010101001111110110" // ra1 = ra1 + -0x1; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1221 "10101000000001000000" // /* MW 1 */ +.return_address + 1222 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1223 "00011111111111001010" // /* MW 1 */ + 1224 "01011000000011010100" // cmp(ra1,rb0); axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1225 "00010000000100010001" // /* MW 1 */ + 1226 "10111100000010100000" // if (z) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1227 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1228 "10111100000000100001" // if (nz) jps 0x2 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 */ + 1229 "01011100000000000110" // ra1 = 1; bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1230 "10110000000000001011" // /* MW 1 */ + 1231 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1232 "10111100001001010010" // if (s) jps 0x25 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=37 */ + 1233 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1234 "10111100001001010010" // if (s) jps 0x25 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=37 */ + 1235 "01000010000001001011" // jps 0x9; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1236 "10011000111010000000" // /* MW 1 */ + 1237 "00101001000000001000" // ax0 = ax1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1238 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1239 "01000010000000011000" // if (z) jps 0x3; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 1240 "00010000001000010001" // /* MW 1 */ +.tail_call + 1241 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1242 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1243 "10101000000001000000" // sp+= 0x20 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1244 "01101110000000000000" // axl0 = [0x3f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1245 "00011111100000010000" // /* MW 1 */ + 1246 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1247 "00101000000001000000" // /* MW 1 */ + 1248 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1249 "01011100000011111110" // ra0 = 63; if (nz) jps 0x18 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=24 */ + 1250 "00111100000110000001" // /* MW 1 */ + 1251 "00100000100110111010" // bx0 = asr(rb1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1252 "00100001000100010010" // bx0 = lsl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1253 "01101110000000000000" // axl1 = [0x3f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1254 "00011111110000010001" // /* MW 1 */ + 1255 "00101000000001010010" // bx0 = bx0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1256 "00110111100010000000" // ax0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1257 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1258 "00101000000001000000" // /* MW 1 */ + 1259 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1260 "01011001010000000100" // cmpu(ax1,0x0); axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1261 "00010000001000010000" // /* MW 1 */ + 1262 "01000000000000000000" // nop; if (z) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1263 "00111100000001000000" // /* MW 1 */ +.tail_call + 1264 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1265 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1266 "01010101000000000000" // ax1 = ax0 + 0x0; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1267 "10101000000001000000" // /* MW 1 */ +.return_address + 1268 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1269 "00101000000001000000" // /* MW 1 */ + 1270 "01010101000000000001" // bx0 = ax0 + 0x0; jps -0x39 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-57 */ + 1271 "00111111110001110111" // /* MW 1 */ + 1272 "10111111101000001111" // jpsdb -0x60 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-96 delay_slots=1 */ +.delay_slot + 1273 "01010101000000000100" // ax0 = ax1 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1274 "00011001001000000001" // /* MW 1 */ + 1275 "10010000001000010001" // axl1 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1276 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1277 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1278 "01000000000000000000" // nop; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1279 "00101000000001000000" // /* MW 1 */ +.label _Z11float64_addyy +.function float64_add _Z11float64_addyy +.function_start + 1280 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1281 "00100001100100010011" // bx1 = lsr(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1282 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1283 "00011000001111001010" // /* MW 1 */ + 1284 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 1285 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1286 "01000000000000000000" // nop; if (z) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1287 "00111100000000100000" // /* MW 1 */ +.tail_call + 1288 "01100100000000000000" // jp 0x458 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=1112 */ + 1289 "00000100010110000111" // /* MW 1 */ +.tail_call +.return_address + 1290 "01100100000000000000" // jp 0x3a2 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=930 */ + 1291 "00000011101000100111" // /* MW 1 */ +.label _Z11float64_subyy +.function float64_sub _Z11float64_subyy +.function_start + 1292 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1293 "00100001100100010011" // bx1 = lsr(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1294 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1295 "00011000001111001010" // /* MW 1 */ + 1296 "10011000001100001000" // ra0 = al0 /* control_operation: words=1 cycles_taken=1 */ + 1297 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1298 "01000000000000000000" // nop; if (z) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1299 "00111100000000100000" // /* MW 1 */ +.tail_call + 1300 "01100100000000000000" // jp 0x3a2 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=930 */ + 1301 "00000011101000100111" // /* MW 1 */ +.tail_call +.return_address + 1302 "01100100000000000000" // jp 0x458 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=2 direct absolute target_address=1112 */ + 1303 "00000100010110000111" // /* MW 1 */ +.label _Z11float64_mulyy +.function float64_mul _Z11float64_mulyy +.function_start + 1304 "01011100000011111110" // ra0 = 63; ra1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1305 "00110000000110100101" // /* MW 1 */ + 1306 "01010000110010001000" // ax0 = lsr(bx0,ra0); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1307 "00101011111111010000" // /* MW 1 */ + 1308 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1309 "00011000001100001010" // /* MW 1 */ + 1310 "01010000110010100101" // bx1 = lsr(ax1,ra1); rb1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1311 "10011000001100001011" // /* MW 1 */ + 1312 "01101010000000000000" // axl0 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1313 "00011111111111000000" // /* MW 1 */ + 1314 "01010100110011011111" // rb1 = rb1 ^ rb0; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1315 "10010000000101011010" // /* MW 1 */ + 1316 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1317 "00011111111111001010" // /* MW 1 */ + 1318 "01010100010000001101" // bx1 = bx1 & ax0; sp[0x0] = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1319 "10001000000001001011" // /* MW 1 */ + 1320 "01010000110010101001" // bx1 = lsr(bx0,ra1); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1321 "10011000001111001001" // /* MW 1 */ + 1322 "01010100010000001100" // ax0 = bx1 & ax0; bxs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1323 "00110000000100000011" // /* MW 1 */ + 1324 "01011000000011010100" // cmp(ra1,rb0); ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1325 "00011000001100001000" // /* MW 1 */ + 1326 "01010000010001111101" // bx1 = asr(rb1,bx1); axs0 = 0x3f /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1327 "10110000000111111000" // /* MW 1 */ + 1328 "00100001000000011000" // ax0 = lsl(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1329 "01101110000000000000" // bxl1 = [0x410] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1330 "00100000100000010011" // /* MW 1 */ + 1331 "01010100000001100000" // ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1332 "00010000001001011000" // /* MW 1 */ + 1333 "00110111100000000011" // bx1 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1334 "01101110000000000000" // axl0 = [0x400] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1335 "00100000000000010000" // /* MW 1 */ + 1336 "01010100010000001001" // bx0 = bx0 & ax0; if (z) jpsdb 0x66 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=102 delay_slots=1 */ + 1337 "00111100011001101000" // /* MW 1 */ +.delay_slot + 1338 "01010100010000000100" // ax0 = ax1 & ax0; rb1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1339 "00110000000100000111" // /* MW 1 */ + 1340 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1341 "10111100010101110000" // if (z) jps 0x57 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=87 */ + 1342 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1343 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1344 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1345 "10111100011100000000" // if (z) jps 0x70 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=112 */ + 1346 "00110111000000000101" // ra1 = nrm(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1347 "01010101001011010110" // ra1 = ra1 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1348 "10110000000000001001" // /* MW 1 */ + 1349 "00100001000101000000" // ax0 = lsl(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 1350 "00101110000101001101" // ra1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 1351 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1352 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1353 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1354 "10111100011010110000" // if (z) jps 0x6b /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=107 */ + 1355 "00110111000010000100" // ra0 = nrm(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1356 "01010101001011010010" // ra0 = ra0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1357 "00110000000000001001" // /* MW 1 */ + 1358 "00100001000100010010" // bx0 = lsl(bx0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1359 "00101110000100001100" // ra0 = ax1 - ra0 /* control_operation: words=1 cycles_taken=1 */ + 1360 "00111000000110100001" // ax1 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1361 "01010010000000101001" // bx1 = bs(bx0,ax1); im = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1362 "10111010000100010001" // /* MW 1 */ + 1363 "00100011001011011011" // bx1 = lsl(bx1,0xb) /* control_operation: words=1 cycles_taken=1 */ + 1364 "01010010000000100000" // ax1 = bs(ax0,ax1); axs0 = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1365 "10011000001000000000" // /* MW 1 */ + 1366 "01010000110011101101" // bx1 = lsr(bx1,rb1); ra0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1367 "10011000001111001000" // /* MW 1 */ + 1368 "01010001100101000100" // ax1 = lsl(ax1,0xa); bxs0 = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1369 "10011000001001000010" // /* MW 1 */ + 1370 "01011100000010000001" // bx1 = 32; ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1371 "10011000001111001001" // /* MW 1 */ + 1372 "01010000110001100100" // ax1 = lsr(ax1,bx1); rb0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1373 "10011000001101001010" // /* MW 1 */ + 1374 "01010100000000001000" // ax0 = bx0 + ax0; rb1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1375 "00011000001101001011" // /* MW 1 */ + 1376 "00001000110000100010" // bx0 = rb1(u)*ra0(u) /* control_operation: words=1 cycles_taken=1 */ + 1377 "01000100010010001001" // ax1 = rb0(u)*ra1(u); bxl0 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1378 "00011001001010000010" // /* MW 1 */ + 1379 "01000100010000011001" // bx1 = rb0(u)*ra0(u); axl1 = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1380 "00011001001001000001" // /* MW 1 */ + 1381 "01010100000001000100" // ax1 = ax1 + bx0; ra0 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1382 "10110010000000001100" // /* MW 1 */ + 1383 "01011011110000100000" // ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1384 "10110000000100000110" // /* MW 1 */ + 1385 "00110000100010001000" // cmpu(ax1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1386 "01011011110001100000" // ax0 = sxtd(bx1); bxs1 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1387 "00011000010000000011" // /* MW 1 */ + 1388 "01000100011010011001" // bx1 = rb1(u)*ra1(u); rb1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1389 "00011000010011001011" // /* MW 1 */ + 1390 "01011011110001100001" // bx0 = sxtd(bx1); if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1391 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1392 "01010100000010011110" // ra1 = rb1 + ra0; ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1393 "10110000000000001100" // /* MW 1 */ + 1394 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1395 "00100001000110001011" // bx1 = lsl(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1396 "00101000000011000000" // ax0 = ax0 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1397 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1398 "00110000100011000000" // cmpu(ax0,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1399 "01010000010011010001" // bx1 = asr(ra0,rb0); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1400 "10110000000000001100" // /* MW 1 */ + 1401 "00100001000110011011" // bx1 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1402 "00100001100110001001" // ax1 = lsr(ax1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1403 "00101000000001011001" // ax1 = bx1 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 1404 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1405 "01010100000000101000" // ax1 = bx0 + ax1; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1406 "10111100000000111010" // /* MW 1 */ +.delay_slot + 1407 "01011011110000100000" // ax1 = sxtd(ax1); bxs0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1408 "10110000000000001010" // /* MW 1 */ + 1409 "10011000111010000010" // bxs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1410 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1411 "00100000100110010010" // bx0 = asr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1412 "01010100000001000100" // ax1 = ax1 + bx0; if (nz) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1413 "10111100000000101001" // /* MW 1 */ +.delay_slot + 1414 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1415 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1416 "00100000100110100010" // bx0 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1417 "01010100100001000100" // ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1418 "10111010000100000001" // /* MW 1 */ + 1419 "01010001100000100101" // bx0 = lsl(ax1,0x1); ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1420 "00001000000000001000" // /* MW 1 */ + 1421 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1422 "01000000000000000000" // nop; if (s) jps 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1423 "00111100000000100010" // /* MW 1 */ + 1424 "01010101001111110110" // ra1 = ra1 + -0x1; axl1 = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1425 "10011001001010000001" // /* MW 1 */ +.tail_call + 1426 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1427 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1428 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1429 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1430 "10111100001000110001" // if (nz) jps 0x23 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=35 */ + 1431 "00100000100111101001" // ax1 = asr(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1432 "01010100100000000100" // ax1 = ax1 | ax0; axl0 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1433 "10011001001011000000" // /* MW 1 */ + 1434 "01011001010000000100" // cmpu(ax1,0x0); im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1435 "00111010000100000001" // /* MW 1 */ + 1436 "10111100000100110001" // if (nz) jps 0x13 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=19 */ + 1437 "10111100000100101111" // jpsdb 0x12 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=18 delay_slots=1 */ +.delay_slot + 1438 "01101110000000000000" // axl0 = [0x408] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1439 "00100000010000010000" // /* MW 1 */ + 1440 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1441 "10111100000111010001" // if (nz) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 1442 "01101000000000000000" // ra1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1443 "00011111111111001001" // /* MW 1 */ + 1444 "00110000000101100000" // cmp(ra0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 1445 "10111100000000100001" // if (nz) jps 0x2 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=2 */ + 1446 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1447 "10111100000101110001" // if (nz) jps 0x17 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=23 */ + 1448 "00100000100111100001" // ax1 = asr(ra0,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1449 "01010100100001000100" // ax1 = ax1 | bx0; im = 0x0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1450 "10111010000100000001" // /* MW 1 */ + 1451 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1452 "10111100000000111000" // if (z) jpsdb 0x3 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 delay_slots=1 */ +.delay_slot + 1453 "01101110000000000000" // axl0 = [0x408] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1454 "00100000010000010000" // /* MW 1 */ + 1455 "00101010000000011000" // ax0 = bx1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 1456 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1457 "00101000000000110000" // /* MW 1 */ + 1458 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1459 "01000110000010000000" // im = 0x0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1460 "10010000001000010000" // /* MW 1 */ +.delay_slot + 1461 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ + 1462 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1463 "01000110000010000000" // im = 0x0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1464 "10010000001000010000" // /* MW 1 */ +.delay_slot + 1465 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ + 1466 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1467 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1468 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1469 "01000110000010000000" // im = 0x0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1470 "10101000000000110000" // /* MW 1 */ +.return_address + 1471 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1472 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1473 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1474 "01000110000010000000" // im = 0x0; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1475 "10101000000000110000" // /* MW 1 */ +.label _Z11float64_divyy +.function float64_div _Z11float64_divyy +.function_start + 1476 "00111000000111111111" // rb1 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1477 "01010000110011100100" // ax0 = lsr(ax1,rb1); ra0 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1478 "00110000000110100100" // /* MW 1 */ + 1479 "01010000110011101000" // ax0 = lsr(bx0,rb1); ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1480 "00011000001100001001" // /* MW 1 */ + 1481 "01010000110010000100" // ax0 = lsr(ax1,ra0); rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1482 "00011000001100001010" // /* MW 1 */ + 1483 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1484 "00011111111111000011" // /* MW 1 */ + 1485 "01010100010001100000" // ax0 = ax0 & bx1; sp+= -0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1486 "00101011111110110000" // /* MW 1 */ + 1487 "01010100110011010110" // ra1 = ra1 ^ rb0; rb0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1488 "10011000001100001010" // /* MW 1 */ + 1489 "01010000110010001000" // ax0 = lsr(bx0,ra0); sp[0x0] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1490 "00001000000001001001" // /* MW 1 */ + 1491 "01010100010001100000" // ax0 = ax0 & bx1; bxs1 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1492 "00110000000100000011" // /* MW 1 */ + 1493 "01010000010001110100" // ax0 = asr(ra1,bx1); ra1 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1494 "00011000001100001001" // /* MW 1 */ + 1495 "01101110000000000000" // bxl1 = [0x428] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1496 "00100001010000010011" // /* MW 1 */ + 1497 "01010000100011100000" // ax0 = lsl(ax0,rb1); sp[0x4] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1498 "00001000000011110110" // /* MW 1 */ + 1499 "01010100000001100000" // ax0 = ax0 + bx1; sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1500 "00010000001001011000" // /* MW 1 */ + 1501 "01101000000000000000" // rb1 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1502 "00011111111111001011" // /* MW 1 */ + 1503 "01101110000000000000" // bxl1 = [0x418] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1504 "00100000110000010011" // /* MW 1 */ + 1505 "00110111100000000000" // ax0 = sxtd(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1506 "01011000000011111000" // cmp(rb0,rb1); sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1507 "00010000000101011000" // /* MW 1 */ + 1508 "01010100010001101000" // ax0 = bx0 & bx1; if (z) jpsdb 0x8e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=142 delay_slots=1 */ + 1509 "00111100100011101000" // /* MW 1 */ +.delay_slot + 1510 "00101000100011001011" // bx1 = ax1 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1511 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1512 "10111100100000110000" // if (z) jps 0x83 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=131 */ + 1513 "00110010000000101000" // cmp(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1514 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1515 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1516 "10111100100101110000" // if (z) jps 0x97 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=151 */ + 1517 "00110111000000000010" // bx0 = nrm(ax0) /* control_operation: words=1 cycles_taken=1 */ + 1518 "01010101001011001001" // bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1519 "00110000000000001001" // /* MW 1 */ + 1520 "00100001000010000000" // ax0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1521 "00101110000010001101" // ra1 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1522 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1523 "10111100000001110001" // if (nz) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 1524 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1525 "10111100100110010000" // if (z) jps 0x99 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=153 */ + 1526 "00110111000011000010" // bx0 = nrm(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1527 "01010101001011001001" // bx0 = bx0 + -0xa; axs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1528 "00110000000000001001" // /* MW 1 */ + 1529 "00101110000010001110" // rb0 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 1530 "00100001000010011011" // bx1 = lsl(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1531 "00100100000100011001" // ax1 = bs(bx1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1532 "00100100000100000000" // ax0 = bs(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1533 "00100011001010001001" // ax1 = lsl(ax1,0xa) /* control_operation: words=1 cycles_taken=1 */ + 1534 "01010001100101100001" // bx1 = lsl(ax0,0xb); sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1535 "10010000001001011001" // /* MW 1 */ + 1536 "01010001100000100100" // ax0 = lsl(ax1,0x1); bxs0 = 0x3fd /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1537 "00110001111111101010" // /* MW 1 */ + 1538 "01011000010000001100" // cmpu(bx1,ax0); sp[0x18] = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1539 "00010000001101011011" // /* MW 1 */ + 1540 "01010111000010111010" // ra0 = rb0 - ra1; if (p) jpsdb 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 1541 "00111100000001001100" // /* MW 1 */ +.delay_slot + 1542 "00101000000010100010" // bx0 = ra0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 1543 "00100011100001001001" // ax1 = lsr(ax1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1544 "01010101000000101001" // bx0 = bx0 + 0x1; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1545 "00010000001001011001" // /* MW 1 */ + 1546 "01011100000000000001" // bx0 = 0; sp[0x8] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1547 "00001000000101010010" // /* MW 1 */ +.no_stack_arguments + 1548 "01100110000000000000" // call 0x23e /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=574 */ + 1549 "00000010001111100000" // /* MW 1 */ +.return_address + 1550 "10110100111111111001" // axl1 = 0x1ff L /* control_operation: words=1 cycles_taken=1 */ + 1551 "00101000100001000001" // ax1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 1552 "01011010010001000100" // cmpu(ax1,0x2L); axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1553 "00010000001100010001" // /* MW 1 */ + 1554 "10111100010100010100" // if (p) jps 0x51 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=81 */ + 1555 "00111000000100000010" // bx0 = 32 /* control_operation: words=1 cycles_taken=1 */ + 1556 "01010000110001000101" // bx1 = lsr(ax1,bx0); rb1 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1557 "10011000001101001011" // /* MW 1 */ + 1558 "01010000110001000001" // bx1 = lsr(ax0,bx0); ra1 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1559 "10011000001111001001" // /* MW 1 */ + 1560 "01000110000010001000" // im = 0x1; rb0 = bl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1561 "10011000001111001010" // /* MW 1 */ + 1562 "01000100001100001001" // ax1 = ra1(u)*rb0(u); ra0 = al0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1563 "00011000001100001000" // /* MW 1 */ + 1564 "01000100011100001001" // ax1 = rb1(u)*rb0(u); sp[0x20] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1565 "00010000010001011001" // /* MW 1 */ + 1566 "01000100001000001001" // ax1 = ra1(u)*ra0(u); bxl1 = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1567 "00011001001001000011" // /* MW 1 */ + 1568 "01011011110000100000" // ax1 = sxtd(ax1); rb0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1569 "10110000000100000110" // /* MW 1 */ + 1570 "01010100000000101101" // bx1 = bx1 + ax1; ra1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1571 "10110000000000001101" // /* MW 1 */ + 1572 "00110111100011000010" // bx0 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1573 "00110000100001010000" // cmpu(bx0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1574 "01000100011000001001" // ax1 = rb1(u)*ra0(u); if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1575 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1576 "01011011110000100000" // ax1 = sxtd(ax1); ra0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1577 "10110000000000001100" // /* MW 1 */ + 1578 "10011000111010001000" // ra0 = zero /* control_operation: words=1 cycles_taken=1 */ + 1579 "00100001000110010011" // bx1 = lsl(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1580 "00101000000011001001" // ax1 = ax1 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1581 "00110111100001000001" // ax1 = sxtd(ax1) /* control_operation: words=1 cycles_taken=1 */ + 1582 "00110000100011001000" // cmpu(ax1,bx1) /* control_operation: words=1 cycles_taken=1 */ + 1583 "00100000100110100011" // bx1 = asr(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1584 "00100001000110011011" // bx1 = lsl(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1585 "00100001100110010010" // bx0 = lsr(bx0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1586 "01010100000001001101" // bx0 = bx1 + bx0; bxl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1587 "00010000010000010011" // /* MW 1 */ + 1588 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1589 "01010100000001001101" // bx0 = bx1 + bx0; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1590 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1591 "01011011110001000001" // bx0 = sxtd(bx0); bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1592 "00110000000000001011" // /* MW 1 */ + 1593 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1594 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1595 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1596 "01010100000001101001" // bx0 = bx0 + bx1; bxl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1597 "00010000001000010011" // /* MW 1 */ + 1598 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1599 "01010111000001001101" // bx0 = bx1 - bx0; bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1600 "00110000000000001011" // /* MW 1 */ + 1601 "00110110000001000001" // ax1 = -ax1 /* control_operation: words=1 cycles_taken=1 */ + 1602 "01011011110000100000" // ax1 = sxtd(ax1); if (nz) jpsdb 0x2 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 delay_slots=1 */ + 1603 "10111100000000101001" // /* MW 1 */ +.delay_slot + 1604 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1605 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1606 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1607 "01010111000001101001" // bx0 = bx0 - bx1; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1608 "00001000000010110110" // /* MW 1 */ + 1609 "01011011110001000001" // bx0 = sxtd(bx0); bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1610 "00010000001100010011" // /* MW 1 */ + 1611 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1612 "10111100000011110011" // if (ns) jps 0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=15 */ +.loop_nesting 1 + 1613 "00101000000011001011" // bx1 = ax1 + bx1 /* control_operation: words=1 cycles_taken=1 */ + 1614 "00110111100011000011" // bx1 = sxtd(bx1) /* control_operation: words=1 cycles_taken=1 */ + 1615 "01011000010000101100" // cmpu(bx1,ax1); axl1 = bhl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1616 "00011001001011000001" // /* MW 1 */ + 1617 "01010110001111100000" // ax0 = ax0 + -0x1 L; if (s) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 1618 "00111100000000111010" // /* MW 1 */ +.delay_slot + 1619 "01011011110000000000" // ax0 = sxtd(ax0); bxs1 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1620 "00110000000000001011" // /* MW 1 */ + 1621 "10011000111010000011" // bxs1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1622 "00100000100110011011" // bx1 = asr(bx1,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1623 "01010100000001101001" // bx0 = bx0 + bx1; bxl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1624 "00010000001100010011" // /* MW 1 */ + 1625 "00110111100010000010" // bx0 = sxtd(bx0) /* control_operation: words=1 cycles_taken=1 */ + 1626 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1627 "10111111111100010010" // if (s) jps -0xf /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=-15 */ +.loop_nesting 0 + 1628 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1629 "01000010000000001000" // if (nz) jps 0x1; ra0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1630 "10001000000000001000" // /* MW 1 */ + 1631 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1632 "01010000010011010100" // ax1 = asr(ra1,rb0); jpsdb 0x6 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 delay_slots=1 */ + 1633 "10111100000001101111" // /* MW 1 */ +.delay_slot + 1634 "01010100100000100000" // ax1 = ax0 | ax1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1635 "10001000000100001001" // /* MW 1 */ + 1636 "10001000000000001000" // ra0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1637 "10001000000100001001" // ra1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1638 "01010101000000000000" // ax1 = ax0 + 0x0; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1639 "10001000000010110110" // /* MW 1 */ +.tail_call + 1640 "01100100000000000000" // jpdb 0x2fc /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=764 delay_slots=1 */ + 1641 "00000010111111001111" // /* MW 1 */ +.delay_slot + 1642 "01000110000010000000" // im = 0x0; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1643 "10101000000001010000" // /* MW 1 */ +.return_address + 1644 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1645 "01000010000000011000" // if (z) jps 0x3; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 1646 "00001000000010110110" // /* MW 1 */ +.tail_call + 1647 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1648 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1649 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1650 "01000010000001110011" // jps 0xe; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 1651 "10010000001000010000" // /* MW 1 */ + 1652 "00110010100000011000" // cmpu(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1653 "10111100000111010001" // if (nz) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 1654 "00110000000111101000" // cmp(ra1,rb1) /* control_operation: words=1 cycles_taken=1 */ + 1655 "01000010000001000000" // if (nz) jps 0x8; lr = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1656 "10001000000010110110" // /* MW 1 */ + 1657 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1658 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ +.tail_call + 1659 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1660 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1661 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1662 "10111100000000111111" // jpsdb 0x3 /* control_operation: words=1 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 delay_slots=1 */ +.delay_slot + 1663 "01101110000000000000" // axl0 = [0x420] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1664 "00100001000000010000" // /* MW 1 */ + 1665 "10010000000100010000" // axl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 1666 "01000110000010100000" // ret; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1667 "00101000000001010000" // /* MW 1 */ + 1668 "00111000000100000001" // ax1 = 32 /* control_operation: words=1 cycles_taken=1 */ + 1669 "00100000100001110001" // ax1 = asr(rb0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1670 "00101001000011001001" // ax1 = ax1 | bx1 /* control_operation: words=1 cycles_taken=1 */ + 1671 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1672 "01000010000000010000" // if (nz) jps 0x2; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 1673 "10010000000100010000" // /* MW 1 */ + 1674 "01101110000000000000" // axl0 = [0x420] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1675 "00100001000000010000" // /* MW 1 */ + 1676 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1677 "01000110000010100000" // ret; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1678 "00101000000001010000" // /* MW 1 */ + 1679 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1680 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 1681 "10010000001000010000" // axl0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 1682 "10101000000001010000" // sp+= 0x28 /* control_operation: words=1 cycles_taken=1 */ + 1683 "10001000000010110110" // lr = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 1684 "01100100000000000000" // jpdb 0x2ce /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=718 delay_slots=1 */ + 1685 "00000010110011101111" // /* MW 1 */ +.delay_slot + 1686 "01000000000000000000" // nop; sp+= 0x28 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1687 "00101000000001010000" // /* MW 1 */ +.label _Z10float64_eqyy +.function float64_eq _Z10float64_eqyy +.function_start + 1688 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1689 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1690 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1691 "00011111111111000011" // /* MW 1 */ + 1692 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1693 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1694 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1695 "00011111111111001010" // /* MW 1 */ + 1696 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1697 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1698 "01101110000000000000" // bxl0 = [0x430] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1699 "00100001100000010010" // /* MW 1 */ + 1700 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1701 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1702 "10111100000110010001" // if (nz) jps 0x19 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=25 */ + 1703 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1704 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1705 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1706 "00011111111111000011" // /* MW 1 */ + 1707 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1708 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1709 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1710 "00011111111111001010" // /* MW 1 */ + 1711 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1712 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1713 "01101110000000000000" // bxl0 = [0x430] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1714 "00100001100000010010" // /* MW 1 */ + 1715 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1716 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1717 "10111100000010100001" // if (nz) jps 0xa /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1718 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1719 "01011100000000000110" // ra0 = 1; if (z) jps 0x9 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 1720 "00111100000010010000" // /* MW 1 */ + 1721 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1722 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1723 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1724 "01000000000000000000" // nop; if (z) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1725 "00111100000001000000" // /* MW 1 */ + 1726 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1727 "00011000111010001000" // /* MW 1 */ + 1728 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1729 "00011000111010001000" // /* MW 1 */ + 1730 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1731 "00111010000101000000" // /* MW 1 */ +.label _Z10float64_leyy +.function float64_le _Z10float64_leyy +.function_start + 1732 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1733 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1734 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1735 "00011111111111000011" // /* MW 1 */ + 1736 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1737 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1738 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1739 "00011111111111001010" // /* MW 1 */ + 1740 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1741 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1742 "01101110000000000000" // bxl0 = [0x438] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1743 "00100001110000010010" // /* MW 1 */ + 1744 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1745 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1746 "10111100001010110001" // if (nz) jps 0x2b /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=43 */ + 1747 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1748 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1749 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1750 "00011111111111000011" // /* MW 1 */ + 1751 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1752 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1753 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1754 "00011111111111001010" // /* MW 1 */ + 1755 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1756 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1757 "01101110000000000000" // bxl0 = [0x438] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1758 "00100001110000010010" // /* MW 1 */ + 1759 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1760 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1761 "10111100000111000001" // if (nz) jps 0x1c /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=28 */ + 1762 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1763 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1764 "01010000110010000101" // bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1765 "00011000001110001010" // /* MW 1 */ + 1766 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1767 "00110000000100110000" // cmp(rb0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1768 "10111100000011000001" // if (nz) jps 0xc /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=12 */ + 1769 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1770 "01011100000000000110" // ra0 = 1; if (z) jps 0x14 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 1771 "00111100000101000000" // /* MW 1 */ + 1772 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1773 "01011100000000000110" // ra1 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1774 "10111100000000010010" // /* MW 1 */ + 1775 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1776 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 1777 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1778 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 1779 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1780 "00011000111010001000" // /* MW 1 */ + 1781 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1782 "01011100000000000110" // ra0 = 1; if (nz) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1783 "00111100000010000001" // /* MW 1 */ + 1784 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1785 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1786 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1787 "10111100000001000000" // if (z) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 1788 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1789 "00011000111010001000" // /* MW 1 */ + 1790 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1791 "00011000111010001000" // /* MW 1 */ + 1792 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1793 "00111010000101000000" // /* MW 1 */ +.label _Z10float64_ltyy +.function float64_lt _Z10float64_ltyy +.function_start + 1794 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1795 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1796 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1797 "00011111111111000011" // /* MW 1 */ + 1798 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1799 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1800 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1801 "00011111111111001010" // /* MW 1 */ + 1802 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1803 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1804 "01101110000000000000" // bxl0 = [0x440] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1805 "00100010000000010010" // /* MW 1 */ + 1806 "00101000100010000010" // bx0 = ax0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1807 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1808 "10111100001011010001" // if (nz) jps 0x2d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=45 */ + 1809 "00111000000110100100" // ra0 = 52 /* control_operation: words=1 cycles_taken=1 */ + 1810 "00100001100100001010" // bx0 = lsr(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1811 "01101010000000000000" // bxl1 = 0x7ff L /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1812 "00011111111111000011" // /* MW 1 */ + 1813 "00101000100011010010" // bx0 = bx0 & bx1 /* control_operation: words=1 cycles_taken=1 */ + 1814 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1815 "01101000000000000000" // rb0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1816 "00011111111111001010" // /* MW 1 */ + 1817 "00110000000110100000" // cmp(ra0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 1818 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ + 1819 "01101110000000000000" // bxl0 = [0x440] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1820 "00100010000000010010" // /* MW 1 */ + 1821 "00101000100010001010" // bx0 = ax1 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 1822 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1823 "10111100000111100001" // if (nz) jps 0x1e /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=30 */ + 1824 "00111000000111111100" // ra0 = 63 /* control_operation: words=1 cycles_taken=1 */ + 1825 "00100001100100000010" // bx0 = lsr(ax0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1826 "01010000110010000101" // bx0 = lsr(ax1,ra0); rb0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1827 "00011000001110001010" // /* MW 1 */ + 1828 "10011000001110001000" // ra0 = bl0 /* control_operation: words=1 cycles_taken=1 */ + 1829 "00110000000100110000" // cmp(rb0,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1830 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 1831 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1832 "01011100000000000110" // ra0 = 1; if (z) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 1833 "00111100000010000000" // /* MW 1 */ + 1834 "00110000100001000000" // cmpu(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 1835 "01011100000000000110" // ra1 = 1; if (s) jps 0x1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 1836 "10111100000000010010" // /* MW 1 */ + 1837 "10011000111010001001" // ra1 = zero /* control_operation: words=1 cycles_taken=1 */ + 1838 "00101001100101110110" // rb0 = rb0 ^ ra1 /* control_operation: words=1 cycles_taken=1 */ + 1839 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1840 "01000000000000000000" // nop; if (nz) jps 0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 1841 "00111100000011100001" // /* MW 1 */ + 1842 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1843 "00011000111010001000" // /* MW 1 */ + 1844 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1845 "01011100000000000110" // ra0 = 1; if (z) jps 0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 1846 "00111100000001010000" // /* MW 1 */ + 1847 "00101001000001000000" // ax0 = ax0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1848 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 1849 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1850 "01000000000000000000" // nop; if (nz) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1851 "00111100000001000001" // /* MW 1 */ + 1852 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1853 "00011000111010001000" // /* MW 1 */ + 1854 "01000110000010100000" // ret; ra0 = zero /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1855 "00011000111010001000" // /* MW 1 */ + 1856 "01000000000000000000" // nop; ret /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1857 "00111010000101000000" // /* MW 1 */ +.label ff_ldexp +.function ff_ldexp ff_ldexp +.function_start + 1858 "01101100000000000000" // bxs0 = [0x4a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1859 "00100101000000000010" // /* MW 1 */ + 1860 "10011000010001000000" // axs0 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 1861 "01010100010001000001" // bx0 = ax0 & bx0; sp+= -0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1862 "00101011111111000000" // /* MW 1 */ + 1863 "01010001011010001010" // ra0 = asr(bx0,0x14); sp[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1864 "00001000000011001000" // /* MW 1 */ + 1865 "01011001000000010000" // cmp(ra0,0x0); bxs0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1866 "00011000001101000010" // /* MW 1 */ + 1867 "01000010000011011000" // if (nz) jps 0x1b; sp[0x0] = lr /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=27 */ + 1868 "10001000000001110110" // /* MW 1 */ + 1869 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 1870 "01101100000000000000" // ra0 = [0x4a4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1871 "00100101001000001000" // /* MW 1 */ + 1872 "00101000100100000000" // ax0 = ax0 & ra0 /* control_operation: words=1 cycles_taken=1 */ + 1873 "00101001000000010000" // ax0 = bx0 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 1874 "00110010000000000000" // cmp(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 1875 "10111100010110100000" // if (z) jps 0x5a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=90 */ +.no_stack_arguments + 1876 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1877 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1878 "01101110000000000000" // bxl0 = [0x478] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1879 "00100011110000010010" // /* MW 1 */ +.return_address + 1880 "01101100000000000000" // ra0 = [0x4a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1881 "00100101000000001000" // /* MW 1 */ + 1882 "01011100001100101000" // ax1 = -54; bxs0 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1883 "10011000010000000010" // /* MW 1 */ + 1884 "01010100010010001010" // ra0 = bx0 & ra0; sp[0x8] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1885 "00001000000101010010" // /* MW 1 */ + 1886 "01101000001111111100" // bxs0 = -0xc350 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1887 "11110010110000000010" // /* MW 1 */ + 1888 "01010001011010010010" // ra0 = asr(ra0,0x14); rb0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1889 "00001000000010001010" // /* MW 1 */ + 1890 "01011000000001011000" // cmp(rb0,bx0); sp[0x10] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1891 "00010000001001011000" // /* MW 1 */ + 1892 "01010100000000110010" // ra0 = ra0 + ax1; if (s) jps 0x4c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=76 */ + 1893 "00111100010011000010" // /* MW 1 */ + 1894 "01000010000000100011" // jps 0x4; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 1895 "10010000001000010001" // /* MW 1 */ + 1896 "10001000000010001010" // rb0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 1897 "10001000000101010000" // sp[0x8] = ah0 /* control_operation: words=1 cycles_taken=1 */ + 1898 "01000000000000000000" // nop; sp[0x10] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1899 "00010000001001011001" // /* MW 1 */ + 1900 "01101000000000000000" // axs0 = 0x7ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1901 "00011111111111000000" // /* MW 1 */ + 1902 "00110000000000100000" // cmp(ra0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 1903 "10111100001110000000" // if (z) jps 0x38 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=56 */ + 1904 "01101110000000000000" // axl0 = [0x490] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1905 "00100100100000010000" // /* MW 1 */ + 1906 "00101000100000001000" // ax0 = ax1 & ax0 /* control_operation: words=1 cycles_taken=1 */ + 1907 "01101110000000000000" // axl1 = [0x488] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1908 "00100100010000010001" // /* MW 1 */ + 1909 "01010100100000100001" // bx0 = ax0 | ax1; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1910 "00010000001101011000" // /* MW 1 */ + 1911 "00101000000110100000" // ax0 = ra0 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 1912 "10001000000111010000" // sp[0xc] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1913 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 1914 "00000101000110000000" // /* MW 1 */ +.return_address + 1915 "10001000000110000001" // axs1 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ + 1916 "01101000000000000000" // bxs0 = 0x7fe /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1917 "00011111111110000010" // /* MW 1 */ + 1918 "01011000000001000100" // cmp(ax1,bx0); bxs0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1919 "00001000000100000010" // /* MW 1 */ + 1920 "10111100001010100100" // if (p) jps 0x2a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=42 */ + 1921 "01101100000000000000" // rb0 = [0x4a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1922 "00100101010000001010" // /* MW 1 */ + 1923 "01011001000000000100" // cmp(ax1,0x0); ra0 = -0x36 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1924 "00110011111001010100" // /* MW 1 */ + 1925 "01010100010011001001" // bx0 = bx0 & rb0; if (p) jps 0x1a /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=26 */ + 1926 "00111100000110100100" // /* MW 1 */ + 1927 "00110000000100001000" // cmp(ax1,ra0) /* control_operation: words=1 cycles_taken=1 */ + 1928 "01000010000001100010" // if (np) jps 0xc; ra0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=12 */ + 1929 "10001000000010001000" // /* MW 1 */ + 1930 "00111000000110110100" // ra0 = 54 /* control_operation: words=1 cycles_taken=1 */ + 1931 "01010100000010000100" // ax1 = ax1 + ra0; axl0 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1932 "10010000001000010000" // /* MW 1 */ + 1933 "00100011010100001001" // ax1 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 1934 "00101001000001010001" // ax1 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 1935 "10011000010001000001" // axs1 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 1936 "10011000001100001101" // al1 = al0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1937 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1938 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1939 "01101110000000000000" // bxl0 = [0x498] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1940 "00100100110000010010" // /* MW 1 */ +.return_address + 1941 "10111100000101010111" // jps 0x15 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=21 */ + 1942 "01101000000000000011" // axs1 = 0xc350 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1943 "00001101010000000001" // /* MW 1 */ + 1944 "01011000000000110000" // cmp(ra0,ax1); bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1945 "00010000001100010010" // /* MW 1 */ + 1946 "10111100000100001100" // if (p) jpsdb 0x10 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=16 delay_slots=1 */ +.delay_slot + 1947 "01101110000000000000" // axl1 = [0x480] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1948 "00100100000000010001" // /* MW 1 */ +.no_stack_arguments + 1949 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1950 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1951 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1952 "10111100000010100111" // jps 0xa /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 */ + 1953 "00100011010100001000" // ax0 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 1954 "01010100100000001000" // ax0 = bx0 | ax0; axl1 = sp[0x10] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1955 "00010000001000010001" // /* MW 1 */ + 1956 "01000010000000101111" // jpsdb 0x5; axs0 = ah0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 delay_slots=1 */ + 1957 "10011000010000000000" // /* MW 1 */ +.delay_slot + 1958 "01000000000000000000" // nop; al0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1959 "00011000001101001100" // /* MW 1 */ +.no_stack_arguments + 1960 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 1961 "00000101000000001000" // /* MW 1 */ +.delay_slot + 1962 "00101010000000001010" // bx0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 1963 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1964 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1965 "00101000000001000000" // /* MW 1 */ + 1966 "01010101000000000100" // ax0 = ax1 + 0x0; lr = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1967 "00001000000000110110" // /* MW 1 */ + 1968 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1969 "00101000000001000000" // /* MW 1 */ + 1970 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 1971 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 1972 "00000101000110001000" // /* MW 1 */ +.delay_slot + 1973 "01101110000000000000" // axl1 = [0x480] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1974 "00100100000000010001" // /* MW 1 */ +.return_address + 1975 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 1976 "01000110000010100000" // ret; sp+= 0x20 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 1977 "00101000000001000000" // /* MW 1 */ +.label ff_pow +.function ff_pow ff_pow +.function_start + 1978 "01101100000000000000" // axs0 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1979 "00100101011000000000" // /* MW 1 */ + 1980 "01010101000000000111" // rb0 = ax1 + 0x0; rb1 = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1981 "00011000010010001011" // /* MW 1 */ + 1982 "01010100010000011001" // bx1 = rb0 & ax0; sp+= -0x58 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1983 "10101011111101010000" // /* MW 1 */ + 1984 "01010100010000011110" // ra0 = rb1 & ax0; axs0 = bl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1985 "00011000001110000000" // /* MW 1 */ + 1986 "01010100100000010001" // bx0 = ra0 | ax0; sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1987 "00010000000001011010" // /* MW 1 */ + 1988 "01011001010000001000" // cmpu(bx0,0x0); sp[0x8] = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1989 "00001000000101001101" // /* MW 1 */ + 1990 "01100100000000000000" // if (z) jpdb 0xb66 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=2918 delay_slots=1 */ + 1991 "00001011011001101000" // /* MW 1 */ +.delay_slot + 1992 "10001000001001110110" // sp[0x10] = lr /* control_operation: words=1 cycles_taken=1 */ + 1993 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 1994 "01101100000000000000" // bxs0 = [0x4b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 1995 "00100101100000000010" // /* MW 1 */ + 1996 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 1997 "01100100000000000000" // if (p) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 1998 "00001011011000100100" // /* MW 1 */ + 1999 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2000 "01000010000000001000" // if (z) jps 0x1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 2001 "00001000000100001001" // /* MW 1 */ + 2002 "10111100000000110111" // jps 0x3 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2003 "00110010100000101000" // cmpu(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2004 "01100100000000000000" // if (nz) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2005 "00001011011000100001" // /* MW 1 */ + 2006 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2007 "01100100000000000000" // if (p) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2008 "00001011011000100100" // /* MW 1 */ + 2009 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2010 "10111100000000010000" // if (z) jps 0x1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=1 */ + 2011 "10111100000001000111" // jps 0x4 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 2012 "01011001010000000000" // cmpu(ax0,0x0); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2013 "00111000000000000000" // /* MW 1 */ + 2014 "01100100000000000000" // if (nz) jp 0xb62 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2914 */ + 2015 "00001011011000100001" // /* MW 1 */ + 2016 "01011001000000011000" // cmp(rb0,0x0); ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2017 "00011000111010001001" // /* MW 1 */ + 2018 "01000010000101101101" // if (ns) jpsdb 0x2d; sp[0x14] = ra1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=45 delay_slots=1 */ + 2019 "10001000001011001001" // /* MW 1 */ +.delay_slot +.swstall delay_slot + 2020 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2021 "01101100000000000000" // ra1 = [0x4b4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2022 "00100101101000001001" // /* MW 1 */ + 2023 "01011000000010110000" // cmp(ra0,ra1); ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2024 "00110000000000010101" // /* MW 1 */ + 2025 "10111100001001100011" // if (ns) jps 0x26 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=38 */ + 2026 "01101100000000000000" // ra1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2027 "00100101110000001001" // /* MW 1 */ + 2028 "01011000000010110000" // cmp(ra0,ra1); ra1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2029 "00011000111010001001" // /* MW 1 */ + 2030 "10111100001000010010" // if (s) jps 0x21 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=33 */ + 2031 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 2032 "01010001011010010010" // ra1 = asr(ra0,0x14); axs1 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2033 "10110010000000001001" // /* MW 1 */ + 2034 "01010100000000110110" // ra1 = ra1 + ax1; axs1 = 0x14 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2035 "10110000000010100001" // /* MW 1 */ + 2036 "01011000000000110100" // cmp(ra1,ax1); axs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2037 "00110000000110100001" // /* MW 1 */ + 2038 "10111100000011100100" // if (p) jps 0xe /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=14 */ + 2039 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2040 "01000010000010100000" // if (nz) jps 0x14; axs1 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=20 */ + 2041 "10011000111010000001" // /* MW 1 */ + 2042 "00111000000010100001" // ax1 = 20 /* control_operation: words=1 cycles_taken=1 */ + 2043 "00101110000101001001" // ax1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 2044 "00100000100001100101" // ra1 = asr(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2045 "00100001000001101001" // ax1 = lsl(ra1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2046 "01011000000010000100" // cmp(ax1,ra0); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2047 "00011000111010000001" // /* MW 1 */ + 2048 "10111100000011010001" // if (nz) jps 0xd /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=13 */ + 2049 "01010101010000110100" // ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2050 "10110000000000010101" // /* MW 1 */ + 2051 "01010111000000110100" // ax1 = ra1 - ax1; jps 0x9 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 2052 "10111100000010010111" // /* MW 1 */ + 2053 "00101110000101001001" // ax1 = ax1 - ra1 /* control_operation: words=1 cycles_taken=1 */ + 2054 "00100001100001000101" // ra1 = lsr(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2055 "00100001000001101001" // ax1 = lsl(ra1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2056 "01011000010000000100" // cmpu(ax1,ax0); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2057 "00011000111010000001" // /* MW 1 */ + 2058 "10111100000000110001" // if (nz) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2059 "01010101010000110100" // ax1 = ra1 & 0x1; ra1 = 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2060 "10110000000000010101" // /* MW 1 */ + 2061 "00101110000001101001" // ax1 = ra1 - ax1 /* control_operation: words=1 cycles_taken=1 */ + 2062 "01010101000000000110" // ra1 = ax1 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2063 "10010000001100010001" // /* MW 1 */ + 2064 "10001000001011001001" // sp[0x14] = ra1 /* control_operation: words=1 cycles_taken=1 */ + 2065 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2066 "01101100000000000000" // ra1 = [0x4d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2067 "00100110110000001001" // /* MW 1 */ + 2068 "01010100000010101110" // ra1 = bx1 + ra1; if (nz) jpsdb 0x17 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=23 delay_slots=1 */ + 2069 "10111100000101111001" // /* MW 1 */ +.delay_slot + 2070 "10001000000100000000" // axs0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2071 "01011000000001010000" // cmp(ra0,bx0); sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2072 "00010000000101011001" // /* MW 1 */ + 2073 "01100100000000000000" // if (z) jp 0xb6c /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2924 */ + 2074 "00001011011011000000" // /* MW 1 */ + 2075 "01101100000000000000" // axs1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2076 "00100101110000000001" // /* MW 1 */ + 2077 "00110000000001100000" // cmp(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2078 "01100100000000000000" // if (z) jp 0xb87 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2951 */ + 2079 "00001011100001110000" // /* MW 1 */ + 2080 "01101100000000000000" // axs1 = [0x4bc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2081 "00100101111000000001" // /* MW 1 */ + 2082 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2083 "01100100000000000000" // if (z) jpdb 0xb92 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=2962 delay_slots=1 */ + 2084 "00001011100100101000" // /* MW 1 */ +.delay_slot + 2085 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2086 "00100110000000000001" // /* MW 1 */ + 2087 "00110000000001111000" // cmp(rb1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2088 "01000010000000011000" // if (nz) jps 0x3; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 2089 "10010000000100010001" // /* MW 1 */ + 2090 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2091 "01100100000000000000" // if (ns) jp 0xb99 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2969 */ + 2092 "00001011100110010011" // /* MW 1 */ + 2093 "00110010100000000000" // cmpu(ax0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2094 "01101110000000000000" // axl0 = [0x4f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2095 "00100111100000010000" // /* MW 1 */ + 2096 "01010100010000000100" // ax0 = ax1 & ax0; if (nz) jps 0xb /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=11 */ + 2097 "00111100000010110001" // /* MW 1 */ + 2098 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2099 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2100 "00001011100111100000" // /* MW 1 */ + 2101 "00110010000000011000" // cmp(bx1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2102 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2103 "00001011100111100000" // /* MW 1 */ + 2104 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2105 "00100101110000000010" // /* MW 1 */ + 2106 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2107 "01100100000000000000" // if (z) jp 0xb9e /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2974 */ + 2108 "00001011100111100000" // /* MW 1 */ + 2109 "00100011111111110110" // rb0 = lsr(rb0,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 2110 "01010101001111111011" // rb0 = rb0 + -0x1; bxs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2111 "00001000001010000010" // /* MW 1 */ + 2112 "01010100100001011001" // bx0 = rb0 | bx0; sp[0x8] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2113 "00001000000101001010" // /* MW 1 */ + 2114 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2115 "01100100000000000000" // if (z) jp 0xb58 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=2904 */ + 2116 "00001011010110000000" // /* MW 1 */ + 2117 "01101100000000000000" // bxs0 = [0x4c4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2118 "00100110001000000010" // /* MW 1 */ + 2119 "00110000000010100000" // cmp(ra0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2120 "10111101010110010100" // if (p) jps 0x159 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=345 */ + 2121 "01101000000001000000" // axs1 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2122 "00000000000000000001" // /* MW 1 */ + 2123 "01011000000000101100" // cmp(bx1,ax1); axs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2124 "00011000111010000001" // /* MW 1 */ + 2125 "01000010000001001001" // if (ns) jps 0x9; rb0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=9 */ + 2126 "10011000111010001010" // /* MW 1 */ + 2127 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2128 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2129 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2130 "01101110000000000000" // bxl0 = [0x530] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2131 "00101001100000010010" // /* MW 1 */ +.return_address + 2132 "01011100001100101100" // ax1 = -53; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2133 "10111000000000000000" // /* MW 1 */ + 2134 "01011100000000000011" // rb0 = 0; bxs1 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2135 "00011000010000000011" // /* MW 1 */ + 2136 "01101000000000111111" // bxs0 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2137 "11111111111111000010" // /* MW 1 */ + 2138 "01010100010001001111" // rb1 = bx1 & bx0; bxs0 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2139 "10110010000000001010" // /* MW 1 */ + 2140 "01010001011010001110" // ra0 = asr(bx1,0x14); sp[0xc] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2141 "00001000000111001010" // /* MW 1 */ + 2142 "00101000000010100010" // bx0 = ra0 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 2143 "00101000000010001001" // ax1 = ax1 + bx0 /* control_operation: words=1 cycles_taken=1 */ + 2144 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2145 "00100101110000000010" // /* MW 1 */ + 2146 "01101000000000001110" // bxs1 = 0x3988e /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2147 "01100010001110000011" // /* MW 1 */ + 2148 "01011000000001111100" // cmp(rb1,bx1); sp[0x18] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2149 "00001000001101010001" // /* MW 1 */ + 2150 "01010100100001011110" // ra0 = rb1 | bx0; if (np) jps 0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=14 */ + 2151 "00111100000011100101" // /* MW 1 */ + 2152 "01101000000000101110" // axs1 = 0xbb67a /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2153 "11011001111010000001" // /* MW 1 */ + 2154 "01011000000000111100" // cmp(rb1,ax1); rb0 = 0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2155 "00110000000000001110" // /* MW 1 */ + 2156 "10111100000001110010" // if (s) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 2157 "10001000001100000001" // axs1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2158 "01101000001111000000" // bxs0 = -0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2159 "00000000000000000010" // /* MW 1 */ + 2160 "01010101000000100100" // ax1 = ax1 + 0x1; rb0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2161 "10011000111010001010" // /* MW 1 */ + 2162 "01010100000001010010" // ra0 = ra0 + bx0; sp[0x18] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2163 "00001000001101010001" // /* MW 1 */ + 2164 "01000000000000000000" // nop; sp[0xc] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2165 "00001000000111001010" // /* MW 1 */ + 2166 "01101000000000000000" // a0 = 0x448 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2167 "00010001001000100000" // /* MW 1 */ + 2168 "01010001100001111000" // ax1 = lsl(rb0,0x3); sp[0x1c] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2169 "10001000001111001000" // /* MW 1 */ + 2170 "01010101000000010000" // ax1 = ra0 + 0x0; c0 = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2171 "10011000010001101000" // /* MW 1 */ + 2172 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ + 2173 "10001100000000110010" // bxl0 = a0[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2174 "10011000001100001101" // al1 = al0 /* control_operation: words=1 cycles_taken=1 */ + 2175 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ + 2176 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ + 2177 "10001000011001101000" // sp[0x30] = c0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2178 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2179 "00000101000011000000" // /* MW 1 */ +.return_address + 2180 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2181 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2182 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2183 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2184 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2185 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2186 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2187 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2188 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2189 "00100111010000010001" // /* MW 1 */ +.return_address + 2190 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2191 "00010000011100010001" // /* MW 1 */ + 2192 "01000000000000000000" // nop; sp[0x40] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2193 "00010000100001011010" // /* MW 1 */ +.no_stack_arguments + 2194 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2195 "00000101000110000000" // /* MW 1 */ +.return_address + 2196 "01011100000011110100" // ax1 = 61; bxs0 = sp[0x1c] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2197 "10001000001110000010" // /* MW 1 */ + 2198 "01010001010000101011" // rb0 = asr(bx0,0x1); bxs0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2199 "00001000000110000010" // /* MW 1 */ + 2200 "01010010000000111000" // ax1 = bs(rb0,ax1); sp[0x48] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2201 "10010000100101011000" // /* MW 1 */ + 2202 "01101000000000100000" // rb1 = 0x80000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2203 "00000000000000001011" // /* MW 1 */ + 2204 "01010001101001001011" // rb0 = lsl(bx0,0x12); bxl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2205 "00010000010000010010" // /* MW 1 */ + 2206 "01010100000011100100" // ax1 = ax1 + rb1; al0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2207 "10011000111010001100" // /* MW 1 */ + 2208 "01010100000011000100" // ax1 = ax1 + rb0; sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2209 "10010000010001011000" // /* MW 1 */ + 2210 "10011000010001000001" // axs1 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 2211 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2212 "01000000000000000000" // nop; sp[0x50] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2213 "00010000101001011001" // /* MW 1 */ +.no_stack_arguments + 2214 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2215 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2216 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2217 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2218 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2219 "00010000010100010001" // /* MW 1 */ +.return_address + 2220 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2221 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2222 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2223 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2224 "01000000000000000000" // nop; bxl0 = sp[0x50] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2225 "00010000101000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2226 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2227 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2228 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2229 "00010000011100010001" // /* MW 1 */ +.return_address + 2230 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2231 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2232 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2233 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2234 "01000000000000000000" // nop; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2235 "00010000010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2236 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2237 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2238 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2239 "00010000010100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2240 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2241 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2242 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2243 "00010000100000010001" // /* MW 1 */ +.return_address + 2244 "10010000100100010001" // axl1 = sp[0x48] /* control_operation: words=1 cycles_taken=1 */ + 2245 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x28] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2246 "00010000010101011000" // /* MW 1 */ +.no_stack_arguments + 2247 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2248 "00000101000110000000" // /* MW 1 */ +.return_address + 2249 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2250 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2251 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2252 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2253 "10011001001000000010" // /* MW 1 */ +.return_address + 2254 "01101110000000000000" // bxl0 = [0x560] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2255 "00101011000000010010" // /* MW 1 */ + 2256 "10010000100001011000" // sp[0x40] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2257 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2258 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2259 "10010000011100010001" // axl1 = sp[0x38] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2260 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2261 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2262 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2263 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2264 "01101110000000000000" // axl1 = [0x558] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2265 "00101010110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2266 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2267 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2268 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2269 "00010000011100010001" // /* MW 1 */ +.return_address + 2270 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2271 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2272 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2273 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2274 "01101110000000000000" // axl1 = [0x550] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2275 "00101010100000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2276 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2277 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2278 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2279 "00010000011100010001" // /* MW 1 */ +.return_address + 2280 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2281 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2282 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2283 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2284 "01101110000000000000" // axl1 = [0x548] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2285 "00101010010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2286 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2287 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2288 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2289 "00010000011100010001" // /* MW 1 */ +.return_address + 2290 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2291 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2292 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2293 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2294 "01101110000000000000" // axl1 = [0x540] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2295 "00101010000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2296 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2297 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2298 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2299 "00010000011100010001" // /* MW 1 */ +.return_address + 2300 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2301 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2302 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2303 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2304 "01101110000000000000" // axl1 = [0x538] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2305 "00101001110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2306 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2307 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2308 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2309 "00010000100000010001" // /* MW 1 */ +.return_address + 2310 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2311 "10010000011101011000" // sp[0x38] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2312 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2313 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2314 "01000000000000000000" // nop; bxl0 = sp[0x48] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2315 "00010000100100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2316 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2317 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2318 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2319 "00010000010100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2320 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2321 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2322 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2323 "00010000011100010001" // /* MW 1 */ +.return_address + 2324 "01000000000000000000" // nop; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2325 "00010000010000010001" // /* MW 1 */ + 2326 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x38] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2327 "00010000011101011000" // /* MW 1 */ +.no_stack_arguments + 2328 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2329 "00000101000110000000" // /* MW 1 */ +.return_address + 2330 "01010101000000000001" // bx0 = ax0 + 0x0; sp[0x40] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2331 "00010000100001011000" // /* MW 1 */ +.no_stack_arguments + 2332 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2333 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2334 "01101110000000000000" // axl1 = [0x568] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2335 "00101011010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2336 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2337 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2338 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2339 "10010000011100010010" // /* MW 1 */ +.return_address + 2340 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2341 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2342 "01000000000000000000" // nop; sp[0x50] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2343 "00010000101001011001" // /* MW 1 */ +.no_stack_arguments + 2344 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2345 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2346 "01101110000000000000" // bxl0 = [0x568] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2347 "00101011010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2348 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2349 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2350 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x40] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2351 "10010000100000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2352 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2353 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2354 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x38] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2355 "00010000011100010001" // /* MW 1 */ +.return_address + 2356 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2357 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2358 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2359 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2360 "10010000101000010010" // bxl0 = sp[0x50] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2361 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2362 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2363 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2364 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2365 "10010000101000010010" // bxl0 = sp[0x50] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2366 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2367 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2368 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2369 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2370 "01000000000000000000" // nop; bxl0 = sp[0x48] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2371 "00010000100100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2372 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2373 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2374 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2375 "00010000010000010001" // /* MW 1 */ +.return_address + 2376 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2377 "00010000010100010001" // /* MW 1 */ + 2378 "01000000000000000000" // nop; sp[0x20] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2379 "00010000010001011010" // /* MW 1 */ +.no_stack_arguments + 2380 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2381 "00000101000000000000" // /* MW 1 */ +.return_address + 2382 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2383 "10010000010100010010" // /* MW 1 */ + 2384 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2385 "10010000010101011001" // sp[0x28] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2386 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2387 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2388 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2389 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2390 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2391 "00010000010000010001" // /* MW 1 */ +.return_address + 2392 "01101110000000000000" // axl1 = [0x570] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2393 "00101011100000010001" // /* MW 1 */ + 2394 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2395 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2396 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2397 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2398 "10010000010100010010" // bxl0 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2399 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2400 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2401 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2402 "01101110000000000000" // axl1 = [0x578] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2403 "00101011110000010001" // /* MW 1 */ +.return_address + 2404 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2405 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2406 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2407 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2408 "01101110000000000000" // bxl0 = [0x580] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2409 "00101100000000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2410 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2411 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2412 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2413 "00010000010000010001" // /* MW 1 */ +.return_address + 2414 "10001000011000101000" // c0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ + 2415 "01101000000000000000" // a0 = 0x468 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2416 "00010001101000100000" // /* MW 1 */ + 2417 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2418 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2419 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2420 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2421 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = a0[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2422 "10001100000000110010" // /* MW 1 */ +.return_address + 2423 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2424 "01100110000000000000" // calldb 0x350 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=848 delay_slots=1 */ + 2425 "00000011010100001000" // /* MW 1 */ +.delay_slot + 2426 "10001000001100001000" // ra0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2427 "10010000010100010001" // axl1 = sp[0x28] /* control_operation: words=1 cycles_taken=1 */ + 2428 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2429 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2430 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2431 "10010000010000010010" // bxl0 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2432 "01101000000000000000" // a0 = 0x458 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2433 "00010001011000100000" // /* MW 1 */ + 2434 "01010101000000000000" // ax1 = ax0 + 0x0; c0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2435 "10001000011000101000" // /* MW 1 */ + 2436 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2437 "10011100000000000000" // a0 = a0+c0 /* control_operation: words=1 cycles_taken=1 */ + 2438 "10001100000000110010" // bxl0 = a0[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2439 "10010000011001011010" // sp[0x30] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2440 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2441 "00000101000000000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2442 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2443 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2444 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2445 "10010000001100010010" // /* MW 1 */ +.return_address + 2446 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2447 "10010000001100010010" // /* MW 1 */ + 2448 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2449 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2450 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2451 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2452 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2453 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2454 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x30] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2455 "10010000011000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2456 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2457 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2458 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2459 "10010000010100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2460 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2461 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2462 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2463 "00010000010000010001" // /* MW 1 */ +.return_address + 2464 "01000000000000000000" // nop; jps 0x60 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=96 */ + 2465 "00111100011000000111" // /* MW 1 */ + 2466 "01101100000000000000" // axs0 = [0x4c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2467 "00100110010000000000" // /* MW 1 */ + 2468 "00110000000000100000" // cmp(ra0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2469 "10111100000010101101" // if (np) jpsdb 0xa /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=10 delay_slots=1 */ +.delay_slot + 2470 "01101100000000000000" // axs0 = [0x4cc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2471 "00100110011000000000" // /* MW 1 */ + 2472 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2473 "01100100000000000000" // if (np) jpdb 0xbc5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=3013 delay_slots=1 */ + 2474 "00001011110001011101" // /* MW 1 */ +.delay_slot + 2475 "01101100000000000000" // bxs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2476 "00100101110000000010" // /* MW 1 */ + 2477 "00110000000010011000" // cmp(bx1,bx0) /* control_operation: words=1 cycles_taken=1 */ + 2478 "01100100000000000000" // if (ns) jp 0xbce /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=3022 */ + 2479 "00001011110011100011" // /* MW 1 */ + 2480 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2481 "01100100000000000000" // if (s) jpdb 0xbd6 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct absolute target_address=3030 delay_slots=1 */ + 2482 "00001011110101101010" // /* MW 1 */ +.delay_slot + 2483 "01101100000000000000" // axs0 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2484 "00100101110000000000" // /* MW 1 */ + 2485 "00110000000000011000" // cmp(bx1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 2486 "01100100000000000000" // if (p) jp 0xbde /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct absolute target_address=3038 */ + 2487 "00001011110111100100" // /* MW 1 */ +.no_stack_arguments + 2488 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2489 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2490 "01101110000000000000" // bxl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2491 "00100111010000010010" // /* MW 1 */ +.return_address + 2492 "01000000000000000000" // nop; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2493 "00010000001101011000" // /* MW 1 */ +.no_stack_arguments + 2494 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2495 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2496 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2497 "00011001001000000001" // /* MW 1 */ +.return_address + 2498 "01101110000000000000" // bxl0 = [0x510] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2499 "00101000100000010010" // /* MW 1 */ + 2500 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2501 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2502 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2503 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2504 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2505 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2506 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2507 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2508 "01101110000000000000" // axl1 = [0x508] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2509 "00101000010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2510 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2511 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2512 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2513 "00010000001100010001" // /* MW 1 */ +.return_address + 2514 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2515 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2516 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2517 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2518 "01101110000000000000" // axl1 = [0x500] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2519 "00101000000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2520 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2521 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2522 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2523 "00010000010000010001" // /* MW 1 */ +.return_address + 2524 "01101110000000000000" // axl1 = [0x518] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2525 "00101000110000010001" // /* MW 1 */ + 2526 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2527 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2528 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2529 "10010000001100010010" // bxl0 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2530 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2531 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2532 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2533 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2534 "01101110000000000000" // bxl0 = [0x520] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2535 "00101001000000010010" // /* MW 1 */ +.return_address + 2536 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2537 "10010000010001011000" // sp[0x20] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2538 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2539 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2540 "01101110000000000000" // bxl0 = [0x528] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2541 "00101001010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2542 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2543 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2544 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2545 "00010000010000010001" // /* MW 1 */ +.return_address + 2546 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2547 "00010000001100010001" // /* MW 1 */ + 2548 "01000000000000000000" // nop; sp[0x20] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2549 "00010000010001011010" // /* MW 1 */ +.no_stack_arguments + 2550 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2551 "00000101000000000000" // /* MW 1 */ +.return_address + 2552 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2553 "10010000001100010010" // /* MW 1 */ + 2554 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2555 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2556 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2557 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2558 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2559 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2560 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2561 "00010000010000010001" // /* MW 1 */ +.return_address + 2562 "10001000001010000001" // axs1 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2563 "01010101001111100101" // bx0 = ax1 + -0x1; axs1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2564 "00001000000100000001" // /* MW 1 */ + 2565 "01010100100001000100" // ax1 = ax1 | bx0; sp[0x8] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2566 "10010000000101011000" // /* MW 1 */ + 2567 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2568 "01000010000000100100" // if (nz) jpsdb 0x4; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 2569 "10010000000000010010" // /* MW 1 */ +.delay_slot + 2570 "01101110000000000000" // axl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2571 "00100111010000010000" // /* MW 1 */ + 2572 "01101110000000000000" // axl0 = [0x588] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2573 "00101100010000010000" // /* MW 1 */ + 2574 "10010000010101011000" // sp[0x28] = ahl0 /* control_operation: words=1 cycles_taken=1 */ + 2575 "01010101000000001000" // ax1 = bx0 + 0x0; bl0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2576 "10011000111010001110" // /* MW 1 */ + 2577 "10010000010001011010" // sp[0x20] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2578 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2579 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2580 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2581 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2582 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2583 "10010000001100010010" // /* MW 1 */ +.return_address + 2584 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 2585 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2586 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2587 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2588 "01000000000000000000" // nop; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2589 "00010000000100010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2590 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2591 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2592 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2593 "00010000000000010001" // /* MW 1 */ +.return_address + 2594 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ + 2595 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2596 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2597 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2598 "01000000000000000000" // nop; bxl0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2599 "00010000001100010010" // /* MW 1 */ +.return_address + 2600 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2601 "00010000000000010001" // /* MW 1 */ + 2602 "01000000000000000000" // nop; sp[0x8] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2603 "00010000000101011010" // /* MW 1 */ +.no_stack_arguments + 2604 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2605 "00000101000000000000" // /* MW 1 */ +.return_address + 2606 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2607 "10010000000100010010" // /* MW 1 */ + 2608 "10001000001101010001" // sp[0x18] = ah1 /* control_operation: words=1 cycles_taken=1 */ + 2609 "10001000001011001101" // sp[0x14] = al1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2610 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2611 "00000101000011000000" // /* MW 1 */ +.return_address + 2612 "10001000001100000001" // axs1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2613 "01101100000000000000" // bxs0 = [0x4d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2614 "00100110100000000010" // /* MW 1 */ + 2615 "01101100000000000000" // rb0 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2616 "00100101011000001010" // /* MW 1 */ + 2617 "01011000000001000100" // cmp(ax1,bx0); bxs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2618 "00001000001010000010" // /* MW 1 */ + 2619 "01000010000100111101" // if (ns) jpsdb 0x27; sp[0x20] = ahl0 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=39 delay_slots=1 */ + 2620 "10010000010001011000" // /* MW 1 */ +.delay_slot + 2621 "00101000100110001000" // ax0 = ax1 & rb0 /* control_operation: words=1 cycles_taken=1 */ + 2622 "01101100000000000000" // rb0 = [0x4d4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2623 "00100110101000001010" // /* MW 1 */ + 2624 "01011000000011000000" // cmp(ax0,rb0); sp[0x14] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2625 "00001000001011010000" // /* MW 1 */ + 2626 "10111100000111010010" // if (s) jps 0x1d /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=29 */ + 2627 "01101100000000000000" // axs0 = [0x4e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2628 "00100111000000000000" // /* MW 1 */ + 2629 "01010100000000000111" // rb0 = ax1 + ax0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2630 "00010000010100010001" // /* MW 1 */ + 2631 "00101001000010110000" // ax0 = rb0 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 2632 "10001000001111010000" // sp[0x1c] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2633 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2634 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2635 "01101110000000000000" // bxl0 = [0x5a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2636 "00101101000000010010" // /* MW 1 */ +.return_address + 2637 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2638 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2639 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2640 "01101110000000000000" // bxl0 = [0x5a0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2641 "00101101000000010010" // /* MW 1 */ +.return_address + 2642 "10001000001110000001" // axs1 = sp[0x1c] /* control_operation: words=1 cycles_taken=1 */ + 2643 "01011001010000000100" // cmpu(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2644 "00010000011001011000" // /* MW 1 */ + 2645 "10111101100101001001" // if (nz) jpsdb 0x194 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=404 delay_slots=1 */ +.delay_slot + 2646 "10010000000000010000" // axl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2647 "01100110000000000000" // calldb 0x6c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1732 delay_slots=1 */ + 2648 "00000110110001001000" // /* MW 1 */ +.delay_slot + 2649 "10010000010000010001" // axl1 = sp[0x20] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2650 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2651 "10111101100010101001" // if (nz) jpsdb 0x18a /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=394 delay_slots=1 */ +.delay_slot + 2652 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2653 "00100110000000000001" // /* MW 1 */ + 2654 "01000000000000000000" // nop; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2655 "00111100000000100111" // /* MW 1 */ + 2656 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2657 "00100110000000000001" // /* MW 1 */ + 2658 "01000010000100011011" // jps 0x23; axs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=35 */ + 2659 "10001000001010000000" // /* MW 1 */ + 2660 "01101100000000000000" // rb0 = [0x4dc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2661 "00100110111000001010" // /* MW 1 */ + 2662 "01010100000011000111" // rb0 = ax1 + rb0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2663 "00010000010100010001" // /* MW 1 */ + 2664 "01010100100001011000" // ax0 = rb0 | bx0; sp[0x14] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2665 "00001000001011010000" // /* MW 1 */ + 2666 "10001000001111010000" // sp[0x1c] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2667 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2668 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2669 "01101110000000000000" // bxl0 = [0x590] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2670 "00101100100000010010" // /* MW 1 */ +.return_address + 2671 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2672 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2673 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2674 "01101110000000000000" // bxl0 = [0x590] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2675 "00101100100000010010" // /* MW 1 */ +.return_address + 2676 "10001000001110000001" // axs1 = sp[0x1c] /* control_operation: words=1 cycles_taken=1 */ + 2677 "01011001000000000100" // cmp(ax1,0x0); sp[0x30] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2678 "00010000011001011000" // /* MW 1 */ + 2679 "10111101011110100001" // if (nz) jps 0x17a /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=378 */ + 2680 "01000000000000000000" // nop; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2681 "00010000000000010001" // /* MW 1 */ +.no_stack_arguments + 2682 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2683 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2684 "01101110000000000000" // bxl0 = [0x598] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2685 "00101100110000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2686 "01100110000000000000" // calldb 0x702 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1794 delay_slots=1 */ + 2687 "00000111000000101000" // /* MW 1 */ +.delay_slot + 2688 "01010101000000000000" // ax1 = ax0 + 0x0; axl0 = sp[0x20] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2689 "10010000010000010000" // /* MW 1 */ +.return_address + 2690 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2691 "01000010101101001100" // if (nz) jpsdb 0x169; axs0 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=361 delay_slots=1 */ + 2692 "10001000001010000000" // /* MW 1 */ +.delay_slot + 2693 "01101100000000000000" // axs1 = [0x4c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2694 "00100110000000000001" // /* MW 1 */ + 2695 "00110000000001000000" // cmp(ax0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2696 "01010001011010000011" // rb0 = asr(ax0,0x14); if (np) jps 0x26 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=38 */ + 2697 "00111100001001100101" // /* MW 1 */ + 2698 "10110010000000010001" // axs1 = -0x3fe /* control_operation: words=1 cycles_taken=1 */ + 2699 "01010100000000111000" // ax1 = rb0 + ax1; axs0 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2700 "10001000001100000000" // /* MW 1 */ + 2701 "01101000000001000000" // rb0 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2702 "00000000000000001010" // /* MW 1 */ + 2703 "01010000110000111011" // rb0 = lsr(rb0,ax1); axs1 = -0x3ff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2704 "00110010000000001001" // /* MW 1 */ + 2705 "01010100000011000011" // rb0 = ax0 + rb0; bxs0 = -0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2706 "00110011111111111010" // /* MW 1 */ + 2707 "01101100000000000000" // rb1 = [0x4ac] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2708 "00100101011000001011" // /* MW 1 */ + 2709 "01010100010011111011" // rb1 = rb0 & rb1; bxs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2710 "10110000000110100011" // /* MW 1 */ + 2711 "00100010110100111111" // rb1 = asr(rb1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 2712 "01101000000000111111" // ra0 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2713 "11111111111111001000" // /* MW 1 */ + 2714 "00101000100100110101" // ra1 = rb0 & ra0 /* control_operation: words=1 cycles_taken=1 */ + 2715 "01010100000000111100" // ax1 = rb1 + ax1; rb1 = 0x14 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2716 "10110000000010100111" // /* MW 1 */ + 2717 "00100001100001100100" // ra0 = lsr(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2718 "00101001100010100010" // bx0 = ra0 ^ bx0 /* control_operation: words=1 cycles_taken=1 */ + 2719 "00101000100010110010" // bx0 = rb0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 2720 "01010010000001110101" // bx1 = bs(ra1,bx1); bxs0 = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2721 "10011000010010000010" // /* MW 1 */ + 2722 "01010111000000111100" // ax1 = rb1 - ax1; bl0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2723 "10011000111010001110" // /* MW 1 */ + 2724 "01010000010000101111" // rb0 = asr(bx1,ax1); axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2725 "00010000000100010001" // /* MW 1 */ + 2726 "01011001000000000000" // cmp(ax0,0x0); sp[0x14] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2727 "00001000001011001010" // /* MW 1 */ + 2728 "10111100000000110011" // if (ns) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2729 "10001000001010000000" // axs0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2730 "00110110000000000000" // ax0 = -ax0 /* control_operation: words=1 cycles_taken=1 */ + 2731 "10001000001011010000" // sp[0x14] = ah0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2732 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2733 "00000101000011000000" // /* MW 1 */ +.return_address + 2734 "01010101000000000001" // bx0 = ax0 + 0x0; jps 0x2 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2735 "00111100000000100111" // /* MW 1 */ + 2736 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2737 "10001000001011111010" // sp[0x14] = zero /* control_operation: words=1 cycles_taken=1 */ + 2738 "10010000000101011010" // sp[0x8] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2739 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2740 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2741 "10010000000000010001" // axl1 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2742 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2743 "10011000111010001101" // al1 = zero /* control_operation: words=1 cycles_taken=1 */ + 2744 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2745 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2746 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2747 "01101110000000000000" // bxl0 = [0x5a8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2748 "00101101010000010010" // /* MW 1 */ +.return_address + 2749 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2750 "10010000000101011000" // sp[0x8] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2751 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2752 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2753 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address +.no_stack_arguments + 2754 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2755 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2756 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2757 "00010000000000010001" // /* MW 1 */ +.return_address + 2758 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2759 "10111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2760 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2761 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2762 "01101110000000000000" // bxl0 = [0x5b0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2763 "00101101100000010010" // /* MW 1 */ +.return_address + 2764 "01101110000000000000" // bxl0 = [0x5b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2765 "00101101110000010010" // /* MW 1 */ + 2766 "10010000000001011000" // sp[0x0] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2767 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2768 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2769 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ +.return_address +.no_stack_arguments + 2770 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2771 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2772 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2773 "00010000000000010001" // /* MW 1 */ +.return_address + 2774 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2775 "00010000000100010001" // /* MW 1 */ + 2776 "01000000000000000000" // nop; sp[0x0] = bhl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2777 "00010000000001011010" // /* MW 1 */ +.no_stack_arguments + 2778 "01100110000000000000" // call 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1280 */ + 2779 "00000101000000000000" // /* MW 1 */ +.return_address + 2780 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2781 "10010000000100010010" // /* MW 1 */ + 2782 "01000000000000000000" // nop; sp[0x8] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2783 "00010000000101011001" // /* MW 1 */ +.no_stack_arguments + 2784 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 2785 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2786 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2787 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2788 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2789 "00010000000000010001" // /* MW 1 */ +.return_address + 2790 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2791 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2792 "00010000000001011000" // /* MW 1 */ +.no_stack_arguments + 2793 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2794 "00000101000110000000" // /* MW 1 */ +.return_address + 2795 "00101010000000000001" // ax1 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 2796 "10010000001101011001" // sp[0x18] = ahl1 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2797 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2798 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2799 "01101110000000000000" // bxl0 = [0x5e0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2800 "00101111000000010010" // /* MW 1 */ +.return_address + 2801 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2802 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2803 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2804 "01101110000000000000" // axl1 = [0x5d8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2805 "00101110110000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2806 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2807 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2808 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2809 "00010000001100010001" // /* MW 1 */ +.return_address + 2810 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2811 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2812 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2813 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2814 "01101110000000000000" // axl1 = [0x5d0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2815 "00101110100000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2816 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2817 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2818 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2819 "00010000001100010001" // /* MW 1 */ +.return_address + 2820 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2821 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2822 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2823 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2824 "01101110000000000000" // axl1 = [0x5c8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2825 "00101110010000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2826 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2827 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2828 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2829 "00010000001100010001" // /* MW 1 */ +.return_address + 2830 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2831 "00111000000000000000" // /* MW 1 */ +.no_stack_arguments + 2832 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2833 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2834 "01101110000000000000" // axl1 = [0x5c0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2835 "00101110000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2836 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2837 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2838 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2839 "00010000001100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2840 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2841 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2842 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2843 "00010000000100010001" // /* MW 1 */ +.return_address + 2844 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2845 "00010000000100010001" // /* MW 1 */ + 2846 "10010000001101011010" // sp[0x18] = bhl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2847 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2848 "00000101000110000000" // /* MW 1 */ +.return_address + 2849 "10010000001100010001" // axl1 = sp[0x18] /* control_operation: words=1 cycles_taken=1 */ + 2850 "01000000000000000000" // nop; sp[0x18] = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2851 "00010000001101011000" // /* MW 1 */ +.no_stack_arguments + 2852 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2853 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2854 "01101110000000000000" // bxl0 = [0x5e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2855 "00101111010000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2856 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2857 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2858 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2859 "00010000001100010001" // /* MW 1 */ +.return_address + 2860 "10010000000100010001" // axl1 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ + 2861 "10010000001101011000" // sp[0x18] = ahl0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2862 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2863 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2864 "01000000000000000000" // nop; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2865 "00010000000000010010" // /* MW 1 */ +.return_address +.no_stack_arguments + 2866 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2867 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2868 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2869 "00010000000000010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2870 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2871 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2872 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x18] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2873 "00010000001100010001" // /* MW 1 */ +.return_address +.no_stack_arguments + 2874 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2875 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2876 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2877 "10010000000100010010" // /* MW 1 */ +.return_address + 2878 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2879 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2880 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2881 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2882 "00100111010000010001" // /* MW 1 */ +.return_address + 2883 "10001000001010001000" // ra0 = sp[0x14] /* control_operation: words=1 cycles_taken=1 */ + 2884 "01010001101010010000" // ax1 = lsl(ra0,0x14); bxs0 = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2885 "10011000010000000010" // /* MW 1 */ + 2886 "01010100000000101001" // bx0 = bx0 + ax1; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2887 "00010000010100010001" // /* MW 1 */ + 2888 "00100010110100010110" // rb0 = asr(bx0,0x14) /* control_operation: words=1 cycles_taken=1 */ + 2889 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2890 "10111100000000110101" // if (np) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2891 "01000010000000111111" // jpsdb 0x7; bxs0 = bh0 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 delay_slots=1 */ + 2892 "10011000010010000010" // /* MW 1 */ +.delay_slot + 2893 "10011000001100001110" // bl0 = al0 /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2894 "01100110000000000000" // calldb 0x742 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1858 delay_slots=1 */ + 2895 "00000111010000101000" // /* MW 1 */ +.delay_slot + 2896 "01010101000000000000" // ax1 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2897 "10111000000000000000" // /* MW 1 */ +.return_address + 2898 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = sp[0x28] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2899 "00010000010100010001" // /* MW 1 */ +.no_stack_arguments + 2900 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 2901 "00000101000110000000" // /* MW 1 */ +.return_address + 2902 "01000000000000000000" // nop; jps 0x11 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=17 */ + 2903 "00111100000100010111" // /* MW 1 */ +.no_stack_arguments + 2904 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2905 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2906 "01010101000000000101" // bx0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2907 "00111000000000000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 2908 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2909 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2910 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2911 "00011001001000000001" // /* MW 1 */ +.return_address + 2912 "01000000000000000000" // nop; jps 0x7 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 2913 "00111100000001110111" // /* MW 1 */ +.no_stack_arguments + 2914 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 2915 "00000101000000001000" // /* MW 1 */ +.delay_slot + 2916 "10010000000000010010" // bxl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2917 "10111100000000110111" // jps 0x3 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 2918 "00000000000000000000" // nop /* control_operation: words=1 cycles_taken=1 */ + 2919 "01101110000000000000" // axl0 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2920 "00100111010000010000" // /* MW 1 */ + 2921 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2922 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2923 "00101000000010110000" // /* MW 1 */ + 2924 "00101001000000101001" // ax1 = ra1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 2925 "00110010100000001000" // cmpu(ax1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2926 "10111100000100011000" // if (z) jpsdb 0x11 /* control_operation: words=1 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=1 target_address=17 delay_slots=1 */ +.delay_slot + 2927 "01101100000000000000" // axs1 = [0x4b8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2928 "00100101110000000001" // /* MW 1 */ + 2929 "00110000000001011000" // cmp(bx1,ax1) /* control_operation: words=1 cycles_taken=1 */ + 2930 "01000010000000111001" // if (ns) jps 0x7; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 2931 "10011000111010000000" // /* MW 1 */ + 2932 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2933 "01000010000001101001" // if (ns) jps 0xd; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=13 */ + 2934 "10010000000000010010" // /* MW 1 */ +.no_stack_arguments + 2935 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2936 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2937 "10011000111010000001" // axs1 = zero /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2938 "10111100000010010111" // jps 0x9 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=9 */ + 2939 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2940 "01000010000000110001" // if (ns) jps 0x6; axl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 2941 "10010000000000010000" // /* MW 1 */ + 2942 "01000010000000100011" // jps 0x4; axs0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 2943 "10011000111010000000" // /* MW 1 */ + 2944 "10010000000000010010" // bxl0 = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2945 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2946 "00000101000011001000" // /* MW 1 */ +.delay_slot + 2947 "00101010000000010001" // ax1 = bx0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2948 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2949 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2950 "00101000000010110000" // /* MW 1 */ + 2951 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2952 "01000010000000101101" // if (ns) jpsdb 0x5; axl0 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 delay_slots=1 */ + 2953 "10010000000100010000" // /* MW 1 */ +.delay_slot + 2954 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2955 "00100111010000010001" // /* MW 1 */ +.no_stack_arguments + 2956 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2957 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2958 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2959 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2960 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2961 "00101000000010110000" // /* MW 1 */ + 2962 "10010000000100010010" // bxl0 = sp[0x8] /* control_operation: words=1 cycles_taken=1 */ +.no_stack_arguments + 2963 "01100110000000000000" // calldb 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1304 delay_slots=1 */ + 2964 "00000101000110001000" // /* MW 1 */ +.delay_slot + 2965 "00101010000000010001" // ax1 = bx0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 2966 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 2967 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 2968 "00101000000010110000" // /* MW 1 */ + 2969 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ +.tail_call + 2970 "01100100000000000000" // jpdb 0xbf6 /* MW 2 */ /* control_operation: words=2 jump tail_call unconditional cycles_taken=1 direct absolute target_address=3062 delay_slots=1 */ + 2971 "00001011111101101111" // /* MW 1 */ +.delay_slot + 2972 "01000000000000000000" // nop; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2973 "00101000000010110000" // /* MW 1 */ +.return_address + 2974 "01101110000000000000" // axl1 = [0x4e8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2975 "00100111010000010001" // /* MW 1 */ + 2976 "01011001000000011100" // cmp(rb1,0x0); sp[0x0] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2977 "00001000000001001010" // /* MW 1 */ + 2978 "01000010000000110001" // if (ns) jps 0x6; sp[0x4] = ra1 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=6 */ + 2979 "10001000000011001001" // /* MW 1 */ +.no_stack_arguments + 2980 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 2981 "00000101110001001000" // /* MW 1 */ +.delay_slot + 2982 "01010101000000000001" // bx0 = ax0 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2983 "00111000000000000000" // /* MW 1 */ +.return_address + 2984 "01000010000000010011" // jps 0x2; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=2 */ + 2985 "10001000000000000001" // /* MW 1 */ + 2986 "01000000000000000000" // nop; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2987 "00001000000000000001" // /* MW 1 */ + 2988 "01011001000000000100" // cmp(ax1,0x0); bxs0 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 2989 "00001000000010000010" // /* MW 1 */ + 2990 "01000010000010010001" // if (ns) jps 0x12; axs1 = sp[0x14] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=18 */ + 2991 "10001000001010000001" // /* MW 1 */ + 2992 "00101001000001010010" // bx0 = bx0 | ax1 /* control_operation: words=1 cycles_taken=1 */ + 2993 "00110010000000010000" // cmp(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 2994 "10111100000001110000" // if (z) jps 0x7 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=7 */ + 2995 "00110010000001001000" // cmp(ax1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 2996 "01000010000001100000" // if (nz) jps 0xc; axs1 = zero /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=12 */ + 2997 "10011000111010000001" // /* MW 1 */ +.no_stack_arguments + 2998 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 2999 "00000101000011001000" // /* MW 1 */ +.delay_slot + 3000 "00101010000000000010" // bx0 = ax0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 3001 "10111100000010000111" // jps 0x8 /* control_operation: words=1 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 */ +.no_stack_arguments + 3002 "01100110000000000000" // calldb 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1292 delay_slots=1 */ + 3003 "00000101000011001000" // /* MW 1 */ +.delay_slot + 3004 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3005 "10011001001000000010" // /* MW 1 */ +.return_address +.no_stack_arguments + 3006 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 3007 "00000101110001001000" // /* MW 1 */ +.delay_slot + 3008 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3009 "00011001001000000001" // /* MW 1 */ +.return_address + 3010 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3011 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3012 "00101000000010110000" // /* MW 1 */ + 3013 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3014 "01000010000000100101" // if (s) jpsdb 0x4; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 delay_slots=1 */ + 3015 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3016 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3017 "00100111110000010000" // /* MW 1 */ + 3018 "01000000000000000000" // nop; axs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3019 "00011000111010000000" // /* MW 1 */ + 3020 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3021 "00101000000010110000" // /* MW 1 */ + 3022 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3023 "01000010000000011110" // if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3024 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3025 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3026 "00100111110000010000" // /* MW 1 */ + 3027 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3028 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3029 "00101000000010110000" // /* MW 1 */ + 3030 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3031 "01000010000000011101" // if (s) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3032 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3033 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3034 "00100111110000010000" // /* MW 1 */ + 3035 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3036 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3037 "00101000000010110000" // /* MW 1 */ + 3038 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3039 "01000010000000011110" // if (p) jpsdb 0x3; lr = sp[0x10] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3040 "00001000001000110110" // /* MW 1 */ +.delay_slot + 3041 "01101110000000000000" // axl0 = [0x4f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3042 "00100111110000010000" // /* MW 1 */ + 3043 "10011000111010000000" // axs0 = zero /* control_operation: words=1 cycles_taken=1 */ + 3044 "01000110000010100000" // ret; sp+= 0x58 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3045 "00101000000010110000" // /* MW 1 */ + 3046 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3047 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3048 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3049 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3050 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3051 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3052 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3053 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3054 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3055 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3056 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3057 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ + 3058 "10001000001000110110" // lr = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3059 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3060 "10010000011000010000" // axl0 = sp[0x30] /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3061 "10101000000010110000" // sp+= 0x58 /* control_operation: words=1 cycles_taken=1 */ +.label ff_sqrt +.function ff_sqrt ff_sqrt +.function_start + 3062 "10011000010001001000" // ra0 = ah1 /* control_operation: words=1 cycles_taken=1 */ + 3063 "01101100000000000000" // bxs0 = [0x5f0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3064 "00101111100000000010" // /* MW 1 */ + 3065 "01010100010001010011" // rb0 = ra0 & bx0; axs0 = al1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3066 "00011000001101000000" // /* MW 1 */ + 3067 "01011000000001011000" // cmp(rb0,bx0); sp+= -0x18 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3068 "00101011111111010000" // /* MW 1 */ + 3069 "10111100110000010000" // if (z) jps 0xc1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=193 */ + 3070 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3071 "10111100000010000100" // if (p) jps 0x8 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=8 */ + 3072 "01101100000000000000" // bxs0 = [0x5f4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3073 "00101111101000000010" // /* MW 1 */ + 3074 "00101000100010100010" // bx0 = ra0 & bx0 /* control_operation: words=1 cycles_taken=1 */ + 3075 "00101001000000010010" // bx0 = bx0 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 3076 "00110010100000010000" // cmpu(bx0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3077 "10111100110100010000" // if (z) jps 0xd1 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=209 */ + 3078 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3079 "10111100110001000010" // if (s) jps 0xc4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=196 */ + 3080 "00100010110100100110" // rb0 = asr(ra0,0x14) /* control_operation: words=1 cycles_taken=1 */ + 3081 "00110010000000110000" // cmp(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3082 "10111100000111000001" // if (nz) jps 0x1c /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=28 */ + 3083 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3084 "01011100000010000000" // ax1 = 32; if (nz) jps 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 */ + 3085 "10111100000010000001" // /* MW 1 */ + 3086 "00111000011101011010" // bx0 = -21 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 3087 "00100011101011000101" // ra1 = lsr(ax0,0xb) /* control_operation: words=1 cycles_taken=1 */ + 3088 "00101001000101100100" // ra0 = ra0 | ra1 /* control_operation: words=1 cycles_taken=1 */ + 3089 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3090 "01010100000001011011" // rb0 = rb0 + bx0; if (z) jpsdb -0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-5 delay_slots=1 */ + 3091 "00111111111110111000" // /* MW 1 */ +.delay_slot + 3092 "01010001101010100000" // ax0 = lsl(ax0,0x15); nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3093 "00111000000000000000" // /* MW 1 */ +.loop_nesting 0 + 3094 "01101000000001000000" // ra1 = 0x100000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3095 "00000000000000001001" // /* MW 1 */ + 3096 "01010100010010110011" // rb1 = ra0 & ra1; bxs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3097 "10011000111010000010" // /* MW 1 */ + 3098 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3099 "10111100000001010001" // if (nz) jps 0x5 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=5 */ +.loop_nesting 1 + 3100 "00100011000001100100" // ra0 = lsl(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3101 "00101000100101100111" // rb1 = ra0 & ra1 /* control_operation: words=1 cycles_taken=1 */ + 3102 "00110010000000111000" // cmp(rb1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3103 "01010101000000101001" // bx0 = bx0 + 0x1; if (z) jps -0x5 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-5 */ + 3104 "00111111111110110000" // /* MW 1 */ +.loop_nesting 0 + 3105 "00101110000010001101" // ra1 = ax1 - bx0 /* control_operation: words=1 cycles_taken=1 */ + 3106 "00101010011111010001" // ax1 = bx0 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 3107 "00100001100101000101" // ra1 = lsr(ax0,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3108 "00100001000010000000" // ax0 = lsl(ax0,bx0) /* control_operation: words=1 cycles_taken=1 */ + 3109 "00101110000001110110" // rb0 = rb0 - ax1 /* control_operation: words=1 cycles_taken=1 */ + 3110 "00101001000101100100" // ra0 = ra0 | ra1 /* control_operation: words=1 cycles_taken=1 */ + 3111 "10110010000000001001" // axs1 = -0x3ff /* control_operation: words=1 cycles_taken=1 */ + 3112 "01101000000000111111" // ra1 = 0xfffff /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3113 "11111111111111001001" // /* MW 1 */ + 3114 "01010100000000111011" // rb0 = rb0 + ax1; bxs0 = 0x20 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3115 "00110000000100000010" // /* MW 1 */ + 3116 "01010010110001011000" // bt(rb0,bx0); axs1 = 0x34 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3117 "00110000000110100001" // /* MW 1 */ + 3118 "01010100010010110010" // ra0 = ra0 & ra1; if (nz) jpsdb 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 delay_slots=1 */ + 3119 "00111100000010001001" // /* MW 1 */ +.delay_slot + 3120 "00100100000001100100" // ra0 = bs(ra0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 3121 "01101100000000000000" // axs1 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3122 "00101111110000000001" // /* MW 1 */ + 3123 "00101000100001000001" // ax1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3124 "00100011111111001101" // ra1 = lsr(ax1,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3125 "00100011000001100001" // ax1 = lsl(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3126 "00101000000101001100" // ra0 = ax1 + ra1 /* control_operation: words=1 cycles_taken=1 */ + 3127 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3128 "01101100000000000000" // axs1 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3129 "00101111110000000001" // /* MW 1 */ + 3130 "01010100010000100010" // ra1 = ax0 & ax1; bxs1 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3131 "10011000111010000011" // /* MW 1 */ + 3132 "00100010100001110110" // rb0 = asr(rb0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3133 "01010001100000110011" // rb0 = lsl(ra0,0x1); sp[0x0] = rb0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3134 "00001000000001001010" // /* MW 1 */ + 3135 "01010001111111110110" // ra1 = lsr(ra1,0x1f); ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3136 "10011000111010001000" // /* MW 1 */ + 3137 "01010100000010111010" // ra1 = rb0 + ra1; bxs0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3138 "10011000111010000010" // /* MW 1 */ + 3139 "01101000000010000000" // rb0 = 0x200000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3140 "00000000000000001010" // /* MW 1 */ + 3141 "00100011000001000000" // ax0 = lsl(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 1 + 3142 "00101000000110011111" // rb1 = bx1 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 3143 "00110000000101111000" // cmp(rb1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3144 "10111100000001000100" // if (p) jps 0x4 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=4 */ + 3145 "00101110000111101101" // ra1 = ra1 - rb1 /* control_operation: words=1 cycles_taken=1 */ + 3146 "00101000000110111111" // rb1 = rb1 + rb0 /* control_operation: words=1 cycles_taken=1 */ + 3147 "01010100000011010010" // ra0 = ra0 + rb0; bxs1 = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3148 "00011000001011000011" // /* MW 1 */ + 3149 "00100011100001110110" // rb0 = lsr(rb0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3150 "00110010100000110000" // cmpu(rb0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3151 "00101000100001000111" // rb1 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3152 "00100011000001101101" // ra1 = lsl(ra1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3153 "00100011111111111111" // rb1 = lsr(rb1,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3154 "01010001100000100000" // ax0 = lsl(ax0,0x1); if (nz) jpsdb -0xe /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-14 delay_slots=1 */ + 3155 "00111111111100101001" // /* MW 1 */ +.delay_slot + 3156 "00101000000111101101" // ra1 = ra1 + rb1 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 0 + 3157 "01011100000000000010" // ra0 = 0; sp[0x4] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3158 "00001000000011001000" // /* MW 1 */ + 3159 "01010101000000000110" // ra0 = ax1 + 0x0; sp[0xc] = ra0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3160 "00001000000111001000" // /* MW 1 */ +.loop_nesting 1 + 3161 "00110000000101011000" // cmp(bx1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3162 "01010100000010001011" // rb0 = bx0 + ra0; if (s) jps 0x4 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=4 */ + 3163 "00111100000001000010" // /* MW 1 */ + 3164 "00110000000101011000" // cmp(bx1,ra1) /* control_operation: words=1 cycles_taken=1 */ + 3165 "10111100000110000001" // if (nz) jps 0x18 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=24 */ + 3166 "00110000100000110000" // cmpu(rb0,ax0) /* control_operation: words=1 cycles_taken=1 */ + 3167 "10111100000101100100" // if (p) jps 0x16 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=22 */ + 3168 "00101000100001110010" // bx0 = rb0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3169 "00110000100001010000" // cmpu(bx0,ax1) /* control_operation: words=1 cycles_taken=1 */ + 3170 "01010100000010011011" // rb1 = rb0 + ra0; if (nz) jpsdb 0x8 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=8 delay_slots=1 */ + 3171 "10111100000010001001" // /* MW 1 */ +.delay_slot + 3172 "01010101000000011101" // bx0 = rb1 + 0x0; rb1 = bh1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3173 "00011000010011001011" // /* MW 1 */ + 3174 "01010100010000101010" // ra1 = bx0 & ax1; sp[0x8] = ra1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3175 "10001000000101001001" // /* MW 1 */ + 3176 "00110010100000101000" // cmpu(ra1,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3177 "01000010000000001000" // if (nz) jps 0x1; ra1 = sp[0x8] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=1 */ + 3178 "10001000000100001001" // /* MW 1 */ + 3179 "00101010000001011111" // rb1 = bx1 + 0x1 /* control_operation: words=1 cycles_taken=1 */ + 3180 "00110000100110000000" // cmpu(ax0,rb0) /* control_operation: words=1 cycles_taken=1 */ + 3181 "01010111000001110110" // ra1 = ra1 - bx1; if (ns) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3182 "10111100000000111011" // /* MW 1 */ +.delay_slot + 3183 "01010101000000011101" // bx1 = rb1 + 0x0; rb1 = sp[0xc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3184 "10001000000110001011" // /* MW 1 */ + 3185 "00101010011111101101" // ra1 = ra1 + -0x1 /* control_operation: words=1 cycles_taken=1 */ + 3186 "00101000000100111111" // rb1 = rb1 + ra0 /* control_operation: words=1 cycles_taken=1 */ + 3187 "01010111000011000011" // rb0 = ax0 - rb0; sp[0xc] = rb1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3188 "00001000000111001011" // /* MW 1 */ + 3189 "00101010000000110000" // ax0 = rb0 + 0x0 /* control_operation: words=1 cycles_taken=1 */ + 3190 "00100011100001100100" // ra0 = lsr(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3191 "00110010100000100000" // cmpu(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3192 "00101000100001000110" // rb0 = ax0 & ax1 /* control_operation: words=1 cycles_taken=1 */ + 3193 "00100011000001101101" // ra1 = lsl(ra1,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3194 "00100011111111110110" // rb0 = lsr(rb0,0x1f) /* control_operation: words=1 cycles_taken=1 */ + 3195 "01010001100000100000" // ax0 = lsl(ax0,0x1); if (nz) jpsdb -0x24 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=-36 delay_slots=1 */ + 3196 "00111111110111001001" // /* MW 1 */ +.delay_slot + 3197 "00101000000110101101" // ra1 = ra1 + rb0 /* control_operation: words=1 cycles_taken=1 */ +.loop_nesting 0 + 3198 "00101001000000101001" // ax1 = ra1 | ax0 /* control_operation: words=1 cycles_taken=1 */ + 3199 "01011001010000000100" // cmpu(ax1,0x0); sp[0x8] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3200 "00001000000101110110" // /* MW 1 */ + 3201 "10111100001010000000" // if (z) jps 0x28 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=40 */ + 3202 "01101110000000000000" // axl1 = [0x600] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3203 "00110000000000010001" // /* MW 1 */ +.no_stack_arguments + 3204 "01100110000000000000" // calldb 0x6c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1732 delay_slots=1 */ + 3205 "00000110110001001000" // /* MW 1 */ +.delay_slot + 3206 "01010101000000000100" // ax0 = ax1 + 0x0; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3207 "00111000000000000000" // /* MW 1 */ +.return_address + 3208 "01011001000000010000" // cmp(ra0,0x0); axs1 = sp[0x4] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3209 "00001000000010000001" // /* MW 1 */ + 3210 "01000010000011100000" // if (z) jps 0x1c; ra0 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=28 */ + 3211 "00001000000110001000" // /* MW 1 */ + 3212 "01010101000000100100" // ax1 = ax1 + 0x1; axs0 = -0x1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3213 "10110011111111111000" // /* MW 1 */ + 3214 "01011000010000010000" // cmpu(ra0,ax0); sp[0x10] = ah1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3215 "00001000001001010001" // /* MW 1 */ + 3216 "10111100000101010000" // if (z) jps 0x15 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=21 */ + 3217 "01101110000000000000" // axl1 = [0x600] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3218 "00110000000000010001" // /* MW 1 */ +.no_stack_arguments + 3219 "01100110000000000000" // calldb 0x702 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1794 delay_slots=1 */ + 3220 "00000111000000101000" // /* MW 1 */ +.delay_slot + 3221 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.return_address + 3222 "00110010000000100000" // cmp(ra0,0x0) /* control_operation: words=1 cycles_taken=1 */ + 3223 "01000010000000101000" // if (nz) jps 0x5; axs1 = sp[0xc] /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 3224 "10001000000110000001" // /* MW 1 */ + 3225 "10001000000010000010" // bxs0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3226 "01010101010000100100" // ax0 = ax1 & 0x1; jpsdb 0x11 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=17 delay_slots=1 */ + 3227 "00111100000100011111" // /* MW 1 */ +.delay_slot + 3228 "01010100000000000110" // ra0 = ax1 + ax0; sp[0x10] = bh0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3229 "00001000001001010010" // /* MW 1 */ + 3230 "00111000011111110000" // ax0 = -2 /* control_operation: words=1 cycles_taken=1 */ + 3231 "00110000100000001000" // cmpu(ax1,ax0) /* control_operation: words=1 cycles_taken=1 */ + 3232 "10111100000000110000" // if (z) jps 0x3 /* control_operation: words=1 jump conditional cycles_taken=2 cycles_not_taken=1 direct relative pc_offset=1 pc_offset_in_words=1 target_address=3 */ + 3233 "10001000000010000000" // axs0 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3234 "01000000000000000000" // nop; sp[0x10] = ah0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3235 "00001000001001010000" // /* MW 1 */ + 3236 "01010101000001000110" // ra0 = ax1 + 0x2; jps 0x7 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=7 */ + 3237 "00111100000001110111" // /* MW 1 */ + 3238 "01000010000000101011" // jps 0x5; ra0 = zero /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=5 */ + 3239 "10011000111010001000" // /* MW 1 */ + 3240 "01000010000000011011" // jps 0x3; sp[0x10] = ah1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 */ + 3241 "10001000001001010001" // /* MW 1 */ + 3242 "10001000000010000001" // axs1 = sp[0x4] /* control_operation: words=1 cycles_taken=1 */ + 3243 "10001000000110001000" // ra0 = sp[0xc] /* control_operation: words=1 cycles_taken=1 */ + 3244 "10001000001001010001" // sp[0x10] = ah1 /* control_operation: words=1 cycles_taken=1 */ + 3245 "00100011100001100100" // ra0 = lsr(ra0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3246 "10001000001000000000" // axs0 = sp[0x10] /* control_operation: words=1 cycles_taken=1 */ + 3247 "01010101010000100001" // bx0 = ax0 & 0x1; axs1 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3248 "00001000000000000001" // /* MW 1 */ + 3249 "00110010000001010000" // cmp(bx0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3250 "00100010100001000110" // rb0 = asr(ax0,0x1) /* control_operation: words=1 cycles_taken=1 */ + 3251 "01101100000000000000" // axs0 = [0x5fc] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3252 "00101111111000000000" // /* MW 1 */ + 3253 "01010100000000011000" // ax0 = rb0 + ax0; if (nz) jpsdb 0x3 /* MW 2 */ /* control_operation: words=2 jump conditional cycles_taken=1 cycles_not_taken=0 direct relative pc_offset=1 pc_offset_in_words=2 target_address=3 delay_slots=1 */ + 3254 "00111100000000111001" // /* MW 1 */ +.delay_slot + 3255 "01101100000000000000" // bxs0 = [0x5f8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3256 "00101111110000000010" // /* MW 1 */ + 3257 "00101001000010100100" // ra0 = ra0 | bx0 /* control_operation: words=1 cycles_taken=1 */ + 3258 "00100011010100001001" // ax1 = lsl(ax1,0x14) /* control_operation: words=1 cycles_taken=1 */ + 3259 "00101000000001000001" // ax1 = ax0 + ax1 /* control_operation: words=1 cycles_taken=1 */ + 3260 "01000010000001010111" // jpsdb 0xa; axs0 = ah1 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=1 direct relative pc_offset=1 pc_offset_in_words=2 target_address=10 delay_slots=1 */ + 3261 "10011000010001000000" // /* MW 1 */ +.delay_slot + 3262 "10011000001000001100" // al0 = ra0 /* control_operation: words=1 cycles_taken=1 */ + 3263 "10001000000101110110" // sp[0x8] = lr /* control_operation: words=1 cycles_taken=1 */ + 3264 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = ahl1 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3265 "00010000000001011001" // /* MW 1 */ +.no_stack_arguments + 3266 "01100110000000000000" // call 0x518 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1304 */ + 3267 "00000101000110000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 3268 "01100110000000000000" // calldb 0x500 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1280 delay_slots=1 */ + 3269 "00000101000000001000" // /* MW 1 */ +.delay_slot + 3270 "01010101000000000000" // ax1 = ax0 + 0x0; bxl0 = sp[0x0] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3271 "10010000000000010010" // /* MW 1 */ +.return_address + 3272 "01000000000000000000" // nop; lr = sp[0x8] /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3273 "00001000000100110110" // /* MW 1 */ + 3274 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3275 "00101000000000110000" // /* MW 1 */ + 3276 "01010101000000000101" // bx0 = ax1 + 0x0; sp[0x0] = lr /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3277 "00001000000001110110" // /* MW 1 */ +.no_stack_arguments + 3278 "01100110000000000000" // call 0x50c /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=2 direct absolute target_address=1292 */ + 3279 "00000101000011000000" // /* MW 1 */ +.return_address +.no_stack_arguments + 3280 "01100110000000000000" // calldb 0x5c4 /* MW 2 */ /* control_operation: words=2 call unconditional cycles_taken=1 direct absolute target_address=1476 delay_slots=1 */ + 3281 "00000101110001001000" // /* MW 1 */ +.delay_slot + 3282 "01010101000000000001" // bx0 = ax0 + 0x0; axl1 = ahl0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 3283 "00011001001000000001" // /* MW 1 */ +.return_address + 3284 "10001000000000110110" // lr = sp[0x0] /* control_operation: words=1 cycles_taken=1 */ + 3285 "01000110000010100000" // ret; sp+= 0x18 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3286 "00101000000000110000" // /* MW 1 */ + 3287 "10111010000101001000" // retdb /* control_operation: words=1 rts unconditional cycles_taken=1 delay_slots=2 */ +.delay_slot + 3288 "10101000000000110000" // sp+= 0x18 /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 3289 "00101010000000001000" // ax0 = ax1 + 0x0 /* control_operation: words=1 cycles_taken=1 */ +.dir 0 "%PROCDIR%" +.dir 1 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation" +.dir 2 "C:/Users/phangl/00_Repos/06_DSP_Simulation/simulation/signal_processing" diff --git a/simulation/lpdsp32_init.s b/simulation/lpdsp32_init.s new file mode 100644 index 0000000..e728230 --- /dev/null +++ b/simulation/lpdsp32_init.s @@ -0,0 +1,46 @@ +/* ---------------------------------------------------------------------------- + * Copyright (c) 2017 Semiconductor Components Industries, LLC (d/b/a + * ON Semiconductor), All Rights Reserved + * + * This code is the property of ON Semiconductor and may not be redistributed + * in any form without prior written permission from ON Semiconductor. + * The terms of use and warranty for this code are covered by contractual + * agreements between ON Semiconductor and the licensee. + * + * This is Reusable Code. + * + * ----------------------------------------------------------------------------- + */ + +// initialisation before entering the main function. +.text global 0 _main_init + r = 1 // enable rounding + s = 1 // enable saturation + sp = _sp_start_value_DMA // init SP (adjusted to stack in lpdsp.bcf) + ie = 1 ; nop // enable interrupts + +// area to load main() arguments +.bss global 0 _main_argv_area DMA 256 + +.undef global text isr0 + +// the interrupt vector table with 15 interrupts +.text global 0 _ivt + jp _main_init // 0 - reset + reti ; nop // 2 - interrupt 1 - dma 0 iterrupt + reti ; nop // 4 - interrupt 2 + reti ; nop // 6 - interrupt 3 + reti ; nop // 8 - interrupt 4 + jp isr0 // 10 - interrupt 5 - dma 4 iterrupt -pcm rx + reti ; nop // 12 - interrupt 6 - dma 5 iterrupt -pcm tx + reti ; nop // 14 - interrupt 7 + reti ; nop // 16 - interrupt 8 + reti ; nop // 18 - interrupt 9 cm3 interrupt 0 + reti ; nop // 20 - interupt 10 cm3 interrupt 1 + reti ; nop // 22 - interrupt 11 + reti ; nop // 24 - interrupt 12 + reti ; nop // 26 - interrupt 13 + reti ; nop // 28 - interrupt 14 + reti ; nop // 30 - interrupt 15 + + diff --git a/simulation/main.c b/simulation/main.c new file mode 100644 index 0000000..e1c802b --- /dev/null +++ b/simulation/main.c @@ -0,0 +1,113 @@ +// BLOCK LEN 1 und MAX_FIR_COEFFS 64 werden vom Compiler mitgegeben + +//#define SIMULATE + +#ifdef SIMULATE + #include +#endif + +#include +#include "signal_processing/include/signal_path.h" + +// Register und Bitmasken für Interrupts zwischen ARM und LPDSP Prozessor +#define CSS_CMD 0xC00004 +#define CSS_CMD_0 (1<<0) +#define CSS_CMD_1 (1<<1) + +// Shared Memory von ARM und DSP definieren +#define INPUT_PORT0_ADD 0x800000 // Feste Adressen für Eingangsdaten im Shared Memory +#define OUTPUT_PORT_ADD (INPUT_PORT0_ADD + 16) // Feste Adressen für Ausgangsdatensdaten im Shared Memory, 16 Byte von Eingangsadresse Weg + +//Chess Compiler spezifisch: Interrupt-Register festlegen um ARM zu kontaktieren nach fertiger Berechnung +volatile static unsigned char chess_storage(DMIO:CSS_CMD) css_cmd_flag; + +// Interrupt-Flag, welche von ARM gesetzt wird, wenn eine Berechnung gewünscht ist +static volatile int action_required; + +// Structs anlegen für die Signalpfade - hier werden Konfigurationen abgelegt(signal_path.h) +static SingleSignalPath corrupted_signal; +static SingleSignalPath reference_noise_signal; + +static volatile int16_t chess_storage(DMB:INPUT_PORT0_ADD) input_port[4]; //Array mit 4x16 Bit Einträgen auf 2x32 Bit Registern - nur die ersten 2 werden genutzt +static volatile int16_t chess_storage(DMB:OUTPUT_PORT_ADD) output_port[4]; //Array mit 4x16 Bit Einträgen auf 2x32 Bit Registern - alle werden genutzt +static volatile int16_t chess_storage(DMB) *input_pointer_0; +static volatile int16_t chess_storage(DMB) *input_pointer_1; +static volatile int16_t chess_storage(DMB) *output_pointer; +static volatile int16_t chess_storage(DMB) *sample_pointer; +static volatile int16_t chess_storage(DMB) sample; //Speicherplatz für Ergebnis der calc()-Funktion + +//void isr0() ist eine Interrupt Service Routine Funktion, welche als C Funktion deklariert wird +// property (isr) ist Chess Compiler spezifisch und kennzeichnet eine Funktion als Interrupt Service Routine +//wird Interrupt getriggert, wird action_required auf 1 gesetzt - etwas muss dannpassieren +extern "C" void isr0() property (isr) { + action_required = 1; + } + +int main(void) { + // Enum, welcher den Ausgabemodus definiert - wird in calc()-Funktion verwendet + static OutputMode mode = OUTPUT_MODE_FIR_LMS; + // Biquad Filter für C-Sensor und Acc-Sensor anlegen + // Alle 0 bis auf b[0] -> einfacher Gain auf 0,75 + double b0[5]={0.75, 0., 0., 0., 0.}; + double b1[5]={0.75, 0., 0., 0., 0.}; + int coefficients = MAX_FIR_COEFFS; // 64 Koeffizienten für ANR + + // Signale initialisieren, oben angelegte Structs mit Parametern füllen + init( + &corrupted_signal, &reference_noise_signal, //Signal-Structs + b0, // Biqquad Koeffizienten C-Sensor + b1, // Biqquad Koeffizienten Acc-Sensor + 2, // Sample Delay C-Sensor + 2, // Sample Delay Acc-Sensor + 0.9, //Gewichtung C-Sensor + 0.9, //Gewichtung Acc-Sensor + 0.01, // Mu + coefficients // Anzahl Filterkoeffizienten + ); + + //Simulationsmodus mit File I/O + #ifdef SIMULATE + FILE *fp1 = fopen("./test/testdata/input/chirp_disturber.txt", "r"); + FILE *fp2 = fopen("./test/testdata/input/disturber.txt", "r"); + FILE *fp3 = fopen("./test/testdata/output/out_simulated.txt", "w"); + + int d0, d1; + + while (!(feof(fp1) || feof(fp2))){ + for (int i=0; i +#include + +#define MAX_DELAY_SAMPS 16 +#if BLOCK_LEN > MAX_FIR_COEFFS + #error "BLOCK_LEN must be smaller than MAX_FIR_COEFFS" +#endif +#define BITSHIFT_16_TO_32 16 + +static const int block_len=BLOCK_LEN; // TODO: save this an an cm3 accessible location + +#ifdef PLATFORM_GENERIC + typedef long int accum_t; + // empty Macros definitions + #define chess_storage(mem) + #define DMA + #define DMB + #define DMIO + #define chess_loop_range(a,b) + #define isr0(a) + #define chess_flatten_loop +#endif + +typedef struct BufferPtr{ // used as a pointer and length storage container for cirular buffers + int buffer_len; + int *ptr_start; + int *ptr_current; +} BufferPtr; + +typedef struct BufferPtrDMB{ + int buffer_len; + int chess_storage(DMB) *ptr_start; + int chess_storage(DMB) *ptr_current; +} BufferPtrDMB; + +/*Stuct for storage of internal state and configuration for single signal path with a biquad element, a scaling element and a delay*/ +typedef struct SingleSignalPath{ + int input_scale; // The scaling bitshift bits for the input signal + int x_nbit_bitshift; // The number of bits to scale the input signal + int preemph_activated; //Deactivate by initializing with coefficients {1., 0., 0., 0., 0.} + int b_preemph[5]; // Preemphasis filter coefficients + int _preemph_scale_nbits; // The number of bits used to scale the pre emphasis filter + int _xd[2]; //preemphasis biquad filter buffers + int _yd[2]; + int _delay_buffer[MAX_DELAY_SAMPS]; // The delay buffer for the given signal path // chess_storage(DMA) + BufferPtr delay_buffer; // The pointers to the delay buffer and actual used length + int n_delay_samps; // The delay for the given signal path in samples + int weight_actived; //Deactivate by initializing with weight 1.0 + int weight; // The weight for the given signal path + int _weight_scale_nbits; // The number of bits used to scale the weight +} SingleSignalPath; + + +/*Stuct for storage of internal state and configuration for an adaptive fir-lms filter*/ +// typedef struct LmsFilter{ +// int lms_mu; // The learning rate for the lms algorithm +// int lms_num_fir_coeffs; // Number of coefficients for the adaptive filter +// #if BLOCK_LEN == 1 +// //int _delay_line[MAX_FIR_COEFFS]; // The delay line for the adaptive filter // +// BufferDMB delay_line; // The pointer to the delay line +// //int chess_storage(DMB) *ptr_delay_line_current; // The pointer to the current position in the delay line +// #else +// //int chess_storage(%(sizeof(long long))) _delay_line[BLOCK_LEN + MAX_FIR_COEFFS]; // The delay line for the adaptive filter +// BufferPtr delay_line; // The pointer to the delay line +// //int chess_storage(DMA) *ptr_delay_line_current; // The pointer to the current position in the delay line +// //int chess_storage(%(sizeof(long long))) fir_coeffs[MAX_FIR_COEFFS]; // The coefficients for the adaptive filter +// #endif +// } LmsFilter; +// #if BLOCK_LEN == 1 +// int fir_lms_coeffs[MAX_FIR_COEFFS]; // The coefficients for the adaptive filter // +// #else +// int chess_storage(%(sizeof(long long))) fir_lms_coeffs[MAX_FIR_COEFFS]; // The coefficients for the adaptive filter +// #endif + +#if BLOCK_LEN == 1 +BufferPtr extern ptr_fir_lms_coeffs; +BufferPtrDMB extern chess_storage(DMB) ptr_fir_lms_delay_line; +int extern chess_storage(DMB) fir_lms_delay_line[MAX_FIR_COEFFS]; + +#else +int extern chess_storage(DMA%(sizeof(long long))) fir_lms_delay_line[BLOCK_LEN + MAX_FIR_COEFFS]; // The delay line for the adaptive filter +BufferPtr extern ptr_fir_lms_delay_line; +BufferPtr extern ptr_fir_lms_coeffs; +#endif + +//int extern chess_storage(DMA % (sizeof(long long))) fir_lms_coeffs[MAX_FIR_COEFFS]; // The coefficients for the adaptive filter + +// typedef struct SignalPath{ +// SingleSignalPath cSensorSignal; +// SingleSignalPath accSensorSignal; +// LmsFilter lms; +// volatile int chess_storage(DMIO:INPUT_PORT_ADD) input_port; +// int chess_storage(DMIO:OUTPUT_PORT_ADD) output_port; +// } SignalPath; + +typedef enum OutputMode{ + OUTPUT_MODE_C_SENSOR, + OUTPUT_MODE_ACC_SENSOR, + OUTPUT_MODE_FIR_LMS, + OUTPUT_MODE_FIR, + OUTPUT_MODE_FIR_LMS_LEAKY, +}OutputMode; + +// void sig_init_preemph_coef(SingleSignalPath *signal, double b0, double b1, double b2, double a1, double a2, int scale_bits); +// int sig_init_delay(SingleSignalPath *signal, int delay_samps); +// void sig_init_weight(SingleSignalPath *signal, double weight, int scale_nbits); +// void sig_init_lms(LmsFilter *signal, double lms_mu, int lms_fir_num_coeffs, int scale_bits); +// int inline sig_delay_buffer_load_and_get(SingleSignalPath *signal, int x); +// int inline sig_calc_biquad(SingleSignalPath *signal, int x); //TODO: inline ? +// int inline sig_calc_weight(SingleSignalPath *signal, int x); //TODO: inline ? +// int inline sig_calc_fir_lms_single(LmsFilter *signal, int d, int x); //TODO: inline ? + +//void adapt_coeffs_lpdsp32_single(LmsFilter chess_storage(DMB) *filter, int *fir_lms_coeffs, int out); +//sig_calc_fir_lpdsp32_single(BufferPtr *ptr_fir_lms_delay_line, BufferPtr *ptr_fir_lms_coeffs) + + + +// top level init and calc functions +void init( + SingleSignalPath *cSensorSignal, SingleSignalPath *accSensorSignal, + //BufferPtrDMB chess_storage(DMB) *ptr_fir_lms_delay_line, BufferPtr *ptr_fir_lms_coeffs, + double *b_c, double *b_acc, int delay_c, int delay_acc, double weight_c, double weight_acc, double lms_mu, int lms_fir_num_coeffs); +void calc( + SingleSignalPath *cSensorSignal, SingleSignalPath *accSensorSignal, + //BufferPtrDMB chess_storage(DMB) *ptr_fir_lms_delay_line, BufferPtr *ptr_fir_lms_coeffs, + OutputMode output_mode, + #if BLOCK_LEN != 1 + int16_t *cSensor, + int16_t *accSensor, + #else + int16_t volatile chess_storage(DMB) *cSensor, + int16_t volatile chess_storage(DMB) *accSensor, + #endif + int16_t volatile chess_storage(DMB) *out_16 + ); + + diff --git a/simulation/signal_processing/signal_path.c b/simulation/signal_processing/signal_path.c new file mode 100644 index 0000000..84c278f --- /dev/null +++ b/simulation/signal_processing/signal_path.c @@ -0,0 +1,398 @@ +#include "include/signal_path.h" +#define BLOCK_LEN 1 + +/* Global variables decleration*/ +static int counter=0; +static int mu; + +static int leak=2147462173; //0.999 // (1 ? µ?) + + +int chess_storage(DMB) fir_lms_delay_line[MAX_FIR_COEFFS]; +BufferPtrDMB chess_storage(DMB) ptr_fir_lms_delay_line; +BufferPtr ptr_fir_lms_coeffs; + +int chess_storage(DMA % (sizeof(long long))) fir_lms_coeffs[MAX_FIR_COEFFS]; // The coefficients for the adaptive filter + + +#ifdef PLATFORM_GENERIC + // lpdsp32 functionallity moddeling functions + accum_t fract_mult(int a, int b){ + long int a_long = a; + long int b_long = b; + return (b_long * a_long); + } + accum_t to_accum(int a){ + long int a_long = (long int) a; + return a_long << 31; + } + int rnd_saturate(accum_t a){ + return a >> 31; + } + int extract_high(accum_t a){ + return a >> 31; + } + void lldecompose(unsigned long long l, int* int1, int* int2){ + *int2 = (int)(l >> 32); + *int1 = (int)(l); + } + uint64_t llcompose(int a, int b) { + uint64_t result = (uint64_t)b; // Assign b to the higher 32 bits of the result + result <<= 32; // Shift the higher 32 bits to the left + result |= (uint32_t)a; // Bitwise OR operation with the lower 32 bits of a + return result; + } + // unsigned long long llcompose(int a, int b){ + // unsigned long long l; + // l = a << 32; + // l |= b; + // return l; + //} + int* cyclic_add(int *ptr, int i_pp, int *ptr_start, int buffer_len){ + int *p_ptr=ptr; + for (int i=0; i < abs(i_pp); i+=1){ // end of buffer wraparound + if (i_pp > 0){ + p_ptr ++; + if (p_ptr >= ptr_start + buffer_len){ + p_ptr=ptr_start; + } + } + else{ // start of buffer wraparound + p_ptr--; + if (p_ptr < ptr_start){ + p_ptr=ptr_start + (buffer_len -1); + } + } + } + return p_ptr; + } +#endif + +int sig_init_buffer(BufferPtr *buffer, int *buffer_start_add, int length, int max_buffer_len) { + buffer->buffer_len = length; + buffer->ptr_start = buffer_start_add; + buffer->ptr_current = buffer_start_add; + // initialize delay line with 0 + for (int i = 0; i < length; i++) { + buffer_start_add[i] = 0; + } + if (lengthbuffer_len = length; + buffer->ptr_start = buffer_start_add; + buffer->ptr_current = buffer_start_add; + // initialize delay line with 0 + for (int i = 0; i < length; i++) { + buffer_start_add[i] = 0; + } + if (lengthptr_current = cyclic_add(buffer->ptr_current, i_incr, buffer->ptr_start, buffer->buffer_len); +} + +void sig_cirular_buffer_ptr_increment_DMB(BufferPtrDMB *buffer, int i_incr){ + buffer->ptr_current = cyclic_add(buffer->ptr_current, i_incr, buffer->ptr_start, buffer->buffer_len); +} + +void sig_cirular_buffer_ptr_put_sample(BufferPtr *buffer, int sample){ + *buffer->ptr_current = sample; + buffer->ptr_current = cyclic_add(buffer->ptr_current, 1, buffer->ptr_start, buffer->buffer_len); +} + +void sig_cirular_buffer_ptr_put_sample_DMB(BufferPtrDMB chess_storage(DMB) *buffer, int sample){ + *buffer->ptr_current = sample; + buffer->ptr_current = cyclic_add(buffer->ptr_current, 1, buffer->ptr_start, buffer->buffer_len); +} + +void static inline sig_circular_buffer_ptr_put_block(BufferPtr *buffer, int* block){ + // increment pointer to oldest block + //buffer->ptr_current = cyclic_add(buffer->ptr_current, BLOCK_LEN, buffer->ptr_start, buffer->buffer_len); + // load the next block + for (int i=0; iptr_current[0] = block[i]; // TODO: use llcompose + buffer->ptr_current[1] = block[i+1]; + buffer->ptr_current = cyclic_add(buffer->ptr_current, 2, buffer->ptr_start, buffer->buffer_len); + } +} + +//Initialisierungsfunktion für Biquad Filter Koeffizienten +void sig_init_preemph_coef(SingleSignalPath *signal, double b0, double b1, double b2, double a1, double a2, int scale_bits) { + // Wenn b0=1 und Rest 0 -> kein Filter weil effektiv 1*Xn + if (b0 == 1. && b1 == 0. && b2 == 0. && a1 == 0. && a2 == 0.) { + signal->preemph_activated = 0; + } + else{ + signal->preemph_activated = 1; // Schreibe Eintrag in Struct + signal->_preemph_scale_nbits = scale_bits; // Schreibe Eintrag in Struct - wieviel Bits wird skaliert + int scale = pow(2, scale_bits) - 1; //2^n -1 Skalierung + // Skaliere Koeffizienten zu Interger und schreibe Eintrag in Struct + signal->b_preemph[0] = b0 * scale; + signal->b_preemph[1] = b1 * scale; + signal->b_preemph[2] = b2 * scale; + signal->b_preemph[3] = a1 * scale; + signal->b_preemph[4] = a2 * scale; + } +} + +/*Initialization functions - make sure all of them were called to ensure functionality*/ +int sig_init_delay(SingleSignalPath *signal, int n_delay) { + return sig_init_buffer(&signal->delay_buffer, signal->_delay_buffer, n_delay, MAX_DELAY_SAMPS); +} + +//Initialisierungsfunktion für Gewichtung +void sig_init_weight(SingleSignalPath *signal, double weight, int scale_nbits) { + // Wenn Gewichtung 1 -> kein Effekt + if (weight == 1.) { + signal->weight_actived = 0; + } + // Wenn Gewichtung != 1 -> Zu Integer skalieren und Eintrag in Struct schreiben + else{ + signal->weight_actived = 1; + int scale = pow(2, scale_nbits) - 1; + signal->weight = weight * scale; + signal->_weight_scale_nbits = scale_nbits; + } +} + +/*Calculator functions for the given signal path*/ +/*Calculate one biquad filter element*/ +int sig_calc_biquad(SingleSignalPath *signal, int x) { + if (signal->preemph_activated == 0) { + return x; + } + accum_t sum = + fract_mult(x, signal->b_preemph[0]) + fract_mult(signal->_xd[0], signal->b_preemph[1]) + + fract_mult(signal->_xd[1], signal->b_preemph[2]) + fract_mult(signal->_yd[0], signal->b_preemph[3]) + + fract_mult(signal->_yd[1],signal->b_preemph[4]); + int y = rnd_saturate(sum << 1); + + + signal->_xd[1] = signal->_xd[0]; + signal->_xd[0] = x; + signal->_yd[1] = signal->_yd[0]; + signal->_yd[0] = y; + return y; +} +int inline sig_get_delayed_sample(SingleSignalPath *signal) { + return *signal->delay_buffer.ptr_current; +} + +int sig_delay_buffer_load_and_get(SingleSignalPath *signal, int x) { + if (signal->delay_buffer.buffer_len == 0) { + return x; + } + int out = *signal->delay_buffer.ptr_current; + *signal->delay_buffer.ptr_current = x; + sig_cirular_buffer_ptr_increment(&signal->delay_buffer, 1); + return out; +} + +int sig_calc_weight(SingleSignalPath *signal, int x) { + if (signal->weight_actived == 0) { + return x; + } + accum_t acc = fract_mult(x, signal->weight); + + return rnd_saturate(acc); +} + +int inline sig_calc_fir_lpdsp32_single(BufferPtrDMB chess_storage(DMB) *ptr_fir_lms_delay_line, BufferPtr *ptr_fir_lms_coeffs){ + + // Calculate the fir filter output on x to get the canceller + int chess_storage(DMB) *p_x0 = ptr_fir_lms_delay_line->ptr_current; // chess_storage(DMB) + int chess_storage(DMB) *px_start = ptr_fir_lms_delay_line->ptr_start; + int *p_h = ptr_fir_lms_coeffs->ptr_current; + int delay_line_len = ptr_fir_lms_delay_line->buffer_len; + int n_coeff = ptr_fir_lms_coeffs->buffer_len; + + int d0,d1,h0,h1; + accum_t acc1_A = to_accum(0); + accum_t acc1_B = to_accum(0); + accum_t acc1_C; + + // iterate over the coefficients to calculate the filter on x - the canceller + /* Abschaetzung cycles per 2coefficient: + dual - load : 1 + dual mac and dual load: 1 + -> 48/2 * 2 = 48 cycles for 48 coefficents + */ + for (int i=0; i < n_coeff; i+=2) chess_loop_range(1,){ + // Use dual load and dual pointer update + d0 = *p_x0; + h0 = *p_h; + p_h++; + p_x0 = cyclic_add(p_x0, -1, px_start, delay_line_len); + + d1 = *p_x0; + h1 = *p_h; + p_h++; + p_x0 = cyclic_add(p_x0, -1, px_start, delay_line_len); + + acc1_A+=fract_mult(d0, h0); + acc1_B+=fract_mult(d1, h1); + #ifndef LPDSP16 + acc1_A = to_accum(rnd_saturate(acc1_A)); + acc1_B = to_accum(rnd_saturate(acc1_B)); + #endif + + } + // Calculate the output sample + acc1_C = acc1_A + acc1_B; + //out32 = rnd_saturate(acc1_A); + return rnd_saturate(acc1_C); +} + +void static inline adapt_coeffs_lpdsp32_single_v1(BufferPtrDMB chess_storage(DMB) *ptr_fir_lms_delay_line, BufferPtr *ptr_fir_lms_coeffs, int out){ + + int chess_storage(DMA) *p_h0 = ptr_fir_lms_coeffs->ptr_start; //coeff load pointer + //int chess_storage(DMA) *p_h1 = ptr_fir_lms_coeffs->ptr_start; //coeff store pointer + int chess_storage(DMB) *p_x0 = ptr_fir_lms_delay_line->ptr_current; // chess_storage(DMB) + int chess_storage(DMB) *p_x1 = ptr_fir_lms_delay_line->ptr_current; // chess_storage(DMB) + + p_x1 = cyclic_add(p_x1, -1, ptr_fir_lms_delay_line->ptr_start, ptr_fir_lms_delay_line->buffer_len); + + int prod, x0, x1, h0, h1; + int chess_storage(DMB) *px_start = ptr_fir_lms_delay_line->ptr_start; + int delay_line_len = ptr_fir_lms_delay_line->buffer_len; + int n_coeff = ptr_fir_lms_coeffs->buffer_len; + + accum_t acc_A, acc_B; + + // Calculate the first term of the coefficient adaption + accum_t acc_C = fract_mult(mu, out); + prod = rnd_saturate(acc_C); + + /* Abschätzung cycles per 2 coefficient: + dual load coeffs: 1 + single load tab value: 2 + dual mac: 1 + dual rnd_sat - store: 1 + load/store hazard nop: 1 + */ + for (int i=0; i< n_coeff; i+=2) chess_loop_range(1,){ + // Calculate the coefficient wise adaption + #ifdef PLATFORM_GENERIC + lldecompose(*((long long *)p_h0), &h0, &h1); + #else + lldecompose(*((long long *)p_h0), h0, h1); + #endif + + acc_A = to_accum(h0); + acc_B = to_accum(h1); + + acc_A += fract_mult(prod, *p_x0); // TODO: This could be further optimized by using all 4 available accums? + acc_B += fract_mult(prod, *p_x1); + + p_x0 = cyclic_add(p_x0, -2, px_start, delay_line_len); + p_x1 = cyclic_add(p_x1, -2, px_start, delay_line_len); + + // update the current filter coefficients - dual sat; dual store + *((long long *)p_h0) = llcompose(rnd_saturate(acc_A), rnd_saturate(acc_B));//load/store hazard ! - 1 nop is needed + p_h0+=2; + } +} + +void init( + SingleSignalPath *cSensorSignal, + SingleSignalPath *accSensorSignal, + double *b_c, + double *b_acc, + int delay_c, + int delay_acc, + double weight_c, + double weight_acc, + double lms_mu, + int lms_fir_num_coeffs + ){ + int scale_bits=31; + + // C-Sensor Initialisierung: Biquad, Delay, Weight skalieren und in Struct schreiben + sig_init_preemph_coef(cSensorSignal, b_c[0], b_c[1], b_c[2], b_c[3], b_c[4], scale_bits); + sig_init_delay(cSensorSignal, delay_c); + sig_init_weight(cSensorSignal, weight_c, scale_bits); + + // Acc-Sensor Initialisierung: Biquad, Delay, Weight skalieren und in Struct schreiben + sig_init_preemph_coef(accSensorSignal, b_acc[0], b_acc[1], b_acc[2], b_acc[3], b_acc[4], scale_bits); + sig_init_delay(accSensorSignal, delay_acc); + sig_init_weight(accSensorSignal, weight_acc, 31); + + //Mu Skalierung und in globale Variable schreiben + int scale = pow(2, scale_bits) - 1; + mu = lms_mu * scale; + // Buffer Initialisierung (Delay Line und Koeffizienten) und anschließend alle Werte auf 0 setzen + sig_init_buffer_DMB(&ptr_fir_lms_delay_line, fir_lms_delay_line, lms_fir_num_coeffs, MAX_FIR_COEFFS); + sig_init_buffer(&ptr_fir_lms_coeffs, fir_lms_coeffs, lms_fir_num_coeffs, MAX_FIR_COEFFS); + + for (int i = 0; i < lms_fir_num_coeffs; i++) { + ptr_fir_lms_delay_line.ptr_start[i] = 0; + ptr_fir_lms_coeffs.ptr_start[i] = 0; + } +} + +// Data d(cSensor) is signal + noise +// x (accSensor) is reference noise signal +void calc( + SingleSignalPath *cSensorSignal, + SingleSignalPath *accSensorSignal, + OutputMode output_mode, + int16_t volatile chess_storage(DMB) *cSensor, + int16_t volatile chess_storage(DMB) *accSensor, + int16_t volatile chess_storage(DMB) *out_16 + + ){ + static int chess_storage(DMA) c_block_pre[BLOCK_LEN]; + static int chess_storage(DMA) acc_block_pre[BLOCK_LEN]; + static int chess_storage(DMA) cSensor_32[BLOCK_LEN]; + static int chess_storage(DMA) accSensor_32[BLOCK_LEN]; + + static int chess_storage(DMB) acc_block_filt[BLOCK_LEN]; + static int chess_storage(DMB) out_32[BLOCK_LEN]; + + static int chess_storage(DMA) *p_c_block_pre =c_block_pre; + static int chess_storage(DMA) *p_acc_block_filt =acc_block_pre; + static int chess_storage(DMB) *p_out_32=out_32; + + + for (uint32_t i=0; i> BITSHIFT_16_TO_32); // 12 cycles for blocksize 4 //TODO: use rnd_saturate(out_32[i] >> input_nbit_bitshift) + } + +} + diff --git a/testcode/Release/.cache/clangd/index/__stdarg___gnuc_va_list.h.93D3D909F5719FA6.idx b/testcode/Release/.cache/clangd/index/__stdarg___gnuc_va_list.h.93D3D909F5719FA6.idx new file mode 100644 index 0000000..21fd003 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg___gnuc_va_list.h.93D3D909F5719FA6.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stdarg___va_copy.h.98962493B71EE319.idx b/testcode/Release/.cache/clangd/index/__stdarg___va_copy.h.98962493B71EE319.idx new file mode 100644 index 0000000..b80fa23 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg___va_copy.h.98962493B71EE319.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stdarg_header_macro.h.0B333C6E407313B6.idx b/testcode/Release/.cache/clangd/index/__stdarg_header_macro.h.0B333C6E407313B6.idx new file mode 100644 index 0000000..5becbfb Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg_header_macro.h.0B333C6E407313B6.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stdarg_va_arg.h.FE8E517CCE4B2276.idx b/testcode/Release/.cache/clangd/index/__stdarg_va_arg.h.FE8E517CCE4B2276.idx new file mode 100644 index 0000000..b3824d9 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg_va_arg.h.FE8E517CCE4B2276.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stdarg_va_copy.h.B884EE67FA238DE8.idx b/testcode/Release/.cache/clangd/index/__stdarg_va_copy.h.B884EE67FA238DE8.idx new file mode 100644 index 0000000..fa6ee72 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg_va_copy.h.B884EE67FA238DE8.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stdarg_va_list.h.0E53889759B471AD.idx b/testcode/Release/.cache/clangd/index/__stdarg_va_list.h.0E53889759B471AD.idx new file mode 100644 index 0000000..695c2b0 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stdarg_va_list.h.0E53889759B471AD.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_header_macro.h.0B52AFAB87160BBB.idx b/testcode/Release/.cache/clangd/index/__stddef_header_macro.h.0B52AFAB87160BBB.idx new file mode 100644 index 0000000..fff35eb Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_header_macro.h.0B52AFAB87160BBB.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_max_align_t.h.33777049F9A4441A.idx b/testcode/Release/.cache/clangd/index/__stddef_max_align_t.h.33777049F9A4441A.idx new file mode 100644 index 0000000..d52733a Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_max_align_t.h.33777049F9A4441A.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_null.h.4C71B8116C594296.idx b/testcode/Release/.cache/clangd/index/__stddef_null.h.4C71B8116C594296.idx new file mode 100644 index 0000000..2700df8 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_null.h.4C71B8116C594296.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_nullptr_t.h.C743DAA09DEE9211.idx b/testcode/Release/.cache/clangd/index/__stddef_nullptr_t.h.C743DAA09DEE9211.idx new file mode 100644 index 0000000..cf62ed4 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_nullptr_t.h.C743DAA09DEE9211.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_offsetof.h.4E698286A2B7F30F.idx b/testcode/Release/.cache/clangd/index/__stddef_offsetof.h.4E698286A2B7F30F.idx new file mode 100644 index 0000000..6806a6a Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_offsetof.h.4E698286A2B7F30F.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_ptrdiff_t.h.2B61E06179FF8A3E.idx b/testcode/Release/.cache/clangd/index/__stddef_ptrdiff_t.h.2B61E06179FF8A3E.idx new file mode 100644 index 0000000..82fee33 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_ptrdiff_t.h.2B61E06179FF8A3E.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_size_t.h.C8D7C699006ADB5A.idx b/testcode/Release/.cache/clangd/index/__stddef_size_t.h.C8D7C699006ADB5A.idx new file mode 100644 index 0000000..07490f5 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_size_t.h.C8D7C699006ADB5A.idx differ diff --git a/testcode/Release/.cache/clangd/index/__stddef_wchar_t.h.00BF7B4A6D0F42DD.idx b/testcode/Release/.cache/clangd/index/__stddef_wchar_t.h.00BF7B4A6D0F42DD.idx new file mode 100644 index 0000000..8a4f4ef Binary files /dev/null and b/testcode/Release/.cache/clangd/index/__stddef_wchar_t.h.00BF7B4A6D0F42DD.idx differ diff --git a/testcode/Release/.cache/clangd/index/errno.h.E44AAD2104516323.idx b/testcode/Release/.cache/clangd/index/errno.h.E44AAD2104516323.idx new file mode 100644 index 0000000..1aec0ac Binary files /dev/null and b/testcode/Release/.cache/clangd/index/errno.h.E44AAD2104516323.idx differ diff --git a/testcode/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx b/testcode/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx new file mode 100644 index 0000000..a3648ed Binary files /dev/null and b/testcode/Release/.cache/clangd/index/lpdsp32_chess_llvm.h.8DF04BF7255E3FA7.idx differ diff --git a/testcode/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx b/testcode/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx new file mode 100644 index 0000000..54f6446 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/lpdsp32_llvm.h.D699F27282EADCF3.idx differ diff --git a/testcode/Release/.cache/clangd/index/main.c.7D3D046CE626CA8E.idx b/testcode/Release/.cache/clangd/index/main.c.7D3D046CE626CA8E.idx new file mode 100644 index 0000000..40dc7ec Binary files /dev/null and b/testcode/Release/.cache/clangd/index/main.c.7D3D046CE626CA8E.idx differ diff --git a/testcode/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx b/testcode/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx new file mode 100644 index 0000000..ed525dd Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stdalign.h.D04D4D12A45C7104.idx differ diff --git a/testcode/Release/.cache/clangd/index/stdarg.h.CF0CAA1D37023D74.idx b/testcode/Release/.cache/clangd/index/stdarg.h.CF0CAA1D37023D74.idx new file mode 100644 index 0000000..8d0ad8e Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stdarg.h.CF0CAA1D37023D74.idx differ diff --git a/testcode/Release/.cache/clangd/index/stdarg.h.E2896F0E5B42B0DD.idx b/testcode/Release/.cache/clangd/index/stdarg.h.E2896F0E5B42B0DD.idx new file mode 100644 index 0000000..a6c4a83 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stdarg.h.E2896F0E5B42B0DD.idx differ diff --git a/testcode/Release/.cache/clangd/index/stddef.h.D0F353B650FADB20.idx b/testcode/Release/.cache/clangd/index/stddef.h.D0F353B650FADB20.idx new file mode 100644 index 0000000..dd7c5c9 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stddef.h.D0F353B650FADB20.idx differ diff --git a/testcode/Release/.cache/clangd/index/stddef.h.F9522A61DE94A3CE.idx b/testcode/Release/.cache/clangd/index/stddef.h.F9522A61DE94A3CE.idx new file mode 100644 index 0000000..6c1bc70 Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stddef.h.F9522A61DE94A3CE.idx differ diff --git a/testcode/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx b/testcode/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx new file mode 100644 index 0000000..a11c32d Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stdint.h.4847465AD6C3C0CA.idx differ diff --git a/testcode/Release/.cache/clangd/index/stdio.h.30C1F2349792CF60.idx b/testcode/Release/.cache/clangd/index/stdio.h.30C1F2349792CF60.idx new file mode 100644 index 0000000..8d050dc Binary files /dev/null and b/testcode/Release/.cache/clangd/index/stdio.h.30C1F2349792CF60.idx differ diff --git a/testcode/Release/chesswork/main-9f2435.# b/testcode/Release/chesswork/main-9f2435.# new file mode 100644 index 0000000..eec1e89 --- /dev/null +++ b/testcode/Release/chesswork/main-9f2435.# @@ -0,0 +1,8 @@ +466ba9a29dd6732e5048de41303e492793f3e524 +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +1c8bbe93adae4ad958181e7bbdf3e50dc29b30bf +da39a3ee5e6b4b0d3255bfef95601890afd80709 +caeed1d8261c9d5b0f3a72abdea803be6cd42cdc +42 +0 diff --git a/testcode/Release/chesswork/main-9f2435.o b/testcode/Release/chesswork/main-9f2435.o new file mode 100644 index 0000000..01e2ffb Binary files /dev/null and b/testcode/Release/chesswork/main-9f2435.o differ diff --git a/testcode/Release/chesswork/main-9f2435.sfg b/testcode/Release/chesswork/main-9f2435.sfg new file mode 100644 index 0000000..37018a5 --- /dev/null +++ b/testcode/Release/chesswork/main-9f2435.sfg @@ -0,0 +1,160 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + +/*** +!! int main() +F_main : user_defined, called { + fnm : "main" 'int main()'; + arg : ( dmaddr_:i int32_:r ); + loc : ( LR[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); +} +**** +***/ + +[ + 0 : _main typ=uint20_ bnd=e stl=PM tref=__sint____ + 8 : __M_SDMB typ=int16_ bnd=d stl=SDMB + 11 : __M_WDMA typ=int32_ bnd=d stl=WDMA + 26 : __R_SP typ=dmaddr_ bnd=d stl=SP + 29 : __vola typ=uint20_ bnd=b stl=PM + 34 : __sp typ=dmaddr_ bnd=b stl=SP + 35 : _ZL6sample typ=int8_ bnd=i sz=2 algn=2 stl=DMB tref=int16_t_DMB + 37 : _ZL10input_port typ=int8_ val=8388608f bnd=i sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 38 : _ZL7pointer typ=int8_ bnd=i sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 40 : _ZL11output_port typ=int8_ val=8388624f bnd=i sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 41 : __rd___sp typ=dmaddr_ bnd=m + 43 : __ptr_sample typ=dmaddr_ val=0a bnd=m adro=35 + 45 : __ct_8388608 typ=dmaddr_ val=8388608f bnd=m + 47 : __ptr_pointer typ=dmaddr_ val=0a bnd=m adro=38 + 49 : __ct_8388624 typ=dmaddr_ val=8388624f bnd=m + 50 : __ct_0 typ=uint1_ val=0f bnd=m + 51 : __la typ=dmaddr_ bnd=p tref=dmaddr___ + 52 : __rt typ=int32_ bnd=p tref=__sint__ + 56 : __ct_123 typ=int8_ val=123f bnd=m + 58 : __ct_100 typ=int8_ val=100f bnd=m + 60 : __ct_0 typ=int32_ val=0f bnd=m + 63 : __ct_101 typ=int8_ val=101f bnd=m + 68 : __ct_102 typ=int8_ val=102f bnd=m + 73 : __ct_103 typ=int8_ val=103f bnd=m + 81 : __ct_200 typ=uint8_ val=200f bnd=m + 86 : __ct_201 typ=uint8_ val=201f bnd=m + 91 : __ct_202 typ=uint8_ val=202f bnd=m + 96 : __ct_203 typ=uint8_ val=203f bnd=m + 118 : __rt typ=dmaddr_ bnd=m tref=__Pvoid__ + 146 : __ct_0S0 typ=int18_ val=0S0 bnd=m + 147 : __ct_0s0 typ=int18_ val=0s0 bnd=m + 148 : __ct_2 typ=int18_ val=2f bnd=m + 150 : __ct_6 typ=int18_ val=6f bnd=m +] +F_main { + (__R_SP.24 var=26) st_def () <48>; + (__vola.27 var=29) source () <51>; + (__sp.32 var=34) source () <56>; + (_ZL6sample.33 var=35) source () <57>; + (_ZL10input_port.35 var=37) source () <59>; + (_ZL7pointer.36 var=38) source () <60>; + (_ZL11output_port.38 var=40) source () <62>; + (__ptr_sample.40 var=43) const () <64>; + (__ct_8388608.42 var=45) const () <66>; + (__ptr_pointer.45 var=47) const () <69>; + (__ct_8388624.47 var=49) const () <71>; + (__ct_0.50 var=50) const () <74>; + (__la.52 var=51 stl=LR off=0) inp () <76>; + (__la.53 var=51) deassign (__la.52) <77>; + (__rd___sp.56 var=41) rd_res_reg (__R_SP.24 __sp.32) <80>; + (__R_SP.60 var=26 __sp.61 var=34) wr_res_reg (__rt.189 __sp.32) <84>; + (__ct_123.62 var=56) const () <86>; + (__M_SDMB.64 var=8 _ZL6sample.65 var=35 __vola.66 var=29) store (__ct_123.62 __ptr_sample.40 _ZL6sample.33 __vola.27) <88>; + (__ct_100.67 var=58) const () <89>; + (__ct_0.69 var=60) const () <91>; + (__M_SDMB.72 var=8 _ZL10input_port.73 var=37 __vola.74 var=29) store (__ct_100.67 __ct_8388608.42 _ZL10input_port.35 __vola.66) <94>; + (__ct_101.75 var=63) const () <95>; + (__M_SDMB.80 var=8 _ZL10input_port.81 var=37 __vola.82 var=29) store (__ct_101.75 __rt.233 _ZL10input_port.73 __vola.74) <100>; + (__ct_102.83 var=68) const () <101>; + (__M_SDMB.88 var=8 _ZL10input_port.89 var=37 __vola.90 var=29) store (__ct_102.83 __rt.255 _ZL10input_port.81 __vola.82) <106>; + (__ct_103.91 var=73) const () <107>; + (__M_SDMB.96 var=8 _ZL10input_port.97 var=37 __vola.98 var=29) store (__ct_103.91 __rt.277 _ZL10input_port.89 __vola.90) <112>; + (__M_WDMA.102 var=11 _ZL7pointer.103 var=38) store (__rt.299 __ptr_pointer.45 _ZL7pointer.36) <116>; + (__ct_200.104 var=81) const () <117>; + (__M_SDMB.109 var=8 _ZL11output_port.110 var=40 __vola.111 var=29) store (__ct_200.104 __ct_8388624.47 _ZL11output_port.38 __vola.98) <122>; + (__ct_201.112 var=86) const () <123>; + (__M_SDMB.117 var=8 _ZL11output_port.118 var=40 __vola.119 var=29) store (__ct_201.112 __rt.321 _ZL11output_port.110 __vola.111) <128>; + (__ct_202.120 var=91) const () <129>; + (__M_SDMB.125 var=8 _ZL11output_port.126 var=40 __vola.127 var=29) store (__ct_202.120 __rt.343 _ZL11output_port.118 __vola.119) <134>; + (__ct_203.128 var=96) const () <135>; + (__M_SDMB.133 var=8 _ZL11output_port.134 var=40 __vola.135 var=29) store (__ct_203.128 __rt.365 _ZL11output_port.126 __vola.127) <140>; + (__rd___sp.138 var=41) rd_res_reg (__R_SP.24 __sp.61) <143>; + (__R_SP.142 var=26 __sp.143 var=34) wr_res_reg (__rt.211 __sp.61) <147>; + () void_ret_dmaddr_ (__la.53) <148>; + (__rt.144 var=52 stl=RA off=0) assign (__ct_0.69) <149>; + () out (__rt.144) <150>; + () sink (__vola.135) <151>; + () sink (__sp.143) <156>; + () sink (_ZL6sample.65) <157>; + () sink (_ZL10input_port.97) <159>; + () sink (_ZL7pointer.103) <160>; + () sink (_ZL11output_port.134) <162>; + () sink (__ct_0.50) <163>; + (__rt.189 var=118) __Pvoid__pl___Pvoid_int18_ (__rd___sp.56 __ct_0S0.378) <277>; + (__rt.211 var=118) __Pvoid__pl___Pvoid_int18_ (__rd___sp.138 __ct_0s0.379) <305>; + (__rt.233 var=118) __Pvoid__pl___Pvoid_int18_ (__ct_8388608.42 __ct_2.380) <333>; + (__rt.255 var=118) __Pvoid__pl___Pvoid_int18_ (__rt.233 __ct_2.380) <361>; + (__rt.277 var=118) __Pvoid__pl___Pvoid_int18_ (__rt.255 __ct_2.380) <389>; + (__rt.299 var=118) __Pvoid__mi___Pvoid_int18_ (__rt.277 __ct_6.382) <417>; + (__rt.321 var=118) __Pvoid__pl___Pvoid_int18_ (__ct_8388624.47 __ct_2.380) <445>; + (__rt.343 var=118) __Pvoid__pl___Pvoid_int18_ (__rt.321 __ct_2.380) <473>; + (__rt.365 var=118) __Pvoid__pl___Pvoid_int18_ (__rt.343 __ct_2.380) <501>; + (__ct_0S0.378 var=146) const () <539>; + (__ct_0s0.379 var=147) const () <541>; + (__ct_2.380 var=148) const () <543>; + (__ct_6.382 var=150) const () <547>; +} #5 off=0 nxt=-2 +0 : 'main.c'; +---------- +5 : (0,42:0,11); +---------- +66 : (0,31:4,0); +71 : (0,36:4,0); +80 : (0,27:4,0); +84 : (0,27:4,0); +86 : (0,29:11,0); +88 : (0,29:4,1); +89 : (0,31:18,0); +91 : (0,31:15,0); +94 : (0,31:14,2); +95 : (0,32:18,0); +100 : (0,32:14,3); +101 : (0,33:18,0); +106 : (0,33:14,4); +107 : (0,34:18,0); +112 : (0,34:14,5); +116 : (0,35:4,6); +117 : (0,36:19,0); +122 : (0,36:15,7); +123 : (0,37:19,0); +128 : (0,37:15,8); +129 : (0,38:19,0); +134 : (0,38:15,9); +135 : (0,39:19,0); +140 : (0,39:15,10); +143 : (0,42:0,0); +147 : (0,42:0,11); +148 : (0,42:0,11); +149 : (0,42:0,0); +277 : (0,27:4,0); +305 : (0,42:0,0); +333 : (0,32:14,0); +361 : (0,33:14,0); +389 : (0,34:14,0); +445 : (0,37:15,0); +473 : (0,38:15,0); +501 : (0,39:15,0); +539 : (0,27:4,0); +541 : (0,42:0,0); +543 : (0,32:14,0); + diff --git a/testcode/Release/chesswork/main.aliases b/testcode/Release/chesswork/main.aliases new file mode 100644 index 0000000..e69de29 diff --git a/testcode/Release/chesswork/main.ctt b/testcode/Release/chesswork/main.ctt new file mode 100644 index 0000000..cef1c28 --- /dev/null +++ b/testcode/Release/chesswork/main.ctt @@ -0,0 +1,12 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +#const float_tininess_after_rounding enum __anonymous0__main_ 0 (0x0) +#const float_tininess_before_rounding enum __anonymous0__main_ 1 (0x1) +#const float_round_nearest_even enum __anonymous1__main_ 0 (0x0) +#const float_round_to_zero enum __anonymous1__main_ 1 (0x1) +#const float_round_up enum __anonymous1__main_ 2 (0x2) +#const float_round_down enum __anonymous1__main_ 3 (0x3) +#const ones unsigned 4294967295 (0xffffffff) diff --git a/testcode/Release/chesswork/main.dti b/testcode/Release/chesswork/main.dti new file mode 100644 index 0000000..50065bf --- /dev/null +++ b/testcode/Release/chesswork/main.dti @@ -0,0 +1,117 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + bool__ : _basic() bool; + __cchar__ : _basic() __cchar; + __schar__ : _basic() __schar; + __uchar__ : _basic() __uchar; + __sshort__ : _basic() __sshort; + __ushort__ : _basic() __ushort; + __sint__ : _basic() __sint; + __uint__ : _basic() __uint; + __slong__ : _basic() __slong; + __ulong__ : _basic() __ulong; + __flongdouble__ : _basic() __flongdouble; + int72___ : _basic() int72_; + int32___ : _basic() int32_; + __slonglong__ : _basic() __slonglong; + __ulonglong__ : _basic() __ulonglong; + __Pvoid__ : _basic() __Pvoid; + int64___ : _basic() int64_; + accum_t__ : _basic() accum_t; + flags_t__ : _basic() flags_t; + __rtp__ : _typedef() __rtp $__ulonglong__; + __atp0__ : _typedef() __atp0 $accum_t__; + __atp1__ : _typedef() __atp1 $accum_t__; + __atp2__ : _typedef() __atp2 $__ulonglong__; + dmaddr___ : _basic() dmaddr_; + float32__ : _typedef() float32 $__uint__; + __rtp___1 : _typedef() __rtp $float32__; + __atp0___1 : _typedef() __atp0 $__sint__; + float64__ : _typedef() float64 $__ulonglong__; + __rtp___2 : _typedef() __rtp $float64__; + __atp0___2 : _typedef() __atp0 $__sint__; + __rtp___3 : _typedef() __rtp $float32__; + __atp0___3 : _typedef() __atp0 $__slonglong__; + __rtp___4 : _typedef() __rtp $float64__; + __atp0___4 : _typedef() __atp0 $__slonglong__; + __rtp___5 : _typedef() __rtp $__sint__; + __atp0___5 : _typedef() __atp0 $float32__; + __rtp___6 : _typedef() __rtp $__slonglong__; + __atp0___6 : _typedef() __atp0 $float32__; + __rtp___7 : _typedef() __rtp $float64__; + __atp0___7 : _typedef() __atp0 $float32__; + __rtp___8 : _typedef() __rtp $float32__; + __atp0___8 : _typedef() __atp0 $float32__; + __rtp___9 : _typedef() __rtp $float32__; + __atp0___9 : _typedef() __atp0 $float32__; + __atp1___1 : _typedef() __atp1 $float32__; + __rtp___10 : _typedef() __rtp $float32__; + __atp0___10 : _typedef() __atp0 $float32__; + __atp1___2 : _typedef() __atp1 $float32__; + __rtp___11 : _typedef() __rtp $float32__; + __atp0___11 : _typedef() __atp0 $float32__; + __atp1___3 : _typedef() __atp1 $float32__; + __rtp___12 : _typedef() __rtp $float32__; + __atp0___12 : _typedef() __atp0 $float32__; + __atp1___4 : _typedef() __atp1 $float32__; + __rtp___13 : _typedef() __rtp $__sint__; + __atp0___13 : _typedef() __atp0 $float32__; + __atp1___5 : _typedef() __atp1 $float32__; + __rtp___14 : _typedef() __rtp $__sint__; + __atp0___14 : _typedef() __atp0 $float32__; + __atp1___6 : _typedef() __atp1 $float32__; + __rtp___15 : _typedef() __rtp $__sint__; + __atp0___15 : _typedef() __atp0 $float32__; + __atp1___7 : _typedef() __atp1 $float32__; + __rtp___16 : _typedef() __rtp $__sint__; + __atp0___16 : _typedef() __atp0 $float64__; + __rtp___17 : _typedef() __rtp $__slonglong__; + __atp0___17 : _typedef() __atp0 $float64__; + __rtp___18 : _typedef() __rtp $float32__; + __atp0___18 : _typedef() __atp0 $float64__; + __rtp___19 : _typedef() __rtp $float64__; + __atp0___19 : _typedef() __atp0 $float64__; + __rtp___20 : _typedef() __rtp $float64__; + __atp0___20 : _typedef() __atp0 $float64__; + __atp1___8 : _typedef() __atp1 $float64__; + __rtp___21 : _typedef() __rtp $float64__; + __atp0___21 : _typedef() __atp0 $float64__; + __atp1___9 : _typedef() __atp1 $float64__; + __rtp___22 : _typedef() __rtp $float64__; + __atp0___22 : _typedef() __atp0 $float64__; + __atp1___10 : _typedef() __atp1 $float64__; + __rtp___23 : _typedef() __rtp $float64__; + __atp0___23 : _typedef() __atp0 $float64__; + __atp1___11 : _typedef() __atp1 $float64__; + __rtp___24 : _typedef() __rtp $__sint__; + __atp0___24 : _typedef() __atp0 $float64__; + __atp1___12 : _typedef() __atp1 $float64__; + __rtp___25 : _typedef() __rtp $__sint__; + __atp0___25 : _typedef() __atp0 $float64__; + __atp1___13 : _typedef() __atp1 $float64__; + __rtp___26 : _typedef() __rtp $__sint__; + __atp0___26 : _typedef() __atp0 $float64__; + __atp1___14 : _typedef() __atp1 $float64__; + __ffloat__ : _basic() __ffloat; + __fdouble__ : _basic() __fdouble; + uint15__IMSK : _basic(IMSK,1,1) uint15_; + uint15__irq_stat : _basic(irq_stat,1,1) uint15_; + __sint_DMA : _basic(DMA,4,4) __sint; + __Pvoid_DMA : _basic(DMA,4,4) __Pvoid; + __PFILE_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $FILE_void; + __uchar_DMIO : _basic(DMIO,1,1) __uchar; + __sshort_DMB : _basic(DMB,2,2) __sshort; + int16_t_DMB : _typedef(DMB,2,2) int16_t $__sshort_DMB; + __A4DMB__sshort_DMB : _array(DMB,8,2) [4] $int16_t_DMB; + __PDMB__sshort_DMA : _pointer(DMA,4,4) $__Pvoid_DMA $int16_t_DMB; + __PDMBvoid__ : _basic() __PDMBvoid; + fract_t__ : _basic() fract_t; + pmem_t__ : _basic() pmem_t; + __PDMvoid__ : _basic() __PDMvoid; + __PDMAvoid__ : _basic() __PDMAvoid; + __PDMIOvoid__ : _basic() __PDMIOvoid; + __PPMvoid__ : _basic() __PPMvoid; + __sint____ : _function() $__sint__; diff --git a/testcode/Release/chesswork/main.fnm b/testcode/Release/chesswork/main.fnm new file mode 100644 index 0000000..65fca33 --- /dev/null +++ b/testcode/Release/chesswork/main.fnm @@ -0,0 +1,16 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +// toolrelease _25R2; + +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\testcode\\main.c" +"C:\\Users\\phangl\\00_Repos\\06_DSP_Simulation\\testcode" + +"main-9f2435.sfg" + : _main + : "main" global "main.c" 27 Ofile + ( + ) + diff --git a/testcode/Release/chesswork/main.gvt b/testcode/Release/chesswork/main.gvt new file mode 100644 index 0000000..e0d6646 --- /dev/null +++ b/testcode/Release/chesswork/main.gvt @@ -0,0 +1,25 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +[ + 1 : _imsk_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=IMSK tref=uint15__IMSK + 2 : _irq_stat_var_ typ=uint15_ bnd=e sz=1 algn=1 stl=irq_stat tref=uint15__irq_stat + 4 : stdin typ=int8_ bnd=e sz=4 algn=4 stl=DMA tref=__PFILE_DMA + 5 : stdout typ=int8_ bnd=e sz=4 algn=4 stl=DMA tref=__PFILE_DMA + 7 : _ZL12css_cmd_flag typ=int8_ val=12582916f bnd=f sz=1 algn=1 stl=DMIO tref=__uchar_DMIO + 8 : _ZL10input_port typ=int8_ val=8388608f bnd=f sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 9 : _ZL11output_port typ=int8_ val=8388624f bnd=f sz=8 algn=2 stl=DMB tref=__A4DMB__sshort_DMB + 10 : _ZL7pointer typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 11 : _ZL15input_pointer_0 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 12 : _ZL15input_pointer_1 typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 13 : _ZL14output_pointer typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 14 : _ZL14sample_pointer typ=int8_ bnd=f sz=4 algn=4 stl=DMA tref=__PDMB__sshort_DMA + 15 : _ZL6sample typ=int8_ bnd=f sz=2 algn=2 stl=DMB tref=int16_t_DMB +] +__main_sttc { +} #0 +---------- +---------- + diff --git a/testcode/Release/chesswork/main.gvt.# b/testcode/Release/chesswork/main.gvt.# new file mode 100644 index 0000000..a9c64ea --- /dev/null +++ b/testcode/Release/chesswork/main.gvt.# @@ -0,0 +1,8 @@ +b94f5e81f66808a8f4f9315bd020e05811fb8d4a +842f4b2e587ac9c93f0ed2be9e41223a9cf4fa79 +42695db990e5aaff0b9f36d25938c80e96ce47cc +0f92cd59bc109e3611ddf820c585207cf1996dd2 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 +0 diff --git a/testcode/Release/chesswork/main.gvt.o b/testcode/Release/chesswork/main.gvt.o new file mode 100644 index 0000000..87f6925 Binary files /dev/null and b/testcode/Release/chesswork/main.gvt.o differ diff --git a/testcode/Release/chesswork/main.ini b/testcode/Release/chesswork/main.ini new file mode 100644 index 0000000..1ef0445 --- /dev/null +++ b/testcode/Release/chesswork/main.ini @@ -0,0 +1,14 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +_ZL12css_cmd_flag/7 $ css_cmd_flag +_ZL10input_port/8 $ input_port +_ZL11output_port/9 $ output_port +_ZL7pointer/10 $ pointer +_ZL15input_pointer_0/11 $ input_pointer_0 +_ZL15input_pointer_1/12 $ input_pointer_1 +_ZL14output_pointer/13 $ output_pointer +_ZL14sample_pointer/14 $ sample_pointer +_ZL6sample/15 $ sample diff --git a/testcode/Release/chesswork/main.lib b/testcode/Release/chesswork/main.lib new file mode 100644 index 0000000..da9f08b --- /dev/null +++ b/testcode/Release/chesswork/main.lib @@ -0,0 +1,23 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + +toolrelease _25R2; + + +// additional +prop gp_offset_type = ( __sint ); + +prop static_variable_registers = ( IMSK irq_stat ); + +// int main() +F_main : user_defined, called { + fnm : "main" 'int main()'; + arg : ( dmaddr_:i int32_:r ); + loc : ( LR[0] RA[0] ); + vac : ( srIM[0] ); + frm : ( ); + llv : 0 0 0 0 0 ; +} + diff --git a/testcode/Release/chesswork/main.objlist b/testcode/Release/chesswork/main.objlist new file mode 100644 index 0000000..e2efc68 --- /dev/null +++ b/testcode/Release/chesswork/main.objlist @@ -0,0 +1,2 @@ +"main-9f2435.o" 0 +"main.gvt.o" 0 diff --git a/testcode/Release/chesswork/main.tof b/testcode/Release/chesswork/main.tof new file mode 100644 index 0000000..e88d19c --- /dev/null +++ b/testcode/Release/chesswork/main.tof @@ -0,0 +1,10 @@ + +// File generated by noodle version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:40 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\noodle.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -ilpdsp32_chess.h +Stof +wRelease/chesswork main.c lpdsp32 + + +// per defined called function, table of invoked intrinsic functions (excluding built-in operators): + +// int main() + diff --git a/testcode/Release/compile_commands.json b/testcode/Release/compile_commands.json new file mode 100644 index 0000000..a565353 --- /dev/null +++ b/testcode/Release/compile_commands.json @@ -0,0 +1,30 @@ +[ + { + "directory": "C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode", + "file": "main.c", + "arguments": [ + "chess-clang", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "--chess-proc-dir=C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib", + "-S", + "-nostdlibinc", + "-D__chess__", + "-D__tct_release__=2506", + "-g", + "-IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include", + "-D__tct_patch__=0", + "-include", + "lpdsp32_llvm.h", + "-xc++", + "-Wno-register", + "-DLLVM_NO_WARN_IGNORED_CHESS", + "-D__ndl__", + "-U__chess_clang__", + "-Dassembly=", + "-Dasm_begin=asm(", + "-Dasm_end=);", + "main.c", + "--chess-proc-name=lpdsp32" + ] + } +] diff --git a/testcode/Release/main.# b/testcode/Release/main.# new file mode 100644 index 0000000..8e5033d --- /dev/null +++ b/testcode/Release/main.# @@ -0,0 +1,2 @@ +69642db429f71ad0cf5272656fdd94cc3f158aa1 +16eb5e4638293780f809bd1de8ff96feb0151a27 diff --git a/testcode/Release/main.o b/testcode/Release/main.o new file mode 100644 index 0000000..94e9f60 Binary files /dev/null and b/testcode/Release/main.o differ diff --git a/testcode/Release/main.o.as b/testcode/Release/main.o.as new file mode 100644 index 0000000..4ce1079 --- /dev/null +++ b/testcode/Release/main.o.as @@ -0,0 +1,115 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:44 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 +Mhex +Ihex -g Release/main.o lpdsp32 + +// Release: ipp X-2025.06 +.data_segment_name +.bss local .at 12582916 _ZL12css_cmd_flag DMIO 1 + + +.data_segment_name +.bss local .at 8388608 _ZL10input_port DMB 8 + + +.data_segment_name +.bss local .at 8388624 _ZL11output_port DMB 8 + + +.data_segment_name +.bss local 4 _ZL7pointer DMA 4 + +.data_segment_name +.bss local 4 _ZL15input_pointer_0 DMA 4 + +.data_segment_name +.bss local 4 _ZL15input_pointer_1 DMA 4 + +.data_segment_name +.bss local 4 _ZL14output_pointer DMA 4 + +.data_segment_name +.bss local 4 _ZL14sample_pointer DMA 4 + +.data_segment_name +.bss local 2 _ZL6sample DMB 2 + +.undef local data _ZL6sample + +.undef local data _ZL10input_port + + +.undef local data _ZL7pointer + +.undef local data _ZL11output_port + + +.undef global data stdin + +.undef global data stdout + +.text_segment_name +.text global 2 _main +.src_ref 0 "main.c" 29 4 +.src_ref 0 "main.c" 42 first + /* 0x000000 0x383de */ rb0 = 123 +.src_ref 0 "main.c" 29 4 first + /* 0x000001 0x6e000 */ [_ZL6sample] = rb0.s + /* 0x000002 0x00076 */ /* MW */ +.src_ref 0 "main.c" 31 14 + /* 0x000003 0x68200 */ a0 = -0x800000 + /* 0x000004 0x00020 */ /* MW */ +.src_ref 0 "main.c" 31 14 +.src_ref 0 "main.c" 36 15 + /* 0x000005 0x5c192 */ ra0 = 100; rb0 = 0xc8 + /* 0x000006 0x30646 */ /* MW */ +.src_ref 0 "main.c" 31 14 first +.src_ref 0 "main.c" 32 14 +.src_ref 0 "main.c" 33 14 +.src_ref 0 "main.c" 37 15 + /* 0x000007 0x5c808 */ c0 = 2; a0[0x0] = ra0.s + /* 0x000008 0x14074 */ /* MW */ +.src_ref 0 "main.c" 32 14 +.src_ref 0 "main.c" 32 14 + /* 0x000009 0x5c196 */ ra0 = 101; a0 = a0 + 0x2 + /* 0x00000a 0x20010 */ /* MW */ +.src_ref 0 "main.c" 32 14 first +.src_ref 0 "main.c" 33 14 + /* 0x00000b 0x5c19a */ ra0 = 102; [a0+c0] = ra0.s + /* 0x00000c 0x14054 */ /* MW */ +.src_ref 0 "main.c" 33 14 first +.src_ref 0 "main.c" 34 14 + /* 0x00000d 0x5c19e */ ra0 = 103; [a0+c0] = ra0.s + /* 0x00000e 0x14054 */ /* MW */ +.src_ref 0 "main.c" 34 14 first + /* 0x00000f 0x94074 */ a0[0x0] = ra0.s +.src_ref 0 "main.c" 36 15 + /* 0x000010 0x68200 */ a1 = -0x7ffff0 + /* 0x000011 0x00421 */ /* MW */ + /* 0x000012 0xa0430 */ a0 = a0 - 0x6 +.src_ref 0 "main.c" 36 15 first + /* 0x000013 0x94876 */ a1[0x0] = rb0.s +.src_ref 0 "main.c" 37 15 + /* 0x000014 0xa0811 */ a1 = a1 + 0x2 +.src_ref 0 "main.c" 37 15 + /* 0x000015 0xb064e */ rb0 = 0xc9 +.src_ref 0 "main.c" 37 15 first + /* 0x000016 0x94856 */ [a1+c0] = rb0.s +.src_ref 0 "main.c" 38 15 + /* 0x000017 0xb0656 */ rb0 = 0xca +.src_ref 0 "main.c" 38 15 first + /* 0x000018 0x94876 */ a1[0x0] = rb0.s +.src_ref 0 "main.c" 35 4 first + /* 0x000019 0x6c000 */ [_ZL7pointer] = a0 + /* 0x00001a 0x00060 */ /* MW */ +.src_ref 0 "main.c" 39 15 +.src_ref 0 "main.c" 42 first + /* 0x00001b 0x460a4 */ retdb; rb0 = 0xcb + /* 0x00001c 0x3065e */ /* MW */ +.src_ref 0 "main.c" 39 15 first + /* 0x00001d 0x948f6 */ a1[0x2] = rb0.s +.label _main__end last + /* 0x00001e 0x40000 */ nop; ra0 = zero + /* 0x00001f 0x18e88 */ /* MW */ + +.dir 0 "C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode" diff --git a/testcode/Release/testcode b/testcode/Release/testcode new file mode 100644 index 0000000..1d73cd7 Binary files /dev/null and b/testcode/Release/testcode differ diff --git a/testcode/Release/testcode.## b/testcode/Release/testcode.## new file mode 100644 index 0000000..8cb9152 --- /dev/null +++ b/testcode/Release/testcode.## @@ -0,0 +1,2 @@ +f61e82f96b18a367d82644a4b533ca1e9fd22710 +b67211b93ae358410514ac48305c8ebe67686881 diff --git a/testcode/Release/testcode.as b/testcode/Release/testcode.as new file mode 100644 index 0000000..ac3753b --- /dev/null +++ b/testcode/Release/testcode.as @@ -0,0 +1,144 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 +Mhex +Ihex -g +u Release/testcode lpdsp32 + +// Release: ipp X-2025.06 + +.text_segment PM 0x000000 +.entry_point +.label _ivt +.src_ref 0 "lpdsp32_init.s" 15 first + /* 0x000000 0x64000 */ jp 0x20 /* MW 2 */ + /* 0x000001 0x00207 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 16 first + /* 0x000002 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000003 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 17 first + /* 0x000004 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000005 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 18 first + /* 0x000006 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000007 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 19 first + /* 0x000008 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000009 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 20 first + /* 0x00000a 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000b 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 21 first + /* 0x00000c 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000d 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 22 first + /* 0x00000e 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00000f 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 23 first + /* 0x000010 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000011 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 24 first + /* 0x000012 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000013 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 25 first + /* 0x000014 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000015 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 26 first + /* 0x000016 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000017 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 27 first + /* 0x000018 0x460b0 */ reti; nop /* MW 2 */ + /* 0x000019 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 28 first + /* 0x00001a 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001b 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 29 first + /* 0x00001c 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001d 0x38000 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 30 first + /* 0x00001e 0x460b0 */ reti; nop /* MW 2 */ + /* 0x00001f 0x38000 *//* MW 1 */ +.label _main_init +.src_ref 0 "lpdsp32_init.s" 5 first + /* 0x000020 0xba112 */ r = 0x1 +.src_ref 0 "lpdsp32_init.s" 6 first + /* 0x000021 0xba113 */ s = 0x1 +.src_ref 0 "lpdsp32_init.s" 7 first + /* 0x000022 0x68003 */ sp = 0xfff8 /* MW 2 */ + /* 0x000023 0xffe38 *//* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 8 first + /* 0x000024 0x46088 */ ie = 0x1; nop /* MW 2 */ + /* 0x000025 0x38000 *//* MW 1 */ +.label _main +.src_ref 1 "main.c" 29 4 +.src_ref 1 "main.c" 42 first + /* 0x000026 0x383de */ rb0 = 123 +.src_ref 1 "main.c" 29 4 first + /* 0x000027 0x6e400 */ [0x800008] = rb0.s /* MW 2 */ + /* 0x000028 0x00476 *//* MW 1 */ +.src_ref 1 "main.c" 31 14 + /* 0x000029 0x68200 */ a0 = -0x800000 /* MW 2 */ + /* 0x00002a 0x00020 *//* MW 1 */ +.src_ref 1 "main.c" 31 14 +.src_ref 1 "main.c" 36 15 + /* 0x00002b 0x5c192 */ ra0 = 100; rb0 = 0xc8 /* MW 2 */ + /* 0x00002c 0x30646 *//* MW 1 */ +.src_ref 1 "main.c" 31 14 first +.src_ref 1 "main.c" 32 14 +.src_ref 1 "main.c" 33 14 +.src_ref 1 "main.c" 37 15 + /* 0x00002d 0x5c808 */ c0 = 2; a0[0x0] = ra0.s /* MW 2 */ + /* 0x00002e 0x14074 *//* MW 1 */ +.src_ref 1 "main.c" 32 14 +.src_ref 1 "main.c" 32 14 + /* 0x00002f 0x5c196 */ ra0 = 101; a0 = a0 + 0x2 /* MW 2 */ + /* 0x000030 0x20010 *//* MW 1 */ +.src_ref 1 "main.c" 32 14 first +.src_ref 1 "main.c" 33 14 + /* 0x000031 0x5c19a */ ra0 = 102; [a0+c0] = ra0.s /* MW 2 */ + /* 0x000032 0x14054 *//* MW 1 */ +.src_ref 1 "main.c" 33 14 first +.src_ref 1 "main.c" 34 14 + /* 0x000033 0x5c19e */ ra0 = 103; [a0+c0] = ra0.s /* MW 2 */ + /* 0x000034 0x14054 *//* MW 1 */ +.src_ref 1 "main.c" 34 14 first + /* 0x000035 0x94074 */ a0[0x0] = ra0.s +.src_ref 1 "main.c" 36 15 + /* 0x000036 0x68200 */ a1 = -0x7ffff0 /* MW 2 */ + /* 0x000037 0x00421 *//* MW 1 */ + /* 0x000038 0xa0430 */ a0 = a0 - 0x6 +.src_ref 1 "main.c" 36 15 first + /* 0x000039 0x94876 */ a1[0x0] = rb0.s +.src_ref 1 "main.c" 37 15 + /* 0x00003a 0xa0811 */ a1 = a1 + 0x2 +.src_ref 1 "main.c" 37 15 + /* 0x00003b 0xb064e */ rb0 = 0xc9 +.src_ref 1 "main.c" 37 15 first + /* 0x00003c 0x94856 */ [a1+c0] = rb0.s +.src_ref 1 "main.c" 38 15 + /* 0x00003d 0xb0656 */ rb0 = 0xca +.src_ref 1 "main.c" 38 15 first + /* 0x00003e 0x94876 */ a1[0x0] = rb0.s +.src_ref 1 "main.c" 35 4 first + /* 0x00003f 0x6c000 */ [0x4] = a0 /* MW 2 */ + /* 0x000040 0x00260 *//* MW 1 */ +.src_ref 1 "main.c" 39 15 +.src_ref 1 "main.c" 42 first + /* 0x000041 0x460a4 */ retdb; rb0 = 0xcb /* MW 2 */ + /* 0x000042 0x3065e *//* MW 1 */ +.src_ref 1 "main.c" 39 15 first + /* 0x000043 0x948f6 */ a1[0x2] = rb0.s + /* 0x000044 0x40000 */ nop; ra0 = zero /* MW 2 */ + /* 0x000045 0x18e88 *//* MW 1 */ + +.bss_segment DM 0x000004 4 + +.bss_segment DM 0x000008 100 + +.bss_segment DM 0x800000 a + +.bss_segment DM 0x800010 8 + +.bss_segment DM 0xc00004 1 +.dir 0 "%PROCDIR%" +.dir 1 "C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode" + +.stack DMA e000 fff8 diff --git a/testcode/Release/testcode.cmic2 b/testcode/Release/testcode.cmic2 new file mode 100644 index 0000000..b9e190a --- /dev/null +++ b/testcode/Release/testcode.cmic2 @@ -0,0 +1,76 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:31:20 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -c C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode/Release/testcode -I C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib lpdsp32 -o C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode/Release/testcode.cmic2_2585875621056 -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 +Mdec +F + +// Release: ipp X-2025.06 + 0 "01100100000000000000" // jp 32 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct absolute target_address=32 */ + 1 "00000000001000000111" // /* MW 1 */ + 2 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3 "00111000000000000000" // /* MW 1 */ + 4 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 5 "00111000000000000000" // /* MW 1 */ + 6 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 7 "00111000000000000000" // /* MW 1 */ + 8 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 9 "00111000000000000000" // /* MW 1 */ + 10 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 11 "00111000000000000000" // /* MW 1 */ + 12 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 13 "00111000000000000000" // /* MW 1 */ + 14 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 15 "00111000000000000000" // /* MW 1 */ + 16 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 17 "00111000000000000000" // /* MW 1 */ + 18 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 19 "00111000000000000000" // /* MW 1 */ + 20 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 21 "00111000000000000000" // /* MW 1 */ + 22 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 23 "00111000000000000000" // /* MW 1 */ + 24 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 25 "00111000000000000000" // /* MW 1 */ + 26 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 27 "00111000000000000000" // /* MW 1 */ + 28 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 29 "00111000000000000000" // /* MW 1 */ + 30 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 31 "00111000000000000000" // /* MW 1 */ + 32 "10111010000100010010" // r = 1 /* control_operation: words=1 cycles_taken=1 */ + 33 "10111010000100010011" // s = 1 /* control_operation: words=1 cycles_taken=1 */ + 34 "01101000000000000011" // sp = 65528 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 35 "11111111111000111000" // /* MW 1 */ + 36 "01000110000010001000" // ie = 1; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 37 "00111000000000000000" // /* MW 1 */ + 38 "00111000001111011110" // rb0 = 123 /* control_operation: words=1 cycles_taken=1 */ + 39 "01101110010000000000" // [8388616] = rb0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 40 "00000000010001110110" // /* MW 1 */ + 41 "01101000001000000000" // a0 = -8388608 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 42 "00000000000000100000" // /* MW 1 */ + 43 "01011100000110010010" // ra0 = 100; rb0 = 200 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 44 "00110000011001000110" // /* MW 1 */ + 45 "01011100100000001000" // c0 = 2; a0[0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 46 "00010100000001110100" // /* MW 1 */ + 47 "01011100000110010110" // ra0 = 101; a0 = a0 + 2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 48 "00100000000000010000" // /* MW 1 */ + 49 "01011100000110011010" // ra0 = 102; [a0+c0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 50 "00010100000001010100" // /* MW 1 */ + 51 "01011100000110011110" // ra0 = 103; [a0+c0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 52 "00010100000001010100" // /* MW 1 */ + 53 "10010100000001110100" // a0[0] = ra0.s /* control_operation: words=1 cycles_taken=1 */ + 54 "01101000001000000000" // a1 = -8388592 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 55 "00000000010000100001" // /* MW 1 */ + 56 "10100000010000110000" // a0 = a0 - 6 /* control_operation: words=1 cycles_taken=1 */ + 57 "10010100100001110110" // a1[0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ + 58 "10100000100000010001" // a1 = a1 + 2 /* control_operation: words=1 cycles_taken=1 */ + 59 "10110000011001001110" // rb0 = 201 /* control_operation: words=1 cycles_taken=1 */ + 60 "10010100100001010110" // [a1+c0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ + 61 "10110000011001010110" // rb0 = 202 /* control_operation: words=1 cycles_taken=1 */ + 62 "10010100100001110110" // a1[0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ + 63 "01101100000000000000" // [4] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 64 "00000000001001100000" // /* MW 1 */ + 65 "01000110000010100100" // retdb; rb0 = 203 /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 66 "00110000011001011110" // /* MW 1 */ + 67 "10010100100011110110" // a1[2] = rb0.s /* control_operation: words=1 cycles_taken=1 */ + 68 "01000000000000000000" // nop; ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 69 "00011000111010001000" // /* MW 1 */ diff --git a/testcode/Release/testcode.cmico b/testcode/Release/testcode.cmico new file mode 100644 index 0000000..326194d --- /dev/null +++ b/testcode/Release/testcode.cmico @@ -0,0 +1 @@ ++Mdec \ No newline at end of file diff --git a/testcode/Release/testcode.map b/testcode/Release/testcode.map new file mode 100644 index 0000000..1102bdb --- /dev/null +++ b/testcode/Release/testcode.map @@ -0,0 +1,134 @@ + +// File generated by bridge version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\bridge.exe -oRelease/testcode Release/main.o -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/isg -g -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 -cC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/lpdsp32.bcf -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/lib -LC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/softfloat/lib -llpdsp32 -lc -lsoftfloat -lm -a2 -m -fH +work Release/chesswork -plpdsp32 + +// Release: ipp X-2025.06 + +Memory map for memory 'DM': + + Size = 16777216 + Width = 8 bits + Offset = 0 + Used = 8463 + + 0x00000004..0x00000007 : Occupied in alias or record memory 'DMA' by symbol '_ZL7pointer' + 0x00000008..0x00000107 : Occupied in alias or record memory 'DMA' by symbol '_main_argv_area' + 0x0000e000..0x0000fff7 ( 8184 items) : Stack + 0x00800000..0x00800007 : Occupied in alias or record memory 'DMB' by symbol '_ZL10input_port' + 0x00800008..0x00800009 : Occupied in alias or record memory 'DMB' by symbol '_ZL6sample' + 0x00800010..0x00800017 : Occupied in alias or record memory 'DMB' by symbol '_ZL11output_port' + 0x00c00004..0x00c00004 : Occupied in alias or record memory 'DMIO' by symbol '_ZL12css_cmd_flag' + +Memory map for memory 'DMA': + + Size = 8388608 + Width = 8 bits + Offset = 0 + Used = 8444 + + 0x00000004..0x00000007 ( 4 items) : Release/main.o::_ZL7pointer (Data, Local, .bss.DMA.4) + 0x00000008..0x00000107 ( 256 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_main_argv_area (Data, Global, .bss.DMA.0) + 0x0000e000..0x0000fff7 ( 8184 items) : Stack + +Memory map for memory 'DMB': + + Size = 4194304 + Width = 8 bits + Offset = 0 + Used = 18 + + 0x00800000..0x00800007 ( 8 items) : Release/main.o::_ZL10input_port (Data, Local, .bss.DMB.2) + 0x00800008..0x00800009 ( 2 items) : Release/main.o::_ZL6sample (Data, Local, .bss.DMB.2) + 0x00800010..0x00800017 ( 8 items) : Release/main.o::_ZL11output_port (Data, Local, .bss.DMB.2) + +Memory map for memory 'DMIO': + + Size = 4194304 + Width = 8 bits + Offset = 0 + Used = 1 + + 0x00c00004..0x00c00004 ( 1 items) : Release/main.o::_ZL12css_cmd_flag (Data, Local, .bss.DMIO.1) + +Memory map for memory 'PM': + + Size = 16777216 + Width = 20 bits + Offset = 0 + Used = 70 + + 0x00000000..0x0000001f ( 32 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_ivt (Function, Global, .text) + 0x00000020..0x00000025 ( 6 items) : lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a)::_main_init (Function, Global, .text) + 0x00000026..0x00000045 ( 32 items) : Release/main.o::_main (Function, Global, .text) + +External symbols: + + __dso_handle = 0x0 + _ctors_end = 0x0 + _ctors_start = 0x0 + _dtors_end = 0x0 + _dtors_start = 0x0 + _pc_end = 0x46 + _pc_start = 0x0 + _sp_end_DMA = 0xe000 + _sp_start_DMA = 0xfff8 + +Section summary for memory 'DM': + + .bss File + ---------- ---------- + 256 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) (in DMA) + 4 Release/main.o (in DMA) + 18 Release/main.o (in DMB) + 1 Release/main.o (in DMIO) + ---------- ---------- + 279 Total + +Section summary for memory 'DMA': + + .bss .stack File + ---------- ---------- ---------- + 0 8184 + 256 0 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + 4 0 Release/main.o + ---------- ---------- ---------- + 260 8184 Total + +Section summary for memory 'DMB': + + .bss File + ---------- ---------- + 18 Release/main.o + ---------- ---------- + 18 Total + +Section summary for memory 'DMIO': + + .bss File + ---------- ---------- + 1 Release/main.o + ---------- ---------- + 1 Total + +Section summary for memory 'PM': + + .text File + ---------- ---------- + 38 lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + 32 Release/main.o + ---------- ---------- + 70 Total + +File summary: + +Release/main.o + DMA 4 + DMB 18 + DMIO 1 + PM 32 + +lpdsp32_init.o(C:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/liblpdsp32.a) + DMA 256 + PM 38 + diff --git a/testcode/Release/testcode.srv b/testcode/Release/testcode.srv new file mode 100644 index 0000000..71551c6 --- /dev/null +++ b/testcode/Release/testcode.srv @@ -0,0 +1,138 @@ + +// File generated by darts version X-2025.06#84ea4f0b1c#250602, Thu Jan 15 11:30:45 2026 +// Copyright 2014-2025 Synopsys, Inc. All rights reserved. +// C:\Synopsys\ASIP Programmer\X-2025.06\win64\bin\WINbin\darts.exe -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib -d -IC:/Users/phangl/OneDrive - MED-EL/Desktop/LPDSP32_Modell/lib/runtime/include -D__tct_patch__=0 +Mhex +Ihex -g +u Release/testcode lpdsp32 + +// Release: ipp X-2025.06 +.label _ivt +.function _ivt _ivt +.src_ref 0 "lpdsp32_init.s" 15 first +.function_start + 0 "01100100000000000000" // jp 0x20 /* MW 2 */ /* control_operation: words=2 jump unconditional cycles_taken=2 direct absolute target_address=32 */ + 1 "00000000001000000111" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 16 first + 2 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 3 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 17 first + 4 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 5 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 18 first + 6 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 7 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 19 first + 8 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 9 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 20 first + 10 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 11 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 21 first + 12 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 13 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 22 first + 14 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 15 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 23 first + 16 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 17 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 24 first + 18 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 19 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 25 first + 20 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 21 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 26 first + 22 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 23 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 27 first + 24 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 25 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 28 first + 26 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 27 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 29 first + 28 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 29 "00111000000000000000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 30 first + 30 "01000110000010110000" // reti; nop /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=3 */ + 31 "00111000000000000000" // /* MW 1 */ +.label _main_init +.function _main_init _main_init +.src_ref 0 "lpdsp32_init.s" 5 first +.function_start + 32 "10111010000100010010" // r = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 6 first + 33 "10111010000100010011" // s = 0x1 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 0 "lpdsp32_init.s" 7 first + 34 "01101000000000000011" // sp = 0xfff8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 35 "11111111111000111000" // /* MW 1 */ +.src_ref 0 "lpdsp32_init.s" 8 first + 36 "01000110000010001000" // ie = 0x1; nop /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 37 "00111000000000000000" // /* MW 1 */ +.label _main +.function main _main +.src_ref 1 "main.c" 29 4 +.src_ref 1 "main.c" 42 first +.function_start + 38 "00111000001111011110" // rb0 = 123 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 29 4 first + 39 "01101110010000000000" // [0x800008] = rb0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 40 "00000000010001110110" // /* MW 1 */ +.src_ref 1 "main.c" 31 14 + 41 "01101000001000000000" // a0 = -0x800000 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 42 "00000000000000100000" // /* MW 1 */ +.src_ref 1 "main.c" 31 14 +.src_ref 1 "main.c" 36 15 + 43 "01011100000110010010" // ra0 = 100; rb0 = 0xc8 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 44 "00110000011001000110" // /* MW 1 */ +.src_ref 1 "main.c" 31 14 first +.src_ref 1 "main.c" 32 14 +.src_ref 1 "main.c" 33 14 +.src_ref 1 "main.c" 37 15 + 45 "01011100100000001000" // c0 = 2; a0[0x0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 46 "00010100000001110100" // /* MW 1 */ +.src_ref 1 "main.c" 32 14 +.src_ref 1 "main.c" 32 14 + 47 "01011100000110010110" // ra0 = 101; a0 = a0 + 0x2 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 48 "00100000000000010000" // /* MW 1 */ +.src_ref 1 "main.c" 32 14 first +.src_ref 1 "main.c" 33 14 + 49 "01011100000110011010" // ra0 = 102; [a0+c0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 50 "00010100000001010100" // /* MW 1 */ +.src_ref 1 "main.c" 33 14 first +.src_ref 1 "main.c" 34 14 + 51 "01011100000110011110" // ra0 = 103; [a0+c0] = ra0.s /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 52 "00010100000001010100" // /* MW 1 */ +.src_ref 1 "main.c" 34 14 first + 53 "10010100000001110100" // a0[0x0] = ra0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 36 15 + 54 "01101000001000000000" // a1 = -0x7ffff0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 55 "00000000010000100001" // /* MW 1 */ + 56 "10100000010000110000" // a0 = a0 - 0x6 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 36 15 first + 57 "10010100100001110110" // a1[0x0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 37 15 + 58 "10100000100000010001" // a1 = a1 + 0x2 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 37 15 + 59 "10110000011001001110" // rb0 = 0xc9 /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 37 15 first + 60 "10010100100001010110" // [a1+c0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 38 15 + 61 "10110000011001010110" // rb0 = 0xca /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 38 15 first + 62 "10010100100001110110" // a1[0x0] = rb0.s /* control_operation: words=1 cycles_taken=1 */ +.src_ref 1 "main.c" 35 4 first + 63 "01101100000000000000" // [0x4] = a0 /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 64 "00000000001001100000" // /* MW 1 */ +.src_ref 1 "main.c" 39 15 +.src_ref 1 "main.c" 42 first +.end_of_main + 65 "01000110000010100100" // retdb; rb0 = 0xcb /* MW 2 */ /* control_operation: words=2 rts unconditional cycles_taken=1 delay_slots=2 */ + 66 "00110000011001011110" // /* MW 1 */ +.src_ref 1 "main.c" 39 15 first +.delay_slot + 67 "10010100100011110110" // a1[0x2] = rb0.s /* control_operation: words=1 cycles_taken=1 */ +.delay_slot + 68 "01000000000000000000" // nop; ra0 = zero /* MW 2 */ /* control_operation: words=2 cycles_taken=1 */ + 69 "00011000111010001000" // /* MW 1 */ +.dir 0 "%PROCDIR%" +.dir 1 "C:/Users/phangl/00_Repos/06_DSP_Simulation/testcode" diff --git a/testcode/main.c b/testcode/main.c new file mode 100644 index 0000000..f193ad4 --- /dev/null +++ b/testcode/main.c @@ -0,0 +1,42 @@ +// BLOCK LEN 1 und MAX_FIR_COEFFS 64 werden vom Compiler mitgegeben + +#include +#include + +// Register und Bitmasken für Interrupts zwischen ARM und LPDSP Prozessor +#define CSS_CMD 0xC00004 +#define CSS_CMD_0 (1<<0) +#define CSS_CMD_1 (1<<1) + +// Shared Memory von ARM und DSP definieren +#define INPUT_PORT0_ADD 0x800000 // Feste Adressen für Eingangsdaten im Shared Memory +#define OUTPUT_PORT_ADD (INPUT_PORT0_ADD + 16) // Feste Adressen für Ausgangsdatensdaten im Shared Memory, 16 Byte von Eingangsadresse Weg + +//Chess Compiler spezifisch: Interrupt-Register festlegen um ARM zu kontaktieren nach fertiger Berechnung +volatile static unsigned char chess_storage(DMIO:CSS_CMD) css_cmd_flag; + +static volatile int16_t chess_storage(DMB:INPUT_PORT0_ADD) input_port[4]; +static volatile int16_t chess_storage(DMB:OUTPUT_PORT_ADD) output_port[4]; +static volatile int16_t chess_storage(DMB) *pointer; +static volatile int16_t chess_storage(DMB) *input_pointer_0; +static volatile int16_t chess_storage(DMB) *input_pointer_1; +static volatile int16_t chess_storage(DMB) *output_pointer; +static volatile int16_t chess_storage(DMB) *sample_pointer; +static volatile int16_t chess_storage(DMB) sample; //Speicherplatz für Ergebnis der calc()-Funktion + +int main(void){ + + sample = 123; + + input_port[0] = 100; + input_port[1] = 101; + input_port[2] = 102; + input_port[3] = 103; + pointer = &input_port[0]; + output_port[0] = 200; + output_port[1] = 201; + output_port[2] = 202; + output_port[3] = 203; + + +} diff --git a/testcode/testcode.prx b/testcode/testcode.prx new file mode 100644 index 0000000..7aa14cc --- /dev/null +++ b/testcode/testcode.prx @@ -0,0 +1,5 @@ + + + diff --git a/testcode/testcode.prxui b/testcode/testcode.prxui new file mode 100644 index 0000000..82edf44 --- /dev/null +++ b/testcode/testcode.prxui @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + iss varinfo::locals last_sort {1 -increasing} +iss profiling hazards_logging Off +iss registers isvisible {} notvisible {} +iss storages isvisible {} notvisible {} +iss varinfo::statics last_sort {1 -increasing} +iss memory::DM start_field 0 vector 0 +iss memory::SDM start_field 0 vector 0 +iss memory::WDM start_field 0 vector 0 +iss memory::LPM start_field 0 vector 0 +iss memory::PM start_field 0 vector 0 +iss memory::LDM start_field 0 vector 0 +iss profiling value(report_type) textual value(lcovgenhtml_opts) {--show-details --legend --sort --demangle-cpp --rc lcov_branch_coverage=1} value(lcovgenhtml_dir) asiplcov_html +iss register_trees data_format Default vars {} expansions {} +dwarfoutput add {input_port variable {__sshort %VAR0 -> 3} {{14 0 dir 0 0 0 0 18446744073709551615 0 0}}} -vacc {{} {} {}} -varloccheck -from_init +dwarfoutput add {pointer variable {__sshort DMB* %VAR} {{13 4 dir 0 0 0 0 18446744073709551615 0 0}}} -vacc {{} {} {}} -varloccheck -from_init +dwarfoutput add {output_port variable {__sshort %VAR0 -> 3} {{14 16 dir 0 0 0 0 18446744073709551615 0 0}}} -vacc {} -varloccheck -from_init +iss waveform vars {{time {} {} {}}} signal_info {time {alias time color green num_format %d} {time {} {} {}} {alias time color green num_format %d}} samples 16 namesf_width 100 valuesf_width 100 +