diff --git a/Makefile b/Makefile index 4d4f3fe..40598c6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,8 @@ default: all -SRC_DIRS := . src src/libmld src/libp src/libu src/libxmalloc src/uopt +SRC_DIRS := . src src/libmld src/libp src/libu src/libxmalloc +UOPT_DIR := src/uopt +UGEN_DIR := src/ugen AVOID_UB ?= 1 @@ -12,20 +14,26 @@ ifeq ($(AVOID_UB),1) endif BUILD_DIR := build -ALL_DIRS := $(addprefix $(BUILD_DIR)/,$(SRC_DIRS)) +ALL_DIRS := $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(UOPT_DIR) $(UGEN_DIR)) C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) -O_FILES := $(addprefix $(BUILD_DIR)/,$(C_FILES:.c=.o)) +UOPT_C_FILES := $(C_FILES) $(foreach dir,$(UOPT_DIR),$(wildcard $(dir)/*.c)) +UGEN_C_FILES := $(C_FILES) $(foreach dir,$(UGEN_DIR),$(wildcard $(dir)/*.c)) +UOPT_O_FILES := $(addprefix $(BUILD_DIR)/,$(UOPT_C_FILES:.c=.o)) +UGEN_O_FILES := $(addprefix $(BUILD_DIR)/,$(UGEN_C_FILES:.c=.o)) DEP_FILES := $(O_FILES:.o=.d) # Ensure build directories exist before compiling anything DUMMY != mkdir -p $(ALL_DIRS) -TARGET := $(BUILD_DIR)/uopt +TARGETS := $(BUILD_DIR)/uopt $(BUILD_DIR)/ugen -all: $(TARGET) +all: $(TARGETS) -$(TARGET): $(O_FILES) +$(BUILD_DIR)/uopt: $(UOPT_O_FILES) + $(CC) -o $@ $^ $(LDFLAGS) + +$(BUILD_DIR)/ugen: $(UGEN_O_FILES) $(CC) -o $@ $^ $(LDFLAGS) $(BUILD_DIR)/%.o: %.c diff --git a/libcwrap.c b/libcwrap.c index 5d0f7ad..ad10fd7 100644 --- a/libcwrap.c +++ b/libcwrap.c @@ -14,7 +14,6 @@ double _atod(const char *str) { int main1(int argc, char *argv[]); int main(int argc, char *argv[]) { - puts("main"); __Argc = argc; __Argv = argv; output.c_file = stdout; diff --git a/src/binasm.h b/src/binasm.h new file mode 100644 index 0000000..3fe3d23 --- /dev/null +++ b/src/binasm.h @@ -0,0 +1,2004 @@ +/* + * ***************************************************************** + * * * + * * Copyright Compaq Computer Corporation, 2000 * + * * * + * * The software contained on this media is proprietary to * + * * and embodies the confidential technology of Compaq * + * * Computer Corporation. Possession, use, duplication or * + * * dissemination of the software and media is authorized only * + * * pursuant to a valid written license from Compaq Computer * + * * Corporation. * + * * * + * * RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure * + * * by the U.S. Government is subject to restrictions as set * + * * forth in Subparagraph (c)(1)(ii) of DFARS 252.227-7013, * + * * or in FAR 52.227-19, as applicable. * + * * * + * ***************************************************************** + */ +/* + * HISTORY + */ +/* + * |-----------------------------------------------------------| + * | Copyright (c) 1991 MIPS Computer Systems, Inc. | + * | All Rights Reserved | + * |-----------------------------------------------------------| + * | Restricted Rights Legend | + * | Use, duplication, or disclosure by the Government is | + * | subject to restrictions as set forth in | + * | subparagraph (c)(1)(ii) of the Rights in Technical | + * | Data and Computer Software Clause of DFARS 52.227-7013. | + * | MIPS Computer Systems, Inc. | + * | 950 DeGuigne Drive | + * | Sunnyvale, CA 94086 | + * |-----------------------------------------------------------| + */ +/* $Header: /usr/sde/osf1/rcs/os/src/usr/include/cmplrs/binasm.h,v 4.2.22.3 1997/02/26 22:42:32 Chris_Gillett Exp $ */ + +#ifdef __LANGUAGE_PASCAL__ +const + +/* Traumatic change in 1.30: record becomes larger */ +#if __alpha || __mips64 + bin_rec_len = 32; {32 bytes per record} +#else + bin_rec_len = 16; {16 bytes per record} +#endif +/*bin_rec_len = 12; {12 bytes per record}*/ + symtype_first = first(integer); + symtype_last = last(integer); + +type + + registers = ( + xr0, xr1, xr2, xr3, xr4, xr5, xr6, xr7, + xr8, xr9, xr10, xr11, xr12, xr13, xr14, xr15, + xr16, xr17, xr18, xr19, xr20, xr21, xr22, xr23, + xr24, xr25, xr26, xr27, xr28, xr29, xr30, xr31, + xfr0, xfr1, xfr2, xfr3, xfr4, xfr5, xfr6, xfr7, + xfr8, xfr9, xfr10, xfr11, xfr12, xfr13, xfr14, xfr15, + xfr16, xfr17, xfr18, xfr19, xfr20, xfr21, xfr22, xfr23, + xfr24, xfr25, xfr26, xfr27, xfr28, xfr29, xfr30, xfr31, + xnoreg + ); +#ifndef _REG_SET +#define _REG_SET 1 + aligned_registers = ( + ar0, ar1, ar2, ar3, ar4, ar5, ar6, ar7, + ar8, ar9, ar10, ar11, ar12, ar13, ar14, ar15, + ar16, ar17, ar18, ar19, ar20, ar21, ar22, ar23, + ar24, ar25, ar26, ar27, ar28, ar29, ar30, ar31, + afr0, afr1, afr2, afr3, afr4, afr5, afr6, afr7, + afr8, afr9, afr10, afr11, afr12, afr13, afr14, afr15, + afr16, afr17, afr18, afr19, afr20, afr21, afr22, afr23, + afr24, afr25, afr26, afr27, afr28, afr29, afr30, afr31 + ); + aligned_regset = set of aligned_registers; + +#endif + + itype = ( + ilabel, isym, iglobal, iabort, ialign, + iascii, iasciiz, ibyte, icomm, ilcomm, +#if __alpha || __mips64 + idata, idfloat, iffloat, igfloat, isfloat, + itfloat, igprel32, ifile, ilong, +#else + idata, idouble, ifile, ifloat, ihalf, +#endif + iline, idead, inop, iweakext, iloopno, + ispace, itext, iword, iocode, iend, + isdata, irdata, ient, iloc, ibgnb, + iendb, iasm0, iset, iorg, irep, + iendrep, ilab, ivreg, imask, ifmask, + ierr, iglobabs, iverstamp, iframe, iextended, + iextern, iaent, ioption, inoalias, ialias, +#if __alpha || __mips64 + ilivereg, igjsrsaved, igjsrlive, igjmplive, irestext, + iquad, iprologue, iedata, imtag, imalias, + ieflag, isave_ra, iconst, iugen, iident, + irconst, ilit4, ilit8, iarch, itune, itlsdata, itlsbss, itlscomm +#else + imtag, imalias, iblank3, ilivereg, igjaldef, + igjallive, igjrlive, ishift_addr, irestext, idword, + iprologue, iedata +#endif + ); + + {---------------------------------------------------------------------------------} + { asmcodes specify the assembler instructions } + {---------------------------------------------------------------------------------} + + asmcodes = ( +#if __alpha || __mips64 + zldl, zldq, zldl_l, zldq_l, + zldq_u, zlda, zstl, zstq, + zstl_c, zstq_c, zstq_u, zldah, + zldf, zldg, zlds, zldt, + zstf, zstg, zsts, zstt, + zmb, zfetch, zrs, + ztrapb, zfetch_m, zrpcc, zrc, + zjsr, zbr, zbsr, zblbc, + zblbs, zfbeq, zfbne, zbeq, + zbne, zfblt, zfbge, zblt, + zbge, zfble, zfbgt, zble, + zbgt, zaddl, zaddlv, zaddq, + zaddqv, zsubl, zsublv, zsubq, + zsubqv, + zs4addl, zs4addq, zs4subl, zs4subq, + zs8addl, zs8addq, zs8subl, zs8subq, + zcmpeq, zcmplt, zcmple, + zcmpult, zcmpule, zcmpbge, zand, + zbic, zcmoveq, zcmovne, zcmovlbs, + zbis, zornot, zcmovlt, zcmovge, + zcmovlbc, zxor, zeqv, zcmovle, + zcmovgt, zsll, zsra, zsrl, + zextbl, zextwl, zextll, zextql, + zextwh, zextlh, zextqh, zinsbl, + zinswl, zinsll, zinsql, zinswh, + zinslh, zinsqh, zmskbl, zmskwl, + zmskll, zmskql, zmskwh, zmsklh, + zmskqh, zzap, zzapnot, zmull, + zmulqv, zmullv, zumulh, zmulq, + zcpys, zcvtlq, zfcmoveq, zfcmovne, + zcpysn, zcvtql, zfcmovlt, zfcmovge, + zcpyse, zcvtqlv, zmt_fpcr, zmf_fpcr, + zcvtqlsv, zfcmovle, zfcmovgt, + zcmpteq, zcmptlt, zcmptle, zcmptun, + zcmpteqsu, zcmptltsu, zcmptlesu, zcmptunsu, + zcvtqs, zcvtqsc, zcvtqsm, zcvtqsd, + zcvtqssui, zcvtqssuic, zcvtqssuim, zcvtqssuid, + zcvtqt, zcvtqtc, zcvtqtm, zcvtqtd, + zcvtqtsui, zcvtqtsuic, zcvtqtsuim, zcvtqtsuid, + zcvtts, zcvttsc, zcvttsm, zcvttsd, + zcvttsu, zcvttsuc, zcvttsum, zcvttsud, + zcvttssu, zcvttssuc, zcvttssum, zcvttssud, + zcvttssui, zcvttssuic, zcvttssuim, zcvttssuid, + zdivs, zdivsc, zdivsm, zdivsd, + zdivsu, zdivsuc, zdivsum, zdivsud, + zdivssu, zdivssuc, zdivssum, zdivssud, + zdivssui, zdivssuic, zdivssuim, zdivssuid, + zdivt, zdivtc, zdivtm, zdivtd, + zdivtu, zdivtuc, zdivtum, zdivtud, + zdivtsu, zdivtsuc, zdivtsum, zdivtsud, + zdivtsui, zdivtsuic, zdivtsuim, zdivtsuid, + zmuls, zmulsc, zmulsm, zmulsd, + zmulsu, zmulsuc, zmulsum, zmulsud, + zmulssu, zmulssuc, zmulssum, zmulssud, + zmulssui, zmulssuic, zmulssuim, zmulssuid, + zmult, zmultc, zmultm, zmultd, + zmultu, zmultuc, zmultum, zmultud, + zmultsu, zmultsuc, zmultsum, zmultsud, + zmultsui, zmultsuic, zmultsuim, zmultsuid, + zsubs, zsubsc, zsubsm, zsubsd, + zsubsu, zsubsuc, zsubsum, zsubsud, + zsubssu, zsubssuc, zsubssum, zsubssud, + zsubssui, zsubssuic, zsubssuim, zsubssuid, + zsubt, zsubtc, zsubtm, zsubtd, + zsubtu, zsubtuc, zsubtum, zsubtud, + zsubtsu, zsubtsuc, zsubtsum, zsubtsud, + zsubtsui, zsubtsuic, zsubtsuim, zsubtsuid, + zadds, zaddsc, zaddsm, zaddsd, + zaddsu, zaddsuc, zaddsum, zaddsud, + zaddssu, zaddssuc, zaddssum, zaddssud, + zaddssui, zaddssuic, zaddssuim, zaddssuid, + zaddt, zaddtc, zaddtm, zaddtd, + zaddtu, zaddtuc, zaddtum, zaddtud, + zaddtsu, zaddtsuc, zaddtsum, zaddtsud, + zaddtsui, zaddtsuic, zaddtsuim, zaddtsuid, + zcvttq, zcvttqc, zcvttqv, zcvttqvc, + zcvttqsv, zcvttqsvc, zcvttqsvi, zcvttqsvic, + zcvttqd, zcvttqvd, zcvttqsvd, zcvttqsvid, + zcvttqm, zcvttqvm, zcvttqsvm, zcvttqsvim, + zaddf, zaddfc, zaddfu, zaddfuc, + zaddfs, zaddfsc, zaddfsu, zaddfsuc, + zaddg, zaddgc, zaddgu, zaddguc, + zaddgs, zaddgsc, zaddgsu, zaddgsuc, + zcvtdg, zcvtdgc, zcvtdgu, zcvtdguc, + zcvtdgs, zcvtdgsc, zcvtdgsu, zcvtdgsuc, + zcvtgd, zcvtgdc, zcvtgdu, zcvtgduc, + zcvtgds, zcvtgdsc, zcvtgdsu, zcvtgdsuc, + zsubf, zsubfc, zsubfu, zsubfuc, + zsubfs, zsubfsc, zsubfsu, zsubfsuc, + zsubg, zsubgc, zsubgu, zsubguc, + zsubgs, zsubgsc, zsubgsu, zsubgsuc, + zmulf, zmulfc, zmulfu, zmulfuc, + zmulfs, zmulfsc, zmulfsu, zmulfsuc, + zmulg, zmulgc, zmulgu, zmulguc, + zmulgs, zmulgsc, zmulgsu, zmulgsuc, + zdivf, zdivfc, zdivfu, zdivfuc, + zdivfs, zdivfsc, zdivfsu, zdivfsuc, + zdivg, zdivgc, zdivgu, zdivguc, + zdivgs, zdivgsc, zdivgsu, zdivgsuc, + zcmpgeq, zcmpglt, zcmpgle, + zcmpgeqs, zcmpglts, zcmpgles, + zcvtgf, zcvtgfc, zcvtgfu, zcvtgfuc, + zcvtgfs, zcvtgfsc, zcvtgfsu, zcvtgfsuc, + zcvtqf, zcvtqfc, + zcvtqg, zcvtqgc, + zcvtgq, zcvtgqc, zcvtgqv, zcvtgqvc, + zcvtgqs, zcvtgqsc, zcvtgqsv, zcvtgqsvc, + zret, zjmp, zjsr_coroutine, + zcall_pal, znop, zldiq, zldil, + zldb, zldbu, zldw, zldwu, + zuldw, zuldwu, zuldl, zuldq, + zstb, zstw, zustw, + zustl, zustq, zclr, zabsl, + zabsq, zmov, znegl, zneglv, + znegq, znegqv, zsextl, zdivl, + zdivlu, zdivq, zdivqu, zreml, + zremlu, zremq, zremqu, znot, + zor, zandnot, zxornot, zldid, + zldif, zldig, zldis, zldit, + zfabs, znegf, znegg, znegs, + znegt, zfmov, znegfs, zneggs, + znegssu, znegtsu, zfneg, zldgp, + zcia, zwmb, zcvtst, zcvtsts, + zexcb, zunop, zfclr, zcall_xfloat, + znegssui, znegtsui, zcmpteqs, zcmptlts, + zcmptles, zcmptuns, zfnop, zsextb, + zsextw, zamask, zimplver, + zctpop, zperr, zctlz, zcttz, + zunpkbw, zunpkbl, zpkwb, zpklb, + zminsb8, zminsw4, zminub8, zminuw4, + zmaxub8, zmaxuw4, zmaxsb8, zmaxsw4, + zftoit, zftois, + zecb, zwh64, + zitofs, zitoff, zitoft, + zsqrts, zsqrtsc, zsqrtsm, zsqrtsd, + zsqrtsu, zsqrtsuc, zsqrtsum, zsqrtsud, + zsqrtssu, zsqrtssuc, zsqrtssum, zsqrtssud, + zsqrtssui, zsqrtssuic, zsqrtssuim, zsqrtssuid, + zsqrtt, zsqrttc, zsqrttm, zsqrttd, + zsqrttu, zsqrttuc, zsqrttum, zsqrttud, + zsqrttsu, zsqrttsuc, zsqrttsum, zsqrttsud, + zsqrttsui, zsqrttsuic, zsqrttsuim, zsqrttsuid, + zsqrtf, zsqrtfc, zsqrtfu, zsqrtfuc, + zsqrtfs, zsqrtfsc, zsqrtfsu, zsqrtfsuc, + zsqrtg, zsqrtgc, zsqrtgu, zsqrtguc, + zsqrtgs, zsqrtgsc, zsqrtgsu, zsqrtgsuc, + +#else + zabs, zadd, zaddu, zand, zb, {000-004} + zbc0f, zbc0t, zbc1f, zbc1t, zbc2f, {005-009} + zbc2t, zbc3f, zbc3t, zbeq, zbge, {010-014} + zbgeu, zbgez, zbgt, zbgtu, zbgtz, {015-019} + zble, zbleu, zblez, zblt, zbltu, {020-024} + zbltz, zbne, zbreak, zc0, zc1, {025-029} + zc2, zc3, zdiv, zdivu, zj, {030-034} + zjal, zla, zlb, zlbu, zlh, {035-039} + zlhu, zli, zlw, z43, zlwc1, {040-044} + zlwc2, zlwc3, zmfhi, zmflo, zmove, {045-049} + z50, zswc1, zswc2, zswc3, zmthi, {050-054} + zmtlo, zmul, zmulo, zmulou, zmult, {055-059} + zmultu, zneg, znop, znor, zor, {060-064} + zrem, zremu, zrfe, zrol, zror, {065-069} + zsb, zseq, zsge, zsgeu, zsgt, {070-074} + zsgtu, zsh, zsle, zsleu, zsll, {075-079} + zslt, zsltu, zsne, zsra, zsrl, {080-084} + zsub, zsubu, zsw, zsyscall, zxor, {085-089} + znot, zlwl, zlwr, zswl, zswr, {090-094} + zvcall, zmfc0, zmfc1, zmfc2, zmfc3, {095-099} + zmtc0, zmtc1, zmtc2, zmtc3, ztlbr, {100-104} + ztlbwi, ztlbwr, ztlbp, zld, zsd, {106-109} + z110, zldc1, zldc2, zldc3, z114, {110-114} + zsdc1, zsdc2, zsdc3, {115-117} + fl_s, fl_d, fl_e, {118-120} + fs_s, fs_d, fs_e, {121-123} + fadd_s, fadd_d, fadd_e, {124-126} + fsub_s, fsub_d, fsub_e, {127-129} + fmul_s, fmul_d, fmul_e, {130-132} + fdiv_s, fdiv_d, fdiv_e, {133-135} + fsqrt_s, fsqrt_d, fsqrt_e, {136-138} + fmov_s, fmov_d, fmov_e, {139-141} + fabs_s, fabs_d, fabs_e, {142-144} + fcvt_s_d, fcvt_s_e, fcvt_s_w, {145-147} + fcvt_d_s, fcvt_d_e, fcvt_d_w, {148-150} + fcvt_e_s, fcvt_e_d, fcvt_e_w, {151-153} + fcvt_w_s, fcvt_w_d, fcvt_w_e, {154-156} + fc_f_s, fc_f_d, fc_f_e, {157-159} + fc_un_s, fc_un_d, fc_un_e, {160-162} + fc_eq_s, fc_eq_d, fc_eq_e, {163-165} + fc_ueq_s, fc_ueq_d, fc_ueq_e, {166-168} + fc_olt_s, fc_olt_d, fc_olt_e, {169-171} + fc_ult_s, fc_ult_d, fc_ult_e, {172-174} + fc_ole_s, fc_ole_d, fc_ole_e, {175-177} + fc_ule_s, fc_ule_d, fc_ule_e, {178-180} + fc_sf_s, fc_sf_d, fc_sf_e, {181-183} + fc_ngle_s, fc_ngle_d, fc_ngle_e, {184-186} + fc_seq_s, fc_seq_d, fc_seq_e, {187-189} + fc_ngl_s, fc_ngl_d, fc_ngl_e, {190-192} + fc_lt_s, fc_lt_d, fc_lt_e, {193-195} + fc_nge_s, fc_nge_d, fc_nge_e, {196-198} + fc_le_s, fc_le_d, fc_le_e, {199-201} + fc_ngt_s, fc_ngt_d, fc_ngt_e, {202-204} + zlui, zulw, zulh, zulhu, {205-208} + zusw, zush, zaddi, zaddiu, {209-212} + zslti, zsltiu, zandi, zori, {213-216} + zxori, z218, znegu, zbeqz, {217-220} + zbnez, {221} + fneg_s, fneg_d, fneg_e, {222-224} + zcfc1, zctc1, zbal, zbgezal, {225-228} + zbltzal, zmtc1_d, zmfc1_d, {229-231} + ztrunc_w_s, ztrunc_w_d, ztrunc_w_e, {232-234} + zround_w_s, zround_w_d, zround_w_e, {235-237} + zaddou, zsubou, {238-239} + ztruncu_w_s, ztruncu_w_d, ztruncu_w_e, {240-242} + zroundu_w_s, zroundu_w_d, zroundu_w_e, {243-245} + zcfc0, zcfc2, zcfc3, zctc0, {246-249} + zctc2, zctc3, {250-251} + fli_s, fli_d, fli_e, {252-254} + ztlt, ztltu, ztge, ztgeu, {255-258} + zteq, ztne, zll, zsc, {259-262} + zceil_w_s, zceil_w_d, zceil_w_e, {263-265} + zceilu_w_s, zceilu_w_d, zceilu_w_e, {266-268} + zfloor_w_s, zfloor_w_d, zfloor_w_e, {269-271} + zflooru_w_s, zflooru_w_d, zflooru_w_e, {272-274} + zbeql, zbeqzl, zbnel, zbnezl, {275-278} + zblel, zbleul, zblezl, {279-281} + zbgtl, zbgtul, zbgtzl, {282-284} + zbltl, zbltul, zbltzl, zbltzall, {285-288} + zbgel, zbgeul, zbgezl, zbgezall, {289-292} + zbc0fl, zbc0tl, zbc1fl, zbc1tl, {293-296} + zbc2fl, zbc2tl, zbc3fl, zbc3tl, {297-300} + { 9/26/89 new op code added for mips-3 arch. all 27 of them } + zldl, zldr, zlld, zlwu, {301-304} + zsdl, zsdr, zscd, {305-307} + zdaddi, zdaddiu, zdadd, zdaddu, {308-311} + zdsub, zdsubu, {312-313} + zdsll, zdsrl, zdsra, {314-316} + zdsllv, zdsrlv, zdsrav, {317-319} + zdmult, zdmultu, zddiv, zddivu, {320-323} + zlsc1, zssc1, zdmtc1, zdmfc1, {324-327} + zdmtc0, zdmfc0, zdmtc2, zdmfc2, {328-331} +#ifdef _DLI_DLA +{ 11/28/89 for mips-3 } + zdli, zdla, {332-333} +#endif + zeret, {334} + ztrunc_l_s, zround_l_s, zceil_l_s, zfloor_l_s,{335-338} + ztrunc_l_d, zround_l_d, zceil_l_d, zfloor_l_d,{339-342} + ztrunc_l_e, zround_l_e, zceil_l_e, zfloor_l_e,{343-346} + fcvt_l_s, fcvt_l_d, fcvt_l_e, fcvt_l_w, {347-350} + fcvt_s_l, fcvt_d_l, fcvt_e_l, fcvt_w_l, {351-354} + zcache, zcia, {355-356} +{ assembly macros for mips3 1/11/91 } + zuld, zusd, zdabs, zdneg, {357-360} + zdnegu, zdmul, zdmulo, zdmulou, {361-364} + zdrem, zdremu, {365-366} + zdrol, zdror, {367-368} + zdaddou, zdsubou, zulwu, {369-371} +#ifdef _MAD_MSB + fmad_s, fmad_d, fmad_e, fmsb_s, {372-375} + fmsb_d, fmsb_e, {376-377} +#endif +#endif + zbad + ); + + kind = ( + chars, instruction + ); + + symtype = symtype_first .. symtype_last; + + format = ( +#if __alpha || __mips64 + frob, { memory format reg, offset(+/-32k), base } + fra, { memory format reg, [sym]+offset } + fri, { pseudo inst reg, immed (64 bit) } + frrr, { operate format reg, reg, reg } + frir, { literal format reg, immed (64 bit), reg } + frr, { convert/jump inst reg, reg } + frl, { branch format reg, sym } + fi, { pal format immed } + fr, { for fetch, rcc instructions } + f, { special instruction } + frcr { literal format reg, constant d, reg } +#else + frob, { reg, offset(+/-32k), base } + fra, { reg, [sym]+offset } + fri, { reg, immed (32 bit) } + frrr, { reg, reg, reg } + frri, { reg, reg, immed (32 bit) } + frr, { reg, reg } + fa, { [sym]+offset [+(base)] } + fr, { reg } + frrl, { reg, reg, sym } + frl, { reg, sym } + fl, { sym } + forrr, { co processor if required? } + fril, { reg, immed, label } + fi, { immed } + foa { op, address } +#ifdef _MAD_MSB + ,frrrr { reg, reg, reg, reg } +#endif +#endif + ); + + bang_value = ( + bang_undefined, + bang_literal, + bang_lituse_base, + bang_lituse_bytoff, + bang_lituse_jsr, + bang_hint, + bang_gpdisp, + bang_gprelhigh, + bang_gprellow, + bang_tlsliteral, + bang_tlshigh, + bang_tlslow + ); + + set_value = ( + set_undefined, + set_reorder, + set_noreorder, + set_macro, + set_nomacro, + set_at, + set_noat, + set_move, + set_nomove, + set_bopt, + set_nobopt, + set_volatile, + set_novolatile + ); + + opt_type = ( + o_undefined, + o_optimize, + o_pic + ); + + opt_arg_type = ( + opt_none, + opt_int, + opt_float, + opt_string + ); + + + + { Enumeration for the call_xfloat "instruction" arguments. } + { This is translated to a routine call. The name of the destination } + { routine is "__" prepended to the suffix (i.e. call_addx means a } + { call is generated to __addx). } + + call_xfloat_type = ( + call_addx, + call_addxc, + call_addxm, + call_addxp, + call_addxd, + + call_subx, + call_subxc, + call_subxm, + call_subxp, + call_subxd, + + call_mulx, + call_mulxc, + call_mulxm, + call_mulxp, + call_mulxd, + + call_divx, + call_divxc, + call_divxm, + call_divxp, + call_divxd, + + call_cmpxeq, + call_cmpxne, + call_cmpxle, + call_cmpxlt, + + call_cvttx, + + call_cvtxt, + + call_cvtqx, + call_cvtuqx, + + call_cvtxq, + call_cvtxqc, + call_cvtxqm, + call_cvtxqp, + call_cvtxqd, + call_cvtxqv, + call_cvtxqvc, + call_cvtxqvm, + call_cvtxqvp, + call_cvtxqvd, + + call__last + ); + + + { we have to kluge this declaration so that 2.10 .G's are backward } + { compatible due to changes in Mips pascal's packing rule } + reg_compat_align = firstof(registers)..lastof(registers) of integer; + form_compat_align = firstof(format)..lastof(format) of integer; + + binasm = packed record + case kind of + chars : ( + data : packed array[1 .. bin_rec_len] of char + ); + + instruction : ( + symno : symtype; { 32 bits } + symno2 : symtype; { 32 bits } + relocnum : integer; { 32 bits } + reloctype : 0..31; { 5 bits, make an enum } + fill0a : 0..4; { 2 bits to word boundary} + case instr : itype of { 9 bits } + ierr, idead : (); { ????? } + + { move itext to case with length field.Gili 7/15/91 } + iabort, idata, iend, iglobal, iasm0, iendrep, ilabel, + inop, isdata, irdata, ilab, ibgnb, iugen, + irestext, irconst, ilit4, ilit8, + iendb, itlsdata : (); { symno has the info } + + ient, iaent, iprologue, iweakext : ( + lexlevel : integer); + + iframe : ( + frameoffset : integer; + framereg : reg_compat_align; + pcreg : reg_compat_align; + localoff : integer); + + imask, ifmask : ( + regmask, { 32 bits } + regoffset : integer); { 32 bits } + + iverstamp : ( + majornumber, { 32 bits } + minornumber : integer); { 32 bits } + + iloc : ( + filenumber, { 32 bits } + linenumber : integer); { 32 bits } + + { Add "ishift_addr" . Gili 10/13/89 } + { Add "itext". Gili 7/15/91 } +#if __alpha || __mips64 + ialign, iascii, iasciiz, iident, icomm, ilcomm, isym, idfloat, + iffloat, igfloat, isfloat, itfloat, + iextended, iorg, irep, iset, ispace, ifile, iline, + iextern, itext, iarch, itlsbss, itlscomm : ( +#else + ialign, iascii, iasciiz, icomm, ilcomm, isym, ifloat, idouble, + iextended, iorg, irep, iset, ispace, ifile, iline, + iextern, ishift_addr, itext : ( +#endif + length : integer64; { 64 bits } + rep : cardinal); { 32 bits - only for ifloat, idouble, } + { iextended } + iglobabs : ( + Glength : integer64); { 64 bits } + + + ilivereg : ( + gpmask, { 32 bits } + fpmask : cardinal); { 32 bits } + +#if __alpha || __mips64 + igjsrsaved, igjsrlive, igjmplive : ( +#else + { 9/21/89 add ".gjaldef", ".gjallive", ".gjrlive" directive } + igjaldef, igjallive, igjrlive : ( +#endif + gjmask : aligned_regset);{ 64 bits } + +#if __alpha || __mips64 + igprel32, + iquad, ibyte, iword, ilong : ( +#else + idword, + iquad, + ibyte, ihalf, iword : ( +#endif + expression : integer64; { 64 bits value } + replicate : cardinal); { 32 bits } + ieflag : ( { flags for exception proc descriptor } + eflag : integer; { 32 bits, see pdsc.h } + ); + isave_ra : ( { for register frame in proc desc } + save_ra_reg: reg_compat_align; { 32 bits, see pdsc.h } + ); + iconst : ( { define constants used in frcr format } + constant_value: integer; { 32 bits } + ); + iedata : ( + flag : integer; { 32 bits } + edata : integer; { 32 bits } + bin_data : integer64); { 64 bits } + iloopno : ( + loopnum : integer; { 32 bits } + lflag : integer); { 32 bits } + iocode, ivreg : ( + fill03 : 0..63; { 6 bits to half boundary } + op : asmcodes; { 9 bits, 16 bits due to alignment } + reg1 : reg_compat_align; { 7 bits } + reg2 : reg_compat_align; { 7 bits } + case form : form_compat_align of { 4 bits } +#ifdef _MAD_MSB + frrr, { reg4 is unused for frrr } + frrrr : ( { reg1, reg2, reg3, reg4 } + reg3 : reg_compat_align; { 7 bits } + reg4 : reg_compat_align); { 7 bits } +#else + frrr : ( { reg1, reg2, reg3 } + reg3 : reg_compat_align); { 7 bits } +#endif +#if !__alpha && !__mips64 + fa, { [sym]+offset } +#endif + frob, { reg1, offset(+/-32k), reg2 } + fra, { reg1, [sym]+offset } + fri, { reg1, immed (32 bit) } +#if __alpha || __mips64 + frir, { reg1, immed (64 bit), reg3 } + frcr, { reg1, constant id, reg3 } + fi : ( { reg1, function code } +#else + fril, { reg1, immed (32 bit), label } + frri : ( { reg1, reg2, immed (32 bit) } +#endif + mem_tag : 0.. 16383; { 14 bits to next word boundary } + immediate : integer64);{ 64 bits } +#if __alpha || __mips64 + f, { just opcode } + fr, { reg1 } + frr, { reg1, reg2 } + frl : (); { reg1, sym } +#else + fr, { reg1 } + frr, { reg1, reg2 } + frl, { reg1, sym } + fl : (); { sym } + forrr : (); { co processor if required? } + fi : ( { immed } + imm : integer); { 32 bits } + frrl : (); { reg1, reg2, sym } +#endif + ); + ioption: ( + option: opt_type; { which option (e.g. "O" for "-O3") } + fill04: 0 .. 16#3fffffff; { pad to 32-bit boundary } + case opt_arg_type of { associated arg (e.g. "3" for "-O3") } + opt_none: (); + opt_int: (opt_int_value: integer); + { integer value of argument } + opt_float, + opt_string: (opt_len: integer); + { length in bytes of string arg which } + { appears in future binasm records, } + { representing either fp or string } + ); + inoalias, { no aliasing till reversed by ialias } + ialias: ( + basereg1: reg_compat_align; + basereg2: reg_compat_align; + ); + + imtag: ( + tagnumber : integer; + tagtype : integer; + ); + imalias: ( memtag1, memtag2 : integer; ); + + ); + end; {record} + +#endif /* __LANGUAGE_PASCAL__ */ + + +#ifdef __LANGUAGE_C__ + +enum registers { + xr0, xr1, xr2, xr3, xr4, xr5, xr6, xr7, + xr8, xr9, xr10, xr11, xr12, xr13, xr14, xr15, + xr16, xr17, xr18, xr19, xr20, xr21, xr22, xr23, + xr24, xr25, xr26, xr27, xr28, xr29, xr30, xr31, + xfr0, xfr1, xfr2, xfr3, xfr4, xfr5, xfr6, xfr7, + xfr8, xfr9, xfr10, xfr11, xfr12, xfr13, xfr14, xfr15, + xfr16, xfr17, xfr18, xfr19, xfr20, xfr21, xfr22, xfr23, + xfr24, xfr25, xfr26, xfr27, xfr28, xfr29, xfr30, xfr31, + xnoreg + }; + +typedef unsigned asmopcode; +typedef unsigned asmformat; +typedef unsigned asmreg; +typedef int asmint; +typedef unsigned asmuint; +typedef int asmlabel; +typedef int asmsym; + +#define zero 0 +#define float_register 32 +#define xnoreg 64 + +#if __alpha || __mips64 +#define ilabel 0 +/*#define isym 1*/ +#define iglobal 2 +#define iabort 3 +#define ialign 4 +#define iascii 5 +#define iasciiz 6 +#define ibyte 7 +#define icomm 8 +#define ilcomm 9 +#define idata 10 +#define idfloat 11 +#define iffloat 12 +#define igfloat 13 +#define isfloat 14 +#define itfloat 15 +#define igprel32 16 +#define ifile 17 +#define ilong 18 +/*#define iline 19*/ +#define idead 20 +#define inop 21 +#define iweakext 22 +#define iloopno 23 +#define ispace 24 +#define itext 25 +#define iword 26 +#define iocode 27 +#define iend 28 +#define isdata 29 +#define irdata 30 +#define ient 31 +#define iloc 32 +#define ibgnb 33 +#define iendb 34 +#define iasm0 35 +#define iset 36 +#define iorg 37 +#define irep 38 +#define iendrep 39 +#define ilab 40 +#define ivreg 41 +#define imask 42 +#define ifmask 43 +#define ierr 44 +#define iglobabs 45 +#define iverstamp 46 +#define iframe 47 +#define iextended 48 +#define iextern 49 +#define iaent 50 +#define ioption 51 +#define inoalias 52 +#define ialias 53 +#define ilivereg 54 +#define igjsrsaved 55 +#define igjsrlive 56 +#define igjmplive 57 +#define irestext 58 +#define iquad 59 +#define iprologue 60 +#define iedata 61 +#define imtag 62 +#define imalias 63 +#define ieflag 64 +#define isave_ra 65 +#define iconst 66 +#define iugen 67 +#define iident 68 +#define irconst 69 +#define ilit4 70 +#define ilit8 71 +#define iarch 72 +#define itlsdata 73 +#define itlsbss 74 +#define itlscomm 75 +#else +#define ilabel 0 +/*#define isym 1*/ +#define iglobal 2 +#define iabort 3 +#define ialign 4 +#define iascii 5 +#define iasciiz 6 +#define ibyte 7 +#define icomm 8 +#define ilcomm 9 +#define idata 10 +#define idouble 11 +#define ifile 12 +#define ifloat 13 +#define ihalf 14 +/*#define iline 15*/ +#define idead 16 +#define inop 17 +#define iweakext 18 +#define iloopno 19 +#define ispace 20 +#define itext 21 +#define iword 22 +#define iocode 23 +#define iend 24 +#define isdata 25 +#define irdata 26 +#define ient 27 +#define iloc 28 +#define ibgnb 29 +#define iendb 30 +#define iasm0 31 +#define iset 32 +#define iorg 33 +#define irep 34 +#define iendrep 35 +#define ilab 36 +#define ivreg 37 +#define imask 38 +#define ifmask 39 +#define ierr 40 +#define iglobabs 41 +#define iverstamp 42 +#define iframe 43 +#define iextended 44 +#define iextern 45 +#define iaent 46 +#define ioption 47 +#define inoalias 48 +#define ialias 49 +#define imtag 50 +#define imalias 51 +#define iblank3 52 +#define ilivereg 53 +#define igjaldef 54 +#define igjallive 55 +#define igjrlive 56 +#define ishift_addr 57 +#define irestext 58 +#define idword 59 +#define iprologue 60 +#define iedata 61 +#endif + +#if __alpha || __mips64 +#define zldl 0 +#define zldq 1 +#define zldl_l 2 +#define zldq_l 3 +#define zldq_u 4 +#define zlda 5 +#define zstl 6 +#define zstq 7 +#define zstl_c 8 +#define zstq_c 9 +#define zstq_u 10 +#define zldah 11 +#define zldf 12 +#define zldg 13 +#define zlds 14 +#define zldt 15 +#define zstf 16 +#define zstg 17 +#define zsts 18 +#define zstt 19 +#define zmb 20 +#define zfetch 21 +#define zrs 22 +#define ztrapb 23 +#define zfetch_m 24 +#define zrpcc 25 +#define zrc 26 +#define zjsr 27 +#define zbr 28 +#define zbsr 29 +#define zblbc 30 +#define zblbs 31 +#define zfbeq 32 +#define zfbne 33 +#define zbeq 34 +#define zbne 35 +#define zfblt 36 +#define zfbge 37 +#define zblt 38 +#define zbge 39 +#define zfble 40 +#define zfbgt 41 +#define zble 42 +#define zbgt 43 +#define zaddl 44 +#define zaddlv 45 +#define zaddq 46 +#define zaddqv 47 +#define zsubl 48 +#define zsublv 49 +#define zsubq 50 +#define zsubqv 51 +#define zs4addl 52 +#define zs4addq 53 +#define zs4subl 54 +#define zs4subq 55 +#define zs8addl 56 +#define zs8addq 57 +#define zs8subl 58 +#define zs8subq 59 +#define zcmpeq 60 +#define zcmplt 61 +#define zcmple 62 +#define zcmpult 63 +#define zcmpule 64 +#define zcmpbge 65 +#define zand 66 +#define zbic 67 +#define zcmoveq 68 +#define zcmovne 69 +#define zcmovlbs 70 +#define zbis 71 +#define zornot 72 +#define zcmovlt 73 +#define zcmovge 74 +#define zcmovlbc 75 +#define zxor 76 +#define zeqv 77 +#define zcmovle 78 +#define zcmovgt 79 +#define zsll 80 +#define zsra 81 +#define zsrl 82 +#define zextbl 83 +#define zextwl 84 +#define zextll 85 +#define zextql 86 +#define zextwh 87 +#define zextlh 88 +#define zextqh 89 +#define zinsbl 90 +#define zinswl 91 +#define zinsll 92 +#define zinsql 93 +#define zinswh 94 +#define zinslh 95 +#define zinsqh 96 +#define zmskbl 97 +#define zmskwl 98 +#define zmskll 99 +#define zmskql 100 +#define zmskwh 101 +#define zmsklh 102 +#define zmskqh 103 +#define zzap 104 +#define zzapnot 105 +#define zmull 106 +#define zmulqv 107 +#define zmullv 108 +#define zumulh 109 +#define zmulq 110 +#define zcpys 111 +#define zcvtlq 112 +#define zfcmoveq 113 +#define zfcmovne 114 +#define zcpysn 115 +#define zcvtql 116 +#define zfcmovlt 117 +#define zfcmovge 118 +#define zcpyse 119 +#define zcvtqlv 120 +#define zmt_fpcr 121 +#define zmf_fpcr 122 +#define zcvtqlsv 123 +#define zfcmovle 124 +#define zfcmovgt 125 +#define zcmpteq 126 +#define zcmptlt 127 +#define zcmptle 128 +#define zcmptun 129 +#define zcmpteqsu 130 +#define zcmptltsu 131 +#define zcmptlesu 132 +#define zcmptunsu 133 +#define zcvtqs 134 +#define zcvtqsc 135 +#define zcvtqsm 136 +#define zcvtqsd 137 +#define zcvtqssui 138 +#define zcvtqssuic 139 +#define zcvtqssuim 140 +#define zcvtqssuid 141 +#define zcvtqt 142 +#define zcvtqtc 143 +#define zcvtqtm 144 +#define zcvtqtd 145 +#define zcvtqtsui 146 +#define zcvtqtsuic 147 +#define zcvtqtsuim 148 +#define zcvtqtsuid 149 +#define zcvtts 150 +#define zcvttsc 151 +#define zcvttsm 152 +#define zcvttsd 153 +#define zcvttsu 154 +#define zcvttsuc 155 +#define zcvttsum 156 +#define zcvttsud 157 +#define zcvttssu 158 +#define zcvttssuc 159 +#define zcvttssum 160 +#define zcvttssud 161 +#define zcvttssui 162 +#define zcvttssuic 163 +#define zcvttssuim 164 +#define zcvttssuid 165 +#define zdivs 166 +#define zdivsc 167 +#define zdivsm 168 +#define zdivsd 169 +#define zdivsu 170 +#define zdivsuc 171 +#define zdivsum 172 +#define zdivsud 173 +#define zdivssu 174 +#define zdivssuc 175 +#define zdivssum 176 +#define zdivssud 177 +#define zdivssui 178 +#define zdivssuic 179 +#define zdivssuim 180 +#define zdivssuid 181 +#define zdivt 182 +#define zdivtc 183 +#define zdivtm 184 +#define zdivtd 185 +#define zdivtu 186 +#define zdivtuc 187 +#define zdivtum 188 +#define zdivtud 189 +#define zdivtsu 190 +#define zdivtsuc 191 +#define zdivtsum 192 +#define zdivtsud 193 +#define zdivtsui 194 +#define zdivtsuic 195 +#define zdivtsuim 196 +#define zdivtsuid 197 +#define zmuls 198 +#define zmulsc 199 +#define zmulsm 200 +#define zmulsd 201 +#define zmulsu 202 +#define zmulsuc 203 +#define zmulsum 204 +#define zmulsud 205 +#define zmulssu 206 +#define zmulssuc 207 +#define zmulssum 208 +#define zmulssud 209 +#define zmulssui 210 +#define zmulssuic 211 +#define zmulssuim 212 +#define zmulssuid 213 +#define zmult 214 +#define zmultc 215 +#define zmultm 216 +#define zmultd 217 +#define zmultu 218 +#define zmultuc 219 +#define zmultum 220 +#define zmultud 221 +#define zmultsu 222 +#define zmultsuc 223 +#define zmultsum 224 +#define zmultsud 225 +#define zmultsui 226 +#define zmultsuic 227 +#define zmultsuim 228 +#define zmultsuid 229 +#define zsubs 230 +#define zsubsc 231 +#define zsubsm 232 +#define zsubsd 233 +#define zsubsu 234 +#define zsubsuc 235 +#define zsubsum 236 +#define zsubsud 237 +#define zsubssu 238 +#define zsubssuc 239 +#define zsubssum 240 +#define zsubssud 241 +#define zsubssui 242 +#define zsubssuic 243 +#define zsubssuim 244 +#define zsubssuid 245 +#define zsubt 246 +#define zsubtc 247 +#define zsubtm 248 +#define zsubtd 249 +#define zsubtu 250 +#define zsubtuc 251 +#define zsubtum 252 +#define zsubtud 253 +#define zsubtsu 254 +#define zsubtsuc 255 +#define zsubtsum 256 +#define zsubtsud 257 +#define zsubtsui 258 +#define zsubtsuic 259 +#define zsubtsuim 260 +#define zsubtsuid 261 +#define zadds 262 +#define zaddsc 263 +#define zaddsm 264 +#define zaddsd 265 +#define zaddsu 266 +#define zaddsuc 267 +#define zaddsum 268 +#define zaddsud 269 +#define zaddssu 270 +#define zaddssuc 271 +#define zaddssum 272 +#define zaddssud 273 +#define zaddssui 274 +#define zaddssuic 275 +#define zaddssuim 276 +#define zaddssuid 277 +#define zaddt 278 +#define zaddtc 279 +#define zaddtm 280 +#define zaddtd 281 +#define zaddtu 282 +#define zaddtuc 283 +#define zaddtum 284 +#define zaddtud 285 +#define zaddtsu 286 +#define zaddtsuc 287 +#define zaddtsum 288 +#define zaddtsud 289 +#define zaddtsui 290 +#define zaddtsuic 291 +#define zaddtsuim 292 +#define zaddtsuid 293 +#define zcvttq 294 +#define zcvttqc 295 +#define zcvttqv 296 +#define zcvttqvc 297 +#define zcvttqsv 298 +#define zcvttqsvc 299 +#define zcvttqsvi 300 +#define zcvttqsvic 301 +#define zcvttqd 302 +#define zcvttqvd 303 +#define zcvttqsvd 304 +#define zcvttqsvid 305 +#define zcvttqm 306 +#define zcvttqvm 307 +#define zcvttqsvm 308 +#define zcvttqsvim 309 +#define zaddf 310 +#define zaddfc 311 +#define zaddfu 312 +#define zaddfuc 313 +#define zaddfs 314 +#define zaddfsc 315 +#define zaddfsu 316 +#define zaddfsuc 317 +#define zaddg 318 +#define zaddgc 319 +#define zaddgu 320 +#define zaddguc 321 +#define zaddgs 322 +#define zaddgsc 323 +#define zaddgsu 324 +#define zaddgsuc 325 +#define zcvtdg 326 +#define zcvtdgc 327 +#define zcvtdgu 328 +#define zcvtdguc 329 +#define zcvtdgs 330 +#define zcvtdgsc 331 +#define zcvtdgsu 332 +#define zcvtdgsuc 333 +#define zcvtgd 334 +#define zcvtgdc 335 +#define zcvtgdu 336 +#define zcvtgduc 337 +#define zcvtgds 338 +#define zcvtgdsc 339 +#define zcvtgdsu 340 +#define zcvtgdsuc 341 +#define zsubf 342 +#define zsubfc 343 +#define zsubfu 344 +#define zsubfuc 345 +#define zsubfs 346 +#define zsubfsc 347 +#define zsubfsu 348 +#define zsubfsuc 349 +#define zsubg 350 +#define zsubgc 351 +#define zsubgu 352 +#define zsubguc 353 +#define zsubgs 354 +#define zsubgsc 355 +#define zsubgsu 356 +#define zsubgsuc 357 +#define zmulf 358 +#define zmulfc 359 +#define zmulfu 360 +#define zmulfuc 361 +#define zmulfs 362 +#define zmulfsc 363 +#define zmulfsu 364 +#define zmulfsuc 365 +#define zmulg 366 +#define zmulgc 367 +#define zmulgu 368 +#define zmulguc 369 +#define zmulgs 370 +#define zmulgsc 371 +#define zmulgsu 372 +#define zmulgsuc 373 +#define zdivf 374 +#define zdivfc 375 +#define zdivfu 376 +#define zdivfuc 377 +#define zdivfs 378 +#define zdivfsc 379 +#define zdivfsu 380 +#define zdivfsuc 381 +#define zdivg 382 +#define zdivgc 383 +#define zdivgu 384 +#define zdivguc 385 +#define zdivgs 386 +#define zdivgsc 387 +#define zdivgsu 388 +#define zdivgsuc 389 +#define zcmpgeq 390 +#define zcmpglt 391 +#define zcmpgle 392 +#define zcmpgeqs 393 +#define zcmpglts 394 +#define zcmpgles 395 +#define zcvtgf 396 +#define zcvtgfc 397 +#define zcvtgfu 398 +#define zcvtgfuc 399 +#define zcvtgfs 400 +#define zcvtgfsc 401 +#define zcvtgfsu 402 +#define zcvtgfsuc 403 +#define zcvtqf 404 +#define zcvtqfc 405 +#define zcvtqg 406 +#define zcvtqgc 407 +#define zcvtgq 408 +#define zcvtgqc 409 +#define zcvtgqv 410 +#define zcvtgqvc 411 +#define zcvtgqs 412 +#define zcvtgqsc 413 +#define zcvtgqsv 414 +#define zcvtgqsvc 415 +#define zret 416 +#define zjmp 417 +#define zjsr_coroutine 418 +#define zcall_pal 419 +#define znop 420 +#define zldiq 421 +#define zldil 422 +#define zldb 423 +#define zldbu 424 +#define zldw 425 +#define zldwu 426 +#define zuldw 427 +#define zuldwu 428 +#define zuldl 429 +#define zuldq 430 +#define zstb 431 +#define zstw 432 +#define zustw 433 +#define zustl 434 +#define zustq 435 +#define zclr 436 +#define zabsl 437 +#define zabsq 438 +#define zmov 439 +#define znegl 440 +#define zneglv 441 +#define znegq 442 +#define znegqv 443 +#define zsextl 444 +#define zdivl 445 +#define zdivlu 446 +#define zdivq 447 +#define zdivqu 448 +#define zreml 449 +#define zremlu 450 +#define zremq 451 +#define zremqu 452 +#define znot 453 +#define zor 454 +#define zandnot 455 +#define zxornot 456 +#define zldid 457 +#define zldif 458 +#define zldig 459 +#define zldis 460 +#define zldit 461 +#define zfabs 462 +#define znegf 463 +#define znegg 464 +#define znegs 465 +#define znegt 466 +#define zfmov 467 +#define znegfs 468 +#define zneggs 469 +#define znegssu 470 +#define znegtsu 471 +#define zfneg 472 +#define zldgp 473 +#define zcia 474 +#define zwmb 475 +#define zcvtst 476 +#define zcvtsts 477 +#define zexcb 478 +#define zunop 479 +#define zfclr 480 +#define zcall_xfloat 481 +#define zfnop 482 +#define zbad 483 +#define n_asmcodes 484 + +#define frob 0 +#define fra 1 +#define fri 2 +#define frrr 3 +#define frir 4 +#define frr 5 +#define fi 7 +#define fr 8 +#define f_ 9 +#define frcr 10 + +#else /* __mips */ +#define zabs 0 +#define zadd 1 +#define zaddu 2 +#define zand 3 +#define zb 4 +#define zbc0f 5 +#define zbc0t 6 +#define zbc1f 7 +#define zbc1t 8 +#define zbc2f 9 +#define zbc2t 10 +#define z11 11 +#define z12 12 +#define zbeq 13 +#define zbge 14 +#define zbgeu 15 +#define zbgez 16 +#define zbgt 17 +#define zbgtu 18 +#define zbgtz 19 +#define zble 20 +#define zbleu 21 +#define zblez 22 +#define zblt 23 +#define zbltu 24 +#define zbltz 25 +#define zbne 26 +#define zbreak 27 +#define zc0 28 +#define zc1 29 +#define zc2 30 +#define z31 31 +#define zdiv 32 +#define zdivu 33 +#define zj 34 +#define zjal 35 +#define zla 36 +#define zlb 37 +#define zlbu 38 +#define zlh 39 +#define zlhu 40 +#define zli 41 +#define zlw 42 +#define z43 43 +#define zlwc1 44 +#define zlwc2 45 +#define z46 46 +#define zmfhi 47 +#define zmflo 48 +#define zmove 49 +#define z50 50 +#define zswc1 51 +#define zswc2 52 +#define z53 53 +#define zmthi 54 +#define zmtlo 55 +#define zmul 56 +#define zmulo 57 +#define zmulou 58 +#define zmult 59 +#define zmultu 60 +#define zneg 61 +#define znop 62 +#define znor 63 +#define zor 64 +#define zrem 65 +#define zremu 66 +#define zrfe 67 +#define zrol 68 +#define zror 69 +#define zsb 70 +#define zseq 71 +#define zsge 72 +#define zsgeu 73 +#define zsgt 74 +#define zsgtu 75 +#define zsh 76 +#define zsle 77 +#define zsleu 78 +#define zsll 79 +#define zslt 80 +#define zsltu 81 +#define zsne 82 +#define zsra 83 +#define zsrl 84 +#define zsub 85 +#define zsubu 86 +#define zsw 87 +#define zsyscall 88 +#define zxor 89 +#define znot 90 +#define zlwl 91 +#define zlwr 92 +#define zswl 93 +#define zswr 94 +#define zvcall 95 +#define zmfc0 96 +#define zmfc1 97 +#define zmfc2 98 +#define z99 99 +#define zmtc0 100 +#define zmtc1 101 +#define zmtc2 102 +#define z103 103 +#define ztlbr 104 +#define ztlbwi 105 +#define ztlbwr 106 +#define ztlbp 107 +#define zld 108 +#define zsd 109 +#define z110 110 +#define zldc1 111 +#define zldc2 112 +#define z113 113 +#define z114 114 +#define zsdc1 115 +#define zsdc2 116 +#define z117 117 +#define fl_s 118 +#define fl_d 119 +#define fl_e 120 +#define fs_s 121 +#define fs_d 122 +#define fs_e 123 +#define fadd_s 124 +#define fadd_d 125 +#define fadd_e 126 +#define fsub_s 127 +#define fsub_d 128 +#define fsub_e 129 +#define fmul_s 130 +#define fmul_d 131 +#define fmul_e 132 +#define fdiv_s 133 +#define fdiv_d 134 +#define fdiv_e 135 +#define fsqrt_s 136 +#define fsqrt_d 137 +#define fsqrt_e 138 +#define fmov_s 139 +#define fmov_d 140 +#define fmov_e 141 +#define fabs_s 142 +#define fabs_d 143 +#define fabs_e 144 +#define fcvt_s_d 145 +#define fcvt_s_e 146 +#define fcvt_s_w 147 +#define fcvt_d_s 148 +#define fcvt_d_e 149 +#define fcvt_d_w 150 +#define fcvt_e_s 151 +#define fcvt_e_d 152 +#define fcvt_e_w 153 +#define fcvt_w_s 154 +#define fcvt_w_d 155 +#define fcvt_w_e 156 +#define fc_f_s 157 +#define fc_f_d 158 +#define fc_f_e 159 +#define fc_un_s 160 +#define fc_un_d 161 +#define fc_un_e 162 +#define fc_eq_s 163 +#define fc_eq_d 164 +#define fc_eq_e 165 +#define fc_ueq_s 166 +#define fc_ueq_d 167 +#define fc_ueq_e 168 +#define fc_olt_s 169 +#define fc_olt_d 170 +#define fc_olt_e 171 +#define fc_ult_s 172 +#define fc_ult_d 173 +#define fc_ult_e 174 +#define fc_ole_s 175 +#define fc_ole_d 176 +#define fc_ole_e 177 +#define fc_ule_s 178 +#define fc_ule_d 179 +#define fc_ule_e 180 +#define fc_sf_s 181 +#define fc_sf_d 182 +#define fc_sf_e 183 +#define fc_ngle_s 184 +#define fc_ngle_d 185 +#define fc_ngle_e 186 +#define fc_seq_s 187 +#define fc_seq_d 188 +#define fc_seq_e 189 +#define fc_ngl_s 190 +#define fc_ngl_d 191 +#define fc_ngl_e 192 +#define fc_lt_s 193 +#define fc_lt_d 194 +#define fc_lt_e 195 +#define fc_nge_s 196 +#define fc_nge_d 197 +#define fc_nge_e 198 +#define fc_le_s 199 +#define fc_le_d 200 +#define fc_le_e 201 +#define fc_ngt_s 202 +#define fc_ngt_d 203 +#define fc_ngt_e 204 +#define zlui 205 +#define zulw 206 +#define zulh 207 +#define zulhu 208 +#define zusw 209 +#define zush 210 +#define zaddi 211 +#define zaddiu 212 +#define zslti 213 +#define zsltiu 214 +#define zandi 215 +#define zori 216 +#define zxori 217 +#define z218 218 +#define znegu 219 +#define zbeqz 220 +#define zbnez 221 +#define fneg_s 222 +#define fneg_d 223 +#define fneg_e 224 +#define zcfc1 225 +#define zctc1 226 +#define zbal 227 +#define zbgezal 228 +#define zbltzal 229 +#define zmtc1_d 230 +#define zmfc1_d 231 +#define ztrunc_w_s 232 +#define ztrunc_w_d 233 +#define ztrunc_w_e 234 +#define zround_w_s 235 +#define zround_w_d 236 +#define zround_w_e 237 +#define zaddou 238 +#define zsubou 239 +#define ztruncu_w_s 240 +#define ztruncu_w_d 241 +#define ztruncu_w_e 242 +#define zroundu_w_s 243 +#define zroundu_w_d 244 +#define zroundu_w_e 245 +#define zcfc0 246 +#define zcfc2 247 +#define z248 248 +#define zctc0 249 +#define zctc2 250 +#define z251 251 +#define fli_s 252 +#define fli_d 253 +#define fli_e 254 +#define ztlt 255 +#define ztltu 256 +#define ztge 257 +#define ztgeu 258 +#define zteq 259 +#define ztne 260 +#define zll 261 +#define zsc 262 +#define zceil_w_s 263 +#define zceil_w_d 264 +#define zceil_w_e 265 +#define zceilu_w_s 266 +#define zceilu_w_d 267 +#define zceilu_w_e 268 +#define zfloor_w_s 269 +#define zfloor_w_d 270 +#define zfloor_w_e 271 +#define zflooru_w_s 272 +#define zflooru_w_d 273 +#define zflooru_w_e 274 +#define zbeql 275 +#define zbeqzl 276 +#define zbnel 277 +#define zbnezl 278 +#define zblel 279 +#define zbleul 280 +#define zblezl 281 +#define zbgtl 282 +#define zbgtul 283 +#define zbgtzl 284 +#define zbltl 285 +#define zbltul 286 +#define zbltzl 287 +#define zbltzall 288 +#define zbgel 289 +#define zbgeul 290 +#define zbgezl 291 +#define zbgezall 292 +#define zbc0fl 293 +#define zbc0tl 294 +#define zbc1fl 295 +#define zbc1tl 296 +#define zbc2fl 297 +#define zbc2tl 298 +#define z299 299 +#define z300 300 +#define zldl 301 +#define zldr 302 +#define zlld 303 +#define zlwu 304 +#define zsdl 305 +#define zsdr 306 +#define zscd 307 +#define zdaddi 308 +#define zdaddiu 309 +#define zdadd 310 +#define zdaddu 311 +#define zdsub 312 +#define zdsubu 313 +#define zdsll 314 +#define zdsrl 315 +#define zdsra 316 +#define zdsllv 317 +#define zdsrlv 318 +#define zdsrav 319 +#define zdmult 320 +#define zdmultu 321 +#define zddiv 322 +#define zddivu 323 +#define zlsc1 324 +#define zssc1 325 +#define zdmtc1 326 +#define zdmfc1 327 +#define zdmtc0 328 +#define zdmfc0 329 +#define zdmtc2 330 +#define zdmfc2 331 +#define zeret 334 +#define ztrunc_l_s 335 +#define zround_l_s 336 +#define zceil_l_s 337 +#define zfloor_l_s 338 +#define ztrunc_l_d 339 +#define zround_l_d 340 +#define zceil_l_d 341 +#define zfloor_l_d 342 +#define ztrunc_l_e 343 +#define zround_l_e 344 +#define zceil_l_e 345 +#define zfloor_l_e 346 +#define fcvt_l_s 347 +#define fcvt_l_d 348 +#define fcvt_l_e 349 +#define fcvt_l_w 350 +#define fcvt_s_l 351 +#define fcvt_d_l 352 +#define fcvt_e_l 353 +#define fcvt_w_l 354 +#define zcache 355 +#define zcia 356 +#ifdef _DLI_DLA +/* 11/28/89 for mips-3 */ +#define zdli 332 +#define zdla 333 +#endif +#define zuld 357 +#define zusd 358 +#define zdabs 359 +#define zdneg 360 +#define zdnegu 361 +#define zdmul 362 +#define zdmulo 363 +#define zdmulou 364 +#define zdrem 365 +#define zdremu 366 +#define zdrol 367 +#define zdror 368 +#define zdaddou 369 +#define zdsubou 370 +#define zulwu 371 +#ifdef _MAD_MSB +#define fmad_s 372 +#define fmad_d 373 +#define fmad_e 374 +#define fmsb_s 375 +#define fmsb_d 376 +#define fmsb_e 377 +#endif +#define zbad 378 +#define n_asmcodes 379 + +#define frob 0 +#define fra 1 +#define fri 2 +#define frrr 3 +#define frri 4 +#define frr 5 +#define fa 6 +#define fr 7 +#define frrl 8 +#define frl 9 +#define fl 10 +#define forrr 11 +#define fril 12 +#define fi 13 +#define foa 14 +#ifdef _MAD_MSB +#define frrrr 15 +#endif +#endif + +#define set_undefined 0 +#define set_reorder 1 +#define set_noreorder 2 +#define set_macro 3 +#define set_nomacro 4 +#define set_at 5 +#define set_noat 6 +#define set_move 7 +#define set_nomove 8 +#define set_bopt 9 +#define set_nobopt 10 + +#define o_undefined 0 +#define o_optimize 1 +#define o_pic 2 + +#define opt_none 0 +#define opt_int 1 +#define opt_float 2 +#define opt_string 3 + +#define call_addx 0 +#define call_addxc 1 +#define call_addxm 2 +#define call_addxp 3 +#define call_addxd 4 +#define call_subx 5 +#define call_subxc 6 +#define call_subxm 7 +#define call_subxp 8 +#define call_subxd 9 +#define call_mulx 10 +#define call_mulxc 11 +#define call_mulxm 12 +#define call_mulxp 13 +#define call_mulxd 14 +#define call_divx 15 +#define call_divxc 16 +#define call_divxm 17 +#define call_divxp 18 +#define call_divxd 19 +#define call_cmpxeq 20 +#define call_cmpxne 21 +#define call_cmpxle 22 +#define call_cmpxlt 23 +#define call_cvttx 24 +#define call_cvtxt 25 +#define call_cvtqx 26 +#define call_cvtuqx 27 +#define call_cvtxq 28 +#define call_cvtxqc 29 +#define call_cvtxqm 30 +#define call_cvtxqp 31 +#define call_cvtxqd 32 +#define call_cvtxqv 33 +#define call_cvtxqvc 34 +#define call_cvtxqvm 35 +#define call_cvtxqvp 36 +#define call_cvtxqvd 37 +#define call__last 38 /* e.g. array declarations */ + + + +#define binasm_record_length 32 +/* #define binasm_record_length 16 */ + +#ifndef _REG_SET_C +#define _REG_SET_C 1 +typedef unsigned regset[2]; +#endif _REG_SET_C + +#define _BINASM_RELOCTYPE_BITSIZE 5 +#define _BINASM_FILL0A_BITSIZE 2 +#define _BINASM_ASMTYPE_BITSIZE 9 +#define _BINASM_RECORD \ + asmsym symno; \ + asmint relocnum; \ + unsigned reloctype : _BINASM_RELOCTYPE_BITSIZE; \ + unsigned fill0a : _BINASM_FILL0A_BITSIZE; \ + unsigned asmtype : _BINASM_ASMTYPE_BITSIZE; + + +typedef union { + char data[binasm_record_length]; + struct { + _BINASM_RECORD + } common; + struct { + _BINASM_RECORD + unsigned lexlev; + } ent; + struct { + _BINASM_RECORD + asmint frameoffset; + asmreg framereg : 7; + asmreg pcreg : 7; + } frame; + struct { + _BINASM_RECORD + unsigned regmask; + asmint regoffset; + } mask; + /* 9/21/89 add ".gjaldef", ".gjallive", ".gjrlive" directive */ + struct { + _BINASM_RECORD + regset gjmask; + } gmask; + struct { + _BINASM_RECORD + int flag; + int data; + } edata; + struct { + _BINASM_RECORD + int eflag; + } eflag; + struct { + _BINASM_RECORD + int loopnum; + unsigned lflag; + } loopno; + struct { + _BINASM_RECORD + int majornumber; + int minornumber; + } verstamp; + struct { + _BINASM_RECORD + unsigned filenumber; + unsigned linenumber; + } loc; + struct { + _BINASM_RECORD + unsigned gpmask; + unsigned fpmask; + } livereg; + struct { + _BINASM_RECORD + long long length; + unsigned repeat; + } chars; + struct { + _BINASM_RECORD + long long expression; + unsigned repeat; + } value; + struct { + _BINASM_RECORD + unsigned option : 2; + unsigned fill04 : 30; + asmint opt_int_value; + } voption; + struct { + _BINASM_RECORD + unsigned option : 2; + unsigned fill04 : 30; + asmint opt_len; + } loption; + struct { + _BINASM_RECORD + asmreg basereg1 : 7; + asmreg basereg2 : 7; + } alias; + struct { + _BINASM_RECORD + int tagnumber; + int tagtype; + } mtag; + struct { + _BINASM_RECORD + int memtag1; + int memtag2; + } malias; + + struct { + _BINASM_RECORD + unsigned fill03 : 6; + asmopcode op : 9; /* 9 bits plus alignment in pascal */ + asmreg reg1 : 7; + asmreg reg2 : 7; + asmformat form : 4; + asmreg reg3 : 7; + } rinst; + struct { + _BINASM_RECORD + unsigned fill03 : 6; + asmopcode op : 9; /* 9 bits plus alignment in pascal */ + asmreg reg1 : 7; + asmreg reg2 : 7; + asmformat form : 4; + unsigned mem_tag : 14; + long long immediate; + } iinst; + struct { + _BINASM_RECORD + unsigned fill03 : 6; + asmopcode op : 9; /* 9 bits plus alignment in pascal */ + asmreg reg1 : 7; + asmreg reg2 : 7; + asmformat form : 4; + asmint imm; + } linst; + struct { + _BINASM_RECORD + long constant_value; + } constant; + struct { + _BINASM_RECORD + asmreg save_ra_reg; + } save_ra; +#ifdef _MAD_MSB + struct { + _BINASM_RECORD + unsigned fill03 : 6; + asmopcode op : 9; + asmreg reg1 : 7; + asmreg reg2 : 7; + asmformat form : 4; + asmreg reg3 : 7; + asmreg reg4 : 7; + } rrinst; +#endif +} binasm; + +#endif /* __LANGUAGE_C__ */ diff --git a/src/libmld/md_mldfunc.c b/src/libmld/md_mldfunc.c index d5ffa13..5a02186 100644 --- a/src/libmld/md_mldfunc.c +++ b/src/libmld/md_mldfunc.c @@ -27,11 +27,11 @@ __asm__(R""( D_10011AC0: # 0048A5E8 _md_st_str_iss # 0048A86C _md_st_setfd - .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\x00" + .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\0" D_10011AFC: # 0048A5E8 _md_st_str_iss - .ascii "routine: no current routine, see fdadd or setfd\n\x00\x00\x00\x00" + .ascii "routine: no current routine, see fdadd or setfd\n\0\0\0\0" diff --git a/src/libmld/md_stfd.c b/src/libmld/md_stfd.c index e314a4e..53058dc 100644 --- a/src/libmld/md_stfd.c +++ b/src/libmld/md_stfd.c @@ -27,17 +27,17 @@ __asm__(R""( # 0048A194 st_paux_iaux # 0048A260 st_str_ifd_iss # 0048A330 st_ppd_ifd_isym - .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\x00" + .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\0" D_10011A4C: # 00489CA0 st_symadd # 00489F38 st_ifd_pcfd # 0048A194 st_paux_iaux - .ascii "routine: no current routine, see fdadd or setfd\n\x00\x00\x00\x00" + .ascii "routine: no current routine, see fdadd or setfd\n\0\0\0\0" D_10011A80: # 00489CA0 st_symadd - .ascii "routine: cannot add to this entry it was readin from disk\n\x00\x00\x00\x00\x00\x00" + .ascii "routine: cannot add to this entry it was readin from disk\n\0\0\0\0\0\0" diff --git a/src/libmld/stfd.c b/src/libmld/stfd.c index 1bc521a..9d522ff 100644 --- a/src/libmld/stfd.c +++ b/src/libmld/stfd.c @@ -96,7 +96,7 @@ __asm__(R""( # 004898C0 st_paux_ifd_iaux # 004899B0 st_pline_ifd_iline # 00489AA0 st_str_iss - .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\x00" + .ascii "routine: you didn't initialize with st_cuinit or st_readst\n\0" D_1001198C: # 0048932C st_auxadd @@ -104,14 +104,14 @@ __asm__(R""( # 004895E4 st_lineadd # 0048970C st_stradd # 00489AA0 st_str_iss - .ascii "routine: no current routine, see fdadd or setfd\n\x00\x00\x00\x00" + .ascii "routine: no current routine, see fdadd or setfd\n\0\0\0\0" D_100119C0: # 0048932C st_auxadd # 00489458 st_pdadd # 004895E4 st_lineadd # 0048970C st_stradd - .ascii "routine: cannot add to this entry it was readin from disk\n\x00\x00" + .ascii "routine: cannot add to this entry it was readin from disk\n\0\0" D_100119FC: # 00488C8C st_fdadd diff --git a/src/libmld/stio.c b/src/libmld/stio.c index b57c694..dd52f99 100644 --- a/src/libmld/stio.c +++ b/src/libmld/stio.c @@ -63,14 +63,14 @@ glabel stmagic # 10011B44 glabel msg_werr # 0048E1D8 st_writest - .ascii "cannot write pfield\x00" + .ascii "cannot write pfield\0" .type msg_werr, @object .size msg_werr, .-msg_werr # 20 # 10011B58 glabel msg_err # 0048E1D8 st_writest - .ascii "cannot write cur table\n\x00" + .ascii "cannot write cur table\n\0" .type msg_err, @object .size msg_err, .-msg_err # 24 diff --git a/src/libp/get.c b/src/libp/get.c index a9b80e6..02a5ff6 100644 --- a/src/libp/get.c +++ b/src/libp/get.c @@ -1,7 +1,6 @@ -#ifdef __sgi - #include +#ifdef __sgi void get(FILE *file, int size) { int ch; int new_count; @@ -23,5 +22,16 @@ void get(FILE *file, int size) { } } } - +#else +void get(FILE *file, int size) { +#if 1 + fseek(file, size, SEEK_CUR); +#else + for (int i = 0; i < size; i++) { + if (getc(file) == EOF) { + break; + } + } +#endif +} #endif diff --git a/src/ugen/aio.c b/src/ugen/aio.c new file mode 100644 index 0000000..941dd89 --- /dev/null +++ b/src/ugen/aio.c @@ -0,0 +1,2842 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_10008520: + # 0040BC48 put_sym + .ascii "$$" + +RO_10008522: + # 0040BC48 put_sym + .ascii " " + +RO_10008922: + # 0040BC48 put_sym + .ascii "$$" + +RO_10008924: + # 0040BFB4 put_alpha + .ascii "\X" + +RO_10008926: + # 0040C210 write_instruction + .ascii "aio.p" + +RO_1000892B: + # 0040C210 write_instruction + .ascii ", " + +RO_1000892D: + # 0040C210 write_instruction + .ascii ", " + +RO_1000892F: + # 0040C210 write_instruction + .ascii "orrr type instruction " + +RO_1000897F: + # 0040C210 write_instruction + .ascii "aio.p " + +RO_100089CF: + # 0040C210 write_instruction + .ascii ", " + +RO_100089D1: + # 0040C210 write_instruction + .ascii ", " + +RO_100089D3: + # 0040C210 write_instruction + .ascii ", " + +RO_100089D5: + # 0040C210 write_instruction + .ascii ", " + +RO_100089D7: + # 0040C210 write_instruction + .ascii ", " + +RO_100089D9: + # 0040C210 write_instruction + .ascii ", " + +RO_100089DB: + # 0040C210 write_instruction + .ascii ", " + +RO_100089DD: + # 0040C210 write_instruction + .ascii ", " + +RO_100089DF: + # 0040C210 write_instruction + .ascii ", " + +RO_100089E1: + # 0040C210 write_instruction + .ascii ", " + +RO_100089E3: + # 0040C210 write_instruction + .ascii ", " + +RO_100089E5: + # 0040C210 write_instruction + .ascii ", " + +RO_100089E7: + # 0040C210 write_instruction + .ascii ", " + +RO_100089E9: + # 0040C210 write_instruction + .ascii ", " + +RO_100089EB: + # 0040C210 write_instruction + .asciz ", " + + .balign 4 +jtbl_100089F0: + # 0040C210 write_instruction + .gpword .L0040C330 + .gpword .L0040C4A8 + .gpword .L0040C580 + .gpword .L0040C8F8 + .gpword .L0040C9F0 + .gpword .L0040CAC4 + .gpword .L0040CB58 + .gpword .L0040CB8C + .gpword .L0040CBE8 + .gpword .L0040CCB4 + .gpword .L0040CD28 + .gpword .L0040CD44 + .gpword .L0040CE40 + .gpword .L0040CBC8 + +RO_10008A28: + # 0040CF50 print_source + .ascii " #" + +RO_10008A2A: + # 0040CF50 print_source + .ascii "file name is null " + +RO_10008A7A: + # 0040CF50 print_source + .ascii "aio.p " + +RO_10008ACA: + # 0040D350 write_directive + .ascii "aio.p" + +RO_10008ACF: + # 0040D350 write_directive + .ascii ", " + +RO_10008AD1: + # 0040D350 write_directive + .ascii ", " + +RO_10008AD3: + # 0040D350 write_directive + .ascii ", " + +RO_10008AD5: + # 0040D350 write_directive + .ascii ", " + +RO_10008AD7: + # 0040D350 write_directive + .asciz ", " + + .balign 4 +jtbl_10008ADC: + # 0040D350 write_directive + .gpword .L0040D848 + .gpword .L0040DD5C + .gpword .L0040D498 + .gpword .L0040D518 + .gpword .L0040D518 + .gpword .L0040D58C + .gpword .L0040D748 + .gpword .L0040D748 + .gpword .L0040DF58 + .gpword .L0040D4B8 + .gpword .L0040D534 + .gpword .L0040D4B8 + .gpword .L0040D58C + .gpword .L0040DB84 + .gpword .L0040D58C + .gpword .L0040DD5C + .gpword .L0040D7EC + .gpword .L0040DE58 + .gpword .L0040D498 + .gpword .L0040DE28 + .gpword .L0040D58C + .gpword .L0040DF38 + .gpword .L0040D848 + .gpword .L0040DF58 + .gpword .L0040DF58 + .gpword .L0040DB08 + .gpword .L0040DA4C + .gpword .L0040DB64 + .gpword .L0040DB64 + .gpword .L0040DF38 + .gpword .L0040DBA4 + .gpword .L0040DD5C + .gpword .L0040DF38 + .gpword .L0040DF38 + .gpword .L0040D848 + .gpword .L0040D934 + .gpword .L0040DAAC + .gpword .L0040DAAC + .gpword .L0040DF38 + .gpword .L0040DF38 + .gpword .L0040D9EC + .gpword .L0040D864 + .gpword .L0040DF38 + .gpword .L0040D748 + .gpword .L0040DB08 + .gpword .L0040DBF4 + .gpword .L0040DC78 + .gpword .L0040DC78 + .gpword .L0040DED8 + .gpword .L0040DF38 + .gpword .L0040DF38 + .gpword .L0040DD08 + .gpword .L0040DD08 + .gpword .L0040DD08 + .gpword .L0040DD08 + .gpword .L0040D498 + .gpword .L0040DF58 + .gpword .L0040D668 + .gpword .L0040DEB8 + .gpword .L0040DD98 + +.data +# 10010E60 +glabel reg_name_tab + # 0040C210 write_instruction + # 0040D350 write_directive + .ascii "$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $gp $sp $30 $31 $f0 $f1 $f2 $f3 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 $fcc0$fcc1$fcc2$fcc3$fcc4$fcc5$fcc6$fcc7$0 \0\0\0" + .type reg_name_tab, @object + .size reg_name_tab, .-reg_name_tab # 368 + +# 10010FD0 +glabel itype_tab + # 0040D350 write_directive + .ascii "label sym .globl .cpload .align .ascii .asciiz .byte .comm .lcomm .data .double .file .float .half .cprestore .gpword .cpadd .weakext .loopno .space .text .word code .end .sdata .rdata .ent .loc .bgnb .endb .asm0 .set .cpalias .rep .endrep .lab .vreg .mask .fmask .err .globabs .verstamp .frame .extended .extern .aent .option .noalias .alias .mtag .malias .comm .livereg .gjaldef .gjallive .gjrlive .shift_addr .restext .dword .prologue .edata .comm " + .type itype_tab, @object + .size itype_tab, .-itype_tab # 756 + +# 100112C4 +glabel iopt_tab + # 0040D350 write_directive + .ascii "undefined reorder noreorder macro nomacro at noat move nomove bopt nobopt volatile novolatile transform notransform reposition noreposition" + .type iopt_tab, @object + .size iopt_tab, .-iopt_tab # 204 + +# 10011390 +glabel ioption_type_tab + # 0040D350 write_directive + .ascii "undefined O pic exception_info " + .type ioption_type_tab, @object + .size ioption_type_tab, .-ioption_type_tab # 60 + +# 100113CC +glabel opcode_tab + # 0040C210 write_instruction + .ascii "abs add addu and b bc0f bc0t bc1f bc1t bc2f bc2t bad bad beq bge bgeu bgez bgt bgtu bgtz ble bleu blez blt bltu bltz bne break c0 c1 c2 bad div divu j jal la lb lbu lh lhu li lw jr lwc1 lwc2 bad mfhi mflo move jalr swc1 swc2 bad mthi mtlo mul mulo mulou mult multu neg nop nor or rem remu rfe rol ror sb seq sge sgeu sgt sgtu sh sle sleu sll slt sltu sne sra srl sub subu sw syscall xor not lwl lwr swl swr vcall mfc0 mfc1 mfc2 bad mtc0 mtc1 mtc2 bad tlbr tlbwi tlbwr tlbp ld sd z110 ldc1 ldc2 bad tlbp1 sdc1 sds2 bad l.s l.d l.e s.s s.d s.e add.s add.d add.e sub.s sub.d sub.e mul.s mul.d mul.e div.s div.d div.e sqrt.s sqrt.d sqrt.e mov.s mov.d mov.e abs.s abs.d abs.e cvt.s.d cvt.s.e cvt.s.w cvt.d.s cvt.d.e cvt.d.w cvt.e.s cvt.e.d cvt.e.w cvt.w.s cvt.w.d cvt.w.e c.f.s c.f.d c.f.e c.un.s c.un.d c.un.e c.eq.s c.eq.d c.eq.e c.ueq.s c.ueq.d c.ueq.e c.olt.s c.olt.d c.olt.e c.ult.s c.ult.d c.ult.e c.ole.s e.ole.d c.ole.e c.ule.s c.ule.d c.ule.e c.sf.s c.sf.d c.sf.e c.ngle.s c.ngle.d c.ngle.e c.seq.s c.seq.d c.seq.e c.ngl.s c.ngl.d c.ngl.e c.lt.s c.lt.d c.lt.e c.nge.s c.nge.d c.nge.e c.le.s c.le.d c.le.e c.ngt.s c.ngt.d c.ngt.d lui ulw ulh ulhu usw ush addi addiu slti sltiu andi ori xori z218 negu beqz bnez neg.s neg.d neg.e cfc1 ctc1 bal bgezal bltzal mtc1.d mfc1.d trunc.w.s trunc.w.d trunc.w.e round.w.s round.w.d round.w.e addou subou truncu.w.struncu.w.dtruncu.w.eroundu.w.sroundu.w.droundu.w.ecfc0 cfc2 bad ctc0 ctc2 bad li.s li.d li.e tlt tltu tge tgeu teq tne ll sc ceil.w.s ceil.w.d ceil.w.e ceilu.w.s ceilu.w.d ceilu.w.e floor.w.s floor.w.d floor.w.e flooru.w.sflooru.w.dflooru.w.ebeql beqzl bnel bnezl blel bleul blezl zbgtl bgtul bgtzl bltl bltul bltzl bltzall bgel bgeul bgezl bgezall bc0fl bc0tl bc1fl bc1tl bc2fl bc2tl bad bad ldl ldr lld lwu sdl sdr scd daddi daddiu dadd daddu dsub dsubu dsll dsrl dsra dsllv dsrlv dsrav dmult dmultu ddiv ddivu lsc1 ssc1 dmtc1 dmfc1 dmtc0 dmfc0 dmtc2 dmfc2 dli dla eret trunc.l.s zround.l.sceil.l.s floor.l.s trunc.l.d zround.l.dceil.l.d floor.l.d trunc.l.e round.l.e ceil.l.e floor.l.e cvt.l.s cvt.l.d cvt.l.e cvt.l.w cvt.s.l cvt.d.l cvt.e.l cvt.w.l cache cia uld usd dabs dneg dnegu dmul dmulo dmulou drem dremu drol dror daddou dsubou bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad bad " + .type opcode_tab, @object + .size opcode_tab, .-opcode_tab # 4300 + +# 10012498 +glabel hex_tab + # 0040BE64 hex8 + # 0040BF70 hex_2 + .ascii "0123456789ABCDEF" + .type hex_tab, @object + .size hex_tab, .-hex_tab # 16 + +# 100124A8 +glabel current_filen + # 0040CF50 print_source + .byte 0xff,0xff,0xff,0xfe + .type current_filen, @object + .size current_filen, .-current_filen # 4 + +# 100124AC +glabel second_dli + # 0040C210 write_instruction + .byte 0x00 + .type second_dli, @object + .size second_dli, .-second_dli # 1 + .space 3 + +D_100124B0: + # 0040BFB4 put_alpha + .byte 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x00,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel put_integer_ws + .ent put_integer_ws + # 0040C210 write_instruction + # 0040D350 write_directive +/* 0040BBD0 3C1C0FC1 */ .cpload $t9 +/* 0040BBD4 279C3E80 */ +/* 0040BBD8 0399E021 */ +/* 0040BBDC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0040BBE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040BBE4 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040BBE8 AFA40020 */ sw $a0, 0x20($sp) +/* 0040BBEC 10A00012 */ beqz $a1, .L0040BC38 +/* 0040BBF0 AFA50024 */ sw $a1, 0x24($sp) +/* 0040BBF4 18A00007 */ blez $a1, .L0040BC14 +/* 0040BBF8 24060001 */ li $a2, 1 +/* 0040BBFC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040BC00 8C840000 */ lw $a0, ($a0) +/* 0040BC04 2405002B */ li $a1, 43 +/* 0040BC08 0320F809 */ jalr $t9 +/* 0040BC0C 2407000A */ li $a3, 10 +/* 0040BC10 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BC14: +/* 0040BC14 8FB90020 */ lw $t9, 0x20($sp) +/* 0040BC18 8FA50024 */ lw $a1, 0x24($sp) +/* 0040BC1C 24060001 */ li $a2, 1 +/* 0040BC20 8F240000 */ lw $a0, ($t9) +/* 0040BC24 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040BC28 2407000A */ li $a3, 10 +/* 0040BC2C 0320F809 */ jalr $t9 +/* 0040BC30 00000000 */ nop +/* 0040BC34 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BC38: +/* 0040BC38 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040BC3C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0040BC40 03E00008 */ jr $ra +/* 0040BC44 00000000 */ nop + .type put_integer_ws, @function + .size put_integer_ws, .-put_integer_ws + .end put_integer_ws + +glabel put_sym + .ent put_sym + # 0040C210 write_instruction + # 0040D350 write_directive +/* 0040BC48 3C1C0FC1 */ .cpload $t9 +/* 0040BC4C 279C3E08 */ +/* 0040BC50 0399E021 */ +/* 0040BC54 27BDFBC0 */ addiu $sp, $sp, -0x440 +/* 0040BC58 AFB00014 */ sw $s0, 0x14($sp) +/* 0040BC5C 00A08025 */ move $s0, $a1 +/* 0040BC60 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040BC64 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040BC68 10A00079 */ beqz $a1, .L0040BE50 +/* 0040BC6C AFA40440 */ sw $a0, 0x440($sp) +/* 0040BC70 04A10013 */ bgez $a1, .L0040BCC0 +/* 0040BC74 24060001 */ li $a2, 1 +/* 0040BC78 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040BC7C 8C840000 */ lw $a0, ($a0) +/* 0040BC80 24050024 */ li $a1, 36 +/* 0040BC84 2407000A */ li $a3, 10 +/* 0040BC88 0320F809 */ jalr $t9 +/* 0040BC8C AFA40034 */ sw $a0, 0x34($sp) +/* 0040BC90 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BC94 8FA40034 */ lw $a0, 0x34($sp) +/* 0040BC98 06010002 */ bgez $s0, .L0040BCA4 +/* 0040BC9C 02002825 */ move $a1, $s0 +/* 0040BCA0 00102823 */ negu $a1, $s0 +.L0040BCA4: +/* 0040BCA4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040BCA8 24060001 */ li $a2, 1 +/* 0040BCAC 2407000A */ li $a3, 10 +/* 0040BCB0 0320F809 */ jalr $t9 +/* 0040BCB4 00000000 */ nop +/* 0040BCB8 10000065 */ b .L0040BE50 +/* 0040BCBC 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BCC0: +/* 0040BCC0 8F9986F4 */ lw $t9, %call16(st_fglobal_idn)($gp) +/* 0040BCC4 02002025 */ move $a0, $s0 +/* 0040BCC8 0320F809 */ jalr $t9 +/* 0040BCCC 00000000 */ nop +/* 0040BCD0 24010001 */ li $at, 1 +/* 0040BCD4 10410019 */ beq $v0, $at, .L0040BD3C +/* 0040BCD8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BCDC 8F8F89A4 */ lw $t7, %got(source_language)($gp) +/* 0040BCE0 24010003 */ li $at, 3 +/* 0040BCE4 8FB80440 */ lw $t8, 0x440($sp) +/* 0040BCE8 8DEF0000 */ lw $t7, ($t7) +/* 0040BCEC 24060002 */ li $a2, 2 +/* 0040BCF0 11E10012 */ beq $t7, $at, .L0040BD3C +/* 0040BCF4 00000000 */ nop +/* 0040BCF8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040BCFC 8F040000 */ lw $a0, ($t8) +/* 0040BD00 8F858038 */ lw $a1, %got(RO_10008922)($gp) +/* 0040BD04 24070002 */ li $a3, 2 +/* 0040BD08 AFA40034 */ sw $a0, 0x34($sp) +/* 0040BD0C 0320F809 */ jalr $t9 +/* 0040BD10 24A58922 */ addiu $a1, %lo(RO_10008922) # addiu $a1, $a1, -0x76de +/* 0040BD14 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BD18 8FA40034 */ lw $a0, 0x34($sp) +/* 0040BD1C 02002825 */ move $a1, $s0 +/* 0040BD20 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040BD24 24060001 */ li $a2, 1 +/* 0040BD28 2407000A */ li $a3, 10 +/* 0040BD2C 0320F809 */ jalr $t9 +/* 0040BD30 00000000 */ nop +/* 0040BD34 10000046 */ b .L0040BE50 +/* 0040BD38 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BD3C: +/* 0040BD3C 8F888038 */ lw $t0, %got(RO_10008522)($gp) +/* 0040BD40 27B90040 */ addiu $t9, $sp, 0x40 +/* 0040BD44 25088522 */ addiu $t0, %lo(RO_10008522) # addiu $t0, $t0, -0x7ade +/* 0040BD48 250B03FC */ addiu $t3, $t0, 0x3fc +.L0040BD4C: +/* 0040BD4C 890A0000 */ lwl $t2, ($t0) +/* 0040BD50 990A0003 */ lwr $t2, 3($t0) +/* 0040BD54 2508000C */ addiu $t0, $t0, 0xc +/* 0040BD58 2739000C */ addiu $t9, $t9, 0xc +/* 0040BD5C AB2AFFF4 */ swl $t2, -0xc($t9) +/* 0040BD60 BB2AFFF7 */ swr $t2, -9($t9) +/* 0040BD64 8909FFF8 */ lwl $t1, -8($t0) +/* 0040BD68 9909FFFB */ lwr $t1, -5($t0) +/* 0040BD6C AB29FFF8 */ swl $t1, -8($t9) +/* 0040BD70 BB29FFFB */ swr $t1, -5($t9) +/* 0040BD74 890AFFFC */ lwl $t2, -4($t0) +/* 0040BD78 990AFFFF */ lwr $t2, -1($t0) +/* 0040BD7C AB2AFFFC */ swl $t2, -4($t9) +/* 0040BD80 150BFFF2 */ bne $t0, $t3, .L0040BD4C +/* 0040BD84 BB2AFFFF */ swr $t2, -1($t9) +/* 0040BD88 890A0000 */ lwl $t2, ($t0) +/* 0040BD8C 990A0003 */ lwr $t2, 3($t0) +/* 0040BD90 02002025 */ move $a0, $s0 +/* 0040BD94 AB2A0000 */ swl $t2, ($t9) +/* 0040BD98 BB2A0003 */ swr $t2, 3($t9) +/* 0040BD9C 8F9986F0 */ lw $t9, %call16(st_str_idn)($gp) +/* 0040BDA0 0320F809 */ jalr $t9 +/* 0040BDA4 00000000 */ nop +/* 0040BDA8 2401FFFF */ li $at, -1 +/* 0040BDAC 14410014 */ bne $v0, $at, .L0040BE00 +/* 0040BDB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BDB4 8FAC0440 */ lw $t4, 0x440($sp) +/* 0040BDB8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040BDBC 8F858038 */ lw $a1, %got(RO_10008520)($gp) +/* 0040BDC0 8D840000 */ lw $a0, ($t4) +/* 0040BDC4 24060002 */ li $a2, 2 +/* 0040BDC8 24070002 */ li $a3, 2 +/* 0040BDCC 24A58520 */ addiu $a1, %lo(RO_10008520) # addiu $a1, $a1, -0x7ae0 +/* 0040BDD0 0320F809 */ jalr $t9 +/* 0040BDD4 AFA40034 */ sw $a0, 0x34($sp) +/* 0040BDD8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BDDC 8FA40034 */ lw $a0, 0x34($sp) +/* 0040BDE0 02002825 */ move $a1, $s0 +/* 0040BDE4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040BDE8 24060001 */ li $a2, 1 +/* 0040BDEC 2407000A */ li $a3, 10 +/* 0040BDF0 0320F809 */ jalr $t9 +/* 0040BDF4 00000000 */ nop +/* 0040BDF8 1000000D */ b .L0040BE30 +/* 0040BDFC 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BE00: +/* 0040BE00 904D0000 */ lbu $t5, ($v0) +/* 0040BE04 27A40040 */ addiu $a0, $sp, 0x40 +/* 0040BE08 24430001 */ addiu $v1, $v0, 1 +/* 0040BE0C 11A00008 */ beqz $t5, .L0040BE30 +/* 0040BE10 00000000 */ nop +/* 0040BE14 9065FFFF */ lbu $a1, -1($v1) +/* 0040BE18 A0850000 */ sb $a1, ($a0) +.L0040BE1C: +/* 0040BE1C 90650000 */ lbu $a1, ($v1) +/* 0040BE20 24840001 */ addiu $a0, $a0, 1 +/* 0040BE24 24630001 */ addiu $v1, $v1, 1 +/* 0040BE28 54A0FFFC */ bnel $a1, $zero, .L0040BE1C +/* 0040BE2C A0850000 */ sb $a1, ($a0) +.L0040BE30: +/* 0040BE30 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040BE34 8FAE0440 */ lw $t6, 0x440($sp) +/* 0040BE38 27A50040 */ addiu $a1, $sp, 0x40 +/* 0040BE3C 24060400 */ li $a2, 1024 +/* 0040BE40 00003825 */ move $a3, $zero +/* 0040BE44 0320F809 */ jalr $t9 +/* 0040BE48 8DC40000 */ lw $a0, ($t6) +/* 0040BE4C 8FBC0018 */ lw $gp, 0x18($sp) +.L0040BE50: +/* 0040BE50 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040BE54 8FB00014 */ lw $s0, 0x14($sp) +/* 0040BE58 27BD0440 */ addiu $sp, $sp, 0x440 +/* 0040BE5C 03E00008 */ jr $ra +/* 0040BE60 00000000 */ nop + .type put_sym, @function + .size put_sym, .-put_sym + .end put_sym + +glabel hex8 + .ent hex8 + # 0040BF10 put_hex10 +/* 0040BE64 3C1C0FC1 */ .cpload $t9 +/* 0040BE68 279C3BEC */ +/* 0040BE6C 0399E021 */ +/* 0040BE70 240A0030 */ li $t2, 48 +/* 0040BE74 240B0078 */ li $t3, 120 +/* 0040BE78 A0AA0000 */ sb $t2, ($a1) +/* 0040BE7C A0AB0001 */ sb $t3, 1($a1) +/* 0040BE80 2403001C */ li $v1, 28 +/* 0040BE84 24A60003 */ addiu $a2, $a1, 3 +/* 0040BE88 24070018 */ li $a3, 24 +/* 0040BE8C 24080014 */ li $t0, 20 +/* 0040BE90 24090010 */ li $t1, 16 +/* 0040BE94 240CFFF0 */ li $t4, -16 +/* 0040BE98 8F828854 */ lw $v0, %got(hex_tab)($gp) +.L0040BE9C: +/* 0040BE9C 00647807 */ srav $t7, $a0, $v1 +/* 0040BEA0 31F8000F */ andi $t8, $t7, 0xf +/* 0040BEA4 0058C821 */ addu $t9, $v0, $t8 +/* 0040BEA8 932D0000 */ lbu $t5, ($t9) +/* 0040BEAC 00E47807 */ srav $t7, $a0, $a3 +/* 0040BEB0 31F8000F */ andi $t8, $t7, 0xf +/* 0040BEB4 0058C821 */ addu $t9, $v0, $t8 +/* 0040BEB8 A0CDFFFF */ sb $t5, -1($a2) +/* 0040BEBC 932D0000 */ lbu $t5, ($t9) +/* 0040BEC0 01047807 */ srav $t7, $a0, $t0 +/* 0040BEC4 31F8000F */ andi $t8, $t7, 0xf +/* 0040BEC8 0058C821 */ addu $t9, $v0, $t8 +/* 0040BECC A0CD0000 */ sb $t5, ($a2) +/* 0040BED0 932D0000 */ lbu $t5, ($t9) +/* 0040BED4 01247807 */ srav $t7, $a0, $t1 +/* 0040BED8 31F8000F */ andi $t8, $t7, 0xf +/* 0040BEDC 0058C821 */ addu $t9, $v0, $t8 +/* 0040BEE0 A0CD0001 */ sb $t5, 1($a2) +/* 0040BEE4 932D0000 */ lbu $t5, ($t9) +/* 0040BEE8 2529FFF0 */ addiu $t1, $t1, -0x10 +/* 0040BEEC 2508FFF0 */ addiu $t0, $t0, -0x10 +/* 0040BEF0 24E7FFF0 */ addiu $a3, $a3, -0x10 +/* 0040BEF4 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 0040BEF8 24C60004 */ addiu $a2, $a2, 4 +/* 0040BEFC 1589FFE7 */ bne $t4, $t1, .L0040BE9C +/* 0040BF00 A0CDFFFE */ sb $t5, -2($a2) +/* 0040BF04 A0AA0000 */ sb $t2, ($a1) +/* 0040BF08 03E00008 */ jr $ra +/* 0040BF0C A0AB0001 */ sb $t3, 1($a1) + .type hex8, @function + .size hex8, .-hex8 + .end hex8 + +glabel put_hex10 + .ent put_hex10 + # 0040D350 write_directive +/* 0040BF10 3C1C0FC1 */ .cpload $t9 +/* 0040BF14 279C3B40 */ +/* 0040BF18 0399E021 */ +/* 0040BF1C 8F99818C */ lw $t9, %call16(hex8)($gp) +/* 0040BF20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0040BF24 AFA40030 */ sw $a0, 0x30($sp) +/* 0040BF28 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040BF2C 00A02025 */ move $a0, $a1 +/* 0040BF30 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040BF34 0320F809 */ jalr $t9 +/* 0040BF38 27A50026 */ addiu $a1, $sp, 0x26 +/* 0040BF3C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BF40 8FAE0030 */ lw $t6, 0x30($sp) +/* 0040BF44 27A50026 */ addiu $a1, $sp, 0x26 +/* 0040BF48 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040BF4C 2406000A */ li $a2, 10 +/* 0040BF50 2407000A */ li $a3, 10 +/* 0040BF54 0320F809 */ jalr $t9 +/* 0040BF58 8DC40000 */ lw $a0, ($t6) +/* 0040BF5C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040BF60 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040BF64 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0040BF68 03E00008 */ jr $ra +/* 0040BF6C 00000000 */ nop + .type put_hex10, @function + .size put_hex10, .-put_hex10 + .end put_hex10 + +glabel hex_2 + .ent hex_2 + # 0040BFB4 put_alpha +/* 0040BF70 3C1C0FC1 */ .cpload $t9 +/* 0040BF74 279C3AE0 */ +/* 0040BF78 0399E021 */ +/* 0040BF7C 8F838854 */ lw $v1, %got(hex_tab)($gp) +/* 0040BF80 00041102 */ srl $v0, $a0, 4 +/* 0040BF84 304200FF */ andi $v0, $v0, 0xff +/* 0040BF88 00627021 */ addu $t6, $v1, $v0 +/* 0040BF8C 91CF0000 */ lbu $t7, ($t6) +/* 0040BF90 0002C900 */ sll $t9, $v0, 4 +/* 0040BF94 AFA40000 */ sw $a0, ($sp) +/* 0040BF98 00194023 */ negu $t0, $t9 +/* 0040BF9C 0064C021 */ addu $t8, $v1, $a0 +/* 0040BFA0 03084821 */ addu $t1, $t8, $t0 +/* 0040BFA4 A0AF0000 */ sb $t7, ($a1) +/* 0040BFA8 912A0000 */ lbu $t2, ($t1) +/* 0040BFAC 03E00008 */ jr $ra +/* 0040BFB0 A0AA0001 */ sb $t2, 1($a1) + .type hex_2, @function + .size hex_2, .-hex_2 + .end hex_2 + +glabel put_alpha + .ent put_alpha + # 0040C0B4 put_string + # 0040C210 write_instruction +/* 0040BFB4 3C1C0FC1 */ .cpload $t9 +/* 0040BFB8 279C3A9C */ +/* 0040BFBC 0399E021 */ +/* 0040BFC0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040BFC4 AFB00014 */ sw $s0, 0x14($sp) +/* 0040BFC8 30B000FF */ andi $s0, $a1, 0xff +/* 0040BFCC 260EFFE0 */ addiu $t6, $s0, -0x20 +/* 0040BFD0 2DCF0060 */ sltiu $t7, $t6, 0x60 +/* 0040BFD4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040BFD8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040BFDC AFA40028 */ sw $a0, 0x28($sp) +/* 0040BFE0 11E00009 */ beqz $t7, .L0040C008 +/* 0040BFE4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0040BFE8 8F888038 */ lw $t0, %got(D_100124B0)($gp) +/* 0040BFEC 000EC143 */ sra $t8, $t6, 5 +/* 0040BFF0 0018C880 */ sll $t9, $t8, 2 +/* 0040BFF4 250824B0 */ addiu $t0, %lo(D_100124B0) # addiu $t0, $t0, 0x24b0 +/* 0040BFF8 01194821 */ addu $t1, $t0, $t9 +/* 0040BFFC 8D2A0000 */ lw $t2, ($t1) +/* 0040C000 01CA5804 */ sllv $t3, $t2, $t6 +/* 0040C004 296F0000 */ slti $t7, $t3, 0 +.L0040C008: +/* 0040C008 11E00005 */ beqz $t7, .L0040C020 +/* 0040C00C 24010022 */ li $at, 34 +/* 0040C010 12010003 */ beq $s0, $at, .L0040C020 +/* 0040C014 2401005C */ li $at, 92 +/* 0040C018 1601001A */ bne $s0, $at, .L0040C084 +/* 0040C01C 8FB80028 */ lw $t8, 0x28($sp) +.L0040C020: +/* 0040C020 8F998194 */ lw $t9, %call16(hex_2)($gp) +/* 0040C024 02002025 */ move $a0, $s0 +/* 0040C028 27A50026 */ addiu $a1, $sp, 0x26 +/* 0040C02C 0320F809 */ jalr $t9 +/* 0040C030 00000000 */ nop +/* 0040C034 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040C038 8FAD0028 */ lw $t5, 0x28($sp) +/* 0040C03C 24060002 */ li $a2, 2 +/* 0040C040 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C044 8F858038 */ lw $a1, %got(RO_10008924)($gp) +/* 0040C048 8DA40000 */ lw $a0, ($t5) +/* 0040C04C 24070002 */ li $a3, 2 +/* 0040C050 24A58924 */ addiu $a1, %lo(RO_10008924) # addiu $a1, $a1, -0x76dc +/* 0040C054 0320F809 */ jalr $t9 +/* 0040C058 AFA40020 */ sw $a0, 0x20($sp) +/* 0040C05C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040C060 8FA40020 */ lw $a0, 0x20($sp) +/* 0040C064 27A50026 */ addiu $a1, $sp, 0x26 +/* 0040C068 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C06C 24060002 */ li $a2, 2 +/* 0040C070 24070002 */ li $a3, 2 +/* 0040C074 0320F809 */ jalr $t9 +/* 0040C078 00000000 */ nop +/* 0040C07C 10000008 */ b .L0040C0A0 +/* 0040C080 8FBC0018 */ lw $gp, 0x18($sp) +.L0040C084: +/* 0040C084 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C088 8F040000 */ lw $a0, ($t8) +/* 0040C08C 02002825 */ move $a1, $s0 +/* 0040C090 24060001 */ li $a2, 1 +/* 0040C094 0320F809 */ jalr $t9 +/* 0040C098 2407000A */ li $a3, 10 +/* 0040C09C 8FBC0018 */ lw $gp, 0x18($sp) +.L0040C0A0: +/* 0040C0A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040C0A4 8FB00014 */ lw $s0, 0x14($sp) +/* 0040C0A8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0040C0AC 03E00008 */ jr $ra +/* 0040C0B0 00000000 */ nop + .type put_alpha, @function + .size put_alpha, .-put_alpha + .end put_alpha + +glabel put_string + .ent put_string + # 0040D350 write_directive +/* 0040C0B4 3C1C0FC1 */ .cpload $t9 +/* 0040C0B8 279C399C */ +/* 0040C0BC 0399E021 */ +/* 0040C0C0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0040C0C4 AFA50044 */ sw $a1, 0x44($sp) +/* 0040C0C8 93AE0047 */ lbu $t6, 0x47($sp) +/* 0040C0CC AFB5002C */ sw $s5, 0x2c($sp) +/* 0040C0D0 0080A825 */ move $s5, $a0 +/* 0040C0D4 AFBF003C */ sw $ra, 0x3c($sp) +/* 0040C0D8 AFBC0038 */ sw $gp, 0x38($sp) +/* 0040C0DC AFB70034 */ sw $s7, 0x34($sp) +/* 0040C0E0 AFB60030 */ sw $s6, 0x30($sp) +/* 0040C0E4 AFB40028 */ sw $s4, 0x28($sp) +/* 0040C0E8 AFB30024 */ sw $s3, 0x24($sp) +/* 0040C0EC AFB20020 */ sw $s2, 0x20($sp) +/* 0040C0F0 AFB1001C */ sw $s1, 0x1c($sp) +/* 0040C0F4 11C00008 */ beqz $t6, .L0040C118 +/* 0040C0F8 AFB00018 */ sw $s0, 0x18($sp) +/* 0040C0FC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C100 8C840000 */ lw $a0, ($a0) +/* 0040C104 24050022 */ li $a1, 34 +/* 0040C108 24060001 */ li $a2, 1 +/* 0040C10C 0320F809 */ jalr $t9 +/* 0040C110 2407000A */ li $a3, 10 +/* 0040C114 8FBC0038 */ lw $gp, 0x38($sp) +.L0040C118: +/* 0040C118 8F948B74 */ lw $s4, %got(in_file)($gp) +/* 0040C11C 24160001 */ li $s6, 1 +/* 0040C120 24130011 */ li $s3, 17 +/* 0040C124 8E8F0000 */ lw $t7, ($s4) +/* 0040C128 8DF80004 */ lw $t8, 4($t7) +/* 0040C12C 9702000A */ lhu $v0, 0xa($t8) +/* 0040C130 2443FFFF */ addiu $v1, $v0, -1 +/* 0040C134 04610002 */ bgez $v1, .L0040C140 +/* 0040C138 00600821 */ move $at, $v1 +/* 0040C13C 2461000F */ addiu $at, $v1, 0xf +.L0040C140: +/* 0040C140 00011903 */ sra $v1, $at, 4 +/* 0040C144 24630001 */ addiu $v1, $v1, 1 +/* 0040C148 1060001C */ beqz $v1, .L0040C1BC +/* 0040C14C 24770001 */ addiu $s7, $v1, 1 +/* 0040C150 00409025 */ move $s2, $v0 +.L0040C154: +/* 0040C154 8F9987F8 */ lw $t9, %call16(get)($gp) +/* 0040C158 8E840000 */ lw $a0, ($s4) +/* 0040C15C 24050010 */ li $a1, 16 +/* 0040C160 0320F809 */ jalr $t9 +/* 0040C164 00000000 */ nop +/* 0040C168 00168900 */ sll $s1, $s6, 4 +/* 0040C16C 8FBC0038 */ lw $gp, 0x38($sp) +/* 0040C170 2631FFF0 */ addiu $s1, $s1, -0x10 +/* 0040C174 24100001 */ li $s0, 1 +.L0040C178: +/* 0040C178 0230C821 */ addu $t9, $s1, $s0 +/* 0040C17C 0259082A */ slt $at, $s2, $t9 +/* 0040C180 5420000F */ bnel $at, $zero, .L0040C1C0 +/* 0040C184 93AB0047 */ lbu $t3, 0x47($sp) +/* 0040C188 8E880000 */ lw $t0, ($s4) +/* 0040C18C 8F998198 */ lw $t9, %call16(put_alpha)($gp) +/* 0040C190 02A02025 */ move $a0, $s5 +/* 0040C194 8D090004 */ lw $t1, 4($t0) +/* 0040C198 01305021 */ addu $t2, $t1, $s0 +/* 0040C19C 0320F809 */ jalr $t9 +/* 0040C1A0 9145FFFF */ lbu $a1, -1($t2) +/* 0040C1A4 26100001 */ addiu $s0, $s0, 1 +/* 0040C1A8 1613FFF3 */ bne $s0, $s3, .L0040C178 +/* 0040C1AC 8FBC0038 */ lw $gp, 0x38($sp) +/* 0040C1B0 26D60001 */ addiu $s6, $s6, 1 +/* 0040C1B4 16D7FFE7 */ bne $s6, $s7, .L0040C154 +/* 0040C1B8 00000000 */ nop +.L0040C1BC: +/* 0040C1BC 93AB0047 */ lbu $t3, 0x47($sp) +.L0040C1C0: +/* 0040C1C0 24050022 */ li $a1, 34 +/* 0040C1C4 51600008 */ beql $t3, $zero, .L0040C1E8 +/* 0040C1C8 8FBF003C */ lw $ra, 0x3c($sp) +/* 0040C1CC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C1D0 8EA40000 */ lw $a0, ($s5) +/* 0040C1D4 24060001 */ li $a2, 1 +/* 0040C1D8 0320F809 */ jalr $t9 +/* 0040C1DC 2407000A */ li $a3, 10 +/* 0040C1E0 8FBC0038 */ lw $gp, 0x38($sp) +/* 0040C1E4 8FBF003C */ lw $ra, 0x3c($sp) +.L0040C1E8: +/* 0040C1E8 8FB00018 */ lw $s0, 0x18($sp) +/* 0040C1EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0040C1F0 8FB20020 */ lw $s2, 0x20($sp) +/* 0040C1F4 8FB30024 */ lw $s3, 0x24($sp) +/* 0040C1F8 8FB40028 */ lw $s4, 0x28($sp) +/* 0040C1FC 8FB5002C */ lw $s5, 0x2c($sp) +/* 0040C200 8FB60030 */ lw $s6, 0x30($sp) +/* 0040C204 8FB70034 */ lw $s7, 0x34($sp) +/* 0040C208 03E00008 */ jr $ra +/* 0040C20C 27BD0040 */ addiu $sp, $sp, 0x40 + .type put_string, @function + .size put_string, .-put_string + .end put_string + +glabel write_instruction + .ent write_instruction + # 0040DFB0 output_inst_ascii +/* 0040C210 3C1C0FC1 */ .cpload $t9 +/* 0040C214 279C3840 */ +/* 0040C218 0399E021 */ +/* 0040C21C 27BDFF08 */ addiu $sp, $sp, -0xf8 +/* 0040C220 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C224 AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0040C228 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 0040C22C AFBC00CC */ sw $gp, 0xcc($sp) +/* 0040C230 AFB700C8 */ sw $s7, 0xc8($sp) +/* 0040C234 AFB600C4 */ sw $s6, 0xc4($sp) +/* 0040C238 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0040C23C AFB400BC */ sw $s4, 0xbc($sp) +/* 0040C240 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0040C244 AFB200B4 */ sw $s2, 0xb4($sp) +/* 0040C248 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0040C24C AFB000AC */ sw $s0, 0xac($sp) +/* 0040C250 8C960000 */ lw $s6, ($a0) +/* 0040C254 0080F025 */ move $fp, $a0 +/* 0040C258 24050009 */ li $a1, 9 +/* 0040C25C 24060001 */ li $a2, 1 +/* 0040C260 2407000A */ li $a3, 10 +/* 0040C264 0320F809 */ jalr $t9 +/* 0040C268 02C02025 */ move $a0, $s6 +/* 0040C26C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C270 24110164 */ li $s1, 356 +/* 0040C274 2401014C */ li $at, 332 +/* 0040C278 8F958B74 */ lw $s5, %got(in_file)($gp) +/* 0040C27C 8EB40000 */ lw $s4, ($s5) +/* 0040C280 8E830004 */ lw $v1, 4($s4) +/* 0040C284 94620006 */ lhu $v0, 6($v1) +/* 0040C288 00021580 */ sll $v0, $v0, 0x16 +/* 0040C28C 000215C2 */ srl $v0, $v0, 0x17 +/* 0040C290 52220018 */ beql $s1, $v0, .L0040C2F4 +/* 0040C294 8C620008 */ lw $v0, 8($v1) +/* 0040C298 10410015 */ beq $v0, $at, .L0040C2F0 +/* 0040C29C 00027080 */ sll $t6, $v0, 2 +/* 0040C2A0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C2A4 8FD60000 */ lw $s6, ($fp) +/* 0040C2A8 8F8F8850 */ lw $t7, %got(opcode_tab)($gp) +/* 0040C2AC 01C27021 */ addu $t6, $t6, $v0 +/* 0040C2B0 000E7040 */ sll $t6, $t6, 1 +/* 0040C2B4 2406000A */ li $a2, 10 +/* 0040C2B8 00003825 */ move $a3, $zero +/* 0040C2BC 02C02025 */ move $a0, $s6 +/* 0040C2C0 0320F809 */ jalr $t9 +/* 0040C2C4 01CF2821 */ addu $a1, $t6, $t7 +/* 0040C2C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C2CC 02C02025 */ move $a0, $s6 +/* 0040C2D0 24050009 */ li $a1, 9 +/* 0040C2D4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C2D8 24060001 */ li $a2, 1 +/* 0040C2DC 2407000A */ li $a3, 10 +/* 0040C2E0 0320F809 */ jalr $t9 +/* 0040C2E4 00000000 */ nop +/* 0040C2E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C2EC 8E830004 */ lw $v1, 4($s4) +.L0040C2F0: +/* 0040C2F0 8C620008 */ lw $v0, 8($v1) +.L0040C2F4: +/* 0040C2F4 00608025 */ move $s0, $v1 +/* 0040C2F8 24040001 */ li $a0, 1 +/* 0040C2FC 00021380 */ sll $v0, $v0, 0xe +/* 0040C300 00021702 */ srl $v0, $v0, 0x1c +/* 0040C304 304200FF */ andi $v0, $v0, 0xff +/* 0040C308 2C41000E */ sltiu $at, $v0, 0xe +/* 0040C30C 102002F9 */ beqz $at, .L0040CEF4 +/* 0040C310 24050320 */ li $a1, 800 +/* 0040C314 8F818038 */ lw $at, %got(jtbl_100089F0)($gp) +/* 0040C318 0002C080 */ sll $t8, $v0, 2 +/* 0040C31C 00380821 */ addu $at, $at, $t8 +/* 0040C320 8C3889F0 */ lw $t8, %lo(jtbl_100089F0)($at) +/* 0040C324 031CC021 */ addu $t8, $t8, $gp +/* 0040C328 03000008 */ jr $t8 +/* 0040C32C 00000000 */ nop +.L0040C330: +/* 0040C330 92190008 */ lbu $t9, 8($s0) +/* 0040C334 24130005 */ li $s3, 5 +/* 0040C338 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C33C 00194600 */ sll $t0, $t9, 0x18 +/* 0040C340 00084E42 */ srl $t1, $t0, 0x19 +/* 0040C344 01330019 */ multu $t1, $s3 +/* 0040C348 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C34C 02603025 */ move $a2, $s3 +/* 0040C350 8FC40000 */ lw $a0, ($fp) +/* 0040C354 00003825 */ move $a3, $zero +/* 0040C358 00005012 */ mflo $t2 +/* 0040C35C 024A2821 */ addu $a1, $s2, $t2 +/* 0040C360 0320F809 */ jalr $t9 +/* 0040C364 00000000 */ nop +/* 0040C368 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C36C 8FC40000 */ lw $a0, ($fp) +/* 0040C370 24060002 */ li $a2, 2 +/* 0040C374 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C378 8F858038 */ lw $a1, %got(RO_100089EB)($gp) +/* 0040C37C 24070002 */ li $a3, 2 +/* 0040C380 0320F809 */ jalr $t9 +/* 0040C384 24A589EB */ addiu $a1, %lo(RO_100089EB) # addiu $a1, $a1, -0x7615 +/* 0040C388 8E050000 */ lw $a1, ($s0) +/* 0040C38C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C390 10A0000D */ beqz $a1, .L0040C3C8 +/* 0040C394 00000000 */ nop +/* 0040C398 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040C39C 03C02025 */ move $a0, $fp +/* 0040C3A0 0320F809 */ jalr $t9 +/* 0040C3A4 00000000 */ nop +/* 0040C3A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C3AC 03C02025 */ move $a0, $fp +/* 0040C3B0 8E05000C */ lw $a1, 0xc($s0) +/* 0040C3B4 8F998184 */ lw $t9, %call16(put_integer_ws)($gp) +/* 0040C3B8 0320F809 */ jalr $t9 +/* 0040C3BC 00000000 */ nop +/* 0040C3C0 10000008 */ b .L0040C3E4 +/* 0040C3C4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C3C8: +/* 0040C3C8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040C3CC 8FC40000 */ lw $a0, ($fp) +/* 0040C3D0 8E05000C */ lw $a1, 0xc($s0) +/* 0040C3D4 24060001 */ li $a2, 1 +/* 0040C3D8 0320F809 */ jalr $t9 +/* 0040C3DC 2407000A */ li $a3, 10 +/* 0040C3E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C3E4: +/* 0040C3E4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C3E8 8FC40000 */ lw $a0, ($fp) +/* 0040C3EC 24050028 */ li $a1, 40 +/* 0040C3F0 24060001 */ li $a2, 1 +/* 0040C3F4 0320F809 */ jalr $t9 +/* 0040C3F8 2407000A */ li $a3, 10 +/* 0040C3FC 960B0008 */ lhu $t3, 8($s0) +/* 0040C400 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C404 8FC40000 */ lw $a0, ($fp) +/* 0040C408 000B65C0 */ sll $t4, $t3, 0x17 +/* 0040C40C 000C6E42 */ srl $t5, $t4, 0x19 +/* 0040C410 01B30019 */ multu $t5, $s3 +/* 0040C414 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C418 02603025 */ move $a2, $s3 +/* 0040C41C 00003825 */ move $a3, $zero +/* 0040C420 00007012 */ mflo $t6 +/* 0040C424 024E2821 */ addu $a1, $s2, $t6 +/* 0040C428 0320F809 */ jalr $t9 +/* 0040C42C 00000000 */ nop +/* 0040C430 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C434 8FC40000 */ lw $a0, ($fp) +/* 0040C438 24050029 */ li $a1, 41 +/* 0040C43C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C440 24060001 */ li $a2, 1 +/* 0040C444 2407000A */ li $a3, 10 +/* 0040C448 0320F809 */ jalr $t9 +/* 0040C44C 00000000 */ nop +/* 0040C450 960F000A */ lhu $t7, 0xa($s0) +/* 0040C454 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C458 31F83FFF */ andi $t8, $t7, 0x3fff +/* 0040C45C 130002AB */ beqz $t8, .L0040CF0C +/* 0040C460 00000000 */ nop +/* 0040C464 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C468 8F858038 */ lw $a1, %got(RO_100089E9)($gp) +/* 0040C46C 8FC40000 */ lw $a0, ($fp) +/* 0040C470 24060002 */ li $a2, 2 +/* 0040C474 24070002 */ li $a3, 2 +/* 0040C478 0320F809 */ jalr $t9 +/* 0040C47C 24A589E9 */ addiu $a1, %lo(RO_100089E9) # addiu $a1, $a1, -0x7617 +/* 0040C480 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C484 9605000A */ lhu $a1, 0xa($s0) +/* 0040C488 8FC40000 */ lw $a0, ($fp) +/* 0040C48C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040C490 24060001 */ li $a2, 1 +/* 0040C494 2407000A */ li $a3, 10 +/* 0040C498 0320F809 */ jalr $t9 +/* 0040C49C 30A53FFF */ andi $a1, $a1, 0x3fff +/* 0040C4A0 1000029A */ b .L0040CF0C +/* 0040C4A4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C4A8: +/* 0040C4A8 92190008 */ lbu $t9, 8($s0) +/* 0040C4AC 24060005 */ li $a2, 5 +/* 0040C4B0 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C4B4 00194600 */ sll $t0, $t9, 0x18 +/* 0040C4B8 00084E42 */ srl $t1, $t0, 0x19 +/* 0040C4BC 01260019 */ multu $t1, $a2 +/* 0040C4C0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C4C4 8FC40000 */ lw $a0, ($fp) +/* 0040C4C8 00003825 */ move $a3, $zero +/* 0040C4CC 00005012 */ mflo $t2 +/* 0040C4D0 024A2821 */ addu $a1, $s2, $t2 +/* 0040C4D4 0320F809 */ jalr $t9 +/* 0040C4D8 00000000 */ nop +/* 0040C4DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C4E0 8FC40000 */ lw $a0, ($fp) +/* 0040C4E4 24060002 */ li $a2, 2 +/* 0040C4E8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C4EC 8F858038 */ lw $a1, %got(RO_100089E7)($gp) +/* 0040C4F0 24070002 */ li $a3, 2 +/* 0040C4F4 0320F809 */ jalr $t9 +/* 0040C4F8 24A589E7 */ addiu $a1, %lo(RO_100089E7) # addiu $a1, $a1, -0x7619 +/* 0040C4FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C500 03C02025 */ move $a0, $fp +/* 0040C504 8E050000 */ lw $a1, ($s0) +/* 0040C508 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040C50C 0320F809 */ jalr $t9 +/* 0040C510 00000000 */ nop +/* 0040C514 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C518 03C02025 */ move $a0, $fp +/* 0040C51C 8E05000C */ lw $a1, 0xc($s0) +/* 0040C520 8F998184 */ lw $t9, %call16(put_integer_ws)($gp) +/* 0040C524 0320F809 */ jalr $t9 +/* 0040C528 00000000 */ nop +/* 0040C52C 960B000A */ lhu $t3, 0xa($s0) +/* 0040C530 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C534 24060002 */ li $a2, 2 +/* 0040C538 316C3FFF */ andi $t4, $t3, 0x3fff +/* 0040C53C 11800273 */ beqz $t4, .L0040CF0C +/* 0040C540 24070002 */ li $a3, 2 +/* 0040C544 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C548 8F858038 */ lw $a1, %got(RO_100089E5)($gp) +/* 0040C54C 8FC40000 */ lw $a0, ($fp) +/* 0040C550 0320F809 */ jalr $t9 +/* 0040C554 24A589E5 */ addiu $a1, %lo(RO_100089E5) # addiu $a1, $a1, -0x761b +/* 0040C558 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C55C 9605000A */ lhu $a1, 0xa($s0) +/* 0040C560 8FC40000 */ lw $a0, ($fp) +/* 0040C564 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040C568 24060001 */ li $a2, 1 +/* 0040C56C 2407000A */ li $a3, 10 +/* 0040C570 0320F809 */ jalr $t9 +/* 0040C574 30A53FFF */ andi $a1, $a1, 0x3fff +/* 0040C578 10000264 */ b .L0040CF0C +/* 0040C57C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C580: +/* 0040C580 96020006 */ lhu $v0, 6($s0) +/* 0040C584 2401003E */ li $at, 62 +/* 0040C588 00021580 */ sll $v0, $v0, 0x16 +/* 0040C58C 000215C2 */ srl $v0, $v0, 0x17 +/* 0040C590 1041025E */ beq $v0, $at, .L0040CF0C +/* 0040C594 240100FC */ li $at, 252 +/* 0040C598 10410003 */ beq $v0, $at, .L0040C5A8 +/* 0040C59C 240100FD */ li $at, 253 +/* 0040C5A0 14410041 */ bne $v0, $at, .L0040C6A8 +/* 0040C5A4 00000000 */ nop +.L0040C5A8: +/* 0040C5A8 920D0008 */ lbu $t5, 8($s0) +/* 0040C5AC 24060005 */ li $a2, 5 +/* 0040C5B0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C5B4 000D7600 */ sll $t6, $t5, 0x18 +/* 0040C5B8 000E7E42 */ srl $t7, $t6, 0x19 +/* 0040C5BC 01E60019 */ multu $t7, $a2 +/* 0040C5C0 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C5C4 8FC40000 */ lw $a0, ($fp) +/* 0040C5C8 00003825 */ move $a3, $zero +/* 0040C5CC 0000C012 */ mflo $t8 +/* 0040C5D0 02582821 */ addu $a1, $s2, $t8 +/* 0040C5D4 0320F809 */ jalr $t9 +/* 0040C5D8 00000000 */ nop +/* 0040C5DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C5E0 8FC40000 */ lw $a0, ($fp) +/* 0040C5E4 24060002 */ li $a2, 2 +/* 0040C5E8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C5EC 8F858038 */ lw $a1, %got(RO_100089E3)($gp) +/* 0040C5F0 24070002 */ li $a3, 2 +/* 0040C5F4 0320F809 */ jalr $t9 +/* 0040C5F8 24A589E3 */ addiu $a1, %lo(RO_100089E3) # addiu $a1, $a1, -0x761d +/* 0040C5FC 8E990004 */ lw $t9, 4($s4) +/* 0040C600 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C604 24170001 */ li $s7, 1 +/* 0040C608 8F33000C */ lw $s3, 0xc($t9) +/* 0040C60C 24120011 */ li $s2, 17 +/* 0040C610 2662FFFF */ addiu $v0, $s3, -1 +/* 0040C614 04410002 */ bgez $v0, .L0040C620 +/* 0040C618 00400821 */ move $at, $v0 +/* 0040C61C 2441000F */ addiu $at, $v0, 0xf +.L0040C620: +/* 0040C620 00011103 */ sra $v0, $at, 4 +/* 0040C624 24420001 */ addiu $v0, $v0, 1 +/* 0040C628 10400238 */ beqz $v0, .L0040CF0C +/* 0040C62C 24480001 */ addiu $t0, $v0, 1 +/* 0040C630 AFA800DC */ sw $t0, 0xdc($sp) +.L0040C634: +/* 0040C634 8F9987F8 */ lw $t9, %call16(get)($gp) +/* 0040C638 8EA40000 */ lw $a0, ($s5) +/* 0040C63C 24050010 */ li $a1, 16 +/* 0040C640 0320F809 */ jalr $t9 +/* 0040C644 00000000 */ nop +/* 0040C648 00178900 */ sll $s1, $s7, 4 +/* 0040C64C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C650 2631FFF0 */ addiu $s1, $s1, -0x10 +/* 0040C654 24100001 */ li $s0, 1 +.L0040C658: +/* 0040C658 02304821 */ addu $t1, $s1, $s0 +/* 0040C65C 0269082A */ slt $at, $s3, $t1 +/* 0040C660 1420022A */ bnez $at, .L0040CF0C +/* 0040C664 00000000 */ nop +/* 0040C668 8EAA0000 */ lw $t2, ($s5) +/* 0040C66C 8F998198 */ lw $t9, %call16(put_alpha)($gp) +/* 0040C670 03C02025 */ move $a0, $fp +/* 0040C674 8D4B0004 */ lw $t3, 4($t2) +/* 0040C678 01706021 */ addu $t4, $t3, $s0 +/* 0040C67C 0320F809 */ jalr $t9 +/* 0040C680 9185FFFF */ lbu $a1, -1($t4) +/* 0040C684 26100001 */ addiu $s0, $s0, 1 +/* 0040C688 1612FFF3 */ bne $s0, $s2, .L0040C658 +/* 0040C68C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C690 8FAD00DC */ lw $t5, 0xdc($sp) +/* 0040C694 26F70001 */ addiu $s7, $s7, 1 +/* 0040C698 16EDFFE6 */ bne $s7, $t5, .L0040C634 +/* 0040C69C 00000000 */ nop +/* 0040C6A0 1000021A */ b .L0040CF0C +/* 0040C6A4 00000000 */ nop +.L0040C6A8: +/* 0040C6A8 1622002D */ bne $s1, $v0, .L0040C760 +/* 0040C6AC 2401014C */ li $at, 332 +/* 0040C6B0 8C73000C */ lw $s3, 0xc($v1) +/* 0040C6B4 24170001 */ li $s7, 1 +/* 0040C6B8 24120011 */ li $s2, 17 +/* 0040C6BC 2662FFFF */ addiu $v0, $s3, -1 +/* 0040C6C0 04410002 */ bgez $v0, .L0040C6CC +/* 0040C6C4 00400821 */ move $at, $v0 +/* 0040C6C8 2441000F */ addiu $at, $v0, 0xf +.L0040C6CC: +/* 0040C6CC 00011103 */ sra $v0, $at, 4 +/* 0040C6D0 24420001 */ addiu $v0, $v0, 1 +/* 0040C6D4 1040020D */ beqz $v0, .L0040CF0C +/* 0040C6D8 244E0001 */ addiu $t6, $v0, 1 +/* 0040C6DC AFAE00DC */ sw $t6, 0xdc($sp) +.L0040C6E0: +/* 0040C6E0 8F9987F8 */ lw $t9, %call16(get)($gp) +/* 0040C6E4 02802025 */ move $a0, $s4 +/* 0040C6E8 24050010 */ li $a1, 16 +/* 0040C6EC 0320F809 */ jalr $t9 +/* 0040C6F0 00000000 */ nop +/* 0040C6F4 00178900 */ sll $s1, $s7, 4 +/* 0040C6F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C6FC 2631FFF0 */ addiu $s1, $s1, -0x10 +/* 0040C700 24100001 */ li $s0, 1 +.L0040C704: +/* 0040C704 02307821 */ addu $t7, $s1, $s0 +/* 0040C708 026F082A */ slt $at, $s3, $t7 +/* 0040C70C 142001FF */ bnez $at, .L0040CF0C +/* 0040C710 00000000 */ nop +/* 0040C714 8EB40000 */ lw $s4, ($s5) +/* 0040C718 8FC40000 */ lw $a0, ($fp) +/* 0040C71C 24060001 */ li $a2, 1 +/* 0040C720 8E980004 */ lw $t8, 4($s4) +/* 0040C724 2407000A */ li $a3, 10 +/* 0040C728 0310C821 */ addu $t9, $t8, $s0 +/* 0040C72C 9325FFFF */ lbu $a1, -1($t9) +/* 0040C730 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C734 0320F809 */ jalr $t9 +/* 0040C738 00000000 */ nop +/* 0040C73C 26100001 */ addiu $s0, $s0, 1 +/* 0040C740 1612FFF0 */ bne $s0, $s2, .L0040C704 +/* 0040C744 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C748 8FA800DC */ lw $t0, 0xdc($sp) +/* 0040C74C 26F70001 */ addiu $s7, $s7, 1 +/* 0040C750 16E8FFE3 */ bne $s7, $t0, .L0040C6E0 +/* 0040C754 00000000 */ nop +/* 0040C758 100001EC */ b .L0040CF0C +/* 0040C75C 00000000 */ nop +.L0040C760: +/* 0040C760 54410047 */ bnel $v0, $at, .L0040C880 +/* 0040C764 920E0008 */ lbu $t6, 8($s0) +/* 0040C768 8F91885C */ lw $s1, %got(second_dli)($gp) +/* 0040C76C 2406000A */ li $a2, 10 +/* 0040C770 00003825 */ move $a3, $zero +/* 0040C774 92290000 */ lbu $t1, ($s1) +/* 0040C778 240D0001 */ li $t5, 1 +/* 0040C77C 1120003A */ beqz $t1, .L0040C868 +/* 0040C780 00000000 */ nop +/* 0040C784 946A0006 */ lhu $t2, 6($v1) +/* 0040C788 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C78C 8FD60000 */ lw $s6, ($fp) +/* 0040C790 000A5D80 */ sll $t3, $t2, 0x16 +/* 0040C794 000B65C2 */ srl $t4, $t3, 0x17 +/* 0040C798 000C6880 */ sll $t5, $t4, 2 +/* 0040C79C 8F8E8850 */ lw $t6, %got(opcode_tab)($gp) +/* 0040C7A0 01AC6821 */ addu $t5, $t5, $t4 +/* 0040C7A4 000D6840 */ sll $t5, $t5, 1 +/* 0040C7A8 02C02025 */ move $a0, $s6 +/* 0040C7AC 0320F809 */ jalr $t9 +/* 0040C7B0 01AE2821 */ addu $a1, $t5, $t6 +/* 0040C7B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C7B8 02C02025 */ move $a0, $s6 +/* 0040C7BC 24050009 */ li $a1, 9 +/* 0040C7C0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040C7C4 24060001 */ li $a2, 1 +/* 0040C7C8 2407000A */ li $a3, 10 +/* 0040C7CC 0320F809 */ jalr $t9 +/* 0040C7D0 00000000 */ nop +/* 0040C7D4 920F0008 */ lbu $t7, 8($s0) +/* 0040C7D8 24060005 */ li $a2, 5 +/* 0040C7DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C7E0 000FC600 */ sll $t8, $t7, 0x18 +/* 0040C7E4 0018CE42 */ srl $t9, $t8, 0x19 +/* 0040C7E8 03260019 */ multu $t9, $a2 +/* 0040C7EC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C7F0 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C7F4 8FC40000 */ lw $a0, ($fp) +/* 0040C7F8 00003825 */ move $a3, $zero +/* 0040C7FC 00004012 */ mflo $t0 +/* 0040C800 02482821 */ addu $a1, $s2, $t0 +/* 0040C804 0320F809 */ jalr $t9 +/* 0040C808 00000000 */ nop +/* 0040C80C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C810 8FC40000 */ lw $a0, ($fp) +/* 0040C814 24060002 */ li $a2, 2 +/* 0040C818 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C81C 8F858038 */ lw $a1, %got(RO_100089E1)($gp) +/* 0040C820 24070002 */ li $a3, 2 +/* 0040C824 0320F809 */ jalr $t9 +/* 0040C828 24A589E1 */ addiu $a1, %lo(RO_100089E1) # addiu $a1, $a1, -0x761f +/* 0040C82C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C830 8E07000C */ lw $a3, 0xc($s0) +/* 0040C834 240A0001 */ li $t2, 1 +/* 0040C838 8F828B7C */ lw $v0, %got(val64)($gp) +/* 0040C83C 240B000A */ li $t3, 10 +/* 0040C840 AC470004 */ sw $a3, 4($v0) +/* 0040C844 8F9987E4 */ lw $t9, %call16(write_int64)($gp) +/* 0040C848 8FC40000 */ lw $a0, ($fp) +/* 0040C84C AFAB0014 */ sw $t3, 0x14($sp) +/* 0040C850 AFAA0010 */ sw $t2, 0x10($sp) +/* 0040C854 0320F809 */ jalr $t9 +/* 0040C858 8C460000 */ lw $a2, ($v0) +/* 0040C85C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C860 100001AA */ b .L0040CF0C +/* 0040C864 A2200000 */ sb $zero, ($s1) +.L0040C868: +/* 0040C868 8F828B7C */ lw $v0, %got(val64)($gp) +/* 0040C86C 8E0C000C */ lw $t4, 0xc($s0) +/* 0040C870 A22D0000 */ sb $t5, ($s1) +/* 0040C874 100001A5 */ b .L0040CF0C +/* 0040C878 AC4C0000 */ sw $t4, ($v0) +/* 0040C87C 920E0008 */ lbu $t6, 8($s0) +.L0040C880: +/* 0040C880 24060005 */ li $a2, 5 +/* 0040C884 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C888 000E7E00 */ sll $t7, $t6, 0x18 +/* 0040C88C 000FC642 */ srl $t8, $t7, 0x19 +/* 0040C890 03060019 */ multu $t8, $a2 +/* 0040C894 8FC40000 */ lw $a0, ($fp) +/* 0040C898 00003825 */ move $a3, $zero +/* 0040C89C 0000C812 */ mflo $t9 +/* 0040C8A0 02592821 */ addu $a1, $s2, $t9 +/* 0040C8A4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C8A8 0320F809 */ jalr $t9 +/* 0040C8AC 00000000 */ nop +/* 0040C8B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C8B4 8FC40000 */ lw $a0, ($fp) +/* 0040C8B8 24060002 */ li $a2, 2 +/* 0040C8BC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C8C0 8F858038 */ lw $a1, %got(RO_100089DF)($gp) +/* 0040C8C4 24070002 */ li $a3, 2 +/* 0040C8C8 0320F809 */ jalr $t9 +/* 0040C8CC 24A589DF */ addiu $a1, %lo(RO_100089DF) # addiu $a1, $a1, -0x7621 +/* 0040C8D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C8D4 8FC40000 */ lw $a0, ($fp) +/* 0040C8D8 8E05000C */ lw $a1, 0xc($s0) +/* 0040C8DC 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040C8E0 24060001 */ li $a2, 1 +/* 0040C8E4 2407000A */ li $a3, 10 +/* 0040C8E8 0320F809 */ jalr $t9 +/* 0040C8EC 00000000 */ nop +/* 0040C8F0 10000186 */ b .L0040CF0C +/* 0040C8F4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C8F8: +/* 0040C8F8 92020008 */ lbu $v0, 8($s0) +/* 0040C8FC 24010048 */ li $at, 72 +/* 0040C900 24060005 */ li $a2, 5 +/* 0040C904 00021600 */ sll $v0, $v0, 0x18 +/* 0040C908 00021642 */ srl $v0, $v0, 0x19 +/* 0040C90C 50410014 */ beql $v0, $at, .L0040C960 +/* 0040C910 96090008 */ lhu $t1, 8($s0) +/* 0040C914 00460019 */ multu $v0, $a2 +/* 0040C918 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C91C 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C920 8FC40000 */ lw $a0, ($fp) +/* 0040C924 00003825 */ move $a3, $zero +/* 0040C928 00004012 */ mflo $t0 +/* 0040C92C 02482821 */ addu $a1, $s2, $t0 +/* 0040C930 0320F809 */ jalr $t9 +/* 0040C934 00000000 */ nop +/* 0040C938 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C93C 8FC40000 */ lw $a0, ($fp) +/* 0040C940 24060002 */ li $a2, 2 +/* 0040C944 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C948 8F858038 */ lw $a1, %got(RO_100089DD)($gp) +/* 0040C94C 24070002 */ li $a3, 2 +/* 0040C950 0320F809 */ jalr $t9 +/* 0040C954 24A589DD */ addiu $a1, %lo(RO_100089DD) # addiu $a1, $a1, -0x7623 +/* 0040C958 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C95C 96090008 */ lhu $t1, 8($s0) +.L0040C960: +/* 0040C960 24130005 */ li $s3, 5 +/* 0040C964 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C968 000955C0 */ sll $t2, $t1, 0x17 +/* 0040C96C 000A5E42 */ srl $t3, $t2, 0x19 +/* 0040C970 01730019 */ multu $t3, $s3 +/* 0040C974 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C978 02603025 */ move $a2, $s3 +/* 0040C97C 8FC40000 */ lw $a0, ($fp) +/* 0040C980 00003825 */ move $a3, $zero +/* 0040C984 00006012 */ mflo $t4 +/* 0040C988 024C2821 */ addu $a1, $s2, $t4 +/* 0040C98C 0320F809 */ jalr $t9 +/* 0040C990 00000000 */ nop +/* 0040C994 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C998 8FC40000 */ lw $a0, ($fp) +/* 0040C99C 24060002 */ li $a2, 2 +/* 0040C9A0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C9A4 8F858038 */ lw $a1, %got(RO_100089DB)($gp) +/* 0040C9A8 24070002 */ li $a3, 2 +/* 0040C9AC 0320F809 */ jalr $t9 +/* 0040C9B0 24A589DB */ addiu $a1, %lo(RO_100089DB) # addiu $a1, $a1, -0x7625 +/* 0040C9B4 960D000A */ lhu $t5, 0xa($s0) +/* 0040C9B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040C9BC 8FC40000 */ lw $a0, ($fp) +/* 0040C9C0 000D7480 */ sll $t6, $t5, 0x12 +/* 0040C9C4 000E7E42 */ srl $t7, $t6, 0x19 +/* 0040C9C8 01F30019 */ multu $t7, $s3 +/* 0040C9CC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040C9D0 02603025 */ move $a2, $s3 +/* 0040C9D4 00003825 */ move $a3, $zero +/* 0040C9D8 0000C012 */ mflo $t8 +/* 0040C9DC 02582821 */ addu $a1, $s2, $t8 +/* 0040C9E0 0320F809 */ jalr $t9 +/* 0040C9E4 00000000 */ nop +/* 0040C9E8 10000148 */ b .L0040CF0C +/* 0040C9EC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040C9F0: +/* 0040C9F0 92190008 */ lbu $t9, 8($s0) +/* 0040C9F4 24130005 */ li $s3, 5 +/* 0040C9F8 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040C9FC 00194600 */ sll $t0, $t9, 0x18 +/* 0040CA00 00084E42 */ srl $t1, $t0, 0x19 +/* 0040CA04 01330019 */ multu $t1, $s3 +/* 0040CA08 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CA0C 02603025 */ move $a2, $s3 +/* 0040CA10 8FC40000 */ lw $a0, ($fp) +/* 0040CA14 00003825 */ move $a3, $zero +/* 0040CA18 00005012 */ mflo $t2 +/* 0040CA1C 024A2821 */ addu $a1, $s2, $t2 +/* 0040CA20 0320F809 */ jalr $t9 +/* 0040CA24 00000000 */ nop +/* 0040CA28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CA2C 8FC40000 */ lw $a0, ($fp) +/* 0040CA30 24060002 */ li $a2, 2 +/* 0040CA34 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CA38 8F858038 */ lw $a1, %got(RO_100089D9)($gp) +/* 0040CA3C 24070002 */ li $a3, 2 +/* 0040CA40 0320F809 */ jalr $t9 +/* 0040CA44 24A589D9 */ addiu $a1, %lo(RO_100089D9) # addiu $a1, $a1, -0x7627 +/* 0040CA48 960B0008 */ lhu $t3, 8($s0) +/* 0040CA4C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CA50 8FC40000 */ lw $a0, ($fp) +/* 0040CA54 000B65C0 */ sll $t4, $t3, 0x17 +/* 0040CA58 000C6E42 */ srl $t5, $t4, 0x19 +/* 0040CA5C 01B30019 */ multu $t5, $s3 +/* 0040CA60 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CA64 02603025 */ move $a2, $s3 +/* 0040CA68 00003825 */ move $a3, $zero +/* 0040CA6C 00007012 */ mflo $t6 +/* 0040CA70 024E2821 */ addu $a1, $s2, $t6 +/* 0040CA74 0320F809 */ jalr $t9 +/* 0040CA78 00000000 */ nop +/* 0040CA7C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CA80 8FC40000 */ lw $a0, ($fp) +/* 0040CA84 24060002 */ li $a2, 2 +/* 0040CA88 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CA8C 8F858038 */ lw $a1, %got(RO_100089D7)($gp) +/* 0040CA90 24070002 */ li $a3, 2 +/* 0040CA94 0320F809 */ jalr $t9 +/* 0040CA98 24A589D7 */ addiu $a1, %lo(RO_100089D7) # addiu $a1, $a1, -0x7629 +/* 0040CA9C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CAA0 8FC40000 */ lw $a0, ($fp) +/* 0040CAA4 8E05000C */ lw $a1, 0xc($s0) +/* 0040CAA8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040CAAC 24060001 */ li $a2, 1 +/* 0040CAB0 2407000A */ li $a3, 10 +/* 0040CAB4 0320F809 */ jalr $t9 +/* 0040CAB8 00000000 */ nop +/* 0040CABC 10000113 */ b .L0040CF0C +/* 0040CAC0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CAC4: +/* 0040CAC4 920F0008 */ lbu $t7, 8($s0) +/* 0040CAC8 24130005 */ li $s3, 5 +/* 0040CACC 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040CAD0 000FC600 */ sll $t8, $t7, 0x18 +/* 0040CAD4 0018CE42 */ srl $t9, $t8, 0x19 +/* 0040CAD8 03330019 */ multu $t9, $s3 +/* 0040CADC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CAE0 02603025 */ move $a2, $s3 +/* 0040CAE4 8FC40000 */ lw $a0, ($fp) +/* 0040CAE8 00003825 */ move $a3, $zero +/* 0040CAEC 00004012 */ mflo $t0 +/* 0040CAF0 02482821 */ addu $a1, $s2, $t0 +/* 0040CAF4 0320F809 */ jalr $t9 +/* 0040CAF8 00000000 */ nop +/* 0040CAFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CB00 8FC40000 */ lw $a0, ($fp) +/* 0040CB04 24060002 */ li $a2, 2 +/* 0040CB08 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CB0C 8F858038 */ lw $a1, %got(RO_100089D5)($gp) +/* 0040CB10 24070002 */ li $a3, 2 +/* 0040CB14 0320F809 */ jalr $t9 +/* 0040CB18 24A589D5 */ addiu $a1, %lo(RO_100089D5) # addiu $a1, $a1, -0x762b +/* 0040CB1C 96090008 */ lhu $t1, 8($s0) +/* 0040CB20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CB24 8FC40000 */ lw $a0, ($fp) +/* 0040CB28 000955C0 */ sll $t2, $t1, 0x17 +/* 0040CB2C 000A5E42 */ srl $t3, $t2, 0x19 +/* 0040CB30 01730019 */ multu $t3, $s3 +/* 0040CB34 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CB38 02603025 */ move $a2, $s3 +/* 0040CB3C 00003825 */ move $a3, $zero +/* 0040CB40 00006012 */ mflo $t4 +/* 0040CB44 024C2821 */ addu $a1, $s2, $t4 +/* 0040CB48 0320F809 */ jalr $t9 +/* 0040CB4C 00000000 */ nop +/* 0040CB50 100000EE */ b .L0040CF0C +/* 0040CB54 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CB58: +/* 0040CB58 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040CB5C 03C02025 */ move $a0, $fp +/* 0040CB60 8E050000 */ lw $a1, ($s0) +/* 0040CB64 0320F809 */ jalr $t9 +/* 0040CB68 00000000 */ nop +/* 0040CB6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CB70 03C02025 */ move $a0, $fp +/* 0040CB74 8E05000C */ lw $a1, 0xc($s0) +/* 0040CB78 8F998184 */ lw $t9, %call16(put_integer_ws)($gp) +/* 0040CB7C 0320F809 */ jalr $t9 +/* 0040CB80 00000000 */ nop +/* 0040CB84 100000E1 */ b .L0040CF0C +/* 0040CB88 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CB8C: +/* 0040CB8C 920D0008 */ lbu $t5, 8($s0) +/* 0040CB90 24060005 */ li $a2, 5 +/* 0040CB94 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CB98 000D7600 */ sll $t6, $t5, 0x18 +/* 0040CB9C 000E7E42 */ srl $t7, $t6, 0x19 +/* 0040CBA0 01E60019 */ multu $t7, $a2 +/* 0040CBA4 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040CBA8 8FC40000 */ lw $a0, ($fp) +/* 0040CBAC 00003825 */ move $a3, $zero +/* 0040CBB0 0000C012 */ mflo $t8 +/* 0040CBB4 02582821 */ addu $a1, $s2, $t8 +/* 0040CBB8 0320F809 */ jalr $t9 +/* 0040CBBC 00000000 */ nop +/* 0040CBC0 100000D2 */ b .L0040CF0C +/* 0040CBC4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CBC8: +/* 0040CBC8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040CBCC 8FC40000 */ lw $a0, ($fp) +/* 0040CBD0 8E05000C */ lw $a1, 0xc($s0) +/* 0040CBD4 24060001 */ li $a2, 1 +/* 0040CBD8 0320F809 */ jalr $t9 +/* 0040CBDC 2407000A */ li $a3, 10 +/* 0040CBE0 100000CA */ b .L0040CF0C +/* 0040CBE4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CBE8: +/* 0040CBE8 92190008 */ lbu $t9, 8($s0) +/* 0040CBEC 24130005 */ li $s3, 5 +/* 0040CBF0 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040CBF4 00194600 */ sll $t0, $t9, 0x18 +/* 0040CBF8 00084E42 */ srl $t1, $t0, 0x19 +/* 0040CBFC 01330019 */ multu $t1, $s3 +/* 0040CC00 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CC04 02603025 */ move $a2, $s3 +/* 0040CC08 8FC40000 */ lw $a0, ($fp) +/* 0040CC0C 00003825 */ move $a3, $zero +/* 0040CC10 00005012 */ mflo $t2 +/* 0040CC14 024A2821 */ addu $a1, $s2, $t2 +/* 0040CC18 0320F809 */ jalr $t9 +/* 0040CC1C 00000000 */ nop +/* 0040CC20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CC24 8FC40000 */ lw $a0, ($fp) +/* 0040CC28 24060002 */ li $a2, 2 +/* 0040CC2C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CC30 8F858038 */ lw $a1, %got(RO_100089D3)($gp) +/* 0040CC34 24070002 */ li $a3, 2 +/* 0040CC38 0320F809 */ jalr $t9 +/* 0040CC3C 24A589D3 */ addiu $a1, %lo(RO_100089D3) # addiu $a1, $a1, -0x762d +/* 0040CC40 960B0008 */ lhu $t3, 8($s0) +/* 0040CC44 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CC48 8FC40000 */ lw $a0, ($fp) +/* 0040CC4C 000B65C0 */ sll $t4, $t3, 0x17 +/* 0040CC50 000C6E42 */ srl $t5, $t4, 0x19 +/* 0040CC54 01B30019 */ multu $t5, $s3 +/* 0040CC58 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CC5C 02603025 */ move $a2, $s3 +/* 0040CC60 00003825 */ move $a3, $zero +/* 0040CC64 00007012 */ mflo $t6 +/* 0040CC68 024E2821 */ addu $a1, $s2, $t6 +/* 0040CC6C 0320F809 */ jalr $t9 +/* 0040CC70 00000000 */ nop +/* 0040CC74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CC78 8FC40000 */ lw $a0, ($fp) +/* 0040CC7C 24060002 */ li $a2, 2 +/* 0040CC80 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CC84 8F858038 */ lw $a1, %got(RO_100089D1)($gp) +/* 0040CC88 24070002 */ li $a3, 2 +/* 0040CC8C 0320F809 */ jalr $t9 +/* 0040CC90 24A589D1 */ addiu $a1, %lo(RO_100089D1) # addiu $a1, $a1, -0x762f +/* 0040CC94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CC98 03C02025 */ move $a0, $fp +/* 0040CC9C 8E050000 */ lw $a1, ($s0) +/* 0040CCA0 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040CCA4 0320F809 */ jalr $t9 +/* 0040CCA8 00000000 */ nop +/* 0040CCAC 10000097 */ b .L0040CF0C +/* 0040CCB0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CCB4: +/* 0040CCB4 920F0008 */ lbu $t7, 8($s0) +/* 0040CCB8 24060005 */ li $a2, 5 +/* 0040CCBC 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040CCC0 000FC600 */ sll $t8, $t7, 0x18 +/* 0040CCC4 0018CE42 */ srl $t9, $t8, 0x19 +/* 0040CCC8 03260019 */ multu $t9, $a2 +/* 0040CCCC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CCD0 8FC40000 */ lw $a0, ($fp) +/* 0040CCD4 00003825 */ move $a3, $zero +/* 0040CCD8 00004012 */ mflo $t0 +/* 0040CCDC 02482821 */ addu $a1, $s2, $t0 +/* 0040CCE0 0320F809 */ jalr $t9 +/* 0040CCE4 00000000 */ nop +/* 0040CCE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CCEC 8FC40000 */ lw $a0, ($fp) +/* 0040CCF0 24060002 */ li $a2, 2 +/* 0040CCF4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CCF8 8F858038 */ lw $a1, %got(RO_100089CF)($gp) +/* 0040CCFC 24070002 */ li $a3, 2 +/* 0040CD00 0320F809 */ jalr $t9 +/* 0040CD04 24A589CF */ addiu $a1, %lo(RO_100089CF) # addiu $a1, $a1, -0x7631 +/* 0040CD08 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CD0C 03C02025 */ move $a0, $fp +/* 0040CD10 8E050000 */ lw $a1, ($s0) +/* 0040CD14 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040CD18 0320F809 */ jalr $t9 +/* 0040CD1C 00000000 */ nop +/* 0040CD20 1000007A */ b .L0040CF0C +/* 0040CD24 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CD28: +/* 0040CD28 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040CD2C 03C02025 */ move $a0, $fp +/* 0040CD30 8E050000 */ lw $a1, ($s0) +/* 0040CD34 0320F809 */ jalr $t9 +/* 0040CD38 00000000 */ nop +/* 0040CD3C 10000073 */ b .L0040CF0C +/* 0040CD40 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CD44: +/* 0040CD44 8F898038 */ lw $t1, %got(RO_1000897F)($gp) +/* 0040CD48 24040004 */ li $a0, 4 +/* 0040CD4C 240503AB */ li $a1, 939 +/* 0040CD50 2529897F */ addiu $t1, %lo(RO_1000897F) # addiu $t1, $t1, -0x7681 +/* 0040CD54 252D0048 */ addiu $t5, $t1, 0x48 +/* 0040CD58 03A06025 */ move $t4, $sp +.L0040CD5C: +/* 0040CD5C 892B0000 */ lwl $t3, ($t1) +/* 0040CD60 992B0003 */ lwr $t3, 3($t1) +/* 0040CD64 2529000C */ addiu $t1, $t1, 0xc +/* 0040CD68 258C000C */ addiu $t4, $t4, 0xc +/* 0040CD6C A98BFFFC */ swl $t3, -4($t4) +/* 0040CD70 B98BFFFF */ swr $t3, -1($t4) +/* 0040CD74 892AFFF8 */ lwl $t2, -8($t1) +/* 0040CD78 992AFFFB */ lwr $t2, -5($t1) +/* 0040CD7C A98A0000 */ swl $t2, ($t4) +/* 0040CD80 B98A0003 */ swr $t2, 3($t4) +/* 0040CD84 892BFFFC */ lwl $t3, -4($t1) +/* 0040CD88 992BFFFF */ lwr $t3, -1($t1) +/* 0040CD8C A98B0004 */ swl $t3, 4($t4) +/* 0040CD90 152DFFF2 */ bne $t1, $t5, .L0040CD5C +/* 0040CD94 B98B0007 */ swr $t3, 7($t4) +/* 0040CD98 892B0000 */ lwl $t3, ($t1) +/* 0040CD9C 992B0003 */ lwr $t3, 3($t1) +/* 0040CDA0 8F8E8038 */ lw $t6, %got(RO_1000892F)($gp) +/* 0040CDA4 03A0C825 */ move $t9, $sp +/* 0040CDA8 A98B0008 */ swl $t3, 8($t4) +/* 0040CDAC B98B000B */ swr $t3, 0xb($t4) +/* 0040CDB0 892A0004 */ lwl $t2, 4($t1) +/* 0040CDB4 992A0007 */ lwr $t2, 7($t1) +/* 0040CDB8 25CE892F */ addiu $t6, %lo(RO_1000892F) # addiu $t6, $t6, -0x76d1 +/* 0040CDBC 25C80048 */ addiu $t0, $t6, 0x48 +/* 0040CDC0 A98A000C */ swl $t2, 0xc($t4) +/* 0040CDC4 B98A000F */ swr $t2, 0xf($t4) +.L0040CDC8: +/* 0040CDC8 89D80000 */ lwl $t8, ($t6) +/* 0040CDCC 99D80003 */ lwr $t8, 3($t6) +/* 0040CDD0 25CE000C */ addiu $t6, $t6, 0xc +/* 0040CDD4 2739000C */ addiu $t9, $t9, 0xc +/* 0040CDD8 AB38004C */ swl $t8, 0x4c($t9) +/* 0040CDDC BB38004F */ swr $t8, 0x4f($t9) +/* 0040CDE0 89CFFFF8 */ lwl $t7, -8($t6) +/* 0040CDE4 99CFFFFB */ lwr $t7, -5($t6) +/* 0040CDE8 AB2F0050 */ swl $t7, 0x50($t9) +/* 0040CDEC BB2F0053 */ swr $t7, 0x53($t9) +/* 0040CDF0 89D8FFFC */ lwl $t8, -4($t6) +/* 0040CDF4 99D8FFFF */ lwr $t8, -1($t6) +/* 0040CDF8 AB380054 */ swl $t8, 0x54($t9) +/* 0040CDFC 15C8FFF2 */ bne $t6, $t0, .L0040CDC8 +/* 0040CE00 BB380057 */ swr $t8, 0x57($t9) +/* 0040CE04 89D80000 */ lwl $t8, ($t6) +/* 0040CE08 99D80003 */ lwr $t8, 3($t6) +/* 0040CE0C AB380058 */ swl $t8, 0x58($t9) +/* 0040CE10 BB38005B */ swr $t8, 0x5b($t9) +/* 0040CE14 89CF0004 */ lwl $t7, 4($t6) +/* 0040CE18 99CF0007 */ lwr $t7, 7($t6) +/* 0040CE1C AB2F005C */ swl $t7, 0x5c($t9) +/* 0040CE20 BB2F005F */ swr $t7, 0x5f($t9) +/* 0040CE24 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0040CE28 8FA7000C */ lw $a3, 0xc($sp) +/* 0040CE2C 8FA60008 */ lw $a2, 8($sp) +/* 0040CE30 0320F809 */ jalr $t9 +/* 0040CE34 00000000 */ nop +/* 0040CE38 10000034 */ b .L0040CF0C +/* 0040CE3C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CE40: +/* 0040CE40 920D0008 */ lbu $t5, 8($s0) +/* 0040CE44 24060005 */ li $a2, 5 +/* 0040CE48 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CE4C 000D4E00 */ sll $t1, $t5, 0x18 +/* 0040CE50 00096642 */ srl $t4, $t1, 0x19 +/* 0040CE54 01860019 */ multu $t4, $a2 +/* 0040CE58 8F928840 */ lw $s2, %got(reg_name_tab)($gp) +/* 0040CE5C 8FC40000 */ lw $a0, ($fp) +/* 0040CE60 00003825 */ move $a3, $zero +/* 0040CE64 00005012 */ mflo $t2 +/* 0040CE68 024A2821 */ addu $a1, $s2, $t2 +/* 0040CE6C 0320F809 */ jalr $t9 +/* 0040CE70 00000000 */ nop +/* 0040CE74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CE78 8FC40000 */ lw $a0, ($fp) +/* 0040CE7C 24060002 */ li $a2, 2 +/* 0040CE80 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CE84 8F858038 */ lw $a1, %got(RO_1000892D)($gp) +/* 0040CE88 24070002 */ li $a3, 2 +/* 0040CE8C 0320F809 */ jalr $t9 +/* 0040CE90 24A5892D */ addiu $a1, %lo(RO_1000892D) # addiu $a1, $a1, -0x76d3 +/* 0040CE94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CE98 8FC40000 */ lw $a0, ($fp) +/* 0040CE9C 8E05000C */ lw $a1, 0xc($s0) +/* 0040CEA0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040CEA4 24060001 */ li $a2, 1 +/* 0040CEA8 2407000A */ li $a3, 10 +/* 0040CEAC 0320F809 */ jalr $t9 +/* 0040CEB0 00000000 */ nop +/* 0040CEB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CEB8 8FC40000 */ lw $a0, ($fp) +/* 0040CEBC 24060002 */ li $a2, 2 +/* 0040CEC0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040CEC4 8F858038 */ lw $a1, %got(RO_1000892B)($gp) +/* 0040CEC8 24070002 */ li $a3, 2 +/* 0040CECC 0320F809 */ jalr $t9 +/* 0040CED0 24A5892B */ addiu $a1, %lo(RO_1000892B) # addiu $a1, $a1, -0x76d5 +/* 0040CED4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CED8 03C02025 */ move $a0, $fp +/* 0040CEDC 8E050000 */ lw $a1, ($s0) +/* 0040CEE0 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040CEE4 0320F809 */ jalr $t9 +/* 0040CEE8 00000000 */ nop +/* 0040CEEC 10000007 */ b .L0040CF0C +/* 0040CEF0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CEF4: +/* 0040CEF4 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0040CEF8 8F868038 */ lw $a2, %got(RO_10008926)($gp) +/* 0040CEFC 24070005 */ li $a3, 5 +/* 0040CF00 0320F809 */ jalr $t9 +/* 0040CF04 24C68926 */ addiu $a2, %lo(RO_10008926) # addiu $a2, $a2, -0x76da +/* 0040CF08 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040CF0C: +/* 0040CF0C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0040CF10 8FC40000 */ lw $a0, ($fp) +/* 0040CF14 0320F809 */ jalr $t9 +/* 0040CF18 00000000 */ nop +/* 0040CF1C 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 0040CF20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040CF24 8FB000AC */ lw $s0, 0xac($sp) +/* 0040CF28 8FB100B0 */ lw $s1, 0xb0($sp) +/* 0040CF2C 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0040CF30 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0040CF34 8FB400BC */ lw $s4, 0xbc($sp) +/* 0040CF38 8FB500C0 */ lw $s5, 0xc0($sp) +/* 0040CF3C 8FB600C4 */ lw $s6, 0xc4($sp) +/* 0040CF40 8FB700C8 */ lw $s7, 0xc8($sp) +/* 0040CF44 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 0040CF48 03E00008 */ jr $ra +/* 0040CF4C 27BD00F8 */ addiu $sp, $sp, 0xf8 + .type write_instruction, @function + .size write_instruction, .-write_instruction + .end write_instruction + +glabel print_source + .ent print_source + # 0040D350 write_directive +/* 0040CF50 3C1C0FC1 */ .cpload $t9 +/* 0040CF54 279C2B00 */ +/* 0040CF58 0399E021 */ +/* 0040CF5C 27BDFF30 */ addiu $sp, $sp, -0xd0 +/* 0040CF60 8F828858 */ lw $v0, %got(current_filen)($gp) +/* 0040CF64 AFB500C4 */ sw $s5, 0xc4($sp) +/* 0040CF68 AFB300BC */ sw $s3, 0xbc($sp) +/* 0040CF6C 8C4E0000 */ lw $t6, ($v0) +/* 0040CF70 00809825 */ move $s3, $a0 +/* 0040CF74 00C0A825 */ move $s5, $a2 +/* 0040CF78 AFBF00CC */ sw $ra, 0xcc($sp) +/* 0040CF7C AFBC00C8 */ sw $gp, 0xc8($sp) +/* 0040CF80 AFB400C0 */ sw $s4, 0xc0($sp) +/* 0040CF84 AFB200B8 */ sw $s2, 0xb8($sp) +/* 0040CF88 AFB100B4 */ sw $s1, 0xb4($sp) +/* 0040CF8C 10AE0062 */ beq $a1, $t6, .L0040D118 +/* 0040CF90 AFB000B0 */ sw $s0, 0xb0($sp) +/* 0040CF94 14A00002 */ bnez $a1, .L0040CFA0 +/* 0040CF98 AC450000 */ sw $a1, ($v0) +/* 0040CF9C 24050002 */ li $a1, 2 +.L0040CFA0: +/* 0040CFA0 8F9986F0 */ lw $t9, %call16(st_str_idn)($gp) +/* 0040CFA4 00A02025 */ move $a0, $a1 +/* 0040CFA8 0320F809 */ jalr $t9 +/* 0040CFAC 00000000 */ nop +/* 0040CFB0 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040CFB4 24060020 */ li $a2, 32 +/* 0040CFB8 03A05025 */ move $t2, $sp +/* 0040CFBC 8F838BD4 */ lw $v1, %got(source_file_name)($gp) +/* 0040CFC0 24640400 */ addiu $a0, $v1, 0x400 +.L0040CFC4: +/* 0040CFC4 24630001 */ addiu $v1, $v1, 1 +/* 0040CFC8 1464FFFE */ bne $v1, $a0, .L0040CFC4 +/* 0040CFCC A066FFFF */ sb $a2, -1($v1) +/* 0040CFD0 904F0000 */ lbu $t7, ($v0) +/* 0040CFD4 24440001 */ addiu $a0, $v0, 1 +/* 0040CFD8 11E00009 */ beqz $t7, .L0040D000 +/* 0040CFDC 00000000 */ nop +/* 0040CFE0 8F838BD4 */ lw $v1, %got(source_file_name)($gp) +/* 0040CFE4 9085FFFF */ lbu $a1, -1($a0) +/* 0040CFE8 A0650000 */ sb $a1, ($v1) +.L0040CFEC: +/* 0040CFEC 90850000 */ lbu $a1, ($a0) +/* 0040CFF0 24630001 */ addiu $v1, $v1, 1 +/* 0040CFF4 24840001 */ addiu $a0, $a0, 1 +/* 0040CFF8 54A0FFFC */ bnel $a1, $zero, .L0040CFEC +/* 0040CFFC A0650000 */ sb $a1, ($v1) +.L0040D000: +/* 0040D000 8F988BD4 */ lw $t8, %got(source_file_name)($gp) +/* 0040D004 93180000 */ lbu $t8, ($t8) +/* 0040D008 14D8003F */ bne $a2, $t8, .L0040D108 +/* 0040D00C 00000000 */ nop +/* 0040D010 8F998038 */ lw $t9, %got(RO_10008A7A)($gp) +/* 0040D014 24040004 */ li $a0, 4 +/* 0040D018 240503D1 */ li $a1, 977 +/* 0040D01C 27398A7A */ addiu $t9, %lo(RO_10008A7A) # addiu $t9, $t9, -0x7586 +/* 0040D020 272B0048 */ addiu $t3, $t9, 0x48 +.L0040D024: +/* 0040D024 8B290000 */ lwl $t1, ($t9) +/* 0040D028 9B290003 */ lwr $t1, 3($t9) +/* 0040D02C 2739000C */ addiu $t9, $t9, 0xc +/* 0040D030 254A000C */ addiu $t2, $t2, 0xc +/* 0040D034 A949FFFC */ swl $t1, -4($t2) +/* 0040D038 B949FFFF */ swr $t1, -1($t2) +/* 0040D03C 8B28FFF8 */ lwl $t0, -8($t9) +/* 0040D040 9B28FFFB */ lwr $t0, -5($t9) +/* 0040D044 A9480000 */ swl $t0, ($t2) +/* 0040D048 B9480003 */ swr $t0, 3($t2) +/* 0040D04C 8B29FFFC */ lwl $t1, -4($t9) +/* 0040D050 9B29FFFF */ lwr $t1, -1($t9) +/* 0040D054 A9490004 */ swl $t1, 4($t2) +/* 0040D058 172BFFF2 */ bne $t9, $t3, .L0040D024 +/* 0040D05C B9490007 */ swr $t1, 7($t2) +/* 0040D060 8B290000 */ lwl $t1, ($t9) +/* 0040D064 9B290003 */ lwr $t1, 3($t9) +/* 0040D068 8F8C8038 */ lw $t4, %got(RO_10008A2A)($gp) +/* 0040D06C 03A07825 */ move $t7, $sp +/* 0040D070 A9490008 */ swl $t1, 8($t2) +/* 0040D074 B949000B */ swr $t1, 0xb($t2) +/* 0040D078 8B280004 */ lwl $t0, 4($t9) +/* 0040D07C 9B280007 */ lwr $t0, 7($t9) +/* 0040D080 258C8A2A */ addiu $t4, %lo(RO_10008A2A) # addiu $t4, $t4, -0x75d6 +/* 0040D084 25980048 */ addiu $t8, $t4, 0x48 +/* 0040D088 A948000C */ swl $t0, 0xc($t2) +/* 0040D08C B948000F */ swr $t0, 0xf($t2) +.L0040D090: +/* 0040D090 898E0000 */ lwl $t6, ($t4) +/* 0040D094 998E0003 */ lwr $t6, 3($t4) +/* 0040D098 258C000C */ addiu $t4, $t4, 0xc +/* 0040D09C 25EF000C */ addiu $t7, $t7, 0xc +/* 0040D0A0 A9EE004C */ swl $t6, 0x4c($t7) +/* 0040D0A4 B9EE004F */ swr $t6, 0x4f($t7) +/* 0040D0A8 898DFFF8 */ lwl $t5, -8($t4) +/* 0040D0AC 998DFFFB */ lwr $t5, -5($t4) +/* 0040D0B0 A9ED0050 */ swl $t5, 0x50($t7) +/* 0040D0B4 B9ED0053 */ swr $t5, 0x53($t7) +/* 0040D0B8 898EFFFC */ lwl $t6, -4($t4) +/* 0040D0BC 998EFFFF */ lwr $t6, -1($t4) +/* 0040D0C0 A9EE0054 */ swl $t6, 0x54($t7) +/* 0040D0C4 1598FFF2 */ bne $t4, $t8, .L0040D090 +/* 0040D0C8 B9EE0057 */ swr $t6, 0x57($t7) +/* 0040D0CC 898E0000 */ lwl $t6, ($t4) +/* 0040D0D0 998E0003 */ lwr $t6, 3($t4) +/* 0040D0D4 A9EE0058 */ swl $t6, 0x58($t7) +/* 0040D0D8 B9EE005B */ swr $t6, 0x5b($t7) +/* 0040D0DC 898D0004 */ lwl $t5, 4($t4) +/* 0040D0E0 998D0007 */ lwr $t5, 7($t4) +/* 0040D0E4 A9ED005C */ swl $t5, 0x5c($t7) +/* 0040D0E8 B9ED005F */ swr $t5, 0x5f($t7) +/* 0040D0EC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0040D0F0 8FA7000C */ lw $a3, 0xc($sp) +/* 0040D0F4 8FA60008 */ lw $a2, 8($sp) +/* 0040D0F8 0320F809 */ jalr $t9 +/* 0040D0FC 00000000 */ nop +/* 0040D100 1000008A */ b .L0040D32C +/* 0040D104 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0040D108: +/* 0040D108 8F9489F8 */ lw $s4, %got(current_linen)($gp) +/* 0040D10C 3C0B7FFF */ lui $t3, 0x7fff +/* 0040D110 356BFFFF */ ori $t3, $t3, 0xffff +/* 0040D114 AE8B0000 */ sw $t3, ($s4) +.L0040D118: +/* 0040D118 8F9489F8 */ lw $s4, %got(current_linen)($gp) +/* 0040D11C 24060400 */ li $a2, 1024 +/* 0040D120 00003825 */ move $a3, $zero +/* 0040D124 8E920000 */ lw $s2, ($s4) +/* 0040D128 2659FFFF */ addiu $t9, $s2, -1 +/* 0040D12C 02B9082A */ slt $at, $s5, $t9 +/* 0040D130 50200010 */ beql $at, $zero, .L0040D174 +/* 0040D134 02B24023 */ subu $t0, $s5, $s2 +/* 0040D138 8F998800 */ lw $t9, %call16(reset)($gp) +/* 0040D13C 8F918B78 */ lw $s1, %got(source_file)($gp) +/* 0040D140 8F858BD4 */ lw $a1, %got(source_file_name)($gp) +/* 0040D144 0320F809 */ jalr $t9 +/* 0040D148 02202025 */ move $a0, $s1 +/* 0040D14C 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D150 8E240000 */ lw $a0, ($s1) +/* 0040D154 8F9987B4 */ lw $t9, %call16(eof)($gp) +/* 0040D158 0320F809 */ jalr $t9 +/* 0040D15C 00000000 */ nop +/* 0040D160 14400072 */ bnez $v0, .L0040D32C +/* 0040D164 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D168 24120001 */ li $s2, 1 +/* 0040D16C AE920000 */ sw $s2, ($s4) +/* 0040D170 02B24023 */ subu $t0, $s5, $s2 +.L0040D174: +/* 0040D174 29010006 */ slti $at, $t0, 6 +/* 0040D178 14200022 */ bnez $at, .L0040D204 +/* 0040D17C 8F918B78 */ lw $s1, %got(source_file)($gp) +.L0040D180: +/* 0040D180 8F9987B4 */ lw $t9, %call16(eof)($gp) +/* 0040D184 8E240000 */ lw $a0, ($s1) +/* 0040D188 0320F809 */ jalr $t9 +/* 0040D18C 00000000 */ nop +/* 0040D190 14400066 */ bnez $v0, .L0040D32C +/* 0040D194 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D198 8F9987B8 */ lw $t9, %call16(eoln)($gp) +/* 0040D19C 8E240000 */ lw $a0, ($s1) +/* 0040D1A0 0320F809 */ jalr $t9 +/* 0040D1A4 00000000 */ nop +/* 0040D1A8 1440000C */ bnez $v0, .L0040D1DC +/* 0040D1AC 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0040D1B0: +/* 0040D1B0 8F9987C0 */ lw $t9, %call16(next_char)($gp) +/* 0040D1B4 8E240000 */ lw $a0, ($s1) +/* 0040D1B8 0320F809 */ jalr $t9 +/* 0040D1BC 00000000 */ nop +/* 0040D1C0 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D1C4 8E240000 */ lw $a0, ($s1) +/* 0040D1C8 8F9987B8 */ lw $t9, %call16(eoln)($gp) +/* 0040D1CC 0320F809 */ jalr $t9 +/* 0040D1D0 00000000 */ nop +/* 0040D1D4 1040FFF6 */ beqz $v0, .L0040D1B0 +/* 0040D1D8 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0040D1DC: +/* 0040D1DC 8F9987C0 */ lw $t9, %call16(next_char)($gp) +/* 0040D1E0 8E240000 */ lw $a0, ($s1) +/* 0040D1E4 0320F809 */ jalr $t9 +/* 0040D1E8 00000000 */ nop +/* 0040D1EC 8E890000 */ lw $t1, ($s4) +/* 0040D1F0 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D1F4 25320001 */ addiu $s2, $t1, 1 +/* 0040D1F8 0255082A */ slt $at, $s2, $s5 +/* 0040D1FC 1420FFE0 */ bnez $at, .L0040D180 +/* 0040D200 AE920000 */ sw $s2, ($s4) +.L0040D204: +/* 0040D204 02B2082A */ slt $at, $s5, $s2 +/* 0040D208 54200049 */ bnel $at, $zero, .L0040D330 +/* 0040D20C 8FBF00CC */ lw $ra, 0xcc($sp) +.L0040D210: +/* 0040D210 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D214 8E700000 */ lw $s0, ($s3) +/* 0040D218 8F858038 */ lw $a1, %got(RO_10008A28)($gp) +/* 0040D21C 24060002 */ li $a2, 2 +/* 0040D220 24070002 */ li $a3, 2 +/* 0040D224 02002025 */ move $a0, $s0 +/* 0040D228 0320F809 */ jalr $t9 +/* 0040D22C 24A58A28 */ addiu $a1, %lo(RO_10008A28) # addiu $a1, $a1, -0x75d8 +/* 0040D230 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D234 02002025 */ move $a0, $s0 +/* 0040D238 02402825 */ move $a1, $s2 +/* 0040D23C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D240 24060004 */ li $a2, 4 +/* 0040D244 2407000A */ li $a3, 10 +/* 0040D248 0320F809 */ jalr $t9 +/* 0040D24C 00000000 */ nop +/* 0040D250 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D254 02002025 */ move $a0, $s0 +/* 0040D258 24050009 */ li $a1, 9 +/* 0040D25C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D260 24060001 */ li $a2, 1 +/* 0040D264 2407000A */ li $a3, 10 +/* 0040D268 0320F809 */ jalr $t9 +/* 0040D26C 00000000 */ nop +/* 0040D270 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D274 8E240000 */ lw $a0, ($s1) +/* 0040D278 8F9987B8 */ lw $t9, %call16(eoln)($gp) +/* 0040D27C 0320F809 */ jalr $t9 +/* 0040D280 00000000 */ nop +/* 0040D284 1440001A */ bnez $v0, .L0040D2F0 +/* 0040D288 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0040D28C: +/* 0040D28C 8F9987BC */ lw $t9, %call16(peek_char)($gp) +/* 0040D290 8E700000 */ lw $s0, ($s3) +/* 0040D294 8E240000 */ lw $a0, ($s1) +/* 0040D298 0320F809 */ jalr $t9 +/* 0040D29C 00000000 */ nop +/* 0040D2A0 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D2A4 02002025 */ move $a0, $s0 +/* 0040D2A8 00402825 */ move $a1, $v0 +/* 0040D2AC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D2B0 24060001 */ li $a2, 1 +/* 0040D2B4 2407000A */ li $a3, 10 +/* 0040D2B8 0320F809 */ jalr $t9 +/* 0040D2BC 00000000 */ nop +/* 0040D2C0 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D2C4 8E240000 */ lw $a0, ($s1) +/* 0040D2C8 8F9987C0 */ lw $t9, %call16(next_char)($gp) +/* 0040D2CC 0320F809 */ jalr $t9 +/* 0040D2D0 00000000 */ nop +/* 0040D2D4 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D2D8 8E240000 */ lw $a0, ($s1) +/* 0040D2DC 8F9987B8 */ lw $t9, %call16(eoln)($gp) +/* 0040D2E0 0320F809 */ jalr $t9 +/* 0040D2E4 00000000 */ nop +/* 0040D2E8 1040FFE8 */ beqz $v0, .L0040D28C +/* 0040D2EC 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0040D2F0: +/* 0040D2F0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0040D2F4 8E640000 */ lw $a0, ($s3) +/* 0040D2F8 0320F809 */ jalr $t9 +/* 0040D2FC 00000000 */ nop +/* 0040D300 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D304 8E240000 */ lw $a0, ($s1) +/* 0040D308 8F9987C0 */ lw $t9, %call16(next_char)($gp) +/* 0040D30C 0320F809 */ jalr $t9 +/* 0040D310 00000000 */ nop +/* 0040D314 8E8C0000 */ lw $t4, ($s4) +/* 0040D318 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0040D31C 25920001 */ addiu $s2, $t4, 1 +/* 0040D320 02B2082A */ slt $at, $s5, $s2 +/* 0040D324 1020FFBA */ beqz $at, .L0040D210 +/* 0040D328 AE920000 */ sw $s2, ($s4) +.L0040D32C: +/* 0040D32C 8FBF00CC */ lw $ra, 0xcc($sp) +.L0040D330: +/* 0040D330 8FB000B0 */ lw $s0, 0xb0($sp) +/* 0040D334 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0040D338 8FB200B8 */ lw $s2, 0xb8($sp) +/* 0040D33C 8FB300BC */ lw $s3, 0xbc($sp) +/* 0040D340 8FB400C0 */ lw $s4, 0xc0($sp) +/* 0040D344 8FB500C4 */ lw $s5, 0xc4($sp) +/* 0040D348 03E00008 */ jr $ra +/* 0040D34C 27BD00D0 */ addiu $sp, $sp, 0xd0 + .type print_source, @function + .size print_source, .-print_source + .end print_source + +glabel write_directive + .ent write_directive + # 0040DFB0 output_inst_ascii +/* 0040D350 3C1C0FC1 */ .cpload $t9 +/* 0040D354 279C2700 */ +/* 0040D358 0399E021 */ +/* 0040D35C 8F838B74 */ lw $v1, %got(in_file)($gp) +/* 0040D360 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0040D364 AFBF002C */ sw $ra, 0x2c($sp) +/* 0040D368 8C630000 */ lw $v1, ($v1) +/* 0040D36C AFBC0028 */ sw $gp, 0x28($sp) +/* 0040D370 AFB20024 */ sw $s2, 0x24($sp) +/* 0040D374 AFB10020 */ sw $s1, 0x20($sp) +/* 0040D378 AFB0001C */ sw $s0, 0x1c($sp) +/* 0040D37C 8C720004 */ lw $s2, 4($v1) +/* 0040D380 24010001 */ li $at, 1 +/* 0040D384 00808825 */ move $s1, $a0 +/* 0040D388 92420005 */ lbu $v0, 5($s2) +/* 0040D38C 3042003F */ andi $v0, $v0, 0x3f +/* 0040D390 50410302 */ beql $v0, $at, .L0040DF9C +/* 0040D394 8FBF002C */ lw $ra, 0x2c($sp) +/* 0040D398 14400014 */ bnez $v0, .L0040D3EC +/* 0040D39C 24050009 */ li $a1, 9 +/* 0040D3A0 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D3A4 8E450000 */ lw $a1, ($s2) +/* 0040D3A8 0320F809 */ jalr $t9 +/* 0040D3AC 00000000 */ nop +/* 0040D3B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D3B4 8E240000 */ lw $a0, ($s1) +/* 0040D3B8 2405003A */ li $a1, 58 +/* 0040D3BC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D3C0 24060001 */ li $a2, 1 +/* 0040D3C4 2407000A */ li $a3, 10 +/* 0040D3C8 0320F809 */ jalr $t9 +/* 0040D3CC 00000000 */ nop +/* 0040D3D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D3D4 8E240000 */ lw $a0, ($s1) +/* 0040D3D8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0040D3DC 0320F809 */ jalr $t9 +/* 0040D3E0 00000000 */ nop +/* 0040D3E4 100002EC */ b .L0040DF98 +/* 0040D3E8 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D3EC: +/* 0040D3EC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D3F0 8E240000 */ lw $a0, ($s1) +/* 0040D3F4 AFA30034 */ sw $v1, 0x34($sp) +/* 0040D3F8 24060001 */ li $a2, 1 +/* 0040D3FC 0320F809 */ jalr $t9 +/* 0040D400 2407000A */ li $a3, 10 +/* 0040D404 924E0005 */ lbu $t6, 5($s2) +/* 0040D408 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D40C 8E300000 */ lw $s0, ($s1) +/* 0040D410 31CF003F */ andi $t7, $t6, 0x3f +/* 0040D414 8F998844 */ lw $t9, %got(itype_tab)($gp) +/* 0040D418 000FC080 */ sll $t8, $t7, 2 +/* 0040D41C 030FC023 */ subu $t8, $t8, $t7 +/* 0040D420 0018C080 */ sll $t8, $t8, 2 +/* 0040D424 03192821 */ addu $a1, $t8, $t9 +/* 0040D428 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D42C 2406000C */ li $a2, 12 +/* 0040D430 00003825 */ move $a3, $zero +/* 0040D434 0320F809 */ jalr $t9 +/* 0040D438 02002025 */ move $a0, $s0 +/* 0040D43C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D440 02002025 */ move $a0, $s0 +/* 0040D444 24050009 */ li $a1, 9 +/* 0040D448 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D44C 24060001 */ li $a2, 1 +/* 0040D450 2407000A */ li $a3, 10 +/* 0040D454 0320F809 */ jalr $t9 +/* 0040D458 00000000 */ nop +/* 0040D45C 92420005 */ lbu $v0, 5($s2) +/* 0040D460 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D464 3042003F */ andi $v0, $v0, 0x3f +/* 0040D468 304200FF */ andi $v0, $v0, 0xff +/* 0040D46C 2448FFFE */ addiu $t0, $v0, -2 +/* 0040D470 2D01003C */ sltiu $at, $t0, 0x3c +/* 0040D474 102002B0 */ beqz $at, .L0040DF38 +/* 0040D478 00000000 */ nop +/* 0040D47C 8F818038 */ lw $at, %got(jtbl_10008ADC)($gp) +/* 0040D480 00084080 */ sll $t0, $t0, 2 +/* 0040D484 00280821 */ addu $at, $at, $t0 +/* 0040D488 8C288ADC */ lw $t0, %lo(jtbl_10008ADC)($at) +/* 0040D48C 011C4021 */ addu $t0, $t0, $gp +/* 0040D490 01000008 */ jr $t0 +/* 0040D494 00000000 */ nop +.L0040D498: +/* 0040D498 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D49C 8E240000 */ lw $a0, ($s1) +/* 0040D4A0 8E450008 */ lw $a1, 8($s2) +/* 0040D4A4 24060001 */ li $a2, 1 +/* 0040D4A8 0320F809 */ jalr $t9 +/* 0040D4AC 2407000A */ li $a3, 10 +/* 0040D4B0 100002A9 */ b .L0040DF58 +/* 0040D4B4 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D4B8: +/* 0040D4B8 8F99819C */ lw $t9, %call16(put_string)($gp) +/* 0040D4BC 8E49000C */ lw $t1, 0xc($s2) +/* 0040D4C0 02202025 */ move $a0, $s1 +/* 0040D4C4 00002825 */ move $a1, $zero +/* 0040D4C8 0320F809 */ jalr $t9 +/* 0040D4CC AFA90044 */ sw $t1, 0x44($sp) +/* 0040D4D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D4D4 8E240000 */ lw $a0, ($s1) +/* 0040D4D8 2405003A */ li $a1, 58 +/* 0040D4DC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D4E0 24060001 */ li $a2, 1 +/* 0040D4E4 2407000A */ li $a3, 10 +/* 0040D4E8 0320F809 */ jalr $t9 +/* 0040D4EC 00000000 */ nop +/* 0040D4F0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D4F4 8E240000 */ lw $a0, ($s1) +/* 0040D4F8 8FA50044 */ lw $a1, 0x44($sp) +/* 0040D4FC 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0040D500 24060001 */ li $a2, 1 +/* 0040D504 2407000A */ li $a3, 10 +/* 0040D508 0320F809 */ jalr $t9 +/* 0040D50C 00000000 */ nop +/* 0040D510 10000291 */ b .L0040DF58 +/* 0040D514 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D518: +/* 0040D518 8F99819C */ lw $t9, %call16(put_string)($gp) +/* 0040D51C 02202025 */ move $a0, $s1 +/* 0040D520 24050001 */ li $a1, 1 +/* 0040D524 0320F809 */ jalr $t9 +/* 0040D528 00000000 */ nop +/* 0040D52C 1000028A */ b .L0040DF58 +/* 0040D530 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D534: +/* 0040D534 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D538 8E240000 */ lw $a0, ($s1) +/* 0040D53C 8E450000 */ lw $a1, ($s2) +/* 0040D540 24060001 */ li $a2, 1 +/* 0040D544 0320F809 */ jalr $t9 +/* 0040D548 2407000A */ li $a3, 10 +/* 0040D54C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D550 8E240000 */ lw $a0, ($s1) +/* 0040D554 24050020 */ li $a1, 32 +/* 0040D558 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D55C 24060001 */ li $a2, 1 +/* 0040D560 2407000A */ li $a3, 10 +/* 0040D564 0320F809 */ jalr $t9 +/* 0040D568 00000000 */ nop +/* 0040D56C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D570 02202025 */ move $a0, $s1 +/* 0040D574 24050001 */ li $a1, 1 +/* 0040D578 8F99819C */ lw $t9, %call16(put_string)($gp) +/* 0040D57C 0320F809 */ jalr $t9 +/* 0040D580 00000000 */ nop +/* 0040D584 10000274 */ b .L0040DF58 +/* 0040D588 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D58C: +/* 0040D58C 8E450000 */ lw $a1, ($s2) +/* 0040D590 24060001 */ li $a2, 1 +/* 0040D594 14A00028 */ bnez $a1, .L0040D638 +/* 0040D598 00000000 */ nop +/* 0040D59C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D5A0 8E240000 */ lw $a0, ($s1) +/* 0040D5A4 8E450008 */ lw $a1, 8($s2) +/* 0040D5A8 0320F809 */ jalr $t9 +/* 0040D5AC 2407000A */ li $a3, 10 +/* 0040D5B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D5B4 8E240000 */ lw $a0, ($s1) +/* 0040D5B8 24050020 */ li $a1, 32 +/* 0040D5BC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D5C0 24060001 */ li $a2, 1 +/* 0040D5C4 2407000A */ li $a3, 10 +/* 0040D5C8 0320F809 */ jalr $t9 +/* 0040D5CC 00000000 */ nop +/* 0040D5D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D5D4 8E240000 */ lw $a0, ($s1) +/* 0040D5D8 2405003A */ li $a1, 58 +/* 0040D5DC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D5E0 24060001 */ li $a2, 1 +/* 0040D5E4 2407000A */ li $a3, 10 +/* 0040D5E8 0320F809 */ jalr $t9 +/* 0040D5EC 00000000 */ nop +/* 0040D5F0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D5F4 8E240000 */ lw $a0, ($s1) +/* 0040D5F8 24050020 */ li $a1, 32 +/* 0040D5FC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D600 24060001 */ li $a2, 1 +/* 0040D604 2407000A */ li $a3, 10 +/* 0040D608 0320F809 */ jalr $t9 +/* 0040D60C 00000000 */ nop +/* 0040D610 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D614 8E240000 */ lw $a0, ($s1) +/* 0040D618 8E45000C */ lw $a1, 0xc($s2) +/* 0040D61C 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0040D620 24060001 */ li $a2, 1 +/* 0040D624 2407000A */ li $a3, 10 +/* 0040D628 0320F809 */ jalr $t9 +/* 0040D62C 00000000 */ nop +/* 0040D630 10000249 */ b .L0040DF58 +/* 0040D634 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D638: +/* 0040D638 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D63C 02202025 */ move $a0, $s1 +/* 0040D640 0320F809 */ jalr $t9 +/* 0040D644 00000000 */ nop +/* 0040D648 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D64C 02202025 */ move $a0, $s1 +/* 0040D650 8E450008 */ lw $a1, 8($s2) +/* 0040D654 8F998184 */ lw $t9, %call16(put_integer_ws)($gp) +/* 0040D658 0320F809 */ jalr $t9 +/* 0040D65C 00000000 */ nop +/* 0040D660 1000023D */ b .L0040DF58 +/* 0040D664 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D668: +/* 0040D668 8F9987F8 */ lw $t9, %call16(get)($gp) +/* 0040D66C 8E4A0008 */ lw $t2, 8($s2) +/* 0040D670 8F818B7C */ lw $at, %got(val64)($gp) +/* 0040D674 8FA40034 */ lw $a0, 0x34($sp) +/* 0040D678 24050010 */ li $a1, 16 +/* 0040D67C 0320F809 */ jalr $t9 +/* 0040D680 AC2A0000 */ sw $t2, ($at) +/* 0040D684 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D688 240E0001 */ li $t6, 1 +/* 0040D68C 240F000A */ li $t7, 10 +/* 0040D690 8F8B8B74 */ lw $t3, %got(in_file)($gp) +/* 0040D694 8F828B7C */ lw $v0, %got(val64)($gp) +/* 0040D698 8D6B0000 */ lw $t3, ($t3) +/* 0040D69C 8C460000 */ lw $a2, ($v0) +/* 0040D6A0 8D6C0004 */ lw $t4, 4($t3) +/* 0040D6A4 8D870008 */ lw $a3, 8($t4) +/* 0040D6A8 AC470004 */ sw $a3, 4($v0) +/* 0040D6AC 8F9987E4 */ lw $t9, %call16(write_int64)($gp) +/* 0040D6B0 8E240000 */ lw $a0, ($s1) +/* 0040D6B4 AFAF0014 */ sw $t7, 0x14($sp) +/* 0040D6B8 0320F809 */ jalr $t9 +/* 0040D6BC AFAE0010 */ sw $t6, 0x10($sp) +/* 0040D6C0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D6C4 8E240000 */ lw $a0, ($s1) +/* 0040D6C8 24050020 */ li $a1, 32 +/* 0040D6CC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D6D0 24060001 */ li $a2, 1 +/* 0040D6D4 2407000A */ li $a3, 10 +/* 0040D6D8 0320F809 */ jalr $t9 +/* 0040D6DC 00000000 */ nop +/* 0040D6E0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D6E4 8E240000 */ lw $a0, ($s1) +/* 0040D6E8 2405003A */ li $a1, 58 +/* 0040D6EC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D6F0 24060001 */ li $a2, 1 +/* 0040D6F4 2407000A */ li $a3, 10 +/* 0040D6F8 0320F809 */ jalr $t9 +/* 0040D6FC 00000000 */ nop +/* 0040D700 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D704 8E240000 */ lw $a0, ($s1) +/* 0040D708 24050020 */ li $a1, 32 +/* 0040D70C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D710 24060001 */ li $a2, 1 +/* 0040D714 2407000A */ li $a3, 10 +/* 0040D718 0320F809 */ jalr $t9 +/* 0040D71C 00000000 */ nop +/* 0040D720 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D724 8E240000 */ lw $a0, ($s1) +/* 0040D728 8E45000C */ lw $a1, 0xc($s2) +/* 0040D72C 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0040D730 24060001 */ li $a2, 1 +/* 0040D734 2407000A */ li $a3, 10 +/* 0040D738 0320F809 */ jalr $t9 +/* 0040D73C 00000000 */ nop +/* 0040D740 10000205 */ b .L0040DF58 +/* 0040D744 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D748: +/* 0040D748 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D74C 02202025 */ move $a0, $s1 +/* 0040D750 8E450000 */ lw $a1, ($s2) +/* 0040D754 0320F809 */ jalr $t9 +/* 0040D758 00000000 */ nop +/* 0040D75C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D760 8E240000 */ lw $a0, ($s1) +/* 0040D764 24050020 */ li $a1, 32 +/* 0040D768 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D76C 24060001 */ li $a2, 1 +/* 0040D770 2407000A */ li $a3, 10 +/* 0040D774 0320F809 */ jalr $t9 +/* 0040D778 00000000 */ nop +/* 0040D77C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D780 8E240000 */ lw $a0, ($s1) +/* 0040D784 8E450008 */ lw $a1, 8($s2) +/* 0040D788 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D78C 24060001 */ li $a2, 1 +/* 0040D790 2407000A */ li $a3, 10 +/* 0040D794 0320F809 */ jalr $t9 +/* 0040D798 00000000 */ nop +/* 0040D79C 8E58000C */ lw $t8, 0xc($s2) +/* 0040D7A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D7A4 24050020 */ li $a1, 32 +/* 0040D7A8 130001EB */ beqz $t8, .L0040DF58 +/* 0040D7AC 00000000 */ nop +/* 0040D7B0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D7B4 8E240000 */ lw $a0, ($s1) +/* 0040D7B8 24060001 */ li $a2, 1 +/* 0040D7BC 0320F809 */ jalr $t9 +/* 0040D7C0 2407000A */ li $a3, 10 +/* 0040D7C4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D7C8 8E240000 */ lw $a0, ($s1) +/* 0040D7CC 24050053 */ li $a1, 83 +/* 0040D7D0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D7D4 24060001 */ li $a2, 1 +/* 0040D7D8 2407000A */ li $a3, 10 +/* 0040D7DC 0320F809 */ jalr $t9 +/* 0040D7E0 00000000 */ nop +/* 0040D7E4 100001DC */ b .L0040DF58 +/* 0040D7E8 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D7EC: +/* 0040D7EC 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D7F0 02202025 */ move $a0, $s1 +/* 0040D7F4 8E450000 */ lw $a1, ($s2) +/* 0040D7F8 0320F809 */ jalr $t9 +/* 0040D7FC 00000000 */ nop +/* 0040D800 8E590008 */ lw $t9, 8($s2) +/* 0040D804 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D808 2405002C */ li $a1, 44 +/* 0040D80C 132001D2 */ beqz $t9, .L0040DF58 +/* 0040D810 00000000 */ nop +/* 0040D814 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040D818 8E240000 */ lw $a0, ($s1) +/* 0040D81C 24060001 */ li $a2, 1 +/* 0040D820 0320F809 */ jalr $t9 +/* 0040D824 2407000A */ li $a3, 10 +/* 0040D828 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D82C 02202025 */ move $a0, $s1 +/* 0040D830 8E450008 */ lw $a1, 8($s2) +/* 0040D834 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D838 0320F809 */ jalr $t9 +/* 0040D83C 00000000 */ nop +/* 0040D840 100001C5 */ b .L0040DF58 +/* 0040D844 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D848: +/* 0040D848 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040D84C 02202025 */ move $a0, $s1 +/* 0040D850 8E450000 */ lw $a1, ($s2) +/* 0040D854 0320F809 */ jalr $t9 +/* 0040D858 00000000 */ nop +/* 0040D85C 100001BE */ b .L0040DF58 +/* 0040D860 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D864: +/* 0040D864 9248000C */ lbu $t0, 0xc($s2) +/* 0040D868 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D86C 8F8C8840 */ lw $t4, %got(reg_name_tab)($gp) +/* 0040D870 00084E00 */ sll $t1, $t0, 0x18 +/* 0040D874 00095642 */ srl $t2, $t1, 0x19 +/* 0040D878 000A5880 */ sll $t3, $t2, 2 +/* 0040D87C 016A5821 */ addu $t3, $t3, $t2 +/* 0040D880 8E240000 */ lw $a0, ($s1) +/* 0040D884 24060005 */ li $a2, 5 +/* 0040D888 00003825 */ move $a3, $zero +/* 0040D88C 0320F809 */ jalr $t9 +/* 0040D890 016C2821 */ addu $a1, $t3, $t4 +/* 0040D894 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D898 8E240000 */ lw $a0, ($s1) +/* 0040D89C 24060002 */ li $a2, 2 +/* 0040D8A0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D8A4 8F858038 */ lw $a1, %got(RO_10008AD7)($gp) +/* 0040D8A8 24070002 */ li $a3, 2 +/* 0040D8AC 0320F809 */ jalr $t9 +/* 0040D8B0 24A58AD7 */ addiu $a1, %lo(RO_10008AD7) # addiu $a1, $a1, -0x7529 +/* 0040D8B4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D8B8 8E240000 */ lw $a0, ($s1) +/* 0040D8BC 8E450008 */ lw $a1, 8($s2) +/* 0040D8C0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D8C4 24060001 */ li $a2, 1 +/* 0040D8C8 2407000A */ li $a3, 10 +/* 0040D8CC 0320F809 */ jalr $t9 +/* 0040D8D0 00000000 */ nop +/* 0040D8D4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D8D8 8E240000 */ lw $a0, ($s1) +/* 0040D8DC 24060002 */ li $a2, 2 +/* 0040D8E0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D8E4 8F858038 */ lw $a1, %got(RO_10008AD5)($gp) +/* 0040D8E8 24070002 */ li $a3, 2 +/* 0040D8EC 0320F809 */ jalr $t9 +/* 0040D8F0 24A58AD5 */ addiu $a1, %lo(RO_10008AD5) # addiu $a1, $a1, -0x752b +/* 0040D8F4 964D000C */ lhu $t5, 0xc($s2) +/* 0040D8F8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D8FC 8E240000 */ lw $a0, ($s1) +/* 0040D900 000D75C0 */ sll $t6, $t5, 0x17 +/* 0040D904 8F998840 */ lw $t9, %got(reg_name_tab)($gp) +/* 0040D908 000E7E42 */ srl $t7, $t6, 0x19 +/* 0040D90C 000FC080 */ sll $t8, $t7, 2 +/* 0040D910 030FC021 */ addu $t8, $t8, $t7 +/* 0040D914 03192821 */ addu $a1, $t8, $t9 +/* 0040D918 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D91C 24060005 */ li $a2, 5 +/* 0040D920 00003825 */ move $a3, $zero +/* 0040D924 0320F809 */ jalr $t9 +/* 0040D928 00000000 */ nop +/* 0040D92C 1000018A */ b .L0040DF58 +/* 0040D930 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D934: +/* 0040D934 92480008 */ lbu $t0, 8($s2) +/* 0040D938 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D93C 8F8C8840 */ lw $t4, %got(reg_name_tab)($gp) +/* 0040D940 00084E00 */ sll $t1, $t0, 0x18 +/* 0040D944 00095642 */ srl $t2, $t1, 0x19 +/* 0040D948 000A5880 */ sll $t3, $t2, 2 +/* 0040D94C 016A5821 */ addu $t3, $t3, $t2 +/* 0040D950 8E240000 */ lw $a0, ($s1) +/* 0040D954 24060005 */ li $a2, 5 +/* 0040D958 00003825 */ move $a3, $zero +/* 0040D95C 0320F809 */ jalr $t9 +/* 0040D960 016C2821 */ addu $a1, $t3, $t4 +/* 0040D964 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D968 8E240000 */ lw $a0, ($s1) +/* 0040D96C 24060002 */ li $a2, 2 +/* 0040D970 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D974 8F858038 */ lw $a1, %got(RO_10008AD3)($gp) +/* 0040D978 24070002 */ li $a3, 2 +/* 0040D97C 0320F809 */ jalr $t9 +/* 0040D980 24A58AD3 */ addiu $a1, %lo(RO_10008AD3) # addiu $a1, $a1, -0x752d +/* 0040D984 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D988 8E240000 */ lw $a0, ($s1) +/* 0040D98C 8E45000C */ lw $a1, 0xc($s2) +/* 0040D990 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D994 24060001 */ li $a2, 1 +/* 0040D998 2407000A */ li $a3, 10 +/* 0040D99C 0320F809 */ jalr $t9 +/* 0040D9A0 00000000 */ nop +/* 0040D9A4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D9A8 8E240000 */ lw $a0, ($s1) +/* 0040D9AC 24060002 */ li $a2, 2 +/* 0040D9B0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040D9B4 8F858038 */ lw $a1, %got(RO_10008AD1)($gp) +/* 0040D9B8 24070002 */ li $a3, 2 +/* 0040D9BC 0320F809 */ jalr $t9 +/* 0040D9C0 24A58AD1 */ addiu $a1, %lo(RO_10008AD1) # addiu $a1, $a1, -0x752f +/* 0040D9C4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040D9C8 8E240000 */ lw $a0, ($s1) +/* 0040D9CC 8E450000 */ lw $a1, ($s2) +/* 0040D9D0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D9D4 24060001 */ li $a2, 1 +/* 0040D9D8 2407000A */ li $a3, 10 +/* 0040D9DC 0320F809 */ jalr $t9 +/* 0040D9E0 00000000 */ nop +/* 0040D9E4 1000015C */ b .L0040DF58 +/* 0040D9E8 8FBC0028 */ lw $gp, 0x28($sp) +.L0040D9EC: +/* 0040D9EC 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040D9F0 8E240000 */ lw $a0, ($s1) +/* 0040D9F4 8E450008 */ lw $a1, 8($s2) +/* 0040D9F8 24060001 */ li $a2, 1 +/* 0040D9FC 0320F809 */ jalr $t9 +/* 0040DA00 2407000A */ li $a3, 10 +/* 0040DA04 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DA08 8E240000 */ lw $a0, ($s1) +/* 0040DA0C 24050020 */ li $a1, 32 +/* 0040DA10 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DA14 24060001 */ li $a2, 1 +/* 0040DA18 2407000A */ li $a3, 10 +/* 0040DA1C 0320F809 */ jalr $t9 +/* 0040DA20 00000000 */ nop +/* 0040DA24 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DA28 8E240000 */ lw $a0, ($s1) +/* 0040DA2C 8E45000C */ lw $a1, 0xc($s2) +/* 0040DA30 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DA34 24060001 */ li $a2, 1 +/* 0040DA38 2407000A */ li $a3, 10 +/* 0040DA3C 0320F809 */ jalr $t9 +/* 0040DA40 00000000 */ nop +/* 0040DA44 10000144 */ b .L0040DF58 +/* 0040DA48 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DA4C: +/* 0040DA4C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DA50 8E240000 */ lw $a0, ($s1) +/* 0040DA54 8E450008 */ lw $a1, 8($s2) +/* 0040DA58 24060001 */ li $a2, 1 +/* 0040DA5C 0320F809 */ jalr $t9 +/* 0040DA60 2407000A */ li $a3, 10 +/* 0040DA64 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DA68 8E240000 */ lw $a0, ($s1) +/* 0040DA6C 24050020 */ li $a1, 32 +/* 0040DA70 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DA74 24060001 */ li $a2, 1 +/* 0040DA78 2407000A */ li $a3, 10 +/* 0040DA7C 0320F809 */ jalr $t9 +/* 0040DA80 00000000 */ nop +/* 0040DA84 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DA88 8E240000 */ lw $a0, ($s1) +/* 0040DA8C 8E45000C */ lw $a1, 0xc($s2) +/* 0040DA90 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DA94 24060001 */ li $a2, 1 +/* 0040DA98 2407000A */ li $a3, 10 +/* 0040DA9C 0320F809 */ jalr $t9 +/* 0040DAA0 00000000 */ nop +/* 0040DAA4 1000012C */ b .L0040DF58 +/* 0040DAA8 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DAAC: +/* 0040DAAC 8F998190 */ lw $t9, %call16(put_hex10)($gp) +/* 0040DAB0 02202025 */ move $a0, $s1 +/* 0040DAB4 8E450008 */ lw $a1, 8($s2) +/* 0040DAB8 0320F809 */ jalr $t9 +/* 0040DABC 00000000 */ nop +/* 0040DAC0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DAC4 8E240000 */ lw $a0, ($s1) +/* 0040DAC8 24060002 */ li $a2, 2 +/* 0040DACC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DAD0 8F858038 */ lw $a1, %got(RO_10008ACF)($gp) +/* 0040DAD4 24070002 */ li $a3, 2 +/* 0040DAD8 0320F809 */ jalr $t9 +/* 0040DADC 24A58ACF */ addiu $a1, %lo(RO_10008ACF) # addiu $a1, $a1, -0x7531 +/* 0040DAE0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DAE4 8E240000 */ lw $a0, ($s1) +/* 0040DAE8 8E45000C */ lw $a1, 0xc($s2) +/* 0040DAEC 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DAF0 24060001 */ li $a2, 1 +/* 0040DAF4 2407000A */ li $a3, 10 +/* 0040DAF8 0320F809 */ jalr $t9 +/* 0040DAFC 00000000 */ nop +/* 0040DB00 10000115 */ b .L0040DF58 +/* 0040DB04 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DB08: +/* 0040DB08 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040DB0C 02202025 */ move $a0, $s1 +/* 0040DB10 8E450000 */ lw $a1, ($s2) +/* 0040DB14 0320F809 */ jalr $t9 +/* 0040DB18 00000000 */ nop +/* 0040DB1C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DB20 8E240000 */ lw $a0, ($s1) +/* 0040DB24 24050020 */ li $a1, 32 +/* 0040DB28 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DB2C 24060001 */ li $a2, 1 +/* 0040DB30 2407000A */ li $a3, 10 +/* 0040DB34 0320F809 */ jalr $t9 +/* 0040DB38 00000000 */ nop +/* 0040DB3C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DB40 8E240000 */ lw $a0, ($s1) +/* 0040DB44 8E450008 */ lw $a1, 8($s2) +/* 0040DB48 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DB4C 24060001 */ li $a2, 1 +/* 0040DB50 2407000A */ li $a3, 10 +/* 0040DB54 0320F809 */ jalr $t9 +/* 0040DB58 00000000 */ nop +/* 0040DB5C 100000FE */ b .L0040DF58 +/* 0040DB60 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DB64: +/* 0040DB64 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DB68 8E240000 */ lw $a0, ($s1) +/* 0040DB6C 8E450000 */ lw $a1, ($s2) +/* 0040DB70 24060001 */ li $a2, 1 +/* 0040DB74 0320F809 */ jalr $t9 +/* 0040DB78 2407000A */ li $a3, 10 +/* 0040DB7C 100000F6 */ b .L0040DF58 +/* 0040DB80 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DB84: +/* 0040DB84 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DB88 8E240000 */ lw $a0, ($s1) +/* 0040DB8C 8E450008 */ lw $a1, 8($s2) +/* 0040DB90 24060001 */ li $a2, 1 +/* 0040DB94 0320F809 */ jalr $t9 +/* 0040DB98 2407000A */ li $a3, 10 +/* 0040DB9C 100000EE */ b .L0040DF58 +/* 0040DBA0 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DBA4: +/* 0040DBA4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DBA8 8E240000 */ lw $a0, ($s1) +/* 0040DBAC 24050020 */ li $a1, 32 +/* 0040DBB0 24060001 */ li $a2, 1 +/* 0040DBB4 0320F809 */ jalr $t9 +/* 0040DBB8 2407000A */ li $a3, 10 +/* 0040DBBC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DBC0 8E4D0008 */ lw $t5, 8($s2) +/* 0040DBC4 8E240000 */ lw $a0, ($s1) +/* 0040DBC8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DBCC 000D7080 */ sll $t6, $t5, 2 +/* 0040DBD0 8F8F8848 */ lw $t7, %got(iopt_tab)($gp) +/* 0040DBD4 01CD7023 */ subu $t6, $t6, $t5 +/* 0040DBD8 000E7080 */ sll $t6, $t6, 2 +/* 0040DBDC 2406000C */ li $a2, 12 +/* 0040DBE0 00003825 */ move $a3, $zero +/* 0040DBE4 0320F809 */ jalr $t9 +/* 0040DBE8 01CF2821 */ addu $a1, $t6, $t7 +/* 0040DBEC 100000DA */ b .L0040DF58 +/* 0040DBF0 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DBF4: +/* 0040DBF4 92580006 */ lbu $t8, 6($s2) +/* 0040DBF8 8F8A884C */ lw $t2, %got(ioption_type_tab)($gp) +/* 0040DBFC 8E240000 */ lw $a0, ($s1) +/* 0040DC00 0018CE00 */ sll $t9, $t8, 0x18 +/* 0040DC04 00194782 */ srl $t0, $t9, 0x1e +/* 0040DC08 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DC0C 00084900 */ sll $t1, $t0, 4 +/* 0040DC10 01284823 */ subu $t1, $t1, $t0 +/* 0040DC14 2406000F */ li $a2, 15 +/* 0040DC18 00003825 */ move $a3, $zero +/* 0040DC1C 0320F809 */ jalr $t9 +/* 0040DC20 012A2821 */ addu $a1, $t1, $t2 +/* 0040DC24 924B0006 */ lbu $t3, 6($s2) +/* 0040DC28 24010003 */ li $at, 3 +/* 0040DC2C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DC30 000B6600 */ sll $t4, $t3, 0x18 +/* 0040DC34 000C6F82 */ srl $t5, $t4, 0x1e +/* 0040DC38 15A10007 */ bne $t5, $at, .L0040DC58 +/* 0040DC3C 24050020 */ li $a1, 32 +/* 0040DC40 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DC44 8E240000 */ lw $a0, ($s1) +/* 0040DC48 24060001 */ li $a2, 1 +/* 0040DC4C 0320F809 */ jalr $t9 +/* 0040DC50 2407000A */ li $a3, 10 +/* 0040DC54 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DC58: +/* 0040DC58 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DC5C 8E240000 */ lw $a0, ($s1) +/* 0040DC60 8E45000C */ lw $a1, 0xc($s2) +/* 0040DC64 24060001 */ li $a2, 1 +/* 0040DC68 0320F809 */ jalr $t9 +/* 0040DC6C 2407000A */ li $a3, 10 +/* 0040DC70 100000B9 */ b .L0040DF58 +/* 0040DC74 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DC78: +/* 0040DC78 924E0006 */ lbu $t6, 6($s2) +/* 0040DC7C 8F888840 */ lw $t0, %got(reg_name_tab)($gp) +/* 0040DC80 8E240000 */ lw $a0, ($s1) +/* 0040DC84 000E7E00 */ sll $t7, $t6, 0x18 +/* 0040DC88 000FC642 */ srl $t8, $t7, 0x19 +/* 0040DC8C 0018C880 */ sll $t9, $t8, 2 +/* 0040DC90 0338C821 */ addu $t9, $t9, $t8 +/* 0040DC94 03282821 */ addu $a1, $t9, $t0 +/* 0040DC98 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DC9C 24060005 */ li $a2, 5 +/* 0040DCA0 00003825 */ move $a3, $zero +/* 0040DCA4 0320F809 */ jalr $t9 +/* 0040DCA8 00000000 */ nop +/* 0040DCAC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DCB0 8E240000 */ lw $a0, ($s1) +/* 0040DCB4 2405002C */ li $a1, 44 +/* 0040DCB8 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DCBC 24060001 */ li $a2, 1 +/* 0040DCC0 2407000A */ li $a3, 10 +/* 0040DCC4 0320F809 */ jalr $t9 +/* 0040DCC8 00000000 */ nop +/* 0040DCCC 96490006 */ lhu $t1, 6($s2) +/* 0040DCD0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DCD4 8E240000 */ lw $a0, ($s1) +/* 0040DCD8 000955C0 */ sll $t2, $t1, 0x17 +/* 0040DCDC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DCE0 000A5E42 */ srl $t3, $t2, 0x19 +/* 0040DCE4 8F8D8840 */ lw $t5, %got(reg_name_tab)($gp) +/* 0040DCE8 000B6080 */ sll $t4, $t3, 2 +/* 0040DCEC 018B6021 */ addu $t4, $t4, $t3 +/* 0040DCF0 24060005 */ li $a2, 5 +/* 0040DCF4 00003825 */ move $a3, $zero +/* 0040DCF8 0320F809 */ jalr $t9 +/* 0040DCFC 018D2821 */ addu $a1, $t4, $t5 +/* 0040DD00 10000095 */ b .L0040DF58 +/* 0040DD04 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DD08: +/* 0040DD08 8F998190 */ lw $t9, %call16(put_hex10)($gp) +/* 0040DD0C 02202025 */ move $a0, $s1 +/* 0040DD10 8E450008 */ lw $a1, 8($s2) +/* 0040DD14 0320F809 */ jalr $t9 +/* 0040DD18 00000000 */ nop +/* 0040DD1C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DD20 8E240000 */ lw $a0, ($s1) +/* 0040DD24 2405002C */ li $a1, 44 +/* 0040DD28 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DD2C 24060001 */ li $a2, 1 +/* 0040DD30 2407000A */ li $a3, 10 +/* 0040DD34 0320F809 */ jalr $t9 +/* 0040DD38 00000000 */ nop +/* 0040DD3C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DD40 02202025 */ move $a0, $s1 +/* 0040DD44 8E45000C */ lw $a1, 0xc($s2) +/* 0040DD48 8F998190 */ lw $t9, %call16(put_hex10)($gp) +/* 0040DD4C 0320F809 */ jalr $t9 +/* 0040DD50 00000000 */ nop +/* 0040DD54 10000080 */ b .L0040DF58 +/* 0040DD58 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DD5C: +/* 0040DD5C 924E0008 */ lbu $t6, 8($s2) +/* 0040DD60 8F888840 */ lw $t0, %got(reg_name_tab)($gp) +/* 0040DD64 8E240000 */ lw $a0, ($s1) +/* 0040DD68 000E7E00 */ sll $t7, $t6, 0x18 +/* 0040DD6C 000FC642 */ srl $t8, $t7, 0x19 +/* 0040DD70 0018C880 */ sll $t9, $t8, 2 +/* 0040DD74 0338C821 */ addu $t9, $t9, $t8 +/* 0040DD78 03282821 */ addu $a1, $t9, $t0 +/* 0040DD7C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040DD80 24060005 */ li $a2, 5 +/* 0040DD84 00003825 */ move $a3, $zero +/* 0040DD88 0320F809 */ jalr $t9 +/* 0040DD8C 00000000 */ nop +/* 0040DD90 10000071 */ b .L0040DF58 +/* 0040DD94 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DD98: +/* 0040DD98 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DD9C 8E240000 */ lw $a0, ($s1) +/* 0040DDA0 8E450008 */ lw $a1, 8($s2) +/* 0040DDA4 24060001 */ li $a2, 1 +/* 0040DDA8 0320F809 */ jalr $t9 +/* 0040DDAC 2407000A */ li $a3, 10 +/* 0040DDB0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DDB4 8E240000 */ lw $a0, ($s1) +/* 0040DDB8 24050020 */ li $a1, 32 +/* 0040DDBC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DDC0 24060001 */ li $a2, 1 +/* 0040DDC4 2407000A */ li $a3, 10 +/* 0040DDC8 0320F809 */ jalr $t9 +/* 0040DDCC 00000000 */ nop +/* 0040DDD0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DDD4 02202025 */ move $a0, $s1 +/* 0040DDD8 8E450000 */ lw $a1, ($s2) +/* 0040DDDC 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040DDE0 0320F809 */ jalr $t9 +/* 0040DDE4 00000000 */ nop +/* 0040DDE8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DDEC 8E240000 */ lw $a0, ($s1) +/* 0040DDF0 24050020 */ li $a1, 32 +/* 0040DDF4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DDF8 24060001 */ li $a2, 1 +/* 0040DDFC 2407000A */ li $a3, 10 +/* 0040DE00 0320F809 */ jalr $t9 +/* 0040DE04 00000000 */ nop +/* 0040DE08 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DE0C 02202025 */ move $a0, $s1 +/* 0040DE10 8E45000C */ lw $a1, 0xc($s2) +/* 0040DE14 8F998188 */ lw $t9, %call16(put_sym)($gp) +/* 0040DE18 0320F809 */ jalr $t9 +/* 0040DE1C 00000000 */ nop +/* 0040DE20 1000004D */ b .L0040DF58 +/* 0040DE24 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DE28: +/* 0040DE28 8FA90034 */ lw $t1, 0x34($sp) +/* 0040DE2C 8D2A0004 */ lw $t2, 4($t1) +/* 0040DE30 8D4B0008 */ lw $t3, 8($t2) +/* 0040DE34 11600048 */ beqz $t3, .L0040DF58 +/* 0040DE38 00000000 */ nop +/* 0040DE3C 8F99819C */ lw $t9, %call16(put_string)($gp) +/* 0040DE40 02202025 */ move $a0, $s1 +/* 0040DE44 00002825 */ move $a1, $zero +/* 0040DE48 0320F809 */ jalr $t9 +/* 0040DE4C 00000000 */ nop +/* 0040DE50 10000041 */ b .L0040DF58 +/* 0040DE54 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DE58: +/* 0040DE58 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DE5C 8E240000 */ lw $a0, ($s1) +/* 0040DE60 8E450008 */ lw $a1, 8($s2) +/* 0040DE64 24060001 */ li $a2, 1 +/* 0040DE68 0320F809 */ jalr $t9 +/* 0040DE6C 2407000A */ li $a3, 10 +/* 0040DE70 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DE74 8E240000 */ lw $a0, ($s1) +/* 0040DE78 24050020 */ li $a1, 32 +/* 0040DE7C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DE80 24060001 */ li $a2, 1 +/* 0040DE84 2407000A */ li $a3, 10 +/* 0040DE88 0320F809 */ jalr $t9 +/* 0040DE8C 00000000 */ nop +/* 0040DE90 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DE94 8E240000 */ lw $a0, ($s1) +/* 0040DE98 8E45000C */ lw $a1, 0xc($s2) +/* 0040DE9C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DEA0 24060001 */ li $a2, 1 +/* 0040DEA4 2407000A */ li $a3, 10 +/* 0040DEA8 0320F809 */ jalr $t9 +/* 0040DEAC 00000000 */ nop +/* 0040DEB0 10000029 */ b .L0040DF58 +/* 0040DEB4 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DEB8: +/* 0040DEB8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DEBC 8E240000 */ lw $a0, ($s1) +/* 0040DEC0 8E450008 */ lw $a1, 8($s2) +/* 0040DEC4 24060001 */ li $a2, 1 +/* 0040DEC8 0320F809 */ jalr $t9 +/* 0040DECC 2407000A */ li $a3, 10 +/* 0040DED0 10000021 */ b .L0040DF58 +/* 0040DED4 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DED8: +/* 0040DED8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DEDC 8E240000 */ lw $a0, ($s1) +/* 0040DEE0 8E450008 */ lw $a1, 8($s2) +/* 0040DEE4 24060001 */ li $a2, 1 +/* 0040DEE8 0320F809 */ jalr $t9 +/* 0040DEEC 2407000A */ li $a3, 10 +/* 0040DEF0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DEF4 8E240000 */ lw $a0, ($s1) +/* 0040DEF8 2405002C */ li $a1, 44 +/* 0040DEFC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040DF00 24060001 */ li $a2, 1 +/* 0040DF04 2407000A */ li $a3, 10 +/* 0040DF08 0320F809 */ jalr $t9 +/* 0040DF0C 00000000 */ nop +/* 0040DF10 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DF14 8E240000 */ lw $a0, ($s1) +/* 0040DF18 8E45000C */ lw $a1, 0xc($s2) +/* 0040DF1C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0040DF20 24060001 */ li $a2, 1 +/* 0040DF24 2407000A */ li $a3, 10 +/* 0040DF28 0320F809 */ jalr $t9 +/* 0040DF2C 00000000 */ nop +/* 0040DF30 10000009 */ b .L0040DF58 +/* 0040DF34 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DF38: +/* 0040DF38 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0040DF3C 8F868038 */ lw $a2, %got(RO_10008ACA)($gp) +/* 0040DF40 24040001 */ li $a0, 1 +/* 0040DF44 2405040E */ li $a1, 1038 +/* 0040DF48 24070005 */ li $a3, 5 +/* 0040DF4C 0320F809 */ jalr $t9 +/* 0040DF50 24C68ACA */ addiu $a2, %lo(RO_10008ACA) # addiu $a2, $a2, -0x7536 +/* 0040DF54 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DF58: +/* 0040DF58 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0040DF5C 8E240000 */ lw $a0, ($s1) +/* 0040DF60 0320F809 */ jalr $t9 +/* 0040DF64 00000000 */ nop +/* 0040DF68 924C0005 */ lbu $t4, 5($s2) +/* 0040DF6C 2401001C */ li $at, 28 +/* 0040DF70 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040DF74 318D003F */ andi $t5, $t4, 0x3f +/* 0040DF78 55A10008 */ bnel $t5, $at, .L0040DF9C +/* 0040DF7C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0040DF80 8F9981A4 */ lw $t9, %call16(print_source)($gp) +/* 0040DF84 02202025 */ move $a0, $s1 +/* 0040DF88 8E450008 */ lw $a1, 8($s2) +/* 0040DF8C 0320F809 */ jalr $t9 +/* 0040DF90 8E46000C */ lw $a2, 0xc($s2) +/* 0040DF94 8FBC0028 */ lw $gp, 0x28($sp) +.L0040DF98: +/* 0040DF98 8FBF002C */ lw $ra, 0x2c($sp) +.L0040DF9C: +/* 0040DF9C 8FB0001C */ lw $s0, 0x1c($sp) +/* 0040DFA0 8FB10020 */ lw $s1, 0x20($sp) +/* 0040DFA4 8FB20024 */ lw $s2, 0x24($sp) +/* 0040DFA8 03E00008 */ jr $ra +/* 0040DFAC 27BD0048 */ addiu $sp, $sp, 0x48 + .type write_directive, @function + .size write_directive, .-write_directive + .end write_directive + +glabel output_inst_ascii + .ent output_inst_ascii + # 0044BF18 main +/* 0040DFB0 3C1C0FC1 */ .cpload $t9 +/* 0040DFB4 279C1AA0 */ +/* 0040DFB8 0399E021 */ +/* 0040DFBC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040DFC0 8F998800 */ lw $t9, %call16(reset)($gp) +/* 0040DFC4 AFB10018 */ sw $s1, 0x18($sp) +/* 0040DFC8 AFB00014 */ sw $s0, 0x14($sp) +/* 0040DFCC 8F908B74 */ lw $s0, %got(in_file)($gp) +/* 0040DFD0 00A08825 */ move $s1, $a1 +/* 0040DFD4 00802825 */ move $a1, $a0 +/* 0040DFD8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040DFDC AFA40028 */ sw $a0, 0x28($sp) +/* 0040DFE0 AFBC0020 */ sw $gp, 0x20($sp) +/* 0040DFE4 AFB2001C */ sw $s2, 0x1c($sp) +/* 0040DFE8 24060400 */ li $a2, 1024 +/* 0040DFEC 24070010 */ li $a3, 16 +/* 0040DFF0 0320F809 */ jalr $t9 +/* 0040DFF4 02002025 */ move $a0, $s0 +/* 0040DFF8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040DFFC 8E040000 */ lw $a0, ($s0) +/* 0040E000 8F9987B4 */ lw $t9, %call16(eof)($gp) +/* 0040E004 0320F809 */ jalr $t9 +/* 0040E008 00000000 */ nop +/* 0040E00C 1440001F */ bnez $v0, .L0040E08C +/* 0040E010 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E014 24120017 */ li $s2, 23 +.L0040E018: +/* 0040E018 8E0E0000 */ lw $t6, ($s0) +/* 0040E01C 8DCF0004 */ lw $t7, 4($t6) +/* 0040E020 91F80005 */ lbu $t8, 5($t7) +/* 0040E024 3319003F */ andi $t9, $t8, 0x3f +/* 0040E028 16590007 */ bne $s2, $t9, .L0040E048 +/* 0040E02C 00000000 */ nop +/* 0040E030 8F9981A0 */ lw $t9, %call16(write_instruction)($gp) +/* 0040E034 02202025 */ move $a0, $s1 +/* 0040E038 0320F809 */ jalr $t9 +/* 0040E03C 00000000 */ nop +/* 0040E040 10000006 */ b .L0040E05C +/* 0040E044 8FBC0020 */ lw $gp, 0x20($sp) +.L0040E048: +/* 0040E048 8F9981A8 */ lw $t9, %call16(write_directive)($gp) +/* 0040E04C 02202025 */ move $a0, $s1 +/* 0040E050 0320F809 */ jalr $t9 +/* 0040E054 00000000 */ nop +/* 0040E058 8FBC0020 */ lw $gp, 0x20($sp) +.L0040E05C: +/* 0040E05C 8F9987F8 */ lw $t9, %call16(get)($gp) +/* 0040E060 8E040000 */ lw $a0, ($s0) +/* 0040E064 24050010 */ li $a1, 16 +/* 0040E068 0320F809 */ jalr $t9 +/* 0040E06C 00000000 */ nop +/* 0040E070 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E074 8E040000 */ lw $a0, ($s0) +/* 0040E078 8F9987B4 */ lw $t9, %call16(eof)($gp) +/* 0040E07C 0320F809 */ jalr $t9 +/* 0040E080 00000000 */ nop +/* 0040E084 1040FFE4 */ beqz $v0, .L0040E018 +/* 0040E088 8FBC0020 */ lw $gp, 0x20($sp) +.L0040E08C: +/* 0040E08C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040E090 8FB00014 */ lw $s0, 0x14($sp) +/* 0040E094 8FB10018 */ lw $s1, 0x18($sp) +/* 0040E098 8FB2001C */ lw $s2, 0x1c($sp) +/* 0040E09C 03E00008 */ jr $ra +/* 0040E0A0 27BD0028 */ addiu $sp, $sp, 0x28 + .type output_inst_ascii, @function + .size output_inst_ascii, .-output_inst_ascii + .end output_inst_ascii +)""); diff --git a/src/ugen/binfile.c b/src/ugen/binfile.c new file mode 100644 index 0000000..740a286 --- /dev/null +++ b/src/ugen/binfile.c @@ -0,0 +1,173 @@ +#include +#include +#include +#include +#include +#include + +static char output_bin_filename[136]; +static FILE *output_bin_file; + +/* +0044BF18 main +*/ +void open_bin_file(char *file) { + strcpy(output_bin_filename, file); + output_bin_file = fopen(file, "w"); + if (output_bin_file == NULL) { +#ifdef __sgi + if (errno < sys_nerr) { + fprintf(stderr, "ugen: internal error opening %s: %s, ", file, sys_errlist[errno]); + } else { + fprintf(stderr, "ugen: internal error opening %s: %s\n", file, "(unknown)"); + } +#else + char buf[1024]; + int saved_errno = errno; + if (strerror_r(errno, buf, sizeof(buf)) == 0) { + fprintf(stderr, "ugen: internal error opening %s: %s\n", file, buf); + } else { + fprintf(stderr, "ugen: internal error opening %s: %s\n", file, "(unknown)"); + } +#endif + exit(EXIT_FAILURE); + } +} + +/* +0044BF18 main +*/ +void close_bin_file(void) { + fclose(output_bin_file); +} + + +/* +0044BF18 main + +TODO: fix types, binasm? +*/ +void output_inst_bin(unsigned char *data2, unsigned int num2, unsigned char *data1, unsigned int num1) { + char *error_message; +#ifndef __sgi + char buf[1024]; +#endif + + while (num1 != 0) { + if (fwrite(data1, 16, 1, output_bin_file) != 1) { + error_message = "(unknown)"; +#ifdef __sgi + if (errno < sys_nerr) { + error_message = sys_errlist[errno]; + } +#else + if (strerror_r(errno, buf, sizeof(buf)) == 0) { + error_message = buf; + } +#endif + fprintf(stderr, "ugen: internal error writing binasm to %s: %s\n", output_bin_filename, error_message); + fprintf(stderr, "suggestion: you may want to use TMPDIR to change where temporary files are written\n"); + fflush(stderr); + exit(EXIT_FAILURE); + } + num1--; + data1 -= 16; + } + + if (fwrite(data2, 16, num2, output_bin_file) != num2) { + error_message = "(unknown)"; +#ifdef __sgi + if (errno < sys_nerr) { + error_message = sys_errlist[errno]; + } +#else + if (strerror_r(errno, buf, sizeof(buf)) == 0) { + error_message = buf; + } +#endif + fprintf(stderr, "ugen: internal error writing binasm to %s: %s\n", output_bin_filename, error_message); + fflush(stderr); + exit(EXIT_FAILURE); + } +} + +/* +0044BF18 main +*/ +void cat_files(char *file1, char *file2) { + char buf[0x2000]; +#ifndef __sgi + char error_buf[1024]; + int saved_errno; +#endif + int fd1; + int fd2; + int nread; + int written; + char *error_message; + + fd1 = open(file1, O_WRONLY | O_APPEND); + if (fd1 < 0) { + fprintf(stderr, "ugen: internal: cannot open %s\n", file1); + fflush(stderr); + exit(EXIT_FAILURE); + } + + fd2 = open(file2, O_RDONLY); + if (fd2 < 0) { + fprintf(stderr, "ugen: internal: cannot open %s\n", file2); + fflush(stderr); + exit(EXIT_FAILURE); + } + + if (lseek(fd1, 0, SEEK_END) < 0) { + fprintf(stderr, "ugen: internal: error in seek\n"); + fflush(stderr); + exit(EXIT_FAILURE); + } + + while ((nread = read(fd2, &buf, sizeof(buf))) != 0) { + if (nread < 0) { + error_message = "(unknown)"; +#ifdef __sgi + if (errno < sys_nerr) { + error_message = sys_errlist[errno]; + } +#else + if (strerror_r(errno, error_buf, sizeof(error_buf)) == 0) { + error_message = error_buf; + } +#endif + fprintf(stderr, "ugen: internal error reading from %s: %s\n", file2, error_message); + fflush(stderr); + exit(EXIT_FAILURE); + } + + written = write(fd1, &buf, nread); + if (written != nread) { + if (errno == 0) { + write(fd1, &buf + written, nread - written); + } + fprintf(stderr, "ugen: internal error writing to %s: ", file1); +#ifdef __sgi + if (errno < sys_nerr) { + fprintf(stderr, "%s\n", sys_errlist[errno]); + } else { + fprintf(stderr, "errno is %d\n", errno); + } +#else + saved_errno = errno; + if (strerror_r(errno, error_buf, sizeof(error_buf)) == 0) { + fprintf(stderr, "%s\n", error_buf); + } else { + fprintf(stderr, "errno is %d\n", saved_errno); + } +#endif + fflush(stderr); + exit(EXIT_FAILURE); + } + } + + close(fd1); + close(fd2); +} diff --git a/src/ugen/build.c b/src/ugen/build.c new file mode 100644 index 0000000..bc5e030 --- /dev/null +++ b/src/ugen/build.c @@ -0,0 +1,6939 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_10008BD0: + # 0040E474 func_0040E474 + .ascii "build.p" + +RO_10008BD7: + # 0040E474 func_0040E474 + .asciz "build.p" + + .balign 4 +jtbl_10008BE0: + # 0040E474 func_0040E474 + .gpword .L0040E578 + .gpword .L0040E5A8 + .gpword .L0040E65C + .gpword .L0040E65C + .gpword .L0040E700 + + .balign 4 +jtbl_10008BF4: + # 0040E884 func_0040E884 + .gpword .L0040EA00 + .gpword .L0040EAF4 + .gpword .L0040EA00 + .gpword .L0040EA00 + .gpword .L0040EA00 + .gpword .L0040EAF4 + .gpword .L0040E968 + .gpword .L0040EAF4 + .gpword .L0040E968 + .gpword .L0040EA00 + .gpword .L0040EAF4 + .gpword .L0040EAF4 + .gpword .L0040EA54 + .gpword .L0040EA00 + .gpword .L0040EAF4 + .gpword .L0040EA00 + +RO_10008C34: + # 0040F4C8 build_tree + .ascii "bad input to ugen: unexpected u-code " + +RO_10008C84: + # 0040F4C8 build_tree + .ascii "build.p " + +RO_10008CD4: + # 0040F4C8 build_tree + .ascii "bad input to ugen: end-of-file seen unexpectedly " + +RO_10008D24: + # 0040F4C8 build_tree + .ascii "build.p " + +RO_10008D74: + # 0040F4C8 build_tree + .ascii "Cannot continue " + +RO_10008DC4: + # 0040F4C8 build_tree + .ascii "build.p " + +RO_10008E14: + # 0040F4C8 build_tree + .ascii "Found Uaos u-code in unexpected spot. Perhaps value returned from alloca(3) was not assigned to simple variable. (See alloca man page)" + +RO_10008E9A: + # 0040F4C8 build_tree + .ascii "Cannot continue " + +RO_10008EEA: + # 0040F4C8 build_tree + .ascii "build.p " + +RO_10008F3A: + # 0040F4C8 build_tree + .ascii "Internal error due to probable C source error. Please recompile your C code with the -prototypes flag to cc(1)" + +RO_10008FA8: + # 0040F4C8 build_tree + .ascii "non UJP u-code in jump table " + +RO_10008FF8: + # 0040F4C8 build_tree + .ascii "build.p " + +RO_10009048: + # 0040F4C8 build_tree + .ascii "LDEF before LAB " + +RO_10009098: + # 0040F4C8 build_tree + .ascii "build.p " + + .balign 4 +jtbl_100090E8: + # 0040F4C8 build_tree + .gpword .L00413480 + .gpword .L00413480 + .gpword .L004134CC + .gpword .L0041356C + .gpword .L0041356C + .gpword .L0041356C + .gpword .L004130F4 + .gpword .L0041356C + .gpword .L0041356C + .gpword .L0041356C + .gpword .L004132A0 + + .balign 4 +jtbl_10009114: + # 0040F4C8 build_tree + .gpword .L0041283C + .gpword .L00412D38 + .gpword .L0041283C + .gpword .L0040FBCC + .gpword .L00412D38 + .gpword .L004115E8 + .gpword .L0040F63C + .gpword .L0040F79C + .gpword .L0040F800 + .gpword .L00412D38 + .gpword .L00413DE0 + .gpword .L00413DE0 + .gpword .L0041283C + .gpword .L0041283C + .gpword .L0041283C + .gpword .L004125C4 + .gpword .L00413B80 + .gpword .L00410504 + .gpword .L0040F5AC + .gpword .L0040F868 + .gpword .L0040F63C + .gpword .L0040F5AC + .gpword .L0040F5AC + .gpword .L00411448 + .gpword .L00412748 + .gpword .L0041283C + .gpword .L0041298C + .gpword .L0040FF54 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412C94 + .gpword .L0040FC04 + .gpword .L0040F834 + .gpword .L0040FAA4 + .gpword .L00413CE4 + .gpword .L00412D38 + .gpword .L0040F63C + .gpword .L00413DE0 + .gpword .L00410180 + .gpword .L0040F5F0 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L0040F63C + .gpword .L0040F63C + .gpword .L004114A8 + .gpword .L004136F4 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00410110 + .gpword .L0041283C + .gpword .L00413DE0 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412B24 + .gpword .L00412908 + .gpword .L00412D38 + .gpword .L0040F724 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412A14 + .gpword .L004119A8 + .gpword .L00411AF0 + .gpword .L00413DE0 + .gpword .L00412D38 + .gpword .L0041030C + .gpword .L0040F5AC + .gpword .L00413C24 + .gpword .L00413C18 + .gpword .L00412108 + .gpword .L00412184 + .gpword .L004124B8 + .gpword .L00412298 + .gpword .L004103D4 + .gpword .L004124B8 + .gpword .L0040F5AC + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L0040F5AC + .gpword .L0041283C + .gpword .L0040F868 + .gpword .L004124B8 + .gpword .L0040F63C + .gpword .L0040F5AC + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00411544 + .gpword .L00413DE0 + .gpword .L004111C0 + .gpword .L00412D38 + .gpword .L0041118C + .gpword .L00412D38 + .gpword .L00412884 + .gpword .L00412D38 + .gpword .L0040F5AC + .gpword .L0041283C + .gpword .L0041283C + .gpword .L0040F9A8 + .gpword .L004111C0 + .gpword .L0040FF08 + .gpword .L004111C0 + .gpword .L00413A88 + .gpword .L0040F868 + .gpword .L00412D38 + .gpword .L00410074 + .gpword .L00412008 + .gpword .L00411E68 + .gpword .L00411DB8 + .gpword .L0041283C + .gpword .L004113C8 + .gpword .L00411D14 + .gpword .L0040F780 + .gpword .L0041283C + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L00412D38 + .gpword .L0041283C + .gpword .L0041283C + .gpword .L0040F6A8 + .gpword .L0040F5AC + .gpword .L0040F7D8 + .gpword .L004115E8 + .gpword .L004115E8 + .gpword .L00412D38 + .gpword .L00413A10 + .gpword .L00410180 + .gpword .L00412638 + .gpword .L00412638 + .gpword .L00412638 + .gpword .L00412638 + .gpword .L00412638 + .gpword .L00412638 + .gpword .L0041283C + .gpword .L0040F5AC + .gpword .L004100B8 + .gpword .L00410040 + .gpword .L00412D38 + .gpword .L00410008 + .gpword .L00410A5C + .gpword .L00412D38 + .gpword .L00413B70 + .gpword .L00413C5C + .gpword .L00413CB0 + .gpword .L00413DE0 + .gpword .L00413DE0 + .gpword .L00412C38 + .gpword .L00411C58 + .gpword .L0041245C + .gpword .L0040F654 + .gpword .L00411448 + .gpword .L0040F63C + .gpword .L0040F63C + +.data +# 100124C0 +glabel similar_data_types + # 0040F4C8 build_tree + .byte 0xba,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0xa1,0x00,0x00,0xba,0xa1,0x00,0x00,0xba,0xa1,0x00,0x00,0x05,0x01,0x00,0x00,0xba,0xa0,0x00,0x00,0x05,0x01,0x00,0x00,0xba,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xbd,0x21,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00 + .type similar_data_types, @object + .size similar_data_types, .-similar_data_types # 72 + +# 10012508 +glabel similar_data_types_dw + # 0040F4C8 build_tree + .byte 0xba,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0xa1,0x00,0x00,0xba,0xa1,0x00,0x00,0xba,0xa1,0x00,0x00,0x05,0x01,0x00,0x00,0xba,0x20,0x00,0x00,0x05,0x01,0x00,0x00,0x38,0xa0,0x00,0x00,0x00,0x00,0x00,0x00,0xba,0xa1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xbd,0x21,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00 + .type similar_data_types_dw, @object + .size similar_data_types_dw, .-similar_data_types_dw # 72 + +# 10012550 +glabel trap_to_compare + # 0040F4C8 build_tree + .ascii "_NM)(#" + .type trap_to_compare, @object + .size trap_to_compare, .-trap_to_compare # 6 + .space 2 + +# 10012558 +glabel syms + # 0040F4C8 build_tree + .byte 0x00,0x00,0x00,0x00 + .type syms, @object + .size syms, .-syms # 4 + +D_1001255C: + # 0040F230 func_0040F230 + .byte 0x00,0x00,0x02,0x01,0x00,0x00,0x20,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel set_domtag + .ent set_domtag + # 0044BF18 main +/* 0040E0B0 3C1C0FC1 */ .cpload $t9 +/* 0040E0B4 279C19A0 */ +/* 0040E0B8 0399E021 */ +/* 0040E0BC 8F818A84 */ lw $at, %got(domtag)($gp) +/* 0040E0C0 AFA40000 */ sw $a0, ($sp) +/* 0040E0C4 03E00008 */ jr $ra +/* 0040E0C8 A0240000 */ sb $a0, ($at) + .type set_domtag, @function + .size set_domtag, .-set_domtag + .end set_domtag + +glabel get_domtag + .ent get_domtag + # 0042BDAC eval + # 00447768 check_reg +/* 0040E0CC 3C1C0FC1 */ .cpload $t9 +/* 0040E0D0 279C1984 */ +/* 0040E0D4 0399E021 */ +/* 0040E0D8 8F838A84 */ lw $v1, %got(domtag)($gp) +/* 0040E0DC 03E00008 */ jr $ra +/* 0040E0E0 90620000 */ lbu $v0, ($v1) + .type get_domtag, @function + .size get_domtag, .-get_domtag + .end get_domtag + +glabel search_label + .ent search_label + # 0040F4C8 build_tree +/* 0040E0E4 3C1C0FC1 */ .cpload $t9 +/* 0040E0E8 279C196C */ +/* 0040E0EC 0399E021 */ +/* 0040E0F0 240100FD */ li $at, 253 +/* 0040E0F4 0081001B */ divu $zero, $a0, $at +/* 0040E0F8 00007010 */ mfhi $t6 +/* 0040E0FC 05C10002 */ bgez $t6, .L0040E108 +/* 0040E100 00000000 */ nop +/* 0040E104 21CE00FD */ addi $t6, $t6, 0xfd +.L0040E108: +/* 0040E108 8F998BD0 */ lw $t9, %got(label_hash_table)($gp) +/* 0040E10C 31CF00FF */ andi $t7, $t6, 0xff +/* 0040E110 000FC080 */ sll $t8, $t7, 2 +/* 0040E114 03194021 */ addu $t0, $t8, $t9 +/* 0040E118 8D030000 */ lw $v1, ($t0) +/* 0040E11C 10600007 */ beqz $v1, .L0040E13C +/* 0040E120 00000000 */ nop +/* 0040E124 8C690024 */ lw $t1, 0x24($v1) +.L0040E128: +/* 0040E128 10890004 */ beq $a0, $t1, .L0040E13C +/* 0040E12C 00000000 */ nop +/* 0040E130 8C630000 */ lw $v1, ($v1) +/* 0040E134 5460FFFC */ bnel $v1, $zero, .L0040E128 +/* 0040E138 8C690024 */ lw $t1, 0x24($v1) +.L0040E13C: +/* 0040E13C 03E00008 */ jr $ra +/* 0040E140 00601025 */ move $v0, $v1 + .type search_label, @function + .size search_label, .-search_label + .end search_label + +glabel find_label + .ent find_label + # 0040F4C8 build_tree +/* 0040E144 3C1C0FC1 */ .cpload $t9 +/* 0040E148 279C190C */ +/* 0040E14C 0399E021 */ +/* 0040E150 240100FD */ li $at, 253 +/* 0040E154 0081001B */ divu $zero, $a0, $at +/* 0040E158 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0040E15C 00007010 */ mfhi $t6 +/* 0040E160 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040E164 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040E168 05C10002 */ bgez $t6, .L0040E174 +/* 0040E16C 00802825 */ move $a1, $a0 +/* 0040E170 21CE00FD */ addi $t6, $t6, 0xfd +.L0040E174: +/* 0040E174 8F998BD0 */ lw $t9, %got(label_hash_table)($gp) +/* 0040E178 31CF00FF */ andi $t7, $t6, 0xff +/* 0040E17C 000FC080 */ sll $t8, $t7, 2 +/* 0040E180 03193021 */ addu $a2, $t8, $t9 +/* 0040E184 8CC30000 */ lw $v1, ($a2) +/* 0040E188 10600009 */ beqz $v1, .L0040E1B0 +/* 0040E18C 00000000 */ nop +/* 0040E190 8C680024 */ lw $t0, 0x24($v1) +.L0040E194: +/* 0040E194 54A80004 */ bnel $a1, $t0, .L0040E1A8 +/* 0040E198 8C630000 */ lw $v1, ($v1) +/* 0040E19C 10000012 */ b .L0040E1E8 +/* 0040E1A0 00601025 */ move $v0, $v1 +/* 0040E1A4 8C630000 */ lw $v1, ($v1) +.L0040E1A8: +/* 0040E1A8 5460FFFA */ bnel $v1, $zero, .L0040E194 +/* 0040E1AC 8C680024 */ lw $t0, 0x24($v1) +.L0040E1B0: +/* 0040E1B0 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 0040E1B4 24040042 */ li $a0, 66 +/* 0040E1B8 AFA50030 */ sw $a1, 0x30($sp) +/* 0040E1BC 0320F809 */ jalr $t9 +/* 0040E1C0 AFA60020 */ sw $a2, 0x20($sp) +/* 0040E1C4 8FA60020 */ lw $a2, 0x20($sp) +/* 0040E1C8 8FA50030 */ lw $a1, 0x30($sp) +/* 0040E1CC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040E1D0 A4400022 */ sh $zero, 0x22($v0) +/* 0040E1D4 AC400028 */ sw $zero, 0x28($v0) +/* 0040E1D8 AC450024 */ sw $a1, 0x24($v0) +/* 0040E1DC 8CC90000 */ lw $t1, ($a2) +/* 0040E1E0 AC490000 */ sw $t1, ($v0) +/* 0040E1E4 ACC20000 */ sw $v0, ($a2) +.L0040E1E8: +/* 0040E1E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040E1EC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0040E1F0 03E00008 */ jr $ra +/* 0040E1F4 00000000 */ nop + .type find_label, @function + .size find_label, .-find_label + .end find_label + +glabel init_build + .ent init_build + # 0044BF18 main +/* 0040E1F8 3C1C0FC1 */ .cpload $t9 +/* 0040E1FC 279C1858 */ +/* 0040E200 0399E021 */ +/* 0040E204 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0040E208 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0040E20C AFBF001C */ sw $ra, 0x1c($sp) +/* 0040E210 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040E214 24040400 */ li $a0, 1024 +/* 0040E218 0320F809 */ jalr $t9 +/* 0040E21C 00002825 */ move $a1, $zero +/* 0040E220 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040E224 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040E228 8F818A80 */ lw $at, %got(strp)($gp) +/* 0040E22C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0040E230 03E00008 */ jr $ra +/* 0040E234 AC220000 */ sw $v0, ($at) + .type init_build, @function + .size init_build, .-init_build + .end init_build + + .type func_0040E238, @function +func_0040E238: + # 0040F4C8 build_tree +/* 0040E238 8C43EBA4 */ lw $v1, -0x145c($v0) +/* 0040E23C AC640008 */ sw $a0, 8($v1) +/* 0040E240 AC83000C */ sw $v1, 0xc($a0) +/* 0040E244 03E00008 */ jr $ra +/* 0040E248 AC44EBA4 */ sw $a0, -0x145c($v0) + + .type func_0040E24C, @function +func_0040E24C: + # 0040F4C8 build_tree +/* 0040E24C 8C43EBA4 */ lw $v1, -0x145c($v0) +/* 0040E250 AC640008 */ sw $a0, 8($v1) +/* 0040E254 8C850008 */ lw $a1, 8($a0) +/* 0040E258 AC83000C */ sw $v1, 0xc($a0) +/* 0040E25C 10A00006 */ beqz $a1, .L0040E278 +/* 0040E260 00000000 */ nop +/* 0040E264 ACA4000C */ sw $a0, 0xc($a1) +.L0040E268: +/* 0040E268 8C840008 */ lw $a0, 8($a0) +/* 0040E26C 8C850008 */ lw $a1, 8($a0) +/* 0040E270 54A0FFFD */ bnel $a1, $zero, .L0040E268 +/* 0040E274 ACA4000C */ sw $a0, 0xc($a1) +.L0040E278: +/* 0040E278 03E00008 */ jr $ra +/* 0040E27C AC44EBA4 */ sw $a0, -0x145c($v0) + + .type func_0040E280, @function +func_0040E280: + # 0040F4C8 build_tree +/* 0040E280 8C820008 */ lw $v0, 8($a0) +/* 0040E284 AC850008 */ sw $a1, 8($a0) +/* 0040E288 8CA30008 */ lw $v1, 8($a1) +/* 0040E28C 10600005 */ beqz $v1, .L0040E2A4 +/* 0040E290 00000000 */ nop +/* 0040E294 00602825 */ move $a1, $v1 +.L0040E298: +/* 0040E298 8C630008 */ lw $v1, 8($v1) +/* 0040E29C 5460FFFE */ bnel $v1, $zero, .L0040E298 +/* 0040E2A0 00602825 */ move $a1, $v1 +.L0040E2A4: +/* 0040E2A4 03E00008 */ jr $ra +/* 0040E2A8 ACA20008 */ sw $v0, 8($a1) + + .type func_0040E2AC, @function +func_0040E2AC: + # 0040F4C8 build_tree +/* 0040E2AC 3C1C0FC1 */ .cpload $t9 +/* 0040E2B0 279C17A4 */ +/* 0040E2B4 0399E021 */ +/* 0040E2B8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0040E2BC 244EEBA7 */ addiu $t6, $v0, -0x1459 +/* 0040E2C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040E2C4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0040E2C8 AFB2001C */ sw $s2, 0x1c($sp) +/* 0040E2CC AFB10018 */ sw $s1, 0x18($sp) +/* 0040E2D0 AFB00014 */ sw $s0, 0x14($sp) +/* 0040E2D4 AFA40048 */ sw $a0, 0x48($sp) +/* 0040E2D8 01C47821 */ addu $t7, $t6, $a0 +/* 0040E2DC 91F80000 */ lbu $t8, ($t7) +/* 0040E2E0 24010008 */ li $at, 8 +/* 0040E2E4 00408825 */ move $s1, $v0 +/* 0040E2E8 17010004 */ bne $t8, $at, .L0040E2FC +/* 0040E2EC 00049080 */ sll $s2, $a0, 2 +/* 0040E2F0 24190008 */ li $t9, 8 +/* 0040E2F4 10000003 */ b .L0040E304 +/* 0040E2F8 A3B90043 */ sb $t9, 0x43($sp) +.L0040E2FC: +/* 0040E2FC 24080006 */ li $t0, 6 +/* 0040E300 A3A80043 */ sb $t0, 0x43($sp) +.L0040E304: +/* 0040E304 2629F9B4 */ addiu $t1, $s1, -0x64c +/* 0040E308 01328021 */ addu $s0, $t1, $s2 +/* 0040E30C 8E070000 */ lw $a3, ($s0) +/* 0040E310 262BF374 */ addiu $t3, $s1, -0xc8c +/* 0040E314 93A40043 */ lbu $a0, 0x43($sp) +/* 0040E318 14E0000B */ bnez $a3, .L0040E348 +/* 0040E31C 01726021 */ addu $t4, $t3, $s2 +/* 0040E320 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0040E324 262AF374 */ addiu $t2, $s1, -0xc8c +/* 0040E328 01521021 */ addu $v0, $t2, $s2 +/* 0040E32C 8C460000 */ lw $a2, ($v0) +/* 0040E330 AFA2002C */ sw $v0, 0x2c($sp) +/* 0040E334 0320F809 */ jalr $t9 +/* 0040E338 00002825 */ move $a1, $zero +/* 0040E33C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E340 10000041 */ b .L0040E448 +/* 0040E344 AE020000 */ sw $v0, ($s0) +.L0040E348: +/* 0040E348 AFAC002C */ sw $t4, 0x2c($sp) +/* 0040E34C 8D860000 */ lw $a2, ($t4) +/* 0040E350 50C0003E */ beql $a2, $zero, .L0040E44C +/* 0040E354 8FAB002C */ lw $t3, 0x2c($sp) +/* 0040E358 90E40021 */ lbu $a0, 0x21($a3) +/* 0040E35C 3C010780 */ lui $at, 0x780 +/* 0040E360 3084001F */ andi $a0, $a0, 0x1f +/* 0040E364 2C8D0020 */ sltiu $t5, $a0, 0x20 +/* 0040E368 000D7023 */ negu $t6, $t5 +/* 0040E36C 01C17824 */ and $t7, $t6, $at +/* 0040E370 008FC004 */ sllv $t8, $t7, $a0 +/* 0040E374 07010021 */ bgez $t8, .L0040E3FC +/* 0040E378 00000000 */ nop +/* 0040E37C 04C10010 */ bgez $a2, .L0040E3C0 +/* 0040E380 00000000 */ nop +/* 0040E384 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0040E388 2405FFFF */ li $a1, -1 +/* 0040E38C AFA70030 */ sw $a3, 0x30($sp) +/* 0040E390 0320F809 */ jalr $t9 +/* 0040E394 00000000 */ nop +/* 0040E398 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E39C 8FA50030 */ lw $a1, 0x30($sp) +/* 0040E3A0 24040001 */ li $a0, 1 +/* 0040E3A4 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 0040E3A8 00403025 */ move $a2, $v0 +/* 0040E3AC 0320F809 */ jalr $t9 +/* 0040E3B0 00000000 */ nop +/* 0040E3B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E3B8 1000001E */ b .L0040E434 +/* 0040E3BC AE020000 */ sw $v0, ($s0) +.L0040E3C0: +/* 0040E3C0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0040E3C4 00002825 */ move $a1, $zero +/* 0040E3C8 AFA70030 */ sw $a3, 0x30($sp) +/* 0040E3CC 0320F809 */ jalr $t9 +/* 0040E3D0 00000000 */ nop +/* 0040E3D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E3D8 8FA50030 */ lw $a1, 0x30($sp) +/* 0040E3DC 24040001 */ li $a0, 1 +/* 0040E3E0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 0040E3E4 00403025 */ move $a2, $v0 +/* 0040E3E8 0320F809 */ jalr $t9 +/* 0040E3EC 00000000 */ nop +/* 0040E3F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E3F4 1000000F */ b .L0040E434 +/* 0040E3F8 AE020000 */ sw $v0, ($s0) +.L0040E3FC: +/* 0040E3FC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0040E400 93A40043 */ lbu $a0, 0x43($sp) +/* 0040E404 00002825 */ move $a1, $zero +/* 0040E408 0320F809 */ jalr $t9 +/* 0040E40C AFA70030 */ sw $a3, 0x30($sp) +/* 0040E410 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E414 8FA50030 */ lw $a1, 0x30($sp) +/* 0040E418 24040001 */ li $a0, 1 +/* 0040E41C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 0040E420 00403025 */ move $a2, $v0 +/* 0040E424 0320F809 */ jalr $t9 +/* 0040E428 00000000 */ nop +/* 0040E42C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040E430 AE020000 */ sw $v0, ($s0) +.L0040E434: +/* 0040E434 2639ED34 */ addiu $t9, $s1, -0x12cc +/* 0040E438 03324021 */ addu $t0, $t9, $s2 +/* 0040E43C 8D090000 */ lw $t1, ($t0) +/* 0040E440 8E0A0000 */ lw $t2, ($s0) +/* 0040E444 A5490022 */ sh $t1, 0x22($t2) +.L0040E448: +/* 0040E448 8FAB002C */ lw $t3, 0x2c($sp) +.L0040E44C: +/* 0040E44C 262CED34 */ addiu $t4, $s1, -0x12cc +/* 0040E450 01926821 */ addu $t5, $t4, $s2 +/* 0040E454 AD600000 */ sw $zero, ($t3) +/* 0040E458 ADA00000 */ sw $zero, ($t5) +/* 0040E45C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040E460 8FB2001C */ lw $s2, 0x1c($sp) +/* 0040E464 8FB10018 */ lw $s1, 0x18($sp) +/* 0040E468 8FB00014 */ lw $s0, 0x14($sp) +/* 0040E46C 03E00008 */ jr $ra +/* 0040E470 27BD0048 */ addiu $sp, $sp, 0x48 + + .type func_0040E474, @function +func_0040E474: + # 0040F4C8 build_tree +/* 0040E474 3C1C0FC1 */ .cpload $t9 +/* 0040E478 279C15DC */ +/* 0040E47C 0399E021 */ +/* 0040E480 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0040E484 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040E488 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040E48C AFB00014 */ sw $s0, 0x14($sp) +/* 0040E490 904EEB16 */ lbu $t6, -0x14ea($v0) +/* 0040E494 00808025 */ move $s0, $a0 +/* 0040E498 00402825 */ move $a1, $v0 +/* 0040E49C 11C00002 */ beqz $t6, .L0040E4A8 +/* 0040E4A0 240F0001 */ li $t7, 1 +/* 0040E4A4 A04FEB15 */ sb $t7, -0x14eb($v0) +.L0040E4A8: +/* 0040E4A8 100000DC */ b .L0040E81C +/* 0040E4AC 92020020 */ lbu $v0, 0x20($s0) +.L0040E4B0: +/* 0040E4B0 8F998A7C */ lw $t9, %got(first_pmt_offset)($gp) +/* 0040E4B4 8E18002C */ lw $t8, 0x2c($s0) +/* 0040E4B8 8F390000 */ lw $t9, ($t9) +/* 0040E4BC 03191023 */ subu $v0, $t8, $t9 +/* 0040E4C0 04410002 */ bgez $v0, .L0040E4CC +/* 0040E4C4 00000000 */ nop +/* 0040E4C8 00021023 */ negu $v0, $v0 +.L0040E4CC: +/* 0040E4CC 04410003 */ bgez $v0, .L0040E4DC +/* 0040E4D0 00026083 */ sra $t4, $v0, 2 +/* 0040E4D4 24410003 */ addiu $at, $v0, 3 +/* 0040E4D8 00016083 */ sra $t4, $at, 2 +.L0040E4DC: +/* 0040E4DC 05810002 */ bgez $t4, .L0040E4E8 +/* 0040E4E0 01802025 */ move $a0, $t4 +/* 0040E4E4 24040000 */ li $a0, 0 +.L0040E4E8: +/* 0040E4E8 8E0D0028 */ lw $t5, 0x28($s0) +/* 0040E4EC 00801825 */ move $v1, $a0 +/* 0040E4F0 00034080 */ sll $t0, $v1, 2 +/* 0040E4F4 004D7021 */ addu $t6, $v0, $t5 +/* 0040E4F8 25CFFFFF */ addiu $t7, $t6, -1 +/* 0040E4FC 05E10003 */ bgez $t7, .L0040E50C +/* 0040E500 000FC083 */ sra $t8, $t7, 2 +/* 0040E504 25E10003 */ addiu $at, $t7, 3 +/* 0040E508 0001C083 */ sra $t8, $at, 2 +.L0040E50C: +/* 0040E50C 2B010004 */ slti $at, $t8, 4 +/* 0040E510 14200002 */ bnez $at, .L0040E51C +/* 0040E514 03004825 */ move $t1, $t8 +/* 0040E518 24090003 */ li $t1, 3 +.L0040E51C: +/* 0040E51C 0124082A */ slt $at, $t1, $a0 +/* 0040E520 142000D3 */ bnez $at, .L0040E870 +/* 0040E524 01034023 */ subu $t0, $t0, $v1 +/* 0040E528 00095880 */ sll $t3, $t1, 2 +/* 0040E52C 01695823 */ subu $t3, $t3, $t1 +/* 0040E530 00084080 */ sll $t0, $t0, 2 +/* 0040E534 24B9EAD8 */ addiu $t9, $a1, -0x1528 +/* 0040E538 03281021 */ addu $v0, $t9, $t0 +/* 0040E53C 000B5880 */ sll $t3, $t3, 2 +/* 0040E540 8F8A898C */ lw $t2, %got(lsb_first)($gp) +.L0040E544: +/* 0040E544 90430000 */ lbu $v1, ($v0) +/* 0040E548 24040001 */ li $a0, 1 +/* 0040E54C 240501A6 */ li $a1, 422 +/* 0040E550 2C610005 */ sltiu $at, $v1, 5 +/* 0040E554 1020006D */ beqz $at, .L0040E70C +/* 0040E558 24070007 */ li $a3, 7 +/* 0040E55C 8F818038 */ lw $at, %got(jtbl_10008BE0)($gp) +/* 0040E560 00036080 */ sll $t4, $v1, 2 +/* 0040E564 002C0821 */ addu $at, $at, $t4 +/* 0040E568 8C2C8BE0 */ lw $t4, %lo(jtbl_10008BE0)($at) +/* 0040E56C 019C6021 */ addu $t4, $t4, $gp +/* 0040E570 01800008 */ jr $t4 +/* 0040E574 00000000 */ nop +.L0040E578: +/* 0040E578 920E0021 */ lbu $t6, 0x21($s0) +/* 0040E57C 8E18002C */ lw $t8, 0x2c($s0) +/* 0040E580 8E190028 */ lw $t9, 0x28($s0) +/* 0040E584 96070022 */ lhu $a3, 0x22($s0) +/* 0040E588 240D0001 */ li $t5, 1 +/* 0040E58C 31CF001F */ andi $t7, $t6, 0x1f +/* 0040E590 A04D0000 */ sb $t5, ($v0) +/* 0040E594 A04F0001 */ sb $t7, 1($v0) +/* 0040E598 AC580004 */ sw $t8, 4($v0) +/* 0040E59C AC590008 */ sw $t9, 8($v0) +/* 0040E5A0 1000006A */ b .L0040E74C +/* 0040E5A4 30E70001 */ andi $a3, $a3, 1 +.L0040E5A8: +/* 0040E5A8 92060021 */ lbu $a2, 0x21($s0) +/* 0040E5AC 904C0001 */ lbu $t4, 1($v0) +/* 0040E5B0 96070022 */ lhu $a3, 0x22($s0) +/* 0040E5B4 30C6001F */ andi $a2, $a2, 0x1f +/* 0040E5B8 8E040028 */ lw $a0, 0x28($s0) +/* 0040E5BC 14CC0008 */ bne $a2, $t4, .L0040E5E0 +/* 0040E5C0 30E70001 */ andi $a3, $a3, 1 +/* 0040E5C4 8E0D002C */ lw $t5, 0x2c($s0) +/* 0040E5C8 8C4E0004 */ lw $t6, 4($v0) +/* 0040E5CC 55AE0005 */ bnel $t5, $t6, .L0040E5E4 +/* 0040E5D0 91590000 */ lbu $t9, ($t2) +/* 0040E5D4 8C4F0008 */ lw $t7, 8($v0) +/* 0040E5D8 108F005C */ beq $a0, $t7, .L0040E74C +/* 0040E5DC 00000000 */ nop +.L0040E5E0: +/* 0040E5E0 91590000 */ lbu $t9, ($t2) +.L0040E5E4: +/* 0040E5E4 24180002 */ li $t8, 2 +/* 0040E5E8 A0580000 */ sb $t8, ($v0) +/* 0040E5EC 53200009 */ beql $t9, $zero, .L0040E614 +/* 0040E5F0 8E03002C */ lw $v1, 0x2c($s0) +/* 0040E5F4 8C4C0008 */ lw $t4, 8($v0) +/* 0040E5F8 008C082A */ slt $at, $a0, $t4 +/* 0040E5FC 10200002 */ beqz $at, .L0040E608 +/* 0040E600 00000000 */ nop +/* 0040E604 00806025 */ move $t4, $a0 +.L0040E608: +/* 0040E608 1000000B */ b .L0040E638 +/* 0040E60C AC4C0008 */ sw $t4, 8($v0) +/* 0040E610 8E03002C */ lw $v1, 0x2c($s0) +.L0040E614: +/* 0040E614 8C4E0008 */ lw $t6, 8($v0) +/* 0040E618 8C4F0004 */ lw $t7, 4($v0) +/* 0040E61C 00836821 */ addu $t5, $a0, $v1 +/* 0040E620 01CFC021 */ addu $t8, $t6, $t7 +/* 0040E624 01B8082A */ slt $at, $t5, $t8 +/* 0040E628 50200004 */ beql $at, $zero, .L0040E63C +/* 0040E62C 2CD90020 */ sltiu $t9, $a2, 0x20 +/* 0040E630 AC440008 */ sw $a0, 8($v0) +/* 0040E634 AC430004 */ sw $v1, 4($v0) +.L0040E638: +/* 0040E638 2CD90020 */ sltiu $t9, $a2, 0x20 +.L0040E63C: +/* 0040E63C 00196023 */ negu $t4, $t9 +/* 0040E640 3C010280 */ lui $at, 0x280 +/* 0040E644 01817024 */ and $t6, $t4, $at +/* 0040E648 00CE7804 */ sllv $t7, $t6, $a2 +/* 0040E64C 05E0003F */ bltz $t7, .L0040E74C +/* 0040E650 00000000 */ nop +/* 0040E654 1000003D */ b .L0040E74C +/* 0040E658 A0460001 */ sb $a2, 1($v0) +.L0040E65C: +/* 0040E65C 92060021 */ lbu $a2, 0x21($s0) +/* 0040E660 904D0001 */ lbu $t5, 1($v0) +/* 0040E664 96070022 */ lhu $a3, 0x22($s0) +/* 0040E668 30C6001F */ andi $a2, $a2, 0x1f +/* 0040E66C 8E040028 */ lw $a0, 0x28($s0) +/* 0040E670 14CD0008 */ bne $a2, $t5, .L0040E694 +/* 0040E674 30E70001 */ andi $a3, $a3, 1 +/* 0040E678 8E18002C */ lw $t8, 0x2c($s0) +/* 0040E67C 8C590004 */ lw $t9, 4($v0) +/* 0040E680 57190005 */ bnel $t8, $t9, .L0040E698 +/* 0040E684 914E0000 */ lbu $t6, ($t2) +/* 0040E688 8C4C0008 */ lw $t4, 8($v0) +/* 0040E68C 108C002F */ beq $a0, $t4, .L0040E74C +/* 0040E690 00000000 */ nop +.L0040E694: +/* 0040E694 914E0000 */ lbu $t6, ($t2) +.L0040E698: +/* 0040E698 8C450008 */ lw $a1, 8($v0) +/* 0040E69C 2CCC0020 */ sltiu $t4, $a2, 0x20 +/* 0040E6A0 11C00006 */ beqz $t6, .L0040E6BC +/* 0040E6A4 0085082A */ slt $at, $a0, $a1 +/* 0040E6A8 10200002 */ beqz $at, .L0040E6B4 +/* 0040E6AC 00A07825 */ move $t7, $a1 +/* 0040E6B0 00807825 */ move $t7, $a0 +.L0040E6B4: +/* 0040E6B4 1000000A */ b .L0040E6E0 +/* 0040E6B8 AC4F0008 */ sw $t7, 8($v0) +.L0040E6BC: +/* 0040E6BC 8E03002C */ lw $v1, 0x2c($s0) +/* 0040E6C0 8C580004 */ lw $t8, 4($v0) +/* 0040E6C4 00836821 */ addu $t5, $a0, $v1 +/* 0040E6C8 00B8C821 */ addu $t9, $a1, $t8 +/* 0040E6CC 01B9082A */ slt $at, $t5, $t9 +/* 0040E6D0 50200004 */ beql $at, $zero, .L0040E6E4 +/* 0040E6D4 000C7023 */ negu $t6, $t4 +/* 0040E6D8 AC440008 */ sw $a0, 8($v0) +/* 0040E6DC AC430004 */ sw $v1, 4($v0) +.L0040E6E0: +/* 0040E6E0 000C7023 */ negu $t6, $t4 +.L0040E6E4: +/* 0040E6E4 3C010280 */ lui $at, 0x280 +/* 0040E6E8 01C17824 */ and $t7, $t6, $at +/* 0040E6EC 00CFC004 */ sllv $t8, $t7, $a2 +/* 0040E6F0 07000016 */ bltz $t8, .L0040E74C +/* 0040E6F4 00000000 */ nop +/* 0040E6F8 10000014 */ b .L0040E74C +/* 0040E6FC A0460001 */ sb $a2, 1($v0) +.L0040E700: +/* 0040E700 96070022 */ lhu $a3, 0x22($s0) +/* 0040E704 10000011 */ b .L0040E74C +/* 0040E708 30E70001 */ andi $a3, $a3, 1 +.L0040E70C: +/* 0040E70C 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0040E710 8F868038 */ lw $a2, %got(RO_10008BD7)($gp) +/* 0040E714 AFA20034 */ sw $v0, 0x34($sp) +/* 0040E718 AFA80038 */ sw $t0, 0x38($sp) +/* 0040E71C AFA9004C */ sw $t1, 0x4c($sp) +/* 0040E720 AFAB0024 */ sw $t3, 0x24($sp) +/* 0040E724 0320F809 */ jalr $t9 +/* 0040E728 24C68BD7 */ addiu $a2, %lo(RO_10008BD7) # addiu $a2, $a2, -0x7429 +/* 0040E72C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040E730 96070022 */ lhu $a3, 0x22($s0) +/* 0040E734 8FA20034 */ lw $v0, 0x34($sp) +/* 0040E738 8FA80038 */ lw $t0, 0x38($sp) +/* 0040E73C 8FA9004C */ lw $t1, 0x4c($sp) +/* 0040E740 8FAB0024 */ lw $t3, 0x24($sp) +/* 0040E744 8F8A898C */ lw $t2, %got(lsb_first)($gp) +/* 0040E748 30E70001 */ andi $a3, $a3, 1 +.L0040E74C: +/* 0040E74C 10E00003 */ beqz $a3, .L0040E75C +/* 0040E750 2508000C */ addiu $t0, $t0, 0xc +/* 0040E754 240D0004 */ li $t5, 4 +/* 0040E758 A04D0000 */ sb $t5, ($v0) +.L0040E75C: +/* 0040E75C 0168082A */ slt $at, $t3, $t0 +/* 0040E760 1020FF78 */ beqz $at, .L0040E544 +/* 0040E764 2442000C */ addiu $v0, $v0, 0xc +/* 0040E768 10000042 */ b .L0040E874 +/* 0040E76C 8FBF001C */ lw $ra, 0x1c($sp) +.L0040E770: +/* 0040E770 8F8C8A7C */ lw $t4, %got(first_pmt_offset)($gp) +/* 0040E774 8E190030 */ lw $t9, 0x30($s0) +/* 0040E778 8D8C0000 */ lw $t4, ($t4) +/* 0040E77C 032C1023 */ subu $v0, $t9, $t4 +/* 0040E780 04410002 */ bgez $v0, .L0040E78C +/* 0040E784 24ACEAD8 */ addiu $t4, $a1, -0x1528 +/* 0040E788 00021023 */ negu $v0, $v0 +.L0040E78C: +/* 0040E78C 04410003 */ bgez $v0, .L0040E79C +/* 0040E790 00027083 */ sra $t6, $v0, 2 +/* 0040E794 24410003 */ addiu $at, $v0, 3 +/* 0040E798 00017083 */ sra $t6, $at, 2 +.L0040E79C: +/* 0040E79C 05C10002 */ bgez $t6, .L0040E7A8 +/* 0040E7A0 01C02025 */ move $a0, $t6 +/* 0040E7A4 24040000 */ li $a0, 0 +.L0040E7A8: +/* 0040E7A8 8E0F0028 */ lw $t7, 0x28($s0) +/* 0040E7AC 00801825 */ move $v1, $a0 +/* 0040E7B0 00037080 */ sll $t6, $v1, 2 +/* 0040E7B4 004FC021 */ addu $t8, $v0, $t7 +/* 0040E7B8 270DFFFF */ addiu $t5, $t8, -1 +/* 0040E7BC 05A10003 */ bgez $t5, .L0040E7CC +/* 0040E7C0 000DC883 */ sra $t9, $t5, 2 +/* 0040E7C4 25A10003 */ addiu $at, $t5, 3 +/* 0040E7C8 0001C883 */ sra $t9, $at, 2 +.L0040E7CC: +/* 0040E7CC 2B210004 */ slti $at, $t9, 4 +/* 0040E7D0 14200002 */ bnez $at, .L0040E7DC +/* 0040E7D4 03204825 */ move $t1, $t9 +/* 0040E7D8 24090003 */ li $t1, 3 +.L0040E7DC: +/* 0040E7DC 0124082A */ slt $at, $t1, $a0 +/* 0040E7E0 14200023 */ bnez $at, .L0040E870 +/* 0040E7E4 01C37023 */ subu $t6, $t6, $v1 +/* 0040E7E8 92060021 */ lbu $a2, 0x21($s0) +/* 0040E7EC 000E7080 */ sll $t6, $t6, 2 +/* 0040E7F0 018E1021 */ addu $v0, $t4, $t6 +/* 0040E7F4 24040003 */ li $a0, 3 +/* 0040E7F8 30C6001F */ andi $a2, $a2, 0x1f +.L0040E7FC: +/* 0040E7FC 24630001 */ addiu $v1, $v1, 1 +/* 0040E800 0123082A */ slt $at, $t1, $v1 +/* 0040E804 A0440000 */ sb $a0, ($v0) +/* 0040E808 A0460001 */ sb $a2, 1($v0) +/* 0040E80C 1020FFFB */ beqz $at, .L0040E7FC +/* 0040E810 2442000C */ addiu $v0, $v0, 0xc +/* 0040E814 10000017 */ b .L0040E874 +/* 0040E818 8FBF001C */ lw $ra, 0x1c($sp) +.L0040E81C: +/* 0040E81C 2C410053 */ sltiu $at, $v0, 0x53 +/* 0040E820 14200006 */ bnez $at, .L0040E83C +/* 0040E824 24040001 */ li $a0, 1 +/* 0040E828 2401007B */ li $at, 123 +/* 0040E82C 1041FF20 */ beq $v0, $at, .L0040E4B0 +/* 0040E830 00000000 */ nop +/* 0040E834 10000007 */ b .L0040E854 +/* 0040E838 00000000 */ nop +.L0040E83C: +/* 0040E83C 24010047 */ li $at, 71 +/* 0040E840 1041FFCB */ beq $v0, $at, .L0040E770 +/* 0040E844 00000000 */ nop +/* 0040E848 24010052 */ li $at, 82 +/* 0040E84C 1041FF18 */ beq $v0, $at, .L0040E4B0 +/* 0040E850 00000000 */ nop +.L0040E854: +/* 0040E854 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0040E858 8F868038 */ lw $a2, %got(RO_10008BD0)($gp) +/* 0040E85C 2405019F */ li $a1, 415 +/* 0040E860 24070007 */ li $a3, 7 +/* 0040E864 0320F809 */ jalr $t9 +/* 0040E868 24C68BD0 */ addiu $a2, %lo(RO_10008BD0) # addiu $a2, $a2, -0x7430 +/* 0040E86C 8FBC0018 */ lw $gp, 0x18($sp) +.L0040E870: +/* 0040E870 8FBF001C */ lw $ra, 0x1c($sp) +.L0040E874: +/* 0040E874 8FB00014 */ lw $s0, 0x14($sp) +/* 0040E878 27BD0058 */ addiu $sp, $sp, 0x58 +/* 0040E87C 03E00008 */ jr $ra +/* 0040E880 00000000 */ nop + + .type func_0040E884, @function +func_0040E884: + # 0040EED4 func_0040EED4 +/* 0040E884 3C1C0FC1 */ .cpload $t9 +/* 0040E888 279C11CC */ +/* 0040E88C 0399E021 */ +/* 0040E890 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040E894 8F8F8A7C */ lw $t7, %got(first_pmt_offset)($gp) +/* 0040E898 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040E89C AFBC0018 */ sw $gp, 0x18($sp) +/* 0040E8A0 AFA40028 */ sw $a0, 0x28($sp) +/* 0040E8A4 8C88002C */ lw $t0, 0x2c($a0) +/* 0040E8A8 8DEF0000 */ lw $t7, ($t7) +/* 0040E8AC 00405825 */ move $t3, $v0 +/* 0040E8B0 00807025 */ move $t6, $a0 +/* 0040E8B4 010F1823 */ subu $v1, $t0, $t7 +/* 0040E8B8 04630003 */ bgezl $v1, .L0040E8C8 +/* 0040E8BC 8DC90028 */ lw $t1, 0x28($t6) +/* 0040E8C0 00031823 */ negu $v1, $v1 +/* 0040E8C4 8DC90028 */ lw $t1, 0x28($t6) +.L0040E8C8: +/* 0040E8C8 00693821 */ addu $a3, $v1, $t1 +/* 0040E8CC 24E7FFFF */ addiu $a3, $a3, -1 +/* 0040E8D0 04E10002 */ bgez $a3, .L0040E8DC +/* 0040E8D4 00E00821 */ move $at, $a3 +/* 0040E8D8 24E10003 */ addiu $at, $a3, 3 +.L0040E8DC: +/* 0040E8DC 00013883 */ sra $a3, $at, 2 +/* 0040E8E0 04610003 */ bgez $v1, .L0040E8F0 +/* 0040E8E4 00032883 */ sra $a1, $v1, 2 +/* 0040E8E8 24610003 */ addiu $at, $v1, 3 +/* 0040E8EC 00012883 */ sra $a1, $at, 2 +.L0040E8F0: +/* 0040E8F0 04A00003 */ bltz $a1, .L0040E900 +/* 0040E8F4 28E10004 */ slti $at, $a3, 4 +/* 0040E8F8 14200003 */ bnez $at, .L0040E908 +/* 0040E8FC 240C000C */ li $t4, 12 +.L0040E900: +/* 0040E900 100000D0 */ b .L0040EC44 +/* 0040E904 00001025 */ move $v0, $zero +.L0040E908: +/* 0040E908 00AC0019 */ multu $a1, $t4 +/* 0040E90C 2564EAD8 */ addiu $a0, $t3, -0x1528 +/* 0040E910 24010004 */ li $at, 4 +/* 0040E914 0000C012 */ mflo $t8 +/* 0040E918 00981821 */ addu $v1, $a0, $t8 +/* 0040E91C 906A0000 */ lbu $t2, ($v1) +/* 0040E920 55410004 */ bnel $t2, $at, .L0040E934 +/* 0040E924 8FB90028 */ lw $t9, 0x28($sp) +/* 0040E928 100000C6 */ b .L0040EC44 +/* 0040E92C 00001025 */ move $v0, $zero +/* 0040E930 8FB90028 */ lw $t9, 0x28($sp) +.L0040E934: +/* 0040E934 93260021 */ lbu $a2, 0x21($t9) +/* 0040E938 30C6001F */ andi $a2, $a2, 0x1f +/* 0040E93C 30C200FF */ andi $v0, $a2, 0xff +/* 0040E940 2C410010 */ sltiu $at, $v0, 0x10 +/* 0040E944 1020006B */ beqz $at, .L0040EAF4 +/* 0040E948 00000000 */ nop +/* 0040E94C 8F818038 */ lw $at, %got(jtbl_10008BF4)($gp) +/* 0040E950 00026880 */ sll $t5, $v0, 2 +/* 0040E954 002D0821 */ addu $at, $at, $t5 +/* 0040E958 8C2D8BF4 */ lw $t5, %lo(jtbl_10008BF4)($at) +/* 0040E95C 01BC6821 */ addu $t5, $t5, $gp +/* 0040E960 01A00008 */ jr $t5 +/* 0040E964 00000000 */ nop +.L0040E968: +/* 0040E968 50A70004 */ beql $a1, $a3, .L0040E97C +/* 0040E96C 8C640008 */ lw $a0, 8($v1) +/* 0040E970 100000B4 */ b .L0040EC44 +/* 0040E974 00001025 */ move $v0, $zero +/* 0040E978 8C640008 */ lw $a0, 8($v1) +.L0040E97C: +/* 0040E97C 24010004 */ li $at, 4 +/* 0040E980 1081001A */ beq $a0, $at, .L0040E9EC +/* 0040E984 00802825 */ move $a1, $a0 +/* 0040E988 916FEB33 */ lbu $t7, -0x14cd($t3) +/* 0040E98C 55E00018 */ bnel $t7, $zero, .L0040E9F0 +/* 0040E990 24010003 */ li $at, 3 +/* 0040E994 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0040E998 91CE0000 */ lbu $t6, ($t6) +/* 0040E99C 51C00009 */ beql $t6, $zero, .L0040E9C4 +/* 0040E9A0 8C620004 */ lw $v0, 4($v1) +/* 0040E9A4 8C620004 */ lw $v0, 4($v1) +/* 0040E9A8 15020003 */ bne $t0, $v0, .L0040E9B8 +/* 0040E9AC 00000000 */ nop +/* 0040E9B0 5125000B */ beql $t1, $a1, .L0040E9E0 +/* 0040E9B4 8FAD0028 */ lw $t5, 0x28($sp) +.L0040E9B8: +/* 0040E9B8 100000A2 */ b .L0040EC44 +/* 0040E9BC 00001025 */ move $v0, $zero +/* 0040E9C0 8C620004 */ lw $v0, 4($v1) +.L0040E9C4: +/* 0040E9C4 0109C021 */ addu $t8, $t0, $t1 +/* 0040E9C8 0044C821 */ addu $t9, $v0, $a0 +/* 0040E9CC 53190004 */ beql $t8, $t9, .L0040E9E0 +/* 0040E9D0 8FAD0028 */ lw $t5, 0x28($sp) +/* 0040E9D4 1000009B */ b .L0040EC44 +/* 0040E9D8 00001025 */ move $v0, $zero +/* 0040E9DC 8FAD0028 */ lw $t5, 0x28($sp) +.L0040E9E0: +/* 0040E9E0 ADA2002C */ sw $v0, 0x2c($t5) +/* 0040E9E4 8FAF0028 */ lw $t7, 0x28($sp) +/* 0040E9E8 ADE50028 */ sw $a1, 0x28($t7) +.L0040E9EC: +/* 0040E9EC 24010003 */ li $at, 3 +.L0040E9F0: +/* 0040E9F0 15410042 */ bne $t2, $at, .L0040EAFC +/* 0040E9F4 00000000 */ nop +/* 0040E9F8 10000092 */ b .L0040EC44 +/* 0040E9FC 00001025 */ move $v0, $zero +.L0040EA00: +/* 0040EA00 54A7000B */ bnel $a1, $a3, .L0040EA30 +/* 0040EA04 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA08 906E0001 */ lbu $t6, 1($v1) +/* 0040EA0C 54CE0008 */ bnel $a2, $t6, .L0040EA30 +/* 0040EA10 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA14 8C780004 */ lw $t8, 4($v1) +/* 0040EA18 55180005 */ bnel $t0, $t8, .L0040EA30 +/* 0040EA1C 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA20 8C790008 */ lw $t9, 8($v1) +/* 0040EA24 51390007 */ beql $t1, $t9, .L0040EA44 +/* 0040EA28 24010003 */ li $at, 3 +/* 0040EA2C 916DEB33 */ lbu $t5, -0x14cd($t3) +.L0040EA30: +/* 0040EA30 55A00004 */ bnel $t5, $zero, .L0040EA44 +/* 0040EA34 24010003 */ li $at, 3 +/* 0040EA38 10000082 */ b .L0040EC44 +/* 0040EA3C 00001025 */ move $v0, $zero +/* 0040EA40 24010003 */ li $at, 3 +.L0040EA44: +/* 0040EA44 1541002D */ bne $t2, $at, .L0040EAFC +/* 0040EA48 00000000 */ nop +/* 0040EA4C 1000007D */ b .L0040EC44 +/* 0040EA50 00001025 */ move $v0, $zero +.L0040EA54: +/* 0040EA54 24AF0001 */ addiu $t7, $a1, 1 +/* 0040EA58 55E7001D */ bnel $t7, $a3, .L0040EAD0 +/* 0040EA5C 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA60 906E0001 */ lbu $t6, 1($v1) +/* 0040EA64 2405000C */ li $a1, 12 +/* 0040EA68 54AE0019 */ bnel $a1, $t6, .L0040EAD0 +/* 0040EA6C 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA70 8C780004 */ lw $t8, 4($v1) +/* 0040EA74 55180016 */ bnel $t0, $t8, .L0040EAD0 +/* 0040EA78 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA7C 8C790008 */ lw $t9, 8($v1) +/* 0040EA80 24060008 */ li $a2, 8 +/* 0040EA84 54D90012 */ bnel $a2, $t9, .L0040EAD0 +/* 0040EA88 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EA8C 00EC0019 */ multu $a3, $t4 +/* 0040EA90 24010002 */ li $at, 2 +/* 0040EA94 00006812 */ mflo $t5 +/* 0040EA98 008D1021 */ addu $v0, $a0, $t5 +/* 0040EA9C 904F0000 */ lbu $t7, ($v0) +/* 0040EAA0 51E1000B */ beql $t7, $at, .L0040EAD0 +/* 0040EAA4 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EAA8 904E0001 */ lbu $t6, 1($v0) +/* 0040EAAC 54AE0008 */ bnel $a1, $t6, .L0040EAD0 +/* 0040EAB0 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EAB4 8C580004 */ lw $t8, 4($v0) +/* 0040EAB8 55180005 */ bnel $t0, $t8, .L0040EAD0 +/* 0040EABC 916DEB33 */ lbu $t5, -0x14cd($t3) +/* 0040EAC0 8C590008 */ lw $t9, 8($v0) +/* 0040EAC4 50D90007 */ beql $a2, $t9, .L0040EAE4 +/* 0040EAC8 24010003 */ li $at, 3 +/* 0040EACC 916DEB33 */ lbu $t5, -0x14cd($t3) +.L0040EAD0: +/* 0040EAD0 55A00004 */ bnel $t5, $zero, .L0040EAE4 +/* 0040EAD4 24010003 */ li $at, 3 +/* 0040EAD8 1000005A */ b .L0040EC44 +/* 0040EADC 00001025 */ move $v0, $zero +/* 0040EAE0 24010003 */ li $at, 3 +.L0040EAE4: +/* 0040EAE4 15410005 */ bne $t2, $at, .L0040EAFC +/* 0040EAE8 00000000 */ nop +/* 0040EAEC 10000055 */ b .L0040EC44 +/* 0040EAF0 00001025 */ move $v0, $zero +.L0040EAF4: +/* 0040EAF4 10000053 */ b .L0040EC44 +/* 0040EAF8 00001025 */ move $v0, $zero +.L0040EAFC: +/* 0040EAFC 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0040EB00 8FA40028 */ lw $a0, 0x28($sp) +/* 0040EB04 AFAB0024 */ sw $t3, 0x24($sp) +/* 0040EB08 0320F809 */ jalr $t9 +/* 0040EB0C 00000000 */ nop +/* 0040EB10 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040EB14 8FA50028 */ lw $a1, 0x28($sp) +/* 0040EB18 8FAB0024 */ lw $t3, 0x24($sp) +/* 0040EB1C 8F8489DC */ lw $a0, %got(basicint)($gp) +/* 0040EB20 90840000 */ lbu $a0, ($a0) +/* 0040EB24 2C830001 */ sltiu $v1, $a0, 1 +/* 0040EB28 10600009 */ beqz $v1, .L0040EB50 +/* 0040EB2C 00000000 */ nop +/* 0040EB30 90AF0021 */ lbu $t7, 0x21($a1) +/* 0040EB34 3C01BA80 */ lui $at, 0xba80 +/* 0040EB38 31EE001F */ andi $t6, $t7, 0x1f +/* 0040EB3C 2DD80020 */ sltiu $t8, $t6, 0x20 +/* 0040EB40 0018C823 */ negu $t9, $t8 +/* 0040EB44 03216824 */ and $t5, $t9, $at +/* 0040EB48 01CD1804 */ sllv $v1, $t5, $t6 +/* 0040EB4C 28630000 */ slti $v1, $v1, 0 +.L0040EB50: +/* 0040EB50 5460003C */ bnel $v1, $zero, .L0040EC44 +/* 0040EB54 00601025 */ move $v0, $v1 +/* 0040EB58 38830001 */ xori $v1, $a0, 1 +/* 0040EB5C 2C630001 */ sltiu $v1, $v1, 1 +/* 0040EB60 10600009 */ beqz $v1, .L0040EB88 +/* 0040EB64 00000000 */ nop +/* 0040EB68 90AF0021 */ lbu $t7, 0x21($a1) +/* 0040EB6C 3C013D01 */ lui $at, 0x3d01 +/* 0040EB70 31F8001F */ andi $t8, $t7, 0x1f +/* 0040EB74 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0040EB78 00196823 */ negu $t5, $t9 +/* 0040EB7C 01A17024 */ and $t6, $t5, $at +/* 0040EB80 030E1804 */ sllv $v1, $t6, $t8 +/* 0040EB84 28630000 */ slti $v1, $v1, 0 +.L0040EB88: +/* 0040EB88 5460002E */ bnel $v1, $zero, .L0040EC44 +/* 0040EB8C 00601025 */ move $v0, $v1 +/* 0040EB90 90A60021 */ lbu $a2, 0x21($a1) +/* 0040EB94 30C6001F */ andi $a2, $a2, 0x1f +/* 0040EB98 38C30009 */ xori $v1, $a2, 9 +/* 0040EB9C 2C630001 */ sltiu $v1, $v1, 1 +/* 0040EBA0 10600006 */ beqz $v1, .L0040EBBC +/* 0040EBA4 00000000 */ nop +/* 0040EBA8 8F8F8A2C */ lw $t7, %got(unitsperaddr)($gp) +/* 0040EBAC 8CB90028 */ lw $t9, 0x28($a1) +/* 0040EBB0 8DEF0000 */ lw $t7, ($t7) +/* 0040EBB4 01F91826 */ xor $v1, $t7, $t9 +/* 0040EBB8 2C630001 */ sltiu $v1, $v1, 1 +.L0040EBBC: +/* 0040EBBC 54600021 */ bnel $v1, $zero, .L0040EC44 +/* 0040EBC0 00601025 */ move $v0, $v1 +/* 0040EBC4 38C3000E */ xori $v1, $a2, 0xe +/* 0040EBC8 2C630001 */ sltiu $v1, $v1, 1 +/* 0040EBCC 10600006 */ beqz $v1, .L0040EBE8 +/* 0040EBD0 00000000 */ nop +/* 0040EBD4 8F8D8A2C */ lw $t5, %got(unitsperaddr)($gp) +/* 0040EBD8 8CAE0028 */ lw $t6, 0x28($a1) +/* 0040EBDC 8DAD0000 */ lw $t5, ($t5) +/* 0040EBE0 01AE182A */ slt $v1, $t5, $t6 +/* 0040EBE4 38630001 */ xori $v1, $v1, 1 +.L0040EBE8: +/* 0040EBE8 54600016 */ bnel $v1, $zero, .L0040EC44 +/* 0040EBEC 00601025 */ move $v0, $v1 +/* 0040EBF0 9163EB33 */ lbu $v1, -0x14cd($t3) +/* 0040EBF4 2CD80020 */ sltiu $t8, $a2, 0x20 +/* 0040EBF8 00187823 */ negu $t7, $t8 +/* 0040EBFC 14600010 */ bnez $v1, .L0040EC40 +/* 0040EC00 3C01000C */ lui $at, 0xc +/* 0040EC04 34218000 */ ori $at, $at, 0x8000 +/* 0040EC08 01E1C824 */ and $t9, $t7, $at +/* 0040EC0C 00D91804 */ sllv $v1, $t9, $a2 +/* 0040EC10 28630000 */ slti $v1, $v1, 0 +/* 0040EC14 1060000A */ beqz $v1, .L0040EC40 +/* 0040EC18 2C44002C */ sltiu $a0, $v0, 0x2c +/* 0040EC1C 38830001 */ xori $v1, $a0, 1 +/* 0040EC20 50600008 */ beql $v1, $zero, .L0040EC44 +/* 0040EC24 00601025 */ move $v0, $v1 +/* 0040EC28 8F8D8A00 */ lw $t5, %got(n_fp_parm_regs)($gp) +/* 0040EC2C 8DAD0000 */ lw $t5, ($t5) +/* 0040EC30 000D7040 */ sll $t6, $t5, 1 +/* 0040EC34 25D8002A */ addiu $t8, $t6, 0x2a +/* 0040EC38 0302182B */ sltu $v1, $t8, $v0 +/* 0040EC3C 38630001 */ xori $v1, $v1, 1 +.L0040EC40: +/* 0040EC40 00601025 */ move $v0, $v1 +.L0040EC44: +/* 0040EC44 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040EC48 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0040EC4C 03E00008 */ jr $ra +/* 0040EC50 00000000 */ nop + + .type func_0040EC54, @function +func_0040EC54: + # 0040EED4 func_0040EED4 + # 0040F4C8 build_tree +/* 0040EC54 3C1C0FC1 */ .cpload $t9 +/* 0040EC58 279C0DFC */ +/* 0040EC5C 0399E021 */ +/* 0040EC60 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0040EC64 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040EC68 AFBC0020 */ sw $gp, 0x20($sp) +/* 0040EC6C AFB1001C */ sw $s1, 0x1c($sp) +/* 0040EC70 AFB00018 */ sw $s0, 0x18($sp) +/* 0040EC74 AFA20034 */ sw $v0, 0x34($sp) +/* 0040EC78 8C45EB6C */ lw $a1, -0x1494($v0) +/* 0040EC7C 00808825 */ move $s1, $a0 +/* 0040EC80 54A00004 */ bnel $a1, $zero, .L0040EC94 +/* 0040EC84 922F0021 */ lbu $t7, 0x21($s1) +/* 0040EC88 1000008D */ b .L0040EEC0 +/* 0040EC8C AC44EB6C */ sw $a0, -0x1494($v0) +/* 0040EC90 922F0021 */ lbu $t7, 0x21($s1) +.L0040EC94: +/* 0040EC94 24030002 */ li $v1, 2 +/* 0040EC98 00003025 */ move $a2, $zero +/* 0040EC9C 000FC600 */ sll $t8, $t7, 0x18 +/* 0040ECA0 0018CF42 */ srl $t9, $t8, 0x1d +/* 0040ECA4 14790035 */ bne $v1, $t9, .L0040ED7C +/* 0040ECA8 00A08025 */ move $s0, $a1 +/* 0040ECAC 10A0007E */ beqz $a1, .L0040EEA8 +/* 0040ECB0 00000000 */ nop +/* 0040ECB4 90A80021 */ lbu $t0, 0x21($a1) +/* 0040ECB8 00084E00 */ sll $t1, $t0, 0x18 +/* 0040ECBC 00095742 */ srl $t2, $t1, 0x1d +/* 0040ECC0 146A0079 */ bne $v1, $t2, .L0040EEA8 +/* 0040ECC4 00000000 */ nop +.L0040ECC8: +/* 0040ECC8 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 0040ECCC 02202025 */ move $a0, $s1 +/* 0040ECD0 02002825 */ move $a1, $s0 +/* 0040ECD4 0320F809 */ jalr $t9 +/* 0040ECD8 AFA6002C */ sw $a2, 0x2c($sp) +/* 0040ECDC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040ECE0 24030002 */ li $v1, 2 +/* 0040ECE4 1040000A */ beqz $v0, .L0040ED10 +/* 0040ECE8 8FA6002C */ lw $a2, 0x2c($sp) +/* 0040ECEC 8E0B0030 */ lw $t3, 0x30($s0) +/* 0040ECF0 2403FFFF */ li $v1, -1 +/* 0040ECF4 546B0073 */ bnel $v1, $t3, .L0040EEC4 +/* 0040ECF8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040ECFC 8E220030 */ lw $v0, 0x30($s1) +/* 0040ED00 50620070 */ beql $v1, $v0, .L0040EEC4 +/* 0040ED04 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040ED08 1000006D */ b .L0040EEC0 +/* 0040ED0C AE020030 */ sw $v0, 0x30($s0) +.L0040ED10: +/* 0040ED10 8F8C8A74 */ lw $t4, %got(reversed_stack)($gp) +/* 0040ED14 918C0000 */ lbu $t4, ($t4) +/* 0040ED18 51800009 */ beql $t4, $zero, .L0040ED40 +/* 0040ED1C 8E2F002C */ lw $t7, 0x2c($s1) +/* 0040ED20 8E0D002C */ lw $t5, 0x2c($s0) +/* 0040ED24 8E2E002C */ lw $t6, 0x2c($s1) +/* 0040ED28 01AE082A */ slt $at, $t5, $t6 +/* 0040ED2C 50200009 */ beql $at, $zero, .L0040ED54 +/* 0040ED30 02003025 */ move $a2, $s0 +/* 0040ED34 1000005C */ b .L0040EEA8 +/* 0040ED38 00000000 */ nop +/* 0040ED3C 8E2F002C */ lw $t7, 0x2c($s1) +.L0040ED40: +/* 0040ED40 8E18002C */ lw $t8, 0x2c($s0) +/* 0040ED44 01F8082A */ slt $at, $t7, $t8 +/* 0040ED48 14200057 */ bnez $at, .L0040EEA8 +/* 0040ED4C 00000000 */ nop +/* 0040ED50 02003025 */ move $a2, $s0 +.L0040ED54: +/* 0040ED54 8E100008 */ lw $s0, 8($s0) +/* 0040ED58 12000053 */ beqz $s0, .L0040EEA8 +/* 0040ED5C 00000000 */ nop +/* 0040ED60 92190021 */ lbu $t9, 0x21($s0) +/* 0040ED64 00194600 */ sll $t0, $t9, 0x18 +/* 0040ED68 00084F42 */ srl $t1, $t0, 0x1d +/* 0040ED6C 1069FFD6 */ beq $v1, $t1, .L0040ECC8 +/* 0040ED70 00000000 */ nop +/* 0040ED74 1000004C */ b .L0040EEA8 +/* 0040ED78 00000000 */ nop +.L0040ED7C: +/* 0040ED7C 10A0000F */ beqz $a1, .L0040EDBC +/* 0040ED80 00000000 */ nop +/* 0040ED84 90AA0021 */ lbu $t2, 0x21($a1) +/* 0040ED88 000A5E00 */ sll $t3, $t2, 0x18 +/* 0040ED8C 000B6742 */ srl $t4, $t3, 0x1d +/* 0040ED90 146C000A */ bne $v1, $t4, .L0040EDBC +/* 0040ED94 00000000 */ nop +/* 0040ED98 02003025 */ move $a2, $s0 +.L0040ED9C: +/* 0040ED9C 8E100008 */ lw $s0, 8($s0) +/* 0040EDA0 12000006 */ beqz $s0, .L0040EDBC +/* 0040EDA4 00000000 */ nop +/* 0040EDA8 920D0021 */ lbu $t5, 0x21($s0) +/* 0040EDAC 000D7600 */ sll $t6, $t5, 0x18 +/* 0040EDB0 000E7F42 */ srl $t7, $t6, 0x1d +/* 0040EDB4 506FFFF9 */ beql $v1, $t7, .L0040ED9C +/* 0040EDB8 02003025 */ move $a2, $s0 +.L0040EDBC: +/* 0040EDBC 8F988A74 */ lw $t8, %got(reversed_stack)($gp) +/* 0040EDC0 93180000 */ lbu $t8, ($t8) +/* 0040EDC4 13000012 */ beqz $t8, .L0040EE10 +/* 0040EDC8 00000000 */ nop +/* 0040EDCC 1200001F */ beqz $s0, .L0040EE4C +/* 0040EDD0 00000000 */ nop +/* 0040EDD4 8E22002C */ lw $v0, 0x2c($s1) +/* 0040EDD8 8E19002C */ lw $t9, 0x2c($s0) +/* 0040EDDC 0322082A */ slt $at, $t9, $v0 +/* 0040EDE0 1020001A */ beqz $at, .L0040EE4C +/* 0040EDE4 00000000 */ nop +/* 0040EDE8 02003025 */ move $a2, $s0 +.L0040EDEC: +/* 0040EDEC 8E100008 */ lw $s0, 8($s0) +/* 0040EDF0 12000016 */ beqz $s0, .L0040EE4C +/* 0040EDF4 00000000 */ nop +/* 0040EDF8 8E08002C */ lw $t0, 0x2c($s0) +/* 0040EDFC 0102082A */ slt $at, $t0, $v0 +/* 0040EE00 5420FFFA */ bnel $at, $zero, .L0040EDEC +/* 0040EE04 02003025 */ move $a2, $s0 +/* 0040EE08 10000010 */ b .L0040EE4C +/* 0040EE0C 00000000 */ nop +.L0040EE10: +/* 0040EE10 1200000E */ beqz $s0, .L0040EE4C +/* 0040EE14 00000000 */ nop +/* 0040EE18 8E22002C */ lw $v0, 0x2c($s1) +/* 0040EE1C 8E09002C */ lw $t1, 0x2c($s0) +/* 0040EE20 0049082A */ slt $at, $v0, $t1 +/* 0040EE24 10200009 */ beqz $at, .L0040EE4C +/* 0040EE28 00000000 */ nop +/* 0040EE2C 02003025 */ move $a2, $s0 +.L0040EE30: +/* 0040EE30 8E100008 */ lw $s0, 8($s0) +/* 0040EE34 12000005 */ beqz $s0, .L0040EE4C +/* 0040EE38 00000000 */ nop +/* 0040EE3C 8E0A002C */ lw $t2, 0x2c($s0) +/* 0040EE40 004A082A */ slt $at, $v0, $t2 +/* 0040EE44 5420FFFA */ bnel $at, $zero, .L0040EE30 +/* 0040EE48 02003025 */ move $a2, $s0 +.L0040EE4C: +/* 0040EE4C 12000009 */ beqz $s0, .L0040EE74 +/* 0040EE50 2E030001 */ sltiu $v1, $s0, 1 +/* 0040EE54 8E0B002C */ lw $t3, 0x2c($s0) +/* 0040EE58 8E2C002C */ lw $t4, 0x2c($s1) +/* 0040EE5C 156C0005 */ bne $t3, $t4, .L0040EE74 +/* 0040EE60 00000000 */ nop +/* 0040EE64 8E0D0024 */ lw $t5, 0x24($s0) +/* 0040EE68 8E2E0024 */ lw $t6, 0x24($s1) +/* 0040EE6C 51AE0015 */ beql $t5, $t6, .L0040EEC4 +/* 0040EE70 8FBF0024 */ lw $ra, 0x24($sp) +.L0040EE74: +/* 0040EE74 5460000C */ bnel $v1, $zero, .L0040EEA8 +/* 0040EE78 006002B4 */ teq $v1, $zero, 0xa +/* 0040EE7C 8E0F002C */ lw $t7, 0x2c($s0) +/* 0040EE80 8E38002C */ lw $t8, 0x2c($s1) +/* 0040EE84 01F81826 */ xor $v1, $t7, $t8 +/* 0040EE88 0003182B */ sltu $v1, $zero, $v1 +/* 0040EE8C 54600006 */ bnel $v1, $zero, .L0040EEA8 +/* 0040EE90 006002B4 */ teq $v1, $zero, 0xa +/* 0040EE94 8E190024 */ lw $t9, 0x24($s0) +/* 0040EE98 8E280024 */ lw $t0, 0x24($s1) +/* 0040EE9C 03281826 */ xor $v1, $t9, $t0 +/* 0040EEA0 0003182B */ sltu $v1, $zero, $v1 +/* 0040EEA4 006002B4 */ teq $v1, $zero, 0xa +.L0040EEA8: +/* 0040EEA8 14C00004 */ bnez $a2, .L0040EEBC +/* 0040EEAC AE300008 */ sw $s0, 8($s1) +/* 0040EEB0 8FA90034 */ lw $t1, 0x34($sp) +/* 0040EEB4 10000002 */ b .L0040EEC0 +/* 0040EEB8 AD31EB6C */ sw $s1, -0x1494($t1) +.L0040EEBC: +/* 0040EEBC ACD10008 */ sw $s1, 8($a2) +.L0040EEC0: +/* 0040EEC0 8FBF0024 */ lw $ra, 0x24($sp) +.L0040EEC4: +/* 0040EEC4 8FB00018 */ lw $s0, 0x18($sp) +/* 0040EEC8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0040EECC 03E00008 */ jr $ra +/* 0040EED0 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0040EED4, @function +func_0040EED4: + # 0040F4C8 build_tree +/* 0040EED4 3C1C0FC1 */ .cpload $t9 +/* 0040EED8 279C0B7C */ +/* 0040EEDC 0399E021 */ +/* 0040EEE0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040EEE4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040EEE8 AFBC0020 */ sw $gp, 0x20($sp) +/* 0040EEEC AFB2001C */ sw $s2, 0x1c($sp) +/* 0040EEF0 AFB10018 */ sw $s1, 0x18($sp) +/* 0040EEF4 AFB00014 */ sw $s0, 0x14($sp) +/* 0040EEF8 8C50EB68 */ lw $s0, -0x1498($v0) +/* 0040EEFC 00408825 */ move $s1, $v0 +/* 0040EF00 2412008B */ li $s2, 139 +/* 0040EF04 5200001C */ beql $s0, $zero, .L0040EF78 +/* 0040EF08 8FBF0024 */ lw $ra, 0x24($sp) +.L0040EF0C: +/* 0040EF0C 8F998018 */ lw $t9, %got(func_0040E884)($gp) +/* 0040EF10 02002025 */ move $a0, $s0 +/* 0040EF14 02201025 */ move $v0, $s1 +/* 0040EF18 2739E884 */ addiu $t9, %lo(func_0040E884) # addiu $t9, $t9, -0x177c +/* 0040EF1C 0320F809 */ jalr $t9 +/* 0040EF20 00000000 */ nop +/* 0040EF24 10400010 */ beqz $v0, .L0040EF68 +/* 0040EF28 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040EF2C 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040EF30 26040020 */ addiu $a0, $s0, 0x20 +/* 0040EF34 0320F809 */ jalr $t9 +/* 0040EF38 00000000 */ nop +/* 0040EF3C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040EF40 A0520020 */ sb $s2, 0x20($v0) +/* 0040EF44 A4400022 */ sh $zero, 0x22($v0) +/* 0040EF48 8E0E0030 */ lw $t6, 0x30($s0) +/* 0040EF4C 8F998018 */ lw $t9, %got(func_0040EC54)($gp) +/* 0040EF50 00402025 */ move $a0, $v0 +/* 0040EF54 AC4E0030 */ sw $t6, 0x30($v0) +/* 0040EF58 2739EC54 */ addiu $t9, %lo(func_0040EC54) # addiu $t9, $t9, -0x13ac +/* 0040EF5C 0320F809 */ jalr $t9 +/* 0040EF60 02201025 */ move $v0, $s1 +/* 0040EF64 8FBC0020 */ lw $gp, 0x20($sp) +.L0040EF68: +/* 0040EF68 8E100008 */ lw $s0, 8($s0) +/* 0040EF6C 1600FFE7 */ bnez $s0, .L0040EF0C +/* 0040EF70 00000000 */ nop +/* 0040EF74 8FBF0024 */ lw $ra, 0x24($sp) +.L0040EF78: +/* 0040EF78 8FB00014 */ lw $s0, 0x14($sp) +/* 0040EF7C 8FB10018 */ lw $s1, 0x18($sp) +/* 0040EF80 8FB2001C */ lw $s2, 0x1c($sp) +/* 0040EF84 03E00008 */ jr $ra +/* 0040EF88 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_0040EF8C, @function +func_0040EF8C: + # 0040F4C8 build_tree +/* 0040EF8C 10800009 */ beqz $a0, .L0040EFB4 +/* 0040EF90 00000000 */ nop +/* 0040EF94 8C43EB08 */ lw $v1, -0x14f8($v0) +/* 0040EF98 246E0001 */ addiu $t6, $v1, 1 +.L0040EF9C: +/* 0040EF9C AC4EEB08 */ sw $t6, -0x14f8($v0) +/* 0040EFA0 24630001 */ addiu $v1, $v1, 1 +/* 0040EFA4 AC830034 */ sw $v1, 0x34($a0) +/* 0040EFA8 8C840008 */ lw $a0, 8($a0) +/* 0040EFAC 5480FFFB */ bnel $a0, $zero, .L0040EF9C +/* 0040EFB0 246E0001 */ addiu $t6, $v1, 1 +.L0040EFB4: +/* 0040EFB4 03E00008 */ jr $ra +/* 0040EFB8 00000000 */ nop + + .type func_0040EFBC, @function +func_0040EFBC: + # 0040F4C8 build_tree +/* 0040EFBC 3C1C0FC1 */ .cpload $t9 +/* 0040EFC0 279C0A94 */ +/* 0040EFC4 0399E021 */ +/* 0040EFC8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0040EFCC AFB10018 */ sw $s1, 0x18($sp) +/* 0040EFD0 AFB00014 */ sw $s0, 0x14($sp) +/* 0040EFD4 00808025 */ move $s0, $a0 +/* 0040EFD8 00408825 */ move $s1, $v0 +/* 0040EFDC AFBF002C */ sw $ra, 0x2c($sp) +/* 0040EFE0 AFBC0028 */ sw $gp, 0x28($sp) +/* 0040EFE4 AFB40024 */ sw $s4, 0x24($sp) +/* 0040EFE8 AFB30020 */ sw $s3, 0x20($sp) +/* 0040EFEC AFB2001C */ sw $s2, 0x1c($sp) +/* 0040EFF0 10800015 */ beqz $a0, .L0040F048 +/* 0040EFF4 00001825 */ move $v1, $zero +/* 0040EFF8 2414008F */ li $s4, 143 +/* 0040EFFC 24130006 */ li $s3, 6 +/* 0040F000 24120027 */ li $s2, 39 +/* 0040F004 920E0020 */ lbu $t6, 0x20($s0) +.L0040F008: +/* 0040F008 564E0009 */ bnel $s2, $t6, .L0040F030 +/* 0040F00C 8E2FEB08 */ lw $t7, -0x14f8($s1) +/* 0040F010 8F998598 */ lw $t9, %call16(set_mtag)($gp) +/* 0040F014 8E040024 */ lw $a0, 0x24($s0) +/* 0040F018 2625EB08 */ addiu $a1, $s1, -0x14f8 +/* 0040F01C 0320F809 */ jalr $t9 +/* 0040F020 00000000 */ nop +/* 0040F024 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040F028 A6130022 */ sh $s3, 0x22($s0) +/* 0040F02C 8E2FEB08 */ lw $t7, -0x14f8($s1) +.L0040F030: +/* 0040F030 A2140020 */ sb $s4, 0x20($s0) +/* 0040F034 02001825 */ move $v1, $s0 +/* 0040F038 AE0F0024 */ sw $t7, 0x24($s0) +/* 0040F03C 8E100008 */ lw $s0, 8($s0) +/* 0040F040 5600FFF1 */ bnel $s0, $zero, .L0040F008 +/* 0040F044 920E0020 */ lbu $t6, 0x20($s0) +.L0040F048: +/* 0040F048 8F938970 */ lw $s3, %got(non_local_mtag)($gp) +/* 0040F04C 2414008F */ li $s4, 143 +/* 0040F050 8E780000 */ lw $t8, ($s3) +/* 0040F054 57000011 */ bnel $t8, $zero, .L0040F09C +/* 0040F058 8FBF002C */ lw $ra, 0x2c($sp) +/* 0040F05C 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0040F060 8E30EB08 */ lw $s0, -0x14f8($s1) +/* 0040F064 AFA30030 */ sw $v1, 0x30($sp) +/* 0040F068 0320F809 */ jalr $t9 +/* 0040F06C 02009025 */ move $s2, $s0 +/* 0040F070 8FA30030 */ lw $v1, 0x30($sp) +/* 0040F074 8FBC0028 */ lw $gp, 0x28($sp) +/* 0040F078 24190003 */ li $t9, 3 +/* 0040F07C A0540020 */ sb $s4, 0x20($v0) +/* 0040F080 A4590022 */ sh $t9, 0x22($v0) +/* 0040F084 AC520024 */ sw $s2, 0x24($v0) +/* 0040F088 AE700000 */ sw $s0, ($s3) +/* 0040F08C 26080001 */ addiu $t0, $s0, 1 +/* 0040F090 AE28EB08 */ sw $t0, -0x14f8($s1) +/* 0040F094 AC620008 */ sw $v0, 8($v1) +/* 0040F098 8FBF002C */ lw $ra, 0x2c($sp) +.L0040F09C: +/* 0040F09C 8FB00014 */ lw $s0, 0x14($sp) +/* 0040F0A0 8FB10018 */ lw $s1, 0x18($sp) +/* 0040F0A4 8FB2001C */ lw $s2, 0x1c($sp) +/* 0040F0A8 8FB30020 */ lw $s3, 0x20($sp) +/* 0040F0AC 8FB40024 */ lw $s4, 0x24($sp) +/* 0040F0B0 03E00008 */ jr $ra +/* 0040F0B4 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0040F0B8, @function +func_0040F0B8: + # 0040F4C8 build_tree +/* 0040F0B8 3C1C0FC1 */ .cpload $t9 +/* 0040F0BC 279C0998 */ +/* 0040F0C0 0399E021 */ +/* 0040F0C4 8C43EB68 */ lw $v1, -0x1498($v0) +/* 0040F0C8 54600005 */ bnel $v1, $zero, .L0040F0E0 +/* 0040F0CC 8C65002C */ lw $a1, 0x2c($v1) +/* 0040F0D0 AC44EB68 */ sw $a0, -0x1498($v0) +/* 0040F0D4 03E00008 */ jr $ra +/* 0040F0D8 AC44EB64 */ sw $a0, -0x149c($v0) + +/* 0040F0DC 8C65002C */ lw $a1, 0x2c($v1) +.L0040F0E0: +/* 0040F0E0 8C86002C */ lw $a2, 0x2c($a0) +/* 0040F0E4 10A60033 */ beq $a1, $a2, .L0040F1B4 +/* 0040F0E8 00000000 */ nop +/* 0040F0EC 8F878A74 */ lw $a3, %got(reversed_stack)($gp) +/* 0040F0F0 00C5082A */ slt $at, $a2, $a1 +/* 0040F0F4 90E70000 */ lbu $a3, ($a3) +/* 0040F0F8 10E00007 */ beqz $a3, .L0040F118 +/* 0040F0FC 00000000 */ nop +/* 0040F100 00A6082A */ slt $at, $a1, $a2 +/* 0040F104 50200013 */ beql $at, $zero, .L0040F154 +/* 0040F108 8C650008 */ lw $a1, 8($v1) +/* 0040F10C AC830008 */ sw $v1, 8($a0) +/* 0040F110 03E00008 */ jr $ra +/* 0040F114 AC44EB68 */ sw $a0, -0x1498($v0) + +.L0040F118: +/* 0040F118 50200005 */ beql $at, $zero, .L0040F130 +/* 0040F11C 8C45EB64 */ lw $a1, -0x149c($v0) +/* 0040F120 AC830008 */ sw $v1, 8($a0) +/* 0040F124 03E00008 */ jr $ra +/* 0040F128 AC44EB68 */ sw $a0, -0x1498($v0) + +/* 0040F12C 8C45EB64 */ lw $a1, -0x149c($v0) +.L0040F130: +/* 0040F130 8CA8002C */ lw $t0, 0x2c($a1) +/* 0040F134 1106001F */ beq $t0, $a2, .L0040F1B4 +/* 0040F138 0106082A */ slt $at, $t0, $a2 +/* 0040F13C 50200005 */ beql $at, $zero, .L0040F154 +/* 0040F140 8C650008 */ lw $a1, 8($v1) +/* 0040F144 ACA40008 */ sw $a0, 8($a1) +/* 0040F148 03E00008 */ jr $ra +/* 0040F14C AC44EB64 */ sw $a0, -0x149c($v0) + +/* 0040F150 8C650008 */ lw $a1, 8($v1) +.L0040F154: +/* 0040F154 00601025 */ move $v0, $v1 +/* 0040F158 50A00016 */ beql $a1, $zero, .L0040F1B4 +/* 0040F15C AC440008 */ sw $a0, 8($v0) +/* 0040F160 8CA3002C */ lw $v1, 0x2c($a1) +.L0040F164: +/* 0040F164 10660013 */ beq $v1, $a2, .L0040F1B4 +/* 0040F168 00000000 */ nop +/* 0040F16C 10E00006 */ beqz $a3, .L0040F188 +/* 0040F170 0066082A */ slt $at, $v1, $a2 +/* 0040F174 5020000B */ beql $at, $zero, .L0040F1A4 +/* 0040F178 00A01025 */ move $v0, $a1 +/* 0040F17C AC440008 */ sw $a0, 8($v0) +/* 0040F180 03E00008 */ jr $ra +/* 0040F184 AC850008 */ sw $a1, 8($a0) + +.L0040F188: +/* 0040F188 00C3082A */ slt $at, $a2, $v1 +/* 0040F18C 50200005 */ beql $at, $zero, .L0040F1A4 +/* 0040F190 00A01025 */ move $v0, $a1 +/* 0040F194 AC440008 */ sw $a0, 8($v0) +/* 0040F198 03E00008 */ jr $ra +/* 0040F19C AC850008 */ sw $a1, 8($a0) + +/* 0040F1A0 00A01025 */ move $v0, $a1 +.L0040F1A4: +/* 0040F1A4 8CA50008 */ lw $a1, 8($a1) +/* 0040F1A8 54A0FFEE */ bnel $a1, $zero, .L0040F164 +/* 0040F1AC 8CA3002C */ lw $v1, 0x2c($a1) +/* 0040F1B0 AC440008 */ sw $a0, 8($v0) +.L0040F1B4: +/* 0040F1B4 03E00008 */ jr $ra +/* 0040F1B8 00000000 */ nop + + .type func_0040F1BC, @function +func_0040F1BC: + # 0040F4C8 build_tree +/* 0040F1BC 3C1C0FC1 */ .cpload $t9 +/* 0040F1C0 279C0894 */ +/* 0040F1C4 0399E021 */ +/* 0040F1C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040F1CC AFBF001C */ sw $ra, 0x1c($sp) +/* 0040F1D0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040F1D4 AFA20024 */ sw $v0, 0x24($sp) +/* 0040F1D8 908E0020 */ lbu $t6, 0x20($a0) +/* 0040F1DC 240F0042 */ li $t7, 66 +/* 0040F1E0 00802825 */ move $a1, $a0 +/* 0040F1E4 01CF02B6 */ tne $t6, $t7, 0xa +/* 0040F1E8 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 0040F1EC 24040060 */ li $a0, 96 +/* 0040F1F0 AFA50028 */ sw $a1, 0x28($sp) +/* 0040F1F4 0320F809 */ jalr $t9 +/* 0040F1F8 00000000 */ nop +/* 0040F1FC 8FA50028 */ lw $a1, 0x28($sp) +/* 0040F200 8FA30024 */ lw $v1, 0x24($sp) +/* 0040F204 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040F208 8CB80024 */ lw $t8, 0x24($a1) +/* 0040F20C AC450000 */ sw $a1, ($v0) +/* 0040F210 AC580024 */ sw $t8, 0x24($v0) +/* 0040F214 8C79EB58 */ lw $t9, -0x14a8($v1) +/* 0040F218 AC590008 */ sw $t9, 8($v0) +/* 0040F21C AC62EB58 */ sw $v0, -0x14a8($v1) +/* 0040F220 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040F224 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0040F228 03E00008 */ jr $ra +/* 0040F22C 00000000 */ nop + + .type func_0040F230, @function +func_0040F230: + # 0040F230 func_0040F230 + # 0040F4C8 build_tree +/* 0040F230 3C1C0FC1 */ .cpload $t9 +/* 0040F234 279C0820 */ +/* 0040F238 0399E021 */ +/* 0040F23C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0040F240 AFB1001C */ sw $s1, 0x1c($sp) +/* 0040F244 AFB00018 */ sw $s0, 0x18($sp) +/* 0040F248 00808025 */ move $s0, $a0 +/* 0040F24C 00408825 */ move $s1, $v0 +/* 0040F250 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040F254 AFBC0020 */ sw $gp, 0x20($sp) +.L0040F258: +/* 0040F258 56000004 */ bnel $s0, $zero, .L0040F26C +/* 0040F25C 920E0020 */ lbu $t6, 0x20($s0) +/* 0040F260 1000002C */ b .L0040F314 +/* 0040F264 00001025 */ move $v0, $zero +/* 0040F268 920E0020 */ lbu $t6, 0x20($s0) +.L0040F26C: +/* 0040F26C 25CFFFE0 */ addiu $t7, $t6, -0x20 +/* 0040F270 2DF80060 */ sltiu $t8, $t7, 0x60 +/* 0040F274 13000009 */ beqz $t8, .L0040F29C +/* 0040F278 00000000 */ nop +/* 0040F27C 8F898038 */ lw $t1, %got(D_1001255C)($gp) +/* 0040F280 000FC943 */ sra $t9, $t7, 5 +/* 0040F284 00194080 */ sll $t0, $t9, 2 +/* 0040F288 2529255C */ addiu $t1, %lo(D_1001255C) # addiu $t1, $t1, 0x255c +/* 0040F28C 01285021 */ addu $t2, $t1, $t0 +/* 0040F290 8D4B0000 */ lw $t3, ($t2) +/* 0040F294 01EB6004 */ sllv $t4, $t3, $t7 +/* 0040F298 29980000 */ slti $t8, $t4, 0 +.L0040F29C: +/* 0040F29C 53000008 */ beql $t8, $zero, .L0040F2C0 +/* 0040F2A0 8E040000 */ lw $a0, ($s0) +/* 0040F2A4 960E0022 */ lhu $t6, 0x22($s0) +/* 0040F2A8 31D90001 */ andi $t9, $t6, 1 +/* 0040F2AC 53200004 */ beql $t9, $zero, .L0040F2C0 +/* 0040F2B0 8E040000 */ lw $a0, ($s0) +/* 0040F2B4 10000017 */ b .L0040F314 +/* 0040F2B8 24020001 */ li $v0, 1 +/* 0040F2BC 8E040000 */ lw $a0, ($s0) +.L0040F2C0: +/* 0040F2C0 50800014 */ beql $a0, $zero, .L0040F314 +/* 0040F2C4 00001025 */ move $v0, $zero +/* 0040F2C8 8F998018 */ lw $t9, %got(func_0040F230)($gp) +/* 0040F2CC 02201025 */ move $v0, $s1 +/* 0040F2D0 2739F230 */ addiu $t9, %lo(func_0040F230) # addiu $t9, $t9, -0xdd0 +/* 0040F2D4 0320F809 */ jalr $t9 +/* 0040F2D8 00000000 */ nop +/* 0040F2DC 8E030004 */ lw $v1, 4($s0) +/* 0040F2E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040F2E4 304400FF */ andi $a0, $v0, 0xff +/* 0040F2E8 10600007 */ beqz $v1, .L0040F308 +/* 0040F2EC 00000000 */ nop +/* 0040F2F0 14400003 */ bnez $v0, .L0040F300 +/* 0040F2F4 00000000 */ nop +/* 0040F2F8 1000FFD7 */ b .L0040F258 +/* 0040F2FC 00608025 */ move $s0, $v1 +.L0040F300: +/* 0040F300 10000004 */ b .L0040F314 +/* 0040F304 00801025 */ move $v0, $a0 +.L0040F308: +/* 0040F308 10000002 */ b .L0040F314 +/* 0040F30C 00801025 */ move $v0, $a0 +/* 0040F310 00001025 */ move $v0, $zero +.L0040F314: +/* 0040F314 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040F318 8FB00018 */ lw $s0, 0x18($sp) +/* 0040F31C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0040F320 03E00008 */ jr $ra +/* 0040F324 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_0040F328, @function +func_0040F328: + # 0040F4C8 build_tree +/* 0040F328 3C1C0FC1 */ .cpload $t9 +/* 0040F32C 279C0728 */ +/* 0040F330 0399E021 */ +/* 0040F334 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0040F338 AFBF003C */ sw $ra, 0x3c($sp) +/* 0040F33C AFBE0038 */ sw $fp, 0x38($sp) +/* 0040F340 AFBC0034 */ sw $gp, 0x34($sp) +/* 0040F344 AFB70030 */ sw $s7, 0x30($sp) +/* 0040F348 AFB6002C */ sw $s6, 0x2c($sp) +/* 0040F34C AFB50028 */ sw $s5, 0x28($sp) +/* 0040F350 AFB40024 */ sw $s4, 0x24($sp) +/* 0040F354 AFB30020 */ sw $s3, 0x20($sp) +/* 0040F358 AFB2001C */ sw $s2, 0x1c($sp) +/* 0040F35C AFB10018 */ sw $s1, 0x18($sp) +/* 0040F360 AFB00014 */ sw $s0, 0x14($sp) +/* 0040F364 904EEAD7 */ lbu $t6, -0x1529($v0) +/* 0040F368 00409825 */ move $s3, $v0 +/* 0040F36C 55C0004B */ bnel $t6, $zero, .L0040F49C +/* 0040F370 8FBF003C */ lw $ra, 0x3c($sp) +/* 0040F374 8C42EB68 */ lw $v0, -0x1498($v0) +/* 0040F378 10400047 */ beqz $v0, .L0040F498 +/* 0040F37C 00409025 */ move $s2, $v0 +/* 0040F380 8C4F0030 */ lw $t7, 0x30($v0) +/* 0040F384 2401FFFF */ li $at, -1 +/* 0040F388 241E007B */ li $fp, 123 +/* 0040F38C 11E10042 */ beq $t7, $at, .L0040F498 +/* 0040F390 24170052 */ li $s7, 82 +/* 0040F394 8F968A38 */ lw $s6, %got(opt_parms)($gp) +/* 0040F398 24150001 */ li $s5, 1 +/* 0040F39C 2414FF1F */ li $s4, -225 +/* 0040F3A0 96580022 */ lhu $t8, 0x22($s2) +.L0040F3A4: +/* 0040F3A4 52B80036 */ beql $s5, $t8, .L0040F480 +/* 0040F3A8 8E520008 */ lw $s2, 8($s2) +/* 0040F3AC 8E62EBA0 */ lw $v0, -0x1460($s3) +/* 0040F3B0 5440000A */ bnel $v0, $zero, .L0040F3DC +/* 0040F3B4 8E62EB6C */ lw $v0, -0x1494($s3) +/* 0040F3B8 14400011 */ bnez $v0, .L0040F400 +/* 0040F3BC 00000000 */ nop +/* 0040F3C0 92D90000 */ lbu $t9, ($s6) +/* 0040F3C4 1720000E */ bnez $t9, .L0040F400 +/* 0040F3C8 00000000 */ nop +/* 0040F3CC 9268EB33 */ lbu $t0, -0x14cd($s3) +/* 0040F3D0 1500000B */ bnez $t0, .L0040F400 +/* 0040F3D4 00000000 */ nop +/* 0040F3D8 8E62EB6C */ lw $v0, -0x1494($s3) +.L0040F3DC: +/* 0040F3DC 10400008 */ beqz $v0, .L0040F400 +/* 0040F3E0 00000000 */ nop +/* 0040F3E4 8E430030 */ lw $v1, 0x30($s2) +/* 0040F3E8 8C490030 */ lw $t1, 0x30($v0) +.L0040F3EC: +/* 0040F3EC 50690024 */ beql $v1, $t1, .L0040F480 +/* 0040F3F0 8E520008 */ lw $s2, 8($s2) +/* 0040F3F4 8C420008 */ lw $v0, 8($v0) +/* 0040F3F8 5440FFFC */ bnel $v0, $zero, .L0040F3EC +/* 0040F3FC 8C490030 */ lw $t1, 0x30($v0) +.L0040F400: +/* 0040F400 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F404 26500020 */ addiu $s0, $s2, 0x20 +/* 0040F408 02002025 */ move $a0, $s0 +/* 0040F40C 0320F809 */ jalr $t9 +/* 0040F410 8E71EB54 */ lw $s1, -0x14ac($s3) +/* 0040F414 8FBC0034 */ lw $gp, 0x34($sp) +/* 0040F418 904A0021 */ lbu $t2, 0x21($v0) +/* 0040F41C A0570020 */ sb $s7, 0x20($v0) +/* 0040F420 A4400022 */ sh $zero, 0x22($v0) +/* 0040F424 01545824 */ and $t3, $t2, $s4 +/* 0040F428 356C0040 */ ori $t4, $t3, 0x40 +/* 0040F42C A04C0021 */ sb $t4, 0x21($v0) +/* 0040F430 AC400030 */ sw $zero, 0x30($v0) +/* 0040F434 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 0040F438 02002025 */ move $a0, $s0 +/* 0040F43C 00402825 */ move $a1, $v0 +/* 0040F440 0320F809 */ jalr $t9 +/* 0040F444 00000000 */ nop +/* 0040F448 904D0021 */ lbu $t5, 0x21($v0) +/* 0040F44C 8FBC0034 */ lw $gp, 0x34($sp) +/* 0040F450 A05E0020 */ sb $fp, 0x20($v0) +/* 0040F454 01B47024 */ and $t6, $t5, $s4 +/* 0040F458 35CF0060 */ ori $t7, $t6, 0x60 +/* 0040F45C A4400022 */ sh $zero, 0x22($v0) +/* 0040F460 A04F0021 */ sb $t7, 0x21($v0) +/* 0040F464 8E580030 */ lw $t8, 0x30($s2) +/* 0040F468 AC400030 */ sw $zero, 0x30($v0) +/* 0040F46C AC58002C */ sw $t8, 0x2c($v0) +/* 0040F470 8E390008 */ lw $t9, 8($s1) +/* 0040F474 AC590008 */ sw $t9, 8($v0) +/* 0040F478 AE220008 */ sw $v0, 8($s1) +/* 0040F47C 8E520008 */ lw $s2, 8($s2) +.L0040F480: +/* 0040F480 52400006 */ beql $s2, $zero, .L0040F49C +/* 0040F484 8FBF003C */ lw $ra, 0x3c($sp) +/* 0040F488 8E480030 */ lw $t0, 0x30($s2) +/* 0040F48C 2401FFFF */ li $at, -1 +/* 0040F490 5501FFC4 */ bnel $t0, $at, .L0040F3A4 +/* 0040F494 96580022 */ lhu $t8, 0x22($s2) +.L0040F498: +/* 0040F498 8FBF003C */ lw $ra, 0x3c($sp) +.L0040F49C: +/* 0040F49C 8FB00014 */ lw $s0, 0x14($sp) +/* 0040F4A0 8FB10018 */ lw $s1, 0x18($sp) +/* 0040F4A4 8FB2001C */ lw $s2, 0x1c($sp) +/* 0040F4A8 8FB30020 */ lw $s3, 0x20($sp) +/* 0040F4AC 8FB40024 */ lw $s4, 0x24($sp) +/* 0040F4B0 8FB50028 */ lw $s5, 0x28($sp) +/* 0040F4B4 8FB6002C */ lw $s6, 0x2c($sp) +/* 0040F4B8 8FB70030 */ lw $s7, 0x30($sp) +/* 0040F4BC 8FBE0038 */ lw $fp, 0x38($sp) +/* 0040F4C0 03E00008 */ jr $ra +/* 0040F4C4 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel build_tree + .ent build_tree + # 0044BF18 main +/* 0040F4C8 3C1C0FC1 */ .cpload $t9 +/* 0040F4CC 279C0588 */ +/* 0040F4D0 0399E021 */ +/* 0040F4D4 27BDE9B0 */ addiu $sp, $sp, -0x1650 +/* 0040F4D8 8F818BD0 */ lw $at, %got(label_hash_table)($gp) +/* 0040F4DC 8F828BD0 */ lw $v0, %got(label_hash_table)($gp) +/* 0040F4E0 8F838BD0 */ lw $v1, %got(label_hash_table)($gp) +/* 0040F4E4 AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0040F4E8 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 0040F4EC AFBC00CC */ sw $gp, 0xcc($sp) +/* 0040F4F0 AFB700C8 */ sw $s7, 0xc8($sp) +/* 0040F4F4 AFB600C4 */ sw $s6, 0xc4($sp) +/* 0040F4F8 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0040F4FC AFB400BC */ sw $s4, 0xbc($sp) +/* 0040F500 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0040F504 AFB200B4 */ sw $s2, 0xb4($sp) +/* 0040F508 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0040F50C AFB000AC */ sw $s0, 0xac($sp) +/* 0040F510 AFA41650 */ sw $a0, 0x1650($sp) +/* 0040F514 AFA00128 */ sw $zero, 0x128($sp) +/* 0040F518 AFA0012C */ sw $zero, 0x12c($sp) +/* 0040F51C AFA00130 */ sw $zero, 0x130($sp) +/* 0040F520 AFA00134 */ sw $zero, 0x134($sp) +/* 0040F524 AFA00138 */ sw $zero, 0x138($sp) +/* 0040F528 AFA0013C */ sw $zero, 0x13c($sp) +/* 0040F52C AFA00140 */ sw $zero, 0x140($sp) +/* 0040F530 AFA00144 */ sw $zero, 0x144($sp) +/* 0040F534 AFA00148 */ sw $zero, 0x148($sp) +/* 0040F538 AFA0014C */ sw $zero, 0x14c($sp) +/* 0040F53C AFA00150 */ sw $zero, 0x150($sp) +/* 0040F540 AFA00154 */ sw $zero, 0x154($sp) +/* 0040F544 AFA001C8 */ sw $zero, 0x1c8($sp) +/* 0040F548 AFA001CC */ sw $zero, 0x1cc($sp) +/* 0040F54C AFA001D0 */ sw $zero, 0x1d0($sp) +/* 0040F550 AFA001D8 */ sw $zero, 0x1d8($sp) +/* 0040F554 AFA001DC */ sw $zero, 0x1dc($sp) +/* 0040F558 AFA001E0 */ sw $zero, 0x1e0($sp) +/* 0040F55C AFA001E4 */ sw $zero, 0x1e4($sp) +/* 0040F560 AFA001D4 */ sw $zero, 0x1d4($sp) +/* 0040F564 AC200000 */ sw $zero, ($at) +/* 0040F568 24420004 */ addiu $v0, $v0, 4 +/* 0040F56C 246303F4 */ addiu $v1, $v1, 0x3f4 +.L0040F570: +/* 0040F570 24420010 */ addiu $v0, $v0, 0x10 +/* 0040F574 AC40FFF0 */ sw $zero, -0x10($v0) +/* 0040F578 AC40FFF4 */ sw $zero, -0xc($v0) +/* 0040F57C AC40FFF8 */ sw $zero, -8($v0) +/* 0040F580 1443FFFB */ bne $v0, $v1, .L0040F570 +/* 0040F584 AC40FFFC */ sw $zero, -4($v0) +/* 0040F588 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0040F58C 24040400 */ li $a0, 1024 +/* 0040F590 00002825 */ move $a1, $zero +/* 0040F594 0320F809 */ jalr $t9 +/* 0040F598 00000000 */ nop +/* 0040F59C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F5A0 AFA201C4 */ sw $v0, 0x1c4($sp) +/* 0040F5A4 AFA001F4 */ sw $zero, 0x1f4($sp) +/* 0040F5A8 A7A01648 */ sh $zero, 0x1648($sp) +.L0040F5AC: +/* 0040F5AC 8F9986E4 */ lw $t9, %call16(readuinstr)($gp) +/* 0040F5B0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F5B4 8FA501C4 */ lw $a1, 0x1c4($sp) +/* 0040F5B8 0320F809 */ jalr $t9 +/* 0040F5BC 00000000 */ nop +/* 0040F5C0 93A201C8 */ lbu $v0, 0x1c8($sp) +/* 0040F5C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F5C8 2C41009A */ sltiu $at, $v0, 0x9a +/* 0040F5CC 10201204 */ beqz $at, .L00413DE0 +/* 0040F5D0 00000000 */ nop +/* 0040F5D4 8F818038 */ lw $at, %got(jtbl_10009114)($gp) +/* 0040F5D8 00027080 */ sll $t6, $v0, 2 +/* 0040F5DC 002E0821 */ addu $at, $at, $t6 +/* 0040F5E0 8C2E9114 */ lw $t6, %lo(jtbl_10009114)($at) +/* 0040F5E4 01DC7021 */ addu $t6, $t6, $gp +/* 0040F5E8 01C00008 */ jr $t6 +/* 0040F5EC 00000000 */ nop +.L0040F5F0: +/* 0040F5F0 8F998564 */ lw $t9, %call16(gen_sym)($gp) +/* 0040F5F4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F5F8 0320F809 */ jalr $t9 +/* 0040F5FC 00000000 */ nop +/* 0040F600 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F604 8F8F8A84 */ lw $t7, %got(domtag)($gp) +/* 0040F608 91EF0000 */ lbu $t7, ($t7) +/* 0040F60C 11E0FFE7 */ beqz $t7, .L0040F5AC +/* 0040F610 00000000 */ nop +/* 0040F614 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F618 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F61C 0320F809 */ jalr $t9 +/* 0040F620 00000000 */ nop +/* 0040F624 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F628 8F83886C */ lw $v1, %got(syms)($gp) +/* 0040F62C 8C780000 */ lw $t8, ($v1) +/* 0040F630 AC580008 */ sw $t8, 8($v0) +/* 0040F634 1000FFDD */ b .L0040F5AC +/* 0040F638 AC620000 */ sw $v0, ($v1) +.L0040F63C: +/* 0040F63C 8F998564 */ lw $t9, %call16(gen_sym)($gp) +/* 0040F640 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F644 0320F809 */ jalr $t9 +/* 0040F648 00000000 */ nop +/* 0040F64C 1000FFD7 */ b .L0040F5AC +/* 0040F650 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F654: +/* 0040F654 8F998564 */ lw $t9, %call16(gen_sym)($gp) +/* 0040F658 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F65C 0320F809 */ jalr $t9 +/* 0040F660 00000000 */ nop +/* 0040F664 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F668 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F66C 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F670 0320F809 */ jalr $t9 +/* 0040F674 00000000 */ nop +/* 0040F678 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F67C 00402025 */ move $a0, $v0 +/* 0040F680 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040F684 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040F688 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040F68C 0320F809 */ jalr $t9 +/* 0040F690 00000000 */ nop +/* 0040F694 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F698 24190001 */ li $t9, 1 +/* 0040F69C 8F8189F4 */ lw $at, %got(framesz_relocatable)($gp) +/* 0040F6A0 1000FFC2 */ b .L0040F5AC +/* 0040F6A4 A0390000 */ sb $t9, ($at) +.L0040F6A8: +/* 0040F6A8 8FAA01D8 */ lw $t2, 0x1d8($sp) +/* 0040F6AC 8FA901C4 */ lw $t1, 0x1c4($sp) +/* 0040F6B0 240B0008 */ li $t3, 8 +/* 0040F6B4 29410009 */ slti $at, $t2, 9 +/* 0040F6B8 14200003 */ bnez $at, .L0040F6C8 +/* 0040F6BC AFA901DC */ sw $t1, 0x1dc($sp) +/* 0040F6C0 AFAB01D8 */ sw $t3, 0x1d8($sp) +/* 0040F6C4 A1200008 */ sb $zero, 8($t1) +.L0040F6C8: +/* 0040F6C8 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0040F6CC 24040400 */ li $a0, 1024 +/* 0040F6D0 00002825 */ move $a1, $zero +/* 0040F6D4 0320F809 */ jalr $t9 +/* 0040F6D8 00000000 */ nop +/* 0040F6DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F6E0 AFA201C4 */ sw $v0, 0x1c4($sp) +/* 0040F6E4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F6E8 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F6EC 0320F809 */ jalr $t9 +/* 0040F6F0 00000000 */ nop +/* 0040F6F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F6F8 904C0021 */ lbu $t4, 0x21($v0) +/* 0040F6FC 00402025 */ move $a0, $v0 +/* 0040F700 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040F704 318DFFE0 */ andi $t5, $t4, 0xffe0 +/* 0040F708 35AE0009 */ ori $t6, $t5, 9 +/* 0040F70C A04E0021 */ sb $t6, 0x21($v0) +/* 0040F710 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040F714 0320F809 */ jalr $t9 +/* 0040F718 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040F71C 1000FFA3 */ b .L0040F5AC +/* 0040F720 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F724: +/* 0040F724 93AF01C9 */ lbu $t7, 0x1c9($sp) +/* 0040F728 3C01004E */ lui $at, 0x4e +/* 0040F72C 34218000 */ ori $at, $at, 0x8000 +/* 0040F730 31F8001F */ andi $t8, $t7, 0x1f +/* 0040F734 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0040F738 00195023 */ negu $t2, $t9 +/* 0040F73C 01415824 */ and $t3, $t2, $at +/* 0040F740 030B4804 */ sllv $t1, $t3, $t8 +/* 0040F744 05210008 */ bgez $t1, .L0040F768 +/* 0040F748 8FAC01C4 */ lw $t4, 0x1c4($sp) +/* 0040F74C 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0040F750 AFAC01E4 */ sw $t4, 0x1e4($sp) +/* 0040F754 24040400 */ li $a0, 1024 +/* 0040F758 0320F809 */ jalr $t9 +/* 0040F75C 00002825 */ move $a1, $zero +/* 0040F760 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F764 AFA201C4 */ sw $v0, 0x1c4($sp) +.L0040F768: +/* 0040F768 8F99857C */ lw $t9, %call16(add_init)($gp) +/* 0040F76C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F770 0320F809 */ jalr $t9 +/* 0040F774 00000000 */ nop +/* 0040F778 1000FF8C */ b .L0040F5AC +/* 0040F77C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F780: +/* 0040F780 8F998568 */ lw $t9, %call16(set_size)($gp) +/* 0040F784 8FA401CC */ lw $a0, 0x1cc($sp) +/* 0040F788 8FA501D0 */ lw $a1, 0x1d0($sp) +/* 0040F78C 0320F809 */ jalr $t9 +/* 0040F790 00000000 */ nop +/* 0040F794 1000FF85 */ b .L0040F5AC +/* 0040F798 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F79C: +/* 0040F79C 8FAD01D0 */ lw $t5, 0x1d0($sp) +/* 0040F7A0 8F818998 */ lw $at, %got(ms_stamp)($gp) +/* 0040F7A4 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 0040F7A8 AC2D0000 */ sw $t5, ($at) +/* 0040F7AC 8F81899C */ lw $at, %got(ls_stamp)($gp) +/* 0040F7B0 AC280000 */ sw $t0, ($at) +/* 0040F7B4 8F818A7C */ lw $at, %got(first_pmt_offset)($gp) +/* 0040F7B8 AC200000 */ sw $zero, ($at) +/* 0040F7BC 8F818A74 */ lw $at, %got(reversed_stack)($gp) +/* 0040F7C0 A0200000 */ sb $zero, ($at) +/* 0040F7C4 8F818A78 */ lw $at, %got(resident_text)($gp) +/* 0040F7C8 A0200000 */ sb $zero, ($at) +/* 0040F7CC 8F818A54 */ lw $at, %got(has_cia_in_file)($gp) +/* 0040F7D0 1000FF76 */ b .L0040F5AC +/* 0040F7D4 A0200000 */ sb $zero, ($at) +.L0040F7D8: +/* 0040F7D8 8F84886C */ lw $a0, %got(syms)($gp) +/* 0040F7DC 8C840000 */ lw $a0, ($a0) +/* 0040F7E0 10800005 */ beqz $a0, .L0040F7F8 +/* 0040F7E4 00000000 */ nop +/* 0040F7E8 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 0040F7EC 0320F809 */ jalr $t9 +/* 0040F7F0 00000000 */ nop +/* 0040F7F4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F7F8: +/* 0040F7F8 100011C8 */ b .L00413F1C +/* 0040F7FC 00001025 */ move $v0, $zero +.L0040F800: +/* 0040F800 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F804 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F808 0320F809 */ jalr $t9 +/* 0040F80C 00000000 */ nop +/* 0040F810 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F814 00402025 */ move $a0, $v0 +/* 0040F818 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040F81C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040F820 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040F824 0320F809 */ jalr $t9 +/* 0040F828 00000000 */ nop +/* 0040F82C 1000FF5F */ b .L0040F5AC +/* 0040F830 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F834: +/* 0040F834 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F838 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F83C 0320F809 */ jalr $t9 +/* 0040F840 00000000 */ nop +/* 0040F844 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F848 00402025 */ move $a0, $v0 +/* 0040F84C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040F850 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040F854 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040F858 0320F809 */ jalr $t9 +/* 0040F85C 00000000 */ nop +/* 0040F860 1000FF52 */ b .L0040F5AC +/* 0040F864 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F868: +/* 0040F868 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F86C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F870 0320F809 */ jalr $t9 +/* 0040F874 00000000 */ nop +/* 0040F878 8FAE01F4 */ lw $t6, 0x1f4($sp) +/* 0040F87C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F880 00409825 */ move $s3, $v0 +/* 0040F884 15C00004 */ bnez $t6, .L0040F898 +/* 0040F888 00000000 */ nop +/* 0040F88C AFA201F4 */ sw $v0, 0x1f4($sp) +/* 0040F890 10000008 */ b .L0040F8B4 +/* 0040F894 AFA2164C */ sw $v0, 0x164c($sp) +.L0040F898: +/* 0040F898 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040F89C 02602025 */ move $a0, $s3 +/* 0040F8A0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040F8A4 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040F8A8 0320F809 */ jalr $t9 +/* 0040F8AC 00000000 */ nop +/* 0040F8B0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F8B4: +/* 0040F8B4 93AF01C8 */ lbu $t7, 0x1c8($sp) +/* 0040F8B8 24010051 */ li $at, 81 +/* 0040F8BC 8FB901CC */ lw $t9, 0x1cc($sp) +/* 0040F8C0 15E10004 */ bne $t7, $at, .L0040F8D4 +/* 0040F8C4 93AA01C8 */ lbu $t2, 0x1c8($sp) +/* 0040F8C8 8F818968 */ lw $at, %got(current_line)($gp) +/* 0040F8CC 1000FF37 */ b .L0040F5AC +/* 0040F8D0 AC390000 */ sw $t9, ($at) +.L0040F8D4: +/* 0040F8D4 24010013 */ li $at, 19 +/* 0040F8D8 1541002B */ bne $t2, $at, .L0040F988 +/* 0040F8DC 00000000 */ nop +/* 0040F8E0 93B81653 */ lbu $t8, 0x1653($sp) +/* 0040F8E4 8FAB01C4 */ lw $t3, 0x1c4($sp) +/* 0040F8E8 8FA901F4 */ lw $t1, 0x1f4($sp) +/* 0040F8EC 1300FF2F */ beqz $t8, .L0040F5AC +/* 0040F8F0 AFAB01DC */ sw $t3, 0x1dc($sp) +/* 0040F8F4 8D22000C */ lw $v0, 0xc($t1) +/* 0040F8F8 1040FF2C */ beqz $v0, .L0040F5AC +/* 0040F8FC 00000000 */ nop +/* 0040F900 904C0020 */ lbu $t4, 0x20($v0) +/* 0040F904 24010021 */ li $at, 33 +/* 0040F908 24050020 */ li $a1, 32 +/* 0040F90C 1581FF27 */ bne $t4, $at, .L0040F5AC +/* 0040F910 00000000 */ nop +/* 0040F914 8FB001D8 */ lw $s0, 0x1d8($sp) +/* 0040F918 24010020 */ li $at, 32 +/* 0040F91C 24030020 */ li $v1, 32 +/* 0040F920 01701021 */ addu $v0, $t3, $s0 +/* 0040F924 904DFFFF */ lbu $t5, -1($v0) +/* 0040F928 15A10006 */ bne $t5, $at, .L0040F944 +/* 0040F92C 00000000 */ nop +/* 0040F930 904EFFFE */ lbu $t6, -2($v0) +.L0040F934: +/* 0040F934 2610FFFF */ addiu $s0, $s0, -1 +/* 0040F938 2442FFFF */ addiu $v0, $v0, -1 +/* 0040F93C 506EFFFD */ beql $v1, $t6, .L0040F934 +/* 0040F940 904EFFFE */ lbu $t6, -2($v0) +.L0040F944: +/* 0040F944 8F918950 */ lw $s1, %got(err)($gp) +/* 0040F948 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0040F94C 24060001 */ li $a2, 1 +/* 0040F950 8E310000 */ lw $s1, ($s1) +/* 0040F954 2407000A */ li $a3, 10 +/* 0040F958 0320F809 */ jalr $t9 +/* 0040F95C 02202025 */ move $a0, $s1 +/* 0040F960 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F964 02202025 */ move $a0, $s1 +/* 0040F968 8FA501C4 */ lw $a1, 0x1c4($sp) +/* 0040F96C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0040F970 24060400 */ li $a2, 1024 +/* 0040F974 02003825 */ move $a3, $s0 +/* 0040F978 0320F809 */ jalr $t9 +/* 0040F97C 00000000 */ nop +/* 0040F980 1000FF0A */ b .L0040F5AC +/* 0040F984 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040F988: +/* 0040F988 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 0040F98C 240F0001 */ li $t7, 1 +/* 0040F990 24190001 */ li $t9, 1 +/* 0040F994 A0200000 */ sb $zero, ($at) +/* 0040F998 8F818A3C */ lw $at, %got(ignore_vreg)($gp) +/* 0040F99C A3B90127 */ sb $t9, 0x127($sp) +/* 0040F9A0 1000FF02 */ b .L0040F5AC +/* 0040F9A4 A02F0000 */ sb $t7, ($at) +.L0040F9A8: +/* 0040F9A8 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040F9AC 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040F9B0 0320F809 */ jalr $t9 +/* 0040F9B4 00000000 */ nop +/* 0040F9B8 8FAA01AC */ lw $t2, 0x1ac($sp) +/* 0040F9BC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040F9C0 24010001 */ li $at, 1 +/* 0040F9C4 AC4A0008 */ sw $t2, 8($v0) +/* 0040F9C8 8FB801CC */ lw $t8, 0x1cc($sp) +/* 0040F9CC AFA201AC */ sw $v0, 0x1ac($sp) +/* 0040F9D0 8FA901D0 */ lw $t1, 0x1d0($sp) +/* 0040F9D4 57010004 */ bnel $t8, $at, .L0040F9E8 +/* 0040F9D8 8C430024 */ lw $v1, 0x24($v0) +/* 0040F9DC 1000FEF3 */ b .L0040F5AC +/* 0040F9E0 AFA9017C */ sw $t1, 0x17c($sp) +/* 0040F9E4 8C430024 */ lw $v1, 0x24($v0) +.L0040F9E8: +/* 0040F9E8 24010004 */ li $at, 4 +/* 0040F9EC 54610009 */ bnel $v1, $at, .L0040FA14 +/* 0040F9F0 24010005 */ li $at, 5 +/* 0040F9F4 8F818A74 */ lw $at, %got(reversed_stack)($gp) +/* 0040F9F8 240C0001 */ li $t4, 1 +/* 0040F9FC 240BFFFC */ li $t3, -4 +/* 0040FA00 A02C0000 */ sb $t4, ($at) +/* 0040FA04 8F818A7C */ lw $at, %got(first_pmt_offset)($gp) +/* 0040FA08 1000FEE8 */ b .L0040F5AC +/* 0040FA0C AC2B0000 */ sw $t3, ($at) +/* 0040FA10 24010005 */ li $at, 5 +.L0040FA14: +/* 0040FA14 14610005 */ bne $v1, $at, .L0040FA2C +/* 0040FA18 00000000 */ nop +/* 0040FA1C 8F818A78 */ lw $at, %got(resident_text)($gp) +/* 0040FA20 240D0001 */ li $t5, 1 +/* 0040FA24 1000FEE1 */ b .L0040F5AC +/* 0040FA28 A02D0000 */ sb $t5, ($at) +.L0040FA2C: +/* 0040FA2C 14600010 */ bnez $v1, .L0040FA70 +/* 0040FA30 24010007 */ li $at, 7 +/* 0040FA34 8FAE01D0 */ lw $t6, 0x1d0($sp) +/* 0040FA38 8F8189A4 */ lw $at, %got(source_language)($gp) +/* 0040FA3C AC2E0000 */ sw $t6, ($at) +/* 0040FA40 24010004 */ li $at, 4 +/* 0040FA44 15C1FED9 */ bne $t6, $at, .L0040F5AC +/* 0040FA48 00000000 */ nop +/* 0040FA4C 8F828A44 */ lw $v0, %got(glevel)($gp) +/* 0040FA50 90420000 */ lbu $v0, ($v0) +/* 0040FA54 1040FED5 */ beqz $v0, .L0040F5AC +/* 0040FA58 2C410003 */ sltiu $at, $v0, 3 +/* 0040FA5C 1020FED3 */ beqz $at, .L0040F5AC +/* 0040FA60 00000000 */ nop +/* 0040FA64 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 0040FA68 1000FED0 */ b .L0040F5AC +/* 0040FA6C A0200000 */ sb $zero, ($at) +.L0040FA70: +/* 0040FA70 54610006 */ bnel $v1, $at, .L0040FA8C +/* 0040FA74 24010002 */ li $at, 2 +/* 0040FA78 8F818A54 */ lw $at, %got(has_cia_in_file)($gp) +/* 0040FA7C 240F0001 */ li $t7, 1 +/* 0040FA80 1000FECA */ b .L0040F5AC +/* 0040FA84 A02F0000 */ sb $t7, ($at) +/* 0040FA88 24010002 */ li $at, 2 +.L0040FA8C: +/* 0040FA8C 1461FEC7 */ bne $v1, $at, .L0040F5AC +/* 0040FA90 00000000 */ nop +/* 0040FA94 8C590028 */ lw $t9, 0x28($v0) +/* 0040FA98 8F8189D4 */ lw $at, %got(stack_limit_bn)($gp) +/* 0040FA9C 1000FEC3 */ b .L0040F5AC +/* 0040FAA0 AC390000 */ sw $t9, ($at) +.L0040FAA4: +/* 0040FAA4 97AA1648 */ lhu $t2, 0x1648($sp) +/* 0040FAA8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FAAC 2418FFFF */ li $t8, -1 +/* 0040FAB0 014002B6 */ tne $t2, $zero, 0xa +/* 0040FAB4 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040FAB8 AFA001F0 */ sw $zero, 0x1f0($sp) +/* 0040FABC AFA001EC */ sw $zero, 0x1ec($sp) +/* 0040FAC0 AFA00188 */ sw $zero, 0x188($sp) +/* 0040FAC4 AFA00184 */ sw $zero, 0x184($sp) +/* 0040FAC8 A3A00127 */ sb $zero, 0x127($sp) +/* 0040FACC AFA001BC */ sw $zero, 0x1bc($sp) +/* 0040FAD0 AFA001B0 */ sw $zero, 0x1b0($sp) +/* 0040FAD4 AFA001B8 */ sw $zero, 0x1b8($sp) +/* 0040FAD8 AFA001AC */ sw $zero, 0x1ac($sp) +/* 0040FADC AFA001A8 */ sw $zero, 0x1a8($sp) +/* 0040FAE0 A3A00182 */ sb $zero, 0x182($sp) +/* 0040FAE4 A3A0017B */ sb $zero, 0x17b($sp) +/* 0040FAE8 AFB8017C */ sw $t8, 0x17c($sp) +/* 0040FAEC A3A00166 */ sb $zero, 0x166($sp) +/* 0040FAF0 A3A00165 */ sb $zero, 0x165($sp) +/* 0040FAF4 A3A00183 */ sb $zero, 0x183($sp) +/* 0040FAF8 0320F809 */ jalr $t9 +/* 0040FAFC A3A0015F */ sb $zero, 0x15f($sp) +/* 0040FB00 8FA901F4 */ lw $t1, 0x1f4($sp) +/* 0040FB04 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FB08 AFA201C0 */ sw $v0, 0x1c0($sp) +/* 0040FB0C 15200009 */ bnez $t1, .L0040FB34 +/* 0040FB10 00000000 */ nop +/* 0040FB14 AFA2164C */ sw $v0, 0x164c($sp) +/* 0040FB18 AFA201F4 */ sw $v0, 0x1f4($sp) +/* 0040FB1C AFA00158 */ sw $zero, 0x158($sp) +/* 0040FB20 A3A00128 */ sb $zero, 0x128($sp) +/* 0040FB24 A3A00134 */ sb $zero, 0x134($sp) +/* 0040FB28 A3A00140 */ sb $zero, 0x140($sp) +/* 0040FB2C 1000000D */ b .L0040FB64 +/* 0040FB30 A3A0014C */ sb $zero, 0x14c($sp) +.L0040FB34: +/* 0040FB34 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040FB38 8FA401C0 */ lw $a0, 0x1c0($sp) +/* 0040FB3C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FB40 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040FB44 0320F809 */ jalr $t9 +/* 0040FB48 00000000 */ nop +/* 0040FB4C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FB50 AFA00158 */ sw $zero, 0x158($sp) +/* 0040FB54 A3A00128 */ sb $zero, 0x128($sp) +/* 0040FB58 A3A00134 */ sb $zero, 0x134($sp) +/* 0040FB5C A3A00140 */ sb $zero, 0x140($sp) +/* 0040FB60 A3A0014C */ sb $zero, 0x14c($sp) +.L0040FB64: +/* 0040FB64 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 0040FB68 24040042 */ li $a0, 66 +/* 0040FB6C 0320F809 */ jalr $t9 +/* 0040FB70 00000000 */ nop +/* 0040FB74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FB78 AFA201A4 */ sw $v0, 0x1a4($sp) +/* 0040FB7C A4400022 */ sh $zero, 0x22($v0) +/* 0040FB80 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 0040FB84 AC400028 */ sw $zero, 0x28($v0) +/* 0040FB88 240C0001 */ li $t4, 1 +/* 0040FB8C A02C0000 */ sb $t4, ($at) +/* 0040FB90 8F8189F4 */ lw $at, %got(framesz_relocatable)($gp) +/* 0040FB94 8F998564 */ lw $t9, %call16(gen_sym)($gp) +/* 0040FB98 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FB9C A0200000 */ sb $zero, ($at) +/* 0040FBA0 8F8189A8 */ lw $at, %got(use_fp)($gp) +/* 0040FBA4 A0200000 */ sb $zero, ($at) +/* 0040FBA8 8F8189AC */ lw $at, %got(will_use_real_fp_for_proc)($gp) +/* 0040FBAC 0320F809 */ jalr $t9 +/* 0040FBB0 A0200000 */ sb $zero, ($at) +/* 0040FBB4 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 0040FBB8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FBBC 310B0004 */ andi $t3, $t0, 4 +/* 0040FBC0 000B682B */ sltu $t5, $zero, $t3 +/* 0040FBC4 1000FE79 */ b .L0040F5AC +/* 0040FBC8 A3AD0167 */ sb $t5, 0x167($sp) +.L0040FBCC: +/* 0040FBCC 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040FBD0 240E0001 */ li $t6, 1 +/* 0040FBD4 A3AE0182 */ sb $t6, 0x182($sp) +/* 0040FBD8 0320F809 */ jalr $t9 +/* 0040FBDC 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FBE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FBE4 00402025 */ move $a0, $v0 +/* 0040FBE8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FBEC 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040FBF0 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040FBF4 0320F809 */ jalr $t9 +/* 0040FBF8 00000000 */ nop +/* 0040FBFC 1000FE6B */ b .L0040F5AC +/* 0040FC00 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040FC04: +/* 0040FC04 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040FC08 8FA401A4 */ lw $a0, 0x1a4($sp) +/* 0040FC0C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FC10 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040FC14 0320F809 */ jalr $t9 +/* 0040FC18 00000000 */ nop +/* 0040FC1C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FC20 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FC24 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040FC28 0320F809 */ jalr $t9 +/* 0040FC2C 00000000 */ nop +/* 0040FC30 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FC34 00402025 */ move $a0, $v0 +/* 0040FC38 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FC3C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0040FC40 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0040FC44 0320F809 */ jalr $t9 +/* 0040FC48 00000000 */ nop +/* 0040FC4C 8FAF01F0 */ lw $t7, 0x1f0($sp) +/* 0040FC50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FC54 51E00023 */ beql $t7, $zero, .L0040FCE4 +/* 0040FC58 93A90127 */ lbu $t1, 0x127($sp) +/* 0040FC5C 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 0040FC60 2404001B */ li $a0, 27 +/* 0040FC64 0320F809 */ jalr $t9 +/* 0040FC68 00000000 */ nop +/* 0040FC6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FC70 90590021 */ lbu $t9, 0x21($v0) +/* 0040FC74 8F898A00 */ lw $t1, %got(n_fp_parm_regs)($gp) +/* 0040FC78 332AFF1F */ andi $t2, $t9, 0xff1f +/* 0040FC7C 8F8D89FC */ lw $t5, %got(n_parm_regs)($gp) +/* 0040FC80 355800C0 */ ori $t8, $t2, 0xc0 +/* 0040FC84 A0580021 */ sb $t8, 0x21($v0) +/* 0040FC88 8D2C0000 */ lw $t4, ($t1) +/* 0040FC8C 8DAD0000 */ lw $t5, ($t5) +/* 0040FC90 8FAF01EC */ lw $t7, 0x1ec($sp) +/* 0040FC94 000C58C0 */ sll $t3, $t4, 3 +/* 0040FC98 000D7080 */ sll $t6, $t5, 2 +/* 0040FC9C 01CB082A */ slt $at, $t6, $t3 +/* 0040FCA0 10200002 */ beqz $at, .L0040FCAC +/* 0040FCA4 240A0001 */ li $t2, 1 +/* 0040FCA8 01607025 */ move $t6, $t3 +.L0040FCAC: +/* 0040FCAC 01EE082A */ slt $at, $t7, $t6 +/* 0040FCB0 50200003 */ beql $at, $zero, .L0040FCC0 +/* 0040FCB4 AC4F0028 */ sw $t7, 0x28($v0) +/* 0040FCB8 01C07825 */ move $t7, $t6 +/* 0040FCBC AC4F0028 */ sw $t7, 0x28($v0) +.L0040FCC0: +/* 0040FCC0 AC400024 */ sw $zero, 0x24($v0) +/* 0040FCC4 93B90182 */ lbu $t9, 0x182($sp) +/* 0040FCC8 53200003 */ beql $t9, $zero, .L0040FCD8 +/* 0040FCCC 8FB801B0 */ lw $t8, 0x1b0($sp) +/* 0040FCD0 AC4A0024 */ sw $t2, 0x24($v0) +/* 0040FCD4 8FB801B0 */ lw $t8, 0x1b0($sp) +.L0040FCD8: +/* 0040FCD8 AC580008 */ sw $t8, 8($v0) +/* 0040FCDC AFA201B0 */ sw $v0, 0x1b0($sp) +/* 0040FCE0 93A90127 */ lbu $t1, 0x127($sp) +.L0040FCE4: +/* 0040FCE4 55200007 */ bnel $t1, $zero, .L0040FD04 +/* 0040FCE8 8FAD01B8 */ lw $t5, 0x1b8($sp) +/* 0040FCEC 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 0040FCF0 240C0001 */ li $t4, 1 +/* 0040FCF4 A02C0000 */ sb $t4, ($at) +/* 0040FCF8 8F818A3C */ lw $at, %got(ignore_vreg)($gp) +/* 0040FCFC A0200000 */ sb $zero, ($at) +/* 0040FD00 8FAD01B8 */ lw $t5, 0x1b8($sp) +.L0040FD04: +/* 0040FD04 51A00032 */ beql $t5, $zero, .L0040FDD0 +/* 0040FD08 8FAB01BC */ lw $t3, 0x1bc($sp) +/* 0040FD0C 8F998484 */ lw $t9, %call16(map_pdefs_to_regs)($gp) +/* 0040FD10 01A02025 */ move $a0, $t5 +/* 0040FD14 8FA5017C */ lw $a1, 0x17c($sp) +/* 0040FD18 0320F809 */ jalr $t9 +/* 0040FD1C 00000000 */ nop +/* 0040FD20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FD24 93AE0182 */ lbu $t6, 0x182($sp) +/* 0040FD28 8F8B8A38 */ lw $t3, %got(opt_parms)($gp) +/* 0040FD2C 916B0000 */ lbu $t3, ($t3) +/* 0040FD30 5160001E */ beql $t3, $zero, .L0040FDAC +/* 0040FD34 93AD017B */ lbu $t5, 0x17b($sp) +/* 0040FD38 15C0000A */ bnez $t6, .L0040FD64 +/* 0040FD3C 8FAF01F0 */ lw $t7, 0x1f0($sp) +/* 0040FD40 15E00004 */ bnez $t7, .L0040FD54 +/* 0040FD44 8FB9017C */ lw $t9, 0x17c($sp) +/* 0040FD48 2401FFFF */ li $at, -1 +/* 0040FD4C 17210005 */ bne $t9, $at, .L0040FD64 +/* 0040FD50 00000000 */ nop +.L0040FD54: +/* 0040FD54 8F8A89B4 */ lw $t2, %got(pseudo_leaf)($gp) +/* 0040FD58 914A0000 */ lbu $t2, ($t2) +/* 0040FD5C 51400013 */ beql $t2, $zero, .L0040FDAC +/* 0040FD60 93AD017B */ lbu $t5, 0x17b($sp) +.L0040FD64: +/* 0040FD64 8F9889A4 */ lw $t8, %got(source_language)($gp) +/* 0040FD68 24010004 */ li $at, 4 +/* 0040FD6C 93A90167 */ lbu $t1, 0x167($sp) +/* 0040FD70 8F180000 */ lw $t8, ($t8) +/* 0040FD74 93AC0165 */ lbu $t4, 0x165($sp) +/* 0040FD78 17010003 */ bne $t8, $at, .L0040FD88 +/* 0040FD7C 00000000 */ nop +/* 0040FD80 5520000A */ bnel $t1, $zero, .L0040FDAC +/* 0040FD84 93AD017B */ lbu $t5, 0x17b($sp) +.L0040FD88: +/* 0040FD88 55800008 */ bnel $t4, $zero, .L0040FDAC +/* 0040FD8C 93AD017B */ lbu $t5, 0x17b($sp) +/* 0040FD90 8F998018 */ lw $t9, %got(func_0040EED4)($gp) +/* 0040FD94 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FD98 2739EED4 */ addiu $t9, %lo(func_0040EED4) # addiu $t9, $t9, -0x112c +/* 0040FD9C 0320F809 */ jalr $t9 +/* 0040FDA0 00000000 */ nop +/* 0040FDA4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FDA8 93AD017B */ lbu $t5, 0x17b($sp) +.L0040FDAC: +/* 0040FDAC 51A00008 */ beql $t5, $zero, .L0040FDD0 +/* 0040FDB0 8FAB01BC */ lw $t3, 0x1bc($sp) +/* 0040FDB4 8F998018 */ lw $t9, %got(func_0040F328)($gp) +/* 0040FDB8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FDBC 2739F328 */ addiu $t9, %lo(func_0040F328) # addiu $t9, $t9, -0xcd8 +/* 0040FDC0 0320F809 */ jalr $t9 +/* 0040FDC4 00000000 */ nop +/* 0040FDC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FDCC 8FAB01BC */ lw $t3, 0x1bc($sp) +.L0040FDD0: +/* 0040FDD0 11600013 */ beqz $t3, .L0040FE20 +/* 0040FDD4 00000000 */ nop +/* 0040FDD8 8F8E8A84 */ lw $t6, %got(domtag)($gp) +/* 0040FDDC 91CE0000 */ lbu $t6, ($t6) +/* 0040FDE0 11C00008 */ beqz $t6, .L0040FE04 +/* 0040FDE4 00000000 */ nop +/* 0040FDE8 8F998018 */ lw $t9, %got(func_0040EF8C)($gp) +/* 0040FDEC 01602025 */ move $a0, $t3 +/* 0040FDF0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FDF4 2739EF8C */ addiu $t9, %lo(func_0040EF8C) # addiu $t9, $t9, -0x1074 +/* 0040FDF8 0320F809 */ jalr $t9 +/* 0040FDFC 00000000 */ nop +/* 0040FE00 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040FE04: +/* 0040FE04 8F998018 */ lw $t9, %got(func_0040E280)($gp) +/* 0040FE08 8FA401C0 */ lw $a0, 0x1c0($sp) +/* 0040FE0C 8FA501BC */ lw $a1, 0x1bc($sp) +/* 0040FE10 2739E280 */ addiu $t9, %lo(func_0040E280) # addiu $t9, $t9, -0x1d80 +/* 0040FE14 0320F809 */ jalr $t9 +/* 0040FE18 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FE1C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040FE20: +/* 0040FE20 8F84886C */ lw $a0, %got(syms)($gp) +/* 0040FE24 8C840000 */ lw $a0, ($a0) +/* 0040FE28 50800012 */ beql $a0, $zero, .L0040FE74 +/* 0040FE2C 8FAF01B0 */ lw $t7, 0x1b0($sp) +/* 0040FE30 8F998018 */ lw $t9, %got(func_0040EFBC)($gp) +/* 0040FE34 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FE38 2739EFBC */ addiu $t9, %lo(func_0040EFBC) # addiu $t9, $t9, -0x1044 +/* 0040FE3C 0320F809 */ jalr $t9 +/* 0040FE40 00000000 */ nop +/* 0040FE44 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FE48 8FA401C0 */ lw $a0, 0x1c0($sp) +/* 0040FE4C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FE50 8F998018 */ lw $t9, %got(func_0040E280)($gp) +/* 0040FE54 8F85886C */ lw $a1, %got(syms)($gp) +/* 0040FE58 2739E280 */ addiu $t9, %lo(func_0040E280) # addiu $t9, $t9, -0x1d80 +/* 0040FE5C 0320F809 */ jalr $t9 +/* 0040FE60 8CA50000 */ lw $a1, ($a1) +/* 0040FE64 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FE68 8F81886C */ lw $at, %got(syms)($gp) +/* 0040FE6C AC200000 */ sw $zero, ($at) +/* 0040FE70 8FAF01B0 */ lw $t7, 0x1b0($sp) +.L0040FE74: +/* 0040FE74 51E00009 */ beql $t7, $zero, .L0040FE9C +/* 0040FE78 8FB901AC */ lw $t9, 0x1ac($sp) +/* 0040FE7C 8F998018 */ lw $t9, %got(func_0040E280)($gp) +/* 0040FE80 8FA401C0 */ lw $a0, 0x1c0($sp) +/* 0040FE84 01E02825 */ move $a1, $t7 +/* 0040FE88 2739E280 */ addiu $t9, %lo(func_0040E280) # addiu $t9, $t9, -0x1d80 +/* 0040FE8C 0320F809 */ jalr $t9 +/* 0040FE90 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FE94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FE98 8FB901AC */ lw $t9, 0x1ac($sp) +.L0040FE9C: +/* 0040FE9C 13200008 */ beqz $t9, .L0040FEC0 +/* 0040FEA0 03202825 */ move $a1, $t9 +/* 0040FEA4 8F998018 */ lw $t9, %got(func_0040E280)($gp) +/* 0040FEA8 8FA401C0 */ lw $a0, 0x1c0($sp) +/* 0040FEAC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FEB0 2739E280 */ addiu $t9, %lo(func_0040E280) # addiu $t9, $t9, -0x1d80 +/* 0040FEB4 0320F809 */ jalr $t9 +/* 0040FEB8 00000000 */ nop +/* 0040FEBC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0040FEC0: +/* 0040FEC0 8FAA01A8 */ lw $t2, 0x1a8($sp) +/* 0040FEC4 8FB201C0 */ lw $s2, 0x1c0($sp) +/* 0040FEC8 8FA901A4 */ lw $t1, 0x1a4($sp) +/* 0040FECC 1140000C */ beqz $t2, .L0040FF00 +/* 0040FED0 00000000 */ nop +/* 0040FED4 1249000A */ beq $s2, $t1, .L0040FF00 +/* 0040FED8 24020031 */ li $v0, 49 +/* 0040FEDC 924C0020 */ lbu $t4, 0x20($s2) +.L0040FEE0: +/* 0040FEE0 8FAD01A8 */ lw $t5, 0x1a8($sp) +/* 0040FEE4 544C0003 */ bnel $v0, $t4, .L0040FEF4 +/* 0040FEE8 8E520008 */ lw $s2, 8($s2) +/* 0040FEEC AE4D0004 */ sw $t5, 4($s2) +/* 0040FEF0 8E520008 */ lw $s2, 8($s2) +.L0040FEF4: +/* 0040FEF4 8FAE01A4 */ lw $t6, 0x1a4($sp) +/* 0040FEF8 564EFFF9 */ bnel $s2, $t6, .L0040FEE0 +/* 0040FEFC 924C0020 */ lbu $t4, 0x20($s2) +.L0040FF00: +/* 0040FF00 10001006 */ b .L00413F1C +/* 0040FF04 8FA2164C */ lw $v0, 0x164c($sp) +.L0040FF08: +/* 0040FF08 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040FF0C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FF10 0320F809 */ jalr $t9 +/* 0040FF14 00000000 */ nop +/* 0040FF18 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FF1C 00409825 */ move $s3, $v0 +/* 0040FF20 00402025 */ move $a0, $v0 +/* 0040FF24 8F998018 */ lw $t9, %got(func_0040F0B8)($gp) +/* 0040FF28 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0040FF2C 2739F0B8 */ addiu $t9, %lo(func_0040F0B8) # addiu $t9, $t9, -0xf48 +/* 0040FF30 0320F809 */ jalr $t9 +/* 0040FF34 00000000 */ nop +/* 0040FF38 966B0022 */ lhu $t3, 0x22($s3) +/* 0040FF3C 24010001 */ li $at, 1 +/* 0040FF40 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FF44 1161FD99 */ beq $t3, $at, .L0040F5AC +/* 0040FF48 240F0001 */ li $t7, 1 +/* 0040FF4C 1000FD97 */ b .L0040F5AC +/* 0040FF50 A3AF017B */ sb $t7, 0x17b($sp) +.L0040FF54: +/* 0040FF54 8F998A74 */ lw $t9, %got(reversed_stack)($gp) +/* 0040FF58 93A301C9 */ lbu $v1, 0x1c9($sp) +/* 0040FF5C 93390000 */ lbu $t9, ($t9) +/* 0040FF60 00031E00 */ sll $v1, $v1, 0x18 +/* 0040FF64 00031F42 */ srl $v1, $v1, 0x1d +/* 0040FF68 1320000F */ beqz $t9, .L0040FFA8 +/* 0040FF6C 38630001 */ xori $v1, $v1, 1 +/* 0040FF70 93A301C9 */ lbu $v1, 0x1c9($sp) +/* 0040FF74 8FAA01D0 */ lw $t2, 0x1d0($sp) +/* 0040FF78 8FB80184 */ lw $t8, 0x184($sp) +/* 0040FF7C 00031E00 */ sll $v1, $v1, 0x18 +/* 0040FF80 00031F42 */ srl $v1, $v1, 0x1d +/* 0040FF84 38630001 */ xori $v1, $v1, 1 +/* 0040FF88 0003182B */ sltu $v1, $zero, $v1 +/* 0040FF8C 54600004 */ bnel $v1, $zero, .L0040FFA0 +/* 0040FF90 006002B4 */ teq $v1, $zero, 0xa +/* 0040FF94 0158182A */ slt $v1, $t2, $t8 +/* 0040FF98 38630001 */ xori $v1, $v1, 1 +/* 0040FF9C 006002B4 */ teq $v1, $zero, 0xa +.L0040FFA0: +/* 0040FFA0 10000009 */ b .L0040FFC8 +/* 0040FFA4 00000000 */ nop +.L0040FFA8: +/* 0040FFA8 0003182B */ sltu $v1, $zero, $v1 +/* 0040FFAC 14600005 */ bnez $v1, .L0040FFC4 +/* 0040FFB0 8FAC0188 */ lw $t4, 0x188($sp) +/* 0040FFB4 8FA901D0 */ lw $t1, 0x1d0($sp) +/* 0040FFB8 000C6823 */ negu $t5, $t4 +/* 0040FFBC 012D182A */ slt $v1, $t1, $t5 +/* 0040FFC0 38630001 */ xori $v1, $v1, 1 +.L0040FFC4: +/* 0040FFC4 006002B4 */ teq $v1, $zero, 0xa +.L0040FFC8: +/* 0040FFC8 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0040FFCC 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0040FFD0 0320F809 */ jalr $t9 +/* 0040FFD4 00000000 */ nop +/* 0040FFD8 93AE01C9 */ lbu $t6, 0x1c9($sp) +/* 0040FFDC 24010002 */ li $at, 2 +/* 0040FFE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0040FFE4 000E5E00 */ sll $t3, $t6, 0x18 +/* 0040FFE8 000B7F42 */ srl $t7, $t3, 0x1d +/* 0040FFEC 15E10002 */ bne $t7, $at, .L0040FFF8 +/* 0040FFF0 8FB901B8 */ lw $t9, 0x1b8($sp) +/* 0040FFF4 AC590000 */ sw $t9, ($v0) +.L0040FFF8: +/* 0040FFF8 8FAA01B0 */ lw $t2, 0x1b0($sp) +/* 0040FFFC AC4A0008 */ sw $t2, 8($v0) +/* 00410000 1000FD6A */ b .L0040F5AC +/* 00410004 AFA201B0 */ sw $v0, 0x1b0($sp) +.L00410008: +/* 00410008 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0041000C 2418FFFF */ li $t8, -1 +/* 00410010 AFB801D8 */ sw $t8, 0x1d8($sp) +/* 00410014 0320F809 */ jalr $t9 +/* 00410018 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0041001C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410020 00402025 */ move $a0, $v0 +/* 00410024 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410028 8F998018 */ lw $t9, %got(func_0040EC54)($gp) +/* 0041002C 2739EC54 */ addiu $t9, %lo(func_0040EC54) # addiu $t9, $t9, -0x13ac +/* 00410030 0320F809 */ jalr $t9 +/* 00410034 00000000 */ nop +/* 00410038 1000FD5C */ b .L0040F5AC +/* 0041003C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410040: +/* 00410040 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00410044 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00410048 0320F809 */ jalr $t9 +/* 0041004C 00000000 */ nop +/* 00410050 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410054 00402025 */ move $a0, $v0 +/* 00410058 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041005C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410060 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410064 0320F809 */ jalr $t9 +/* 00410068 00000000 */ nop +/* 0041006C 1000FD4F */ b .L0040F5AC +/* 00410070 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410074: +/* 00410074 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00410078 018002B6 */ tne $t4, $zero, 0xa +/* 0041007C 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00410080 24040088 */ li $a0, 136 +/* 00410084 0320F809 */ jalr $t9 +/* 00410088 00000000 */ nop +/* 0041008C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410090 8FA901A4 */ lw $t1, 0x1a4($sp) +/* 00410094 00402025 */ move $a0, $v0 +/* 00410098 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0041009C AC490004 */ sw $t1, 4($v0) +/* 004100A0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004100A4 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004100A8 0320F809 */ jalr $t9 +/* 004100AC 00000000 */ nop +/* 004100B0 1000FD3E */ b .L0040F5AC +/* 004100B4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004100B8: +/* 004100B8 97AD1648 */ lhu $t5, 0x1648($sp) +/* 004100BC 01A002B6 */ tne $t5, $zero, 0xa +/* 004100C0 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 004100C4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004100C8 0320F809 */ jalr $t9 +/* 004100CC 00000000 */ nop +/* 004100D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004100D4 00409825 */ move $s3, $v0 +/* 004100D8 8FA401CC */ lw $a0, 0x1cc($sp) +/* 004100DC 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 004100E0 0320F809 */ jalr $t9 +/* 004100E4 00000000 */ nop +/* 004100E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004100EC AE620004 */ sw $v0, 4($s3) +/* 004100F0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004100F4 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004100F8 02602025 */ move $a0, $s3 +/* 004100FC 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410100 0320F809 */ jalr $t9 +/* 00410104 00000000 */ nop +/* 00410108 1000FD28 */ b .L0040F5AC +/* 0041010C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410110: +/* 00410110 97A41648 */ lhu $a0, 0x1648($sp) +/* 00410114 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00410118 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 0041011C 00045880 */ sll $t3, $a0, 2 +/* 00410120 2487FFFF */ addiu $a3, $a0, -1 +/* 00410124 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00410128 AFA700F4 */ sw $a3, 0xf4($sp) +/* 0041012C 016FB821 */ addu $s7, $t3, $t7 +/* 00410130 0320F809 */ jalr $t9 +/* 00410134 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410138 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041013C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00410140 8EE50000 */ lw $a1, ($s7) +/* 00410144 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00410148 0320F809 */ jalr $t9 +/* 0041014C 00000000 */ nop +/* 00410150 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410154 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410158 30E3FFFF */ andi $v1, $a3, 0xffff +/* 0041015C 006002B6 */ tne $v1, $zero, 0xa +/* 00410160 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410164 00402025 */ move $a0, $v0 +/* 00410168 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041016C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410170 0320F809 */ jalr $t9 +/* 00410174 A7A31648 */ sh $v1, 0x1648($sp) +/* 00410178 1000FD0C */ b .L0040F5AC +/* 0041017C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410180: +/* 00410180 97B91648 */ lhu $t9, 0x1648($sp) +/* 00410184 27B81004 */ addiu $t8, $sp, 0x1004 +/* 00410188 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041018C 03202025 */ move $a0, $t9 +/* 00410190 00195080 */ sll $t2, $t9, 2 +/* 00410194 2727FFFF */ addiu $a3, $t9, -1 +/* 00410198 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 0041019C AFA700F4 */ sw $a3, 0xf4($sp) +/* 004101A0 0158B821 */ addu $s7, $t2, $t8 +/* 004101A4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004101A8 0320F809 */ jalr $t9 +/* 004101AC 00000000 */ nop +/* 004101B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004101B4 8FA401CC */ lw $a0, 0x1cc($sp) +/* 004101B8 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 004101BC 0320F809 */ jalr $t9 +/* 004101C0 00000000 */ nop +/* 004101C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004101C8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004101CC 8EE50000 */ lw $a1, ($s7) +/* 004101D0 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 004101D4 00403025 */ move $a2, $v0 +/* 004101D8 0320F809 */ jalr $t9 +/* 004101DC 00000000 */ nop +/* 004101E0 8FA700F4 */ lw $a3, 0xf4($sp) +/* 004101E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004101E8 00409825 */ move $s3, $v0 +/* 004101EC 30E3FFFF */ andi $v1, $a3, 0xffff +/* 004101F0 006002B6 */ tne $v1, $zero, 0xa +/* 004101F4 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 004101F8 8C440000 */ lw $a0, ($v0) +/* 004101FC A7A31648 */ sh $v1, 0x1648($sp) +/* 00410200 0320F809 */ jalr $t9 +/* 00410204 00000000 */ nop +/* 00410208 10400015 */ beqz $v0, .L00410260 +/* 0041020C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410210 8F998690 */ lw $t9, %call16(is_zero)($gp) +/* 00410214 8E640000 */ lw $a0, ($s3) +/* 00410218 0320F809 */ jalr $t9 +/* 0041021C 00000000 */ nop +/* 00410220 93AC01C8 */ lbu $t4, 0x1c8($sp) +/* 00410224 2C4D0001 */ sltiu $t5, $v0, 1 +/* 00410228 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041022C 3989007F */ xori $t1, $t4, 0x7f +/* 00410230 2D290001 */ sltiu $t1, $t1, 1 +/* 00410234 112D0007 */ beq $t1, $t5, .L00410254 +/* 00410238 240B0088 */ li $t3, 136 +/* 0041023C 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00410240 02602025 */ move $a0, $s3 +/* 00410244 0320F809 */ jalr $t9 +/* 00410248 00000000 */ nop +/* 0041024C 1000FCD7 */ b .L0040F5AC +/* 00410250 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410254: +/* 00410254 A26B0020 */ sb $t3, 0x20($s3) +/* 00410258 10000024 */ b .L004102EC +/* 0041025C AE600000 */ sw $zero, ($s3) +.L00410260: +/* 00410260 8E620000 */ lw $v0, ($s3) +/* 00410264 24010050 */ li $at, 80 +/* 00410268 904F0020 */ lbu $t7, 0x20($v0) +/* 0041026C 15E1001F */ bne $t7, $at, .L004102EC +/* 00410270 00000000 */ nop +/* 00410274 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00410278 00408025 */ move $s0, $v0 +/* 0041027C 8C440000 */ lw $a0, ($v0) +/* 00410280 0320F809 */ jalr $t9 +/* 00410284 00000000 */ nop +/* 00410288 926E0020 */ lbu $t6, 0x20($s3) +/* 0041028C 2401007F */ li $at, 127 +/* 00410290 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410294 15C10004 */ bne $t6, $at, .L004102A8 +/* 00410298 AE620000 */ sw $v0, ($s3) +/* 0041029C 240A0026 */ li $t2, 38 +/* 004102A0 10000003 */ b .L004102B0 +/* 004102A4 A26A0020 */ sb $t2, 0x20($s3) +.L004102A8: +/* 004102A8 2418007F */ li $t8, 127 +/* 004102AC A2780020 */ sb $t8, 0x20($s3) +.L004102B0: +/* 004102B0 96620022 */ lhu $v0, 0x22($s3) +/* 004102B4 24010001 */ li $at, 1 +/* 004102B8 10400007 */ beqz $v0, .L004102D8 +/* 004102BC 00000000 */ nop +/* 004102C0 14410004 */ bne $v0, $at, .L004102D4 +/* 004102C4 240C0001 */ li $t4, 1 +/* 004102C8 24190002 */ li $t9, 2 +/* 004102CC 10000002 */ b .L004102D8 +/* 004102D0 A6790022 */ sh $t9, 0x22($s3) +.L004102D4: +/* 004102D4 A66C0022 */ sh $t4, 0x22($s3) +.L004102D8: +/* 004102D8 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 004102DC 02002025 */ move $a0, $s0 +/* 004102E0 0320F809 */ jalr $t9 +/* 004102E4 00000000 */ nop +/* 004102E8 8FBC00CC */ lw $gp, 0xcc($sp) +.L004102EC: +/* 004102EC 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004102F0 02602025 */ move $a0, $s3 +/* 004102F4 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004102F8 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004102FC 0320F809 */ jalr $t9 +/* 00410300 00000000 */ nop +/* 00410304 1000FCA9 */ b .L0040F5AC +/* 00410308 8FBC00CC */ lw $gp, 0xcc($sp) +.L0041030C: +/* 0041030C 97A91648 */ lhu $t1, 0x1648($sp) +/* 00410310 012002B6 */ tne $t1, $zero, 0xa +/* 00410314 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00410318 8FA401CC */ lw $a0, 0x1cc($sp) +/* 0041031C 0320F809 */ jalr $t9 +/* 00410320 00000000 */ nop +/* 00410324 27AD01C8 */ addiu $t5, $sp, 0x1c8 +/* 00410328 8DAF0000 */ lw $t7, ($t5) +/* 0041032C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410330 00409825 */ move $s3, $v0 +/* 00410334 AC4F0020 */ sw $t7, 0x20($v0) +/* 00410338 8DAB0004 */ lw $t3, 4($t5) +/* 0041033C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410340 00402025 */ move $a0, $v0 +/* 00410344 AC4B0024 */ sw $t3, 0x24($v0) +/* 00410348 8DAF0008 */ lw $t7, 8($t5) +/* 0041034C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410350 AC4F0028 */ sw $t7, 0x28($v0) +/* 00410354 8DAB000C */ lw $t3, 0xc($t5) +/* 00410358 AC4B002C */ sw $t3, 0x2c($v0) +/* 0041035C 8DAF0010 */ lw $t7, 0x10($t5) +/* 00410360 AC4F0030 */ sw $t7, 0x30($v0) +/* 00410364 8DAB0014 */ lw $t3, 0x14($t5) +/* 00410368 AC4B0034 */ sw $t3, 0x34($v0) +/* 0041036C 8DAF0018 */ lw $t7, 0x18($t5) +/* 00410370 AC4F0038 */ sw $t7, 0x38($v0) +/* 00410374 8DAB001C */ lw $t3, 0x1c($t5) +/* 00410378 AC400030 */ sw $zero, 0x30($v0) +/* 0041037C AC4B003C */ sw $t3, 0x3c($v0) +/* 00410380 0320F809 */ jalr $t9 +/* 00410384 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410388 97AE01CA */ lhu $t6, 0x1ca($sp) +/* 0041038C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410390 31CA0008 */ andi $t2, $t6, 8 +/* 00410394 51400009 */ beql $t2, $zero, .L004103BC +/* 00410398 97B801CA */ lhu $t8, 0x1ca($sp) +/* 0041039C 8F998018 */ lw $t9, %got(func_0040F1BC)($gp) +/* 004103A0 02602025 */ move $a0, $s3 +/* 004103A4 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004103A8 2739F1BC */ addiu $t9, %lo(func_0040F1BC) # addiu $t9, $t9, -0xe44 +/* 004103AC 0320F809 */ jalr $t9 +/* 004103B0 00000000 */ nop +/* 004103B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004103B8 97B801CA */ lhu $t8, 0x1ca($sp) +.L004103BC: +/* 004103BC 240C0001 */ li $t4, 1 +/* 004103C0 33190002 */ andi $t9, $t8, 2 +/* 004103C4 1320FC79 */ beqz $t9, .L0040F5AC +/* 004103C8 00000000 */ nop +/* 004103CC 1000FC77 */ b .L0040F5AC +/* 004103D0 A3AC0166 */ sb $t4, 0x166($sp) +.L004103D4: +/* 004103D4 97A91648 */ lhu $t1, 0x1648($sp) +/* 004103D8 012002B6 */ tne $t1, $zero, 0xa +/* 004103DC 8F9981B8 */ lw $t9, %call16(search_label)($gp) +/* 004103E0 8FA401CC */ lw $a0, 0x1cc($sp) +/* 004103E4 0320F809 */ jalr $t9 +/* 004103E8 00000000 */ nop +/* 004103EC 14400040 */ bnez $v0, .L004104F0 +/* 004103F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004103F4 8F8D8038 */ lw $t5, %got(RO_10009098)($gp) +/* 004103F8 24040004 */ li $a0, 4 +/* 004103FC 24050581 */ li $a1, 1409 +/* 00410400 25AD9098 */ addiu $t5, %lo(RO_10009098) # addiu $t5, $t5, -0x6f68 +/* 00410404 25AA0048 */ addiu $t2, $t5, 0x48 +/* 00410408 03A07025 */ move $t6, $sp +.L0041040C: +/* 0041040C 89AF0000 */ lwl $t7, ($t5) +/* 00410410 99AF0003 */ lwr $t7, 3($t5) +/* 00410414 25AD000C */ addiu $t5, $t5, 0xc +/* 00410418 25CE000C */ addiu $t6, $t6, 0xc +/* 0041041C A9CFFFFC */ swl $t7, -4($t6) +/* 00410420 B9CFFFFF */ swr $t7, -1($t6) +/* 00410424 89ABFFF8 */ lwl $t3, -8($t5) +/* 00410428 99ABFFFB */ lwr $t3, -5($t5) +/* 0041042C A9CB0000 */ swl $t3, ($t6) +/* 00410430 B9CB0003 */ swr $t3, 3($t6) +/* 00410434 89AFFFFC */ lwl $t7, -4($t5) +/* 00410438 99AFFFFF */ lwr $t7, -1($t5) +/* 0041043C A9CF0004 */ swl $t7, 4($t6) +/* 00410440 15AAFFF2 */ bne $t5, $t2, .L0041040C +/* 00410444 B9CF0007 */ swr $t7, 7($t6) +/* 00410448 89AF0000 */ lwl $t7, ($t5) +/* 0041044C 99AF0003 */ lwr $t7, 3($t5) +/* 00410450 8F988038 */ lw $t8, %got(RO_10009048)($gp) +/* 00410454 03A04825 */ move $t1, $sp +/* 00410458 A9CF0008 */ swl $t7, 8($t6) +/* 0041045C B9CF000B */ swr $t7, 0xb($t6) +/* 00410460 89AB0004 */ lwl $t3, 4($t5) +/* 00410464 99AB0007 */ lwr $t3, 7($t5) +/* 00410468 27189048 */ addiu $t8, %lo(RO_10009048) # addiu $t8, $t8, -0x6fb8 +/* 0041046C 270A0048 */ addiu $t2, $t8, 0x48 +/* 00410470 A9CB000C */ swl $t3, 0xc($t6) +/* 00410474 B9CB000F */ swr $t3, 0xf($t6) +.L00410478: +/* 00410478 8B0C0000 */ lwl $t4, ($t8) +/* 0041047C 9B0C0003 */ lwr $t4, 3($t8) +/* 00410480 2718000C */ addiu $t8, $t8, 0xc +/* 00410484 2529000C */ addiu $t1, $t1, 0xc +/* 00410488 A92C004C */ swl $t4, 0x4c($t1) +/* 0041048C B92C004F */ swr $t4, 0x4f($t1) +/* 00410490 8B19FFF8 */ lwl $t9, -8($t8) +/* 00410494 9B19FFFB */ lwr $t9, -5($t8) +/* 00410498 A9390050 */ swl $t9, 0x50($t1) +/* 0041049C B9390053 */ swr $t9, 0x53($t1) +/* 004104A0 8B0CFFFC */ lwl $t4, -4($t8) +/* 004104A4 9B0CFFFF */ lwr $t4, -1($t8) +/* 004104A8 A92C0054 */ swl $t4, 0x54($t1) +/* 004104AC 170AFFF2 */ bne $t8, $t2, .L00410478 +/* 004104B0 B92C0057 */ swr $t4, 0x57($t1) +/* 004104B4 8B0C0000 */ lwl $t4, ($t8) +/* 004104B8 9B0C0003 */ lwr $t4, 3($t8) +/* 004104BC A92C0058 */ swl $t4, 0x58($t1) +/* 004104C0 B92C005B */ swr $t4, 0x5b($t1) +/* 004104C4 8B190004 */ lwl $t9, 4($t8) +/* 004104C8 9B190007 */ lwr $t9, 7($t8) +/* 004104CC A939005C */ swl $t9, 0x5c($t1) +/* 004104D0 B939005F */ swr $t9, 0x5f($t1) +/* 004104D4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004104D8 8FA7000C */ lw $a3, 0xc($sp) +/* 004104DC 8FA60008 */ lw $a2, 8($sp) +/* 004104E0 0320F809 */ jalr $t9 +/* 004104E4 00000000 */ nop +/* 004104E8 1000FC30 */ b .L0040F5AC +/* 004104EC 8FBC00CC */ lw $gp, 0xcc($sp) +.L004104F0: +/* 004104F0 97AD01CA */ lhu $t5, 0x1ca($sp) +/* 004104F4 A44D0022 */ sh $t5, 0x22($v0) +/* 004104F8 8FAE01D0 */ lw $t6, 0x1d0($sp) +/* 004104FC 1000FC2B */ b .L0040F5AC +/* 00410500 AC4E0028 */ sw $t6, 0x28($v0) +.L00410504: +/* 00410504 97AB1648 */ lhu $t3, 0x1648($sp) +/* 00410508 016002B6 */ tne $t3, $zero, 0xa +/* 0041050C 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00410510 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00410514 2415FFFF */ li $s5, -1 +/* 00410518 0320F809 */ jalr $t9 +/* 0041051C 2414FFFF */ li $s4, -1 +/* 00410520 27AF01C8 */ addiu $t7, $sp, 0x1c8 +/* 00410524 8DF80000 */ lw $t8, ($t7) +/* 00410528 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041052C 24090001 */ li $t1, 1 +/* 00410530 AC580020 */ sw $t8, 0x20($v0) +/* 00410534 8DEA0004 */ lw $t2, 4($t7) +/* 00410538 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0041053C 00409825 */ move $s3, $v0 +/* 00410540 AC4A0024 */ sw $t2, 0x24($v0) +/* 00410544 8DF80008 */ lw $t8, 8($t7) +/* 00410548 00402025 */ move $a0, $v0 +/* 0041054C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410550 AC580028 */ sw $t8, 0x28($v0) +/* 00410554 8DEA000C */ lw $t2, 0xc($t7) +/* 00410558 AC4A002C */ sw $t2, 0x2c($v0) +/* 0041055C 8DF80010 */ lw $t8, 0x10($t7) +/* 00410560 AC580030 */ sw $t8, 0x30($v0) +/* 00410564 8DEA0014 */ lw $t2, 0x14($t7) +/* 00410568 AC4A0034 */ sw $t2, 0x34($v0) +/* 0041056C 8DF80018 */ lw $t8, 0x18($t7) +/* 00410570 AC580038 */ sw $t8, 0x38($v0) +/* 00410574 8DEA001C */ lw $t2, 0x1c($t7) +/* 00410578 AC40002C */ sw $zero, 0x2c($v0) +/* 0041057C AC490030 */ sw $t1, 0x30($v0) +/* 00410580 AC4A003C */ sw $t2, 0x3c($v0) +/* 00410584 0320F809 */ jalr $t9 +/* 00410588 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041058C 8FB901F4 */ lw $t9, 0x1f4($sp) +/* 00410590 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410594 24110001 */ li $s1, 1 +/* 00410598 13200014 */ beqz $t9, .L004105EC +/* 0041059C 03209025 */ move $s2, $t9 +/* 004105A0 932C0020 */ lbu $t4, 0x20($t9) +/* 004105A4 2401008C */ li $at, 140 +/* 004105A8 55810006 */ bnel $t4, $at, .L004105C4 +/* 004105AC 8E52000C */ lw $s2, 0xc($s2) +/* 004105B0 8E6D0024 */ lw $t5, 0x24($s3) +/* 004105B4 8F2E0024 */ lw $t6, 0x24($t9) +/* 004105B8 11AE000C */ beq $t5, $t6, .L004105EC +/* 004105BC 00000000 */ nop +/* 004105C0 8E52000C */ lw $s2, 0xc($s2) +.L004105C4: +/* 004105C4 12400009 */ beqz $s2, .L004105EC +/* 004105C8 00000000 */ nop +/* 004105CC 924B0020 */ lbu $t3, 0x20($s2) +/* 004105D0 2401008C */ li $at, 140 +/* 004105D4 5561FFFB */ bnel $t3, $at, .L004105C4 +/* 004105D8 8E52000C */ lw $s2, 0xc($s2) +/* 004105DC 8E6F0024 */ lw $t7, 0x24($s3) +/* 004105E0 8E4A0024 */ lw $t2, 0x24($s2) +/* 004105E4 55EAFFF7 */ bnel $t7, $t2, .L004105C4 +/* 004105E8 8E52000C */ lw $s2, 0xc($s2) +.L004105EC: +/* 004105EC 5240009A */ beql $s2, $zero, .L00410858 +/* 004105F0 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004105F4 8E420000 */ lw $v0, ($s2) +/* 004105F8 24010004 */ li $at, 4 +/* 004105FC 90580020 */ lbu $t8, 0x20($v0) +/* 00410600 5701002E */ bnel $t8, $at, .L004106BC +/* 00410604 8E42000C */ lw $v0, 0xc($s2) +/* 00410608 8C430004 */ lw $v1, 4($v0) +/* 0041060C 24010049 */ li $at, 73 +/* 00410610 90690020 */ lbu $t1, 0x20($v1) +/* 00410614 55210013 */ bnel $t1, $at, .L00410664 +/* 00410618 8C430000 */ lw $v1, ($v0) +/* 0041061C 906C0021 */ lbu $t4, 0x21($v1) +/* 00410620 3C010501 */ lui $at, 0x501 +/* 00410624 3199001F */ andi $t9, $t4, 0x1f +/* 00410628 2F2D0020 */ sltiu $t5, $t9, 0x20 +/* 0041062C 000D7023 */ negu $t6, $t5 +/* 00410630 01C15824 */ and $t3, $t6, $at +/* 00410634 032B7804 */ sllv $t7, $t3, $t9 +/* 00410638 05E30005 */ bgezl $t7, .L00410650 +/* 0041063C 8C740030 */ lw $s4, 0x30($v1) +/* 00410640 8C750030 */ lw $s5, 0x30($v1) +/* 00410644 10000083 */ b .L00410854 +/* 00410648 8C740034 */ lw $s4, 0x34($v1) +/* 0041064C 8C740030 */ lw $s4, 0x30($v1) +.L00410650: +/* 00410650 06820081 */ bltzl $s4, .L00410858 +/* 00410654 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410658 1000007E */ b .L00410854 +/* 0041065C 0000A825 */ move $s5, $zero +/* 00410660 8C430000 */ lw $v1, ($v0) +.L00410664: +/* 00410664 24010049 */ li $at, 73 +/* 00410668 906A0020 */ lbu $t2, 0x20($v1) +/* 0041066C 5541007A */ bnel $t2, $at, .L00410858 +/* 00410670 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410674 90780021 */ lbu $t8, 0x21($v1) +/* 00410678 3C010501 */ lui $at, 0x501 +/* 0041067C 3309001F */ andi $t1, $t8, 0x1f +/* 00410680 2D2C0020 */ sltiu $t4, $t1, 0x20 +/* 00410684 000C6823 */ negu $t5, $t4 +/* 00410688 01A17024 */ and $t6, $t5, $at +/* 0041068C 012E5804 */ sllv $t3, $t6, $t1 +/* 00410690 05630005 */ bgezl $t3, .L004106A8 +/* 00410694 8C740030 */ lw $s4, 0x30($v1) +/* 00410698 8C750030 */ lw $s5, 0x30($v1) +/* 0041069C 1000006D */ b .L00410854 +/* 004106A0 8C740034 */ lw $s4, 0x34($v1) +/* 004106A4 8C740030 */ lw $s4, 0x30($v1) +.L004106A8: +/* 004106A8 0682006B */ bltzl $s4, .L00410858 +/* 004106AC 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004106B0 10000068 */ b .L00410854 +/* 004106B4 0000A825 */ move $s5, $zero +/* 004106B8 8E42000C */ lw $v0, 0xc($s2) +.L004106BC: +/* 004106BC 24010026 */ li $at, 38 +/* 004106C0 90590020 */ lbu $t9, 0x20($v0) +/* 004106C4 57210064 */ bnel $t9, $at, .L00410858 +/* 004106C8 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004106CC 8C44000C */ lw $a0, 0xc($v0) +/* 004106D0 2401007B */ li $at, 123 +/* 004106D4 908F0020 */ lbu $t7, 0x20($a0) +/* 004106D8 55E1005F */ bnel $t7, $at, .L00410858 +/* 004106DC 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004106E0 8C8A0000 */ lw $t2, ($a0) +/* 004106E4 24010004 */ li $at, 4 +/* 004106E8 91580020 */ lbu $t8, 0x20($t2) +/* 004106EC 5701005A */ bnel $t8, $at, .L00410858 +/* 004106F0 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004106F4 8C4C0000 */ lw $t4, ($v0) +/* 004106F8 24010052 */ li $at, 82 +/* 004106FC 8D830000 */ lw $v1, ($t4) +/* 00410700 906D0020 */ lbu $t5, 0x20($v1) +/* 00410704 55A10004 */ bnel $t5, $at, .L00410718 +/* 00410708 8C730000 */ lw $s3, ($v1) +/* 0041070C 10000002 */ b .L00410718 +/* 00410710 00609825 */ move $s3, $v1 +/* 00410714 8C730000 */ lw $s3, ($v1) +.L00410718: +/* 00410718 908E0021 */ lbu $t6, 0x21($a0) +/* 0041071C 92790021 */ lbu $t9, 0x21($s3) +/* 00410720 00808025 */ move $s0, $a0 +/* 00410724 000E4E00 */ sll $t1, $t6, 0x18 +/* 00410728 00197E00 */ sll $t7, $t9, 0x18 +/* 0041072C 000F5742 */ srl $t2, $t7, 0x1d +/* 00410730 00095F42 */ srl $t3, $t1, 0x1d +/* 00410734 556A0048 */ bnel $t3, $t2, .L00410858 +/* 00410738 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 0041073C 8C980024 */ lw $t8, 0x24($a0) +/* 00410740 8E6C0024 */ lw $t4, 0x24($s3) +/* 00410744 570C0044 */ bnel $t8, $t4, .L00410858 +/* 00410748 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 0041074C 8F82898C */ lw $v0, %got(lsb_first)($gp) +/* 00410750 90420000 */ lbu $v0, ($v0) +/* 00410754 10400005 */ beqz $v0, .L0041076C +/* 00410758 00000000 */ nop +/* 0041075C 8C8D002C */ lw $t5, 0x2c($a0) +/* 00410760 8E6E002C */ lw $t6, 0x2c($s3) +/* 00410764 51AE000C */ beql $t5, $t6, .L00410798 +/* 00410768 8E6C0028 */ lw $t4, 0x28($s3) +.L0041076C: +/* 0041076C 5440003A */ bnel $v0, $zero, .L00410858 +/* 00410770 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410774 8E09002C */ lw $t1, 0x2c($s0) +/* 00410778 8E190028 */ lw $t9, 0x28($s0) +/* 0041077C 8E6B002C */ lw $t3, 0x2c($s3) +/* 00410780 8E6A0028 */ lw $t2, 0x28($s3) +/* 00410784 01397821 */ addu $t7, $t1, $t9 +/* 00410788 016AC021 */ addu $t8, $t3, $t2 +/* 0041078C 55F80032 */ bnel $t7, $t8, .L00410858 +/* 00410790 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410794 8E6C0028 */ lw $t4, 0x28($s3) +.L00410798: +/* 00410798 8E0D0028 */ lw $t5, 0x28($s0) +/* 0041079C 558D002E */ bnel $t4, $t5, .L00410858 +/* 004107A0 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004107A4 8E030000 */ lw $v1, ($s0) +/* 004107A8 24010049 */ li $at, 73 +/* 004107AC 8C620000 */ lw $v0, ($v1) +/* 004107B0 904E0020 */ lbu $t6, 0x20($v0) +/* 004107B4 55C10013 */ bnel $t6, $at, .L00410804 +/* 004107B8 8C620004 */ lw $v0, 4($v1) +/* 004107BC 90490021 */ lbu $t1, 0x21($v0) +/* 004107C0 3C010501 */ lui $at, 0x501 +/* 004107C4 3139001F */ andi $t9, $t1, 0x1f +/* 004107C8 2F2B0020 */ sltiu $t3, $t9, 0x20 +/* 004107CC 000B5023 */ negu $t2, $t3 +/* 004107D0 01417824 */ and $t7, $t2, $at +/* 004107D4 032FC004 */ sllv $t8, $t7, $t9 +/* 004107D8 07030005 */ bgezl $t8, .L004107F0 +/* 004107DC 8C540030 */ lw $s4, 0x30($v0) +/* 004107E0 8C550030 */ lw $s5, 0x30($v0) +/* 004107E4 1000001B */ b .L00410854 +/* 004107E8 8C540034 */ lw $s4, 0x34($v0) +/* 004107EC 8C540030 */ lw $s4, 0x30($v0) +.L004107F0: +/* 004107F0 06820019 */ bltzl $s4, .L00410858 +/* 004107F4 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 004107F8 10000016 */ b .L00410854 +/* 004107FC 0000A825 */ move $s5, $zero +/* 00410800 8C620004 */ lw $v0, 4($v1) +.L00410804: +/* 00410804 24010049 */ li $at, 73 +/* 00410808 904C0020 */ lbu $t4, 0x20($v0) +/* 0041080C 55810012 */ bnel $t4, $at, .L00410858 +/* 00410810 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410814 904D0021 */ lbu $t5, 0x21($v0) +/* 00410818 3C010501 */ lui $at, 0x501 +/* 0041081C 31AE001F */ andi $t6, $t5, 0x1f +/* 00410820 2DC90020 */ sltiu $t1, $t6, 0x20 +/* 00410824 00095823 */ negu $t3, $t1 +/* 00410828 01615024 */ and $t2, $t3, $at +/* 0041082C 01CA7804 */ sllv $t7, $t2, $t6 +/* 00410830 05E30005 */ bgezl $t7, .L00410848 +/* 00410834 8C540030 */ lw $s4, 0x30($v0) +/* 00410838 8C550030 */ lw $s5, 0x30($v0) +/* 0041083C 10000005 */ b .L00410854 +/* 00410840 8C540034 */ lw $s4, 0x34($v0) +/* 00410844 8C540030 */ lw $s4, 0x30($v0) +.L00410848: +/* 00410848 06820003 */ bltzl $s4, .L00410858 +/* 0041084C 8FB301D0 */ lw $s3, 0x1d0($sp) +/* 00410850 0000A825 */ move $s5, $zero +.L00410854: +/* 00410854 8FB301D0 */ lw $s3, 0x1d0($sp) +.L00410858: +/* 00410858 12600071 */ beqz $s3, .L00410A20 +/* 0041085C 00000000 */ nop +/* 00410860 26730001 */ addiu $s3, $s3, 1 +.L00410864: +/* 00410864 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 00410868 0320F809 */ jalr $t9 +/* 0041086C 00000000 */ nop +/* 00410870 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410874 00408025 */ move $s0, $v0 +/* 00410878 24440020 */ addiu $a0, $v0, 0x20 +/* 0041087C 8F9986E4 */ lw $t9, %call16(readuinstr)($gp) +/* 00410880 00002825 */ move $a1, $zero +/* 00410884 0320F809 */ jalr $t9 +/* 00410888 00000000 */ nop +/* 0041088C 92190020 */ lbu $t9, 0x20($s0) +/* 00410890 24010088 */ li $at, 136 +/* 00410894 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410898 1321003E */ beq $t9, $at, .L00410994 +/* 0041089C 24040004 */ li $a0, 4 +/* 004108A0 8F988038 */ lw $t8, %got(RO_10008FF8)($gp) +/* 004108A4 2405060F */ li $a1, 1551 +/* 004108A8 03A04825 */ move $t1, $sp +/* 004108AC 27188FF8 */ addiu $t8, %lo(RO_10008FF8) # addiu $t8, $t8, -0x7008 +/* 004108B0 270B0048 */ addiu $t3, $t8, 0x48 +.L004108B4: +/* 004108B4 8B0D0000 */ lwl $t5, ($t8) +/* 004108B8 9B0D0003 */ lwr $t5, 3($t8) +/* 004108BC 2718000C */ addiu $t8, $t8, 0xc +/* 004108C0 2529000C */ addiu $t1, $t1, 0xc +/* 004108C4 A92DFFFC */ swl $t5, -4($t1) +/* 004108C8 B92DFFFF */ swr $t5, -1($t1) +/* 004108CC 8B0CFFF8 */ lwl $t4, -8($t8) +/* 004108D0 9B0CFFFB */ lwr $t4, -5($t8) +/* 004108D4 A92C0000 */ swl $t4, ($t1) +/* 004108D8 B92C0003 */ swr $t4, 3($t1) +/* 004108DC 8B0DFFFC */ lwl $t5, -4($t8) +/* 004108E0 9B0DFFFF */ lwr $t5, -1($t8) +/* 004108E4 A92D0004 */ swl $t5, 4($t1) +/* 004108E8 170BFFF2 */ bne $t8, $t3, .L004108B4 +/* 004108EC B92D0007 */ swr $t5, 7($t1) +/* 004108F0 8B0D0000 */ lwl $t5, ($t8) +/* 004108F4 9B0D0003 */ lwr $t5, 3($t8) +/* 004108F8 8F8A8038 */ lw $t2, %got(RO_10008FA8)($gp) +/* 004108FC 03A0C825 */ move $t9, $sp +/* 00410900 A92D0008 */ swl $t5, 8($t1) +/* 00410904 B92D000B */ swr $t5, 0xb($t1) +/* 00410908 8B0C0004 */ lwl $t4, 4($t8) +/* 0041090C 9B0C0007 */ lwr $t4, 7($t8) +/* 00410910 254A8FA8 */ addiu $t2, %lo(RO_10008FA8) # addiu $t2, $t2, -0x7058 +/* 00410914 254B0048 */ addiu $t3, $t2, 0x48 +/* 00410918 A92C000C */ swl $t4, 0xc($t1) +/* 0041091C B92C000F */ swr $t4, 0xf($t1) +.L00410920: +/* 00410920 894F0000 */ lwl $t7, ($t2) +/* 00410924 994F0003 */ lwr $t7, 3($t2) +/* 00410928 254A000C */ addiu $t2, $t2, 0xc +/* 0041092C 2739000C */ addiu $t9, $t9, 0xc +/* 00410930 AB2F004C */ swl $t7, 0x4c($t9) +/* 00410934 BB2F004F */ swr $t7, 0x4f($t9) +/* 00410938 894EFFF8 */ lwl $t6, -8($t2) +/* 0041093C 994EFFFB */ lwr $t6, -5($t2) +/* 00410940 AB2E0050 */ swl $t6, 0x50($t9) +/* 00410944 BB2E0053 */ swr $t6, 0x53($t9) +/* 00410948 894FFFFC */ lwl $t7, -4($t2) +/* 0041094C 994FFFFF */ lwr $t7, -1($t2) +/* 00410950 AB2F0054 */ swl $t7, 0x54($t9) +/* 00410954 154BFFF2 */ bne $t2, $t3, .L00410920 +/* 00410958 BB2F0057 */ swr $t7, 0x57($t9) +/* 0041095C 894F0000 */ lwl $t7, ($t2) +/* 00410960 994F0003 */ lwr $t7, 3($t2) +/* 00410964 AB2F0058 */ swl $t7, 0x58($t9) +/* 00410968 BB2F005B */ swr $t7, 0x5b($t9) +/* 0041096C 894E0004 */ lwl $t6, 4($t2) +/* 00410970 994E0007 */ lwr $t6, 7($t2) +/* 00410974 AB2E005C */ swl $t6, 0x5c($t9) +/* 00410978 BB2E005F */ swr $t6, 0x5f($t9) +/* 0041097C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00410980 8FA7000C */ lw $a3, 0xc($sp) +/* 00410984 8FA60008 */ lw $a2, 8($sp) +/* 00410988 0320F809 */ jalr $t9 +/* 0041098C 00000000 */ nop +/* 00410990 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410994: +/* 00410994 12400013 */ beqz $s2, .L004109E4 +/* 00410998 00000000 */ nop +/* 0041099C 8E420034 */ lw $v0, 0x34($s2) +/* 004109A0 00002825 */ move $a1, $zero +/* 004109A4 00511821 */ addu $v1, $v0, $s1 +/* 004109A8 2463FFFF */ addiu $v1, $v1, -1 +/* 004109AC 0062082A */ slt $at, $v1, $v0 +/* 004109B0 10200003 */ beqz $at, .L004109C0 +/* 004109B4 0074C024 */ and $t8, $v1, $s4 +/* 004109B8 10000001 */ b .L004109C0 +/* 004109BC 24050001 */ li $a1, 1 +.L004109C0: +/* 004109C0 54780007 */ bnel $v1, $t8, .L004109E0 +/* 004109C4 8E4D0028 */ lw $t5, 0x28($s2) +/* 004109C8 8E490030 */ lw $t1, 0x30($s2) +/* 004109CC 01251021 */ addu $v0, $t1, $a1 +/* 004109D0 00556024 */ and $t4, $v0, $s5 +/* 004109D4 104C0003 */ beq $v0, $t4, .L004109E4 +/* 004109D8 00000000 */ nop +/* 004109DC 8E4D0028 */ lw $t5, 0x28($s2) +.L004109E0: +/* 004109E0 AE0D0024 */ sw $t5, 0x24($s0) +.L004109E4: +/* 004109E4 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 004109E8 8E040024 */ lw $a0, 0x24($s0) +/* 004109EC 0320F809 */ jalr $t9 +/* 004109F0 00000000 */ nop +/* 004109F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004109F8 AE020004 */ sw $v0, 4($s0) +/* 004109FC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410A00 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410A04 02002025 */ move $a0, $s0 +/* 00410A08 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410A0C 0320F809 */ jalr $t9 +/* 00410A10 00000000 */ nop +/* 00410A14 26310001 */ addiu $s1, $s1, 1 +/* 00410A18 1633FF92 */ bne $s1, $s3, .L00410864 +/* 00410A1C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410A20: +/* 00410A20 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00410A24 24040011 */ li $a0, 17 +/* 00410A28 0320F809 */ jalr $t9 +/* 00410A2C 00000000 */ nop +/* 00410A30 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410A34 AC400028 */ sw $zero, 0x28($v0) +/* 00410A38 8FAB01CC */ lw $t3, 0x1cc($sp) +/* 00410A3C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410A40 00402025 */ move $a0, $v0 +/* 00410A44 AC4B0024 */ sw $t3, 0x24($v0) +/* 00410A48 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410A4C 0320F809 */ jalr $t9 +/* 00410A50 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410A54 1000FAD5 */ b .L0040F5AC +/* 00410A58 8FBC00CC */ lw $gp, 0xcc($sp) +.L00410A5C: +/* 00410A5C 97AA1648 */ lhu $t2, 0x1648($sp) +/* 00410A60 27B91004 */ addiu $t9, $sp, 0x1004 +/* 00410A64 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 00410A68 000A9080 */ sll $s2, $t2, 2 +/* 00410A6C 0259B821 */ addu $s7, $s2, $t9 +/* 00410A70 8EEF0000 */ lw $t7, ($s7) +/* 00410A74 024EA021 */ addu $s4, $s2, $t6 +/* 00410A78 2547FFFF */ addiu $a3, $t2, -1 +/* 00410A7C 55E00076 */ bnel $t7, $zero, .L00410C58 +/* 00410A80 8E8E0000 */ lw $t6, ($s4) +/* 00410A84 8F9981B8 */ lw $t9, %call16(search_label)($gp) +/* 00410A88 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00410A8C AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410A90 0320F809 */ jalr $t9 +/* 00410A94 00000000 */ nop +/* 00410A98 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410A9C 1040006D */ beqz $v0, .L00410C54 +/* 00410AA0 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410AA4 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 00410AA8 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410AAC 0320F809 */ jalr $t9 +/* 00410AB0 00000000 */ nop +/* 00410AB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410AB8 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410ABC 24180088 */ li $t8, 136 +/* 00410AC0 A0580020 */ sb $t8, 0x20($v0) +/* 00410AC4 8FAB01DC */ lw $t3, 0x1dc($sp) +/* 00410AC8 8E890000 */ lw $t1, ($s4) +/* 00410ACC 8FAC01E0 */ lw $t4, 0x1e0($sp) +/* 00410AD0 24180000 */ li $t8, 0 +/* 00410AD4 012B7823 */ subu $t7, $t1, $t3 +/* 00410AD8 030C082A */ slt $at, $t8, $t4 +/* 00410ADC 00409825 */ move $s3, $v0 +/* 00410AE0 01E02825 */ move $a1, $t7 +/* 00410AE4 1420000F */ bnez $at, .L00410B24 +/* 00410AE8 8FAD01E4 */ lw $t5, 0x1e4($sp) +/* 00410AEC 0198082A */ slt $at, $t4, $t8 +/* 00410AF0 14200003 */ bnez $at, .L00410B00 +/* 00410AF4 01ED082B */ sltu $at, $t7, $t5 +/* 00410AF8 1420000A */ bnez $at, .L00410B24 +/* 00410AFC 00000000 */ nop +.L00410B00: +/* 00410B00 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00410B04 8FA401D0 */ lw $a0, 0x1d0($sp) +/* 00410B08 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410B0C 0320F809 */ jalr $t9 +/* 00410B10 00000000 */ nop +/* 00410B14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410B18 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410B1C 10000044 */ b .L00410C30 +/* 00410B20 AE620004 */ sw $v0, 4($s3) +.L00410B24: +/* 00410B24 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00410B28 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00410B2C AFA50174 */ sw $a1, 0x174($sp) +/* 00410B30 0320F809 */ jalr $t9 +/* 00410B34 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410B38 90490020 */ lbu $t1, 0x20($v0) +/* 00410B3C 240A0011 */ li $t2, 17 +/* 00410B40 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410B44 8FA50174 */ lw $a1, 0x174($sp) +/* 00410B48 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410B4C 00408025 */ move $s0, $v0 +/* 00410B50 012A02B6 */ tne $t1, $t2, 0xa +/* 00410B54 24A50001 */ addiu $a1, $a1, 1 +/* 00410B58 30A20003 */ andi $v0, $a1, 3 +/* 00410B5C 00021023 */ negu $v0, $v0 +/* 00410B60 1040000E */ beqz $v0, .L00410B9C +/* 00410B64 00452021 */ addu $a0, $v0, $a1 +/* 00410B68 8E100008 */ lw $s0, 8($s0) +.L00410B6C: +/* 00410B6C 24A5FFFF */ addiu $a1, $a1, -1 +/* 00410B70 0010182B */ sltu $v1, $zero, $s0 +/* 00410B74 50600005 */ beql $v1, $zero, .L00410B8C +/* 00410B78 006002B4 */ teq $v1, $zero, 0xa +/* 00410B7C 92030020 */ lbu $v1, 0x20($s0) +/* 00410B80 38630088 */ xori $v1, $v1, 0x88 +/* 00410B84 2C630001 */ sltiu $v1, $v1, 1 +/* 00410B88 006002B4 */ teq $v1, $zero, 0xa +.L00410B8C: +/* 00410B8C 5485FFF7 */ bnel $a0, $a1, .L00410B6C +/* 00410B90 8E100008 */ lw $s0, 8($s0) +/* 00410B94 50A00025 */ beql $a1, $zero, .L00410C2C +/* 00410B98 8E0B0004 */ lw $t3, 4($s0) +.L00410B9C: +/* 00410B9C 8E100008 */ lw $s0, 8($s0) +.L00410BA0: +/* 00410BA0 24A5FFFC */ addiu $a1, $a1, -4 +/* 00410BA4 0010182B */ sltu $v1, $zero, $s0 +/* 00410BA8 50600005 */ beql $v1, $zero, .L00410BC0 +/* 00410BAC 006002B4 */ teq $v1, $zero, 0xa +/* 00410BB0 92030020 */ lbu $v1, 0x20($s0) +/* 00410BB4 38630088 */ xori $v1, $v1, 0x88 +/* 00410BB8 2C630001 */ sltiu $v1, $v1, 1 +/* 00410BBC 006002B4 */ teq $v1, $zero, 0xa +.L00410BC0: +/* 00410BC0 8E100008 */ lw $s0, 8($s0) +/* 00410BC4 0010182B */ sltu $v1, $zero, $s0 +/* 00410BC8 50600005 */ beql $v1, $zero, .L00410BE0 +/* 00410BCC 006002B4 */ teq $v1, $zero, 0xa +/* 00410BD0 92030020 */ lbu $v1, 0x20($s0) +/* 00410BD4 38630088 */ xori $v1, $v1, 0x88 +/* 00410BD8 2C630001 */ sltiu $v1, $v1, 1 +/* 00410BDC 006002B4 */ teq $v1, $zero, 0xa +.L00410BE0: +/* 00410BE0 8E100008 */ lw $s0, 8($s0) +/* 00410BE4 0010182B */ sltu $v1, $zero, $s0 +/* 00410BE8 50600005 */ beql $v1, $zero, .L00410C00 +/* 00410BEC 006002B4 */ teq $v1, $zero, 0xa +/* 00410BF0 92030020 */ lbu $v1, 0x20($s0) +/* 00410BF4 38630088 */ xori $v1, $v1, 0x88 +/* 00410BF8 2C630001 */ sltiu $v1, $v1, 1 +/* 00410BFC 006002B4 */ teq $v1, $zero, 0xa +.L00410C00: +/* 00410C00 8E100008 */ lw $s0, 8($s0) +/* 00410C04 0010182B */ sltu $v1, $zero, $s0 +/* 00410C08 50600005 */ beql $v1, $zero, .L00410C20 +/* 00410C0C 006002B4 */ teq $v1, $zero, 0xa +/* 00410C10 92030020 */ lbu $v1, 0x20($s0) +/* 00410C14 38630088 */ xori $v1, $v1, 0x88 +/* 00410C18 2C630001 */ sltiu $v1, $v1, 1 +/* 00410C1C 006002B4 */ teq $v1, $zero, 0xa +.L00410C20: +/* 00410C20 54A0FFDF */ bnel $a1, $zero, .L00410BA0 +/* 00410C24 8E100008 */ lw $s0, 8($s0) +/* 00410C28 8E0B0004 */ lw $t3, 4($s0) +.L00410C2C: +/* 00410C2C AE6B0004 */ sw $t3, 4($s3) +.L00410C30: +/* 00410C30 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410C34 02602025 */ move $a0, $s3 +/* 00410C38 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410C3C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410C40 0320F809 */ jalr $t9 +/* 00410C44 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410C48 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410C4C 1000014B */ b .L0041117C +/* 00410C50 8FA700F4 */ lw $a3, 0xf4($sp) +.L00410C54: +/* 00410C54 8E8E0000 */ lw $t6, ($s4) +.L00410C58: +/* 00410C58 8FAD01DC */ lw $t5, 0x1dc($sp) +/* 00410C5C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00410C60 27A90384 */ addiu $t1, $sp, 0x384 +/* 00410C64 01CD5823 */ subu $t3, $t6, $t5 +/* 00410C68 AE8B0000 */ sw $t3, ($s4) +/* 00410C6C 02497021 */ addu $t6, $s2, $t1 +/* 00410C70 ADC00000 */ sw $zero, ($t6) +/* 00410C74 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00410C78 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410C7C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00410C80 0320F809 */ jalr $t9 +/* 00410C84 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410C88 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 00410C8C 3C010501 */ lui $at, 0x501 +/* 00410C90 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410C94 3319001F */ andi $t9, $t8, 0x1f +/* 00410C98 2F2C0020 */ sltiu $t4, $t9, 0x20 +/* 00410C9C 000C6823 */ negu $t5, $t4 +/* 00410CA0 01A15024 */ and $t2, $t5, $at +/* 00410CA4 032A5804 */ sllv $t3, $t2, $t9 +/* 00410CA8 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410CAC 05610003 */ bgez $t3, .L00410CBC +/* 00410CB0 8EF20000 */ lw $s2, ($s7) +/* 00410CB4 10000002 */ b .L00410CC0 +/* 00410CB8 24110007 */ li $s1, 7 +.L00410CBC: +/* 00410CBC 24110008 */ li $s1, 8 +.L00410CC0: +/* 00410CC0 92420021 */ lbu $v0, 0x21($s2) +/* 00410CC4 92450020 */ lbu $a1, 0x20($s2) +/* 00410CC8 24010004 */ li $at, 4 +/* 00410CCC 00027EC0 */ sll $t7, $v0, 0x1b +/* 00410CD0 000F4EC2 */ srl $t1, $t7, 0x1b +/* 00410CD4 02297026 */ xor $t6, $s1, $t1 +/* 00410CD8 31D8001F */ andi $t8, $t6, 0x1f +/* 00410CDC 03026026 */ xor $t4, $t8, $v0 +/* 00410CE0 14A1004A */ bne $a1, $at, .L00410E0C +/* 00410CE4 A24C0021 */ sb $t4, 0x21($s2) +/* 00410CE8 8E420004 */ lw $v0, 4($s2) +/* 00410CEC 24010049 */ li $at, 73 +/* 00410CF0 8FAA01E0 */ lw $t2, 0x1e0($sp) +/* 00410CF4 904D0020 */ lbu $t5, 0x20($v0) +/* 00410CF8 8FAB01E4 */ lw $t3, 0x1e4($sp) +/* 00410CFC 8FAE01D8 */ lw $t6, 0x1d8($sp) +/* 00410D00 15A10011 */ bne $t5, $at, .L00410D48 +/* 00410D04 8FAF01DC */ lw $t7, 0x1dc($sp) +/* 00410D08 8C430030 */ lw $v1, 0x30($v0) +/* 00410D0C 016F082B */ sltu $at, $t3, $t7 +/* 00410D10 014EC023 */ subu $t8, $t2, $t6 +/* 00410D14 0301C023 */ subu $t8, $t8, $at +/* 00410D18 000367C3 */ sra $t4, $v1, 0x1f +/* 00410D1C 030C082A */ slt $at, $t8, $t4 +/* 00410D20 016FC823 */ subu $t9, $t3, $t7 +/* 00410D24 14200008 */ bnez $at, .L00410D48 +/* 00410D28 00606825 */ move $t5, $v1 +/* 00410D2C 0198082A */ slt $at, $t4, $t8 +/* 00410D30 14200003 */ bnez $at, .L00410D40 +/* 00410D34 032D082B */ sltu $at, $t9, $t5 +/* 00410D38 54200004 */ bnel $at, $zero, .L00410D4C +/* 00410D3C 8E420000 */ lw $v0, ($s2) +.L00410D40: +/* 00410D40 1C600019 */ bgtz $v1, .L00410DA8 +/* 00410D44 00000000 */ nop +.L00410D48: +/* 00410D48 8E420000 */ lw $v0, ($s2) +.L00410D4C: +/* 00410D4C 24010049 */ li $at, 73 +/* 00410D50 8FAA01E0 */ lw $t2, 0x1e0($sp) +/* 00410D54 90490020 */ lbu $t1, 0x20($v0) +/* 00410D58 8FAB01E4 */ lw $t3, 0x1e4($sp) +/* 00410D5C 8FAE01D8 */ lw $t6, 0x1d8($sp) +/* 00410D60 1521002A */ bne $t1, $at, .L00410E0C +/* 00410D64 8FAF01DC */ lw $t7, 0x1dc($sp) +/* 00410D68 8C430030 */ lw $v1, 0x30($v0) +/* 00410D6C 016F082B */ sltu $at, $t3, $t7 +/* 00410D70 014EC023 */ subu $t8, $t2, $t6 +/* 00410D74 0301C023 */ subu $t8, $t8, $at +/* 00410D78 000367C3 */ sra $t4, $v1, 0x1f +/* 00410D7C 030C082A */ slt $at, $t8, $t4 +/* 00410D80 016FC823 */ subu $t9, $t3, $t7 +/* 00410D84 14200021 */ bnez $at, .L00410E0C +/* 00410D88 00606825 */ move $t5, $v1 +/* 00410D8C 0198082A */ slt $at, $t4, $t8 +/* 00410D90 14200003 */ bnez $at, .L00410DA0 +/* 00410D94 032D082B */ sltu $at, $t9, $t5 +/* 00410D98 5420001D */ bnel $at, $zero, .L00410E10 +/* 00410D9C 8FA901F4 */ lw $t1, 0x1f4($sp) +.L00410DA0: +/* 00410DA0 5860001B */ blezl $v1, .L00410E10 +/* 00410DA4 8FA901F4 */ lw $t1, 0x1f4($sp) +.L00410DA8: +/* 00410DA8 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00410DAC 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00410DB0 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00410DB4 0320F809 */ jalr $t9 +/* 00410DB8 00000000 */ nop +/* 00410DBC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410DC0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00410DC4 02402825 */ move $a1, $s2 +/* 00410DC8 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 00410DCC 00403025 */ move $a2, $v0 +/* 00410DD0 0320F809 */ jalr $t9 +/* 00410DD4 00000000 */ nop +/* 00410DD8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410DDC 00402025 */ move $a0, $v0 +/* 00410DE0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00410DE4 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00410DE8 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00410DEC 0320F809 */ jalr $t9 +/* 00410DF0 00000000 */ nop +/* 00410DF4 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00410DF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00410DFC 30E2FFFF */ andi $v0, $a3, 0xffff +/* 00410E00 004002B6 */ tne $v0, $zero, 0xa +/* 00410E04 1000F9E9 */ b .L0040F5AC +/* 00410E08 A7A21648 */ sh $v0, 0x1648($sp) +.L00410E0C: +/* 00410E0C 8FA901F4 */ lw $t1, 0x1f4($sp) +.L00410E10: +/* 00410E10 2401007B */ li $at, 123 +/* 00410E14 912A0020 */ lbu $t2, 0x20($t1) +/* 00410E18 15410098 */ bne $t2, $at, .L0041107C +/* 00410E1C 00000000 */ nop +/* 00410E20 8D240000 */ lw $a0, ($t1) +/* 00410E24 24010004 */ li $at, 4 +/* 00410E28 908B0020 */ lbu $t3, 0x20($a0) +/* 00410E2C 15610093 */ bne $t3, $at, .L0041107C +/* 00410E30 00000000 */ nop +/* 00410E34 8C820000 */ lw $v0, ($a0) +/* 00410E38 24010049 */ li $at, 73 +/* 00410E3C 8FB801E0 */ lw $t8, 0x1e0($sp) +/* 00410E40 904E0020 */ lbu $t6, 0x20($v0) +/* 00410E44 8FB901E4 */ lw $t9, 0x1e4($sp) +/* 00410E48 8FAC01D8 */ lw $t4, 0x1d8($sp) +/* 00410E4C 15C10011 */ bne $t6, $at, .L00410E94 +/* 00410E50 8FAD01DC */ lw $t5, 0x1dc($sp) +/* 00410E54 8C430030 */ lw $v1, 0x30($v0) +/* 00410E58 032D082B */ sltu $at, $t9, $t5 +/* 00410E5C 030C5023 */ subu $t2, $t8, $t4 +/* 00410E60 01415023 */ subu $t2, $t2, $at +/* 00410E64 000377C3 */ sra $t6, $v1, 0x1f +/* 00410E68 014E082A */ slt $at, $t2, $t6 +/* 00410E6C 032D5823 */ subu $t3, $t9, $t5 +/* 00410E70 14200008 */ bnez $at, .L00410E94 +/* 00410E74 00607825 */ move $t7, $v1 +/* 00410E78 01CA082A */ slt $at, $t6, $t2 +/* 00410E7C 14200003 */ bnez $at, .L00410E8C +/* 00410E80 016F082B */ sltu $at, $t3, $t7 +/* 00410E84 54200004 */ bnel $at, $zero, .L00410E98 +/* 00410E88 8C820004 */ lw $v0, 4($a0) +.L00410E8C: +/* 00410E8C 5C600019 */ bgtzl $v1, .L00410EF4 +/* 00410E90 24010052 */ li $at, 82 +.L00410E94: +/* 00410E94 8C820004 */ lw $v0, 4($a0) +.L00410E98: +/* 00410E98 24010049 */ li $at, 73 +/* 00410E9C 8FB801E0 */ lw $t8, 0x1e0($sp) +/* 00410EA0 90490020 */ lbu $t1, 0x20($v0) +/* 00410EA4 8FB901E4 */ lw $t9, 0x1e4($sp) +/* 00410EA8 8FAC01D8 */ lw $t4, 0x1d8($sp) +/* 00410EAC 15210073 */ bne $t1, $at, .L0041107C +/* 00410EB0 8FAD01DC */ lw $t5, 0x1dc($sp) +/* 00410EB4 8C430030 */ lw $v1, 0x30($v0) +/* 00410EB8 032D082B */ sltu $at, $t9, $t5 +/* 00410EBC 030C5023 */ subu $t2, $t8, $t4 +/* 00410EC0 01415023 */ subu $t2, $t2, $at +/* 00410EC4 000377C3 */ sra $t6, $v1, 0x1f +/* 00410EC8 014E082A */ slt $at, $t2, $t6 +/* 00410ECC 032D5823 */ subu $t3, $t9, $t5 +/* 00410ED0 1420006A */ bnez $at, .L0041107C +/* 00410ED4 00607825 */ move $t7, $v1 +/* 00410ED8 01CA082A */ slt $at, $t6, $t2 +/* 00410EDC 14200003 */ bnez $at, .L00410EEC +/* 00410EE0 016F082B */ sltu $at, $t3, $t7 +/* 00410EE4 14200065 */ bnez $at, .L0041107C +/* 00410EE8 00000000 */ nop +.L00410EEC: +/* 00410EEC 18600063 */ blez $v1, .L0041107C +/* 00410EF0 24010052 */ li $at, 82 +.L00410EF4: +/* 00410EF4 14A10003 */ bne $a1, $at, .L00410F04 +/* 00410EF8 8FA901F4 */ lw $t1, 0x1f4($sp) +/* 00410EFC 10000002 */ b .L00410F08 +/* 00410F00 02409825 */ move $s3, $s2 +.L00410F04: +/* 00410F04 8E530000 */ lw $s3, ($s2) +.L00410F08: +/* 00410F08 91380021 */ lbu $t8, 0x21($t1) +/* 00410F0C 926D0021 */ lbu $t5, 0x21($s3) +/* 00410F10 24010001 */ li $at, 1 +/* 00410F14 0018CE00 */ sll $t9, $t8, 0x18 +/* 00410F18 000D5600 */ sll $t2, $t5, 0x18 +/* 00410F1C 000A5F42 */ srl $t3, $t2, 0x1d +/* 00410F20 00196742 */ srl $t4, $t9, 0x1d +/* 00410F24 158B0055 */ bne $t4, $t3, .L0041107C +/* 00410F28 00000000 */ nop +/* 00410F2C 14A1000B */ bne $a1, $at, .L00410F5C +/* 00410F30 8FA901F4 */ lw $t1, 0x1f4($sp) +/* 00410F34 8E420004 */ lw $v0, 4($s2) +/* 00410F38 50400009 */ beql $v0, $zero, .L00410F60 +/* 00410F3C 8D380024 */ lw $t8, 0x24($t1) +/* 00410F40 904E0020 */ lbu $t6, 0x20($v0) +/* 00410F44 24010049 */ li $at, 73 +/* 00410F48 55C10005 */ bnel $t6, $at, .L00410F60 +/* 00410F4C 8D380024 */ lw $t8, 0x24($t1) +/* 00410F50 8C4F0030 */ lw $t7, 0x30($v0) +/* 00410F54 05E00049 */ bltz $t7, .L0041107C +/* 00410F58 00000000 */ nop +.L00410F5C: +/* 00410F5C 8D380024 */ lw $t8, 0x24($t1) +.L00410F60: +/* 00410F60 8E790024 */ lw $t9, 0x24($s3) +/* 00410F64 17190045 */ bne $t8, $t9, .L0041107C +/* 00410F68 00000000 */ nop +/* 00410F6C 8F82898C */ lw $v0, %got(lsb_first)($gp) +/* 00410F70 90420000 */ lbu $v0, ($v0) +/* 00410F74 10400009 */ beqz $v0, .L00410F9C +/* 00410F78 00000000 */ nop +/* 00410F7C 8D2A0030 */ lw $t2, 0x30($t1) +/* 00410F80 8E6C0030 */ lw $t4, 0x30($s3) +/* 00410F84 8D2B0034 */ lw $t3, 0x34($t1) +/* 00410F88 8E6D0034 */ lw $t5, 0x34($s3) +/* 00410F8C 154C0003 */ bne $t2, $t4, .L00410F9C +/* 00410F90 00000000 */ nop +/* 00410F94 516D0018 */ beql $t3, $t5, .L00410FF8 +/* 00410F98 8FA901F4 */ lw $t1, 0x1f4($sp) +.L00410F9C: +/* 00410F9C 14400037 */ bnez $v0, .L0041107C +/* 00410FA0 8FAE01F4 */ lw $t6, 0x1f4($sp) +/* 00410FA4 8DD90034 */ lw $t9, 0x34($t6) +/* 00410FA8 8DCB003C */ lw $t3, 0x3c($t6) +/* 00410FAC 8DD80030 */ lw $t8, 0x30($t6) +/* 00410FB0 8DCA0038 */ lw $t2, 0x38($t6) +/* 00410FB4 032B6821 */ addu $t5, $t9, $t3 +/* 00410FB8 8E79003C */ lw $t9, 0x3c($s3) +/* 00410FBC 8E6F0034 */ lw $t7, 0x34($s3) +/* 00410FC0 01AB082B */ sltu $at, $t5, $t3 +/* 00410FC4 00386021 */ addu $t4, $at, $t8 +/* 00410FC8 8E6E0030 */ lw $t6, 0x30($s3) +/* 00410FCC 8E780038 */ lw $t8, 0x38($s3) +/* 00410FD0 01F95821 */ addu $t3, $t7, $t9 +/* 00410FD4 018A6021 */ addu $t4, $t4, $t2 +/* 00410FD8 0179082B */ sltu $at, $t3, $t9 +/* 00410FDC 002E5021 */ addu $t2, $at, $t6 +/* 00410FE0 01585021 */ addu $t2, $t2, $t8 +/* 00410FE4 158A0025 */ bne $t4, $t2, .L0041107C +/* 00410FE8 00000000 */ nop +/* 00410FEC 15AB0023 */ bne $t5, $t3, .L0041107C +/* 00410FF0 00000000 */ nop +/* 00410FF4 8FA901F4 */ lw $t1, 0x1f4($sp) +.L00410FF8: +/* 00410FF8 8E6E0038 */ lw $t6, 0x38($s3) +/* 00410FFC 8E6F003C */ lw $t7, 0x3c($s3) +/* 00411000 8D380038 */ lw $t8, 0x38($t1) +/* 00411004 8D39003C */ lw $t9, 0x3c($t1) +/* 00411008 15D8001C */ bne $t6, $t8, .L0041107C +/* 0041100C 00000000 */ nop +/* 00411010 15F9001A */ bne $t7, $t9, .L0041107C +/* 00411014 00000000 */ nop +/* 00411018 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 0041101C 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00411020 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00411024 0320F809 */ jalr $t9 +/* 00411028 00000000 */ nop +/* 0041102C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411030 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411034 02402825 */ move $a1, $s2 +/* 00411038 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 0041103C 00403025 */ move $a2, $v0 +/* 00411040 0320F809 */ jalr $t9 +/* 00411044 00000000 */ nop +/* 00411048 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041104C 00402025 */ move $a0, $v0 +/* 00411050 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411054 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411058 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0041105C 0320F809 */ jalr $t9 +/* 00411060 00000000 */ nop +/* 00411064 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00411068 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041106C 30E2FFFF */ andi $v0, $a3, 0xffff +/* 00411070 004002B6 */ tne $v0, $zero, 0xa +/* 00411074 1000F94D */ b .L0040F5AC +/* 00411078 A7A21648 */ sh $v0, 0x1648($sp) +.L0041107C: +/* 0041107C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00411080 02402025 */ move $a0, $s2 +/* 00411084 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00411088 0320F809 */ jalr $t9 +/* 0041108C 00000000 */ nop +/* 00411090 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411094 8FAD01E4 */ lw $t5, 0x1e4($sp) +/* 00411098 8FAB01DC */ lw $t3, 0x1dc($sp) +/* 0041109C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004110A0 00408025 */ move $s0, $v0 +/* 004110A4 01AB7823 */ subu $t7, $t5, $t3 +/* 004110A8 25E60001 */ addiu $a2, $t7, 1 +/* 004110AC 02202025 */ move $a0, $s1 +/* 004110B0 0320F809 */ jalr $t9 +/* 004110B4 00002825 */ move $a1, $zero +/* 004110B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004110BC 2404004E */ li $a0, 78 +/* 004110C0 02002825 */ move $a1, $s0 +/* 004110C4 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004110C8 00403025 */ move $a2, $v0 +/* 004110CC 0320F809 */ jalr $t9 +/* 004110D0 00000000 */ nop +/* 004110D4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004110D8 00408025 */ move $s0, $v0 +/* 004110DC 8FA401D0 */ lw $a0, 0x1d0($sp) +/* 004110E0 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 004110E4 0320F809 */ jalr $t9 +/* 004110E8 00000000 */ nop +/* 004110EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004110F0 24040026 */ li $a0, 38 +/* 004110F4 02002825 */ move $a1, $s0 +/* 004110F8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004110FC 00403025 */ move $a2, $v0 +/* 00411100 0320F809 */ jalr $t9 +/* 00411104 00000000 */ nop +/* 00411108 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041110C A4400022 */ sh $zero, 0x22($v0) +/* 00411110 00402025 */ move $a0, $v0 +/* 00411114 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411118 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041111C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411120 0320F809 */ jalr $t9 +/* 00411124 00000000 */ nop +/* 00411128 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041112C 8FA401CC */ lw $a0, 0x1cc($sp) +/* 00411130 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00411134 0320F809 */ jalr $t9 +/* 00411138 00000000 */ nop +/* 0041113C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411140 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411144 02402825 */ move $a1, $s2 +/* 00411148 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 0041114C 00403025 */ move $a2, $v0 +/* 00411150 0320F809 */ jalr $t9 +/* 00411154 00000000 */ nop +/* 00411158 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041115C 00402025 */ move $a0, $v0 +/* 00411160 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411164 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411168 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 0041116C 0320F809 */ jalr $t9 +/* 00411170 00000000 */ nop +/* 00411174 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411178 8FA700F4 */ lw $a3, 0xf4($sp) +.L0041117C: +/* 0041117C 30E2FFFF */ andi $v0, $a3, 0xffff +/* 00411180 004002B6 */ tne $v0, $zero, 0xa +/* 00411184 1000F909 */ b .L0040F5AC +/* 00411188 A7A21648 */ sh $v0, 0x1648($sp) +.L0041118C: +/* 0041118C 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00411190 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411194 0320F809 */ jalr $t9 +/* 00411198 00000000 */ nop +/* 0041119C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004111A0 00402025 */ move $a0, $v0 +/* 004111A4 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004111A8 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004111AC 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004111B0 0320F809 */ jalr $t9 +/* 004111B4 00000000 */ nop +/* 004111B8 1000F8FC */ b .L0040F5AC +/* 004111BC 8FBC00CC */ lw $gp, 0xcc($sp) +.L004111C0: +/* 004111C0 8F898A7C */ lw $t1, %got(first_pmt_offset)($gp) +/* 004111C4 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 004111C8 8FAA01D0 */ lw $t2, 0x1d0($sp) +/* 004111CC 8D290000 */ lw $t1, ($t1) +/* 004111D0 8FAE01EC */ lw $t6, 0x1ec($sp) +/* 004111D4 01096023 */ subu $t4, $t0, $t1 +/* 004111D8 05810002 */ bgez $t4, .L004111E4 +/* 004111DC 01806825 */ move $t5, $t4 +/* 004111E0 000C6823 */ negu $t5, $t4 +.L004111E4: +/* 004111E4 01AA5821 */ addu $t3, $t5, $t2 +/* 004111E8 01CB082A */ slt $at, $t6, $t3 +/* 004111EC 50200003 */ beql $at, $zero, .L004111FC +/* 004111F0 97B81648 */ lhu $t8, 0x1648($sp) +/* 004111F4 01607025 */ move $t6, $t3 +/* 004111F8 97B81648 */ lhu $t8, 0x1648($sp) +.L004111FC: +/* 004111FC 240F0001 */ li $t7, 1 +/* 00411200 AFAE01EC */ sw $t6, 0x1ec($sp) +/* 00411204 17000054 */ bnez $t8, .L00411358 +/* 00411208 A3AF015F */ sb $t7, 0x15f($sp) +/* 0041120C 8F9989A4 */ lw $t9, %got(source_language)($gp) +/* 00411210 24010003 */ li $at, 3 +/* 00411214 24090002 */ li $t1, 2 +/* 00411218 8F390000 */ lw $t9, ($t9) +/* 0041121C 2406006E */ li $a2, 110 +/* 00411220 2407006E */ li $a3, 110 +/* 00411224 5721004D */ bnel $t9, $at, .L0041135C +/* 00411228 97A41648 */ lhu $a0, 0x1648($sp) +/* 0041122C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00411230 8F848950 */ lw $a0, %got(err)($gp) +/* 00411234 8F858038 */ lw $a1, %got(RO_10008F3A)($gp) +/* 00411238 A7A91648 */ sh $t1, 0x1648($sp) +/* 0041123C 8C840000 */ lw $a0, ($a0) +/* 00411240 0320F809 */ jalr $t9 +/* 00411244 24A58F3A */ addiu $a1, %lo(RO_10008F3A) # addiu $a1, $a1, -0x70c6 +/* 00411248 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041124C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00411250 8F848950 */ lw $a0, %got(err)($gp) +/* 00411254 0320F809 */ jalr $t9 +/* 00411258 8C840000 */ lw $a0, ($a0) +/* 0041125C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411260 24040004 */ li $a0, 4 +/* 00411264 240506AC */ li $a1, 1708 +/* 00411268 8F8C8038 */ lw $t4, %got(RO_10008EEA)($gp) +/* 0041126C 03A05825 */ move $t3, $sp +/* 00411270 258C8EEA */ addiu $t4, %lo(RO_10008EEA) # addiu $t4, $t4, -0x7116 +/* 00411274 258E0048 */ addiu $t6, $t4, 0x48 +.L00411278: +/* 00411278 898A0000 */ lwl $t2, ($t4) +/* 0041127C 998A0003 */ lwr $t2, 3($t4) +/* 00411280 258C000C */ addiu $t4, $t4, 0xc +/* 00411284 256B000C */ addiu $t3, $t3, 0xc +/* 00411288 A96AFFFC */ swl $t2, -4($t3) +/* 0041128C B96AFFFF */ swr $t2, -1($t3) +/* 00411290 898DFFF8 */ lwl $t5, -8($t4) +/* 00411294 998DFFFB */ lwr $t5, -5($t4) +/* 00411298 A96D0000 */ swl $t5, ($t3) +/* 0041129C B96D0003 */ swr $t5, 3($t3) +/* 004112A0 898AFFFC */ lwl $t2, -4($t4) +/* 004112A4 998AFFFF */ lwr $t2, -1($t4) +/* 004112A8 A96A0004 */ swl $t2, 4($t3) +/* 004112AC 158EFFF2 */ bne $t4, $t6, .L00411278 +/* 004112B0 B96A0007 */ swr $t2, 7($t3) +/* 004112B4 898A0000 */ lwl $t2, ($t4) +/* 004112B8 998A0003 */ lwr $t2, 3($t4) +/* 004112BC 8F8F8038 */ lw $t7, %got(RO_10008E9A)($gp) +/* 004112C0 03A04825 */ move $t1, $sp +/* 004112C4 A96A0008 */ swl $t2, 8($t3) +/* 004112C8 B96A000B */ swr $t2, 0xb($t3) +/* 004112CC 898D0004 */ lwl $t5, 4($t4) +/* 004112D0 998D0007 */ lwr $t5, 7($t4) +/* 004112D4 25EF8E9A */ addiu $t7, %lo(RO_10008E9A) # addiu $t7, $t7, -0x7166 +/* 004112D8 25EE0048 */ addiu $t6, $t7, 0x48 +/* 004112DC A96D000C */ swl $t5, 0xc($t3) +/* 004112E0 B96D000F */ swr $t5, 0xf($t3) +.L004112E4: +/* 004112E4 89F90000 */ lwl $t9, ($t7) +/* 004112E8 99F90003 */ lwr $t9, 3($t7) +/* 004112EC 25EF000C */ addiu $t7, $t7, 0xc +/* 004112F0 2529000C */ addiu $t1, $t1, 0xc +/* 004112F4 A939004C */ swl $t9, 0x4c($t1) +/* 004112F8 B939004F */ swr $t9, 0x4f($t1) +/* 004112FC 89F8FFF8 */ lwl $t8, -8($t7) +/* 00411300 99F8FFFB */ lwr $t8, -5($t7) +/* 00411304 A9380050 */ swl $t8, 0x50($t1) +/* 00411308 B9380053 */ swr $t8, 0x53($t1) +/* 0041130C 89F9FFFC */ lwl $t9, -4($t7) +/* 00411310 99F9FFFF */ lwr $t9, -1($t7) +/* 00411314 A9390054 */ swl $t9, 0x54($t1) +/* 00411318 15EEFFF2 */ bne $t7, $t6, .L004112E4 +/* 0041131C B9390057 */ swr $t9, 0x57($t1) +/* 00411320 89F90000 */ lwl $t9, ($t7) +/* 00411324 99F90003 */ lwr $t9, 3($t7) +/* 00411328 A9390058 */ swl $t9, 0x58($t1) +/* 0041132C B939005B */ swr $t9, 0x5b($t1) +/* 00411330 89F80004 */ lwl $t8, 4($t7) +/* 00411334 99F80007 */ lwr $t8, 7($t7) +/* 00411338 A938005C */ swl $t8, 0x5c($t1) +/* 0041133C B938005F */ swr $t8, 0x5f($t1) +/* 00411340 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00411344 8FA7000C */ lw $a3, 0xc($sp) +/* 00411348 8FA60008 */ lw $a2, 8($sp) +/* 0041134C 0320F809 */ jalr $t9 +/* 00411350 00000000 */ nop +/* 00411354 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411358: +/* 00411358 97A41648 */ lhu $a0, 0x1648($sp) +.L0041135C: +/* 0041135C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411360 27AD1004 */ addiu $t5, $sp, 0x1004 +/* 00411364 00045880 */ sll $t3, $a0, 2 +/* 00411368 2487FFFF */ addiu $a3, $a0, -1 +/* 0041136C 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411370 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00411374 016DB821 */ addu $s7, $t3, $t5 +/* 00411378 0320F809 */ jalr $t9 +/* 0041137C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411380 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411384 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411388 8EE50000 */ lw $a1, ($s7) +/* 0041138C 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00411390 0320F809 */ jalr $t9 +/* 00411394 00000000 */ nop +/* 00411398 8FA700F4 */ lw $a3, 0xf4($sp) +/* 0041139C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004113A0 30E3FFFF */ andi $v1, $a3, 0xffff +/* 004113A4 006002B6 */ tne $v1, $zero, 0xa +/* 004113A8 8F998018 */ lw $t9, %got(func_0040E24C)($gp) +/* 004113AC 00402025 */ move $a0, $v0 +/* 004113B0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004113B4 2739E24C */ addiu $t9, %lo(func_0040E24C) # addiu $t9, $t9, -0x1db4 +/* 004113B8 0320F809 */ jalr $t9 +/* 004113BC A7A31648 */ sh $v1, 0x1648($sp) +/* 004113C0 1000F87A */ b .L0040F5AC +/* 004113C4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004113C8: +/* 004113C8 8F8A8A7C */ lw $t2, %got(first_pmt_offset)($gp) +/* 004113CC 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 004113D0 8FA901D0 */ lw $t1, 0x1d0($sp) +/* 004113D4 8D4A0000 */ lw $t2, ($t2) +/* 004113D8 8FB901EC */ lw $t9, 0x1ec($sp) +/* 004113DC 010A7023 */ subu $t6, $t0, $t2 +/* 004113E0 05C10002 */ bgez $t6, .L004113EC +/* 004113E4 01C07825 */ move $t7, $t6 +/* 004113E8 000E7823 */ negu $t7, $t6 +.L004113EC: +/* 004113EC 01E9C021 */ addu $t8, $t7, $t1 +/* 004113F0 0338082A */ slt $at, $t9, $t8 +/* 004113F4 50200003 */ beql $at, $zero, .L00411404 +/* 004113F8 97AB1648 */ lhu $t3, 0x1648($sp) +/* 004113FC 0300C825 */ move $t9, $t8 +/* 00411400 97AB1648 */ lhu $t3, 0x1648($sp) +.L00411404: +/* 00411404 AFB901EC */ sw $t9, 0x1ec($sp) +/* 00411408 97AD01CA */ lhu $t5, 0x1ca($sp) +/* 0041140C 016002B6 */ tne $t3, $zero, 0xa +/* 00411410 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00411414 000D6080 */ sll $t4, $t5, 2 +/* 00411418 AFAC01D8 */ sw $t4, 0x1d8($sp) +/* 0041141C 0320F809 */ jalr $t9 +/* 00411420 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411424 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411428 00402025 */ move $a0, $v0 +/* 0041142C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411430 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411434 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411438 0320F809 */ jalr $t9 +/* 0041143C 00000000 */ nop +/* 00411440 1000F85A */ b .L0040F5AC +/* 00411444 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411448: +/* 00411448 97AA1648 */ lhu $t2, 0x1648($sp) +/* 0041144C 014002B6 */ tne $t2, $zero, 0xa +/* 00411450 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00411454 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411458 0320F809 */ jalr $t9 +/* 0041145C 00000000 */ nop +/* 00411460 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00411464 8FAE01F0 */ lw $t6, 0x1f0($sp) +/* 00411468 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041146C 31090002 */ andi $t1, $t0, 2 +/* 00411470 25CF0001 */ addiu $t7, $t6, 1 +/* 00411474 00409825 */ move $s3, $v0 +/* 00411478 15200003 */ bnez $t1, .L00411488 +/* 0041147C AFAF01F0 */ sw $t7, 0x1f0($sp) +/* 00411480 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 00411484 A0200000 */ sb $zero, ($at) +.L00411488: +/* 00411488 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0041148C 02602025 */ move $a0, $s3 +/* 00411490 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411494 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411498 0320F809 */ jalr $t9 +/* 0041149C 00000000 */ nop +/* 004114A0 1000F842 */ b .L0040F5AC +/* 004114A4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004114A8: +/* 004114A8 97A41648 */ lhu $a0, 0x1648($sp) +/* 004114AC 27AB1004 */ addiu $t3, $sp, 0x1004 +/* 004114B0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004114B4 0004C880 */ sll $t9, $a0, 2 +/* 004114B8 032BB821 */ addu $s7, $t9, $t3 +/* 004114BC 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004114C0 2487FFFF */ addiu $a3, $a0, -1 +/* 004114C4 AFA700F4 */ sw $a3, 0xf4($sp) +/* 004114C8 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004114CC 0320F809 */ jalr $t9 +/* 004114D0 00000000 */ nop +/* 004114D4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004114D8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004114DC 8EE50000 */ lw $a1, ($s7) +/* 004114E0 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 004114E4 0320F809 */ jalr $t9 +/* 004114E8 00000000 */ nop +/* 004114EC 8FA700F4 */ lw $a3, 0xf4($sp) +/* 004114F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004114F4 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 004114F8 30E3FFFF */ andi $v1, $a3, 0xffff +/* 004114FC 00409825 */ move $s3, $v0 +/* 00411500 006002B6 */ tne $v1, $zero, 0xa +/* 00411504 310D0080 */ andi $t5, $t0, 0x80 +/* 00411508 15A00006 */ bnez $t5, .L00411524 +/* 0041150C A7A31648 */ sh $v1, 0x1648($sp) +/* 00411510 8FAC01F0 */ lw $t4, 0x1f0($sp) +/* 00411514 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 00411518 258A0001 */ addiu $t2, $t4, 1 +/* 0041151C AFAA01F0 */ sw $t2, 0x1f0($sp) +/* 00411520 A0200000 */ sb $zero, ($at) +.L00411524: +/* 00411524 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411528 02602025 */ move $a0, $s3 +/* 0041152C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411530 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411534 0320F809 */ jalr $t9 +/* 00411538 00000000 */ nop +/* 0041153C 1000F81B */ b .L0040F5AC +/* 00411540 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411544: +/* 00411544 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411548 27A91004 */ addiu $t1, $sp, 0x1004 +/* 0041154C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411550 00047880 */ sll $t7, $a0, 2 +/* 00411554 01E9C821 */ addu $t9, $t7, $t1 +/* 00411558 0320B825 */ move $s7, $t9 +/* 0041155C 2736FFFC */ addiu $s6, $t9, -4 +/* 00411560 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411564 2487FFFF */ addiu $a3, $a0, -1 +/* 00411568 AFA700F4 */ sw $a3, 0xf4($sp) +/* 0041156C 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411570 0320F809 */ jalr $t9 +/* 00411574 00000000 */ nop +/* 00411578 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041157C 8FA400F4 */ lw $a0, 0xf4($sp) +/* 00411580 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411584 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411588 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 0041158C 0320F809 */ jalr $t9 +/* 00411590 00000000 */ nop +/* 00411594 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411598 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0041159C 8EC50000 */ lw $a1, ($s6) +/* 004115A0 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 004115A4 8EE60000 */ lw $a2, ($s7) +/* 004115A8 0320F809 */ jalr $t9 +/* 004115AC 00000000 */ nop +/* 004115B0 97AB1648 */ lhu $t3, 0x1648($sp) +/* 004115B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004115B8 2578FFFE */ addiu $t8, $t3, -2 +/* 004115BC 330DFFFF */ andi $t5, $t8, 0xffff +/* 004115C0 A7B81648 */ sh $t8, 0x1648($sp) +/* 004115C4 01A002B6 */ tne $t5, $zero, 0xa +/* 004115C8 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004115CC 00402025 */ move $a0, $v0 +/* 004115D0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004115D4 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004115D8 0320F809 */ jalr $t9 +/* 004115DC 00000000 */ nop +/* 004115E0 1000F7F2 */ b .L0040F5AC +/* 004115E4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004115E8: +/* 004115E8 97AC1648 */ lhu $t4, 0x1648($sp) +/* 004115EC 93A901C8 */ lbu $t1, 0x1c8($sp) +/* 004115F0 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 004115F4 2401007B */ li $at, 123 +/* 004115F8 000C5080 */ sll $t2, $t4, 2 +/* 004115FC 014FB821 */ addu $s7, $t2, $t7 +/* 00411600 15210002 */ bne $t1, $at, .L0041160C +/* 00411604 2587FFFF */ addiu $a3, $t4, -1 +/* 00411608 AFA001D8 */ sw $zero, 0x1d8($sp) +.L0041160C: +/* 0041160C 93AE01C8 */ lbu $t6, 0x1c8($sp) +/* 00411610 93B901C9 */ lbu $t9, 0x1c9($sp) +/* 00411614 2401007B */ li $at, 123 +/* 00411618 15C10007 */ bne $t6, $at, .L00411638 +/* 0041161C 00195E00 */ sll $t3, $t9, 0x18 +/* 00411620 000BC742 */ srl $t8, $t3, 0x1d +/* 00411624 24010003 */ li $at, 3 +/* 00411628 17010003 */ bne $t8, $at, .L00411638 +/* 0041162C 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00411630 00084080 */ sll $t0, $t0, 2 +/* 00411634 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00411638: +/* 00411638 93AD01C8 */ lbu $t5, 0x1c8($sp) +/* 0041163C 2401007B */ li $at, 123 +/* 00411640 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00411644 55A1001B */ bnel $t5, $at, .L004116B4 +/* 00411648 93AF01C8 */ lbu $t7, 0x1c8($sp) +/* 0041164C 93AA01C9 */ lbu $t2, 0x1c9($sp) +/* 00411650 24010002 */ li $at, 2 +/* 00411654 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411658 000A7E00 */ sll $t7, $t2, 0x18 +/* 0041165C 000F6742 */ srl $t4, $t7, 0x1d +/* 00411660 55810014 */ bnel $t4, $at, .L004116B4 +/* 00411664 93AF01C8 */ lbu $t7, 0x1c8($sp) +/* 00411668 8FA901CC */ lw $t1, 0x1cc($sp) +/* 0041166C AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411670 8FB801D0 */ lw $t8, 0x1d0($sp) +/* 00411674 1520000E */ bnez $t1, .L004116B0 +/* 00411678 8FAA01EC */ lw $t2, 0x1ec($sp) +/* 0041167C 8F8E8A7C */ lw $t6, %got(first_pmt_offset)($gp) +/* 00411680 8DCE0000 */ lw $t6, ($t6) +/* 00411684 010EC823 */ subu $t9, $t0, $t6 +/* 00411688 07210002 */ bgez $t9, .L00411694 +/* 0041168C 03205825 */ move $t3, $t9 +/* 00411690 00195823 */ negu $t3, $t9 +.L00411694: +/* 00411694 01786821 */ addu $t5, $t3, $t8 +/* 00411698 014D082A */ slt $at, $t2, $t5 +/* 0041169C 50200003 */ beql $at, $zero, .L004116AC +/* 004116A0 AFAA01EC */ sw $t2, 0x1ec($sp) +/* 004116A4 01A05025 */ move $t2, $t5 +/* 004116A8 AFAA01EC */ sw $t2, 0x1ec($sp) +.L004116AC: +/* 004116AC AFA801D4 */ sw $t0, 0x1d4($sp) +.L004116B0: +/* 004116B0 93AF01C8 */ lbu $t7, 0x1c8($sp) +.L004116B4: +/* 004116B4 24010005 */ li $at, 5 +/* 004116B8 11E10003 */ beq $t7, $at, .L004116C8 +/* 004116BC 2401007C */ li $at, 124 +/* 004116C0 15E10004 */ bne $t7, $at, .L004116D4 +/* 004116C4 00000000 */ nop +.L004116C8: +/* 004116C8 8F8189A8 */ lw $at, %got(use_fp)($gp) +/* 004116CC 240C0001 */ li $t4, 1 +/* 004116D0 A02C0000 */ sb $t4, ($at) +.L004116D4: +/* 004116D4 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004116D8 97A41648 */ lhu $a0, 0x1648($sp) +/* 004116DC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004116E0 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004116E4 0320F809 */ jalr $t9 +/* 004116E8 AFA700F4 */ sw $a3, 0xf4($sp) +/* 004116EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004116F0 8EF00000 */ lw $s0, ($s7) +/* 004116F4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004116F8 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 004116FC 02002825 */ move $a1, $s0 +/* 00411700 0320F809 */ jalr $t9 +/* 00411704 00000000 */ nop +/* 00411708 93A901C8 */ lbu $t1, 0x1c8($sp) +/* 0041170C 2401007B */ li $at, 123 +/* 00411710 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411714 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00411718 15210021 */ bne $t1, $at, .L004117A0 +/* 0041171C 00409825 */ move $s3, $v0 +/* 00411720 920E0020 */ lbu $t6, 0x20($s0) +/* 00411724 24010052 */ li $at, 82 +/* 00411728 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 0041172C 55C1001D */ bnel $t6, $at, .L004117A4 +/* 00411730 93AC01C8 */ lbu $t4, 0x1c8($sp) +/* 00411734 8E19002C */ lw $t9, 0x2c($s0) +/* 00411738 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 0041173C 55190019 */ bnel $t0, $t9, .L004117A4 +/* 00411740 93AC01C8 */ lbu $t4, 0x1c8($sp) +/* 00411744 92020021 */ lbu $v0, 0x21($s0) +/* 00411748 330D001F */ andi $t5, $t8, 0x1f +/* 0041174C 00186600 */ sll $t4, $t8, 0x18 +/* 00411750 304B001F */ andi $t3, $v0, 0x1f +/* 00411754 156D0012 */ bne $t3, $t5, .L004117A0 +/* 00411758 00025600 */ sll $t2, $v0, 0x18 +/* 0041175C 000A7F42 */ srl $t7, $t2, 0x1d +/* 00411760 000C4F42 */ srl $t1, $t4, 0x1d +/* 00411764 15E9000E */ bne $t7, $t1, .L004117A0 +/* 00411768 8FAE01CC */ lw $t6, 0x1cc($sp) +/* 0041176C 8E190024 */ lw $t9, 0x24($s0) +/* 00411770 8FAB01D0 */ lw $t3, 0x1d0($sp) +/* 00411774 55D9000B */ bnel $t6, $t9, .L004117A4 +/* 00411778 93AC01C8 */ lbu $t4, 0x1c8($sp) +/* 0041177C 8E0D0028 */ lw $t5, 0x28($s0) +/* 00411780 97AA01CA */ lhu $t2, 0x1ca($sp) +/* 00411784 156D0006 */ bne $t3, $t5, .L004117A0 +/* 00411788 31580001 */ andi $t8, $t2, 1 +/* 0041178C 17000004 */ bnez $t8, .L004117A0 +/* 00411790 30E2FFFF */ andi $v0, $a3, 0xffff +/* 00411794 004002B6 */ tne $v0, $zero, 0xa +/* 00411798 1000F784 */ b .L0040F5AC +/* 0041179C A7A21648 */ sh $v0, 0x1648($sp) +.L004117A0: +/* 004117A0 93AC01C8 */ lbu $t4, 0x1c8($sp) +.L004117A4: +/* 004117A4 A7A71648 */ sh $a3, 0x1648($sp) +/* 004117A8 24010005 */ li $at, 5 +/* 004117AC 15810054 */ bne $t4, $at, .L00411900 +/* 004117B0 97AF1648 */ lhu $t7, 0x1648($sp) +/* 004117B4 11E00052 */ beqz $t7, .L00411900 +/* 004117B8 24060086 */ li $a2, 134 +/* 004117BC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004117C0 8F848950 */ lw $a0, %got(err)($gp) +/* 004117C4 8F858038 */ lw $a1, %got(RO_10008E14)($gp) +/* 004117C8 24070086 */ li $a3, 134 +/* 004117CC 8C840000 */ lw $a0, ($a0) +/* 004117D0 0320F809 */ jalr $t9 +/* 004117D4 24A58E14 */ addiu $a1, %lo(RO_10008E14) # addiu $a1, $a1, -0x71ec +/* 004117D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004117DC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004117E0 8F848950 */ lw $a0, %got(err)($gp) +/* 004117E4 0320F809 */ jalr $t9 +/* 004117E8 8C840000 */ lw $a0, ($a0) +/* 004117EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004117F0 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 004117F4 8F848950 */ lw $a0, %got(err)($gp) +/* 004117F8 0320F809 */ jalr $t9 +/* 004117FC 8C840000 */ lw $a0, ($a0) +/* 00411800 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411804 24040004 */ li $a0, 4 +/* 00411808 2405070F */ li $a1, 1807 +/* 0041180C 8F898038 */ lw $t1, %got(RO_10008DC4)($gp) +/* 00411810 03A05825 */ move $t3, $sp +/* 00411814 25298DC4 */ addiu $t1, %lo(RO_10008DC4) # addiu $t1, $t1, -0x723c +/* 00411818 252D0048 */ addiu $t5, $t1, 0x48 +.L0041181C: +/* 0041181C 89390000 */ lwl $t9, ($t1) +/* 00411820 99390003 */ lwr $t9, 3($t1) +/* 00411824 2529000C */ addiu $t1, $t1, 0xc +/* 00411828 256B000C */ addiu $t3, $t3, 0xc +/* 0041182C A979FFFC */ swl $t9, -4($t3) +/* 00411830 B979FFFF */ swr $t9, -1($t3) +/* 00411834 892EFFF8 */ lwl $t6, -8($t1) +/* 00411838 992EFFFB */ lwr $t6, -5($t1) +/* 0041183C A96E0000 */ swl $t6, ($t3) +/* 00411840 B96E0003 */ swr $t6, 3($t3) +/* 00411844 8939FFFC */ lwl $t9, -4($t1) +/* 00411848 9939FFFF */ lwr $t9, -1($t1) +/* 0041184C A9790004 */ swl $t9, 4($t3) +/* 00411850 152DFFF2 */ bne $t1, $t5, .L0041181C +/* 00411854 B9790007 */ swr $t9, 7($t3) +/* 00411858 89390000 */ lwl $t9, ($t1) +/* 0041185C 99390003 */ lwr $t9, 3($t1) +/* 00411860 8F8A8038 */ lw $t2, %got(RO_10008D74)($gp) +/* 00411864 03A07825 */ move $t7, $sp +/* 00411868 A9790008 */ swl $t9, 8($t3) +/* 0041186C B979000B */ swr $t9, 0xb($t3) +/* 00411870 892E0004 */ lwl $t6, 4($t1) +/* 00411874 992E0007 */ lwr $t6, 7($t1) +/* 00411878 254A8D74 */ addiu $t2, %lo(RO_10008D74) # addiu $t2, $t2, -0x728c +/* 0041187C 254D0048 */ addiu $t5, $t2, 0x48 +/* 00411880 A96E000C */ swl $t6, 0xc($t3) +/* 00411884 B96E000F */ swr $t6, 0xf($t3) +.L00411888: +/* 00411888 894C0000 */ lwl $t4, ($t2) +/* 0041188C 994C0003 */ lwr $t4, 3($t2) +/* 00411890 254A000C */ addiu $t2, $t2, 0xc +/* 00411894 25EF000C */ addiu $t7, $t7, 0xc +/* 00411898 A9EC004C */ swl $t4, 0x4c($t7) +/* 0041189C B9EC004F */ swr $t4, 0x4f($t7) +/* 004118A0 8958FFF8 */ lwl $t8, -8($t2) +/* 004118A4 9958FFFB */ lwr $t8, -5($t2) +/* 004118A8 A9F80050 */ swl $t8, 0x50($t7) +/* 004118AC B9F80053 */ swr $t8, 0x53($t7) +/* 004118B0 894CFFFC */ lwl $t4, -4($t2) +/* 004118B4 994CFFFF */ lwr $t4, -1($t2) +/* 004118B8 A9EC0054 */ swl $t4, 0x54($t7) +/* 004118BC 154DFFF2 */ bne $t2, $t5, .L00411888 +/* 004118C0 B9EC0057 */ swr $t4, 0x57($t7) +/* 004118C4 894C0000 */ lwl $t4, ($t2) +/* 004118C8 994C0003 */ lwr $t4, 3($t2) +/* 004118CC A9EC0058 */ swl $t4, 0x58($t7) +/* 004118D0 B9EC005B */ swr $t4, 0x5b($t7) +/* 004118D4 89580004 */ lwl $t8, 4($t2) +/* 004118D8 99580007 */ lwr $t8, 7($t2) +/* 004118DC A9F8005C */ swl $t8, 0x5c($t7) +/* 004118E0 B9F8005F */ swr $t8, 0x5f($t7) +/* 004118E4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004118E8 8FA7000C */ lw $a3, 0xc($sp) +/* 004118EC 8FA60008 */ lw $a2, 8($sp) +/* 004118F0 0320F809 */ jalr $t9 +/* 004118F4 00000000 */ nop +/* 004118F8 10000003 */ b .L00411908 +/* 004118FC 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411900: +/* 00411900 97A91648 */ lhu $t1, 0x1648($sp) +/* 00411904 012002B6 */ tne $t1, $zero, 0xa +.L00411908: +/* 00411908 8F998018 */ lw $t9, %got(func_0040E24C)($gp) +/* 0041190C 02602025 */ move $a0, $s3 +/* 00411910 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411914 2739E24C */ addiu $t9, %lo(func_0040E24C) # addiu $t9, $t9, -0x1db4 +/* 00411918 0320F809 */ jalr $t9 +/* 0041191C 00000000 */ nop +/* 00411920 92620020 */ lbu $v0, 0x20($s3) +/* 00411924 2401007B */ li $at, 123 +/* 00411928 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041192C 54410010 */ bnel $v0, $at, .L00411970 +/* 00411930 24010005 */ li $at, 5 +/* 00411934 926B0021 */ lbu $t3, 0x21($s3) +/* 00411938 24010002 */ li $at, 2 +/* 0041193C 000B7600 */ sll $t6, $t3, 0x18 +/* 00411940 000ECF42 */ srl $t9, $t6, 0x1d +/* 00411944 5721000A */ bnel $t9, $at, .L00411970 +/* 00411948 24010005 */ li $at, 5 +/* 0041194C 8F998018 */ lw $t9, %got(func_0040E474)($gp) +/* 00411950 02602025 */ move $a0, $s3 +/* 00411954 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411958 2739E474 */ addiu $t9, %lo(func_0040E474) # addiu $t9, $t9, -0x1b8c +/* 0041195C 0320F809 */ jalr $t9 +/* 00411960 00000000 */ nop +/* 00411964 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411968 92620020 */ lbu $v0, 0x20($s3) +/* 0041196C 24010005 */ li $at, 5 +.L00411970: +/* 00411970 10410003 */ beq $v0, $at, .L00411980 +/* 00411974 2401007C */ li $at, 124 +/* 00411978 1441F70C */ bne $v0, $at, .L0040F5AC +/* 0041197C 00000000 */ nop +.L00411980: +/* 00411980 8F8D8A28 */ lw $t5, %got(addr_dtype)($gp) +/* 00411984 92620021 */ lbu $v0, 0x21($s3) +/* 00411988 91AD0000 */ lbu $t5, ($t5) +/* 0041198C 000256C0 */ sll $t2, $v0, 0x1b +/* 00411990 000A7EC2 */ srl $t7, $t2, 0x1b +/* 00411994 01AFC026 */ xor $t8, $t5, $t7 +/* 00411998 330C001F */ andi $t4, $t8, 0x1f +/* 0041199C 01824826 */ xor $t1, $t4, $v0 +/* 004119A0 1000F702 */ b .L0040F5AC +/* 004119A4 A2690021 */ sb $t1, 0x21($s3) +.L004119A8: +/* 004119A8 97AB1648 */ lhu $t3, 0x1648($sp) +/* 004119AC 8F988A50 */ lw $t8, %got(nooffsetopt)($gp) +/* 004119B0 27B91004 */ addiu $t9, $sp, 0x1004 +/* 004119B4 000B7080 */ sll $t6, $t3, 2 +/* 004119B8 93180000 */ lbu $t8, ($t8) +/* 004119BC 01D9B821 */ addu $s7, $t6, $t9 +/* 004119C0 25CDFFFC */ addiu $t5, $t6, -4 +/* 004119C4 27AF09C4 */ addiu $t7, $sp, 0x9c4 +/* 004119C8 AFA001D8 */ sw $zero, 0x1d8($sp) +/* 004119CC 01AF8821 */ addu $s1, $t5, $t7 +/* 004119D0 13000008 */ beqz $t8, .L004119F4 +/* 004119D4 26F6FFFC */ addiu $s6, $s7, -4 +/* 004119D8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004119DC 2564FFFF */ addiu $a0, $t3, -1 +/* 004119E0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004119E4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004119E8 0320F809 */ jalr $t9 +/* 004119EC 00000000 */ nop +/* 004119F0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004119F4: +/* 004119F4 8ECC0000 */ lw $t4, ($s6) +/* 004119F8 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 004119FC 5580001F */ bnel $t4, $zero, .L00411A7C +/* 00411A00 8E2E0000 */ lw $t6, ($s1) +/* 00411A04 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00411A08 8E290000 */ lw $t1, ($s1) +/* 00411A0C 8F9989DC */ lw $t9, %got(basicint)($gp) +/* 00411A10 24018000 */ li $at, -32768 +/* 00411A14 0128F021 */ addu $fp, $t1, $t0 +/* 00411A18 33C8FFFF */ andi $t0, $fp, 0xffff +/* 00411A1C 93390000 */ lbu $t9, ($t9) +/* 00411A20 39088000 */ xori $t0, $t0, 0x8000 +/* 00411A24 01014021 */ addu $t0, $t0, $at +/* 00411A28 24010001 */ li $at, 1 +/* 00411A2C 1721000A */ bne $t9, $at, .L00411A58 +/* 00411A30 00002025 */ move $a0, $zero +/* 00411A34 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00411A38 03C83823 */ subu $a3, $fp, $t0 +/* 00411A3C 000737C3 */ sra $a2, $a3, 0x1f +/* 00411A40 2404000F */ li $a0, 15 +/* 00411A44 0320F809 */ jalr $t9 +/* 00411A48 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411A4C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411A50 1000000C */ b .L00411A84 +/* 00411A54 AEC20000 */ sw $v0, ($s6) +.L00411A58: +/* 00411A58 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00411A5C 00002825 */ move $a1, $zero +/* 00411A60 03C83023 */ subu $a2, $fp, $t0 +/* 00411A64 0320F809 */ jalr $t9 +/* 00411A68 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411A6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411A70 10000004 */ b .L00411A84 +/* 00411A74 AEC20000 */ sw $v0, ($s6) +/* 00411A78 8E2E0000 */ lw $t6, ($s1) +.L00411A7C: +/* 00411A7C 010E4021 */ addu $t0, $t0, $t6 +/* 00411A80 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00411A84: +/* 00411A84 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411A88 AE200000 */ sw $zero, ($s1) +/* 00411A8C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411A90 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411A94 0320F809 */ jalr $t9 +/* 00411A98 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411A9C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411AA0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411AA4 8EC50000 */ lw $a1, ($s6) +/* 00411AA8 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 00411AAC 8EE60000 */ lw $a2, ($s7) +/* 00411AB0 0320F809 */ jalr $t9 +/* 00411AB4 00000000 */ nop +/* 00411AB8 97AD1648 */ lhu $t5, 0x1648($sp) +/* 00411ABC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411AC0 25AFFFFE */ addiu $t7, $t5, -2 +/* 00411AC4 31F8FFFF */ andi $t8, $t7, 0xffff +/* 00411AC8 A7AF1648 */ sh $t7, 0x1648($sp) +/* 00411ACC 030002B6 */ tne $t8, $zero, 0xa +/* 00411AD0 8F998018 */ lw $t9, %got(func_0040E24C)($gp) +/* 00411AD4 00402025 */ move $a0, $v0 +/* 00411AD8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411ADC 2739E24C */ addiu $t9, %lo(func_0040E24C) # addiu $t9, $t9, -0x1db4 +/* 00411AE0 0320F809 */ jalr $t9 +/* 00411AE4 00000000 */ nop +/* 00411AE8 1000F6B0 */ b .L0040F5AC +/* 00411AEC 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411AF0: +/* 00411AF0 8F8B8A50 */ lw $t3, %got(nooffsetopt)($gp) +/* 00411AF4 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00411AF8 916B0000 */ lbu $t3, ($t3) +/* 00411AFC AFA801D8 */ sw $t0, 0x1d8($sp) +/* 00411B00 51600009 */ beql $t3, $zero, .L00411B28 +/* 00411B04 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00411B08 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411B0C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411B10 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411B14 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411B18 0320F809 */ jalr $t9 +/* 00411B1C 2484FFFF */ addiu $a0, $a0, -1 +/* 00411B20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411B24 97AC1648 */ lhu $t4, 0x1648($sp) +.L00411B28: +/* 00411B28 24090002 */ li $t1, 2 +/* 00411B2C 2D810002 */ sltiu $at, $t4, 2 +/* 00411B30 50200003 */ beql $at, $zero, .L00411B40 +/* 00411B34 97B91648 */ lhu $t9, 0x1648($sp) +/* 00411B38 A7A91648 */ sh $t1, 0x1648($sp) +/* 00411B3C 97B91648 */ lhu $t9, 0x1648($sp) +.L00411B40: +/* 00411B40 27AD1004 */ addiu $t5, $sp, 0x1004 +/* 00411B44 27B809C4 */ addiu $t8, $sp, 0x9c4 +/* 00411B48 00195080 */ sll $t2, $t9, 2 +/* 00411B4C 254EFFFC */ addiu $t6, $t2, -4 +/* 00411B50 01CDB021 */ addu $s6, $t6, $t5 +/* 00411B54 8ECB0000 */ lw $t3, ($s6) +/* 00411B58 254FFFFC */ addiu $t7, $t2, -4 +/* 00411B5C 01F88821 */ addu $s1, $t7, $t8 +/* 00411B60 1560001E */ bnez $t3, .L00411BDC +/* 00411B64 014DB821 */ addu $s7, $t2, $t5 +/* 00411B68 8E2C0000 */ lw $t4, ($s1) +/* 00411B6C 8FA901CC */ lw $t1, 0x1cc($sp) +/* 00411B70 8F9989DC */ lw $t9, %got(basicint)($gp) +/* 00411B74 24018000 */ li $at, -32768 +/* 00411B78 0189F021 */ addu $fp, $t4, $t1 +/* 00411B7C 33C8FFFF */ andi $t0, $fp, 0xffff +/* 00411B80 93390000 */ lbu $t9, ($t9) +/* 00411B84 39088000 */ xori $t0, $t0, 0x8000 +/* 00411B88 01014021 */ addu $t0, $t0, $at +/* 00411B8C 24010001 */ li $at, 1 +/* 00411B90 1721000A */ bne $t9, $at, .L00411BBC +/* 00411B94 00002025 */ move $a0, $zero +/* 00411B98 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00411B9C 03C83823 */ subu $a3, $fp, $t0 +/* 00411BA0 000737C3 */ sra $a2, $a3, 0x1f +/* 00411BA4 2404000F */ li $a0, 15 +/* 00411BA8 0320F809 */ jalr $t9 +/* 00411BAC AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411BB0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411BB4 1000000D */ b .L00411BEC +/* 00411BB8 AEC20000 */ sw $v0, ($s6) +.L00411BBC: +/* 00411BBC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00411BC0 00002825 */ move $a1, $zero +/* 00411BC4 03C83023 */ subu $a2, $fp, $t0 +/* 00411BC8 0320F809 */ jalr $t9 +/* 00411BCC AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00411BD0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411BD4 10000005 */ b .L00411BEC +/* 00411BD8 AEC20000 */ sw $v0, ($s6) +.L00411BDC: +/* 00411BDC 8FAD01CC */ lw $t5, 0x1cc($sp) +/* 00411BE0 8E2A0000 */ lw $t2, ($s1) +/* 00411BE4 01AA4021 */ addu $t0, $t5, $t2 +/* 00411BE8 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00411BEC: +/* 00411BEC 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411BF0 AE200000 */ sw $zero, ($s1) +/* 00411BF4 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411BF8 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411BFC 0320F809 */ jalr $t9 +/* 00411C00 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411C04 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411C08 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411C0C 8EC50000 */ lw $a1, ($s6) +/* 00411C10 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 00411C14 8EE60000 */ lw $a2, ($s7) +/* 00411C18 0320F809 */ jalr $t9 +/* 00411C1C 00000000 */ nop +/* 00411C20 97AF1648 */ lhu $t7, 0x1648($sp) +/* 00411C24 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411C28 25F8FFFE */ addiu $t8, $t7, -2 +/* 00411C2C 330BFFFF */ andi $t3, $t8, 0xffff +/* 00411C30 A7B81648 */ sh $t8, 0x1648($sp) +/* 00411C34 016002B6 */ tne $t3, $zero, 0xa +/* 00411C38 8F998018 */ lw $t9, %got(func_0040E24C)($gp) +/* 00411C3C 00402025 */ move $a0, $v0 +/* 00411C40 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411C44 2739E24C */ addiu $t9, %lo(func_0040E24C) # addiu $t9, $t9, -0x1db4 +/* 00411C48 0320F809 */ jalr $t9 +/* 00411C4C 00000000 */ nop +/* 00411C50 1000F656 */ b .L0040F5AC +/* 00411C54 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411C58: +/* 00411C58 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411C5C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411C60 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411C64 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411C68 0320F809 */ jalr $t9 +/* 00411C6C 2484FFFF */ addiu $a0, $a0, -1 +/* 00411C70 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00411C74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411C78 24090002 */ li $t1, 2 +/* 00411C7C 2D810002 */ sltiu $at, $t4, 2 +/* 00411C80 10200002 */ beqz $at, .L00411C8C +/* 00411C84 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 00411C88 A7A91648 */ sh $t1, 0x1648($sp) +.L00411C8C: +/* 00411C8C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00411C90 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 00411C94 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411C98 0004C880 */ sll $t9, $a0, 2 +/* 00411C9C 032E6821 */ addu $t5, $t9, $t6 +/* 00411CA0 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00411CA4 0004C080 */ sll $t8, $a0, 2 +/* 00411CA8 270BFFFC */ addiu $t3, $t8, -4 +/* 00411CAC 00045080 */ sll $t2, $a0, 2 +/* 00411CB0 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00411CB4 ADA0FFFC */ sw $zero, -4($t5) +/* 00411CB8 014FB821 */ addu $s7, $t2, $t7 +/* 00411CBC 0320F809 */ jalr $t9 +/* 00411CC0 016FB021 */ addu $s6, $t3, $t7 +/* 00411CC4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411CC8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411CCC 8EC50000 */ lw $a1, ($s6) +/* 00411CD0 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 00411CD4 8EE60000 */ lw $a2, ($s7) +/* 00411CD8 0320F809 */ jalr $t9 +/* 00411CDC 00000000 */ nop +/* 00411CE0 97A31648 */ lhu $v1, 0x1648($sp) +/* 00411CE4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411CE8 2463FFFE */ addiu $v1, $v1, -2 +/* 00411CEC 3063FFFF */ andi $v1, $v1, 0xffff +/* 00411CF0 006002B6 */ tne $v1, $zero, 0xa +/* 00411CF4 8F998018 */ lw $t9, %got(func_0040E24C)($gp) +/* 00411CF8 00402025 */ move $a0, $v0 +/* 00411CFC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411D00 2739E24C */ addiu $t9, %lo(func_0040E24C) # addiu $t9, $t9, -0x1db4 +/* 00411D04 0320F809 */ jalr $t9 +/* 00411D08 A7A31648 */ sh $v1, 0x1648($sp) +/* 00411D0C 1000F627 */ b .L0040F5AC +/* 00411D10 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411D14: +/* 00411D14 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00411D18 24040052 */ li $a0, 82 +/* 00411D1C 0320F809 */ jalr $t9 +/* 00411D20 00000000 */ nop +/* 00411D24 904C0021 */ lbu $t4, 0x21($v0) +/* 00411D28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411D2C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411D30 3189FF1F */ andi $t1, $t4, 0xff1f +/* 00411D34 35230060 */ ori $v1, $t1, 0x60 +/* 00411D38 A0430021 */ sb $v1, 0x21($v0) +/* 00411D3C 97AE01CA */ lhu $t6, 0x1ca($sp) +/* 00411D40 00037EC0 */ sll $t7, $v1, 0x1b +/* 00411D44 000F66C2 */ srl $t4, $t7, 0x1b +/* 00411D48 000E6880 */ sll $t5, $t6, 2 +/* 00411D4C AC4D002C */ sw $t5, 0x2c($v0) +/* 00411D50 8FAA01D0 */ lw $t2, 0x1d0($sp) +/* 00411D54 00402825 */ move $a1, $v0 +/* 00411D58 AC4A0028 */ sw $t2, 0x28($v0) +/* 00411D5C 93AB01C9 */ lbu $t3, 0x1c9($sp) +/* 00411D60 016C4826 */ xor $t1, $t3, $t4 +/* 00411D64 3139001F */ andi $t9, $t1, 0x1f +/* 00411D68 03237026 */ xor $t6, $t9, $v1 +/* 00411D6C A04E0021 */ sb $t6, 0x21($v0) +/* 00411D70 8FAD01CC */ lw $t5, 0x1cc($sp) +/* 00411D74 A4400022 */ sh $zero, 0x22($v0) +/* 00411D78 AC4D0024 */ sw $t5, 0x24($v0) +/* 00411D7C 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00411D80 0320F809 */ jalr $t9 +/* 00411D84 00000000 */ nop +/* 00411D88 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411D8C 240A007B */ li $t2, 123 +/* 00411D90 A04A0020 */ sb $t2, 0x20($v0) +/* 00411D94 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411D98 AC400030 */ sw $zero, 0x30($v0) +/* 00411D9C A4400022 */ sh $zero, 0x22($v0) +/* 00411DA0 00402025 */ move $a0, $v0 +/* 00411DA4 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411DA8 0320F809 */ jalr $t9 +/* 00411DAC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411DB0 1000F5FE */ b .L0040F5AC +/* 00411DB4 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411DB8: +/* 00411DB8 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00411DBC 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411DC0 0320F809 */ jalr $t9 +/* 00411DC4 00000000 */ nop +/* 00411DC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411DCC 24180052 */ li $t8, 82 +/* 00411DD0 A0580020 */ sb $t8, 0x20($v0) +/* 00411DD4 AC400030 */ sw $zero, 0x30($v0) +/* 00411DD8 A4400022 */ sh $zero, 0x22($v0) +/* 00411DDC 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00411DE0 00408025 */ move $s0, $v0 +/* 00411DE4 2404007B */ li $a0, 123 +/* 00411DE8 0320F809 */ jalr $t9 +/* 00411DEC 00000000 */ nop +/* 00411DF0 904F0021 */ lbu $t7, 0x21($v0) +/* 00411DF4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411DF8 00402025 */ move $a0, $v0 +/* 00411DFC 31EBFF1F */ andi $t3, $t7, 0xff1f +/* 00411E00 35630060 */ ori $v1, $t3, 0x60 +/* 00411E04 A0430021 */ sb $v1, 0x21($v0) +/* 00411E08 97A901CA */ lhu $t1, 0x1ca($sp) +/* 00411E0C AC400030 */ sw $zero, 0x30($v0) +/* 00411E10 0003C6C0 */ sll $t8, $v1, 0x1b +/* 00411E14 0009C880 */ sll $t9, $t1, 2 +/* 00411E18 AC59002C */ sw $t9, 0x2c($v0) +/* 00411E1C 8FAE01D0 */ lw $t6, 0x1d0($sp) +/* 00411E20 00187EC2 */ srl $t7, $t8, 0x1b +/* 00411E24 AC4E0028 */ sw $t6, 0x28($v0) +/* 00411E28 93AA01C9 */ lbu $t2, 0x1c9($sp) +/* 00411E2C 014F5826 */ xor $t3, $t2, $t7 +/* 00411E30 316C001F */ andi $t4, $t3, 0x1f +/* 00411E34 01834826 */ xor $t1, $t4, $v1 +/* 00411E38 A0490021 */ sb $t1, 0x21($v0) +/* 00411E3C 8FB901CC */ lw $t9, 0x1cc($sp) +/* 00411E40 A4400022 */ sh $zero, 0x22($v0) +/* 00411E44 AC500000 */ sw $s0, ($v0) +/* 00411E48 AC590024 */ sw $t9, 0x24($v0) +/* 00411E4C 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411E50 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00411E54 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411E58 0320F809 */ jalr $t9 +/* 00411E5C 00000000 */ nop +/* 00411E60 1000F5D2 */ b .L0040F5AC +/* 00411E64 8FBC00CC */ lw $gp, 0xcc($sp) +.L00411E68: +/* 00411E68 93AE01C9 */ lbu $t6, 0x1c9($sp) +/* 00411E6C 3C01004E */ lui $at, 0x4e +/* 00411E70 34218000 */ ori $at, $at, 0x8000 +/* 00411E74 31CD001F */ andi $t5, $t6, 0x1f +/* 00411E78 2DB80020 */ sltiu $t8, $t5, 0x20 +/* 00411E7C 00185023 */ negu $t2, $t8 +/* 00411E80 01417824 */ and $t7, $t2, $at +/* 00411E84 01AF5804 */ sllv $t3, $t7, $t5 +/* 00411E88 05610008 */ bgez $t3, .L00411EAC +/* 00411E8C 8FAC01C4 */ lw $t4, 0x1c4($sp) +/* 00411E90 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 00411E94 AFAC01DC */ sw $t4, 0x1dc($sp) +/* 00411E98 24040400 */ li $a0, 1024 +/* 00411E9C 0320F809 */ jalr $t9 +/* 00411EA0 00002825 */ move $a1, $zero +/* 00411EA4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411EA8 AFA201C4 */ sw $v0, 0x1c4($sp) +.L00411EAC: +/* 00411EAC 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00411EB0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00411EB4 0320F809 */ jalr $t9 +/* 00411EB8 00000000 */ nop +/* 00411EBC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411EC0 24090049 */ li $t1, 73 +/* 00411EC4 A0490020 */ sb $t1, 0x20($v0) +/* 00411EC8 93B901C9 */ lbu $t9, 0x1c9($sp) +/* 00411ECC 24010002 */ li $at, 2 +/* 00411ED0 00408025 */ move $s0, $v0 +/* 00411ED4 332E001F */ andi $t6, $t9, 0x1f +/* 00411ED8 11C10004 */ beq $t6, $at, .L00411EEC +/* 00411EDC 24180047 */ li $t8, 71 +/* 00411EE0 2401000A */ li $at, 10 +/* 00411EE4 15C10016 */ bne $t6, $at, .L00411F40 +/* 00411EE8 93AF01C9 */ lbu $t7, 0x1c9($sp) +.L00411EEC: +/* 00411EEC A0580020 */ sb $t8, 0x20($v0) +/* 00411EF0 8FAA01D8 */ lw $t2, 0x1d8($sp) +/* 00411EF4 8F8F8A28 */ lw $t7, %got(addr_dtype)($gp) +/* 00411EF8 90430021 */ lbu $v1, 0x21($v0) +/* 00411EFC AC4A0024 */ sw $t2, 0x24($v0) +/* 00411F00 91EF0000 */ lbu $t7, ($t7) +/* 00411F04 00036EC0 */ sll $t5, $v1, 0x1b +/* 00411F08 000D5EC2 */ srl $t3, $t5, 0x1b +/* 00411F0C 01EB6026 */ xor $t4, $t7, $t3 +/* 00411F10 3189001F */ andi $t1, $t4, 0x1f +/* 00411F14 01237026 */ xor $t6, $t1, $v1 +/* 00411F18 8F8D8A2C */ lw $t5, %got(unitsperaddr)($gp) +/* 00411F1C 31D8FF1F */ andi $t8, $t6, 0xff1f +/* 00411F20 A04E0021 */ sb $t6, 0x21($v0) +/* 00411F24 370A0080 */ ori $t2, $t8, 0x80 +/* 00411F28 A04A0021 */ sb $t2, 0x21($v0) +/* 00411F2C AC40002C */ sw $zero, 0x2c($v0) +/* 00411F30 AC400030 */ sw $zero, 0x30($v0) +/* 00411F34 8DAD0000 */ lw $t5, ($t5) +/* 00411F38 10000015 */ b .L00411F90 +/* 00411F3C AC4D0028 */ sw $t5, 0x28($v0) +.L00411F40: +/* 00411F40 31EB001F */ andi $t3, $t7, 0x1f +/* 00411F44 24010003 */ li $at, 3 +/* 00411F48 15610011 */ bne $t3, $at, .L00411F90 +/* 00411F4C 00000000 */ nop +/* 00411F50 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 00411F54 8FA401D8 */ lw $a0, 0x1d8($sp) +/* 00411F58 0320F809 */ jalr $t9 +/* 00411F5C 00000000 */ nop +/* 00411F60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411F64 2404000B */ li $a0, 11 +/* 00411F68 00402825 */ move $a1, $v0 +/* 00411F6C 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00411F70 0320F809 */ jalr $t9 +/* 00411F74 00000000 */ nop +/* 00411F78 904C0021 */ lbu $t4, 0x21($v0) +/* 00411F7C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411F80 00408025 */ move $s0, $v0 +/* 00411F84 3189FFE0 */ andi $t1, $t4, 0xffe0 +/* 00411F88 35390003 */ ori $t9, $t1, 3 +/* 00411F8C A0590021 */ sb $t9, 0x21($v0) +.L00411F90: +/* 00411F90 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00411F94 2404007B */ li $a0, 123 +/* 00411F98 0320F809 */ jalr $t9 +/* 00411F9C 00000000 */ nop +/* 00411FA0 90430021 */ lbu $v1, 0x21($v0) +/* 00411FA4 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 00411FA8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00411FAC 000356C0 */ sll $t2, $v1, 0x1b +/* 00411FB0 000A6EC2 */ srl $t5, $t2, 0x1b +/* 00411FB4 030D7826 */ xor $t7, $t8, $t5 +/* 00411FB8 31EB001F */ andi $t3, $t7, 0x1f +/* 00411FBC 01634826 */ xor $t1, $t3, $v1 +/* 00411FC0 3139FF1F */ andi $t9, $t1, 0xff1f +/* 00411FC4 A0490021 */ sb $t1, 0x21($v0) +/* 00411FC8 372E0060 */ ori $t6, $t9, 0x60 +/* 00411FCC A04E0021 */ sb $t6, 0x21($v0) +/* 00411FD0 8FAA01CC */ lw $t2, 0x1cc($sp) +/* 00411FD4 AC400030 */ sw $zero, 0x30($v0) +/* 00411FD8 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00411FDC 000AC080 */ sll $t8, $t2, 2 +/* 00411FE0 AC58002C */ sw $t8, 0x2c($v0) +/* 00411FE4 8FAD01D0 */ lw $t5, 0x1d0($sp) +/* 00411FE8 AC500000 */ sw $s0, ($v0) +/* 00411FEC 00402025 */ move $a0, $v0 +/* 00411FF0 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00411FF4 AC4D0028 */ sw $t5, 0x28($v0) +/* 00411FF8 0320F809 */ jalr $t9 +/* 00411FFC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412000 1000F56A */ b .L0040F5AC +/* 00412004 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412008: +/* 00412008 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 0041200C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412010 0320F809 */ jalr $t9 +/* 00412014 00000000 */ nop +/* 00412018 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041201C 90430021 */ lbu $v1, 0x21($v0) +/* 00412020 240F0047 */ li $t7, 71 +/* 00412024 8F8B8A28 */ lw $t3, %got(addr_dtype)($gp) +/* 00412028 A04F0020 */ sb $t7, 0x20($v0) +/* 0041202C 000366C0 */ sll $t4, $v1, 0x1b +/* 00412030 916B0000 */ lbu $t3, ($t3) +/* 00412034 000C4EC2 */ srl $t1, $t4, 0x1b +/* 00412038 24010002 */ li $at, 2 +/* 0041203C 0169C826 */ xor $t9, $t3, $t1 +/* 00412040 332E001F */ andi $t6, $t9, 0x1f +/* 00412044 01C35026 */ xor $t2, $t6, $v1 +/* 00412048 A04A0021 */ sb $t2, 0x21($v0) +/* 0041204C 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 00412050 00408025 */ move $s0, $v0 +/* 00412054 00186E00 */ sll $t5, $t8, 0x18 +/* 00412058 000D7F42 */ srl $t7, $t5, 0x1d +/* 0041205C 15E10008 */ bne $t7, $at, .L00412080 +/* 00412060 00000000 */ nop +/* 00412064 8F998018 */ lw $t9, %got(func_0040E474)($gp) +/* 00412068 00402025 */ move $a0, $v0 +/* 0041206C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412070 2739E474 */ addiu $t9, %lo(func_0040E474) # addiu $t9, $t9, -0x1b8c +/* 00412074 0320F809 */ jalr $t9 +/* 00412078 00000000 */ nop +/* 0041207C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412080: +/* 00412080 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00412084 2404007B */ li $a0, 123 +/* 00412088 0320F809 */ jalr $t9 +/* 0041208C 00000000 */ nop +/* 00412090 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412094 90430021 */ lbu $v1, 0x21($v0) +/* 00412098 00402025 */ move $a0, $v0 +/* 0041209C 8F8C8A28 */ lw $t4, %got(addr_dtype)($gp) +/* 004120A0 00035EC0 */ sll $t3, $v1, 0x1b +/* 004120A4 000B4EC2 */ srl $t1, $t3, 0x1b +/* 004120A8 918C0000 */ lbu $t4, ($t4) +/* 004120AC 8F858A2C */ lw $a1, %got(unitsperaddr)($gp) +/* 004120B0 0189C826 */ xor $t9, $t4, $t1 +/* 004120B4 332E001F */ andi $t6, $t9, 0x1f +/* 004120B8 01C3C026 */ xor $t8, $t6, $v1 +/* 004120BC 330DFF1F */ andi $t5, $t8, 0xff1f +/* 004120C0 A0580021 */ sb $t8, 0x21($v0) +/* 004120C4 35AF0060 */ ori $t7, $t5, 0x60 +/* 004120C8 A04F0021 */ sb $t7, 0x21($v0) +/* 004120CC 8FAB01D0 */ lw $t3, 0x1d0($sp) +/* 004120D0 8CA50000 */ lw $a1, ($a1) +/* 004120D4 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004120D8 AC400030 */ sw $zero, 0x30($v0) +/* 004120DC 01650019 */ multu $t3, $a1 +/* 004120E0 AC500000 */ sw $s0, ($v0) +/* 004120E4 AC450028 */ sw $a1, 0x28($v0) +/* 004120E8 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004120EC 00006012 */ mflo $t4 +/* 004120F0 AC4C002C */ sw $t4, 0x2c($v0) +/* 004120F4 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004120F8 0320F809 */ jalr $t9 +/* 004120FC AE050028 */ sw $a1, 0x28($s0) +/* 00412100 1000F52A */ b .L0040F5AC +/* 00412104 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412108: +/* 00412108 97B21648 */ lhu $s2, 0x1648($sp) +/* 0041210C 27B91004 */ addiu $t9, $sp, 0x1004 +/* 00412110 8FA901C4 */ lw $t1, 0x1c4($sp) +/* 00412114 00129080 */ sll $s2, $s2, 2 +/* 00412118 0259B821 */ addu $s7, $s2, $t9 +/* 0041211C 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 00412120 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 00412124 27AA0384 */ addiu $t2, $sp, 0x384 +/* 00412128 024AA821 */ addu $s5, $s2, $t2 +/* 0041212C 024EA021 */ addu $s4, $s2, $t6 +/* 00412130 24040400 */ li $a0, 1024 +/* 00412134 00002825 */ move $a1, $zero +/* 00412138 0320F809 */ jalr $t9 +/* 0041213C AFA901DC */ sw $t1, 0x1dc($sp) +/* 00412140 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412144 AFA201C4 */ sw $v0, 0x1c4($sp) +/* 00412148 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0041214C 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00412150 0320F809 */ jalr $t9 +/* 00412154 00000000 */ nop +/* 00412158 97B81648 */ lhu $t8, 0x1648($sp) +/* 0041215C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412160 26F70004 */ addiu $s7, $s7, 4 +/* 00412164 270D0001 */ addiu $t5, $t8, 1 +/* 00412168 A7AD1648 */ sh $t5, 0x1648($sp) +/* 0041216C 26940004 */ addiu $s4, $s4, 4 +/* 00412170 26B50004 */ addiu $s5, $s5, 4 +/* 00412174 AEE20000 */ sw $v0, ($s7) +/* 00412178 AE800000 */ sw $zero, ($s4) +/* 0041217C 1000F50B */ b .L0040F5AC +/* 00412180 AEA00000 */ sw $zero, ($s5) +.L00412184: +/* 00412184 8F8F8A28 */ lw $t7, %got(addr_dtype)($gp) +/* 00412188 93AB01C9 */ lbu $t3, 0x1c9($sp) +/* 0041218C 97B21648 */ lhu $s2, 0x1648($sp) +/* 00412190 91EF0000 */ lbu $t7, ($t7) +/* 00412194 000B66C0 */ sll $t4, $t3, 0x1b +/* 00412198 000C4EC2 */ srl $t1, $t4, 0x1b +/* 0041219C 01E9C826 */ xor $t9, $t7, $t1 +/* 004121A0 332E001F */ andi $t6, $t9, 0x1f +/* 004121A4 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 004121A8 00129080 */ sll $s2, $s2, 2 +/* 004121AC 27AC0384 */ addiu $t4, $sp, 0x384 +/* 004121B0 27B81004 */ addiu $t8, $sp, 0x1004 +/* 004121B4 27AD09C4 */ addiu $t5, $sp, 0x9c4 +/* 004121B8 01CB5026 */ xor $t2, $t6, $t3 +/* 004121BC A3AA01C9 */ sb $t2, 0x1c9($sp) +/* 004121C0 024DA021 */ addu $s4, $s2, $t5 +/* 004121C4 0258B821 */ addu $s7, $s2, $t8 +/* 004121C8 024CA821 */ addu $s5, $s2, $t4 +/* 004121CC 0320F809 */ jalr $t9 +/* 004121D0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004121D4 93AF01C9 */ lbu $t7, 0x1c9($sp) +/* 004121D8 24010001 */ li $at, 1 +/* 004121DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004121E0 000F4E00 */ sll $t1, $t7, 0x18 +/* 004121E4 0009CF42 */ srl $t9, $t1, 0x1d +/* 004121E8 17210014 */ bne $t9, $at, .L0041223C +/* 004121EC 00409825 */ move $s3, $v0 +/* 004121F0 8F8E8A74 */ lw $t6, %got(reversed_stack)($gp) +/* 004121F4 8FB801D8 */ lw $t8, 0x1d8($sp) +/* 004121F8 8FAD0188 */ lw $t5, 0x188($sp) +/* 004121FC 91CE0000 */ lbu $t6, ($t6) +/* 00412200 8FAB01D8 */ lw $t3, 0x1d8($sp) +/* 00412204 8FAA0184 */ lw $t2, 0x184($sp) +/* 00412208 11C00007 */ beqz $t6, .L00412228 +/* 0041220C 030D082A */ slt $at, $t8, $t5 +/* 00412210 014B082A */ slt $at, $t2, $t3 +/* 00412214 10200002 */ beqz $at, .L00412220 +/* 00412218 00000000 */ nop +/* 0041221C 01605025 */ move $t2, $t3 +.L00412220: +/* 00412220 10000013 */ b .L00412270 +/* 00412224 AFAA0184 */ sw $t2, 0x184($sp) +.L00412228: +/* 00412228 10200002 */ beqz $at, .L00412234 +/* 0041222C 00000000 */ nop +/* 00412230 03006825 */ move $t5, $t8 +.L00412234: +/* 00412234 1000000E */ b .L00412270 +/* 00412238 AFAD0188 */ sw $t5, 0x188($sp) +.L0041223C: +/* 0041223C 93AC01C9 */ lbu $t4, 0x1c9($sp) +/* 00412240 24010002 */ li $at, 2 +/* 00412244 000C7E00 */ sll $t7, $t4, 0x18 +/* 00412248 000F4F42 */ srl $t1, $t7, 0x1d +/* 0041224C 55210009 */ bnel $t1, $at, .L00412274 +/* 00412250 97B91648 */ lhu $t9, 0x1648($sp) +/* 00412254 8F998018 */ lw $t9, %got(func_0040E474)($gp) +/* 00412258 02602025 */ move $a0, $s3 +/* 0041225C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412260 2739E474 */ addiu $t9, %lo(func_0040E474) # addiu $t9, $t9, -0x1b8c +/* 00412264 0320F809 */ jalr $t9 +/* 00412268 00000000 */ nop +/* 0041226C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412270: +/* 00412270 97B91648 */ lhu $t9, 0x1648($sp) +.L00412274: +/* 00412274 26F70004 */ addiu $s7, $s7, 4 +/* 00412278 26940004 */ addiu $s4, $s4, 4 +/* 0041227C 272E0001 */ addiu $t6, $t9, 1 +/* 00412280 A7AE1648 */ sh $t6, 0x1648($sp) +/* 00412284 26B50004 */ addiu $s5, $s5, 4 +/* 00412288 AEF30000 */ sw $s3, ($s7) +/* 0041228C AE800000 */ sw $zero, ($s4) +/* 00412290 1000F4C6 */ b .L0040F5AC +/* 00412294 AEA00000 */ sw $zero, ($s5) +.L00412298: +/* 00412298 97AB1648 */ lhu $t3, 0x1648($sp) +/* 0041229C 27B809C4 */ addiu $t8, $sp, 0x9c4 +/* 004122A0 27AD0384 */ addiu $t5, $sp, 0x384 +/* 004122A4 256A0001 */ addiu $t2, $t3, 1 +/* 004122A8 3152FFFF */ andi $s2, $t2, 0xffff +/* 004122AC 00129080 */ sll $s2, $s2, 2 +/* 004122B0 A7AA1648 */ sh $t2, 0x1648($sp) +/* 004122B4 0258A021 */ addu $s4, $s2, $t8 +/* 004122B8 AE800000 */ sw $zero, ($s4) +/* 004122BC 024D6021 */ addu $t4, $s2, $t5 +/* 004122C0 AD800000 */ sw $zero, ($t4) +/* 004122C4 97AF1648 */ lhu $t7, 0x1648($sp) +/* 004122C8 27A901F7 */ addiu $t1, $sp, 0x1f7 +/* 004122CC 24190011 */ li $t9, 17 +/* 004122D0 01E91021 */ addu $v0, $t7, $t1 +/* 004122D4 A0590000 */ sb $t9, ($v0) +/* 004122D8 93AB01C9 */ lbu $t3, 0x1c9($sp) +/* 004122DC 3C01004E */ lui $at, 0x4e +/* 004122E0 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 004122E4 316A001F */ andi $t2, $t3, 0x1f +/* 004122E8 2D580020 */ sltiu $t8, $t2, 0x20 +/* 004122EC 00186823 */ negu $t5, $t8 +/* 004122F0 01A16024 */ and $t4, $t5, $at +/* 004122F4 014C7804 */ sllv $t7, $t4, $t2 +/* 004122F8 05E10010 */ bgez $t7, .L0041233C +/* 004122FC 024EB821 */ addu $s7, $s2, $t6 +/* 00412300 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 00412304 8FA901C4 */ lw $t1, 0x1c4($sp) +/* 00412308 24040400 */ li $a0, 1024 +/* 0041230C 00002825 */ move $a1, $zero +/* 00412310 0320F809 */ jalr $t9 +/* 00412314 AFA901DC */ sw $t1, 0x1dc($sp) +/* 00412318 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041231C AFA201C4 */ sw $v0, 0x1c4($sp) +/* 00412320 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412324 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00412328 0320F809 */ jalr $t9 +/* 0041232C 00000000 */ nop +/* 00412330 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412334 1000F49D */ b .L0040F5AC +/* 00412338 AEE20000 */ sw $v0, ($s7) +.L0041233C: +/* 0041233C 93B901C9 */ lbu $t9, 0x1c9($sp) +/* 00412340 24010002 */ li $at, 2 +/* 00412344 332E001F */ andi $t6, $t9, 0x1f +/* 00412348 11C10003 */ beq $t6, $at, .L00412358 +/* 0041234C 2401000A */ li $at, 10 +/* 00412350 15C10017 */ bne $t6, $at, .L004123B0 +/* 00412354 93B801C9 */ lbu $t8, 0x1c9($sp) +.L00412358: +/* 00412358 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 0041235C 24040047 */ li $a0, 71 +/* 00412360 0320F809 */ jalr $t9 +/* 00412364 00000000 */ nop +/* 00412368 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041236C 90580021 */ lbu $t8, 0x21($v0) +/* 00412370 8FAB01D8 */ lw $t3, 0x1d8($sp) +/* 00412374 8F8A8A28 */ lw $t2, %got(addr_dtype)($gp) +/* 00412378 330DFF1F */ andi $t5, $t8, 0xff1f +/* 0041237C 35A30080 */ ori $v1, $t5, 0x80 +/* 00412380 A0430021 */ sb $v1, 0x21($v0) +/* 00412384 AC4B0024 */ sw $t3, 0x24($v0) +/* 00412388 914A0000 */ lbu $t2, ($t2) +/* 0041238C 00037EC0 */ sll $t7, $v1, 0x1b +/* 00412390 000F4EC2 */ srl $t1, $t7, 0x1b +/* 00412394 0149C826 */ xor $t9, $t2, $t1 +/* 00412398 332E001F */ andi $t6, $t9, 0x1f +/* 0041239C 01C35826 */ xor $t3, $t6, $v1 +/* 004123A0 A04B0021 */ sb $t3, 0x21($v0) +/* 004123A4 AC40002C */ sw $zero, 0x2c($v0) +/* 004123A8 1000F480 */ b .L0040F5AC +/* 004123AC AEE20000 */ sw $v0, ($s7) +.L004123B0: +/* 004123B0 330D001F */ andi $t5, $t8, 0x1f +/* 004123B4 24010003 */ li $at, 3 +/* 004123B8 15A10012 */ bne $t5, $at, .L00412404 +/* 004123BC 93A901C9 */ lbu $t1, 0x1c9($sp) +/* 004123C0 8F9981BC */ lw $t9, %call16(find_label)($gp) +/* 004123C4 8FA401D8 */ lw $a0, 0x1d8($sp) +/* 004123C8 0320F809 */ jalr $t9 +/* 004123CC 00000000 */ nop +/* 004123D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004123D4 2404000B */ li $a0, 11 +/* 004123D8 00402825 */ move $a1, $v0 +/* 004123DC 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 004123E0 0320F809 */ jalr $t9 +/* 004123E4 00000000 */ nop +/* 004123E8 904C0021 */ lbu $t4, 0x21($v0) +/* 004123EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004123F0 318FFFE0 */ andi $t7, $t4, 0xffe0 +/* 004123F4 35EA0003 */ ori $t2, $t7, 3 +/* 004123F8 A04A0021 */ sb $t2, 0x21($v0) +/* 004123FC 1000F46B */ b .L0040F5AC +/* 00412400 AEE20000 */ sw $v0, ($s7) +.L00412404: +/* 00412404 3139001F */ andi $t9, $t1, 0x1f +/* 00412408 2F2E0020 */ sltiu $t6, $t9, 0x20 +/* 0041240C 000E5823 */ negu $t3, $t6 +/* 00412410 3C010500 */ lui $at, 0x500 +/* 00412414 0161C024 */ and $t8, $t3, $at +/* 00412418 03386804 */ sllv $t5, $t8, $t9 +/* 0041241C 05A30009 */ bgezl $t5, .L00412444 +/* 00412420 AEE00000 */ sw $zero, ($s7) +/* 00412424 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00412428 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0041242C 0320F809 */ jalr $t9 +/* 00412430 00000000 */ nop +/* 00412434 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412438 1000F45C */ b .L0040F5AC +/* 0041243C AEE20000 */ sw $v0, ($s7) +/* 00412440 AEE00000 */ sw $zero, ($s7) +.L00412444: +/* 00412444 8FAC01D8 */ lw $t4, 0x1d8($sp) +/* 00412448 AE8C0000 */ sw $t4, ($s4) +/* 0041244C 93AF01C9 */ lbu $t7, 0x1c9($sp) +/* 00412450 31EA001F */ andi $t2, $t7, 0x1f +/* 00412454 1000F455 */ b .L0040F5AC +/* 00412458 A04A0000 */ sb $t2, ($v0) +.L0041245C: +/* 0041245C 97A21648 */ lhu $v0, 0x1648($sp) +/* 00412460 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00412464 27AB0384 */ addiu $t3, $sp, 0x384 +/* 00412468 24420001 */ addiu $v0, $v0, 1 +/* 0041246C 3042FFFF */ andi $v0, $v0, 0xffff +/* 00412470 00029080 */ sll $s2, $v0, 2 +/* 00412474 02497021 */ addu $t6, $s2, $t1 +/* 00412478 ADC00000 */ sw $zero, ($t6) +/* 0041247C 024BC021 */ addu $t8, $s2, $t3 +/* 00412480 27AD01F7 */ addiu $t5, $sp, 0x1f7 +/* 00412484 AF000000 */ sw $zero, ($t8) +/* 00412488 004D6021 */ addu $t4, $v0, $t5 +/* 0041248C 24190011 */ li $t9, 17 +/* 00412490 A1990000 */ sb $t9, ($t4) +/* 00412494 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00412498 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 0041249C 024FB821 */ addu $s7, $s2, $t7 +/* 004124A0 A7A21648 */ sh $v0, 0x1648($sp) +/* 004124A4 0320F809 */ jalr $t9 +/* 004124A8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004124AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004124B0 1000F43E */ b .L0040F5AC +/* 004124B4 AEE20000 */ sw $v0, ($s7) +.L004124B8: +/* 004124B8 97B21648 */ lhu $s2, 0x1648($sp) +/* 004124BC 93AB01C8 */ lbu $t3, 0x1c8($sp) +/* 004124C0 27AA1004 */ addiu $t2, $sp, 0x1004 +/* 004124C4 00129080 */ sll $s2, $s2, 2 +/* 004124C8 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 004124CC 27AE0384 */ addiu $t6, $sp, 0x384 +/* 004124D0 24010052 */ li $at, 82 +/* 004124D4 024EA821 */ addu $s5, $s2, $t6 +/* 004124D8 0249A021 */ addu $s4, $s2, $t1 +/* 004124DC 15610009 */ bne $t3, $at, .L00412504 +/* 004124E0 024AB821 */ addu $s7, $s2, $t2 +/* 004124E4 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 004124E8 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 004124EC 24010003 */ li $at, 3 +/* 004124F0 00186E00 */ sll $t5, $t8, 0x18 +/* 004124F4 000DCF42 */ srl $t9, $t5, 0x1d +/* 004124F8 17210002 */ bne $t9, $at, .L00412504 +/* 004124FC 00084080 */ sll $t0, $t0, 2 +/* 00412500 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00412504: +/* 00412504 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00412508 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 0041250C 0320F809 */ jalr $t9 +/* 00412510 00000000 */ nop +/* 00412514 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412518 AC400030 */ sw $zero, 0x30($v0) +/* 0041251C 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00412520 24010052 */ li $at, 82 +/* 00412524 00409825 */ move $s3, $v0 +/* 00412528 258F0001 */ addiu $t7, $t4, 1 +/* 0041252C A7AF1648 */ sh $t7, 0x1648($sp) +/* 00412530 AEE20004 */ sw $v0, 4($s7) +/* 00412534 AE800004 */ sw $zero, 4($s4) +/* 00412538 AEA00004 */ sw $zero, 4($s5) +/* 0041253C 904A0020 */ lbu $t2, 0x20($v0) +/* 00412540 26F70004 */ addiu $s7, $s7, 4 +/* 00412544 26940004 */ addiu $s4, $s4, 4 +/* 00412548 1541000E */ bne $t2, $at, .L00412584 +/* 0041254C 26B50004 */ addiu $s5, $s5, 4 +/* 00412550 90490021 */ lbu $t1, 0x21($v0) +/* 00412554 24010002 */ li $at, 2 +/* 00412558 00097600 */ sll $t6, $t1, 0x18 +/* 0041255C 000E5F42 */ srl $t3, $t6, 0x1d +/* 00412560 55610009 */ bnel $t3, $at, .L00412588 +/* 00412564 92620020 */ lbu $v0, 0x20($s3) +/* 00412568 8F998018 */ lw $t9, %got(func_0040E474)($gp) +/* 0041256C 00402025 */ move $a0, $v0 +/* 00412570 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412574 2739E474 */ addiu $t9, %lo(func_0040E474) # addiu $t9, $t9, -0x1b8c +/* 00412578 0320F809 */ jalr $t9 +/* 0041257C 00000000 */ nop +/* 00412580 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412584: +/* 00412584 92620020 */ lbu $v0, 0x20($s3) +.L00412588: +/* 00412588 2401004B */ li $at, 75 +/* 0041258C 10410003 */ beq $v0, $at, .L0041259C +/* 00412590 24010048 */ li $at, 72 +/* 00412594 1441F405 */ bne $v0, $at, .L0040F5AC +/* 00412598 00000000 */ nop +.L0041259C: +/* 0041259C 8F988A28 */ lw $t8, %got(addr_dtype)($gp) +/* 004125A0 92620021 */ lbu $v0, 0x21($s3) +/* 004125A4 93180000 */ lbu $t8, ($t8) +/* 004125A8 00026EC0 */ sll $t5, $v0, 0x1b +/* 004125AC 000DCEC2 */ srl $t9, $t5, 0x1b +/* 004125B0 03196026 */ xor $t4, $t8, $t9 +/* 004125B4 318F001F */ andi $t7, $t4, 0x1f +/* 004125B8 01E25026 */ xor $t2, $t7, $v0 +/* 004125BC 1000F3FB */ b .L0040F5AC +/* 004125C0 A26A0021 */ sb $t2, 0x21($s3) +.L004125C4: +/* 004125C4 97A41648 */ lhu $a0, 0x1648($sp) +/* 004125C8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004125CC 27AB1004 */ addiu $t3, $sp, 0x1004 +/* 004125D0 00047080 */ sll $t6, $a0, 2 +/* 004125D4 2487FFFF */ addiu $a3, $a0, -1 +/* 004125D8 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004125DC AFA700F4 */ sw $a3, 0xf4($sp) +/* 004125E0 01CBB821 */ addu $s7, $t6, $t3 +/* 004125E4 0320F809 */ jalr $t9 +/* 004125E8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004125EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004125F0 240D000A */ li $t5, 10 +/* 004125F4 AFAD01CC */ sw $t5, 0x1cc($sp) +/* 004125F8 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 004125FC 8EE50000 */ lw $a1, ($s7) +/* 00412600 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412604 0320F809 */ jalr $t9 +/* 00412608 00000000 */ nop +/* 0041260C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412610 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00412614 00402025 */ move $a0, $v0 +/* 00412618 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0041261C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412620 A7A71648 */ sh $a3, 0x1648($sp) +/* 00412624 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00412628 0320F809 */ jalr $t9 +/* 0041262C 00000000 */ nop +/* 00412630 1000F3DE */ b .L0040F5AC +/* 00412634 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412638: +/* 00412638 97B81648 */ lhu $t8, 0x1648($sp) +/* 0041263C 27AC1004 */ addiu $t4, $sp, 0x1004 +/* 00412640 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412644 0018C880 */ sll $t9, $t8, 2 +/* 00412648 032CB821 */ addu $s7, $t9, $t4 +/* 0041264C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412650 26F6FFFC */ addiu $s6, $s7, -4 +/* 00412654 2704FFFF */ addiu $a0, $t8, -1 +/* 00412658 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 0041265C 0320F809 */ jalr $t9 +/* 00412660 00000000 */ nop +/* 00412664 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412668 97A41648 */ lhu $a0, 0x1648($sp) +/* 0041266C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412670 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412674 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412678 0320F809 */ jalr $t9 +/* 0041267C 00000000 */ nop +/* 00412680 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412684 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412688 8EC50000 */ lw $a1, ($s6) +/* 0041268C 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 00412690 8EE60000 */ lw $a2, ($s7) +/* 00412694 0320F809 */ jalr $t9 +/* 00412698 00000000 */ nop +/* 0041269C 97AA1648 */ lhu $t2, 0x1648($sp) +/* 004126A0 3C01000C */ lui $at, 0xc +/* 004126A4 34218000 */ ori $at, $at, 0x8000 +/* 004126A8 254EFFFE */ addiu $t6, $t2, -2 +/* 004126AC A7AE1648 */ sh $t6, 0x1648($sp) +/* 004126B0 904B0021 */ lbu $t3, 0x21($v0) +/* 004126B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004126B8 00409825 */ move $s3, $v0 +/* 004126BC 3169001F */ andi $t1, $t3, 0x1f +/* 004126C0 2D2D0020 */ sltiu $t5, $t1, 0x20 +/* 004126C4 000DC023 */ negu $t8, $t5 +/* 004126C8 0301C824 */ and $t9, $t8, $at +/* 004126CC 01396004 */ sllv $t4, $t9, $t1 +/* 004126D0 05810009 */ bgez $t4, .L004126F8 +/* 004126D4 93AF01C8 */ lbu $t7, 0x1c8($sp) +/* 004126D8 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 004126DC 00402025 */ move $a0, $v0 +/* 004126E0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004126E4 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 004126E8 0320F809 */ jalr $t9 +/* 004126EC 00000000 */ nop +/* 004126F0 1000F3AE */ b .L0040F5AC +/* 004126F4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004126F8: +/* 004126F8 8F8A8868 */ lw $t2, %got(trap_to_compare)($gp) +/* 004126FC 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00412700 2404000F */ li $a0, 15 +/* 00412704 254AFF80 */ addiu $t2, $t2, -0x80 +/* 00412708 01EA7021 */ addu $t6, $t7, $t2 +/* 0041270C 91CB0000 */ lbu $t3, ($t6) +/* 00412710 02602825 */ move $a1, $s3 +/* 00412714 0320F809 */ jalr $t9 +/* 00412718 A26B0020 */ sb $t3, 0x20($s3) +/* 0041271C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412720 8FAD01CC */ lw $t5, 0x1cc($sp) +/* 00412724 00402025 */ move $a0, $v0 +/* 00412728 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 0041272C AC4D0024 */ sw $t5, 0x24($v0) +/* 00412730 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412734 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00412738 0320F809 */ jalr $t9 +/* 0041273C 00000000 */ nop +/* 00412740 1000F39A */ b .L0040F5AC +/* 00412744 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412748: +/* 00412748 93B801D0 */ lbu $t8, 0x1d0($sp) +/* 0041274C 8F898860 */ lw $t1, %got(similar_data_types)($gp) +/* 00412750 93AA01C9 */ lbu $t2, 0x1c9($sp) +/* 00412754 0018C880 */ sll $t9, $t8, 2 +/* 00412758 03296021 */ addu $t4, $t9, $t1 +/* 0041275C 8D8F0000 */ lw $t7, ($t4) +/* 00412760 314E001F */ andi $t6, $t2, 0x1f +/* 00412764 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 00412768 000B6823 */ negu $t5, $t3 +/* 0041276C 01EDC824 */ and $t9, $t7, $t5 +/* 00412770 01D94804 */ sllv $t1, $t9, $t6 +/* 00412774 05210020 */ bgez $t1, .L004127F8 +/* 00412778 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 0041277C 318A0002 */ andi $t2, $t4, 2 +/* 00412780 1140000B */ beqz $t2, .L004127B0 +/* 00412784 2F0B0020 */ sltiu $t3, $t8, 0x20 +/* 00412788 3C010600 */ lui $at, 0x600 +/* 0041278C 000B7823 */ negu $t7, $t3 +/* 00412790 01E1C824 */ and $t9, $t7, $at +/* 00412794 01A15024 */ and $t2, $t5, $at +/* 00412798 01CA5804 */ sllv $t3, $t2, $t6 +/* 0041279C 03194804 */ sllv $t1, $t9, $t8 +/* 004127A0 292C0000 */ slti $t4, $t1, 0 +/* 004127A4 296F0000 */ slti $t7, $t3, 0 +/* 004127A8 558F0014 */ bnel $t4, $t7, .L004127FC +/* 004127AC 97A41648 */ lhu $a0, 0x1648($sp) +.L004127B0: +/* 004127B0 8F9989D8 */ lw $t9, %got(opcode_arch)($gp) +/* 004127B4 24010001 */ li $at, 1 +/* 004127B8 93B801D0 */ lbu $t8, 0x1d0($sp) +/* 004127BC 93390000 */ lbu $t9, ($t9) +/* 004127C0 93AB01C9 */ lbu $t3, 0x1c9($sp) +/* 004127C4 1721F379 */ bne $t9, $at, .L0040F5AC +/* 004127C8 00000000 */ nop +/* 004127CC 8F8D8864 */ lw $t5, %got(similar_data_types_dw)($gp) +/* 004127D0 00184880 */ sll $t1, $t8, 2 +/* 004127D4 316C001F */ andi $t4, $t3, 0x1f +/* 004127D8 012D5021 */ addu $t2, $t1, $t5 +/* 004127DC 8D4E0000 */ lw $t6, ($t2) +/* 004127E0 2D8F0020 */ sltiu $t7, $t4, 0x20 +/* 004127E4 000FC823 */ negu $t9, $t7 +/* 004127E8 01D9C024 */ and $t8, $t6, $t9 +/* 004127EC 01984804 */ sllv $t1, $t8, $t4 +/* 004127F0 0520F36E */ bltz $t1, .L0040F5AC +/* 004127F4 00000000 */ nop +.L004127F8: +/* 004127F8 97A41648 */ lhu $a0, 0x1648($sp) +.L004127FC: +/* 004127FC 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412800 27AB1004 */ addiu $t3, $sp, 0x1004 +/* 00412804 00045080 */ sll $t2, $a0, 2 +/* 00412808 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 0041280C 014BB821 */ addu $s7, $t2, $t3 +/* 00412810 0320F809 */ jalr $t9 +/* 00412814 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412818 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041281C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412820 8EE50000 */ lw $a1, ($s7) +/* 00412824 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00412828 0320F809 */ jalr $t9 +/* 0041282C 00000000 */ nop +/* 00412830 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412834 1000F35D */ b .L0040F5AC +/* 00412838 AEE20000 */ sw $v0, ($s7) +.L0041283C: +/* 0041283C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00412840 27B91004 */ addiu $t9, $sp, 0x1004 +/* 00412844 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412848 00047080 */ sll $t6, $a0, 2 +/* 0041284C 01D9B821 */ addu $s7, $t6, $t9 +/* 00412850 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412854 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412858 0320F809 */ jalr $t9 +/* 0041285C 00000000 */ nop +/* 00412860 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412864 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412868 8EE50000 */ lw $a1, ($s7) +/* 0041286C 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00412870 0320F809 */ jalr $t9 +/* 00412874 00000000 */ nop +/* 00412878 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041287C 1000F34B */ b .L0040F5AC +/* 00412880 AEE20000 */ sw $v0, ($s7) +.L00412884: +/* 00412884 97B81648 */ lhu $t8, 0x1648($sp) +/* 00412888 97AD01CA */ lhu $t5, 0x1ca($sp) +/* 0041288C 27AC1004 */ addiu $t4, $sp, 0x1004 +/* 00412890 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00412894 00189080 */ sll $s2, $t8, 2 +/* 00412898 31AA0002 */ andi $t2, $t5, 2 +/* 0041289C 024CB821 */ addu $s7, $s2, $t4 +/* 004128A0 1140000C */ beqz $t2, .L004128D4 +/* 004128A4 0249A021 */ addu $s4, $s2, $t1 +/* 004128A8 8E8B0000 */ lw $t3, ($s4) +/* 004128AC 3C018000 */ lui $at, 0x8000 +/* 004128B0 55610009 */ bnel $t3, $at, .L004128D8 +/* 004128B4 8E8F0000 */ lw $t7, ($s4) +/* 004128B8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004128BC 03002025 */ move $a0, $t8 +/* 004128C0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004128C4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004128C8 0320F809 */ jalr $t9 +/* 004128CC 00000000 */ nop +/* 004128D0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004128D4: +/* 004128D4 8E8F0000 */ lw $t7, ($s4) +.L004128D8: +/* 004128D8 8EF00000 */ lw $s0, ($s7) +/* 004128DC 000F7023 */ negu $t6, $t7 +/* 004128E0 1200F332 */ beqz $s0, .L0040F5AC +/* 004128E4 AE8E0000 */ sw $t6, ($s4) +/* 004128E8 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 004128EC 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004128F0 02002825 */ move $a1, $s0 +/* 004128F4 0320F809 */ jalr $t9 +/* 004128F8 00000000 */ nop +/* 004128FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412900 1000F32A */ b .L0040F5AC +/* 00412904 AEE20000 */ sw $v0, ($s7) +.L00412908: +/* 00412908 97B21648 */ lhu $s2, 0x1648($sp) +/* 0041290C 97AD01CA */ lhu $t5, 0x1ca($sp) +/* 00412910 27B909C4 */ addiu $t9, $sp, 0x9c4 +/* 00412914 00129080 */ sll $s2, $s2, 2 +/* 00412918 0259A021 */ addu $s4, $s2, $t9 +/* 0041291C 8E850000 */ lw $a1, ($s4) +/* 00412920 8FAC01CC */ lw $t4, 0x1cc($sp) +/* 00412924 27A90384 */ addiu $t1, $sp, 0x384 +/* 00412928 31AA0002 */ andi $t2, $t5, 2 +/* 0041292C 0249A821 */ addu $s5, $s2, $t1 +/* 00412930 11400010 */ beqz $t2, .L00412974 +/* 00412934 00ACF021 */ addu $fp, $a1, $t4 +/* 00412938 8F9983EC */ lw $t9, %call16(add_overflow)($gp) +/* 0041293C 93A401C9 */ lbu $a0, 0x1c9($sp) +/* 00412940 01803025 */ move $a2, $t4 +/* 00412944 0320F809 */ jalr $t9 +/* 00412948 3084001F */ andi $a0, $a0, 0x1f +/* 0041294C 10400009 */ beqz $v0, .L00412974 +/* 00412950 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412954 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412958 97A41648 */ lhu $a0, 0x1648($sp) +/* 0041295C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412960 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412964 0320F809 */ jalr $t9 +/* 00412968 00000000 */ nop +/* 0041296C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412970 8FBE01CC */ lw $fp, 0x1cc($sp) +.L00412974: +/* 00412974 AE9E0000 */ sw $fp, ($s4) +/* 00412978 97B801CA */ lhu $t8, 0x1ca($sp) +/* 0041297C 8EAB0000 */ lw $t3, ($s5) +/* 00412980 01787825 */ or $t7, $t3, $t8 +/* 00412984 1000F309 */ b .L0040F5AC +/* 00412988 AEAF0000 */ sw $t7, ($s5) +.L0041298C: +/* 0041298C 97B21648 */ lhu $s2, 0x1648($sp) +/* 00412990 97AD01CA */ lhu $t5, 0x1ca($sp) +/* 00412994 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 00412998 00129080 */ sll $s2, $s2, 2 +/* 0041299C 024EA021 */ addu $s4, $s2, $t6 +/* 004129A0 8E850000 */ lw $a1, ($s4) +/* 004129A4 8FB901CC */ lw $t9, 0x1cc($sp) +/* 004129A8 27A90384 */ addiu $t1, $sp, 0x384 +/* 004129AC 31AA0002 */ andi $t2, $t5, 2 +/* 004129B0 0249A821 */ addu $s5, $s2, $t1 +/* 004129B4 11400011 */ beqz $t2, .L004129FC +/* 004129B8 00B9F023 */ subu $fp, $a1, $t9 +/* 004129BC 03203025 */ move $a2, $t9 +/* 004129C0 8F9983F0 */ lw $t9, %call16(sub_overflow)($gp) +/* 004129C4 93A401C9 */ lbu $a0, 0x1c9($sp) +/* 004129C8 0320F809 */ jalr $t9 +/* 004129CC 3084001F */ andi $a0, $a0, 0x1f +/* 004129D0 1040000A */ beqz $v0, .L004129FC +/* 004129D4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004129D8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004129DC 97A41648 */ lhu $a0, 0x1648($sp) +/* 004129E0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004129E4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004129E8 0320F809 */ jalr $t9 +/* 004129EC 00000000 */ nop +/* 004129F0 8FBE01CC */ lw $fp, 0x1cc($sp) +/* 004129F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004129F8 001EF023 */ negu $fp, $fp +.L004129FC: +/* 004129FC AE9E0000 */ sw $fp, ($s4) +/* 00412A00 97AB01CA */ lhu $t3, 0x1ca($sp) +/* 00412A04 8EAC0000 */ lw $t4, ($s5) +/* 00412A08 018BC025 */ or $t8, $t4, $t3 +/* 00412A0C 1000F2E7 */ b .L0040F5AC +/* 00412A10 AEB80000 */ sw $t8, ($s5) +.L00412A14: +/* 00412A14 8F8A8A50 */ lw $t2, %got(nooffsetopt)($gp) +/* 00412A18 97AF1648 */ lhu $t7, 0x1648($sp) +/* 00412A1C 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 00412A20 914A0000 */ lbu $t2, ($t2) +/* 00412A24 000F9080 */ sll $s2, $t7, 2 +/* 00412A28 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00412A2C 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00412A30 AFA001D8 */ sw $zero, 0x1d8($sp) +/* 00412A34 024DA821 */ addu $s5, $s2, $t5 +/* 00412A38 0249A021 */ addu $s4, $s2, $t1 +/* 00412A3C 11400008 */ beqz $t2, .L00412A60 +/* 00412A40 024EB821 */ addu $s7, $s2, $t6 +/* 00412A44 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412A48 01E02025 */ move $a0, $t7 +/* 00412A4C 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412A50 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412A54 0320F809 */ jalr $t9 +/* 00412A58 00000000 */ nop +/* 00412A5C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412A60: +/* 00412A60 8EF00000 */ lw $s0, ($s7) +/* 00412A64 AEA00000 */ sw $zero, ($s5) +/* 00412A68 24018000 */ li $at, -32768 +/* 00412A6C 2E020001 */ sltiu $v0, $s0, 1 +/* 00412A70 10400020 */ beqz $v0, .L00412AF4 +/* 00412A74 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00412A78 8F8289DC */ lw $v0, %got(basicint)($gp) +/* 00412A7C 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00412A80 8E990000 */ lw $t9, ($s4) +/* 00412A84 90420000 */ lbu $v0, ($v0) +/* 00412A88 AE800000 */ sw $zero, ($s4) +/* 00412A8C 0328F021 */ addu $fp, $t9, $t0 +/* 00412A90 33C8FFFF */ andi $t0, $fp, 0xffff +/* 00412A94 38420001 */ xori $v0, $v0, 1 +/* 00412A98 39088000 */ xori $t0, $t0, 0x8000 +/* 00412A9C 2C420001 */ sltiu $v0, $v0, 1 +/* 00412AA0 1040000A */ beqz $v0, .L00412ACC +/* 00412AA4 01014021 */ addu $t0, $t0, $at +/* 00412AA8 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00412AAC 03C83823 */ subu $a3, $fp, $t0 +/* 00412AB0 000737C3 */ sra $a2, $a3, 0x1f +/* 00412AB4 2404000F */ li $a0, 15 +/* 00412AB8 0320F809 */ jalr $t9 +/* 00412ABC AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00412AC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412AC4 10000009 */ b .L00412AEC +/* 00412AC8 AEE20000 */ sw $v0, ($s7) +.L00412ACC: +/* 00412ACC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00412AD0 00002025 */ move $a0, $zero +/* 00412AD4 00002825 */ move $a1, $zero +/* 00412AD8 03C83023 */ subu $a2, $fp, $t0 +/* 00412ADC 0320F809 */ jalr $t9 +/* 00412AE0 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00412AE4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412AE8 AEE20000 */ sw $v0, ($s7) +.L00412AEC: +/* 00412AEC 10000005 */ b .L00412B04 +/* 00412AF0 8EF00000 */ lw $s0, ($s7) +.L00412AF4: +/* 00412AF4 8E8B0000 */ lw $t3, ($s4) +/* 00412AF8 AE800000 */ sw $zero, ($s4) +/* 00412AFC 010B4021 */ addu $t0, $t0, $t3 +/* 00412B00 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00412B04: +/* 00412B04 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00412B08 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412B0C 02002825 */ move $a1, $s0 +/* 00412B10 0320F809 */ jalr $t9 +/* 00412B14 00000000 */ nop +/* 00412B18 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412B1C 1000F2A3 */ b .L0040F5AC +/* 00412B20 AEE20000 */ sw $v0, ($s7) +.L00412B24: +/* 00412B24 8F8A8A50 */ lw $t2, %got(nooffsetopt)($gp) +/* 00412B28 97B81648 */ lhu $t8, 0x1648($sp) +/* 00412B2C 8FA801D4 */ lw $t0, 0x1d4($sp) +/* 00412B30 914A0000 */ lbu $t2, ($t2) +/* 00412B34 00189080 */ sll $s2, $t8, 2 +/* 00412B38 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 00412B3C 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00412B40 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00412B44 024DA821 */ addu $s5, $s2, $t5 +/* 00412B48 0249A021 */ addu $s4, $s2, $t1 +/* 00412B4C 024EB821 */ addu $s7, $s2, $t6 +/* 00412B50 11400008 */ beqz $t2, .L00412B74 +/* 00412B54 AFA801D8 */ sw $t0, 0x1d8($sp) +/* 00412B58 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412B5C 03002025 */ move $a0, $t8 +/* 00412B60 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412B64 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412B68 0320F809 */ jalr $t9 +/* 00412B6C 00000000 */ nop +/* 00412B70 8FBC00CC */ lw $gp, 0xcc($sp) +.L00412B74: +/* 00412B74 8EF00000 */ lw $s0, ($s7) +/* 00412B78 AEA00000 */ sw $zero, ($s5) +/* 00412B7C 8FB901CC */ lw $t9, 0x1cc($sp) +/* 00412B80 2E020001 */ sltiu $v0, $s0, 1 +/* 00412B84 10400020 */ beqz $v0, .L00412C08 +/* 00412B88 8FAB01CC */ lw $t3, 0x1cc($sp) +/* 00412B8C 8F8289DC */ lw $v0, %got(basicint)($gp) +/* 00412B90 8E8F0000 */ lw $t7, ($s4) +/* 00412B94 24018000 */ li $at, -32768 +/* 00412B98 90420000 */ lbu $v0, ($v0) +/* 00412B9C 01F9F021 */ addu $fp, $t7, $t9 +/* 00412BA0 33C8FFFF */ andi $t0, $fp, 0xffff +/* 00412BA4 38420001 */ xori $v0, $v0, 1 +/* 00412BA8 39088000 */ xori $t0, $t0, 0x8000 +/* 00412BAC 2C420001 */ sltiu $v0, $v0, 1 +/* 00412BB0 01014021 */ addu $t0, $t0, $at +/* 00412BB4 1040000A */ beqz $v0, .L00412BE0 +/* 00412BB8 AE800000 */ sw $zero, ($s4) +/* 00412BBC 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00412BC0 03C83823 */ subu $a3, $fp, $t0 +/* 00412BC4 000737C3 */ sra $a2, $a3, 0x1f +/* 00412BC8 2404000F */ li $a0, 15 +/* 00412BCC 0320F809 */ jalr $t9 +/* 00412BD0 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00412BD4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412BD8 10000009 */ b .L00412C00 +/* 00412BDC AEE20000 */ sw $v0, ($s7) +.L00412BE0: +/* 00412BE0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00412BE4 00002025 */ move $a0, $zero +/* 00412BE8 00002825 */ move $a1, $zero +/* 00412BEC 03C83023 */ subu $a2, $fp, $t0 +/* 00412BF0 0320F809 */ jalr $t9 +/* 00412BF4 AFA801D4 */ sw $t0, 0x1d4($sp) +/* 00412BF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412BFC AEE20000 */ sw $v0, ($s7) +.L00412C00: +/* 00412C00 10000005 */ b .L00412C18 +/* 00412C04 8EF00000 */ lw $s0, ($s7) +.L00412C08: +/* 00412C08 8E8E0000 */ lw $t6, ($s4) +/* 00412C0C AE800000 */ sw $zero, ($s4) +/* 00412C10 016E4021 */ addu $t0, $t3, $t6 +/* 00412C14 AFA801D4 */ sw $t0, 0x1d4($sp) +.L00412C18: +/* 00412C18 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00412C1C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412C20 02002825 */ move $a1, $s0 +/* 00412C24 0320F809 */ jalr $t9 +/* 00412C28 00000000 */ nop +/* 00412C2C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412C30 1000F25E */ b .L0040F5AC +/* 00412C34 AEE20000 */ sw $v0, ($s7) +.L00412C38: +/* 00412C38 97A41648 */ lhu $a0, 0x1648($sp) +/* 00412C3C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412C40 27A91004 */ addiu $t1, $sp, 0x1004 +/* 00412C44 00049080 */ sll $s2, $a0, 2 +/* 00412C48 27AD09C4 */ addiu $t5, $sp, 0x9c4 +/* 00412C4C 27AA0384 */ addiu $t2, $sp, 0x384 +/* 00412C50 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412C54 024AA821 */ addu $s5, $s2, $t2 +/* 00412C58 024DA021 */ addu $s4, $s2, $t5 +/* 00412C5C 0249B821 */ addu $s7, $s2, $t1 +/* 00412C60 0320F809 */ jalr $t9 +/* 00412C64 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412C68 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412C6C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00412C70 8EE50000 */ lw $a1, ($s7) +/* 00412C74 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00412C78 0320F809 */ jalr $t9 +/* 00412C7C 00000000 */ nop +/* 00412C80 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412C84 AEE20000 */ sw $v0, ($s7) +/* 00412C88 AE800000 */ sw $zero, ($s4) +/* 00412C8C 1000F247 */ b .L0040F5AC +/* 00412C90 AEA00000 */ sw $zero, ($s5) +.L00412C94: +/* 00412C94 97B81648 */ lhu $t8, 0x1648($sp) +/* 00412C98 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 00412C9C 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00412CA0 270F0001 */ addiu $t7, $t8, 1 +/* 00412CA4 31F9FFFF */ andi $t9, $t7, 0xffff +/* 00412CA8 00196080 */ sll $t4, $t9, 2 +/* 00412CAC 258BFFFC */ addiu $t3, $t4, -4 +/* 00412CB0 A7AF1648 */ sh $t7, 0x1648($sp) +/* 00412CB4 016EB021 */ addu $s6, $t3, $t6 +/* 00412CB8 8ECA0000 */ lw $t2, ($s6) +/* 00412CBC 31F2FFFF */ andi $s2, $t7, 0xffff +/* 00412CC0 00129080 */ sll $s2, $s2, 2 +/* 00412CC4 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00412CC8 024DA821 */ addu $s5, $s2, $t5 +/* 00412CCC 024EB821 */ addu $s7, $s2, $t6 +/* 00412CD0 15400009 */ bnez $t2, .L00412CF8 +/* 00412CD4 0249A021 */ addu $s4, $s2, $t1 +/* 00412CD8 AEE00000 */ sw $zero, ($s7) +/* 00412CDC 97B81648 */ lhu $t8, 0x1648($sp) +/* 00412CE0 27AC09C4 */ addiu $t4, $sp, 0x9c4 +/* 00412CE4 0018C880 */ sll $t9, $t8, 2 +/* 00412CE8 032C5821 */ addu $t3, $t9, $t4 +/* 00412CEC 8D6FFFFC */ lw $t7, -4($t3) +/* 00412CF0 1000000F */ b .L00412D30 +/* 00412CF4 AE8F0000 */ sw $t7, ($s4) +.L00412CF8: +/* 00412CF8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412CFC 97A41648 */ lhu $a0, 0x1648($sp) +/* 00412D00 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412D04 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412D08 0320F809 */ jalr $t9 +/* 00412D0C 2484FFFF */ addiu $a0, $a0, -1 +/* 00412D10 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412D14 8EC40000 */ lw $a0, ($s6) +/* 00412D18 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00412D1C 0320F809 */ jalr $t9 +/* 00412D20 00000000 */ nop +/* 00412D24 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412D28 AEE20000 */ sw $v0, ($s7) +/* 00412D2C AE800000 */ sw $zero, ($s4) +.L00412D30: +/* 00412D30 1000F21E */ b .L0040F5AC +/* 00412D34 AEA00000 */ sw $zero, ($s5) +.L00412D38: +/* 00412D38 97AE1648 */ lhu $t6, 0x1648($sp) +/* 00412D3C 97AA01CA */ lhu $t2, 0x1ca($sp) +/* 00412D40 27A91004 */ addiu $t1, $sp, 0x1004 +/* 00412D44 27AD09C4 */ addiu $t5, $sp, 0x9c4 +/* 00412D48 000E9080 */ sll $s2, $t6, 2 +/* 00412D4C 31580002 */ andi $t8, $t2, 2 +/* 00412D50 0000F025 */ move $fp, $zero +/* 00412D54 AFA0018C */ sw $zero, 0x18c($sp) +/* 00412D58 0249B821 */ addu $s7, $s2, $t1 +/* 00412D5C 024DA021 */ addu $s4, $s2, $t5 +/* 00412D60 1300002E */ beqz $t8, .L00412E1C +/* 00412D64 25C7FFFF */ addiu $a3, $t6, -1 +/* 00412D68 000EC880 */ sll $t9, $t6, 2 +/* 00412D6C 03296021 */ addu $t4, $t9, $t1 +/* 00412D70 8D82FFFC */ lw $v0, -4($t4) +/* 00412D74 93AD01C9 */ lbu $t5, 0x1c9($sp) +/* 00412D78 50400007 */ beql $v0, $zero, .L00412D98 +/* 00412D7C 8EF00000 */ lw $s0, ($s7) +/* 00412D80 904B0021 */ lbu $t3, 0x21($v0) +/* 00412D84 31AA001F */ andi $t2, $t5, 0x1f +/* 00412D88 316F001F */ andi $t7, $t3, 0x1f +/* 00412D8C 15EA0014 */ bne $t7, $t2, .L00412DE0 +/* 00412D90 00000000 */ nop +/* 00412D94 8EF00000 */ lw $s0, ($s7) +.L00412D98: +/* 00412D98 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00412D9C 93B901C9 */ lbu $t9, 0x1c9($sp) +/* 00412DA0 12000005 */ beqz $s0, .L00412DB8 +/* 00412DA4 000C5880 */ sll $t3, $t4, 2 +/* 00412DA8 92180021 */ lbu $t8, 0x21($s0) +/* 00412DAC 3329001F */ andi $t1, $t9, 0x1f +/* 00412DB0 330E001F */ andi $t6, $t8, 0x1f +/* 00412DB4 15C9000A */ bne $t6, $t1, .L00412DE0 +.L00412DB8: +/* 00412DB8 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00412DBC 016D7821 */ addu $t7, $t3, $t5 +/* 00412DC0 8DEAFFFC */ lw $t2, -4($t7) +/* 00412DC4 97B801CA */ lhu $t8, 0x1ca($sp) +/* 00412DC8 024DC821 */ addu $t9, $s2, $t5 +/* 00412DCC 15580004 */ bne $t2, $t8, .L00412DE0 +/* 00412DD0 00000000 */ nop +/* 00412DD4 8F2E0000 */ lw $t6, ($t9) +/* 00412DD8 11D80010 */ beq $t6, $t8, .L00412E1C +/* 00412DDC 00000000 */ nop +.L00412DE0: +/* 00412DE0 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412DE4 00E02025 */ move $a0, $a3 +/* 00412DE8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412DEC 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412DF0 0320F809 */ jalr $t9 +/* 00412DF4 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00412DF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412DFC 97A41648 */ lhu $a0, 0x1648($sp) +/* 00412E00 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412E04 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412E08 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412E0C 0320F809 */ jalr $t9 +/* 00412E10 00000000 */ nop +/* 00412E14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412E18 8FA700F4 */ lw $a3, 0xf4($sp) +.L00412E1C: +/* 00412E1C 100001DB */ b .L0041358C +/* 00412E20 93A201C8 */ lbu $v0, 0x1c8($sp) +.L00412E24: +/* 00412E24 97AB01CA */ lhu $t3, 0x1ca($sp) +/* 00412E28 00079880 */ sll $s3, $a3, 2 +/* 00412E2C 27AC0384 */ addiu $t4, $sp, 0x384 +/* 00412E30 316F0002 */ andi $t7, $t3, 2 +/* 00412E34 026C1821 */ addu $v1, $s3, $t4 +/* 00412E38 11E00021 */ beqz $t7, .L00412EC0 +/* 00412E3C 02698821 */ addu $s1, $s3, $t1 +/* 00412E40 97AA1648 */ lhu $t2, 0x1648($sp) +/* 00412E44 93A401C9 */ lbu $a0, 0x1c9($sp) +/* 00412E48 8E860000 */ lw $a2, ($s4) +/* 00412E4C 000A6880 */ sll $t5, $t2, 2 +/* 00412E50 01A9C821 */ addu $t9, $t5, $t1 +/* 00412E54 8F25FFFC */ lw $a1, -4($t9) +/* 00412E58 8F9983EC */ lw $t9, %call16(add_overflow)($gp) +/* 00412E5C AFA700F4 */ sw $a3, 0xf4($sp) +/* 00412E60 AFA300DC */ sw $v1, 0xdc($sp) +/* 00412E64 0320F809 */ jalr $t9 +/* 00412E68 3084001F */ andi $a0, $a0, 0x1f +/* 00412E6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412E70 8FA300DC */ lw $v1, 0xdc($sp) +/* 00412E74 10400012 */ beqz $v0, .L00412EC0 +/* 00412E78 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00412E7C 8C6E0000 */ lw $t6, ($v1) +/* 00412E80 8E3E0000 */ lw $fp, ($s1) +/* 00412E84 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412E88 AFAE018C */ sw $t6, 0x18c($sp) +/* 00412E8C AE200000 */ sw $zero, ($s1) +/* 00412E90 AC600000 */ sw $zero, ($v1) +/* 00412E94 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412E98 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00412E9C AFA300DC */ sw $v1, 0xdc($sp) +/* 00412EA0 97A41648 */ lhu $a0, 0x1648($sp) +/* 00412EA4 0320F809 */ jalr $t9 +/* 00412EA8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00412EAC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412EB0 8FA300DC */ lw $v1, 0xdc($sp) +/* 00412EB4 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00412EB8 1000000F */ b .L00412EF8 +/* 00412EBC 8EF00000 */ lw $s0, ($s7) +.L00412EC0: +/* 00412EC0 8E380000 */ lw $t8, ($s1) +/* 00412EC4 8E8C0000 */ lw $t4, ($s4) +/* 00412EC8 AE200000 */ sw $zero, ($s1) +/* 00412ECC 27AF0384 */ addiu $t7, $sp, 0x384 +/* 00412ED0 AE800000 */ sw $zero, ($s4) +/* 00412ED4 024F5021 */ addu $t2, $s2, $t7 +/* 00412ED8 8D4D0000 */ lw $t5, ($t2) +/* 00412EDC 8C6B0000 */ lw $t3, ($v1) +/* 00412EE0 97B901CA */ lhu $t9, 0x1ca($sp) +/* 00412EE4 030CF021 */ addu $fp, $t8, $t4 +/* 00412EE8 016D4825 */ or $t1, $t3, $t5 +/* 00412EEC 01397025 */ or $t6, $t1, $t9 +/* 00412EF0 AFAE018C */ sw $t6, 0x18c($sp) +/* 00412EF4 8EF00000 */ lw $s0, ($s7) +.L00412EF8: +/* 00412EF8 16000008 */ bnez $s0, .L00412F1C +/* 00412EFC 97AA1648 */ lhu $t2, 0x1648($sp) +/* 00412F00 AE3E0000 */ sw $fp, ($s1) +/* 00412F04 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 00412F08 8C780000 */ lw $t8, ($v1) +/* 00412F0C 030C7825 */ or $t7, $t8, $t4 +/* 00412F10 AC6F0000 */ sw $t7, ($v1) +/* 00412F14 1000F1A5 */ b .L0040F5AC +/* 00412F18 A7A71648 */ sh $a3, 0x1648($sp) +.L00412F1C: +/* 00412F1C 000A5880 */ sll $t3, $t2, 2 +/* 00412F20 256DFFFC */ addiu $t5, $t3, -4 +/* 00412F24 27A91004 */ addiu $t1, $sp, 0x1004 +/* 00412F28 01A9B021 */ addu $s6, $t5, $t1 +/* 00412F2C 8ECE0000 */ lw $t6, ($s6) +/* 00412F30 27B90384 */ addiu $t9, $sp, 0x384 +/* 00412F34 0259A821 */ addu $s5, $s2, $t9 +/* 00412F38 15C001CF */ bnez $t6, .L00413678 +/* 00412F3C 0269C021 */ addu $t8, $s3, $t1 +/* 00412F40 AF100000 */ sw $s0, ($t8) +/* 00412F44 AE3E0000 */ sw $fp, ($s1) +/* 00412F48 97AF01CA */ lhu $t7, 0x1ca($sp) +/* 00412F4C 8EAC0000 */ lw $t4, ($s5) +/* 00412F50 2673FFFC */ addiu $s3, $s3, -4 +/* 00412F54 018F5025 */ or $t2, $t4, $t7 +/* 00412F58 AC6A0000 */ sw $t2, ($v1) +/* 00412F5C 1000F193 */ b .L0040F5AC +/* 00412F60 A7A71648 */ sh $a3, 0x1648($sp) +/* 00412F64 93B901C8 */ lbu $t9, 0x1c8($sp) +.L00412F68: +/* 00412F68 00079880 */ sll $s3, $a3, 2 +/* 00412F6C 27AB09C4 */ addiu $t3, $sp, 0x9c4 +/* 00412F70 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00412F74 24010009 */ li $at, 9 +/* 00412F78 026D1821 */ addu $v1, $s3, $t5 +/* 00412F7C 17210003 */ bne $t9, $at, .L00412F8C +/* 00412F80 026B8821 */ addu $s1, $s3, $t3 +/* 00412F84 240E007D */ li $t6, 125 +/* 00412F88 A3AE01C8 */ sb $t6, 0x1c8($sp) +.L00412F8C: +/* 00412F8C 97A901CA */ lhu $t1, 0x1ca($sp) +/* 00412F90 31380002 */ andi $t8, $t1, 2 +/* 00412F94 53000022 */ beql $t8, $zero, .L00413020 +/* 00412F98 8E390000 */ lw $t9, ($s1) +/* 00412F9C 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00412FA0 8F9983F0 */ lw $t9, %call16(sub_overflow)($gp) +/* 00412FA4 27AA09C4 */ addiu $t2, $sp, 0x9c4 +/* 00412FA8 000C7880 */ sll $t7, $t4, 2 +/* 00412FAC 93A401C9 */ lbu $a0, 0x1c9($sp) +/* 00412FB0 01EA5821 */ addu $t3, $t7, $t2 +/* 00412FB4 8D65FFFC */ lw $a1, -4($t3) +/* 00412FB8 8E860000 */ lw $a2, ($s4) +/* 00412FBC AFA700F4 */ sw $a3, 0xf4($sp) +/* 00412FC0 AFA300DC */ sw $v1, 0xdc($sp) +/* 00412FC4 0320F809 */ jalr $t9 +/* 00412FC8 3084001F */ andi $a0, $a0, 0x1f +/* 00412FCC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00412FD0 8FA300DC */ lw $v1, 0xdc($sp) +/* 00412FD4 10400011 */ beqz $v0, .L0041301C +/* 00412FD8 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00412FDC 8C6D0000 */ lw $t5, ($v1) +/* 00412FE0 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00412FE4 8E3E0000 */ lw $fp, ($s1) +/* 00412FE8 AFAD018C */ sw $t5, 0x18c($sp) +/* 00412FEC AE200000 */ sw $zero, ($s1) +/* 00412FF0 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00412FF4 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00412FF8 AFA300DC */ sw $v1, 0xdc($sp) +/* 00412FFC 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413000 0320F809 */ jalr $t9 +/* 00413004 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413008 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0041300C 8FA300DC */ lw $v1, 0xdc($sp) +/* 00413010 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00413014 1000000F */ b .L00413054 +/* 00413018 8EF00000 */ lw $s0, ($s7) +.L0041301C: +/* 0041301C 8E390000 */ lw $t9, ($s1) +.L00413020: +/* 00413020 8E8E0000 */ lw $t6, ($s4) +/* 00413024 AE200000 */ sw $zero, ($s1) +/* 00413028 27B80384 */ addiu $t8, $sp, 0x384 +/* 0041302C AE800000 */ sw $zero, ($s4) +/* 00413030 02586021 */ addu $t4, $s2, $t8 +/* 00413034 8D8F0000 */ lw $t7, ($t4) +/* 00413038 8C690000 */ lw $t1, ($v1) +/* 0041303C 97AB01CA */ lhu $t3, 0x1ca($sp) +/* 00413040 032EF023 */ subu $fp, $t9, $t6 +/* 00413044 012F5025 */ or $t2, $t1, $t7 +/* 00413048 014B6825 */ or $t5, $t2, $t3 +/* 0041304C AFAD018C */ sw $t5, 0x18c($sp) +/* 00413050 8EF00000 */ lw $s0, ($s7) +.L00413054: +/* 00413054 56000009 */ bnel $s0, $zero, .L0041307C +/* 00413058 97AC1648 */ lhu $t4, 0x1648($sp) +/* 0041305C AE3E0000 */ sw $fp, ($s1) +/* 00413060 97AE01CA */ lhu $t6, 0x1ca($sp) +/* 00413064 8C790000 */ lw $t9, ($v1) +/* 00413068 032EC025 */ or $t8, $t9, $t6 +/* 0041306C AC780000 */ sw $t8, ($v1) +/* 00413070 1000F14E */ b .L0040F5AC +/* 00413074 A7A71648 */ sh $a3, 0x1648($sp) +/* 00413078 97AC1648 */ lhu $t4, 0x1648($sp) +.L0041307C: +/* 0041307C 27AA1004 */ addiu $t2, $sp, 0x1004 +/* 00413080 2404005E */ li $a0, 94 +/* 00413084 000C4880 */ sll $t1, $t4, 2 +/* 00413088 252FFFFC */ addiu $t7, $t1, -4 +/* 0041308C 01EAB021 */ addu $s6, $t7, $t2 +/* 00413090 8ECB0000 */ lw $t3, ($s6) +/* 00413094 27B91004 */ addiu $t9, $sp, 0x1004 +/* 00413098 55600014 */ bnel $t3, $zero, .L004130EC +/* 0041309C 27AC0384 */ addiu $t4, $sp, 0x384 +/* 004130A0 AE3E0000 */ sw $fp, ($s1) +/* 004130A4 8FAD018C */ lw $t5, 0x18c($sp) +/* 004130A8 02799021 */ addu $s2, $s3, $t9 +/* 004130AC 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 004130B0 AC6D0000 */ sw $t5, ($v1) +/* 004130B4 AFA700F4 */ sw $a3, 0xf4($sp) +/* 004130B8 0320F809 */ jalr $t9 +/* 004130BC 02002825 */ move $a1, $s0 +/* 004130C0 8FA700F4 */ lw $a3, 0xf4($sp) +/* 004130C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004130C8 AE420000 */ sw $v0, ($s2) +/* 004130CC 8EEE0000 */ lw $t6, ($s7) +/* 004130D0 26F7FFFC */ addiu $s7, $s7, -4 +/* 004130D4 2652FFFC */ addiu $s2, $s2, -4 +/* 004130D8 95D80022 */ lhu $t8, 0x22($t6) +/* 004130DC A4580022 */ sh $t8, 0x22($v0) +/* 004130E0 1000F132 */ b .L0040F5AC +/* 004130E4 A7A71648 */ sh $a3, 0x1648($sp) +/* 004130E8 27AC0384 */ addiu $t4, $sp, 0x384 +.L004130EC: +/* 004130EC 10000162 */ b .L00413678 +/* 004130F0 024CA821 */ addu $s5, $s2, $t4 +.L004130F4: +/* 004130F4 97A901CA */ lhu $t1, 0x1ca($sp) +/* 004130F8 97AB1648 */ lhu $t3, 0x1648($sp) +/* 004130FC 27AA0384 */ addiu $t2, $sp, 0x384 +/* 00413100 312F0002 */ andi $t7, $t1, 2 +/* 00413104 11E00006 */ beqz $t7, .L00413120 +/* 00413108 000B6880 */ sll $t5, $t3, 2 +/* 0041310C 25B9FFFC */ addiu $t9, $t5, -4 +/* 00413110 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 00413114 032EB021 */ addu $s6, $t9, $t6 +/* 00413118 10000157 */ b .L00413678 +/* 0041311C 024AA821 */ addu $s5, $s2, $t2 +.L00413120: +/* 00413120 8EF80000 */ lw $t8, ($s7) +/* 00413124 97AF1648 */ lhu $t7, 0x1648($sp) +/* 00413128 27AD1004 */ addiu $t5, $sp, 0x1004 +/* 0041312C 1700001A */ bnez $t8, .L00413198 +/* 00413130 000F5080 */ sll $t2, $t7, 2 +/* 00413134 00079880 */ sll $s3, $a3, 2 +/* 00413138 27AC09C4 */ addiu $t4, $sp, 0x9c4 +/* 0041313C 026C8821 */ addu $s1, $s3, $t4 +/* 00413140 8E290000 */ lw $t1, ($s1) +/* 00413144 8E8F0000 */ lw $t7, ($s4) +/* 00413148 AE200000 */ sw $zero, ($s1) +/* 0041314C 97AE1648 */ lhu $t6, 0x1648($sp) +/* 00413150 012F0019 */ multu $t1, $t7 +/* 00413154 27AA1004 */ addiu $t2, $sp, 0x1004 +/* 00413158 026A5821 */ addu $t3, $s3, $t2 +/* 0041315C 8D6D0000 */ lw $t5, ($t3) +/* 00413160 000EC080 */ sll $t8, $t6, 2 +/* 00413164 270CFFFC */ addiu $t4, $t8, -4 +/* 00413168 27A91004 */ addiu $t1, $sp, 0x1004 +/* 0041316C 0189B021 */ addu $s6, $t4, $t1 +/* 00413170 27B90384 */ addiu $t9, $sp, 0x384 +/* 00413174 0000F012 */ mflo $fp +/* 00413178 15A00005 */ bnez $t5, .L00413190 +/* 0041317C 00000000 */ nop +/* 00413180 A7A71648 */ sh $a3, 0x1648($sp) +/* 00413184 2694FFFC */ addiu $s4, $s4, -4 +/* 00413188 1000F108 */ b .L0040F5AC +/* 0041318C AE9E0000 */ sw $fp, ($s4) +.L00413190: +/* 00413190 10000139 */ b .L00413678 +/* 00413194 0259A821 */ addu $s5, $s2, $t9 +.L00413198: +/* 00413198 254BFFFC */ addiu $t3, $t2, -4 +/* 0041319C 016DB021 */ addu $s6, $t3, $t5 +/* 004131A0 8ECE0000 */ lw $t6, ($s6) +/* 004131A4 27B90384 */ addiu $t9, $sp, 0x384 +/* 004131A8 0259A821 */ addu $s5, $s2, $t9 +/* 004131AC 15C00132 */ bnez $t6, .L00413678 +/* 004131B0 27AC09C4 */ addiu $t4, $sp, 0x9c4 +/* 004131B4 014C4821 */ addu $t1, $t2, $t4 +/* 004131B8 8D2FFFFC */ lw $t7, -4($t1) +/* 004131BC 8E980000 */ lw $t8, ($s4) +/* 004131C0 AE800000 */ sw $zero, ($s4) +/* 004131C4 030F0019 */ multu $t8, $t7 +/* 004131C8 0000F012 */ mflo $fp +/* 004131CC 1000012A */ b .L00413678 +/* 004131D0 00000000 */ nop +/* 004131D4 8E8A0000 */ lw $t2, ($s4) +.L004131D8: +/* 004131D8 8FAC01CC */ lw $t4, 0x1cc($sp) +/* 004131DC 97AB1648 */ lhu $t3, 0x1648($sp) +/* 004131E0 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 004131E4 014C0019 */ multu $t2, $t4 +/* 004131E8 000B6880 */ sll $t5, $t3, 2 +/* 004131EC 25B9FFFC */ addiu $t9, $t5, -4 +/* 004131F0 032E8821 */ addu $s1, $t9, $t6 +/* 004131F4 8E380000 */ lw $t8, ($s1) +/* 004131F8 8EF00000 */ lw $s0, ($s7) +/* 004131FC AE200000 */ sw $zero, ($s1) +/* 00413200 AE800000 */ sw $zero, ($s4) +/* 00413204 00004812 */ mflo $t1 +/* 00413208 0309F021 */ addu $fp, $t8, $t1 +/* 0041320C 56000006 */ bnel $s0, $zero, .L00413228 +/* 00413210 97AB1648 */ lhu $t3, 0x1648($sp) +/* 00413214 A7A71648 */ sh $a3, 0x1648($sp) +/* 00413218 2694FFFC */ addiu $s4, $s4, -4 +/* 0041321C 1000F0E3 */ b .L0040F5AC +/* 00413220 AE9E0000 */ sw $fp, ($s4) +/* 00413224 97AB1648 */ lhu $t3, 0x1648($sp) +.L00413228: +/* 00413228 8FAA01CC */ lw $t2, 0x1cc($sp) +/* 0041322C 27AF0384 */ addiu $t7, $sp, 0x384 +/* 00413230 000B6880 */ sll $t5, $t3, 2 +/* 00413234 25B9FFFC */ addiu $t9, $t5, -4 +/* 00413238 27AE1004 */ addiu $t6, $sp, 0x1004 +/* 0041323C 24010001 */ li $at, 1 +/* 00413240 032EB021 */ addu $s6, $t9, $t6 +/* 00413244 11410013 */ beq $t2, $at, .L00413294 +/* 00413248 024FA821 */ addu $s5, $s2, $t7 +/* 0041324C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00413250 24040008 */ li $a0, 8 +/* 00413254 00002825 */ move $a1, $zero +/* 00413258 01403025 */ move $a2, $t2 +/* 0041325C 0320F809 */ jalr $t9 +/* 00413260 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413264 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413268 2404005B */ li $a0, 91 +/* 0041326C 02002825 */ move $a1, $s0 +/* 00413270 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00413274 00403025 */ move $a2, $v0 +/* 00413278 0320F809 */ jalr $t9 +/* 0041327C 00000000 */ nop +/* 00413280 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413284 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00413288 AEE20000 */ sw $v0, ($s7) +/* 0041328C 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 00413290 A44C0022 */ sh $t4, 0x22($v0) +.L00413294: +/* 00413294 24180001 */ li $t8, 1 +/* 00413298 100000F7 */ b .L00413678 +/* 0041329C A3B801C8 */ sb $t8, 0x1c8($sp) +.L004132A0: +/* 004132A0 97A21648 */ lhu $v0, 0x1648($sp) +.L004132A4: +/* 004132A4 8EEC0000 */ lw $t4, ($s7) +/* 004132A8 27A90384 */ addiu $t1, $sp, 0x384 +/* 004132AC 00027880 */ sll $t7, $v0, 2 +/* 004132B0 0002C880 */ sll $t9, $v0, 2 +/* 004132B4 272EFFFC */ addiu $t6, $t9, -4 +/* 004132B8 25EBFFFC */ addiu $t3, $t7, -4 +/* 004132BC 27AD1004 */ addiu $t5, $sp, 0x1004 +/* 004132C0 27AA09C4 */ addiu $t2, $sp, 0x9c4 +/* 004132C4 01CA8821 */ addu $s1, $t6, $t2 +/* 004132C8 016DB021 */ addu $s6, $t3, $t5 +/* 004132CC 15800004 */ bnez $t4, .L004132E0 +/* 004132D0 0249A821 */ addu $s5, $s2, $t1 +/* 004132D4 8E220000 */ lw $v0, ($s1) +/* 004132D8 1000000E */ b .L00413314 +/* 004132DC 0040F025 */ move $fp, $v0 +.L004132E0: +/* 004132E0 8ED80000 */ lw $t8, ($s6) +/* 004132E4 57000005 */ bnel $t8, $zero, .L004132FC +/* 004132E8 8E220000 */ lw $v0, ($s1) +/* 004132EC 8E9E0000 */ lw $fp, ($s4) +/* 004132F0 10000008 */ b .L00413314 +/* 004132F4 8E220000 */ lw $v0, ($s1) +/* 004132F8 8E220000 */ lw $v0, ($s1) +.L004132FC: +/* 004132FC 8E890000 */ lw $t1, ($s4) +/* 00413300 0040F025 */ move $fp, $v0 +/* 00413304 0122082A */ slt $at, $t1, $v0 +/* 00413308 50200003 */ beql $at, $zero, .L00413318 +/* 0041330C 005E7823 */ subu $t7, $v0, $fp +/* 00413310 0120F025 */ move $fp, $t1 +.L00413314: +/* 00413314 005E7823 */ subu $t7, $v0, $fp +.L00413318: +/* 00413318 AE2F0000 */ sw $t7, ($s1) +/* 0041331C 8E8B0000 */ lw $t3, ($s4) +/* 00413320 017E6823 */ subu $t5, $t3, $fp +/* 00413324 AE8D0000 */ sw $t5, ($s4) +/* 00413328 100000D3 */ b .L00413678 +/* 0041332C 0000F025 */ move $fp, $zero +/* 00413330 97A21648 */ lhu $v0, 0x1648($sp) +.L00413334: +/* 00413334 27AA09C4 */ addiu $t2, $sp, 0x9c4 +/* 00413338 27AC0384 */ addiu $t4, $sp, 0x384 +/* 0041333C 0002C880 */ sll $t9, $v0, 2 +/* 00413340 272EFFFC */ addiu $t6, $t9, -4 +/* 00413344 01CA8821 */ addu $s1, $t6, $t2 +/* 00413348 8E2B0000 */ lw $t3, ($s1) +/* 0041334C 0002C080 */ sll $t8, $v0, 2 +/* 00413350 2709FFFC */ addiu $t1, $t8, -4 +/* 00413354 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 00413358 012FB021 */ addu $s6, $t1, $t7 +/* 0041335C 11600016 */ beqz $t3, .L004133B8 +/* 00413360 024CA821 */ addu $s5, $s2, $t4 +/* 00413364 8E8D0000 */ lw $t5, ($s4) +/* 00413368 55A00014 */ bnel $t5, $zero, .L004133BC +/* 0041336C 93B801C9 */ lbu $t8, 0x1c9($sp) +/* 00413370 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00413374 02C02025 */ move $a0, $s6 +/* 00413378 02E02825 */ move $a1, $s7 +/* 0041337C 0320F809 */ jalr $t9 +/* 00413380 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413384 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413388 02202025 */ move $a0, $s1 +/* 0041338C 02802825 */ move $a1, $s4 +/* 00413390 8F998414 */ lw $t9, %call16(swap_int)($gp) +/* 00413394 0320F809 */ jalr $t9 +/* 00413398 00000000 */ nop +/* 0041339C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004133A0 93B901C8 */ lbu $t9, 0x1c8($sp) +/* 004133A4 8FA700F4 */ lw $a3, 0xf4($sp) +/* 004133A8 8F8E891C */ lw $t6, %got(reverse)($gp) +/* 004133AC 032E5021 */ addu $t2, $t9, $t6 +/* 004133B0 914C0000 */ lbu $t4, ($t2) +/* 004133B4 A3AC01C8 */ sb $t4, 0x1c8($sp) +.L004133B8: +/* 004133B8 93B801C9 */ lbu $t8, 0x1c9($sp) +.L004133BC: +/* 004133BC 24010006 */ li $at, 6 +/* 004133C0 3309001F */ andi $t1, $t8, 0x1f +/* 004133C4 152100AC */ bne $t1, $at, .L00413678 +/* 004133C8 00000000 */ nop +/* 004133CC 8EF00000 */ lw $s0, ($s7) +/* 004133D0 52000007 */ beql $s0, $zero, .L004133F0 +/* 004133D4 8E850000 */ lw $a1, ($s4) +/* 004133D8 920F0021 */ lbu $t7, 0x21($s0) +/* 004133DC 24010006 */ li $at, 6 +/* 004133E0 31EB001F */ andi $t3, $t7, 0x1f +/* 004133E4 156100A4 */ bne $t3, $at, .L00413678 +/* 004133E8 00000000 */ nop +/* 004133EC 8E850000 */ lw $a1, ($s4) +.L004133F0: +/* 004133F0 24010001 */ li $at, 1 +/* 004133F4 93AD01C8 */ lbu $t5, 0x1c8($sp) +/* 004133F8 14A10006 */ bne $a1, $at, .L00413414 +/* 004133FC 2401004E */ li $at, 78 +/* 00413400 15A10004 */ bne $t5, $at, .L00413414 +/* 00413404 2419004D */ li $t9, 77 +/* 00413408 A3B901C8 */ sb $t9, 0x1c8($sp) +/* 0041340C 1000009A */ b .L00413678 +/* 00413410 AE800000 */ sw $zero, ($s4) +.L00413414: +/* 00413414 24010001 */ li $at, 1 +/* 00413418 14A10007 */ bne $a1, $at, .L00413438 +/* 0041341C 93AE01C8 */ lbu $t6, 0x1c8($sp) +/* 00413420 24010028 */ li $at, 40 +/* 00413424 15C10004 */ bne $t6, $at, .L00413438 +/* 00413428 240A0029 */ li $t2, 41 +/* 0041342C A3AA01C8 */ sb $t2, 0x1c8($sp) +/* 00413430 10000091 */ b .L00413678 +/* 00413434 AE800000 */ sw $zero, ($s4) +.L00413438: +/* 00413438 2401FFFF */ li $at, -1 +/* 0041343C 14A10007 */ bne $a1, $at, .L0041345C +/* 00413440 93AC01C8 */ lbu $t4, 0x1c8($sp) +/* 00413444 2401004D */ li $at, 77 +/* 00413448 15810004 */ bne $t4, $at, .L0041345C +/* 0041344C 2418004E */ li $t8, 78 +/* 00413450 A3B801C8 */ sb $t8, 0x1c8($sp) +/* 00413454 10000088 */ b .L00413678 +/* 00413458 AE800000 */ sw $zero, ($s4) +.L0041345C: +/* 0041345C 2401FFFF */ li $at, -1 +/* 00413460 14A10085 */ bne $a1, $at, .L00413678 +/* 00413464 93A901C8 */ lbu $t1, 0x1c8($sp) +/* 00413468 24010029 */ li $at, 41 +/* 0041346C 15210082 */ bne $t1, $at, .L00413678 +/* 00413470 240F0028 */ li $t7, 40 +/* 00413474 A3AF01C8 */ sb $t7, 0x1c8($sp) +/* 00413478 1000007F */ b .L00413678 +/* 0041347C AE800000 */ sw $zero, ($s4) +.L00413480: +/* 00413480 97AD1648 */ lhu $t5, 0x1648($sp) +/* 00413484 27AB0384 */ addiu $t3, $sp, 0x384 +/* 00413488 27AA1004 */ addiu $t2, $sp, 0x1004 +/* 0041348C 000DC880 */ sll $t9, $t5, 2 +/* 00413490 272EFFFC */ addiu $t6, $t9, -4 +/* 00413494 01CAB021 */ addu $s6, $t6, $t2 +/* 00413498 10000077 */ b .L00413678 +/* 0041349C 024BA821 */ addu $s5, $s2, $t3 +/* 004134A0 8E8C0000 */ lw $t4, ($s4) +.L004134A4: +/* 004134A4 27A90384 */ addiu $t1, $sp, 0x384 +/* 004134A8 27B91004 */ addiu $t9, $sp, 0x1004 +/* 004134AC 3198001F */ andi $t8, $t4, 0x1f +/* 004134B0 AE980000 */ sw $t8, ($s4) +/* 004134B4 97AF1648 */ lhu $t7, 0x1648($sp) +/* 004134B8 0249A821 */ addu $s5, $s2, $t1 +/* 004134BC 000F5880 */ sll $t3, $t7, 2 +/* 004134C0 256DFFFC */ addiu $t5, $t3, -4 +/* 004134C4 1000006C */ b .L00413678 +/* 004134C8 01B9B021 */ addu $s6, $t5, $t9 +.L004134CC: +/* 004134CC 97AA1648 */ lhu $t2, 0x1648($sp) +/* 004134D0 8EEF0000 */ lw $t7, ($s7) +/* 004134D4 27AE0384 */ addiu $t6, $sp, 0x384 +/* 004134D8 000A6080 */ sll $t4, $t2, 2 +/* 004134DC 2598FFFC */ addiu $t8, $t4, -4 +/* 004134E0 27A91004 */ addiu $t1, $sp, 0x1004 +/* 004134E4 0309B021 */ addu $s6, $t8, $t1 +/* 004134E8 15E00063 */ bnez $t7, .L00413678 +/* 004134EC 024EA821 */ addu $s5, $s2, $t6 +/* 004134F0 8E850000 */ lw $a1, ($s4) +/* 004134F4 10A00060 */ beqz $a1, .L00413678 +/* 004134F8 00000000 */ nop +/* 004134FC 8EC20000 */ lw $v0, ($s6) +/* 00413500 1040005D */ beqz $v0, .L00413678 +/* 00413504 00000000 */ nop +/* 00413508 904B0021 */ lbu $t3, 0x21($v0) +/* 0041350C 24010008 */ li $at, 8 +/* 00413510 2599FFFC */ addiu $t9, $t4, -4 +/* 00413514 316D001F */ andi $t5, $t3, 0x1f +/* 00413518 11A10057 */ beq $t5, $at, .L00413678 +/* 0041351C 27AE09C4 */ addiu $t6, $sp, 0x9c4 +/* 00413520 032E8821 */ addu $s1, $t9, $t6 +/* 00413524 8E2A0000 */ lw $t2, ($s1) +/* 00413528 0145001A */ div $zero, $t2, $a1 +/* 0041352C 0000C010 */ mfhi $t8 +/* 00413530 03054826 */ xor $t1, $t8, $a1 +/* 00413534 14A00002 */ bnez $a1, .L00413540 +/* 00413538 00000000 */ nop +/* 0041353C 0007000D */ break 7 +.L00413540: +/* 00413540 2401FFFF */ li $at, -1 +/* 00413544 14A10004 */ bne $a1, $at, .L00413558 +/* 00413548 3C018000 */ lui $at, 0x8000 +/* 0041354C 15410002 */ bne $t2, $at, .L00413558 +/* 00413550 00000000 */ nop +/* 00413554 0006000D */ break 6 +.L00413558: +/* 00413558 05210002 */ bgez $t1, .L00413564 +/* 0041355C 00000000 */ nop +/* 00413560 0305C021 */ addu $t8, $t8, $a1 +.L00413564: +/* 00413564 10000044 */ b .L00413678 +/* 00413568 AE380000 */ sw $t8, ($s1) +.L0041356C: +/* 0041356C 97AB1648 */ lhu $t3, 0x1648($sp) +.L00413570: +/* 00413570 27AF0384 */ addiu $t7, $sp, 0x384 +/* 00413574 27B91004 */ addiu $t9, $sp, 0x1004 +/* 00413578 000B6880 */ sll $t5, $t3, 2 +/* 0041357C 25ACFFFC */ addiu $t4, $t5, -4 +/* 00413580 0199B021 */ addu $s6, $t4, $t9 +/* 00413584 1000003C */ b .L00413678 +/* 00413588 024FA821 */ addu $s5, $s2, $t7 +.L0041358C: +/* 0041358C 2C410042 */ sltiu $at, $v0, 0x42 +/* 00413590 14200011 */ bnez $at, .L004135D8 +/* 00413594 2C410060 */ sltiu $at, $v0, 0x60 +/* 00413598 14200007 */ bnez $at, .L004135B8 +/* 0041359C 2C410075 */ sltiu $at, $v0, 0x75 +/* 004135A0 14200030 */ bnez $at, .L00413664 +/* 004135A4 2401007D */ li $at, 125 +/* 004135A8 5041FE6F */ beql $v0, $at, .L00412F68 +/* 004135AC 93B901C8 */ lbu $t9, 0x1c8($sp) +/* 004135B0 1000FFEF */ b .L00413570 +/* 004135B4 97AB1648 */ lhu $t3, 0x1648($sp) +.L004135B8: +/* 004135B8 2C41004F */ sltiu $at, $v0, 0x4f +/* 004135BC 1020001F */ beqz $at, .L0041363C +/* 004135C0 244EFFAB */ addiu $t6, $v0, -0x55 +/* 004135C4 2C41004D */ sltiu $at, $v0, 0x4d +/* 004135C8 5020FF5A */ beql $at, $zero, .L00413334 +/* 004135CC 97A21648 */ lhu $v0, 0x1648($sp) +/* 004135D0 1000FFE7 */ b .L00413570 +/* 004135D4 97AB1648 */ lhu $t3, 0x1648($sp) +.L004135D8: +/* 004135D8 2C41000A */ sltiu $at, $v0, 0xa +/* 004135DC 1420000A */ bnez $at, .L00413608 +/* 004135E0 24010023 */ li $at, 35 +/* 004135E4 5041FF2F */ beql $v0, $at, .L004132A4 +/* 004135E8 97A21648 */ lhu $v0, 0x1648($sp) +/* 004135EC 2C41002A */ sltiu $at, $v0, 0x2a +/* 004135F0 1020000D */ beqz $at, .L00413628 +/* 004135F4 2C410028 */ sltiu $at, $v0, 0x28 +/* 004135F8 5020FF4E */ beql $at, $zero, .L00413334 +/* 004135FC 97A21648 */ lhu $v0, 0x1648($sp) +/* 00413600 1000FFDB */ b .L00413570 +/* 00413604 97AB1648 */ lhu $t3, 0x1648($sp) +.L00413608: +/* 00413608 24010001 */ li $at, 1 +/* 0041360C 1041FE05 */ beq $v0, $at, .L00412E24 +/* 00413610 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 00413614 24010009 */ li $at, 9 +/* 00413618 5041FE53 */ beql $v0, $at, .L00412F68 +/* 0041361C 93B901C8 */ lbu $t9, 0x1c8($sp) +/* 00413620 1000FFD3 */ b .L00413570 +/* 00413624 97AB1648 */ lhu $t3, 0x1648($sp) +.L00413628: +/* 00413628 24010041 */ li $at, 65 +/* 0041362C 5041FEEA */ beql $v0, $at, .L004131D8 +/* 00413630 8E8A0000 */ lw $t2, ($s4) +/* 00413634 1000FFCE */ b .L00413570 +/* 00413638 97AB1648 */ lhu $t3, 0x1648($sp) +.L0041363C: +/* 0041363C 2DC1000B */ sltiu $at, $t6, 0xb +/* 00413640 5020FFCB */ beql $at, $zero, .L00413570 +/* 00413644 97AB1648 */ lhu $t3, 0x1648($sp) +/* 00413648 8F818038 */ lw $at, %got(jtbl_100090E8)($gp) +/* 0041364C 000E7080 */ sll $t6, $t6, 2 +/* 00413650 002E0821 */ addu $at, $at, $t6 +/* 00413654 8C2E90E8 */ lw $t6, %lo(jtbl_100090E8)($at) +/* 00413658 01DC7021 */ addu $t6, $t6, $gp +/* 0041365C 01C00008 */ jr $t6 +/* 00413660 00000000 */ nop +.L00413664: +/* 00413664 2C410073 */ sltiu $at, $v0, 0x73 +/* 00413668 5020FF8E */ beql $at, $zero, .L004134A4 +/* 0041366C 8E8C0000 */ lw $t4, ($s4) +/* 00413670 1000FFBF */ b .L00413570 +/* 00413674 97AB1648 */ lhu $t3, 0x1648($sp) +.L00413678: +/* 00413678 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 0041367C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413680 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413684 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00413688 0320F809 */ jalr $t9 +/* 0041368C AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413690 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413694 8FA400F4 */ lw $a0, 0xf4($sp) +/* 00413698 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041369C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004136A0 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004136A4 0320F809 */ jalr $t9 +/* 004136A8 00000000 */ nop +/* 004136AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004136B0 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 004136B4 8EC50000 */ lw $a1, ($s6) +/* 004136B8 8F998660 */ lw $t9, %call16(build_u2)($gp) +/* 004136BC 8EE60000 */ lw $a2, ($s7) +/* 004136C0 0320F809 */ jalr $t9 +/* 004136C4 00000000 */ nop +/* 004136C8 8FA700F4 */ lw $a3, 0xf4($sp) +/* 004136CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004136D0 26F7FFFC */ addiu $s7, $s7, -4 +/* 004136D4 A7A71648 */ sh $a3, 0x1648($sp) +/* 004136D8 AEE20000 */ sw $v0, ($s7) +/* 004136DC AE9EFFFC */ sw $fp, -4($s4) +/* 004136E0 8FAA018C */ lw $t2, 0x18c($sp) +/* 004136E4 2694FFFC */ addiu $s4, $s4, -4 +/* 004136E8 26B5FFFC */ addiu $s5, $s5, -4 +/* 004136EC 1000EFAF */ b .L0040F5AC +/* 004136F0 AEAA0000 */ sw $t2, ($s5) +.L004136F4: +/* 004136F4 97A91648 */ lhu $t1, 0x1648($sp) +/* 004136F8 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 004136FC 27AF1004 */ addiu $t7, $sp, 0x1004 +/* 00413700 0009C080 */ sll $t8, $t1, 2 +/* 00413704 030F1021 */ addu $v0, $t8, $t7 +/* 00413708 27AB09C4 */ addiu $t3, $sp, 0x9c4 +/* 0041370C 27AD0384 */ addiu $t5, $sp, 0x384 +/* 00413710 31990002 */ andi $t9, $t4, 2 +/* 00413714 030DA821 */ addu $s5, $t8, $t5 +/* 00413718 030BA021 */ addu $s4, $t8, $t3 +/* 0041371C 2456FFFC */ addiu $s6, $v0, -4 +/* 00413720 2453FFF8 */ addiu $s3, $v0, -8 +/* 00413724 1320003F */ beqz $t9, .L00413824 +/* 00413728 030FB821 */ addu $s7, $t8, $t7 +/* 0041372C 8EC20000 */ lw $v0, ($s6) +/* 00413730 93A901C9 */ lbu $t1, 0x1c9($sp) +/* 00413734 50400007 */ beql $v0, $zero, .L00413754 +/* 00413738 8EF00000 */ lw $s0, ($s7) +/* 0041373C 904E0021 */ lbu $t6, 0x21($v0) +/* 00413740 312B001F */ andi $t3, $t1, 0x1f +/* 00413744 31CA001F */ andi $t2, $t6, 0x1f +/* 00413748 554B0020 */ bnel $t2, $t3, .L004137CC +/* 0041374C 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413750 8EF00000 */ lw $s0, ($s7) +.L00413754: +/* 00413754 93AF01C9 */ lbu $t7, 0x1c9($sp) +/* 00413758 52000007 */ beql $s0, $zero, .L00413778 +/* 0041375C 8E660000 */ lw $a2, ($s3) +/* 00413760 920D0021 */ lbu $t5, 0x21($s0) +/* 00413764 31EC001F */ andi $t4, $t7, 0x1f +/* 00413768 31B8001F */ andi $t8, $t5, 0x1f +/* 0041376C 570C0017 */ bnel $t8, $t4, .L004137CC +/* 00413770 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413774 8E660000 */ lw $a2, ($s3) +.L00413778: +/* 00413778 97AB1648 */ lhu $t3, 0x1648($sp) +/* 0041377C 93A901C9 */ lbu $t1, 0x1c9($sp) +/* 00413780 10C00005 */ beqz $a2, .L00413798 +/* 00413784 000B6880 */ sll $t5, $t3, 2 +/* 00413788 90D90021 */ lbu $t9, 0x21($a2) +/* 0041378C 312A001F */ andi $t2, $t1, 0x1f +/* 00413790 332E001F */ andi $t6, $t9, 0x1f +/* 00413794 15CA000C */ bne $t6, $t2, .L004137C8 +.L00413798: +/* 00413798 27AF0384 */ addiu $t7, $sp, 0x384 +/* 0041379C 01AF1021 */ addu $v0, $t5, $t7 +/* 004137A0 8C58FFF8 */ lw $t8, -8($v0) +/* 004137A4 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 004137A8 570C0008 */ bnel $t8, $t4, .L004137CC +/* 004137AC 97A41648 */ lhu $a0, 0x1648($sp) +/* 004137B0 8C59FFFC */ lw $t9, -4($v0) +/* 004137B4 572C0005 */ bnel $t9, $t4, .L004137CC +/* 004137B8 97A41648 */ lhu $a0, 0x1648($sp) +/* 004137BC 8EA90000 */ lw $t1, ($s5) +/* 004137C0 512C0019 */ beql $t1, $t4, .L00413828 +/* 004137C4 8E660000 */ lw $a2, ($s3) +.L004137C8: +/* 004137C8 97A41648 */ lhu $a0, 0x1648($sp) +.L004137CC: +/* 004137CC 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004137D0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004137D4 2487FFFF */ addiu $a3, $a0, -1 +/* 004137D8 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004137DC 0320F809 */ jalr $t9 +/* 004137E0 AFA700F4 */ sw $a3, 0xf4($sp) +/* 004137E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004137E8 8FA400F4 */ lw $a0, 0xf4($sp) +/* 004137EC 27A21650 */ addiu $v0, $sp, 0x1650 +/* 004137F0 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 004137F4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 004137F8 0320F809 */ jalr $t9 +/* 004137FC 00000000 */ nop +/* 00413800 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413804 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413808 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041380C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00413810 2484FFFE */ addiu $a0, $a0, -2 +/* 00413814 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00413818 0320F809 */ jalr $t9 +/* 0041381C 00000000 */ nop +/* 00413820 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413824: +/* 00413824 8E660000 */ lw $a2, ($s3) +.L00413828: +/* 00413828 97AA1648 */ lhu $t2, 0x1648($sp) +/* 0041382C 14C0001B */ bnez $a2, .L0041389C +/* 00413830 2552FFFE */ addiu $s2, $t2, -2 +/* 00413834 8ECB0000 */ lw $t3, ($s6) +/* 00413838 000A6880 */ sll $t5, $t2, 2 +/* 0041383C 25AFFFFC */ addiu $t7, $t5, -4 +/* 00413840 15600016 */ bnez $t3, .L0041389C +/* 00413844 27B809C4 */ addiu $t8, $sp, 0x9c4 +/* 00413848 25B9FFF8 */ addiu $t9, $t5, -8 +/* 0041384C 03381021 */ addu $v0, $t9, $t8 +/* 00413850 01F88821 */ addu $s1, $t7, $t8 +/* 00413854 8E290000 */ lw $t1, ($s1) +/* 00413858 8C4C0000 */ lw $t4, ($v0) +/* 0041385C 8E8B0000 */ lw $t3, ($s4) +/* 00413860 AC400000 */ sw $zero, ($v0) +/* 00413864 012C0019 */ multu $t1, $t4 +/* 00413868 AE200000 */ sw $zero, ($s1) +/* 0041386C 8EF30000 */ lw $s3, ($s7) +/* 00413870 AE800000 */ sw $zero, ($s4) +/* 00413874 A7B21648 */ sh $s2, 0x1648($sp) +/* 00413878 26F7FFF8 */ addiu $s7, $s7, -8 +/* 0041387C 2694FFF8 */ addiu $s4, $s4, -8 +/* 00413880 26B5FFF8 */ addiu $s5, $s5, -8 +/* 00413884 AEA00000 */ sw $zero, ($s5) +/* 00413888 AEF30000 */ sw $s3, ($s7) +/* 0041388C 00007012 */ mflo $t6 +/* 00413890 016EF021 */ addu $fp, $t3, $t6 +/* 00413894 1000EF45 */ b .L0040F5AC +/* 00413898 AE9E0000 */ sw $fp, ($s4) +.L0041389C: +/* 0041389C 97AA1648 */ lhu $t2, 0x1648($sp) +/* 004138A0 14C00010 */ bnez $a2, .L004138E4 +/* 004138A4 2547FFFF */ addiu $a3, $t2, -1 +/* 004138A8 000A7880 */ sll $t7, $t2, 2 +/* 004138AC 27B909C4 */ addiu $t9, $sp, 0x9c4 +/* 004138B0 25EDFFFC */ addiu $t5, $t7, -4 +/* 004138B4 01B98821 */ addu $s1, $t5, $t9 +/* 004138B8 01F94821 */ addu $t1, $t7, $t9 +/* 004138BC 8D2CFFF8 */ lw $t4, -8($t1) +/* 004138C0 8E380000 */ lw $t8, ($s1) +/* 004138C4 8E8E0000 */ lw $t6, ($s4) +/* 004138C8 AE200000 */ sw $zero, ($s1) +/* 004138CC 030C0019 */ multu $t8, $t4 +/* 004138D0 AE800000 */ sw $zero, ($s4) +/* 004138D4 00005812 */ mflo $t3 +/* 004138D8 01CBF021 */ addu $fp, $t6, $t3 +/* 004138DC 10000016 */ b .L00413938 +/* 004138E0 00000000 */ nop +.L004138E4: +/* 004138E4 8ECA0000 */ lw $t2, ($s6) +/* 004138E8 55400012 */ bnel $t2, $zero, .L00413934 +/* 004138EC 8E9E0000 */ lw $fp, ($s4) +/* 004138F0 97AD1648 */ lhu $t5, 0x1648($sp) +/* 004138F4 27A909C4 */ addiu $t1, $sp, 0x9c4 +/* 004138F8 8E8A0000 */ lw $t2, ($s4) +/* 004138FC 000D7880 */ sll $t7, $t5, 2 +/* 00413900 25F9FFF8 */ addiu $t9, $t7, -8 +/* 00413904 03291021 */ addu $v0, $t9, $t1 +/* 00413908 01E9C021 */ addu $t8, $t7, $t1 +/* 0041390C 8F0CFFFC */ lw $t4, -4($t8) +/* 00413910 8C4E0000 */ lw $t6, ($v0) +/* 00413914 AC400000 */ sw $zero, ($v0) +/* 00413918 AE800000 */ sw $zero, ($s4) +/* 0041391C 018E0019 */ multu $t4, $t6 +/* 00413920 00005812 */ mflo $t3 +/* 00413924 014BF021 */ addu $fp, $t2, $t3 +/* 00413928 10000003 */ b .L00413938 +/* 0041392C 00000000 */ nop +/* 00413930 8E9E0000 */ lw $fp, ($s4) +.L00413934: +/* 00413934 AE800000 */ sw $zero, ($s4) +.L00413938: +/* 00413938 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 0041393C 02402025 */ move $a0, $s2 +/* 00413940 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413944 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00413948 0320F809 */ jalr $t9 +/* 0041394C AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413950 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413954 8FA400F4 */ lw $a0, 0xf4($sp) +/* 00413958 27A21650 */ addiu $v0, $sp, 0x1650 +/* 0041395C 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00413960 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00413964 0320F809 */ jalr $t9 +/* 00413968 00000000 */ nop +/* 0041396C 8E660000 */ lw $a2, ($s3) +/* 00413970 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413974 14C00009 */ bnez $a2, .L0041399C +/* 00413978 00000000 */ nop +/* 0041397C 97AD1648 */ lhu $t5, 0x1648($sp) +/* 00413980 27AF09C4 */ addiu $t7, $sp, 0x9c4 +/* 00413984 24010001 */ li $at, 1 +/* 00413988 000DC880 */ sll $t9, $t5, 2 +/* 0041398C 032F4821 */ addu $t1, $t9, $t7 +/* 00413990 8D38FFF8 */ lw $t8, -8($t1) +/* 00413994 5301000B */ beql $t8, $at, .L004139C4 +/* 00413998 8EF00000 */ lw $s0, ($s7) +.L0041399C: +/* 0041399C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004139A0 2404005B */ li $a0, 91 +/* 004139A4 8EC50000 */ lw $a1, ($s6) +/* 004139A8 0320F809 */ jalr $t9 +/* 004139AC 00000000 */ nop +/* 004139B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004139B4 AEC20000 */ sw $v0, ($s6) +/* 004139B8 97AC01CA */ lhu $t4, 0x1ca($sp) +/* 004139BC A44C0022 */ sh $t4, 0x22($v0) +/* 004139C0 8EF00000 */ lw $s0, ($s7) +.L004139C4: +/* 004139C4 5200000A */ beql $s0, $zero, .L004139F0 +/* 004139C8 8ED30000 */ lw $s3, ($s6) +/* 004139CC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004139D0 24040001 */ li $a0, 1 +/* 004139D4 02002825 */ move $a1, $s0 +/* 004139D8 0320F809 */ jalr $t9 +/* 004139DC 8EC60000 */ lw $a2, ($s6) +/* 004139E0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004139E4 10000002 */ b .L004139F0 +/* 004139E8 00409825 */ move $s3, $v0 +/* 004139EC 8ED30000 */ lw $s3, ($s6) +.L004139F0: +/* 004139F0 A7B21648 */ sh $s2, 0x1648($sp) +/* 004139F4 26F7FFF8 */ addiu $s7, $s7, -8 +/* 004139F8 2694FFF8 */ addiu $s4, $s4, -8 +/* 004139FC 26B5FFF8 */ addiu $s5, $s5, -8 +/* 00413A00 AEF30000 */ sw $s3, ($s7) +/* 00413A04 AE9E0000 */ sw $fp, ($s4) +/* 00413A08 1000EEE8 */ b .L0040F5AC +/* 00413A0C AEA00000 */ sw $zero, ($s5) +.L00413A10: +/* 00413A10 97AE1648 */ lhu $t6, 0x1648($sp) +/* 00413A14 27B909C4 */ addiu $t9, $sp, 0x9c4 +/* 00413A18 27AD1004 */ addiu $t5, $sp, 0x1004 +/* 00413A1C 000E9080 */ sll $s2, $t6, 2 +/* 00413A20 2649FFFC */ addiu $t1, $s2, -4 +/* 00413A24 01398821 */ addu $s1, $t1, $t9 +/* 00413A28 0259A021 */ addu $s4, $s2, $t9 +/* 00413A2C 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00413A30 264BFFFC */ addiu $t3, $s2, -4 +/* 00413A34 2658FFFC */ addiu $t8, $s2, -4 +/* 00413A38 27AF0384 */ addiu $t7, $sp, 0x384 +/* 00413A3C 024FA821 */ addu $s5, $s2, $t7 +/* 00413A40 030F8021 */ addu $s0, $t8, $t7 +/* 00413A44 016D2021 */ addu $a0, $t3, $t5 +/* 00413A48 0320F809 */ jalr $t9 +/* 00413A4C 024D2821 */ addu $a1, $s2, $t5 +/* 00413A50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413A54 02202025 */ move $a0, $s1 +/* 00413A58 02802825 */ move $a1, $s4 +/* 00413A5C 8F998414 */ lw $t9, %call16(swap_int)($gp) +/* 00413A60 0320F809 */ jalr $t9 +/* 00413A64 00000000 */ nop +/* 00413A68 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413A6C 02002025 */ move $a0, $s0 +/* 00413A70 02A02825 */ move $a1, $s5 +/* 00413A74 8F998414 */ lw $t9, %call16(swap_int)($gp) +/* 00413A78 0320F809 */ jalr $t9 +/* 00413A7C 00000000 */ nop +/* 00413A80 1000EECA */ b .L0040F5AC +/* 00413A84 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413A88: +/* 00413A88 97AC1648 */ lhu $t4, 0x1648($sp) +/* 00413A8C 8F998018 */ lw $t9, %got(func_0040F230)($gp) +/* 00413A90 27AB1004 */ addiu $t3, $sp, 0x1004 +/* 00413A94 000C7080 */ sll $t6, $t4, 2 +/* 00413A98 01CBB821 */ addu $s7, $t6, $t3 +/* 00413A9C 8EE40000 */ lw $a0, ($s7) +/* 00413AA0 2587FFFF */ addiu $a3, $t4, -1 +/* 00413AA4 2739F230 */ addiu $t9, %lo(func_0040F230) # addiu $t9, $t9, -0xdd0 +/* 00413AA8 AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413AAC 0320F809 */ jalr $t9 +/* 00413AB0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413AB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413AB8 14400003 */ bnez $v0, .L00413AC8 +/* 00413ABC 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00413AC0 1000EEBA */ b .L0040F5AC +/* 00413AC4 A7A71648 */ sh $a3, 0x1648($sp) +.L00413AC8: +/* 00413AC8 8F998018 */ lw $t9, %got(func_0040E2AC)($gp) +/* 00413ACC 97A41648 */ lhu $a0, 0x1648($sp) +/* 00413AD0 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413AD4 2739E2AC */ addiu $t9, %lo(func_0040E2AC) # addiu $t9, $t9, -0x1d54 +/* 00413AD8 0320F809 */ jalr $t9 +/* 00413ADC AFA700F4 */ sw $a3, 0xf4($sp) +/* 00413AE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413AE4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00413AE8 8EE50000 */ lw $a1, ($s7) +/* 00413AEC 8F99865C */ lw $t9, %call16(build_u1)($gp) +/* 00413AF0 0320F809 */ jalr $t9 +/* 00413AF4 00000000 */ nop +/* 00413AF8 8FA700F4 */ lw $a3, 0xf4($sp) +/* 00413AFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413B00 240D007B */ li $t5, 123 +/* 00413B04 A7A71648 */ sh $a3, 0x1648($sp) +/* 00413B08 90490021 */ lbu $t1, 0x21($v0) +/* 00413B0C 8C450000 */ lw $a1, ($v0) +/* 00413B10 A04D0020 */ sb $t5, 0x20($v0) +/* 00413B14 3139FF1F */ andi $t9, $t1, 0xff1f +/* 00413B18 37230060 */ ori $v1, $t9, 0x60 +/* 00413B1C A0430021 */ sb $v1, 0x21($v0) +/* 00413B20 AC40002C */ sw $zero, 0x2c($v0) +/* 00413B24 AC400030 */ sw $zero, 0x30($v0) +/* 00413B28 8CB80028 */ lw $t8, 0x28($a1) +/* 00413B2C 00035EC0 */ sll $t3, $v1, 0x1b +/* 00413B30 000B66C2 */ srl $t4, $t3, 0x1b +/* 00413B34 AC580028 */ sw $t8, 0x28($v0) +/* 00413B38 90AE0021 */ lbu $t6, 0x21($a1) +/* 00413B3C 00402025 */ move $a0, $v0 +/* 00413B40 01CC6826 */ xor $t5, $t6, $t4 +/* 00413B44 31A9001F */ andi $t1, $t5, 0x1f +/* 00413B48 0123C826 */ xor $t9, $t1, $v1 +/* 00413B4C A0590021 */ sb $t9, 0x21($v0) +/* 00413B50 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00413B54 8CAA0024 */ lw $t2, 0x24($a1) +/* 00413B58 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00413B5C AC4A0024 */ sw $t2, 0x24($v0) +/* 00413B60 0320F809 */ jalr $t9 +/* 00413B64 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413B68 1000EE90 */ b .L0040F5AC +/* 00413B6C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413B70: +/* 00413B70 97A71648 */ lhu $a3, 0x1648($sp) +/* 00413B74 24E7FFFF */ addiu $a3, $a3, -1 +/* 00413B78 1000EE8C */ b .L0040F5AC +/* 00413B7C A7A71648 */ sh $a3, 0x1648($sp) +.L00413B80: +/* 00413B80 97B81648 */ lhu $t8, 0x1648($sp) +/* 00413B84 8FAF01C4 */ lw $t7, 0x1c4($sp) +/* 00413B88 24040400 */ li $a0, 1024 +/* 00413B8C 030002B6 */ tne $t8, $zero, 0xa +/* 00413B90 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 00413B94 8FAB01D0 */ lw $t3, 0x1d0($sp) +/* 00413B98 240E0001 */ li $t6, 1 +/* 00413B9C AFAF01DC */ sw $t7, 0x1dc($sp) +/* 00413BA0 A3AE0183 */ sb $t6, 0x183($sp) +/* 00413BA4 00002825 */ move $a1, $zero +/* 00413BA8 0320F809 */ jalr $t9 +/* 00413BAC AFAB01D8 */ sw $t3, 0x1d8($sp) +/* 00413BB0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413BB4 AFA201C4 */ sw $v0, 0x1c4($sp) +/* 00413BB8 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00413BBC 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00413BC0 0320F809 */ jalr $t9 +/* 00413BC4 00000000 */ nop +/* 00413BC8 944C0022 */ lhu $t4, 0x22($v0) +/* 00413BCC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413BD0 00409825 */ move $s3, $v0 +/* 00413BD4 15800003 */ bnez $t4, .L00413BE4 +/* 00413BD8 93AD015F */ lbu $t5, 0x15f($sp) +/* 00413BDC 11A00006 */ beqz $t5, .L00413BF8 +/* 00413BE0 00000000 */ nop +.L00413BE4: +/* 00413BE4 8FA901F0 */ lw $t1, 0x1f0($sp) +/* 00413BE8 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 00413BEC 25390001 */ addiu $t9, $t1, 1 +/* 00413BF0 AFB901F0 */ sw $t9, 0x1f0($sp) +/* 00413BF4 A0200000 */ sb $zero, ($at) +.L00413BF8: +/* 00413BF8 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00413BFC 02602025 */ move $a0, $s3 +/* 00413C00 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413C04 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00413C08 0320F809 */ jalr $t9 +/* 00413C0C 00000000 */ nop +/* 00413C10 1000EE66 */ b .L0040F5AC +/* 00413C14 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413C18: +/* 00413C18 8FAA01CC */ lw $t2, 0x1cc($sp) +/* 00413C1C 1000EE63 */ b .L0040F5AC +/* 00413C20 AFAA0160 */ sw $t2, 0x160($sp) +.L00413C24: +/* 00413C24 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00413C28 8FB80160 */ lw $t8, 0x160($sp) +/* 00413C2C 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00413C30 0320F809 */ jalr $t9 +/* 00413C34 AFB801CC */ sw $t8, 0x1cc($sp) +/* 00413C38 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413C3C 00402025 */ move $a0, $v0 +/* 00413C40 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413C44 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00413C48 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00413C4C 0320F809 */ jalr $t9 +/* 00413C50 00000000 */ nop +/* 00413C54 1000EE55 */ b .L0040F5AC +/* 00413C58 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413C5C: +/* 00413C5C 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00413C60 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00413C64 0320F809 */ jalr $t9 +/* 00413C68 00000000 */ nop +/* 00413C6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413C70 00402025 */ move $a0, $v0 +/* 00413C74 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413C78 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00413C7C 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00413C80 0320F809 */ jalr $t9 +/* 00413C84 00000000 */ nop +/* 00413C88 97AB01CA */ lhu $t3, 0x1ca($sp) +/* 00413C8C 8FAF01CC */ lw $t7, 0x1cc($sp) +/* 00413C90 24010003 */ li $at, 3 +/* 00413C94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413C98 1561EE44 */ bne $t3, $at, .L0040F5AC +/* 00413C9C AFAF0158 */ sw $t7, 0x158($sp) +/* 00413CA0 8FAE01CC */ lw $t6, 0x1cc($sp) +/* 00413CA4 8F818970 */ lw $at, %got(non_local_mtag)($gp) +/* 00413CA8 1000EE40 */ b .L0040F5AC +/* 00413CAC AC2E0000 */ sw $t6, ($at) +.L00413CB0: +/* 00413CB0 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00413CB4 27A401C8 */ addiu $a0, $sp, 0x1c8 +/* 00413CB8 0320F809 */ jalr $t9 +/* 00413CBC 00000000 */ nop +/* 00413CC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413CC4 00402025 */ move $a0, $v0 +/* 00413CC8 27A21650 */ addiu $v0, $sp, 0x1650 +/* 00413CCC 8F998018 */ lw $t9, %got(func_0040E238)($gp) +/* 00413CD0 2739E238 */ addiu $t9, %lo(func_0040E238) # addiu $t9, $t9, -0x1dc8 +/* 00413CD4 0320F809 */ jalr $t9 +/* 00413CD8 00000000 */ nop +/* 00413CDC 1000EE33 */ b .L0040F5AC +/* 00413CE0 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413CE4: +/* 00413CE4 8F8C8038 */ lw $t4, %got(RO_10008D24)($gp) +/* 00413CE8 24040004 */ li $a0, 4 +/* 00413CEC 24050A42 */ li $a1, 2626 +/* 00413CF0 258C8D24 */ addiu $t4, %lo(RO_10008D24) # addiu $t4, $t4, -0x72dc +/* 00413CF4 258A0048 */ addiu $t2, $t4, 0x48 +/* 00413CF8 03A0C825 */ move $t9, $sp +.L00413CFC: +/* 00413CFC 89890000 */ lwl $t1, ($t4) +/* 00413D00 99890003 */ lwr $t1, 3($t4) +/* 00413D04 258C000C */ addiu $t4, $t4, 0xc +/* 00413D08 2739000C */ addiu $t9, $t9, 0xc +/* 00413D0C AB29FFFC */ swl $t1, -4($t9) +/* 00413D10 BB29FFFF */ swr $t1, -1($t9) +/* 00413D14 898DFFF8 */ lwl $t5, -8($t4) +/* 00413D18 998DFFFB */ lwr $t5, -5($t4) +/* 00413D1C AB2D0000 */ swl $t5, ($t9) +/* 00413D20 BB2D0003 */ swr $t5, 3($t9) +/* 00413D24 8989FFFC */ lwl $t1, -4($t4) +/* 00413D28 9989FFFF */ lwr $t1, -1($t4) +/* 00413D2C AB290004 */ swl $t1, 4($t9) +/* 00413D30 158AFFF2 */ bne $t4, $t2, .L00413CFC +/* 00413D34 BB290007 */ swr $t1, 7($t9) +/* 00413D38 89890000 */ lwl $t1, ($t4) +/* 00413D3C 99890003 */ lwr $t1, 3($t4) +/* 00413D40 8F988038 */ lw $t8, %got(RO_10008CD4)($gp) +/* 00413D44 03A07025 */ move $t6, $sp +/* 00413D48 AB290008 */ swl $t1, 8($t9) +/* 00413D4C BB29000B */ swr $t1, 0xb($t9) +/* 00413D50 898D0004 */ lwl $t5, 4($t4) +/* 00413D54 998D0007 */ lwr $t5, 7($t4) +/* 00413D58 27188CD4 */ addiu $t8, %lo(RO_10008CD4) # addiu $t8, $t8, -0x732c +/* 00413D5C 270A0048 */ addiu $t2, $t8, 0x48 +/* 00413D60 AB2D000C */ swl $t5, 0xc($t9) +/* 00413D64 BB2D000F */ swr $t5, 0xf($t9) +.L00413D68: +/* 00413D68 8B0B0000 */ lwl $t3, ($t8) +/* 00413D6C 9B0B0003 */ lwr $t3, 3($t8) +/* 00413D70 2718000C */ addiu $t8, $t8, 0xc +/* 00413D74 25CE000C */ addiu $t6, $t6, 0xc +/* 00413D78 A9CB004C */ swl $t3, 0x4c($t6) +/* 00413D7C B9CB004F */ swr $t3, 0x4f($t6) +/* 00413D80 8B0FFFF8 */ lwl $t7, -8($t8) +/* 00413D84 9B0FFFFB */ lwr $t7, -5($t8) +/* 00413D88 A9CF0050 */ swl $t7, 0x50($t6) +/* 00413D8C B9CF0053 */ swr $t7, 0x53($t6) +/* 00413D90 8B0BFFFC */ lwl $t3, -4($t8) +/* 00413D94 9B0BFFFF */ lwr $t3, -1($t8) +/* 00413D98 A9CB0054 */ swl $t3, 0x54($t6) +/* 00413D9C 170AFFF2 */ bne $t8, $t2, .L00413D68 +/* 00413DA0 B9CB0057 */ swr $t3, 0x57($t6) +/* 00413DA4 8B0B0000 */ lwl $t3, ($t8) +/* 00413DA8 9B0B0003 */ lwr $t3, 3($t8) +/* 00413DAC A9CB0058 */ swl $t3, 0x58($t6) +/* 00413DB0 B9CB005B */ swr $t3, 0x5b($t6) +/* 00413DB4 8B0F0004 */ lwl $t7, 4($t8) +/* 00413DB8 9B0F0007 */ lwr $t7, 7($t8) +/* 00413DBC A9CF005C */ swl $t7, 0x5c($t6) +/* 00413DC0 B9CF005F */ swr $t7, 0x5f($t6) +/* 00413DC4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00413DC8 8FA7000C */ lw $a3, 0xc($sp) +/* 00413DCC 8FA60008 */ lw $a2, 8($sp) +/* 00413DD0 0320F809 */ jalr $t9 +/* 00413DD4 00000000 */ nop +/* 00413DD8 1000EDF4 */ b .L0040F5AC +/* 00413DDC 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413DE0: +/* 00413DE0 8F8C8038 */ lw $t4, %got(RO_10008C84)($gp) +/* 00413DE4 24040004 */ li $a0, 4 +/* 00413DE8 24050A4A */ li $a1, 2634 +/* 00413DEC 258C8C84 */ addiu $t4, %lo(RO_10008C84) # addiu $t4, $t4, -0x737c +/* 00413DF0 258A0048 */ addiu $t2, $t4, 0x48 +/* 00413DF4 03A04825 */ move $t1, $sp +.L00413DF8: +/* 00413DF8 898D0000 */ lwl $t5, ($t4) +/* 00413DFC 998D0003 */ lwr $t5, 3($t4) +/* 00413E00 258C000C */ addiu $t4, $t4, 0xc +/* 00413E04 2529000C */ addiu $t1, $t1, 0xc +/* 00413E08 A92DFFFC */ swl $t5, -4($t1) +/* 00413E0C B92DFFFF */ swr $t5, -1($t1) +/* 00413E10 8999FFF8 */ lwl $t9, -8($t4) +/* 00413E14 9999FFFB */ lwr $t9, -5($t4) +/* 00413E18 A9390000 */ swl $t9, ($t1) +/* 00413E1C B9390003 */ swr $t9, 3($t1) +/* 00413E20 898DFFFC */ lwl $t5, -4($t4) +/* 00413E24 998DFFFF */ lwr $t5, -1($t4) +/* 00413E28 A92D0004 */ swl $t5, 4($t1) +/* 00413E2C 158AFFF2 */ bne $t4, $t2, .L00413DF8 +/* 00413E30 B92D0007 */ swr $t5, 7($t1) +/* 00413E34 898D0000 */ lwl $t5, ($t4) +/* 00413E38 998D0003 */ lwr $t5, 3($t4) +/* 00413E3C 8F988038 */ lw $t8, %got(RO_10008C34)($gp) +/* 00413E40 03A05825 */ move $t3, $sp +/* 00413E44 A92D0008 */ swl $t5, 8($t1) +/* 00413E48 B92D000B */ swr $t5, 0xb($t1) +/* 00413E4C 89990004 */ lwl $t9, 4($t4) +/* 00413E50 99990007 */ lwr $t9, 7($t4) +/* 00413E54 27188C34 */ addiu $t8, %lo(RO_10008C34) # addiu $t8, $t8, -0x73cc +/* 00413E58 270A0048 */ addiu $t2, $t8, 0x48 +/* 00413E5C A939000C */ swl $t9, 0xc($t1) +/* 00413E60 B939000F */ swr $t9, 0xf($t1) +.L00413E64: +/* 00413E64 8B0F0000 */ lwl $t7, ($t8) +/* 00413E68 9B0F0003 */ lwr $t7, 3($t8) +/* 00413E6C 2718000C */ addiu $t8, $t8, 0xc +/* 00413E70 256B000C */ addiu $t3, $t3, 0xc +/* 00413E74 A96F004C */ swl $t7, 0x4c($t3) +/* 00413E78 B96F004F */ swr $t7, 0x4f($t3) +/* 00413E7C 8B0EFFF8 */ lwl $t6, -8($t8) +/* 00413E80 9B0EFFFB */ lwr $t6, -5($t8) +/* 00413E84 A96E0050 */ swl $t6, 0x50($t3) +/* 00413E88 B96E0053 */ swr $t6, 0x53($t3) +/* 00413E8C 8B0FFFFC */ lwl $t7, -4($t8) +/* 00413E90 9B0FFFFF */ lwr $t7, -1($t8) +/* 00413E94 A96F0054 */ swl $t7, 0x54($t3) +/* 00413E98 170AFFF2 */ bne $t8, $t2, .L00413E64 +/* 00413E9C B96F0057 */ swr $t7, 0x57($t3) +/* 00413EA0 8B0F0000 */ lwl $t7, ($t8) +/* 00413EA4 9B0F0003 */ lwr $t7, 3($t8) +/* 00413EA8 A96F0058 */ swl $t7, 0x58($t3) +/* 00413EAC B96F005B */ swr $t7, 0x5b($t3) +/* 00413EB0 8B0E0004 */ lwl $t6, 4($t8) +/* 00413EB4 9B0E0007 */ lwr $t6, 7($t8) +/* 00413EB8 A96E005C */ swl $t6, 0x5c($t3) +/* 00413EBC B96E005F */ swr $t6, 0x5f($t3) +/* 00413EC0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00413EC4 8FA7000C */ lw $a3, 0xc($sp) +/* 00413EC8 8FA60008 */ lw $a2, 8($sp) +/* 00413ECC 0320F809 */ jalr $t9 +/* 00413ED0 00000000 */ nop +/* 00413ED4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413ED8 27A501C8 */ addiu $a1, $sp, 0x1c8 +/* 00413EDC 8F99863C */ lw $t9, %call16(print_ucode)($gp) +/* 00413EE0 8F848950 */ lw $a0, %got(err)($gp) +/* 00413EE4 0320F809 */ jalr $t9 +/* 00413EE8 00000000 */ nop +/* 00413EEC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413EF0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00413EF4 8F848950 */ lw $a0, %got(err)($gp) +/* 00413EF8 0320F809 */ jalr $t9 +/* 00413EFC 8C840000 */ lw $a0, ($a0) +/* 00413F00 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00413F04 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 00413F08 8F848950 */ lw $a0, %got(err)($gp) +/* 00413F0C 0320F809 */ jalr $t9 +/* 00413F10 8C840000 */ lw $a0, ($a0) +/* 00413F14 1000EDA5 */ b .L0040F5AC +/* 00413F18 8FBC00CC */ lw $gp, 0xcc($sp) +.L00413F1C: +/* 00413F1C 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 00413F20 8FB000AC */ lw $s0, 0xac($sp) +/* 00413F24 8FB100B0 */ lw $s1, 0xb0($sp) +/* 00413F28 8FB200B4 */ lw $s2, 0xb4($sp) +/* 00413F2C 8FB300B8 */ lw $s3, 0xb8($sp) +/* 00413F30 8FB400BC */ lw $s4, 0xbc($sp) +/* 00413F34 8FB500C0 */ lw $s5, 0xc0($sp) +/* 00413F38 8FB600C4 */ lw $s6, 0xc4($sp) +/* 00413F3C 8FB700C8 */ lw $s7, 0xc8($sp) +/* 00413F40 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 00413F44 03E00008 */ jr $ra +/* 00413F48 27BD1650 */ addiu $sp, $sp, 0x1650 + .type build_tree, @function + .size build_tree, .-build_tree + .end build_tree +)""); diff --git a/src/ugen/crt1.c b/src/ugen/crt1.c new file mode 100644 index 0000000..c27d465 --- /dev/null +++ b/src/ugen/crt1.c @@ -0,0 +1,128 @@ +#ifdef __sgi +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + + + +.bss + .balign 4 +# 10021210 +glabel __Argv + # 00466A00 get_arg + .space 4 + .size __Argv, 4 + .type __Argv, @object + + .balign 4 +# 10021214 +glabel __rld_obj_head + .space 4 + .size __rld_obj_head, 4 + .type __rld_obj_head, @object + + .balign 4 +# 10021218 +glabel __Argc + # 0044BF18 main + # 00466A00 get_arg + .space 4 + .size __Argc, 4 + .type __Argc, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel __start + .ent __start +/* 0040A5E0 03E04025 */ move $t0, $ra +/* 0040A5E4 04110001 */ bal func_0040A5EC +/* 0040A5E8 00000000 */ nop +func_0040A5EC: +/* 0040A5EC 3C1C0FC1 */ lui $gp, 0xfc1 +/* 0040A5F0 279C5464 */ addiu $gp, $gp, 0x5464 +/* 0040A5F4 039FE021 */ addu $gp, $gp, $ra +/* 0040A5F8 0100F825 */ move $ra, $t0 +/* 0040A5FC 3C070000 */ lui $a3, 0 +/* 0040A600 00FC3821 */ addu $a3, $a3, $gp +/* 0040A604 8CE78044 */ lw $a3, -0x7fbc($a3) +/* 0040A608 8FA40000 */ lw $a0, ($sp) +/* 0040A60C 27A50004 */ addiu $a1, $sp, 4 +/* 0040A610 8CE70000 */ lw $a3, ($a3) +/* 0040A614 2401FFF0 */ li $at, -16 +/* 0040A618 03A1E824 */ and $sp, $sp, $at +/* 0040A61C 24A60004 */ addiu $a2, $a1, 4 +/* 0040A620 00041080 */ sll $v0, $a0, 2 +/* 0040A624 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0040A628 14E00005 */ bnez $a3, .L0040A640 +/* 0040A62C 00C23021 */ addu $a2, $a2, $v0 +/* 0040A630 3C010000 */ lui $at, 0 +/* 0040A634 003C0821 */ addu $at, $at, $gp +/* 0040A638 8C218044 */ lw $at, -0x7fbc($at) +/* 0040A63C AC260000 */ sw $a2, ($at) +.L0040A640: +/* 0040A640 3C010000 */ lui $at, 0 +/* 0040A644 003C0821 */ addu $at, $at, $gp +/* 0040A648 8C218960 */ lw $at, -0x76a0($at) +/* 0040A64C 3C190000 */ lui $t9, 0 +/* 0040A650 033CC821 */ addu $t9, $t9, $gp +/* 0040A654 AC240000 */ sw $a0, ($at) +/* 0040A658 3C010000 */ lui $at, 0 +/* 0040A65C 8F39883C */ lw $t9, -0x77c4($t9) +/* 0040A660 003C0821 */ addu $at, $at, $gp +/* 0040A664 8C21895C */ lw $at, -0x76a4($at) +/* 0040A668 AFBC0018 */ sw $gp, 0x18($sp) +/* 0040A66C AFA0001C */ sw $zero, 0x1c($sp) +/* 0040A670 0000F025 */ move $fp, $zero +/* 0040A674 0320F809 */ jalr $t9 +/* 0040A678 AC250000 */ sw $a1, ($at) +/* 0040A67C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040A680 3C190000 */ lui $t9, 0 +/* 0040A684 033CC821 */ addu $t9, $t9, $gp +/* 0040A688 8F39806C */ lw $t9, -0x7f94($t9) +/* 0040A68C 0320F809 */ jalr $t9 +/* 0040A690 00000000 */ nop +/* 0040A694 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040A698 3C190000 */ lui $t9, 0 +/* 0040A69C 3C040000 */ lui $a0, 0 +/* 0040A6A0 3C050000 */ lui $a1, 0 +/* 0040A6A4 3C060000 */ lui $a2, 0 +/* 0040A6A8 033CC821 */ addu $t9, $t9, $gp +/* 0040A6AC 8F3986A0 */ lw $t9, -0x7960($t9) +/* 0040A6B0 009C2021 */ addu $a0, $a0, $gp +/* 0040A6B4 00BC2821 */ addu $a1, $a1, $gp +/* 0040A6B8 00DC3021 */ addu $a2, $a2, $gp +/* 0040A6BC 8C848960 */ lw $a0, -0x76a0($a0) +/* 0040A6C0 8CA5895C */ lw $a1, -0x76a4($a1) +/* 0040A6C4 8CC68044 */ lw $a2, -0x7fbc($a2) +/* 0040A6C8 8C840000 */ lw $a0, ($a0) +/* 0040A6CC 8CA50000 */ lw $a1, ($a1) +/* 0040A6D0 0320F809 */ jalr $t9 +/* 0040A6D4 8CC60000 */ lw $a2, ($a2) +/* 0040A6D8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040A6DC 3C190000 */ lui $t9, 0 +/* 0040A6E0 00402025 */ move $a0, $v0 +/* 0040A6E4 033CC821 */ addu $t9, $t9, $gp +/* 0040A6E8 8F39880C */ lw $t9, -0x77f4($t9) +/* 0040A6EC 0320F809 */ jalr $t9 +/* 0040A6F0 00000000 */ nop +/* 0040A6F4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040A6F8 0000000D */ break + .type __start, @function + .size __start, .-__start + .end __start +glabel _mcount + .ent _mcount +/* 0040A6FC 27BD0010 */ addiu $sp, $sp, 0x10 +/* 0040A700 03E00008 */ jr $ra +/* 0040A704 0020F825 */ move $ra, $at + .type _mcount, @function + .size _mcount, .-_mcount + .end _mcount +)""); +#endif diff --git a/src/ugen/emit.c b/src/ugen/emit.c new file mode 100644 index 0000000..a9c597f --- /dev/null +++ b/src/ugen/emit.c @@ -0,0 +1,8342 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_10009380: + # 00414040 init_ibuffer + .ascii "Insufficiant memory " + +RO_100093D0: + # 00414040 init_ibuffer + .ascii "emit.p " + +RO_10009420: + # 004141CC grow_ibuffer + .ascii "Insufficiant memory " + +RO_10009470: + # 004141CC grow_ibuffer + .ascii "emit.p " + +RO_100094C0: + # 0041462C create_local_label + .ascii "local label out of range " + +RO_10009510: + # 0041462C create_local_label + .ascii "emit.p " + +RO_10009560: + # 004147EC emit_rob + .ascii "emit_rob: " + +RO_1000956A: + # 00414B14 emit_rab + .ascii "emit_rab: " + +RO_10009574: + # 00414E38 emit_rrab + .ascii "emit_rab: " + +RO_1000957E: + # 0041514C emit_rllb + .ascii "emit_rllb: " + +RO_10009589: + # 00415494 emit_ra + .ascii "emit_ra: " + +RO_10009592: + # 00415764 emit_ri_ + .ascii "emit_ri: " + +RO_1000959B: + # 00415A80 emit_rfi + .ascii " " + +RO_100095AB: + # 00415A80 emit_rfi + .ascii "emit_rfi: " + +RO_100095B5: + # 00415FDC emit_rrfi + .ascii "emit_rl: " + +RO_100095BE: + # 00416278 emit_rrr + .ascii "emit_rrr: " + +RO_100095C8: + # 00416580 emit_rri_ + .ascii "emit_rri: " + +RO_100095D2: + # 0041687C emit_rrri + .ascii "emit_rrri: " + +RO_100095DD: + # 00416B70 emit_rr + .ascii "emit_rr: " + +RO_100095E6: + # 00416DFC emit_a + .ascii "emit_a: " + +RO_100095EE: + # 0041705C emit_r + .ascii "emit_r: " + +RO_100095F6: + # 004172AC emit_i + .ascii "emit_i: " + +RO_100095FE: + # 004174CC emit_rrl + .ascii "emit_rrl: " + +RO_10009608: + # 0041777C emit_rrll + .ascii "emit_rrll: " + +RO_10009613: + # 00417A44 emit_rl + .ascii "emit_rl: " + +RO_1000961C: + # 00417CB8 emit_rll + .ascii "emit_rll: " + +RO_10009626: + # 00417F44 emit_l + .ascii "emit_l: " + +RO_1000962E: + # 00418150 emit_ll + .ascii "emit_ll: " + +RO_10009637: + # 00418374 emit_ril + .ascii "emit_ril: " + +RO_10009641: + # 0041860C emit_rill + .ascii "emit_rill: " + +RO_1000964C: + # 00418968 emit_itext + .ascii " " + +RO_1000965C: + # 00418B9C demit_itext + .ascii " " + + .balign 4 +jtbl_1000966C: + # 00418FCC emit_dir2 + .gpword .L00419094 + .gpword .L004190C0 + + .balign 4 +jtbl_10009674: + # 0041A618 demit_dir2 + .gpword .L0041A6B4 + .gpword .L0041A738 + .gpword .L0041A738 + .gpword .L0041A70C + +.data +D_10012570: + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + .ascii "zabs\0 zadd\0 zaddu\0 zand\0 zb\0 zbc0f\0 zbc0t\0 zbc1f\0 zbc1t\0 zbc2f\0 zbc2t\0 zlgota\0 z12\0zbeq\0 zbge\0 zbgeu\0 zbgez\0 zbgt\0 zbgtu\0 zbgtz\0 zble\0 zbleu\0 zblez\0 zblt\0 zbltu\0 zbltz\0 zbne\0 zbreak\0 zc0\0zc1\0zc2\0z31\0zdiv\0 zdivu\0 zj\0 zjal\0 zla\0zlb\0zlbu\0 zlh\0zlhu\0 zli\0zlw\0zjr\0zlwc1\0 zlwc2\0 zpref\0 zmfhi\0 zmflo\0 zmove\0 zjalr\0 zswc1\0 zswc2\0 z53\0zmthi\0 zmtlo\0 zmul\0 zmulo\0 zmulou\0 zmult\0 zmultu\0 zneg\0 znop\0 znor\0 zor\0zrem\0 zremu\0 zrfe\0 zrol\0 zror\0 zsb\0zseq\0 zsge\0 zsgeu\0 zsgt\0 zsgtu\0 zsh\0zsle\0 zsleu\0 zsll\0 zslt\0 zsltu\0 zsne\0 zsra\0 zsrl\0 zsub\0 zsubu\0 zsw\0zsyscall\0 zxor\0 znot\0 zlwl\0 zlwr\0 zswl\0 zswr\0 zvcall\0 zmfc0\0 zmfc1\0 zmfc2\0 z99\0zmtc0\0 zmtc1\0 zmtc2\0 zsync\0 ztlbr\0 ztlbwi\0 ztlbwr\0 ztlbp\0 zld\0zsd\0z110\0 zldc1\0 zldc2\0 ztlbr1\0 ztlbp1\0 zsdc1\0 zsdc2\0 z117\0 fl_s\0 fl_d\0 fl_e\0 fs_s\0 fs_d\0 fs_e\0 fadd_s\0 fadd_d\0 fadd_e\0 fsub_s\0 fsub_d\0 fsub_e\0 fmul_s\0 fmul_d\0 fmul_e\0 fdiv_s\0 fdiv_d\0 fdiv_e\0 fsqrt_s\0fsqrt_d\0fsqrt_e\0fmov_s\0 fmov_d\0 fmov_e\0 fabs_s\0 fabs_d\0 fabs_e\0 fcvt_s_d\0 fcvt_s_e\0 fcvt_s_w\0 fcvt_d_s\0 fcvt_d_e\0 fcvt_d_w\0 fcvt_e_s\0 fcvt_e_d\0 fcvt_e_w\0 fcvt_w_s\0 fcvt_w_d\0 fcvt_w_e\0 fc_f_s\0 fc_f_d\0 fc_f_e\0 fc_un_s\0fc_un_d\0fc_un_e\0fc_eq_s\0fc_eq_d\0fc_eq_e\0fc_ueq_s\0 fc_ueq_d\0 fc_ueq_e\0 fc_olt_s\0 fc_olt_d\0 fc_olt_e\0 fc_ult_s\0 fc_ult_d\0 fc_ult_e\0 fc_ole_s\0 fc_ole_d\0 fc_ole_e\0 fc_ule_s\0 fc_ule_d\0 fc_ule_e\0 fc_sf_s\0fc_sf_d\0fc_sf_e\0fc_ngle_s\0 fc_ngle_d\0 fc_ngle_e\0 fc_seq_s\0 fc_seq_d\0 fc_seq_e\0 fc_ngl_s\0 fc_ngl_d\0 fc_ngl_e\0 fc_lt_s\0fc_lt_d\0fc_lt_e\0fc_nge_s\0 fc_nge_d\0 fc_nge_e\0 fc_le_s\0fc_le_d\0fc_le_e\0fc_ngt_s\0 fc_ngt_d\0 fc_ngt_e\0 zlui\0 zulw\0 zulh\0 zulhu\0 zusw\0 zush\0 zaddi\0 zaddiu\0 zslti\0 zsltiu\0 zandi\0 zori\0 zxori\0 z218\0 znegu\0 zbeqz\0 zbnez\0 fneg_s\0 fneg_d\0 fneg_e\0 zcfc1\0 zctc1\0 zbal\0 zbgezal\0zbltzal\0zmtc1_d\0zmfc1_d\0ztrunc_w_s\0 ztrunc_w_d\0 ztrunc_w_e\0 zround_w_s\0 zround_w_d\0 zround_w_e\0 zaddou\0 zsubou\0 ztruncu_w_s\0ztruncu_w_d\0ztruncu_w_e\0zroundu_w_s\0zroundu_w_d\0zroundu_w_e\0zcfc0\0 zcfc2\0 z248\0 zctc0\0 zctc2\0 z251\0 fli_s\0 fli_d\0 fli_e\0 ztlt\0 ztltu\0 ztge\0 ztgeu\0 zteq\0 ztne\0 zll\0zsc\0zceil_w_s\0 zceil_w_d\0 zceil_w_e\0 zceilu_w_s\0 zceilu_w_d\0 zceilu_w_e\0 zfloor_w_s\0 zfloor_w_d\0 zfloor_w_e\0 zflooru_w_s\0zflooru_w_d\0zflooru_w_e\0zbeql\0 zbeqzl\0 zbnel\0 zbnezl\0 zblel\0 zbleul\0 zblezl\0 zbgtl\0 zbgtul\0 zbgtzl\0 zbltl\0 zbltul\0 zbltzl\0 zbltzall\0 zbgel\0 zbgeul\0 zbgezl\0 zbgezall\0 zbc0fl\0 zbc0tl\0 zbc1fl\0 zbc1tl\0 zbc2fl\0 zbc2tl\0 z299\0 z300\0 zldl\0 zldr\0 zlld\0 zlwu\0 zsdl\0 zsdr\0 zscd\0 zdaddi\0 zdaddiu\0zdadd\0 zdaddu\0 zdsub\0 zdsubu\0 zdsll\0 zdsrl\0 zdsra\0 zdsllv\0 zdsrlv\0 zdsrav\0 zdmult\0 zdmultu\0zddiv\0 zddivu\0 zlsc1\0 zssc1\0 zdmtc1\0 zdmfc1\0 zdmtc0\0 zdmfc0\0 zdmtc2\0 zdmfc2\0 zdli\0 zdla\0 zeret\0 ztrunc_l_s\0 zround_l_s\0 zceil_l_s\0 zfloor_l_s\0 ztrunc_l_d\0 zround_l_d\0 zceil_l_d\0 zfloor_l_d\0 ztrunc_l_e\0 zround_l_e\0 zceil_l_e\0 zfloor_l_e\0 fcvt_l_s\0 fcvt_l_d\0 fcvt_l_e\0 fcvt_l_w\0 fcvt_s_l\0 fcvt_d_l\0 fcvt_e_l\0 fcvt_w_l\0 zcache\0 zcia\0 zuld\0 zusd\0 zdabs\0 zdneg\0 zdnegu\0 zdmul\0 zdmulo\0 zdmulou\0zdrem\0 zdremu\0 zdrol\0 zdror\0 zdaddou\0zdsubou\0zulwu\0 zmovt\0 zmovf\0 zmovn\0 zmovz\0 fmadd_s\0fmadd_d\0fmadd_e\0fmsub_s\0fmsub_d\0fmsub_e\0fnmadd_s\0 fnmadd_d\0 fnmadd_e\0 fnmsub_s\0 fnmsub_d\0 fnmsub_e\0 frecip_s\0 frecip_d\0 frsqrt_s\0 frsqrt_d\0 fmovt_s\0fmovt_d\0fmovf_s\0fmovf_d\0fmovn_s\0fmovn_d\0fmovz_s\0fmovz_d\0zlwxc1\0 zldxc1\0 zswxc1\0 zsdxc1\0 zpfetch\0zdctr\0 zdctw\0 ztlbw\0 znada\0 zssnop\0 zdsll32\0zdsrl32\0zdsra32\0zbc3f\0 zbc3t\0 zc3\0zlwc3\0 zswc3\0 zmfc3\0 zmtc3\0 zcfc3\0 zctc3\0 zsllv\0 zsrlv\0 zsrav\0 zmfpc\0 zmtpc\0 zmfps\0 zmtps\0 zbad\0\0 " + +D_1001340C: + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 0041705C emit_r + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00418374 emit_ril + # 0041860C emit_rill + .ascii "xr0\0xr1\0xr2\0xr3\0xr4\0xr5\0xr6\0xr7\0xr8\0xr9\0xr10\0 xr11\0 xr12\0 xr13\0 xr14\0 xr15\0 xr16\0 xr17\0 xr18\0 xr19\0 xr20\0 xr21\0 xr22\0 xr23\0 xr24\0 xr25\0 xr26\0 xr27\0 xr28\0 xr29\0 xr30\0 xr31\0 xfr0\0 xfr1\0 xfr2\0 xfr3\0 xfr4\0 xfr5\0 xfr6\0 xfr7\0 xfr8\0 xfr9\0 xfr10\0 xfr11\0 xfr12\0 xfr13\0 xfr14\0 xfr15\0 xfr16\0 xfr17\0 xfr18\0 xfr19\0 xfr20\0 xfr21\0 xfr22\0 xfr23\0 xfr24\0 xfr25\0 xfr26\0 xfr27\0 xfr28\0 xfr29\0 xfr30\0 xfr31\0 xfcc0\0 xfcc1\0 xfcc2\0 xfcc3\0 xfcc4\0 xfcc5\0 xfcc6\0 xfcc7\0 xnoreg\0\0" + +D_1001362C: + # 00418DD0 emit_dir0 + .byte 0x00,0x01,0x00,0x00,0x80,0x00,0x00,0x00 + +D_10013634: + # 0041A3F8 demit_dir0 + .byte 0x00,0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel save_i_ptrs + .ent save_i_ptrs + # 0042BDAC eval +/* 00413F50 3C1C0FC1 */ .cpload $t9 +/* 00413F54 279CBB00 */ +/* 00413F58 0399E021 */ +/* 00413F5C 8F8E897C */ lw $t6, %got(i_ptr)($gp) +/* 00413F60 8F818980 */ lw $at, %got(old_i_ptr)($gp) +/* 00413F64 8F8F8984 */ lw $t7, %got(d_ptr)($gp) +/* 00413F68 8DCE0000 */ lw $t6, ($t6) +/* 00413F6C 8DEF0000 */ lw $t7, ($t7) +/* 00413F70 AC2E0000 */ sw $t6, ($at) +/* 00413F74 8F818988 */ lw $at, %got(old_d_ptr)($gp) +/* 00413F78 03E00008 */ jr $ra +/* 00413F7C AC2F0000 */ sw $t7, ($at) + .type save_i_ptrs, @function + .size save_i_ptrs, .-save_i_ptrs + .end save_i_ptrs + +glabel restore_i_ptrs + .ent restore_i_ptrs + # 0042BDAC eval +/* 00413F80 3C1C0FC1 */ .cpload $t9 +/* 00413F84 279CBAD0 */ +/* 00413F88 0399E021 */ +/* 00413F8C 8F828980 */ lw $v0, %got(old_i_ptr)($gp) +/* 00413F90 8F99897C */ lw $t9, %got(i_ptr)($gp) +/* 00413F94 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 00413F98 8C420000 */ lw $v0, ($v0) +/* 00413F9C 8F390000 */ lw $t9, ($t9) +/* 00413FA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00413FA4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00413FA8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00413FAC 8DCF0000 */ lw $t7, ($t6) +/* 00413FB0 03223023 */ subu $a2, $t9, $v0 +/* 00413FB4 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 00413FB8 0002C100 */ sll $t8, $v0, 4 +/* 00413FBC 01F82021 */ addu $a0, $t7, $t8 +/* 00413FC0 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 00413FC4 00063100 */ sll $a2, $a2, 4 +/* 00413FC8 0320F809 */ jalr $t9 +/* 00413FCC 00002825 */ move $a1, $zero +/* 00413FD0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00413FD4 00002825 */ move $a1, $zero +/* 00413FD8 8F828984 */ lw $v0, %got(d_ptr)($gp) +/* 00413FDC 8F8B8988 */ lw $t3, %got(old_d_ptr)($gp) +/* 00413FE0 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00413FE4 8C420000 */ lw $v0, ($v0) +/* 00413FE8 8D6B0000 */ lw $t3, ($t3) +/* 00413FEC 8D090000 */ lw $t1, ($t0) +/* 00413FF0 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 00413FF4 00025100 */ sll $t2, $v0, 4 +/* 00413FF8 01623023 */ subu $a2, $t3, $v0 +/* 00413FFC 00063100 */ sll $a2, $a2, 4 +/* 00414000 012A2021 */ addu $a0, $t1, $t2 +/* 00414004 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 00414008 0320F809 */ jalr $t9 +/* 0041400C 24C60010 */ addiu $a2, $a2, 0x10 +/* 00414010 8FBC0018 */ lw $gp, 0x18($sp) +/* 00414014 8FBF001C */ lw $ra, 0x1c($sp) +/* 00414018 8F8C8980 */ lw $t4, %got(old_i_ptr)($gp) +/* 0041401C 8F81897C */ lw $at, %got(i_ptr)($gp) +/* 00414020 8F8D8988 */ lw $t5, %got(old_d_ptr)($gp) +/* 00414024 8D8C0000 */ lw $t4, ($t4) +/* 00414028 8DAD0000 */ lw $t5, ($t5) +/* 0041402C AC2C0000 */ sw $t4, ($at) +/* 00414030 8F818984 */ lw $at, %got(d_ptr)($gp) +/* 00414034 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00414038 03E00008 */ jr $ra +/* 0041403C AC2D0000 */ sw $t5, ($at) + .type restore_i_ptrs, @function + .size restore_i_ptrs, .-restore_i_ptrs + .end restore_i_ptrs + +glabel init_ibuffer + .ent init_ibuffer + # 0044BF18 main +/* 00414040 3C1C0FC1 */ .cpload $t9 +/* 00414044 279CBA10 */ +/* 00414048 0399E021 */ +/* 0041404C 8F828974 */ lw $v0, %got(ibuffer_size)($gp) +/* 00414050 3406FDE8 */ li $a2, 65000 +/* 00414054 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00414058 AC460000 */ sw $a2, ($v0) +/* 0041405C 8F9980BC */ lw $t9, %call16(malloc)($gp) +/* 00414060 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00414064 00062100 */ sll $a0, $a2, 4 +/* 00414068 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0041406C 0320F809 */ jalr $t9 +/* 00414070 AFA400BC */ sw $a0, 0xbc($sp) +/* 00414074 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00414078 8FA600BC */ lw $a2, 0xbc($sp) +/* 0041407C 00002825 */ move $a1, $zero +/* 00414080 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00414084 AC620000 */ sw $v0, ($v1) +/* 00414088 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 0041408C 8C640000 */ lw $a0, ($v1) +/* 00414090 0320F809 */ jalr $t9 +/* 00414094 00000000 */ nop +/* 00414098 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0041409C 24040004 */ li $a0, 4 +/* 004140A0 8F8F8978 */ lw $t7, %got(ibuffer)($gp) +/* 004140A4 8DF80000 */ lw $t8, ($t7) +/* 004140A8 1700003E */ bnez $t8, .L004141A4 +/* 004140AC 00000000 */ nop +/* 004140B0 8F998038 */ lw $t9, %got(RO_100093D0)($gp) +/* 004140B4 24050060 */ li $a1, 96 +/* 004140B8 03A05025 */ move $t2, $sp +/* 004140BC 273993D0 */ addiu $t9, %lo(RO_100093D0) # addiu $t9, $t9, -0x6c30 +/* 004140C0 272B0048 */ addiu $t3, $t9, 0x48 +.L004140C4: +/* 004140C4 8B290000 */ lwl $t1, ($t9) +/* 004140C8 9B290003 */ lwr $t1, 3($t9) +/* 004140CC 2739000C */ addiu $t9, $t9, 0xc +/* 004140D0 254A000C */ addiu $t2, $t2, 0xc +/* 004140D4 A949FFFC */ swl $t1, -4($t2) +/* 004140D8 B949FFFF */ swr $t1, -1($t2) +/* 004140DC 8B28FFF8 */ lwl $t0, -8($t9) +/* 004140E0 9B28FFFB */ lwr $t0, -5($t9) +/* 004140E4 A9480000 */ swl $t0, ($t2) +/* 004140E8 B9480003 */ swr $t0, 3($t2) +/* 004140EC 8B29FFFC */ lwl $t1, -4($t9) +/* 004140F0 9B29FFFF */ lwr $t1, -1($t9) +/* 004140F4 A9490004 */ swl $t1, 4($t2) +/* 004140F8 172BFFF2 */ bne $t9, $t3, .L004140C4 +/* 004140FC B9490007 */ swr $t1, 7($t2) +/* 00414100 8B290000 */ lwl $t1, ($t9) +/* 00414104 9B290003 */ lwr $t1, 3($t9) +/* 00414108 8F8C8038 */ lw $t4, %got(RO_10009380)($gp) +/* 0041410C 03A07825 */ move $t7, $sp +/* 00414110 A9490008 */ swl $t1, 8($t2) +/* 00414114 B949000B */ swr $t1, 0xb($t2) +/* 00414118 8B280004 */ lwl $t0, 4($t9) +/* 0041411C 9B280007 */ lwr $t0, 7($t9) +/* 00414120 258C9380 */ addiu $t4, %lo(RO_10009380) # addiu $t4, $t4, -0x6c80 +/* 00414124 25980048 */ addiu $t8, $t4, 0x48 +/* 00414128 A948000C */ swl $t0, 0xc($t2) +/* 0041412C B948000F */ swr $t0, 0xf($t2) +.L00414130: +/* 00414130 898E0000 */ lwl $t6, ($t4) +/* 00414134 998E0003 */ lwr $t6, 3($t4) +/* 00414138 258C000C */ addiu $t4, $t4, 0xc +/* 0041413C 25EF000C */ addiu $t7, $t7, 0xc +/* 00414140 A9EE004C */ swl $t6, 0x4c($t7) +/* 00414144 B9EE004F */ swr $t6, 0x4f($t7) +/* 00414148 898DFFF8 */ lwl $t5, -8($t4) +/* 0041414C 998DFFFB */ lwr $t5, -5($t4) +/* 00414150 A9ED0050 */ swl $t5, 0x50($t7) +/* 00414154 B9ED0053 */ swr $t5, 0x53($t7) +/* 00414158 898EFFFC */ lwl $t6, -4($t4) +/* 0041415C 998EFFFF */ lwr $t6, -1($t4) +/* 00414160 A9EE0054 */ swl $t6, 0x54($t7) +/* 00414164 1598FFF2 */ bne $t4, $t8, .L00414130 +/* 00414168 B9EE0057 */ swr $t6, 0x57($t7) +/* 0041416C 898E0000 */ lwl $t6, ($t4) +/* 00414170 998E0003 */ lwr $t6, 3($t4) +/* 00414174 A9EE0058 */ swl $t6, 0x58($t7) +/* 00414178 B9EE005B */ swr $t6, 0x5b($t7) +/* 0041417C 898D0004 */ lwl $t5, 4($t4) +/* 00414180 998D0007 */ lwr $t5, 7($t4) +/* 00414184 A9ED005C */ swl $t5, 0x5c($t7) +/* 00414188 B9ED005F */ swr $t5, 0x5f($t7) +/* 0041418C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00414190 8FA7000C */ lw $a3, 0xc($sp) +/* 00414194 8FA60008 */ lw $a2, 8($sp) +/* 00414198 0320F809 */ jalr $t9 +/* 0041419C 00000000 */ nop +/* 004141A0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004141A4: +/* 004141A4 8F81897C */ lw $at, %got(i_ptr)($gp) +/* 004141A8 8F998974 */ lw $t9, %got(ibuffer_size)($gp) +/* 004141AC 240B0001 */ li $t3, 1 +/* 004141B0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004141B4 AC2B0000 */ sw $t3, ($at) +/* 004141B8 8F818984 */ lw $at, %got(d_ptr)($gp) +/* 004141BC 8F390000 */ lw $t9, ($t9) +/* 004141C0 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 004141C4 03E00008 */ jr $ra +/* 004141C8 AC390000 */ sw $t9, ($at) + .type init_ibuffer, @function + .size init_ibuffer, .-init_ibuffer + .end init_ibuffer + +glabel grow_ibuffer + .ent grow_ibuffer + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + # 004188BC define_label + # 00418968 emit_itext + # 00418B9C demit_itext + # 00418DD0 emit_dir0 + # 00418F10 emit_dir1 + # 00418FCC emit_dir2 + # 00419154 emit_alias + # 0041926C emit_regmask + # 0041933C emit_loopno + # 004193FC emit_dir_ll + # 0041951C demit_rob_ + # 004196EC demit_ri + # 00419894 demit_rr + # 00419A00 demit_a + # 00419BA0 demit_regmask + # 00419C70 demit_rrr + # 00419E0C demit_rri + # 00419F88 demit_rrll + # 0041A110 demit_i + # 0041A288 demit_ra + # 0041A3F8 demit_dir0 + # 0041A524 demit_dir1 + # 0041A618 demit_dir2 + # 0041A7D4 demit_edata + # 0041A894 demit_weakext + # 0041AA24 ddefine_label + # 0041AAD0 define_exception_label + # 0041AB64 append_i + # 0041ABF4 append_d +/* 004141CC 3C1C0FC1 */ .cpload $t9 +/* 004141D0 279CB884 */ +/* 004141D4 0399E021 */ +/* 004141D8 8F828974 */ lw $v0, %got(ibuffer_size)($gp) +/* 004141DC 8F9980BC */ lw $t9, %call16(malloc)($gp) +/* 004141E0 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 004141E4 8C420000 */ lw $v0, ($v0) +/* 004141E8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 004141EC AFBC00B0 */ sw $gp, 0xb0($sp) +/* 004141F0 00021040 */ sll $v0, $v0, 1 +/* 004141F4 00023100 */ sll $a2, $v0, 4 +/* 004141F8 00C02025 */ move $a0, $a2 +/* 004141FC AFA600BC */ sw $a2, 0xbc($sp) +/* 00414200 0320F809 */ jalr $t9 +/* 00414204 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00414208 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0041420C 8FA600BC */ lw $a2, 0xbc($sp) +/* 00414210 00402025 */ move $a0, $v0 +/* 00414214 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 00414218 00002825 */ move $a1, $zero +/* 0041421C AFA200D4 */ sw $v0, 0xd4($sp) +/* 00414220 0320F809 */ jalr $t9 +/* 00414224 00000000 */ nop +/* 00414228 8FAB00D4 */ lw $t3, 0xd4($sp) +/* 0041422C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00414230 24040004 */ li $a0, 4 +/* 00414234 1560003F */ bnez $t3, .L00414334 +/* 00414238 00000000 */ nop +/* 0041423C 8F8E8038 */ lw $t6, %got(RO_10009470)($gp) +/* 00414240 24050070 */ li $a1, 112 +/* 00414244 03A0C825 */ move $t9, $sp +/* 00414248 25CE9470 */ addiu $t6, %lo(RO_10009470) # addiu $t6, $t6, -0x6b90 +/* 0041424C 25CD0048 */ addiu $t5, $t6, 0x48 +.L00414250: +/* 00414250 89D80000 */ lwl $t8, ($t6) +/* 00414254 99D80003 */ lwr $t8, 3($t6) +/* 00414258 25CE000C */ addiu $t6, $t6, 0xc +/* 0041425C 2739000C */ addiu $t9, $t9, 0xc +/* 00414260 AB38FFFC */ swl $t8, -4($t9) +/* 00414264 BB38FFFF */ swr $t8, -1($t9) +/* 00414268 89CFFFF8 */ lwl $t7, -8($t6) +/* 0041426C 99CFFFFB */ lwr $t7, -5($t6) +/* 00414270 AB2F0000 */ swl $t7, ($t9) +/* 00414274 BB2F0003 */ swr $t7, 3($t9) +/* 00414278 89D8FFFC */ lwl $t8, -4($t6) +/* 0041427C 99D8FFFF */ lwr $t8, -1($t6) +/* 00414280 AB380004 */ swl $t8, 4($t9) +/* 00414284 15CDFFF2 */ bne $t6, $t5, .L00414250 +/* 00414288 BB380007 */ swr $t8, 7($t9) +/* 0041428C 89D80000 */ lwl $t8, ($t6) +/* 00414290 99D80003 */ lwr $t8, 3($t6) +/* 00414294 8F8D8038 */ lw $t5, %got(RO_10009420)($gp) +/* 00414298 AB380008 */ swl $t8, 8($t9) +/* 0041429C BB38000B */ swr $t8, 0xb($t9) +/* 004142A0 89CF0004 */ lwl $t7, 4($t6) +/* 004142A4 99CF0007 */ lwr $t7, 7($t6) +/* 004142A8 25AD9420 */ addiu $t5, %lo(RO_10009420) # addiu $t5, $t5, -0x6be0 +/* 004142AC 25B80048 */ addiu $t8, $t5, 0x48 +/* 004142B0 AB2F000C */ swl $t7, 0xc($t9) +/* 004142B4 BB2F000F */ swr $t7, 0xf($t9) +/* 004142B8 03A07825 */ move $t7, $sp +.L004142BC: +/* 004142BC 89B90000 */ lwl $t9, ($t5) +/* 004142C0 99B90003 */ lwr $t9, 3($t5) +/* 004142C4 25AD000C */ addiu $t5, $t5, 0xc +/* 004142C8 25EF000C */ addiu $t7, $t7, 0xc +/* 004142CC A9F9004C */ swl $t9, 0x4c($t7) +/* 004142D0 B9F9004F */ swr $t9, 0x4f($t7) +/* 004142D4 89AEFFF8 */ lwl $t6, -8($t5) +/* 004142D8 99AEFFFB */ lwr $t6, -5($t5) +/* 004142DC A9EE0050 */ swl $t6, 0x50($t7) +/* 004142E0 B9EE0053 */ swr $t6, 0x53($t7) +/* 004142E4 89B9FFFC */ lwl $t9, -4($t5) +/* 004142E8 99B9FFFF */ lwr $t9, -1($t5) +/* 004142EC A9F90054 */ swl $t9, 0x54($t7) +/* 004142F0 15B8FFF2 */ bne $t5, $t8, .L004142BC +/* 004142F4 B9F90057 */ swr $t9, 0x57($t7) +/* 004142F8 89B90000 */ lwl $t9, ($t5) +/* 004142FC 99B90003 */ lwr $t9, 3($t5) +/* 00414300 A9F90058 */ swl $t9, 0x58($t7) +/* 00414304 B9F9005B */ swr $t9, 0x5b($t7) +/* 00414308 89AE0004 */ lwl $t6, 4($t5) +/* 0041430C 99AE0007 */ lwr $t6, 7($t5) +/* 00414310 A9EE005C */ swl $t6, 0x5c($t7) +/* 00414314 B9EE005F */ swr $t6, 0x5f($t7) +/* 00414318 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0041431C 8FA7000C */ lw $a3, 0xc($sp) +/* 00414320 8FA60008 */ lw $a2, 8($sp) +/* 00414324 0320F809 */ jalr $t9 +/* 00414328 AFAB00D4 */ sw $t3, 0xd4($sp) +/* 0041432C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00414330 8FAB00D4 */ lw $t3, 0xd4($sp) +.L00414334: +/* 00414334 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00414338 8D290000 */ lw $t1, ($t1) +/* 0041433C 1120004E */ beqz $t1, .L00414478 +/* 00414340 25290001 */ addiu $t1, $t1, 1 +/* 00414344 2526FFFF */ addiu $a2, $t1, -1 +/* 00414348 30C60003 */ andi $a2, $a2, 3 +/* 0041434C 10C00015 */ beqz $a2, .L004143A4 +/* 00414350 24040001 */ li $a0, 1 +/* 00414354 00041900 */ sll $v1, $a0, 4 +/* 00414358 01631021 */ addu $v0, $t3, $v1 +/* 0041435C 24C50001 */ addiu $a1, $a2, 1 +/* 00414360 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 00414364 2442FFF0 */ addiu $v0, $v0, -0x10 +.L00414368: +/* 00414368 8CD80000 */ lw $t8, ($a2) +/* 0041436C 24840001 */ addiu $a0, $a0, 1 +/* 00414370 24420010 */ addiu $v0, $v0, 0x10 +/* 00414374 03036821 */ addu $t5, $t8, $v1 +/* 00414378 8DAEFFF0 */ lw $t6, -0x10($t5) +/* 0041437C 24630010 */ addiu $v1, $v1, 0x10 +/* 00414380 AC4EFFF0 */ sw $t6, -0x10($v0) +/* 00414384 8DAFFFF4 */ lw $t7, -0xc($t5) +/* 00414388 AC4FFFF4 */ sw $t7, -0xc($v0) +/* 0041438C 8DAEFFF8 */ lw $t6, -8($t5) +/* 00414390 AC4EFFF8 */ sw $t6, -8($v0) +/* 00414394 8DAFFFFC */ lw $t7, -4($t5) +/* 00414398 14A4FFF3 */ bne $a1, $a0, .L00414368 +/* 0041439C AC4FFFFC */ sw $t7, -4($v0) +/* 004143A0 10890035 */ beq $a0, $t1, .L00414478 +.L004143A4: +/* 004143A4 00041900 */ sll $v1, $a0, 4 +/* 004143A8 01632821 */ addu $a1, $t3, $v1 +/* 004143AC 24A2FFF0 */ addiu $v0, $a1, -0x10 +/* 004143B0 24A70010 */ addiu $a3, $a1, 0x10 +/* 004143B4 24A80020 */ addiu $t0, $a1, 0x20 +/* 004143B8 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 004143BC 00095100 */ sll $t2, $t1, 4 +.L004143C0: +/* 004143C0 8CD90000 */ lw $t9, ($a2) +/* 004143C4 8CCE0000 */ lw $t6, ($a2) +/* 004143C8 24A50040 */ addiu $a1, $a1, 0x40 +/* 004143CC 0323C021 */ addu $t8, $t9, $v1 +/* 004143D0 8F0FFFF0 */ lw $t7, -0x10($t8) +/* 004143D4 01C3C821 */ addu $t9, $t6, $v1 +/* 004143D8 24420040 */ addiu $v0, $v0, 0x40 +/* 004143DC AC4FFFC0 */ sw $t7, -0x40($v0) +/* 004143E0 8F0DFFF4 */ lw $t5, -0xc($t8) +/* 004143E4 24E70040 */ addiu $a3, $a3, 0x40 +/* 004143E8 25080040 */ addiu $t0, $t0, 0x40 +/* 004143EC AC4DFFC4 */ sw $t5, -0x3c($v0) +/* 004143F0 8F0FFFF8 */ lw $t7, -8($t8) +/* 004143F4 AC4FFFC8 */ sw $t7, -0x38($v0) +/* 004143F8 8F0DFFFC */ lw $t5, -4($t8) +/* 004143FC 8CCF0000 */ lw $t7, ($a2) +/* 00414400 AC4DFFCC */ sw $t5, -0x34($v0) +/* 00414404 8F2D0000 */ lw $t5, ($t9) +/* 00414408 01E37021 */ addu $t6, $t7, $v1 +/* 0041440C ACADFFC0 */ sw $t5, -0x40($a1) +/* 00414410 8F380004 */ lw $t8, 4($t9) +/* 00414414 ACB8FFC4 */ sw $t8, -0x3c($a1) +/* 00414418 8F2D0008 */ lw $t5, 8($t9) +/* 0041441C ACADFFC8 */ sw $t5, -0x38($a1) +/* 00414420 8F38000C */ lw $t8, 0xc($t9) +/* 00414424 8CCD0000 */ lw $t5, ($a2) +/* 00414428 ACB8FFCC */ sw $t8, -0x34($a1) +/* 0041442C 8DD80010 */ lw $t8, 0x10($t6) +/* 00414430 01A37821 */ addu $t7, $t5, $v1 +/* 00414434 24630040 */ addiu $v1, $v1, 0x40 +/* 00414438 ACF8FFC0 */ sw $t8, -0x40($a3) +/* 0041443C 8DD90014 */ lw $t9, 0x14($t6) +/* 00414440 ACF9FFC4 */ sw $t9, -0x3c($a3) +/* 00414444 8DD80018 */ lw $t8, 0x18($t6) +/* 00414448 ACF8FFC8 */ sw $t8, -0x38($a3) +/* 0041444C 8DD9001C */ lw $t9, 0x1c($t6) +/* 00414450 ACF9FFCC */ sw $t9, -0x34($a3) +/* 00414454 8DF90020 */ lw $t9, 0x20($t7) +/* 00414458 AD19FFC0 */ sw $t9, -0x40($t0) +/* 0041445C 8DEE0024 */ lw $t6, 0x24($t7) +/* 00414460 AD0EFFC4 */ sw $t6, -0x3c($t0) +/* 00414464 8DF90028 */ lw $t9, 0x28($t7) +/* 00414468 AD19FFC8 */ sw $t9, -0x38($t0) +/* 0041446C 8DEE002C */ lw $t6, 0x2c($t7) +/* 00414470 146AFFD3 */ bne $v1, $t2, .L004143C0 +/* 00414474 AD0EFFCC */ sw $t6, -0x34($t0) +.L00414478: +/* 00414478 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 0041447C 8F898974 */ lw $t1, %got(ibuffer_size)($gp) +/* 00414480 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 00414484 8D880000 */ lw $t0, ($t4) +/* 00414488 8D290000 */ lw $t1, ($t1) +/* 0041448C 8FA500D0 */ lw $a1, 0xd0($sp) +/* 00414490 0128082B */ sltu $at, $t1, $t0 +/* 00414494 1420004C */ bnez $at, .L004145C8 +/* 00414498 2508FFFF */ addiu $t0, $t0, -1 +/* 0041449C 01285023 */ subu $t2, $t1, $t0 +/* 004144A0 314A0003 */ andi $t2, $t2, 3 +/* 004144A4 000A5023 */ negu $t2, $t2 +/* 004144A8 11400016 */ beqz $t2, .L00414504 +/* 004144AC 01202025 */ move $a0, $t1 +/* 004144B0 0005C100 */ sll $t8, $a1, 4 +/* 004144B4 01781021 */ addu $v0, $t3, $t8 +/* 004144B8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004144BC 01493821 */ addu $a3, $t2, $t1 +/* 004144C0 00091900 */ sll $v1, $t1, 4 +.L004144C4: +/* 004144C4 8CCD0000 */ lw $t5, ($a2) +/* 004144C8 2484FFFF */ addiu $a0, $a0, -1 +/* 004144CC 24A5FFFF */ addiu $a1, $a1, -1 +/* 004144D0 01A37821 */ addu $t7, $t5, $v1 +/* 004144D4 8DF9FFF0 */ lw $t9, -0x10($t7) +/* 004144D8 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004144DC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004144E0 AC590010 */ sw $t9, 0x10($v0) +/* 004144E4 8DEEFFF4 */ lw $t6, -0xc($t7) +/* 004144E8 AC4E0014 */ sw $t6, 0x14($v0) +/* 004144EC 8DF9FFF8 */ lw $t9, -8($t7) +/* 004144F0 AC590018 */ sw $t9, 0x18($v0) +/* 004144F4 8DEEFFFC */ lw $t6, -4($t7) +/* 004144F8 14E4FFF2 */ bne $a3, $a0, .L004144C4 +/* 004144FC AC4E001C */ sw $t6, 0x1c($v0) +/* 00414500 10880031 */ beq $a0, $t0, .L004145C8 +.L00414504: +/* 00414504 0005C100 */ sll $t8, $a1, 4 +/* 00414508 01781021 */ addu $v0, $t3, $t8 +/* 0041450C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414510 00041900 */ sll $v1, $a0, 4 +/* 00414514 00083900 */ sll $a3, $t0, 4 +.L00414518: +/* 00414518 8CCD0000 */ lw $t5, ($a2) +/* 0041451C 8CD80000 */ lw $t8, ($a2) +/* 00414520 24A5FFFC */ addiu $a1, $a1, -4 +/* 00414524 01A37821 */ addu $t7, $t5, $v1 +/* 00414528 8DF9FFF0 */ lw $t9, -0x10($t7) +/* 0041452C 03036821 */ addu $t5, $t8, $v1 +/* 00414530 2442FFC0 */ addiu $v0, $v0, -0x40 +/* 00414534 AC590040 */ sw $t9, 0x40($v0) +/* 00414538 8DEEFFF4 */ lw $t6, -0xc($t7) +/* 0041453C AC4E0044 */ sw $t6, 0x44($v0) +/* 00414540 8DF9FFF8 */ lw $t9, -8($t7) +/* 00414544 AC590048 */ sw $t9, 0x48($v0) +/* 00414548 8DEEFFFC */ lw $t6, -4($t7) +/* 0041454C 8CD90000 */ lw $t9, ($a2) +/* 00414550 AC4E004C */ sw $t6, 0x4c($v0) +/* 00414554 8DAEFFE0 */ lw $t6, -0x20($t5) +/* 00414558 0323C021 */ addu $t8, $t9, $v1 +/* 0041455C AC4E0030 */ sw $t6, 0x30($v0) +/* 00414560 8DAFFFE4 */ lw $t7, -0x1c($t5) +/* 00414564 AC4F0034 */ sw $t7, 0x34($v0) +/* 00414568 8DAEFFE8 */ lw $t6, -0x18($t5) +/* 0041456C AC4E0038 */ sw $t6, 0x38($v0) +/* 00414570 8DAFFFEC */ lw $t7, -0x14($t5) +/* 00414574 8CCE0000 */ lw $t6, ($a2) +/* 00414578 AC4F003C */ sw $t7, 0x3c($v0) +/* 0041457C 8F0FFFD0 */ lw $t7, -0x30($t8) +/* 00414580 01C3C821 */ addu $t9, $t6, $v1 +/* 00414584 2463FFC0 */ addiu $v1, $v1, -0x40 +/* 00414588 AC4F0020 */ sw $t7, 0x20($v0) +/* 0041458C 8F0DFFD4 */ lw $t5, -0x2c($t8) +/* 00414590 AC4D0024 */ sw $t5, 0x24($v0) +/* 00414594 8F0FFFD8 */ lw $t7, -0x28($t8) +/* 00414598 AC4F0028 */ sw $t7, 0x28($v0) +/* 0041459C 8F0DFFDC */ lw $t5, -0x24($t8) +/* 004145A0 AC4D002C */ sw $t5, 0x2c($v0) +/* 004145A4 8F2DFFC0 */ lw $t5, -0x40($t9) +/* 004145A8 AC4D0010 */ sw $t5, 0x10($v0) +/* 004145AC 8F38FFC4 */ lw $t8, -0x3c($t9) +/* 004145B0 AC580014 */ sw $t8, 0x14($v0) +/* 004145B4 8F2DFFC8 */ lw $t5, -0x38($t9) +/* 004145B8 AC4D0018 */ sw $t5, 0x18($v0) +/* 004145BC 8F38FFCC */ lw $t8, -0x34($t9) +/* 004145C0 1467FFD5 */ bne $v1, $a3, .L00414518 +/* 004145C4 AC58001C */ sw $t8, 0x1c($v0) +.L004145C8: +/* 004145C8 8F9980C0 */ lw $t9, %call16(free)($gp) +/* 004145CC 24A50001 */ addiu $a1, $a1, 1 +/* 004145D0 AFA500D8 */ sw $a1, 0xd8($sp) +/* 004145D4 8CC40000 */ lw $a0, ($a2) +/* 004145D8 0320F809 */ jalr $t9 +/* 004145DC AFAB00D4 */ sw $t3, 0xd4($sp) +/* 004145E0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004145E4 8FAB00D4 */ lw $t3, 0xd4($sp) +/* 004145E8 8FAF00D0 */ lw $t7, 0xd0($sp) +/* 004145EC 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 004145F0 8F818974 */ lw $at, %got(ibuffer_size)($gp) +/* 004145F4 8F828988 */ lw $v0, %got(old_d_ptr)($gp) +/* 004145F8 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 004145FC ACCB0000 */ sw $t3, ($a2) +/* 00414600 AC2F0000 */ sw $t7, ($at) +/* 00414604 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00414608 8C4E0000 */ lw $t6, ($v0) +/* 0041460C 8D980000 */ lw $t8, ($t4) +/* 00414610 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00414614 01C5C821 */ addu $t9, $t6, $a1 +/* 00414618 03386823 */ subu $t5, $t9, $t8 +/* 0041461C 27BD00E0 */ addiu $sp, $sp, 0xe0 +/* 00414620 AC4D0000 */ sw $t5, ($v0) +/* 00414624 03E00008 */ jr $ra +/* 00414628 AD850000 */ sw $a1, ($t4) + .type grow_ibuffer, @function + .size grow_ibuffer, .-grow_ibuffer + .end grow_ibuffer + +glabel create_local_label + .ent create_local_label + # 0041514C emit_rllb + # 0041777C emit_rrll + # 00417CB8 emit_rll + # 00418150 emit_ll + # 0041860C emit_rill + # 004188BC define_label + # 004193FC emit_dir_ll + # 00419F88 demit_rrll + # 0041AA24 ddefine_label + # 00436758 emit_list +/* 0041462C 3C1C0FC1 */ .cpload $t9 +/* 00414630 279CB424 */ +/* 00414634 0399E021 */ +/* 00414638 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0041463C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00414640 10800006 */ beqz $a0, .L0041465C +/* 00414644 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00414648 3C017FFF */ lui $at, 0x7fff +/* 0041464C 3421FFFF */ ori $at, $at, 0xffff +/* 00414650 0081082A */ slt $at, $a0, $at +/* 00414654 14200040 */ bnez $at, .L00414758 +/* 00414658 00000000 */ nop +.L0041465C: +/* 0041465C 8F8E8038 */ lw $t6, %got(RO_10009510)($gp) +/* 00414660 24040004 */ li $a0, 4 +/* 00414664 24050086 */ li $a1, 134 +/* 00414668 25CE9510 */ addiu $t6, %lo(RO_10009510) # addiu $t6, $t6, -0x6af0 +/* 0041466C 25C80048 */ addiu $t0, $t6, 0x48 +/* 00414670 03A0C825 */ move $t9, $sp +.L00414674: +/* 00414674 89D80000 */ lwl $t8, ($t6) +/* 00414678 99D80003 */ lwr $t8, 3($t6) +/* 0041467C 25CE000C */ addiu $t6, $t6, 0xc +/* 00414680 2739000C */ addiu $t9, $t9, 0xc +/* 00414684 AB38FFFC */ swl $t8, -4($t9) +/* 00414688 BB38FFFF */ swr $t8, -1($t9) +/* 0041468C 89CFFFF8 */ lwl $t7, -8($t6) +/* 00414690 99CFFFFB */ lwr $t7, -5($t6) +/* 00414694 AB2F0000 */ swl $t7, ($t9) +/* 00414698 BB2F0003 */ swr $t7, 3($t9) +/* 0041469C 89D8FFFC */ lwl $t8, -4($t6) +/* 004146A0 99D8FFFF */ lwr $t8, -1($t6) +/* 004146A4 AB380004 */ swl $t8, 4($t9) +/* 004146A8 15C8FFF2 */ bne $t6, $t0, .L00414674 +/* 004146AC BB380007 */ swr $t8, 7($t9) +/* 004146B0 89D80000 */ lwl $t8, ($t6) +/* 004146B4 99D80003 */ lwr $t8, 3($t6) +/* 004146B8 8F898038 */ lw $t1, %got(RO_100094C0)($gp) +/* 004146BC 03A06025 */ move $t4, $sp +/* 004146C0 AB380008 */ swl $t8, 8($t9) +/* 004146C4 BB38000B */ swr $t8, 0xb($t9) +/* 004146C8 89CF0004 */ lwl $t7, 4($t6) +/* 004146CC 99CF0007 */ lwr $t7, 7($t6) +/* 004146D0 252994C0 */ addiu $t1, %lo(RO_100094C0) # addiu $t1, $t1, -0x6b40 +/* 004146D4 252D0048 */ addiu $t5, $t1, 0x48 +/* 004146D8 AB2F000C */ swl $t7, 0xc($t9) +/* 004146DC BB2F000F */ swr $t7, 0xf($t9) +.L004146E0: +/* 004146E0 892B0000 */ lwl $t3, ($t1) +/* 004146E4 992B0003 */ lwr $t3, 3($t1) +/* 004146E8 2529000C */ addiu $t1, $t1, 0xc +/* 004146EC 258C000C */ addiu $t4, $t4, 0xc +/* 004146F0 A98B004C */ swl $t3, 0x4c($t4) +/* 004146F4 B98B004F */ swr $t3, 0x4f($t4) +/* 004146F8 892AFFF8 */ lwl $t2, -8($t1) +/* 004146FC 992AFFFB */ lwr $t2, -5($t1) +/* 00414700 A98A0050 */ swl $t2, 0x50($t4) +/* 00414704 B98A0053 */ swr $t2, 0x53($t4) +/* 00414708 892BFFFC */ lwl $t3, -4($t1) +/* 0041470C 992BFFFF */ lwr $t3, -1($t1) +/* 00414710 A98B0054 */ swl $t3, 0x54($t4) +/* 00414714 152DFFF2 */ bne $t1, $t5, .L004146E0 +/* 00414718 B98B0057 */ swr $t3, 0x57($t4) +/* 0041471C 892B0000 */ lwl $t3, ($t1) +/* 00414720 992B0003 */ lwr $t3, 3($t1) +/* 00414724 A98B0058 */ swl $t3, 0x58($t4) +/* 00414728 B98B005B */ swr $t3, 0x5b($t4) +/* 0041472C 892A0004 */ lwl $t2, 4($t1) +/* 00414730 992A0007 */ lwr $t2, 7($t1) +/* 00414734 A98A005C */ swl $t2, 0x5c($t4) +/* 00414738 B98A005F */ swr $t2, 0x5f($t4) +/* 0041473C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00414740 8FA7000C */ lw $a3, 0xc($sp) +/* 00414744 8FA60008 */ lw $a2, 8($sp) +/* 00414748 0320F809 */ jalr $t9 +/* 0041474C 00000000 */ nop +/* 00414750 10000003 */ b .L00414760 +/* 00414754 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00414758: +/* 00414758 10000002 */ b .L00414764 +/* 0041475C 00041023 */ negu $v0, $a0 +.L00414760: +/* 00414760 8FA200BC */ lw $v0, 0xbc($sp) +.L00414764: +/* 00414764 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00414768 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0041476C 03E00008 */ jr $ra +/* 00414770 00000000 */ nop + .type create_local_label, @function + .size create_local_label, .-create_local_label + .end create_local_label + +glabel emit_vers + .ent emit_vers + # 0044BF18 main +/* 00414774 3C1C0FC1 */ .cpload $t9 +/* 00414778 279CB2DC */ +/* 0041477C 0399E021 */ +/* 00414780 8F848984 */ lw $a0, %got(d_ptr)($gp) +/* 00414784 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00414788 240A0007 */ li $t2, 7 +/* 0041478C 8C8F0000 */ lw $t7, ($a0) +/* 00414790 8C6E0000 */ lw $t6, ($v1) +/* 00414794 000FC100 */ sll $t8, $t7, 4 +/* 00414798 01D81021 */ addu $v0, $t6, $t8 +/* 0041479C 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004147A0 240E000A */ li $t6, 10 +/* 004147A4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004147A8 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 004147AC 3509002A */ ori $t1, $t0, 0x2a +/* 004147B0 A0490005 */ sb $t1, 5($v0) +/* 004147B4 8C8C0000 */ lw $t4, ($a0) +/* 004147B8 8C6B0000 */ lw $t3, ($v1) +/* 004147BC 000C6900 */ sll $t5, $t4, 4 +/* 004147C0 016D7821 */ addu $t7, $t3, $t5 +/* 004147C4 ADEAFFF8 */ sw $t2, -8($t7) +/* 004147C8 8C990000 */ lw $t9, ($a0) +/* 004147CC 8C780000 */ lw $t8, ($v1) +/* 004147D0 00194100 */ sll $t0, $t9, 4 +/* 004147D4 03084821 */ addu $t1, $t8, $t0 +/* 004147D8 AD2EFFFC */ sw $t6, -4($t1) +/* 004147DC 8C8C0000 */ lw $t4, ($a0) +/* 004147E0 258BFFFF */ addiu $t3, $t4, -1 +/* 004147E4 03E00008 */ jr $ra +/* 004147E8 AC8B0000 */ sw $t3, ($a0) + .type emit_vers, @function + .size emit_vers, .-emit_vers + .end emit_vers + +glabel emit_rob + .ent emit_rob + # 00421170 gen_entry + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00424934 restore_from_temp + # 0042670C loadstore + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BA08 load_pmov_regs + # 0042BDAC eval + # 00440EA0 gen_store +/* 004147EC 3C1C0FC1 */ .cpload $t9 +/* 004147F0 279CB264 */ +/* 004147F4 0399E021 */ +/* 004147F8 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004147FC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00414800 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00414804 8D0F0000 */ lw $t7, ($t0) +/* 00414808 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041480C 8D2E0000 */ lw $t6, ($t1) +/* 00414810 000FC100 */ sll $t8, $t7, 4 +/* 00414814 AFBC0020 */ sw $gp, 0x20($sp) +/* 00414818 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041481C AFA40028 */ sw $a0, 0x28($sp) +/* 00414820 AFA5002C */ sw $a1, 0x2c($sp) +/* 00414824 AFA60030 */ sw $a2, 0x30($sp) +/* 00414828 AFA70034 */ sw $a3, 0x34($sp) +/* 0041482C 01D81021 */ addu $v0, $t6, $t8 +/* 00414830 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00414834 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414838 3C01FFFC */ lui $at, 0xfffc +/* 0041483C 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00414840 356C0017 */ ori $t4, $t3, 0x17 +/* 00414844 A04C0005 */ sb $t4, 5($v0) +/* 00414848 8D0F0000 */ lw $t7, ($t0) +/* 0041484C 8D2D0000 */ lw $t5, ($t1) +/* 00414850 97B8002A */ lhu $t8, 0x2a($sp) +/* 00414854 000F7100 */ sll $t6, $t7, 4 +/* 00414858 01AE1021 */ addu $v0, $t5, $t6 +/* 0041485C 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00414860 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414864 34213FFF */ ori $at, $at, 0x3fff +/* 00414868 000ACD80 */ sll $t9, $t2, 0x16 +/* 0041486C 00195DC2 */ srl $t3, $t9, 0x17 +/* 00414870 030B6026 */ xor $t4, $t8, $t3 +/* 00414874 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00414878 000F6D82 */ srl $t5, $t7, 0x16 +/* 0041487C 01AA7026 */ xor $t6, $t5, $t2 +/* 00414880 A44E0006 */ sh $t6, 6($v0) +/* 00414884 8D180000 */ lw $t8, ($t0) +/* 00414888 8D390000 */ lw $t9, ($t1) +/* 0041488C 00185900 */ sll $t3, $t8, 4 +/* 00414890 032B1021 */ addu $v0, $t9, $t3 +/* 00414894 8C4CFFF8 */ lw $t4, -8($v0) +/* 00414898 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041489C 01817824 */ and $t7, $t4, $at +/* 004148A0 AC4F0008 */ sw $t7, 8($v0) +/* 004148A4 8D0E0000 */ lw $t6, ($t0) +/* 004148A8 8D2D0000 */ lw $t5, ($t1) +/* 004148AC 93B9002F */ lbu $t9, 0x2f($sp) +/* 004148B0 000EC100 */ sll $t8, $t6, 4 +/* 004148B4 01B81021 */ addu $v0, $t5, $t8 +/* 004148B8 8C43FFF8 */ lw $v1, -8($v0) +/* 004148BC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004148C0 3C01FE3F */ lui $at, 0xfe3f +/* 004148C4 00035E42 */ srl $t3, $v1, 0x19 +/* 004148C8 032B6026 */ xor $t4, $t9, $t3 +/* 004148CC 000C7E40 */ sll $t7, $t4, 0x19 +/* 004148D0 01E37026 */ xor $t6, $t7, $v1 +/* 004148D4 AC4E0008 */ sw $t6, 8($v0) +/* 004148D8 8D180000 */ lw $t8, ($t0) +/* 004148DC 8D2D0000 */ lw $t5, ($t1) +/* 004148E0 93AB0037 */ lbu $t3, 0x37($sp) +/* 004148E4 0018C900 */ sll $t9, $t8, 4 +/* 004148E8 01B91021 */ addu $v0, $t5, $t9 +/* 004148EC 8C43FFF8 */ lw $v1, -8($v0) +/* 004148F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004148F4 3421FFFF */ ori $at, $at, 0xffff +/* 004148F8 000361C0 */ sll $t4, $v1, 7 +/* 004148FC 000C7E42 */ srl $t7, $t4, 0x19 +/* 00414900 016F7026 */ xor $t6, $t3, $t7 +/* 00414904 000EC640 */ sll $t8, $t6, 0x19 +/* 00414908 001869C2 */ srl $t5, $t8, 7 +/* 0041490C 01A3C826 */ xor $t9, $t5, $v1 +/* 00414910 AC590008 */ sw $t9, 8($v0) +/* 00414914 8D0B0000 */ lw $t3, ($t0) +/* 00414918 8D2C0000 */ lw $t4, ($t1) +/* 0041491C 000B7900 */ sll $t7, $t3, 4 +/* 00414920 018F7021 */ addu $t6, $t4, $t7 +/* 00414924 ADC0FFF0 */ sw $zero, -0x10($t6) +/* 00414928 8D0D0000 */ lw $t5, ($t0) +/* 0041492C 8D380000 */ lw $t8, ($t1) +/* 00414930 8FAB0038 */ lw $t3, 0x38($sp) +/* 00414934 000DC900 */ sll $t9, $t5, 4 +/* 00414938 03191021 */ addu $v0, $t8, $t9 +/* 0041493C 8C43FFF8 */ lw $v1, -8($v0) +/* 00414940 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414944 00036480 */ sll $t4, $v1, 0x12 +/* 00414948 000C7C82 */ srl $t7, $t4, 0x12 +/* 0041494C 016F7026 */ xor $t6, $t3, $t7 +/* 00414950 31CD3FFF */ andi $t5, $t6, 0x3fff +/* 00414954 01A3C026 */ xor $t8, $t5, $v1 +/* 00414958 AC580008 */ sw $t8, 8($v0) +/* 0041495C 8D0B0000 */ lw $t3, ($t0) +/* 00414960 8D2C0000 */ lw $t4, ($t1) +/* 00414964 8FB90030 */ lw $t9, 0x30($sp) +/* 00414968 000B7900 */ sll $t7, $t3, 4 +/* 0041496C 018F7021 */ addu $t6, $t4, $t7 +/* 00414970 ADD9FFFC */ sw $t9, -4($t6) +/* 00414974 8D180000 */ lw $t8, ($t0) +/* 00414978 8D2D0000 */ lw $t5, ($t1) +/* 0041497C 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00414980 00185900 */ sll $t3, $t8, 4 +/* 00414984 01AB1021 */ addu $v0, $t5, $t3 +/* 00414988 8C4CFFF4 */ lw $t4, -0xc($v0) +/* 0041498C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414990 01817824 */ and $t7, $t4, $at +/* 00414994 AC4F0004 */ sw $t7, 4($v0) +/* 00414998 8D030000 */ lw $v1, ($t0) +/* 0041499C 8F390000 */ lw $t9, ($t9) +/* 004149A0 17230007 */ bne $t9, $v1, .L004149C0 +/* 004149A4 00000000 */ nop +/* 004149A8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004149AC 0320F809 */ jalr $t9 +/* 004149B0 00000000 */ nop +/* 004149B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004149B8 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004149BC 8D030000 */ lw $v1, ($t0) +.L004149C0: +/* 004149C0 8F9889E0 */ lw $t8, %got(debug_ugen)($gp) +/* 004149C4 246E0001 */ addiu $t6, $v1, 1 +/* 004149C8 AD0E0000 */ sw $t6, ($t0) +/* 004149CC 93180000 */ lbu $t8, ($t8) +/* 004149D0 2406000A */ li $a2, 10 +/* 004149D4 5300004B */ beql $t8, $zero, .L00414B04 +/* 004149D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004149DC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004149E0 8F848954 */ lw $a0, %got(output)($gp) +/* 004149E4 8F858038 */ lw $a1, %got(RO_10009560)($gp) +/* 004149E8 2407000A */ li $a3, 10 +/* 004149EC 8C840000 */ lw $a0, ($a0) +/* 004149F0 0320F809 */ jalr $t9 +/* 004149F4 24A59560 */ addiu $a1, %lo(RO_10009560) # addiu $a1, $a1, -0x6aa0 +/* 004149F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004149FC 240D000A */ li $t5, 10 +/* 00414A00 AFAD0010 */ sw $t5, 0x10($sp) +/* 00414A04 8F908954 */ lw $s0, %got(output)($gp) +/* 00414A08 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414A0C 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00414A10 8E100000 */ lw $s0, ($s0) +/* 00414A14 97A5002A */ lhu $a1, 0x2a($sp) +/* 00414A18 00003825 */ move $a3, $zero +/* 00414A1C 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00414A20 0320F809 */ jalr $t9 +/* 00414A24 02002025 */ move $a0, $s0 +/* 00414A28 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414A2C 02002025 */ move $a0, $s0 +/* 00414A30 24050020 */ li $a1, 32 +/* 00414A34 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00414A38 24060001 */ li $a2, 1 +/* 00414A3C 2407000A */ li $a3, 10 +/* 00414A40 0320F809 */ jalr $t9 +/* 00414A44 00000000 */ nop +/* 00414A48 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414A4C 240B000A */ li $t3, 10 +/* 00414A50 AFAB0010 */ sw $t3, 0x10($sp) +/* 00414A54 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414A58 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00414A5C 02002025 */ move $a0, $s0 +/* 00414A60 93A5002F */ lbu $a1, 0x2f($sp) +/* 00414A64 00003825 */ move $a3, $zero +/* 00414A68 0320F809 */ jalr $t9 +/* 00414A6C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00414A70 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414A74 02002025 */ move $a0, $s0 +/* 00414A78 8FA50030 */ lw $a1, 0x30($sp) +/* 00414A7C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00414A80 2406000C */ li $a2, 12 +/* 00414A84 2407000A */ li $a3, 10 +/* 00414A88 0320F809 */ jalr $t9 +/* 00414A8C 00000000 */ nop +/* 00414A90 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414A94 24050020 */ li $a1, 32 +/* 00414A98 24060001 */ li $a2, 1 +/* 00414A9C 8F908954 */ lw $s0, %got(output)($gp) +/* 00414AA0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00414AA4 2407000A */ li $a3, 10 +/* 00414AA8 8E100000 */ lw $s0, ($s0) +/* 00414AAC 0320F809 */ jalr $t9 +/* 00414AB0 02002025 */ move $a0, $s0 +/* 00414AB4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414AB8 240C000A */ li $t4, 10 +/* 00414ABC AFAC0010 */ sw $t4, 0x10($sp) +/* 00414AC0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414AC4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00414AC8 02002025 */ move $a0, $s0 +/* 00414ACC 93A50037 */ lbu $a1, 0x37($sp) +/* 00414AD0 00003825 */ move $a3, $zero +/* 00414AD4 0320F809 */ jalr $t9 +/* 00414AD8 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00414ADC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414AE0 02002025 */ move $a0, $s0 +/* 00414AE4 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00414AE8 0320F809 */ jalr $t9 +/* 00414AEC 00000000 */ nop +/* 00414AF0 97AF002A */ lhu $t7, 0x2a($sp) +/* 00414AF4 241901AD */ li $t9, 429 +/* 00414AF8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414AFC 01F902B4 */ teq $t7, $t9, 0xa +/* 00414B00 8FBF0024 */ lw $ra, 0x24($sp) +.L00414B04: +/* 00414B04 8FB0001C */ lw $s0, 0x1c($sp) +/* 00414B08 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00414B0C 03E00008 */ jr $ra +/* 00414B10 00000000 */ nop + .type emit_rob, @function + .size emit_rob, .-emit_rob + .end emit_rob + +glabel emit_rab + .ent emit_rab + # 00426B44 func_00426B44 + # 00426C54 func_00426C54 + # 00426EF0 iloadistore +/* 00414B14 3C1C0FC1 */ .cpload $t9 +/* 00414B18 279CAF3C */ +/* 00414B1C 0399E021 */ +/* 00414B20 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00414B24 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00414B28 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00414B2C 8D0F0000 */ lw $t7, ($t0) +/* 00414B30 8D2E0000 */ lw $t6, ($t1) +/* 00414B34 AFBF0024 */ sw $ra, 0x24($sp) +/* 00414B38 000FC100 */ sll $t8, $t7, 4 +/* 00414B3C AFBC0020 */ sw $gp, 0x20($sp) +/* 00414B40 AFB0001C */ sw $s0, 0x1c($sp) +/* 00414B44 AFA40028 */ sw $a0, 0x28($sp) +/* 00414B48 AFA5002C */ sw $a1, 0x2c($sp) +/* 00414B4C AFA60030 */ sw $a2, 0x30($sp) +/* 00414B50 01D81021 */ addu $v0, $t6, $t8 +/* 00414B54 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00414B58 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414B5C 3C01FFFC */ lui $at, 0xfffc +/* 00414B60 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00414B64 356C0017 */ ori $t4, $t3, 0x17 +/* 00414B68 A04C0005 */ sb $t4, 5($v0) +/* 00414B6C 8D0F0000 */ lw $t7, ($t0) +/* 00414B70 8D2D0000 */ lw $t5, ($t1) +/* 00414B74 97B8002A */ lhu $t8, 0x2a($sp) +/* 00414B78 000F7100 */ sll $t6, $t7, 4 +/* 00414B7C 01AE1021 */ addu $v0, $t5, $t6 +/* 00414B80 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00414B84 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414B88 34213FFF */ ori $at, $at, 0x3fff +/* 00414B8C 000ACD80 */ sll $t9, $t2, 0x16 +/* 00414B90 00195DC2 */ srl $t3, $t9, 0x17 +/* 00414B94 030B6026 */ xor $t4, $t8, $t3 +/* 00414B98 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00414B9C 000F6D82 */ srl $t5, $t7, 0x16 +/* 00414BA0 01AA7026 */ xor $t6, $t5, $t2 +/* 00414BA4 A44E0006 */ sh $t6, 6($v0) +/* 00414BA8 8D180000 */ lw $t8, ($t0) +/* 00414BAC 8D390000 */ lw $t9, ($t1) +/* 00414BB0 00185900 */ sll $t3, $t8, 4 +/* 00414BB4 032B1021 */ addu $v0, $t9, $t3 +/* 00414BB8 8C4CFFF8 */ lw $t4, -8($v0) +/* 00414BBC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414BC0 01817824 */ and $t7, $t4, $at +/* 00414BC4 AC4F0008 */ sw $t7, 8($v0) +/* 00414BC8 8D0E0000 */ lw $t6, ($t0) +/* 00414BCC 8D2D0000 */ lw $t5, ($t1) +/* 00414BD0 93B9002F */ lbu $t9, 0x2f($sp) +/* 00414BD4 000EC100 */ sll $t8, $t6, 4 +/* 00414BD8 01B81021 */ addu $v0, $t5, $t8 +/* 00414BDC 8C43FFF8 */ lw $v1, -8($v0) +/* 00414BE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414BE4 3C01FE3F */ lui $at, 0xfe3f +/* 00414BE8 00035E42 */ srl $t3, $v1, 0x19 +/* 00414BEC 032B6026 */ xor $t4, $t9, $t3 +/* 00414BF0 000C7E40 */ sll $t7, $t4, 0x19 +/* 00414BF4 01E37026 */ xor $t6, $t7, $v1 +/* 00414BF8 AC4E0008 */ sw $t6, 8($v0) +/* 00414BFC 8D180000 */ lw $t8, ($t0) +/* 00414C00 8D2D0000 */ lw $t5, ($t1) +/* 00414C04 93AB003B */ lbu $t3, 0x3b($sp) +/* 00414C08 0018C900 */ sll $t9, $t8, 4 +/* 00414C0C 01B91021 */ addu $v0, $t5, $t9 +/* 00414C10 8C43FFF8 */ lw $v1, -8($v0) +/* 00414C14 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414C18 3421FFFF */ ori $at, $at, 0xffff +/* 00414C1C 000361C0 */ sll $t4, $v1, 7 +/* 00414C20 000C7E42 */ srl $t7, $t4, 0x19 +/* 00414C24 016F7026 */ xor $t6, $t3, $t7 +/* 00414C28 000EC640 */ sll $t8, $t6, 0x19 +/* 00414C2C 001869C2 */ srl $t5, $t8, 7 +/* 00414C30 01A3C826 */ xor $t9, $t5, $v1 +/* 00414C34 AC590008 */ sw $t9, 8($v0) +/* 00414C38 8D0B0000 */ lw $t3, ($t0) +/* 00414C3C 8D2C0000 */ lw $t4, ($t1) +/* 00414C40 000B7900 */ sll $t7, $t3, 4 +/* 00414C44 018F7021 */ addu $t6, $t4, $t7 +/* 00414C48 ADC7FFF0 */ sw $a3, -0x10($t6) +/* 00414C4C 8D0D0000 */ lw $t5, ($t0) +/* 00414C50 8D380000 */ lw $t8, ($t1) +/* 00414C54 8FAB003C */ lw $t3, 0x3c($sp) +/* 00414C58 000DC900 */ sll $t9, $t5, 4 +/* 00414C5C 03191021 */ addu $v0, $t8, $t9 +/* 00414C60 8C43FFF8 */ lw $v1, -8($v0) +/* 00414C64 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414C68 00036480 */ sll $t4, $v1, 0x12 +/* 00414C6C 000C7C82 */ srl $t7, $t4, 0x12 +/* 00414C70 016F7026 */ xor $t6, $t3, $t7 +/* 00414C74 31CD3FFF */ andi $t5, $t6, 0x3fff +/* 00414C78 01A3C026 */ xor $t8, $t5, $v1 +/* 00414C7C AC580008 */ sw $t8, 8($v0) +/* 00414C80 8D0B0000 */ lw $t3, ($t0) +/* 00414C84 8D2C0000 */ lw $t4, ($t1) +/* 00414C88 8FB90030 */ lw $t9, 0x30($sp) +/* 00414C8C 000B7900 */ sll $t7, $t3, 4 +/* 00414C90 018F7021 */ addu $t6, $t4, $t7 +/* 00414C94 ADD9FFFC */ sw $t9, -4($t6) +/* 00414C98 8D180000 */ lw $t8, ($t0) +/* 00414C9C 8D2D0000 */ lw $t5, ($t1) +/* 00414CA0 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00414CA4 00185900 */ sll $t3, $t8, 4 +/* 00414CA8 01AB1021 */ addu $v0, $t5, $t3 +/* 00414CAC 8C4CFFF4 */ lw $t4, -0xc($v0) +/* 00414CB0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414CB4 01817824 */ and $t7, $t4, $at +/* 00414CB8 AC4F0004 */ sw $t7, 4($v0) +/* 00414CBC 8D030000 */ lw $v1, ($t0) +/* 00414CC0 8F390000 */ lw $t9, ($t9) +/* 00414CC4 17230007 */ bne $t9, $v1, .L00414CE4 +/* 00414CC8 00000000 */ nop +/* 00414CCC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00414CD0 0320F809 */ jalr $t9 +/* 00414CD4 00000000 */ nop +/* 00414CD8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414CDC 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00414CE0 8D030000 */ lw $v1, ($t0) +.L00414CE4: +/* 00414CE4 8F9889E0 */ lw $t8, %got(debug_ugen)($gp) +/* 00414CE8 246E0001 */ addiu $t6, $v1, 1 +/* 00414CEC AD0E0000 */ sw $t6, ($t0) +/* 00414CF0 93180000 */ lbu $t8, ($t8) +/* 00414CF4 2406000A */ li $a2, 10 +/* 00414CF8 5300004B */ beql $t8, $zero, .L00414E28 +/* 00414CFC 8FBF0024 */ lw $ra, 0x24($sp) +/* 00414D00 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00414D04 8F848954 */ lw $a0, %got(output)($gp) +/* 00414D08 8F858038 */ lw $a1, %got(RO_1000956A)($gp) +/* 00414D0C 2407000A */ li $a3, 10 +/* 00414D10 8C840000 */ lw $a0, ($a0) +/* 00414D14 0320F809 */ jalr $t9 +/* 00414D18 24A5956A */ addiu $a1, %lo(RO_1000956A) # addiu $a1, $a1, -0x6a96 +/* 00414D1C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414D20 240D000A */ li $t5, 10 +/* 00414D24 AFAD0010 */ sw $t5, 0x10($sp) +/* 00414D28 8F908954 */ lw $s0, %got(output)($gp) +/* 00414D2C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414D30 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00414D34 8E100000 */ lw $s0, ($s0) +/* 00414D38 97A5002A */ lhu $a1, 0x2a($sp) +/* 00414D3C 00003825 */ move $a3, $zero +/* 00414D40 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00414D44 0320F809 */ jalr $t9 +/* 00414D48 02002025 */ move $a0, $s0 +/* 00414D4C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414D50 02002025 */ move $a0, $s0 +/* 00414D54 24050020 */ li $a1, 32 +/* 00414D58 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00414D5C 24060001 */ li $a2, 1 +/* 00414D60 2407000A */ li $a3, 10 +/* 00414D64 0320F809 */ jalr $t9 +/* 00414D68 00000000 */ nop +/* 00414D6C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414D70 240B000A */ li $t3, 10 +/* 00414D74 AFAB0010 */ sw $t3, 0x10($sp) +/* 00414D78 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414D7C 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00414D80 02002025 */ move $a0, $s0 +/* 00414D84 93A5002F */ lbu $a1, 0x2f($sp) +/* 00414D88 00003825 */ move $a3, $zero +/* 00414D8C 0320F809 */ jalr $t9 +/* 00414D90 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00414D94 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414D98 02002025 */ move $a0, $s0 +/* 00414D9C 8FA50030 */ lw $a1, 0x30($sp) +/* 00414DA0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00414DA4 2406000C */ li $a2, 12 +/* 00414DA8 2407000A */ li $a3, 10 +/* 00414DAC 0320F809 */ jalr $t9 +/* 00414DB0 00000000 */ nop +/* 00414DB4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414DB8 24050020 */ li $a1, 32 +/* 00414DBC 24060001 */ li $a2, 1 +/* 00414DC0 8F908954 */ lw $s0, %got(output)($gp) +/* 00414DC4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00414DC8 2407000A */ li $a3, 10 +/* 00414DCC 8E100000 */ lw $s0, ($s0) +/* 00414DD0 0320F809 */ jalr $t9 +/* 00414DD4 02002025 */ move $a0, $s0 +/* 00414DD8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414DDC 240C000A */ li $t4, 10 +/* 00414DE0 AFAC0010 */ sw $t4, 0x10($sp) +/* 00414DE4 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00414DE8 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00414DEC 02002025 */ move $a0, $s0 +/* 00414DF0 93A5003B */ lbu $a1, 0x3b($sp) +/* 00414DF4 00003825 */ move $a3, $zero +/* 00414DF8 0320F809 */ jalr $t9 +/* 00414DFC 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00414E00 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414E04 02002025 */ move $a0, $s0 +/* 00414E08 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00414E0C 0320F809 */ jalr $t9 +/* 00414E10 00000000 */ nop +/* 00414E14 97AF002A */ lhu $t7, 0x2a($sp) +/* 00414E18 241901AD */ li $t9, 429 +/* 00414E1C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414E20 01F902B4 */ teq $t7, $t9, 0xa +/* 00414E24 8FBF0024 */ lw $ra, 0x24($sp) +.L00414E28: +/* 00414E28 8FB0001C */ lw $s0, 0x1c($sp) +/* 00414E2C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00414E30 03E00008 */ jr $ra +/* 00414E34 00000000 */ nop + .type emit_rab, @function + .size emit_rab, .-emit_rab + .end emit_rab + +glabel emit_rrab + .ent emit_rrab + # 0042670C loadstore + # 00427538 func_00427538 + # 00427620 rloadrstore +/* 00414E38 3C1C0FC1 */ .cpload $t9 +/* 00414E3C 279CAC18 */ +/* 00414E40 0399E021 */ +/* 00414E44 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00414E48 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00414E4C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00414E50 8D0F0000 */ lw $t7, ($t0) +/* 00414E54 8D2E0000 */ lw $t6, ($t1) +/* 00414E58 AFBF0024 */ sw $ra, 0x24($sp) +/* 00414E5C 000FC100 */ sll $t8, $t7, 4 +/* 00414E60 AFBC0020 */ sw $gp, 0x20($sp) +/* 00414E64 AFB0001C */ sw $s0, 0x1c($sp) +/* 00414E68 AFA40028 */ sw $a0, 0x28($sp) +/* 00414E6C AFA5002C */ sw $a1, 0x2c($sp) +/* 00414E70 AFA60030 */ sw $a2, 0x30($sp) +/* 00414E74 01D81021 */ addu $v0, $t6, $t8 +/* 00414E78 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00414E7C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414E80 3C01FFFC */ lui $at, 0xfffc +/* 00414E84 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00414E88 356C0017 */ ori $t4, $t3, 0x17 +/* 00414E8C A04C0005 */ sb $t4, 5($v0) +/* 00414E90 8D0F0000 */ lw $t7, ($t0) +/* 00414E94 8D2D0000 */ lw $t5, ($t1) +/* 00414E98 97B8002A */ lhu $t8, 0x2a($sp) +/* 00414E9C 000F7100 */ sll $t6, $t7, 4 +/* 00414EA0 01AE1021 */ addu $v0, $t5, $t6 +/* 00414EA4 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00414EA8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414EAC 34213FFF */ ori $at, $at, 0x3fff +/* 00414EB0 000ACD80 */ sll $t9, $t2, 0x16 +/* 00414EB4 00195DC2 */ srl $t3, $t9, 0x17 +/* 00414EB8 030B6026 */ xor $t4, $t8, $t3 +/* 00414EBC 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00414EC0 000F6D82 */ srl $t5, $t7, 0x16 +/* 00414EC4 01AA7026 */ xor $t6, $t5, $t2 +/* 00414EC8 A44E0006 */ sh $t6, 6($v0) +/* 00414ECC 8D180000 */ lw $t8, ($t0) +/* 00414ED0 8D390000 */ lw $t9, ($t1) +/* 00414ED4 00185900 */ sll $t3, $t8, 4 +/* 00414ED8 032B1021 */ addu $v0, $t9, $t3 +/* 00414EDC 8C4CFFF8 */ lw $t4, -8($v0) +/* 00414EE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414EE4 01817824 */ and $t7, $t4, $at +/* 00414EE8 35ED4000 */ ori $t5, $t7, 0x4000 +/* 00414EEC AC4D0008 */ sw $t5, 8($v0) +/* 00414EF0 8D180000 */ lw $t8, ($t0) +/* 00414EF4 8D2E0000 */ lw $t6, ($t1) +/* 00414EF8 93AB002F */ lbu $t3, 0x2f($sp) +/* 00414EFC 0018C900 */ sll $t9, $t8, 4 +/* 00414F00 01D91021 */ addu $v0, $t6, $t9 +/* 00414F04 8C43FFF8 */ lw $v1, -8($v0) +/* 00414F08 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414F0C 2401C000 */ li $at, -16384 +/* 00414F10 00036642 */ srl $t4, $v1, 0x19 +/* 00414F14 016C7826 */ xor $t7, $t3, $t4 +/* 00414F18 000F6E40 */ sll $t5, $t7, 0x19 +/* 00414F1C 01A3C026 */ xor $t8, $t5, $v1 +/* 00414F20 AC580008 */ sw $t8, 8($v0) +/* 00414F24 8D190000 */ lw $t9, ($t0) +/* 00414F28 8D2E0000 */ lw $t6, ($t1) +/* 00414F2C 93AC003B */ lbu $t4, 0x3b($sp) +/* 00414F30 00195900 */ sll $t3, $t9, 4 +/* 00414F34 01CB1021 */ addu $v0, $t6, $t3 +/* 00414F38 8C43FFF8 */ lw $v1, -8($v0) +/* 00414F3C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414F40 000379C0 */ sll $t7, $v1, 7 +/* 00414F44 000F6E42 */ srl $t5, $t7, 0x19 +/* 00414F48 018DC026 */ xor $t8, $t4, $t5 +/* 00414F4C 0018CE40 */ sll $t9, $t8, 0x19 +/* 00414F50 001971C2 */ srl $t6, $t9, 7 +/* 00414F54 01C35826 */ xor $t3, $t6, $v1 +/* 00414F58 AC4B0008 */ sw $t3, 8($v0) +/* 00414F5C 8D0C0000 */ lw $t4, ($t0) +/* 00414F60 8D2F0000 */ lw $t7, ($t1) +/* 00414F64 000C6900 */ sll $t5, $t4, 4 +/* 00414F68 01EDC021 */ addu $t8, $t7, $t5 +/* 00414F6C AF07FFF0 */ sw $a3, -0x10($t8) +/* 00414F70 8D0E0000 */ lw $t6, ($t0) +/* 00414F74 8D390000 */ lw $t9, ($t1) +/* 00414F78 000E5900 */ sll $t3, $t6, 4 +/* 00414F7C 032B1021 */ addu $v0, $t9, $t3 +/* 00414F80 8C4CFFF8 */ lw $t4, -8($v0) +/* 00414F84 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414F88 01817824 */ and $t7, $t4, $at +/* 00414F8C AC4F0008 */ sw $t7, 8($v0) +/* 00414F90 8D0E0000 */ lw $t6, ($t0) +/* 00414F94 8D380000 */ lw $t8, ($t1) +/* 00414F98 8FAD0030 */ lw $t5, 0x30($sp) +/* 00414F9C 000EC900 */ sll $t9, $t6, 4 +/* 00414FA0 03195821 */ addu $t3, $t8, $t9 +/* 00414FA4 AD6DFFFC */ sw $t5, -4($t3) +/* 00414FA8 8D0F0000 */ lw $t7, ($t0) +/* 00414FAC 8D2C0000 */ lw $t4, ($t1) +/* 00414FB0 3C01FE3F */ lui $at, 0xfe3f +/* 00414FB4 000F7100 */ sll $t6, $t7, 4 +/* 00414FB8 018E1021 */ addu $v0, $t4, $t6 +/* 00414FBC 8C58FFF4 */ lw $t8, -0xc($v0) +/* 00414FC0 3421FFFF */ ori $at, $at, 0xffff +/* 00414FC4 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 00414FC8 0301C824 */ and $t9, $t8, $at +/* 00414FCC 3C010180 */ lui $at, 0x180 +/* 00414FD0 03216825 */ or $t5, $t9, $at +/* 00414FD4 AC4DFFF4 */ sw $t5, -0xc($v0) +/* 00414FD8 8D030000 */ lw $v1, ($t0) +/* 00414FDC 8D6B0000 */ lw $t3, ($t3) +/* 00414FE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00414FE4 15630007 */ bne $t3, $v1, .L00415004 +/* 00414FE8 00000000 */ nop +/* 00414FEC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00414FF0 0320F809 */ jalr $t9 +/* 00414FF4 00000000 */ nop +/* 00414FF8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00414FFC 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00415000 8D030000 */ lw $v1, ($t0) +.L00415004: +/* 00415004 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00415008 246F0001 */ addiu $t7, $v1, 1 +/* 0041500C AD0F0000 */ sw $t7, ($t0) +/* 00415010 918C0000 */ lbu $t4, ($t4) +/* 00415014 2406000A */ li $a2, 10 +/* 00415018 51800048 */ beql $t4, $zero, .L0041513C +/* 0041501C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00415020 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00415024 8F848954 */ lw $a0, %got(output)($gp) +/* 00415028 8F858038 */ lw $a1, %got(RO_10009574)($gp) +/* 0041502C 2407000A */ li $a3, 10 +/* 00415030 8C840000 */ lw $a0, ($a0) +/* 00415034 0320F809 */ jalr $t9 +/* 00415038 24A59574 */ addiu $a1, %lo(RO_10009574) # addiu $a1, $a1, -0x6a8c +/* 0041503C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415040 240E000A */ li $t6, 10 +/* 00415044 AFAE0010 */ sw $t6, 0x10($sp) +/* 00415048 8F908954 */ lw $s0, %got(output)($gp) +/* 0041504C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415050 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00415054 8E100000 */ lw $s0, ($s0) +/* 00415058 97A5002A */ lhu $a1, 0x2a($sp) +/* 0041505C 00003825 */ move $a3, $zero +/* 00415060 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00415064 0320F809 */ jalr $t9 +/* 00415068 02002025 */ move $a0, $s0 +/* 0041506C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415070 02002025 */ move $a0, $s0 +/* 00415074 24050020 */ li $a1, 32 +/* 00415078 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0041507C 24060001 */ li $a2, 1 +/* 00415080 2407000A */ li $a3, 10 +/* 00415084 0320F809 */ jalr $t9 +/* 00415088 00000000 */ nop +/* 0041508C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415090 2418000A */ li $t8, 10 +/* 00415094 AFB80010 */ sw $t8, 0x10($sp) +/* 00415098 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0041509C 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004150A0 02002025 */ move $a0, $s0 +/* 004150A4 93A5002F */ lbu $a1, 0x2f($sp) +/* 004150A8 00003825 */ move $a3, $zero +/* 004150AC 0320F809 */ jalr $t9 +/* 004150B0 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004150B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004150B8 02002025 */ move $a0, $s0 +/* 004150BC 8FA50030 */ lw $a1, 0x30($sp) +/* 004150C0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004150C4 2406000C */ li $a2, 12 +/* 004150C8 2407000A */ li $a3, 10 +/* 004150CC 0320F809 */ jalr $t9 +/* 004150D0 00000000 */ nop +/* 004150D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004150D8 24050020 */ li $a1, 32 +/* 004150DC 24060001 */ li $a2, 1 +/* 004150E0 8F908954 */ lw $s0, %got(output)($gp) +/* 004150E4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004150E8 2407000A */ li $a3, 10 +/* 004150EC 8E100000 */ lw $s0, ($s0) +/* 004150F0 0320F809 */ jalr $t9 +/* 004150F4 02002025 */ move $a0, $s0 +/* 004150F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004150FC 2419000A */ li $t9, 10 +/* 00415100 AFB90010 */ sw $t9, 0x10($sp) +/* 00415104 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415108 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041510C 02002025 */ move $a0, $s0 +/* 00415110 93A5003B */ lbu $a1, 0x3b($sp) +/* 00415114 00003825 */ move $a3, $zero +/* 00415118 0320F809 */ jalr $t9 +/* 0041511C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00415120 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415124 02002025 */ move $a0, $s0 +/* 00415128 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0041512C 0320F809 */ jalr $t9 +/* 00415130 00000000 */ nop +/* 00415134 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415138 8FBF0024 */ lw $ra, 0x24($sp) +.L0041513C: +/* 0041513C 8FB0001C */ lw $s0, 0x1c($sp) +/* 00415140 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00415144 03E00008 */ jr $ra +/* 00415148 00000000 */ nop + .type emit_rrab, @function + .size emit_rrab, .-emit_rrab + .end emit_rrab + +glabel emit_rllb + .ent emit_rllb + # 0042BDAC eval +/* 0041514C 3C1C0FC1 */ .cpload $t9 +/* 00415150 279CA904 */ +/* 00415154 0399E021 */ +/* 00415158 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 0041515C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00415160 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00415164 8D0F0000 */ lw $t7, ($t0) +/* 00415168 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041516C 8D2E0000 */ lw $t6, ($t1) +/* 00415170 000FC100 */ sll $t8, $t7, 4 +/* 00415174 AFBC0020 */ sw $gp, 0x20($sp) +/* 00415178 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041517C AFA40028 */ sw $a0, 0x28($sp) +/* 00415180 AFA5002C */ sw $a1, 0x2c($sp) +/* 00415184 AFA60030 */ sw $a2, 0x30($sp) +/* 00415188 AFA70034 */ sw $a3, 0x34($sp) +/* 0041518C 01D81821 */ addu $v1, $t6, $t8 +/* 00415190 9079FFF5 */ lbu $t9, -0xb($v1) +/* 00415194 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00415198 3C01FFFC */ lui $at, 0xfffc +/* 0041519C 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 004151A0 356C0017 */ ori $t4, $t3, 0x17 +/* 004151A4 A06C0005 */ sb $t4, 5($v1) +/* 004151A8 8D0F0000 */ lw $t7, ($t0) +/* 004151AC 8D2D0000 */ lw $t5, ($t1) +/* 004151B0 97B8002A */ lhu $t8, 0x2a($sp) +/* 004151B4 000F7100 */ sll $t6, $t7, 4 +/* 004151B8 01AE1821 */ addu $v1, $t5, $t6 +/* 004151BC 946AFFF6 */ lhu $t2, -0xa($v1) +/* 004151C0 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004151C4 34213FFF */ ori $at, $at, 0x3fff +/* 004151C8 000ACD80 */ sll $t9, $t2, 0x16 +/* 004151CC 00195DC2 */ srl $t3, $t9, 0x17 +/* 004151D0 030B6026 */ xor $t4, $t8, $t3 +/* 004151D4 000C7DC0 */ sll $t7, $t4, 0x17 +/* 004151D8 000F6D82 */ srl $t5, $t7, 0x16 +/* 004151DC 01AA7026 */ xor $t6, $t5, $t2 +/* 004151E0 A46E0006 */ sh $t6, 6($v1) +/* 004151E4 8D180000 */ lw $t8, ($t0) +/* 004151E8 8D390000 */ lw $t9, ($t1) +/* 004151EC 00185900 */ sll $t3, $t8, 4 +/* 004151F0 032B1821 */ addu $v1, $t9, $t3 +/* 004151F4 8C6CFFF8 */ lw $t4, -8($v1) +/* 004151F8 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004151FC 01817824 */ and $t7, $t4, $at +/* 00415200 AC6F0008 */ sw $t7, 8($v1) +/* 00415204 8D0E0000 */ lw $t6, ($t0) +/* 00415208 8D2D0000 */ lw $t5, ($t1) +/* 0041520C 93B9002F */ lbu $t9, 0x2f($sp) +/* 00415210 000EC100 */ sll $t8, $t6, 4 +/* 00415214 01B81821 */ addu $v1, $t5, $t8 +/* 00415218 8C62FFF8 */ lw $v0, -8($v1) +/* 0041521C 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00415220 00025E42 */ srl $t3, $v0, 0x19 +/* 00415224 032B6026 */ xor $t4, $t9, $t3 +/* 00415228 000C7E40 */ sll $t7, $t4, 0x19 +/* 0041522C 01E27026 */ xor $t6, $t7, $v0 +/* 00415230 AC6E0008 */ sw $t6, 8($v1) +/* 00415234 8D180000 */ lw $t8, ($t0) +/* 00415238 8D2D0000 */ lw $t5, ($t1) +/* 0041523C 93AB003B */ lbu $t3, 0x3b($sp) +/* 00415240 0018C900 */ sll $t9, $t8, 4 +/* 00415244 01B91821 */ addu $v1, $t5, $t9 +/* 00415248 8C62FFF8 */ lw $v0, -8($v1) +/* 0041524C 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00415250 000261C0 */ sll $t4, $v0, 7 +/* 00415254 000C7E42 */ srl $t7, $t4, 0x19 +/* 00415258 016F7026 */ xor $t6, $t3, $t7 +/* 0041525C 000EC640 */ sll $t8, $t6, 0x19 +/* 00415260 001869C2 */ srl $t5, $t8, 7 +/* 00415264 01A2C826 */ xor $t9, $t5, $v0 +/* 00415268 AC790008 */ sw $t9, 8($v1) +/* 0041526C 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 00415270 8FA40034 */ lw $a0, 0x34($sp) +/* 00415274 0320F809 */ jalr $t9 +/* 00415278 00000000 */ nop +/* 0041527C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415280 2401C000 */ li $at, -16384 +/* 00415284 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00415288 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 0041528C 8D0B0000 */ lw $t3, ($t0) +/* 00415290 8D2C0000 */ lw $t4, ($t1) +/* 00415294 000B7900 */ sll $t7, $t3, 4 +/* 00415298 018F7021 */ addu $t6, $t4, $t7 +/* 0041529C ADC2FFF0 */ sw $v0, -0x10($t6) +/* 004152A0 8D0D0000 */ lw $t5, ($t0) +/* 004152A4 8D380000 */ lw $t8, ($t1) +/* 004152A8 000DC900 */ sll $t9, $t5, 4 +/* 004152AC 03191821 */ addu $v1, $t8, $t9 +/* 004152B0 8C6BFFF8 */ lw $t3, -8($v1) +/* 004152B4 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004152B8 01616024 */ and $t4, $t3, $at +/* 004152BC AC6C0008 */ sw $t4, 8($v1) +/* 004152C0 8D0D0000 */ lw $t5, ($t0) +/* 004152C4 8D2E0000 */ lw $t6, ($t1) +/* 004152C8 8FAF0030 */ lw $t7, 0x30($sp) +/* 004152CC 000DC100 */ sll $t8, $t5, 4 +/* 004152D0 01D8C821 */ addu $t9, $t6, $t8 +/* 004152D4 AF2FFFFC */ sw $t7, -4($t9) +/* 004152D8 8D0C0000 */ lw $t4, ($t0) +/* 004152DC 8D2B0000 */ lw $t3, ($t1) +/* 004152E0 3C01FE3F */ lui $at, 0xfe3f +/* 004152E4 000C6900 */ sll $t5, $t4, 4 +/* 004152E8 016D1821 */ addu $v1, $t3, $t5 +/* 004152EC 8C6EFFF4 */ lw $t6, -0xc($v1) +/* 004152F0 3421FFFF */ ori $at, $at, 0xffff +/* 004152F4 8F8F8984 */ lw $t7, %got(d_ptr)($gp) +/* 004152F8 01C1C024 */ and $t8, $t6, $at +/* 004152FC AC78FFF4 */ sw $t8, -0xc($v1) +/* 00415300 8D040000 */ lw $a0, ($t0) +/* 00415304 8DEF0000 */ lw $t7, ($t7) +/* 00415308 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 0041530C 15E40007 */ bne $t7, $a0, .L0041532C +/* 00415310 00000000 */ nop +/* 00415314 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00415318 0320F809 */ jalr $t9 +/* 0041531C 00000000 */ nop +/* 00415320 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415324 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00415328 8D040000 */ lw $a0, ($t0) +.L0041532C: +/* 0041532C 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00415330 24990001 */ addiu $t9, $a0, 1 +/* 00415334 AD190000 */ sw $t9, ($t0) +/* 00415338 918C0000 */ lbu $t4, ($t4) +/* 0041533C 2406000B */ li $a2, 11 +/* 00415340 51800050 */ beql $t4, $zero, .L00415484 +/* 00415344 8FBF0024 */ lw $ra, 0x24($sp) +/* 00415348 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0041534C 8F848954 */ lw $a0, %got(output)($gp) +/* 00415350 8F858038 */ lw $a1, %got(RO_1000957E)($gp) +/* 00415354 2407000B */ li $a3, 11 +/* 00415358 8C840000 */ lw $a0, ($a0) +/* 0041535C 0320F809 */ jalr $t9 +/* 00415360 24A5957E */ addiu $a1, %lo(RO_1000957E) # addiu $a1, $a1, -0x6a82 +/* 00415364 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415368 240B000A */ li $t3, 10 +/* 0041536C AFAB0010 */ sw $t3, 0x10($sp) +/* 00415370 8F908954 */ lw $s0, %got(output)($gp) +/* 00415374 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415378 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 0041537C 8E100000 */ lw $s0, ($s0) +/* 00415380 97A5002A */ lhu $a1, 0x2a($sp) +/* 00415384 00003825 */ move $a3, $zero +/* 00415388 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 0041538C 0320F809 */ jalr $t9 +/* 00415390 02002025 */ move $a0, $s0 +/* 00415394 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415398 02002025 */ move $a0, $s0 +/* 0041539C 24050020 */ li $a1, 32 +/* 004153A0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004153A4 24060001 */ li $a2, 1 +/* 004153A8 2407000A */ li $a3, 10 +/* 004153AC 0320F809 */ jalr $t9 +/* 004153B0 00000000 */ nop +/* 004153B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004153B8 240D000A */ li $t5, 10 +/* 004153BC AFAD0010 */ sw $t5, 0x10($sp) +/* 004153C0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004153C4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004153C8 02002025 */ move $a0, $s0 +/* 004153CC 93A5002F */ lbu $a1, 0x2f($sp) +/* 004153D0 00003825 */ move $a3, $zero +/* 004153D4 0320F809 */ jalr $t9 +/* 004153D8 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004153DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004153E0 02002025 */ move $a0, $s0 +/* 004153E4 8FA50030 */ lw $a1, 0x30($sp) +/* 004153E8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004153EC 2406000C */ li $a2, 12 +/* 004153F0 2407000A */ li $a3, 10 +/* 004153F4 0320F809 */ jalr $t9 +/* 004153F8 00000000 */ nop +/* 004153FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415400 8FA50034 */ lw $a1, 0x34($sp) +/* 00415404 2406000C */ li $a2, 12 +/* 00415408 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0041540C 8F848954 */ lw $a0, %got(output)($gp) +/* 00415410 2407000A */ li $a3, 10 +/* 00415414 0320F809 */ jalr $t9 +/* 00415418 8C840000 */ lw $a0, ($a0) +/* 0041541C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415420 24050020 */ li $a1, 32 +/* 00415424 24060001 */ li $a2, 1 +/* 00415428 8F908954 */ lw $s0, %got(output)($gp) +/* 0041542C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00415430 2407000A */ li $a3, 10 +/* 00415434 8E100000 */ lw $s0, ($s0) +/* 00415438 0320F809 */ jalr $t9 +/* 0041543C 02002025 */ move $a0, $s0 +/* 00415440 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415444 240E000A */ li $t6, 10 +/* 00415448 AFAE0010 */ sw $t6, 0x10($sp) +/* 0041544C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415450 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00415454 02002025 */ move $a0, $s0 +/* 00415458 93A5003B */ lbu $a1, 0x3b($sp) +/* 0041545C 00003825 */ move $a3, $zero +/* 00415460 0320F809 */ jalr $t9 +/* 00415464 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00415468 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041546C 02002025 */ move $a0, $s0 +/* 00415470 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00415474 0320F809 */ jalr $t9 +/* 00415478 00000000 */ nop +/* 0041547C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415480 8FBF0024 */ lw $ra, 0x24($sp) +.L00415484: +/* 00415484 8FB0001C */ lw $s0, 0x1c($sp) +/* 00415488 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041548C 03E00008 */ jr $ra +/* 00415490 00000000 */ nop + .type emit_rllb, @function + .size emit_rllb, .-emit_rllb + .end emit_rllb + +glabel emit_ra + .ent emit_ra + # 0042670C loadstore + # 00428D14 eval_mov + # 0042BDAC eval +/* 00415494 3C1C0FC1 */ .cpload $t9 +/* 00415498 279CA5BC */ +/* 0041549C 0399E021 */ +/* 004154A0 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004154A4 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 004154A8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 004154AC 8D0F0000 */ lw $t7, ($t0) +/* 004154B0 8D2E0000 */ lw $t6, ($t1) +/* 004154B4 AFBF0024 */ sw $ra, 0x24($sp) +/* 004154B8 000FC100 */ sll $t8, $t7, 4 +/* 004154BC AFBC0020 */ sw $gp, 0x20($sp) +/* 004154C0 AFB0001C */ sw $s0, 0x1c($sp) +/* 004154C4 AFA40028 */ sw $a0, 0x28($sp) +/* 004154C8 AFA5002C */ sw $a1, 0x2c($sp) +/* 004154CC AFA70034 */ sw $a3, 0x34($sp) +/* 004154D0 01D81021 */ addu $v0, $t6, $t8 +/* 004154D4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004154D8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004154DC 3C01FFFC */ lui $at, 0xfffc +/* 004154E0 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 004154E4 356C0017 */ ori $t4, $t3, 0x17 +/* 004154E8 A04C0005 */ sb $t4, 5($v0) +/* 004154EC 8D0F0000 */ lw $t7, ($t0) +/* 004154F0 8D2D0000 */ lw $t5, ($t1) +/* 004154F4 97B8002A */ lhu $t8, 0x2a($sp) +/* 004154F8 000F7100 */ sll $t6, $t7, 4 +/* 004154FC 01AE1021 */ addu $v0, $t5, $t6 +/* 00415500 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00415504 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415508 34213FFF */ ori $at, $at, 0x3fff +/* 0041550C 000ACD80 */ sll $t9, $t2, 0x16 +/* 00415510 00195DC2 */ srl $t3, $t9, 0x17 +/* 00415514 030B6026 */ xor $t4, $t8, $t3 +/* 00415518 000C7DC0 */ sll $t7, $t4, 0x17 +/* 0041551C 000F6D82 */ srl $t5, $t7, 0x16 +/* 00415520 01AA7026 */ xor $t6, $t5, $t2 +/* 00415524 A44E0006 */ sh $t6, 6($v0) +/* 00415528 8D180000 */ lw $t8, ($t0) +/* 0041552C 8D390000 */ lw $t9, ($t1) +/* 00415530 00185900 */ sll $t3, $t8, 4 +/* 00415534 032B1021 */ addu $v0, $t9, $t3 +/* 00415538 8C4CFFF8 */ lw $t4, -8($v0) +/* 0041553C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415540 01817824 */ and $t7, $t4, $at +/* 00415544 35ED4000 */ ori $t5, $t7, 0x4000 +/* 00415548 AC4D0008 */ sw $t5, 8($v0) +/* 0041554C 8D180000 */ lw $t8, ($t0) +/* 00415550 8D2E0000 */ lw $t6, ($t1) +/* 00415554 93AB002F */ lbu $t3, 0x2f($sp) +/* 00415558 0018C900 */ sll $t9, $t8, 4 +/* 0041555C 01D91021 */ addu $v0, $t6, $t9 +/* 00415560 8C43FFF8 */ lw $v1, -8($v0) +/* 00415564 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415568 3C01FE03 */ lui $at, 0xfe03 +/* 0041556C 00036642 */ srl $t4, $v1, 0x19 +/* 00415570 016C7826 */ xor $t7, $t3, $t4 +/* 00415574 000F6E40 */ sll $t5, $t7, 0x19 +/* 00415578 01A3C026 */ xor $t8, $t5, $v1 +/* 0041557C AC580008 */ sw $t8, 8($v0) +/* 00415580 8D190000 */ lw $t9, ($t0) +/* 00415584 8D2E0000 */ lw $t6, ($t1) +/* 00415588 3421FFFF */ ori $at, $at, 0xffff +/* 0041558C 00195900 */ sll $t3, $t9, 4 +/* 00415590 01CB1021 */ addu $v0, $t6, $t3 +/* 00415594 8C4CFFF8 */ lw $t4, -8($v0) +/* 00415598 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041559C 01817824 */ and $t7, $t4, $at +/* 004155A0 3C010120 */ lui $at, 0x120 +/* 004155A4 01E16825 */ or $t5, $t7, $at +/* 004155A8 AC4D0008 */ sw $t5, 8($v0) +/* 004155AC 8D190000 */ lw $t9, ($t0) +/* 004155B0 8D380000 */ lw $t8, ($t1) +/* 004155B4 3C01FE3F */ lui $at, 0xfe3f +/* 004155B8 00197100 */ sll $t6, $t9, 4 +/* 004155BC 030E5821 */ addu $t3, $t8, $t6 +/* 004155C0 AD66FFF0 */ sw $a2, -0x10($t3) +/* 004155C4 8D0F0000 */ lw $t7, ($t0) +/* 004155C8 8D2C0000 */ lw $t4, ($t1) +/* 004155CC 8FB90038 */ lw $t9, 0x38($sp) +/* 004155D0 000F6900 */ sll $t5, $t7, 4 +/* 004155D4 018D1021 */ addu $v0, $t4, $t5 +/* 004155D8 8C43FFF8 */ lw $v1, -8($v0) +/* 004155DC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004155E0 3421FFFF */ ori $at, $at, 0xffff +/* 004155E4 0003C480 */ sll $t8, $v1, 0x12 +/* 004155E8 00187482 */ srl $t6, $t8, 0x12 +/* 004155EC 032E5826 */ xor $t3, $t9, $t6 +/* 004155F0 316F3FFF */ andi $t7, $t3, 0x3fff +/* 004155F4 01E36026 */ xor $t4, $t7, $v1 +/* 004155F8 AC4C0008 */ sw $t4, 8($v0) +/* 004155FC 8D190000 */ lw $t9, ($t0) +/* 00415600 8D380000 */ lw $t8, ($t1) +/* 00415604 8FAD0034 */ lw $t5, 0x34($sp) +/* 00415608 00197100 */ sll $t6, $t9, 4 +/* 0041560C 030E5821 */ addu $t3, $t8, $t6 +/* 00415610 AD6DFFFC */ sw $t5, -4($t3) +/* 00415614 8D0C0000 */ lw $t4, ($t0) +/* 00415618 8D2F0000 */ lw $t7, ($t1) +/* 0041561C 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 00415620 000CC900 */ sll $t9, $t4, 4 +/* 00415624 01F91021 */ addu $v0, $t7, $t9 +/* 00415628 8C58FFF4 */ lw $t8, -0xc($v0) +/* 0041562C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415630 03017024 */ and $t6, $t8, $at +/* 00415634 AC4E0004 */ sw $t6, 4($v0) +/* 00415638 8D030000 */ lw $v1, ($t0) +/* 0041563C 8DAD0000 */ lw $t5, ($t5) +/* 00415640 15A30007 */ bne $t5, $v1, .L00415660 +/* 00415644 00000000 */ nop +/* 00415648 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041564C 0320F809 */ jalr $t9 +/* 00415650 00000000 */ nop +/* 00415654 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415658 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 0041565C 8D030000 */ lw $v1, ($t0) +.L00415660: +/* 00415660 8F8F89E0 */ lw $t7, %got(debug_ugen)($gp) +/* 00415664 246B0001 */ addiu $t3, $v1, 1 +/* 00415668 AD0B0000 */ sw $t3, ($t0) +/* 0041566C 91EF0000 */ lbu $t7, ($t7) +/* 00415670 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 00415674 240C0001 */ li $t4, 1 +/* 00415678 11E00035 */ beqz $t7, .L00415750 +/* 0041567C A02C0000 */ sb $t4, ($at) +/* 00415680 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00415684 8F848954 */ lw $a0, %got(output)($gp) +/* 00415688 8F858038 */ lw $a1, %got(RO_10009589)($gp) +/* 0041568C 24060009 */ li $a2, 9 +/* 00415690 24070009 */ li $a3, 9 +/* 00415694 8C840000 */ lw $a0, ($a0) +/* 00415698 0320F809 */ jalr $t9 +/* 0041569C 24A59589 */ addiu $a1, %lo(RO_10009589) # addiu $a1, $a1, -0x6a77 +/* 004156A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004156A4 2419000A */ li $t9, 10 +/* 004156A8 AFB90010 */ sw $t9, 0x10($sp) +/* 004156AC 8F908954 */ lw $s0, %got(output)($gp) +/* 004156B0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004156B4 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 004156B8 8E100000 */ lw $s0, ($s0) +/* 004156BC 97A5002A */ lhu $a1, 0x2a($sp) +/* 004156C0 00003825 */ move $a3, $zero +/* 004156C4 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 004156C8 0320F809 */ jalr $t9 +/* 004156CC 02002025 */ move $a0, $s0 +/* 004156D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004156D4 02002025 */ move $a0, $s0 +/* 004156D8 24050020 */ li $a1, 32 +/* 004156DC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004156E0 24060001 */ li $a2, 1 +/* 004156E4 2407000A */ li $a3, 10 +/* 004156E8 0320F809 */ jalr $t9 +/* 004156EC 00000000 */ nop +/* 004156F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004156F4 2418000A */ li $t8, 10 +/* 004156F8 AFB80010 */ sw $t8, 0x10($sp) +/* 004156FC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415700 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00415704 02002025 */ move $a0, $s0 +/* 00415708 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041570C 00003825 */ move $a3, $zero +/* 00415710 0320F809 */ jalr $t9 +/* 00415714 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00415718 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041571C 02002025 */ move $a0, $s0 +/* 00415720 8FA50034 */ lw $a1, 0x34($sp) +/* 00415724 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00415728 2406000C */ li $a2, 12 +/* 0041572C 2407000A */ li $a3, 10 +/* 00415730 0320F809 */ jalr $t9 +/* 00415734 00000000 */ nop +/* 00415738 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041573C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00415740 8F848954 */ lw $a0, %got(output)($gp) +/* 00415744 0320F809 */ jalr $t9 +/* 00415748 8C840000 */ lw $a0, ($a0) +/* 0041574C 8FBC0020 */ lw $gp, 0x20($sp) +.L00415750: +/* 00415750 8FBF0024 */ lw $ra, 0x24($sp) +/* 00415754 8FB0001C */ lw $s0, 0x1c($sp) +/* 00415758 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041575C 03E00008 */ jr $ra +/* 00415760 00000000 */ nop + .type emit_ra, @function + .size emit_ra, .-emit_ra + .end emit_ra + +glabel emit_ri_ + .ent emit_ri_ + # 00415A08 emit_rii + # 0041CC60 func_0041CC60 + # 0041CCD0 func_0041CCD0 + # 0041CD64 func_0041CD64 + # 0041CE18 func_0041CE18 + # 0041CECC func_0041CECC + # 0041CF80 func_0041CF80 + # 0041D034 emit_trap_ri + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041E800 func_0041E800 + # 0041EA00 func_0041EA00 + # 0041EC08 func_0041EC08 + # 0041EE78 func_0041EE78 + # 0041F194 func_0041F194 + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00423290 move_dreg_to_regs + # 00424240 trap + # 004285F0 eval_fp_cond + # 0042A1AC eval_irel + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + # 00434374 func_00434374 +/* 00415764 3C1C0FC1 */ .cpload $t9 +/* 00415768 279CA2EC */ +/* 0041576C 0399E021 */ +/* 00415770 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00415774 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00415778 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041577C 8D0F0000 */ lw $t7, ($t0) +/* 00415780 AFBF0024 */ sw $ra, 0x24($sp) +/* 00415784 8C6E0000 */ lw $t6, ($v1) +/* 00415788 000FC100 */ sll $t8, $t7, 4 +/* 0041578C AFBC0020 */ sw $gp, 0x20($sp) +/* 00415790 AFB0001C */ sw $s0, 0x1c($sp) +/* 00415794 AFA40028 */ sw $a0, 0x28($sp) +/* 00415798 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041579C AFA60030 */ sw $a2, 0x30($sp) +/* 004157A0 AFA70034 */ sw $a3, 0x34($sp) +/* 004157A4 01D81021 */ addu $v0, $t6, $t8 +/* 004157A8 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004157AC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004157B0 3C01FFFC */ lui $at, 0xfffc +/* 004157B4 332DFFC0 */ andi $t5, $t9, 0xffc0 +/* 004157B8 35AF0017 */ ori $t7, $t5, 0x17 +/* 004157BC A04F0005 */ sb $t7, 5($v0) +/* 004157C0 8D180000 */ lw $t8, ($t0) +/* 004157C4 8C6E0000 */ lw $t6, ($v1) +/* 004157C8 97AD002A */ lhu $t5, 0x2a($sp) +/* 004157CC 0018C900 */ sll $t9, $t8, 4 +/* 004157D0 01D91021 */ addu $v0, $t6, $t9 +/* 004157D4 9449FFF6 */ lhu $t1, -0xa($v0) +/* 004157D8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004157DC 34213FFF */ ori $at, $at, 0x3fff +/* 004157E0 00097D80 */ sll $t7, $t1, 0x16 +/* 004157E4 000FC5C2 */ srl $t8, $t7, 0x17 +/* 004157E8 01B87026 */ xor $t6, $t5, $t8 +/* 004157EC 000ECDC0 */ sll $t9, $t6, 0x17 +/* 004157F0 00197D82 */ srl $t7, $t9, 0x16 +/* 004157F4 01E96826 */ xor $t5, $t7, $t1 +/* 004157F8 A44D0006 */ sh $t5, 6($v0) +/* 004157FC 8D0E0000 */ lw $t6, ($t0) +/* 00415800 8C780000 */ lw $t8, ($v1) +/* 00415804 000EC900 */ sll $t9, $t6, 4 +/* 00415808 03191021 */ addu $v0, $t8, $t9 +/* 0041580C 8C4FFFF8 */ lw $t7, -8($v0) +/* 00415810 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415814 01E16824 */ and $t5, $t7, $at +/* 00415818 35AE8000 */ ori $t6, $t5, 0x8000 +/* 0041581C AC4E0008 */ sw $t6, 8($v0) +/* 00415820 8D190000 */ lw $t9, ($t0) +/* 00415824 8C780000 */ lw $t8, ($v1) +/* 00415828 93AD002F */ lbu $t5, 0x2f($sp) +/* 0041582C 00197900 */ sll $t7, $t9, 4 +/* 00415830 030F1021 */ addu $v0, $t8, $t7 +/* 00415834 8C4AFFF8 */ lw $t2, -8($v0) +/* 00415838 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041583C 3C01FE03 */ lui $at, 0xfe03 +/* 00415840 000A7642 */ srl $t6, $t2, 0x19 +/* 00415844 01AEC826 */ xor $t9, $t5, $t6 +/* 00415848 0019C640 */ sll $t8, $t9, 0x19 +/* 0041584C 030A7826 */ xor $t7, $t8, $t2 +/* 00415850 AC4F0008 */ sw $t7, 8($v0) +/* 00415854 8D0E0000 */ lw $t6, ($t0) +/* 00415858 8C6D0000 */ lw $t5, ($v1) +/* 0041585C 3421FFFF */ ori $at, $at, 0xffff +/* 00415860 000EC900 */ sll $t9, $t6, 4 +/* 00415864 01B91021 */ addu $v0, $t5, $t9 +/* 00415868 8C58FFF8 */ lw $t8, -8($v0) +/* 0041586C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415870 03017824 */ and $t7, $t8, $at +/* 00415874 3C010120 */ lui $at, 0x120 +/* 00415878 01E17025 */ or $t6, $t7, $at +/* 0041587C AC4E0008 */ sw $t6, 8($v0) +/* 00415880 8D190000 */ lw $t9, ($t0) +/* 00415884 8C6D0000 */ lw $t5, ($v1) +/* 00415888 0019C100 */ sll $t8, $t9, 4 +/* 0041588C 01B87821 */ addu $t7, $t5, $t8 +/* 00415890 ADE0FFF0 */ sw $zero, -0x10($t7) +/* 00415894 8D0D0000 */ lw $t5, ($t0) +/* 00415898 8C790000 */ lw $t9, ($v1) +/* 0041589C 8FAE0030 */ lw $t6, 0x30($sp) +/* 004158A0 000DC100 */ sll $t8, $t5, 4 +/* 004158A4 03387821 */ addu $t7, $t9, $t8 +/* 004158A8 ADEEFFFC */ sw $t6, -4($t7) +/* 004158AC 8D190000 */ lw $t9, ($t0) +/* 004158B0 8C6D0000 */ lw $t5, ($v1) +/* 004158B4 0019C100 */ sll $t8, $t9, 4 +/* 004158B8 01B81021 */ addu $v0, $t5, $t8 +/* 004158BC 8C4BFFF4 */ lw $t3, -0xc($v0) +/* 004158C0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004158C4 000B71C0 */ sll $t6, $t3, 7 +/* 004158C8 000E7F42 */ srl $t7, $t6, 0x1d +/* 004158CC 00EFC826 */ xor $t9, $a3, $t7 +/* 004158D0 00196F40 */ sll $t5, $t9, 0x1d +/* 004158D4 000DC1C2 */ srl $t8, $t5, 7 +/* 004158D8 8F8F8984 */ lw $t7, %got(d_ptr)($gp) +/* 004158DC 030B7026 */ xor $t6, $t8, $t3 +/* 004158E0 AC4E0004 */ sw $t6, 4($v0) +/* 004158E4 8D0C0000 */ lw $t4, ($t0) +/* 004158E8 8DEF0000 */ lw $t7, ($t7) +/* 004158EC 15EC0007 */ bne $t7, $t4, .L0041590C +/* 004158F0 00000000 */ nop +/* 004158F4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004158F8 0320F809 */ jalr $t9 +/* 004158FC 00000000 */ nop +/* 00415900 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415904 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00415908 8D0C0000 */ lw $t4, ($t0) +.L0041590C: +/* 0041590C 8F8D89E0 */ lw $t5, %got(debug_ugen)($gp) +/* 00415910 25990001 */ addiu $t9, $t4, 1 +/* 00415914 AD190000 */ sw $t9, ($t0) +/* 00415918 91AD0000 */ lbu $t5, ($t5) +/* 0041591C 24060009 */ li $a2, 9 +/* 00415920 51A00035 */ beql $t5, $zero, .L004159F8 +/* 00415924 8FBF0024 */ lw $ra, 0x24($sp) +/* 00415928 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0041592C 8F848954 */ lw $a0, %got(output)($gp) +/* 00415930 8F858038 */ lw $a1, %got(RO_10009592)($gp) +/* 00415934 24070009 */ li $a3, 9 +/* 00415938 8C840000 */ lw $a0, ($a0) +/* 0041593C 0320F809 */ jalr $t9 +/* 00415940 24A59592 */ addiu $a1, %lo(RO_10009592) # addiu $a1, $a1, -0x6a6e +/* 00415944 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415948 2418000A */ li $t8, 10 +/* 0041594C AFB80010 */ sw $t8, 0x10($sp) +/* 00415950 8F908954 */ lw $s0, %got(output)($gp) +/* 00415954 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415958 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 0041595C 8E100000 */ lw $s0, ($s0) +/* 00415960 97A5002A */ lhu $a1, 0x2a($sp) +/* 00415964 00003825 */ move $a3, $zero +/* 00415968 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 0041596C 0320F809 */ jalr $t9 +/* 00415970 02002025 */ move $a0, $s0 +/* 00415974 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415978 02002025 */ move $a0, $s0 +/* 0041597C 24050020 */ li $a1, 32 +/* 00415980 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00415984 24060001 */ li $a2, 1 +/* 00415988 2407000A */ li $a3, 10 +/* 0041598C 0320F809 */ jalr $t9 +/* 00415990 00000000 */ nop +/* 00415994 8FBC0020 */ lw $gp, 0x20($sp) +/* 00415998 240E000A */ li $t6, 10 +/* 0041599C AFAE0010 */ sw $t6, 0x10($sp) +/* 004159A0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004159A4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004159A8 02002025 */ move $a0, $s0 +/* 004159AC 93A5002F */ lbu $a1, 0x2f($sp) +/* 004159B0 00003825 */ move $a3, $zero +/* 004159B4 0320F809 */ jalr $t9 +/* 004159B8 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004159BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004159C0 02002025 */ move $a0, $s0 +/* 004159C4 8FA50030 */ lw $a1, 0x30($sp) +/* 004159C8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004159CC 2406000C */ li $a2, 12 +/* 004159D0 2407000A */ li $a3, 10 +/* 004159D4 0320F809 */ jalr $t9 +/* 004159D8 00000000 */ nop +/* 004159DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004159E0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004159E4 8F848954 */ lw $a0, %got(output)($gp) +/* 004159E8 0320F809 */ jalr $t9 +/* 004159EC 8C840000 */ lw $a0, ($a0) +/* 004159F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004159F4 8FBF0024 */ lw $ra, 0x24($sp) +.L004159F8: +/* 004159F8 8FB0001C */ lw $s0, 0x1c($sp) +/* 004159FC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00415A00 03E00008 */ jr $ra +/* 00415A04 00000000 */ nop + .type emit_ri_, @function + .size emit_ri_, .-emit_ri_ + .end emit_ri_ + +glabel emit_rii + .ent emit_rii + # 0041C388 emit_branch_rill + # 0041FC98 dw_emit_rri + # 0042BDAC eval + # 00433494 eval_flt_int_cvt +/* 00415A08 3C1C0FC1 */ .cpload $t9 +/* 00415A0C 279CA048 */ +/* 00415A10 0399E021 */ +/* 00415A14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00415A18 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00415A1C AFBF001C */ sw $ra, 0x1c($sp) +/* 00415A20 AFA40020 */ sw $a0, 0x20($sp) +/* 00415A24 AFA50024 */ sw $a1, 0x24($sp) +/* 00415A28 AFA7002C */ sw $a3, 0x2c($sp) +/* 00415A2C AFBC0018 */ sw $gp, 0x18($sp) +/* 00415A30 AFA60028 */ sw $a2, 0x28($sp) +/* 00415A34 00003825 */ move $a3, $zero +/* 00415A38 93A50027 */ lbu $a1, 0x27($sp) +/* 00415A3C 0320F809 */ jalr $t9 +/* 00415A40 97A40022 */ lhu $a0, 0x22($sp) +/* 00415A44 8FBC0018 */ lw $gp, 0x18($sp) +/* 00415A48 97A40022 */ lhu $a0, 0x22($sp) +/* 00415A4C 93A50027 */ lbu $a1, 0x27($sp) +/* 00415A50 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00415A54 8FA6002C */ lw $a2, 0x2c($sp) +/* 00415A58 00003825 */ move $a3, $zero +/* 00415A5C 0320F809 */ jalr $t9 +/* 00415A60 00000000 */ nop +/* 00415A64 8FBC0018 */ lw $gp, 0x18($sp) +/* 00415A68 8FBF001C */ lw $ra, 0x1c($sp) +/* 00415A6C 240E0001 */ li $t6, 1 +/* 00415A70 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 00415A74 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00415A78 03E00008 */ jr $ra +/* 00415A7C A02E0000 */ sb $t6, ($at) + .type emit_rii, @function + .size emit_rii, .-emit_rii + .end emit_rii + +glabel emit_rfi + .ent emit_rfi + # 0042BDAC eval + # 00433070 load_fp_literal + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt +/* 00415A80 3C1C0FC1 */ .cpload $t9 +/* 00415A84 279C9FD0 */ +/* 00415A88 0399E021 */ +/* 00415A8C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 00415A90 AFB20024 */ sw $s2, 0x24($sp) +/* 00415A94 8F92897C */ lw $s2, %got(i_ptr)($gp) +/* 00415A98 AFB0001C */ sw $s0, 0x1c($sp) +/* 00415A9C 8F908978 */ lw $s0, %got(ibuffer)($gp) +/* 00415AA0 8E4F0000 */ lw $t7, ($s2) +/* 00415AA4 AFBF003C */ sw $ra, 0x3c($sp) +/* 00415AA8 8E0E0000 */ lw $t6, ($s0) +/* 00415AAC 000FC100 */ sll $t8, $t7, 4 +/* 00415AB0 AFBC0038 */ sw $gp, 0x38($sp) +/* 00415AB4 AFB60034 */ sw $s6, 0x34($sp) +/* 00415AB8 AFB50030 */ sw $s5, 0x30($sp) +/* 00415ABC AFB4002C */ sw $s4, 0x2c($sp) +/* 00415AC0 AFB30028 */ sw $s3, 0x28($sp) +/* 00415AC4 AFB10020 */ sw $s1, 0x20($sp) +/* 00415AC8 AFA40048 */ sw $a0, 0x48($sp) +/* 00415ACC AFA5004C */ sw $a1, 0x4c($sp) +/* 00415AD0 01D81021 */ addu $v0, $t6, $t8 +/* 00415AD4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00415AD8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415ADC 3C01FFFC */ lui $at, 0xfffc +/* 00415AE0 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 00415AE4 352A0017 */ ori $t2, $t1, 0x17 +/* 00415AE8 A04A0005 */ sb $t2, 5($v0) +/* 00415AEC 8E4C0000 */ lw $t4, ($s2) +/* 00415AF0 8E0B0000 */ lw $t3, ($s0) +/* 00415AF4 97AF004A */ lhu $t7, 0x4a($sp) +/* 00415AF8 000C6900 */ sll $t5, $t4, 4 +/* 00415AFC 016D1021 */ addu $v0, $t3, $t5 +/* 00415B00 9447FFF6 */ lhu $a3, -0xa($v0) +/* 00415B04 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415B08 34213FFF */ ori $at, $at, 0x3fff +/* 00415B0C 00077580 */ sll $t6, $a3, 0x16 +/* 00415B10 000EC5C2 */ srl $t8, $t6, 0x17 +/* 00415B14 01F8C826 */ xor $t9, $t7, $t8 +/* 00415B18 00194DC0 */ sll $t1, $t9, 0x17 +/* 00415B1C 00095582 */ srl $t2, $t1, 0x16 +/* 00415B20 01476026 */ xor $t4, $t2, $a3 +/* 00415B24 A44C0006 */ sh $t4, 6($v0) +/* 00415B28 8E4D0000 */ lw $t5, ($s2) +/* 00415B2C 8E0B0000 */ lw $t3, ($s0) +/* 00415B30 00C08825 */ move $s1, $a2 +/* 00415B34 000D7100 */ sll $t6, $t5, 4 +/* 00415B38 016E1021 */ addu $v0, $t3, $t6 +/* 00415B3C 8C4FFFF8 */ lw $t7, -8($v0) +/* 00415B40 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415B44 8F968984 */ lw $s6, %got(d_ptr)($gp) +/* 00415B48 01E1C024 */ and $t8, $t7, $at +/* 00415B4C 37198000 */ ori $t9, $t8, 0x8000 +/* 00415B50 AC590008 */ sw $t9, 8($v0) +/* 00415B54 8E4A0000 */ lw $t2, ($s2) +/* 00415B58 8E090000 */ lw $t1, ($s0) +/* 00415B5C 93AD004F */ lbu $t5, 0x4f($sp) +/* 00415B60 000A6100 */ sll $t4, $t2, 4 +/* 00415B64 012C1021 */ addu $v0, $t1, $t4 +/* 00415B68 8C48FFF8 */ lw $t0, -8($v0) +/* 00415B6C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415B70 3C01FE03 */ lui $at, 0xfe03 +/* 00415B74 00085E42 */ srl $t3, $t0, 0x19 +/* 00415B78 01AB7026 */ xor $t6, $t5, $t3 +/* 00415B7C 000E7E40 */ sll $t7, $t6, 0x19 +/* 00415B80 01E8C026 */ xor $t8, $t7, $t0 +/* 00415B84 AC580008 */ sw $t8, 8($v0) +/* 00415B88 8E4A0000 */ lw $t2, ($s2) +/* 00415B8C 8E190000 */ lw $t9, ($s0) +/* 00415B90 3421FFFF */ ori $at, $at, 0xffff +/* 00415B94 000A4900 */ sll $t1, $t2, 4 +/* 00415B98 03291021 */ addu $v0, $t9, $t1 +/* 00415B9C 8C4CFFF8 */ lw $t4, -8($v0) +/* 00415BA0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415BA4 01816824 */ and $t5, $t4, $at +/* 00415BA8 3C010120 */ lui $at, 0x120 +/* 00415BAC 01A15825 */ or $t3, $t5, $at +/* 00415BB0 AC4B0008 */ sw $t3, 8($v0) +/* 00415BB4 8E4F0000 */ lw $t7, ($s2) +/* 00415BB8 8E0E0000 */ lw $t6, ($s0) +/* 00415BBC 3C01FE3F */ lui $at, 0xfe3f +/* 00415BC0 000FC100 */ sll $t8, $t7, 4 +/* 00415BC4 01D85021 */ addu $t2, $t6, $t8 +/* 00415BC8 AD40FFF0 */ sw $zero, -0x10($t2) +/* 00415BCC 8E4C0000 */ lw $t4, ($s2) +/* 00415BD0 8E090000 */ lw $t1, ($s0) +/* 00415BD4 8E390000 */ lw $t9, ($s1) +/* 00415BD8 000C6900 */ sll $t5, $t4, 4 +/* 00415BDC 012D5821 */ addu $t3, $t1, $t5 +/* 00415BE0 AD79FFFC */ sw $t9, -4($t3) +/* 00415BE4 8E4E0000 */ lw $t6, ($s2) +/* 00415BE8 8E0F0000 */ lw $t7, ($s0) +/* 00415BEC 3421FFFF */ ori $at, $at, 0xffff +/* 00415BF0 000EC100 */ sll $t8, $t6, 4 +/* 00415BF4 01F81021 */ addu $v0, $t7, $t8 +/* 00415BF8 8C4AFFF4 */ lw $t2, -0xc($v0) +/* 00415BFC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00415C00 01416024 */ and $t4, $t2, $at +/* 00415C04 AC4C0004 */ sw $t4, 4($v0) +/* 00415C08 8E430000 */ lw $v1, ($s2) +/* 00415C0C 8EC90000 */ lw $t1, ($s6) +/* 00415C10 55230007 */ bnel $t1, $v1, .L00415C30 +/* 00415C14 246D0001 */ addiu $t5, $v1, 1 +/* 00415C18 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00415C1C 0320F809 */ jalr $t9 +/* 00415C20 00000000 */ nop +/* 00415C24 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415C28 8E430000 */ lw $v1, ($s2) +/* 00415C2C 246D0001 */ addiu $t5, $v1, 1 +.L00415C30: +/* 00415C30 AE4D0000 */ sw $t5, ($s2) +/* 00415C34 8E220000 */ lw $v0, ($s1) +/* 00415C38 24130001 */ li $s3, 1 +/* 00415C3C 24140011 */ li $s4, 17 +/* 00415C40 04410003 */ bgez $v0, .L00415C50 +/* 00415C44 0002C903 */ sra $t9, $v0, 4 +/* 00415C48 2441000F */ addiu $at, $v0, 0xf +/* 00415C4C 0001C903 */ sra $t9, $at, 4 +.L00415C50: +/* 00415C50 304B000F */ andi $t3, $v0, 0xf +/* 00415C54 AFB90044 */ sw $t9, 0x44($sp) +/* 00415C58 1320003C */ beqz $t9, .L00415D4C +/* 00415C5C AFAB0040 */ sw $t3, 0x40($sp) +/* 00415C60 27350001 */ addiu $s5, $t9, 1 +.L00415C64: +/* 00415C64 00131900 */ sll $v1, $s3, 4 +/* 00415C68 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00415C6C 24020001 */ li $v0, 1 +.L00415C70: +/* 00415C70 8E2F0004 */ lw $t7, 4($s1) +/* 00415C74 8E4D0000 */ lw $t5, ($s2) +/* 00415C78 8E090000 */ lw $t1, ($s0) +/* 00415C7C 01E3C021 */ addu $t8, $t7, $v1 +/* 00415C80 03025021 */ addu $t2, $t8, $v0 +/* 00415C84 914CFFFF */ lbu $t4, -1($t2) +/* 00415C88 000DC900 */ sll $t9, $t5, 4 +/* 00415C8C 01395821 */ addu $t3, $t1, $t9 +/* 00415C90 01627021 */ addu $t6, $t3, $v0 +/* 00415C94 A1CCFFEF */ sb $t4, -0x11($t6) +/* 00415C98 8E2F0004 */ lw $t7, 4($s1) +/* 00415C9C 8E590000 */ lw $t9, ($s2) +/* 00415CA0 8E090000 */ lw $t1, ($s0) +/* 00415CA4 01E3C021 */ addu $t8, $t7, $v1 +/* 00415CA8 03025021 */ addu $t2, $t8, $v0 +/* 00415CAC 914D0000 */ lbu $t5, ($t2) +/* 00415CB0 00195900 */ sll $t3, $t9, 4 +/* 00415CB4 012B6021 */ addu $t4, $t1, $t3 +/* 00415CB8 01827021 */ addu $t6, $t4, $v0 +/* 00415CBC A1CDFFF0 */ sb $t5, -0x10($t6) +/* 00415CC0 8E2F0004 */ lw $t7, 4($s1) +/* 00415CC4 8E4B0000 */ lw $t3, ($s2) +/* 00415CC8 8E090000 */ lw $t1, ($s0) +/* 00415CCC 01E3C021 */ addu $t8, $t7, $v1 +/* 00415CD0 03025021 */ addu $t2, $t8, $v0 +/* 00415CD4 91590001 */ lbu $t9, 1($t2) +/* 00415CD8 000B6100 */ sll $t4, $t3, 4 +/* 00415CDC 012C6821 */ addu $t5, $t1, $t4 +/* 00415CE0 01A27021 */ addu $t6, $t5, $v0 +/* 00415CE4 A1D9FFF1 */ sb $t9, -0xf($t6) +/* 00415CE8 8E4C0000 */ lw $t4, ($s2) +/* 00415CEC 8E2F0004 */ lw $t7, 4($s1) +/* 00415CF0 8E090000 */ lw $t1, ($s0) +/* 00415CF4 000C6900 */ sll $t5, $t4, 4 +/* 00415CF8 01E3C021 */ addu $t8, $t7, $v1 +/* 00415CFC 03025021 */ addu $t2, $t8, $v0 +/* 00415D00 012DC821 */ addu $t9, $t1, $t5 +/* 00415D04 914B0002 */ lbu $t3, 2($t2) +/* 00415D08 03227021 */ addu $t6, $t9, $v0 +/* 00415D0C 24420004 */ addiu $v0, $v0, 4 +/* 00415D10 1454FFD7 */ bne $v0, $s4, .L00415C70 +/* 00415D14 A1CBFFF2 */ sb $t3, -0xe($t6) +/* 00415D18 8E430000 */ lw $v1, ($s2) +/* 00415D1C 8ECF0000 */ lw $t7, ($s6) +/* 00415D20 55E30007 */ bnel $t7, $v1, .L00415D40 +/* 00415D24 24780001 */ addiu $t8, $v1, 1 +/* 00415D28 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00415D2C 0320F809 */ jalr $t9 +/* 00415D30 00000000 */ nop +/* 00415D34 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415D38 8E430000 */ lw $v1, ($s2) +/* 00415D3C 24780001 */ addiu $t8, $v1, 1 +.L00415D40: +/* 00415D40 26730001 */ addiu $s3, $s3, 1 +/* 00415D44 1675FFC7 */ bne $s3, $s5, .L00415C64 +/* 00415D48 AE580000 */ sw $t8, ($s2) +.L00415D4C: +/* 00415D4C 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00415D50 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 00415D54 240A0001 */ li $t2, 1 +/* 00415D58 918C0000 */ lbu $t4, ($t4) +/* 00415D5C 2406000A */ li $a2, 10 +/* 00415D60 A02A0000 */ sb $t2, ($at) +/* 00415D64 5180002C */ beql $t4, $zero, .L00415E18 +/* 00415D68 8FB90040 */ lw $t9, 0x40($sp) +/* 00415D6C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00415D70 8F948954 */ lw $s4, %got(output)($gp) +/* 00415D74 8F858038 */ lw $a1, %got(RO_100095AB)($gp) +/* 00415D78 2407000A */ li $a3, 10 +/* 00415D7C 8E840000 */ lw $a0, ($s4) +/* 00415D80 0320F809 */ jalr $t9 +/* 00415D84 24A595AB */ addiu $a1, %lo(RO_100095AB) # addiu $a1, $a1, -0x6a55 +/* 00415D88 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415D8C 8E930000 */ lw $s3, ($s4) +/* 00415D90 2409000A */ li $t1, 10 +/* 00415D94 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415D98 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00415D9C AFA90010 */ sw $t1, 0x10($sp) +/* 00415DA0 97A5004A */ lhu $a1, 0x4a($sp) +/* 00415DA4 00003825 */ move $a3, $zero +/* 00415DA8 02602025 */ move $a0, $s3 +/* 00415DAC 0320F809 */ jalr $t9 +/* 00415DB0 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00415DB4 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415DB8 02602025 */ move $a0, $s3 +/* 00415DBC 24050020 */ li $a1, 32 +/* 00415DC0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00415DC4 24060001 */ li $a2, 1 +/* 00415DC8 2407000A */ li $a3, 10 +/* 00415DCC 0320F809 */ jalr $t9 +/* 00415DD0 00000000 */ nop +/* 00415DD4 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415DD8 240D000A */ li $t5, 10 +/* 00415DDC AFAD0010 */ sw $t5, 0x10($sp) +/* 00415DE0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00415DE4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00415DE8 02602025 */ move $a0, $s3 +/* 00415DEC 93A5004F */ lbu $a1, 0x4f($sp) +/* 00415DF0 00003825 */ move $a3, $zero +/* 00415DF4 0320F809 */ jalr $t9 +/* 00415DF8 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00415DFC 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415E00 02602025 */ move $a0, $s3 +/* 00415E04 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00415E08 0320F809 */ jalr $t9 +/* 00415E0C 00000000 */ nop +/* 00415E10 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415E14 8FB90040 */ lw $t9, 0x40($sp) +.L00415E18: +/* 00415E18 53200067 */ beql $t9, $zero, .L00415FB8 +/* 00415E1C 8FBF003C */ lw $ra, 0x3c($sp) +/* 00415E20 8F8A8038 */ lw $t2, %got(RO_1000959B)($gp) +/* 00415E24 8E4E0000 */ lw $t6, ($s2) +/* 00415E28 8E0B0000 */ lw $t3, ($s0) +/* 00415E2C 254A959B */ addiu $t2, %lo(RO_1000959B) # addiu $t2, $t2, -0x6a65 +/* 00415E30 89490000 */ lwl $t1, ($t2) +/* 00415E34 99490003 */ lwr $t1, 3($t2) +/* 00415E38 000E7900 */ sll $t7, $t6, 4 +/* 00415E3C 016FC021 */ addu $t8, $t3, $t7 +/* 00415E40 AB09FFF0 */ swl $t1, -0x10($t8) +/* 00415E44 BB09FFF3 */ swr $t1, -0xd($t8) +/* 00415E48 894C0004 */ lwl $t4, 4($t2) +/* 00415E4C 994C0007 */ lwr $t4, 7($t2) +/* 00415E50 AB0CFFF4 */ swl $t4, -0xc($t8) +/* 00415E54 BB0CFFF7 */ swr $t4, -9($t8) +/* 00415E58 89490008 */ lwl $t1, 8($t2) +/* 00415E5C 9949000B */ lwr $t1, 0xb($t2) +/* 00415E60 AB09FFF8 */ swl $t1, -8($t8) +/* 00415E64 BB09FFFB */ swr $t1, -5($t8) +/* 00415E68 894C000C */ lwl $t4, 0xc($t2) +/* 00415E6C 994C000F */ lwr $t4, 0xf($t2) +/* 00415E70 AB0CFFFC */ swl $t4, -4($t8) +/* 00415E74 BB0CFFFF */ swr $t4, -1($t8) +/* 00415E78 8FAD0040 */ lw $t5, 0x40($sp) +/* 00415E7C 11A00042 */ beqz $t5, .L00415F88 +/* 00415E80 25B50001 */ addiu $s5, $t5, 1 +/* 00415E84 26A4FFFF */ addiu $a0, $s5, -1 +/* 00415E88 30840003 */ andi $a0, $a0, 3 +/* 00415E8C 10800012 */ beqz $a0, .L00415ED8 +/* 00415E90 24130001 */ li $s3, 1 +/* 00415E94 8FA20044 */ lw $v0, 0x44($sp) +/* 00415E98 24830001 */ addiu $v1, $a0, 1 +/* 00415E9C 00021100 */ sll $v0, $v0, 4 +.L00415EA0: +/* 00415EA0 8E390004 */ lw $t9, 4($s1) +/* 00415EA4 8E4A0000 */ lw $t2, ($s2) +/* 00415EA8 8E180000 */ lw $t8, ($s0) +/* 00415EAC 03227021 */ addu $t6, $t9, $v0 +/* 00415EB0 000A6100 */ sll $t4, $t2, 4 +/* 00415EB4 01D35821 */ addu $t3, $t6, $s3 +/* 00415EB8 030C4821 */ addu $t1, $t8, $t4 +/* 00415EBC 916FFFFF */ lbu $t7, -1($t3) +/* 00415EC0 01336821 */ addu $t5, $t1, $s3 +/* 00415EC4 26730001 */ addiu $s3, $s3, 1 +/* 00415EC8 1473FFF5 */ bne $v1, $s3, .L00415EA0 +/* 00415ECC A1AFFFEF */ sb $t7, -0x11($t5) +/* 00415ED0 5275002E */ beql $s3, $s5, .L00415F8C +/* 00415ED4 8E430000 */ lw $v1, ($s2) +.L00415ED8: +/* 00415ED8 8FA20044 */ lw $v0, 0x44($sp) +/* 00415EDC 00021100 */ sll $v0, $v0, 4 +.L00415EE0: +/* 00415EE0 8E390004 */ lw $t9, 4($s1) +/* 00415EE4 8E4C0000 */ lw $t4, ($s2) +/* 00415EE8 8E180000 */ lw $t8, ($s0) +/* 00415EEC 03227021 */ addu $t6, $t9, $v0 +/* 00415EF0 01D35821 */ addu $t3, $t6, $s3 +/* 00415EF4 916AFFFF */ lbu $t2, -1($t3) +/* 00415EF8 000C4900 */ sll $t1, $t4, 4 +/* 00415EFC 03097821 */ addu $t7, $t8, $t1 +/* 00415F00 01F36821 */ addu $t5, $t7, $s3 +/* 00415F04 A1AAFFEF */ sb $t2, -0x11($t5) +/* 00415F08 8E390004 */ lw $t9, 4($s1) +/* 00415F0C 8E490000 */ lw $t1, ($s2) +/* 00415F10 8E180000 */ lw $t8, ($s0) +/* 00415F14 03227021 */ addu $t6, $t9, $v0 +/* 00415F18 01D35821 */ addu $t3, $t6, $s3 +/* 00415F1C 916C0000 */ lbu $t4, ($t3) +/* 00415F20 00097900 */ sll $t7, $t1, 4 +/* 00415F24 030F5021 */ addu $t2, $t8, $t7 +/* 00415F28 01536821 */ addu $t5, $t2, $s3 +/* 00415F2C A1ACFFF0 */ sb $t4, -0x10($t5) +/* 00415F30 8E390004 */ lw $t9, 4($s1) +/* 00415F34 8E4F0000 */ lw $t7, ($s2) +/* 00415F38 8E180000 */ lw $t8, ($s0) +/* 00415F3C 03227021 */ addu $t6, $t9, $v0 +/* 00415F40 01D35821 */ addu $t3, $t6, $s3 +/* 00415F44 91690001 */ lbu $t1, 1($t3) +/* 00415F48 000F5100 */ sll $t2, $t7, 4 +/* 00415F4C 030A6021 */ addu $t4, $t8, $t2 +/* 00415F50 01936821 */ addu $t5, $t4, $s3 +/* 00415F54 A1A9FFF1 */ sb $t1, -0xf($t5) +/* 00415F58 8E4A0000 */ lw $t2, ($s2) +/* 00415F5C 8E390004 */ lw $t9, 4($s1) +/* 00415F60 8E180000 */ lw $t8, ($s0) +/* 00415F64 000A6100 */ sll $t4, $t2, 4 +/* 00415F68 03227021 */ addu $t6, $t9, $v0 +/* 00415F6C 01D35821 */ addu $t3, $t6, $s3 +/* 00415F70 030C4821 */ addu $t1, $t8, $t4 +/* 00415F74 916F0002 */ lbu $t7, 2($t3) +/* 00415F78 01336821 */ addu $t5, $t1, $s3 +/* 00415F7C 26730004 */ addiu $s3, $s3, 4 +/* 00415F80 1675FFD7 */ bne $s3, $s5, .L00415EE0 +/* 00415F84 A1AFFFF2 */ sb $t7, -0xe($t5) +.L00415F88: +/* 00415F88 8E430000 */ lw $v1, ($s2) +.L00415F8C: +/* 00415F8C 8ED90000 */ lw $t9, ($s6) +/* 00415F90 57230007 */ bnel $t9, $v1, .L00415FB0 +/* 00415F94 246E0001 */ addiu $t6, $v1, 1 +/* 00415F98 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00415F9C 0320F809 */ jalr $t9 +/* 00415FA0 00000000 */ nop +/* 00415FA4 8FBC0038 */ lw $gp, 0x38($sp) +/* 00415FA8 8E430000 */ lw $v1, ($s2) +/* 00415FAC 246E0001 */ addiu $t6, $v1, 1 +.L00415FB0: +/* 00415FB0 AE4E0000 */ sw $t6, ($s2) +/* 00415FB4 8FBF003C */ lw $ra, 0x3c($sp) +.L00415FB8: +/* 00415FB8 8FB0001C */ lw $s0, 0x1c($sp) +/* 00415FBC 8FB10020 */ lw $s1, 0x20($sp) +/* 00415FC0 8FB20024 */ lw $s2, 0x24($sp) +/* 00415FC4 8FB30028 */ lw $s3, 0x28($sp) +/* 00415FC8 8FB4002C */ lw $s4, 0x2c($sp) +/* 00415FCC 8FB50030 */ lw $s5, 0x30($sp) +/* 00415FD0 8FB60034 */ lw $s6, 0x34($sp) +/* 00415FD4 03E00008 */ jr $ra +/* 00415FD8 27BD0048 */ addiu $sp, $sp, 0x48 + .type emit_rfi, @function + .size emit_rfi, .-emit_rfi + .end emit_rfi + +glabel emit_rrfi + .ent emit_rrfi + # 0042BDAC eval +/* 00415FDC 3C1C0FC1 */ .cpload $t9 +/* 00415FE0 279C9A74 */ +/* 00415FE4 0399E021 */ +/* 00415FE8 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00415FEC 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00415FF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00415FF4 8CEF0000 */ lw $t7, ($a3) +/* 00415FF8 8C6E0000 */ lw $t6, ($v1) +/* 00415FFC AFBF0024 */ sw $ra, 0x24($sp) +/* 00416000 000FC100 */ sll $t8, $t7, 4 +/* 00416004 AFBC0020 */ sw $gp, 0x20($sp) +/* 00416008 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041600C AFA40028 */ sw $a0, 0x28($sp) +/* 00416010 AFA5002C */ sw $a1, 0x2c($sp) +/* 00416014 AFA60030 */ sw $a2, 0x30($sp) +/* 00416018 01D81021 */ addu $v0, $t6, $t8 +/* 0041601C 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00416020 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416024 3C01FFFC */ lui $at, 0xfffc +/* 00416028 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 0041602C 356C0017 */ ori $t4, $t3, 0x17 +/* 00416030 A04C0005 */ sb $t4, 5($v0) +/* 00416034 8CEF0000 */ lw $t7, ($a3) +/* 00416038 8C6D0000 */ lw $t5, ($v1) +/* 0041603C 97B8002A */ lhu $t8, 0x2a($sp) +/* 00416040 000F7100 */ sll $t6, $t7, 4 +/* 00416044 01AE1021 */ addu $v0, $t5, $t6 +/* 00416048 9448FFF6 */ lhu $t0, -0xa($v0) +/* 0041604C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416050 34213FFF */ ori $at, $at, 0x3fff +/* 00416054 0008CD80 */ sll $t9, $t0, 0x16 +/* 00416058 00195DC2 */ srl $t3, $t9, 0x17 +/* 0041605C 030B6026 */ xor $t4, $t8, $t3 +/* 00416060 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00416064 000F6D82 */ srl $t5, $t7, 0x16 +/* 00416068 01A87026 */ xor $t6, $t5, $t0 +/* 0041606C A44E0006 */ sh $t6, 6($v0) +/* 00416070 8CF80000 */ lw $t8, ($a3) +/* 00416074 8C790000 */ lw $t9, ($v1) +/* 00416078 00185900 */ sll $t3, $t8, 4 +/* 0041607C 032B1021 */ addu $v0, $t9, $t3 +/* 00416080 8C4CFFF8 */ lw $t4, -8($v0) +/* 00416084 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416088 01817824 */ and $t7, $t4, $at +/* 0041608C 35ED8000 */ ori $t5, $t7, 0x8000 +/* 00416090 AC4D0008 */ sw $t5, 8($v0) +/* 00416094 8CF80000 */ lw $t8, ($a3) +/* 00416098 8C6E0000 */ lw $t6, ($v1) +/* 0041609C 93AB002F */ lbu $t3, 0x2f($sp) +/* 004160A0 0018C900 */ sll $t9, $t8, 4 +/* 004160A4 01D91021 */ addu $v0, $t6, $t9 +/* 004160A8 8C49FFF8 */ lw $t1, -8($v0) +/* 004160AC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004160B0 3C01FE03 */ lui $at, 0xfe03 +/* 004160B4 00096642 */ srl $t4, $t1, 0x19 +/* 004160B8 016C7826 */ xor $t7, $t3, $t4 +/* 004160BC 000F6E40 */ sll $t5, $t7, 0x19 +/* 004160C0 01A9C026 */ xor $t8, $t5, $t1 +/* 004160C4 AC580008 */ sw $t8, 8($v0) +/* 004160C8 8CF90000 */ lw $t9, ($a3) +/* 004160CC 8C6E0000 */ lw $t6, ($v1) +/* 004160D0 3421FFFF */ ori $at, $at, 0xffff +/* 004160D4 00195900 */ sll $t3, $t9, 4 +/* 004160D8 01CB1021 */ addu $v0, $t6, $t3 +/* 004160DC 8C4CFFF8 */ lw $t4, -8($v0) +/* 004160E0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004160E4 01817824 */ and $t7, $t4, $at +/* 004160E8 3C010120 */ lui $at, 0x120 +/* 004160EC 01E16825 */ or $t5, $t7, $at +/* 004160F0 AC4D0008 */ sw $t5, 8($v0) +/* 004160F4 8CEE0000 */ lw $t6, ($a3) +/* 004160F8 8C790000 */ lw $t9, ($v1) +/* 004160FC 8FB80030 */ lw $t8, 0x30($sp) +/* 00416100 000E5900 */ sll $t3, $t6, 4 +/* 00416104 032B6021 */ addu $t4, $t9, $t3 +/* 00416108 AD98FFF0 */ sw $t8, -0x10($t4) +/* 0041610C 8CED0000 */ lw $t5, ($a3) +/* 00416110 8C6F0000 */ lw $t7, ($v1) +/* 00416114 3C01FE3F */ lui $at, 0xfe3f +/* 00416118 000D7100 */ sll $t6, $t5, 4 +/* 0041611C 01EEC821 */ addu $t9, $t7, $t6 +/* 00416120 AF20FFFC */ sw $zero, -4($t9) +/* 00416124 8CF80000 */ lw $t8, ($a3) +/* 00416128 8C6B0000 */ lw $t3, ($v1) +/* 0041612C 3421FFFF */ ori $at, $at, 0xffff +/* 00416130 00186100 */ sll $t4, $t8, 4 +/* 00416134 016C1021 */ addu $v0, $t3, $t4 +/* 00416138 8C4DFFF4 */ lw $t5, -0xc($v0) +/* 0041613C 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00416140 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416144 01A17824 */ and $t7, $t5, $at +/* 00416148 3C010180 */ lui $at, 0x180 +/* 0041614C 01E17025 */ or $t6, $t7, $at +/* 00416150 AC4E0004 */ sw $t6, 4($v0) +/* 00416154 8CEA0000 */ lw $t2, ($a3) +/* 00416158 8F390000 */ lw $t9, ($t9) +/* 0041615C 172A0007 */ bne $t9, $t2, .L0041617C +/* 00416160 00000000 */ nop +/* 00416164 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416168 0320F809 */ jalr $t9 +/* 0041616C 00000000 */ nop +/* 00416170 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416174 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00416178 8CEA0000 */ lw $t2, ($a3) +.L0041617C: +/* 0041617C 8F8B89E0 */ lw $t3, %got(debug_ugen)($gp) +/* 00416180 25580001 */ addiu $t8, $t2, 1 +/* 00416184 ACF80000 */ sw $t8, ($a3) +/* 00416188 916B0000 */ lbu $t3, ($t3) +/* 0041618C 24060009 */ li $a2, 9 +/* 00416190 51600035 */ beql $t3, $zero, .L00416268 +/* 00416194 8FBF0024 */ lw $ra, 0x24($sp) +/* 00416198 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0041619C 8F848954 */ lw $a0, %got(output)($gp) +/* 004161A0 8F858038 */ lw $a1, %got(RO_100095B5)($gp) +/* 004161A4 24070009 */ li $a3, 9 +/* 004161A8 8C840000 */ lw $a0, ($a0) +/* 004161AC 0320F809 */ jalr $t9 +/* 004161B0 24A595B5 */ addiu $a1, %lo(RO_100095B5) # addiu $a1, $a1, -0x6a4b +/* 004161B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004161B8 240C000A */ li $t4, 10 +/* 004161BC AFAC0010 */ sw $t4, 0x10($sp) +/* 004161C0 8F908954 */ lw $s0, %got(output)($gp) +/* 004161C4 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004161C8 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 004161CC 8E100000 */ lw $s0, ($s0) +/* 004161D0 97A5002A */ lhu $a1, 0x2a($sp) +/* 004161D4 00003825 */ move $a3, $zero +/* 004161D8 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 004161DC 0320F809 */ jalr $t9 +/* 004161E0 02002025 */ move $a0, $s0 +/* 004161E4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004161E8 02002025 */ move $a0, $s0 +/* 004161EC 24050020 */ li $a1, 32 +/* 004161F0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004161F4 24060001 */ li $a2, 1 +/* 004161F8 2407000A */ li $a3, 10 +/* 004161FC 0320F809 */ jalr $t9 +/* 00416200 00000000 */ nop +/* 00416204 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416208 240D000A */ li $t5, 10 +/* 0041620C AFAD0010 */ sw $t5, 0x10($sp) +/* 00416210 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416214 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416218 02002025 */ move $a0, $s0 +/* 0041621C 93A5002F */ lbu $a1, 0x2f($sp) +/* 00416220 00003825 */ move $a3, $zero +/* 00416224 0320F809 */ jalr $t9 +/* 00416228 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 0041622C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416230 02002025 */ move $a0, $s0 +/* 00416234 8FA50030 */ lw $a1, 0x30($sp) +/* 00416238 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0041623C 2406000C */ li $a2, 12 +/* 00416240 2407000A */ li $a3, 10 +/* 00416244 0320F809 */ jalr $t9 +/* 00416248 00000000 */ nop +/* 0041624C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416250 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00416254 8F848954 */ lw $a0, %got(output)($gp) +/* 00416258 0320F809 */ jalr $t9 +/* 0041625C 8C840000 */ lw $a0, ($a0) +/* 00416260 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416264 8FBF0024 */ lw $ra, 0x24($sp) +.L00416268: +/* 00416268 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041626C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00416270 03E00008 */ jr $ra +/* 00416274 00000000 */ nop + .type emit_rrfi, @function + .size emit_rrfi, .-emit_rrfi + .end emit_rrfi + +glabel emit_rrr + .ent emit_rrr + # 0041D1E8 func_0041D1E8 + # 0041D39C func_0041D39C + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041DDE0 func_0041DDE0 + # 0041DF18 func_0041DF18 + # 0041E05C func_0041E05C + # 0041E1C0 func_0041E1C0 + # 0041E304 func_0041E304 + # 0041E468 dw_emit_rrr + # 0041E800 func_0041E800 + # 0041EA00 func_0041EA00 + # 0041EC08 func_0041EC08 + # 0041EE78 func_0041EE78 + # 0041F194 func_0041F194 + # 0041FC98 dw_emit_rri + # 00420360 func_00420360 + # 0042A1AC eval_irel + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt +/* 00416278 3C1C0FC1 */ .cpload $t9 +/* 0041627C 279C97D8 */ +/* 00416280 0399E021 */ +/* 00416284 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00416288 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041628C 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00416290 8D2F0000 */ lw $t7, ($t1) +/* 00416294 AFBF0024 */ sw $ra, 0x24($sp) +/* 00416298 8D0E0000 */ lw $t6, ($t0) +/* 0041629C 000FC100 */ sll $t8, $t7, 4 +/* 004162A0 AFBC0020 */ sw $gp, 0x20($sp) +/* 004162A4 AFB0001C */ sw $s0, 0x1c($sp) +/* 004162A8 AFA40028 */ sw $a0, 0x28($sp) +/* 004162AC AFA5002C */ sw $a1, 0x2c($sp) +/* 004162B0 AFA60030 */ sw $a2, 0x30($sp) +/* 004162B4 AFA70034 */ sw $a3, 0x34($sp) +/* 004162B8 01D81021 */ addu $v0, $t6, $t8 +/* 004162BC 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004162C0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004162C4 3C01FFFC */ lui $at, 0xfffc +/* 004162C8 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 004162CC 356C0017 */ ori $t4, $t3, 0x17 +/* 004162D0 A04C0005 */ sb $t4, 5($v0) +/* 004162D4 8D2F0000 */ lw $t7, ($t1) +/* 004162D8 8D0D0000 */ lw $t5, ($t0) +/* 004162DC 97B8002A */ lhu $t8, 0x2a($sp) +/* 004162E0 000F7100 */ sll $t6, $t7, 4 +/* 004162E4 01AE1021 */ addu $v0, $t5, $t6 +/* 004162E8 944AFFF6 */ lhu $t2, -0xa($v0) +/* 004162EC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004162F0 34213FFF */ ori $at, $at, 0x3fff +/* 004162F4 000ACD80 */ sll $t9, $t2, 0x16 +/* 004162F8 00195DC2 */ srl $t3, $t9, 0x17 +/* 004162FC 030B6026 */ xor $t4, $t8, $t3 +/* 00416300 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00416304 000F6D82 */ srl $t5, $t7, 0x16 +/* 00416308 01AA7026 */ xor $t6, $t5, $t2 +/* 0041630C A44E0006 */ sh $t6, 6($v0) +/* 00416310 8D380000 */ lw $t8, ($t1) +/* 00416314 8D190000 */ lw $t9, ($t0) +/* 00416318 00185900 */ sll $t3, $t8, 4 +/* 0041631C 032B1021 */ addu $v0, $t9, $t3 +/* 00416320 8C4CFFF8 */ lw $t4, -8($v0) +/* 00416324 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416328 01817824 */ and $t7, $t4, $at +/* 0041632C 35EDC000 */ ori $t5, $t7, 0xc000 +/* 00416330 AC4D0008 */ sw $t5, 8($v0) +/* 00416334 8D380000 */ lw $t8, ($t1) +/* 00416338 8D0E0000 */ lw $t6, ($t0) +/* 0041633C 0018C900 */ sll $t9, $t8, 4 +/* 00416340 01D95821 */ addu $t3, $t6, $t9 +/* 00416344 AD60FFF0 */ sw $zero, -0x10($t3) +/* 00416348 8D2F0000 */ lw $t7, ($t1) +/* 0041634C 8D0C0000 */ lw $t4, ($t0) +/* 00416350 93B8002F */ lbu $t8, 0x2f($sp) +/* 00416354 000F6900 */ sll $t5, $t7, 4 +/* 00416358 018D1021 */ addu $v0, $t4, $t5 +/* 0041635C 8C43FFF8 */ lw $v1, -8($v0) +/* 00416360 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416364 00037642 */ srl $t6, $v1, 0x19 +/* 00416368 030EC826 */ xor $t9, $t8, $t6 +/* 0041636C 00195E40 */ sll $t3, $t9, 0x19 +/* 00416370 01637826 */ xor $t7, $t3, $v1 +/* 00416374 AC4F0008 */ sw $t7, 8($v0) +/* 00416378 8D2D0000 */ lw $t5, ($t1) +/* 0041637C 8D0C0000 */ lw $t4, ($t0) +/* 00416380 93AE0033 */ lbu $t6, 0x33($sp) +/* 00416384 000DC100 */ sll $t8, $t5, 4 +/* 00416388 01981021 */ addu $v0, $t4, $t8 +/* 0041638C 8C43FFF8 */ lw $v1, -8($v0) +/* 00416390 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416394 0003C9C0 */ sll $t9, $v1, 7 +/* 00416398 00195E42 */ srl $t3, $t9, 0x19 +/* 0041639C 01CB7826 */ xor $t7, $t6, $t3 +/* 004163A0 000F6E40 */ sll $t5, $t7, 0x19 +/* 004163A4 000D61C2 */ srl $t4, $t5, 7 +/* 004163A8 0183C026 */ xor $t8, $t4, $v1 +/* 004163AC AC580008 */ sw $t8, 8($v0) +/* 004163B0 8D2E0000 */ lw $t6, ($t1) +/* 004163B4 8D190000 */ lw $t9, ($t0) +/* 004163B8 93AF0037 */ lbu $t7, 0x37($sp) +/* 004163BC 000E5900 */ sll $t3, $t6, 4 +/* 004163C0 032B1021 */ addu $v0, $t9, $t3 +/* 004163C4 8C43FFF8 */ lw $v1, -8($v0) +/* 004163C8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004163CC 00036C80 */ sll $t5, $v1, 0x12 +/* 004163D0 000D6642 */ srl $t4, $t5, 0x19 +/* 004163D4 01ECC026 */ xor $t8, $t7, $t4 +/* 004163D8 00187640 */ sll $t6, $t8, 0x19 +/* 004163DC 000ECC82 */ srl $t9, $t6, 0x12 +/* 004163E0 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 004163E4 03235826 */ xor $t3, $t9, $v1 +/* 004163E8 AC4B0008 */ sw $t3, 8($v0) +/* 004163EC 8D220000 */ lw $v0, ($t1) +/* 004163F0 8DAD0000 */ lw $t5, ($t5) +/* 004163F4 15A20007 */ bne $t5, $v0, .L00416414 +/* 004163F8 00000000 */ nop +/* 004163FC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416400 0320F809 */ jalr $t9 +/* 00416404 00000000 */ nop +/* 00416408 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041640C 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00416410 8D220000 */ lw $v0, ($t1) +.L00416414: +/* 00416414 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00416418 244F0001 */ addiu $t7, $v0, 1 +/* 0041641C AD2F0000 */ sw $t7, ($t1) +/* 00416420 918C0000 */ lbu $t4, ($t4) +/* 00416424 2406000A */ li $a2, 10 +/* 00416428 51800051 */ beql $t4, $zero, .L00416570 +/* 0041642C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00416430 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00416434 8F848954 */ lw $a0, %got(output)($gp) +/* 00416438 8F858038 */ lw $a1, %got(RO_100095BE)($gp) +/* 0041643C 2407000A */ li $a3, 10 +/* 00416440 8C840000 */ lw $a0, ($a0) +/* 00416444 0320F809 */ jalr $t9 +/* 00416448 24A595BE */ addiu $a1, %lo(RO_100095BE) # addiu $a1, $a1, -0x6a42 +/* 0041644C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416450 2418000A */ li $t8, 10 +/* 00416454 AFB80010 */ sw $t8, 0x10($sp) +/* 00416458 8F908954 */ lw $s0, %got(output)($gp) +/* 0041645C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416460 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00416464 8E100000 */ lw $s0, ($s0) +/* 00416468 97A5002A */ lhu $a1, 0x2a($sp) +/* 0041646C 00003825 */ move $a3, $zero +/* 00416470 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00416474 0320F809 */ jalr $t9 +/* 00416478 02002025 */ move $a0, $s0 +/* 0041647C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416480 02002025 */ move $a0, $s0 +/* 00416484 24050020 */ li $a1, 32 +/* 00416488 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0041648C 24060001 */ li $a2, 1 +/* 00416490 2407000A */ li $a3, 10 +/* 00416494 0320F809 */ jalr $t9 +/* 00416498 00000000 */ nop +/* 0041649C 8FBC0020 */ lw $gp, 0x20($sp) +/* 004164A0 240E000A */ li $t6, 10 +/* 004164A4 AFAE0010 */ sw $t6, 0x10($sp) +/* 004164A8 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004164AC 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004164B0 02002025 */ move $a0, $s0 +/* 004164B4 93A5002F */ lbu $a1, 0x2f($sp) +/* 004164B8 00003825 */ move $a3, $zero +/* 004164BC 0320F809 */ jalr $t9 +/* 004164C0 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004164C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004164C8 02002025 */ move $a0, $s0 +/* 004164CC 24050020 */ li $a1, 32 +/* 004164D0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004164D4 24060001 */ li $a2, 1 +/* 004164D8 2407000A */ li $a3, 10 +/* 004164DC 0320F809 */ jalr $t9 +/* 004164E0 00000000 */ nop +/* 004164E4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004164E8 2419000A */ li $t9, 10 +/* 004164EC AFB90010 */ sw $t9, 0x10($sp) +/* 004164F0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004164F4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004164F8 02002025 */ move $a0, $s0 +/* 004164FC 93A50033 */ lbu $a1, 0x33($sp) +/* 00416500 00003825 */ move $a3, $zero +/* 00416504 0320F809 */ jalr $t9 +/* 00416508 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 0041650C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416510 02002025 */ move $a0, $s0 +/* 00416514 24050020 */ li $a1, 32 +/* 00416518 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0041651C 24060001 */ li $a2, 1 +/* 00416520 2407000A */ li $a3, 10 +/* 00416524 0320F809 */ jalr $t9 +/* 00416528 00000000 */ nop +/* 0041652C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416530 240B000A */ li $t3, 10 +/* 00416534 AFAB0010 */ sw $t3, 0x10($sp) +/* 00416538 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0041653C 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416540 02002025 */ move $a0, $s0 +/* 00416544 93A50037 */ lbu $a1, 0x37($sp) +/* 00416548 00003825 */ move $a3, $zero +/* 0041654C 0320F809 */ jalr $t9 +/* 00416550 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416554 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416558 02002025 */ move $a0, $s0 +/* 0041655C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00416560 0320F809 */ jalr $t9 +/* 00416564 00000000 */ nop +/* 00416568 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041656C 8FBF0024 */ lw $ra, 0x24($sp) +.L00416570: +/* 00416570 8FB0001C */ lw $s0, 0x1c($sp) +/* 00416574 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00416578 03E00008 */ jr $ra +/* 0041657C 00000000 */ nop + .type emit_rrr, @function + .size emit_rrr, .-emit_rrr + .end emit_rrr + +glabel emit_rri_ + .ent emit_rri_ + # 0041C694 func_0041C694 + # 0041C710 func_0041C710 + # 0041C7AC func_0041C7AC + # 0041C86C func_0041C86C + # 0041C92C func_0041C92C + # 0041C9EC func_0041C9EC + # 0041CAAC emit_trap_rri + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041DDE0 func_0041DDE0 + # 0041E800 func_0041E800 + # 0041EA00 func_0041EA00 + # 0041EC08 func_0041EC08 + # 0041EE78 func_0041EE78 + # 0041F194 func_0041F194 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 0041FC98 dw_emit_rri + # 00420360 func_00420360 + # 00423290 move_dreg_to_regs + # 0042670C loadstore + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042A9A8 load_parm_vreg + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00434430 func_00434430 + # 00434618 func_00434618 +/* 00416580 3C1C0FC1 */ .cpload $t9 +/* 00416584 279C94D0 */ +/* 00416588 0399E021 */ +/* 0041658C 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00416590 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00416594 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00416598 8D2F0000 */ lw $t7, ($t1) +/* 0041659C AFBF0024 */ sw $ra, 0x24($sp) +/* 004165A0 8C6E0000 */ lw $t6, ($v1) +/* 004165A4 000FC100 */ sll $t8, $t7, 4 +/* 004165A8 AFBC0020 */ sw $gp, 0x20($sp) +/* 004165AC AFB0001C */ sw $s0, 0x1c($sp) +/* 004165B0 AFA40028 */ sw $a0, 0x28($sp) +/* 004165B4 AFA5002C */ sw $a1, 0x2c($sp) +/* 004165B8 AFA60030 */ sw $a2, 0x30($sp) +/* 004165BC AFA70034 */ sw $a3, 0x34($sp) +/* 004165C0 01D81021 */ addu $v0, $t6, $t8 +/* 004165C4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004165C8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004165CC 3C01FFFC */ lui $at, 0xfffc +/* 004165D0 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 004165D4 358D0017 */ ori $t5, $t4, 0x17 +/* 004165D8 A04D0005 */ sb $t5, 5($v0) +/* 004165DC 8D2E0000 */ lw $t6, ($t1) +/* 004165E0 8C6F0000 */ lw $t7, ($v1) +/* 004165E4 97B9002A */ lhu $t9, 0x2a($sp) +/* 004165E8 000EC100 */ sll $t8, $t6, 4 +/* 004165EC 01F81021 */ addu $v0, $t7, $t8 +/* 004165F0 944AFFF6 */ lhu $t2, -0xa($v0) +/* 004165F4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004165F8 34213FFF */ ori $at, $at, 0x3fff +/* 004165FC 000A6580 */ sll $t4, $t2, 0x16 +/* 00416600 000C6DC2 */ srl $t5, $t4, 0x17 +/* 00416604 032D7026 */ xor $t6, $t9, $t5 +/* 00416608 000E7DC0 */ sll $t7, $t6, 0x17 +/* 0041660C 000FC582 */ srl $t8, $t7, 0x16 +/* 00416610 030A6026 */ xor $t4, $t8, $t2 +/* 00416614 A44C0006 */ sh $t4, 6($v0) +/* 00416618 8D2D0000 */ lw $t5, ($t1) +/* 0041661C 8C790000 */ lw $t9, ($v1) +/* 00416620 000D7100 */ sll $t6, $t5, 4 +/* 00416624 032E1021 */ addu $v0, $t9, $t6 +/* 00416628 8C4FFFF8 */ lw $t7, -8($v0) +/* 0041662C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416630 01E1C024 */ and $t8, $t7, $at +/* 00416634 3C010001 */ lui $at, 1 +/* 00416638 03016025 */ or $t4, $t8, $at +/* 0041663C AC4C0008 */ sw $t4, 8($v0) +/* 00416640 8D390000 */ lw $t9, ($t1) +/* 00416644 8C6D0000 */ lw $t5, ($v1) +/* 00416648 00197100 */ sll $t6, $t9, 4 +/* 0041664C 01AE7821 */ addu $t7, $t5, $t6 +/* 00416650 ADE0FFF0 */ sw $zero, -0x10($t7) +/* 00416654 8D2C0000 */ lw $t4, ($t1) +/* 00416658 8C780000 */ lw $t8, ($v1) +/* 0041665C 93AD002F */ lbu $t5, 0x2f($sp) +/* 00416660 000CC900 */ sll $t9, $t4, 4 +/* 00416664 03191021 */ addu $v0, $t8, $t9 +/* 00416668 8C48FFF8 */ lw $t0, -8($v0) +/* 0041666C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416670 00087642 */ srl $t6, $t0, 0x19 +/* 00416674 01AE7826 */ xor $t7, $t5, $t6 +/* 00416678 000F6640 */ sll $t4, $t7, 0x19 +/* 0041667C 0188C026 */ xor $t8, $t4, $t0 +/* 00416680 AC580008 */ sw $t8, 8($v0) +/* 00416684 8D2D0000 */ lw $t5, ($t1) +/* 00416688 8C790000 */ lw $t9, ($v1) +/* 0041668C 93AF0033 */ lbu $t7, 0x33($sp) +/* 00416690 000D7100 */ sll $t6, $t5, 4 +/* 00416694 032E1021 */ addu $v0, $t9, $t6 +/* 00416698 8C48FFF8 */ lw $t0, -8($v0) +/* 0041669C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004166A0 000861C0 */ sll $t4, $t0, 7 +/* 004166A4 000CC642 */ srl $t8, $t4, 0x19 +/* 004166A8 01F86826 */ xor $t5, $t7, $t8 +/* 004166AC 000DCE40 */ sll $t9, $t5, 0x19 +/* 004166B0 001971C2 */ srl $t6, $t9, 7 +/* 004166B4 01C86026 */ xor $t4, $t6, $t0 +/* 004166B8 AC4C0008 */ sw $t4, 8($v0) +/* 004166BC 8D2D0000 */ lw $t5, ($t1) +/* 004166C0 8C780000 */ lw $t8, ($v1) +/* 004166C4 8FAF0034 */ lw $t7, 0x34($sp) +/* 004166C8 000DC900 */ sll $t9, $t5, 4 +/* 004166CC 03197021 */ addu $t6, $t8, $t9 +/* 004166D0 ADCFFFFC */ sw $t7, -4($t6) +/* 004166D4 8D2D0000 */ lw $t5, ($t1) +/* 004166D8 8C6C0000 */ lw $t4, ($v1) +/* 004166DC 93B9003B */ lbu $t9, 0x3b($sp) +/* 004166E0 000DC100 */ sll $t8, $t5, 4 +/* 004166E4 01981021 */ addu $v0, $t4, $t8 +/* 004166E8 8C4BFFF4 */ lw $t3, -0xc($v0) +/* 004166EC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004166F0 000B79C0 */ sll $t7, $t3, 7 +/* 004166F4 000F7742 */ srl $t6, $t7, 0x1d +/* 004166F8 032E6826 */ xor $t5, $t9, $t6 +/* 004166FC 000D6740 */ sll $t4, $t5, 0x1d +/* 00416700 000CC1C2 */ srl $t8, $t4, 7 +/* 00416704 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00416708 030B7826 */ xor $t7, $t8, $t3 +/* 0041670C AC4F0004 */ sw $t7, 4($v0) +/* 00416710 8D220000 */ lw $v0, ($t1) +/* 00416714 8F390000 */ lw $t9, ($t9) +/* 00416718 17220007 */ bne $t9, $v0, .L00416738 +/* 0041671C 00000000 */ nop +/* 00416720 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416724 0320F809 */ jalr $t9 +/* 00416728 00000000 */ nop +/* 0041672C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416730 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00416734 8D220000 */ lw $v0, ($t1) +.L00416738: +/* 00416738 8F8D89E0 */ lw $t5, %got(debug_ugen)($gp) +/* 0041673C 244E0001 */ addiu $t6, $v0, 1 +/* 00416740 AD2E0000 */ sw $t6, ($t1) +/* 00416744 91AD0000 */ lbu $t5, ($t5) +/* 00416748 2406000A */ li $a2, 10 +/* 0041674C 51A00047 */ beql $t5, $zero, .L0041686C +/* 00416750 8FBF0024 */ lw $ra, 0x24($sp) +/* 00416754 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00416758 8F848954 */ lw $a0, %got(output)($gp) +/* 0041675C 8F858038 */ lw $a1, %got(RO_100095C8)($gp) +/* 00416760 2407000A */ li $a3, 10 +/* 00416764 8C840000 */ lw $a0, ($a0) +/* 00416768 0320F809 */ jalr $t9 +/* 0041676C 24A595C8 */ addiu $a1, %lo(RO_100095C8) # addiu $a1, $a1, -0x6a38 +/* 00416770 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416774 240C000A */ li $t4, 10 +/* 00416778 AFAC0010 */ sw $t4, 0x10($sp) +/* 0041677C 8F908954 */ lw $s0, %got(output)($gp) +/* 00416780 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416784 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00416788 8E100000 */ lw $s0, ($s0) +/* 0041678C 97A5002A */ lhu $a1, 0x2a($sp) +/* 00416790 00003825 */ move $a3, $zero +/* 00416794 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00416798 0320F809 */ jalr $t9 +/* 0041679C 02002025 */ move $a0, $s0 +/* 004167A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004167A4 02002025 */ move $a0, $s0 +/* 004167A8 24050020 */ li $a1, 32 +/* 004167AC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004167B0 24060001 */ li $a2, 1 +/* 004167B4 2407000A */ li $a3, 10 +/* 004167B8 0320F809 */ jalr $t9 +/* 004167BC 00000000 */ nop +/* 004167C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004167C4 2418000A */ li $t8, 10 +/* 004167C8 AFB80010 */ sw $t8, 0x10($sp) +/* 004167CC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004167D0 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004167D4 02002025 */ move $a0, $s0 +/* 004167D8 93A5002F */ lbu $a1, 0x2f($sp) +/* 004167DC 00003825 */ move $a3, $zero +/* 004167E0 0320F809 */ jalr $t9 +/* 004167E4 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004167E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004167EC 02002025 */ move $a0, $s0 +/* 004167F0 24050020 */ li $a1, 32 +/* 004167F4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004167F8 24060001 */ li $a2, 1 +/* 004167FC 2407000A */ li $a3, 10 +/* 00416800 0320F809 */ jalr $t9 +/* 00416804 00000000 */ nop +/* 00416808 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041680C 240F000A */ li $t7, 10 +/* 00416810 AFAF0010 */ sw $t7, 0x10($sp) +/* 00416814 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416818 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041681C 02002025 */ move $a0, $s0 +/* 00416820 93A50033 */ lbu $a1, 0x33($sp) +/* 00416824 00003825 */ move $a3, $zero +/* 00416828 0320F809 */ jalr $t9 +/* 0041682C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416830 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416834 02002025 */ move $a0, $s0 +/* 00416838 8FA50034 */ lw $a1, 0x34($sp) +/* 0041683C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00416840 2406000C */ li $a2, 12 +/* 00416844 2407000A */ li $a3, 10 +/* 00416848 0320F809 */ jalr $t9 +/* 0041684C 00000000 */ nop +/* 00416850 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416854 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00416858 8F848954 */ lw $a0, %got(output)($gp) +/* 0041685C 0320F809 */ jalr $t9 +/* 00416860 8C840000 */ lw $a0, ($a0) +/* 00416864 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416868 8FBF0024 */ lw $ra, 0x24($sp) +.L0041686C: +/* 0041686C 8FB0001C */ lw $s0, 0x1c($sp) +/* 00416870 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00416874 03E00008 */ jr $ra +/* 00416878 00000000 */ nop + .type emit_rri_, @function + .size emit_rri_, .-emit_rri_ + .end emit_rri_ + +glabel emit_rrri + .ent emit_rrri + # 0042670C loadstore + # 00428D14 eval_mov + # 0042BDAC eval +/* 0041687C 3C1C0FC1 */ .cpload $t9 +/* 00416880 279C91D4 */ +/* 00416884 0399E021 */ +/* 00416888 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 0041688C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00416890 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00416894 8D2F0000 */ lw $t7, ($t1) +/* 00416898 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041689C 8C6E0000 */ lw $t6, ($v1) +/* 004168A0 000FC100 */ sll $t8, $t7, 4 +/* 004168A4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004168A8 AFB0001C */ sw $s0, 0x1c($sp) +/* 004168AC AFA40028 */ sw $a0, 0x28($sp) +/* 004168B0 AFA5002C */ sw $a1, 0x2c($sp) +/* 004168B4 AFA60030 */ sw $a2, 0x30($sp) +/* 004168B8 AFA70034 */ sw $a3, 0x34($sp) +/* 004168BC 01D81021 */ addu $v0, $t6, $t8 +/* 004168C0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004168C4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004168C8 3C01FFFC */ lui $at, 0xfffc +/* 004168CC 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 004168D0 358D0017 */ ori $t5, $t4, 0x17 +/* 004168D4 A04D0005 */ sb $t5, 5($v0) +/* 004168D8 8D2E0000 */ lw $t6, ($t1) +/* 004168DC 8C6F0000 */ lw $t7, ($v1) +/* 004168E0 97B9002A */ lhu $t9, 0x2a($sp) +/* 004168E4 000EC100 */ sll $t8, $t6, 4 +/* 004168E8 01F81021 */ addu $v0, $t7, $t8 +/* 004168EC 944AFFF6 */ lhu $t2, -0xa($v0) +/* 004168F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004168F4 34213FFF */ ori $at, $at, 0x3fff +/* 004168F8 000A6580 */ sll $t4, $t2, 0x16 +/* 004168FC 000C6DC2 */ srl $t5, $t4, 0x17 +/* 00416900 032D7026 */ xor $t6, $t9, $t5 +/* 00416904 000E7DC0 */ sll $t7, $t6, 0x17 +/* 00416908 000FC582 */ srl $t8, $t7, 0x16 +/* 0041690C 030A6026 */ xor $t4, $t8, $t2 +/* 00416910 A44C0006 */ sh $t4, 6($v0) +/* 00416914 8D2D0000 */ lw $t5, ($t1) +/* 00416918 8C790000 */ lw $t9, ($v1) +/* 0041691C 000D7100 */ sll $t6, $t5, 4 +/* 00416920 032E1021 */ addu $v0, $t9, $t6 +/* 00416924 8C4FFFF8 */ lw $t7, -8($v0) +/* 00416928 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041692C 01E1C024 */ and $t8, $t7, $at +/* 00416930 3C010001 */ lui $at, 1 +/* 00416934 03016025 */ or $t4, $t8, $at +/* 00416938 AC4C0008 */ sw $t4, 8($v0) +/* 0041693C 8D2E0000 */ lw $t6, ($t1) +/* 00416940 8C790000 */ lw $t9, ($v1) +/* 00416944 8FAD0034 */ lw $t5, 0x34($sp) +/* 00416948 000E7900 */ sll $t7, $t6, 4 +/* 0041694C 032FC021 */ addu $t8, $t9, $t7 +/* 00416950 AF0DFFF0 */ sw $t5, -0x10($t8) +/* 00416954 8D2E0000 */ lw $t6, ($t1) +/* 00416958 8C6C0000 */ lw $t4, ($v1) +/* 0041695C 93AF002F */ lbu $t7, 0x2f($sp) +/* 00416960 000EC900 */ sll $t9, $t6, 4 +/* 00416964 01991021 */ addu $v0, $t4, $t9 +/* 00416968 8C48FFF8 */ lw $t0, -8($v0) +/* 0041696C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416970 3C01FE3F */ lui $at, 0xfe3f +/* 00416974 00086E42 */ srl $t5, $t0, 0x19 +/* 00416978 01EDC026 */ xor $t8, $t7, $t5 +/* 0041697C 00187640 */ sll $t6, $t8, 0x19 +/* 00416980 01C86026 */ xor $t4, $t6, $t0 +/* 00416984 AC4C0008 */ sw $t4, 8($v0) +/* 00416988 8D2F0000 */ lw $t7, ($t1) +/* 0041698C 8C790000 */ lw $t9, ($v1) +/* 00416990 93B80033 */ lbu $t8, 0x33($sp) +/* 00416994 000F6900 */ sll $t5, $t7, 4 +/* 00416998 032D1021 */ addu $v0, $t9, $t5 +/* 0041699C 8C48FFF8 */ lw $t0, -8($v0) +/* 004169A0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004169A4 3421FFFF */ ori $at, $at, 0xffff +/* 004169A8 000871C0 */ sll $t6, $t0, 7 +/* 004169AC 000E6642 */ srl $t4, $t6, 0x19 +/* 004169B0 030C7826 */ xor $t7, $t8, $t4 +/* 004169B4 000FCE40 */ sll $t9, $t7, 0x19 +/* 004169B8 001969C2 */ srl $t5, $t9, 7 +/* 004169BC 01A87026 */ xor $t6, $t5, $t0 +/* 004169C0 AC4E0008 */ sw $t6, 8($v0) +/* 004169C4 8D2C0000 */ lw $t4, ($t1) +/* 004169C8 8C780000 */ lw $t8, ($v1) +/* 004169CC 000C7900 */ sll $t7, $t4, 4 +/* 004169D0 030FC821 */ addu $t9, $t8, $t7 +/* 004169D4 AF20FFFC */ sw $zero, -4($t9) +/* 004169D8 8D2E0000 */ lw $t6, ($t1) +/* 004169DC 8C6D0000 */ lw $t5, ($v1) +/* 004169E0 000E6100 */ sll $t4, $t6, 4 +/* 004169E4 01AC1021 */ addu $v0, $t5, $t4 +/* 004169E8 8C58FFF4 */ lw $t8, -0xc($v0) +/* 004169EC 8F8E8984 */ lw $t6, %got(d_ptr)($gp) +/* 004169F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004169F4 03017824 */ and $t7, $t8, $at +/* 004169F8 3C010180 */ lui $at, 0x180 +/* 004169FC 01E1C825 */ or $t9, $t7, $at +/* 00416A00 AC590004 */ sw $t9, 4($v0) +/* 00416A04 8D2B0000 */ lw $t3, ($t1) +/* 00416A08 8DCE0000 */ lw $t6, ($t6) +/* 00416A0C 15CB0007 */ bne $t6, $t3, .L00416A2C +/* 00416A10 00000000 */ nop +/* 00416A14 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416A18 0320F809 */ jalr $t9 +/* 00416A1C 00000000 */ nop +/* 00416A20 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416A24 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00416A28 8D2B0000 */ lw $t3, ($t1) +.L00416A2C: +/* 00416A2C 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00416A30 256D0001 */ addiu $t5, $t3, 1 +/* 00416A34 AD2D0000 */ sw $t5, ($t1) +/* 00416A38 918C0000 */ lbu $t4, ($t4) +/* 00416A3C 2406000B */ li $a2, 11 +/* 00416A40 51800047 */ beql $t4, $zero, .L00416B60 +/* 00416A44 8FBF0024 */ lw $ra, 0x24($sp) +/* 00416A48 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00416A4C 8F848954 */ lw $a0, %got(output)($gp) +/* 00416A50 8F858038 */ lw $a1, %got(RO_100095D2)($gp) +/* 00416A54 2407000B */ li $a3, 11 +/* 00416A58 8C840000 */ lw $a0, ($a0) +/* 00416A5C 0320F809 */ jalr $t9 +/* 00416A60 24A595D2 */ addiu $a1, %lo(RO_100095D2) # addiu $a1, $a1, -0x6a2e +/* 00416A64 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416A68 2418000A */ li $t8, 10 +/* 00416A6C AFB80010 */ sw $t8, 0x10($sp) +/* 00416A70 8F908954 */ lw $s0, %got(output)($gp) +/* 00416A74 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416A78 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00416A7C 8E100000 */ lw $s0, ($s0) +/* 00416A80 97A5002A */ lhu $a1, 0x2a($sp) +/* 00416A84 00003825 */ move $a3, $zero +/* 00416A88 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00416A8C 0320F809 */ jalr $t9 +/* 00416A90 02002025 */ move $a0, $s0 +/* 00416A94 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416A98 02002025 */ move $a0, $s0 +/* 00416A9C 24050020 */ li $a1, 32 +/* 00416AA0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00416AA4 24060001 */ li $a2, 1 +/* 00416AA8 2407000A */ li $a3, 10 +/* 00416AAC 0320F809 */ jalr $t9 +/* 00416AB0 00000000 */ nop +/* 00416AB4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416AB8 240F000A */ li $t7, 10 +/* 00416ABC AFAF0010 */ sw $t7, 0x10($sp) +/* 00416AC0 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416AC4 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416AC8 02002025 */ move $a0, $s0 +/* 00416ACC 93A5002F */ lbu $a1, 0x2f($sp) +/* 00416AD0 00003825 */ move $a3, $zero +/* 00416AD4 0320F809 */ jalr $t9 +/* 00416AD8 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416ADC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416AE0 02002025 */ move $a0, $s0 +/* 00416AE4 24050020 */ li $a1, 32 +/* 00416AE8 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00416AEC 24060001 */ li $a2, 1 +/* 00416AF0 2407000A */ li $a3, 10 +/* 00416AF4 0320F809 */ jalr $t9 +/* 00416AF8 00000000 */ nop +/* 00416AFC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416B00 2419000A */ li $t9, 10 +/* 00416B04 AFB90010 */ sw $t9, 0x10($sp) +/* 00416B08 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416B0C 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416B10 02002025 */ move $a0, $s0 +/* 00416B14 93A50033 */ lbu $a1, 0x33($sp) +/* 00416B18 00003825 */ move $a3, $zero +/* 00416B1C 0320F809 */ jalr $t9 +/* 00416B20 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416B24 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416B28 02002025 */ move $a0, $s0 +/* 00416B2C 8FA50034 */ lw $a1, 0x34($sp) +/* 00416B30 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00416B34 2406000C */ li $a2, 12 +/* 00416B38 2407000A */ li $a3, 10 +/* 00416B3C 0320F809 */ jalr $t9 +/* 00416B40 00000000 */ nop +/* 00416B44 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416B48 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00416B4C 8F848954 */ lw $a0, %got(output)($gp) +/* 00416B50 0320F809 */ jalr $t9 +/* 00416B54 8C840000 */ lw $a0, ($a0) +/* 00416B58 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416B5C 8FBF0024 */ lw $ra, 0x24($sp) +.L00416B60: +/* 00416B60 8FB0001C */ lw $s0, 0x1c($sp) +/* 00416B64 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00416B68 03E00008 */ jr $ra +/* 00416B6C 00000000 */ nop + .type emit_rrri, @function + .size emit_rrri, .-emit_rrri + .end emit_rrri + +glabel emit_rr + .ent emit_rr + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041E468 dw_emit_rrr + # 0041FC98 dw_emit_rri + # 00420360 func_00420360 + # 00420524 func_00420524 + # 00420654 func_00420654 + # 004206C0 dw_emit_rr + # 00421170 gen_entry + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00423518 move_two_regs + # 00423D28 jump + # 00424240 trap + # 00425AA0 move_to_dest + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 00428C38 copy + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt + # 00439F88 copy_reg +/* 00416B70 3C1C0FC1 */ .cpload $t9 +/* 00416B74 279C8EE0 */ +/* 00416B78 0399E021 */ +/* 00416B7C 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00416B80 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 00416B84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00416B88 8D0F0000 */ lw $t7, ($t0) +/* 00416B8C 8CEE0000 */ lw $t6, ($a3) +/* 00416B90 AFBF0024 */ sw $ra, 0x24($sp) +/* 00416B94 000FC100 */ sll $t8, $t7, 4 +/* 00416B98 AFBC0020 */ sw $gp, 0x20($sp) +/* 00416B9C AFB0001C */ sw $s0, 0x1c($sp) +/* 00416BA0 AFA40028 */ sw $a0, 0x28($sp) +/* 00416BA4 AFA5002C */ sw $a1, 0x2c($sp) +/* 00416BA8 AFA60030 */ sw $a2, 0x30($sp) +/* 00416BAC 01D81021 */ addu $v0, $t6, $t8 +/* 00416BB0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00416BB4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416BB8 3C01FFFC */ lui $at, 0xfffc +/* 00416BBC 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00416BC0 356C0017 */ ori $t4, $t3, 0x17 +/* 00416BC4 A04C0005 */ sb $t4, 5($v0) +/* 00416BC8 8D0F0000 */ lw $t7, ($t0) +/* 00416BCC 8CED0000 */ lw $t5, ($a3) +/* 00416BD0 97B8002A */ lhu $t8, 0x2a($sp) +/* 00416BD4 000F7100 */ sll $t6, $t7, 4 +/* 00416BD8 01AE1021 */ addu $v0, $t5, $t6 +/* 00416BDC 9449FFF6 */ lhu $t1, -0xa($v0) +/* 00416BE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416BE4 34213FFF */ ori $at, $at, 0x3fff +/* 00416BE8 0009CD80 */ sll $t9, $t1, 0x16 +/* 00416BEC 00195DC2 */ srl $t3, $t9, 0x17 +/* 00416BF0 030B6026 */ xor $t4, $t8, $t3 +/* 00416BF4 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00416BF8 000F6D82 */ srl $t5, $t7, 0x16 +/* 00416BFC 01A97026 */ xor $t6, $t5, $t1 +/* 00416C00 A44E0006 */ sh $t6, 6($v0) +/* 00416C04 8D180000 */ lw $t8, ($t0) +/* 00416C08 8CF90000 */ lw $t9, ($a3) +/* 00416C0C 00185900 */ sll $t3, $t8, 4 +/* 00416C10 032B1021 */ addu $v0, $t9, $t3 +/* 00416C14 8C4CFFF8 */ lw $t4, -8($v0) +/* 00416C18 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416C1C 01817824 */ and $t7, $t4, $at +/* 00416C20 3C010001 */ lui $at, 1 +/* 00416C24 34214000 */ ori $at, $at, 0x4000 +/* 00416C28 01E16825 */ or $t5, $t7, $at +/* 00416C2C AC4D0008 */ sw $t5, 8($v0) +/* 00416C30 8D180000 */ lw $t8, ($t0) +/* 00416C34 8CEE0000 */ lw $t6, ($a3) +/* 00416C38 0018C900 */ sll $t9, $t8, 4 +/* 00416C3C 01D95821 */ addu $t3, $t6, $t9 +/* 00416C40 AD60FFF0 */ sw $zero, -0x10($t3) +/* 00416C44 8D0F0000 */ lw $t7, ($t0) +/* 00416C48 8CEC0000 */ lw $t4, ($a3) +/* 00416C4C 93B8002F */ lbu $t8, 0x2f($sp) +/* 00416C50 000F6900 */ sll $t5, $t7, 4 +/* 00416C54 018D1021 */ addu $v0, $t4, $t5 +/* 00416C58 8C43FFF8 */ lw $v1, -8($v0) +/* 00416C5C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416C60 00037642 */ srl $t6, $v1, 0x19 +/* 00416C64 030EC826 */ xor $t9, $t8, $t6 +/* 00416C68 00195E40 */ sll $t3, $t9, 0x19 +/* 00416C6C 01637826 */ xor $t7, $t3, $v1 +/* 00416C70 AC4F0008 */ sw $t7, 8($v0) +/* 00416C74 8D0D0000 */ lw $t5, ($t0) +/* 00416C78 8CEC0000 */ lw $t4, ($a3) +/* 00416C7C 93AE0033 */ lbu $t6, 0x33($sp) +/* 00416C80 000DC100 */ sll $t8, $t5, 4 +/* 00416C84 01981021 */ addu $v0, $t4, $t8 +/* 00416C88 8C43FFF8 */ lw $v1, -8($v0) +/* 00416C8C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416C90 0003C9C0 */ sll $t9, $v1, 7 +/* 00416C94 00195E42 */ srl $t3, $t9, 0x19 +/* 00416C98 01CB7826 */ xor $t7, $t6, $t3 +/* 00416C9C 000F6E40 */ sll $t5, $t7, 0x19 +/* 00416CA0 000D61C2 */ srl $t4, $t5, 7 +/* 00416CA4 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00416CA8 0183C026 */ xor $t8, $t4, $v1 +/* 00416CAC AC580008 */ sw $t8, 8($v0) +/* 00416CB0 8D0A0000 */ lw $t2, ($t0) +/* 00416CB4 8F390000 */ lw $t9, ($t9) +/* 00416CB8 172A0007 */ bne $t9, $t2, .L00416CD8 +/* 00416CBC 00000000 */ nop +/* 00416CC0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416CC4 0320F809 */ jalr $t9 +/* 00416CC8 00000000 */ nop +/* 00416CCC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416CD0 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00416CD4 8D0A0000 */ lw $t2, ($t0) +.L00416CD8: +/* 00416CD8 8F8B89E0 */ lw $t3, %got(debug_ugen)($gp) +/* 00416CDC 254E0001 */ addiu $t6, $t2, 1 +/* 00416CE0 AD0E0000 */ sw $t6, ($t0) +/* 00416CE4 916B0000 */ lbu $t3, ($t3) +/* 00416CE8 24060009 */ li $a2, 9 +/* 00416CEC 5160003F */ beql $t3, $zero, .L00416DEC +/* 00416CF0 8FBF0024 */ lw $ra, 0x24($sp) +/* 00416CF4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00416CF8 8F848954 */ lw $a0, %got(output)($gp) +/* 00416CFC 8F858038 */ lw $a1, %got(RO_100095DD)($gp) +/* 00416D00 24070009 */ li $a3, 9 +/* 00416D04 8C840000 */ lw $a0, ($a0) +/* 00416D08 0320F809 */ jalr $t9 +/* 00416D0C 24A595DD */ addiu $a1, %lo(RO_100095DD) # addiu $a1, $a1, -0x6a23 +/* 00416D10 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416D14 240F000A */ li $t7, 10 +/* 00416D18 AFAF0010 */ sw $t7, 0x10($sp) +/* 00416D1C 8F908954 */ lw $s0, %got(output)($gp) +/* 00416D20 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416D24 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00416D28 8E100000 */ lw $s0, ($s0) +/* 00416D2C 97A5002A */ lhu $a1, 0x2a($sp) +/* 00416D30 00003825 */ move $a3, $zero +/* 00416D34 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00416D38 0320F809 */ jalr $t9 +/* 00416D3C 02002025 */ move $a0, $s0 +/* 00416D40 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416D44 02002025 */ move $a0, $s0 +/* 00416D48 24050020 */ li $a1, 32 +/* 00416D4C 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00416D50 24060001 */ li $a2, 1 +/* 00416D54 2407000A */ li $a3, 10 +/* 00416D58 0320F809 */ jalr $t9 +/* 00416D5C 00000000 */ nop +/* 00416D60 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416D64 240D000A */ li $t5, 10 +/* 00416D68 AFAD0010 */ sw $t5, 0x10($sp) +/* 00416D6C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416D70 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416D74 02002025 */ move $a0, $s0 +/* 00416D78 93A5002F */ lbu $a1, 0x2f($sp) +/* 00416D7C 00003825 */ move $a3, $zero +/* 00416D80 0320F809 */ jalr $t9 +/* 00416D84 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416D88 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416D8C 02002025 */ move $a0, $s0 +/* 00416D90 24050020 */ li $a1, 32 +/* 00416D94 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00416D98 24060001 */ li $a2, 1 +/* 00416D9C 2407000A */ li $a3, 10 +/* 00416DA0 0320F809 */ jalr $t9 +/* 00416DA4 00000000 */ nop +/* 00416DA8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416DAC 240C000A */ li $t4, 10 +/* 00416DB0 AFAC0010 */ sw $t4, 0x10($sp) +/* 00416DB4 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416DB8 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00416DBC 02002025 */ move $a0, $s0 +/* 00416DC0 93A50033 */ lbu $a1, 0x33($sp) +/* 00416DC4 00003825 */ move $a3, $zero +/* 00416DC8 0320F809 */ jalr $t9 +/* 00416DCC 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00416DD0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416DD4 02002025 */ move $a0, $s0 +/* 00416DD8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00416DDC 0320F809 */ jalr $t9 +/* 00416DE0 00000000 */ nop +/* 00416DE4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416DE8 8FBF0024 */ lw $ra, 0x24($sp) +.L00416DEC: +/* 00416DEC 8FB0001C */ lw $s0, 0x1c($sp) +/* 00416DF0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00416DF4 03E00008 */ jr $ra +/* 00416DF8 00000000 */ nop + .type emit_rr, @function + .size emit_rr, .-emit_rr + .end emit_rr + +glabel emit_a + .ent emit_a + # 0042BDAC eval +/* 00416DFC 3C1C0FC1 */ .cpload $t9 +/* 00416E00 279C8C54 */ +/* 00416E04 0399E021 */ +/* 00416E08 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00416E0C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00416E10 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00416E14 8D0F0000 */ lw $t7, ($t0) +/* 00416E18 8C6E0000 */ lw $t6, ($v1) +/* 00416E1C AFBF0024 */ sw $ra, 0x24($sp) +/* 00416E20 000FC100 */ sll $t8, $t7, 4 +/* 00416E24 AFBC0020 */ sw $gp, 0x20($sp) +/* 00416E28 AFA40030 */ sw $a0, 0x30($sp) +/* 00416E2C AFA60038 */ sw $a2, 0x38($sp) +/* 00416E30 AFA7003C */ sw $a3, 0x3c($sp) +/* 00416E34 01D81021 */ addu $v0, $t6, $t8 +/* 00416E38 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00416E3C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416E40 3C01FFFC */ lui $at, 0xfffc +/* 00416E44 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 00416E48 358D0017 */ ori $t5, $t4, 0x17 +/* 00416E4C A04D0005 */ sb $t5, 5($v0) +/* 00416E50 8D0E0000 */ lw $t6, ($t0) +/* 00416E54 8C6F0000 */ lw $t7, ($v1) +/* 00416E58 97B90032 */ lhu $t9, 0x32($sp) +/* 00416E5C 000EC100 */ sll $t8, $t6, 4 +/* 00416E60 01F81021 */ addu $v0, $t7, $t8 +/* 00416E64 9449FFF6 */ lhu $t1, -0xa($v0) +/* 00416E68 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416E6C 34213FFF */ ori $at, $at, 0x3fff +/* 00416E70 00096580 */ sll $t4, $t1, 0x16 +/* 00416E74 000C6DC2 */ srl $t5, $t4, 0x17 +/* 00416E78 032D7026 */ xor $t6, $t9, $t5 +/* 00416E7C 000E7DC0 */ sll $t7, $t6, 0x17 +/* 00416E80 000FC582 */ srl $t8, $t7, 0x16 +/* 00416E84 03096026 */ xor $t4, $t8, $t1 +/* 00416E88 A44C0006 */ sh $t4, 6($v0) +/* 00416E8C 8D0D0000 */ lw $t5, ($t0) +/* 00416E90 8C790000 */ lw $t9, ($v1) +/* 00416E94 000D7100 */ sll $t6, $t5, 4 +/* 00416E98 032E1021 */ addu $v0, $t9, $t6 +/* 00416E9C 8C4FFFF8 */ lw $t7, -8($v0) +/* 00416EA0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416EA4 01E1C024 */ and $t8, $t7, $at +/* 00416EA8 3C010001 */ lui $at, 1 +/* 00416EAC 34218000 */ ori $at, $at, 0x8000 +/* 00416EB0 03016025 */ or $t4, $t8, $at +/* 00416EB4 AC4C0008 */ sw $t4, 8($v0) +/* 00416EB8 8D190000 */ lw $t9, ($t0) +/* 00416EBC 8C6D0000 */ lw $t5, ($v1) +/* 00416EC0 3C0101FF */ lui $at, 0x1ff +/* 00416EC4 00197100 */ sll $t6, $t9, 4 +/* 00416EC8 01AE7821 */ addu $t7, $t5, $t6 +/* 00416ECC ADE5FFF0 */ sw $a1, -0x10($t7) +/* 00416ED0 8D190000 */ lw $t9, ($t0) +/* 00416ED4 8C6C0000 */ lw $t4, ($v1) +/* 00416ED8 8FB80038 */ lw $t8, 0x38($sp) +/* 00416EDC 00196900 */ sll $t5, $t9, 4 +/* 00416EE0 018D7021 */ addu $t6, $t4, $t5 +/* 00416EE4 ADD8FFFC */ sw $t8, -4($t6) +/* 00416EE8 8D190000 */ lw $t9, ($t0) +/* 00416EEC 8C6F0000 */ lw $t7, ($v1) +/* 00416EF0 3421FFFF */ ori $at, $at, 0xffff +/* 00416EF4 00196100 */ sll $t4, $t9, 4 +/* 00416EF8 01EC1021 */ addu $v0, $t7, $t4 +/* 00416EFC 8C4DFFF8 */ lw $t5, -8($v0) +/* 00416F00 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416F04 01A1C024 */ and $t8, $t5, $at +/* 00416F08 3C019000 */ lui $at, 0x9000 +/* 00416F0C 03017025 */ or $t6, $t8, $at +/* 00416F10 AC4E0008 */ sw $t6, 8($v0) +/* 00416F14 8D0F0000 */ lw $t7, ($t0) +/* 00416F18 8C790000 */ lw $t9, ($v1) +/* 00416F1C 3C01FE03 */ lui $at, 0xfe03 +/* 00416F20 000F6100 */ sll $t4, $t7, 4 +/* 00416F24 032C1021 */ addu $v0, $t9, $t4 +/* 00416F28 8C4DFFF8 */ lw $t5, -8($v0) +/* 00416F2C 3421FFFF */ ori $at, $at, 0xffff +/* 00416F30 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416F34 01A1C024 */ and $t8, $t5, $at +/* 00416F38 3C010120 */ lui $at, 0x120 +/* 00416F3C 03017025 */ or $t6, $t8, $at +/* 00416F40 AC4E0008 */ sw $t6, 8($v0) +/* 00416F44 8D190000 */ lw $t9, ($t0) +/* 00416F48 8C6F0000 */ lw $t7, ($v1) +/* 00416F4C 00196100 */ sll $t4, $t9, 4 +/* 00416F50 01EC1021 */ addu $v0, $t7, $t4 +/* 00416F54 8C4AFFF4 */ lw $t2, -0xc($v0) +/* 00416F58 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00416F5C 000A69C0 */ sll $t5, $t2, 7 +/* 00416F60 000DC742 */ srl $t8, $t5, 0x1d +/* 00416F64 00F87026 */ xor $t6, $a3, $t8 +/* 00416F68 000ECF40 */ sll $t9, $t6, 0x1d +/* 00416F6C 001979C2 */ srl $t7, $t9, 7 +/* 00416F70 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 00416F74 01EA6026 */ xor $t4, $t7, $t2 +/* 00416F78 AC4C0004 */ sw $t4, 4($v0) +/* 00416F7C 8D0B0000 */ lw $t3, ($t0) +/* 00416F80 8DAD0000 */ lw $t5, ($t5) +/* 00416F84 15AB0007 */ bne $t5, $t3, .L00416FA4 +/* 00416F88 00000000 */ nop +/* 00416F8C 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00416F90 0320F809 */ jalr $t9 +/* 00416F94 00000000 */ nop +/* 00416F98 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416F9C 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00416FA0 8D0B0000 */ lw $t3, ($t0) +.L00416FA4: +/* 00416FA4 8F9989E0 */ lw $t9, %got(debug_ugen)($gp) +/* 00416FA8 25780001 */ addiu $t8, $t3, 1 +/* 00416FAC AD180000 */ sw $t8, ($t0) +/* 00416FB0 93390000 */ lbu $t9, ($t9) +/* 00416FB4 8F818A94 */ lw $at, %got(has_calls)($gp) +/* 00416FB8 240E0001 */ li $t6, 1 +/* 00416FBC 13200023 */ beqz $t9, .L0041704C +/* 00416FC0 A02E0000 */ sb $t6, ($at) +/* 00416FC4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00416FC8 8F848954 */ lw $a0, %got(output)($gp) +/* 00416FCC 8F858038 */ lw $a1, %got(RO_100095E6)($gp) +/* 00416FD0 24060008 */ li $a2, 8 +/* 00416FD4 24070008 */ li $a3, 8 +/* 00416FD8 8C840000 */ lw $a0, ($a0) +/* 00416FDC 0320F809 */ jalr $t9 +/* 00416FE0 24A595E6 */ addiu $a1, %lo(RO_100095E6) # addiu $a1, $a1, -0x6a1a +/* 00416FE4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00416FE8 240F000A */ li $t7, 10 +/* 00416FEC AFAF0010 */ sw $t7, 0x10($sp) +/* 00416FF0 8F848954 */ lw $a0, %got(output)($gp) +/* 00416FF4 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00416FF8 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00416FFC 8C840000 */ lw $a0, ($a0) +/* 00417000 97A50032 */ lhu $a1, 0x32($sp) +/* 00417004 00003825 */ move $a3, $zero +/* 00417008 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 0041700C 0320F809 */ jalr $t9 +/* 00417010 AFA40028 */ sw $a0, 0x28($sp) +/* 00417014 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417018 8FA40028 */ lw $a0, 0x28($sp) +/* 0041701C 8FA50038 */ lw $a1, 0x38($sp) +/* 00417020 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00417024 2406000C */ li $a2, 12 +/* 00417028 2407000A */ li $a3, 10 +/* 0041702C 0320F809 */ jalr $t9 +/* 00417030 00000000 */ nop +/* 00417034 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417038 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0041703C 8F848954 */ lw $a0, %got(output)($gp) +/* 00417040 0320F809 */ jalr $t9 +/* 00417044 8C840000 */ lw $a0, ($a0) +/* 00417048 8FBC0020 */ lw $gp, 0x20($sp) +.L0041704C: +/* 0041704C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00417050 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00417054 03E00008 */ jr $ra +/* 00417058 00000000 */ nop + .type emit_a, @function + .size emit_a, .-emit_a + .end emit_a + +glabel emit_r + .ent emit_r + # 00420810 gen_entry_exit + # 0042BDAC eval +/* 0041705C 3C1C0FC1 */ .cpload $t9 +/* 00417060 279C89F4 */ +/* 00417064 0399E021 */ +/* 00417068 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 0041706C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00417070 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00417074 8CCF0000 */ lw $t7, ($a2) +/* 00417078 8C6E0000 */ lw $t6, ($v1) +/* 0041707C AFBF0024 */ sw $ra, 0x24($sp) +/* 00417080 000FC100 */ sll $t8, $t7, 4 +/* 00417084 AFBC0020 */ sw $gp, 0x20($sp) +/* 00417088 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041708C AFA40028 */ sw $a0, 0x28($sp) +/* 00417090 AFA5002C */ sw $a1, 0x2c($sp) +/* 00417094 01D81021 */ addu $v0, $t6, $t8 +/* 00417098 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041709C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004170A0 3C01FFFC */ lui $at, 0xfffc +/* 004170A4 332AFFC0 */ andi $t2, $t9, 0xffc0 +/* 004170A8 354B0017 */ ori $t3, $t2, 0x17 +/* 004170AC A04B0005 */ sb $t3, 5($v0) +/* 004170B0 8CCD0000 */ lw $t5, ($a2) +/* 004170B4 8C6C0000 */ lw $t4, ($v1) +/* 004170B8 97AE002A */ lhu $t6, 0x2a($sp) +/* 004170BC 000D7900 */ sll $t7, $t5, 4 +/* 004170C0 018F1021 */ addu $v0, $t4, $t7 +/* 004170C4 9447FFF6 */ lhu $a3, -0xa($v0) +/* 004170C8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004170CC 34213FFF */ ori $at, $at, 0x3fff +/* 004170D0 0007C580 */ sll $t8, $a3, 0x16 +/* 004170D4 0018CDC2 */ srl $t9, $t8, 0x17 +/* 004170D8 01D95026 */ xor $t2, $t6, $t9 +/* 004170DC 000A5DC0 */ sll $t3, $t2, 0x17 +/* 004170E0 000B6D82 */ srl $t5, $t3, 0x16 +/* 004170E4 01A76026 */ xor $t4, $t5, $a3 +/* 004170E8 A44C0006 */ sh $t4, 6($v0) +/* 004170EC 8CD80000 */ lw $t8, ($a2) +/* 004170F0 8C6F0000 */ lw $t7, ($v1) +/* 004170F4 00187100 */ sll $t6, $t8, 4 +/* 004170F8 01EE1021 */ addu $v0, $t7, $t6 +/* 004170FC 8C59FFF8 */ lw $t9, -8($v0) +/* 00417100 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417104 03215024 */ and $t2, $t9, $at +/* 00417108 3C010001 */ lui $at, 1 +/* 0041710C 3421C000 */ ori $at, $at, 0xc000 +/* 00417110 01415825 */ or $t3, $t2, $at +/* 00417114 AC4B0008 */ sw $t3, 8($v0) +/* 00417118 8CCC0000 */ lw $t4, ($a2) +/* 0041711C 8C6D0000 */ lw $t5, ($v1) +/* 00417120 93AF002F */ lbu $t7, 0x2f($sp) +/* 00417124 000CC100 */ sll $t8, $t4, 4 +/* 00417128 01B81021 */ addu $v0, $t5, $t8 +/* 0041712C 8C48FFF8 */ lw $t0, -8($v0) +/* 00417130 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417134 3C01FE03 */ lui $at, 0xfe03 +/* 00417138 00087642 */ srl $t6, $t0, 0x19 +/* 0041713C 01EEC826 */ xor $t9, $t7, $t6 +/* 00417140 00195640 */ sll $t2, $t9, 0x19 +/* 00417144 01485826 */ xor $t3, $t2, $t0 +/* 00417148 AC4B0008 */ sw $t3, 8($v0) +/* 0041714C 8CCD0000 */ lw $t5, ($a2) +/* 00417150 8C6C0000 */ lw $t4, ($v1) +/* 00417154 3421FFFF */ ori $at, $at, 0xffff +/* 00417158 000DC100 */ sll $t8, $t5, 4 +/* 0041715C 01981021 */ addu $v0, $t4, $t8 +/* 00417160 8C4FFFF8 */ lw $t7, -8($v0) +/* 00417164 8F988984 */ lw $t8, %got(d_ptr)($gp) +/* 00417168 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041716C 01E17024 */ and $t6, $t7, $at +/* 00417170 3C010120 */ lui $at, 0x120 +/* 00417174 01C1C825 */ or $t9, $t6, $at +/* 00417178 AC590008 */ sw $t9, 8($v0) +/* 0041717C 8CCB0000 */ lw $t3, ($a2) +/* 00417180 8C6A0000 */ lw $t2, ($v1) +/* 00417184 000B6900 */ sll $t5, $t3, 4 +/* 00417188 014D6021 */ addu $t4, $t2, $t5 +/* 0041718C AD80FFF0 */ sw $zero, -0x10($t4) +/* 00417190 8CC90000 */ lw $t1, ($a2) +/* 00417194 8F180000 */ lw $t8, ($t8) +/* 00417198 57090008 */ bnel $t8, $t1, .L004171BC +/* 0041719C 97AE002A */ lhu $t6, 0x2a($sp) +/* 004171A0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004171A4 0320F809 */ jalr $t9 +/* 004171A8 00000000 */ nop +/* 004171AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004171B0 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 004171B4 8CC90000 */ lw $t1, ($a2) +/* 004171B8 97AE002A */ lhu $t6, 0x2a($sp) +.L004171BC: +/* 004171BC 252F0001 */ addiu $t7, $t1, 1 +/* 004171C0 24010023 */ li $at, 35 +/* 004171C4 15C10004 */ bne $t6, $at, .L004171D8 +/* 004171C8 ACCF0000 */ sw $t7, ($a2) +/* 004171CC 8F818A94 */ lw $at, %got(has_calls)($gp) +/* 004171D0 24190001 */ li $t9, 1 +/* 004171D4 A0390000 */ sb $t9, ($at) +.L004171D8: +/* 004171D8 8F8B89E0 */ lw $t3, %got(debug_ugen)($gp) +/* 004171DC 24060008 */ li $a2, 8 +/* 004171E0 916B0000 */ lbu $t3, ($t3) +/* 004171E4 5160002D */ beql $t3, $zero, .L0041729C +/* 004171E8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004171EC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004171F0 8F848954 */ lw $a0, %got(output)($gp) +/* 004171F4 8F858038 */ lw $a1, %got(RO_100095EE)($gp) +/* 004171F8 24070008 */ li $a3, 8 +/* 004171FC 8C840000 */ lw $a0, ($a0) +/* 00417200 0320F809 */ jalr $t9 +/* 00417204 24A595EE */ addiu $a1, %lo(RO_100095EE) # addiu $a1, $a1, -0x6a12 +/* 00417208 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041720C 240A000A */ li $t2, 10 +/* 00417210 AFAA0010 */ sw $t2, 0x10($sp) +/* 00417214 8F908954 */ lw $s0, %got(output)($gp) +/* 00417218 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0041721C 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00417220 8E100000 */ lw $s0, ($s0) +/* 00417224 97A5002A */ lhu $a1, 0x2a($sp) +/* 00417228 00003825 */ move $a3, $zero +/* 0041722C 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00417230 0320F809 */ jalr $t9 +/* 00417234 02002025 */ move $a0, $s0 +/* 00417238 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041723C 02002025 */ move $a0, $s0 +/* 00417240 24050020 */ li $a1, 32 +/* 00417244 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00417248 24060001 */ li $a2, 1 +/* 0041724C 2407000A */ li $a3, 10 +/* 00417250 0320F809 */ jalr $t9 +/* 00417254 00000000 */ nop +/* 00417258 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041725C 240D000A */ li $t5, 10 +/* 00417260 AFAD0010 */ sw $t5, 0x10($sp) +/* 00417264 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417268 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041726C 02002025 */ move $a0, $s0 +/* 00417270 93A5002F */ lbu $a1, 0x2f($sp) +/* 00417274 00003825 */ move $a3, $zero +/* 00417278 0320F809 */ jalr $t9 +/* 0041727C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00417280 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417284 02002025 */ move $a0, $s0 +/* 00417288 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0041728C 0320F809 */ jalr $t9 +/* 00417290 00000000 */ nop +/* 00417294 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417298 8FBF0024 */ lw $ra, 0x24($sp) +.L0041729C: +/* 0041729C 8FB0001C */ lw $s0, 0x1c($sp) +/* 004172A0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004172A4 03E00008 */ jr $ra +/* 004172A8 00000000 */ nop + .type emit_r, @function + .size emit_r, .-emit_r + .end emit_r + +glabel emit_i + .ent emit_i + # 00424240 trap + # 0042BDAC eval + # 004340D4 func_004340D4 +/* 004172AC 3C1C0FC1 */ .cpload $t9 +/* 004172B0 279C87A4 */ +/* 004172B4 0399E021 */ +/* 004172B8 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 004172BC 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 004172C0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004172C4 8CCF0000 */ lw $t7, ($a2) +/* 004172C8 8C6E0000 */ lw $t6, ($v1) +/* 004172CC AFBF0024 */ sw $ra, 0x24($sp) +/* 004172D0 000FC100 */ sll $t8, $t7, 4 +/* 004172D4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004172D8 AFA40030 */ sw $a0, 0x30($sp) +/* 004172DC AFA50034 */ sw $a1, 0x34($sp) +/* 004172E0 01D81021 */ addu $v0, $t6, $t8 +/* 004172E4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004172E8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004172EC 3C01FFFC */ lui $at, 0xfffc +/* 004172F0 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 004172F4 352A0017 */ ori $t2, $t1, 0x17 +/* 004172F8 A04A0005 */ sb $t2, 5($v0) +/* 004172FC 8CCC0000 */ lw $t4, ($a2) +/* 00417300 8C6B0000 */ lw $t3, ($v1) +/* 00417304 97AF0032 */ lhu $t7, 0x32($sp) +/* 00417308 000C6900 */ sll $t5, $t4, 4 +/* 0041730C 016D1021 */ addu $v0, $t3, $t5 +/* 00417310 9447FFF6 */ lhu $a3, -0xa($v0) +/* 00417314 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417318 34213FFF */ ori $at, $at, 0x3fff +/* 0041731C 00077580 */ sll $t6, $a3, 0x16 +/* 00417320 000EC5C2 */ srl $t8, $t6, 0x17 +/* 00417324 01F8C826 */ xor $t9, $t7, $t8 +/* 00417328 00194DC0 */ sll $t1, $t9, 0x17 +/* 0041732C 00095582 */ srl $t2, $t1, 0x16 +/* 00417330 01476026 */ xor $t4, $t2, $a3 +/* 00417334 A44C0006 */ sh $t4, 6($v0) +/* 00417338 8CCD0000 */ lw $t5, ($a2) +/* 0041733C 8C6B0000 */ lw $t3, ($v1) +/* 00417340 000D7100 */ sll $t6, $t5, 4 +/* 00417344 016E1021 */ addu $v0, $t3, $t6 +/* 00417348 8C4FFFF8 */ lw $t7, -8($v0) +/* 0041734C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417350 01E1C024 */ and $t8, $t7, $at +/* 00417354 3C010003 */ lui $at, 3 +/* 00417358 34214000 */ ori $at, $at, 0x4000 +/* 0041735C 0301C825 */ or $t9, $t8, $at +/* 00417360 AC590008 */ sw $t9, 8($v0) +/* 00417364 8CCC0000 */ lw $t4, ($a2) +/* 00417368 8C6A0000 */ lw $t2, ($v1) +/* 0041736C 8FA90034 */ lw $t1, 0x34($sp) +/* 00417370 000C6900 */ sll $t5, $t4, 4 +/* 00417374 014D5821 */ addu $t3, $t2, $t5 +/* 00417378 AD69FFFC */ sw $t1, -4($t3) +/* 0041737C 8CCF0000 */ lw $t7, ($a2) +/* 00417380 8C6E0000 */ lw $t6, ($v1) +/* 00417384 3C0101FF */ lui $at, 0x1ff +/* 00417388 000FC100 */ sll $t8, $t7, 4 +/* 0041738C 01D81021 */ addu $v0, $t6, $t8 +/* 00417390 8C59FFF8 */ lw $t9, -8($v0) +/* 00417394 3421FFFF */ ori $at, $at, 0xffff +/* 00417398 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041739C 03216024 */ and $t4, $t9, $at +/* 004173A0 3C019000 */ lui $at, 0x9000 +/* 004173A4 01815025 */ or $t2, $t4, $at +/* 004173A8 AC4A0008 */ sw $t2, 8($v0) +/* 004173AC 8CC90000 */ lw $t1, ($a2) +/* 004173B0 8C6D0000 */ lw $t5, ($v1) +/* 004173B4 3C01FE03 */ lui $at, 0xfe03 +/* 004173B8 00095900 */ sll $t3, $t1, 4 +/* 004173BC 01AB1021 */ addu $v0, $t5, $t3 +/* 004173C0 8C4FFFF8 */ lw $t7, -8($v0) +/* 004173C4 3421FFFF */ ori $at, $at, 0xffff +/* 004173C8 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 004173CC 01E17024 */ and $t6, $t7, $at +/* 004173D0 3C010120 */ lui $at, 0x120 +/* 004173D4 01C1C025 */ or $t8, $t6, $at +/* 004173D8 AC58FFF8 */ sw $t8, -8($v0) +/* 004173DC 8CCC0000 */ lw $t4, ($a2) +/* 004173E0 8C790000 */ lw $t9, ($v1) +/* 004173E4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004173E8 000C5100 */ sll $t2, $t4, 4 +/* 004173EC 032A4821 */ addu $t1, $t9, $t2 +/* 004173F0 AD20FFF0 */ sw $zero, -0x10($t1) +/* 004173F4 8CC80000 */ lw $t0, ($a2) +/* 004173F8 8DAD0000 */ lw $t5, ($t5) +/* 004173FC 15A80007 */ bne $t5, $t0, .L0041741C +/* 00417400 00000000 */ nop +/* 00417404 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00417408 0320F809 */ jalr $t9 +/* 0041740C 00000000 */ nop +/* 00417410 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417414 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 00417418 8CC80000 */ lw $t0, ($a2) +.L0041741C: +/* 0041741C 8F8F89E0 */ lw $t7, %got(debug_ugen)($gp) +/* 00417420 250B0001 */ addiu $t3, $t0, 1 +/* 00417424 ACCB0000 */ sw $t3, ($a2) +/* 00417428 91EF0000 */ lbu $t7, ($t7) +/* 0041742C 24060008 */ li $a2, 8 +/* 00417430 51E00023 */ beql $t7, $zero, .L004174C0 +/* 00417434 8FBF0024 */ lw $ra, 0x24($sp) +/* 00417438 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0041743C 8F848954 */ lw $a0, %got(output)($gp) +/* 00417440 8F858038 */ lw $a1, %got(RO_100095F6)($gp) +/* 00417444 24070008 */ li $a3, 8 +/* 00417448 8C840000 */ lw $a0, ($a0) +/* 0041744C 0320F809 */ jalr $t9 +/* 00417450 24A595F6 */ addiu $a1, %lo(RO_100095F6) # addiu $a1, $a1, -0x6a0a +/* 00417454 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417458 240E000A */ li $t6, 10 +/* 0041745C AFAE0010 */ sw $t6, 0x10($sp) +/* 00417460 8F848954 */ lw $a0, %got(output)($gp) +/* 00417464 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417468 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 0041746C 8C840000 */ lw $a0, ($a0) +/* 00417470 97A50032 */ lhu $a1, 0x32($sp) +/* 00417474 00003825 */ move $a3, $zero +/* 00417478 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 0041747C 0320F809 */ jalr $t9 +/* 00417480 AFA40028 */ sw $a0, 0x28($sp) +/* 00417484 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417488 8FA40028 */ lw $a0, 0x28($sp) +/* 0041748C 8FA50034 */ lw $a1, 0x34($sp) +/* 00417490 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00417494 2406000C */ li $a2, 12 +/* 00417498 2407000A */ li $a3, 10 +/* 0041749C 0320F809 */ jalr $t9 +/* 004174A0 00000000 */ nop +/* 004174A4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004174A8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004174AC 8F848954 */ lw $a0, %got(output)($gp) +/* 004174B0 0320F809 */ jalr $t9 +/* 004174B4 8C840000 */ lw $a0, ($a0) +/* 004174B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004174BC 8FBF0024 */ lw $ra, 0x24($sp) +.L004174C0: +/* 004174C0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 004174C4 03E00008 */ jr $ra +/* 004174C8 00000000 */ nop + .type emit_i, @function + .size emit_i, .-emit_i + .end emit_i + +glabel emit_rrl + .ent emit_rrl +/* 004174CC 3C1C0FC1 */ .cpload $t9 +/* 004174D0 279C8584 */ +/* 004174D4 0399E021 */ +/* 004174D8 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 004174DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 004174E0 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 004174E4 8D2F0000 */ lw $t7, ($t1) +/* 004174E8 AFBF0024 */ sw $ra, 0x24($sp) +/* 004174EC 8D0E0000 */ lw $t6, ($t0) +/* 004174F0 000FC100 */ sll $t8, $t7, 4 +/* 004174F4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004174F8 AFB0001C */ sw $s0, 0x1c($sp) +/* 004174FC AFA40028 */ sw $a0, 0x28($sp) +/* 00417500 AFA5002C */ sw $a1, 0x2c($sp) +/* 00417504 AFA60030 */ sw $a2, 0x30($sp) +/* 00417508 AFA70034 */ sw $a3, 0x34($sp) +/* 0041750C 01D81021 */ addu $v0, $t6, $t8 +/* 00417510 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00417514 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417518 3C01FFFC */ lui $at, 0xfffc +/* 0041751C 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 00417520 358D0017 */ ori $t5, $t4, 0x17 +/* 00417524 A04D0005 */ sb $t5, 5($v0) +/* 00417528 8D2E0000 */ lw $t6, ($t1) +/* 0041752C 8D0F0000 */ lw $t7, ($t0) +/* 00417530 97B9002A */ lhu $t9, 0x2a($sp) +/* 00417534 000EC100 */ sll $t8, $t6, 4 +/* 00417538 01F81021 */ addu $v0, $t7, $t8 +/* 0041753C 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00417540 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417544 34213FFF */ ori $at, $at, 0x3fff +/* 00417548 000A6580 */ sll $t4, $t2, 0x16 +/* 0041754C 000C6DC2 */ srl $t5, $t4, 0x17 +/* 00417550 032D7026 */ xor $t6, $t9, $t5 +/* 00417554 000E7DC0 */ sll $t7, $t6, 0x17 +/* 00417558 000FC582 */ srl $t8, $t7, 0x16 +/* 0041755C 030A6026 */ xor $t4, $t8, $t2 +/* 00417560 A44C0006 */ sh $t4, 6($v0) +/* 00417564 8D2D0000 */ lw $t5, ($t1) +/* 00417568 8D190000 */ lw $t9, ($t0) +/* 0041756C 000D7100 */ sll $t6, $t5, 4 +/* 00417570 032E1021 */ addu $v0, $t9, $t6 +/* 00417574 8C4FFFF8 */ lw $t7, -8($v0) +/* 00417578 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041757C 01E1C024 */ and $t8, $t7, $at +/* 00417580 3C010002 */ lui $at, 2 +/* 00417584 03016025 */ or $t4, $t8, $at +/* 00417588 AC4C0008 */ sw $t4, 8($v0) +/* 0041758C 8D390000 */ lw $t9, ($t1) +/* 00417590 8D0D0000 */ lw $t5, ($t0) +/* 00417594 93AF002F */ lbu $t7, 0x2f($sp) +/* 00417598 00197100 */ sll $t6, $t9, 4 +/* 0041759C 01AE1021 */ addu $v0, $t5, $t6 +/* 004175A0 8C43FFF8 */ lw $v1, -8($v0) +/* 004175A4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004175A8 0003C642 */ srl $t8, $v1, 0x19 +/* 004175AC 01F86026 */ xor $t4, $t7, $t8 +/* 004175B0 000CCE40 */ sll $t9, $t4, 0x19 +/* 004175B4 03236826 */ xor $t5, $t9, $v1 +/* 004175B8 AC4D0008 */ sw $t5, 8($v0) +/* 004175BC 8D2F0000 */ lw $t7, ($t1) +/* 004175C0 8D0E0000 */ lw $t6, ($t0) +/* 004175C4 93AC0033 */ lbu $t4, 0x33($sp) +/* 004175C8 000FC100 */ sll $t8, $t7, 4 +/* 004175CC 01D81021 */ addu $v0, $t6, $t8 +/* 004175D0 8C43FFF8 */ lw $v1, -8($v0) +/* 004175D4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004175D8 0003C9C0 */ sll $t9, $v1, 7 +/* 004175DC 00196E42 */ srl $t5, $t9, 0x19 +/* 004175E0 018D7826 */ xor $t7, $t4, $t5 +/* 004175E4 000F7640 */ sll $t6, $t7, 0x19 +/* 004175E8 000EC1C2 */ srl $t8, $t6, 7 +/* 004175EC 0303C826 */ xor $t9, $t8, $v1 +/* 004175F0 AC590008 */ sw $t9, 8($v0) +/* 004175F4 8D2F0000 */ lw $t7, ($t1) +/* 004175F8 8D0D0000 */ lw $t5, ($t0) +/* 004175FC 8FAC0034 */ lw $t4, 0x34($sp) +/* 00417600 000F7100 */ sll $t6, $t7, 4 +/* 00417604 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00417608 01AEC021 */ addu $t8, $t5, $t6 +/* 0041760C AF0CFFF0 */ sw $t4, -0x10($t8) +/* 00417610 8D2B0000 */ lw $t3, ($t1) +/* 00417614 8F390000 */ lw $t9, ($t9) +/* 00417618 172B0007 */ bne $t9, $t3, .L00417638 +/* 0041761C 00000000 */ nop +/* 00417620 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00417624 0320F809 */ jalr $t9 +/* 00417628 00000000 */ nop +/* 0041762C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417630 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00417634 8D2B0000 */ lw $t3, ($t1) +.L00417638: +/* 00417638 8F8D89E0 */ lw $t5, %got(debug_ugen)($gp) +/* 0041763C 256F0001 */ addiu $t7, $t3, 1 +/* 00417640 AD2F0000 */ sw $t7, ($t1) +/* 00417644 91AD0000 */ lbu $t5, ($t5) +/* 00417648 2406000A */ li $a2, 10 +/* 0041764C 51A00047 */ beql $t5, $zero, .L0041776C +/* 00417650 8FBF0024 */ lw $ra, 0x24($sp) +/* 00417654 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00417658 8F848954 */ lw $a0, %got(output)($gp) +/* 0041765C 8F858038 */ lw $a1, %got(RO_100095FE)($gp) +/* 00417660 2407000A */ li $a3, 10 +/* 00417664 8C840000 */ lw $a0, ($a0) +/* 00417668 0320F809 */ jalr $t9 +/* 0041766C 24A595FE */ addiu $a1, %lo(RO_100095FE) # addiu $a1, $a1, -0x6a02 +/* 00417670 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417674 240E000A */ li $t6, 10 +/* 00417678 AFAE0010 */ sw $t6, 0x10($sp) +/* 0041767C 8F908954 */ lw $s0, %got(output)($gp) +/* 00417680 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417684 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00417688 8E100000 */ lw $s0, ($s0) +/* 0041768C 97A5002A */ lhu $a1, 0x2a($sp) +/* 00417690 00003825 */ move $a3, $zero +/* 00417694 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00417698 0320F809 */ jalr $t9 +/* 0041769C 02002025 */ move $a0, $s0 +/* 004176A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004176A4 02002025 */ move $a0, $s0 +/* 004176A8 24050020 */ li $a1, 32 +/* 004176AC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004176B0 24060001 */ li $a2, 1 +/* 004176B4 2407000A */ li $a3, 10 +/* 004176B8 0320F809 */ jalr $t9 +/* 004176BC 00000000 */ nop +/* 004176C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004176C4 240C000A */ li $t4, 10 +/* 004176C8 AFAC0010 */ sw $t4, 0x10($sp) +/* 004176CC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004176D0 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004176D4 02002025 */ move $a0, $s0 +/* 004176D8 93A5002F */ lbu $a1, 0x2f($sp) +/* 004176DC 00003825 */ move $a3, $zero +/* 004176E0 0320F809 */ jalr $t9 +/* 004176E4 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004176E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004176EC 02002025 */ move $a0, $s0 +/* 004176F0 24050020 */ li $a1, 32 +/* 004176F4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004176F8 24060001 */ li $a2, 1 +/* 004176FC 2407000A */ li $a3, 10 +/* 00417700 0320F809 */ jalr $t9 +/* 00417704 00000000 */ nop +/* 00417708 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041770C 2418000A */ li $t8, 10 +/* 00417710 AFB80010 */ sw $t8, 0x10($sp) +/* 00417714 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417718 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041771C 02002025 */ move $a0, $s0 +/* 00417720 93A50033 */ lbu $a1, 0x33($sp) +/* 00417724 00003825 */ move $a3, $zero +/* 00417728 0320F809 */ jalr $t9 +/* 0041772C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00417730 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417734 02002025 */ move $a0, $s0 +/* 00417738 8FA50034 */ lw $a1, 0x34($sp) +/* 0041773C 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00417740 2406000C */ li $a2, 12 +/* 00417744 2407000A */ li $a3, 10 +/* 00417748 0320F809 */ jalr $t9 +/* 0041774C 00000000 */ nop +/* 00417750 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417754 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00417758 8F848954 */ lw $a0, %got(output)($gp) +/* 0041775C 0320F809 */ jalr $t9 +/* 00417760 8C840000 */ lw $a0, ($a0) +/* 00417764 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417768 8FBF0024 */ lw $ra, 0x24($sp) +.L0041776C: +/* 0041776C 8FB0001C */ lw $s0, 0x1c($sp) +/* 00417770 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00417774 03E00008 */ jr $ra +/* 00417778 00000000 */ nop + .type emit_rrl, @function + .size emit_rrl, .-emit_rrl + .end emit_rrl + +glabel emit_rrll + .ent emit_rrll + # 0041AF70 func_0041AF70 + # 0041AFE4 func_0041AFE4 + # 0041B07C func_0041B07C + # 0041B1BC func_0041B1BC + # 0041B2FC func_0041B2FC + # 0041B43C func_0041B43C + # 0041B57C func_0041B57C + # 0041B6BC func_0041B6BC + # 0041B7FC func_0041B7FC + # 0041B93C func_0041B93C + # 0041BA7C emit_branch_rrll + # 0041C388 emit_branch_rill + # 0041C710 func_0041C710 + # 0041C7AC func_0041C7AC + # 0041C86C func_0041C86C + # 0041C92C func_0041C92C + # 0041C9EC func_0041C9EC + # 0041DF18 func_0041DF18 + # 0041E05C func_0041E05C + # 0041E1C0 func_0041E1C0 + # 0041E304 func_0041E304 + # 00421170 gen_entry + # 00423D28 jump + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 004340D4 func_004340D4 +/* 0041777C 3C1C0FC1 */ .cpload $t9 +/* 00417780 279C82D4 */ +/* 00417784 0399E021 */ +/* 00417788 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 0041778C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00417790 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 00417794 8D0F0000 */ lw $t7, ($t0) +/* 00417798 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041779C 8D4E0000 */ lw $t6, ($t2) +/* 004177A0 000FC100 */ sll $t8, $t7, 4 +/* 004177A4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004177A8 AFB0001C */ sw $s0, 0x1c($sp) +/* 004177AC AFA40028 */ sw $a0, 0x28($sp) +/* 004177B0 AFA5002C */ sw $a1, 0x2c($sp) +/* 004177B4 AFA60030 */ sw $a2, 0x30($sp) +/* 004177B8 AFA70034 */ sw $a3, 0x34($sp) +/* 004177BC 01D81021 */ addu $v0, $t6, $t8 +/* 004177C0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004177C4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004177C8 3C01FFFC */ lui $at, 0xfffc +/* 004177CC 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 004177D0 356C0017 */ ori $t4, $t3, 0x17 +/* 004177D4 A04C0005 */ sb $t4, 5($v0) +/* 004177D8 8D0F0000 */ lw $t7, ($t0) +/* 004177DC 8D4D0000 */ lw $t5, ($t2) +/* 004177E0 97B8002A */ lhu $t8, 0x2a($sp) +/* 004177E4 000F7100 */ sll $t6, $t7, 4 +/* 004177E8 01AE1021 */ addu $v0, $t5, $t6 +/* 004177EC 9449FFF6 */ lhu $t1, -0xa($v0) +/* 004177F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004177F4 34213FFF */ ori $at, $at, 0x3fff +/* 004177F8 0009CD80 */ sll $t9, $t1, 0x16 +/* 004177FC 00195DC2 */ srl $t3, $t9, 0x17 +/* 00417800 030B6026 */ xor $t4, $t8, $t3 +/* 00417804 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00417808 000F6D82 */ srl $t5, $t7, 0x16 +/* 0041780C 01A97026 */ xor $t6, $t5, $t1 +/* 00417810 A44E0006 */ sh $t6, 6($v0) +/* 00417814 8D180000 */ lw $t8, ($t0) +/* 00417818 8D590000 */ lw $t9, ($t2) +/* 0041781C 00185900 */ sll $t3, $t8, 4 +/* 00417820 032B1021 */ addu $v0, $t9, $t3 +/* 00417824 8C4CFFF8 */ lw $t4, -8($v0) +/* 00417828 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041782C 01817824 */ and $t7, $t4, $at +/* 00417830 3C010002 */ lui $at, 2 +/* 00417834 01E16825 */ or $t5, $t7, $at +/* 00417838 AC4D0008 */ sw $t5, 8($v0) +/* 0041783C 8D180000 */ lw $t8, ($t0) +/* 00417840 8D4E0000 */ lw $t6, ($t2) +/* 00417844 93AB002F */ lbu $t3, 0x2f($sp) +/* 00417848 0018C900 */ sll $t9, $t8, 4 +/* 0041784C 01D91021 */ addu $v0, $t6, $t9 +/* 00417850 8C43FFF8 */ lw $v1, -8($v0) +/* 00417854 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417858 00036642 */ srl $t4, $v1, 0x19 +/* 0041785C 016C7826 */ xor $t7, $t3, $t4 +/* 00417860 000F6E40 */ sll $t5, $t7, 0x19 +/* 00417864 01A3C026 */ xor $t8, $t5, $v1 +/* 00417868 AC580008 */ sw $t8, 8($v0) +/* 0041786C 8D190000 */ lw $t9, ($t0) +/* 00417870 8D4E0000 */ lw $t6, ($t2) +/* 00417874 93AC0033 */ lbu $t4, 0x33($sp) +/* 00417878 00195900 */ sll $t3, $t9, 4 +/* 0041787C 01CB1021 */ addu $v0, $t6, $t3 +/* 00417880 8C43FFF8 */ lw $v1, -8($v0) +/* 00417884 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417888 000379C0 */ sll $t7, $v1, 7 +/* 0041788C 000F6E42 */ srl $t5, $t7, 0x19 +/* 00417890 018DC026 */ xor $t8, $t4, $t5 +/* 00417894 0018CE40 */ sll $t9, $t8, 0x19 +/* 00417898 001971C2 */ srl $t6, $t9, 7 +/* 0041789C 01C35826 */ xor $t3, $t6, $v1 +/* 004178A0 AC4B0008 */ sw $t3, 8($v0) +/* 004178A4 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 004178A8 8FA40034 */ lw $a0, 0x34($sp) +/* 004178AC 0320F809 */ jalr $t9 +/* 004178B0 00000000 */ nop +/* 004178B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004178B8 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004178BC 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 004178C0 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 004178C4 8D0C0000 */ lw $t4, ($t0) +/* 004178C8 8D4F0000 */ lw $t7, ($t2) +/* 004178CC 000C6900 */ sll $t5, $t4, 4 +/* 004178D0 01EDC021 */ addu $t8, $t7, $t5 +/* 004178D4 AF02FFF0 */ sw $v0, -0x10($t8) +/* 004178D8 8D030000 */ lw $v1, ($t0) +/* 004178DC 8F390000 */ lw $t9, ($t9) +/* 004178E0 17230007 */ bne $t9, $v1, .L00417900 +/* 004178E4 00000000 */ nop +/* 004178E8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004178EC 0320F809 */ jalr $t9 +/* 004178F0 00000000 */ nop +/* 004178F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004178F8 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004178FC 8D030000 */ lw $v1, ($t0) +.L00417900: +/* 00417900 8F8B89E0 */ lw $t3, %got(debug_ugen)($gp) +/* 00417904 246E0001 */ addiu $t6, $v1, 1 +/* 00417908 AD0E0000 */ sw $t6, ($t0) +/* 0041790C 916B0000 */ lbu $t3, ($t3) +/* 00417910 2406000B */ li $a2, 11 +/* 00417914 51600047 */ beql $t3, $zero, .L00417A34 +/* 00417918 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041791C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00417920 8F848954 */ lw $a0, %got(output)($gp) +/* 00417924 8F858038 */ lw $a1, %got(RO_10009608)($gp) +/* 00417928 2407000B */ li $a3, 11 +/* 0041792C 8C840000 */ lw $a0, ($a0) +/* 00417930 0320F809 */ jalr $t9 +/* 00417934 24A59608 */ addiu $a1, %lo(RO_10009608) # addiu $a1, $a1, -0x69f8 +/* 00417938 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041793C 240C000A */ li $t4, 10 +/* 00417940 AFAC0010 */ sw $t4, 0x10($sp) +/* 00417944 8F908954 */ lw $s0, %got(output)($gp) +/* 00417948 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0041794C 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00417950 8E100000 */ lw $s0, ($s0) +/* 00417954 97A5002A */ lhu $a1, 0x2a($sp) +/* 00417958 00003825 */ move $a3, $zero +/* 0041795C 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00417960 0320F809 */ jalr $t9 +/* 00417964 02002025 */ move $a0, $s0 +/* 00417968 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041796C 02002025 */ move $a0, $s0 +/* 00417970 24050020 */ li $a1, 32 +/* 00417974 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00417978 24060001 */ li $a2, 1 +/* 0041797C 2407000A */ li $a3, 10 +/* 00417980 0320F809 */ jalr $t9 +/* 00417984 00000000 */ nop +/* 00417988 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041798C 240F000A */ li $t7, 10 +/* 00417990 AFAF0010 */ sw $t7, 0x10($sp) +/* 00417994 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417998 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041799C 02002025 */ move $a0, $s0 +/* 004179A0 93A5002F */ lbu $a1, 0x2f($sp) +/* 004179A4 00003825 */ move $a3, $zero +/* 004179A8 0320F809 */ jalr $t9 +/* 004179AC 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004179B0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004179B4 02002025 */ move $a0, $s0 +/* 004179B8 24050020 */ li $a1, 32 +/* 004179BC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004179C0 24060001 */ li $a2, 1 +/* 004179C4 2407000A */ li $a3, 10 +/* 004179C8 0320F809 */ jalr $t9 +/* 004179CC 00000000 */ nop +/* 004179D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004179D4 240D000A */ li $t5, 10 +/* 004179D8 AFAD0010 */ sw $t5, 0x10($sp) +/* 004179DC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004179E0 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 004179E4 02002025 */ move $a0, $s0 +/* 004179E8 93A50033 */ lbu $a1, 0x33($sp) +/* 004179EC 00003825 */ move $a3, $zero +/* 004179F0 0320F809 */ jalr $t9 +/* 004179F4 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004179F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004179FC 02002025 */ move $a0, $s0 +/* 00417A00 8FA50034 */ lw $a1, 0x34($sp) +/* 00417A04 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00417A08 2406000C */ li $a2, 12 +/* 00417A0C 2407000A */ li $a3, 10 +/* 00417A10 0320F809 */ jalr $t9 +/* 00417A14 00000000 */ nop +/* 00417A18 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417A1C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00417A20 8F848954 */ lw $a0, %got(output)($gp) +/* 00417A24 0320F809 */ jalr $t9 +/* 00417A28 8C840000 */ lw $a0, ($a0) +/* 00417A2C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417A30 8FBF0024 */ lw $ra, 0x24($sp) +.L00417A34: +/* 00417A34 8FB0001C */ lw $s0, 0x1c($sp) +/* 00417A38 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00417A3C 03E00008 */ jr $ra +/* 00417A40 00000000 */ nop + .type emit_rrll, @function + .size emit_rrll, .-emit_rrll + .end emit_rrll + +glabel emit_rl + .ent emit_rl +/* 00417A44 3C1C0FC1 */ .cpload $t9 +/* 00417A48 279C800C */ +/* 00417A4C 0399E021 */ +/* 00417A50 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00417A54 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00417A58 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00417A5C 8CEF0000 */ lw $t7, ($a3) +/* 00417A60 8C6E0000 */ lw $t6, ($v1) +/* 00417A64 AFBF0024 */ sw $ra, 0x24($sp) +/* 00417A68 000FC100 */ sll $t8, $t7, 4 +/* 00417A6C AFBC0020 */ sw $gp, 0x20($sp) +/* 00417A70 AFB0001C */ sw $s0, 0x1c($sp) +/* 00417A74 AFA40028 */ sw $a0, 0x28($sp) +/* 00417A78 AFA5002C */ sw $a1, 0x2c($sp) +/* 00417A7C AFA60030 */ sw $a2, 0x30($sp) +/* 00417A80 01D81021 */ addu $v0, $t6, $t8 +/* 00417A84 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00417A88 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417A8C 3C01FFFC */ lui $at, 0xfffc +/* 00417A90 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00417A94 356C0017 */ ori $t4, $t3, 0x17 +/* 00417A98 A04C0005 */ sb $t4, 5($v0) +/* 00417A9C 8CEF0000 */ lw $t7, ($a3) +/* 00417AA0 8C6D0000 */ lw $t5, ($v1) +/* 00417AA4 97B8002A */ lhu $t8, 0x2a($sp) +/* 00417AA8 000F7100 */ sll $t6, $t7, 4 +/* 00417AAC 01AE1021 */ addu $v0, $t5, $t6 +/* 00417AB0 9448FFF6 */ lhu $t0, -0xa($v0) +/* 00417AB4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417AB8 34213FFF */ ori $at, $at, 0x3fff +/* 00417ABC 0008CD80 */ sll $t9, $t0, 0x16 +/* 00417AC0 00195DC2 */ srl $t3, $t9, 0x17 +/* 00417AC4 030B6026 */ xor $t4, $t8, $t3 +/* 00417AC8 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00417ACC 000F6D82 */ srl $t5, $t7, 0x16 +/* 00417AD0 01A87026 */ xor $t6, $t5, $t0 +/* 00417AD4 A44E0006 */ sh $t6, 6($v0) +/* 00417AD8 8CF80000 */ lw $t8, ($a3) +/* 00417ADC 8C790000 */ lw $t9, ($v1) +/* 00417AE0 00185900 */ sll $t3, $t8, 4 +/* 00417AE4 032B6021 */ addu $t4, $t9, $t3 +/* 00417AE8 AD80FFFC */ sw $zero, -4($t4) +/* 00417AEC 8CED0000 */ lw $t5, ($a3) +/* 00417AF0 8C6F0000 */ lw $t7, ($v1) +/* 00417AF4 000D7100 */ sll $t6, $t5, 4 +/* 00417AF8 01EE1021 */ addu $v0, $t7, $t6 +/* 00417AFC 8C58FFF8 */ lw $t8, -8($v0) +/* 00417B00 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417B04 0301C824 */ and $t9, $t8, $at +/* 00417B08 3C010002 */ lui $at, 2 +/* 00417B0C 34214000 */ ori $at, $at, 0x4000 +/* 00417B10 03215825 */ or $t3, $t9, $at +/* 00417B14 AC4B0008 */ sw $t3, 8($v0) +/* 00417B18 8CED0000 */ lw $t5, ($a3) +/* 00417B1C 8C6C0000 */ lw $t4, ($v1) +/* 00417B20 93AE002F */ lbu $t6, 0x2f($sp) +/* 00417B24 000D7900 */ sll $t7, $t5, 4 +/* 00417B28 018F1021 */ addu $v0, $t4, $t7 +/* 00417B2C 8C49FFF8 */ lw $t1, -8($v0) +/* 00417B30 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417B34 3C01FE03 */ lui $at, 0xfe03 +/* 00417B38 0009C642 */ srl $t8, $t1, 0x19 +/* 00417B3C 01D8C826 */ xor $t9, $t6, $t8 +/* 00417B40 00195E40 */ sll $t3, $t9, 0x19 +/* 00417B44 01696826 */ xor $t5, $t3, $t1 +/* 00417B48 AC4D0008 */ sw $t5, 8($v0) +/* 00417B4C 8CEF0000 */ lw $t7, ($a3) +/* 00417B50 8C6C0000 */ lw $t4, ($v1) +/* 00417B54 3421FFFF */ ori $at, $at, 0xffff +/* 00417B58 000F7100 */ sll $t6, $t7, 4 +/* 00417B5C 018E1021 */ addu $v0, $t4, $t6 +/* 00417B60 8C58FFF8 */ lw $t8, -8($v0) +/* 00417B64 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417B68 0301C824 */ and $t9, $t8, $at +/* 00417B6C 3C010120 */ lui $at, 0x120 +/* 00417B70 03215825 */ or $t3, $t9, $at +/* 00417B74 AC4B0008 */ sw $t3, 8($v0) +/* 00417B78 8CEC0000 */ lw $t4, ($a3) +/* 00417B7C 8C6F0000 */ lw $t7, ($v1) +/* 00417B80 8FAD0030 */ lw $t5, 0x30($sp) +/* 00417B84 000C7100 */ sll $t6, $t4, 4 +/* 00417B88 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00417B8C 01EEC021 */ addu $t8, $t7, $t6 +/* 00417B90 AF0DFFF0 */ sw $t5, -0x10($t8) +/* 00417B94 8CEA0000 */ lw $t2, ($a3) +/* 00417B98 8F390000 */ lw $t9, ($t9) +/* 00417B9C 172A0007 */ bne $t9, $t2, .L00417BBC +/* 00417BA0 00000000 */ nop +/* 00417BA4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00417BA8 0320F809 */ jalr $t9 +/* 00417BAC 00000000 */ nop +/* 00417BB0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417BB4 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00417BB8 8CEA0000 */ lw $t2, ($a3) +.L00417BBC: +/* 00417BBC 8F8C89E0 */ lw $t4, %got(debug_ugen)($gp) +/* 00417BC0 254B0001 */ addiu $t3, $t2, 1 +/* 00417BC4 ACEB0000 */ sw $t3, ($a3) +/* 00417BC8 918C0000 */ lbu $t4, ($t4) +/* 00417BCC 24060009 */ li $a2, 9 +/* 00417BD0 51800035 */ beql $t4, $zero, .L00417CA8 +/* 00417BD4 8FBF0024 */ lw $ra, 0x24($sp) +/* 00417BD8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00417BDC 8F848954 */ lw $a0, %got(output)($gp) +/* 00417BE0 8F858038 */ lw $a1, %got(RO_10009613)($gp) +/* 00417BE4 24070009 */ li $a3, 9 +/* 00417BE8 8C840000 */ lw $a0, ($a0) +/* 00417BEC 0320F809 */ jalr $t9 +/* 00417BF0 24A59613 */ addiu $a1, %lo(RO_10009613) # addiu $a1, $a1, -0x69ed +/* 00417BF4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417BF8 240F000A */ li $t7, 10 +/* 00417BFC AFAF0010 */ sw $t7, 0x10($sp) +/* 00417C00 8F908954 */ lw $s0, %got(output)($gp) +/* 00417C04 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417C08 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00417C0C 8E100000 */ lw $s0, ($s0) +/* 00417C10 97A5002A */ lhu $a1, 0x2a($sp) +/* 00417C14 00003825 */ move $a3, $zero +/* 00417C18 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00417C1C 0320F809 */ jalr $t9 +/* 00417C20 02002025 */ move $a0, $s0 +/* 00417C24 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417C28 02002025 */ move $a0, $s0 +/* 00417C2C 24050020 */ li $a1, 32 +/* 00417C30 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00417C34 24060001 */ li $a2, 1 +/* 00417C38 2407000A */ li $a3, 10 +/* 00417C3C 0320F809 */ jalr $t9 +/* 00417C40 00000000 */ nop +/* 00417C44 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417C48 240E000A */ li $t6, 10 +/* 00417C4C AFAE0010 */ sw $t6, 0x10($sp) +/* 00417C50 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417C54 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00417C58 02002025 */ move $a0, $s0 +/* 00417C5C 93A5002F */ lbu $a1, 0x2f($sp) +/* 00417C60 00003825 */ move $a3, $zero +/* 00417C64 0320F809 */ jalr $t9 +/* 00417C68 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00417C6C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417C70 02002025 */ move $a0, $s0 +/* 00417C74 8FA50030 */ lw $a1, 0x30($sp) +/* 00417C78 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00417C7C 2406000C */ li $a2, 12 +/* 00417C80 2407000A */ li $a3, 10 +/* 00417C84 0320F809 */ jalr $t9 +/* 00417C88 00000000 */ nop +/* 00417C8C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417C90 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00417C94 8F848954 */ lw $a0, %got(output)($gp) +/* 00417C98 0320F809 */ jalr $t9 +/* 00417C9C 8C840000 */ lw $a0, ($a0) +/* 00417CA0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417CA4 8FBF0024 */ lw $ra, 0x24($sp) +.L00417CA8: +/* 00417CA8 8FB0001C */ lw $s0, 0x1c($sp) +/* 00417CAC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00417CB0 03E00008 */ jr $ra +/* 00417CB4 00000000 */ nop + .type emit_rl, @function + .size emit_rl, .-emit_rl + .end emit_rl + +glabel emit_rll + .ent emit_rll + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041EE78 func_0041EE78 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 0042BDAC eval +/* 00417CB8 3C1C0FC0 */ .cpload $t9 +/* 00417CBC 279C7D98 */ +/* 00417CC0 0399E021 */ +/* 00417CC4 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 00417CC8 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00417CCC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00417CD0 8C6F0000 */ lw $t7, ($v1) +/* 00417CD4 8D2E0000 */ lw $t6, ($t1) +/* 00417CD8 AFBF0024 */ sw $ra, 0x24($sp) +/* 00417CDC 000FC100 */ sll $t8, $t7, 4 +/* 00417CE0 AFBC0020 */ sw $gp, 0x20($sp) +/* 00417CE4 AFB0001C */ sw $s0, 0x1c($sp) +/* 00417CE8 AFA40028 */ sw $a0, 0x28($sp) +/* 00417CEC AFA5002C */ sw $a1, 0x2c($sp) +/* 00417CF0 AFA60030 */ sw $a2, 0x30($sp) +/* 00417CF4 01D81021 */ addu $v0, $t6, $t8 +/* 00417CF8 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00417CFC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417D00 3C01FFFC */ lui $at, 0xfffc +/* 00417D04 332AFFC0 */ andi $t2, $t9, 0xffc0 +/* 00417D08 354B0017 */ ori $t3, $t2, 0x17 +/* 00417D0C A04B0005 */ sb $t3, 5($v0) +/* 00417D10 8C6D0000 */ lw $t5, ($v1) +/* 00417D14 8D2C0000 */ lw $t4, ($t1) +/* 00417D18 97AE002A */ lhu $t6, 0x2a($sp) +/* 00417D1C 000D7900 */ sll $t7, $t5, 4 +/* 00417D20 018F1021 */ addu $v0, $t4, $t7 +/* 00417D24 9447FFF6 */ lhu $a3, -0xa($v0) +/* 00417D28 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417D2C 34213FFF */ ori $at, $at, 0x3fff +/* 00417D30 0007C580 */ sll $t8, $a3, 0x16 +/* 00417D34 0018CDC2 */ srl $t9, $t8, 0x17 +/* 00417D38 01D95026 */ xor $t2, $t6, $t9 +/* 00417D3C 000A5DC0 */ sll $t3, $t2, 0x17 +/* 00417D40 000B6D82 */ srl $t5, $t3, 0x16 +/* 00417D44 01A76026 */ xor $t4, $t5, $a3 +/* 00417D48 A44C0006 */ sh $t4, 6($v0) +/* 00417D4C 8C780000 */ lw $t8, ($v1) +/* 00417D50 8D2F0000 */ lw $t7, ($t1) +/* 00417D54 00187100 */ sll $t6, $t8, 4 +/* 00417D58 01EEC821 */ addu $t9, $t7, $t6 +/* 00417D5C AF20FFFC */ sw $zero, -4($t9) +/* 00417D60 8C6B0000 */ lw $t3, ($v1) +/* 00417D64 8D2A0000 */ lw $t2, ($t1) +/* 00417D68 000B6900 */ sll $t5, $t3, 4 +/* 00417D6C 014D1021 */ addu $v0, $t2, $t5 +/* 00417D70 8C4CFFF8 */ lw $t4, -8($v0) +/* 00417D74 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417D78 0181C024 */ and $t8, $t4, $at +/* 00417D7C 3C010002 */ lui $at, 2 +/* 00417D80 34214000 */ ori $at, $at, 0x4000 +/* 00417D84 03017825 */ or $t7, $t8, $at +/* 00417D88 AC4F0008 */ sw $t7, 8($v0) +/* 00417D8C 8C790000 */ lw $t9, ($v1) +/* 00417D90 8D2E0000 */ lw $t6, ($t1) +/* 00417D94 93AA002F */ lbu $t2, 0x2f($sp) +/* 00417D98 00195900 */ sll $t3, $t9, 4 +/* 00417D9C 01CB1021 */ addu $v0, $t6, $t3 +/* 00417DA0 8C48FFF8 */ lw $t0, -8($v0) +/* 00417DA4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417DA8 3C01FE03 */ lui $at, 0xfe03 +/* 00417DAC 00086E42 */ srl $t5, $t0, 0x19 +/* 00417DB0 014D6026 */ xor $t4, $t2, $t5 +/* 00417DB4 000CC640 */ sll $t8, $t4, 0x19 +/* 00417DB8 03087826 */ xor $t7, $t8, $t0 +/* 00417DBC AC4F0008 */ sw $t7, 8($v0) +/* 00417DC0 8C6E0000 */ lw $t6, ($v1) +/* 00417DC4 8D390000 */ lw $t9, ($t1) +/* 00417DC8 3421FFFF */ ori $at, $at, 0xffff +/* 00417DCC 000E5900 */ sll $t3, $t6, 4 +/* 00417DD0 032B1021 */ addu $v0, $t9, $t3 +/* 00417DD4 8C4AFFF8 */ lw $t2, -8($v0) +/* 00417DD8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417DDC 01416824 */ and $t5, $t2, $at +/* 00417DE0 3C010120 */ lui $at, 0x120 +/* 00417DE4 01A16025 */ or $t4, $t5, $at +/* 00417DE8 AC4C0008 */ sw $t4, 8($v0) +/* 00417DEC 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 00417DF0 8FA40030 */ lw $a0, 0x30($sp) +/* 00417DF4 0320F809 */ jalr $t9 +/* 00417DF8 00000000 */ nop +/* 00417DFC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417E00 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 00417E04 8F898978 */ lw $t1, %got(ibuffer)($gp) +/* 00417E08 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 00417E0C 8C6F0000 */ lw $t7, ($v1) +/* 00417E10 8D380000 */ lw $t8, ($t1) +/* 00417E14 000F7100 */ sll $t6, $t7, 4 +/* 00417E18 030EC821 */ addu $t9, $t8, $t6 +/* 00417E1C AF22FFF0 */ sw $v0, -0x10($t9) +/* 00417E20 8C640000 */ lw $a0, ($v1) +/* 00417E24 8D6B0000 */ lw $t3, ($t3) +/* 00417E28 15640007 */ bne $t3, $a0, .L00417E48 +/* 00417E2C 00000000 */ nop +/* 00417E30 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00417E34 0320F809 */ jalr $t9 +/* 00417E38 00000000 */ nop +/* 00417E3C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417E40 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 00417E44 8C640000 */ lw $a0, ($v1) +.L00417E48: +/* 00417E48 8F8D89E0 */ lw $t5, %got(debug_ugen)($gp) +/* 00417E4C 248A0001 */ addiu $t2, $a0, 1 +/* 00417E50 AC6A0000 */ sw $t2, ($v1) +/* 00417E54 91AD0000 */ lbu $t5, ($t5) +/* 00417E58 2406000A */ li $a2, 10 +/* 00417E5C 51A00035 */ beql $t5, $zero, .L00417F34 +/* 00417E60 8FBF0024 */ lw $ra, 0x24($sp) +/* 00417E64 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00417E68 8F848954 */ lw $a0, %got(output)($gp) +/* 00417E6C 8F858038 */ lw $a1, %got(RO_1000961C)($gp) +/* 00417E70 2407000A */ li $a3, 10 +/* 00417E74 8C840000 */ lw $a0, ($a0) +/* 00417E78 0320F809 */ jalr $t9 +/* 00417E7C 24A5961C */ addiu $a1, %lo(RO_1000961C) # addiu $a1, $a1, -0x69e4 +/* 00417E80 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417E84 240C000A */ li $t4, 10 +/* 00417E88 AFAC0010 */ sw $t4, 0x10($sp) +/* 00417E8C 8F908954 */ lw $s0, %got(output)($gp) +/* 00417E90 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417E94 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00417E98 8E100000 */ lw $s0, ($s0) +/* 00417E9C 97A5002A */ lhu $a1, 0x2a($sp) +/* 00417EA0 00003825 */ move $a3, $zero +/* 00417EA4 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00417EA8 0320F809 */ jalr $t9 +/* 00417EAC 02002025 */ move $a0, $s0 +/* 00417EB0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417EB4 02002025 */ move $a0, $s0 +/* 00417EB8 24050020 */ li $a1, 32 +/* 00417EBC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00417EC0 24060001 */ li $a2, 1 +/* 00417EC4 2407000A */ li $a3, 10 +/* 00417EC8 0320F809 */ jalr $t9 +/* 00417ECC 00000000 */ nop +/* 00417ED0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417ED4 240F000A */ li $t7, 10 +/* 00417ED8 AFAF0010 */ sw $t7, 0x10($sp) +/* 00417EDC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00417EE0 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 00417EE4 02002025 */ move $a0, $s0 +/* 00417EE8 93A5002F */ lbu $a1, 0x2f($sp) +/* 00417EEC 00003825 */ move $a3, $zero +/* 00417EF0 0320F809 */ jalr $t9 +/* 00417EF4 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00417EF8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417EFC 02002025 */ move $a0, $s0 +/* 00417F00 8FA50030 */ lw $a1, 0x30($sp) +/* 00417F04 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00417F08 2406000C */ li $a2, 12 +/* 00417F0C 2407000A */ li $a3, 10 +/* 00417F10 0320F809 */ jalr $t9 +/* 00417F14 00000000 */ nop +/* 00417F18 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417F1C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00417F20 8F848954 */ lw $a0, %got(output)($gp) +/* 00417F24 0320F809 */ jalr $t9 +/* 00417F28 8C840000 */ lw $a0, ($a0) +/* 00417F2C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00417F30 8FBF0024 */ lw $ra, 0x24($sp) +.L00417F34: +/* 00417F34 8FB0001C */ lw $s0, 0x1c($sp) +/* 00417F38 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00417F3C 03E00008 */ jr $ra +/* 00417F40 00000000 */ nop + .type emit_rll, @function + .size emit_rll, .-emit_rll + .end emit_rll + +glabel emit_l + .ent emit_l +/* 00417F44 3C1C0FC0 */ .cpload $t9 +/* 00417F48 279C7B0C */ +/* 00417F4C 0399E021 */ +/* 00417F50 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 00417F54 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00417F58 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00417F5C 8CCF0000 */ lw $t7, ($a2) +/* 00417F60 8C6E0000 */ lw $t6, ($v1) +/* 00417F64 AFBF0024 */ sw $ra, 0x24($sp) +/* 00417F68 000FC100 */ sll $t8, $t7, 4 +/* 00417F6C AFBC0020 */ sw $gp, 0x20($sp) +/* 00417F70 AFA40030 */ sw $a0, 0x30($sp) +/* 00417F74 AFA50034 */ sw $a1, 0x34($sp) +/* 00417F78 01D81021 */ addu $v0, $t6, $t8 +/* 00417F7C 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00417F80 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417F84 3C01FFFC */ lui $at, 0xfffc +/* 00417F88 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 00417F8C 352A0017 */ ori $t2, $t1, 0x17 +/* 00417F90 A04A0005 */ sb $t2, 5($v0) +/* 00417F94 8CCC0000 */ lw $t4, ($a2) +/* 00417F98 8C6B0000 */ lw $t3, ($v1) +/* 00417F9C 97AF0032 */ lhu $t7, 0x32($sp) +/* 00417FA0 000C6900 */ sll $t5, $t4, 4 +/* 00417FA4 016D1021 */ addu $v0, $t3, $t5 +/* 00417FA8 9447FFF6 */ lhu $a3, -0xa($v0) +/* 00417FAC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417FB0 34213FFF */ ori $at, $at, 0x3fff +/* 00417FB4 00077580 */ sll $t6, $a3, 0x16 +/* 00417FB8 000EC5C2 */ srl $t8, $t6, 0x17 +/* 00417FBC 01F8C826 */ xor $t9, $t7, $t8 +/* 00417FC0 00194DC0 */ sll $t1, $t9, 0x17 +/* 00417FC4 00095582 */ srl $t2, $t1, 0x16 +/* 00417FC8 01476026 */ xor $t4, $t2, $a3 +/* 00417FCC A44C0006 */ sh $t4, 6($v0) +/* 00417FD0 8CCD0000 */ lw $t5, ($a2) +/* 00417FD4 8C6B0000 */ lw $t3, ($v1) +/* 00417FD8 000D7100 */ sll $t6, $t5, 4 +/* 00417FDC 016E1021 */ addu $v0, $t3, $t6 +/* 00417FE0 8C4FFFF8 */ lw $t7, -8($v0) +/* 00417FE4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00417FE8 01E1C024 */ and $t8, $t7, $at +/* 00417FEC 3C010002 */ lui $at, 2 +/* 00417FF0 34218000 */ ori $at, $at, 0x8000 +/* 00417FF4 0301C825 */ or $t9, $t8, $at +/* 00417FF8 AC590008 */ sw $t9, 8($v0) +/* 00417FFC 8CCC0000 */ lw $t4, ($a2) +/* 00418000 8C6A0000 */ lw $t2, ($v1) +/* 00418004 8FA90034 */ lw $t1, 0x34($sp) +/* 00418008 000C6900 */ sll $t5, $t4, 4 +/* 0041800C 014D5821 */ addu $t3, $t2, $t5 +/* 00418010 AD69FFF0 */ sw $t1, -0x10($t3) +/* 00418014 8CCF0000 */ lw $t7, ($a2) +/* 00418018 8C6E0000 */ lw $t6, ($v1) +/* 0041801C 3C0101FF */ lui $at, 0x1ff +/* 00418020 000FC100 */ sll $t8, $t7, 4 +/* 00418024 01D81021 */ addu $v0, $t6, $t8 +/* 00418028 8C59FFF8 */ lw $t9, -8($v0) +/* 0041802C 3421FFFF */ ori $at, $at, 0xffff +/* 00418030 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418034 03216024 */ and $t4, $t9, $at +/* 00418038 3C019000 */ lui $at, 0x9000 +/* 0041803C 01815025 */ or $t2, $t4, $at +/* 00418040 AC4A0008 */ sw $t2, 8($v0) +/* 00418044 8CC90000 */ lw $t1, ($a2) +/* 00418048 8C6D0000 */ lw $t5, ($v1) +/* 0041804C 3C01FE03 */ lui $at, 0xfe03 +/* 00418050 00095900 */ sll $t3, $t1, 4 +/* 00418054 01AB1021 */ addu $v0, $t5, $t3 +/* 00418058 8C4FFFF8 */ lw $t7, -8($v0) +/* 0041805C 3421FFFF */ ori $at, $at, 0xffff +/* 00418060 8F998984 */ lw $t9, %got(d_ptr)($gp) +/* 00418064 01E17024 */ and $t6, $t7, $at +/* 00418068 3C010120 */ lui $at, 0x120 +/* 0041806C 01C1C025 */ or $t8, $t6, $at +/* 00418070 AC58FFF8 */ sw $t8, -8($v0) +/* 00418074 8CC80000 */ lw $t0, ($a2) +/* 00418078 8F390000 */ lw $t9, ($t9) +/* 0041807C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418080 17280007 */ bne $t9, $t0, .L004180A0 +/* 00418084 00000000 */ nop +/* 00418088 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041808C 0320F809 */ jalr $t9 +/* 00418090 00000000 */ nop +/* 00418094 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418098 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 0041809C 8CC80000 */ lw $t0, ($a2) +.L004180A0: +/* 004180A0 8F8A89E0 */ lw $t2, %got(debug_ugen)($gp) +/* 004180A4 250C0001 */ addiu $t4, $t0, 1 +/* 004180A8 ACCC0000 */ sw $t4, ($a2) +/* 004180AC 914A0000 */ lbu $t2, ($t2) +/* 004180B0 24060008 */ li $a2, 8 +/* 004180B4 51400023 */ beql $t2, $zero, .L00418144 +/* 004180B8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004180BC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004180C0 8F848954 */ lw $a0, %got(output)($gp) +/* 004180C4 8F858038 */ lw $a1, %got(RO_10009626)($gp) +/* 004180C8 24070008 */ li $a3, 8 +/* 004180CC 8C840000 */ lw $a0, ($a0) +/* 004180D0 0320F809 */ jalr $t9 +/* 004180D4 24A59626 */ addiu $a1, %lo(RO_10009626) # addiu $a1, $a1, -0x69da +/* 004180D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004180DC 2409000A */ li $t1, 10 +/* 004180E0 AFA90010 */ sw $t1, 0x10($sp) +/* 004180E4 8F848954 */ lw $a0, %got(output)($gp) +/* 004180E8 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004180EC 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 004180F0 8C840000 */ lw $a0, ($a0) +/* 004180F4 97A50032 */ lhu $a1, 0x32($sp) +/* 004180F8 00003825 */ move $a3, $zero +/* 004180FC 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00418100 0320F809 */ jalr $t9 +/* 00418104 AFA40028 */ sw $a0, 0x28($sp) +/* 00418108 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041810C 8FA40028 */ lw $a0, 0x28($sp) +/* 00418110 8FA50034 */ lw $a1, 0x34($sp) +/* 00418114 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00418118 2406000C */ li $a2, 12 +/* 0041811C 2407000A */ li $a3, 10 +/* 00418120 0320F809 */ jalr $t9 +/* 00418124 00000000 */ nop +/* 00418128 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041812C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00418130 8F848954 */ lw $a0, %got(output)($gp) +/* 00418134 0320F809 */ jalr $t9 +/* 00418138 8C840000 */ lw $a0, ($a0) +/* 0041813C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418140 8FBF0024 */ lw $ra, 0x24($sp) +.L00418144: +/* 00418144 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00418148 03E00008 */ jr $ra +/* 0041814C 00000000 */ nop + .type emit_l, @function + .size emit_l, .-emit_l + .end emit_l + +glabel emit_ll + .ent emit_ll + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 00423D28 jump + # 00424240 trap + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 0042A1AC eval_irel + # 0042BDAC eval + # 00433494 eval_flt_int_cvt +/* 00418150 3C1C0FC0 */ .cpload $t9 +/* 00418154 279C7900 */ +/* 00418158 0399E021 */ +/* 0041815C 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 00418160 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 00418164 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00418168 8CCF0000 */ lw $t7, ($a2) +/* 0041816C 8CEE0000 */ lw $t6, ($a3) +/* 00418170 AFBF0024 */ sw $ra, 0x24($sp) +/* 00418174 000FC100 */ sll $t8, $t7, 4 +/* 00418178 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041817C AFA40038 */ sw $a0, 0x38($sp) +/* 00418180 AFA5003C */ sw $a1, 0x3c($sp) +/* 00418184 01D81821 */ addu $v1, $t6, $t8 +/* 00418188 9079FFF5 */ lbu $t9, -0xb($v1) +/* 0041818C 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00418190 3C01FFFC */ lui $at, 0xfffc +/* 00418194 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 00418198 35090017 */ ori $t1, $t0, 0x17 +/* 0041819C A0690005 */ sb $t1, 5($v1) +/* 004181A0 8CCB0000 */ lw $t3, ($a2) +/* 004181A4 8CEA0000 */ lw $t2, ($a3) +/* 004181A8 97AD003A */ lhu $t5, 0x3a($sp) +/* 004181AC 000B6100 */ sll $t4, $t3, 4 +/* 004181B0 014C1821 */ addu $v1, $t2, $t4 +/* 004181B4 9462FFF6 */ lhu $v0, -0xa($v1) +/* 004181B8 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004181BC 34213FFF */ ori $at, $at, 0x3fff +/* 004181C0 00027D80 */ sll $t7, $v0, 0x16 +/* 004181C4 000F75C2 */ srl $t6, $t7, 0x17 +/* 004181C8 01AEC026 */ xor $t8, $t5, $t6 +/* 004181CC 0018CDC0 */ sll $t9, $t8, 0x17 +/* 004181D0 00194582 */ srl $t0, $t9, 0x16 +/* 004181D4 01024826 */ xor $t1, $t0, $v0 +/* 004181D8 A4690006 */ sh $t1, 6($v1) +/* 004181DC 8CCA0000 */ lw $t2, ($a2) +/* 004181E0 8CEB0000 */ lw $t3, ($a3) +/* 004181E4 000A6100 */ sll $t4, $t2, 4 +/* 004181E8 016C1821 */ addu $v1, $t3, $t4 +/* 004181EC 8C6FFFF8 */ lw $t7, -8($v1) +/* 004181F0 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 004181F4 01E16824 */ and $t5, $t7, $at +/* 004181F8 3C010002 */ lui $at, 2 +/* 004181FC 34218000 */ ori $at, $at, 0x8000 +/* 00418200 01A17025 */ or $t6, $t5, $at +/* 00418204 AC6E0008 */ sw $t6, 8($v1) +/* 00418208 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 0041820C 8FA4003C */ lw $a0, 0x3c($sp) +/* 00418210 0320F809 */ jalr $t9 +/* 00418214 00000000 */ nop +/* 00418218 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041821C 3C0101FF */ lui $at, 0x1ff +/* 00418220 3421FFFF */ ori $at, $at, 0xffff +/* 00418224 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 00418228 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 0041822C 8CD90000 */ lw $t9, ($a2) +/* 00418230 8CF80000 */ lw $t8, ($a3) +/* 00418234 00194100 */ sll $t0, $t9, 4 +/* 00418238 03084821 */ addu $t1, $t8, $t0 +/* 0041823C AD22FFF0 */ sw $v0, -0x10($t1) +/* 00418240 8CCB0000 */ lw $t3, ($a2) +/* 00418244 8CEA0000 */ lw $t2, ($a3) +/* 00418248 000B6100 */ sll $t4, $t3, 4 +/* 0041824C 014C1821 */ addu $v1, $t2, $t4 +/* 00418250 8C6FFFF8 */ lw $t7, -8($v1) +/* 00418254 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 00418258 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 0041825C 01E16824 */ and $t5, $t7, $at +/* 00418260 3C019000 */ lui $at, 0x9000 +/* 00418264 01A17025 */ or $t6, $t5, $at +/* 00418268 AC6E0008 */ sw $t6, 8($v1) +/* 0041826C 8CD80000 */ lw $t8, ($a2) +/* 00418270 8CF90000 */ lw $t9, ($a3) +/* 00418274 3C01FE03 */ lui $at, 0xfe03 +/* 00418278 00184100 */ sll $t0, $t8, 4 +/* 0041827C 03281821 */ addu $v1, $t9, $t0 +/* 00418280 8C69FFF8 */ lw $t1, -8($v1) +/* 00418284 3421FFFF */ ori $at, $at, 0xffff +/* 00418288 2463FFF0 */ addiu $v1, $v1, -0x10 +/* 0041828C 01215824 */ and $t3, $t1, $at +/* 00418290 3C010120 */ lui $at, 0x120 +/* 00418294 01615025 */ or $t2, $t3, $at +/* 00418298 AC6A0008 */ sw $t2, 8($v1) +/* 0041829C 8CC40000 */ lw $a0, ($a2) +/* 004182A0 8D8C0000 */ lw $t4, ($t4) +/* 004182A4 15840007 */ bne $t4, $a0, .L004182C4 +/* 004182A8 00000000 */ nop +/* 004182AC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004182B0 0320F809 */ jalr $t9 +/* 004182B4 00000000 */ nop +/* 004182B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004182BC 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 004182C0 8CC40000 */ lw $a0, ($a2) +.L004182C4: +/* 004182C4 8F8D89E0 */ lw $t5, %got(debug_ugen)($gp) +/* 004182C8 248F0001 */ addiu $t7, $a0, 1 +/* 004182CC ACCF0000 */ sw $t7, ($a2) +/* 004182D0 91AD0000 */ lbu $t5, ($t5) +/* 004182D4 24060009 */ li $a2, 9 +/* 004182D8 51A00023 */ beql $t5, $zero, .L00418368 +/* 004182DC 8FBF0024 */ lw $ra, 0x24($sp) +/* 004182E0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004182E4 8F848954 */ lw $a0, %got(output)($gp) +/* 004182E8 8F858038 */ lw $a1, %got(RO_1000962E)($gp) +/* 004182EC 24070009 */ li $a3, 9 +/* 004182F0 8C840000 */ lw $a0, ($a0) +/* 004182F4 0320F809 */ jalr $t9 +/* 004182F8 24A5962E */ addiu $a1, %lo(RO_1000962E) # addiu $a1, $a1, -0x69d2 +/* 004182FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418300 240E000A */ li $t6, 10 +/* 00418304 AFAE0010 */ sw $t6, 0x10($sp) +/* 00418308 8F848954 */ lw $a0, %got(output)($gp) +/* 0041830C 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00418310 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00418314 8C840000 */ lw $a0, ($a0) +/* 00418318 97A5003A */ lhu $a1, 0x3a($sp) +/* 0041831C 00003825 */ move $a3, $zero +/* 00418320 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00418324 0320F809 */ jalr $t9 +/* 00418328 AFA4002C */ sw $a0, 0x2c($sp) +/* 0041832C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418330 8FA4002C */ lw $a0, 0x2c($sp) +/* 00418334 8FA5003C */ lw $a1, 0x3c($sp) +/* 00418338 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0041833C 2406000C */ li $a2, 12 +/* 00418340 2407000A */ li $a3, 10 +/* 00418344 0320F809 */ jalr $t9 +/* 00418348 00000000 */ nop +/* 0041834C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418350 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00418354 8F848954 */ lw $a0, %got(output)($gp) +/* 00418358 0320F809 */ jalr $t9 +/* 0041835C 8C840000 */ lw $a0, ($a0) +/* 00418360 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418364 8FBF0024 */ lw $ra, 0x24($sp) +.L00418368: +/* 00418368 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0041836C 03E00008 */ jr $ra +/* 00418370 00000000 */ nop + .type emit_ll, @function + .size emit_ll, .-emit_ll + .end emit_ll + +glabel emit_ril + .ent emit_ril +/* 00418374 3C1C0FC0 */ .cpload $t9 +/* 00418378 279C76DC */ +/* 0041837C 0399E021 */ +/* 00418380 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00418384 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00418388 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041838C 8D0F0000 */ lw $t7, ($t0) +/* 00418390 AFBF0024 */ sw $ra, 0x24($sp) +/* 00418394 8C6E0000 */ lw $t6, ($v1) +/* 00418398 000FC100 */ sll $t8, $t7, 4 +/* 0041839C AFBC0020 */ sw $gp, 0x20($sp) +/* 004183A0 AFB0001C */ sw $s0, 0x1c($sp) +/* 004183A4 AFA40028 */ sw $a0, 0x28($sp) +/* 004183A8 AFA5002C */ sw $a1, 0x2c($sp) +/* 004183AC AFA60030 */ sw $a2, 0x30($sp) +/* 004183B0 AFA70034 */ sw $a3, 0x34($sp) +/* 004183B4 01D81021 */ addu $v0, $t6, $t8 +/* 004183B8 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004183BC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004183C0 3C01FE03 */ lui $at, 0xfe03 +/* 004183C4 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 004183C8 358D0017 */ ori $t5, $t4, 0x17 +/* 004183CC A04D0005 */ sb $t5, 5($v0) +/* 004183D0 8D0E0000 */ lw $t6, ($t0) +/* 004183D4 8C6F0000 */ lw $t7, ($v1) +/* 004183D8 97B9002A */ lhu $t9, 0x2a($sp) +/* 004183DC 000EC100 */ sll $t8, $t6, 4 +/* 004183E0 01F81021 */ addu $v0, $t7, $t8 +/* 004183E4 9449FFF6 */ lhu $t1, -0xa($v0) +/* 004183E8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004183EC 3421FFFF */ ori $at, $at, 0xffff +/* 004183F0 00096580 */ sll $t4, $t1, 0x16 +/* 004183F4 000C6DC2 */ srl $t5, $t4, 0x17 +/* 004183F8 032D7026 */ xor $t6, $t9, $t5 +/* 004183FC 000E7DC0 */ sll $t7, $t6, 0x17 +/* 00418400 000FC582 */ srl $t8, $t7, 0x16 +/* 00418404 03096026 */ xor $t4, $t8, $t1 +/* 00418408 A44C0006 */ sh $t4, 6($v0) +/* 0041840C 8D0D0000 */ lw $t5, ($t0) +/* 00418410 8C790000 */ lw $t9, ($v1) +/* 00418414 93AF002F */ lbu $t7, 0x2f($sp) +/* 00418418 000D7100 */ sll $t6, $t5, 4 +/* 0041841C 032E1021 */ addu $v0, $t9, $t6 +/* 00418420 8C4AFFF8 */ lw $t2, -8($v0) +/* 00418424 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418428 000AC642 */ srl $t8, $t2, 0x19 +/* 0041842C 01F86026 */ xor $t4, $t7, $t8 +/* 00418430 000C6E40 */ sll $t5, $t4, 0x19 +/* 00418434 01AAC826 */ xor $t9, $t5, $t2 +/* 00418438 AC590008 */ sw $t9, 8($v0) +/* 0041843C 8D0F0000 */ lw $t7, ($t0) +/* 00418440 8C6E0000 */ lw $t6, ($v1) +/* 00418444 000FC100 */ sll $t8, $t7, 4 +/* 00418448 01D81021 */ addu $v0, $t6, $t8 +/* 0041844C 8C4CFFF8 */ lw $t4, -8($v0) +/* 00418450 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418454 01816824 */ and $t5, $t4, $at +/* 00418458 3C010120 */ lui $at, 0x120 +/* 0041845C 01A1C825 */ or $t9, $t5, $at +/* 00418460 AC590008 */ sw $t9, 8($v0) +/* 00418464 8D180000 */ lw $t8, ($t0) +/* 00418468 8C6E0000 */ lw $t6, ($v1) +/* 0041846C 8FAF0030 */ lw $t7, 0x30($sp) +/* 00418470 00186100 */ sll $t4, $t8, 4 +/* 00418474 01CC6821 */ addu $t5, $t6, $t4 +/* 00418478 ADAFFFFC */ sw $t7, -4($t5) +/* 0041847C 8D180000 */ lw $t8, ($t0) +/* 00418480 8C790000 */ lw $t9, ($v1) +/* 00418484 3C01FFFC */ lui $at, 0xfffc +/* 00418488 00187100 */ sll $t6, $t8, 4 +/* 0041848C 032E1021 */ addu $v0, $t9, $t6 +/* 00418490 8C4CFFF8 */ lw $t4, -8($v0) +/* 00418494 34213FFF */ ori $at, $at, 0x3fff +/* 00418498 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041849C 01817824 */ and $t7, $t4, $at +/* 004184A0 3C010003 */ lui $at, 3 +/* 004184A4 01E16825 */ or $t5, $t7, $at +/* 004184A8 AC4D0008 */ sw $t5, 8($v0) +/* 004184AC 8D0E0000 */ lw $t6, ($t0) +/* 004184B0 8C790000 */ lw $t9, ($v1) +/* 004184B4 8FB80034 */ lw $t8, 0x34($sp) +/* 004184B8 000E6100 */ sll $t4, $t6, 4 +/* 004184BC 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 004184C0 032C7821 */ addu $t7, $t9, $t4 +/* 004184C4 ADF8FFF0 */ sw $t8, -0x10($t7) +/* 004184C8 8D0B0000 */ lw $t3, ($t0) +/* 004184CC 8DAD0000 */ lw $t5, ($t5) +/* 004184D0 15AB0007 */ bne $t5, $t3, .L004184F0 +/* 004184D4 00000000 */ nop +/* 004184D8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004184DC 0320F809 */ jalr $t9 +/* 004184E0 00000000 */ nop +/* 004184E4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004184E8 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 004184EC 8D0B0000 */ lw $t3, ($t0) +.L004184F0: +/* 004184F0 8F9989E0 */ lw $t9, %got(debug_ugen)($gp) +/* 004184F4 256E0001 */ addiu $t6, $t3, 1 +/* 004184F8 AD0E0000 */ sw $t6, ($t0) +/* 004184FC 93390000 */ lbu $t9, ($t9) +/* 00418500 2406000A */ li $a2, 10 +/* 00418504 5320003D */ beql $t9, $zero, .L004185FC +/* 00418508 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041850C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00418510 8F848954 */ lw $a0, %got(output)($gp) +/* 00418514 8F858038 */ lw $a1, %got(RO_10009637)($gp) +/* 00418518 2407000A */ li $a3, 10 +/* 0041851C 8C840000 */ lw $a0, ($a0) +/* 00418520 0320F809 */ jalr $t9 +/* 00418524 24A59637 */ addiu $a1, %lo(RO_10009637) # addiu $a1, $a1, -0x69c9 +/* 00418528 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041852C 240C000A */ li $t4, 10 +/* 00418530 AFAC0010 */ sw $t4, 0x10($sp) +/* 00418534 8F908954 */ lw $s0, %got(output)($gp) +/* 00418538 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0041853C 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 00418540 8E100000 */ lw $s0, ($s0) +/* 00418544 97A5002A */ lhu $a1, 0x2a($sp) +/* 00418548 00003825 */ move $a3, $zero +/* 0041854C 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00418550 0320F809 */ jalr $t9 +/* 00418554 02002025 */ move $a0, $s0 +/* 00418558 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041855C 02002025 */ move $a0, $s0 +/* 00418560 24050020 */ li $a1, 32 +/* 00418564 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00418568 24060001 */ li $a2, 1 +/* 0041856C 2407000A */ li $a3, 10 +/* 00418570 0320F809 */ jalr $t9 +/* 00418574 00000000 */ nop +/* 00418578 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041857C 2418000A */ li $t8, 10 +/* 00418580 AFB80010 */ sw $t8, 0x10($sp) +/* 00418584 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00418588 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041858C 02002025 */ move $a0, $s0 +/* 00418590 93A5002F */ lbu $a1, 0x2f($sp) +/* 00418594 00003825 */ move $a3, $zero +/* 00418598 0320F809 */ jalr $t9 +/* 0041859C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 004185A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004185A4 02002025 */ move $a0, $s0 +/* 004185A8 8FA50030 */ lw $a1, 0x30($sp) +/* 004185AC 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004185B0 2406000C */ li $a2, 12 +/* 004185B4 2407000A */ li $a3, 10 +/* 004185B8 0320F809 */ jalr $t9 +/* 004185BC 00000000 */ nop +/* 004185C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004185C4 8FA50034 */ lw $a1, 0x34($sp) +/* 004185C8 2406000C */ li $a2, 12 +/* 004185CC 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 004185D0 8F848954 */ lw $a0, %got(output)($gp) +/* 004185D4 2407000A */ li $a3, 10 +/* 004185D8 0320F809 */ jalr $t9 +/* 004185DC 8C840000 */ lw $a0, ($a0) +/* 004185E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004185E4 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004185E8 8F848954 */ lw $a0, %got(output)($gp) +/* 004185EC 0320F809 */ jalr $t9 +/* 004185F0 8C840000 */ lw $a0, ($a0) +/* 004185F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004185F8 8FBF0024 */ lw $ra, 0x24($sp) +.L004185FC: +/* 004185FC 8FB0001C */ lw $s0, 0x1c($sp) +/* 00418600 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00418604 03E00008 */ jr $ra +/* 00418608 00000000 */ nop + .type emit_ril, @function + .size emit_ril, .-emit_ril + .end emit_ril + +glabel emit_rill + .ent emit_rill + # 0041BCC0 func_0041BCC0 + # 0041BD30 func_0041BD30 + # 0041BDC8 func_0041BDC8 + # 0041BE80 func_0041BE80 + # 0041BF38 func_0041BF38 + # 0041BFF0 func_0041BFF0 + # 0041C0A8 func_0041C0A8 + # 0041C160 func_0041C160 + # 0041C218 func_0041C218 + # 0041C2D0 func_0041C2D0 + # 0041C388 emit_branch_rill + # 0041CCD0 func_0041CCD0 + # 0041CD64 func_0041CD64 + # 0041CE18 func_0041CE18 + # 0041CECC func_0041CECC + # 0041CF80 func_0041CF80 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 00423D28 jump + # 0042BDAC eval +/* 0041860C 3C1C0FC0 */ .cpload $t9 +/* 00418610 279C7444 */ +/* 00418614 0399E021 */ +/* 00418618 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 0041861C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00418620 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 00418624 8C6F0000 */ lw $t7, ($v1) +/* 00418628 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041862C 8D4E0000 */ lw $t6, ($t2) +/* 00418630 000FC100 */ sll $t8, $t7, 4 +/* 00418634 AFBC0020 */ sw $gp, 0x20($sp) +/* 00418638 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041863C AFA40028 */ sw $a0, 0x28($sp) +/* 00418640 AFA5002C */ sw $a1, 0x2c($sp) +/* 00418644 AFA60030 */ sw $a2, 0x30($sp) +/* 00418648 AFA70034 */ sw $a3, 0x34($sp) +/* 0041864C 01D81021 */ addu $v0, $t6, $t8 +/* 00418650 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00418654 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418658 3C01FE03 */ lui $at, 0xfe03 +/* 0041865C 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00418660 356C0017 */ ori $t4, $t3, 0x17 +/* 00418664 A04C0005 */ sb $t4, 5($v0) +/* 00418668 8C6F0000 */ lw $t7, ($v1) +/* 0041866C 8D4D0000 */ lw $t5, ($t2) +/* 00418670 97B8002A */ lhu $t8, 0x2a($sp) +/* 00418674 000F7100 */ sll $t6, $t7, 4 +/* 00418678 01AE1021 */ addu $v0, $t5, $t6 +/* 0041867C 9448FFF6 */ lhu $t0, -0xa($v0) +/* 00418680 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418684 3421FFFF */ ori $at, $at, 0xffff +/* 00418688 0008CD80 */ sll $t9, $t0, 0x16 +/* 0041868C 00195DC2 */ srl $t3, $t9, 0x17 +/* 00418690 030B6026 */ xor $t4, $t8, $t3 +/* 00418694 000C7DC0 */ sll $t7, $t4, 0x17 +/* 00418698 000F6D82 */ srl $t5, $t7, 0x16 +/* 0041869C 01A87026 */ xor $t6, $t5, $t0 +/* 004186A0 A44E0006 */ sh $t6, 6($v0) +/* 004186A4 8C780000 */ lw $t8, ($v1) +/* 004186A8 8D590000 */ lw $t9, ($t2) +/* 004186AC 93AC002F */ lbu $t4, 0x2f($sp) +/* 004186B0 00185900 */ sll $t3, $t8, 4 +/* 004186B4 032B1021 */ addu $v0, $t9, $t3 +/* 004186B8 8C49FFF8 */ lw $t1, -8($v0) +/* 004186BC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004186C0 00097E42 */ srl $t7, $t1, 0x19 +/* 004186C4 018F6826 */ xor $t5, $t4, $t7 +/* 004186C8 000D7640 */ sll $t6, $t5, 0x19 +/* 004186CC 01C9C026 */ xor $t8, $t6, $t1 +/* 004186D0 AC580008 */ sw $t8, 8($v0) +/* 004186D4 8C6B0000 */ lw $t3, ($v1) +/* 004186D8 8D590000 */ lw $t9, ($t2) +/* 004186DC 000B6100 */ sll $t4, $t3, 4 +/* 004186E0 032C1021 */ addu $v0, $t9, $t4 +/* 004186E4 8C4FFFF8 */ lw $t7, -8($v0) +/* 004186E8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004186EC 01E16824 */ and $t5, $t7, $at +/* 004186F0 3C010120 */ lui $at, 0x120 +/* 004186F4 01A17025 */ or $t6, $t5, $at +/* 004186F8 AC4E0008 */ sw $t6, 8($v0) +/* 004186FC 8C790000 */ lw $t9, ($v1) +/* 00418700 8D4B0000 */ lw $t3, ($t2) +/* 00418704 8FB80030 */ lw $t8, 0x30($sp) +/* 00418708 00196100 */ sll $t4, $t9, 4 +/* 0041870C 016C7821 */ addu $t7, $t3, $t4 +/* 00418710 ADF8FFFC */ sw $t8, -4($t7) +/* 00418714 8C6E0000 */ lw $t6, ($v1) +/* 00418718 8D4D0000 */ lw $t5, ($t2) +/* 0041871C 3C01FFFC */ lui $at, 0xfffc +/* 00418720 000EC900 */ sll $t9, $t6, 4 +/* 00418724 01B91021 */ addu $v0, $t5, $t9 +/* 00418728 8C4BFFF8 */ lw $t3, -8($v0) +/* 0041872C 34213FFF */ ori $at, $at, 0x3fff +/* 00418730 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418734 01616024 */ and $t4, $t3, $at +/* 00418738 3C010003 */ lui $at, 3 +/* 0041873C 0181C025 */ or $t8, $t4, $at +/* 00418740 AC580008 */ sw $t8, 8($v0) +/* 00418744 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 00418748 8FA40034 */ lw $a0, 0x34($sp) +/* 0041874C 0320F809 */ jalr $t9 +/* 00418750 00000000 */ nop +/* 00418754 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418758 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 0041875C 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 00418760 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 00418764 8C6E0000 */ lw $t6, ($v1) +/* 00418768 8D4F0000 */ lw $t7, ($t2) +/* 0041876C 000E6900 */ sll $t5, $t6, 4 +/* 00418770 01EDC821 */ addu $t9, $t7, $t5 +/* 00418774 AF22FFF0 */ sw $v0, -0x10($t9) +/* 00418778 8C640000 */ lw $a0, ($v1) +/* 0041877C 8D6B0000 */ lw $t3, ($t3) +/* 00418780 15640007 */ bne $t3, $a0, .L004187A0 +/* 00418784 00000000 */ nop +/* 00418788 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041878C 0320F809 */ jalr $t9 +/* 00418790 00000000 */ nop +/* 00418794 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418798 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 0041879C 8C640000 */ lw $a0, ($v1) +.L004187A0: +/* 004187A0 8F9889E0 */ lw $t8, %got(debug_ugen)($gp) +/* 004187A4 248C0001 */ addiu $t4, $a0, 1 +/* 004187A8 AC6C0000 */ sw $t4, ($v1) +/* 004187AC 93180000 */ lbu $t8, ($t8) +/* 004187B0 2406000B */ li $a2, 11 +/* 004187B4 5300003D */ beql $t8, $zero, .L004188AC +/* 004187B8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004187BC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004187C0 8F848954 */ lw $a0, %got(output)($gp) +/* 004187C4 8F858038 */ lw $a1, %got(RO_10009641)($gp) +/* 004187C8 2407000B */ li $a3, 11 +/* 004187CC 8C840000 */ lw $a0, ($a0) +/* 004187D0 0320F809 */ jalr $t9 +/* 004187D4 24A59641 */ addiu $a1, %lo(RO_10009641) # addiu $a1, $a1, -0x69bf +/* 004187D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004187DC 240E000A */ li $t6, 10 +/* 004187E0 AFAE0010 */ sw $t6, 0x10($sp) +/* 004187E4 8F908954 */ lw $s0, %got(output)($gp) +/* 004187E8 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 004187EC 8F868038 */ lw $a2, %got(D_10012570)($gp) +/* 004187F0 8E100000 */ lw $s0, ($s0) +/* 004187F4 97A5002A */ lhu $a1, 0x2a($sp) +/* 004187F8 00003825 */ move $a3, $zero +/* 004187FC 24C62570 */ addiu $a2, %lo(D_10012570) # addiu $a2, $a2, 0x2570 +/* 00418800 0320F809 */ jalr $t9 +/* 00418804 02002025 */ move $a0, $s0 +/* 00418808 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041880C 02002025 */ move $a0, $s0 +/* 00418810 24050020 */ li $a1, 32 +/* 00418814 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00418818 24060001 */ li $a2, 1 +/* 0041881C 2407000A */ li $a3, 10 +/* 00418820 0320F809 */ jalr $t9 +/* 00418824 00000000 */ nop +/* 00418828 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041882C 240F000A */ li $t7, 10 +/* 00418830 AFAF0010 */ sw $t7, 0x10($sp) +/* 00418834 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00418838 8F868038 */ lw $a2, %got(D_1001340C)($gp) +/* 0041883C 02002025 */ move $a0, $s0 +/* 00418840 93A5002F */ lbu $a1, 0x2f($sp) +/* 00418844 00003825 */ move $a3, $zero +/* 00418848 0320F809 */ jalr $t9 +/* 0041884C 24C6340C */ addiu $a2, %lo(D_1001340C) # addiu $a2, $a2, 0x340c +/* 00418850 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418854 02002025 */ move $a0, $s0 +/* 00418858 8FA50030 */ lw $a1, 0x30($sp) +/* 0041885C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00418860 2406000C */ li $a2, 12 +/* 00418864 2407000A */ li $a3, 10 +/* 00418868 0320F809 */ jalr $t9 +/* 0041886C 00000000 */ nop +/* 00418870 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418874 8FA50034 */ lw $a1, 0x34($sp) +/* 00418878 2406000C */ li $a2, 12 +/* 0041887C 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00418880 8F848954 */ lw $a0, %got(output)($gp) +/* 00418884 2407000A */ li $a3, 10 +/* 00418888 0320F809 */ jalr $t9 +/* 0041888C 8C840000 */ lw $a0, ($a0) +/* 00418890 8FBC0020 */ lw $gp, 0x20($sp) +/* 00418894 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00418898 8F848954 */ lw $a0, %got(output)($gp) +/* 0041889C 0320F809 */ jalr $t9 +/* 004188A0 8C840000 */ lw $a0, ($a0) +/* 004188A4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004188A8 8FBF0024 */ lw $ra, 0x24($sp) +.L004188AC: +/* 004188AC 8FB0001C */ lw $s0, 0x1c($sp) +/* 004188B0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004188B4 03E00008 */ jr $ra +/* 004188B8 00000000 */ nop + .type emit_rill, @function + .size emit_rill, .-emit_rill + .end emit_rill + +glabel define_label + .ent define_label + # 0041AFE4 func_0041AFE4 + # 0041B07C func_0041B07C + # 0041B1BC func_0041B1BC + # 0041B2FC func_0041B2FC + # 0041B43C func_0041B43C + # 0041B57C func_0041B57C + # 0041B6BC func_0041B6BC + # 0041B7FC func_0041B7FC + # 0041B93C func_0041B93C + # 0041BD30 func_0041BD30 + # 0041BDC8 func_0041BDC8 + # 0041BE80 func_0041BE80 + # 0041BF38 func_0041BF38 + # 0041BFF0 func_0041BFF0 + # 0041C0A8 func_0041C0A8 + # 0041C160 func_0041C160 + # 0041C218 func_0041C218 + # 0041C2D0 func_0041C2D0 + # 0041C710 func_0041C710 + # 0041C7AC func_0041C7AC + # 0041C86C func_0041C86C + # 0041C92C func_0041C92C + # 0041C9EC func_0041C9EC + # 0041CCD0 func_0041CCD0 + # 0041CD64 func_0041CD64 + # 0041CE18 func_0041CE18 + # 0041CECC func_0041CECC + # 0041CF80 func_0041CF80 + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041DF18 func_0041DF18 + # 0041E05C func_0041E05C + # 0041E1C0 func_0041E1C0 + # 0041E304 func_0041E304 + # 0041EE78 func_0041EE78 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 00420590 func_00420590 + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00424240 trap + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 +/* 004188BC 3C1C0FC0 */ .cpload $t9 +/* 004188C0 279C7194 */ +/* 004188C4 0399E021 */ +/* 004188C8 8F98897C */ lw $t8, %got(i_ptr)($gp) +/* 004188CC 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 004188D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004188D4 8F180000 */ lw $t8, ($t8) +/* 004188D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 004188DC AFBC0018 */ sw $gp, 0x18($sp) +/* 004188E0 8DCF0000 */ lw $t7, ($t6) +/* 004188E4 0018C900 */ sll $t9, $t8, 4 +/* 004188E8 01F91021 */ addu $v0, $t7, $t9 +/* 004188EC 9048FFF5 */ lbu $t0, -0xb($v0) +/* 004188F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004188F4 3109FFC0 */ andi $t1, $t0, 0xffc0 +/* 004188F8 A0490005 */ sb $t1, 5($v0) +/* 004188FC 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 00418900 0320F809 */ jalr $t9 +/* 00418904 00000000 */ nop +/* 00418908 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041890C 8F84897C */ lw $a0, %got(i_ptr)($gp) +/* 00418910 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 00418914 8F988984 */ lw $t8, %got(d_ptr)($gp) +/* 00418918 8C8C0000 */ lw $t4, ($a0) +/* 0041891C 8D4B0000 */ lw $t3, ($t2) +/* 00418920 000C6900 */ sll $t5, $t4, 4 +/* 00418924 016D7021 */ addu $t6, $t3, $t5 +/* 00418928 ADC2FFF0 */ sw $v0, -0x10($t6) +/* 0041892C 8C830000 */ lw $v1, ($a0) +/* 00418930 8F180000 */ lw $t8, ($t8) +/* 00418934 57030008 */ bnel $t8, $v1, .L00418958 +/* 00418938 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041893C 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418940 0320F809 */ jalr $t9 +/* 00418944 00000000 */ nop +/* 00418948 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041894C 8F84897C */ lw $a0, %got(i_ptr)($gp) +/* 00418950 8C830000 */ lw $v1, ($a0) +/* 00418954 8FBF001C */ lw $ra, 0x1c($sp) +.L00418958: +/* 00418958 246F0001 */ addiu $t7, $v1, 1 +/* 0041895C AC8F0000 */ sw $t7, ($a0) +/* 00418960 03E00008 */ jr $ra +/* 00418964 27BD0020 */ addiu $sp, $sp, 0x20 + .type define_label, @function + .size define_label, .-define_label + .end define_label + +glabel emit_itext + .ent emit_itext + # 0042BDAC eval +/* 00418968 3C1C0FC0 */ .cpload $t9 +/* 0041896C 279C70E8 */ +/* 00418970 0399E021 */ +/* 00418974 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 00418978 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041897C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00418980 8CAF0000 */ lw $t7, ($a1) +/* 00418984 8C6E0000 */ lw $t6, ($v1) +/* 00418988 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041898C 000FC100 */ sll $t8, $t7, 4 +/* 00418990 AFBC0018 */ sw $gp, 0x18($sp) +/* 00418994 01D81021 */ addu $v0, $t6, $t8 +/* 00418998 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041899C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004189A0 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 004189A4 352A0015 */ ori $t2, $t1, 0x15 +/* 004189A8 A04A0005 */ sb $t2, 5($v0) +/* 004189AC 8CAC0000 */ lw $t4, ($a1) +/* 004189B0 8C6B0000 */ lw $t3, ($v1) +/* 004189B4 000C6900 */ sll $t5, $t4, 4 +/* 004189B8 016D7821 */ addu $t7, $t3, $t5 +/* 004189BC ADE0FFF0 */ sw $zero, -0x10($t7) +/* 004189C0 8CB90000 */ lw $t9, ($a1) +/* 004189C4 8C780000 */ lw $t8, ($v1) +/* 004189C8 8C8E0000 */ lw $t6, ($a0) +/* 004189CC 00194900 */ sll $t1, $t9, 4 +/* 004189D0 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 004189D4 03095021 */ addu $t2, $t8, $t1 +/* 004189D8 AD4EFFF8 */ sw $t6, -8($t2) +/* 004189DC 8CA60000 */ lw $a2, ($a1) +/* 004189E0 8D8C0000 */ lw $t4, ($t4) +/* 004189E4 1586000A */ bne $t4, $a2, .L00418A10 +/* 004189E8 00000000 */ nop +/* 004189EC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004189F0 AFA40020 */ sw $a0, 0x20($sp) +/* 004189F4 0320F809 */ jalr $t9 +/* 004189F8 00000000 */ nop +/* 004189FC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418A00 8FA40020 */ lw $a0, 0x20($sp) +/* 00418A04 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 00418A08 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00418A0C 8CA60000 */ lw $a2, ($a1) +.L00418A10: +/* 00418A10 8F898038 */ lw $t1, %got(RO_1000964C)($gp) +/* 00418A14 24CB0001 */ addiu $t3, $a2, 1 +/* 00418A18 ACAB0000 */ sw $t3, ($a1) +/* 00418A1C 8CAF0000 */ lw $t7, ($a1) +/* 00418A20 2529964C */ addiu $t1, %lo(RO_1000964C) # addiu $t1, $t1, -0x69b4 +/* 00418A24 8C6D0000 */ lw $t5, ($v1) +/* 00418A28 892A0000 */ lwl $t2, ($t1) +/* 00418A2C 992A0003 */ lwr $t2, 3($t1) +/* 00418A30 000FC900 */ sll $t9, $t7, 4 +/* 00418A34 01B9C021 */ addu $t8, $t5, $t9 +/* 00418A38 AB0AFFF0 */ swl $t2, -0x10($t8) +/* 00418A3C BB0AFFF3 */ swr $t2, -0xd($t8) +/* 00418A40 892E0004 */ lwl $t6, 4($t1) +/* 00418A44 992E0007 */ lwr $t6, 7($t1) +/* 00418A48 AB0EFFF4 */ swl $t6, -0xc($t8) +/* 00418A4C BB0EFFF7 */ swr $t6, -9($t8) +/* 00418A50 892A0008 */ lwl $t2, 8($t1) +/* 00418A54 992A000B */ lwr $t2, 0xb($t1) +/* 00418A58 AB0AFFF8 */ swl $t2, -8($t8) +/* 00418A5C BB0AFFFB */ swr $t2, -5($t8) +/* 00418A60 892E000C */ lwl $t6, 0xc($t1) +/* 00418A64 992E000F */ lwr $t6, 0xf($t1) +/* 00418A68 AB0EFFFC */ swl $t6, -4($t8) +/* 00418A6C BB0EFFFF */ swr $t6, -1($t8) +/* 00418A70 8C870000 */ lw $a3, ($a0) +/* 00418A74 10E00039 */ beqz $a3, .L00418B5C +/* 00418A78 24E70001 */ addiu $a3, $a3, 1 +/* 00418A7C 24E8FFFF */ addiu $t0, $a3, -1 +/* 00418A80 31080003 */ andi $t0, $t0, 3 +/* 00418A84 1100000F */ beqz $t0, .L00418AC4 +/* 00418A88 24020001 */ li $v0, 1 +/* 00418A8C 25060001 */ addiu $a2, $t0, 1 +.L00418A90: +/* 00418A90 8CB90000 */ lw $t9, ($a1) +/* 00418A94 8C8C0004 */ lw $t4, 4($a0) +/* 00418A98 8C6D0000 */ lw $t5, ($v1) +/* 00418A9C 0019C100 */ sll $t8, $t9, 4 +/* 00418AA0 01825821 */ addu $t3, $t4, $v0 +/* 00418AA4 01B84821 */ addu $t1, $t5, $t8 +/* 00418AA8 916FFFFF */ lbu $t7, -1($t3) +/* 00418AAC 01227021 */ addu $t6, $t1, $v0 +/* 00418AB0 24420001 */ addiu $v0, $v0, 1 +/* 00418AB4 14C2FFF6 */ bne $a2, $v0, .L00418A90 +/* 00418AB8 A1CFFFEF */ sb $t7, -0x11($t6) +/* 00418ABC 10470027 */ beq $v0, $a3, .L00418B5C +/* 00418AC0 00000000 */ nop +.L00418AC4: +/* 00418AC4 8C8A0004 */ lw $t2, 4($a0) +/* 00418AC8 8CAD0000 */ lw $t5, ($a1) +/* 00418ACC 8C790000 */ lw $t9, ($v1) +/* 00418AD0 01426021 */ addu $t4, $t2, $v0 +/* 00418AD4 918BFFFF */ lbu $t3, -1($t4) +/* 00418AD8 000DC100 */ sll $t8, $t5, 4 +/* 00418ADC 03384821 */ addu $t1, $t9, $t8 +/* 00418AE0 01227821 */ addu $t7, $t1, $v0 +/* 00418AE4 A1EBFFEF */ sb $t3, -0x11($t7) +/* 00418AE8 8C8E0004 */ lw $t6, 4($a0) +/* 00418AEC 8CB90000 */ lw $t9, ($a1) +/* 00418AF0 8C6D0000 */ lw $t5, ($v1) +/* 00418AF4 01C25021 */ addu $t2, $t6, $v0 +/* 00418AF8 914C0000 */ lbu $t4, ($t2) +/* 00418AFC 0019C100 */ sll $t8, $t9, 4 +/* 00418B00 01B84821 */ addu $t1, $t5, $t8 +/* 00418B04 01225821 */ addu $t3, $t1, $v0 +/* 00418B08 A16CFFF0 */ sb $t4, -0x10($t3) +/* 00418B0C 8C8F0004 */ lw $t7, 4($a0) +/* 00418B10 8CAD0000 */ lw $t5, ($a1) +/* 00418B14 8C790000 */ lw $t9, ($v1) +/* 00418B18 01E27021 */ addu $t6, $t7, $v0 +/* 00418B1C 91CA0001 */ lbu $t2, 1($t6) +/* 00418B20 000DC100 */ sll $t8, $t5, 4 +/* 00418B24 03384821 */ addu $t1, $t9, $t8 +/* 00418B28 01226021 */ addu $t4, $t1, $v0 +/* 00418B2C A18AFFF1 */ sb $t2, -0xf($t4) +/* 00418B30 8CB90000 */ lw $t9, ($a1) +/* 00418B34 8C6D0000 */ lw $t5, ($v1) +/* 00418B38 8C8B0004 */ lw $t3, 4($a0) +/* 00418B3C 0019C100 */ sll $t8, $t9, 4 +/* 00418B40 01B84821 */ addu $t1, $t5, $t8 +/* 00418B44 01627821 */ addu $t7, $t3, $v0 +/* 00418B48 91EE0002 */ lbu $t6, 2($t7) +/* 00418B4C 01225021 */ addu $t2, $t1, $v0 +/* 00418B50 24420004 */ addiu $v0, $v0, 4 +/* 00418B54 1447FFDB */ bne $v0, $a3, .L00418AC4 +/* 00418B58 A14EFFF2 */ sb $t6, -0xe($t2) +.L00418B5C: +/* 00418B5C 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 00418B60 8CA60000 */ lw $a2, ($a1) +/* 00418B64 8D8C0000 */ lw $t4, ($t4) +/* 00418B68 55860008 */ bnel $t4, $a2, .L00418B8C +/* 00418B6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00418B70 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418B74 0320F809 */ jalr $t9 +/* 00418B78 00000000 */ nop +/* 00418B7C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418B80 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 00418B84 8CA60000 */ lw $a2, ($a1) +/* 00418B88 8FBF001C */ lw $ra, 0x1c($sp) +.L00418B8C: +/* 00418B8C 24CB0001 */ addiu $t3, $a2, 1 +/* 00418B90 ACAB0000 */ sw $t3, ($a1) +/* 00418B94 03E00008 */ jr $ra +/* 00418B98 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_itext, @function + .size emit_itext, .-emit_itext + .end emit_itext + +glabel demit_itext + .ent demit_itext + # 00420810 gen_entry_exit +/* 00418B9C 3C1C0FC0 */ .cpload $t9 +/* 00418BA0 279C6EB4 */ +/* 00418BA4 0399E021 */ +/* 00418BA8 8F858984 */ lw $a1, %got(d_ptr)($gp) +/* 00418BAC 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00418BB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00418BB4 8CAF0000 */ lw $t7, ($a1) +/* 00418BB8 8C6E0000 */ lw $t6, ($v1) +/* 00418BBC AFBF001C */ sw $ra, 0x1c($sp) +/* 00418BC0 000FC100 */ sll $t8, $t7, 4 +/* 00418BC4 AFBC0018 */ sw $gp, 0x18($sp) +/* 00418BC8 01D81021 */ addu $v0, $t6, $t8 +/* 00418BCC 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00418BD0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418BD4 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 00418BD8 352A0015 */ ori $t2, $t1, 0x15 +/* 00418BDC A04A0005 */ sb $t2, 5($v0) +/* 00418BE0 8CAC0000 */ lw $t4, ($a1) +/* 00418BE4 8C6B0000 */ lw $t3, ($v1) +/* 00418BE8 000C6900 */ sll $t5, $t4, 4 +/* 00418BEC 016D7821 */ addu $t7, $t3, $t5 +/* 00418BF0 ADE0FFF0 */ sw $zero, -0x10($t7) +/* 00418BF4 8CB90000 */ lw $t9, ($a1) +/* 00418BF8 8C780000 */ lw $t8, ($v1) +/* 00418BFC 8C8E0000 */ lw $t6, ($a0) +/* 00418C00 00194900 */ sll $t1, $t9, 4 +/* 00418C04 8F8C897C */ lw $t4, %got(i_ptr)($gp) +/* 00418C08 03095021 */ addu $t2, $t8, $t1 +/* 00418C0C AD4EFFF8 */ sw $t6, -8($t2) +/* 00418C10 8CA60000 */ lw $a2, ($a1) +/* 00418C14 8D8C0000 */ lw $t4, ($t4) +/* 00418C18 1586000A */ bne $t4, $a2, .L00418C44 +/* 00418C1C 00000000 */ nop +/* 00418C20 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418C24 AFA40020 */ sw $a0, 0x20($sp) +/* 00418C28 0320F809 */ jalr $t9 +/* 00418C2C 00000000 */ nop +/* 00418C30 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418C34 8FA40020 */ lw $a0, 0x20($sp) +/* 00418C38 8F858984 */ lw $a1, %got(d_ptr)($gp) +/* 00418C3C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00418C40 8CA60000 */ lw $a2, ($a1) +.L00418C44: +/* 00418C44 8F898038 */ lw $t1, %got(RO_1000965C)($gp) +/* 00418C48 24CBFFFF */ addiu $t3, $a2, -1 +/* 00418C4C ACAB0000 */ sw $t3, ($a1) +/* 00418C50 8CAF0000 */ lw $t7, ($a1) +/* 00418C54 2529965C */ addiu $t1, %lo(RO_1000965C) # addiu $t1, $t1, -0x69a4 +/* 00418C58 8C6D0000 */ lw $t5, ($v1) +/* 00418C5C 892A0000 */ lwl $t2, ($t1) +/* 00418C60 992A0003 */ lwr $t2, 3($t1) +/* 00418C64 000FC900 */ sll $t9, $t7, 4 +/* 00418C68 01B9C021 */ addu $t8, $t5, $t9 +/* 00418C6C AB0AFFF0 */ swl $t2, -0x10($t8) +/* 00418C70 BB0AFFF3 */ swr $t2, -0xd($t8) +/* 00418C74 892E0004 */ lwl $t6, 4($t1) +/* 00418C78 992E0007 */ lwr $t6, 7($t1) +/* 00418C7C AB0EFFF4 */ swl $t6, -0xc($t8) +/* 00418C80 BB0EFFF7 */ swr $t6, -9($t8) +/* 00418C84 892A0008 */ lwl $t2, 8($t1) +/* 00418C88 992A000B */ lwr $t2, 0xb($t1) +/* 00418C8C AB0AFFF8 */ swl $t2, -8($t8) +/* 00418C90 BB0AFFFB */ swr $t2, -5($t8) +/* 00418C94 892E000C */ lwl $t6, 0xc($t1) +/* 00418C98 992E000F */ lwr $t6, 0xf($t1) +/* 00418C9C AB0EFFFC */ swl $t6, -4($t8) +/* 00418CA0 BB0EFFFF */ swr $t6, -1($t8) +/* 00418CA4 8C870000 */ lw $a3, ($a0) +/* 00418CA8 10E00039 */ beqz $a3, .L00418D90 +/* 00418CAC 24E70001 */ addiu $a3, $a3, 1 +/* 00418CB0 24E8FFFF */ addiu $t0, $a3, -1 +/* 00418CB4 31080003 */ andi $t0, $t0, 3 +/* 00418CB8 1100000F */ beqz $t0, .L00418CF8 +/* 00418CBC 24020001 */ li $v0, 1 +/* 00418CC0 25060001 */ addiu $a2, $t0, 1 +.L00418CC4: +/* 00418CC4 8CB90000 */ lw $t9, ($a1) +/* 00418CC8 8C8C0004 */ lw $t4, 4($a0) +/* 00418CCC 8C6D0000 */ lw $t5, ($v1) +/* 00418CD0 0019C100 */ sll $t8, $t9, 4 +/* 00418CD4 01825821 */ addu $t3, $t4, $v0 +/* 00418CD8 01B84821 */ addu $t1, $t5, $t8 +/* 00418CDC 916FFFFF */ lbu $t7, -1($t3) +/* 00418CE0 01227021 */ addu $t6, $t1, $v0 +/* 00418CE4 24420001 */ addiu $v0, $v0, 1 +/* 00418CE8 14C2FFF6 */ bne $a2, $v0, .L00418CC4 +/* 00418CEC A1CFFFEF */ sb $t7, -0x11($t6) +/* 00418CF0 10470027 */ beq $v0, $a3, .L00418D90 +/* 00418CF4 00000000 */ nop +.L00418CF8: +/* 00418CF8 8C8A0004 */ lw $t2, 4($a0) +/* 00418CFC 8CAD0000 */ lw $t5, ($a1) +/* 00418D00 8C790000 */ lw $t9, ($v1) +/* 00418D04 01426021 */ addu $t4, $t2, $v0 +/* 00418D08 918BFFFF */ lbu $t3, -1($t4) +/* 00418D0C 000DC100 */ sll $t8, $t5, 4 +/* 00418D10 03384821 */ addu $t1, $t9, $t8 +/* 00418D14 01227821 */ addu $t7, $t1, $v0 +/* 00418D18 A1EBFFEF */ sb $t3, -0x11($t7) +/* 00418D1C 8C8E0004 */ lw $t6, 4($a0) +/* 00418D20 8CB90000 */ lw $t9, ($a1) +/* 00418D24 8C6D0000 */ lw $t5, ($v1) +/* 00418D28 01C25021 */ addu $t2, $t6, $v0 +/* 00418D2C 914C0000 */ lbu $t4, ($t2) +/* 00418D30 0019C100 */ sll $t8, $t9, 4 +/* 00418D34 01B84821 */ addu $t1, $t5, $t8 +/* 00418D38 01225821 */ addu $t3, $t1, $v0 +/* 00418D3C A16CFFF0 */ sb $t4, -0x10($t3) +/* 00418D40 8C8F0004 */ lw $t7, 4($a0) +/* 00418D44 8CAD0000 */ lw $t5, ($a1) +/* 00418D48 8C790000 */ lw $t9, ($v1) +/* 00418D4C 01E27021 */ addu $t6, $t7, $v0 +/* 00418D50 91CA0001 */ lbu $t2, 1($t6) +/* 00418D54 000DC100 */ sll $t8, $t5, 4 +/* 00418D58 03384821 */ addu $t1, $t9, $t8 +/* 00418D5C 01226021 */ addu $t4, $t1, $v0 +/* 00418D60 A18AFFF1 */ sb $t2, -0xf($t4) +/* 00418D64 8CB90000 */ lw $t9, ($a1) +/* 00418D68 8C6D0000 */ lw $t5, ($v1) +/* 00418D6C 8C8B0004 */ lw $t3, 4($a0) +/* 00418D70 0019C100 */ sll $t8, $t9, 4 +/* 00418D74 01B84821 */ addu $t1, $t5, $t8 +/* 00418D78 01627821 */ addu $t7, $t3, $v0 +/* 00418D7C 91EE0002 */ lbu $t6, 2($t7) +/* 00418D80 01225021 */ addu $t2, $t1, $v0 +/* 00418D84 24420004 */ addiu $v0, $v0, 4 +/* 00418D88 1447FFDB */ bne $v0, $a3, .L00418CF8 +/* 00418D8C A14EFFF2 */ sb $t6, -0xe($t2) +.L00418D90: +/* 00418D90 8F8C897C */ lw $t4, %got(i_ptr)($gp) +/* 00418D94 8CA60000 */ lw $a2, ($a1) +/* 00418D98 8D8C0000 */ lw $t4, ($t4) +/* 00418D9C 55860008 */ bnel $t4, $a2, .L00418DC0 +/* 00418DA0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00418DA4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418DA8 0320F809 */ jalr $t9 +/* 00418DAC 00000000 */ nop +/* 00418DB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418DB4 8F858984 */ lw $a1, %got(d_ptr)($gp) +/* 00418DB8 8CA60000 */ lw $a2, ($a1) +/* 00418DBC 8FBF001C */ lw $ra, 0x1c($sp) +.L00418DC0: +/* 00418DC0 24CBFFFF */ addiu $t3, $a2, -1 +/* 00418DC4 ACAB0000 */ sw $t3, ($a1) +/* 00418DC8 03E00008 */ jr $ra +/* 00418DCC 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_itext, @function + .size demit_itext, .-demit_itext + .end demit_itext + +glabel emit_dir0 + .ent emit_dir0 + # 0041A940 emit_cpload + # 0041D1E8 func_0041D1E8 + # 0041D39C func_0041D39C + # 0041DDE0 func_0041DDE0 + # 0041E468 dw_emit_rrr + # 0041E800 func_0041E800 + # 0041EA00 func_0041EA00 + # 0041F194 func_0041F194 + # 00420360 func_00420360 + # 00421170 gen_entry + # 00422764 gen_reg_save + # 00426EF0 iloadistore + # 00427538 func_00427538 + # 00427620 rloadrstore + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + # 0043DFB0 gen_sym +/* 00418DD0 3C1C0FC0 */ .cpload $t9 +/* 00418DD4 279C6C80 */ +/* 00418DD8 0399E021 */ +/* 00418DDC 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00418DE0 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 00418DE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00418DE8 8CEF0000 */ lw $t7, ($a3) +/* 00418DEC 8CCE0000 */ lw $t6, ($a2) +/* 00418DF0 AFBF001C */ sw $ra, 0x1c($sp) +/* 00418DF4 000FC100 */ sll $t8, $t7, 4 +/* 00418DF8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00418DFC AFA40020 */ sw $a0, 0x20($sp) +/* 00418E00 01D81021 */ addu $v0, $t6, $t8 +/* 00418E04 9043FFF5 */ lbu $v1, -0xb($v0) +/* 00418E08 2C8C0040 */ sltiu $t4, $a0, 0x40 +/* 00418E0C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418E10 0003CE80 */ sll $t9, $v1, 0x1a +/* 00418E14 00194682 */ srl $t0, $t9, 0x1a +/* 00418E18 00884826 */ xor $t1, $a0, $t0 +/* 00418E1C 312A003F */ andi $t2, $t1, 0x3f +/* 00418E20 01435826 */ xor $t3, $t2, $v1 +/* 00418E24 11800009 */ beqz $t4, .L00418E4C +/* 00418E28 A04B0005 */ sb $t3, 5($v0) +/* 00418E2C 8F8E8038 */ lw $t6, %got(D_1001362C)($gp) +/* 00418E30 00046943 */ sra $t5, $a0, 5 +/* 00418E34 000D7880 */ sll $t7, $t5, 2 +/* 00418E38 25CE362C */ addiu $t6, %lo(D_1001362C) # addiu $t6, $t6, 0x362c +/* 00418E3C 01CFC021 */ addu $t8, $t6, $t7 +/* 00418E40 8F190000 */ lw $t9, ($t8) +/* 00418E44 00994004 */ sllv $t0, $t9, $a0 +/* 00418E48 290C0000 */ slti $t4, $t0, 0 +.L00418E4C: +/* 00418E4C 5180000D */ beql $t4, $zero, .L00418E84 +/* 00418E50 8CEC0000 */ lw $t4, ($a3) +/* 00418E54 8CEB0000 */ lw $t3, ($a3) +/* 00418E58 8CCA0000 */ lw $t2, ($a2) +/* 00418E5C 000B6900 */ sll $t5, $t3, 4 +/* 00418E60 014D7021 */ addu $t6, $t2, $t5 +/* 00418E64 ADC0FFF0 */ sw $zero, -0x10($t6) +/* 00418E68 8CF80000 */ lw $t8, ($a3) +/* 00418E6C 8CCF0000 */ lw $t7, ($a2) +/* 00418E70 0018C900 */ sll $t9, $t8, 4 +/* 00418E74 01F94021 */ addu $t0, $t7, $t9 +/* 00418E78 10000010 */ b .L00418EBC +/* 00418E7C AD05FFF8 */ sw $a1, -8($t0) +/* 00418E80 8CEC0000 */ lw $t4, ($a3) +.L00418E84: +/* 00418E84 8CC90000 */ lw $t1, ($a2) +/* 00418E88 000C5900 */ sll $t3, $t4, 4 +/* 00418E8C 012B5021 */ addu $t2, $t1, $t3 +/* 00418E90 AD45FFF0 */ sw $a1, -0x10($t2) +/* 00418E94 8CEE0000 */ lw $t6, ($a3) +/* 00418E98 8CCD0000 */ lw $t5, ($a2) +/* 00418E9C 000EC100 */ sll $t8, $t6, 4 +/* 00418EA0 01B87821 */ addu $t7, $t5, $t8 +/* 00418EA4 ADE0FFF8 */ sw $zero, -8($t7) +/* 00418EA8 8CE80000 */ lw $t0, ($a3) +/* 00418EAC 8CD90000 */ lw $t9, ($a2) +/* 00418EB0 00086100 */ sll $t4, $t0, 4 +/* 00418EB4 032C4821 */ addu $t1, $t9, $t4 +/* 00418EB8 AD20FFF8 */ sw $zero, -8($t1) +.L00418EBC: +/* 00418EBC 8CEA0000 */ lw $t2, ($a3) +/* 00418EC0 8CCB0000 */ lw $t3, ($a2) +/* 00418EC4 8F988984 */ lw $t8, %got(d_ptr)($gp) +/* 00418EC8 000A7100 */ sll $t6, $t2, 4 +/* 00418ECC 016E6821 */ addu $t5, $t3, $t6 +/* 00418ED0 ADA0FFFC */ sw $zero, -4($t5) +/* 00418ED4 8CE20000 */ lw $v0, ($a3) +/* 00418ED8 8F180000 */ lw $t8, ($t8) +/* 00418EDC 57020008 */ bnel $t8, $v0, .L00418F00 +/* 00418EE0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00418EE4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418EE8 0320F809 */ jalr $t9 +/* 00418EEC 00000000 */ nop +/* 00418EF0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418EF4 8F87897C */ lw $a3, %got(i_ptr)($gp) +/* 00418EF8 8CE20000 */ lw $v0, ($a3) +/* 00418EFC 8FBF001C */ lw $ra, 0x1c($sp) +.L00418F00: +/* 00418F00 244F0001 */ addiu $t7, $v0, 1 +/* 00418F04 ACEF0000 */ sw $t7, ($a3) +/* 00418F08 03E00008 */ jr $ra +/* 00418F0C 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_dir0, @function + .size emit_dir0, .-emit_dir0 + .end emit_dir0 + +glabel emit_dir1 + .ent emit_dir1 + # 00421170 gen_entry + # 0042BDAC eval +/* 00418F10 3C1C0FC0 */ .cpload $t9 +/* 00418F14 279C6B40 */ +/* 00418F18 0399E021 */ +/* 00418F1C 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00418F20 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00418F24 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00418F28 8D2F0000 */ lw $t7, ($t1) +/* 00418F2C 8D0E0000 */ lw $t6, ($t0) +/* 00418F30 AFBF001C */ sw $ra, 0x1c($sp) +/* 00418F34 000FC100 */ sll $t8, $t7, 4 +/* 00418F38 AFBC0018 */ sw $gp, 0x18($sp) +/* 00418F3C AFA40020 */ sw $a0, 0x20($sp) +/* 00418F40 01D81021 */ addu $v0, $t6, $t8 +/* 00418F44 9043FFF5 */ lbu $v1, -0xb($v0) +/* 00418F48 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00418F4C 0003CE80 */ sll $t9, $v1, 0x1a +/* 00418F50 00195682 */ srl $t2, $t9, 0x1a +/* 00418F54 008A5826 */ xor $t3, $a0, $t2 +/* 00418F58 316C003F */ andi $t4, $t3, 0x3f +/* 00418F5C 01836826 */ xor $t5, $t4, $v1 +/* 00418F60 A04D0005 */ sb $t5, 5($v0) +/* 00418F64 8D2E0000 */ lw $t6, ($t1) +/* 00418F68 8D0F0000 */ lw $t7, ($t0) +/* 00418F6C 000EC100 */ sll $t8, $t6, 4 +/* 00418F70 01F8C821 */ addu $t9, $t7, $t8 +/* 00418F74 AF26FFF8 */ sw $a2, -8($t9) +/* 00418F78 8D2B0000 */ lw $t3, ($t1) +/* 00418F7C 8D0A0000 */ lw $t2, ($t0) +/* 00418F80 8F8E8984 */ lw $t6, %got(d_ptr)($gp) +/* 00418F84 000B6100 */ sll $t4, $t3, 4 +/* 00418F88 014C6821 */ addu $t5, $t2, $t4 +/* 00418F8C ADA5FFF0 */ sw $a1, -0x10($t5) +/* 00418F90 8D270000 */ lw $a3, ($t1) +/* 00418F94 8DCE0000 */ lw $t6, ($t6) +/* 00418F98 55C70008 */ bnel $t6, $a3, .L00418FBC +/* 00418F9C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00418FA0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00418FA4 0320F809 */ jalr $t9 +/* 00418FA8 00000000 */ nop +/* 00418FAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00418FB0 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00418FB4 8D270000 */ lw $a3, ($t1) +/* 00418FB8 8FBF001C */ lw $ra, 0x1c($sp) +.L00418FBC: +/* 00418FBC 24EF0001 */ addiu $t7, $a3, 1 +/* 00418FC0 AD2F0000 */ sw $t7, ($t1) +/* 00418FC4 03E00008 */ jr $ra +/* 00418FC8 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_dir1, @function + .size emit_dir1, .-emit_dir1 + .end emit_dir1 + +glabel emit_dir2 + .ent emit_dir2 + # 0042BDAC eval +/* 00418FCC 3C1C0FC0 */ .cpload $t9 +/* 00418FD0 279C6A84 */ +/* 00418FD4 0399E021 */ +/* 00418FD8 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00418FDC 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00418FE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00418FE4 8D2F0000 */ lw $t7, ($t1) +/* 00418FE8 8D0E0000 */ lw $t6, ($t0) +/* 00418FEC AFBF001C */ sw $ra, 0x1c($sp) +/* 00418FF0 000FC100 */ sll $t8, $t7, 4 +/* 00418FF4 AFBC0018 */ sw $gp, 0x18($sp) +/* 00418FF8 AFA40020 */ sw $a0, 0x20($sp) +/* 00418FFC 01D81021 */ addu $v0, $t6, $t8 +/* 00419000 9043FFF5 */ lbu $v1, -0xb($v0) +/* 00419004 2401001C */ li $at, 28 +/* 00419008 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041900C 0003CE80 */ sll $t9, $v1, 0x1a +/* 00419010 00195682 */ srl $t2, $t9, 0x1a +/* 00419014 008A5826 */ xor $t3, $a0, $t2 +/* 00419018 316C003F */ andi $t4, $t3, 0x3f +/* 0041901C 01836826 */ xor $t5, $t4, $v1 +/* 00419020 A04D0005 */ sb $t5, 5($v0) +/* 00419024 8D2E0000 */ lw $t6, ($t1) +/* 00419028 8D0F0000 */ lw $t7, ($t0) +/* 0041902C 248AFFCE */ addiu $t2, $a0, -0x32 +/* 00419030 000EC100 */ sll $t8, $t6, 4 +/* 00419034 01F8C821 */ addu $t9, $t7, $t8 +/* 00419038 1081000B */ beq $a0, $at, .L00419068 +/* 0041903C AF25FFF0 */ sw $a1, -0x10($t9) +/* 00419040 2D410002 */ sltiu $at, $t2, 2 +/* 00419044 5020002A */ beql $at, $zero, .L004190F0 +/* 00419048 8D2B0000 */ lw $t3, ($t1) +/* 0041904C 8F818038 */ lw $at, %got(jtbl_1000966C)($gp) +/* 00419050 000A5080 */ sll $t2, $t2, 2 +/* 00419054 002A0821 */ addu $at, $at, $t2 +/* 00419058 8C2A966C */ lw $t2, %lo(jtbl_1000966C)($at) +/* 0041905C 015C5021 */ addu $t2, $t2, $gp +/* 00419060 01400008 */ jr $t2 +/* 00419064 00000000 */ nop +.L00419068: +/* 00419068 8D2C0000 */ lw $t4, ($t1) +/* 0041906C 8D0B0000 */ lw $t3, ($t0) +/* 00419070 000C6900 */ sll $t5, $t4, 4 +/* 00419074 016D7021 */ addu $t6, $t3, $t5 +/* 00419078 ADC6FFF8 */ sw $a2, -8($t6) +/* 0041907C 8D380000 */ lw $t8, ($t1) +/* 00419080 8D0F0000 */ lw $t7, ($t0) +/* 00419084 0018C900 */ sll $t9, $t8, 4 +/* 00419088 01F95021 */ addu $t2, $t7, $t9 +/* 0041908C 10000021 */ b .L00419114 +/* 00419090 AD47FFFC */ sw $a3, -4($t2) +.L00419094: +/* 00419094 8D2B0000 */ lw $t3, ($t1) +/* 00419098 8D0C0000 */ lw $t4, ($t0) +/* 0041909C 000B6900 */ sll $t5, $t3, 4 +/* 004190A0 018D7021 */ addu $t6, $t4, $t5 +/* 004190A4 ADC6FFF8 */ sw $a2, -8($t6) +/* 004190A8 8D2F0000 */ lw $t7, ($t1) +/* 004190AC 8D180000 */ lw $t8, ($t0) +/* 004190B0 000FC900 */ sll $t9, $t7, 4 +/* 004190B4 03195021 */ addu $t2, $t8, $t9 +/* 004190B8 10000016 */ b .L00419114 +/* 004190BC AD47FFFC */ sw $a3, -4($t2) +.L004190C0: +/* 004190C0 8D2C0000 */ lw $t4, ($t1) +/* 004190C4 8D0B0000 */ lw $t3, ($t0) +/* 004190C8 000C6900 */ sll $t5, $t4, 4 +/* 004190CC 016D7021 */ addu $t6, $t3, $t5 +/* 004190D0 ADC6FFF8 */ sw $a2, -8($t6) +/* 004190D4 8D380000 */ lw $t8, ($t1) +/* 004190D8 8D0F0000 */ lw $t7, ($t0) +/* 004190DC 0018C900 */ sll $t9, $t8, 4 +/* 004190E0 01F95021 */ addu $t2, $t7, $t9 +/* 004190E4 1000000B */ b .L00419114 +/* 004190E8 AD47FFFC */ sw $a3, -4($t2) +/* 004190EC 8D2B0000 */ lw $t3, ($t1) +.L004190F0: +/* 004190F0 8D0C0000 */ lw $t4, ($t0) +/* 004190F4 000B6900 */ sll $t5, $t3, 4 +/* 004190F8 018D7021 */ addu $t6, $t4, $t5 +/* 004190FC ADC6FFF8 */ sw $a2, -8($t6) +/* 00419100 8D2F0000 */ lw $t7, ($t1) +/* 00419104 8D180000 */ lw $t8, ($t0) +/* 00419108 000FC900 */ sll $t9, $t7, 4 +/* 0041910C 03195021 */ addu $t2, $t8, $t9 +/* 00419110 AD47FFFC */ sw $a3, -4($t2) +.L00419114: +/* 00419114 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 00419118 8D220000 */ lw $v0, ($t1) +/* 0041911C 8D6B0000 */ lw $t3, ($t3) +/* 00419120 55620008 */ bnel $t3, $v0, .L00419144 +/* 00419124 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419128 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041912C 0320F809 */ jalr $t9 +/* 00419130 00000000 */ nop +/* 00419134 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419138 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 0041913C 8D220000 */ lw $v0, ($t1) +/* 00419140 8FBF001C */ lw $ra, 0x1c($sp) +.L00419144: +/* 00419144 244C0001 */ addiu $t4, $v0, 1 +/* 00419148 AD2C0000 */ sw $t4, ($t1) +/* 0041914C 03E00008 */ jr $ra +/* 00419150 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_dir2, @function + .size emit_dir2, .-emit_dir2 + .end emit_dir2 + +glabel emit_alias + .ent emit_alias + # 00428D14 eval_mov + # 0042BDAC eval +/* 00419154 3C1C0FC0 */ .cpload $t9 +/* 00419158 279C68FC */ +/* 0041915C 0399E021 */ +/* 00419160 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00419164 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00419168 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041916C 8D2F0000 */ lw $t7, ($t1) +/* 00419170 8D0E0000 */ lw $t6, ($t0) +/* 00419174 AFBF001C */ sw $ra, 0x1c($sp) +/* 00419178 000FC100 */ sll $t8, $t7, 4 +/* 0041917C AFBC0018 */ sw $gp, 0x18($sp) +/* 00419180 AFA40020 */ sw $a0, 0x20($sp) +/* 00419184 AFA50024 */ sw $a1, 0x24($sp) +/* 00419188 AFA60028 */ sw $a2, 0x28($sp) +/* 0041918C 01D81021 */ addu $v0, $t6, $t8 +/* 00419190 9047FFF5 */ lbu $a3, -0xb($v0) +/* 00419194 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419198 0007CE80 */ sll $t9, $a3, 0x1a +/* 0041919C 00195E82 */ srl $t3, $t9, 0x1a +/* 004191A0 008B6026 */ xor $t4, $a0, $t3 +/* 004191A4 318D003F */ andi $t5, $t4, 0x3f +/* 004191A8 01A77826 */ xor $t7, $t5, $a3 +/* 004191AC A04F0005 */ sb $t7, 5($v0) +/* 004191B0 8D380000 */ lw $t8, ($t1) +/* 004191B4 8D0E0000 */ lw $t6, ($t0) +/* 004191B8 0018C900 */ sll $t9, $t8, 4 +/* 004191BC 01D95821 */ addu $t3, $t6, $t9 +/* 004191C0 AD60FFF0 */ sw $zero, -0x10($t3) +/* 004191C4 8D2D0000 */ lw $t5, ($t1) +/* 004191C8 8D0C0000 */ lw $t4, ($t0) +/* 004191CC 000D7900 */ sll $t7, $t5, 4 +/* 004191D0 018F1021 */ addu $v0, $t4, $t7 +/* 004191D4 8C43FFF4 */ lw $v1, -0xc($v0) +/* 004191D8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004191DC 0003C400 */ sll $t8, $v1, 0x10 +/* 004191E0 00187642 */ srl $t6, $t8, 0x19 +/* 004191E4 00AEC826 */ xor $t9, $a1, $t6 +/* 004191E8 00195E40 */ sll $t3, $t9, 0x19 +/* 004191EC 000B6C02 */ srl $t5, $t3, 0x10 +/* 004191F0 01A36026 */ xor $t4, $t5, $v1 +/* 004191F4 AC4C0004 */ sw $t4, 4($v0) +/* 004191F8 8D380000 */ lw $t8, ($t1) +/* 004191FC 8D0F0000 */ lw $t7, ($t0) +/* 00419200 00187100 */ sll $t6, $t8, 4 +/* 00419204 01EE1021 */ addu $v0, $t7, $t6 +/* 00419208 8C43FFF4 */ lw $v1, -0xc($v0) +/* 0041920C 8F8E8984 */ lw $t6, %got(d_ptr)($gp) +/* 00419210 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419214 0003CDC0 */ sll $t9, $v1, 0x17 +/* 00419218 00195E42 */ srl $t3, $t9, 0x19 +/* 0041921C 00CB6826 */ xor $t5, $a2, $t3 +/* 00419220 000D6640 */ sll $t4, $t5, 0x19 +/* 00419224 000CC5C2 */ srl $t8, $t4, 0x17 +/* 00419228 03037826 */ xor $t7, $t8, $v1 +/* 0041922C AC4F0004 */ sw $t7, 4($v0) +/* 00419230 8D2A0000 */ lw $t2, ($t1) +/* 00419234 8DCE0000 */ lw $t6, ($t6) +/* 00419238 55CA0008 */ bnel $t6, $t2, .L0041925C +/* 0041923C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419240 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419244 0320F809 */ jalr $t9 +/* 00419248 00000000 */ nop +/* 0041924C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419250 8F89897C */ lw $t1, %got(i_ptr)($gp) +/* 00419254 8D2A0000 */ lw $t2, ($t1) +/* 00419258 8FBF001C */ lw $ra, 0x1c($sp) +.L0041925C: +/* 0041925C 25590001 */ addiu $t9, $t2, 1 +/* 00419260 AD390000 */ sw $t9, ($t1) +/* 00419264 03E00008 */ jr $ra +/* 00419268 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_alias, @function + .size emit_alias, .-emit_alias + .end emit_alias + +glabel emit_regmask + .ent emit_regmask + # 0042BDAC eval +/* 0041926C 3C1C0FC0 */ .cpload $t9 +/* 00419270 279C67E4 */ +/* 00419274 0399E021 */ +/* 00419278 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 0041927C 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 00419280 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419284 8D0F0000 */ lw $t7, ($t0) +/* 00419288 8CEE0000 */ lw $t6, ($a3) +/* 0041928C AFBF001C */ sw $ra, 0x1c($sp) +/* 00419290 000FC100 */ sll $t8, $t7, 4 +/* 00419294 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419298 AFA40020 */ sw $a0, 0x20($sp) +/* 0041929C 01D81021 */ addu $v0, $t6, $t8 +/* 004192A0 9043FFF5 */ lbu $v1, -0xb($v0) +/* 004192A4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004192A8 0003CE80 */ sll $t9, $v1, 0x1a +/* 004192AC 00195682 */ srl $t2, $t9, 0x1a +/* 004192B0 008A5826 */ xor $t3, $a0, $t2 +/* 004192B4 316C003F */ andi $t4, $t3, 0x3f +/* 004192B8 01836826 */ xor $t5, $t4, $v1 +/* 004192BC A04D0005 */ sb $t5, 5($v0) +/* 004192C0 8D0E0000 */ lw $t6, ($t0) +/* 004192C4 8CEF0000 */ lw $t7, ($a3) +/* 004192C8 000EC100 */ sll $t8, $t6, 4 +/* 004192CC 01F8C821 */ addu $t9, $t7, $t8 +/* 004192D0 AF20FFF0 */ sw $zero, -0x10($t9) +/* 004192D4 8D0B0000 */ lw $t3, ($t0) +/* 004192D8 8CEA0000 */ lw $t2, ($a3) +/* 004192DC 000B6100 */ sll $t4, $t3, 4 +/* 004192E0 014C6821 */ addu $t5, $t2, $t4 +/* 004192E4 ADA5FFF8 */ sw $a1, -8($t5) +/* 004192E8 8D0F0000 */ lw $t7, ($t0) +/* 004192EC 8CEE0000 */ lw $t6, ($a3) +/* 004192F0 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 004192F4 000FC100 */ sll $t8, $t7, 4 +/* 004192F8 01D8C821 */ addu $t9, $t6, $t8 +/* 004192FC AF26FFFC */ sw $a2, -4($t9) +/* 00419300 8D090000 */ lw $t1, ($t0) +/* 00419304 8D6B0000 */ lw $t3, ($t3) +/* 00419308 55690008 */ bnel $t3, $t1, .L0041932C +/* 0041930C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419310 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419314 0320F809 */ jalr $t9 +/* 00419318 00000000 */ nop +/* 0041931C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419320 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 00419324 8D090000 */ lw $t1, ($t0) +/* 00419328 8FBF001C */ lw $ra, 0x1c($sp) +.L0041932C: +/* 0041932C 252A0001 */ addiu $t2, $t1, 1 +/* 00419330 AD0A0000 */ sw $t2, ($t0) +/* 00419334 03E00008 */ jr $ra +/* 00419338 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_regmask, @function + .size emit_regmask, .-emit_regmask + .end emit_regmask + +glabel emit_loopno + .ent emit_loopno + # 0042BDAC eval +/* 0041933C 3C1C0FC0 */ .cpload $t9 +/* 00419340 279C6714 */ +/* 00419344 0399E021 */ +/* 00419348 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 0041934C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00419350 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419354 8CCF0000 */ lw $t7, ($a2) +/* 00419358 8C6E0000 */ lw $t6, ($v1) +/* 0041935C AFBF001C */ sw $ra, 0x1c($sp) +/* 00419360 000FC100 */ sll $t8, $t7, 4 +/* 00419364 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419368 01D81021 */ addu $v0, $t6, $t8 +/* 0041936C 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00419370 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419374 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 00419378 35090013 */ ori $t1, $t0, 0x13 +/* 0041937C A0490005 */ sb $t1, 5($v0) +/* 00419380 8CCB0000 */ lw $t3, ($a2) +/* 00419384 8C6A0000 */ lw $t2, ($v1) +/* 00419388 000B6100 */ sll $t4, $t3, 4 +/* 0041938C 014C6821 */ addu $t5, $t2, $t4 +/* 00419390 ADA4FFF8 */ sw $a0, -8($t5) +/* 00419394 8CCE0000 */ lw $t6, ($a2) +/* 00419398 8C6F0000 */ lw $t7, ($v1) +/* 0041939C 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 004193A0 000EC100 */ sll $t8, $t6, 4 +/* 004193A4 01F8C821 */ addu $t9, $t7, $t8 +/* 004193A8 AF25FFFC */ sw $a1, -4($t9) +/* 004193AC 8CC90000 */ lw $t1, ($a2) +/* 004193B0 8C680000 */ lw $t0, ($v1) +/* 004193B4 00095900 */ sll $t3, $t1, 4 +/* 004193B8 010B5021 */ addu $t2, $t0, $t3 +/* 004193BC AD40FFF0 */ sw $zero, -0x10($t2) +/* 004193C0 8CC70000 */ lw $a3, ($a2) +/* 004193C4 8D8C0000 */ lw $t4, ($t4) +/* 004193C8 55870008 */ bnel $t4, $a3, .L004193EC +/* 004193CC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004193D0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004193D4 0320F809 */ jalr $t9 +/* 004193D8 00000000 */ nop +/* 004193DC 8FBC0018 */ lw $gp, 0x18($sp) +/* 004193E0 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 004193E4 8CC70000 */ lw $a3, ($a2) +/* 004193E8 8FBF001C */ lw $ra, 0x1c($sp) +.L004193EC: +/* 004193EC 24ED0001 */ addiu $t5, $a3, 1 +/* 004193F0 ACCD0000 */ sw $t5, ($a2) +/* 004193F4 03E00008 */ jr $ra +/* 004193F8 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_loopno, @function + .size emit_loopno, .-emit_loopno + .end emit_loopno + +glabel emit_dir_ll + .ent emit_dir_ll + # 0042BDAC eval +/* 004193FC 3C1C0FC0 */ .cpload $t9 +/* 00419400 279C6654 */ +/* 00419404 0399E021 */ +/* 00419408 8F8E89E4 */ lw $t6, %got(pic_level)($gp) +/* 0041940C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419410 24010002 */ li $at, 2 +/* 00419414 8DCE0000 */ lw $t6, ($t6) +/* 00419418 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041941C AFBC0018 */ sw $gp, 0x18($sp) +/* 00419420 15C1000D */ bne $t6, $at, .L00419458 +/* 00419424 00A03825 */ move $a3, $a1 +/* 00419428 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 0041942C 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 00419430 8CB80000 */ lw $t8, ($a1) +/* 00419434 8CCF0000 */ lw $t7, ($a2) +/* 00419438 0018C900 */ sll $t9, $t8, 4 +/* 0041943C 01F91021 */ addu $v0, $t7, $t9 +/* 00419440 9048FFF5 */ lbu $t0, -0xb($v0) +/* 00419444 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419448 3109FFC0 */ andi $t1, $t0, 0xffc0 +/* 0041944C 352A0010 */ ori $t2, $t1, 0x10 +/* 00419450 1000000C */ b .L00419484 +/* 00419454 A04A0005 */ sb $t2, 5($v0) +.L00419458: +/* 00419458 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 0041945C 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 00419460 8CAC0000 */ lw $t4, ($a1) +/* 00419464 8CCB0000 */ lw $t3, ($a2) +/* 00419468 000C6900 */ sll $t5, $t4, 4 +/* 0041946C 016D1021 */ addu $v0, $t3, $t5 +/* 00419470 904EFFF5 */ lbu $t6, -0xb($v0) +/* 00419474 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419478 31D8FFC0 */ andi $t8, $t6, 0xffc0 +/* 0041947C 370F0016 */ ori $t7, $t8, 0x16 +/* 00419480 A04F0005 */ sb $t7, 5($v0) +.L00419484: +/* 00419484 8CA80000 */ lw $t0, ($a1) +/* 00419488 8CD90000 */ lw $t9, ($a2) +/* 0041948C 00084900 */ sll $t1, $t0, 4 +/* 00419490 03295021 */ addu $t2, $t9, $t1 +/* 00419494 AD47FFF8 */ sw $a3, -8($t2) +/* 00419498 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 0041949C 0320F809 */ jalr $t9 +/* 004194A0 00000000 */ nop +/* 004194A4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004194A8 24180001 */ li $t8, 1 +/* 004194AC 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 004194B0 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 004194B4 8F8A8984 */ lw $t2, %got(d_ptr)($gp) +/* 004194B8 8CAB0000 */ lw $t3, ($a1) +/* 004194BC 8CCC0000 */ lw $t4, ($a2) +/* 004194C0 000B6900 */ sll $t5, $t3, 4 +/* 004194C4 018D7021 */ addu $t6, $t4, $t5 +/* 004194C8 ADC2FFF0 */ sw $v0, -0x10($t6) +/* 004194CC 8CA80000 */ lw $t0, ($a1) +/* 004194D0 8CCF0000 */ lw $t7, ($a2) +/* 004194D4 0008C900 */ sll $t9, $t0, 4 +/* 004194D8 01F94821 */ addu $t1, $t7, $t9 +/* 004194DC AD38FFFC */ sw $t8, -4($t1) +/* 004194E0 8CA30000 */ lw $v1, ($a1) +/* 004194E4 8D4A0000 */ lw $t2, ($t2) +/* 004194E8 55430008 */ bnel $t2, $v1, .L0041950C +/* 004194EC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004194F0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004194F4 0320F809 */ jalr $t9 +/* 004194F8 00000000 */ nop +/* 004194FC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419500 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 00419504 8CA30000 */ lw $v1, ($a1) +/* 00419508 8FBF001C */ lw $ra, 0x1c($sp) +.L0041950C: +/* 0041950C 246B0001 */ addiu $t3, $v1, 1 +/* 00419510 ACAB0000 */ sw $t3, ($a1) +/* 00419514 03E00008 */ jr $ra +/* 00419518 27BD0020 */ addiu $sp, $sp, 0x20 + .type emit_dir_ll, @function + .size emit_dir_ll, .-emit_dir_ll + .end emit_dir_ll + +glabel demit_rob_ + .ent demit_rob_ + # 00420810 gen_entry_exit + # 00421564 home_parameters + # 004219E8 gen_reg_save_restore +/* 0041951C 3C1C0FC0 */ .cpload $t9 +/* 00419520 279C6534 */ +/* 00419524 0399E021 */ +/* 00419528 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 0041952C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00419530 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419534 8D2F0000 */ lw $t7, ($t1) +/* 00419538 8C6E0000 */ lw $t6, ($v1) +/* 0041953C AFBF001C */ sw $ra, 0x1c($sp) +/* 00419540 000FC100 */ sll $t8, $t7, 4 +/* 00419544 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419548 AFA40020 */ sw $a0, 0x20($sp) +/* 0041954C AFA50024 */ sw $a1, 0x24($sp) +/* 00419550 AFA7002C */ sw $a3, 0x2c($sp) +/* 00419554 01D81021 */ addu $v0, $t6, $t8 +/* 00419558 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041955C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419560 3C01FFFC */ lui $at, 0xfffc +/* 00419564 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 00419568 358D0017 */ ori $t5, $t4, 0x17 +/* 0041956C A04D0005 */ sb $t5, 5($v0) +/* 00419570 8D2E0000 */ lw $t6, ($t1) +/* 00419574 8C6F0000 */ lw $t7, ($v1) +/* 00419578 34213FFF */ ori $at, $at, 0x3fff +/* 0041957C 000EC100 */ sll $t8, $t6, 4 +/* 00419580 01F81021 */ addu $v0, $t7, $t8 +/* 00419584 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00419588 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041958C 000ACD80 */ sll $t9, $t2, 0x16 +/* 00419590 001965C2 */ srl $t4, $t9, 0x17 +/* 00419594 008C6826 */ xor $t5, $a0, $t4 +/* 00419598 000D75C0 */ sll $t6, $t5, 0x17 +/* 0041959C 000E7D82 */ srl $t7, $t6, 0x16 +/* 004195A0 01EAC026 */ xor $t8, $t7, $t2 +/* 004195A4 A4580006 */ sh $t8, 6($v0) +/* 004195A8 8D2C0000 */ lw $t4, ($t1) +/* 004195AC 8C790000 */ lw $t9, ($v1) +/* 004195B0 000C6900 */ sll $t5, $t4, 4 +/* 004195B4 032D1021 */ addu $v0, $t9, $t5 +/* 004195B8 8C4EFFF8 */ lw $t6, -8($v0) +/* 004195BC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004195C0 01C17824 */ and $t7, $t6, $at +/* 004195C4 AC4F0008 */ sw $t7, 8($v0) +/* 004195C8 8D2C0000 */ lw $t4, ($t1) +/* 004195CC 8C780000 */ lw $t8, ($v1) +/* 004195D0 2401C000 */ li $at, -16384 +/* 004195D4 000CC900 */ sll $t9, $t4, 4 +/* 004195D8 03196821 */ addu $t5, $t8, $t9 +/* 004195DC ADA0FFF0 */ sw $zero, -0x10($t5) +/* 004195E0 8D2F0000 */ lw $t7, ($t1) +/* 004195E4 8C6E0000 */ lw $t6, ($v1) +/* 004195E8 000F6100 */ sll $t4, $t7, 4 +/* 004195EC 01CC1021 */ addu $v0, $t6, $t4 +/* 004195F0 8C48FFF8 */ lw $t0, -8($v0) +/* 004195F4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004195F8 0008C642 */ srl $t8, $t0, 0x19 +/* 004195FC 00B8C826 */ xor $t9, $a1, $t8 +/* 00419600 00196E40 */ sll $t5, $t9, 0x19 +/* 00419604 01A87826 */ xor $t7, $t5, $t0 +/* 00419608 AC4F0008 */ sw $t7, 8($v0) +/* 0041960C 8D2C0000 */ lw $t4, ($t1) +/* 00419610 8C6E0000 */ lw $t6, ($v1) +/* 00419614 000CC100 */ sll $t8, $t4, 4 +/* 00419618 01D81021 */ addu $v0, $t6, $t8 +/* 0041961C 8C48FFF8 */ lw $t0, -8($v0) +/* 00419620 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419624 0008C9C0 */ sll $t9, $t0, 7 +/* 00419628 00196E42 */ srl $t5, $t9, 0x19 +/* 0041962C 00ED7826 */ xor $t7, $a3, $t5 +/* 00419630 000F6640 */ sll $t4, $t7, 0x19 +/* 00419634 000C71C2 */ srl $t6, $t4, 7 +/* 00419638 01C8C026 */ xor $t8, $t6, $t0 +/* 0041963C AC580008 */ sw $t8, 8($v0) +/* 00419640 8D2D0000 */ lw $t5, ($t1) +/* 00419644 8C790000 */ lw $t9, ($v1) +/* 00419648 000D7900 */ sll $t7, $t5, 4 +/* 0041964C 032F1021 */ addu $v0, $t9, $t7 +/* 00419650 8C4CFFF8 */ lw $t4, -8($v0) +/* 00419654 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419658 01817024 */ and $t6, $t4, $at +/* 0041965C AC4E0008 */ sw $t6, 8($v0) +/* 00419660 8D2D0000 */ lw $t5, ($t1) +/* 00419664 8C780000 */ lw $t8, ($v1) +/* 00419668 000DC900 */ sll $t9, $t5, 4 +/* 0041966C 03197821 */ addu $t7, $t8, $t9 +/* 00419670 ADE6FFFC */ sw $a2, -4($t7) +/* 00419674 8D2E0000 */ lw $t6, ($t1) +/* 00419678 8C6C0000 */ lw $t4, ($v1) +/* 0041967C 93B80033 */ lbu $t8, 0x33($sp) +/* 00419680 000E6900 */ sll $t5, $t6, 4 +/* 00419684 018D1021 */ addu $v0, $t4, $t5 +/* 00419688 8C4BFFF4 */ lw $t3, -0xc($v0) +/* 0041968C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419690 000BC9C0 */ sll $t9, $t3, 7 +/* 00419694 00197F42 */ srl $t7, $t9, 0x1d +/* 00419698 030F7026 */ xor $t6, $t8, $t7 +/* 0041969C 000E6740 */ sll $t4, $t6, 0x1d +/* 004196A0 000C69C2 */ srl $t5, $t4, 7 +/* 004196A4 8F98897C */ lw $t8, %got(i_ptr)($gp) +/* 004196A8 01ABC826 */ xor $t9, $t5, $t3 +/* 004196AC AC590004 */ sw $t9, 4($v0) +/* 004196B0 8D220000 */ lw $v0, ($t1) +/* 004196B4 8F180000 */ lw $t8, ($t8) +/* 004196B8 57020008 */ bnel $t8, $v0, .L004196DC +/* 004196BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004196C0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004196C4 0320F809 */ jalr $t9 +/* 004196C8 00000000 */ nop +/* 004196CC 8FBC0018 */ lw $gp, 0x18($sp) +/* 004196D0 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 004196D4 8D220000 */ lw $v0, ($t1) +/* 004196D8 8FBF001C */ lw $ra, 0x1c($sp) +.L004196DC: +/* 004196DC 244FFFFF */ addiu $t7, $v0, -1 +/* 004196E0 AD2F0000 */ sw $t7, ($t1) +/* 004196E4 03E00008 */ jr $ra +/* 004196E8 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_rob_, @function + .size demit_rob_, .-demit_rob_ + .end demit_rob_ + +glabel demit_ri + .ent demit_ri + # 00420810 gen_entry_exit +/* 004196EC 3C1C0FC0 */ .cpload $t9 +/* 004196F0 279C6364 */ +/* 004196F4 0399E021 */ +/* 004196F8 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 004196FC 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00419700 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419704 8D0F0000 */ lw $t7, ($t0) +/* 00419708 8C6E0000 */ lw $t6, ($v1) +/* 0041970C AFBF001C */ sw $ra, 0x1c($sp) +/* 00419710 000FC100 */ sll $t8, $t7, 4 +/* 00419714 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419718 AFA40020 */ sw $a0, 0x20($sp) +/* 0041971C AFA50024 */ sw $a1, 0x24($sp) +/* 00419720 AFA7002C */ sw $a3, 0x2c($sp) +/* 00419724 01D81021 */ addu $v0, $t6, $t8 +/* 00419728 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041972C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419730 3C01FFFC */ lui $at, 0xfffc +/* 00419734 332DFFC0 */ andi $t5, $t9, 0xffc0 +/* 00419738 35AF0017 */ ori $t7, $t5, 0x17 +/* 0041973C A04F0005 */ sb $t7, 5($v0) +/* 00419740 8D180000 */ lw $t8, ($t0) +/* 00419744 8C6E0000 */ lw $t6, ($v1) +/* 00419748 34213FFF */ ori $at, $at, 0x3fff +/* 0041974C 0018C900 */ sll $t9, $t8, 4 +/* 00419750 01D91021 */ addu $v0, $t6, $t9 +/* 00419754 9449FFF6 */ lhu $t1, -0xa($v0) +/* 00419758 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041975C 00096D80 */ sll $t5, $t1, 0x16 +/* 00419760 000D7DC2 */ srl $t7, $t5, 0x17 +/* 00419764 008FC026 */ xor $t8, $a0, $t7 +/* 00419768 001875C0 */ sll $t6, $t8, 0x17 +/* 0041976C 000ECD82 */ srl $t9, $t6, 0x16 +/* 00419770 03296826 */ xor $t5, $t9, $t1 +/* 00419774 A44D0006 */ sh $t5, 6($v0) +/* 00419778 8D180000 */ lw $t8, ($t0) +/* 0041977C 8C6F0000 */ lw $t7, ($v1) +/* 00419780 00187100 */ sll $t6, $t8, 4 +/* 00419784 01EE1021 */ addu $v0, $t7, $t6 +/* 00419788 8C59FFF8 */ lw $t9, -8($v0) +/* 0041978C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419790 03216824 */ and $t5, $t9, $at +/* 00419794 35B88000 */ ori $t8, $t5, 0x8000 +/* 00419798 AC580008 */ sw $t8, 8($v0) +/* 0041979C 8D0E0000 */ lw $t6, ($t0) +/* 004197A0 8C6F0000 */ lw $t7, ($v1) +/* 004197A4 3C01FE03 */ lui $at, 0xfe03 +/* 004197A8 000EC900 */ sll $t9, $t6, 4 +/* 004197AC 01F91021 */ addu $v0, $t7, $t9 +/* 004197B0 8C4AFFF8 */ lw $t2, -8($v0) +/* 004197B4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004197B8 3421FFFF */ ori $at, $at, 0xffff +/* 004197BC 000A6E42 */ srl $t5, $t2, 0x19 +/* 004197C0 00ADC026 */ xor $t8, $a1, $t5 +/* 004197C4 00187640 */ sll $t6, $t8, 0x19 +/* 004197C8 01CA7826 */ xor $t7, $t6, $t2 +/* 004197CC AC4F0008 */ sw $t7, 8($v0) +/* 004197D0 8D0D0000 */ lw $t5, ($t0) +/* 004197D4 8C790000 */ lw $t9, ($v1) +/* 004197D8 000DC100 */ sll $t8, $t5, 4 +/* 004197DC 03381021 */ addu $v0, $t9, $t8 +/* 004197E0 8C4EFFF8 */ lw $t6, -8($v0) +/* 004197E4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004197E8 01C17824 */ and $t7, $t6, $at +/* 004197EC 3C010120 */ lui $at, 0x120 +/* 004197F0 01E16825 */ or $t5, $t7, $at +/* 004197F4 AC4D0008 */ sw $t5, 8($v0) +/* 004197F8 8D180000 */ lw $t8, ($t0) +/* 004197FC 8C790000 */ lw $t9, ($v1) +/* 00419800 00187100 */ sll $t6, $t8, 4 +/* 00419804 032E7821 */ addu $t7, $t9, $t6 +/* 00419808 ADE0FFF0 */ sw $zero, -0x10($t7) +/* 0041980C 8D180000 */ lw $t8, ($t0) +/* 00419810 8C6D0000 */ lw $t5, ($v1) +/* 00419814 0018C900 */ sll $t9, $t8, 4 +/* 00419818 01B97021 */ addu $t6, $t5, $t9 +/* 0041981C ADC6FFFC */ sw $a2, -4($t6) +/* 00419820 8D180000 */ lw $t8, ($t0) +/* 00419824 8C6F0000 */ lw $t7, ($v1) +/* 00419828 00186900 */ sll $t5, $t8, 4 +/* 0041982C 01ED1021 */ addu $v0, $t7, $t5 +/* 00419830 8C4BFFF4 */ lw $t3, -0xc($v0) +/* 00419834 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419838 000BC9C0 */ sll $t9, $t3, 7 +/* 0041983C 00197742 */ srl $t6, $t9, 0x1d +/* 00419840 00EEC026 */ xor $t8, $a3, $t6 +/* 00419844 00187F40 */ sll $t7, $t8, 0x1d +/* 00419848 000F69C2 */ srl $t5, $t7, 7 +/* 0041984C 8F8E897C */ lw $t6, %got(i_ptr)($gp) +/* 00419850 01ABC826 */ xor $t9, $t5, $t3 +/* 00419854 AC590004 */ sw $t9, 4($v0) +/* 00419858 8D0C0000 */ lw $t4, ($t0) +/* 0041985C 8DCE0000 */ lw $t6, ($t6) +/* 00419860 55CC0008 */ bnel $t6, $t4, .L00419884 +/* 00419864 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419868 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041986C 0320F809 */ jalr $t9 +/* 00419870 00000000 */ nop +/* 00419874 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419878 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 0041987C 8D0C0000 */ lw $t4, ($t0) +/* 00419880 8FBF001C */ lw $ra, 0x1c($sp) +.L00419884: +/* 00419884 2598FFFF */ addiu $t8, $t4, -1 +/* 00419888 AD180000 */ sw $t8, ($t0) +/* 0041988C 03E00008 */ jr $ra +/* 00419890 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_ri, @function + .size demit_ri, .-demit_ri + .end demit_ri + +glabel demit_rr + .ent demit_rr + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 004219E8 gen_reg_save_restore +/* 00419894 3C1C0FC0 */ .cpload $t9 +/* 00419898 279C61BC */ +/* 0041989C 0399E021 */ +/* 004198A0 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 004198A4 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 004198A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004198AC 8D0F0000 */ lw $t7, ($t0) +/* 004198B0 8CEE0000 */ lw $t6, ($a3) +/* 004198B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 004198B8 000FC100 */ sll $t8, $t7, 4 +/* 004198BC AFBC0018 */ sw $gp, 0x18($sp) +/* 004198C0 AFA40020 */ sw $a0, 0x20($sp) +/* 004198C4 AFA50024 */ sw $a1, 0x24($sp) +/* 004198C8 AFA60028 */ sw $a2, 0x28($sp) +/* 004198CC 01D81021 */ addu $v0, $t6, $t8 +/* 004198D0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 004198D4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 004198D8 3C01FFFC */ lui $at, 0xfffc +/* 004198DC 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 004198E0 356C0017 */ ori $t4, $t3, 0x17 +/* 004198E4 A04C0005 */ sb $t4, 5($v0) +/* 004198E8 8D0F0000 */ lw $t7, ($t0) +/* 004198EC 8CED0000 */ lw $t5, ($a3) +/* 004198F0 34213FFF */ ori $at, $at, 0x3fff +/* 004198F4 000F7100 */ sll $t6, $t7, 4 +/* 004198F8 01AE1021 */ addu $v0, $t5, $t6 +/* 004198FC 9449FFF6 */ lhu $t1, -0xa($v0) +/* 00419900 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419904 0009C580 */ sll $t8, $t1, 0x16 +/* 00419908 0018CDC2 */ srl $t9, $t8, 0x17 +/* 0041990C 00995826 */ xor $t3, $a0, $t9 +/* 00419910 000B65C0 */ sll $t4, $t3, 0x17 +/* 00419914 000C7D82 */ srl $t7, $t4, 0x16 +/* 00419918 01E96826 */ xor $t5, $t7, $t1 +/* 0041991C A44D0006 */ sh $t5, 6($v0) +/* 00419920 8D180000 */ lw $t8, ($t0) +/* 00419924 8CEE0000 */ lw $t6, ($a3) +/* 00419928 0018C900 */ sll $t9, $t8, 4 +/* 0041992C 01D91021 */ addu $v0, $t6, $t9 +/* 00419930 8C4BFFF8 */ lw $t3, -8($v0) +/* 00419934 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419938 01616024 */ and $t4, $t3, $at +/* 0041993C 3C010001 */ lui $at, 1 +/* 00419940 34214000 */ ori $at, $at, 0x4000 +/* 00419944 01817825 */ or $t7, $t4, $at +/* 00419948 AC4F0008 */ sw $t7, 8($v0) +/* 0041994C 8D180000 */ lw $t8, ($t0) +/* 00419950 8CED0000 */ lw $t5, ($a3) +/* 00419954 00187100 */ sll $t6, $t8, 4 +/* 00419958 01AE1021 */ addu $v0, $t5, $t6 +/* 0041995C 8C43FFF8 */ lw $v1, -8($v0) +/* 00419960 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419964 0003CE42 */ srl $t9, $v1, 0x19 +/* 00419968 00B95826 */ xor $t3, $a1, $t9 +/* 0041996C 000B6640 */ sll $t4, $t3, 0x19 +/* 00419970 01837826 */ xor $t7, $t4, $v1 +/* 00419974 AC4F0008 */ sw $t7, 8($v0) +/* 00419978 8D0D0000 */ lw $t5, ($t0) +/* 0041997C 8CF80000 */ lw $t8, ($a3) +/* 00419980 000D7100 */ sll $t6, $t5, 4 +/* 00419984 030E1021 */ addu $v0, $t8, $t6 +/* 00419988 8C43FFF8 */ lw $v1, -8($v0) +/* 0041998C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419990 0003C9C0 */ sll $t9, $v1, 7 +/* 00419994 00195E42 */ srl $t3, $t9, 0x19 +/* 00419998 00CB6026 */ xor $t4, $a2, $t3 +/* 0041999C 000C7E40 */ sll $t7, $t4, 0x19 +/* 004199A0 000F69C2 */ srl $t5, $t7, 7 +/* 004199A4 01A3C026 */ xor $t8, $t5, $v1 +/* 004199A8 AC580008 */ sw $t8, 8($v0) +/* 004199AC 8D190000 */ lw $t9, ($t0) +/* 004199B0 8CEE0000 */ lw $t6, ($a3) +/* 004199B4 8F8F897C */ lw $t7, %got(i_ptr)($gp) +/* 004199B8 00195900 */ sll $t3, $t9, 4 +/* 004199BC 01CB6021 */ addu $t4, $t6, $t3 +/* 004199C0 AD80FFF0 */ sw $zero, -0x10($t4) +/* 004199C4 8D0A0000 */ lw $t2, ($t0) +/* 004199C8 8DEF0000 */ lw $t7, ($t7) +/* 004199CC 55EA0008 */ bnel $t7, $t2, .L004199F0 +/* 004199D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 004199D4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 004199D8 0320F809 */ jalr $t9 +/* 004199DC 00000000 */ nop +/* 004199E0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004199E4 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 004199E8 8D0A0000 */ lw $t2, ($t0) +/* 004199EC 8FBF001C */ lw $ra, 0x1c($sp) +.L004199F0: +/* 004199F0 254DFFFF */ addiu $t5, $t2, -1 +/* 004199F4 AD0D0000 */ sw $t5, ($t0) +/* 004199F8 03E00008 */ jr $ra +/* 004199FC 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_rr, @function + .size demit_rr, .-demit_rr + .end demit_rr + +glabel demit_a + .ent demit_a + # 00420810 gen_entry_exit +/* 00419A00 3C1C0FC0 */ .cpload $t9 +/* 00419A04 279C6050 */ +/* 00419A08 0399E021 */ +/* 00419A0C 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 00419A10 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 00419A14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419A18 8CEF0000 */ lw $t7, ($a3) +/* 00419A1C 8C6E0000 */ lw $t6, ($v1) +/* 00419A20 AFBF001C */ sw $ra, 0x1c($sp) +/* 00419A24 000FC100 */ sll $t8, $t7, 4 +/* 00419A28 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419A2C AFA40020 */ sw $a0, 0x20($sp) +/* 00419A30 01D81021 */ addu $v0, $t6, $t8 +/* 00419A34 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00419A38 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419A3C 3C01FFFC */ lui $at, 0xfffc +/* 00419A40 332AFFC0 */ andi $t2, $t9, 0xffc0 +/* 00419A44 354B0017 */ ori $t3, $t2, 0x17 +/* 00419A48 A04B0005 */ sb $t3, 5($v0) +/* 00419A4C 8CED0000 */ lw $t5, ($a3) +/* 00419A50 8C6C0000 */ lw $t4, ($v1) +/* 00419A54 34213FFF */ ori $at, $at, 0x3fff +/* 00419A58 000D7900 */ sll $t7, $t5, 4 +/* 00419A5C 018F1021 */ addu $v0, $t4, $t7 +/* 00419A60 9448FFF6 */ lhu $t0, -0xa($v0) +/* 00419A64 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419A68 00087580 */ sll $t6, $t0, 0x16 +/* 00419A6C 000EC5C2 */ srl $t8, $t6, 0x17 +/* 00419A70 0098C826 */ xor $t9, $a0, $t8 +/* 00419A74 001955C0 */ sll $t2, $t9, 0x17 +/* 00419A78 000A5D82 */ srl $t3, $t2, 0x16 +/* 00419A7C 01686826 */ xor $t5, $t3, $t0 +/* 00419A80 A44D0006 */ sh $t5, 6($v0) +/* 00419A84 8CEF0000 */ lw $t7, ($a3) +/* 00419A88 8C6C0000 */ lw $t4, ($v1) +/* 00419A8C 000F7100 */ sll $t6, $t7, 4 +/* 00419A90 018E1021 */ addu $v0, $t4, $t6 +/* 00419A94 8C58FFF8 */ lw $t8, -8($v0) +/* 00419A98 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419A9C 0301C824 */ and $t9, $t8, $at +/* 00419AA0 3C010001 */ lui $at, 1 +/* 00419AA4 34218000 */ ori $at, $at, 0x8000 +/* 00419AA8 03215025 */ or $t2, $t9, $at +/* 00419AAC AC4A0008 */ sw $t2, 8($v0) +/* 00419AB0 8CED0000 */ lw $t5, ($a3) +/* 00419AB4 8C6B0000 */ lw $t3, ($v1) +/* 00419AB8 3C0101FF */ lui $at, 0x1ff +/* 00419ABC 000D7900 */ sll $t7, $t5, 4 +/* 00419AC0 016F6021 */ addu $t4, $t3, $t7 +/* 00419AC4 AD85FFF0 */ sw $a1, -0x10($t4) +/* 00419AC8 8CF80000 */ lw $t8, ($a3) +/* 00419ACC 8C6E0000 */ lw $t6, ($v1) +/* 00419AD0 3421FFFF */ ori $at, $at, 0xffff +/* 00419AD4 0018C900 */ sll $t9, $t8, 4 +/* 00419AD8 01D95021 */ addu $t2, $t6, $t9 +/* 00419ADC AD46FFFC */ sw $a2, -4($t2) +/* 00419AE0 8CEB0000 */ lw $t3, ($a3) +/* 00419AE4 8C6D0000 */ lw $t5, ($v1) +/* 00419AE8 000B7900 */ sll $t7, $t3, 4 +/* 00419AEC 01AF1021 */ addu $v0, $t5, $t7 +/* 00419AF0 8C4CFFF8 */ lw $t4, -8($v0) +/* 00419AF4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419AF8 0181C024 */ and $t8, $t4, $at +/* 00419AFC 3C019000 */ lui $at, 0x9000 +/* 00419B00 03017025 */ or $t6, $t8, $at +/* 00419B04 AC4E0008 */ sw $t6, 8($v0) +/* 00419B08 8CEA0000 */ lw $t2, ($a3) +/* 00419B0C 8C790000 */ lw $t9, ($v1) +/* 00419B10 3C01FE03 */ lui $at, 0xfe03 +/* 00419B14 000A5900 */ sll $t3, $t2, 4 +/* 00419B18 032B1021 */ addu $v0, $t9, $t3 +/* 00419B1C 8C4DFFF8 */ lw $t5, -8($v0) +/* 00419B20 3421FFFF */ ori $at, $at, 0xffff +/* 00419B24 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419B28 01A17824 */ and $t7, $t5, $at +/* 00419B2C 3C010120 */ lui $at, 0x120 +/* 00419B30 01E16025 */ or $t4, $t7, $at +/* 00419B34 AC4C0008 */ sw $t4, 8($v0) +/* 00419B38 8CEE0000 */ lw $t6, ($a3) +/* 00419B3C 8C780000 */ lw $t8, ($v1) +/* 00419B40 3C01FE3F */ lui $at, 0xfe3f +/* 00419B44 000E5100 */ sll $t2, $t6, 4 +/* 00419B48 030A1021 */ addu $v0, $t8, $t2 +/* 00419B4C 8C59FFF4 */ lw $t9, -0xc($v0) +/* 00419B50 3421FFFF */ ori $at, $at, 0xffff +/* 00419B54 8F8D897C */ lw $t5, %got(i_ptr)($gp) +/* 00419B58 03215824 */ and $t3, $t9, $at +/* 00419B5C AC4BFFF4 */ sw $t3, -0xc($v0) +/* 00419B60 8CE90000 */ lw $t1, ($a3) +/* 00419B64 8DAD0000 */ lw $t5, ($t5) +/* 00419B68 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419B6C 55A90008 */ bnel $t5, $t1, .L00419B90 +/* 00419B70 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419B74 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419B78 0320F809 */ jalr $t9 +/* 00419B7C 00000000 */ nop +/* 00419B80 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419B84 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 00419B88 8CE90000 */ lw $t1, ($a3) +/* 00419B8C 8FBF001C */ lw $ra, 0x1c($sp) +.L00419B90: +/* 00419B90 252FFFFF */ addiu $t7, $t1, -1 +/* 00419B94 ACEF0000 */ sw $t7, ($a3) +/* 00419B98 03E00008 */ jr $ra +/* 00419B9C 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_a, @function + .size demit_a, .-demit_a + .end demit_a + +glabel demit_regmask + .ent demit_regmask + # 00420810 gen_entry_exit +/* 00419BA0 3C1C0FC0 */ .cpload $t9 +/* 00419BA4 279C5EB0 */ +/* 00419BA8 0399E021 */ +/* 00419BAC 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 00419BB0 8F878978 */ lw $a3, %got(ibuffer)($gp) +/* 00419BB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419BB8 8D0F0000 */ lw $t7, ($t0) +/* 00419BBC 8CEE0000 */ lw $t6, ($a3) +/* 00419BC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 00419BC4 000FC100 */ sll $t8, $t7, 4 +/* 00419BC8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419BCC AFA40020 */ sw $a0, 0x20($sp) +/* 00419BD0 01D81021 */ addu $v0, $t6, $t8 +/* 00419BD4 9043FFF5 */ lbu $v1, -0xb($v0) +/* 00419BD8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419BDC 0003CE80 */ sll $t9, $v1, 0x1a +/* 00419BE0 00195682 */ srl $t2, $t9, 0x1a +/* 00419BE4 008A5826 */ xor $t3, $a0, $t2 +/* 00419BE8 316C003F */ andi $t4, $t3, 0x3f +/* 00419BEC 01836826 */ xor $t5, $t4, $v1 +/* 00419BF0 A04D0005 */ sb $t5, 5($v0) +/* 00419BF4 8D0E0000 */ lw $t6, ($t0) +/* 00419BF8 8CEF0000 */ lw $t7, ($a3) +/* 00419BFC 000EC100 */ sll $t8, $t6, 4 +/* 00419C00 01F8C821 */ addu $t9, $t7, $t8 +/* 00419C04 AF20FFF0 */ sw $zero, -0x10($t9) +/* 00419C08 8D0B0000 */ lw $t3, ($t0) +/* 00419C0C 8CEA0000 */ lw $t2, ($a3) +/* 00419C10 000B6100 */ sll $t4, $t3, 4 +/* 00419C14 014C6821 */ addu $t5, $t2, $t4 +/* 00419C18 ADA5FFF8 */ sw $a1, -8($t5) +/* 00419C1C 8D0F0000 */ lw $t7, ($t0) +/* 00419C20 8CEE0000 */ lw $t6, ($a3) +/* 00419C24 8F8B897C */ lw $t3, %got(i_ptr)($gp) +/* 00419C28 000FC100 */ sll $t8, $t7, 4 +/* 00419C2C 01D8C821 */ addu $t9, $t6, $t8 +/* 00419C30 AF26FFFC */ sw $a2, -4($t9) +/* 00419C34 8D090000 */ lw $t1, ($t0) +/* 00419C38 8D6B0000 */ lw $t3, ($t3) +/* 00419C3C 552B0008 */ bnel $t1, $t3, .L00419C60 +/* 00419C40 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419C44 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419C48 0320F809 */ jalr $t9 +/* 00419C4C 00000000 */ nop +/* 00419C50 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419C54 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 00419C58 8D090000 */ lw $t1, ($t0) +/* 00419C5C 8FBF001C */ lw $ra, 0x1c($sp) +.L00419C60: +/* 00419C60 252AFFFF */ addiu $t2, $t1, -1 +/* 00419C64 AD0A0000 */ sw $t2, ($t0) +/* 00419C68 03E00008 */ jr $ra +/* 00419C6C 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_regmask, @function + .size demit_regmask, .-demit_regmask + .end demit_regmask + +glabel demit_rrr + .ent demit_rrr + # 00420810 gen_entry_exit +/* 00419C70 3C1C0FC0 */ .cpload $t9 +/* 00419C74 279C5DE0 */ +/* 00419C78 0399E021 */ +/* 00419C7C 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 00419C80 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00419C84 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419C88 8D2F0000 */ lw $t7, ($t1) +/* 00419C8C 8D0E0000 */ lw $t6, ($t0) +/* 00419C90 AFBF001C */ sw $ra, 0x1c($sp) +/* 00419C94 000FC100 */ sll $t8, $t7, 4 +/* 00419C98 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419C9C AFA40020 */ sw $a0, 0x20($sp) +/* 00419CA0 AFA50024 */ sw $a1, 0x24($sp) +/* 00419CA4 AFA60028 */ sw $a2, 0x28($sp) +/* 00419CA8 AFA7002C */ sw $a3, 0x2c($sp) +/* 00419CAC 01D81021 */ addu $v0, $t6, $t8 +/* 00419CB0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00419CB4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419CB8 3C01FFFC */ lui $at, 0xfffc +/* 00419CBC 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00419CC0 356C0017 */ ori $t4, $t3, 0x17 +/* 00419CC4 A04C0005 */ sb $t4, 5($v0) +/* 00419CC8 8D2F0000 */ lw $t7, ($t1) +/* 00419CCC 8D0D0000 */ lw $t5, ($t0) +/* 00419CD0 34213FFF */ ori $at, $at, 0x3fff +/* 00419CD4 000F7100 */ sll $t6, $t7, 4 +/* 00419CD8 01AE1021 */ addu $v0, $t5, $t6 +/* 00419CDC 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00419CE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419CE4 000AC580 */ sll $t8, $t2, 0x16 +/* 00419CE8 0018CDC2 */ srl $t9, $t8, 0x17 +/* 00419CEC 00995826 */ xor $t3, $a0, $t9 +/* 00419CF0 000B65C0 */ sll $t4, $t3, 0x17 +/* 00419CF4 000C7D82 */ srl $t7, $t4, 0x16 +/* 00419CF8 01EA6826 */ xor $t5, $t7, $t2 +/* 00419CFC A44D0006 */ sh $t5, 6($v0) +/* 00419D00 8D380000 */ lw $t8, ($t1) +/* 00419D04 8D0E0000 */ lw $t6, ($t0) +/* 00419D08 0018C900 */ sll $t9, $t8, 4 +/* 00419D0C 01D91021 */ addu $v0, $t6, $t9 +/* 00419D10 8C4BFFF8 */ lw $t3, -8($v0) +/* 00419D14 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419D18 01616024 */ and $t4, $t3, $at +/* 00419D1C 358FC000 */ ori $t7, $t4, 0xc000 +/* 00419D20 AC4F0008 */ sw $t7, 8($v0) +/* 00419D24 8D380000 */ lw $t8, ($t1) +/* 00419D28 8D0D0000 */ lw $t5, ($t0) +/* 00419D2C 00187100 */ sll $t6, $t8, 4 +/* 00419D30 01AEC821 */ addu $t9, $t5, $t6 +/* 00419D34 AF20FFF0 */ sw $zero, -0x10($t9) +/* 00419D38 8D2C0000 */ lw $t4, ($t1) +/* 00419D3C 8D0B0000 */ lw $t3, ($t0) +/* 00419D40 000C7900 */ sll $t7, $t4, 4 +/* 00419D44 016F1021 */ addu $v0, $t3, $t7 +/* 00419D48 8C43FFF8 */ lw $v1, -8($v0) +/* 00419D4C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419D50 0003C642 */ srl $t8, $v1, 0x19 +/* 00419D54 00B86826 */ xor $t5, $a1, $t8 +/* 00419D58 000D7640 */ sll $t6, $t5, 0x19 +/* 00419D5C 01C3C826 */ xor $t9, $t6, $v1 +/* 00419D60 AC590008 */ sw $t9, 8($v0) +/* 00419D64 8D2B0000 */ lw $t3, ($t1) +/* 00419D68 8D0C0000 */ lw $t4, ($t0) +/* 00419D6C 000B7900 */ sll $t7, $t3, 4 +/* 00419D70 018F1021 */ addu $v0, $t4, $t7 +/* 00419D74 8C43FFF8 */ lw $v1, -8($v0) +/* 00419D78 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419D7C 0003C1C0 */ sll $t8, $v1, 7 +/* 00419D80 00186E42 */ srl $t5, $t8, 0x19 +/* 00419D84 00CD7026 */ xor $t6, $a2, $t5 +/* 00419D88 000ECE40 */ sll $t9, $t6, 0x19 +/* 00419D8C 001959C2 */ srl $t3, $t9, 7 +/* 00419D90 01636026 */ xor $t4, $t3, $v1 +/* 00419D94 AC4C0008 */ sw $t4, 8($v0) +/* 00419D98 8D380000 */ lw $t8, ($t1) +/* 00419D9C 8D0F0000 */ lw $t7, ($t0) +/* 00419DA0 00186900 */ sll $t5, $t8, 4 +/* 00419DA4 01ED1021 */ addu $v0, $t7, $t5 +/* 00419DA8 8C43FFF8 */ lw $v1, -8($v0) +/* 00419DAC 8F8D897C */ lw $t5, %got(i_ptr)($gp) +/* 00419DB0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419DB4 00037480 */ sll $t6, $v1, 0x12 +/* 00419DB8 000ECE42 */ srl $t9, $t6, 0x19 +/* 00419DBC 00F95826 */ xor $t3, $a3, $t9 +/* 00419DC0 000B6640 */ sll $t4, $t3, 0x19 +/* 00419DC4 000CC482 */ srl $t8, $t4, 0x12 +/* 00419DC8 03037826 */ xor $t7, $t8, $v1 +/* 00419DCC AC4F0008 */ sw $t7, 8($v0) +/* 00419DD0 8D220000 */ lw $v0, ($t1) +/* 00419DD4 8DAD0000 */ lw $t5, ($t5) +/* 00419DD8 55A20008 */ bnel $t5, $v0, .L00419DFC +/* 00419DDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419DE0 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419DE4 0320F809 */ jalr $t9 +/* 00419DE8 00000000 */ nop +/* 00419DEC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419DF0 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 00419DF4 8D220000 */ lw $v0, ($t1) +/* 00419DF8 8FBF001C */ lw $ra, 0x1c($sp) +.L00419DFC: +/* 00419DFC 244EFFFF */ addiu $t6, $v0, -1 +/* 00419E00 AD2E0000 */ sw $t6, ($t1) +/* 00419E04 03E00008 */ jr $ra +/* 00419E08 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_rrr, @function + .size demit_rrr, .-demit_rrr + .end demit_rrr + +glabel demit_rri + .ent demit_rri + # 00420810 gen_entry_exit +/* 00419E0C 3C1C0FC0 */ .cpload $t9 +/* 00419E10 279C5C44 */ +/* 00419E14 0399E021 */ +/* 00419E18 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 00419E1C 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 00419E20 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419E24 8D2F0000 */ lw $t7, ($t1) +/* 00419E28 8D0E0000 */ lw $t6, ($t0) +/* 00419E2C AFBF001C */ sw $ra, 0x1c($sp) +/* 00419E30 000FC100 */ sll $t8, $t7, 4 +/* 00419E34 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419E38 AFA40020 */ sw $a0, 0x20($sp) +/* 00419E3C AFA50024 */ sw $a1, 0x24($sp) +/* 00419E40 AFA60028 */ sw $a2, 0x28($sp) +/* 00419E44 01D81021 */ addu $v0, $t6, $t8 +/* 00419E48 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00419E4C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419E50 3C01FFFC */ lui $at, 0xfffc +/* 00419E54 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 00419E58 358D0017 */ ori $t5, $t4, 0x17 +/* 00419E5C A04D0005 */ sb $t5, 5($v0) +/* 00419E60 8D2E0000 */ lw $t6, ($t1) +/* 00419E64 8D0F0000 */ lw $t7, ($t0) +/* 00419E68 34213FFF */ ori $at, $at, 0x3fff +/* 00419E6C 000EC100 */ sll $t8, $t6, 4 +/* 00419E70 01F81021 */ addu $v0, $t7, $t8 +/* 00419E74 944AFFF6 */ lhu $t2, -0xa($v0) +/* 00419E78 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419E7C 000ACD80 */ sll $t9, $t2, 0x16 +/* 00419E80 001965C2 */ srl $t4, $t9, 0x17 +/* 00419E84 008C6826 */ xor $t5, $a0, $t4 +/* 00419E88 000D75C0 */ sll $t6, $t5, 0x17 +/* 00419E8C 000E7D82 */ srl $t7, $t6, 0x16 +/* 00419E90 01EAC026 */ xor $t8, $t7, $t2 +/* 00419E94 A4580006 */ sh $t8, 6($v0) +/* 00419E98 8D2C0000 */ lw $t4, ($t1) +/* 00419E9C 8D190000 */ lw $t9, ($t0) +/* 00419EA0 000C6900 */ sll $t5, $t4, 4 +/* 00419EA4 032D1021 */ addu $v0, $t9, $t5 +/* 00419EA8 8C4EFFF8 */ lw $t6, -8($v0) +/* 00419EAC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419EB0 01C17824 */ and $t7, $t6, $at +/* 00419EB4 3C010001 */ lui $at, 1 +/* 00419EB8 01E1C025 */ or $t8, $t7, $at +/* 00419EBC AC580008 */ sw $t8, 8($v0) +/* 00419EC0 8D390000 */ lw $t9, ($t1) +/* 00419EC4 8D0C0000 */ lw $t4, ($t0) +/* 00419EC8 00196900 */ sll $t5, $t9, 4 +/* 00419ECC 018D1021 */ addu $v0, $t4, $t5 +/* 00419ED0 8C43FFF8 */ lw $v1, -8($v0) +/* 00419ED4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419ED8 00037642 */ srl $t6, $v1, 0x19 +/* 00419EDC 00AE7826 */ xor $t7, $a1, $t6 +/* 00419EE0 000FC640 */ sll $t8, $t7, 0x19 +/* 00419EE4 0303C826 */ xor $t9, $t8, $v1 +/* 00419EE8 AC590008 */ sw $t9, 8($v0) +/* 00419EEC 8D2D0000 */ lw $t5, ($t1) +/* 00419EF0 8D0C0000 */ lw $t4, ($t0) +/* 00419EF4 000D7100 */ sll $t6, $t5, 4 +/* 00419EF8 018E1021 */ addu $v0, $t4, $t6 +/* 00419EFC 8C43FFF8 */ lw $v1, -8($v0) +/* 00419F00 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419F04 000379C0 */ sll $t7, $v1, 7 +/* 00419F08 000FC642 */ srl $t8, $t7, 0x19 +/* 00419F0C 00D8C826 */ xor $t9, $a2, $t8 +/* 00419F10 00196E40 */ sll $t5, $t9, 0x19 +/* 00419F14 000D61C2 */ srl $t4, $t5, 7 +/* 00419F18 01837026 */ xor $t6, $t4, $v1 +/* 00419F1C AC4E0008 */ sw $t6, 8($v0) +/* 00419F20 8D380000 */ lw $t8, ($t1) +/* 00419F24 8D0F0000 */ lw $t7, ($t0) +/* 00419F28 0018C900 */ sll $t9, $t8, 4 +/* 00419F2C 01F96821 */ addu $t5, $t7, $t9 +/* 00419F30 ADA0FFF0 */ sw $zero, -0x10($t5) +/* 00419F34 8D2E0000 */ lw $t6, ($t1) +/* 00419F38 8D0C0000 */ lw $t4, ($t0) +/* 00419F3C 8F99897C */ lw $t9, %got(i_ptr)($gp) +/* 00419F40 000EC100 */ sll $t8, $t6, 4 +/* 00419F44 01987821 */ addu $t7, $t4, $t8 +/* 00419F48 ADE7FFFC */ sw $a3, -4($t7) +/* 00419F4C 8D2B0000 */ lw $t3, ($t1) +/* 00419F50 8F390000 */ lw $t9, ($t9) +/* 00419F54 572B0008 */ bnel $t9, $t3, .L00419F78 +/* 00419F58 8FBF001C */ lw $ra, 0x1c($sp) +/* 00419F5C 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 00419F60 0320F809 */ jalr $t9 +/* 00419F64 00000000 */ nop +/* 00419F68 8FBC0018 */ lw $gp, 0x18($sp) +/* 00419F6C 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 00419F70 8D2B0000 */ lw $t3, ($t1) +/* 00419F74 8FBF001C */ lw $ra, 0x1c($sp) +.L00419F78: +/* 00419F78 256DFFFF */ addiu $t5, $t3, -1 +/* 00419F7C AD2D0000 */ sw $t5, ($t1) +/* 00419F80 03E00008 */ jr $ra +/* 00419F84 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_rri, @function + .size demit_rri, .-demit_rri + .end demit_rri + +glabel demit_rrll + .ent demit_rrll + # 00420810 gen_entry_exit +/* 00419F88 3C1C0FC0 */ .cpload $t9 +/* 00419F8C 279C5AC8 */ +/* 00419F90 0399E021 */ +/* 00419F94 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 00419F98 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 00419F9C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00419FA0 8D0F0000 */ lw $t7, ($t0) +/* 00419FA4 8D4E0000 */ lw $t6, ($t2) +/* 00419FA8 AFBF001C */ sw $ra, 0x1c($sp) +/* 00419FAC 000FC100 */ sll $t8, $t7, 4 +/* 00419FB0 AFBC0018 */ sw $gp, 0x18($sp) +/* 00419FB4 AFA40020 */ sw $a0, 0x20($sp) +/* 00419FB8 AFA50024 */ sw $a1, 0x24($sp) +/* 00419FBC AFA60028 */ sw $a2, 0x28($sp) +/* 00419FC0 01D81021 */ addu $v0, $t6, $t8 +/* 00419FC4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 00419FC8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419FCC 3C01FFFC */ lui $at, 0xfffc +/* 00419FD0 332BFFC0 */ andi $t3, $t9, 0xffc0 +/* 00419FD4 356C0017 */ ori $t4, $t3, 0x17 +/* 00419FD8 A04C0005 */ sb $t4, 5($v0) +/* 00419FDC 8D0F0000 */ lw $t7, ($t0) +/* 00419FE0 8D4D0000 */ lw $t5, ($t2) +/* 00419FE4 97B80022 */ lhu $t8, 0x22($sp) +/* 00419FE8 000F7100 */ sll $t6, $t7, 4 +/* 00419FEC 01AE1021 */ addu $v0, $t5, $t6 +/* 00419FF0 9449FFF6 */ lhu $t1, -0xa($v0) +/* 00419FF4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00419FF8 34213FFF */ ori $at, $at, 0x3fff +/* 00419FFC 0009CD80 */ sll $t9, $t1, 0x16 +/* 0041A000 00195DC2 */ srl $t3, $t9, 0x17 +/* 0041A004 030B6026 */ xor $t4, $t8, $t3 +/* 0041A008 000C7DC0 */ sll $t7, $t4, 0x17 +/* 0041A00C 000F6D82 */ srl $t5, $t7, 0x16 +/* 0041A010 01A97026 */ xor $t6, $t5, $t1 +/* 0041A014 A44E0006 */ sh $t6, 6($v0) +/* 0041A018 8D180000 */ lw $t8, ($t0) +/* 0041A01C 8D590000 */ lw $t9, ($t2) +/* 0041A020 00E02025 */ move $a0, $a3 +/* 0041A024 00185900 */ sll $t3, $t8, 4 +/* 0041A028 032B1021 */ addu $v0, $t9, $t3 +/* 0041A02C 8C4CFFF8 */ lw $t4, -8($v0) +/* 0041A030 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A034 01817824 */ and $t7, $t4, $at +/* 0041A038 3C010002 */ lui $at, 2 +/* 0041A03C 01E16825 */ or $t5, $t7, $at +/* 0041A040 AC4D0008 */ sw $t5, 8($v0) +/* 0041A044 8D180000 */ lw $t8, ($t0) +/* 0041A048 8D4E0000 */ lw $t6, ($t2) +/* 0041A04C 0018C900 */ sll $t9, $t8, 4 +/* 0041A050 01D91021 */ addu $v0, $t6, $t9 +/* 0041A054 8C43FFF8 */ lw $v1, -8($v0) +/* 0041A058 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A05C 00035E42 */ srl $t3, $v1, 0x19 +/* 0041A060 00AB6026 */ xor $t4, $a1, $t3 +/* 0041A064 000C7E40 */ sll $t7, $t4, 0x19 +/* 0041A068 01E36826 */ xor $t5, $t7, $v1 +/* 0041A06C AC4D0008 */ sw $t5, 8($v0) +/* 0041A070 8D0E0000 */ lw $t6, ($t0) +/* 0041A074 8D580000 */ lw $t8, ($t2) +/* 0041A078 000EC900 */ sll $t9, $t6, 4 +/* 0041A07C 03191021 */ addu $v0, $t8, $t9 +/* 0041A080 8C43FFF8 */ lw $v1, -8($v0) +/* 0041A084 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A088 000359C0 */ sll $t3, $v1, 7 +/* 0041A08C 000B6642 */ srl $t4, $t3, 0x19 +/* 0041A090 00CC7826 */ xor $t7, $a2, $t4 +/* 0041A094 000F6E40 */ sll $t5, $t7, 0x19 +/* 0041A098 000D71C2 */ srl $t6, $t5, 7 +/* 0041A09C 01C3C026 */ xor $t8, $t6, $v1 +/* 0041A0A0 AC580008 */ sw $t8, 8($v0) +/* 0041A0A4 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 0041A0A8 0320F809 */ jalr $t9 +/* 0041A0AC 00000000 */ nop +/* 0041A0B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A0B4 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 0041A0B8 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 0041A0BC 8F8D897C */ lw $t5, %got(i_ptr)($gp) +/* 0041A0C0 8D0B0000 */ lw $t3, ($t0) +/* 0041A0C4 8D590000 */ lw $t9, ($t2) +/* 0041A0C8 000B6100 */ sll $t4, $t3, 4 +/* 0041A0CC 032C7821 */ addu $t7, $t9, $t4 +/* 0041A0D0 ADE2FFF0 */ sw $v0, -0x10($t7) +/* 0041A0D4 8D030000 */ lw $v1, ($t0) +/* 0041A0D8 8DAD0000 */ lw $t5, ($t5) +/* 0041A0DC 546D0008 */ bnel $v1, $t5, .L0041A100 +/* 0041A0E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A0E4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A0E8 0320F809 */ jalr $t9 +/* 0041A0EC 00000000 */ nop +/* 0041A0F0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A0F4 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 0041A0F8 8D030000 */ lw $v1, ($t0) +/* 0041A0FC 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A100: +/* 0041A100 246EFFFF */ addiu $t6, $v1, -1 +/* 0041A104 AD0E0000 */ sw $t6, ($t0) +/* 0041A108 03E00008 */ jr $ra +/* 0041A10C 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_rrll, @function + .size demit_rrll, .-demit_rrll + .end demit_rrll + +glabel demit_i + .ent demit_i + # 00420810 gen_entry_exit +/* 0041A110 3C1C0FC0 */ .cpload $t9 +/* 0041A114 279C5940 */ +/* 0041A118 0399E021 */ +/* 0041A11C 8F868984 */ lw $a2, %got(d_ptr)($gp) +/* 0041A120 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041A124 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A128 8CCF0000 */ lw $t7, ($a2) +/* 0041A12C 8C6E0000 */ lw $t6, ($v1) +/* 0041A130 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A134 000FC100 */ sll $t8, $t7, 4 +/* 0041A138 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A13C AFA40020 */ sw $a0, 0x20($sp) +/* 0041A140 01D81021 */ addu $v0, $t6, $t8 +/* 0041A144 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041A148 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A14C 3C01FFFC */ lui $at, 0xfffc +/* 0041A150 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 0041A154 352A0017 */ ori $t2, $t1, 0x17 +/* 0041A158 A04A0005 */ sb $t2, 5($v0) +/* 0041A15C 8CCC0000 */ lw $t4, ($a2) +/* 0041A160 8C6B0000 */ lw $t3, ($v1) +/* 0041A164 34213FFF */ ori $at, $at, 0x3fff +/* 0041A168 000C6900 */ sll $t5, $t4, 4 +/* 0041A16C 016D1021 */ addu $v0, $t3, $t5 +/* 0041A170 9447FFF6 */ lhu $a3, -0xa($v0) +/* 0041A174 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A178 00077D80 */ sll $t7, $a3, 0x16 +/* 0041A17C 000F75C2 */ srl $t6, $t7, 0x17 +/* 0041A180 008EC026 */ xor $t8, $a0, $t6 +/* 0041A184 0018CDC0 */ sll $t9, $t8, 0x17 +/* 0041A188 00194D82 */ srl $t1, $t9, 0x16 +/* 0041A18C 01275026 */ xor $t2, $t1, $a3 +/* 0041A190 A44A0006 */ sh $t2, 6($v0) +/* 0041A194 8CCB0000 */ lw $t3, ($a2) +/* 0041A198 8C6C0000 */ lw $t4, ($v1) +/* 0041A19C 000B6900 */ sll $t5, $t3, 4 +/* 0041A1A0 018D1021 */ addu $v0, $t4, $t5 +/* 0041A1A4 8C4FFFF8 */ lw $t7, -8($v0) +/* 0041A1A8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A1AC 01E17024 */ and $t6, $t7, $at +/* 0041A1B0 3C010003 */ lui $at, 3 +/* 0041A1B4 34214000 */ ori $at, $at, 0x4000 +/* 0041A1B8 01C1C025 */ or $t8, $t6, $at +/* 0041A1BC AC580008 */ sw $t8, 8($v0) +/* 0041A1C0 8CC90000 */ lw $t1, ($a2) +/* 0041A1C4 8C790000 */ lw $t9, ($v1) +/* 0041A1C8 3C0101FF */ lui $at, 0x1ff +/* 0041A1CC 00095100 */ sll $t2, $t1, 4 +/* 0041A1D0 032A5821 */ addu $t3, $t9, $t2 +/* 0041A1D4 AD65FFFC */ sw $a1, -4($t3) +/* 0041A1D8 8CCD0000 */ lw $t5, ($a2) +/* 0041A1DC 8C6C0000 */ lw $t4, ($v1) +/* 0041A1E0 3421FFFF */ ori $at, $at, 0xffff +/* 0041A1E4 000D7900 */ sll $t7, $t5, 4 +/* 0041A1E8 018F1021 */ addu $v0, $t4, $t7 +/* 0041A1EC 8C4EFFF8 */ lw $t6, -8($v0) +/* 0041A1F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A1F4 01C1C024 */ and $t8, $t6, $at +/* 0041A1F8 3C019000 */ lui $at, 0x9000 +/* 0041A1FC 03014825 */ or $t1, $t8, $at +/* 0041A200 AC490008 */ sw $t1, 8($v0) +/* 0041A204 8CCA0000 */ lw $t2, ($a2) +/* 0041A208 8C790000 */ lw $t9, ($v1) +/* 0041A20C 3C01FE03 */ lui $at, 0xfe03 +/* 0041A210 000A5900 */ sll $t3, $t2, 4 +/* 0041A214 032B1021 */ addu $v0, $t9, $t3 +/* 0041A218 8C4DFFF8 */ lw $t5, -8($v0) +/* 0041A21C 3421FFFF */ ori $at, $at, 0xffff +/* 0041A220 8F99897C */ lw $t9, %got(i_ptr)($gp) +/* 0041A224 01A16024 */ and $t4, $t5, $at +/* 0041A228 3C010120 */ lui $at, 0x120 +/* 0041A22C 01817825 */ or $t7, $t4, $at +/* 0041A230 AC4FFFF8 */ sw $t7, -8($v0) +/* 0041A234 8CD80000 */ lw $t8, ($a2) +/* 0041A238 8C6E0000 */ lw $t6, ($v1) +/* 0041A23C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A240 00184900 */ sll $t1, $t8, 4 +/* 0041A244 01C95021 */ addu $t2, $t6, $t1 +/* 0041A248 AD40FFF0 */ sw $zero, -0x10($t2) +/* 0041A24C 8CC80000 */ lw $t0, ($a2) +/* 0041A250 8F390000 */ lw $t9, ($t9) +/* 0041A254 55190008 */ bnel $t0, $t9, .L0041A278 +/* 0041A258 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A25C 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A260 0320F809 */ jalr $t9 +/* 0041A264 00000000 */ nop +/* 0041A268 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A26C 8F868984 */ lw $a2, %got(d_ptr)($gp) +/* 0041A270 8CC80000 */ lw $t0, ($a2) +/* 0041A274 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A278: +/* 0041A278 250BFFFF */ addiu $t3, $t0, -1 +/* 0041A27C ACCB0000 */ sw $t3, ($a2) +/* 0041A280 03E00008 */ jr $ra +/* 0041A284 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_i, @function + .size demit_i, .-demit_i + .end demit_i + +glabel demit_ra + .ent demit_ra + # 00420810 gen_entry_exit +/* 0041A288 3C1C0FC0 */ .cpload $t9 +/* 0041A28C 279C57C8 */ +/* 0041A290 0399E021 */ +/* 0041A294 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 0041A298 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041A29C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A2A0 8D0F0000 */ lw $t7, ($t0) +/* 0041A2A4 8C6E0000 */ lw $t6, ($v1) +/* 0041A2A8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A2AC 000FC100 */ sll $t8, $t7, 4 +/* 0041A2B0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A2B4 AFA40020 */ sw $a0, 0x20($sp) +/* 0041A2B8 AFA50024 */ sw $a1, 0x24($sp) +/* 0041A2BC 01D81021 */ addu $v0, $t6, $t8 +/* 0041A2C0 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041A2C4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A2C8 3C01FFFC */ lui $at, 0xfffc +/* 0041A2CC 332CFFC0 */ andi $t4, $t9, 0xffc0 +/* 0041A2D0 358D0017 */ ori $t5, $t4, 0x17 +/* 0041A2D4 A04D0005 */ sb $t5, 5($v0) +/* 0041A2D8 8D0E0000 */ lw $t6, ($t0) +/* 0041A2DC 8C6F0000 */ lw $t7, ($v1) +/* 0041A2E0 34213FFF */ ori $at, $at, 0x3fff +/* 0041A2E4 000EC100 */ sll $t8, $t6, 4 +/* 0041A2E8 01F81021 */ addu $v0, $t7, $t8 +/* 0041A2EC 9449FFF6 */ lhu $t1, -0xa($v0) +/* 0041A2F0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A2F4 0009CD80 */ sll $t9, $t1, 0x16 +/* 0041A2F8 001965C2 */ srl $t4, $t9, 0x17 +/* 0041A2FC 008C6826 */ xor $t5, $a0, $t4 +/* 0041A300 000D75C0 */ sll $t6, $t5, 0x17 +/* 0041A304 000E7D82 */ srl $t7, $t6, 0x16 +/* 0041A308 01E9C026 */ xor $t8, $t7, $t1 +/* 0041A30C A4580006 */ sh $t8, 6($v0) +/* 0041A310 8D0C0000 */ lw $t4, ($t0) +/* 0041A314 8C790000 */ lw $t9, ($v1) +/* 0041A318 000C6900 */ sll $t5, $t4, 4 +/* 0041A31C 032D1021 */ addu $v0, $t9, $t5 +/* 0041A320 8C4EFFF8 */ lw $t6, -8($v0) +/* 0041A324 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A328 01C17824 */ and $t7, $t6, $at +/* 0041A32C 35F84000 */ ori $t8, $t7, 0x4000 +/* 0041A330 AC580008 */ sw $t8, 8($v0) +/* 0041A334 8D190000 */ lw $t9, ($t0) +/* 0041A338 8C6C0000 */ lw $t4, ($v1) +/* 0041A33C 3C01FE03 */ lui $at, 0xfe03 +/* 0041A340 00196900 */ sll $t5, $t9, 4 +/* 0041A344 018D1021 */ addu $v0, $t4, $t5 +/* 0041A348 8C4AFFF8 */ lw $t2, -8($v0) +/* 0041A34C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A350 3421FFFF */ ori $at, $at, 0xffff +/* 0041A354 000A7642 */ srl $t6, $t2, 0x19 +/* 0041A358 00AE7826 */ xor $t7, $a1, $t6 +/* 0041A35C 000FC640 */ sll $t8, $t7, 0x19 +/* 0041A360 030AC826 */ xor $t9, $t8, $t2 +/* 0041A364 AC590008 */ sw $t9, 8($v0) +/* 0041A368 8D0D0000 */ lw $t5, ($t0) +/* 0041A36C 8C6C0000 */ lw $t4, ($v1) +/* 0041A370 000D7100 */ sll $t6, $t5, 4 +/* 0041A374 018E1021 */ addu $v0, $t4, $t6 +/* 0041A378 8C4FFFF8 */ lw $t7, -8($v0) +/* 0041A37C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A380 01E1C024 */ and $t8, $t7, $at +/* 0041A384 3C010120 */ lui $at, 0x120 +/* 0041A388 0301C825 */ or $t9, $t8, $at +/* 0041A38C AC590008 */ sw $t9, 8($v0) +/* 0041A390 8D0C0000 */ lw $t4, ($t0) +/* 0041A394 8C6D0000 */ lw $t5, ($v1) +/* 0041A398 000C7100 */ sll $t6, $t4, 4 +/* 0041A39C 01AE7821 */ addu $t7, $t5, $t6 +/* 0041A3A0 ADE6FFF0 */ sw $a2, -0x10($t7) +/* 0041A3A4 8D190000 */ lw $t9, ($t0) +/* 0041A3A8 8C780000 */ lw $t8, ($v1) +/* 0041A3AC 8F8E897C */ lw $t6, %got(i_ptr)($gp) +/* 0041A3B0 00196100 */ sll $t4, $t9, 4 +/* 0041A3B4 030C6821 */ addu $t5, $t8, $t4 +/* 0041A3B8 ADA7FFFC */ sw $a3, -4($t5) +/* 0041A3BC 8D0B0000 */ lw $t3, ($t0) +/* 0041A3C0 8DCE0000 */ lw $t6, ($t6) +/* 0041A3C4 556E0008 */ bnel $t3, $t6, .L0041A3E8 +/* 0041A3C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A3CC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A3D0 0320F809 */ jalr $t9 +/* 0041A3D4 00000000 */ nop +/* 0041A3D8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A3DC 8F888984 */ lw $t0, %got(d_ptr)($gp) +/* 0041A3E0 8D0B0000 */ lw $t3, ($t0) +/* 0041A3E4 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A3E8: +/* 0041A3E8 256FFFFF */ addiu $t7, $t3, -1 +/* 0041A3EC AD0F0000 */ sw $t7, ($t0) +/* 0041A3F0 03E00008 */ jr $ra +/* 0041A3F4 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_ra, @function + .size demit_ra, .-demit_ra + .end demit_ra + +glabel demit_dir0 + .ent demit_dir0 + # 0041A940 emit_cpload + # 00420810 gen_entry_exit + # 004219E8 gen_reg_save_restore + # 0042BDAC eval + # 004366E8 select_data_section + # 004367DC output_pool + # 0043FA38 choose_area + # 0043FBF8 emit_init + # 00440398 emit_symbol + # 00440800 output_entry_point + # 0044EC1C emit_val +/* 0041A3F8 3C1C0FC0 */ .cpload $t9 +/* 0041A3FC 279C5658 */ +/* 0041A400 0399E021 */ +/* 0041A404 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A408 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 0041A40C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A410 8CEF0000 */ lw $t7, ($a3) +/* 0041A414 8CCE0000 */ lw $t6, ($a2) +/* 0041A418 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A41C 000FC100 */ sll $t8, $t7, 4 +/* 0041A420 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A424 AFA40020 */ sw $a0, 0x20($sp) +/* 0041A428 01D81021 */ addu $v0, $t6, $t8 +/* 0041A42C 9043FFF5 */ lbu $v1, -0xb($v0) +/* 0041A430 2C8C0040 */ sltiu $t4, $a0, 0x40 +/* 0041A434 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A438 0003CE80 */ sll $t9, $v1, 0x1a +/* 0041A43C 00194682 */ srl $t0, $t9, 0x1a +/* 0041A440 00884826 */ xor $t1, $a0, $t0 +/* 0041A444 312A003F */ andi $t2, $t1, 0x3f +/* 0041A448 01435826 */ xor $t3, $t2, $v1 +/* 0041A44C 11800009 */ beqz $t4, .L0041A474 +/* 0041A450 A04B0005 */ sb $t3, 5($v0) +/* 0041A454 8F8E8038 */ lw $t6, %got(D_10013634)($gp) +/* 0041A458 00046943 */ sra $t5, $a0, 5 +/* 0041A45C 000D7880 */ sll $t7, $t5, 2 +/* 0041A460 25CE3634 */ addiu $t6, %lo(D_10013634) # addiu $t6, $t6, 0x3634 +/* 0041A464 01CFC021 */ addu $t8, $t6, $t7 +/* 0041A468 8F190000 */ lw $t9, ($t8) +/* 0041A46C 00994004 */ sllv $t0, $t9, $a0 +/* 0041A470 290C0000 */ slti $t4, $t0, 0 +.L0041A474: +/* 0041A474 5180000D */ beql $t4, $zero, .L0041A4AC +/* 0041A478 8CEC0000 */ lw $t4, ($a3) +/* 0041A47C 8CEB0000 */ lw $t3, ($a3) +/* 0041A480 8CCA0000 */ lw $t2, ($a2) +/* 0041A484 000B6900 */ sll $t5, $t3, 4 +/* 0041A488 014D7021 */ addu $t6, $t2, $t5 +/* 0041A48C ADC0FFF0 */ sw $zero, -0x10($t6) +/* 0041A490 8CF80000 */ lw $t8, ($a3) +/* 0041A494 8CCF0000 */ lw $t7, ($a2) +/* 0041A498 0018C900 */ sll $t9, $t8, 4 +/* 0041A49C 01F94021 */ addu $t0, $t7, $t9 +/* 0041A4A0 1000000B */ b .L0041A4D0 +/* 0041A4A4 AD05FFF8 */ sw $a1, -8($t0) +/* 0041A4A8 8CEC0000 */ lw $t4, ($a3) +.L0041A4AC: +/* 0041A4AC 8CC90000 */ lw $t1, ($a2) +/* 0041A4B0 000C5900 */ sll $t3, $t4, 4 +/* 0041A4B4 012B5021 */ addu $t2, $t1, $t3 +/* 0041A4B8 AD45FFF0 */ sw $a1, -0x10($t2) +/* 0041A4BC 8CEE0000 */ lw $t6, ($a3) +/* 0041A4C0 8CCD0000 */ lw $t5, ($a2) +/* 0041A4C4 000EC100 */ sll $t8, $t6, 4 +/* 0041A4C8 01B87821 */ addu $t7, $t5, $t8 +/* 0041A4CC ADE0FFF8 */ sw $zero, -8($t7) +.L0041A4D0: +/* 0041A4D0 8CE80000 */ lw $t0, ($a3) +/* 0041A4D4 8CD90000 */ lw $t9, ($a2) +/* 0041A4D8 8F8B897C */ lw $t3, %got(i_ptr)($gp) +/* 0041A4DC 00086100 */ sll $t4, $t0, 4 +/* 0041A4E0 032C4821 */ addu $t1, $t9, $t4 +/* 0041A4E4 AD20FFFC */ sw $zero, -4($t1) +/* 0041A4E8 8CE20000 */ lw $v0, ($a3) +/* 0041A4EC 8D6B0000 */ lw $t3, ($t3) +/* 0041A4F0 55620008 */ bnel $t3, $v0, .L0041A514 +/* 0041A4F4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A4F8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A4FC 0320F809 */ jalr $t9 +/* 0041A500 00000000 */ nop +/* 0041A504 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A508 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A50C 8CE20000 */ lw $v0, ($a3) +/* 0041A510 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A514: +/* 0041A514 244AFFFF */ addiu $t2, $v0, -1 +/* 0041A518 ACEA0000 */ sw $t2, ($a3) +/* 0041A51C 03E00008 */ jr $ra +/* 0041A520 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_dir0, @function + .size demit_dir0, .-demit_dir0 + .end demit_dir0 + +glabel demit_dir1 + .ent demit_dir1 + # 00420810 gen_entry_exit + # 0042BDAC eval + # 004367DC output_pool + # 0043FB94 force_alignment + # 0043FBF8 emit_init +/* 0041A524 3C1C0FC0 */ .cpload $t9 +/* 0041A528 279C552C */ +/* 0041A52C 0399E021 */ +/* 0041A530 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A534 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 0041A538 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A53C 8CEF0000 */ lw $t7, ($a3) +/* 0041A540 8D0E0000 */ lw $t6, ($t0) +/* 0041A544 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A548 000FC100 */ sll $t8, $t7, 4 +/* 0041A54C AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A550 AFA40020 */ sw $a0, 0x20($sp) +/* 0041A554 01D81021 */ addu $v0, $t6, $t8 +/* 0041A558 9043FFF5 */ lbu $v1, -0xb($v0) +/* 0041A55C 2401001B */ li $at, 27 +/* 0041A560 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A564 0003CE80 */ sll $t9, $v1, 0x1a +/* 0041A568 00194E82 */ srl $t1, $t9, 0x1a +/* 0041A56C 00895026 */ xor $t2, $a0, $t1 +/* 0041A570 314B003F */ andi $t3, $t2, 0x3f +/* 0041A574 01636026 */ xor $t4, $t3, $v1 +/* 0041A578 A04C0005 */ sb $t4, 5($v0) +/* 0041A57C 8CEF0000 */ lw $t7, ($a3) +/* 0041A580 8D0D0000 */ lw $t5, ($t0) +/* 0041A584 000F7100 */ sll $t6, $t7, 4 +/* 0041A588 01AEC021 */ addu $t8, $t5, $t6 +/* 0041A58C 1481000A */ bne $a0, $at, .L0041A5B8 +/* 0041A590 AF05FFF0 */ sw $a1, -0x10($t8) +/* 0041A594 8CE90000 */ lw $t1, ($a3) +.L0041A598: +/* 0041A598 8D190000 */ lw $t9, ($t0) +/* 0041A59C 00095100 */ sll $t2, $t1, 4 +/* 0041A5A0 032A5821 */ addu $t3, $t9, $t2 +/* 0041A5A4 1000000C */ b .L0041A5D8 +/* 0041A5A8 AD66FFF8 */ sw $a2, -8($t3) +/* 0041A5AC 2401001B */ li $at, 27 +/* 0041A5B0 5081FFF9 */ beql $a0, $at, .L0041A598 +/* 0041A5B4 8CE90000 */ lw $t1, ($a3) +.L0041A5B8: +/* 0041A5B8 2401003C */ li $at, 60 +/* 0041A5BC 5081FFF6 */ beql $a0, $at, .L0041A598 +/* 0041A5C0 8CE90000 */ lw $t1, ($a3) +/* 0041A5C4 8CEF0000 */ lw $t7, ($a3) +/* 0041A5C8 8D0C0000 */ lw $t4, ($t0) +/* 0041A5CC 000F6900 */ sll $t5, $t7, 4 +/* 0041A5D0 018D7021 */ addu $t6, $t4, $t5 +/* 0041A5D4 ADC6FFF8 */ sw $a2, -8($t6) +.L0041A5D8: +/* 0041A5D8 8F98897C */ lw $t8, %got(i_ptr)($gp) +/* 0041A5DC 8CE20000 */ lw $v0, ($a3) +/* 0041A5E0 8F180000 */ lw $t8, ($t8) +/* 0041A5E4 57020008 */ bnel $t8, $v0, .L0041A608 +/* 0041A5E8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A5EC 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A5F0 0320F809 */ jalr $t9 +/* 0041A5F4 00000000 */ nop +/* 0041A5F8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A5FC 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A600 8CE20000 */ lw $v0, ($a3) +/* 0041A604 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A608: +/* 0041A608 2449FFFF */ addiu $t1, $v0, -1 +/* 0041A60C ACE90000 */ sw $t1, ($a3) +/* 0041A610 03E00008 */ jr $ra +/* 0041A614 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_dir1, @function + .size demit_dir1, .-demit_dir1 + .end demit_dir1 + +glabel demit_dir2 + .ent demit_dir2 + # 00420810 gen_entry_exit + # 0042BDAC eval + # 00440398 emit_symbol +/* 0041A618 3C1C0FC0 */ .cpload $t9 +/* 0041A61C 279C5438 */ +/* 0041A620 0399E021 */ +/* 0041A624 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 0041A628 8F888978 */ lw $t0, %got(ibuffer)($gp) +/* 0041A62C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A630 8D2F0000 */ lw $t7, ($t1) +/* 0041A634 8D0E0000 */ lw $t6, ($t0) +/* 0041A638 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A63C 000FC100 */ sll $t8, $t7, 4 +/* 0041A640 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A644 AFA40020 */ sw $a0, 0x20($sp) +/* 0041A648 01D81021 */ addu $v0, $t6, $t8 +/* 0041A64C 9043FFF5 */ lbu $v1, -0xb($v0) +/* 0041A650 2C81001D */ sltiu $at, $a0, 0x1d +/* 0041A654 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A658 0003CE80 */ sll $t9, $v1, 0x1a +/* 0041A65C 00195682 */ srl $t2, $t9, 0x1a +/* 0041A660 008A5826 */ xor $t3, $a0, $t2 +/* 0041A664 316C003F */ andi $t4, $t3, 0x3f +/* 0041A668 01836826 */ xor $t5, $t4, $v1 +/* 0041A66C A04D0005 */ sb $t5, 5($v0) +/* 0041A670 8D2E0000 */ lw $t6, ($t1) +/* 0041A674 8D0F0000 */ lw $t7, ($t0) +/* 0041A678 248AFFD6 */ addiu $t2, $a0, -0x2a +/* 0041A67C 000EC100 */ sll $t8, $t6, 4 +/* 0041A680 01F8C821 */ addu $t9, $t7, $t8 +/* 0041A684 14200037 */ bnez $at, .L0041A764 +/* 0041A688 AF25FFF0 */ sw $a1, -0x10($t9) +/* 0041A68C 2D410004 */ sltiu $at, $t2, 4 +/* 0041A690 5020002A */ beql $at, $zero, .L0041A73C +/* 0041A694 8D2B0000 */ lw $t3, ($t1) +/* 0041A698 8F818038 */ lw $at, %got(jtbl_10009674)($gp) +/* 0041A69C 000A5080 */ sll $t2, $t2, 2 +/* 0041A6A0 002A0821 */ addu $at, $at, $t2 +/* 0041A6A4 8C2A9674 */ lw $t2, %lo(jtbl_10009674)($at) +/* 0041A6A8 015C5021 */ addu $t2, $t2, $gp +/* 0041A6AC 01400008 */ jr $t2 +/* 0041A6B0 00000000 */ nop +.L0041A6B4: +/* 0041A6B4 8D2C0000 */ lw $t4, ($t1) +/* 0041A6B8 8D0B0000 */ lw $t3, ($t0) +/* 0041A6BC 000C6900 */ sll $t5, $t4, 4 +/* 0041A6C0 016D7021 */ addu $t6, $t3, $t5 +/* 0041A6C4 ADC6FFF8 */ sw $a2, -8($t6) +/* 0041A6C8 8D380000 */ lw $t8, ($t1) +/* 0041A6CC 8D0F0000 */ lw $t7, ($t0) +/* 0041A6D0 0018C900 */ sll $t9, $t8, 4 +/* 0041A6D4 01F95021 */ addu $t2, $t7, $t9 +/* 0041A6D8 1000002E */ b .L0041A794 +/* 0041A6DC AD47FFFC */ sw $a3, -4($t2) +/* 0041A6E0 8D2B0000 */ lw $t3, ($t1) +.L0041A6E4: +/* 0041A6E4 8D0C0000 */ lw $t4, ($t0) +/* 0041A6E8 000B6900 */ sll $t5, $t3, 4 +/* 0041A6EC 018D7021 */ addu $t6, $t4, $t5 +/* 0041A6F0 ADC6FFF8 */ sw $a2, -8($t6) +/* 0041A6F4 8D2F0000 */ lw $t7, ($t1) +/* 0041A6F8 8D180000 */ lw $t8, ($t0) +/* 0041A6FC 000FC900 */ sll $t9, $t7, 4 +/* 0041A700 03195021 */ addu $t2, $t8, $t9 +/* 0041A704 10000023 */ b .L0041A794 +/* 0041A708 AD47FFFC */ sw $a3, -4($t2) +.L0041A70C: +/* 0041A70C 8D2C0000 */ lw $t4, ($t1) +.L0041A710: +/* 0041A710 8D0B0000 */ lw $t3, ($t0) +/* 0041A714 000C6900 */ sll $t5, $t4, 4 +/* 0041A718 016D7021 */ addu $t6, $t3, $t5 +/* 0041A71C ADC6FFF8 */ sw $a2, -8($t6) +/* 0041A720 8D380000 */ lw $t8, ($t1) +/* 0041A724 8D0F0000 */ lw $t7, ($t0) +/* 0041A728 0018C900 */ sll $t9, $t8, 4 +/* 0041A72C 01F95021 */ addu $t2, $t7, $t9 +/* 0041A730 10000018 */ b .L0041A794 +/* 0041A734 AD47FFFC */ sw $a3, -4($t2) +.L0041A738: +/* 0041A738 8D2B0000 */ lw $t3, ($t1) +.L0041A73C: +/* 0041A73C 8D0C0000 */ lw $t4, ($t0) +/* 0041A740 000B6900 */ sll $t5, $t3, 4 +/* 0041A744 018D7021 */ addu $t6, $t4, $t5 +/* 0041A748 ADC6FFF8 */ sw $a2, -8($t6) +/* 0041A74C 8D2F0000 */ lw $t7, ($t1) +/* 0041A750 8D180000 */ lw $t8, ($t0) +/* 0041A754 000FC900 */ sll $t9, $t7, 4 +/* 0041A758 03195021 */ addu $t2, $t8, $t9 +/* 0041A75C 1000000D */ b .L0041A794 +/* 0041A760 AD47FFFC */ sw $a3, -4($t2) +.L0041A764: +/* 0041A764 2C81000A */ sltiu $at, $a0, 0xa +/* 0041A768 10200005 */ beqz $at, .L0041A780 +/* 0041A76C 2C810008 */ sltiu $at, $a0, 8 +/* 0041A770 5020FFE7 */ beql $at, $zero, .L0041A710 +/* 0041A774 8D2C0000 */ lw $t4, ($t1) +/* 0041A778 1000FFF0 */ b .L0041A73C +/* 0041A77C 8D2B0000 */ lw $t3, ($t1) +.L0041A780: +/* 0041A780 2401001C */ li $at, 28 +/* 0041A784 5081FFD7 */ beql $a0, $at, .L0041A6E4 +/* 0041A788 8D2B0000 */ lw $t3, ($t1) +/* 0041A78C 1000FFEB */ b .L0041A73C +/* 0041A790 8D2B0000 */ lw $t3, ($t1) +.L0041A794: +/* 0041A794 8F8B897C */ lw $t3, %got(i_ptr)($gp) +/* 0041A798 8D220000 */ lw $v0, ($t1) +/* 0041A79C 8D6B0000 */ lw $t3, ($t3) +/* 0041A7A0 55620008 */ bnel $t3, $v0, .L0041A7C4 +/* 0041A7A4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A7A8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A7AC 0320F809 */ jalr $t9 +/* 0041A7B0 00000000 */ nop +/* 0041A7B4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A7B8 8F898984 */ lw $t1, %got(d_ptr)($gp) +/* 0041A7BC 8D220000 */ lw $v0, ($t1) +/* 0041A7C0 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A7C4: +/* 0041A7C4 244CFFFF */ addiu $t4, $v0, -1 +/* 0041A7C8 AD2C0000 */ sw $t4, ($t1) +/* 0041A7CC 03E00008 */ jr $ra +/* 0041A7D0 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_dir2, @function + .size demit_dir2, .-demit_dir2 + .end demit_dir2 + +glabel demit_edata + .ent demit_edata + # 0043DFB0 gen_sym + # 0043FA38 choose_area +/* 0041A7D4 3C1C0FC0 */ .cpload $t9 +/* 0041A7D8 279C527C */ +/* 0041A7DC 0399E021 */ +/* 0041A7E0 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A7E4 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041A7E8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A7EC 8CEF0000 */ lw $t7, ($a3) +/* 0041A7F0 8C6E0000 */ lw $t6, ($v1) +/* 0041A7F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A7F8 000FC100 */ sll $t8, $t7, 4 +/* 0041A7FC AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A800 01D81021 */ addu $v0, $t6, $t8 +/* 0041A804 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041A808 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A80C 3329FFC0 */ andi $t1, $t9, 0xffc0 +/* 0041A810 352A003D */ ori $t2, $t1, 0x3d +/* 0041A814 A04A0005 */ sb $t2, 5($v0) +/* 0041A818 8CEC0000 */ lw $t4, ($a3) +/* 0041A81C 8C6B0000 */ lw $t3, ($v1) +/* 0041A820 000C6900 */ sll $t5, $t4, 4 +/* 0041A824 016D7821 */ addu $t7, $t3, $t5 +/* 0041A828 ADE4FFF0 */ sw $a0, -0x10($t7) +/* 0041A82C 8CF80000 */ lw $t8, ($a3) +/* 0041A830 8C6E0000 */ lw $t6, ($v1) +/* 0041A834 8F8F897C */ lw $t7, %got(i_ptr)($gp) +/* 0041A838 0018C900 */ sll $t9, $t8, 4 +/* 0041A83C 01D94821 */ addu $t1, $t6, $t9 +/* 0041A840 AD25FFF8 */ sw $a1, -8($t1) +/* 0041A844 8CEC0000 */ lw $t4, ($a3) +/* 0041A848 8C6A0000 */ lw $t2, ($v1) +/* 0041A84C 000C5900 */ sll $t3, $t4, 4 +/* 0041A850 014B6821 */ addu $t5, $t2, $t3 +/* 0041A854 ADA6FFFC */ sw $a2, -4($t5) +/* 0041A858 8CE80000 */ lw $t0, ($a3) +/* 0041A85C 8DEF0000 */ lw $t7, ($t7) +/* 0041A860 55E80008 */ bnel $t7, $t0, .L0041A884 +/* 0041A864 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A868 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A86C 0320F809 */ jalr $t9 +/* 0041A870 00000000 */ nop +/* 0041A874 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A878 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A87C 8CE80000 */ lw $t0, ($a3) +/* 0041A880 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A884: +/* 0041A884 2518FFFF */ addiu $t8, $t0, -1 +/* 0041A888 ACF80000 */ sw $t8, ($a3) +/* 0041A88C 03E00008 */ jr $ra +/* 0041A890 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_edata, @function + .size demit_edata, .-demit_edata + .end demit_edata + +glabel demit_weakext + .ent demit_weakext + # 0043FBF8 emit_init + # 00440398 emit_symbol +/* 0041A894 3C1C0FC0 */ .cpload $t9 +/* 0041A898 279C51BC */ +/* 0041A89C 0399E021 */ +/* 0041A8A0 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A8A4 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 0041A8A8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041A8AC 8CEF0000 */ lw $t7, ($a3) +/* 0041A8B0 8CCE0000 */ lw $t6, ($a2) +/* 0041A8B4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A8B8 000FC100 */ sll $t8, $t7, 4 +/* 0041A8BC AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A8C0 01D81021 */ addu $v0, $t6, $t8 +/* 0041A8C4 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041A8C8 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041A8CC 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 0041A8D0 35090012 */ ori $t1, $t0, 0x12 +/* 0041A8D4 A0490005 */ sb $t1, 5($v0) +/* 0041A8D8 8CEB0000 */ lw $t3, ($a3) +/* 0041A8DC 8CCA0000 */ lw $t2, ($a2) +/* 0041A8E0 8F88897C */ lw $t0, %got(i_ptr)($gp) +/* 0041A8E4 000B6100 */ sll $t4, $t3, 4 +/* 0041A8E8 014C6821 */ addu $t5, $t2, $t4 +/* 0041A8EC ADA4FFF0 */ sw $a0, -0x10($t5) +/* 0041A8F0 8CEE0000 */ lw $t6, ($a3) +/* 0041A8F4 8CCF0000 */ lw $t7, ($a2) +/* 0041A8F8 000EC100 */ sll $t8, $t6, 4 +/* 0041A8FC 01F8C821 */ addu $t9, $t7, $t8 +/* 0041A900 AF25FFF8 */ sw $a1, -8($t9) +/* 0041A904 8CE30000 */ lw $v1, ($a3) +/* 0041A908 8D080000 */ lw $t0, ($t0) +/* 0041A90C 55030008 */ bnel $t0, $v1, .L0041A930 +/* 0041A910 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041A914 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041A918 0320F809 */ jalr $t9 +/* 0041A91C 00000000 */ nop +/* 0041A920 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A924 8F878984 */ lw $a3, %got(d_ptr)($gp) +/* 0041A928 8CE30000 */ lw $v1, ($a3) +/* 0041A92C 8FBF001C */ lw $ra, 0x1c($sp) +.L0041A930: +/* 0041A930 2469FFFF */ addiu $t1, $v1, -1 +/* 0041A934 ACE90000 */ sw $t1, ($a3) +/* 0041A938 03E00008 */ jr $ra +/* 0041A93C 27BD0020 */ addiu $sp, $sp, 0x20 + .type demit_weakext, @function + .size demit_weakext, .-demit_weakext + .end demit_weakext + +glabel emit_cpload + .ent emit_cpload + # 00420810 gen_entry_exit + # 00421170 gen_entry +/* 0041A940 3C1C0FC0 */ .cpload $t9 +/* 0041A944 279C5110 */ +/* 0041A948 0399E021 */ +/* 0041A94C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041A950 AFA00024 */ sw $zero, 0x24($sp) +/* 0041A954 93AE0025 */ lbu $t6, 0x25($sp) +/* 0041A958 0004CE40 */ sll $t9, $a0, 0x19 +/* 0041A95C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041A960 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 0041A964 35F80003 */ ori $t8, $t7, 3 +/* 0041A968 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041A96C AFA40030 */ sw $a0, 0x30($sp) +/* 0041A970 AFA7003C */ sw $a3, 0x3c($sp) +/* 0041A974 A3B80025 */ sb $t8, 0x25($sp) +/* 0041A978 AFB90028 */ sw $t9, 0x28($sp) +/* 0041A97C AFA5002C */ sw $a1, 0x2c($sp) +/* 0041A980 10E00013 */ beqz $a3, .L0041A9D0 +/* 0041A984 AFA60020 */ sw $a2, 0x20($sp) +/* 0041A988 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041A98C 24040020 */ li $a0, 32 +/* 0041A990 24050002 */ li $a1, 2 +/* 0041A994 0320F809 */ jalr $t9 +/* 0041A998 00000000 */ nop +/* 0041A99C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A9A0 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041A9A4 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 0041A9A8 0320F809 */ jalr $t9 +/* 0041A9AC 00000000 */ nop +/* 0041A9B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A9B4 24040020 */ li $a0, 32 +/* 0041A9B8 24050001 */ li $a1, 1 +/* 0041A9BC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041A9C0 0320F809 */ jalr $t9 +/* 0041A9C4 00000000 */ nop +/* 0041A9C8 10000012 */ b .L0041AA14 +/* 0041A9CC 8FBC0018 */ lw $gp, 0x18($sp) +.L0041A9D0: +/* 0041A9D0 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0041A9D4 24040020 */ li $a0, 32 +/* 0041A9D8 24050002 */ li $a1, 2 +/* 0041A9DC 0320F809 */ jalr $t9 +/* 0041A9E0 00000000 */ nop +/* 0041A9E4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A9E8 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041A9EC 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0041A9F0 0320F809 */ jalr $t9 +/* 0041A9F4 00000000 */ nop +/* 0041A9F8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041A9FC 24040020 */ li $a0, 32 +/* 0041AA00 24050001 */ li $a1, 1 +/* 0041AA04 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0041AA08 0320F809 */ jalr $t9 +/* 0041AA0C 00000000 */ nop +/* 0041AA10 8FBC0018 */ lw $gp, 0x18($sp) +.L0041AA14: +/* 0041AA14 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AA18 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041AA1C 03E00008 */ jr $ra +/* 0041AA20 00000000 */ nop + .type emit_cpload, @function + .size emit_cpload, .-emit_cpload + .end emit_cpload + +glabel ddefine_label + .ent ddefine_label + # 00420810 gen_entry_exit +/* 0041AA24 3C1C0FC0 */ .cpload $t9 +/* 0041AA28 279C502C */ +/* 0041AA2C 0399E021 */ +/* 0041AA30 8F988984 */ lw $t8, %got(d_ptr)($gp) +/* 0041AA34 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 0041AA38 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AA3C 8F180000 */ lw $t8, ($t8) +/* 0041AA40 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AA44 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AA48 8DCF0000 */ lw $t7, ($t6) +/* 0041AA4C 0018C900 */ sll $t9, $t8, 4 +/* 0041AA50 01F91021 */ addu $v0, $t7, $t9 +/* 0041AA54 9048FFF5 */ lbu $t0, -0xb($v0) +/* 0041AA58 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041AA5C 3109FFC0 */ andi $t1, $t0, 0xffc0 +/* 0041AA60 A0490005 */ sb $t1, 5($v0) +/* 0041AA64 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 0041AA68 0320F809 */ jalr $t9 +/* 0041AA6C 00000000 */ nop +/* 0041AA70 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AA74 8F848984 */ lw $a0, %got(d_ptr)($gp) +/* 0041AA78 8F8A8978 */ lw $t2, %got(ibuffer)($gp) +/* 0041AA7C 8F98897C */ lw $t8, %got(i_ptr)($gp) +/* 0041AA80 8C8C0000 */ lw $t4, ($a0) +/* 0041AA84 8D4B0000 */ lw $t3, ($t2) +/* 0041AA88 000C6900 */ sll $t5, $t4, 4 +/* 0041AA8C 016D7021 */ addu $t6, $t3, $t5 +/* 0041AA90 ADC2FFF0 */ sw $v0, -0x10($t6) +/* 0041AA94 8C830000 */ lw $v1, ($a0) +/* 0041AA98 8F180000 */ lw $t8, ($t8) +/* 0041AA9C 54780008 */ bnel $v1, $t8, .L0041AAC0 +/* 0041AAA0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AAA4 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041AAA8 0320F809 */ jalr $t9 +/* 0041AAAC 00000000 */ nop +/* 0041AAB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AAB4 8F848984 */ lw $a0, %got(d_ptr)($gp) +/* 0041AAB8 8C830000 */ lw $v1, ($a0) +/* 0041AABC 8FBF001C */ lw $ra, 0x1c($sp) +.L0041AAC0: +/* 0041AAC0 246FFFFF */ addiu $t7, $v1, -1 +/* 0041AAC4 AC8F0000 */ sw $t7, ($a0) +/* 0041AAC8 03E00008 */ jr $ra +/* 0041AACC 27BD0020 */ addiu $sp, $sp, 0x20 + .type ddefine_label, @function + .size ddefine_label, .-ddefine_label + .end ddefine_label + +glabel define_exception_label + .ent define_exception_label + # 0042BDAC eval +/* 0041AAD0 3C1C0FC0 */ .cpload $t9 +/* 0041AAD4 279C4F80 */ +/* 0041AAD8 0399E021 */ +/* 0041AADC 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 0041AAE0 8F868978 */ lw $a2, %got(ibuffer)($gp) +/* 0041AAE4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AAE8 8CAF0000 */ lw $t7, ($a1) +/* 0041AAEC 8CCE0000 */ lw $t6, ($a2) +/* 0041AAF0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AAF4 000FC100 */ sll $t8, $t7, 4 +/* 0041AAF8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AAFC 01D81021 */ addu $v0, $t6, $t8 +/* 0041AB00 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041AB04 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 0041AB08 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041AB0C 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 0041AB10 A0480005 */ sb $t0, 5($v0) +/* 0041AB14 8CAA0000 */ lw $t2, ($a1) +/* 0041AB18 8CC90000 */ lw $t1, ($a2) +/* 0041AB1C 000A5900 */ sll $t3, $t2, 4 +/* 0041AB20 012B6021 */ addu $t4, $t1, $t3 +/* 0041AB24 AD84FFF0 */ sw $a0, -0x10($t4) +/* 0041AB28 8CA30000 */ lw $v1, ($a1) +/* 0041AB2C 8DAD0000 */ lw $t5, ($t5) +/* 0041AB30 55A30008 */ bnel $t5, $v1, .L0041AB54 +/* 0041AB34 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AB38 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041AB3C 0320F809 */ jalr $t9 +/* 0041AB40 00000000 */ nop +/* 0041AB44 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AB48 8F85897C */ lw $a1, %got(i_ptr)($gp) +/* 0041AB4C 8CA30000 */ lw $v1, ($a1) +/* 0041AB50 8FBF001C */ lw $ra, 0x1c($sp) +.L0041AB54: +/* 0041AB54 246F0001 */ addiu $t7, $v1, 1 +/* 0041AB58 ACAF0000 */ sw $t7, ($a1) +/* 0041AB5C 03E00008 */ jr $ra +/* 0041AB60 27BD0020 */ addiu $sp, $sp, 0x20 + .type define_exception_label, @function + .size define_exception_label, .-define_exception_label + .end define_exception_label + +glabel append_i + .ent append_i + # 0041A940 emit_cpload + # 0041AD28 emit_vreg + # 0041AE78 emit_cpalias + # 0041AEDC emit_cpadd + # 00422DB8 emit_file + # 0042BDAC eval +/* 0041AB64 3C1C0FC0 */ .cpload $t9 +/* 0041AB68 279C4EEC */ +/* 0041AB6C 0399E021 */ +/* 0041AB70 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 0041AB74 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 0041AB78 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AB7C 8C780000 */ lw $t8, ($v1) +/* 0041AB80 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AB84 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AB88 8DCF0000 */ lw $t7, ($t6) +/* 0041AB8C 8C8A0000 */ lw $t2, ($a0) +/* 0041AB90 0018C900 */ sll $t9, $t8, 4 +/* 0041AB94 01F94021 */ addu $t0, $t7, $t9 +/* 0041AB98 AD0AFFF0 */ sw $t2, -0x10($t0) +/* 0041AB9C 8C890004 */ lw $t1, 4($a0) +/* 0041ABA0 8F8B8984 */ lw $t3, %got(d_ptr)($gp) +/* 0041ABA4 AD09FFF4 */ sw $t1, -0xc($t0) +/* 0041ABA8 8C8A0008 */ lw $t2, 8($a0) +/* 0041ABAC AD0AFFF8 */ sw $t2, -8($t0) +/* 0041ABB0 8C89000C */ lw $t1, 0xc($a0) +/* 0041ABB4 AD09FFFC */ sw $t1, -4($t0) +/* 0041ABB8 8C620000 */ lw $v0, ($v1) +/* 0041ABBC 8D6B0000 */ lw $t3, ($t3) +/* 0041ABC0 55620008 */ bnel $t3, $v0, .L0041ABE4 +/* 0041ABC4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041ABC8 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041ABCC 0320F809 */ jalr $t9 +/* 0041ABD0 00000000 */ nop +/* 0041ABD4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041ABD8 8F83897C */ lw $v1, %got(i_ptr)($gp) +/* 0041ABDC 8C620000 */ lw $v0, ($v1) +/* 0041ABE0 8FBF001C */ lw $ra, 0x1c($sp) +.L0041ABE4: +/* 0041ABE4 244C0001 */ addiu $t4, $v0, 1 +/* 0041ABE8 AC6C0000 */ sw $t4, ($v1) +/* 0041ABEC 03E00008 */ jr $ra +/* 0041ABF0 27BD0020 */ addiu $sp, $sp, 0x20 + .type append_i, @function + .size append_i, .-append_i + .end append_i + +glabel append_d + .ent append_d + # 0041A940 emit_cpload + # 0041AE14 demit_cpalias + # 00422CCC demit_mask + # 00422D3C demit_frame + # 00422DB8 emit_file + # 004230DC emit_optimize_level + # 0044E9D0 emit_composite_val + # 0044EC1C emit_val + # 0044F0BC emit_label_val +/* 0041ABF4 3C1C0FC0 */ .cpload $t9 +/* 0041ABF8 279C4E5C */ +/* 0041ABFC 0399E021 */ +/* 0041AC00 8F838984 */ lw $v1, %got(d_ptr)($gp) +/* 0041AC04 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 0041AC08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AC0C 8C780000 */ lw $t8, ($v1) +/* 0041AC10 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AC14 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AC18 8DCF0000 */ lw $t7, ($t6) +/* 0041AC1C 8C8A0000 */ lw $t2, ($a0) +/* 0041AC20 0018C900 */ sll $t9, $t8, 4 +/* 0041AC24 01F94021 */ addu $t0, $t7, $t9 +/* 0041AC28 AD0AFFF0 */ sw $t2, -0x10($t0) +/* 0041AC2C 8C890004 */ lw $t1, 4($a0) +/* 0041AC30 8F8B897C */ lw $t3, %got(i_ptr)($gp) +/* 0041AC34 AD09FFF4 */ sw $t1, -0xc($t0) +/* 0041AC38 8C8A0008 */ lw $t2, 8($a0) +/* 0041AC3C AD0AFFF8 */ sw $t2, -8($t0) +/* 0041AC40 8C89000C */ lw $t1, 0xc($a0) +/* 0041AC44 AD09FFFC */ sw $t1, -4($t0) +/* 0041AC48 8C620000 */ lw $v0, ($v1) +/* 0041AC4C 8D6B0000 */ lw $t3, ($t3) +/* 0041AC50 55620008 */ bnel $t3, $v0, .L0041AC74 +/* 0041AC54 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AC58 8F9981D4 */ lw $t9, %call16(grow_ibuffer)($gp) +/* 0041AC5C 0320F809 */ jalr $t9 +/* 0041AC60 00000000 */ nop +/* 0041AC64 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AC68 8F838984 */ lw $v1, %got(d_ptr)($gp) +/* 0041AC6C 8C620000 */ lw $v0, ($v1) +/* 0041AC70 8FBF001C */ lw $ra, 0x1c($sp) +.L0041AC74: +/* 0041AC74 244CFFFF */ addiu $t4, $v0, -1 +/* 0041AC78 AC6C0000 */ sw $t4, ($v1) +/* 0041AC7C 03E00008 */ jr $ra +/* 0041AC80 27BD0020 */ addiu $sp, $sp, 0x20 + .type append_d, @function + .size append_d, .-append_d + .end append_d + +glabel clear_ibuffer + .ent clear_ibuffer + # 0044BF18 main +/* 0041AC84 3C1C0FC0 */ .cpload $t9 +/* 0041AC88 279C4DCC */ +/* 0041AC8C 0399E021 */ +/* 0041AC90 8F86897C */ lw $a2, %got(i_ptr)($gp) +/* 0041AC94 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 0041AC98 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AC9C 8F8E8978 */ lw $t6, %got(ibuffer)($gp) +/* 0041ACA0 8CC60000 */ lw $a2, ($a2) +/* 0041ACA4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041ACA8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041ACAC 00002825 */ move $a1, $zero +/* 0041ACB0 8DC40000 */ lw $a0, ($t6) +/* 0041ACB4 0320F809 */ jalr $t9 +/* 0041ACB8 00063100 */ sll $a2, $a2, 4 +/* 0041ACBC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041ACC0 00002825 */ move $a1, $zero +/* 0041ACC4 8F828984 */ lw $v0, %got(d_ptr)($gp) +/* 0041ACC8 8F8F8978 */ lw $t7, %got(ibuffer)($gp) +/* 0041ACCC 8F888974 */ lw $t0, %got(ibuffer_size)($gp) +/* 0041ACD0 8C420000 */ lw $v0, ($v0) +/* 0041ACD4 8DF80000 */ lw $t8, ($t7) +/* 0041ACD8 8D080000 */ lw $t0, ($t0) +/* 0041ACDC 0002C900 */ sll $t9, $v0, 4 +/* 0041ACE0 03192021 */ addu $a0, $t8, $t9 +/* 0041ACE4 8F9980C4 */ lw $t9, %call16(memset)($gp) +/* 0041ACE8 01023023 */ subu $a2, $t0, $v0 +/* 0041ACEC 00063100 */ sll $a2, $a2, 4 +/* 0041ACF0 24C60010 */ addiu $a2, $a2, 0x10 +/* 0041ACF4 0320F809 */ jalr $t9 +/* 0041ACF8 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 0041ACFC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AD00 24090001 */ li $t1, 1 +/* 0041AD04 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AD08 8F81897C */ lw $at, %got(i_ptr)($gp) +/* 0041AD0C 8F8A8974 */ lw $t2, %got(ibuffer_size)($gp) +/* 0041AD10 AC290000 */ sw $t1, ($at) +/* 0041AD14 8F818984 */ lw $at, %got(d_ptr)($gp) +/* 0041AD18 8D4A0000 */ lw $t2, ($t2) +/* 0041AD1C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0041AD20 03E00008 */ jr $ra +/* 0041AD24 AC2A0000 */ sw $t2, ($at) + .type clear_ibuffer, @function + .size clear_ibuffer, .-clear_ibuffer + .end clear_ibuffer + +glabel emit_vreg + .ent emit_vreg + # 0042BDAC eval +/* 0041AD28 3C1C0FC0 */ .cpload $t9 +/* 0041AD2C 279C4D28 */ +/* 0041AD30 0399E021 */ +/* 0041AD34 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041AD38 AFA00024 */ sw $zero, 0x24($sp) +/* 0041AD3C 00803825 */ move $a3, $a0 +/* 0041AD40 93AE0025 */ lbu $t6, 0x25($sp) +/* 0041AD44 0007CE40 */ sll $t9, $a3, 0x19 +/* 0041AD48 AFB90028 */ sw $t9, 0x28($sp) +/* 0041AD4C 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 0041AD50 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 0041AD54 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AD58 AFA40030 */ sw $a0, 0x30($sp) +/* 0041AD5C 35F80025 */ ori $t8, $t7, 0x25 +/* 0041AD60 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AD64 A3B80025 */ sb $t8, 0x25($sp) +/* 0041AD68 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041AD6C AFA60020 */ sw $a2, 0x20($sp) +/* 0041AD70 0320F809 */ jalr $t9 +/* 0041AD74 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041AD78 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AD7C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AD80 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041AD84 03E00008 */ jr $ra +/* 0041AD88 00000000 */ nop + .type emit_vreg, @function + .size emit_vreg, .-emit_vreg + .end emit_vreg + +glabel emit_pic + .ent emit_pic + # 0044BF18 main +/* 0041AD8C 3C1C0FC0 */ .cpload $t9 +/* 0041AD90 279C4CC4 */ +/* 0041AD94 0399E021 */ +/* 0041AD98 8F858984 */ lw $a1, %got(d_ptr)($gp) +/* 0041AD9C 8F838978 */ lw $v1, %got(ibuffer)($gp) +/* 0041ADA0 3C01FFFF */ lui $at, 0xffff +/* 0041ADA4 8CAF0000 */ lw $t7, ($a1) +/* 0041ADA8 8C6E0000 */ lw $t6, ($v1) +/* 0041ADAC 34213FFF */ ori $at, $at, 0x3fff +/* 0041ADB0 000FC100 */ sll $t8, $t7, 4 +/* 0041ADB4 01D81021 */ addu $v0, $t6, $t8 +/* 0041ADB8 9059FFF5 */ lbu $t9, -0xb($v0) +/* 0041ADBC 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041ADC0 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 0041ADC4 3509002F */ ori $t1, $t0, 0x2f +/* 0041ADC8 A0490005 */ sb $t1, 5($v0) +/* 0041ADCC 8CAB0000 */ lw $t3, ($a1) +/* 0041ADD0 8C6A0000 */ lw $t2, ($v1) +/* 0041ADD4 000B6100 */ sll $t4, $t3, 4 +/* 0041ADD8 014C1021 */ addu $v0, $t2, $t4 +/* 0041ADDC 8C4DFFF4 */ lw $t5, -0xc($v0) +/* 0041ADE0 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0041ADE4 01A17824 */ and $t7, $t5, $at +/* 0041ADE8 35EE8000 */ ori $t6, $t7, 0x8000 +/* 0041ADEC AC4E0004 */ sw $t6, 4($v0) +/* 0041ADF0 8CB90000 */ lw $t9, ($a1) +/* 0041ADF4 8C780000 */ lw $t8, ($v1) +/* 0041ADF8 00194100 */ sll $t0, $t9, 4 +/* 0041ADFC 03084821 */ addu $t1, $t8, $t0 +/* 0041AE00 AD24FFFC */ sw $a0, -4($t1) +/* 0041AE04 8CAB0000 */ lw $t3, ($a1) +/* 0041AE08 256AFFFF */ addiu $t2, $t3, -1 +/* 0041AE0C 03E00008 */ jr $ra +/* 0041AE10 ACAA0000 */ sw $t2, ($a1) + .type emit_pic, @function + .size emit_pic, .-emit_pic + .end emit_pic + +glabel demit_cpalias + .ent demit_cpalias + # 004219E8 gen_reg_save_restore +/* 0041AE14 3C1C0FC0 */ .cpload $t9 +/* 0041AE18 279C4C3C */ +/* 0041AE1C 0399E021 */ +/* 0041AE20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041AE24 AFA00024 */ sw $zero, 0x24($sp) +/* 0041AE28 00802825 */ move $a1, $a0 +/* 0041AE2C 93AE0025 */ lbu $t6, 0x25($sp) +/* 0041AE30 0005CE40 */ sll $t9, $a1, 0x19 +/* 0041AE34 AFB90028 */ sw $t9, 0x28($sp) +/* 0041AE38 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0041AE3C 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 0041AE40 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AE44 AFA40030 */ sw $a0, 0x30($sp) +/* 0041AE48 35F80021 */ ori $t8, $t7, 0x21 +/* 0041AE4C AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AE50 AFA0002C */ sw $zero, 0x2c($sp) +/* 0041AE54 A3B80025 */ sb $t8, 0x25($sp) +/* 0041AE58 AFA00020 */ sw $zero, 0x20($sp) +/* 0041AE5C 0320F809 */ jalr $t9 +/* 0041AE60 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041AE64 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AE68 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AE6C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041AE70 03E00008 */ jr $ra +/* 0041AE74 00000000 */ nop + .type demit_cpalias, @function + .size demit_cpalias, .-demit_cpalias + .end demit_cpalias + +glabel emit_cpalias + .ent emit_cpalias + # 00422764 gen_reg_save +/* 0041AE78 3C1C0FC0 */ .cpload $t9 +/* 0041AE7C 279C4BD8 */ +/* 0041AE80 0399E021 */ +/* 0041AE84 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041AE88 AFA00024 */ sw $zero, 0x24($sp) +/* 0041AE8C 00802825 */ move $a1, $a0 +/* 0041AE90 93AE0025 */ lbu $t6, 0x25($sp) +/* 0041AE94 0005CE40 */ sll $t9, $a1, 0x19 +/* 0041AE98 AFB90028 */ sw $t9, 0x28($sp) +/* 0041AE9C 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 0041AEA0 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 0041AEA4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AEA8 AFA40030 */ sw $a0, 0x30($sp) +/* 0041AEAC 35F80021 */ ori $t8, $t7, 0x21 +/* 0041AEB0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AEB4 AFA0002C */ sw $zero, 0x2c($sp) +/* 0041AEB8 A3B80025 */ sb $t8, 0x25($sp) +/* 0041AEBC AFA00020 */ sw $zero, 0x20($sp) +/* 0041AEC0 0320F809 */ jalr $t9 +/* 0041AEC4 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041AEC8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AECC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AED0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041AED4 03E00008 */ jr $ra +/* 0041AED8 00000000 */ nop + .type emit_cpalias, @function + .size emit_cpalias, .-emit_cpalias + .end emit_cpalias + +glabel emit_cpadd + .ent emit_cpadd + # 0042BDAC eval +/* 0041AEDC 3C1C0FC0 */ .cpload $t9 +/* 0041AEE0 279C4B74 */ +/* 0041AEE4 0399E021 */ +/* 0041AEE8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041AEEC AFA00024 */ sw $zero, 0x24($sp) +/* 0041AEF0 00802825 */ move $a1, $a0 +/* 0041AEF4 93AE0025 */ lbu $t6, 0x25($sp) +/* 0041AEF8 0005CE40 */ sll $t9, $a1, 0x19 +/* 0041AEFC AFB90028 */ sw $t9, 0x28($sp) +/* 0041AF00 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 0041AF04 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 0041AF08 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 0041AF0C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AF10 AFA40030 */ sw $a0, 0x30($sp) +/* 0041AF14 35F80011 */ ori $t8, $t7, 0x11 +/* 0041AF18 24080001 */ li $t0, 1 +/* 0041AF1C AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AF20 AFA0002C */ sw $zero, 0x2c($sp) +/* 0041AF24 A3B80025 */ sb $t8, 0x25($sp) +/* 0041AF28 AFA00020 */ sw $zero, 0x20($sp) +/* 0041AF2C 27A40020 */ addiu $a0, $sp, 0x20 +/* 0041AF30 0320F809 */ jalr $t9 +/* 0041AF34 A0280000 */ sb $t0, ($at) +/* 0041AF38 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AF3C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AF40 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041AF44 03E00008 */ jr $ra +/* 0041AF48 00000000 */ nop + .type emit_cpadd, @function + .size emit_cpadd, .-emit_cpadd + .end emit_cpadd +)""); diff --git a/src/ugen/emit_dw.c b/src/ugen/emit_dw.c new file mode 100644 index 0000000..6a107aa --- /dev/null +++ b/src/ugen/emit_dw.c @@ -0,0 +1,6313 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata + .balign 4 +jtbl_10009690: + # 0041BA7C emit_branch_rrll + .gpword .L0041BB34 + .gpword .L0041BC30 + .gpword .L0041BC54 + .gpword .L0041BC78 + .gpword .L0041BB58 + .gpword .L0041BB7C + .gpword .L0041BC78 + .gpword .L0041BBE8 + .gpword .L0041BC0C + .gpword .L0041BC78 + .gpword .L0041BBA0 + .gpword .L0041BBC4 + .gpword .L0041BC78 + .gpword .L0041BB10 + + .balign 4 +jtbl_100096C8: + # 0041C388 emit_branch_rill + .gpword .L0041C44C + .gpword .L0041C564 + .gpword .L0041C58C + .gpword .L0041C5B4 + .gpword .L0041C474 + .gpword .L0041C49C + .gpword .L0041C5B4 + .gpword .L0041C514 + .gpword .L0041C53C + .gpword .L0041C5B4 + .gpword .L0041C4C4 + .gpword .L0041C4EC + .gpword .L0041C5B4 + .gpword .L0041C424 + + .balign 4 +jtbl_10009700: + # 0041CAAC emit_trap_rri + .gpword .L0041CBD0 + .gpword .L0041CBF4 + .gpword .L0041CB88 + .gpword .L0041CBAC + .gpword .L0041CB64 + .gpword .L0041CB40 + + .balign 4 +jtbl_10009718: + # 0041D034 emit_trap_ri + .gpword .L0041D158 + .gpword .L0041D17C + .gpword .L0041D110 + .gpword .L0041D134 + .gpword .L0041D0EC + .gpword .L0041D0C8 + +RO_10009730: + # 0041E468 dw_emit_rrr + .asciz "emit_dw.p" + + .balign 4 +jtbl_1000973C: + # 0041E468 dw_emit_rrr + .gpword .L0041E684 + .gpword .L0041E664 + .gpword .L0041E684 + .gpword .L0041E664 + .gpword .L0041E6E4 + .gpword .L0041E6C4 + .gpword .L0041E6A4 + .gpword .L0041E6E4 + .gpword .L0041E6C4 + .gpword .L0041E6A4 + + .balign 4 +jtbl_10009764: + # 0041E468 dw_emit_rrr + .gpword .L0041E550 + .gpword .L0041E550 + .gpword .L0041E508 + + .balign 4 +jtbl_10009770: + # 0041E468 dw_emit_rrr + .gpword .L0041E5D0 + .gpword .L0041E5F0 + .gpword .L0041E5F0 + .gpword .L0041E5F0 + .gpword .L0041E5F0 + .gpword .L0041E748 + .gpword .L0041E5F0 + .gpword .L0041E5F0 + .gpword .L0041E590 + .gpword .L0041E5F0 + .gpword .L0041E5F0 + .gpword .L0041E5D0 + .gpword .L0041E5B0 + .gpword .L0041E5B0 + .gpword .L0041E570 + .gpword .L0041E570 + .gpword .L0041E748 + .gpword .L0041E748 + .gpword .L0041E508 + + .balign 4 +jtbl_100097BC: + # 0041E468 dw_emit_rrr + .gpword .L0041E550 + .gpword .L0041E570 + + .balign 4 +jtbl_100097C4: + # 0041FC98 dw_emit_rri + .gpword .L0041FFE8 + .gpword .L0041FFE8 + .gpword .L0041FD48 + + .balign 4 +jtbl_100097D0: + # 0041FC98 dw_emit_rri + .gpword .L0041FF08 + .gpword .L0041FE28 + + .balign 4 +jtbl_100097D8: + # 0041FC98 dw_emit_rri + .gpword .L00420098 + .gpword .L004200F8 + .gpword .L004200C8 + .gpword .L00420128 + .gpword .L004200C8 + .gpword .L004201E8 + .gpword .L00420188 + .gpword .L00420158 + .gpword .L00420048 + .gpword .L004201B8 + .gpword .L00420158 + .gpword .L00420098 + .gpword .L00420070 + .gpword .L00420070 + .gpword .L00420018 + .gpword .L00420018 + .gpword .L004201E8 + .gpword .L004201E8 + .gpword .L0041FE28 + + .balign 4 +jtbl_10009824: + # 0041FC98 dw_emit_rri + .gpword .L0041FFE8 + .gpword .L00420018 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text + .type func_0041AF70, @function +func_0041AF70: + # 0041BA7C emit_branch_rrll +/* 0041AF70 3C1C0FC0 */ .cpload $t9 +/* 0041AF74 279C4AE0 */ +/* 0041AF78 0399E021 */ +/* 0041AF7C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041AF80 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041AF84 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AF88 AFA40020 */ sw $a0, 0x20($sp) +/* 0041AF8C AFA50024 */ sw $a1, 0x24($sp) +/* 0041AF90 AFA60028 */ sw $a2, 0x28($sp) +/* 0041AF94 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041AF98 8FA70028 */ lw $a3, 0x28($sp) +/* 0041AF9C 93A60027 */ lbu $a2, 0x27($sp) +/* 0041AFA0 93A50023 */ lbu $a1, 0x23($sp) +/* 0041AFA4 0320F809 */ jalr $t9 +/* 0041AFA8 2404001A */ li $a0, 26 +/* 0041AFAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AFB0 93A50023 */ lbu $a1, 0x23($sp) +/* 0041AFB4 93A60027 */ lbu $a2, 0x27($sp) +/* 0041AFB8 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041AFBC 2404001A */ li $a0, 26 +/* 0041AFC0 8FA70028 */ lw $a3, 0x28($sp) +/* 0041AFC4 24A50001 */ addiu $a1, $a1, 1 +/* 0041AFC8 0320F809 */ jalr $t9 +/* 0041AFCC 24C60001 */ addiu $a2, $a2, 1 +/* 0041AFD0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041AFD4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041AFD8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0041AFDC 03E00008 */ jr $ra +/* 0041AFE0 00000000 */ nop + + .type func_0041AFE4, @function +func_0041AFE4: + # 0041BA7C emit_branch_rrll +/* 0041AFE4 3C1C0FC0 */ .cpload $t9 +/* 0041AFE8 279C4A6C */ +/* 0041AFEC 0399E021 */ +/* 0041AFF0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041AFF4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041AFF8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041AFFC AFBC0018 */ sw $gp, 0x18($sp) +/* 0041B000 AFA40028 */ sw $a0, 0x28($sp) +/* 0041B004 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B008 0320F809 */ jalr $t9 +/* 0041B00C AFA60030 */ sw $a2, 0x30($sp) +/* 0041B010 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041B014 AFA20020 */ sw $v0, 0x20($sp) +/* 0041B018 2404001A */ li $a0, 26 +/* 0041B01C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B020 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041B024 93A6002F */ lbu $a2, 0x2f($sp) +/* 0041B028 0320F809 */ jalr $t9 +/* 0041B02C 00403825 */ move $a3, $v0 +/* 0041B030 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041B034 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041B038 93A6002F */ lbu $a2, 0x2f($sp) +/* 0041B03C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B040 2404000D */ li $a0, 13 +/* 0041B044 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B048 24A50001 */ addiu $a1, $a1, 1 +/* 0041B04C 0320F809 */ jalr $t9 +/* 0041B050 24C60001 */ addiu $a2, $a2, 1 +/* 0041B054 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041B058 8FA40020 */ lw $a0, 0x20($sp) +/* 0041B05C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B060 0320F809 */ jalr $t9 +/* 0041B064 00000000 */ nop +/* 0041B068 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041B06C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041B070 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041B074 03E00008 */ jr $ra +/* 0041B078 00000000 */ nop + + .type func_0041B07C, @function +func_0041B07C: + # 0041BA7C emit_branch_rrll +/* 0041B07C 3C1C0FC0 */ .cpload $t9 +/* 0041B080 279C49D4 */ +/* 0041B084 0399E021 */ +/* 0041B088 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B08C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B090 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B094 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B098 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B09C 309000FF */ andi $s0, $a0, 0xff +/* 0041B0A0 30B100FF */ andi $s1, $a1, 0xff +/* 0041B0A4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B0A8 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B0AC AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B0B0 0320F809 */ jalr $t9 +/* 0041B0B4 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B0B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B0BC AFA20030 */ sw $v0, 0x30($sp) +/* 0041B0C0 26050001 */ addiu $a1, $s0, 1 +/* 0041B0C4 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B0C8 26260001 */ addiu $a2, $s1, 1 +/* 0041B0CC 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B0D0 91CE0000 */ lbu $t6, ($t6) +/* 0041B0D4 24040011 */ li $a0, 17 +/* 0041B0D8 11C00018 */ beqz $t6, .L0041B13C +/* 0041B0DC 00000000 */ nop +/* 0041B0E0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B0E4 24040011 */ li $a0, 17 +/* 0041B0E8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B0EC 0320F809 */ jalr $t9 +/* 0041B0F0 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B0F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B0F8 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B0FC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B100 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B104 24040017 */ li $a0, 23 +/* 0041B108 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B10C 0320F809 */ jalr $t9 +/* 0041B110 00000000 */ nop +/* 0041B114 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B118 24040012 */ li $a0, 18 +/* 0041B11C 02002825 */ move $a1, $s0 +/* 0041B120 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B124 02203025 */ move $a2, $s1 +/* 0041B128 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B12C 0320F809 */ jalr $t9 +/* 0041B130 00000000 */ nop +/* 0041B134 10000017 */ b .L0041B194 +/* 0041B138 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B13C: +/* 0041B13C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B140 02002825 */ move $a1, $s0 +/* 0041B144 02203025 */ move $a2, $s1 +/* 0041B148 0320F809 */ jalr $t9 +/* 0041B14C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B150 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B154 24040017 */ li $a0, 23 +/* 0041B158 02002825 */ move $a1, $s0 +/* 0041B15C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B160 02203025 */ move $a2, $s1 +/* 0041B164 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B168 0320F809 */ jalr $t9 +/* 0041B16C 00000000 */ nop +/* 0041B170 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B174 24040012 */ li $a0, 18 +/* 0041B178 26050001 */ addiu $a1, $s0, 1 +/* 0041B17C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B180 26260001 */ addiu $a2, $s1, 1 +/* 0041B184 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B188 0320F809 */ jalr $t9 +/* 0041B18C 00000000 */ nop +/* 0041B190 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B194: +/* 0041B194 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B198 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B19C 0320F809 */ jalr $t9 +/* 0041B1A0 00000000 */ nop +/* 0041B1A4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B1A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B1AC 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B1B0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B1B4 03E00008 */ jr $ra +/* 0041B1B8 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B1BC, @function +func_0041B1BC: + # 0041BA7C emit_branch_rrll +/* 0041B1BC 3C1C0FC0 */ .cpload $t9 +/* 0041B1C0 279C4894 */ +/* 0041B1C4 0399E021 */ +/* 0041B1C8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B1CC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B1D0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B1D4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B1D8 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B1DC 309000FF */ andi $s0, $a0, 0xff +/* 0041B1E0 30B100FF */ andi $s1, $a1, 0xff +/* 0041B1E4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B1E8 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B1EC AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B1F0 0320F809 */ jalr $t9 +/* 0041B1F4 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B1F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B1FC AFA20030 */ sw $v0, 0x30($sp) +/* 0041B200 26050001 */ addiu $a1, $s0, 1 +/* 0041B204 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B208 26260001 */ addiu $a2, $s1, 1 +/* 0041B20C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B210 91CE0000 */ lbu $t6, ($t6) +/* 0041B214 24040012 */ li $a0, 18 +/* 0041B218 11C00018 */ beqz $t6, .L0041B27C +/* 0041B21C 00000000 */ nop +/* 0041B220 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B224 24040012 */ li $a0, 18 +/* 0041B228 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B22C 0320F809 */ jalr $t9 +/* 0041B230 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B234 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B238 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B23C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B240 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B244 24040018 */ li $a0, 24 +/* 0041B248 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B24C 0320F809 */ jalr $t9 +/* 0041B250 00000000 */ nop +/* 0041B254 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B258 24040012 */ li $a0, 18 +/* 0041B25C 02002825 */ move $a1, $s0 +/* 0041B260 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B264 02203025 */ move $a2, $s1 +/* 0041B268 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B26C 0320F809 */ jalr $t9 +/* 0041B270 00000000 */ nop +/* 0041B274 10000017 */ b .L0041B2D4 +/* 0041B278 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B27C: +/* 0041B27C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B280 02002825 */ move $a1, $s0 +/* 0041B284 02203025 */ move $a2, $s1 +/* 0041B288 0320F809 */ jalr $t9 +/* 0041B28C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B290 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B294 24040018 */ li $a0, 24 +/* 0041B298 02002825 */ move $a1, $s0 +/* 0041B29C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B2A0 02203025 */ move $a2, $s1 +/* 0041B2A4 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B2A8 0320F809 */ jalr $t9 +/* 0041B2AC 00000000 */ nop +/* 0041B2B0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B2B4 24040012 */ li $a0, 18 +/* 0041B2B8 26050001 */ addiu $a1, $s0, 1 +/* 0041B2BC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B2C0 26260001 */ addiu $a2, $s1, 1 +/* 0041B2C4 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B2C8 0320F809 */ jalr $t9 +/* 0041B2CC 00000000 */ nop +/* 0041B2D0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B2D4: +/* 0041B2D4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B2D8 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B2DC 0320F809 */ jalr $t9 +/* 0041B2E0 00000000 */ nop +/* 0041B2E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B2E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B2EC 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B2F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B2F4 03E00008 */ jr $ra +/* 0041B2F8 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B2FC, @function +func_0041B2FC: + # 0041BA7C emit_branch_rrll +/* 0041B2FC 3C1C0FC0 */ .cpload $t9 +/* 0041B300 279C4754 */ +/* 0041B304 0399E021 */ +/* 0041B308 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B30C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B310 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B314 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B318 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B31C 309000FF */ andi $s0, $a0, 0xff +/* 0041B320 30B100FF */ andi $s1, $a1, 0xff +/* 0041B324 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B328 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B32C AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B330 0320F809 */ jalr $t9 +/* 0041B334 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B338 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B33C AFA20030 */ sw $v0, 0x30($sp) +/* 0041B340 26050001 */ addiu $a1, $s0, 1 +/* 0041B344 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B348 26260001 */ addiu $a2, $s1, 1 +/* 0041B34C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B350 91CE0000 */ lbu $t6, ($t6) +/* 0041B354 24040017 */ li $a0, 23 +/* 0041B358 11C00018 */ beqz $t6, .L0041B3BC +/* 0041B35C 00000000 */ nop +/* 0041B360 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B364 24040017 */ li $a0, 23 +/* 0041B368 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B36C 0320F809 */ jalr $t9 +/* 0041B370 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B374 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B378 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B37C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B380 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B384 24040011 */ li $a0, 17 +/* 0041B388 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B38C 0320F809 */ jalr $t9 +/* 0041B390 00000000 */ nop +/* 0041B394 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B398 24040018 */ li $a0, 24 +/* 0041B39C 02002825 */ move $a1, $s0 +/* 0041B3A0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B3A4 02203025 */ move $a2, $s1 +/* 0041B3A8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B3AC 0320F809 */ jalr $t9 +/* 0041B3B0 00000000 */ nop +/* 0041B3B4 10000017 */ b .L0041B414 +/* 0041B3B8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B3BC: +/* 0041B3BC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B3C0 02002825 */ move $a1, $s0 +/* 0041B3C4 02203025 */ move $a2, $s1 +/* 0041B3C8 0320F809 */ jalr $t9 +/* 0041B3CC 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B3D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B3D4 24040011 */ li $a0, 17 +/* 0041B3D8 02002825 */ move $a1, $s0 +/* 0041B3DC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B3E0 02203025 */ move $a2, $s1 +/* 0041B3E4 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B3E8 0320F809 */ jalr $t9 +/* 0041B3EC 00000000 */ nop +/* 0041B3F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B3F4 24040018 */ li $a0, 24 +/* 0041B3F8 26050001 */ addiu $a1, $s0, 1 +/* 0041B3FC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B400 26260001 */ addiu $a2, $s1, 1 +/* 0041B404 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B408 0320F809 */ jalr $t9 +/* 0041B40C 00000000 */ nop +/* 0041B410 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B414: +/* 0041B414 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B418 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B41C 0320F809 */ jalr $t9 +/* 0041B420 00000000 */ nop +/* 0041B424 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B428 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B42C 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B430 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B434 03E00008 */ jr $ra +/* 0041B438 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B43C, @function +func_0041B43C: + # 0041BA7C emit_branch_rrll +/* 0041B43C 3C1C0FC0 */ .cpload $t9 +/* 0041B440 279C4614 */ +/* 0041B444 0399E021 */ +/* 0041B448 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B44C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B450 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B454 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B458 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B45C 309000FF */ andi $s0, $a0, 0xff +/* 0041B460 30B100FF */ andi $s1, $a1, 0xff +/* 0041B464 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B468 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B46C AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B470 0320F809 */ jalr $t9 +/* 0041B474 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B478 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B47C AFA20030 */ sw $v0, 0x30($sp) +/* 0041B480 26050001 */ addiu $a1, $s0, 1 +/* 0041B484 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B488 26260001 */ addiu $a2, $s1, 1 +/* 0041B48C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B490 91CE0000 */ lbu $t6, ($t6) +/* 0041B494 24040018 */ li $a0, 24 +/* 0041B498 11C00018 */ beqz $t6, .L0041B4FC +/* 0041B49C 00000000 */ nop +/* 0041B4A0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B4A4 24040018 */ li $a0, 24 +/* 0041B4A8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B4AC 0320F809 */ jalr $t9 +/* 0041B4B0 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B4B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B4B8 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B4BC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B4C0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B4C4 24040012 */ li $a0, 18 +/* 0041B4C8 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B4CC 0320F809 */ jalr $t9 +/* 0041B4D0 00000000 */ nop +/* 0041B4D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B4D8 24040018 */ li $a0, 24 +/* 0041B4DC 02002825 */ move $a1, $s0 +/* 0041B4E0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B4E4 02203025 */ move $a2, $s1 +/* 0041B4E8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B4EC 0320F809 */ jalr $t9 +/* 0041B4F0 00000000 */ nop +/* 0041B4F4 10000017 */ b .L0041B554 +/* 0041B4F8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B4FC: +/* 0041B4FC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B500 02002825 */ move $a1, $s0 +/* 0041B504 02203025 */ move $a2, $s1 +/* 0041B508 0320F809 */ jalr $t9 +/* 0041B50C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B510 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B514 24040012 */ li $a0, 18 +/* 0041B518 02002825 */ move $a1, $s0 +/* 0041B51C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B520 02203025 */ move $a2, $s1 +/* 0041B524 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B528 0320F809 */ jalr $t9 +/* 0041B52C 00000000 */ nop +/* 0041B530 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B534 24040018 */ li $a0, 24 +/* 0041B538 26050001 */ addiu $a1, $s0, 1 +/* 0041B53C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B540 26260001 */ addiu $a2, $s1, 1 +/* 0041B544 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B548 0320F809 */ jalr $t9 +/* 0041B54C 00000000 */ nop +/* 0041B550 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B554: +/* 0041B554 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B558 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B55C 0320F809 */ jalr $t9 +/* 0041B560 00000000 */ nop +/* 0041B564 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B568 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B56C 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B570 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B574 03E00008 */ jr $ra +/* 0041B578 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B57C, @function +func_0041B57C: + # 0041BA7C emit_branch_rrll +/* 0041B57C 3C1C0FC0 */ .cpload $t9 +/* 0041B580 279C44D4 */ +/* 0041B584 0399E021 */ +/* 0041B588 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B58C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B590 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B594 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B598 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B59C 309000FF */ andi $s0, $a0, 0xff +/* 0041B5A0 30B100FF */ andi $s1, $a1, 0xff +/* 0041B5A4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B5A8 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B5AC AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B5B0 0320F809 */ jalr $t9 +/* 0041B5B4 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B5B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B5BC AFA20030 */ sw $v0, 0x30($sp) +/* 0041B5C0 26050001 */ addiu $a1, $s0, 1 +/* 0041B5C4 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B5C8 26260001 */ addiu $a2, $s1, 1 +/* 0041B5CC 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B5D0 91CE0000 */ lbu $t6, ($t6) +/* 0041B5D4 24040017 */ li $a0, 23 +/* 0041B5D8 11C00018 */ beqz $t6, .L0041B63C +/* 0041B5DC 00000000 */ nop +/* 0041B5E0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B5E4 24040017 */ li $a0, 23 +/* 0041B5E8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B5EC 0320F809 */ jalr $t9 +/* 0041B5F0 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B5F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B5F8 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B5FC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B600 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B604 24040011 */ li $a0, 17 +/* 0041B608 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B60C 0320F809 */ jalr $t9 +/* 0041B610 00000000 */ nop +/* 0041B614 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B618 24040015 */ li $a0, 21 +/* 0041B61C 02002825 */ move $a1, $s0 +/* 0041B620 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B624 02203025 */ move $a2, $s1 +/* 0041B628 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B62C 0320F809 */ jalr $t9 +/* 0041B630 00000000 */ nop +/* 0041B634 10000017 */ b .L0041B694 +/* 0041B638 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B63C: +/* 0041B63C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B640 02002825 */ move $a1, $s0 +/* 0041B644 02203025 */ move $a2, $s1 +/* 0041B648 0320F809 */ jalr $t9 +/* 0041B64C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B650 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B654 24040011 */ li $a0, 17 +/* 0041B658 02002825 */ move $a1, $s0 +/* 0041B65C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B660 02203025 */ move $a2, $s1 +/* 0041B664 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B668 0320F809 */ jalr $t9 +/* 0041B66C 00000000 */ nop +/* 0041B670 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B674 24040015 */ li $a0, 21 +/* 0041B678 26050001 */ addiu $a1, $s0, 1 +/* 0041B67C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B680 26260001 */ addiu $a2, $s1, 1 +/* 0041B684 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B688 0320F809 */ jalr $t9 +/* 0041B68C 00000000 */ nop +/* 0041B690 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B694: +/* 0041B694 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B698 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B69C 0320F809 */ jalr $t9 +/* 0041B6A0 00000000 */ nop +/* 0041B6A4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B6A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B6AC 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B6B0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B6B4 03E00008 */ jr $ra +/* 0041B6B8 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B6BC, @function +func_0041B6BC: + # 0041BA7C emit_branch_rrll +/* 0041B6BC 3C1C0FC0 */ .cpload $t9 +/* 0041B6C0 279C4394 */ +/* 0041B6C4 0399E021 */ +/* 0041B6C8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B6CC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B6D0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B6D4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B6D8 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B6DC 309000FF */ andi $s0, $a0, 0xff +/* 0041B6E0 30B100FF */ andi $s1, $a1, 0xff +/* 0041B6E4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B6E8 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B6EC AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B6F0 0320F809 */ jalr $t9 +/* 0041B6F4 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B6F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B6FC AFA20030 */ sw $v0, 0x30($sp) +/* 0041B700 26050001 */ addiu $a1, $s0, 1 +/* 0041B704 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B708 26260001 */ addiu $a2, $s1, 1 +/* 0041B70C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B710 91CE0000 */ lbu $t6, ($t6) +/* 0041B714 24040018 */ li $a0, 24 +/* 0041B718 11C00018 */ beqz $t6, .L0041B77C +/* 0041B71C 00000000 */ nop +/* 0041B720 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B724 24040018 */ li $a0, 24 +/* 0041B728 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B72C 0320F809 */ jalr $t9 +/* 0041B730 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B734 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B738 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B73C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B740 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B744 24040012 */ li $a0, 18 +/* 0041B748 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B74C 0320F809 */ jalr $t9 +/* 0041B750 00000000 */ nop +/* 0041B754 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B758 24040015 */ li $a0, 21 +/* 0041B75C 02002825 */ move $a1, $s0 +/* 0041B760 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B764 02203025 */ move $a2, $s1 +/* 0041B768 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B76C 0320F809 */ jalr $t9 +/* 0041B770 00000000 */ nop +/* 0041B774 10000017 */ b .L0041B7D4 +/* 0041B778 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B77C: +/* 0041B77C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B780 02002825 */ move $a1, $s0 +/* 0041B784 02203025 */ move $a2, $s1 +/* 0041B788 0320F809 */ jalr $t9 +/* 0041B78C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B790 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B794 24040012 */ li $a0, 18 +/* 0041B798 02002825 */ move $a1, $s0 +/* 0041B79C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B7A0 02203025 */ move $a2, $s1 +/* 0041B7A4 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B7A8 0320F809 */ jalr $t9 +/* 0041B7AC 00000000 */ nop +/* 0041B7B0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B7B4 24040015 */ li $a0, 21 +/* 0041B7B8 26050001 */ addiu $a1, $s0, 1 +/* 0041B7BC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B7C0 26260001 */ addiu $a2, $s1, 1 +/* 0041B7C4 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B7C8 0320F809 */ jalr $t9 +/* 0041B7CC 00000000 */ nop +/* 0041B7D0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B7D4: +/* 0041B7D4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B7D8 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B7DC 0320F809 */ jalr $t9 +/* 0041B7E0 00000000 */ nop +/* 0041B7E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B7E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B7EC 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B7F0 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B7F4 03E00008 */ jr $ra +/* 0041B7F8 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B7FC, @function +func_0041B7FC: + # 0041BA7C emit_branch_rrll +/* 0041B7FC 3C1C0FC0 */ .cpload $t9 +/* 0041B800 279C4254 */ +/* 0041B804 0399E021 */ +/* 0041B808 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B80C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B810 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B814 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B818 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B81C 309000FF */ andi $s0, $a0, 0xff +/* 0041B820 30B100FF */ andi $s1, $a1, 0xff +/* 0041B824 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B828 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B82C AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B830 0320F809 */ jalr $t9 +/* 0041B834 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B838 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B83C AFA20030 */ sw $v0, 0x30($sp) +/* 0041B840 26050001 */ addiu $a1, $s0, 1 +/* 0041B844 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B848 26260001 */ addiu $a2, $s1, 1 +/* 0041B84C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B850 91CE0000 */ lbu $t6, ($t6) +/* 0041B854 24040011 */ li $a0, 17 +/* 0041B858 11C00018 */ beqz $t6, .L0041B8BC +/* 0041B85C 00000000 */ nop +/* 0041B860 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B864 24040011 */ li $a0, 17 +/* 0041B868 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B86C 0320F809 */ jalr $t9 +/* 0041B870 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B874 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B878 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B87C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B880 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B884 24040017 */ li $a0, 23 +/* 0041B888 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B88C 0320F809 */ jalr $t9 +/* 0041B890 00000000 */ nop +/* 0041B894 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B898 2404000F */ li $a0, 15 +/* 0041B89C 02002825 */ move $a1, $s0 +/* 0041B8A0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B8A4 02203025 */ move $a2, $s1 +/* 0041B8A8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B8AC 0320F809 */ jalr $t9 +/* 0041B8B0 00000000 */ nop +/* 0041B8B4 10000017 */ b .L0041B914 +/* 0041B8B8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B8BC: +/* 0041B8BC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B8C0 02002825 */ move $a1, $s0 +/* 0041B8C4 02203025 */ move $a2, $s1 +/* 0041B8C8 0320F809 */ jalr $t9 +/* 0041B8CC 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B8D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B8D4 24040017 */ li $a0, 23 +/* 0041B8D8 02002825 */ move $a1, $s0 +/* 0041B8DC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B8E0 02203025 */ move $a2, $s1 +/* 0041B8E4 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B8E8 0320F809 */ jalr $t9 +/* 0041B8EC 00000000 */ nop +/* 0041B8F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B8F4 2404000F */ li $a0, 15 +/* 0041B8F8 26050001 */ addiu $a1, $s0, 1 +/* 0041B8FC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B900 26260001 */ addiu $a2, $s1, 1 +/* 0041B904 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B908 0320F809 */ jalr $t9 +/* 0041B90C 00000000 */ nop +/* 0041B910 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B914: +/* 0041B914 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041B918 8FA40030 */ lw $a0, 0x30($sp) +/* 0041B91C 0320F809 */ jalr $t9 +/* 0041B920 00000000 */ nop +/* 0041B924 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041B928 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B92C 8FB00018 */ lw $s0, 0x18($sp) +/* 0041B930 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041B934 03E00008 */ jr $ra +/* 0041B938 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041B93C, @function +func_0041B93C: + # 0041BA7C emit_branch_rrll +/* 0041B93C 3C1C0FC0 */ .cpload $t9 +/* 0041B940 279C4114 */ +/* 0041B944 0399E021 */ +/* 0041B948 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041B94C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041B950 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041B954 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041B958 AFB00018 */ sw $s0, 0x18($sp) +/* 0041B95C 309000FF */ andi $s0, $a0, 0xff +/* 0041B960 30B100FF */ andi $s1, $a1, 0xff +/* 0041B964 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041B968 AFA40038 */ sw $a0, 0x38($sp) +/* 0041B96C AFA5003C */ sw $a1, 0x3c($sp) +/* 0041B970 0320F809 */ jalr $t9 +/* 0041B974 AFA60040 */ sw $a2, 0x40($sp) +/* 0041B978 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B97C AFA20030 */ sw $v0, 0x30($sp) +/* 0041B980 26050001 */ addiu $a1, $s0, 1 +/* 0041B984 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041B988 26260001 */ addiu $a2, $s1, 1 +/* 0041B98C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B990 91CE0000 */ lbu $t6, ($t6) +/* 0041B994 24040012 */ li $a0, 18 +/* 0041B998 11C00018 */ beqz $t6, .L0041B9FC +/* 0041B99C 00000000 */ nop +/* 0041B9A0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B9A4 24040012 */ li $a0, 18 +/* 0041B9A8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041B9AC 0320F809 */ jalr $t9 +/* 0041B9B0 AFA60028 */ sw $a2, 0x28($sp) +/* 0041B9B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B9B8 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041B9BC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041B9C0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B9C4 24040018 */ li $a0, 24 +/* 0041B9C8 8FA70030 */ lw $a3, 0x30($sp) +/* 0041B9CC 0320F809 */ jalr $t9 +/* 0041B9D0 00000000 */ nop +/* 0041B9D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041B9D8 2404000F */ li $a0, 15 +/* 0041B9DC 02002825 */ move $a1, $s0 +/* 0041B9E0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041B9E4 02203025 */ move $a2, $s1 +/* 0041B9E8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041B9EC 0320F809 */ jalr $t9 +/* 0041B9F0 00000000 */ nop +/* 0041B9F4 10000017 */ b .L0041BA54 +/* 0041B9F8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041B9FC: +/* 0041B9FC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041BA00 02002825 */ move $a1, $s0 +/* 0041BA04 02203025 */ move $a2, $s1 +/* 0041BA08 0320F809 */ jalr $t9 +/* 0041BA0C 8FA70040 */ lw $a3, 0x40($sp) +/* 0041BA10 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041BA14 24040018 */ li $a0, 24 +/* 0041BA18 02002825 */ move $a1, $s0 +/* 0041BA1C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041BA20 02203025 */ move $a2, $s1 +/* 0041BA24 8FA70030 */ lw $a3, 0x30($sp) +/* 0041BA28 0320F809 */ jalr $t9 +/* 0041BA2C 00000000 */ nop +/* 0041BA30 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041BA34 2404000F */ li $a0, 15 +/* 0041BA38 26050001 */ addiu $a1, $s0, 1 +/* 0041BA3C 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041BA40 26260001 */ addiu $a2, $s1, 1 +/* 0041BA44 8FA70040 */ lw $a3, 0x40($sp) +/* 0041BA48 0320F809 */ jalr $t9 +/* 0041BA4C 00000000 */ nop +/* 0041BA50 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BA54: +/* 0041BA54 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041BA58 8FA40030 */ lw $a0, 0x30($sp) +/* 0041BA5C 0320F809 */ jalr $t9 +/* 0041BA60 00000000 */ nop +/* 0041BA64 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041BA68 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041BA6C 8FB00018 */ lw $s0, 0x18($sp) +/* 0041BA70 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041BA74 03E00008 */ jr $ra +/* 0041BA78 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel emit_branch_rrll + .ent emit_branch_rrll + # 00423D28 jump + # 0042BDAC eval +/* 0041BA7C 3C1C0FC0 */ .cpload $t9 +/* 0041BA80 279C3FD4 */ +/* 0041BA84 0399E021 */ +/* 0041BA88 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0041BA8C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041BA90 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041BA94 91CE0000 */ lbu $t6, ($t6) +/* 0041BA98 AFB00018 */ sw $s0, 0x18($sp) +/* 0041BA9C 30B000FF */ andi $s0, $a1, 0xff +/* 0041BAA0 30D100FF */ andi $s1, $a2, 0xff +/* 0041BAA4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041BAA8 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041BAAC AFA40030 */ sw $a0, 0x30($sp) +/* 0041BAB0 AFA50034 */ sw $a1, 0x34($sp) +/* 0041BAB4 15C00077 */ bnez $t6, .L0041BC94 +/* 0041BAB8 AFA60038 */ sw $a2, 0x38($sp) +/* 0041BABC 8FAF0040 */ lw $t7, 0x40($sp) +/* 0041BAC0 3C010501 */ lui $at, 0x501 +/* 0041BAC4 3082FFFF */ andi $v0, $a0, 0xffff +/* 0041BAC8 91F80021 */ lbu $t8, 0x21($t7) +/* 0041BACC 244CFFF3 */ addiu $t4, $v0, -0xd +/* 0041BAD0 3319001F */ andi $t9, $t8, 0x1f +/* 0041BAD4 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0041BAD8 00084823 */ negu $t1, $t0 +/* 0041BADC 01215024 */ and $t2, $t1, $at +/* 0041BAE0 032A5804 */ sllv $t3, $t2, $t9 +/* 0041BAE4 0561006B */ bgez $t3, .L0041BC94 +/* 0041BAE8 2D81000E */ sltiu $at, $t4, 0xe +/* 0041BAEC 10200062 */ beqz $at, .L0041BC78 +/* 0041BAF0 00000000 */ nop +/* 0041BAF4 8F818038 */ lw $at, %got(jtbl_10009690)($gp) +/* 0041BAF8 000C6080 */ sll $t4, $t4, 2 +/* 0041BAFC 002C0821 */ addu $at, $at, $t4 +/* 0041BB00 8C2C9690 */ lw $t4, %lo(jtbl_10009690)($at) +/* 0041BB04 019C6021 */ addu $t4, $t4, $gp +/* 0041BB08 01800008 */ jr $t4 +/* 0041BB0C 00000000 */ nop +.L0041BB10: +/* 0041BB10 8F99801C */ lw $t9, %got(func_0041AF70)($gp) +/* 0041BB14 02002025 */ move $a0, $s0 +/* 0041BB18 02202825 */ move $a1, $s1 +/* 0041BB1C 2739AF70 */ addiu $t9, %lo(func_0041AF70) # addiu $t9, $t9, -0x5090 +/* 0041BB20 00E03025 */ move $a2, $a3 +/* 0041BB24 0320F809 */ jalr $t9 +/* 0041BB28 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BB2C 1000005F */ b .L0041BCAC +/* 0041BB30 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BB34: +/* 0041BB34 8F99801C */ lw $t9, %got(func_0041AFE4)($gp) +/* 0041BB38 02002025 */ move $a0, $s0 +/* 0041BB3C 02202825 */ move $a1, $s1 +/* 0041BB40 2739AFE4 */ addiu $t9, %lo(func_0041AFE4) # addiu $t9, $t9, -0x501c +/* 0041BB44 00E03025 */ move $a2, $a3 +/* 0041BB48 0320F809 */ jalr $t9 +/* 0041BB4C 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BB50 10000056 */ b .L0041BCAC +/* 0041BB54 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BB58: +/* 0041BB58 8F99801C */ lw $t9, %got(func_0041B07C)($gp) +/* 0041BB5C 02002025 */ move $a0, $s0 +/* 0041BB60 02202825 */ move $a1, $s1 +/* 0041BB64 2739B07C */ addiu $t9, %lo(func_0041B07C) # addiu $t9, $t9, -0x4f84 +/* 0041BB68 00E03025 */ move $a2, $a3 +/* 0041BB6C 0320F809 */ jalr $t9 +/* 0041BB70 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BB74 1000004D */ b .L0041BCAC +/* 0041BB78 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BB7C: +/* 0041BB7C 8F99801C */ lw $t9, %got(func_0041B1BC)($gp) +/* 0041BB80 02002025 */ move $a0, $s0 +/* 0041BB84 02202825 */ move $a1, $s1 +/* 0041BB88 2739B1BC */ addiu $t9, %lo(func_0041B1BC) # addiu $t9, $t9, -0x4e44 +/* 0041BB8C 00E03025 */ move $a2, $a3 +/* 0041BB90 0320F809 */ jalr $t9 +/* 0041BB94 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BB98 10000044 */ b .L0041BCAC +/* 0041BB9C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BBA0: +/* 0041BBA0 8F99801C */ lw $t9, %got(func_0041B2FC)($gp) +/* 0041BBA4 02002025 */ move $a0, $s0 +/* 0041BBA8 02202825 */ move $a1, $s1 +/* 0041BBAC 2739B2FC */ addiu $t9, %lo(func_0041B2FC) # addiu $t9, $t9, -0x4d04 +/* 0041BBB0 00E03025 */ move $a2, $a3 +/* 0041BBB4 0320F809 */ jalr $t9 +/* 0041BBB8 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BBBC 1000003B */ b .L0041BCAC +/* 0041BBC0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BBC4: +/* 0041BBC4 8F99801C */ lw $t9, %got(func_0041B43C)($gp) +/* 0041BBC8 02002025 */ move $a0, $s0 +/* 0041BBCC 02202825 */ move $a1, $s1 +/* 0041BBD0 2739B43C */ addiu $t9, %lo(func_0041B43C) # addiu $t9, $t9, -0x4bc4 +/* 0041BBD4 00E03025 */ move $a2, $a3 +/* 0041BBD8 0320F809 */ jalr $t9 +/* 0041BBDC 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BBE0 10000032 */ b .L0041BCAC +/* 0041BBE4 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BBE8: +/* 0041BBE8 8F99801C */ lw $t9, %got(func_0041B57C)($gp) +/* 0041BBEC 02002025 */ move $a0, $s0 +/* 0041BBF0 02202825 */ move $a1, $s1 +/* 0041BBF4 2739B57C */ addiu $t9, %lo(func_0041B57C) # addiu $t9, $t9, -0x4a84 +/* 0041BBF8 00E03025 */ move $a2, $a3 +/* 0041BBFC 0320F809 */ jalr $t9 +/* 0041BC00 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BC04 10000029 */ b .L0041BCAC +/* 0041BC08 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BC0C: +/* 0041BC0C 8F99801C */ lw $t9, %got(func_0041B6BC)($gp) +/* 0041BC10 02002025 */ move $a0, $s0 +/* 0041BC14 02202825 */ move $a1, $s1 +/* 0041BC18 2739B6BC */ addiu $t9, %lo(func_0041B6BC) # addiu $t9, $t9, -0x4944 +/* 0041BC1C 00E03025 */ move $a2, $a3 +/* 0041BC20 0320F809 */ jalr $t9 +/* 0041BC24 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BC28 10000020 */ b .L0041BCAC +/* 0041BC2C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BC30: +/* 0041BC30 8F99801C */ lw $t9, %got(func_0041B7FC)($gp) +/* 0041BC34 02002025 */ move $a0, $s0 +/* 0041BC38 02202825 */ move $a1, $s1 +/* 0041BC3C 2739B7FC */ addiu $t9, %lo(func_0041B7FC) # addiu $t9, $t9, -0x4804 +/* 0041BC40 00E03025 */ move $a2, $a3 +/* 0041BC44 0320F809 */ jalr $t9 +/* 0041BC48 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BC4C 10000017 */ b .L0041BCAC +/* 0041BC50 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BC54: +/* 0041BC54 8F99801C */ lw $t9, %got(func_0041B93C)($gp) +/* 0041BC58 02002025 */ move $a0, $s0 +/* 0041BC5C 02202825 */ move $a1, $s1 +/* 0041BC60 2739B93C */ addiu $t9, %lo(func_0041B93C) # addiu $t9, $t9, -0x46c4 +/* 0041BC64 00E03025 */ move $a2, $a3 +/* 0041BC68 0320F809 */ jalr $t9 +/* 0041BC6C 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041BC70 1000000E */ b .L0041BCAC +/* 0041BC74 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BC78: +/* 0041BC78 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041BC7C 02002825 */ move $a1, $s0 +/* 0041BC80 02203025 */ move $a2, $s1 +/* 0041BC84 0320F809 */ jalr $t9 +/* 0041BC88 00000000 */ nop +/* 0041BC8C 10000007 */ b .L0041BCAC +/* 0041BC90 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BC94: +/* 0041BC94 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041BC98 02002825 */ move $a1, $s0 +/* 0041BC9C 02203025 */ move $a2, $s1 +/* 0041BCA0 0320F809 */ jalr $t9 +/* 0041BCA4 00000000 */ nop +/* 0041BCA8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041BCAC: +/* 0041BCAC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041BCB0 8FB00018 */ lw $s0, 0x18($sp) +/* 0041BCB4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041BCB8 03E00008 */ jr $ra +/* 0041BCBC 27BD0030 */ addiu $sp, $sp, 0x30 + .type emit_branch_rrll, @function + .size emit_branch_rrll, .-emit_branch_rrll + .end emit_branch_rrll + + .type func_0041BCC0, @function +func_0041BCC0: + # 0041C388 emit_branch_rill +/* 0041BCC0 3C1C0FC0 */ .cpload $t9 +/* 0041BCC4 279C3D90 */ +/* 0041BCC8 0399E021 */ +/* 0041BCCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041BCD0 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BCD4 AFA60028 */ sw $a2, 0x28($sp) +/* 0041BCD8 00A03025 */ move $a2, $a1 +/* 0041BCDC AFBF001C */ sw $ra, 0x1c($sp) +/* 0041BCE0 AFA40020 */ sw $a0, 0x20($sp) +/* 0041BCE4 AFA50024 */ sw $a1, 0x24($sp) +/* 0041BCE8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041BCEC AFA7002C */ sw $a3, 0x2c($sp) +/* 0041BCF0 93A50023 */ lbu $a1, 0x23($sp) +/* 0041BCF4 0320F809 */ jalr $t9 +/* 0041BCF8 2404001A */ li $a0, 26 +/* 0041BCFC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BD00 93A50023 */ lbu $a1, 0x23($sp) +/* 0041BD04 2404001A */ li $a0, 26 +/* 0041BD08 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BD0C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041BD10 8FA7002C */ lw $a3, 0x2c($sp) +/* 0041BD14 0320F809 */ jalr $t9 +/* 0041BD18 24A50001 */ addiu $a1, $a1, 1 +/* 0041BD1C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041BD20 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BD24 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0041BD28 03E00008 */ jr $ra +/* 0041BD2C 00000000 */ nop + + .type func_0041BD30, @function +func_0041BD30: + # 0041C388 emit_branch_rill +/* 0041BD30 3C1C0FC0 */ .cpload $t9 +/* 0041BD34 279C3D20 */ +/* 0041BD38 0399E021 */ +/* 0041BD3C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041BD40 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041BD44 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041BD48 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041BD4C AFA40028 */ sw $a0, 0x28($sp) +/* 0041BD50 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041BD54 AFA60030 */ sw $a2, 0x30($sp) +/* 0041BD58 0320F809 */ jalr $t9 +/* 0041BD5C AFA70034 */ sw $a3, 0x34($sp) +/* 0041BD60 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BD64 AFA20020 */ sw $v0, 0x20($sp) +/* 0041BD68 2404001A */ li $a0, 26 +/* 0041BD6C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BD70 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BD74 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BD78 0320F809 */ jalr $t9 +/* 0041BD7C 00403825 */ move $a3, $v0 +/* 0041BD80 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BD84 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BD88 2404000D */ li $a0, 13 +/* 0041BD8C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BD90 8FA60030 */ lw $a2, 0x30($sp) +/* 0041BD94 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BD98 0320F809 */ jalr $t9 +/* 0041BD9C 24A50001 */ addiu $a1, $a1, 1 +/* 0041BDA0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BDA4 8FA40020 */ lw $a0, 0x20($sp) +/* 0041BDA8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041BDAC 0320F809 */ jalr $t9 +/* 0041BDB0 00000000 */ nop +/* 0041BDB4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041BDB8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BDBC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041BDC0 03E00008 */ jr $ra +/* 0041BDC4 00000000 */ nop + + .type func_0041BDC8, @function +func_0041BDC8: + # 0041C388 emit_branch_rill +/* 0041BDC8 3C1C0FC0 */ .cpload $t9 +/* 0041BDCC 279C3C88 */ +/* 0041BDD0 0399E021 */ +/* 0041BDD4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041BDD8 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041BDDC AFBF001C */ sw $ra, 0x1c($sp) +/* 0041BDE0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041BDE4 AFA40028 */ sw $a0, 0x28($sp) +/* 0041BDE8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041BDEC AFA60030 */ sw $a2, 0x30($sp) +/* 0041BDF0 0320F809 */ jalr $t9 +/* 0041BDF4 AFA70034 */ sw $a3, 0x34($sp) +/* 0041BDF8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BDFC AFA20020 */ sw $v0, 0x20($sp) +/* 0041BE00 24040011 */ li $a0, 17 +/* 0041BE04 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BE08 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BE0C 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BE10 0320F809 */ jalr $t9 +/* 0041BE14 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BE18 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BE1C 24040017 */ li $a0, 23 +/* 0041BE20 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BE24 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BE28 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BE2C 8FA70020 */ lw $a3, 0x20($sp) +/* 0041BE30 0320F809 */ jalr $t9 +/* 0041BE34 00000000 */ nop +/* 0041BE38 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BE3C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BE40 24040012 */ li $a0, 18 +/* 0041BE44 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BE48 8FA60030 */ lw $a2, 0x30($sp) +/* 0041BE4C 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BE50 0320F809 */ jalr $t9 +/* 0041BE54 24A50001 */ addiu $a1, $a1, 1 +/* 0041BE58 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BE5C 8FA40020 */ lw $a0, 0x20($sp) +/* 0041BE60 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041BE64 0320F809 */ jalr $t9 +/* 0041BE68 00000000 */ nop +/* 0041BE6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041BE70 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BE74 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041BE78 03E00008 */ jr $ra +/* 0041BE7C 00000000 */ nop + + .type func_0041BE80, @function +func_0041BE80: + # 0041C388 emit_branch_rill +/* 0041BE80 3C1C0FC0 */ .cpload $t9 +/* 0041BE84 279C3BD0 */ +/* 0041BE88 0399E021 */ +/* 0041BE8C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041BE90 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041BE94 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041BE98 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041BE9C AFA40028 */ sw $a0, 0x28($sp) +/* 0041BEA0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041BEA4 AFA60030 */ sw $a2, 0x30($sp) +/* 0041BEA8 0320F809 */ jalr $t9 +/* 0041BEAC AFA70034 */ sw $a3, 0x34($sp) +/* 0041BEB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BEB4 AFA20020 */ sw $v0, 0x20($sp) +/* 0041BEB8 24040012 */ li $a0, 18 +/* 0041BEBC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BEC0 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BEC4 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BEC8 0320F809 */ jalr $t9 +/* 0041BECC 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BED0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BED4 24040018 */ li $a0, 24 +/* 0041BED8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BEDC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BEE0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BEE4 8FA70020 */ lw $a3, 0x20($sp) +/* 0041BEE8 0320F809 */ jalr $t9 +/* 0041BEEC 00000000 */ nop +/* 0041BEF0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BEF4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BEF8 24040012 */ li $a0, 18 +/* 0041BEFC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BF00 8FA60030 */ lw $a2, 0x30($sp) +/* 0041BF04 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BF08 0320F809 */ jalr $t9 +/* 0041BF0C 24A50001 */ addiu $a1, $a1, 1 +/* 0041BF10 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BF14 8FA40020 */ lw $a0, 0x20($sp) +/* 0041BF18 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041BF1C 0320F809 */ jalr $t9 +/* 0041BF20 00000000 */ nop +/* 0041BF24 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041BF28 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BF2C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041BF30 03E00008 */ jr $ra +/* 0041BF34 00000000 */ nop + + .type func_0041BF38, @function +func_0041BF38: + # 0041C388 emit_branch_rill +/* 0041BF38 3C1C0FC0 */ .cpload $t9 +/* 0041BF3C 279C3B18 */ +/* 0041BF40 0399E021 */ +/* 0041BF44 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041BF48 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041BF4C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041BF50 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041BF54 AFA40028 */ sw $a0, 0x28($sp) +/* 0041BF58 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041BF5C AFA60030 */ sw $a2, 0x30($sp) +/* 0041BF60 0320F809 */ jalr $t9 +/* 0041BF64 AFA70034 */ sw $a3, 0x34($sp) +/* 0041BF68 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BF6C AFA20020 */ sw $v0, 0x20($sp) +/* 0041BF70 24040011 */ li $a0, 17 +/* 0041BF74 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BF78 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BF7C 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BF80 0320F809 */ jalr $t9 +/* 0041BF84 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BF88 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BF8C 24040017 */ li $a0, 23 +/* 0041BF90 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BF94 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BF98 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041BF9C 8FA70020 */ lw $a3, 0x20($sp) +/* 0041BFA0 0320F809 */ jalr $t9 +/* 0041BFA4 00000000 */ nop +/* 0041BFA8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BFAC 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041BFB0 2404000F */ li $a0, 15 +/* 0041BFB4 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041BFB8 8FA60030 */ lw $a2, 0x30($sp) +/* 0041BFBC 8FA70034 */ lw $a3, 0x34($sp) +/* 0041BFC0 0320F809 */ jalr $t9 +/* 0041BFC4 24A50001 */ addiu $a1, $a1, 1 +/* 0041BFC8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BFCC 8FA40020 */ lw $a0, 0x20($sp) +/* 0041BFD0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041BFD4 0320F809 */ jalr $t9 +/* 0041BFD8 00000000 */ nop +/* 0041BFDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041BFE0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041BFE4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041BFE8 03E00008 */ jr $ra +/* 0041BFEC 00000000 */ nop + + .type func_0041BFF0, @function +func_0041BFF0: + # 0041C388 emit_branch_rill +/* 0041BFF0 3C1C0FC0 */ .cpload $t9 +/* 0041BFF4 279C3A60 */ +/* 0041BFF8 0399E021 */ +/* 0041BFFC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C000 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C004 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041C008 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041C00C AFA40028 */ sw $a0, 0x28($sp) +/* 0041C010 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C014 AFA60030 */ sw $a2, 0x30($sp) +/* 0041C018 0320F809 */ jalr $t9 +/* 0041C01C AFA70034 */ sw $a3, 0x34($sp) +/* 0041C020 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C024 AFA20020 */ sw $v0, 0x20($sp) +/* 0041C028 24040012 */ li $a0, 18 +/* 0041C02C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C030 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C034 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C038 0320F809 */ jalr $t9 +/* 0041C03C 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C040 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C044 24040018 */ li $a0, 24 +/* 0041C048 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C04C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C050 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C054 8FA70020 */ lw $a3, 0x20($sp) +/* 0041C058 0320F809 */ jalr $t9 +/* 0041C05C 00000000 */ nop +/* 0041C060 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C064 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C068 2404000F */ li $a0, 15 +/* 0041C06C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C070 8FA60030 */ lw $a2, 0x30($sp) +/* 0041C074 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C078 0320F809 */ jalr $t9 +/* 0041C07C 24A50001 */ addiu $a1, $a1, 1 +/* 0041C080 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C084 8FA40020 */ lw $a0, 0x20($sp) +/* 0041C088 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C08C 0320F809 */ jalr $t9 +/* 0041C090 00000000 */ nop +/* 0041C094 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041C098 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C09C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C0A0 03E00008 */ jr $ra +/* 0041C0A4 00000000 */ nop + + .type func_0041C0A8, @function +func_0041C0A8: + # 0041C388 emit_branch_rill +/* 0041C0A8 3C1C0FC0 */ .cpload $t9 +/* 0041C0AC 279C39A8 */ +/* 0041C0B0 0399E021 */ +/* 0041C0B4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C0B8 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C0BC AFBF001C */ sw $ra, 0x1c($sp) +/* 0041C0C0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041C0C4 AFA40028 */ sw $a0, 0x28($sp) +/* 0041C0C8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C0CC AFA60030 */ sw $a2, 0x30($sp) +/* 0041C0D0 0320F809 */ jalr $t9 +/* 0041C0D4 AFA70034 */ sw $a3, 0x34($sp) +/* 0041C0D8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C0DC AFA20020 */ sw $v0, 0x20($sp) +/* 0041C0E0 24040017 */ li $a0, 23 +/* 0041C0E4 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C0E8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C0EC 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C0F0 0320F809 */ jalr $t9 +/* 0041C0F4 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C0F8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C0FC 24040011 */ li $a0, 17 +/* 0041C100 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C104 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C108 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C10C 8FA70020 */ lw $a3, 0x20($sp) +/* 0041C110 0320F809 */ jalr $t9 +/* 0041C114 00000000 */ nop +/* 0041C118 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C11C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C120 24040018 */ li $a0, 24 +/* 0041C124 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C128 8FA60030 */ lw $a2, 0x30($sp) +/* 0041C12C 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C130 0320F809 */ jalr $t9 +/* 0041C134 24A50001 */ addiu $a1, $a1, 1 +/* 0041C138 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C13C 8FA40020 */ lw $a0, 0x20($sp) +/* 0041C140 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C144 0320F809 */ jalr $t9 +/* 0041C148 00000000 */ nop +/* 0041C14C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041C150 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C154 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C158 03E00008 */ jr $ra +/* 0041C15C 00000000 */ nop + + .type func_0041C160, @function +func_0041C160: + # 0041C388 emit_branch_rill +/* 0041C160 3C1C0FC0 */ .cpload $t9 +/* 0041C164 279C38F0 */ +/* 0041C168 0399E021 */ +/* 0041C16C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C170 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C174 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041C178 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041C17C AFA40028 */ sw $a0, 0x28($sp) +/* 0041C180 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C184 AFA60030 */ sw $a2, 0x30($sp) +/* 0041C188 0320F809 */ jalr $t9 +/* 0041C18C AFA70034 */ sw $a3, 0x34($sp) +/* 0041C190 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C194 AFA20020 */ sw $v0, 0x20($sp) +/* 0041C198 24040018 */ li $a0, 24 +/* 0041C19C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C1A0 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C1A4 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C1A8 0320F809 */ jalr $t9 +/* 0041C1AC 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C1B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C1B4 24040012 */ li $a0, 18 +/* 0041C1B8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C1BC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C1C0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C1C4 8FA70020 */ lw $a3, 0x20($sp) +/* 0041C1C8 0320F809 */ jalr $t9 +/* 0041C1CC 00000000 */ nop +/* 0041C1D0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C1D4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C1D8 24040018 */ li $a0, 24 +/* 0041C1DC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C1E0 8FA60030 */ lw $a2, 0x30($sp) +/* 0041C1E4 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C1E8 0320F809 */ jalr $t9 +/* 0041C1EC 24A50001 */ addiu $a1, $a1, 1 +/* 0041C1F0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C1F4 8FA40020 */ lw $a0, 0x20($sp) +/* 0041C1F8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C1FC 0320F809 */ jalr $t9 +/* 0041C200 00000000 */ nop +/* 0041C204 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041C208 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C20C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C210 03E00008 */ jr $ra +/* 0041C214 00000000 */ nop + + .type func_0041C218, @function +func_0041C218: + # 0041C388 emit_branch_rill +/* 0041C218 3C1C0FC0 */ .cpload $t9 +/* 0041C21C 279C3838 */ +/* 0041C220 0399E021 */ +/* 0041C224 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C228 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C22C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041C230 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041C234 AFA40028 */ sw $a0, 0x28($sp) +/* 0041C238 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C23C AFA60030 */ sw $a2, 0x30($sp) +/* 0041C240 0320F809 */ jalr $t9 +/* 0041C244 AFA70034 */ sw $a3, 0x34($sp) +/* 0041C248 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C24C AFA20020 */ sw $v0, 0x20($sp) +/* 0041C250 24040017 */ li $a0, 23 +/* 0041C254 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C258 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C25C 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C260 0320F809 */ jalr $t9 +/* 0041C264 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C268 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C26C 24040011 */ li $a0, 17 +/* 0041C270 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C274 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C278 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C27C 8FA70020 */ lw $a3, 0x20($sp) +/* 0041C280 0320F809 */ jalr $t9 +/* 0041C284 00000000 */ nop +/* 0041C288 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C28C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C290 24040015 */ li $a0, 21 +/* 0041C294 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C298 8FA60030 */ lw $a2, 0x30($sp) +/* 0041C29C 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C2A0 0320F809 */ jalr $t9 +/* 0041C2A4 24A50001 */ addiu $a1, $a1, 1 +/* 0041C2A8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C2AC 8FA40020 */ lw $a0, 0x20($sp) +/* 0041C2B0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C2B4 0320F809 */ jalr $t9 +/* 0041C2B8 00000000 */ nop +/* 0041C2BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041C2C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C2C4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C2C8 03E00008 */ jr $ra +/* 0041C2CC 00000000 */ nop + + .type func_0041C2D0, @function +func_0041C2D0: + # 0041C388 emit_branch_rill +/* 0041C2D0 3C1C0FC0 */ .cpload $t9 +/* 0041C2D4 279C3780 */ +/* 0041C2D8 0399E021 */ +/* 0041C2DC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C2E0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C2E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041C2E8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041C2EC AFA40028 */ sw $a0, 0x28($sp) +/* 0041C2F0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C2F4 AFA60030 */ sw $a2, 0x30($sp) +/* 0041C2F8 0320F809 */ jalr $t9 +/* 0041C2FC AFA70034 */ sw $a3, 0x34($sp) +/* 0041C300 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C304 AFA20020 */ sw $v0, 0x20($sp) +/* 0041C308 24040018 */ li $a0, 24 +/* 0041C30C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C310 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C314 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C318 0320F809 */ jalr $t9 +/* 0041C31C 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C320 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C324 24040012 */ li $a0, 18 +/* 0041C328 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C32C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C330 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041C334 8FA70020 */ lw $a3, 0x20($sp) +/* 0041C338 0320F809 */ jalr $t9 +/* 0041C33C 00000000 */ nop +/* 0041C340 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C344 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C348 24040015 */ li $a0, 21 +/* 0041C34C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C350 8FA60030 */ lw $a2, 0x30($sp) +/* 0041C354 8FA70034 */ lw $a3, 0x34($sp) +/* 0041C358 0320F809 */ jalr $t9 +/* 0041C35C 24A50001 */ addiu $a1, $a1, 1 +/* 0041C360 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C364 8FA40020 */ lw $a0, 0x20($sp) +/* 0041C368 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C36C 0320F809 */ jalr $t9 +/* 0041C370 00000000 */ nop +/* 0041C374 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041C378 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041C37C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C380 03E00008 */ jr $ra +/* 0041C384 00000000 */ nop + +glabel emit_branch_rill + .ent emit_branch_rill + # 00420590 func_00420590 + # 00423D28 jump + # 0042BDAC eval + # 00433494 eval_flt_int_cvt +/* 0041C388 3C1C0FC0 */ .cpload $t9 +/* 0041C38C 279C36C8 */ +/* 0041C390 0399E021 */ +/* 0041C394 8F8289D8 */ lw $v0, %got(opcode_arch)($gp) +/* 0041C398 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041C39C AFB2001C */ sw $s2, 0x1c($sp) +/* 0041C3A0 90420000 */ lbu $v0, ($v0) +/* 0041C3A4 AFB10018 */ sw $s1, 0x18($sp) +/* 0041C3A8 AFB00014 */ sw $s0, 0x14($sp) +/* 0041C3AC 00C08025 */ move $s0, $a2 +/* 0041C3B0 30B100FF */ andi $s1, $a1, 0xff +/* 0041C3B4 00E09025 */ move $s2, $a3 +/* 0041C3B8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C3BC AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C3C0 AFA40038 */ sw $a0, 0x38($sp) +/* 0041C3C4 14400083 */ bnez $v0, .L0041C5D4 +/* 0041C3C8 AFA5003C */ sw $a1, 0x3c($sp) +/* 0041C3CC 8FAE004C */ lw $t6, 0x4c($sp) +/* 0041C3D0 3C010501 */ lui $at, 0x501 +/* 0041C3D4 91CF0021 */ lbu $t7, 0x21($t6) +/* 0041C3D8 31F8001F */ andi $t8, $t7, 0x1f +/* 0041C3DC 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0041C3E0 00194023 */ negu $t0, $t9 +/* 0041C3E4 01014824 */ and $t1, $t0, $at +/* 0041C3E8 03095004 */ sllv $t2, $t1, $t8 +/* 0041C3EC 0543007A */ bgezl $t2, .L0041C5D8 +/* 0041C3F0 24010001 */ li $at, 1 +/* 0041C3F4 97A2003A */ lhu $v0, 0x3a($sp) +/* 0041C3F8 244BFFF3 */ addiu $t3, $v0, -0xd +/* 0041C3FC 2D61000E */ sltiu $at, $t3, 0xe +/* 0041C400 1020006C */ beqz $at, .L0041C5B4 +/* 0041C404 00000000 */ nop +/* 0041C408 8F818038 */ lw $at, %got(jtbl_100096C8)($gp) +/* 0041C40C 000B5880 */ sll $t3, $t3, 2 +/* 0041C410 002B0821 */ addu $at, $at, $t3 +/* 0041C414 8C2B96C8 */ lw $t3, %lo(jtbl_100096C8)($at) +/* 0041C418 017C5821 */ addu $t3, $t3, $gp +/* 0041C41C 01600008 */ jr $t3 +/* 0041C420 00000000 */ nop +.L0041C424: +/* 0041C424 8F99801C */ lw $t9, %got(func_0041BCC0)($gp) +/* 0041C428 02202025 */ move $a0, $s1 +/* 0041C42C 02002825 */ move $a1, $s0 +/* 0041C430 2739BCC0 */ addiu $t9, %lo(func_0041BCC0) # addiu $t9, $t9, -0x4340 +/* 0041C434 02403025 */ move $a2, $s2 +/* 0041C438 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C43C 0320F809 */ jalr $t9 +/* 0041C440 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C444 1000008D */ b .L0041C67C +/* 0041C448 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C44C: +/* 0041C44C 8F99801C */ lw $t9, %got(func_0041BD30)($gp) +/* 0041C450 02202025 */ move $a0, $s1 +/* 0041C454 02002825 */ move $a1, $s0 +/* 0041C458 2739BD30 */ addiu $t9, %lo(func_0041BD30) # addiu $t9, $t9, -0x42d0 +/* 0041C45C 02403025 */ move $a2, $s2 +/* 0041C460 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C464 0320F809 */ jalr $t9 +/* 0041C468 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C46C 10000083 */ b .L0041C67C +/* 0041C470 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C474: +/* 0041C474 8F99801C */ lw $t9, %got(func_0041BDC8)($gp) +/* 0041C478 02202025 */ move $a0, $s1 +/* 0041C47C 02002825 */ move $a1, $s0 +/* 0041C480 2739BDC8 */ addiu $t9, %lo(func_0041BDC8) # addiu $t9, $t9, -0x4238 +/* 0041C484 02403025 */ move $a2, $s2 +/* 0041C488 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C48C 0320F809 */ jalr $t9 +/* 0041C490 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C494 10000079 */ b .L0041C67C +/* 0041C498 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C49C: +/* 0041C49C 8F99801C */ lw $t9, %got(func_0041BE80)($gp) +/* 0041C4A0 02202025 */ move $a0, $s1 +/* 0041C4A4 02002825 */ move $a1, $s0 +/* 0041C4A8 2739BE80 */ addiu $t9, %lo(func_0041BE80) # addiu $t9, $t9, -0x4180 +/* 0041C4AC 02403025 */ move $a2, $s2 +/* 0041C4B0 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C4B4 0320F809 */ jalr $t9 +/* 0041C4B8 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C4BC 1000006F */ b .L0041C67C +/* 0041C4C0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C4C4: +/* 0041C4C4 8F99801C */ lw $t9, %got(func_0041C0A8)($gp) +/* 0041C4C8 02202025 */ move $a0, $s1 +/* 0041C4CC 02002825 */ move $a1, $s0 +/* 0041C4D0 2739C0A8 */ addiu $t9, %lo(func_0041C0A8) # addiu $t9, $t9, -0x3f58 +/* 0041C4D4 02403025 */ move $a2, $s2 +/* 0041C4D8 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C4DC 0320F809 */ jalr $t9 +/* 0041C4E0 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C4E4 10000065 */ b .L0041C67C +/* 0041C4E8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C4EC: +/* 0041C4EC 8F99801C */ lw $t9, %got(func_0041C160)($gp) +/* 0041C4F0 02202025 */ move $a0, $s1 +/* 0041C4F4 02002825 */ move $a1, $s0 +/* 0041C4F8 2739C160 */ addiu $t9, %lo(func_0041C160) # addiu $t9, $t9, -0x3ea0 +/* 0041C4FC 02403025 */ move $a2, $s2 +/* 0041C500 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C504 0320F809 */ jalr $t9 +/* 0041C508 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C50C 1000005B */ b .L0041C67C +/* 0041C510 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C514: +/* 0041C514 8F99801C */ lw $t9, %got(func_0041C218)($gp) +/* 0041C518 02202025 */ move $a0, $s1 +/* 0041C51C 02002825 */ move $a1, $s0 +/* 0041C520 2739C218 */ addiu $t9, %lo(func_0041C218) # addiu $t9, $t9, -0x3de8 +/* 0041C524 02403025 */ move $a2, $s2 +/* 0041C528 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C52C 0320F809 */ jalr $t9 +/* 0041C530 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C534 10000051 */ b .L0041C67C +/* 0041C538 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C53C: +/* 0041C53C 8F99801C */ lw $t9, %got(func_0041C2D0)($gp) +/* 0041C540 02202025 */ move $a0, $s1 +/* 0041C544 02002825 */ move $a1, $s0 +/* 0041C548 2739C2D0 */ addiu $t9, %lo(func_0041C2D0) # addiu $t9, $t9, -0x3d30 +/* 0041C54C 02403025 */ move $a2, $s2 +/* 0041C550 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C554 0320F809 */ jalr $t9 +/* 0041C558 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C55C 10000047 */ b .L0041C67C +/* 0041C560 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C564: +/* 0041C564 8F99801C */ lw $t9, %got(func_0041BF38)($gp) +/* 0041C568 02202025 */ move $a0, $s1 +/* 0041C56C 02002825 */ move $a1, $s0 +/* 0041C570 2739BF38 */ addiu $t9, %lo(func_0041BF38) # addiu $t9, $t9, -0x40c8 +/* 0041C574 02403025 */ move $a2, $s2 +/* 0041C578 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C57C 0320F809 */ jalr $t9 +/* 0041C580 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C584 1000003D */ b .L0041C67C +/* 0041C588 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C58C: +/* 0041C58C 8F99801C */ lw $t9, %got(func_0041BFF0)($gp) +/* 0041C590 02202025 */ move $a0, $s1 +/* 0041C594 02002825 */ move $a1, $s0 +/* 0041C598 2739BFF0 */ addiu $t9, %lo(func_0041BFF0) # addiu $t9, $t9, -0x4010 +/* 0041C59C 02403025 */ move $a2, $s2 +/* 0041C5A0 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C5A4 0320F809 */ jalr $t9 +/* 0041C5A8 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041C5AC 10000033 */ b .L0041C67C +/* 0041C5B0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C5B4: +/* 0041C5B4 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C5B8 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041C5BC 02202825 */ move $a1, $s1 +/* 0041C5C0 02403025 */ move $a2, $s2 +/* 0041C5C4 0320F809 */ jalr $t9 +/* 0041C5C8 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C5CC 1000002B */ b .L0041C67C +/* 0041C5D0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C5D4: +/* 0041C5D4 24010001 */ li $at, 1 +.L0041C5D8: +/* 0041C5D8 14410022 */ bne $v0, $at, .L0041C664 +/* 0041C5DC 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041C5E0 12000020 */ beqz $s0, .L0041C664 +/* 0041C5E4 24050001 */ li $a1, 1 +/* 0041C5E8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041C5EC AFB00030 */ sw $s0, 0x30($sp) +/* 0041C5F0 AFB20034 */ sw $s2, 0x34($sp) +/* 0041C5F4 0320F809 */ jalr $t9 +/* 0041C5F8 00002025 */ move $a0, $zero +/* 0041C5FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C600 305000FF */ andi $s0, $v0, 0xff +/* 0041C604 304400FF */ andi $a0, $v0, 0xff +/* 0041C608 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041C60C 0320F809 */ jalr $t9 +/* 0041C610 00000000 */ nop +/* 0041C614 27AC0030 */ addiu $t4, $sp, 0x30 +/* 0041C618 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C61C 8D860000 */ lw $a2, ($t4) +/* 0041C620 2404014C */ li $a0, 332 +/* 0041C624 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 0041C628 AFA60008 */ sw $a2, 8($sp) +/* 0041C62C 8D870004 */ lw $a3, 4($t4) +/* 0041C630 02002825 */ move $a1, $s0 +/* 0041C634 0320F809 */ jalr $t9 +/* 0041C638 AFA7000C */ sw $a3, 0xc($sp) +/* 0041C63C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C640 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041C644 02202825 */ move $a1, $s1 +/* 0041C648 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041C64C 02003025 */ move $a2, $s0 +/* 0041C650 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C654 0320F809 */ jalr $t9 +/* 0041C658 00000000 */ nop +/* 0041C65C 10000007 */ b .L0041C67C +/* 0041C660 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C664: +/* 0041C664 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041C668 02202825 */ move $a1, $s1 +/* 0041C66C 02403025 */ move $a2, $s2 +/* 0041C670 0320F809 */ jalr $t9 +/* 0041C674 8FA70048 */ lw $a3, 0x48($sp) +/* 0041C678 8FBC0020 */ lw $gp, 0x20($sp) +.L0041C67C: +/* 0041C67C 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C680 8FB00014 */ lw $s0, 0x14($sp) +/* 0041C684 8FB10018 */ lw $s1, 0x18($sp) +/* 0041C688 8FB2001C */ lw $s2, 0x1c($sp) +/* 0041C68C 03E00008 */ jr $ra +/* 0041C690 27BD0038 */ addiu $sp, $sp, 0x38 + .type emit_branch_rill, @function + .size emit_branch_rill, .-emit_branch_rill + .end emit_branch_rill + + .type func_0041C694, @function +func_0041C694: + # 0041CAAC emit_trap_rri +/* 0041C694 3C1C0FC0 */ .cpload $t9 +/* 0041C698 279C33BC */ +/* 0041C69C 0399E021 */ +/* 0041C6A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041C6A4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C6A8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C6AC AFA40028 */ sw $a0, 0x28($sp) +/* 0041C6B0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041C6B4 AFA60030 */ sw $a2, 0x30($sp) +/* 0041C6B8 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C6BC 8FA70030 */ lw $a3, 0x30($sp) +/* 0041C6C0 93A6002F */ lbu $a2, 0x2f($sp) +/* 0041C6C4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C6C8 24040104 */ li $a0, 260 +/* 0041C6CC 0320F809 */ jalr $t9 +/* 0041C6D0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C6D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C6D8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041C6DC 93A6002F */ lbu $a2, 0x2f($sp) +/* 0041C6E0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C6E4 24040104 */ li $a0, 260 +/* 0041C6E8 8FA70030 */ lw $a3, 0x30($sp) +/* 0041C6EC AFA00010 */ sw $zero, 0x10($sp) +/* 0041C6F0 24A50001 */ addiu $a1, $a1, 1 +/* 0041C6F4 0320F809 */ jalr $t9 +/* 0041C6F8 24C60001 */ addiu $a2, $a2, 1 +/* 0041C6FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C700 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C704 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041C708 03E00008 */ jr $ra +/* 0041C70C 00000000 */ nop + + .type func_0041C710, @function +func_0041C710: + # 0041CAAC emit_trap_rri +/* 0041C710 3C1C0FC0 */ .cpload $t9 +/* 0041C714 279C3340 */ +/* 0041C718 0399E021 */ +/* 0041C71C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041C720 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C724 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C728 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C72C AFA40030 */ sw $a0, 0x30($sp) +/* 0041C730 AFA50034 */ sw $a1, 0x34($sp) +/* 0041C734 0320F809 */ jalr $t9 +/* 0041C738 AFA60038 */ sw $a2, 0x38($sp) +/* 0041C73C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C740 AFA20028 */ sw $v0, 0x28($sp) +/* 0041C744 2404001A */ li $a0, 26 +/* 0041C748 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041C74C 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C750 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C754 0320F809 */ jalr $t9 +/* 0041C758 00403825 */ move $a3, $v0 +/* 0041C75C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C760 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C764 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C768 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C76C 24040103 */ li $a0, 259 +/* 0041C770 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C774 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C778 24A50001 */ addiu $a1, $a1, 1 +/* 0041C77C 0320F809 */ jalr $t9 +/* 0041C780 24C60001 */ addiu $a2, $a2, 1 +/* 0041C784 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C788 8FA40028 */ lw $a0, 0x28($sp) +/* 0041C78C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C790 0320F809 */ jalr $t9 +/* 0041C794 00000000 */ nop +/* 0041C798 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C79C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C7A0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041C7A4 03E00008 */ jr $ra +/* 0041C7A8 00000000 */ nop + + .type func_0041C7AC, @function +func_0041C7AC: + # 0041CAAC emit_trap_rri +/* 0041C7AC 3C1C0FC0 */ .cpload $t9 +/* 0041C7B0 279C32A4 */ +/* 0041C7B4 0399E021 */ +/* 0041C7B8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041C7BC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C7C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C7C4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C7C8 AFA40030 */ sw $a0, 0x30($sp) +/* 0041C7CC AFA50034 */ sw $a1, 0x34($sp) +/* 0041C7D0 0320F809 */ jalr $t9 +/* 0041C7D4 AFA60038 */ sw $a2, 0x38($sp) +/* 0041C7D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C7DC AFA20028 */ sw $v0, 0x28($sp) +/* 0041C7E0 240400FF */ li $a0, 255 +/* 0041C7E4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C7E8 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C7EC 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C7F0 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C7F4 0320F809 */ jalr $t9 +/* 0041C7F8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C7FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C800 24040011 */ li $a0, 17 +/* 0041C804 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C808 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041C80C 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C810 8FA70028 */ lw $a3, 0x28($sp) +/* 0041C814 0320F809 */ jalr $t9 +/* 0041C818 00000000 */ nop +/* 0041C81C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C820 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C824 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C828 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C82C 24040100 */ li $a0, 256 +/* 0041C830 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C834 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C838 24A50001 */ addiu $a1, $a1, 1 +/* 0041C83C 0320F809 */ jalr $t9 +/* 0041C840 24C60001 */ addiu $a2, $a2, 1 +/* 0041C844 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C848 8FA40028 */ lw $a0, 0x28($sp) +/* 0041C84C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C850 0320F809 */ jalr $t9 +/* 0041C854 00000000 */ nop +/* 0041C858 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C85C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C860 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041C864 03E00008 */ jr $ra +/* 0041C868 00000000 */ nop + + .type func_0041C86C, @function +func_0041C86C: + # 0041CAAC emit_trap_rri +/* 0041C86C 3C1C0FC0 */ .cpload $t9 +/* 0041C870 279C31E4 */ +/* 0041C874 0399E021 */ +/* 0041C878 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041C87C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C880 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C884 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C888 AFA40030 */ sw $a0, 0x30($sp) +/* 0041C88C AFA50034 */ sw $a1, 0x34($sp) +/* 0041C890 0320F809 */ jalr $t9 +/* 0041C894 AFA60038 */ sw $a2, 0x38($sp) +/* 0041C898 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C89C AFA20028 */ sw $v0, 0x28($sp) +/* 0041C8A0 24040100 */ li $a0, 256 +/* 0041C8A4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C8A8 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C8AC 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C8B0 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C8B4 0320F809 */ jalr $t9 +/* 0041C8B8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C8BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C8C0 24040012 */ li $a0, 18 +/* 0041C8C4 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C8C8 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041C8CC 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C8D0 8FA70028 */ lw $a3, 0x28($sp) +/* 0041C8D4 0320F809 */ jalr $t9 +/* 0041C8D8 00000000 */ nop +/* 0041C8DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C8E0 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C8E4 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C8E8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C8EC 24040018 */ li $a0, 24 +/* 0041C8F0 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C8F4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C8F8 24A50001 */ addiu $a1, $a1, 1 +/* 0041C8FC 0320F809 */ jalr $t9 +/* 0041C900 24C60001 */ addiu $a2, $a2, 1 +/* 0041C904 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C908 8FA40028 */ lw $a0, 0x28($sp) +/* 0041C90C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C910 0320F809 */ jalr $t9 +/* 0041C914 00000000 */ nop +/* 0041C918 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C91C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C920 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041C924 03E00008 */ jr $ra +/* 0041C928 00000000 */ nop + + .type func_0041C92C, @function +func_0041C92C: + # 0041CAAC emit_trap_rri +/* 0041C92C 3C1C0FC0 */ .cpload $t9 +/* 0041C930 279C3124 */ +/* 0041C934 0399E021 */ +/* 0041C938 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041C93C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041C940 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041C944 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041C948 AFA40030 */ sw $a0, 0x30($sp) +/* 0041C94C AFA50034 */ sw $a1, 0x34($sp) +/* 0041C950 0320F809 */ jalr $t9 +/* 0041C954 AFA60038 */ sw $a2, 0x38($sp) +/* 0041C958 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C95C AFA20028 */ sw $v0, 0x28($sp) +/* 0041C960 240400FF */ li $a0, 255 +/* 0041C964 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C968 93A50037 */ lbu $a1, 0x37($sp) +/* 0041C96C 93A60033 */ lbu $a2, 0x33($sp) +/* 0041C970 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C974 0320F809 */ jalr $t9 +/* 0041C978 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C97C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C980 24040017 */ li $a0, 23 +/* 0041C984 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C988 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041C98C 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C990 8FA70028 */ lw $a3, 0x28($sp) +/* 0041C994 0320F809 */ jalr $t9 +/* 0041C998 00000000 */ nop +/* 0041C99C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C9A0 93A50033 */ lbu $a1, 0x33($sp) +/* 0041C9A4 93A60037 */ lbu $a2, 0x37($sp) +/* 0041C9A8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041C9AC 24040102 */ li $a0, 258 +/* 0041C9B0 8FA70038 */ lw $a3, 0x38($sp) +/* 0041C9B4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041C9B8 24A50001 */ addiu $a1, $a1, 1 +/* 0041C9BC 0320F809 */ jalr $t9 +/* 0041C9C0 24C60001 */ addiu $a2, $a2, 1 +/* 0041C9C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C9C8 8FA40028 */ lw $a0, 0x28($sp) +/* 0041C9CC 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041C9D0 0320F809 */ jalr $t9 +/* 0041C9D4 00000000 */ nop +/* 0041C9D8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041C9DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041C9E0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041C9E4 03E00008 */ jr $ra +/* 0041C9E8 00000000 */ nop + + .type func_0041C9EC, @function +func_0041C9EC: + # 0041CAAC emit_trap_rri +/* 0041C9EC 3C1C0FC0 */ .cpload $t9 +/* 0041C9F0 279C3064 */ +/* 0041C9F4 0399E021 */ +/* 0041C9F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041C9FC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CA00 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041CA04 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041CA08 AFA40030 */ sw $a0, 0x30($sp) +/* 0041CA0C AFA50034 */ sw $a1, 0x34($sp) +/* 0041CA10 0320F809 */ jalr $t9 +/* 0041CA14 AFA60038 */ sw $a2, 0x38($sp) +/* 0041CA18 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041CA1C AFA20028 */ sw $v0, 0x28($sp) +/* 0041CA20 24040100 */ li $a0, 256 +/* 0041CA24 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041CA28 93A50037 */ lbu $a1, 0x37($sp) +/* 0041CA2C 93A60033 */ lbu $a2, 0x33($sp) +/* 0041CA30 8FA70038 */ lw $a3, 0x38($sp) +/* 0041CA34 0320F809 */ jalr $t9 +/* 0041CA38 AFA00010 */ sw $zero, 0x10($sp) +/* 0041CA3C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041CA40 24040018 */ li $a0, 24 +/* 0041CA44 93A50033 */ lbu $a1, 0x33($sp) +/* 0041CA48 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041CA4C 93A60037 */ lbu $a2, 0x37($sp) +/* 0041CA50 8FA70028 */ lw $a3, 0x28($sp) +/* 0041CA54 0320F809 */ jalr $t9 +/* 0041CA58 00000000 */ nop +/* 0041CA5C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041CA60 93A50033 */ lbu $a1, 0x33($sp) +/* 0041CA64 93A60037 */ lbu $a2, 0x37($sp) +/* 0041CA68 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041CA6C 24040102 */ li $a0, 258 +/* 0041CA70 8FA70038 */ lw $a3, 0x38($sp) +/* 0041CA74 AFA00010 */ sw $zero, 0x10($sp) +/* 0041CA78 24A50001 */ addiu $a1, $a1, 1 +/* 0041CA7C 0320F809 */ jalr $t9 +/* 0041CA80 24C60001 */ addiu $a2, $a2, 1 +/* 0041CA84 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041CA88 8FA40028 */ lw $a0, 0x28($sp) +/* 0041CA8C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041CA90 0320F809 */ jalr $t9 +/* 0041CA94 00000000 */ nop +/* 0041CA98 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041CA9C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041CAA0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041CAA4 03E00008 */ jr $ra +/* 0041CAA8 00000000 */ nop + +glabel emit_trap_rri + .ent emit_trap_rri + # 00424240 trap +/* 0041CAAC 3C1C0FC0 */ .cpload $t9 +/* 0041CAB0 279C2FA4 */ +/* 0041CAB4 0399E021 */ +/* 0041CAB8 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0041CABC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041CAC0 AFB10024 */ sw $s1, 0x24($sp) +/* 0041CAC4 91CE0000 */ lbu $t6, ($t6) +/* 0041CAC8 AFB00020 */ sw $s0, 0x20($sp) +/* 0041CACC 30B000FF */ andi $s0, $a1, 0xff +/* 0041CAD0 30D100FF */ andi $s1, $a2, 0xff +/* 0041CAD4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041CAD8 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041CADC AFA40038 */ sw $a0, 0x38($sp) +/* 0041CAE0 AFA5003C */ sw $a1, 0x3c($sp) +/* 0041CAE4 15C00053 */ bnez $t6, .L0041CC34 +/* 0041CAE8 AFA60040 */ sw $a2, 0x40($sp) +/* 0041CAEC 8FAF0048 */ lw $t7, 0x48($sp) +/* 0041CAF0 3C010501 */ lui $at, 0x501 +/* 0041CAF4 3082FFFF */ andi $v0, $a0, 0xffff +/* 0041CAF8 91F80021 */ lbu $t8, 0x21($t7) +/* 0041CAFC 244CFF01 */ addiu $t4, $v0, -0xff +/* 0041CB00 3319001F */ andi $t9, $t8, 0x1f +/* 0041CB04 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0041CB08 00084823 */ negu $t1, $t0 +/* 0041CB0C 01215024 */ and $t2, $t1, $at +/* 0041CB10 032A5804 */ sllv $t3, $t2, $t9 +/* 0041CB14 05610047 */ bgez $t3, .L0041CC34 +/* 0041CB18 2D810006 */ sltiu $at, $t4, 6 +/* 0041CB1C 1020003E */ beqz $at, .L0041CC18 +/* 0041CB20 00000000 */ nop +/* 0041CB24 8F818038 */ lw $at, %got(jtbl_10009700)($gp) +/* 0041CB28 000C6080 */ sll $t4, $t4, 2 +/* 0041CB2C 002C0821 */ addu $at, $at, $t4 +/* 0041CB30 8C2C9700 */ lw $t4, %lo(jtbl_10009700)($at) +/* 0041CB34 019C6021 */ addu $t4, $t4, $gp +/* 0041CB38 01800008 */ jr $t4 +/* 0041CB3C 00000000 */ nop +.L0041CB40: +/* 0041CB40 8F99801C */ lw $t9, %got(func_0041C694)($gp) +/* 0041CB44 02002025 */ move $a0, $s0 +/* 0041CB48 02202825 */ move $a1, $s1 +/* 0041CB4C 2739C694 */ addiu $t9, %lo(func_0041C694) # addiu $t9, $t9, -0x396c +/* 0041CB50 00E03025 */ move $a2, $a3 +/* 0041CB54 0320F809 */ jalr $t9 +/* 0041CB58 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CB5C 1000003B */ b .L0041CC4C +/* 0041CB60 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CB64: +/* 0041CB64 8F99801C */ lw $t9, %got(func_0041C710)($gp) +/* 0041CB68 02002025 */ move $a0, $s0 +/* 0041CB6C 02202825 */ move $a1, $s1 +/* 0041CB70 2739C710 */ addiu $t9, %lo(func_0041C710) # addiu $t9, $t9, -0x38f0 +/* 0041CB74 00E03025 */ move $a2, $a3 +/* 0041CB78 0320F809 */ jalr $t9 +/* 0041CB7C 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CB80 10000032 */ b .L0041CC4C +/* 0041CB84 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CB88: +/* 0041CB88 8F99801C */ lw $t9, %got(func_0041C92C)($gp) +/* 0041CB8C 02002025 */ move $a0, $s0 +/* 0041CB90 02202825 */ move $a1, $s1 +/* 0041CB94 2739C92C */ addiu $t9, %lo(func_0041C92C) # addiu $t9, $t9, -0x36d4 +/* 0041CB98 00E03025 */ move $a2, $a3 +/* 0041CB9C 0320F809 */ jalr $t9 +/* 0041CBA0 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CBA4 10000029 */ b .L0041CC4C +/* 0041CBA8 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CBAC: +/* 0041CBAC 8F99801C */ lw $t9, %got(func_0041C9EC)($gp) +/* 0041CBB0 02002025 */ move $a0, $s0 +/* 0041CBB4 02202825 */ move $a1, $s1 +/* 0041CBB8 2739C9EC */ addiu $t9, %lo(func_0041C9EC) # addiu $t9, $t9, -0x3614 +/* 0041CBBC 00E03025 */ move $a2, $a3 +/* 0041CBC0 0320F809 */ jalr $t9 +/* 0041CBC4 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CBC8 10000020 */ b .L0041CC4C +/* 0041CBCC 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CBD0: +/* 0041CBD0 8F99801C */ lw $t9, %got(func_0041C7AC)($gp) +/* 0041CBD4 02002025 */ move $a0, $s0 +/* 0041CBD8 02202825 */ move $a1, $s1 +/* 0041CBDC 2739C7AC */ addiu $t9, %lo(func_0041C7AC) # addiu $t9, $t9, -0x3854 +/* 0041CBE0 00E03025 */ move $a2, $a3 +/* 0041CBE4 0320F809 */ jalr $t9 +/* 0041CBE8 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CBEC 10000017 */ b .L0041CC4C +/* 0041CBF0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CBF4: +/* 0041CBF4 8F99801C */ lw $t9, %got(func_0041C86C)($gp) +/* 0041CBF8 02002025 */ move $a0, $s0 +/* 0041CBFC 02202825 */ move $a1, $s1 +/* 0041CC00 2739C86C */ addiu $t9, %lo(func_0041C86C) # addiu $t9, $t9, -0x3794 +/* 0041CC04 00E03025 */ move $a2, $a3 +/* 0041CC08 0320F809 */ jalr $t9 +/* 0041CC0C 27A20038 */ addiu $v0, $sp, 0x38 +/* 0041CC10 1000000E */ b .L0041CC4C +/* 0041CC14 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CC18: +/* 0041CC18 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041CC1C 02002825 */ move $a1, $s0 +/* 0041CC20 02203025 */ move $a2, $s1 +/* 0041CC24 0320F809 */ jalr $t9 +/* 0041CC28 AFA00010 */ sw $zero, 0x10($sp) +/* 0041CC2C 10000007 */ b .L0041CC4C +/* 0041CC30 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CC34: +/* 0041CC34 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041CC38 02002825 */ move $a1, $s0 +/* 0041CC3C 02203025 */ move $a2, $s1 +/* 0041CC40 0320F809 */ jalr $t9 +/* 0041CC44 AFA00010 */ sw $zero, 0x10($sp) +/* 0041CC48 8FBC0028 */ lw $gp, 0x28($sp) +.L0041CC4C: +/* 0041CC4C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041CC50 8FB00020 */ lw $s0, 0x20($sp) +/* 0041CC54 8FB10024 */ lw $s1, 0x24($sp) +/* 0041CC58 03E00008 */ jr $ra +/* 0041CC5C 27BD0038 */ addiu $sp, $sp, 0x38 + .type emit_trap_rri, @function + .size emit_trap_rri, .-emit_trap_rri + .end emit_trap_rri + + .type func_0041CC60, @function +func_0041CC60: + # 0041D034 emit_trap_ri +/* 0041CC60 3C1C0FC0 */ .cpload $t9 +/* 0041CC64 279C2DF0 */ +/* 0041CC68 0399E021 */ +/* 0041CC6C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0041CC70 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CC74 AFA60028 */ sw $a2, 0x28($sp) +/* 0041CC78 00A03025 */ move $a2, $a1 +/* 0041CC7C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CC80 AFA40020 */ sw $a0, 0x20($sp) +/* 0041CC84 AFA50024 */ sw $a1, 0x24($sp) +/* 0041CC88 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CC8C 93A50023 */ lbu $a1, 0x23($sp) +/* 0041CC90 24040104 */ li $a0, 260 +/* 0041CC94 0320F809 */ jalr $t9 +/* 0041CC98 00003825 */ move $a3, $zero +/* 0041CC9C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CCA0 93A50023 */ lbu $a1, 0x23($sp) +/* 0041CCA4 24040104 */ li $a0, 260 +/* 0041CCA8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CCAC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041CCB0 00003825 */ move $a3, $zero +/* 0041CCB4 0320F809 */ jalr $t9 +/* 0041CCB8 24A50001 */ addiu $a1, $a1, 1 +/* 0041CCBC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041CCC0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CCC4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0041CCC8 03E00008 */ jr $ra +/* 0041CCCC 00000000 */ nop + + .type func_0041CCD0, @function +func_0041CCD0: + # 0041D034 emit_trap_ri +/* 0041CCD0 3C1C0FC0 */ .cpload $t9 +/* 0041CCD4 279C2D80 */ +/* 0041CCD8 0399E021 */ +/* 0041CCDC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041CCE0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CCE4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CCE8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CCEC AFA40028 */ sw $a0, 0x28($sp) +/* 0041CCF0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041CCF4 0320F809 */ jalr $t9 +/* 0041CCF8 AFA60030 */ sw $a2, 0x30($sp) +/* 0041CCFC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CD00 AFA20020 */ sw $v0, 0x20($sp) +/* 0041CD04 2404001A */ li $a0, 26 +/* 0041CD08 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041CD0C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CD10 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CD14 0320F809 */ jalr $t9 +/* 0041CD18 00403825 */ move $a3, $v0 +/* 0041CD1C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CD20 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CD24 24040103 */ li $a0, 259 +/* 0041CD28 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CD2C 8FA60030 */ lw $a2, 0x30($sp) +/* 0041CD30 00003825 */ move $a3, $zero +/* 0041CD34 0320F809 */ jalr $t9 +/* 0041CD38 24A50001 */ addiu $a1, $a1, 1 +/* 0041CD3C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CD40 8FA40020 */ lw $a0, 0x20($sp) +/* 0041CD44 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041CD48 0320F809 */ jalr $t9 +/* 0041CD4C 00000000 */ nop +/* 0041CD50 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041CD54 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CD58 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041CD5C 03E00008 */ jr $ra +/* 0041CD60 00000000 */ nop + + .type func_0041CD64, @function +func_0041CD64: + # 0041D034 emit_trap_ri +/* 0041CD64 3C1C0FC0 */ .cpload $t9 +/* 0041CD68 279C2CEC */ +/* 0041CD6C 0399E021 */ +/* 0041CD70 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041CD74 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CD78 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CD7C AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CD80 AFA40028 */ sw $a0, 0x28($sp) +/* 0041CD84 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041CD88 0320F809 */ jalr $t9 +/* 0041CD8C AFA60030 */ sw $a2, 0x30($sp) +/* 0041CD90 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CD94 AFA20020 */ sw $v0, 0x20($sp) +/* 0041CD98 240400FF */ li $a0, 255 +/* 0041CD9C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CDA0 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CDA4 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CDA8 0320F809 */ jalr $t9 +/* 0041CDAC 00003825 */ move $a3, $zero +/* 0041CDB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CDB4 24040011 */ li $a0, 17 +/* 0041CDB8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CDBC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041CDC0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CDC4 8FA70020 */ lw $a3, 0x20($sp) +/* 0041CDC8 0320F809 */ jalr $t9 +/* 0041CDCC 00000000 */ nop +/* 0041CDD0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CDD4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CDD8 24040100 */ li $a0, 256 +/* 0041CDDC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CDE0 8FA60030 */ lw $a2, 0x30($sp) +/* 0041CDE4 00003825 */ move $a3, $zero +/* 0041CDE8 0320F809 */ jalr $t9 +/* 0041CDEC 24A50001 */ addiu $a1, $a1, 1 +/* 0041CDF0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CDF4 8FA40020 */ lw $a0, 0x20($sp) +/* 0041CDF8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041CDFC 0320F809 */ jalr $t9 +/* 0041CE00 00000000 */ nop +/* 0041CE04 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041CE08 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CE0C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041CE10 03E00008 */ jr $ra +/* 0041CE14 00000000 */ nop + + .type func_0041CE18, @function +func_0041CE18: + # 0041D034 emit_trap_ri +/* 0041CE18 3C1C0FC0 */ .cpload $t9 +/* 0041CE1C 279C2C38 */ +/* 0041CE20 0399E021 */ +/* 0041CE24 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041CE28 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CE2C AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CE30 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CE34 AFA40028 */ sw $a0, 0x28($sp) +/* 0041CE38 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041CE3C 0320F809 */ jalr $t9 +/* 0041CE40 AFA60030 */ sw $a2, 0x30($sp) +/* 0041CE44 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CE48 AFA20020 */ sw $v0, 0x20($sp) +/* 0041CE4C 24040100 */ li $a0, 256 +/* 0041CE50 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CE54 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CE58 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CE5C 0320F809 */ jalr $t9 +/* 0041CE60 00003825 */ move $a3, $zero +/* 0041CE64 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CE68 24040012 */ li $a0, 18 +/* 0041CE6C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CE70 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041CE74 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CE78 8FA70020 */ lw $a3, 0x20($sp) +/* 0041CE7C 0320F809 */ jalr $t9 +/* 0041CE80 00000000 */ nop +/* 0041CE84 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CE88 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CE8C 24040018 */ li $a0, 24 +/* 0041CE90 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CE94 8FA60030 */ lw $a2, 0x30($sp) +/* 0041CE98 00003825 */ move $a3, $zero +/* 0041CE9C 0320F809 */ jalr $t9 +/* 0041CEA0 24A50001 */ addiu $a1, $a1, 1 +/* 0041CEA4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CEA8 8FA40020 */ lw $a0, 0x20($sp) +/* 0041CEAC 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041CEB0 0320F809 */ jalr $t9 +/* 0041CEB4 00000000 */ nop +/* 0041CEB8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041CEBC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CEC0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041CEC4 03E00008 */ jr $ra +/* 0041CEC8 00000000 */ nop + + .type func_0041CECC, @function +func_0041CECC: + # 0041D034 emit_trap_ri +/* 0041CECC 3C1C0FC0 */ .cpload $t9 +/* 0041CED0 279C2B84 */ +/* 0041CED4 0399E021 */ +/* 0041CED8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041CEDC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CEE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CEE4 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CEE8 AFA40028 */ sw $a0, 0x28($sp) +/* 0041CEEC AFA5002C */ sw $a1, 0x2c($sp) +/* 0041CEF0 0320F809 */ jalr $t9 +/* 0041CEF4 AFA60030 */ sw $a2, 0x30($sp) +/* 0041CEF8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CEFC AFA20020 */ sw $v0, 0x20($sp) +/* 0041CF00 24040017 */ li $a0, 23 +/* 0041CF04 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041CF08 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CF0C 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CF10 0320F809 */ jalr $t9 +/* 0041CF14 00403825 */ move $a3, $v0 +/* 0041CF18 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CF1C 24040104 */ li $a0, 260 +/* 0041CF20 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CF24 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CF28 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CF2C 00003825 */ move $a3, $zero +/* 0041CF30 0320F809 */ jalr $t9 +/* 0041CF34 00000000 */ nop +/* 0041CF38 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CF3C 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CF40 24040102 */ li $a0, 258 +/* 0041CF44 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CF48 8FA60030 */ lw $a2, 0x30($sp) +/* 0041CF4C 00003825 */ move $a3, $zero +/* 0041CF50 0320F809 */ jalr $t9 +/* 0041CF54 24A50001 */ addiu $a1, $a1, 1 +/* 0041CF58 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CF5C 8FA40020 */ lw $a0, 0x20($sp) +/* 0041CF60 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041CF64 0320F809 */ jalr $t9 +/* 0041CF68 00000000 */ nop +/* 0041CF6C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041CF70 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CF74 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041CF78 03E00008 */ jr $ra +/* 0041CF7C 00000000 */ nop + + .type func_0041CF80, @function +func_0041CF80: + # 0041D034 emit_trap_ri +/* 0041CF80 3C1C0FC0 */ .cpload $t9 +/* 0041CF84 279C2AD0 */ +/* 0041CF88 0399E021 */ +/* 0041CF8C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041CF90 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041CF94 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041CF98 AFBC0018 */ sw $gp, 0x18($sp) +/* 0041CF9C AFA40028 */ sw $a0, 0x28($sp) +/* 0041CFA0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041CFA4 0320F809 */ jalr $t9 +/* 0041CFA8 AFA60030 */ sw $a2, 0x30($sp) +/* 0041CFAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CFB0 AFA20020 */ sw $v0, 0x20($sp) +/* 0041CFB4 24040018 */ li $a0, 24 +/* 0041CFB8 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041CFBC 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CFC0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CFC4 0320F809 */ jalr $t9 +/* 0041CFC8 00403825 */ move $a3, $v0 +/* 0041CFCC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CFD0 24040104 */ li $a0, 260 +/* 0041CFD4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CFD8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CFDC 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041CFE0 00003825 */ move $a3, $zero +/* 0041CFE4 0320F809 */ jalr $t9 +/* 0041CFE8 00000000 */ nop +/* 0041CFEC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041CFF0 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041CFF4 24040102 */ li $a0, 258 +/* 0041CFF8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041CFFC 8FA60030 */ lw $a2, 0x30($sp) +/* 0041D000 00003825 */ move $a3, $zero +/* 0041D004 0320F809 */ jalr $t9 +/* 0041D008 24A50001 */ addiu $a1, $a1, 1 +/* 0041D00C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041D010 8FA40020 */ lw $a0, 0x20($sp) +/* 0041D014 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D018 0320F809 */ jalr $t9 +/* 0041D01C 00000000 */ nop +/* 0041D020 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041D024 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041D028 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041D02C 03E00008 */ jr $ra +/* 0041D030 00000000 */ nop + +glabel emit_trap_ri + .ent emit_trap_ri + # 00424240 trap +/* 0041D034 3C1C0FC0 */ .cpload $t9 +/* 0041D038 279C2A1C */ +/* 0041D03C 0399E021 */ +/* 0041D040 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0041D044 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041D048 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041D04C 91CE0000 */ lbu $t6, ($t6) +/* 0041D050 AFB00018 */ sw $s0, 0x18($sp) +/* 0041D054 30B000FF */ andi $s0, $a1, 0xff +/* 0041D058 00E08825 */ move $s1, $a3 +/* 0041D05C AFBF0024 */ sw $ra, 0x24($sp) +/* 0041D060 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041D064 AFA40030 */ sw $a0, 0x30($sp) +/* 0041D068 AFA50034 */ sw $a1, 0x34($sp) +/* 0041D06C 15C00053 */ bnez $t6, .L0041D1BC +/* 0041D070 AFA60038 */ sw $a2, 0x38($sp) +/* 0041D074 8FAF0040 */ lw $t7, 0x40($sp) +/* 0041D078 3C010501 */ lui $at, 0x501 +/* 0041D07C 3082FFFF */ andi $v0, $a0, 0xffff +/* 0041D080 91F80021 */ lbu $t8, 0x21($t7) +/* 0041D084 244CFF01 */ addiu $t4, $v0, -0xff +/* 0041D088 3319001F */ andi $t9, $t8, 0x1f +/* 0041D08C 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0041D090 00084823 */ negu $t1, $t0 +/* 0041D094 01215024 */ and $t2, $t1, $at +/* 0041D098 032A5804 */ sllv $t3, $t2, $t9 +/* 0041D09C 05610047 */ bgez $t3, .L0041D1BC +/* 0041D0A0 2D810006 */ sltiu $at, $t4, 6 +/* 0041D0A4 1020003E */ beqz $at, .L0041D1A0 +/* 0041D0A8 00000000 */ nop +/* 0041D0AC 8F818038 */ lw $at, %got(jtbl_10009718)($gp) +/* 0041D0B0 000C6080 */ sll $t4, $t4, 2 +/* 0041D0B4 002C0821 */ addu $at, $at, $t4 +/* 0041D0B8 8C2C9718 */ lw $t4, %lo(jtbl_10009718)($at) +/* 0041D0BC 019C6021 */ addu $t4, $t4, $gp +/* 0041D0C0 01800008 */ jr $t4 +/* 0041D0C4 00000000 */ nop +.L0041D0C8: +/* 0041D0C8 8F99801C */ lw $t9, %got(func_0041CC60)($gp) +/* 0041D0CC 02002025 */ move $a0, $s0 +/* 0041D0D0 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D0D4 2739CC60 */ addiu $t9, %lo(func_0041CC60) # addiu $t9, $t9, -0x33a0 +/* 0041D0D8 02203025 */ move $a2, $s1 +/* 0041D0DC 0320F809 */ jalr $t9 +/* 0041D0E0 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D0E4 1000003B */ b .L0041D1D4 +/* 0041D0E8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D0EC: +/* 0041D0EC 8F99801C */ lw $t9, %got(func_0041CCD0)($gp) +/* 0041D0F0 02002025 */ move $a0, $s0 +/* 0041D0F4 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D0F8 2739CCD0 */ addiu $t9, %lo(func_0041CCD0) # addiu $t9, $t9, -0x3330 +/* 0041D0FC 02203025 */ move $a2, $s1 +/* 0041D100 0320F809 */ jalr $t9 +/* 0041D104 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D108 10000032 */ b .L0041D1D4 +/* 0041D10C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D110: +/* 0041D110 8F99801C */ lw $t9, %got(func_0041CECC)($gp) +/* 0041D114 02002025 */ move $a0, $s0 +/* 0041D118 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D11C 2739CECC */ addiu $t9, %lo(func_0041CECC) # addiu $t9, $t9, -0x3134 +/* 0041D120 02203025 */ move $a2, $s1 +/* 0041D124 0320F809 */ jalr $t9 +/* 0041D128 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D12C 10000029 */ b .L0041D1D4 +/* 0041D130 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D134: +/* 0041D134 8F99801C */ lw $t9, %got(func_0041CF80)($gp) +/* 0041D138 02002025 */ move $a0, $s0 +/* 0041D13C 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D140 2739CF80 */ addiu $t9, %lo(func_0041CF80) # addiu $t9, $t9, -0x3080 +/* 0041D144 02203025 */ move $a2, $s1 +/* 0041D148 0320F809 */ jalr $t9 +/* 0041D14C 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D150 10000020 */ b .L0041D1D4 +/* 0041D154 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D158: +/* 0041D158 8F99801C */ lw $t9, %got(func_0041CD64)($gp) +/* 0041D15C 02002025 */ move $a0, $s0 +/* 0041D160 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D164 2739CD64 */ addiu $t9, %lo(func_0041CD64) # addiu $t9, $t9, -0x329c +/* 0041D168 02203025 */ move $a2, $s1 +/* 0041D16C 0320F809 */ jalr $t9 +/* 0041D170 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D174 10000017 */ b .L0041D1D4 +/* 0041D178 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D17C: +/* 0041D17C 8F99801C */ lw $t9, %got(func_0041CE18)($gp) +/* 0041D180 02002025 */ move $a0, $s0 +/* 0041D184 8FA50038 */ lw $a1, 0x38($sp) +/* 0041D188 2739CE18 */ addiu $t9, %lo(func_0041CE18) # addiu $t9, $t9, -0x31e8 +/* 0041D18C 02203025 */ move $a2, $s1 +/* 0041D190 0320F809 */ jalr $t9 +/* 0041D194 27A20030 */ addiu $v0, $sp, 0x30 +/* 0041D198 1000000E */ b .L0041D1D4 +/* 0041D19C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D1A0: +/* 0041D1A0 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041D1A4 02002825 */ move $a1, $s0 +/* 0041D1A8 02203025 */ move $a2, $s1 +/* 0041D1AC 0320F809 */ jalr $t9 +/* 0041D1B0 00003825 */ move $a3, $zero +/* 0041D1B4 10000007 */ b .L0041D1D4 +/* 0041D1B8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D1BC: +/* 0041D1BC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041D1C0 02002825 */ move $a1, $s0 +/* 0041D1C4 02203025 */ move $a2, $s1 +/* 0041D1C8 0320F809 */ jalr $t9 +/* 0041D1CC 00003825 */ move $a3, $zero +/* 0041D1D0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D1D4: +/* 0041D1D4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041D1D8 8FB00018 */ lw $s0, 0x18($sp) +/* 0041D1DC 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041D1E0 03E00008 */ jr $ra +/* 0041D1E4 27BD0030 */ addiu $sp, $sp, 0x30 + .type emit_trap_ri, @function + .size emit_trap_ri, .-emit_trap_ri + .end emit_trap_ri + + .type func_0041D1E8, @function +func_0041D1E8: + # 0041E468 dw_emit_rrr +/* 0041D1E8 3C1C0FC0 */ .cpload $t9 +/* 0041D1EC 279C2868 */ +/* 0041D1F0 0399E021 */ +/* 0041D1F4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041D1F8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041D1FC 30B100FF */ andi $s1, $a1, 0xff +/* 0041D200 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041D204 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041D208 AFB30024 */ sw $s3, 0x24($sp) +/* 0041D20C AFB20020 */ sw $s2, 0x20($sp) +/* 0041D210 AFB00018 */ sw $s0, 0x18($sp) +/* 0041D214 AFA40040 */ sw $a0, 0x40($sp) +/* 0041D218 AFA50044 */ sw $a1, 0x44($sp) +/* 0041D21C AFA60048 */ sw $a2, 0x48($sp) +/* 0041D220 16270004 */ bne $s1, $a3, .L0041D234 +/* 0041D224 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041D228 30F300FF */ andi $s3, $a3, 0xff +/* 0041D22C 10000003 */ b .L0041D23C +/* 0041D230 30D200FF */ andi $s2, $a2, 0xff +.L0041D234: +/* 0041D234 30D300FF */ andi $s3, $a2, 0xff +/* 0041D238 30F200FF */ andi $s2, $a3, 0xff +.L0041D23C: +/* 0041D23C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041D240 24040020 */ li $a0, 32 +/* 0041D244 24050006 */ li $a1, 6 +/* 0041D248 0320F809 */ jalr $t9 +/* 0041D24C 00000000 */ nop +/* 0041D250 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D254 26300001 */ addiu $s0, $s1, 1 +/* 0041D258 02603025 */ move $a2, $s3 +/* 0041D25C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041D260 02002825 */ move $a1, $s0 +/* 0041D264 24040002 */ li $a0, 2 +/* 0041D268 91CE0000 */ lbu $t6, ($t6) +/* 0041D26C 11C00020 */ beqz $t6, .L0041D2F0 +/* 0041D270 00000000 */ nop +/* 0041D274 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D278 24040002 */ li $a0, 2 +/* 0041D27C 02202825 */ move $a1, $s1 +/* 0041D280 0320F809 */ jalr $t9 +/* 0041D284 02403825 */ move $a3, $s2 +/* 0041D288 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D28C 24040051 */ li $a0, 81 +/* 0041D290 24050001 */ li $a1, 1 +/* 0041D294 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D298 02203025 */ move $a2, $s1 +/* 0041D29C 02403825 */ move $a3, $s2 +/* 0041D2A0 0320F809 */ jalr $t9 +/* 0041D2A4 00000000 */ nop +/* 0041D2A8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D2AC 26300001 */ addiu $s0, $s1, 1 +/* 0041D2B0 02002825 */ move $a1, $s0 +/* 0041D2B4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D2B8 97A40042 */ lhu $a0, 0x42($sp) +/* 0041D2BC 24060001 */ li $a2, 1 +/* 0041D2C0 0320F809 */ jalr $t9 +/* 0041D2C4 26670001 */ addiu $a3, $s3, 1 +/* 0041D2C8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D2CC 97A40042 */ lhu $a0, 0x42($sp) +/* 0041D2D0 02002825 */ move $a1, $s0 +/* 0041D2D4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D2D8 02003025 */ move $a2, $s0 +/* 0041D2DC 26470001 */ addiu $a3, $s2, 1 +/* 0041D2E0 0320F809 */ jalr $t9 +/* 0041D2E4 00000000 */ nop +/* 0041D2E8 1000001F */ b .L0041D368 +/* 0041D2EC 8FBC0028 */ lw $gp, 0x28($sp) +.L0041D2F0: +/* 0041D2F0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D2F4 26470001 */ addiu $a3, $s2, 1 +/* 0041D2F8 AFA70030 */ sw $a3, 0x30($sp) +/* 0041D2FC 0320F809 */ jalr $t9 +/* 0041D300 26660001 */ addiu $a2, $s3, 1 +/* 0041D304 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D308 8FA70030 */ lw $a3, 0x30($sp) +/* 0041D30C 24040051 */ li $a0, 81 +/* 0041D310 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D314 24050001 */ li $a1, 1 +/* 0041D318 02003025 */ move $a2, $s0 +/* 0041D31C 0320F809 */ jalr $t9 +/* 0041D320 00000000 */ nop +/* 0041D324 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D328 97A40042 */ lhu $a0, 0x42($sp) +/* 0041D32C 02202825 */ move $a1, $s1 +/* 0041D330 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D334 24060001 */ li $a2, 1 +/* 0041D338 02603825 */ move $a3, $s3 +/* 0041D33C 0320F809 */ jalr $t9 +/* 0041D340 00000000 */ nop +/* 0041D344 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D348 97A40042 */ lhu $a0, 0x42($sp) +/* 0041D34C 02202825 */ move $a1, $s1 +/* 0041D350 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D354 02203025 */ move $a2, $s1 +/* 0041D358 02403825 */ move $a3, $s2 +/* 0041D35C 0320F809 */ jalr $t9 +/* 0041D360 00000000 */ nop +/* 0041D364 8FBC0028 */ lw $gp, 0x28($sp) +.L0041D368: +/* 0041D368 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041D36C 24040020 */ li $a0, 32 +/* 0041D370 24050005 */ li $a1, 5 +/* 0041D374 0320F809 */ jalr $t9 +/* 0041D378 00000000 */ nop +/* 0041D37C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041D380 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041D384 8FB00018 */ lw $s0, 0x18($sp) +/* 0041D388 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041D38C 8FB20020 */ lw $s2, 0x20($sp) +/* 0041D390 8FB30024 */ lw $s3, 0x24($sp) +/* 0041D394 03E00008 */ jr $ra +/* 0041D398 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041D39C, @function +func_0041D39C: + # 0041E468 dw_emit_rrr +/* 0041D39C 3C1C0FC0 */ .cpload $t9 +/* 0041D3A0 279C26B4 */ +/* 0041D3A4 0399E021 */ +/* 0041D3A8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041D3AC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041D3B0 AFB00014 */ sw $s0, 0x14($sp) +/* 0041D3B4 30B000FF */ andi $s0, $a1, 0xff +/* 0041D3B8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041D3BC AFB2001C */ sw $s2, 0x1c($sp) +/* 0041D3C0 AFB10018 */ sw $s1, 0x18($sp) +/* 0041D3C4 AFA40038 */ sw $a0, 0x38($sp) +/* 0041D3C8 AFA5003C */ sw $a1, 0x3c($sp) +/* 0041D3CC 30D100FF */ andi $s1, $a2, 0xff +/* 0041D3D0 30F200FF */ andi $s2, $a3, 0xff +/* 0041D3D4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041D3D8 AFA60040 */ sw $a2, 0x40($sp) +/* 0041D3DC AFA70044 */ sw $a3, 0x44($sp) +/* 0041D3E0 24050006 */ li $a1, 6 +/* 0041D3E4 0320F809 */ jalr $t9 +/* 0041D3E8 24040020 */ li $a0, 32 +/* 0041D3EC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D3F0 02403825 */ move $a3, $s2 +/* 0041D3F4 24040051 */ li $a0, 81 +/* 0041D3F8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041D3FC 24050001 */ li $a1, 1 +/* 0041D400 26260001 */ addiu $a2, $s1, 1 +/* 0041D404 91CE0000 */ lbu $t6, ($t6) +/* 0041D408 11C00020 */ beqz $t6, .L0041D48C +/* 0041D40C 00000000 */ nop +/* 0041D410 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D414 24040051 */ li $a0, 81 +/* 0041D418 24050001 */ li $a1, 1 +/* 0041D41C 0320F809 */ jalr $t9 +/* 0041D420 02203025 */ move $a2, $s1 +/* 0041D424 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D428 24040056 */ li $a0, 86 +/* 0041D42C 02002825 */ move $a1, $s0 +/* 0041D430 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D434 02203025 */ move $a2, $s1 +/* 0041D438 02403825 */ move $a3, $s2 +/* 0041D43C 0320F809 */ jalr $t9 +/* 0041D440 00000000 */ nop +/* 0041D444 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D448 26050001 */ addiu $a1, $s0, 1 +/* 0041D44C AFA50030 */ sw $a1, 0x30($sp) +/* 0041D450 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D454 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041D458 26260001 */ addiu $a2, $s1, 1 +/* 0041D45C 0320F809 */ jalr $t9 +/* 0041D460 26470001 */ addiu $a3, $s2, 1 +/* 0041D464 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D468 8FA50030 */ lw $a1, 0x30($sp) +/* 0041D46C 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041D470 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D474 24070001 */ li $a3, 1 +/* 0041D478 00A03025 */ move $a2, $a1 +/* 0041D47C 0320F809 */ jalr $t9 +/* 0041D480 00000000 */ nop +/* 0041D484 1000001F */ b .L0041D504 +/* 0041D488 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D48C: +/* 0041D48C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D490 26470001 */ addiu $a3, $s2, 1 +/* 0041D494 AFA7002C */ sw $a3, 0x2c($sp) +/* 0041D498 0320F809 */ jalr $t9 +/* 0041D49C AFA60030 */ sw $a2, 0x30($sp) +/* 0041D4A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D4A4 8FA60030 */ lw $a2, 0x30($sp) +/* 0041D4A8 8FA7002C */ lw $a3, 0x2c($sp) +/* 0041D4AC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D4B0 24040056 */ li $a0, 86 +/* 0041D4B4 26050001 */ addiu $a1, $s0, 1 +/* 0041D4B8 0320F809 */ jalr $t9 +/* 0041D4BC 00000000 */ nop +/* 0041D4C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D4C4 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041D4C8 02002825 */ move $a1, $s0 +/* 0041D4CC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D4D0 02203025 */ move $a2, $s1 +/* 0041D4D4 02403825 */ move $a3, $s2 +/* 0041D4D8 0320F809 */ jalr $t9 +/* 0041D4DC 00000000 */ nop +/* 0041D4E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D4E4 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041D4E8 02002825 */ move $a1, $s0 +/* 0041D4EC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D4F0 02003025 */ move $a2, $s0 +/* 0041D4F4 24070001 */ li $a3, 1 +/* 0041D4F8 0320F809 */ jalr $t9 +/* 0041D4FC 00000000 */ nop +/* 0041D500 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D504: +/* 0041D504 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041D508 24040020 */ li $a0, 32 +/* 0041D50C 24050005 */ li $a1, 5 +/* 0041D510 0320F809 */ jalr $t9 +/* 0041D514 00000000 */ nop +/* 0041D518 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041D51C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D520 8FB00014 */ lw $s0, 0x14($sp) +/* 0041D524 8FB10018 */ lw $s1, 0x18($sp) +/* 0041D528 8FB2001C */ lw $s2, 0x1c($sp) +/* 0041D52C 03E00008 */ jr $ra +/* 0041D530 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041D534, @function +func_0041D534: + # 0041E468 dw_emit_rrr +/* 0041D534 3C1C0FC0 */ .cpload $t9 +/* 0041D538 279C251C */ +/* 0041D53C 0399E021 */ +/* 0041D540 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0041D544 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D548 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041D54C AFA40048 */ sw $a0, 0x48($sp) +/* 0041D550 AFA5004C */ sw $a1, 0x4c($sp) +/* 0041D554 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041D558 AFA60050 */ sw $a2, 0x50($sp) +/* 0041D55C AFA70054 */ sw $a3, 0x54($sp) +/* 0041D560 AFA20044 */ sw $v0, 0x44($sp) +/* 0041D564 24050001 */ li $a1, 1 +/* 0041D568 0320F809 */ jalr $t9 +/* 0041D56C 00002025 */ move $a0, $zero +/* 0041D570 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D574 A3A20043 */ sb $v0, 0x43($sp) +/* 0041D578 304400FF */ andi $a0, $v0, 0xff +/* 0041D57C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041D580 0320F809 */ jalr $t9 +/* 0041D584 00000000 */ nop +/* 0041D588 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D58C 00002025 */ move $a0, $zero +/* 0041D590 24050001 */ li $a1, 1 +/* 0041D594 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D598 0320F809 */ jalr $t9 +/* 0041D59C 00000000 */ nop +/* 0041D5A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D5A4 A3A20042 */ sb $v0, 0x42($sp) +/* 0041D5A8 304400FF */ andi $a0, $v0, 0xff +/* 0041D5AC 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041D5B0 0320F809 */ jalr $t9 +/* 0041D5B4 00000000 */ nop +/* 0041D5B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D5BC 00002025 */ move $a0, $zero +/* 0041D5C0 24050001 */ li $a1, 1 +/* 0041D5C4 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D5C8 0320F809 */ jalr $t9 +/* 0041D5CC 00000000 */ nop +/* 0041D5D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D5D4 A3A20041 */ sb $v0, 0x41($sp) +/* 0041D5D8 304400FF */ andi $a0, $v0, 0xff +/* 0041D5DC 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041D5E0 0320F809 */ jalr $t9 +/* 0041D5E4 00000000 */ nop +/* 0041D5E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D5EC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041D5F0 0320F809 */ jalr $t9 +/* 0041D5F4 00000000 */ nop +/* 0041D5F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D5FC AFA2003C */ sw $v0, 0x3c($sp) +/* 0041D600 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041D604 0320F809 */ jalr $t9 +/* 0041D608 00000000 */ nop +/* 0041D60C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D610 AFA20038 */ sw $v0, 0x38($sp) +/* 0041D614 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041D618 0320F809 */ jalr $t9 +/* 0041D61C 00000000 */ nop +/* 0041D620 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D624 93A60057 */ lbu $a2, 0x57($sp) +/* 0041D628 AFA20034 */ sw $v0, 0x34($sp) +/* 0041D62C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041D630 2404004F */ li $a0, 79 +/* 0041D634 93A50043 */ lbu $a1, 0x43($sp) +/* 0041D638 2407001A */ li $a3, 26 +/* 0041D63C AFA00010 */ sw $zero, 0x10($sp) +/* 0041D640 0320F809 */ jalr $t9 +/* 0041D644 A3A60033 */ sb $a2, 0x33($sp) +/* 0041D648 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D64C 24040010 */ li $a0, 16 +/* 0041D650 93A50043 */ lbu $a1, 0x43($sp) +/* 0041D654 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041D658 8FA6003C */ lw $a2, 0x3c($sp) +/* 0041D65C 0320F809 */ jalr $t9 +/* 0041D660 00000000 */ nop +/* 0041D664 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D668 8FB80044 */ lw $t8, 0x44($sp) +/* 0041D66C 2404004F */ li $a0, 79 +/* 0041D670 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041D674 91CE0000 */ lbu $t6, ($t6) +/* 0041D678 51C00052 */ beql $t6, $zero, .L0041D7C4 +/* 0041D67C 8F190010 */ lw $t9, 0x10($t8) +/* 0041D680 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D684 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D688 2404004F */ li $a0, 79 +/* 0041D68C 24A50001 */ addiu $a1, $a1, 1 +/* 0041D690 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041D694 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D698 0320F809 */ jalr $t9 +/* 0041D69C 93A70057 */ lbu $a3, 0x57($sp) +/* 0041D6A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D6A4 24040029 */ li $a0, 41 +/* 0041D6A8 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D6AC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041D6B0 00003025 */ move $a2, $zero +/* 0041D6B4 00003825 */ move $a3, $zero +/* 0041D6B8 0320F809 */ jalr $t9 +/* 0041D6BC 00000000 */ nop +/* 0041D6C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D6C4 24040004 */ li $a0, 4 +/* 0041D6C8 8FA50034 */ lw $a1, 0x34($sp) +/* 0041D6CC 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0041D6D0 0320F809 */ jalr $t9 +/* 0041D6D4 00000000 */ nop +/* 0041D6D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D6DC 8FA4003C */ lw $a0, 0x3c($sp) +/* 0041D6E0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D6E4 0320F809 */ jalr $t9 +/* 0041D6E8 00000000 */ nop +/* 0041D6EC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D6F0 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D6F4 2404004F */ li $a0, 79 +/* 0041D6F8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D6FC 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041D700 93A70057 */ lbu $a3, 0x57($sp) +/* 0041D704 0320F809 */ jalr $t9 +/* 0041D708 24C60001 */ addiu $a2, $a2, 1 +/* 0041D70C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D710 240400DC */ li $a0, 220 +/* 0041D714 93A50043 */ lbu $a1, 0x43($sp) +/* 0041D718 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041D71C 8FA60038 */ lw $a2, 0x38($sp) +/* 0041D720 0320F809 */ jalr $t9 +/* 0041D724 00000000 */ nop +/* 0041D728 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D72C 240400DB */ li $a0, 219 +/* 0041D730 93A50042 */ lbu $a1, 0x42($sp) +/* 0041D734 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041D738 93A60057 */ lbu $a2, 0x57($sp) +/* 0041D73C 0320F809 */ jalr $t9 +/* 0041D740 00000000 */ nop +/* 0041D744 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D748 24040054 */ li $a0, 84 +/* 0041D74C 93A50041 */ lbu $a1, 0x41($sp) +/* 0041D750 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D754 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D758 93A70042 */ lbu $a3, 0x42($sp) +/* 0041D75C 0320F809 */ jalr $t9 +/* 0041D760 00000000 */ nop +/* 0041D764 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D768 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041D76C 24040040 */ li $a0, 64 +/* 0041D770 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D774 93A70041 */ lbu $a3, 0x41($sp) +/* 0041D778 00C02825 */ move $a1, $a2 +/* 0041D77C 0320F809 */ jalr $t9 +/* 0041D780 00000000 */ nop +/* 0041D784 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D788 8FA40038 */ lw $a0, 0x38($sp) +/* 0041D78C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D790 0320F809 */ jalr $t9 +/* 0041D794 00000000 */ nop +/* 0041D798 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D79C 2404004F */ li $a0, 79 +/* 0041D7A0 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D7A4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D7A8 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D7AC 93A70057 */ lbu $a3, 0x57($sp) +/* 0041D7B0 0320F809 */ jalr $t9 +/* 0041D7B4 00000000 */ nop +/* 0041D7B8 1000005E */ b .L0041D934 +/* 0041D7BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D7C0 8F190010 */ lw $t9, 0x10($t8) +.L0041D7C4: +/* 0041D7C4 3C010501 */ lui $at, 0x501 +/* 0041D7C8 8F280004 */ lw $t0, 4($t9) +/* 0041D7CC 91090021 */ lbu $t1, 0x21($t0) +/* 0041D7D0 312A001F */ andi $t2, $t1, 0x1f +/* 0041D7D4 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 0041D7D8 000B6023 */ negu $t4, $t3 +/* 0041D7DC 01816824 */ and $t5, $t4, $at +/* 0041D7E0 014D7004 */ sllv $t6, $t5, $t2 +/* 0041D7E4 05C30005 */ bgezl $t6, .L0041D7FC +/* 0041D7E8 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D7EC 93AF0057 */ lbu $t7, 0x57($sp) +/* 0041D7F0 25F80001 */ addiu $t8, $t7, 1 +/* 0041D7F4 A3B80033 */ sb $t8, 0x33($sp) +/* 0041D7F8 93A60053 */ lbu $a2, 0x53($sp) +.L0041D7FC: +/* 0041D7FC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D800 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D804 24C60001 */ addiu $a2, $a2, 1 +/* 0041D808 AFA60028 */ sw $a2, 0x28($sp) +/* 0041D80C 0320F809 */ jalr $t9 +/* 0041D810 93A70033 */ lbu $a3, 0x33($sp) +/* 0041D814 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D818 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D81C 24040029 */ li $a0, 41 +/* 0041D820 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041D824 24A50001 */ addiu $a1, $a1, 1 +/* 0041D828 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041D82C 00003025 */ move $a2, $zero +/* 0041D830 0320F809 */ jalr $t9 +/* 0041D834 00003825 */ move $a3, $zero +/* 0041D838 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D83C 24040004 */ li $a0, 4 +/* 0041D840 8FA50034 */ lw $a1, 0x34($sp) +/* 0041D844 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0041D848 0320F809 */ jalr $t9 +/* 0041D84C 00000000 */ nop +/* 0041D850 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D854 8FA4003C */ lw $a0, 0x3c($sp) +/* 0041D858 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D85C 0320F809 */ jalr $t9 +/* 0041D860 00000000 */ nop +/* 0041D864 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D868 2404004F */ li $a0, 79 +/* 0041D86C 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041D870 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D874 93A60053 */ lbu $a2, 0x53($sp) +/* 0041D878 93A70033 */ lbu $a3, 0x33($sp) +/* 0041D87C 0320F809 */ jalr $t9 +/* 0041D880 00000000 */ nop +/* 0041D884 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D888 240400DC */ li $a0, 220 +/* 0041D88C 93A50043 */ lbu $a1, 0x43($sp) +/* 0041D890 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041D894 8FA60038 */ lw $a2, 0x38($sp) +/* 0041D898 0320F809 */ jalr $t9 +/* 0041D89C 00000000 */ nop +/* 0041D8A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D8A4 240400DB */ li $a0, 219 +/* 0041D8A8 93A50042 */ lbu $a1, 0x42($sp) +/* 0041D8AC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041D8B0 93A60033 */ lbu $a2, 0x33($sp) +/* 0041D8B4 0320F809 */ jalr $t9 +/* 0041D8B8 00000000 */ nop +/* 0041D8BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D8C0 24040054 */ li $a0, 84 +/* 0041D8C4 93A50041 */ lbu $a1, 0x41($sp) +/* 0041D8C8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D8CC 8FA60028 */ lw $a2, 0x28($sp) +/* 0041D8D0 93A70042 */ lbu $a3, 0x42($sp) +/* 0041D8D4 0320F809 */ jalr $t9 +/* 0041D8D8 00000000 */ nop +/* 0041D8DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D8E0 93A6004F */ lbu $a2, 0x4f($sp) +/* 0041D8E4 24040040 */ li $a0, 64 +/* 0041D8E8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D8EC 93A70041 */ lbu $a3, 0x41($sp) +/* 0041D8F0 00C02825 */ move $a1, $a2 +/* 0041D8F4 0320F809 */ jalr $t9 +/* 0041D8F8 00000000 */ nop +/* 0041D8FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D900 8FA40038 */ lw $a0, 0x38($sp) +/* 0041D904 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D908 0320F809 */ jalr $t9 +/* 0041D90C 00000000 */ nop +/* 0041D910 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D914 2404004F */ li $a0, 79 +/* 0041D918 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041D91C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041D920 8FA60028 */ lw $a2, 0x28($sp) +/* 0041D924 93A70033 */ lbu $a3, 0x33($sp) +/* 0041D928 0320F809 */ jalr $t9 +/* 0041D92C 00000000 */ nop +/* 0041D930 8FBC0020 */ lw $gp, 0x20($sp) +.L0041D934: +/* 0041D934 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041D938 8FA40034 */ lw $a0, 0x34($sp) +/* 0041D93C 0320F809 */ jalr $t9 +/* 0041D940 00000000 */ nop +/* 0041D944 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041D948 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D94C 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0041D950 03E00008 */ jr $ra +/* 0041D954 00000000 */ nop + + .type func_0041D958, @function +func_0041D958: + # 0041E468 dw_emit_rrr +/* 0041D958 3C1C0FC0 */ .cpload $t9 +/* 0041D95C 279C20F8 */ +/* 0041D960 0399E021 */ +/* 0041D964 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0041D968 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D96C AFBF0024 */ sw $ra, 0x24($sp) +/* 0041D970 AFA40048 */ sw $a0, 0x48($sp) +/* 0041D974 AFA5004C */ sw $a1, 0x4c($sp) +/* 0041D978 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041D97C AFA60050 */ sw $a2, 0x50($sp) +/* 0041D980 AFA70054 */ sw $a3, 0x54($sp) +/* 0041D984 AFA20044 */ sw $v0, 0x44($sp) +/* 0041D988 24050001 */ li $a1, 1 +/* 0041D98C 0320F809 */ jalr $t9 +/* 0041D990 00002025 */ move $a0, $zero +/* 0041D994 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D998 A3A20043 */ sb $v0, 0x43($sp) +/* 0041D99C 304400FF */ andi $a0, $v0, 0xff +/* 0041D9A0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041D9A4 0320F809 */ jalr $t9 +/* 0041D9A8 00000000 */ nop +/* 0041D9AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D9B0 00002025 */ move $a0, $zero +/* 0041D9B4 24050001 */ li $a1, 1 +/* 0041D9B8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D9BC 0320F809 */ jalr $t9 +/* 0041D9C0 00000000 */ nop +/* 0041D9C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D9C8 A3A20042 */ sb $v0, 0x42($sp) +/* 0041D9CC 304400FF */ andi $a0, $v0, 0xff +/* 0041D9D0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041D9D4 0320F809 */ jalr $t9 +/* 0041D9D8 00000000 */ nop +/* 0041D9DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D9E0 00002025 */ move $a0, $zero +/* 0041D9E4 24050001 */ li $a1, 1 +/* 0041D9E8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0041D9EC 0320F809 */ jalr $t9 +/* 0041D9F0 00000000 */ nop +/* 0041D9F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041D9F8 A3A20041 */ sb $v0, 0x41($sp) +/* 0041D9FC 304400FF */ andi $a0, $v0, 0xff +/* 0041DA00 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0041DA04 0320F809 */ jalr $t9 +/* 0041DA08 00000000 */ nop +/* 0041DA0C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA10 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041DA14 0320F809 */ jalr $t9 +/* 0041DA18 00000000 */ nop +/* 0041DA1C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA20 AFA2003C */ sw $v0, 0x3c($sp) +/* 0041DA24 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041DA28 0320F809 */ jalr $t9 +/* 0041DA2C 00000000 */ nop +/* 0041DA30 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA34 AFA20038 */ sw $v0, 0x38($sp) +/* 0041DA38 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041DA3C 0320F809 */ jalr $t9 +/* 0041DA40 00000000 */ nop +/* 0041DA44 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA48 93A60057 */ lbu $a2, 0x57($sp) +/* 0041DA4C AFA20034 */ sw $v0, 0x34($sp) +/* 0041DA50 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041DA54 2404004F */ li $a0, 79 +/* 0041DA58 93A50043 */ lbu $a1, 0x43($sp) +/* 0041DA5C 2407001A */ li $a3, 26 +/* 0041DA60 AFA00010 */ sw $zero, 0x10($sp) +/* 0041DA64 0320F809 */ jalr $t9 +/* 0041DA68 A3A60033 */ sb $a2, 0x33($sp) +/* 0041DA6C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA70 24040010 */ li $a0, 16 +/* 0041DA74 93A50043 */ lbu $a1, 0x43($sp) +/* 0041DA78 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041DA7C 8FA6003C */ lw $a2, 0x3c($sp) +/* 0041DA80 0320F809 */ jalr $t9 +/* 0041DA84 00000000 */ nop +/* 0041DA88 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DA8C 8FB80044 */ lw $t8, 0x44($sp) +/* 0041DA90 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041DA94 91CE0000 */ lbu $t6, ($t6) +/* 0041DA98 51C00061 */ beql $t6, $zero, .L0041DC20 +/* 0041DA9C 8F190010 */ lw $t9, 0x10($t8) +/* 0041DAA0 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DAA4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DAA8 97A4004A */ lhu $a0, 0x4a($sp) +/* 0041DAAC 24C60001 */ addiu $a2, $a2, 1 +/* 0041DAB0 AFA6002C */ sw $a2, 0x2c($sp) +/* 0041DAB4 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DAB8 0320F809 */ jalr $t9 +/* 0041DABC 93A70057 */ lbu $a3, 0x57($sp) +/* 0041DAC0 97AF004A */ lhu $t7, 0x4a($sp) +/* 0041DAC4 24010053 */ li $at, 83 +/* 0041DAC8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DACC 15E1000C */ bne $t7, $at, .L0041DB00 +/* 0041DAD0 24040029 */ li $a0, 41 +/* 0041DAD4 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DAD8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041DADC 24040053 */ li $a0, 83 +/* 0041DAE0 24A50001 */ addiu $a1, $a1, 1 +/* 0041DAE4 AFA50028 */ sw $a1, 0x28($sp) +/* 0041DAE8 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041DAEC 2407001F */ li $a3, 31 +/* 0041DAF0 0320F809 */ jalr $t9 +/* 0041DAF4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041DAF8 10000009 */ b .L0041DB20 +/* 0041DAFC 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DB00: +/* 0041DB00 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DB04 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041DB08 00003025 */ move $a2, $zero +/* 0041DB0C 24A50001 */ addiu $a1, $a1, 1 +/* 0041DB10 AFA50028 */ sw $a1, 0x28($sp) +/* 0041DB14 0320F809 */ jalr $t9 +/* 0041DB18 00003825 */ move $a3, $zero +/* 0041DB1C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DB20: +/* 0041DB20 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0041DB24 24040004 */ li $a0, 4 +/* 0041DB28 8FA50034 */ lw $a1, 0x34($sp) +/* 0041DB2C 0320F809 */ jalr $t9 +/* 0041DB30 00000000 */ nop +/* 0041DB34 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DB38 8FA4003C */ lw $a0, 0x3c($sp) +/* 0041DB3C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041DB40 0320F809 */ jalr $t9 +/* 0041DB44 00000000 */ nop +/* 0041DB48 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DB4C 24040054 */ li $a0, 84 +/* 0041DB50 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DB54 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DB58 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DB5C 93A70057 */ lbu $a3, 0x57($sp) +/* 0041DB60 0320F809 */ jalr $t9 +/* 0041DB64 00000000 */ nop +/* 0041DB68 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DB6C 240400DC */ li $a0, 220 +/* 0041DB70 93A50043 */ lbu $a1, 0x43($sp) +/* 0041DB74 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041DB78 8FA60038 */ lw $a2, 0x38($sp) +/* 0041DB7C 0320F809 */ jalr $t9 +/* 0041DB80 00000000 */ nop +/* 0041DB84 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DB88 240400DB */ li $a0, 219 +/* 0041DB8C 93A50042 */ lbu $a1, 0x42($sp) +/* 0041DB90 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041DB94 93A60057 */ lbu $a2, 0x57($sp) +/* 0041DB98 0320F809 */ jalr $t9 +/* 0041DB9C 00000000 */ nop +/* 0041DBA0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DBA4 2404004F */ li $a0, 79 +/* 0041DBA8 93A50041 */ lbu $a1, 0x41($sp) +/* 0041DBAC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DBB0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041DBB4 93A70042 */ lbu $a3, 0x42($sp) +/* 0041DBB8 0320F809 */ jalr $t9 +/* 0041DBBC 00000000 */ nop +/* 0041DBC0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DBC4 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DBC8 24040040 */ li $a0, 64 +/* 0041DBCC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DBD0 93A70041 */ lbu $a3, 0x41($sp) +/* 0041DBD4 00A03025 */ move $a2, $a1 +/* 0041DBD8 0320F809 */ jalr $t9 +/* 0041DBDC 00000000 */ nop +/* 0041DBE0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DBE4 8FA40038 */ lw $a0, 0x38($sp) +/* 0041DBE8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041DBEC 0320F809 */ jalr $t9 +/* 0041DBF0 00000000 */ nop +/* 0041DBF4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DBF8 97A4004A */ lhu $a0, 0x4a($sp) +/* 0041DBFC 8FA50028 */ lw $a1, 0x28($sp) +/* 0041DC00 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DC04 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041DC08 93A70057 */ lbu $a3, 0x57($sp) +/* 0041DC0C 0320F809 */ jalr $t9 +/* 0041DC10 00000000 */ nop +/* 0041DC14 10000069 */ b .L0041DDBC +/* 0041DC18 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DC1C 8F190010 */ lw $t9, 0x10($t8) +.L0041DC20: +/* 0041DC20 3C010501 */ lui $at, 0x501 +/* 0041DC24 8F280004 */ lw $t0, 4($t9) +/* 0041DC28 91090021 */ lbu $t1, 0x21($t0) +/* 0041DC2C 312A001F */ andi $t2, $t1, 0x1f +/* 0041DC30 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 0041DC34 000B6023 */ negu $t4, $t3 +/* 0041DC38 01816824 */ and $t5, $t4, $at +/* 0041DC3C 014D7004 */ sllv $t6, $t5, $t2 +/* 0041DC40 05C30005 */ bgezl $t6, .L0041DC58 +/* 0041DC44 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DC48 93AF0057 */ lbu $t7, 0x57($sp) +/* 0041DC4C 25F80001 */ addiu $t8, $t7, 1 +/* 0041DC50 A3B80033 */ sb $t8, 0x33($sp) +/* 0041DC54 93A5004F */ lbu $a1, 0x4f($sp) +.L0041DC58: +/* 0041DC58 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DC5C 97A4004A */ lhu $a0, 0x4a($sp) +/* 0041DC60 24A50001 */ addiu $a1, $a1, 1 +/* 0041DC64 AFA50028 */ sw $a1, 0x28($sp) +/* 0041DC68 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DC6C 0320F809 */ jalr $t9 +/* 0041DC70 93A70033 */ lbu $a3, 0x33($sp) +/* 0041DC74 97B9004A */ lhu $t9, 0x4a($sp) +/* 0041DC78 24010053 */ li $at, 83 +/* 0041DC7C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DC80 1721000A */ bne $t9, $at, .L0041DCAC +/* 0041DC84 24040029 */ li $a0, 41 +/* 0041DC88 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041DC8C 24040053 */ li $a0, 83 +/* 0041DC90 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DC94 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DC98 2407001F */ li $a3, 31 +/* 0041DC9C 0320F809 */ jalr $t9 +/* 0041DCA0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041DCA4 10000007 */ b .L0041DCC4 +/* 0041DCA8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DCAC: +/* 0041DCAC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041DCB0 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DCB4 00003025 */ move $a2, $zero +/* 0041DCB8 0320F809 */ jalr $t9 +/* 0041DCBC 00003825 */ move $a3, $zero +/* 0041DCC0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DCC4: +/* 0041DCC4 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0041DCC8 24040004 */ li $a0, 4 +/* 0041DCCC 8FA50034 */ lw $a1, 0x34($sp) +/* 0041DCD0 0320F809 */ jalr $t9 +/* 0041DCD4 00000000 */ nop +/* 0041DCD8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DCDC 8FA4003C */ lw $a0, 0x3c($sp) +/* 0041DCE0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041DCE4 0320F809 */ jalr $t9 +/* 0041DCE8 00000000 */ nop +/* 0041DCEC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DCF0 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DCF4 24040054 */ li $a0, 84 +/* 0041DCF8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DCFC 8FA50028 */ lw $a1, 0x28($sp) +/* 0041DD00 93A70033 */ lbu $a3, 0x33($sp) +/* 0041DD04 0320F809 */ jalr $t9 +/* 0041DD08 24C60001 */ addiu $a2, $a2, 1 +/* 0041DD0C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD10 240400DC */ li $a0, 220 +/* 0041DD14 93A50043 */ lbu $a1, 0x43($sp) +/* 0041DD18 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041DD1C 8FA60038 */ lw $a2, 0x38($sp) +/* 0041DD20 0320F809 */ jalr $t9 +/* 0041DD24 00000000 */ nop +/* 0041DD28 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD2C 240400DB */ li $a0, 219 +/* 0041DD30 93A50042 */ lbu $a1, 0x42($sp) +/* 0041DD34 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041DD38 93A60033 */ lbu $a2, 0x33($sp) +/* 0041DD3C 0320F809 */ jalr $t9 +/* 0041DD40 00000000 */ nop +/* 0041DD44 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD48 2404004F */ li $a0, 79 +/* 0041DD4C 93A50041 */ lbu $a1, 0x41($sp) +/* 0041DD50 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DD54 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DD58 93A70042 */ lbu $a3, 0x42($sp) +/* 0041DD5C 0320F809 */ jalr $t9 +/* 0041DD60 00000000 */ nop +/* 0041DD64 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD68 8FA60028 */ lw $a2, 0x28($sp) +/* 0041DD6C 24040040 */ li $a0, 64 +/* 0041DD70 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DD74 93A70041 */ lbu $a3, 0x41($sp) +/* 0041DD78 00C02825 */ move $a1, $a2 +/* 0041DD7C 0320F809 */ jalr $t9 +/* 0041DD80 00000000 */ nop +/* 0041DD84 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD88 8FA40038 */ lw $a0, 0x38($sp) +/* 0041DD8C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041DD90 0320F809 */ jalr $t9 +/* 0041DD94 00000000 */ nop +/* 0041DD98 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DD9C 97A4004A */ lhu $a0, 0x4a($sp) +/* 0041DDA0 93A5004F */ lbu $a1, 0x4f($sp) +/* 0041DDA4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DDA8 93A60053 */ lbu $a2, 0x53($sp) +/* 0041DDAC 93A70033 */ lbu $a3, 0x33($sp) +/* 0041DDB0 0320F809 */ jalr $t9 +/* 0041DDB4 00000000 */ nop +/* 0041DDB8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DDBC: +/* 0041DDBC 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041DDC0 8FA40034 */ lw $a0, 0x34($sp) +/* 0041DDC4 0320F809 */ jalr $t9 +/* 0041DDC8 00000000 */ nop +/* 0041DDCC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041DDD0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DDD4 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0041DDD8 03E00008 */ jr $ra +/* 0041DDDC 00000000 */ nop + + .type func_0041DDE0, @function +func_0041DDE0: + # 0041E468 dw_emit_rrr +/* 0041DDE0 3C1C0FC0 */ .cpload $t9 +/* 0041DDE4 279C1C70 */ +/* 0041DDE8 0399E021 */ +/* 0041DDEC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041DDF0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041DDF4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041DDF8 30B000FF */ andi $s0, $a1, 0xff +/* 0041DDFC AFBF0024 */ sw $ra, 0x24($sp) +/* 0041DE00 AFA40028 */ sw $a0, 0x28($sp) +/* 0041DE04 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041DE08 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041DE0C AFA60030 */ sw $a2, 0x30($sp) +/* 0041DE10 AFA70034 */ sw $a3, 0x34($sp) +/* 0041DE14 24050006 */ li $a1, 6 +/* 0041DE18 0320F809 */ jalr $t9 +/* 0041DE1C 24040020 */ li $a0, 32 +/* 0041DE20 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DE24 24040059 */ li $a0, 89 +/* 0041DE28 24050001 */ li $a1, 1 +/* 0041DE2C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DE30 93A60033 */ lbu $a2, 0x33($sp) +/* 0041DE34 93A70037 */ lbu $a3, 0x37($sp) +/* 0041DE38 0320F809 */ jalr $t9 +/* 0041DE3C 00000000 */ nop +/* 0041DE40 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DE44 93A60033 */ lbu $a2, 0x33($sp) +/* 0041DE48 93A70037 */ lbu $a3, 0x37($sp) +/* 0041DE4C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DE50 24040059 */ li $a0, 89 +/* 0041DE54 02002825 */ move $a1, $s0 +/* 0041DE58 24C60001 */ addiu $a2, $a2, 1 +/* 0041DE5C 0320F809 */ jalr $t9 +/* 0041DE60 24E70001 */ addiu $a3, $a3, 1 +/* 0041DE64 97AE002A */ lhu $t6, 0x2a($sp) +/* 0041DE68 24010047 */ li $at, 71 +/* 0041DE6C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DE70 15C10011 */ bne $t6, $at, .L0041DEB8 +/* 0041DE74 24040040 */ li $a0, 64 +/* 0041DE78 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DE7C 24040040 */ li $a0, 64 +/* 0041DE80 02002825 */ move $a1, $s0 +/* 0041DE84 02003025 */ move $a2, $s0 +/* 0041DE88 0320F809 */ jalr $t9 +/* 0041DE8C 24070001 */ li $a3, 1 +/* 0041DE90 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DE94 240400D6 */ li $a0, 214 +/* 0041DE98 02002825 */ move $a1, $s0 +/* 0041DE9C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041DEA0 02003025 */ move $a2, $s0 +/* 0041DEA4 24070001 */ li $a3, 1 +/* 0041DEA8 0320F809 */ jalr $t9 +/* 0041DEAC AFA00010 */ sw $zero, 0x10($sp) +/* 0041DEB0 1000000F */ b .L0041DEF0 +/* 0041DEB4 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DEB8: +/* 0041DEB8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DEBC 02002825 */ move $a1, $s0 +/* 0041DEC0 02003025 */ move $a2, $s0 +/* 0041DEC4 0320F809 */ jalr $t9 +/* 0041DEC8 24070001 */ li $a3, 1 +/* 0041DECC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DED0 24040051 */ li $a0, 81 +/* 0041DED4 02002825 */ move $a1, $s0 +/* 0041DED8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DEDC 00003025 */ move $a2, $zero +/* 0041DEE0 02003825 */ move $a3, $s0 +/* 0041DEE4 0320F809 */ jalr $t9 +/* 0041DEE8 00000000 */ nop +/* 0041DEEC 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DEF0: +/* 0041DEF0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041DEF4 24040020 */ li $a0, 32 +/* 0041DEF8 24050005 */ li $a1, 5 +/* 0041DEFC 0320F809 */ jalr $t9 +/* 0041DF00 00000000 */ nop +/* 0041DF04 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041DF08 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DF0C 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041DF10 03E00008 */ jr $ra +/* 0041DF14 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_0041DF18, @function +func_0041DF18: + # 0041E468 dw_emit_rrr +/* 0041DF18 3C1C0FC0 */ .cpload $t9 +/* 0041DF1C 279C1B38 */ +/* 0041DF20 0399E021 */ +/* 0041DF24 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041DF28 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041DF2C AFBF0024 */ sw $ra, 0x24($sp) +/* 0041DF30 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041DF34 AFB00018 */ sw $s0, 0x18($sp) +/* 0041DF38 30D000FF */ andi $s0, $a2, 0xff +/* 0041DF3C 30F100FF */ andi $s1, $a3, 0xff +/* 0041DF40 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041DF44 AFA40038 */ sw $a0, 0x38($sp) +/* 0041DF48 AFA5003C */ sw $a1, 0x3c($sp) +/* 0041DF4C AFA60040 */ sw $a2, 0x40($sp) +/* 0041DF50 0320F809 */ jalr $t9 +/* 0041DF54 AFA70044 */ sw $a3, 0x44($sp) +/* 0041DF58 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DF5C AFA20030 */ sw $v0, 0x30($sp) +/* 0041DF60 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041DF64 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041DF68 26060001 */ addiu $a2, $s0, 1 +/* 0041DF6C 26270001 */ addiu $a3, $s1, 1 +/* 0041DF70 91CE0000 */ lbu $t6, ($t6) +/* 0041DF74 2404004B */ li $a0, 75 +/* 0041DF78 11C00018 */ beqz $t6, .L0041DFDC +/* 0041DF7C 00000000 */ nop +/* 0041DF80 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DF84 2404004B */ li $a0, 75 +/* 0041DF88 AFA6002C */ sw $a2, 0x2c($sp) +/* 0041DF8C 0320F809 */ jalr $t9 +/* 0041DF90 AFA70028 */ sw $a3, 0x28($sp) +/* 0041DF94 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DF98 2404001A */ li $a0, 26 +/* 0041DF9C 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041DFA0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041DFA4 8FA60028 */ lw $a2, 0x28($sp) +/* 0041DFA8 8FA70030 */ lw $a3, 0x30($sp) +/* 0041DFAC 0320F809 */ jalr $t9 +/* 0041DFB0 00000000 */ nop +/* 0041DFB4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DFB8 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041DFBC 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041DFC0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DFC4 02003025 */ move $a2, $s0 +/* 0041DFC8 02203825 */ move $a3, $s1 +/* 0041DFCC 0320F809 */ jalr $t9 +/* 0041DFD0 00000000 */ nop +/* 0041DFD4 10000017 */ b .L0041E034 +/* 0041DFD8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041DFDC: +/* 0041DFDC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041DFE0 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041DFE4 02003025 */ move $a2, $s0 +/* 0041DFE8 0320F809 */ jalr $t9 +/* 0041DFEC 02203825 */ move $a3, $s1 +/* 0041DFF0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041DFF4 2404001A */ li $a0, 26 +/* 0041DFF8 02002825 */ move $a1, $s0 +/* 0041DFFC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E000 02203025 */ move $a2, $s1 +/* 0041E004 8FA70030 */ lw $a3, 0x30($sp) +/* 0041E008 0320F809 */ jalr $t9 +/* 0041E00C 00000000 */ nop +/* 0041E010 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E014 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041E018 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041E01C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E020 26060001 */ addiu $a2, $s0, 1 +/* 0041E024 26270001 */ addiu $a3, $s1, 1 +/* 0041E028 0320F809 */ jalr $t9 +/* 0041E02C 00000000 */ nop +/* 0041E030 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E034: +/* 0041E034 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041E038 8FA40030 */ lw $a0, 0x30($sp) +/* 0041E03C 0320F809 */ jalr $t9 +/* 0041E040 00000000 */ nop +/* 0041E044 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041E048 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E04C 8FB00018 */ lw $s0, 0x18($sp) +/* 0041E050 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041E054 03E00008 */ jr $ra +/* 0041E058 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041E05C, @function +func_0041E05C: + # 0041E468 dw_emit_rrr +/* 0041E05C 3C1C0FC0 */ .cpload $t9 +/* 0041E060 279C19F4 */ +/* 0041E064 0399E021 */ +/* 0041E068 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041E06C AFB1001C */ sw $s1, 0x1c($sp) +/* 0041E070 AFB00018 */ sw $s0, 0x18($sp) +/* 0041E074 24010048 */ li $at, 72 +/* 0041E078 30D000FF */ andi $s0, $a2, 0xff +/* 0041E07C 30F100FF */ andi $s1, $a3, 0xff +/* 0041E080 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041E084 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041E088 AFA40040 */ sw $a0, 0x40($sp) +/* 0041E08C AFA50044 */ sw $a1, 0x44($sp) +/* 0041E090 AFA60048 */ sw $a2, 0x48($sp) +/* 0041E094 14810004 */ bne $a0, $at, .L0041E0A8 +/* 0041E098 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041E09C 240E0049 */ li $t6, 73 +/* 0041E0A0 10000003 */ b .L0041E0B0 +/* 0041E0A4 A7AE0036 */ sh $t6, 0x36($sp) +.L0041E0A8: +/* 0041E0A8 240F004B */ li $t7, 75 +/* 0041E0AC A7AF0036 */ sh $t7, 0x36($sp) +.L0041E0B0: +/* 0041E0B0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041E0B4 0320F809 */ jalr $t9 +/* 0041E0B8 00000000 */ nop +/* 0041E0BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E0C0 AFA20038 */ sw $v0, 0x38($sp) +/* 0041E0C4 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E0C8 8F98898C */ lw $t8, %got(lsb_first)($gp) +/* 0041E0CC 26060001 */ addiu $a2, $s0, 1 +/* 0041E0D0 26270001 */ addiu $a3, $s1, 1 +/* 0041E0D4 93180000 */ lbu $t8, ($t8) +/* 0041E0D8 2404004A */ li $a0, 74 +/* 0041E0DC 13000018 */ beqz $t8, .L0041E140 +/* 0041E0E0 00000000 */ nop +/* 0041E0E4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E0E8 2404004A */ li $a0, 74 +/* 0041E0EC AFA60030 */ sw $a2, 0x30($sp) +/* 0041E0F0 0320F809 */ jalr $t9 +/* 0041E0F4 AFA7002C */ sw $a3, 0x2c($sp) +/* 0041E0F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E0FC 2404001A */ li $a0, 26 +/* 0041E100 8FA50030 */ lw $a1, 0x30($sp) +/* 0041E104 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E108 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041E10C 8FA70038 */ lw $a3, 0x38($sp) +/* 0041E110 0320F809 */ jalr $t9 +/* 0041E114 00000000 */ nop +/* 0041E118 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E11C 97A40036 */ lhu $a0, 0x36($sp) +/* 0041E120 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E124 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E128 02003025 */ move $a2, $s0 +/* 0041E12C 02203825 */ move $a3, $s1 +/* 0041E130 0320F809 */ jalr $t9 +/* 0041E134 00000000 */ nop +/* 0041E138 10000017 */ b .L0041E198 +/* 0041E13C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E140: +/* 0041E140 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E144 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E148 02003025 */ move $a2, $s0 +/* 0041E14C 0320F809 */ jalr $t9 +/* 0041E150 02203825 */ move $a3, $s1 +/* 0041E154 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E158 2404001A */ li $a0, 26 +/* 0041E15C 02002825 */ move $a1, $s0 +/* 0041E160 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E164 02203025 */ move $a2, $s1 +/* 0041E168 8FA70038 */ lw $a3, 0x38($sp) +/* 0041E16C 0320F809 */ jalr $t9 +/* 0041E170 00000000 */ nop +/* 0041E174 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E178 97A40036 */ lhu $a0, 0x36($sp) +/* 0041E17C 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E180 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E184 26060001 */ addiu $a2, $s0, 1 +/* 0041E188 26270001 */ addiu $a3, $s1, 1 +/* 0041E18C 0320F809 */ jalr $t9 +/* 0041E190 00000000 */ nop +/* 0041E194 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E198: +/* 0041E198 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041E19C 8FA40038 */ lw $a0, 0x38($sp) +/* 0041E1A0 0320F809 */ jalr $t9 +/* 0041E1A4 00000000 */ nop +/* 0041E1A8 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041E1AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E1B0 8FB00018 */ lw $s0, 0x18($sp) +/* 0041E1B4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041E1B8 03E00008 */ jr $ra +/* 0041E1BC 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041E1C0, @function +func_0041E1C0: + # 0041E468 dw_emit_rrr +/* 0041E1C0 3C1C0FC0 */ .cpload $t9 +/* 0041E1C4 279C1890 */ +/* 0041E1C8 0399E021 */ +/* 0041E1CC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0041E1D0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041E1D4 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041E1D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041E1DC AFB00018 */ sw $s0, 0x18($sp) +/* 0041E1E0 30D000FF */ andi $s0, $a2, 0xff +/* 0041E1E4 30F100FF */ andi $s1, $a3, 0xff +/* 0041E1E8 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041E1EC AFA40038 */ sw $a0, 0x38($sp) +/* 0041E1F0 AFA5003C */ sw $a1, 0x3c($sp) +/* 0041E1F4 AFA60040 */ sw $a2, 0x40($sp) +/* 0041E1F8 0320F809 */ jalr $t9 +/* 0041E1FC AFA70044 */ sw $a3, 0x44($sp) +/* 0041E200 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E204 AFA20030 */ sw $v0, 0x30($sp) +/* 0041E208 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041E20C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041E210 26060001 */ addiu $a2, $s0, 1 +/* 0041E214 26270001 */ addiu $a3, $s1, 1 +/* 0041E218 91CE0000 */ lbu $t6, ($t6) +/* 0041E21C 24040051 */ li $a0, 81 +/* 0041E220 11C00018 */ beqz $t6, .L0041E284 +/* 0041E224 00000000 */ nop +/* 0041E228 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E22C 24040051 */ li $a0, 81 +/* 0041E230 AFA6002C */ sw $a2, 0x2c($sp) +/* 0041E234 0320F809 */ jalr $t9 +/* 0041E238 AFA70028 */ sw $a3, 0x28($sp) +/* 0041E23C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E240 2404001A */ li $a0, 26 +/* 0041E244 8FA5002C */ lw $a1, 0x2c($sp) +/* 0041E248 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E24C 8FA60028 */ lw $a2, 0x28($sp) +/* 0041E250 8FA70030 */ lw $a3, 0x30($sp) +/* 0041E254 0320F809 */ jalr $t9 +/* 0041E258 00000000 */ nop +/* 0041E25C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E260 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041E264 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041E268 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E26C 02003025 */ move $a2, $s0 +/* 0041E270 02203825 */ move $a3, $s1 +/* 0041E274 0320F809 */ jalr $t9 +/* 0041E278 00000000 */ nop +/* 0041E27C 10000017 */ b .L0041E2DC +/* 0041E280 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E284: +/* 0041E284 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E288 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041E28C 02003025 */ move $a2, $s0 +/* 0041E290 0320F809 */ jalr $t9 +/* 0041E294 02203825 */ move $a3, $s1 +/* 0041E298 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E29C 2404001A */ li $a0, 26 +/* 0041E2A0 02002825 */ move $a1, $s0 +/* 0041E2A4 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E2A8 02203025 */ move $a2, $s1 +/* 0041E2AC 8FA70030 */ lw $a3, 0x30($sp) +/* 0041E2B0 0320F809 */ jalr $t9 +/* 0041E2B4 00000000 */ nop +/* 0041E2B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E2BC 97A4003A */ lhu $a0, 0x3a($sp) +/* 0041E2C0 93A5003F */ lbu $a1, 0x3f($sp) +/* 0041E2C4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E2C8 26060001 */ addiu $a2, $s0, 1 +/* 0041E2CC 26270001 */ addiu $a3, $s1, 1 +/* 0041E2D0 0320F809 */ jalr $t9 +/* 0041E2D4 00000000 */ nop +/* 0041E2D8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E2DC: +/* 0041E2DC 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041E2E0 8FA40030 */ lw $a0, 0x30($sp) +/* 0041E2E4 0320F809 */ jalr $t9 +/* 0041E2E8 00000000 */ nop +/* 0041E2EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041E2F0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E2F4 8FB00018 */ lw $s0, 0x18($sp) +/* 0041E2F8 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041E2FC 03E00008 */ jr $ra +/* 0041E300 27BD0038 */ addiu $sp, $sp, 0x38 + + .type func_0041E304, @function +func_0041E304: + # 0041E468 dw_emit_rrr +/* 0041E304 3C1C0FC0 */ .cpload $t9 +/* 0041E308 279C174C */ +/* 0041E30C 0399E021 */ +/* 0041E310 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041E314 AFB1001C */ sw $s1, 0x1c($sp) +/* 0041E318 AFB00018 */ sw $s0, 0x18($sp) +/* 0041E31C 24010050 */ li $at, 80 +/* 0041E320 30D000FF */ andi $s0, $a2, 0xff +/* 0041E324 30F100FF */ andi $s1, $a3, 0xff +/* 0041E328 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041E32C AFBC0020 */ sw $gp, 0x20($sp) +/* 0041E330 AFA40040 */ sw $a0, 0x40($sp) +/* 0041E334 AFA50044 */ sw $a1, 0x44($sp) +/* 0041E338 AFA60048 */ sw $a2, 0x48($sp) +/* 0041E33C 14810004 */ bne $a0, $at, .L0041E350 +/* 0041E340 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041E344 240E0051 */ li $t6, 81 +/* 0041E348 10000003 */ b .L0041E358 +/* 0041E34C A7AE0036 */ sh $t6, 0x36($sp) +.L0041E350: +/* 0041E350 240F004E */ li $t7, 78 +/* 0041E354 A7AF0036 */ sh $t7, 0x36($sp) +.L0041E358: +/* 0041E358 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041E35C 0320F809 */ jalr $t9 +/* 0041E360 00000000 */ nop +/* 0041E364 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E368 AFA20038 */ sw $v0, 0x38($sp) +/* 0041E36C 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E370 8F98898C */ lw $t8, %got(lsb_first)($gp) +/* 0041E374 26060001 */ addiu $a2, $s0, 1 +/* 0041E378 26270001 */ addiu $a3, $s1, 1 +/* 0041E37C 93180000 */ lbu $t8, ($t8) +/* 0041E380 24040050 */ li $a0, 80 +/* 0041E384 13000018 */ beqz $t8, .L0041E3E8 +/* 0041E388 00000000 */ nop +/* 0041E38C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E390 24040050 */ li $a0, 80 +/* 0041E394 AFA60030 */ sw $a2, 0x30($sp) +/* 0041E398 0320F809 */ jalr $t9 +/* 0041E39C AFA7002C */ sw $a3, 0x2c($sp) +/* 0041E3A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E3A4 2404001A */ li $a0, 26 +/* 0041E3A8 8FA50030 */ lw $a1, 0x30($sp) +/* 0041E3AC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E3B0 8FA6002C */ lw $a2, 0x2c($sp) +/* 0041E3B4 8FA70038 */ lw $a3, 0x38($sp) +/* 0041E3B8 0320F809 */ jalr $t9 +/* 0041E3BC 00000000 */ nop +/* 0041E3C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E3C4 97A40036 */ lhu $a0, 0x36($sp) +/* 0041E3C8 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E3CC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E3D0 02003025 */ move $a2, $s0 +/* 0041E3D4 02203825 */ move $a3, $s1 +/* 0041E3D8 0320F809 */ jalr $t9 +/* 0041E3DC 00000000 */ nop +/* 0041E3E0 10000017 */ b .L0041E440 +/* 0041E3E4 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E3E8: +/* 0041E3E8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E3EC 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E3F0 02003025 */ move $a2, $s0 +/* 0041E3F4 0320F809 */ jalr $t9 +/* 0041E3F8 02203825 */ move $a3, $s1 +/* 0041E3FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E400 2404001A */ li $a0, 26 +/* 0041E404 02002825 */ move $a1, $s0 +/* 0041E408 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0041E40C 02203025 */ move $a2, $s1 +/* 0041E410 8FA70038 */ lw $a3, 0x38($sp) +/* 0041E414 0320F809 */ jalr $t9 +/* 0041E418 00000000 */ nop +/* 0041E41C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E420 97A40036 */ lhu $a0, 0x36($sp) +/* 0041E424 93A50047 */ lbu $a1, 0x47($sp) +/* 0041E428 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E42C 26060001 */ addiu $a2, $s0, 1 +/* 0041E430 26270001 */ addiu $a3, $s1, 1 +/* 0041E434 0320F809 */ jalr $t9 +/* 0041E438 00000000 */ nop +/* 0041E43C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E440: +/* 0041E440 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041E444 8FA40038 */ lw $a0, 0x38($sp) +/* 0041E448 0320F809 */ jalr $t9 +/* 0041E44C 00000000 */ nop +/* 0041E450 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041E454 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E458 8FB00018 */ lw $s0, 0x18($sp) +/* 0041E45C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0041E460 03E00008 */ jr $ra +/* 0041E464 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel dw_emit_rrr + .ent dw_emit_rrr + # 00428A9C eval2 +/* 0041E468 3C1C0FC0 */ .cpload $t9 +/* 0041E46C 279C15E8 */ +/* 0041E470 0399E021 */ +/* 0041E474 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0041E478 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041E47C AFB00014 */ sw $s0, 0x14($sp) +/* 0041E480 91CE0000 */ lbu $t6, ($t6) +/* 0041E484 3090FFFF */ andi $s0, $a0, 0xffff +/* 0041E488 AFBF001C */ sw $ra, 0x1c($sp) +/* 0041E48C AFBC0018 */ sw $gp, 0x18($sp) +/* 0041E490 AFA40028 */ sw $a0, 0x28($sp) +/* 0041E494 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041E498 AFA60030 */ sw $a2, 0x30($sp) +/* 0041E49C 15C000CD */ bnez $t6, .L0041E7D4 +/* 0041E4A0 AFA70034 */ sw $a3, 0x34($sp) +/* 0041E4A4 8FAF0038 */ lw $t7, 0x38($sp) +/* 0041E4A8 3C010501 */ lui $at, 0x501 +/* 0041E4AC 91F80021 */ lbu $t8, 0x21($t7) +/* 0041E4B0 3319001F */ andi $t9, $t8, 0x1f +/* 0041E4B4 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0041E4B8 00084823 */ negu $t1, $t0 +/* 0041E4BC 01215024 */ and $t2, $t1, $at +/* 0041E4C0 032A5804 */ sllv $t3, $t2, $t9 +/* 0041E4C4 056100C3 */ bgez $t3, .L0041E7D4 +/* 0041E4C8 2E010041 */ sltiu $at, $s0, 0x41 +/* 0041E4CC 142000A5 */ bnez $at, .L0041E764 +/* 0041E4D0 2E01005A */ sltiu $at, $s0, 0x5a +/* 0041E4D4 142000B5 */ bnez $at, .L0041E7AC +/* 0041E4D8 260AFFB9 */ addiu $t2, $s0, -0x47 +/* 0041E4DC 260CFF12 */ addiu $t4, $s0, -0xee +/* 0041E4E0 2D810002 */ sltiu $at, $t4, 2 +/* 0041E4E4 10200098 */ beqz $at, .L0041E748 +/* 0041E4E8 00000000 */ nop +/* 0041E4EC 8F818038 */ lw $at, %got(jtbl_100097BC)($gp) +/* 0041E4F0 000C6080 */ sll $t4, $t4, 2 +/* 0041E4F4 002C0821 */ addu $at, $at, $t4 +/* 0041E4F8 8C2C97BC */ lw $t4, %lo(jtbl_100097BC)($at) +/* 0041E4FC 019C6021 */ addu $t4, $t4, $gp +/* 0041E500 01800008 */ jr $t4 +/* 0041E504 00000000 */ nop +.L0041E508: +/* 0041E508 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E50C 02002025 */ move $a0, $s0 +/* 0041E510 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E514 A3A60033 */ sb $a2, 0x33($sp) +/* 0041E518 0320F809 */ jalr $t9 +/* 0041E51C A3A70037 */ sb $a3, 0x37($sp) +/* 0041E520 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041E524 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E528 93A60033 */ lbu $a2, 0x33($sp) +/* 0041E52C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E530 93A70037 */ lbu $a3, 0x37($sp) +/* 0041E534 02002025 */ move $a0, $s0 +/* 0041E538 24A50001 */ addiu $a1, $a1, 1 +/* 0041E53C 24C60001 */ addiu $a2, $a2, 1 +/* 0041E540 0320F809 */ jalr $t9 +/* 0041E544 24E70001 */ addiu $a3, $a3, 1 +/* 0041E548 100000A8 */ b .L0041E7EC +/* 0041E54C 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E550: +/* 0041E550 8F99801C */ lw $t9, %got(func_0041D1E8)($gp) +/* 0041E554 02002025 */ move $a0, $s0 +/* 0041E558 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E55C 2739D1E8 */ addiu $t9, %lo(func_0041D1E8) # addiu $t9, $t9, -0x2e18 +/* 0041E560 0320F809 */ jalr $t9 +/* 0041E564 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E568 100000A0 */ b .L0041E7EC +/* 0041E56C 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E570: +/* 0041E570 8F99801C */ lw $t9, %got(func_0041D39C)($gp) +/* 0041E574 02002025 */ move $a0, $s0 +/* 0041E578 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E57C 2739D39C */ addiu $t9, %lo(func_0041D39C) # addiu $t9, $t9, -0x2c64 +/* 0041E580 0320F809 */ jalr $t9 +/* 0041E584 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E588 10000098 */ b .L0041E7EC +/* 0041E58C 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E590: +/* 0041E590 8F99801C */ lw $t9, %got(func_0041D534)($gp) +/* 0041E594 02002025 */ move $a0, $s0 +/* 0041E598 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E59C 2739D534 */ addiu $t9, %lo(func_0041D534) # addiu $t9, $t9, -0x2acc +/* 0041E5A0 0320F809 */ jalr $t9 +/* 0041E5A4 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E5A8 10000090 */ b .L0041E7EC +/* 0041E5AC 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E5B0: +/* 0041E5B0 8F99801C */ lw $t9, %got(func_0041D958)($gp) +/* 0041E5B4 02002025 */ move $a0, $s0 +/* 0041E5B8 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E5BC 2739D958 */ addiu $t9, %lo(func_0041D958) # addiu $t9, $t9, -0x26a8 +/* 0041E5C0 0320F809 */ jalr $t9 +/* 0041E5C4 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E5C8 10000088 */ b .L0041E7EC +/* 0041E5CC 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E5D0: +/* 0041E5D0 8F99801C */ lw $t9, %got(func_0041DDE0)($gp) +/* 0041E5D4 02002025 */ move $a0, $s0 +/* 0041E5D8 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E5DC 2739DDE0 */ addiu $t9, %lo(func_0041DDE0) # addiu $t9, $t9, -0x2220 +/* 0041E5E0 0320F809 */ jalr $t9 +/* 0041E5E4 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E5E8 10000080 */ b .L0041E7EC +/* 0041E5EC 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E5F0: +/* 0041E5F0 93AD002F */ lbu $t5, 0x2f($sp) +/* 0041E5F4 240E0001 */ li $t6, 1 +/* 0041E5F8 24040020 */ li $a0, 32 +/* 0041E5FC 11A60003 */ beq $t5, $a2, .L0041E60C +/* 0041E600 24050006 */ li $a1, 6 +/* 0041E604 15A7000A */ bne $t5, $a3, .L0041E630 +/* 0041E608 93AF002F */ lbu $t7, 0x2f($sp) +.L0041E60C: +/* 0041E60C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E610 A3AE0027 */ sb $t6, 0x27($sp) +/* 0041E614 A3A60033 */ sb $a2, 0x33($sp) +/* 0041E618 0320F809 */ jalr $t9 +/* 0041E61C A3A70037 */ sb $a3, 0x37($sp) +/* 0041E620 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041E624 93A70037 */ lbu $a3, 0x37($sp) +/* 0041E628 10000002 */ b .L0041E634 +/* 0041E62C 93A60033 */ lbu $a2, 0x33($sp) +.L0041E630: +/* 0041E630 A3AF0027 */ sb $t7, 0x27($sp) +.L0041E634: +/* 0041E634 3202FFFF */ andi $v0, $s0, 0xffff +/* 0041E638 2458FFB8 */ addiu $t8, $v0, -0x48 +/* 0041E63C 2F01000A */ sltiu $at, $t8, 0xa +/* 0041E640 10200028 */ beqz $at, .L0041E6E4 +/* 0041E644 00000000 */ nop +/* 0041E648 8F818038 */ lw $at, %got(jtbl_1000973C)($gp) +/* 0041E64C 0018C080 */ sll $t8, $t8, 2 +/* 0041E650 00380821 */ addu $at, $at, $t8 +/* 0041E654 8C38973C */ lw $t8, %lo(jtbl_1000973C)($at) +/* 0041E658 031CC021 */ addu $t8, $t8, $gp +/* 0041E65C 03000008 */ jr $t8 +/* 0041E660 00000000 */ nop +.L0041E664: +/* 0041E664 8F99801C */ lw $t9, %got(func_0041DF18)($gp) +/* 0041E668 02002025 */ move $a0, $s0 +/* 0041E66C 93A50027 */ lbu $a1, 0x27($sp) +/* 0041E670 2739DF18 */ addiu $t9, %lo(func_0041DF18) # addiu $t9, $t9, -0x20e8 +/* 0041E674 0320F809 */ jalr $t9 +/* 0041E678 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E67C 10000021 */ b .L0041E704 +/* 0041E680 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E684: +/* 0041E684 8F99801C */ lw $t9, %got(func_0041E05C)($gp) +/* 0041E688 02002025 */ move $a0, $s0 +/* 0041E68C 93A50027 */ lbu $a1, 0x27($sp) +/* 0041E690 2739E05C */ addiu $t9, %lo(func_0041E05C) # addiu $t9, $t9, -0x1fa4 +/* 0041E694 0320F809 */ jalr $t9 +/* 0041E698 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E69C 10000019 */ b .L0041E704 +/* 0041E6A0 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E6A4: +/* 0041E6A4 8F99801C */ lw $t9, %got(func_0041E1C0)($gp) +/* 0041E6A8 02002025 */ move $a0, $s0 +/* 0041E6AC 93A50027 */ lbu $a1, 0x27($sp) +/* 0041E6B0 2739E1C0 */ addiu $t9, %lo(func_0041E1C0) # addiu $t9, $t9, -0x1e40 +/* 0041E6B4 0320F809 */ jalr $t9 +/* 0041E6B8 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E6BC 10000011 */ b .L0041E704 +/* 0041E6C0 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E6C4: +/* 0041E6C4 8F99801C */ lw $t9, %got(func_0041E304)($gp) +/* 0041E6C8 02002025 */ move $a0, $s0 +/* 0041E6CC 93A50027 */ lbu $a1, 0x27($sp) +/* 0041E6D0 2739E304 */ addiu $t9, %lo(func_0041E304) # addiu $t9, $t9, -0x1cfc +/* 0041E6D4 0320F809 */ jalr $t9 +/* 0041E6D8 27A20028 */ addiu $v0, $sp, 0x28 +/* 0041E6DC 10000009 */ b .L0041E704 +/* 0041E6E0 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E6E4: +/* 0041E6E4 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0041E6E8 8F868038 */ lw $a2, %got(RO_10009730)($gp) +/* 0041E6EC 24040001 */ li $a0, 1 +/* 0041E6F0 2405038A */ li $a1, 906 +/* 0041E6F4 24070009 */ li $a3, 9 +/* 0041E6F8 0320F809 */ jalr $t9 +/* 0041E6FC 24C69730 */ addiu $a2, %lo(RO_10009730) # addiu $a2, $a2, -0x68d0 +/* 0041E700 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E704: +/* 0041E704 93A80027 */ lbu $t0, 0x27($sp) +/* 0041E708 24010001 */ li $at, 1 +/* 0041E70C 55010038 */ bnel $t0, $at, .L0041E7F0 +/* 0041E710 8FBF001C */ lw $ra, 0x1c($sp) +/* 0041E714 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041E718 24040031 */ li $a0, 49 +/* 0041E71C 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E720 0320F809 */ jalr $t9 +/* 0041E724 24060001 */ li $a2, 1 +/* 0041E728 8FBC0018 */ lw $gp, 0x18($sp) +/* 0041E72C 24040020 */ li $a0, 32 +/* 0041E730 24050005 */ li $a1, 5 +/* 0041E734 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E738 0320F809 */ jalr $t9 +/* 0041E73C 00000000 */ nop +/* 0041E740 1000002A */ b .L0041E7EC +/* 0041E744 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E748: +/* 0041E748 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E74C 02002025 */ move $a0, $s0 +/* 0041E750 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E754 0320F809 */ jalr $t9 +/* 0041E758 00000000 */ nop +/* 0041E75C 10000023 */ b .L0041E7EC +/* 0041E760 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E764: +/* 0041E764 2E010004 */ sltiu $at, $s0, 4 +/* 0041E768 1020000B */ beqz $at, .L0041E798 +/* 0041E76C 2609FFFF */ addiu $t1, $s0, -1 +/* 0041E770 2D210003 */ sltiu $at, $t1, 3 +/* 0041E774 1020FFF4 */ beqz $at, .L0041E748 +/* 0041E778 00000000 */ nop +/* 0041E77C 8F818038 */ lw $at, %got(jtbl_10009764)($gp) +/* 0041E780 00094880 */ sll $t1, $t1, 2 +/* 0041E784 00290821 */ addu $at, $at, $t1 +/* 0041E788 8C299764 */ lw $t1, %lo(jtbl_10009764)($at) +/* 0041E78C 013C4821 */ addu $t1, $t1, $gp +/* 0041E790 01200008 */ jr $t1 +/* 0041E794 00000000 */ nop +.L0041E798: +/* 0041E798 2E01003F */ sltiu $at, $s0, 0x3f +/* 0041E79C 1020FF5A */ beqz $at, .L0041E508 +/* 0041E7A0 00000000 */ nop +/* 0041E7A4 1000FFE8 */ b .L0041E748 +/* 0041E7A8 00000000 */ nop +.L0041E7AC: +/* 0041E7AC 2D410013 */ sltiu $at, $t2, 0x13 +/* 0041E7B0 1020FFE5 */ beqz $at, .L0041E748 +/* 0041E7B4 00000000 */ nop +/* 0041E7B8 8F818038 */ lw $at, %got(jtbl_10009770)($gp) +/* 0041E7BC 000A5080 */ sll $t2, $t2, 2 +/* 0041E7C0 002A0821 */ addu $at, $at, $t2 +/* 0041E7C4 8C2A9770 */ lw $t2, %lo(jtbl_10009770)($at) +/* 0041E7C8 015C5021 */ addu $t2, $t2, $gp +/* 0041E7CC 01400008 */ jr $t2 +/* 0041E7D0 00000000 */ nop +.L0041E7D4: +/* 0041E7D4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E7D8 02002025 */ move $a0, $s0 +/* 0041E7DC 93A5002F */ lbu $a1, 0x2f($sp) +/* 0041E7E0 0320F809 */ jalr $t9 +/* 0041E7E4 00000000 */ nop +/* 0041E7E8 8FBC0018 */ lw $gp, 0x18($sp) +.L0041E7EC: +/* 0041E7EC 8FBF001C */ lw $ra, 0x1c($sp) +.L0041E7F0: +/* 0041E7F0 8FB00014 */ lw $s0, 0x14($sp) +/* 0041E7F4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0041E7F8 03E00008 */ jr $ra +/* 0041E7FC 00000000 */ nop + .type dw_emit_rrr, @function + .size dw_emit_rrr, .-dw_emit_rrr + .end dw_emit_rrr + + .type func_0041E800, @function +func_0041E800: + # 0041FC98 dw_emit_rri +/* 0041E800 3C1C0FC0 */ .cpload $t9 +/* 0041E804 279C1250 */ +/* 0041E808 0399E021 */ +/* 0041E80C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041E810 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041E814 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041E818 91CE0000 */ lbu $t6, ($t6) +/* 0041E81C AFBC0020 */ sw $gp, 0x20($sp) +/* 0041E820 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041E824 AFA40030 */ sw $a0, 0x30($sp) +/* 0041E828 AFA50034 */ sw $a1, 0x34($sp) +/* 0041E82C AFA60038 */ sw $a2, 0x38($sp) +/* 0041E830 11C00008 */ beqz $t6, .L0041E854 +/* 0041E834 AFA7003C */ sw $a3, 0x3c($sp) +/* 0041E838 24AF0001 */ addiu $t7, $a1, 1 +/* 0041E83C 24D80001 */ addiu $t8, $a2, 1 +/* 0041E840 A3AF002B */ sb $t7, 0x2b($sp) +/* 0041E844 30B000FF */ andi $s0, $a1, 0xff +/* 0041E848 A3B80029 */ sb $t8, 0x29($sp) +/* 0041E84C 10000007 */ b .L0041E86C +/* 0041E850 A3A60028 */ sb $a2, 0x28($sp) +.L0041E854: +/* 0041E854 24B00001 */ addiu $s0, $a1, 1 +/* 0041E858 24D90001 */ addiu $t9, $a2, 1 +/* 0041E85C A3A5002B */ sb $a1, 0x2b($sp) +/* 0041E860 321000FF */ andi $s0, $s0, 0xff +/* 0041E864 A3A60029 */ sb $a2, 0x29($sp) +/* 0041E868 A3B90028 */ sb $t9, 0x28($sp) +.L0041E86C: +/* 0041E86C 8FA8003C */ lw $t0, 0x3c($sp) +/* 0041E870 8FA70040 */ lw $a3, 0x40($sp) +/* 0041E874 34018000 */ li $at, 32768 +/* 0041E878 15000028 */ bnez $t0, .L0041E91C +/* 0041E87C 00E1082A */ slt $at, $a3, $at +/* 0041E880 10200026 */ beqz $at, .L0041E91C +/* 0041E884 28E18000 */ slti $at, $a3, -0x8000 +/* 0041E888 14200024 */ bnez $at, .L0041E91C +/* 0041E88C 24040002 */ li $a0, 2 +/* 0041E890 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041E894 02002825 */ move $a1, $s0 +/* 0041E898 93A60028 */ lbu $a2, 0x28($sp) +/* 0041E89C 0320F809 */ jalr $t9 +/* 0041E8A0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041E8A4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E8A8 24040020 */ li $a0, 32 +/* 0041E8AC 24050006 */ li $a1, 6 +/* 0041E8B0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E8B4 0320F809 */ jalr $t9 +/* 0041E8B8 00000000 */ nop +/* 0041E8BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E8C0 24040051 */ li $a0, 81 +/* 0041E8C4 24050001 */ li $a1, 1 +/* 0041E8C8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041E8CC 02003025 */ move $a2, $s0 +/* 0041E8D0 8FA70040 */ lw $a3, 0x40($sp) +/* 0041E8D4 0320F809 */ jalr $t9 +/* 0041E8D8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041E8DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E8E0 97A40032 */ lhu $a0, 0x32($sp) +/* 0041E8E4 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041E8E8 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E8EC 93A60029 */ lbu $a2, 0x29($sp) +/* 0041E8F0 24070001 */ li $a3, 1 +/* 0041E8F4 0320F809 */ jalr $t9 +/* 0041E8F8 00000000 */ nop +/* 0041E8FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E900 24040020 */ li $a0, 32 +/* 0041E904 24050005 */ li $a1, 5 +/* 0041E908 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E90C 0320F809 */ jalr $t9 +/* 0041E910 00000000 */ nop +/* 0041E914 10000035 */ b .L0041E9EC +/* 0041E918 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E91C: +/* 0041E91C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E920 24040020 */ li $a0, 32 +/* 0041E924 24050006 */ li $a1, 6 +/* 0041E928 0320F809 */ jalr $t9 +/* 0041E92C 00000000 */ nop +/* 0041E930 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E934 24040029 */ li $a0, 41 +/* 0041E938 24050001 */ li $a1, 1 +/* 0041E93C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041E940 8FA60040 */ lw $a2, 0x40($sp) +/* 0041E944 00003825 */ move $a3, $zero +/* 0041E948 0320F809 */ jalr $t9 +/* 0041E94C 00000000 */ nop +/* 0041E950 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E954 24040002 */ li $a0, 2 +/* 0041E958 02002825 */ move $a1, $s0 +/* 0041E95C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E960 93A60028 */ lbu $a2, 0x28($sp) +/* 0041E964 24070001 */ li $a3, 1 +/* 0041E968 0320F809 */ jalr $t9 +/* 0041E96C 00000000 */ nop +/* 0041E970 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E974 24040051 */ li $a0, 81 +/* 0041E978 24050001 */ li $a1, 1 +/* 0041E97C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E980 02003025 */ move $a2, $s0 +/* 0041E984 24070001 */ li $a3, 1 +/* 0041E988 0320F809 */ jalr $t9 +/* 0041E98C 00000000 */ nop +/* 0041E990 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E994 97A40032 */ lhu $a0, 0x32($sp) +/* 0041E998 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041E99C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041E9A0 93A60029 */ lbu $a2, 0x29($sp) +/* 0041E9A4 24070001 */ li $a3, 1 +/* 0041E9A8 0320F809 */ jalr $t9 +/* 0041E9AC 00000000 */ nop +/* 0041E9B0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E9B4 24040020 */ li $a0, 32 +/* 0041E9B8 24050005 */ li $a1, 5 +/* 0041E9BC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041E9C0 0320F809 */ jalr $t9 +/* 0041E9C4 00000000 */ nop +/* 0041E9C8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041E9CC 97A40032 */ lhu $a0, 0x32($sp) +/* 0041E9D0 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041E9D4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041E9D8 8FA6003C */ lw $a2, 0x3c($sp) +/* 0041E9DC 00003825 */ move $a3, $zero +/* 0041E9E0 0320F809 */ jalr $t9 +/* 0041E9E4 00000000 */ nop +/* 0041E9E8 8FBC0020 */ lw $gp, 0x20($sp) +.L0041E9EC: +/* 0041E9EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041E9F0 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041E9F4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041E9F8 03E00008 */ jr $ra +/* 0041E9FC 00000000 */ nop + + .type func_0041EA00, @function +func_0041EA00: + # 0041FC98 dw_emit_rri +/* 0041EA00 3C1C0FC0 */ .cpload $t9 +/* 0041EA04 279C1050 */ +/* 0041EA08 0399E021 */ +/* 0041EA0C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041EA10 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0041EA14 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041EA18 91CE0000 */ lbu $t6, ($t6) +/* 0041EA1C AFBC0020 */ sw $gp, 0x20($sp) +/* 0041EA20 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041EA24 AFA40030 */ sw $a0, 0x30($sp) +/* 0041EA28 AFA50034 */ sw $a1, 0x34($sp) +/* 0041EA2C AFA60038 */ sw $a2, 0x38($sp) +/* 0041EA30 11C00008 */ beqz $t6, .L0041EA54 +/* 0041EA34 AFA7003C */ sw $a3, 0x3c($sp) +/* 0041EA38 24AF0001 */ addiu $t7, $a1, 1 +/* 0041EA3C 24D80001 */ addiu $t8, $a2, 1 +/* 0041EA40 A3AF002B */ sb $t7, 0x2b($sp) +/* 0041EA44 A3A5002A */ sb $a1, 0x2a($sp) +/* 0041EA48 A3B80029 */ sb $t8, 0x29($sp) +/* 0041EA4C 10000007 */ b .L0041EA6C +/* 0041EA50 30D000FF */ andi $s0, $a2, 0xff +.L0041EA54: +/* 0041EA54 24B90001 */ addiu $t9, $a1, 1 +/* 0041EA58 24D00001 */ addiu $s0, $a2, 1 +/* 0041EA5C A3A5002B */ sb $a1, 0x2b($sp) +/* 0041EA60 A3B9002A */ sb $t9, 0x2a($sp) +/* 0041EA64 A3A60029 */ sb $a2, 0x29($sp) +/* 0041EA68 321000FF */ andi $s0, $s0, 0xff +.L0041EA6C: +/* 0041EA6C 8FA8003C */ lw $t0, 0x3c($sp) +/* 0041EA70 8FA90040 */ lw $t1, 0x40($sp) +/* 0041EA74 34018000 */ li $at, 32768 +/* 0041EA78 1500002A */ bnez $t0, .L0041EB24 +/* 0041EA7C 0121082A */ slt $at, $t1, $at +/* 0041EA80 10200028 */ beqz $at, .L0041EB24 +/* 0041EA84 29218000 */ slti $at, $t1, -0x8000 +/* 0041EA88 14200026 */ bnez $at, .L0041EB24 +/* 0041EA8C 00000000 */ nop +/* 0041EA90 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041EA94 24040020 */ li $a0, 32 +/* 0041EA98 24050006 */ li $a1, 6 +/* 0041EA9C 0320F809 */ jalr $t9 +/* 0041EAA0 00000000 */ nop +/* 0041EAA4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EAA8 24040051 */ li $a0, 81 +/* 0041EAAC 24050001 */ li $a1, 1 +/* 0041EAB0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EAB4 02003025 */ move $a2, $s0 +/* 0041EAB8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041EABC 0320F809 */ jalr $t9 +/* 0041EAC0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EAC4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EAC8 24040056 */ li $a0, 86 +/* 0041EACC 93A5002A */ lbu $a1, 0x2a($sp) +/* 0041EAD0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EAD4 02003025 */ move $a2, $s0 +/* 0041EAD8 8FA70040 */ lw $a3, 0x40($sp) +/* 0041EADC 0320F809 */ jalr $t9 +/* 0041EAE0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EAE4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EAE8 97A40032 */ lhu $a0, 0x32($sp) +/* 0041EAEC 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041EAF0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041EAF4 93A60029 */ lbu $a2, 0x29($sp) +/* 0041EAF8 24070001 */ li $a3, 1 +/* 0041EAFC 0320F809 */ jalr $t9 +/* 0041EB00 00000000 */ nop +/* 0041EB04 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EB08 24040020 */ li $a0, 32 +/* 0041EB0C 24050005 */ li $a1, 5 +/* 0041EB10 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041EB14 0320F809 */ jalr $t9 +/* 0041EB18 00000000 */ nop +/* 0041EB1C 10000035 */ b .L0041EBF4 +/* 0041EB20 8FBC0020 */ lw $gp, 0x20($sp) +.L0041EB24: +/* 0041EB24 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041EB28 24040020 */ li $a0, 32 +/* 0041EB2C 24050006 */ li $a1, 6 +/* 0041EB30 0320F809 */ jalr $t9 +/* 0041EB34 00000000 */ nop +/* 0041EB38 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EB3C 24040029 */ li $a0, 41 +/* 0041EB40 24050001 */ li $a1, 1 +/* 0041EB44 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EB48 8FA60040 */ lw $a2, 0x40($sp) +/* 0041EB4C 00003825 */ move $a3, $zero +/* 0041EB50 0320F809 */ jalr $t9 +/* 0041EB54 00000000 */ nop +/* 0041EB58 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EB5C 24040051 */ li $a0, 81 +/* 0041EB60 24050001 */ li $a1, 1 +/* 0041EB64 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041EB68 02003025 */ move $a2, $s0 +/* 0041EB6C 24070001 */ li $a3, 1 +/* 0041EB70 0320F809 */ jalr $t9 +/* 0041EB74 00000000 */ nop +/* 0041EB78 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EB7C 97A40032 */ lhu $a0, 0x32($sp) +/* 0041EB80 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041EB84 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041EB88 93A60029 */ lbu $a2, 0x29($sp) +/* 0041EB8C 24070001 */ li $a3, 1 +/* 0041EB90 0320F809 */ jalr $t9 +/* 0041EB94 00000000 */ nop +/* 0041EB98 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EB9C 24040020 */ li $a0, 32 +/* 0041EBA0 24050005 */ li $a1, 5 +/* 0041EBA4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041EBA8 0320F809 */ jalr $t9 +/* 0041EBAC 00000000 */ nop +/* 0041EBB0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EBB4 24040056 */ li $a0, 86 +/* 0041EBB8 93A5002A */ lbu $a1, 0x2a($sp) +/* 0041EBBC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EBC0 02003025 */ move $a2, $s0 +/* 0041EBC4 8FA70040 */ lw $a3, 0x40($sp) +/* 0041EBC8 0320F809 */ jalr $t9 +/* 0041EBCC AFA00010 */ sw $zero, 0x10($sp) +/* 0041EBD0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041EBD4 97A40032 */ lhu $a0, 0x32($sp) +/* 0041EBD8 93A5002B */ lbu $a1, 0x2b($sp) +/* 0041EBDC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EBE0 8FA6003C */ lw $a2, 0x3c($sp) +/* 0041EBE4 00003825 */ move $a3, $zero +/* 0041EBE8 0320F809 */ jalr $t9 +/* 0041EBEC 00000000 */ nop +/* 0041EBF0 8FBC0020 */ lw $gp, 0x20($sp) +.L0041EBF4: +/* 0041EBF4 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041EBF8 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041EBFC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0041EC00 03E00008 */ jr $ra +/* 0041EC04 00000000 */ nop + + .type func_0041EC08, @function +func_0041EC08: + # 0041FC98 dw_emit_rri +/* 0041EC08 3C1C0FC0 */ .cpload $t9 +/* 0041EC0C 279C0E48 */ +/* 0041EC10 0399E021 */ +/* 0041EC14 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0041EC18 AFB20024 */ sw $s2, 0x24($sp) +/* 0041EC1C AFB4002C */ sw $s4, 0x2c($sp) +/* 0041EC20 AFB30028 */ sw $s3, 0x28($sp) +/* 0041EC24 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041EC28 30F2003F */ andi $s2, $a3, 0x3f +/* 0041EC2C 24010040 */ li $at, 64 +/* 0041EC30 30B000FF */ andi $s0, $a1, 0xff +/* 0041EC34 3093FFFF */ andi $s3, $a0, 0xffff +/* 0041EC38 30D400FF */ andi $s4, $a2, 0xff +/* 0041EC3C AFBF0034 */ sw $ra, 0x34($sp) +/* 0041EC40 AFBC0030 */ sw $gp, 0x30($sp) +/* 0041EC44 AFB10020 */ sw $s1, 0x20($sp) +/* 0041EC48 AFA40048 */ sw $a0, 0x48($sp) +/* 0041EC4C AFA5004C */ sw $a1, 0x4c($sp) +/* 0041EC50 16410011 */ bne $s2, $at, .L0041EC98 +/* 0041EC54 AFA60050 */ sw $a2, 0x50($sp) +/* 0041EC58 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EC5C 24040029 */ li $a0, 41 +/* 0041EC60 02002825 */ move $a1, $s0 +/* 0041EC64 00003025 */ move $a2, $zero +/* 0041EC68 0320F809 */ jalr $t9 +/* 0041EC6C 00003825 */ move $a3, $zero +/* 0041EC70 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041EC74 24040029 */ li $a0, 41 +/* 0041EC78 26050001 */ addiu $a1, $s0, 1 +/* 0041EC7C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EC80 00003025 */ move $a2, $zero +/* 0041EC84 00003825 */ move $a3, $zero +/* 0041EC88 0320F809 */ jalr $t9 +/* 0041EC8C 00000000 */ nop +/* 0041EC90 10000071 */ b .L0041EE58 +/* 0041EC94 8FBC0030 */ lw $gp, 0x30($sp) +.L0041EC98: +/* 0041EC98 2A410020 */ slti $at, $s2, 0x20 +/* 0041EC9C 14200025 */ bnez $at, .L0041ED34 +/* 0041ECA0 00000000 */ nop +/* 0041ECA4 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041ECA8 02002825 */ move $a1, $s0 +/* 0041ECAC 24040029 */ li $a0, 41 +/* 0041ECB0 91CE0000 */ lbu $t6, ($t6) +/* 0041ECB4 11C00010 */ beqz $t6, .L0041ECF8 +/* 0041ECB8 00000000 */ nop +/* 0041ECBC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041ECC0 24040029 */ li $a0, 41 +/* 0041ECC4 00003025 */ move $a2, $zero +/* 0041ECC8 0320F809 */ jalr $t9 +/* 0041ECCC 00003825 */ move $a3, $zero +/* 0041ECD0 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041ECD4 02602025 */ move $a0, $s3 +/* 0041ECD8 26050001 */ addiu $a1, $s0, 1 +/* 0041ECDC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041ECE0 02803025 */ move $a2, $s4 +/* 0041ECE4 2647FFE0 */ addiu $a3, $s2, -0x20 +/* 0041ECE8 0320F809 */ jalr $t9 +/* 0041ECEC AFA00010 */ sw $zero, 0x10($sp) +/* 0041ECF0 10000059 */ b .L0041EE58 +/* 0041ECF4 8FBC0030 */ lw $gp, 0x30($sp) +.L0041ECF8: +/* 0041ECF8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041ECFC 26050001 */ addiu $a1, $s0, 1 +/* 0041ED00 00003025 */ move $a2, $zero +/* 0041ED04 0320F809 */ jalr $t9 +/* 0041ED08 00003825 */ move $a3, $zero +/* 0041ED0C 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041ED10 02602025 */ move $a0, $s3 +/* 0041ED14 02002825 */ move $a1, $s0 +/* 0041ED18 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041ED1C 26860001 */ addiu $a2, $s4, 1 +/* 0041ED20 2647FFE0 */ addiu $a3, $s2, -0x20 +/* 0041ED24 0320F809 */ jalr $t9 +/* 0041ED28 AFA00010 */ sw $zero, 0x10($sp) +/* 0041ED2C 1000004A */ b .L0041EE58 +/* 0041ED30 8FBC0030 */ lw $gp, 0x30($sp) +.L0041ED34: +/* 0041ED34 8F8F898C */ lw $t7, %got(lsb_first)($gp) +/* 0041ED38 26110001 */ addiu $s1, $s0, 1 +/* 0041ED3C 26860001 */ addiu $a2, $s4, 1 +/* 0041ED40 91EF0000 */ lbu $t7, ($t7) +/* 0041ED44 02403825 */ move $a3, $s2 +/* 0041ED48 02602025 */ move $a0, $s3 +/* 0041ED4C 11E00021 */ beqz $t7, .L0041EDD4 +/* 0041ED50 02002825 */ move $a1, $s0 +/* 0041ED54 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041ED58 02602025 */ move $a0, $s3 +/* 0041ED5C 02202825 */ move $a1, $s1 +/* 0041ED60 0320F809 */ jalr $t9 +/* 0041ED64 AFA00010 */ sw $zero, 0x10($sp) +/* 0041ED68 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041ED6C 24180020 */ li $t8, 32 +/* 0041ED70 03123823 */ subu $a3, $t8, $s2 +/* 0041ED74 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041ED78 02602025 */ move $a0, $s3 +/* 0041ED7C 02002825 */ move $a1, $s0 +/* 0041ED80 02803025 */ move $a2, $s4 +/* 0041ED84 0320F809 */ jalr $t9 +/* 0041ED88 AFA00010 */ sw $zero, 0x10($sp) +/* 0041ED8C 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041ED90 24040040 */ li $a0, 64 +/* 0041ED94 02202825 */ move $a1, $s1 +/* 0041ED98 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041ED9C 02203025 */ move $a2, $s1 +/* 0041EDA0 02003825 */ move $a3, $s0 +/* 0041EDA4 0320F809 */ jalr $t9 +/* 0041EDA8 00000000 */ nop +/* 0041EDAC 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041EDB0 02602025 */ move $a0, $s3 +/* 0041EDB4 02002825 */ move $a1, $s0 +/* 0041EDB8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EDBC 02803025 */ move $a2, $s4 +/* 0041EDC0 02403825 */ move $a3, $s2 +/* 0041EDC4 0320F809 */ jalr $t9 +/* 0041EDC8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EDCC 10000022 */ b .L0041EE58 +/* 0041EDD0 8FBC0030 */ lw $gp, 0x30($sp) +.L0041EDD4: +/* 0041EDD4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EDD8 02803025 */ move $a2, $s4 +/* 0041EDDC 02403825 */ move $a3, $s2 +/* 0041EDE0 0320F809 */ jalr $t9 +/* 0041EDE4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EDE8 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041EDEC 24190020 */ li $t9, 32 +/* 0041EDF0 03323823 */ subu $a3, $t9, $s2 +/* 0041EDF4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EDF8 26110001 */ addiu $s1, $s0, 1 +/* 0041EDFC 26860001 */ addiu $a2, $s4, 1 +/* 0041EE00 AFA6003C */ sw $a2, 0x3c($sp) +/* 0041EE04 02202825 */ move $a1, $s1 +/* 0041EE08 02602025 */ move $a0, $s3 +/* 0041EE0C 0320F809 */ jalr $t9 +/* 0041EE10 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EE14 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041EE18 24040040 */ li $a0, 64 +/* 0041EE1C 02002825 */ move $a1, $s0 +/* 0041EE20 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041EE24 02003025 */ move $a2, $s0 +/* 0041EE28 02203825 */ move $a3, $s1 +/* 0041EE2C 0320F809 */ jalr $t9 +/* 0041EE30 00000000 */ nop +/* 0041EE34 8FBC0030 */ lw $gp, 0x30($sp) +/* 0041EE38 02602025 */ move $a0, $s3 +/* 0041EE3C 02202825 */ move $a1, $s1 +/* 0041EE40 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EE44 8FA6003C */ lw $a2, 0x3c($sp) +/* 0041EE48 02403825 */ move $a3, $s2 +/* 0041EE4C 0320F809 */ jalr $t9 +/* 0041EE50 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EE54 8FBC0030 */ lw $gp, 0x30($sp) +.L0041EE58: +/* 0041EE58 8FBF0034 */ lw $ra, 0x34($sp) +/* 0041EE5C 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041EE60 8FB10020 */ lw $s1, 0x20($sp) +/* 0041EE64 8FB20024 */ lw $s2, 0x24($sp) +/* 0041EE68 8FB30028 */ lw $s3, 0x28($sp) +/* 0041EE6C 8FB4002C */ lw $s4, 0x2c($sp) +/* 0041EE70 03E00008 */ jr $ra +/* 0041EE74 27BD0048 */ addiu $sp, $sp, 0x48 + + .type func_0041EE78, @function +func_0041EE78: + # 0041FC98 dw_emit_rri +/* 0041EE78 3C1C0FC0 */ .cpload $t9 +/* 0041EE7C 279C0BD8 */ +/* 0041EE80 0399E021 */ +/* 0041EE84 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041EE88 AFB20024 */ sw $s2, 0x24($sp) +/* 0041EE8C AFB10020 */ sw $s1, 0x20($sp) +/* 0041EE90 30F2003F */ andi $s2, $a3, 0x3f +/* 0041EE94 24010040 */ li $at, 64 +/* 0041EE98 30B100FF */ andi $s1, $a1, 0xff +/* 0041EE9C AFBF002C */ sw $ra, 0x2c($sp) +/* 0041EEA0 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041EEA4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041EEA8 AFA40040 */ sw $a0, 0x40($sp) +/* 0041EEAC AFA50044 */ sw $a1, 0x44($sp) +/* 0041EEB0 16410011 */ bne $s2, $at, .L0041EEF8 +/* 0041EEB4 AFA60048 */ sw $a2, 0x48($sp) +/* 0041EEB8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EEBC 24040029 */ li $a0, 41 +/* 0041EEC0 02202825 */ move $a1, $s1 +/* 0041EEC4 00003025 */ move $a2, $zero +/* 0041EEC8 0320F809 */ jalr $t9 +/* 0041EECC 00003825 */ move $a3, $zero +/* 0041EED0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EED4 24040029 */ li $a0, 41 +/* 0041EED8 26250001 */ addiu $a1, $s1, 1 +/* 0041EEDC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EEE0 00003025 */ move $a2, $zero +/* 0041EEE4 00003825 */ move $a3, $zero +/* 0041EEE8 0320F809 */ jalr $t9 +/* 0041EEEC 00000000 */ nop +/* 0041EEF0 100000A2 */ b .L0041F17C +/* 0041EEF4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041EEF8: +/* 0041EEF8 2A410020 */ slti $at, $s2, 0x20 +/* 0041EEFC 14200054 */ bnez $at, .L0041F050 +/* 0041EF00 00000000 */ nop +/* 0041EF04 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041EF08 0320F809 */ jalr $t9 +/* 0041EF0C 00000000 */ nop +/* 0041EF10 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EF14 26300001 */ addiu $s0, $s1, 1 +/* 0041EF18 AFA20038 */ sw $v0, 0x38($sp) +/* 0041EF1C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041EF20 02002825 */ move $a1, $s0 +/* 0041EF24 24040029 */ li $a0, 41 +/* 0041EF28 91CE0000 */ lbu $t6, ($t6) +/* 0041EF2C 11C00025 */ beqz $t6, .L0041EFC4 +/* 0041EF30 00000000 */ nop +/* 0041EF34 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EF38 24040029 */ li $a0, 41 +/* 0041EF3C 00003025 */ move $a2, $zero +/* 0041EF40 0320F809 */ jalr $t9 +/* 0041EF44 00003825 */ move $a3, $zero +/* 0041EF48 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EF4C 93A5004B */ lbu $a1, 0x4b($sp) +/* 0041EF50 24040010 */ li $a0, 16 +/* 0041EF54 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041EF58 24A50001 */ addiu $a1, $a1, 1 +/* 0041EF5C AFA50030 */ sw $a1, 0x30($sp) +/* 0041EF60 0320F809 */ jalr $t9 +/* 0041EF64 8FA60038 */ lw $a2, 0x38($sp) +/* 0041EF68 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EF6C 24040029 */ li $a0, 41 +/* 0041EF70 02002825 */ move $a1, $s0 +/* 0041EF74 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EF78 2406FFFF */ li $a2, -1 +/* 0041EF7C 00003825 */ move $a3, $zero +/* 0041EF80 0320F809 */ jalr $t9 +/* 0041EF84 00000000 */ nop +/* 0041EF88 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EF8C 8FA40038 */ lw $a0, 0x38($sp) +/* 0041EF90 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041EF94 0320F809 */ jalr $t9 +/* 0041EF98 00000000 */ nop +/* 0041EF9C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EFA0 97A40042 */ lhu $a0, 0x42($sp) +/* 0041EFA4 02202825 */ move $a1, $s1 +/* 0041EFA8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041EFAC 8FA60030 */ lw $a2, 0x30($sp) +/* 0041EFB0 2647FFE0 */ addiu $a3, $s2, -0x20 +/* 0041EFB4 0320F809 */ jalr $t9 +/* 0041EFB8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041EFBC 1000006F */ b .L0041F17C +/* 0041EFC0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041EFC4: +/* 0041EFC4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041EFC8 02202825 */ move $a1, $s1 +/* 0041EFCC 00003025 */ move $a2, $zero +/* 0041EFD0 0320F809 */ jalr $t9 +/* 0041EFD4 00003825 */ move $a3, $zero +/* 0041EFD8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EFDC 24040010 */ li $a0, 16 +/* 0041EFE0 93A5004B */ lbu $a1, 0x4b($sp) +/* 0041EFE4 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041EFE8 8FA60038 */ lw $a2, 0x38($sp) +/* 0041EFEC 0320F809 */ jalr $t9 +/* 0041EFF0 00000000 */ nop +/* 0041EFF4 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041EFF8 24040029 */ li $a0, 41 +/* 0041EFFC 02202825 */ move $a1, $s1 +/* 0041F000 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041F004 2406FFFF */ li $a2, -1 +/* 0041F008 00003825 */ move $a3, $zero +/* 0041F00C 0320F809 */ jalr $t9 +/* 0041F010 00000000 */ nop +/* 0041F014 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F018 8FA40038 */ lw $a0, 0x38($sp) +/* 0041F01C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041F020 0320F809 */ jalr $t9 +/* 0041F024 00000000 */ nop +/* 0041F028 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F02C 97A40042 */ lhu $a0, 0x42($sp) +/* 0041F030 26250001 */ addiu $a1, $s1, 1 +/* 0041F034 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F038 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F03C 2647FFE0 */ addiu $a3, $s2, -0x20 +/* 0041F040 0320F809 */ jalr $t9 +/* 0041F044 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F048 1000004C */ b .L0041F17C +/* 0041F04C 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F050: +/* 0041F050 8F8F898C */ lw $t7, %got(lsb_first)($gp) +/* 0041F054 26300001 */ addiu $s0, $s1, 1 +/* 0041F058 02403825 */ move $a3, $s2 +/* 0041F05C 91EF0000 */ lbu $t7, ($t7) +/* 0041F060 02002825 */ move $a1, $s0 +/* 0041F064 24040054 */ li $a0, 84 +/* 0041F068 11E00025 */ beqz $t7, .L0041F100 +/* 0041F06C 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F070 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F074 24040054 */ li $a0, 84 +/* 0041F078 02202825 */ move $a1, $s1 +/* 0041F07C 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F080 0320F809 */ jalr $t9 +/* 0041F084 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F088 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F08C 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F090 26300001 */ addiu $s0, $s1, 1 +/* 0041F094 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F098 24180020 */ li $t8, 32 +/* 0041F09C 24C60001 */ addiu $a2, $a2, 1 +/* 0041F0A0 AFA60030 */ sw $a2, 0x30($sp) +/* 0041F0A4 03123823 */ subu $a3, $t8, $s2 +/* 0041F0A8 02002825 */ move $a1, $s0 +/* 0041F0AC 2404004F */ li $a0, 79 +/* 0041F0B0 0320F809 */ jalr $t9 +/* 0041F0B4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F0B8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F0BC 24040040 */ li $a0, 64 +/* 0041F0C0 02202825 */ move $a1, $s1 +/* 0041F0C4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F0C8 02203025 */ move $a2, $s1 +/* 0041F0CC 02003825 */ move $a3, $s0 +/* 0041F0D0 0320F809 */ jalr $t9 +/* 0041F0D4 00000000 */ nop +/* 0041F0D8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F0DC 97A40042 */ lhu $a0, 0x42($sp) +/* 0041F0E0 02002825 */ move $a1, $s0 +/* 0041F0E4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F0E8 8FA60030 */ lw $a2, 0x30($sp) +/* 0041F0EC 02403825 */ move $a3, $s2 +/* 0041F0F0 0320F809 */ jalr $t9 +/* 0041F0F4 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F0F8 10000020 */ b .L0041F17C +/* 0041F0FC 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F100: +/* 0041F100 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F104 24C60001 */ addiu $a2, $a2, 1 +/* 0041F108 02403825 */ move $a3, $s2 +/* 0041F10C 0320F809 */ jalr $t9 +/* 0041F110 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F114 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F118 24190020 */ li $t9, 32 +/* 0041F11C 03323823 */ subu $a3, $t9, $s2 +/* 0041F120 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F124 2404004F */ li $a0, 79 +/* 0041F128 02202825 */ move $a1, $s1 +/* 0041F12C 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F130 0320F809 */ jalr $t9 +/* 0041F134 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F138 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F13C 24040040 */ li $a0, 64 +/* 0041F140 02002825 */ move $a1, $s0 +/* 0041F144 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F148 02003025 */ move $a2, $s0 +/* 0041F14C 02203825 */ move $a3, $s1 +/* 0041F150 0320F809 */ jalr $t9 +/* 0041F154 00000000 */ nop +/* 0041F158 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F15C 97A40042 */ lhu $a0, 0x42($sp) +/* 0041F160 02202825 */ move $a1, $s1 +/* 0041F164 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F168 93A6004B */ lbu $a2, 0x4b($sp) +/* 0041F16C 02403825 */ move $a3, $s2 +/* 0041F170 0320F809 */ jalr $t9 +/* 0041F174 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F178 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F17C: +/* 0041F17C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041F180 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F184 8FB10020 */ lw $s1, 0x20($sp) +/* 0041F188 8FB20024 */ lw $s2, 0x24($sp) +/* 0041F18C 03E00008 */ jr $ra +/* 0041F190 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041F194, @function +func_0041F194: + # 0041FC98 dw_emit_rri +/* 0041F194 3C1C0FC0 */ .cpload $t9 +/* 0041F198 279C08BC */ +/* 0041F19C 0399E021 */ +/* 0041F1A0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0041F1A4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041F1A8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F1AC 30B000FF */ andi $s0, $a1, 0xff +/* 0041F1B0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0041F1B4 AFA40028 */ sw $a0, 0x28($sp) +/* 0041F1B8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0041F1BC AFA60030 */ sw $a2, 0x30($sp) +/* 0041F1C0 AFA70034 */ sw $a3, 0x34($sp) +/* 0041F1C4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0041F1C8 00003825 */ move $a3, $zero +/* 0041F1CC 8FA60038 */ lw $a2, 0x38($sp) +/* 0041F1D0 02002825 */ move $a1, $s0 +/* 0041F1D4 0320F809 */ jalr $t9 +/* 0041F1D8 24040029 */ li $a0, 41 +/* 0041F1DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F1E0 02003025 */ move $a2, $s0 +/* 0041F1E4 24040059 */ li $a0, 89 +/* 0041F1E8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F1EC 02002825 */ move $a1, $s0 +/* 0041F1F0 91CE0000 */ lbu $t6, ($t6) +/* 0041F1F4 11C00008 */ beqz $t6, .L0041F218 +/* 0041F1F8 00000000 */ nop +/* 0041F1FC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F200 24040059 */ li $a0, 89 +/* 0041F204 02002825 */ move $a1, $s0 +/* 0041F208 0320F809 */ jalr $t9 +/* 0041F20C 93A70033 */ lbu $a3, 0x33($sp) +/* 0041F210 10000007 */ b .L0041F230 +/* 0041F214 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F218: +/* 0041F218 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F21C 93A70033 */ lbu $a3, 0x33($sp) +/* 0041F220 02003025 */ move $a2, $s0 +/* 0041F224 0320F809 */ jalr $t9 +/* 0041F228 24E70001 */ addiu $a3, $a3, 1 +/* 0041F22C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F230: +/* 0041F230 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041F234 24040020 */ li $a0, 32 +/* 0041F238 24050006 */ li $a1, 6 +/* 0041F23C 0320F809 */ jalr $t9 +/* 0041F240 00000000 */ nop +/* 0041F244 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F248 24040029 */ li $a0, 41 +/* 0041F24C 24050001 */ li $a1, 1 +/* 0041F250 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0041F254 8FA60034 */ lw $a2, 0x34($sp) +/* 0041F258 00003825 */ move $a3, $zero +/* 0041F25C 0320F809 */ jalr $t9 +/* 0041F260 00000000 */ nop +/* 0041F264 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F268 24050001 */ li $a1, 1 +/* 0041F26C 24060001 */ li $a2, 1 +/* 0041F270 8F8F898C */ lw $t7, %got(lsb_first)($gp) +/* 0041F274 24040059 */ li $a0, 89 +/* 0041F278 91EF0000 */ lbu $t7, ($t7) +/* 0041F27C 11E00008 */ beqz $t7, .L0041F2A0 +/* 0041F280 00000000 */ nop +/* 0041F284 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F288 93A70033 */ lbu $a3, 0x33($sp) +/* 0041F28C 24040059 */ li $a0, 89 +/* 0041F290 0320F809 */ jalr $t9 +/* 0041F294 24E70001 */ addiu $a3, $a3, 1 +/* 0041F298 10000007 */ b .L0041F2B8 +/* 0041F29C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F2A0: +/* 0041F2A0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F2A4 24050001 */ li $a1, 1 +/* 0041F2A8 24060001 */ li $a2, 1 +/* 0041F2AC 0320F809 */ jalr $t9 +/* 0041F2B0 93A70033 */ lbu $a3, 0x33($sp) +/* 0041F2B4 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F2B8: +/* 0041F2B8 97B8002A */ lhu $t8, 0x2a($sp) +/* 0041F2BC 24010047 */ li $at, 71 +/* 0041F2C0 02002825 */ move $a1, $s0 +/* 0041F2C4 17010010 */ bne $t8, $at, .L0041F308 +/* 0041F2C8 24040040 */ li $a0, 64 +/* 0041F2CC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F2D0 24040040 */ li $a0, 64 +/* 0041F2D4 02003025 */ move $a2, $s0 +/* 0041F2D8 0320F809 */ jalr $t9 +/* 0041F2DC 24070001 */ li $a3, 1 +/* 0041F2E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F2E4 240400D6 */ li $a0, 214 +/* 0041F2E8 02002825 */ move $a1, $s0 +/* 0041F2EC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F2F0 02003025 */ move $a2, $s0 +/* 0041F2F4 24070001 */ li $a3, 1 +/* 0041F2F8 0320F809 */ jalr $t9 +/* 0041F2FC AFA00010 */ sw $zero, 0x10($sp) +/* 0041F300 1000000F */ b .L0041F340 +/* 0041F304 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F308: +/* 0041F308 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F30C 02002825 */ move $a1, $s0 +/* 0041F310 02003025 */ move $a2, $s0 +/* 0041F314 0320F809 */ jalr $t9 +/* 0041F318 24070001 */ li $a3, 1 +/* 0041F31C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F320 24040051 */ li $a0, 81 +/* 0041F324 02002825 */ move $a1, $s0 +/* 0041F328 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0041F32C 00003025 */ move $a2, $zero +/* 0041F330 02003825 */ move $a3, $s0 +/* 0041F334 0320F809 */ jalr $t9 +/* 0041F338 00000000 */ nop +/* 0041F33C 8FBC0020 */ lw $gp, 0x20($sp) +.L0041F340: +/* 0041F340 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0041F344 24040020 */ li $a0, 32 +/* 0041F348 24050005 */ li $a1, 5 +/* 0041F34C 0320F809 */ jalr $t9 +/* 0041F350 00000000 */ nop +/* 0041F354 8FBF0024 */ lw $ra, 0x24($sp) +/* 0041F358 8FBC0020 */ lw $gp, 0x20($sp) +/* 0041F35C 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F360 03E00008 */ jr $ra +/* 0041F364 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_0041F368, @function +func_0041F368: + # 0041FC98 dw_emit_rri +/* 0041F368 3C1C0FC0 */ .cpload $t9 +/* 0041F36C 279C06E8 */ +/* 0041F370 0399E021 */ +/* 0041F374 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041F378 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041F37C AFBF002C */ sw $ra, 0x2c($sp) +/* 0041F380 AFB20024 */ sw $s2, 0x24($sp) +/* 0041F384 AFB10020 */ sw $s1, 0x20($sp) +/* 0041F388 30B100FF */ andi $s1, $a1, 0xff +/* 0041F38C 30D200FF */ andi $s2, $a2, 0xff +/* 0041F390 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041F394 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F398 AFA40040 */ sw $a0, 0x40($sp) +/* 0041F39C AFA50044 */ sw $a1, 0x44($sp) +/* 0041F3A0 AFA60048 */ sw $a2, 0x48($sp) +/* 0041F3A4 0320F809 */ jalr $t9 +/* 0041F3A8 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041F3AC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F3B0 00408025 */ move $s0, $v0 +/* 0041F3B4 26460001 */ addiu $a2, $s2, 1 +/* 0041F3B8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F3BC 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F3C0 2404004B */ li $a0, 75 +/* 0041F3C4 91CE0000 */ lbu $t6, ($t6) +/* 0041F3C8 02202825 */ move $a1, $s1 +/* 0041F3CC 11C00020 */ beqz $t6, .L0041F450 +/* 0041F3D0 00000000 */ nop +/* 0041F3D4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F3D8 2404004B */ li $a0, 75 +/* 0041F3DC 02202825 */ move $a1, $s1 +/* 0041F3E0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F3E4 0320F809 */ jalr $t9 +/* 0041F3E8 AFA60034 */ sw $a2, 0x34($sp) +/* 0041F3EC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F3F0 24040013 */ li $a0, 19 +/* 0041F3F4 02202825 */ move $a1, $s1 +/* 0041F3F8 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F3FC 02003025 */ move $a2, $s0 +/* 0041F400 0320F809 */ jalr $t9 +/* 0041F404 00000000 */ nop +/* 0041F408 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F40C 24040018 */ li $a0, 24 +/* 0041F410 8FA50034 */ lw $a1, 0x34($sp) +/* 0041F414 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F418 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F41C 02003825 */ move $a3, $s0 +/* 0041F420 0320F809 */ jalr $t9 +/* 0041F424 00000000 */ nop +/* 0041F428 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F42C 97A40042 */ lhu $a0, 0x42($sp) +/* 0041F430 02202825 */ move $a1, $s1 +/* 0041F434 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F438 02403025 */ move $a2, $s2 +/* 0041F43C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F440 0320F809 */ jalr $t9 +/* 0041F444 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F448 1000001E */ b .L0041F4C4 +/* 0041F44C 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F450: +/* 0041F450 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F454 02403025 */ move $a2, $s2 +/* 0041F458 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F45C 0320F809 */ jalr $t9 +/* 0041F460 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F464 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F468 24040013 */ li $a0, 19 +/* 0041F46C 02202825 */ move $a1, $s1 +/* 0041F470 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F474 02003025 */ move $a2, $s0 +/* 0041F478 0320F809 */ jalr $t9 +/* 0041F47C 00000000 */ nop +/* 0041F480 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F484 24040018 */ li $a0, 24 +/* 0041F488 02402825 */ move $a1, $s2 +/* 0041F48C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F490 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F494 02003825 */ move $a3, $s0 +/* 0041F498 0320F809 */ jalr $t9 +/* 0041F49C 00000000 */ nop +/* 0041F4A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F4A4 97A40042 */ lhu $a0, 0x42($sp) +/* 0041F4A8 02202825 */ move $a1, $s1 +/* 0041F4AC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F4B0 26460001 */ addiu $a2, $s2, 1 +/* 0041F4B4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F4B8 0320F809 */ jalr $t9 +/* 0041F4BC AFA00010 */ sw $zero, 0x10($sp) +/* 0041F4C0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F4C4: +/* 0041F4C4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041F4C8 02002025 */ move $a0, $s0 +/* 0041F4CC 0320F809 */ jalr $t9 +/* 0041F4D0 00000000 */ nop +/* 0041F4D4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041F4D8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F4DC 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F4E0 8FB10020 */ lw $s1, 0x20($sp) +/* 0041F4E4 8FB20024 */ lw $s2, 0x24($sp) +/* 0041F4E8 03E00008 */ jr $ra +/* 0041F4EC 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041F4F0, @function +func_0041F4F0: + # 0041FC98 dw_emit_rri +/* 0041F4F0 3C1C0FC0 */ .cpload $t9 +/* 0041F4F4 279C0560 */ +/* 0041F4F8 0399E021 */ +/* 0041F4FC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041F500 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041F504 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041F508 AFB20024 */ sw $s2, 0x24($sp) +/* 0041F50C AFB10020 */ sw $s1, 0x20($sp) +/* 0041F510 30B100FF */ andi $s1, $a1, 0xff +/* 0041F514 30D200FF */ andi $s2, $a2, 0xff +/* 0041F518 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041F51C AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F520 AFA40040 */ sw $a0, 0x40($sp) +/* 0041F524 AFA50044 */ sw $a1, 0x44($sp) +/* 0041F528 AFA60048 */ sw $a2, 0x48($sp) +/* 0041F52C 0320F809 */ jalr $t9 +/* 0041F530 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041F534 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F538 00408025 */ move $s0, $v0 +/* 0041F53C 26460001 */ addiu $a2, $s2, 1 +/* 0041F540 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F544 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F548 2404004A */ li $a0, 74 +/* 0041F54C 91CE0000 */ lbu $t6, ($t6) +/* 0041F550 02202825 */ move $a1, $s1 +/* 0041F554 11C00020 */ beqz $t6, .L0041F5D8 +/* 0041F558 00000000 */ nop +/* 0041F55C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F560 2404004A */ li $a0, 74 +/* 0041F564 02202825 */ move $a1, $s1 +/* 0041F568 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F56C 0320F809 */ jalr $t9 +/* 0041F570 AFA60034 */ sw $a2, 0x34($sp) +/* 0041F574 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F578 24040013 */ li $a0, 19 +/* 0041F57C 02202825 */ move $a1, $s1 +/* 0041F580 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F584 02003025 */ move $a2, $s0 +/* 0041F588 0320F809 */ jalr $t9 +/* 0041F58C 00000000 */ nop +/* 0041F590 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F594 24040017 */ li $a0, 23 +/* 0041F598 8FA50034 */ lw $a1, 0x34($sp) +/* 0041F59C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F5A0 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F5A4 02003825 */ move $a3, $s0 +/* 0041F5A8 0320F809 */ jalr $t9 +/* 0041F5AC 00000000 */ nop +/* 0041F5B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F5B4 24040049 */ li $a0, 73 +/* 0041F5B8 02202825 */ move $a1, $s1 +/* 0041F5BC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F5C0 02403025 */ move $a2, $s2 +/* 0041F5C4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F5C8 0320F809 */ jalr $t9 +/* 0041F5CC AFA00010 */ sw $zero, 0x10($sp) +/* 0041F5D0 1000001E */ b .L0041F64C +/* 0041F5D4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F5D8: +/* 0041F5D8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F5DC 02403025 */ move $a2, $s2 +/* 0041F5E0 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F5E4 0320F809 */ jalr $t9 +/* 0041F5E8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F5EC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F5F0 24040013 */ li $a0, 19 +/* 0041F5F4 02202825 */ move $a1, $s1 +/* 0041F5F8 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F5FC 02003025 */ move $a2, $s0 +/* 0041F600 0320F809 */ jalr $t9 +/* 0041F604 00000000 */ nop +/* 0041F608 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F60C 24040017 */ li $a0, 23 +/* 0041F610 02402825 */ move $a1, $s2 +/* 0041F614 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F618 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F61C 02003825 */ move $a3, $s0 +/* 0041F620 0320F809 */ jalr $t9 +/* 0041F624 00000000 */ nop +/* 0041F628 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F62C 24040049 */ li $a0, 73 +/* 0041F630 02202825 */ move $a1, $s1 +/* 0041F634 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F638 26460001 */ addiu $a2, $s2, 1 +/* 0041F63C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F640 0320F809 */ jalr $t9 +/* 0041F644 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F648 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F64C: +/* 0041F64C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041F650 02002025 */ move $a0, $s0 +/* 0041F654 0320F809 */ jalr $t9 +/* 0041F658 00000000 */ nop +/* 0041F65C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041F660 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F664 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F668 8FB10020 */ lw $s1, 0x20($sp) +/* 0041F66C 8FB20024 */ lw $s2, 0x24($sp) +/* 0041F670 03E00008 */ jr $ra +/* 0041F674 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041F678, @function +func_0041F678: + # 0041FC98 dw_emit_rri +/* 0041F678 3C1C0FC0 */ .cpload $t9 +/* 0041F67C 279C03D8 */ +/* 0041F680 0399E021 */ +/* 0041F684 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041F688 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041F68C AFBF002C */ sw $ra, 0x2c($sp) +/* 0041F690 AFB20024 */ sw $s2, 0x24($sp) +/* 0041F694 AFB10020 */ sw $s1, 0x20($sp) +/* 0041F698 30B100FF */ andi $s1, $a1, 0xff +/* 0041F69C 30D200FF */ andi $s2, $a2, 0xff +/* 0041F6A0 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041F6A4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F6A8 AFA40040 */ sw $a0, 0x40($sp) +/* 0041F6AC AFA50044 */ sw $a1, 0x44($sp) +/* 0041F6B0 AFA60048 */ sw $a2, 0x48($sp) +/* 0041F6B4 0320F809 */ jalr $t9 +/* 0041F6B8 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041F6BC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F6C0 00408025 */ move $s0, $v0 +/* 0041F6C4 26460001 */ addiu $a2, $s2, 1 +/* 0041F6C8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F6CC 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F6D0 2404004A */ li $a0, 74 +/* 0041F6D4 91CE0000 */ lbu $t6, ($t6) +/* 0041F6D8 02202825 */ move $a1, $s1 +/* 0041F6DC 11C00020 */ beqz $t6, .L0041F760 +/* 0041F6E0 00000000 */ nop +/* 0041F6E4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F6E8 2404004A */ li $a0, 74 +/* 0041F6EC 02202825 */ move $a1, $s1 +/* 0041F6F0 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F6F4 0320F809 */ jalr $t9 +/* 0041F6F8 AFA60034 */ sw $a2, 0x34($sp) +/* 0041F6FC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F700 24040013 */ li $a0, 19 +/* 0041F704 02202825 */ move $a1, $s1 +/* 0041F708 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F70C 02003025 */ move $a2, $s0 +/* 0041F710 0320F809 */ jalr $t9 +/* 0041F714 00000000 */ nop +/* 0041F718 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F71C 24040017 */ li $a0, 23 +/* 0041F720 8FA50034 */ lw $a1, 0x34($sp) +/* 0041F724 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F728 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F72C 02003825 */ move $a3, $s0 +/* 0041F730 0320F809 */ jalr $t9 +/* 0041F734 00000000 */ nop +/* 0041F738 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F73C 2404004B */ li $a0, 75 +/* 0041F740 02202825 */ move $a1, $s1 +/* 0041F744 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F748 02403025 */ move $a2, $s2 +/* 0041F74C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F750 0320F809 */ jalr $t9 +/* 0041F754 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F758 1000001E */ b .L0041F7D4 +/* 0041F75C 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F760: +/* 0041F760 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F764 02403025 */ move $a2, $s2 +/* 0041F768 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F76C 0320F809 */ jalr $t9 +/* 0041F770 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F774 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F778 24040013 */ li $a0, 19 +/* 0041F77C 02202825 */ move $a1, $s1 +/* 0041F780 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F784 02003025 */ move $a2, $s0 +/* 0041F788 0320F809 */ jalr $t9 +/* 0041F78C 00000000 */ nop +/* 0041F790 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F794 24040017 */ li $a0, 23 +/* 0041F798 02402825 */ move $a1, $s2 +/* 0041F79C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F7A0 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F7A4 02003825 */ move $a3, $s0 +/* 0041F7A8 0320F809 */ jalr $t9 +/* 0041F7AC 00000000 */ nop +/* 0041F7B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F7B4 2404004B */ li $a0, 75 +/* 0041F7B8 02202825 */ move $a1, $s1 +/* 0041F7BC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F7C0 26460001 */ addiu $a2, $s2, 1 +/* 0041F7C4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F7C8 0320F809 */ jalr $t9 +/* 0041F7CC AFA00010 */ sw $zero, 0x10($sp) +/* 0041F7D0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F7D4: +/* 0041F7D4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041F7D8 02002025 */ move $a0, $s0 +/* 0041F7DC 0320F809 */ jalr $t9 +/* 0041F7E0 00000000 */ nop +/* 0041F7E4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041F7E8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F7EC 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F7F0 8FB10020 */ lw $s1, 0x20($sp) +/* 0041F7F4 8FB20024 */ lw $s2, 0x24($sp) +/* 0041F7F8 03E00008 */ jr $ra +/* 0041F7FC 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041F800, @function +func_0041F800: + # 0041FC98 dw_emit_rri +/* 0041F800 3C1C0FC0 */ .cpload $t9 +/* 0041F804 279C0250 */ +/* 0041F808 0399E021 */ +/* 0041F80C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041F810 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041F814 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041F818 AFB20024 */ sw $s2, 0x24($sp) +/* 0041F81C AFB10020 */ sw $s1, 0x20($sp) +/* 0041F820 30B100FF */ andi $s1, $a1, 0xff +/* 0041F824 30D200FF */ andi $s2, $a2, 0xff +/* 0041F828 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041F82C AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F830 AFA40040 */ sw $a0, 0x40($sp) +/* 0041F834 AFA50044 */ sw $a1, 0x44($sp) +/* 0041F838 AFA60048 */ sw $a2, 0x48($sp) +/* 0041F83C 0320F809 */ jalr $t9 +/* 0041F840 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041F844 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F848 00408025 */ move $s0, $v0 +/* 0041F84C 26460001 */ addiu $a2, $s2, 1 +/* 0041F850 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F854 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F858 24040050 */ li $a0, 80 +/* 0041F85C 91CE0000 */ lbu $t6, ($t6) +/* 0041F860 02202825 */ move $a1, $s1 +/* 0041F864 11C00020 */ beqz $t6, .L0041F8E8 +/* 0041F868 00000000 */ nop +/* 0041F86C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F870 24040050 */ li $a0, 80 +/* 0041F874 02202825 */ move $a1, $s1 +/* 0041F878 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F87C 0320F809 */ jalr $t9 +/* 0041F880 AFA60034 */ sw $a2, 0x34($sp) +/* 0041F884 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F888 24040013 */ li $a0, 19 +/* 0041F88C 02202825 */ move $a1, $s1 +/* 0041F890 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F894 02003025 */ move $a2, $s0 +/* 0041F898 0320F809 */ jalr $t9 +/* 0041F89C 00000000 */ nop +/* 0041F8A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F8A4 24040011 */ li $a0, 17 +/* 0041F8A8 8FA50034 */ lw $a1, 0x34($sp) +/* 0041F8AC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F8B0 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F8B4 02003825 */ move $a3, $s0 +/* 0041F8B8 0320F809 */ jalr $t9 +/* 0041F8BC 00000000 */ nop +/* 0041F8C0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F8C4 2404004E */ li $a0, 78 +/* 0041F8C8 02202825 */ move $a1, $s1 +/* 0041F8CC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F8D0 02403025 */ move $a2, $s2 +/* 0041F8D4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F8D8 0320F809 */ jalr $t9 +/* 0041F8DC AFA00010 */ sw $zero, 0x10($sp) +/* 0041F8E0 1000001E */ b .L0041F95C +/* 0041F8E4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F8E8: +/* 0041F8E8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F8EC 02403025 */ move $a2, $s2 +/* 0041F8F0 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F8F4 0320F809 */ jalr $t9 +/* 0041F8F8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F8FC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F900 24040013 */ li $a0, 19 +/* 0041F904 02202825 */ move $a1, $s1 +/* 0041F908 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041F90C 02003025 */ move $a2, $s0 +/* 0041F910 0320F809 */ jalr $t9 +/* 0041F914 00000000 */ nop +/* 0041F918 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F91C 24040011 */ li $a0, 17 +/* 0041F920 02402825 */ move $a1, $s2 +/* 0041F924 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041F928 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041F92C 02003825 */ move $a3, $s0 +/* 0041F930 0320F809 */ jalr $t9 +/* 0041F934 00000000 */ nop +/* 0041F938 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F93C 2404004E */ li $a0, 78 +/* 0041F940 02202825 */ move $a1, $s1 +/* 0041F944 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F948 26460001 */ addiu $a2, $s2, 1 +/* 0041F94C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041F950 0320F809 */ jalr $t9 +/* 0041F954 AFA00010 */ sw $zero, 0x10($sp) +/* 0041F958 8FBC0028 */ lw $gp, 0x28($sp) +.L0041F95C: +/* 0041F95C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041F960 02002025 */ move $a0, $s0 +/* 0041F964 0320F809 */ jalr $t9 +/* 0041F968 00000000 */ nop +/* 0041F96C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041F970 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F974 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041F978 8FB10020 */ lw $s1, 0x20($sp) +/* 0041F97C 8FB20024 */ lw $s2, 0x24($sp) +/* 0041F980 03E00008 */ jr $ra +/* 0041F984 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041F988, @function +func_0041F988: + # 0041FC98 dw_emit_rri +/* 0041F988 3C1C0FC0 */ .cpload $t9 +/* 0041F98C 279C00C8 */ +/* 0041F990 0399E021 */ +/* 0041F994 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041F998 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041F99C AFBF002C */ sw $ra, 0x2c($sp) +/* 0041F9A0 AFB20024 */ sw $s2, 0x24($sp) +/* 0041F9A4 AFB10020 */ sw $s1, 0x20($sp) +/* 0041F9A8 30B100FF */ andi $s1, $a1, 0xff +/* 0041F9AC 30D200FF */ andi $s2, $a2, 0xff +/* 0041F9B0 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041F9B4 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041F9B8 AFA40040 */ sw $a0, 0x40($sp) +/* 0041F9BC AFA50044 */ sw $a1, 0x44($sp) +/* 0041F9C0 AFA60048 */ sw $a2, 0x48($sp) +/* 0041F9C4 0320F809 */ jalr $t9 +/* 0041F9C8 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041F9CC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041F9D0 00408025 */ move $s0, $v0 +/* 0041F9D4 26460001 */ addiu $a2, $s2, 1 +/* 0041F9D8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041F9DC 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041F9E0 24040050 */ li $a0, 80 +/* 0041F9E4 91CE0000 */ lbu $t6, ($t6) +/* 0041F9E8 02202825 */ move $a1, $s1 +/* 0041F9EC 11C00020 */ beqz $t6, .L0041FA70 +/* 0041F9F0 00000000 */ nop +/* 0041F9F4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041F9F8 24040050 */ li $a0, 80 +/* 0041F9FC 02202825 */ move $a1, $s1 +/* 0041FA00 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FA04 0320F809 */ jalr $t9 +/* 0041FA08 AFA60034 */ sw $a2, 0x34($sp) +/* 0041FA0C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FA10 24040013 */ li $a0, 19 +/* 0041FA14 02202825 */ move $a1, $s1 +/* 0041FA18 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041FA1C 02003025 */ move $a2, $s0 +/* 0041FA20 0320F809 */ jalr $t9 +/* 0041FA24 00000000 */ nop +/* 0041FA28 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FA2C 24040011 */ li $a0, 17 +/* 0041FA30 8FA50034 */ lw $a1, 0x34($sp) +/* 0041FA34 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041FA38 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041FA3C 02003825 */ move $a3, $s0 +/* 0041FA40 0320F809 */ jalr $t9 +/* 0041FA44 00000000 */ nop +/* 0041FA48 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FA4C 24040051 */ li $a0, 81 +/* 0041FA50 02202825 */ move $a1, $s1 +/* 0041FA54 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FA58 02403025 */ move $a2, $s2 +/* 0041FA5C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FA60 0320F809 */ jalr $t9 +/* 0041FA64 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FA68 1000001E */ b .L0041FAE4 +/* 0041FA6C 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FA70: +/* 0041FA70 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FA74 02403025 */ move $a2, $s2 +/* 0041FA78 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FA7C 0320F809 */ jalr $t9 +/* 0041FA80 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FA84 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FA88 24040013 */ li $a0, 19 +/* 0041FA8C 02202825 */ move $a1, $s1 +/* 0041FA90 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041FA94 02003025 */ move $a2, $s0 +/* 0041FA98 0320F809 */ jalr $t9 +/* 0041FA9C 00000000 */ nop +/* 0041FAA0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FAA4 24040011 */ li $a0, 17 +/* 0041FAA8 02402825 */ move $a1, $s2 +/* 0041FAAC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041FAB0 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041FAB4 02003825 */ move $a3, $s0 +/* 0041FAB8 0320F809 */ jalr $t9 +/* 0041FABC 00000000 */ nop +/* 0041FAC0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FAC4 24040051 */ li $a0, 81 +/* 0041FAC8 02202825 */ move $a1, $s1 +/* 0041FACC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FAD0 26460001 */ addiu $a2, $s2, 1 +/* 0041FAD4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FAD8 0320F809 */ jalr $t9 +/* 0041FADC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FAE0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FAE4: +/* 0041FAE4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041FAE8 02002025 */ move $a0, $s0 +/* 0041FAEC 0320F809 */ jalr $t9 +/* 0041FAF0 00000000 */ nop +/* 0041FAF4 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041FAF8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FAFC 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041FB00 8FB10020 */ lw $s1, 0x20($sp) +/* 0041FB04 8FB20024 */ lw $s2, 0x24($sp) +/* 0041FB08 03E00008 */ jr $ra +/* 0041FB0C 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_0041FB10, @function +func_0041FB10: + # 0041FC98 dw_emit_rri +/* 0041FB10 3C1C0FC0 */ .cpload $t9 +/* 0041FB14 279CFF40 */ +/* 0041FB18 0399E021 */ +/* 0041FB1C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041FB20 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0041FB24 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041FB28 AFB20024 */ sw $s2, 0x24($sp) +/* 0041FB2C AFB10020 */ sw $s1, 0x20($sp) +/* 0041FB30 30B100FF */ andi $s1, $a1, 0xff +/* 0041FB34 30D200FF */ andi $s2, $a2, 0xff +/* 0041FB38 AFBC0028 */ sw $gp, 0x28($sp) +/* 0041FB3C AFB0001C */ sw $s0, 0x1c($sp) +/* 0041FB40 AFA40040 */ sw $a0, 0x40($sp) +/* 0041FB44 AFA50044 */ sw $a1, 0x44($sp) +/* 0041FB48 AFA60048 */ sw $a2, 0x48($sp) +/* 0041FB4C 0320F809 */ jalr $t9 +/* 0041FB50 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041FB54 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FB58 00408025 */ move $s0, $v0 +/* 0041FB5C 26460001 */ addiu $a2, $s2, 1 +/* 0041FB60 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041FB64 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FB68 24040051 */ li $a0, 81 +/* 0041FB6C 91CE0000 */ lbu $t6, ($t6) +/* 0041FB70 02202825 */ move $a1, $s1 +/* 0041FB74 11C00020 */ beqz $t6, .L0041FBF8 +/* 0041FB78 00000000 */ nop +/* 0041FB7C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FB80 24040051 */ li $a0, 81 +/* 0041FB84 02202825 */ move $a1, $s1 +/* 0041FB88 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FB8C 0320F809 */ jalr $t9 +/* 0041FB90 AFA60034 */ sw $a2, 0x34($sp) +/* 0041FB94 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FB98 24040013 */ li $a0, 19 +/* 0041FB9C 02202825 */ move $a1, $s1 +/* 0041FBA0 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041FBA4 02003025 */ move $a2, $s0 +/* 0041FBA8 0320F809 */ jalr $t9 +/* 0041FBAC 00000000 */ nop +/* 0041FBB0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FBB4 24040012 */ li $a0, 18 +/* 0041FBB8 8FA50034 */ lw $a1, 0x34($sp) +/* 0041FBBC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041FBC0 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041FBC4 02003825 */ move $a3, $s0 +/* 0041FBC8 0320F809 */ jalr $t9 +/* 0041FBCC 00000000 */ nop +/* 0041FBD0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FBD4 97A40042 */ lhu $a0, 0x42($sp) +/* 0041FBD8 02202825 */ move $a1, $s1 +/* 0041FBDC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FBE0 02403025 */ move $a2, $s2 +/* 0041FBE4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FBE8 0320F809 */ jalr $t9 +/* 0041FBEC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FBF0 1000001E */ b .L0041FC6C +/* 0041FBF4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FBF8: +/* 0041FBF8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FBFC 02403025 */ move $a2, $s2 +/* 0041FC00 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FC04 0320F809 */ jalr $t9 +/* 0041FC08 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FC0C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FC10 24040013 */ li $a0, 19 +/* 0041FC14 02202825 */ move $a1, $s1 +/* 0041FC18 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0041FC1C 02003025 */ move $a2, $s0 +/* 0041FC20 0320F809 */ jalr $t9 +/* 0041FC24 00000000 */ nop +/* 0041FC28 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FC2C 24040012 */ li $a0, 18 +/* 0041FC30 02402825 */ move $a1, $s2 +/* 0041FC34 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0041FC38 8FA6004C */ lw $a2, 0x4c($sp) +/* 0041FC3C 02003825 */ move $a3, $s0 +/* 0041FC40 0320F809 */ jalr $t9 +/* 0041FC44 00000000 */ nop +/* 0041FC48 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FC4C 97A40042 */ lhu $a0, 0x42($sp) +/* 0041FC50 02202825 */ move $a1, $s1 +/* 0041FC54 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FC58 26460001 */ addiu $a2, $s2, 1 +/* 0041FC5C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FC60 0320F809 */ jalr $t9 +/* 0041FC64 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FC68 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FC6C: +/* 0041FC6C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0041FC70 02002025 */ move $a0, $s0 +/* 0041FC74 0320F809 */ jalr $t9 +/* 0041FC78 00000000 */ nop +/* 0041FC7C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0041FC80 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FC84 8FB0001C */ lw $s0, 0x1c($sp) +/* 0041FC88 8FB10020 */ lw $s1, 0x20($sp) +/* 0041FC8C 8FB20024 */ lw $s2, 0x24($sp) +/* 0041FC90 03E00008 */ jr $ra +/* 0041FC94 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel dw_emit_rri + .ent dw_emit_rri + # 0042BDAC eval +/* 0041FC98 3C1C0FC0 */ .cpload $t9 +/* 0041FC9C 279CFDB8 */ +/* 0041FCA0 0399E021 */ +/* 0041FCA4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 0041FCA8 8F8289D8 */ lw $v0, %got(opcode_arch)($gp) +/* 0041FCAC AFB20024 */ sw $s2, 0x24($sp) +/* 0041FCB0 AFB10020 */ sw $s1, 0x20($sp) +/* 0041FCB4 90420000 */ lbu $v0, ($v0) +/* 0041FCB8 AFB0001C */ sw $s0, 0x1c($sp) +/* 0041FCBC 3090FFFF */ andi $s0, $a0, 0xffff +/* 0041FCC0 30B100FF */ andi $s1, $a1, 0xff +/* 0041FCC4 30D200FF */ andi $s2, $a2, 0xff +/* 0041FCC8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0041FCCC AFBC0028 */ sw $gp, 0x28($sp) +/* 0041FCD0 AFA40040 */ sw $a0, 0x40($sp) +/* 0041FCD4 AFA50044 */ sw $a1, 0x44($sp) +/* 0041FCD8 AFA60048 */ sw $a2, 0x48($sp) +/* 0041FCDC 1440016D */ bnez $v0, .L00420294 +/* 0041FCE0 AFA7004C */ sw $a3, 0x4c($sp) +/* 0041FCE4 8FAE0054 */ lw $t6, 0x54($sp) +/* 0041FCE8 3C010501 */ lui $at, 0x501 +/* 0041FCEC 91CF0021 */ lbu $t7, 0x21($t6) +/* 0041FCF0 31F8001F */ andi $t8, $t7, 0x1f +/* 0041FCF4 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0041FCF8 00194023 */ negu $t0, $t9 +/* 0041FCFC 01014824 */ and $t1, $t0, $at +/* 0041FD00 03095004 */ sllv $t2, $t1, $t8 +/* 0041FD04 05410163 */ bgez $t2, .L00420294 +/* 0041FD08 2E010041 */ sltiu $at, $s0, 0x41 +/* 0041FD0C 1420013F */ bnez $at, .L0042020C +/* 0041FD10 2E01005A */ sltiu $at, $s0, 0x5a +/* 0041FD14 14200155 */ bnez $at, .L0042026C +/* 0041FD18 2618FFB9 */ addiu $t8, $s0, -0x47 +/* 0041FD1C 260BFF12 */ addiu $t3, $s0, -0xee +/* 0041FD20 2D610002 */ sltiu $at, $t3, 2 +/* 0041FD24 10200130 */ beqz $at, .L004201E8 +/* 0041FD28 00000000 */ nop +/* 0041FD2C 8F818038 */ lw $at, %got(jtbl_10009824)($gp) +/* 0041FD30 000B5880 */ sll $t3, $t3, 2 +/* 0041FD34 002B0821 */ addu $at, $at, $t3 +/* 0041FD38 8C2B9824 */ lw $t3, %lo(jtbl_10009824)($at) +/* 0041FD3C 017C5821 */ addu $t3, $t3, $gp +/* 0041FD40 01600008 */ jr $t3 +/* 0041FD44 00000000 */ nop +.L0041FD48: +/* 0041FD48 8F8C898C */ lw $t4, %got(lsb_first)($gp) +/* 0041FD4C 02002025 */ move $a0, $s0 +/* 0041FD50 02202825 */ move $a1, $s1 +/* 0041FD54 918C0000 */ lbu $t4, ($t4) +/* 0041FD58 8FAD004C */ lw $t5, 0x4c($sp) +/* 0041FD5C 11800019 */ beqz $t4, .L0041FDC4 +/* 0041FD60 00000000 */ nop +/* 0041FD64 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FD68 02403025 */ move $a2, $s2 +/* 0041FD6C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FD70 0320F809 */ jalr $t9 +/* 0041FD74 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FD78 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FD7C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FD80 02002025 */ move $a0, $s0 +/* 0041FD84 14E00008 */ bnez $a3, .L0041FDA8 +/* 0041FD88 00000000 */ nop +/* 0041FD8C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FD90 24040031 */ li $a0, 49 +/* 0041FD94 26250001 */ addiu $a1, $s1, 1 +/* 0041FD98 0320F809 */ jalr $t9 +/* 0041FD9C 00003025 */ move $a2, $zero +/* 0041FDA0 10000169 */ b .L00420348 +/* 0041FDA4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FDA8: +/* 0041FDA8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FDAC 26250001 */ addiu $a1, $s1, 1 +/* 0041FDB0 26460001 */ addiu $a2, $s2, 1 +/* 0041FDB4 0320F809 */ jalr $t9 +/* 0041FDB8 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FDBC 10000162 */ b .L00420348 +/* 0041FDC0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FDC4: +/* 0041FDC4 15A00008 */ bnez $t5, .L0041FDE8 +/* 0041FDC8 02002025 */ move $a0, $s0 +/* 0041FDCC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FDD0 24040031 */ li $a0, 49 +/* 0041FDD4 02202825 */ move $a1, $s1 +/* 0041FDD8 0320F809 */ jalr $t9 +/* 0041FDDC 00003025 */ move $a2, $zero +/* 0041FDE0 10000008 */ b .L0041FE04 +/* 0041FDE4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FDE8: +/* 0041FDE8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FDEC 02202825 */ move $a1, $s1 +/* 0041FDF0 02403025 */ move $a2, $s2 +/* 0041FDF4 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FDF8 0320F809 */ jalr $t9 +/* 0041FDFC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FE00 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FE04: +/* 0041FE04 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FE08 02002025 */ move $a0, $s0 +/* 0041FE0C 26250001 */ addiu $a1, $s1, 1 +/* 0041FE10 26460001 */ addiu $a2, $s2, 1 +/* 0041FE14 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FE18 0320F809 */ jalr $t9 +/* 0041FE1C AFA00010 */ sw $zero, 0x10($sp) +/* 0041FE20 10000149 */ b .L00420348 +/* 0041FE24 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FE28: +/* 0041FE28 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0041FE2C 02002025 */ move $a0, $s0 +/* 0041FE30 02202825 */ move $a1, $s1 +/* 0041FE34 91CE0000 */ lbu $t6, ($t6) +/* 0041FE38 8FAF004C */ lw $t7, 0x4c($sp) +/* 0041FE3C 11C00019 */ beqz $t6, .L0041FEA4 +/* 0041FE40 00000000 */ nop +/* 0041FE44 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FE48 02403025 */ move $a2, $s2 +/* 0041FE4C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FE50 0320F809 */ jalr $t9 +/* 0041FE54 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FE58 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FE5C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FE60 02002025 */ move $a0, $s0 +/* 0041FE64 14E00008 */ bnez $a3, .L0041FE88 +/* 0041FE68 00000000 */ nop +/* 0041FE6C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FE70 24040031 */ li $a0, 49 +/* 0041FE74 26250001 */ addiu $a1, $s1, 1 +/* 0041FE78 0320F809 */ jalr $t9 +/* 0041FE7C 26460001 */ addiu $a2, $s2, 1 +/* 0041FE80 10000131 */ b .L00420348 +/* 0041FE84 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FE88: +/* 0041FE88 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FE8C 26250001 */ addiu $a1, $s1, 1 +/* 0041FE90 26460001 */ addiu $a2, $s2, 1 +/* 0041FE94 0320F809 */ jalr $t9 +/* 0041FE98 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FE9C 1000012A */ b .L00420348 +/* 0041FEA0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FEA4: +/* 0041FEA4 15E00008 */ bnez $t7, .L0041FEC8 +/* 0041FEA8 02002025 */ move $a0, $s0 +/* 0041FEAC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FEB0 24040031 */ li $a0, 49 +/* 0041FEB4 02202825 */ move $a1, $s1 +/* 0041FEB8 0320F809 */ jalr $t9 +/* 0041FEBC 02403025 */ move $a2, $s2 +/* 0041FEC0 10000008 */ b .L0041FEE4 +/* 0041FEC4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FEC8: +/* 0041FEC8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FECC 02202825 */ move $a1, $s1 +/* 0041FED0 02403025 */ move $a2, $s2 +/* 0041FED4 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FED8 0320F809 */ jalr $t9 +/* 0041FEDC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FEE0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FEE4: +/* 0041FEE4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FEE8 02002025 */ move $a0, $s0 +/* 0041FEEC 26250001 */ addiu $a1, $s1, 1 +/* 0041FEF0 26460001 */ addiu $a2, $s2, 1 +/* 0041FEF4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FEF8 0320F809 */ jalr $t9 +/* 0041FEFC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FF00 10000111 */ b .L00420348 +/* 0041FF04 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FF08: +/* 0041FF08 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 0041FF0C 02002025 */ move $a0, $s0 +/* 0041FF10 02202825 */ move $a1, $s1 +/* 0041FF14 93390000 */ lbu $t9, ($t9) +/* 0041FF18 8FA8004C */ lw $t0, 0x4c($sp) +/* 0041FF1C 13200019 */ beqz $t9, .L0041FF84 +/* 0041FF20 00000000 */ nop +/* 0041FF24 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FF28 02403025 */ move $a2, $s2 +/* 0041FF2C 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FF30 0320F809 */ jalr $t9 +/* 0041FF34 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FF38 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FF3C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0041FF40 02002025 */ move $a0, $s0 +/* 0041FF44 14E00008 */ bnez $a3, .L0041FF68 +/* 0041FF48 00000000 */ nop +/* 0041FF4C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FF50 2404005A */ li $a0, 90 +/* 0041FF54 26250001 */ addiu $a1, $s1, 1 +/* 0041FF58 0320F809 */ jalr $t9 +/* 0041FF5C 26460001 */ addiu $a2, $s2, 1 +/* 0041FF60 100000F9 */ b .L00420348 +/* 0041FF64 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FF68: +/* 0041FF68 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FF6C 26250001 */ addiu $a1, $s1, 1 +/* 0041FF70 26460001 */ addiu $a2, $s2, 1 +/* 0041FF74 0320F809 */ jalr $t9 +/* 0041FF78 AFA00010 */ sw $zero, 0x10($sp) +/* 0041FF7C 100000F2 */ b .L00420348 +/* 0041FF80 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FF84: +/* 0041FF84 15000008 */ bnez $t0, .L0041FFA8 +/* 0041FF88 02002025 */ move $a0, $s0 +/* 0041FF8C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0041FF90 2404005A */ li $a0, 90 +/* 0041FF94 02202825 */ move $a1, $s1 +/* 0041FF98 0320F809 */ jalr $t9 +/* 0041FF9C 02403025 */ move $a2, $s2 +/* 0041FFA0 10000008 */ b .L0041FFC4 +/* 0041FFA4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FFA8: +/* 0041FFA8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FFAC 02202825 */ move $a1, $s1 +/* 0041FFB0 02403025 */ move $a2, $s2 +/* 0041FFB4 8FA7004C */ lw $a3, 0x4c($sp) +/* 0041FFB8 0320F809 */ jalr $t9 +/* 0041FFBC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FFC0 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FFC4: +/* 0041FFC4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0041FFC8 02002025 */ move $a0, $s0 +/* 0041FFCC 26250001 */ addiu $a1, $s1, 1 +/* 0041FFD0 26460001 */ addiu $a2, $s2, 1 +/* 0041FFD4 8FA70050 */ lw $a3, 0x50($sp) +/* 0041FFD8 0320F809 */ jalr $t9 +/* 0041FFDC AFA00010 */ sw $zero, 0x10($sp) +/* 0041FFE0 100000D9 */ b .L00420348 +/* 0041FFE4 8FBC0028 */ lw $gp, 0x28($sp) +.L0041FFE8: +/* 0041FFE8 8F99801C */ lw $t9, %got(func_0041E800)($gp) +/* 0041FFEC 8FA90050 */ lw $t1, 0x50($sp) +/* 0041FFF0 02002025 */ move $a0, $s0 +/* 0041FFF4 2739E800 */ addiu $t9, %lo(func_0041E800) # addiu $t9, $t9, -0x1800 +/* 0041FFF8 02202825 */ move $a1, $s1 +/* 0041FFFC 02403025 */ move $a2, $s2 +/* 00420000 8FA7004C */ lw $a3, 0x4c($sp) +/* 00420004 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420008 0320F809 */ jalr $t9 +/* 0042000C AFA90010 */ sw $t1, 0x10($sp) +/* 00420010 100000CD */ b .L00420348 +/* 00420014 8FBC0028 */ lw $gp, 0x28($sp) +.L00420018: +/* 00420018 8F99801C */ lw $t9, %got(func_0041EA00)($gp) +/* 0042001C 8FB80050 */ lw $t8, 0x50($sp) +/* 00420020 02002025 */ move $a0, $s0 +/* 00420024 2739EA00 */ addiu $t9, %lo(func_0041EA00) # addiu $t9, $t9, -0x1600 +/* 00420028 02202825 */ move $a1, $s1 +/* 0042002C 02403025 */ move $a2, $s2 +/* 00420030 8FA7004C */ lw $a3, 0x4c($sp) +/* 00420034 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420038 0320F809 */ jalr $t9 +/* 0042003C AFB80010 */ sw $t8, 0x10($sp) +/* 00420040 100000C1 */ b .L00420348 +/* 00420044 8FBC0028 */ lw $gp, 0x28($sp) +.L00420048: +/* 00420048 8F99801C */ lw $t9, %got(func_0041EC08)($gp) +/* 0042004C 02002025 */ move $a0, $s0 +/* 00420050 02202825 */ move $a1, $s1 +/* 00420054 2739EC08 */ addiu $t9, %lo(func_0041EC08) # addiu $t9, $t9, -0x13f8 +/* 00420058 02403025 */ move $a2, $s2 +/* 0042005C 8FA70050 */ lw $a3, 0x50($sp) +/* 00420060 0320F809 */ jalr $t9 +/* 00420064 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420068 100000B7 */ b .L00420348 +/* 0042006C 8FBC0028 */ lw $gp, 0x28($sp) +.L00420070: +/* 00420070 8F99801C */ lw $t9, %got(func_0041EE78)($gp) +/* 00420074 02002025 */ move $a0, $s0 +/* 00420078 02202825 */ move $a1, $s1 +/* 0042007C 2739EE78 */ addiu $t9, %lo(func_0041EE78) # addiu $t9, $t9, -0x1188 +/* 00420080 02403025 */ move $a2, $s2 +/* 00420084 8FA70050 */ lw $a3, 0x50($sp) +/* 00420088 0320F809 */ jalr $t9 +/* 0042008C 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420090 100000AD */ b .L00420348 +/* 00420094 8FBC0028 */ lw $gp, 0x28($sp) +.L00420098: +/* 00420098 8F99801C */ lw $t9, %got(func_0041F194)($gp) +/* 0042009C 8FAA0050 */ lw $t2, 0x50($sp) +/* 004200A0 02002025 */ move $a0, $s0 +/* 004200A4 2739F194 */ addiu $t9, %lo(func_0041F194) # addiu $t9, $t9, -0xe6c +/* 004200A8 02202825 */ move $a1, $s1 +/* 004200AC 02403025 */ move $a2, $s2 +/* 004200B0 8FA7004C */ lw $a3, 0x4c($sp) +/* 004200B4 27A20040 */ addiu $v0, $sp, 0x40 +/* 004200B8 0320F809 */ jalr $t9 +/* 004200BC AFAA0010 */ sw $t2, 0x10($sp) +/* 004200C0 100000A1 */ b .L00420348 +/* 004200C4 8FBC0028 */ lw $gp, 0x28($sp) +.L004200C8: +/* 004200C8 8F99801C */ lw $t9, %got(func_0041F368)($gp) +/* 004200CC 8FAB0050 */ lw $t3, 0x50($sp) +/* 004200D0 02002025 */ move $a0, $s0 +/* 004200D4 2739F368 */ addiu $t9, %lo(func_0041F368) # addiu $t9, $t9, -0xc98 +/* 004200D8 02202825 */ move $a1, $s1 +/* 004200DC 02403025 */ move $a2, $s2 +/* 004200E0 8FA7004C */ lw $a3, 0x4c($sp) +/* 004200E4 27A20040 */ addiu $v0, $sp, 0x40 +/* 004200E8 0320F809 */ jalr $t9 +/* 004200EC AFAB0010 */ sw $t3, 0x10($sp) +/* 004200F0 10000095 */ b .L00420348 +/* 004200F4 8FBC0028 */ lw $gp, 0x28($sp) +.L004200F8: +/* 004200F8 8F99801C */ lw $t9, %got(func_0041F4F0)($gp) +/* 004200FC 8FAC0050 */ lw $t4, 0x50($sp) +/* 00420100 02002025 */ move $a0, $s0 +/* 00420104 2739F4F0 */ addiu $t9, %lo(func_0041F4F0) # addiu $t9, $t9, -0xb10 +/* 00420108 02202825 */ move $a1, $s1 +/* 0042010C 02403025 */ move $a2, $s2 +/* 00420110 8FA7004C */ lw $a3, 0x4c($sp) +/* 00420114 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420118 0320F809 */ jalr $t9 +/* 0042011C AFAC0010 */ sw $t4, 0x10($sp) +/* 00420120 10000089 */ b .L00420348 +/* 00420124 8FBC0028 */ lw $gp, 0x28($sp) +.L00420128: +/* 00420128 8F99801C */ lw $t9, %got(func_0041F678)($gp) +/* 0042012C 8FAD0050 */ lw $t5, 0x50($sp) +/* 00420130 02002025 */ move $a0, $s0 +/* 00420134 2739F678 */ addiu $t9, %lo(func_0041F678) # addiu $t9, $t9, -0x988 +/* 00420138 02202825 */ move $a1, $s1 +/* 0042013C 02403025 */ move $a2, $s2 +/* 00420140 8FA7004C */ lw $a3, 0x4c($sp) +/* 00420144 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420148 0320F809 */ jalr $t9 +/* 0042014C AFAD0010 */ sw $t5, 0x10($sp) +/* 00420150 1000007D */ b .L00420348 +/* 00420154 8FBC0028 */ lw $gp, 0x28($sp) +.L00420158: +/* 00420158 8F99801C */ lw $t9, %got(func_0041FB10)($gp) +/* 0042015C 8FAE0050 */ lw $t6, 0x50($sp) +/* 00420160 02002025 */ move $a0, $s0 +/* 00420164 2739FB10 */ addiu $t9, %lo(func_0041FB10) # addiu $t9, $t9, -0x4f0 +/* 00420168 02202825 */ move $a1, $s1 +/* 0042016C 02403025 */ move $a2, $s2 +/* 00420170 8FA7004C */ lw $a3, 0x4c($sp) +/* 00420174 27A20040 */ addiu $v0, $sp, 0x40 +/* 00420178 0320F809 */ jalr $t9 +/* 0042017C AFAE0010 */ sw $t6, 0x10($sp) +/* 00420180 10000071 */ b .L00420348 +/* 00420184 8FBC0028 */ lw $gp, 0x28($sp) +.L00420188: +/* 00420188 8F99801C */ lw $t9, %got(func_0041F800)($gp) +/* 0042018C 8FAF0050 */ lw $t7, 0x50($sp) +/* 00420190 02002025 */ move $a0, $s0 +/* 00420194 2739F800 */ addiu $t9, %lo(func_0041F800) # addiu $t9, $t9, -0x800 +/* 00420198 02202825 */ move $a1, $s1 +/* 0042019C 02403025 */ move $a2, $s2 +/* 004201A0 8FA7004C */ lw $a3, 0x4c($sp) +/* 004201A4 27A20040 */ addiu $v0, $sp, 0x40 +/* 004201A8 0320F809 */ jalr $t9 +/* 004201AC AFAF0010 */ sw $t7, 0x10($sp) +/* 004201B0 10000065 */ b .L00420348 +/* 004201B4 8FBC0028 */ lw $gp, 0x28($sp) +.L004201B8: +/* 004201B8 8FB90050 */ lw $t9, 0x50($sp) +/* 004201BC 02002025 */ move $a0, $s0 +/* 004201C0 02202825 */ move $a1, $s1 +/* 004201C4 AFB90010 */ sw $t9, 0x10($sp) +/* 004201C8 8F99801C */ lw $t9, %got(func_0041F988)($gp) +/* 004201CC 02403025 */ move $a2, $s2 +/* 004201D0 8FA7004C */ lw $a3, 0x4c($sp) +/* 004201D4 2739F988 */ addiu $t9, %lo(func_0041F988) # addiu $t9, $t9, -0x678 +/* 004201D8 0320F809 */ jalr $t9 +/* 004201DC 27A20040 */ addiu $v0, $sp, 0x40 +/* 004201E0 10000059 */ b .L00420348 +/* 004201E4 8FBC0028 */ lw $gp, 0x28($sp) +.L004201E8: +/* 004201E8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004201EC 02002025 */ move $a0, $s0 +/* 004201F0 02202825 */ move $a1, $s1 +/* 004201F4 02403025 */ move $a2, $s2 +/* 004201F8 8FA70050 */ lw $a3, 0x50($sp) +/* 004201FC 0320F809 */ jalr $t9 +/* 00420200 AFA00010 */ sw $zero, 0x10($sp) +/* 00420204 10000050 */ b .L00420348 +/* 00420208 8FBC0028 */ lw $gp, 0x28($sp) +.L0042020C: +/* 0042020C 2E010004 */ sltiu $at, $s0, 4 +/* 00420210 1020000C */ beqz $at, .L00420244 +/* 00420214 2609FFC1 */ addiu $t1, $s0, -0x3f +/* 00420218 2608FFFF */ addiu $t0, $s0, -1 +/* 0042021C 2D010003 */ sltiu $at, $t0, 3 +/* 00420220 1020FFF1 */ beqz $at, .L004201E8 +/* 00420224 00000000 */ nop +/* 00420228 8F818038 */ lw $at, %got(jtbl_100097C4)($gp) +/* 0042022C 00084080 */ sll $t0, $t0, 2 +/* 00420230 00280821 */ addu $at, $at, $t0 +/* 00420234 8C2897C4 */ lw $t0, %lo(jtbl_100097C4)($at) +/* 00420238 011C4021 */ addu $t0, $t0, $gp +/* 0042023C 01000008 */ jr $t0 +/* 00420240 00000000 */ nop +.L00420244: +/* 00420244 2D210002 */ sltiu $at, $t1, 2 +/* 00420248 1020FFE7 */ beqz $at, .L004201E8 +/* 0042024C 00000000 */ nop +/* 00420250 8F818038 */ lw $at, %got(jtbl_100097D0)($gp) +/* 00420254 00094880 */ sll $t1, $t1, 2 +/* 00420258 00290821 */ addu $at, $at, $t1 +/* 0042025C 8C2997D0 */ lw $t1, %lo(jtbl_100097D0)($at) +/* 00420260 013C4821 */ addu $t1, $t1, $gp +/* 00420264 01200008 */ jr $t1 +/* 00420268 00000000 */ nop +.L0042026C: +/* 0042026C 2F010013 */ sltiu $at, $t8, 0x13 +/* 00420270 1020FFDD */ beqz $at, .L004201E8 +/* 00420274 00000000 */ nop +/* 00420278 8F818038 */ lw $at, %got(jtbl_100097D8)($gp) +/* 0042027C 0018C080 */ sll $t8, $t8, 2 +/* 00420280 00380821 */ addu $at, $at, $t8 +/* 00420284 8C3897D8 */ lw $t8, %lo(jtbl_100097D8)($at) +/* 00420288 031CC021 */ addu $t8, $t8, $gp +/* 0042028C 03000008 */ jr $t8 +/* 00420290 00000000 */ nop +.L00420294: +/* 00420294 24010001 */ li $at, 1 +/* 00420298 14410023 */ bne $v0, $at, .L00420328 +/* 0042029C 8FAA004C */ lw $t2, 0x4c($sp) +/* 004202A0 11400021 */ beqz $t2, .L00420328 +/* 004202A4 00002025 */ move $a0, $zero +/* 004202A8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004202AC 8FAB0050 */ lw $t3, 0x50($sp) +/* 004202B0 AFAA0038 */ sw $t2, 0x38($sp) +/* 004202B4 24050001 */ li $a1, 1 +/* 004202B8 0320F809 */ jalr $t9 +/* 004202BC AFAB003C */ sw $t3, 0x3c($sp) +/* 004202C0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004202C4 A3A20037 */ sb $v0, 0x37($sp) +/* 004202C8 304400FF */ andi $a0, $v0, 0xff +/* 004202CC 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 004202D0 0320F809 */ jalr $t9 +/* 004202D4 00000000 */ nop +/* 004202D8 27AC0038 */ addiu $t4, $sp, 0x38 +/* 004202DC 8FBC0028 */ lw $gp, 0x28($sp) +/* 004202E0 8D860000 */ lw $a2, ($t4) +/* 004202E4 2404014C */ li $a0, 332 +/* 004202E8 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 004202EC AFA60008 */ sw $a2, 8($sp) +/* 004202F0 8D870004 */ lw $a3, 4($t4) +/* 004202F4 93A50037 */ lbu $a1, 0x37($sp) +/* 004202F8 0320F809 */ jalr $t9 +/* 004202FC AFA7000C */ sw $a3, 0xc($sp) +/* 00420300 8FBC0028 */ lw $gp, 0x28($sp) +/* 00420304 02002025 */ move $a0, $s0 +/* 00420308 02202825 */ move $a1, $s1 +/* 0042030C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00420310 02403025 */ move $a2, $s2 +/* 00420314 93A70037 */ lbu $a3, 0x37($sp) +/* 00420318 0320F809 */ jalr $t9 +/* 0042031C 00000000 */ nop +/* 00420320 10000009 */ b .L00420348 +/* 00420324 8FBC0028 */ lw $gp, 0x28($sp) +.L00420328: +/* 00420328 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042032C 02002025 */ move $a0, $s0 +/* 00420330 02202825 */ move $a1, $s1 +/* 00420334 02403025 */ move $a2, $s2 +/* 00420338 8FA70050 */ lw $a3, 0x50($sp) +/* 0042033C 0320F809 */ jalr $t9 +/* 00420340 AFA00010 */ sw $zero, 0x10($sp) +/* 00420344 8FBC0028 */ lw $gp, 0x28($sp) +.L00420348: +/* 00420348 8FBF002C */ lw $ra, 0x2c($sp) +/* 0042034C 8FB0001C */ lw $s0, 0x1c($sp) +/* 00420350 8FB10020 */ lw $s1, 0x20($sp) +/* 00420354 8FB20024 */ lw $s2, 0x24($sp) +/* 00420358 03E00008 */ jr $ra +/* 0042035C 27BD0040 */ addiu $sp, $sp, 0x40 + .type dw_emit_rri, @function + .size dw_emit_rri, .-dw_emit_rri + .end dw_emit_rri + + .type func_00420360, @function +func_00420360: + # 004206C0 dw_emit_rr +/* 00420360 3C1C0FC0 */ .cpload $t9 +/* 00420364 279CF6F0 */ +/* 00420368 0399E021 */ +/* 0042036C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00420370 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00420374 AFB0001C */ sw $s0, 0x1c($sp) +/* 00420378 30B000FF */ andi $s0, $a1, 0xff +/* 0042037C AFBF0024 */ sw $ra, 0x24($sp) +/* 00420380 AFA40030 */ sw $a0, 0x30($sp) +/* 00420384 AFA50034 */ sw $a1, 0x34($sp) +/* 00420388 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042038C AFA60038 */ sw $a2, 0x38($sp) +/* 00420390 24050006 */ li $a1, 6 +/* 00420394 0320F809 */ jalr $t9 +/* 00420398 24040020 */ li $a0, 32 +/* 0042039C 8FBC0020 */ lw $gp, 0x20($sp) +/* 004203A0 93A6003B */ lbu $a2, 0x3b($sp) +/* 004203A4 00003825 */ move $a3, $zero +/* 004203A8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 004203AC 24040047 */ li $a0, 71 +/* 004203B0 24050001 */ li $a1, 1 +/* 004203B4 91CE0000 */ lbu $t6, ($t6) +/* 004203B8 24C60001 */ addiu $a2, $a2, 1 +/* 004203BC 11C00029 */ beqz $t6, .L00420464 +/* 004203C0 00000000 */ nop +/* 004203C4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004203C8 24040047 */ li $a0, 71 +/* 004203CC 24050001 */ li $a1, 1 +/* 004203D0 93A6003B */ lbu $a2, 0x3b($sp) +/* 004203D4 0320F809 */ jalr $t9 +/* 004203D8 AFA00010 */ sw $zero, 0x10($sp) +/* 004203DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004203E0 240400DB */ li $a0, 219 +/* 004203E4 02002825 */ move $a1, $s0 +/* 004203E8 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004203EC 93A6003B */ lbu $a2, 0x3b($sp) +/* 004203F0 0320F809 */ jalr $t9 +/* 004203F4 00000000 */ nop +/* 004203F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004203FC 93A6003B */ lbu $a2, 0x3b($sp) +/* 00420400 26050001 */ addiu $a1, $s0, 1 +/* 00420404 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00420408 AFA50028 */ sw $a1, 0x28($sp) +/* 0042040C 2404005A */ li $a0, 90 +/* 00420410 0320F809 */ jalr $t9 +/* 00420414 24C60001 */ addiu $a2, $a2, 1 +/* 00420418 97AF0032 */ lhu $t7, 0x32($sp) +/* 0042041C 2401003D */ li $at, 61 +/* 00420420 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420424 15E10008 */ bne $t7, $at, .L00420448 +/* 00420428 8FA50028 */ lw $a1, 0x28($sp) +/* 0042042C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00420430 24040001 */ li $a0, 1 +/* 00420434 00A03025 */ move $a2, $a1 +/* 00420438 0320F809 */ jalr $t9 +/* 0042043C 24070001 */ li $a3, 1 +/* 00420440 1000002E */ b .L004204FC +/* 00420444 8FBC0020 */ lw $gp, 0x20($sp) +.L00420448: +/* 00420448 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042044C 24040002 */ li $a0, 2 +/* 00420450 00A03025 */ move $a2, $a1 +/* 00420454 0320F809 */ jalr $t9 +/* 00420458 24070001 */ li $a3, 1 +/* 0042045C 10000027 */ b .L004204FC +/* 00420460 8FBC0020 */ lw $gp, 0x20($sp) +.L00420464: +/* 00420464 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00420468 00003825 */ move $a3, $zero +/* 0042046C AFA00010 */ sw $zero, 0x10($sp) +/* 00420470 0320F809 */ jalr $t9 +/* 00420474 AFA60028 */ sw $a2, 0x28($sp) +/* 00420478 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042047C 8FA60028 */ lw $a2, 0x28($sp) +/* 00420480 240400DB */ li $a0, 219 +/* 00420484 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00420488 26050001 */ addiu $a1, $s0, 1 +/* 0042048C 0320F809 */ jalr $t9 +/* 00420490 00000000 */ nop +/* 00420494 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420498 2404005A */ li $a0, 90 +/* 0042049C 02002825 */ move $a1, $s0 +/* 004204A0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004204A4 93A6003B */ lbu $a2, 0x3b($sp) +/* 004204A8 0320F809 */ jalr $t9 +/* 004204AC 00000000 */ nop +/* 004204B0 97B80032 */ lhu $t8, 0x32($sp) +/* 004204B4 2401003D */ li $at, 61 +/* 004204B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004204BC 17010009 */ bne $t8, $at, .L004204E4 +/* 004204C0 24040002 */ li $a0, 2 +/* 004204C4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 004204C8 24040001 */ li $a0, 1 +/* 004204CC 02002825 */ move $a1, $s0 +/* 004204D0 02003025 */ move $a2, $s0 +/* 004204D4 0320F809 */ jalr $t9 +/* 004204D8 24070001 */ li $a3, 1 +/* 004204DC 10000007 */ b .L004204FC +/* 004204E0 8FBC0020 */ lw $gp, 0x20($sp) +.L004204E4: +/* 004204E4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 004204E8 02002825 */ move $a1, $s0 +/* 004204EC 02003025 */ move $a2, $s0 +/* 004204F0 0320F809 */ jalr $t9 +/* 004204F4 24070001 */ li $a3, 1 +/* 004204F8 8FBC0020 */ lw $gp, 0x20($sp) +.L004204FC: +/* 004204FC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00420500 24040020 */ li $a0, 32 +/* 00420504 24050005 */ li $a1, 5 +/* 00420508 0320F809 */ jalr $t9 +/* 0042050C 00000000 */ nop +/* 00420510 8FBF0024 */ lw $ra, 0x24($sp) +/* 00420514 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420518 8FB0001C */ lw $s0, 0x1c($sp) +/* 0042051C 03E00008 */ jr $ra +/* 00420520 27BD0030 */ addiu $sp, $sp, 0x30 + + .type func_00420524, @function +func_00420524: + # 004206C0 dw_emit_rr +/* 00420524 3C1C0FC0 */ .cpload $t9 +/* 00420528 279CF52C */ +/* 0042052C 0399E021 */ +/* 00420530 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00420534 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00420538 AFBF001C */ sw $ra, 0x1c($sp) +/* 0042053C AFA40020 */ sw $a0, 0x20($sp) +/* 00420540 AFA50024 */ sw $a1, 0x24($sp) +/* 00420544 AFA60028 */ sw $a2, 0x28($sp) +/* 00420548 AFBC0018 */ sw $gp, 0x18($sp) +/* 0042054C 93A6002B */ lbu $a2, 0x2b($sp) +/* 00420550 93A50027 */ lbu $a1, 0x27($sp) +/* 00420554 0320F809 */ jalr $t9 +/* 00420558 97A40022 */ lhu $a0, 0x22($sp) +/* 0042055C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00420560 93A50027 */ lbu $a1, 0x27($sp) +/* 00420564 93A6002B */ lbu $a2, 0x2b($sp) +/* 00420568 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042056C 97A40022 */ lhu $a0, 0x22($sp) +/* 00420570 24A50001 */ addiu $a1, $a1, 1 +/* 00420574 0320F809 */ jalr $t9 +/* 00420578 24C60001 */ addiu $a2, $a2, 1 +/* 0042057C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00420580 8FBC0018 */ lw $gp, 0x18($sp) +/* 00420584 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00420588 03E00008 */ jr $ra +/* 0042058C 00000000 */ nop + + .type func_00420590, @function +func_00420590: + # 004206C0 dw_emit_rr +/* 00420590 3C1C0FC0 */ .cpload $t9 +/* 00420594 279CF4C0 */ +/* 00420598 0399E021 */ +/* 0042059C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 004205A0 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 004205A4 AFBF0024 */ sw $ra, 0x24($sp) +/* 004205A8 AFBC0020 */ sw $gp, 0x20($sp) +/* 004205AC AFA40038 */ sw $a0, 0x38($sp) +/* 004205B0 AFA5003C */ sw $a1, 0x3c($sp) +/* 004205B4 AFA60040 */ sw $a2, 0x40($sp) +/* 004205B8 8C47000C */ lw $a3, 0xc($v0) +/* 004205BC 93A60043 */ lbu $a2, 0x43($sp) +/* 004205C0 93A5003F */ lbu $a1, 0x3f($sp) +/* 004205C4 24040031 */ li $a0, 49 +/* 004205C8 0320F809 */ jalr $t9 +/* 004205CC AFA7002C */ sw $a3, 0x2c($sp) +/* 004205D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004205D4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004205D8 0320F809 */ jalr $t9 +/* 004205DC 00000000 */ nop +/* 004205E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004205E4 8FAE002C */ lw $t6, 0x2c($sp) +/* 004205E8 AFA20030 */ sw $v0, 0x30($sp) +/* 004205EC 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 004205F0 2404000E */ li $a0, 14 +/* 004205F4 93A50043 */ lbu $a1, 0x43($sp) +/* 004205F8 00003025 */ move $a2, $zero +/* 004205FC 00003825 */ move $a3, $zero +/* 00420600 AFA20010 */ sw $v0, 0x10($sp) +/* 00420604 0320F809 */ jalr $t9 +/* 00420608 AFAE0014 */ sw $t6, 0x14($sp) +/* 0042060C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420610 240400DB */ li $a0, 219 +/* 00420614 93A5003F */ lbu $a1, 0x3f($sp) +/* 00420618 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 0042061C 93A60043 */ lbu $a2, 0x43($sp) +/* 00420620 8FA7002C */ lw $a3, 0x2c($sp) +/* 00420624 0320F809 */ jalr $t9 +/* 00420628 00000000 */ nop +/* 0042062C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420630 8FA40030 */ lw $a0, 0x30($sp) +/* 00420634 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00420638 0320F809 */ jalr $t9 +/* 0042063C 00000000 */ nop +/* 00420640 8FBF0024 */ lw $ra, 0x24($sp) +/* 00420644 8FBC0020 */ lw $gp, 0x20($sp) +/* 00420648 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0042064C 03E00008 */ jr $ra +/* 00420650 00000000 */ nop + + .type func_00420654, @function +func_00420654: + # 004206C0 dw_emit_rr +/* 00420654 3C1C0FC0 */ .cpload $t9 +/* 00420658 279CF3FC */ +/* 0042065C 0399E021 */ +/* 00420660 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00420664 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00420668 AFBF001C */ sw $ra, 0x1c($sp) +/* 0042066C AFA40020 */ sw $a0, 0x20($sp) +/* 00420670 AFA50024 */ sw $a1, 0x24($sp) +/* 00420674 AFA60028 */ sw $a2, 0x28($sp) +/* 00420678 AFBC0018 */ sw $gp, 0x18($sp) +/* 0042067C 93A6002B */ lbu $a2, 0x2b($sp) +/* 00420680 93A50027 */ lbu $a1, 0x27($sp) +/* 00420684 0320F809 */ jalr $t9 +/* 00420688 97A40022 */ lhu $a0, 0x22($sp) +/* 0042068C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00420690 93A50027 */ lbu $a1, 0x27($sp) +/* 00420694 93A6002B */ lbu $a2, 0x2b($sp) +/* 00420698 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042069C 97A40022 */ lhu $a0, 0x22($sp) +/* 004206A0 24A50001 */ addiu $a1, $a1, 1 +/* 004206A4 0320F809 */ jalr $t9 +/* 004206A8 24C60001 */ addiu $a2, $a2, 1 +/* 004206AC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004206B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004206B4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 004206B8 03E00008 */ jr $ra +/* 004206BC 00000000 */ nop + +glabel dw_emit_rr + .ent dw_emit_rr + # 00420590 func_00420590 + # 0042BDAC eval +/* 004206C0 3C1C0FC0 */ .cpload $t9 +/* 004206C4 279CF390 */ +/* 004206C8 0399E021 */ +/* 004206CC 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 004206D0 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 004206D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 004206D8 91CE0000 */ lbu $t6, ($t6) +/* 004206DC AFBC0018 */ sw $gp, 0x18($sp) +/* 004206E0 AFA40028 */ sw $a0, 0x28($sp) +/* 004206E4 AFA5002C */ sw $a1, 0x2c($sp) +/* 004206E8 AFA60030 */ sw $a2, 0x30($sp) +/* 004206EC 15C0003F */ bnez $t6, .L004207EC +/* 004206F0 AFA70034 */ sw $a3, 0x34($sp) +/* 004206F4 90F80021 */ lbu $t8, 0x21($a3) +/* 004206F8 3C010501 */ lui $at, 0x501 +/* 004206FC 3319001F */ andi $t9, $t8, 0x1f +/* 00420700 2F280020 */ sltiu $t0, $t9, 0x20 +/* 00420704 00084823 */ negu $t1, $t0 +/* 00420708 01215024 */ and $t2, $t1, $at +/* 0042070C 032A5804 */ sllv $t3, $t2, $t9 +/* 00420710 05610036 */ bgez $t3, .L004207EC +/* 00420714 2C81003E */ sltiu $at, $a0, 0x3e +/* 00420718 10000022 */ b .L004207A4 +/* 0042071C 00000000 */ nop +.L00420720: +/* 00420720 8F99801C */ lw $t9, %got(func_00420360)($gp) +/* 00420724 27A20028 */ addiu $v0, $sp, 0x28 +/* 00420728 27390360 */ addiu $t9, %lo(func_00420360) # addiu $t9, $t9, 0x360 +/* 0042072C 0320F809 */ jalr $t9 +/* 00420730 00000000 */ nop +/* 00420734 10000031 */ b .L004207FC +/* 00420738 8FBC0018 */ lw $gp, 0x18($sp) +.L0042073C: +/* 0042073C 8F99801C */ lw $t9, %got(func_00420524)($gp) +/* 00420740 27A20028 */ addiu $v0, $sp, 0x28 +/* 00420744 27390524 */ addiu $t9, %lo(func_00420524) # addiu $t9, $t9, 0x524 +/* 00420748 0320F809 */ jalr $t9 +/* 0042074C 00000000 */ nop +/* 00420750 1000002A */ b .L004207FC +/* 00420754 8FBC0018 */ lw $gp, 0x18($sp) +.L00420758: +/* 00420758 8F99801C */ lw $t9, %got(func_00420590)($gp) +/* 0042075C 27A20028 */ addiu $v0, $sp, 0x28 +/* 00420760 27390590 */ addiu $t9, %lo(func_00420590) # addiu $t9, $t9, 0x590 +/* 00420764 0320F809 */ jalr $t9 +/* 00420768 00000000 */ nop +/* 0042076C 10000023 */ b .L004207FC +/* 00420770 8FBC0018 */ lw $gp, 0x18($sp) +.L00420774: +/* 00420774 8F99801C */ lw $t9, %got(func_00420654)($gp) +/* 00420778 27A20028 */ addiu $v0, $sp, 0x28 +/* 0042077C 27390654 */ addiu $t9, %lo(func_00420654) # addiu $t9, $t9, 0x654 +/* 00420780 0320F809 */ jalr $t9 +/* 00420784 00000000 */ nop +/* 00420788 1000001C */ b .L004207FC +/* 0042078C 8FBC0018 */ lw $gp, 0x18($sp) +.L00420790: +/* 00420790 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00420794 0320F809 */ jalr $t9 +/* 00420798 00000000 */ nop +/* 0042079C 10000017 */ b .L004207FC +/* 004207A0 8FBC0018 */ lw $gp, 0x18($sp) +.L004207A4: +/* 004207A4 14200008 */ bnez $at, .L004207C8 +/* 004207A8 2401005A */ li $at, 90 +/* 004207AC 1081FFE3 */ beq $a0, $at, .L0042073C +/* 004207B0 00000000 */ nop +/* 004207B4 240100DB */ li $at, 219 +/* 004207B8 1081FFD9 */ beq $a0, $at, .L00420720 +/* 004207BC 00000000 */ nop +/* 004207C0 1000FFF3 */ b .L00420790 +/* 004207C4 00000000 */ nop +.L004207C8: +/* 004207C8 1080FFE3 */ beqz $a0, .L00420758 +/* 004207CC 24010031 */ li $at, 49 +/* 004207D0 1081FFE8 */ beq $a0, $at, .L00420774 +/* 004207D4 00000000 */ nop +/* 004207D8 2401003D */ li $at, 61 +/* 004207DC 1081FFD0 */ beq $a0, $at, .L00420720 +/* 004207E0 00000000 */ nop +/* 004207E4 1000FFEA */ b .L00420790 +/* 004207E8 00000000 */ nop +.L004207EC: +/* 004207EC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004207F0 0320F809 */ jalr $t9 +/* 004207F4 00000000 */ nop +/* 004207F8 8FBC0018 */ lw $gp, 0x18($sp) +.L004207FC: +/* 004207FC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00420800 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00420804 03E00008 */ jr $ra +/* 00420808 00000000 */ nop + .type dw_emit_rr, @function + .size dw_emit_rr, .-dw_emit_rr + .end dw_emit_rr +)""); diff --git a/src/ugen/entry_exit.c b/src/ugen/entry_exit.c new file mode 100644 index 0000000..5263177 --- /dev/null +++ b/src/ugen/entry_exit.c @@ -0,0 +1,2962 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_10009830: + # 00420810 gen_entry_exit + .ascii "stack limit block number not found " + +RO_10009880: + # 00420810 gen_entry_exit + .ascii "entry_exit.p " + +RO_100098D0: + # 00422DB8 emit_file + .ascii " " + +RO_100098E0: + # 00422DB8 emit_file + .ascii "file number missing " + +RO_10009930: + # 00422DB8 emit_file + .ascii "entry_exit.p " + +.data +# 10013640 +glabel get_filename + .byte 0x00 + .type get_filename, @object + .size get_filename, .-get_filename # 1 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel gen_entry_exit + .ent gen_entry_exit + # 0042BDAC eval +/* 00420810 3C1C0FC0 */ .cpload $t9 +/* 00420814 279CF240 */ +/* 00420818 0399E021 */ +/* 0042081C 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 00420820 8FAE0108 */ lw $t6, 0x108($sp) +/* 00420824 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00420828 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0042082C AFA400C8 */ sw $a0, 0xc8($sp) +/* 00420830 AFA500CC */ sw $a1, 0xcc($sp) +/* 00420834 AFA600D0 */ sw $a2, 0xd0($sp) +/* 00420838 11C00007 */ beqz $t6, .L00420858 +/* 0042083C AFA700D4 */ sw $a3, 0xd4($sp) +/* 00420840 8F998238 */ lw $t9, %call16(demit_itext)($gp) +/* 00420844 27A40108 */ addiu $a0, $sp, 0x108 +/* 00420848 0320F809 */ jalr $t9 +/* 0042084C 00000000 */ nop +/* 00420850 10000007 */ b .L00420870 +/* 00420854 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420858: +/* 00420858 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0042085C 24040015 */ li $a0, 21 +/* 00420860 00002825 */ move $a1, $zero +/* 00420864 0320F809 */ jalr $t9 +/* 00420868 00000000 */ nop +/* 0042086C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420870: +/* 00420870 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 00420874 24040004 */ li $a0, 4 +/* 00420878 00002825 */ move $a1, $zero +/* 0042087C 0320F809 */ jalr $t9 +/* 00420880 24060002 */ li $a2, 2 +/* 00420884 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420888 8F8F8994 */ lw $t7, %got(ascii_out)($gp) +/* 0042088C 91EF0000 */ lbu $t7, ($t7) +/* 00420890 51E00008 */ beql $t7, $zero, .L004208B4 +/* 00420894 93B800CF */ lbu $t8, 0xcf($sp) +/* 00420898 8F998300 */ lw $t9, %call16(emit_file)($gp) +/* 0042089C 8FA400E0 */ lw $a0, 0xe0($sp) +/* 004208A0 24050001 */ li $a1, 1 +/* 004208A4 0320F809 */ jalr $t9 +/* 004208A8 00000000 */ nop +/* 004208AC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004208B0 93B800CF */ lbu $t8, 0xcf($sp) +.L004208B4: +/* 004208B4 13000007 */ beqz $t8, .L004208D4 +/* 004208B8 00000000 */ nop +/* 004208BC 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 004208C0 24040002 */ li $a0, 2 +/* 004208C4 8FA500C8 */ lw $a1, 0xc8($sp) +/* 004208C8 0320F809 */ jalr $t9 +/* 004208CC 00000000 */ nop +/* 004208D0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004208D4: +/* 004208D4 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 004208D8 2404001C */ li $a0, 28 +/* 004208DC 00002825 */ move $a1, $zero +/* 004208E0 8FA600E0 */ lw $a2, 0xe0($sp) +/* 004208E4 0320F809 */ jalr $t9 +/* 004208E8 8FA700E4 */ lw $a3, 0xe4($sp) +/* 004208EC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004208F0 2404001B */ li $a0, 27 +/* 004208F4 8FA500C8 */ lw $a1, 0xc8($sp) +/* 004208F8 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 004208FC 8FA600D0 */ lw $a2, 0xd0($sp) +/* 00420900 0320F809 */ jalr $t9 +/* 00420904 00000000 */ nop +/* 00420908 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0042090C 8FA400C8 */ lw $a0, 0xc8($sp) +/* 00420910 8F998594 */ lw $t9, %call16(output_entry_point)($gp) +/* 00420914 0320F809 */ jalr $t9 +/* 00420918 00000000 */ nop +/* 0042091C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420920 8F998304 */ lw $t9, %call16(emit_optimize_level)($gp) +/* 00420924 8F848A48 */ lw $a0, %got(olevel)($gp) +/* 00420928 0320F809 */ jalr $t9 +/* 0042092C 90840000 */ lbu $a0, ($a0) +/* 00420930 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420934 24010001 */ li $at, 1 +/* 00420938 8F8289E4 */ lw $v0, %got(pic_level)($gp) +/* 0042093C 8C420000 */ lw $v0, ($v0) +/* 00420940 10410013 */ beq $v0, $at, .L00420990 +/* 00420944 24010002 */ li $at, 2 +/* 00420948 14410018 */ bne $v0, $at, .L004209AC +/* 0042094C 93B900DF */ lbu $t9, 0xdf($sp) +/* 00420950 1320000F */ beqz $t9, .L00420990 +/* 00420954 00000000 */ nop +/* 00420958 8F888A48 */ lw $t0, %got(olevel)($gp) +/* 0042095C 91080000 */ lbu $t0, ($t0) +/* 00420960 2D010002 */ sltiu $at, $t0, 2 +/* 00420964 1420000A */ bnez $at, .L00420990 +/* 00420968 00000000 */ nop +/* 0042096C 8F898A90 */ lw $t1, %got(uses_gp)($gp) +/* 00420970 91290000 */ lbu $t1, ($t1) +/* 00420974 15200006 */ bnez $t1, .L00420990 +/* 00420978 00000000 */ nop +/* 0042097C 8F8A897C */ lw $t2, %got(i_ptr)($gp) +/* 00420980 8D4A0000 */ lw $t2, ($t2) +/* 00420984 2D4103E8 */ sltiu $at, $t2, 0x3e8 +/* 00420988 54200009 */ bnel $at, $zero, .L004209B0 +/* 0042098C 8FAB00D4 */ lw $t3, 0xd4($sp) +.L00420990: +/* 00420990 8F998294 */ lw $t9, %call16(emit_cpload)($gp) +/* 00420994 24040019 */ li $a0, 25 +/* 00420998 00002825 */ move $a1, $zero +/* 0042099C 8FA600C8 */ lw $a2, 0xc8($sp) +/* 004209A0 0320F809 */ jalr $t9 +/* 004209A4 00003825 */ move $a3, $zero +/* 004209A8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004209AC: +/* 004209AC 8FAB00D4 */ lw $t3, 0xd4($sp) +.L004209B0: +/* 004209B0 15600002 */ bnez $t3, .L004209BC +/* 004209B4 00000000 */ nop +/* 004209B8 AFA00100 */ sw $zero, 0x100($sp) +.L004209BC: +/* 004209BC 8F8C8A88 */ lw $t4, %got(init_dynmem)($gp) +/* 004209C0 918C0000 */ lbu $t4, ($t4) +/* 004209C4 51800022 */ beql $t4, $zero, .L00420A50 +/* 004209C8 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 004209CC 8FAD00D4 */ lw $t5, 0xd4($sp) +/* 004209D0 51A0001F */ beql $t5, $zero, .L00420A50 +/* 004209D4 8FAE00D4 */ lw $t6, 0xd4($sp) +/* 004209D8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004209DC 00002025 */ move $a0, $zero +/* 004209E0 24050001 */ li $a1, 1 +/* 004209E4 0320F809 */ jalr $t9 +/* 004209E8 00000000 */ nop +/* 004209EC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004209F0 A3A200C2 */ sb $v0, 0xc2($sp) +/* 004209F4 00002025 */ move $a0, $zero +/* 004209F8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004209FC 24050001 */ li $a1, 1 +/* 00420A00 0320F809 */ jalr $t9 +/* 00420A04 00000000 */ nop +/* 00420A08 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420A0C 3C06FFFA */ lui $a2, 0xfffa +/* 00420A10 A3A200C1 */ sb $v0, 0xc1($sp) +/* 00420A14 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420A18 34C65A5A */ ori $a2, $a2, 0x5a5a +/* 00420A1C 24040029 */ li $a0, 41 +/* 00420A20 93A500C2 */ lbu $a1, 0xc2($sp) +/* 00420A24 0320F809 */ jalr $t9 +/* 00420A28 00003825 */ move $a3, $zero +/* 00420A2C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420A30 24040031 */ li $a0, 49 +/* 00420A34 93A500C1 */ lbu $a1, 0xc1($sp) +/* 00420A38 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 00420A3C 2406001D */ li $a2, 29 +/* 00420A40 0320F809 */ jalr $t9 +/* 00420A44 00000000 */ nop +/* 00420A48 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420A4C 8FAE00D4 */ lw $t6, 0xd4($sp) +.L00420A50: +/* 00420A50 51C00064 */ beql $t6, $zero, .L00420BE4 +/* 00420A54 93A800F3 */ lbu $t0, 0xf3($sp) +/* 00420A58 8F828A8C */ lw $v0, %got(max_stack)($gp) +/* 00420A5C 2401FFFF */ li $at, -1 +/* 00420A60 8FAF00D4 */ lw $t7, 0xd4($sp) +/* 00420A64 8C420000 */ lw $v0, ($v0) +/* 00420A68 1041004A */ beq $v0, $at, .L00420B94 +/* 00420A6C 01E2082A */ slt $at, $t7, $v0 +/* 00420A70 14200039 */ bnez $at, .L00420B58 +/* 00420A74 24040056 */ li $a0, 86 +/* 00420A78 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 00420A7C 24040018 */ li $a0, 24 +/* 00420A80 00002825 */ move $a1, $zero +/* 00420A84 0320F809 */ jalr $t9 +/* 00420A88 24060001 */ li $a2, 1 +/* 00420A8C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420A90 24040031 */ li $a0, 49 +/* 00420A94 24050019 */ li $a1, 25 +/* 00420A98 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 00420A9C 2406001F */ li $a2, 31 +/* 00420AA0 0320F809 */ jalr $t9 +/* 00420AA4 00000000 */ nop +/* 00420AA8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420AAC 24040029 */ li $a0, 41 +/* 00420AB0 24050018 */ li $a1, 24 +/* 00420AB4 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420AB8 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00420ABC 00003825 */ move $a3, $zero +/* 00420AC0 0320F809 */ jalr $t9 +/* 00420AC4 00000000 */ nop +/* 00420AC8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420ACC 24040035 */ li $a0, 53 +/* 00420AD0 240500C0 */ li $a1, 192 +/* 00420AD4 8F998268 */ lw $t9, %call16(demit_regmask)($gp) +/* 00420AD8 00003025 */ move $a2, $zero +/* 00420ADC 0320F809 */ jalr $t9 +/* 00420AE0 00000000 */ nop +/* 00420AE4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420AE8 24040023 */ li $a0, 35 +/* 00420AEC 00003025 */ move $a2, $zero +/* 00420AF0 8F998264 */ lw $t9, %call16(demit_a)($gp) +/* 00420AF4 8F8589D4 */ lw $a1, %got(stack_limit_bn)($gp) +/* 00420AF8 0320F809 */ jalr $t9 +/* 00420AFC 8CA50000 */ lw $a1, ($a1) +/* 00420B00 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420B04 24040056 */ li $a0, 86 +/* 00420B08 2405001D */ li $a1, 29 +/* 00420B0C 8F99826C */ lw $t9, %call16(demit_rrr)($gp) +/* 00420B10 2406001D */ li $a2, 29 +/* 00420B14 24070018 */ li $a3, 24 +/* 00420B18 0320F809 */ jalr $t9 +/* 00420B1C 00000000 */ nop +/* 00420B20 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420B24 24040018 */ li $a0, 24 +/* 00420B28 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00420B2C 0320F809 */ jalr $t9 +/* 00420B30 00000000 */ nop +/* 00420B34 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420B38 24040031 */ li $a0, 49 +/* 00420B3C 2405001F */ li $a1, 31 +/* 00420B40 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 00420B44 24060019 */ li $a2, 25 +/* 00420B48 0320F809 */ jalr $t9 +/* 00420B4C 00000000 */ nop +/* 00420B50 10000023 */ b .L00420BE0 +/* 00420B54 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420B58: +/* 00420B58 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420B5C 2405001D */ li $a1, 29 +/* 00420B60 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00420B64 0320F809 */ jalr $t9 +/* 00420B68 00003825 */ move $a3, $zero +/* 00420B6C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420B70 24040057 */ li $a0, 87 +/* 00420B74 00002825 */ move $a1, $zero +/* 00420B78 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00420B7C 00003025 */ move $a2, $zero +/* 00420B80 2407001D */ li $a3, 29 +/* 00420B84 0320F809 */ jalr $t9 +/* 00420B88 AFA00010 */ sw $zero, 0x10($sp) +/* 00420B8C 10000014 */ b .L00420BE0 +/* 00420B90 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420B94: +/* 00420B94 8F988A74 */ lw $t8, %got(reversed_stack)($gp) +/* 00420B98 2405001D */ li $a1, 29 +/* 00420B9C 24040056 */ li $a0, 86 +/* 00420BA0 93180000 */ lbu $t8, ($t8) +/* 00420BA4 13000008 */ beqz $t8, .L00420BC8 +/* 00420BA8 00000000 */ nop +/* 00420BAC 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420BB0 24040002 */ li $a0, 2 +/* 00420BB4 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00420BB8 0320F809 */ jalr $t9 +/* 00420BBC 00003825 */ move $a3, $zero +/* 00420BC0 10000007 */ b .L00420BE0 +/* 00420BC4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420BC8: +/* 00420BC8 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420BCC 2405001D */ li $a1, 29 +/* 00420BD0 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00420BD4 0320F809 */ jalr $t9 +/* 00420BD8 00003825 */ move $a3, $zero +/* 00420BDC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420BE0: +/* 00420BE0 93A800F3 */ lbu $t0, 0xf3($sp) +.L00420BE4: +/* 00420BE4 24190017 */ li $t9, 23 +/* 00420BE8 A3B900BB */ sb $t9, 0xbb($sp) +/* 00420BEC 5100004D */ beql $t0, $zero, .L00420D24 +/* 00420BF0 8FA900D4 */ lw $t1, 0xd4($sp) +/* 00420BF4 8F8689D4 */ lw $a2, %got(stack_limit_bn)($gp) +/* 00420BF8 240500C1 */ li $a1, 193 +/* 00420BFC 240D0008 */ li $t5, 8 +/* 00420C00 8CC60000 */ lw $a2, ($a2) +/* 00420C04 2404002A */ li $a0, 42 +/* 00420C08 14C0003F */ bnez $a2, .L00420D08 +/* 00420C0C 00000000 */ nop +/* 00420C10 8F898038 */ lw $t1, %got(RO_10009880)($gp) +/* 00420C14 24040004 */ li $a0, 4 +/* 00420C18 03A06025 */ move $t4, $sp +/* 00420C1C 25299880 */ addiu $t1, %lo(RO_10009880) # addiu $t1, $t1, -0x6780 +/* 00420C20 252D0048 */ addiu $t5, $t1, 0x48 +.L00420C24: +/* 00420C24 892B0000 */ lwl $t3, ($t1) +/* 00420C28 992B0003 */ lwr $t3, 3($t1) +/* 00420C2C 2529000C */ addiu $t1, $t1, 0xc +/* 00420C30 258C000C */ addiu $t4, $t4, 0xc +/* 00420C34 A98BFFFC */ swl $t3, -4($t4) +/* 00420C38 B98BFFFF */ swr $t3, -1($t4) +/* 00420C3C 892AFFF8 */ lwl $t2, -8($t1) +/* 00420C40 992AFFFB */ lwr $t2, -5($t1) +/* 00420C44 A98A0000 */ swl $t2, ($t4) +/* 00420C48 B98A0003 */ swr $t2, 3($t4) +/* 00420C4C 892BFFFC */ lwl $t3, -4($t1) +/* 00420C50 992BFFFF */ lwr $t3, -1($t1) +/* 00420C54 A98B0004 */ swl $t3, 4($t4) +/* 00420C58 152DFFF2 */ bne $t1, $t5, .L00420C24 +/* 00420C5C B98B0007 */ swr $t3, 7($t4) +/* 00420C60 892B0000 */ lwl $t3, ($t1) +/* 00420C64 992B0003 */ lwr $t3, 3($t1) +/* 00420C68 8F8E8038 */ lw $t6, %got(RO_10009830)($gp) +/* 00420C6C 03A0C825 */ move $t9, $sp +/* 00420C70 A98B0008 */ swl $t3, 8($t4) +/* 00420C74 B98B000B */ swr $t3, 0xb($t4) +/* 00420C78 892A0004 */ lwl $t2, 4($t1) +/* 00420C7C 992A0007 */ lwr $t2, 7($t1) +/* 00420C80 25CE9830 */ addiu $t6, %lo(RO_10009830) # addiu $t6, $t6, -0x67d0 +/* 00420C84 25C80048 */ addiu $t0, $t6, 0x48 +/* 00420C88 A98A000C */ swl $t2, 0xc($t4) +/* 00420C8C B98A000F */ swr $t2, 0xf($t4) +.L00420C90: +/* 00420C90 89D80000 */ lwl $t8, ($t6) +/* 00420C94 99D80003 */ lwr $t8, 3($t6) +/* 00420C98 25CE000C */ addiu $t6, $t6, 0xc +/* 00420C9C 2739000C */ addiu $t9, $t9, 0xc +/* 00420CA0 AB38004C */ swl $t8, 0x4c($t9) +/* 00420CA4 BB38004F */ swr $t8, 0x4f($t9) +/* 00420CA8 89CFFFF8 */ lwl $t7, -8($t6) +/* 00420CAC 99CFFFFB */ lwr $t7, -5($t6) +/* 00420CB0 AB2F0050 */ swl $t7, 0x50($t9) +/* 00420CB4 BB2F0053 */ swr $t7, 0x53($t9) +/* 00420CB8 89D8FFFC */ lwl $t8, -4($t6) +/* 00420CBC 99D8FFFF */ lwr $t8, -1($t6) +/* 00420CC0 AB380054 */ swl $t8, 0x54($t9) +/* 00420CC4 15C8FFF2 */ bne $t6, $t0, .L00420C90 +/* 00420CC8 BB380057 */ swr $t8, 0x57($t9) +/* 00420CCC 89D80000 */ lwl $t8, ($t6) +/* 00420CD0 99D80003 */ lwr $t8, 3($t6) +/* 00420CD4 AB380058 */ swl $t8, 0x58($t9) +/* 00420CD8 BB38005B */ swr $t8, 0x5b($t9) +/* 00420CDC 89CF0004 */ lwl $t7, 4($t6) +/* 00420CE0 99CF0007 */ lwr $t7, 7($t6) +/* 00420CE4 AB2F005C */ swl $t7, 0x5c($t9) +/* 00420CE8 BB2F005F */ swr $t7, 0x5f($t9) +/* 00420CEC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00420CF0 8FA7000C */ lw $a3, 0xc($sp) +/* 00420CF4 8FA60008 */ lw $a2, 8($sp) +/* 00420CF8 0320F809 */ jalr $t9 +/* 00420CFC 00000000 */ nop +/* 00420D00 10000007 */ b .L00420D20 +/* 00420D04 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420D08: +/* 00420D08 8F99827C */ lw $t9, %call16(demit_ra)($gp) +/* 00420D0C A3AD00BB */ sb $t5, 0xbb($sp) +/* 00420D10 24050008 */ li $a1, 8 +/* 00420D14 0320F809 */ jalr $t9 +/* 00420D18 00003825 */ move $a3, $zero +/* 00420D1C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420D20: +/* 00420D20 8FA900D4 */ lw $t1, 0xd4($sp) +.L00420D24: +/* 00420D24 93AC00EF */ lbu $t4, 0xef($sp) +/* 00420D28 1120003F */ beqz $t1, .L00420E28 +/* 00420D2C 00000000 */ nop +/* 00420D30 1180003D */ beqz $t4, .L00420E28 +/* 00420D34 00000000 */ nop +/* 00420D38 8F8A89B8 */ lw $t2, %got(isa)($gp) +/* 00420D3C 24010001 */ li $at, 1 +/* 00420D40 914A0000 */ lbu $t2, ($t2) +/* 00420D44 15410015 */ bne $t2, $at, .L00420D9C +/* 00420D48 00000000 */ nop +/* 00420D4C 8F8B8A74 */ lw $t3, %got(reversed_stack)($gp) +/* 00420D50 93A500BB */ lbu $a1, 0xbb($sp) +/* 00420D54 24040100 */ li $a0, 256 +/* 00420D58 916B0000 */ lbu $t3, ($t3) +/* 00420D5C 11600008 */ beqz $t3, .L00420D80 +/* 00420D60 00000000 */ nop +/* 00420D64 8F998270 */ lw $t9, %call16(demit_rri)($gp) +/* 00420D68 24040100 */ li $a0, 256 +/* 00420D6C 2406001D */ li $a2, 29 +/* 00420D70 0320F809 */ jalr $t9 +/* 00420D74 24070009 */ li $a3, 9 +/* 00420D78 1000002B */ b .L00420E28 +/* 00420D7C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420D80: +/* 00420D80 8F998270 */ lw $t9, %call16(demit_rri)($gp) +/* 00420D84 2405001D */ li $a1, 29 +/* 00420D88 93A600BB */ lbu $a2, 0xbb($sp) +/* 00420D8C 0320F809 */ jalr $t9 +/* 00420D90 24070009 */ li $a3, 9 +/* 00420D94 10000024 */ b .L00420E28 +/* 00420D98 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420D9C: +/* 00420D9C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00420DA0 0320F809 */ jalr $t9 +/* 00420DA4 00000000 */ nop +/* 00420DA8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420DAC 00403825 */ move $a3, $v0 +/* 00420DB0 2405001D */ li $a1, 29 +/* 00420DB4 8F888A74 */ lw $t0, %got(reversed_stack)($gp) +/* 00420DB8 2404000F */ li $a0, 15 +/* 00420DBC 91080000 */ lbu $t0, ($t0) +/* 00420DC0 11000008 */ beqz $t0, .L00420DE4 +/* 00420DC4 00000000 */ nop +/* 00420DC8 8F998274 */ lw $t9, %call16(demit_rrll)($gp) +/* 00420DCC 24040015 */ li $a0, 21 +/* 00420DD0 93A600BB */ lbu $a2, 0xbb($sp) +/* 00420DD4 0320F809 */ jalr $t9 +/* 00420DD8 AFA200BC */ sw $v0, 0xbc($sp) +/* 00420DDC 10000007 */ b .L00420DFC +/* 00420DE0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420DE4: +/* 00420DE4 8F998274 */ lw $t9, %call16(demit_rrll)($gp) +/* 00420DE8 2405001D */ li $a1, 29 +/* 00420DEC 93A600BB */ lbu $a2, 0xbb($sp) +/* 00420DF0 0320F809 */ jalr $t9 +/* 00420DF4 AFA700BC */ sw $a3, 0xbc($sp) +/* 00420DF8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420DFC: +/* 00420DFC 8F998278 */ lw $t9, %call16(demit_i)($gp) +/* 00420E00 2404001B */ li $a0, 27 +/* 00420E04 24050009 */ li $a1, 9 +/* 00420E08 0320F809 */ jalr $t9 +/* 00420E0C 00000000 */ nop +/* 00420E10 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420E14 8FA400BC */ lw $a0, 0xbc($sp) +/* 00420E18 8F998298 */ lw $t9, %call16(ddefine_label)($gp) +/* 00420E1C 0320F809 */ jalr $t9 +/* 00420E20 00000000 */ nop +/* 00420E24 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420E28: +/* 00420E28 8F8E8A88 */ lw $t6, %got(init_dynmem)($gp) +/* 00420E2C 8FB900D4 */ lw $t9, 0xd4($sp) +/* 00420E30 91CE0000 */ lbu $t6, ($t6) +/* 00420E34 11C00052 */ beqz $t6, .L00420F80 +/* 00420E38 00000000 */ nop +/* 00420E3C 13200050 */ beqz $t9, .L00420F80 +/* 00420E40 00000000 */ nop +/* 00420E44 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00420E48 0320F809 */ jalr $t9 +/* 00420E4C 00000000 */ nop +/* 00420E50 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420E54 AFA200BC */ sw $v0, 0xbc($sp) +/* 00420E58 00402025 */ move $a0, $v0 +/* 00420E5C 8F998298 */ lw $t9, %call16(ddefine_label)($gp) +/* 00420E60 0320F809 */ jalr $t9 +/* 00420E64 00000000 */ nop +/* 00420E68 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420E6C 93A500C2 */ lbu $a1, 0xc2($sp) +/* 00420E70 00003025 */ move $a2, $zero +/* 00420E74 8F8F8A74 */ lw $t7, %got(reversed_stack)($gp) +/* 00420E78 24040056 */ li $a0, 86 +/* 00420E7C 91EF0000 */ lbu $t7, ($t7) +/* 00420E80 11E00018 */ beqz $t7, .L00420EE4 +/* 00420E84 00000000 */ nop +/* 00420E88 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00420E8C 24040057 */ li $a0, 87 +/* 00420E90 93A700C1 */ lbu $a3, 0xc1($sp) +/* 00420E94 0320F809 */ jalr $t9 +/* 00420E98 AFA00010 */ sw $zero, 0x10($sp) +/* 00420E9C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420EA0 24040057 */ li $a0, 87 +/* 00420EA4 93A500C2 */ lbu $a1, 0xc2($sp) +/* 00420EA8 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00420EAC 24060004 */ li $a2, 4 +/* 00420EB0 93A700C1 */ lbu $a3, 0xc1($sp) +/* 00420EB4 0320F809 */ jalr $t9 +/* 00420EB8 AFA00010 */ sw $zero, 0x10($sp) +/* 00420EBC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420EC0 24040002 */ li $a0, 2 +/* 00420EC4 93A500C1 */ lbu $a1, 0xc1($sp) +/* 00420EC8 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420ECC 24060008 */ li $a2, 8 +/* 00420ED0 00003825 */ move $a3, $zero +/* 00420ED4 0320F809 */ jalr $t9 +/* 00420ED8 00000000 */ nop +/* 00420EDC 10000017 */ b .L00420F3C +/* 00420EE0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420EE4: +/* 00420EE4 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 00420EE8 93A500C1 */ lbu $a1, 0xc1($sp) +/* 00420EEC 24060008 */ li $a2, 8 +/* 00420EF0 0320F809 */ jalr $t9 +/* 00420EF4 00003825 */ move $a3, $zero +/* 00420EF8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420EFC 24040057 */ li $a0, 87 +/* 00420F00 93A500C2 */ lbu $a1, 0xc2($sp) +/* 00420F04 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00420F08 00003025 */ move $a2, $zero +/* 00420F0C 93A700C1 */ lbu $a3, 0xc1($sp) +/* 00420F10 0320F809 */ jalr $t9 +/* 00420F14 AFA00010 */ sw $zero, 0x10($sp) +/* 00420F18 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420F1C 24040057 */ li $a0, 87 +/* 00420F20 93A500C2 */ lbu $a1, 0xc2($sp) +/* 00420F24 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00420F28 24060004 */ li $a2, 4 +/* 00420F2C 93A700C1 */ lbu $a3, 0xc1($sp) +/* 00420F30 0320F809 */ jalr $t9 +/* 00420F34 AFA00010 */ sw $zero, 0x10($sp) +/* 00420F38 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420F3C: +/* 00420F3C 8F998274 */ lw $t9, %call16(demit_rrll)($gp) +/* 00420F40 2404001A */ li $a0, 26 +/* 00420F44 93A500C1 */ lbu $a1, 0xc1($sp) +/* 00420F48 2406001D */ li $a2, 29 +/* 00420F4C 0320F809 */ jalr $t9 +/* 00420F50 8FA700BC */ lw $a3, 0xbc($sp) +/* 00420F54 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420F58 93A400C2 */ lbu $a0, 0xc2($sp) +/* 00420F5C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00420F60 0320F809 */ jalr $t9 +/* 00420F64 00000000 */ nop +/* 00420F68 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420F6C 93A400C1 */ lbu $a0, 0xc1($sp) +/* 00420F70 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00420F74 0320F809 */ jalr $t9 +/* 00420F78 00000000 */ nop +/* 00420F7C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00420F80: +/* 00420F80 8F9982F0 */ lw $t9, %call16(gen_reg_save_restore)($gp) +/* 00420F84 93B800EB */ lbu $t8, 0xeb($sp) +/* 00420F88 8FAD0114 */ lw $t5, 0x114($sp) +/* 00420F8C 8FA90118 */ lw $t1, 0x118($sp) +/* 00420F90 8FA400D4 */ lw $a0, 0xd4($sp) +/* 00420F94 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00420F98 8FA600F8 */ lw $a2, 0xf8($sp) +/* 00420F9C 8FA70100 */ lw $a3, 0x100($sp) +/* 00420FA0 AFB80010 */ sw $t8, 0x10($sp) +/* 00420FA4 AFAD0014 */ sw $t5, 0x14($sp) +/* 00420FA8 0320F809 */ jalr $t9 +/* 00420FAC AFA90018 */ sw $t1, 0x18($sp) +/* 00420FB0 93AC00F3 */ lbu $t4, 0xf3($sp) +/* 00420FB4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420FB8 51800008 */ beql $t4, $zero, .L00420FDC +/* 00420FBC 8FAA00D4 */ lw $t2, 0xd4($sp) +/* 00420FC0 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 00420FC4 24040031 */ li $a0, 49 +/* 00420FC8 24050017 */ li $a1, 23 +/* 00420FCC 0320F809 */ jalr $t9 +/* 00420FD0 93A600BB */ lbu $a2, 0xbb($sp) +/* 00420FD4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00420FD8 8FAA00D4 */ lw $t2, 0xd4($sp) +.L00420FDC: +/* 00420FDC 93AB00EB */ lbu $t3, 0xeb($sp) +/* 00420FE0 51400024 */ beql $t2, $zero, .L00421074 +/* 00420FE4 8FB90110 */ lw $t9, 0x110($sp) +/* 00420FE8 55600022 */ bnel $t3, $zero, .L00421074 +/* 00420FEC 8FB90110 */ lw $t9, 0x110($sp) +/* 00420FF0 8F88896C */ lw $t0, %got(excpt)($gp) +/* 00420FF4 91080000 */ lbu $t0, ($t0) +/* 00420FF8 1100000A */ beqz $t0, .L00421024 +/* 00420FFC 00000000 */ nop +/* 00421000 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00421004 0320F809 */ jalr $t9 +/* 00421008 00000000 */ nop +/* 0042100C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00421010 00402025 */ move $a0, $v0 +/* 00421014 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00421018 0320F809 */ jalr $t9 +/* 0042101C 00000000 */ nop +/* 00421020 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421024: +/* 00421024 8F8E8A74 */ lw $t6, %got(reversed_stack)($gp) +/* 00421028 2405001D */ li $a1, 29 +/* 0042102C 24040002 */ li $a0, 2 +/* 00421030 91CE0000 */ lbu $t6, ($t6) +/* 00421034 11C00008 */ beqz $t6, .L00421058 +/* 00421038 00000000 */ nop +/* 0042103C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00421040 24040056 */ li $a0, 86 +/* 00421044 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00421048 0320F809 */ jalr $t9 +/* 0042104C 00003825 */ move $a3, $zero +/* 00421050 10000007 */ b .L00421070 +/* 00421054 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421058: +/* 00421058 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042105C 2405001D */ li $a1, 29 +/* 00421060 8FA600D4 */ lw $a2, 0xd4($sp) +/* 00421064 0320F809 */ jalr $t9 +/* 00421068 00003825 */ move $a3, $zero +/* 0042106C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421070: +/* 00421070 8FB90110 */ lw $t9, 0x110($sp) +.L00421074: +/* 00421074 2401FFFF */ li $at, -1 +/* 00421078 17210007 */ bne $t9, $at, .L00421098 +/* 0042107C 00000000 */ nop +/* 00421080 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 00421084 24040022 */ li $a0, 34 +/* 00421088 2405001F */ li $a1, 31 +/* 0042108C 0320F809 */ jalr $t9 +/* 00421090 00000000 */ nop +/* 00421094 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421098: +/* 00421098 8F9982FC */ lw $t9, %call16(demit_frame)($gp) +/* 0042109C 8F858A60 */ lw $a1, %got(frame_pointer)($gp) +/* 004210A0 8FA400D4 */ lw $a0, 0xd4($sp) +/* 004210A4 2406001F */ li $a2, 31 +/* 004210A8 0320F809 */ jalr $t9 +/* 004210AC 90A50000 */ lbu $a1, ($a1) +/* 004210B0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004210B4 8F8F89F4 */ lw $t7, %got(framesz_relocatable)($gp) +/* 004210B8 91EF0000 */ lbu $t7, ($t7) +/* 004210BC 11E00014 */ beqz $t7, .L00421110 +/* 004210C0 00000000 */ nop +/* 004210C4 8F988A74 */ lw $t8, %got(reversed_stack)($gp) +/* 004210C8 2405001D */ li $a1, 29 +/* 004210CC 24040056 */ li $a0, 86 +/* 004210D0 93180000 */ lbu $t8, ($t8) +/* 004210D4 13000008 */ beqz $t8, .L004210F8 +/* 004210D8 00000000 */ nop +/* 004210DC 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 004210E0 24040002 */ li $a0, 2 +/* 004210E4 8FA600F4 */ lw $a2, 0xf4($sp) +/* 004210E8 0320F809 */ jalr $t9 +/* 004210EC 24070006 */ li $a3, 6 +/* 004210F0 10000007 */ b .L00421110 +/* 004210F4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004210F8: +/* 004210F8 8F99825C */ lw $t9, %call16(demit_ri)($gp) +/* 004210FC 2405001D */ li $a1, 29 +/* 00421100 8FA600F4 */ lw $a2, 0xf4($sp) +/* 00421104 0320F809 */ jalr $t9 +/* 00421108 24070006 */ li $a3, 6 +/* 0042110C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421110: +/* 00421110 8F8D896C */ lw $t5, %got(excpt)($gp) +/* 00421114 93A900FF */ lbu $t1, 0xff($sp) +/* 00421118 91AD0000 */ lbu $t5, ($t5) +/* 0042111C 51A00011 */ beql $t5, $zero, .L00421164 +/* 00421120 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00421124 11200008 */ beqz $t1, .L00421148 +/* 00421128 00000000 */ nop +/* 0042112C 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 00421130 2404003C */ li $a0, 60 +/* 00421134 00002825 */ move $a1, $zero +/* 00421138 0320F809 */ jalr $t9 +/* 0042113C 24060001 */ li $a2, 1 +/* 00421140 10000007 */ b .L00421160 +/* 00421144 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421148: +/* 00421148 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0042114C 2404003C */ li $a0, 60 +/* 00421150 00002825 */ move $a1, $zero +/* 00421154 0320F809 */ jalr $t9 +/* 00421158 00003025 */ move $a2, $zero +/* 0042115C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00421160: +/* 00421160 8FBF00B4 */ lw $ra, 0xb4($sp) +.L00421164: +/* 00421164 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 00421168 03E00008 */ jr $ra +/* 0042116C 00000000 */ nop + .type gen_entry_exit, @function + .size gen_entry_exit, .-gen_entry_exit + .end gen_entry_exit + +glabel gen_entry + .ent gen_entry + # 0042BDAC eval +/* 00421170 3C1C0FC0 */ .cpload $t9 +/* 00421174 279CE8E0 */ +/* 00421178 0399E021 */ +/* 0042117C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00421180 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00421184 AFBF0024 */ sw $ra, 0x24($sp) +/* 00421188 AFA40030 */ sw $a0, 0x30($sp) +/* 0042118C AFA50034 */ sw $a1, 0x34($sp) +/* 00421190 AFBC0020 */ sw $gp, 0x20($sp) +/* 00421194 AFA60038 */ sw $a2, 0x38($sp) +/* 00421198 AFA7003C */ sw $a3, 0x3c($sp) +/* 0042119C 8FA50030 */ lw $a1, 0x30($sp) +/* 004211A0 0320F809 */ jalr $t9 +/* 004211A4 24040002 */ li $a0, 2 +/* 004211A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004211AC 2404002E */ li $a0, 46 +/* 004211B0 8FA50030 */ lw $a1, 0x30($sp) +/* 004211B4 8F998240 */ lw $t9, %call16(emit_dir1)($gp) +/* 004211B8 8FA60034 */ lw $a2, 0x34($sp) +/* 004211BC 0320F809 */ jalr $t9 +/* 004211C0 00000000 */ nop +/* 004211C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004211C8 00002025 */ move $a0, $zero +/* 004211CC 8FA50030 */ lw $a1, 0x30($sp) +/* 004211D0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004211D4 0320F809 */ jalr $t9 +/* 004211D8 00000000 */ nop +/* 004211DC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004211E0 24040019 */ li $a0, 25 +/* 004211E4 8F8E89E4 */ lw $t6, %got(pic_level)($gp) +/* 004211E8 8DCE0000 */ lw $t6, ($t6) +/* 004211EC 59C00008 */ blezl $t6, .L00421210 +/* 004211F0 8FAF0038 */ lw $t7, 0x38($sp) +/* 004211F4 8F998294 */ lw $t9, %call16(emit_cpload)($gp) +/* 004211F8 00002825 */ move $a1, $zero +/* 004211FC 8FA60030 */ lw $a2, 0x30($sp) +/* 00421200 0320F809 */ jalr $t9 +/* 00421204 24070001 */ li $a3, 1 +/* 00421208 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042120C 8FAF0038 */ lw $t7, 0x38($sp) +.L00421210: +/* 00421210 15E00002 */ bnez $t7, .L0042121C +/* 00421214 00000000 */ nop +/* 00421218 AFA00044 */ sw $zero, 0x44($sp) +.L0042121C: +/* 0042121C 8F988A88 */ lw $t8, %got(init_dynmem)($gp) +/* 00421220 8FB90038 */ lw $t9, 0x38($sp) +/* 00421224 93180000 */ lbu $t8, ($t8) +/* 00421228 53000021 */ beql $t8, $zero, .L004212B0 +/* 0042122C 8FA80038 */ lw $t0, 0x38($sp) +/* 00421230 5320001F */ beql $t9, $zero, .L004212B0 +/* 00421234 8FA80038 */ lw $t0, 0x38($sp) +/* 00421238 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042123C 00002025 */ move $a0, $zero +/* 00421240 24050001 */ li $a1, 1 +/* 00421244 0320F809 */ jalr $t9 +/* 00421248 00000000 */ nop +/* 0042124C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421250 A3A2002B */ sb $v0, 0x2b($sp) +/* 00421254 00002025 */ move $a0, $zero +/* 00421258 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042125C 24050001 */ li $a1, 1 +/* 00421260 0320F809 */ jalr $t9 +/* 00421264 00000000 */ nop +/* 00421268 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042126C 3C06FFFA */ lui $a2, 0xfffa +/* 00421270 A3A2002A */ sb $v0, 0x2a($sp) +/* 00421274 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00421278 34C65A5A */ ori $a2, $a2, 0x5a5a +/* 0042127C 24040029 */ li $a0, 41 +/* 00421280 93A5002B */ lbu $a1, 0x2b($sp) +/* 00421284 0320F809 */ jalr $t9 +/* 00421288 00003825 */ move $a3, $zero +/* 0042128C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421290 24040031 */ li $a0, 49 +/* 00421294 93A5002A */ lbu $a1, 0x2a($sp) +/* 00421298 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042129C 2406001D */ li $a2, 29 +/* 004212A0 0320F809 */ jalr $t9 +/* 004212A4 00000000 */ nop +/* 004212A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004212AC 8FA80038 */ lw $t0, 0x38($sp) +.L004212B0: +/* 004212B0 1100001F */ beqz $t0, .L00421330 +/* 004212B4 00000000 */ nop +/* 004212B8 8F898A74 */ lw $t1, %got(reversed_stack)($gp) +/* 004212BC 24040056 */ li $a0, 86 +/* 004212C0 91290000 */ lbu $t1, ($t1) +/* 004212C4 11200014 */ beqz $t1, .L00421318 +/* 004212C8 00000000 */ nop +/* 004212CC 8F858A60 */ lw $a1, %got(frame_pointer)($gp) +/* 004212D0 2401001D */ li $at, 29 +/* 004212D4 90A50000 */ lbu $a1, ($a1) +/* 004212D8 10A10007 */ beq $a1, $at, .L004212F8 +/* 004212DC 00000000 */ nop +/* 004212E0 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 004212E4 24040031 */ li $a0, 49 +/* 004212E8 2406001D */ li $a2, 29 +/* 004212EC 0320F809 */ jalr $t9 +/* 004212F0 00000000 */ nop +/* 004212F4 8FBC0020 */ lw $gp, 0x20($sp) +.L004212F8: +/* 004212F8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004212FC 24040002 */ li $a0, 2 +/* 00421300 2405001D */ li $a1, 29 +/* 00421304 8FA60038 */ lw $a2, 0x38($sp) +/* 00421308 0320F809 */ jalr $t9 +/* 0042130C 00003825 */ move $a3, $zero +/* 00421310 10000007 */ b .L00421330 +/* 00421314 8FBC0020 */ lw $gp, 0x20($sp) +.L00421318: +/* 00421318 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042131C 2405001D */ li $a1, 29 +/* 00421320 8FA60038 */ lw $a2, 0x38($sp) +/* 00421324 0320F809 */ jalr $t9 +/* 00421328 00003825 */ move $a3, $zero +/* 0042132C 8FBC0020 */ lw $gp, 0x20($sp) +.L00421330: +/* 00421330 8F8A8A88 */ lw $t2, %got(init_dynmem)($gp) +/* 00421334 8FAB0038 */ lw $t3, 0x38($sp) +/* 00421338 914A0000 */ lbu $t2, ($t2) +/* 0042133C 11400052 */ beqz $t2, .L00421488 +/* 00421340 00000000 */ nop +/* 00421344 11600050 */ beqz $t3, .L00421488 +/* 00421348 00000000 */ nop +/* 0042134C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00421350 0320F809 */ jalr $t9 +/* 00421354 00000000 */ nop +/* 00421358 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042135C AFA2002C */ sw $v0, 0x2c($sp) +/* 00421360 00402025 */ move $a0, $v0 +/* 00421364 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00421368 0320F809 */ jalr $t9 +/* 0042136C 00000000 */ nop +/* 00421370 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421374 93A5002B */ lbu $a1, 0x2b($sp) +/* 00421378 00003025 */ move $a2, $zero +/* 0042137C 8F8C8A74 */ lw $t4, %got(reversed_stack)($gp) +/* 00421380 24040056 */ li $a0, 86 +/* 00421384 918C0000 */ lbu $t4, ($t4) +/* 00421388 11800018 */ beqz $t4, .L004213EC +/* 0042138C 00000000 */ nop +/* 00421390 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00421394 24040057 */ li $a0, 87 +/* 00421398 93A7002A */ lbu $a3, 0x2a($sp) +/* 0042139C 0320F809 */ jalr $t9 +/* 004213A0 AFA00010 */ sw $zero, 0x10($sp) +/* 004213A4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004213A8 24040057 */ li $a0, 87 +/* 004213AC 93A5002B */ lbu $a1, 0x2b($sp) +/* 004213B0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004213B4 24060004 */ li $a2, 4 +/* 004213B8 93A7002A */ lbu $a3, 0x2a($sp) +/* 004213BC 0320F809 */ jalr $t9 +/* 004213C0 AFA00010 */ sw $zero, 0x10($sp) +/* 004213C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004213C8 24040002 */ li $a0, 2 +/* 004213CC 93A5002A */ lbu $a1, 0x2a($sp) +/* 004213D0 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004213D4 24060008 */ li $a2, 8 +/* 004213D8 00003825 */ move $a3, $zero +/* 004213DC 0320F809 */ jalr $t9 +/* 004213E0 00000000 */ nop +/* 004213E4 10000017 */ b .L00421444 +/* 004213E8 8FBC0020 */ lw $gp, 0x20($sp) +.L004213EC: +/* 004213EC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004213F0 93A5002A */ lbu $a1, 0x2a($sp) +/* 004213F4 24060008 */ li $a2, 8 +/* 004213F8 0320F809 */ jalr $t9 +/* 004213FC 00003825 */ move $a3, $zero +/* 00421400 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421404 24040057 */ li $a0, 87 +/* 00421408 93A5002B */ lbu $a1, 0x2b($sp) +/* 0042140C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00421410 00003025 */ move $a2, $zero +/* 00421414 93A7002A */ lbu $a3, 0x2a($sp) +/* 00421418 0320F809 */ jalr $t9 +/* 0042141C AFA00010 */ sw $zero, 0x10($sp) +/* 00421420 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421424 24040057 */ li $a0, 87 +/* 00421428 93A5002B */ lbu $a1, 0x2b($sp) +/* 0042142C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00421430 24060004 */ li $a2, 4 +/* 00421434 93A7002A */ lbu $a3, 0x2a($sp) +/* 00421438 0320F809 */ jalr $t9 +/* 0042143C AFA00010 */ sw $zero, 0x10($sp) +/* 00421440 8FBC0020 */ lw $gp, 0x20($sp) +.L00421444: +/* 00421444 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 00421448 2404001A */ li $a0, 26 +/* 0042144C 93A5002A */ lbu $a1, 0x2a($sp) +/* 00421450 2406001D */ li $a2, 29 +/* 00421454 0320F809 */ jalr $t9 +/* 00421458 8FA7002C */ lw $a3, 0x2c($sp) +/* 0042145C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421460 93A4002B */ lbu $a0, 0x2b($sp) +/* 00421464 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00421468 0320F809 */ jalr $t9 +/* 0042146C 00000000 */ nop +/* 00421470 8FBC0020 */ lw $gp, 0x20($sp) +/* 00421474 93A4002A */ lbu $a0, 0x2a($sp) +/* 00421478 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042147C 0320F809 */ jalr $t9 +/* 00421480 00000000 */ nop +/* 00421484 8FBC0020 */ lw $gp, 0x20($sp) +.L00421488: +/* 00421488 8F9982F4 */ lw $t9, %call16(gen_reg_save)($gp) +/* 0042148C 8FA40038 */ lw $a0, 0x38($sp) +/* 00421490 8FA5003C */ lw $a1, 0x3c($sp) +/* 00421494 8FA60044 */ lw $a2, 0x44($sp) +/* 00421498 0320F809 */ jalr $t9 +/* 0042149C 8FA70040 */ lw $a3, 0x40($sp) +/* 004214A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004214A4 2404006D */ li $a0, 109 +/* 004214A8 24050004 */ li $a1, 4 +/* 004214AC 8F8D8A70 */ lw $t5, %got(home_vararg_reg)($gp) +/* 004214B0 91AD0000 */ lbu $t5, ($t5) +/* 004214B4 51A00011 */ beql $t5, $zero, .L004214FC +/* 004214B8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004214BC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004214C0 8FA60038 */ lw $a2, 0x38($sp) +/* 004214C4 2407001D */ li $a3, 29 +/* 004214C8 0320F809 */ jalr $t9 +/* 004214CC AFA00010 */ sw $zero, 0x10($sp) +/* 004214D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004214D4 8FA60038 */ lw $a2, 0x38($sp) +/* 004214D8 2404006D */ li $a0, 109 +/* 004214DC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004214E0 24050006 */ li $a1, 6 +/* 004214E4 2407001D */ li $a3, 29 +/* 004214E8 AFA00010 */ sw $zero, 0x10($sp) +/* 004214EC 0320F809 */ jalr $t9 +/* 004214F0 24C60008 */ addiu $a2, $a2, 8 +/* 004214F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004214F8 8FBF0024 */ lw $ra, 0x24($sp) +.L004214FC: +/* 004214FC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00421500 03E00008 */ jr $ra +/* 00421504 00000000 */ nop + .type gen_entry, @function + .size gen_entry, .-gen_entry + .end gen_entry + +glabel clear_saved_regs + .ent clear_saved_regs + # 0042BDAC eval +/* 00421508 3C1C0FC0 */ .cpload $t9 +/* 0042150C 279CE548 */ +/* 00421510 0399E021 */ +/* 00421514 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 00421518 AC200000 */ sw $zero, ($at) +/* 0042151C 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 00421520 AC200004 */ sw $zero, 4($at) +/* 00421524 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 00421528 03E00008 */ jr $ra +/* 0042152C AC200008 */ sw $zero, 8($at) + .type clear_saved_regs, @function + .size clear_saved_regs, .-clear_saved_regs + .end clear_saved_regs + +glabel is_empty_saved_regs + .ent is_empty_saved_regs + # 0042BDAC eval +/* 00421530 3C1C0FC0 */ .cpload $t9 +/* 00421534 279CE520 */ +/* 00421538 0399E021 */ +/* 0042153C 8F8E8B90 */ lw $t6, %got(saved_regs)($gp) +/* 00421540 8F8F8B90 */ lw $t7, %got(saved_regs)($gp) +/* 00421544 8F998B90 */ lw $t9, %got(saved_regs)($gp) +/* 00421548 8DCE0008 */ lw $t6, 8($t6) +/* 0042154C 8DEF0004 */ lw $t7, 4($t7) +/* 00421550 8F390000 */ lw $t9, ($t9) +/* 00421554 01CFC025 */ or $t8, $t6, $t7 +/* 00421558 03191025 */ or $v0, $t8, $t9 +/* 0042155C 03E00008 */ jr $ra +/* 00421560 2C420001 */ sltiu $v0, $v0, 1 + .type is_empty_saved_regs, @function + .size is_empty_saved_regs, .-is_empty_saved_regs + .end is_empty_saved_regs + +glabel home_parameters + .ent home_parameters + # 004219E8 gen_reg_save_restore +/* 00421564 3C1C0FC0 */ .cpload $t9 +/* 00421568 279CE4EC */ +/* 0042156C 0399E021 */ +/* 00421570 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 00421574 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 00421578 AFB60034 */ sw $s6, 0x34($sp) +/* 0042157C AFB4002C */ sw $s4, 0x2c($sp) +/* 00421580 8C420000 */ lw $v0, ($v0) +/* 00421584 AFB20024 */ sw $s2, 0x24($sp) +/* 00421588 0080B025 */ move $s6, $a0 +/* 0042158C AFBF0044 */ sw $ra, 0x44($sp) +/* 00421590 AFBE0040 */ sw $fp, 0x40($sp) +/* 00421594 AFBC003C */ sw $gp, 0x3c($sp) +/* 00421598 AFB70038 */ sw $s7, 0x38($sp) +/* 0042159C AFB50030 */ sw $s5, 0x30($sp) +/* 004215A0 AFB30028 */ sw $s3, 0x28($sp) +/* 004215A4 AFB10020 */ sw $s1, 0x20($sp) +/* 004215A8 AFB0001C */ sw $s0, 0x1c($sp) +/* 004215AC AFA5004C */ sw $a1, 0x4c($sp) +/* 004215B0 24120004 */ li $s2, 4 +/* 004215B4 1040005D */ beqz $v0, .L0042172C +/* 004215B8 0000A025 */ move $s4, $zero +/* 004215BC 8F9E8A74 */ lw $fp, %got(reversed_stack)($gp) +/* 004215C0 8F958B90 */ lw $s5, %got(saved_regs)($gp) +/* 004215C4 8F9389DC */ lw $s3, %got(basicint)($gp) +/* 004215C8 8F918A70 */ lw $s1, %got(home_vararg_reg)($gp) +.L004215CC: +/* 004215CC 926E0000 */ lbu $t6, ($s3) +/* 004215D0 2E4F0060 */ sltiu $t7, $s2, 0x60 +/* 004215D4 55C00029 */ bnel $t6, $zero, .L0042167C +/* 004215D8 2E590060 */ sltiu $t9, $s2, 0x60 +/* 004215DC 11E00006 */ beqz $t7, .L004215F8 +/* 004215E0 0012C143 */ sra $t8, $s2, 5 +/* 004215E4 0018C880 */ sll $t9, $t8, 2 +/* 004215E8 02B94021 */ addu $t0, $s5, $t9 +/* 004215EC 8D090000 */ lw $t1, ($t0) +/* 004215F0 02495004 */ sllv $t2, $t1, $s2 +/* 004215F4 294F0000 */ slti $t7, $t2, 0 +.L004215F8: +/* 004215F8 55E00005 */ bnel $t7, $zero, .L00421610 +/* 004215FC 93CE0000 */ lbu $t6, ($fp) +/* 00421600 922C0000 */ lbu $t4, ($s1) +/* 00421604 51800045 */ beql $t4, $zero, .L0042171C +/* 00421608 26940001 */ addiu $s4, $s4, 1 +/* 0042160C 93CE0000 */ lbu $t6, ($fp) +.L00421610: +/* 00421610 00146880 */ sll $t5, $s4, 2 +/* 00421614 02CD8021 */ addu $s0, $s6, $t5 +/* 00421618 11C0000D */ beqz $t6, .L00421650 +/* 0042161C 24040057 */ li $a0, 87 +/* 00421620 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421624 2418FFFC */ li $t8, -4 +/* 00421628 03103023 */ subu $a2, $t8, $s0 +/* 0042162C 24040057 */ li $a0, 87 +/* 00421630 02402825 */ move $a1, $s2 +/* 00421634 2407001D */ li $a3, 29 +/* 00421638 0320F809 */ jalr $t9 +/* 0042163C AFA00010 */ sw $zero, 0x10($sp) +/* 00421640 8FBC003C */ lw $gp, 0x3c($sp) +/* 00421644 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 00421648 10000033 */ b .L00421718 +/* 0042164C 8C420000 */ lw $v0, ($v0) +.L00421650: +/* 00421650 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421654 02402825 */ move $a1, $s2 +/* 00421658 02003025 */ move $a2, $s0 +/* 0042165C 2407001D */ li $a3, 29 +/* 00421660 0320F809 */ jalr $t9 +/* 00421664 AFA00010 */ sw $zero, 0x10($sp) +/* 00421668 8FBC003C */ lw $gp, 0x3c($sp) +/* 0042166C 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 00421670 10000029 */ b .L00421718 +/* 00421674 8C420000 */ lw $v0, ($v0) +/* 00421678 2E590060 */ sltiu $t9, $s2, 0x60 +.L0042167C: +/* 0042167C 13200006 */ beqz $t9, .L00421698 +/* 00421680 00124143 */ sra $t0, $s2, 5 +/* 00421684 00084880 */ sll $t1, $t0, 2 +/* 00421688 02A95021 */ addu $t2, $s5, $t1 +/* 0042168C 8D4B0000 */ lw $t3, ($t2) +/* 00421690 024B7804 */ sllv $t7, $t3, $s2 +/* 00421694 29F90000 */ slti $t9, $t7, 0 +.L00421698: +/* 00421698 57200005 */ bnel $t9, $zero, .L004216B0 +/* 0042169C 93CE0000 */ lbu $t6, ($fp) +/* 004216A0 922D0000 */ lbu $t5, ($s1) +/* 004216A4 51A0001D */ beql $t5, $zero, .L0042171C +/* 004216A8 26940001 */ addiu $s4, $s4, 1 +/* 004216AC 93CE0000 */ lbu $t6, ($fp) +.L004216B0: +/* 004216B0 2404006D */ li $a0, 109 +/* 004216B4 02402825 */ move $a1, $s2 +/* 004216B8 11C0000F */ beqz $t6, .L004216F8 +/* 004216BC 00145080 */ sll $t2, $s4, 2 +/* 004216C0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 004216C4 0014C0C0 */ sll $t8, $s4, 3 +/* 004216C8 02D84021 */ addu $t0, $s6, $t8 +/* 004216CC 2409FFF8 */ li $t1, -8 +/* 004216D0 01283023 */ subu $a2, $t1, $t0 +/* 004216D4 2404006D */ li $a0, 109 +/* 004216D8 02402825 */ move $a1, $s2 +/* 004216DC 2407001D */ li $a3, 29 +/* 004216E0 0320F809 */ jalr $t9 +/* 004216E4 AFA00010 */ sw $zero, 0x10($sp) +/* 004216E8 8FBC003C */ lw $gp, 0x3c($sp) +/* 004216EC 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 004216F0 10000009 */ b .L00421718 +/* 004216F4 8C420000 */ lw $v0, ($v0) +.L004216F8: +/* 004216F8 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 004216FC 02CA3021 */ addu $a2, $s6, $t2 +/* 00421700 2407001D */ li $a3, 29 +/* 00421704 0320F809 */ jalr $t9 +/* 00421708 AFA00010 */ sw $zero, 0x10($sp) +/* 0042170C 8FBC003C */ lw $gp, 0x3c($sp) +/* 00421710 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 00421714 8C420000 */ lw $v0, ($v0) +.L00421718: +/* 00421718 26940001 */ addiu $s4, $s4, 1 +.L0042171C: +/* 0042171C 26520001 */ addiu $s2, $s2, 1 +/* 00421720 1682FFAA */ bne $s4, $v0, .L004215CC +/* 00421724 325200FF */ andi $s2, $s2, 0xff +/* 00421728 0000A025 */ move $s4, $zero +.L0042172C: +/* 0042172C 8F828A00 */ lw $v0, %got(n_fp_parm_regs)($gp) +/* 00421730 8F958B90 */ lw $s5, %got(saved_regs)($gp) +/* 00421734 8F9E8A74 */ lw $fp, %got(reversed_stack)($gp) +/* 00421738 8C420000 */ lw $v0, ($v0) +/* 0042173C 2412002C */ li $s2, 44 +/* 00421740 00008025 */ move $s0, $zero +/* 00421744 10400057 */ beqz $v0, .L004218A4 +/* 00421748 2403003E */ li $v1, 62 +/* 0042174C 2417007A */ li $s7, 122 +.L00421750: +/* 00421750 2E4B0060 */ sltiu $t3, $s2, 0x60 +/* 00421754 11600007 */ beqz $t3, .L00421774 +/* 00421758 24130079 */ li $s3, 121 +/* 0042175C 00127943 */ sra $t7, $s2, 5 +/* 00421760 000F6080 */ sll $t4, $t7, 2 +/* 00421764 02ACC821 */ addu $t9, $s5, $t4 +/* 00421768 8F2D0000 */ lw $t5, ($t9) +/* 0042176C 024D7004 */ sllv $t6, $t5, $s2 +/* 00421770 29CB0000 */ slti $t3, $t6, 0 +.L00421774: +/* 00421774 51600043 */ beql $t3, $zero, .L00421884 +/* 00421778 26520002 */ addiu $s2, $s2, 2 +/* 0042177C 93C90000 */ lbu $t1, ($fp) +/* 00421780 26580001 */ addiu $t8, $s2, 1 +/* 00421784 2F0B0060 */ sltiu $t3, $t8, 0x60 +/* 00421788 11200020 */ beqz $t1, .L0042180C +/* 0042178C 02402825 */ move $a1, $s2 +/* 00421790 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421794 02D08821 */ addu $s1, $s6, $s0 +/* 00421798 00118823 */ negu $s1, $s1 +/* 0042179C 2626FFFC */ addiu $a2, $s1, -4 +/* 004217A0 24040079 */ li $a0, 121 +/* 004217A4 02402825 */ move $a1, $s2 +/* 004217A8 2407001D */ li $a3, 29 +/* 004217AC 0320F809 */ jalr $t9 +/* 004217B0 AFA00010 */ sw $zero, 0x10($sp) +/* 004217B4 26450001 */ addiu $a1, $s2, 1 +/* 004217B8 2CA80060 */ sltiu $t0, $a1, 0x60 +/* 004217BC 11000007 */ beqz $t0, .L004217DC +/* 004217C0 8FBC003C */ lw $gp, 0x3c($sp) +/* 004217C4 00055143 */ sra $t2, $a1, 5 +/* 004217C8 000A7880 */ sll $t7, $t2, 2 +/* 004217CC 02AF6021 */ addu $t4, $s5, $t7 +/* 004217D0 8D990000 */ lw $t9, ($t4) +/* 004217D4 00B96804 */ sllv $t5, $t9, $a1 +/* 004217D8 29A80000 */ slti $t0, $t5, 0 +.L004217DC: +/* 004217DC 11000008 */ beqz $t0, .L00421800 +/* 004217E0 24040079 */ li $a0, 121 +/* 004217E4 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 004217E8 2626FFF8 */ addiu $a2, $s1, -8 +/* 004217EC 2407001D */ li $a3, 29 +/* 004217F0 0320F809 */ jalr $t9 +/* 004217F4 AFA00010 */ sw $zero, 0x10($sp) +/* 004217F8 8FBC003C */ lw $gp, 0x3c($sp) +/* 004217FC 26100004 */ addiu $s0, $s0, 4 +.L00421800: +/* 00421800 8F828A00 */ lw $v0, %got(n_fp_parm_regs)($gp) +/* 00421804 1000001E */ b .L00421880 +/* 00421808 8C420000 */ lw $v0, ($v0) +.L0042180C: +/* 0042180C 11600007 */ beqz $t3, .L0042182C +/* 00421810 2407001D */ li $a3, 29 +/* 00421814 00184943 */ sra $t1, $t8, 5 +/* 00421818 00095080 */ sll $t2, $t1, 2 +/* 0042181C 02AA7821 */ addu $t7, $s5, $t2 +/* 00421820 8DEC0000 */ lw $t4, ($t7) +/* 00421824 030CC804 */ sllv $t9, $t4, $t8 +/* 00421828 2B2B0000 */ slti $t3, $t9, 0 +.L0042182C: +/* 0042182C 11600002 */ beqz $t3, .L00421838 +/* 00421830 24010079 */ li $at, 121 +/* 00421834 32F3FFFF */ andi $s3, $s7, 0xffff +.L00421838: +/* 00421838 16770009 */ bne $s3, $s7, .L00421860 +/* 0042183C 00000000 */ nop +/* 00421840 14610007 */ bne $v1, $at, .L00421860 +/* 00421844 00000000 */ nop +/* 00421848 26100007 */ addiu $s0, $s0, 7 +/* 0042184C 06010002 */ bgez $s0, .L00421858 +/* 00421850 02000821 */ move $at, $s0 +/* 00421854 26010007 */ addiu $at, $s0, 7 +.L00421858: +/* 00421858 000180C3 */ sra $s0, $at, 3 +/* 0042185C 001080C0 */ sll $s0, $s0, 3 +.L00421860: +/* 00421860 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421864 02602025 */ move $a0, $s3 +/* 00421868 02D03021 */ addu $a2, $s6, $s0 +/* 0042186C 0320F809 */ jalr $t9 +/* 00421870 AFA00010 */ sw $zero, 0x10($sp) +/* 00421874 8FBC003C */ lw $gp, 0x3c($sp) +/* 00421878 8F828A00 */ lw $v0, %got(n_fp_parm_regs)($gp) +/* 0042187C 8C420000 */ lw $v0, ($v0) +.L00421880: +/* 00421880 26520002 */ addiu $s2, $s2, 2 +.L00421884: +/* 00421884 26940001 */ addiu $s4, $s4, 1 +/* 00421888 16770003 */ bne $s3, $s7, .L00421898 +/* 0042188C 325200FF */ andi $s2, $s2, 0xff +/* 00421890 10000002 */ b .L0042189C +/* 00421894 26100008 */ addiu $s0, $s0, 8 +.L00421898: +/* 00421898 26100004 */ addiu $s0, $s0, 4 +.L0042189C: +/* 0042189C 1682FFAC */ bne $s4, $v0, .L00421750 +/* 004218A0 3263FFFF */ andi $v1, $s3, 0xffff +.L004218A4: +/* 004218A4 8FAE004C */ lw $t6, 0x4c($sp) +/* 004218A8 2401FFFF */ li $at, -1 +/* 004218AC 11C10042 */ beq $t6, $at, .L004219B8 +/* 004218B0 3C01FFFF */ lui $at, 0xffff +/* 004218B4 01C18024 */ and $s0, $t6, $at +/* 004218B8 00108402 */ srl $s0, $s0, 0x10 +/* 004218BC 1200003E */ beqz $s0, .L004219B8 +/* 004218C0 31C8FFFF */ andi $t0, $t6, 0xffff +/* 004218C4 5500001F */ bnel $t0, $zero, .L00421944 +/* 004218C8 93CA0000 */ lbu $t2, ($fp) +/* 004218CC 93C90000 */ lbu $t1, ($fp) +/* 004218D0 02D08823 */ subu $s1, $s6, $s0 +/* 004218D4 2404007A */ li $a0, 122 +/* 004218D8 11200013 */ beqz $t1, .L00421928 +/* 004218DC 2405002C */ li $a1, 44 +/* 004218E0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 004218E4 00118823 */ negu $s1, $s1 +/* 004218E8 2626FFFC */ addiu $a2, $s1, -4 +/* 004218EC 24040079 */ li $a0, 121 +/* 004218F0 2405002C */ li $a1, 44 +/* 004218F4 2407001D */ li $a3, 29 +/* 004218F8 0320F809 */ jalr $t9 +/* 004218FC AFA00010 */ sw $zero, 0x10($sp) +/* 00421900 8FBC003C */ lw $gp, 0x3c($sp) +/* 00421904 24040079 */ li $a0, 121 +/* 00421908 2405002D */ li $a1, 45 +/* 0042190C 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421910 2626FFF8 */ addiu $a2, $s1, -8 +/* 00421914 2407001D */ li $a3, 29 +/* 00421918 0320F809 */ jalr $t9 +/* 0042191C AFA00010 */ sw $zero, 0x10($sp) +/* 00421920 10000007 */ b .L00421940 +/* 00421924 8FBC003C */ lw $gp, 0x3c($sp) +.L00421928: +/* 00421928 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 0042192C 02D03023 */ subu $a2, $s6, $s0 +/* 00421930 2407001D */ li $a3, 29 +/* 00421934 0320F809 */ jalr $t9 +/* 00421938 AFA00010 */ sw $zero, 0x10($sp) +/* 0042193C 8FBC003C */ lw $gp, 0x3c($sp) +.L00421940: +/* 00421940 93CA0000 */ lbu $t2, ($fp) +.L00421944: +/* 00421944 26020008 */ addiu $v0, $s0, 8 +/* 00421948 2404007A */ li $a0, 122 +/* 0042194C 11400014 */ beqz $t2, .L004219A0 +/* 00421950 2405002E */ li $a1, 46 +/* 00421954 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421958 02C28023 */ subu $s0, $s6, $v0 +/* 0042195C 00108023 */ negu $s0, $s0 +/* 00421960 2606FFFC */ addiu $a2, $s0, -4 +/* 00421964 24040079 */ li $a0, 121 +/* 00421968 2405002E */ li $a1, 46 +/* 0042196C 2407001D */ li $a3, 29 +/* 00421970 0320F809 */ jalr $t9 +/* 00421974 AFA00010 */ sw $zero, 0x10($sp) +/* 00421978 8FBC003C */ lw $gp, 0x3c($sp) +/* 0042197C 24040079 */ li $a0, 121 +/* 00421980 2405002F */ li $a1, 47 +/* 00421984 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421988 2606FFF8 */ addiu $a2, $s0, -8 +/* 0042198C 2407001D */ li $a3, 29 +/* 00421990 0320F809 */ jalr $t9 +/* 00421994 AFA00010 */ sw $zero, 0x10($sp) +/* 00421998 10000007 */ b .L004219B8 +/* 0042199C 8FBC003C */ lw $gp, 0x3c($sp) +.L004219A0: +/* 004219A0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 004219A4 02C23023 */ subu $a2, $s6, $v0 +/* 004219A8 2407001D */ li $a3, 29 +/* 004219AC 0320F809 */ jalr $t9 +/* 004219B0 AFA00010 */ sw $zero, 0x10($sp) +/* 004219B4 8FBC003C */ lw $gp, 0x3c($sp) +.L004219B8: +/* 004219B8 8FBF0044 */ lw $ra, 0x44($sp) +/* 004219BC 8FB0001C */ lw $s0, 0x1c($sp) +/* 004219C0 8FB10020 */ lw $s1, 0x20($sp) +/* 004219C4 8FB20024 */ lw $s2, 0x24($sp) +/* 004219C8 8FB30028 */ lw $s3, 0x28($sp) +/* 004219CC 8FB4002C */ lw $s4, 0x2c($sp) +/* 004219D0 8FB50030 */ lw $s5, 0x30($sp) +/* 004219D4 8FB60034 */ lw $s6, 0x34($sp) +/* 004219D8 8FB70038 */ lw $s7, 0x38($sp) +/* 004219DC 8FBE0040 */ lw $fp, 0x40($sp) +/* 004219E0 03E00008 */ jr $ra +/* 004219E4 27BD0048 */ addiu $sp, $sp, 0x48 + .type home_parameters, @function + .size home_parameters, .-home_parameters + .end home_parameters + +glabel gen_reg_save_restore + .ent gen_reg_save_restore + # 00420810 gen_entry_exit +/* 004219E8 3C1C0FC0 */ .cpload $t9 +/* 004219EC 279CE068 */ +/* 004219F0 0399E021 */ +/* 004219F4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 004219F8 AFB4002C */ sw $s4, 0x2c($sp) +/* 004219FC 8F948A74 */ lw $s4, %got(reversed_stack)($gp) +/* 00421A00 AFBF0034 */ sw $ra, 0x34($sp) +/* 00421A04 AFBC0030 */ sw $gp, 0x30($sp) +/* 00421A08 92830000 */ lbu $v1, ($s4) +/* 00421A0C AFB30028 */ sw $s3, 0x28($sp) +/* 00421A10 AFB20024 */ sw $s2, 0x24($sp) +/* 00421A14 AFB10020 */ sw $s1, 0x20($sp) +/* 00421A18 AFB0001C */ sw $s0, 0x1c($sp) +/* 00421A1C AFA40058 */ sw $a0, 0x58($sp) +/* 00421A20 10600007 */ beqz $v1, .L00421A40 +/* 00421A24 AFA00048 */ sw $zero, 0x48($sp) +/* 00421A28 00A67021 */ addu $t6, $a1, $a2 +/* 00421A2C 01C71021 */ addu $v0, $t6, $a3 +/* 00421A30 2458FFFC */ addiu $t8, $v0, -4 +/* 00421A34 00828823 */ subu $s1, $a0, $v0 +/* 00421A38 10000007 */ b .L00421A58 +/* 00421A3C AFB80040 */ sw $t8, 0x40($sp) +.L00421A40: +/* 00421A40 8FB90058 */ lw $t9, 0x58($sp) +/* 00421A44 00A61021 */ addu $v0, $a1, $a2 +/* 00421A48 2408FFFC */ li $t0, -4 +/* 00421A4C 01024823 */ subu $t1, $t0, $v0 +/* 00421A50 AFA90040 */ sw $t1, 0x40($sp) +/* 00421A54 03228823 */ subu $s1, $t9, $v0 +.L00421A58: +/* 00421A58 8FAA0070 */ lw $t2, 0x70($sp) +/* 00421A5C 2401FFFF */ li $at, -1 +/* 00421A60 AFA00044 */ sw $zero, 0x44($sp) +/* 00421A64 1141001D */ beq $t2, $at, .L00421ADC +/* 00421A68 00000000 */ nop +/* 00421A6C 8F8C89DC */ lw $t4, %got(basicint)($gp) +/* 00421A70 3C0B8000 */ lui $t3, 0x8000 +/* 00421A74 AFAB0048 */ sw $t3, 0x48($sp) +/* 00421A78 918C0000 */ lbu $t4, ($t4) +/* 00421A7C AFAA0040 */ sw $t2, 0x40($sp) +/* 00421A80 2404006D */ li $a0, 109 +/* 00421A84 1580000B */ bnez $t4, .L00421AB4 +/* 00421A88 2405001F */ li $a1, 31 +/* 00421A8C 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421A90 8FAD0058 */ lw $t5, 0x58($sp) +/* 00421A94 24040057 */ li $a0, 87 +/* 00421A98 2405001F */ li $a1, 31 +/* 00421A9C 2407001D */ li $a3, 29 +/* 00421AA0 AFA00010 */ sw $zero, 0x10($sp) +/* 00421AA4 0320F809 */ jalr $t9 +/* 00421AA8 01AA3021 */ addu $a2, $t5, $t2 +/* 00421AAC 10000009 */ b .L00421AD4 +/* 00421AB0 8FBC0030 */ lw $gp, 0x30($sp) +.L00421AB4: +/* 00421AB4 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421AB8 8FAE0058 */ lw $t6, 0x58($sp) +/* 00421ABC 8FAF0070 */ lw $t7, 0x70($sp) +/* 00421AC0 2407001D */ li $a3, 29 +/* 00421AC4 AFA00010 */ sw $zero, 0x10($sp) +/* 00421AC8 0320F809 */ jalr $t9 +/* 00421ACC 01CF3021 */ addu $a2, $t6, $t7 +/* 00421AD0 8FBC0030 */ lw $gp, 0x30($sp) +.L00421AD4: +/* 00421AD4 10000038 */ b .L00421BB8 +/* 00421AD8 8F938B90 */ lw $s3, %got(saved_regs)($gp) +.L00421ADC: +/* 00421ADC 8F938B90 */ lw $s3, %got(saved_regs)($gp) +/* 00421AE0 3C088000 */ lui $t0, 0x8000 +/* 00421AE4 8E780000 */ lw $t8, ($s3) +/* 00421AE8 0018CFC0 */ sll $t9, $t8, 0x1f +/* 00421AEC 07230033 */ bgezl $t9, .L00421BBC +/* 00421AF0 8E6C0000 */ lw $t4, ($s3) +/* 00421AF4 10600019 */ beqz $v1, .L00421B5C +/* 00421AF8 AFA80048 */ sw $t0, 0x48($sp) +/* 00421AFC 8F8989DC */ lw $t1, %got(basicint)($gp) +/* 00421B00 2404006D */ li $a0, 109 +/* 00421B04 2405001F */ li $a1, 31 +/* 00421B08 91290000 */ lbu $t1, ($t1) +/* 00421B0C 2407001D */ li $a3, 29 +/* 00421B10 1520000B */ bnez $t1, .L00421B40 +/* 00421B14 00000000 */ nop +/* 00421B18 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421B1C 26310004 */ addiu $s1, $s1, 4 +/* 00421B20 00113023 */ negu $a2, $s1 +/* 00421B24 24040057 */ li $a0, 87 +/* 00421B28 2405001F */ li $a1, 31 +/* 00421B2C 2407001D */ li $a3, 29 +/* 00421B30 0320F809 */ jalr $t9 +/* 00421B34 AFA00010 */ sw $zero, 0x10($sp) +/* 00421B38 1000001F */ b .L00421BB8 +/* 00421B3C 8FBC0030 */ lw $gp, 0x30($sp) +.L00421B40: +/* 00421B40 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421B44 26310008 */ addiu $s1, $s1, 8 +/* 00421B48 00113023 */ negu $a2, $s1 +/* 00421B4C 0320F809 */ jalr $t9 +/* 00421B50 AFA00010 */ sw $zero, 0x10($sp) +/* 00421B54 10000018 */ b .L00421BB8 +/* 00421B58 8FBC0030 */ lw $gp, 0x30($sp) +.L00421B5C: +/* 00421B5C 8F8B89DC */ lw $t3, %got(basicint)($gp) +/* 00421B60 2404006D */ li $a0, 109 +/* 00421B64 2405001F */ li $a1, 31 +/* 00421B68 916B0000 */ lbu $t3, ($t3) +/* 00421B6C 2407001D */ li $a3, 29 +/* 00421B70 1560000B */ bnez $t3, .L00421BA0 +/* 00421B74 00000000 */ nop +/* 00421B78 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421B7C 2631FFFC */ addiu $s1, $s1, -4 +/* 00421B80 02203025 */ move $a2, $s1 +/* 00421B84 24040057 */ li $a0, 87 +/* 00421B88 2405001F */ li $a1, 31 +/* 00421B8C 2407001D */ li $a3, 29 +/* 00421B90 0320F809 */ jalr $t9 +/* 00421B94 AFA00010 */ sw $zero, 0x10($sp) +/* 00421B98 10000007 */ b .L00421BB8 +/* 00421B9C 8FBC0030 */ lw $gp, 0x30($sp) +.L00421BA0: +/* 00421BA0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421BA4 2631FFF8 */ addiu $s1, $s1, -8 +/* 00421BA8 02203025 */ move $a2, $s1 +/* 00421BAC 0320F809 */ jalr $t9 +/* 00421BB0 AFA00010 */ sw $zero, 0x10($sp) +/* 00421BB4 8FBC0030 */ lw $gp, 0x30($sp) +.L00421BB8: +/* 00421BB8 8E6C0000 */ lw $t4, ($s3) +.L00421BBC: +/* 00421BBC 000C6F80 */ sll $t5, $t4, 0x1e +/* 00421BC0 05A10037 */ bgez $t5, .L00421CA0 +/* 00421BC4 00000000 */ nop +/* 00421BC8 928A0000 */ lbu $t2, ($s4) +/* 00421BCC 11400019 */ beqz $t2, .L00421C34 +/* 00421BD0 00000000 */ nop +/* 00421BD4 8F8E89DC */ lw $t6, %got(basicint)($gp) +/* 00421BD8 2404006D */ li $a0, 109 +/* 00421BDC 2405001E */ li $a1, 30 +/* 00421BE0 91CE0000 */ lbu $t6, ($t6) +/* 00421BE4 2407001D */ li $a3, 29 +/* 00421BE8 15C0000B */ bnez $t6, .L00421C18 +/* 00421BEC 00000000 */ nop +/* 00421BF0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421BF4 26310004 */ addiu $s1, $s1, 4 +/* 00421BF8 00113023 */ negu $a2, $s1 +/* 00421BFC 24040057 */ li $a0, 87 +/* 00421C00 2405001E */ li $a1, 30 +/* 00421C04 2407001D */ li $a3, 29 +/* 00421C08 0320F809 */ jalr $t9 +/* 00421C0C AFA00010 */ sw $zero, 0x10($sp) +/* 00421C10 1000001F */ b .L00421C90 +/* 00421C14 8FBC0030 */ lw $gp, 0x30($sp) +.L00421C18: +/* 00421C18 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421C1C 26310008 */ addiu $s1, $s1, 8 +/* 00421C20 00113023 */ negu $a2, $s1 +/* 00421C24 0320F809 */ jalr $t9 +/* 00421C28 AFA00010 */ sw $zero, 0x10($sp) +/* 00421C2C 10000018 */ b .L00421C90 +/* 00421C30 8FBC0030 */ lw $gp, 0x30($sp) +.L00421C34: +/* 00421C34 8F8F89DC */ lw $t7, %got(basicint)($gp) +/* 00421C38 2404006D */ li $a0, 109 +/* 00421C3C 2405001E */ li $a1, 30 +/* 00421C40 91EF0000 */ lbu $t7, ($t7) +/* 00421C44 2407001D */ li $a3, 29 +/* 00421C48 15E0000B */ bnez $t7, .L00421C78 +/* 00421C4C 00000000 */ nop +/* 00421C50 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421C54 2631FFFC */ addiu $s1, $s1, -4 +/* 00421C58 02203025 */ move $a2, $s1 +/* 00421C5C 24040057 */ li $a0, 87 +/* 00421C60 2405001E */ li $a1, 30 +/* 00421C64 2407001D */ li $a3, 29 +/* 00421C68 0320F809 */ jalr $t9 +/* 00421C6C AFA00010 */ sw $zero, 0x10($sp) +/* 00421C70 10000007 */ b .L00421C90 +/* 00421C74 8FBC0030 */ lw $gp, 0x30($sp) +.L00421C78: +/* 00421C78 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421C7C 2631FFF8 */ addiu $s1, $s1, -8 +/* 00421C80 02203025 */ move $a2, $s1 +/* 00421C84 0320F809 */ jalr $t9 +/* 00421C88 AFA00010 */ sw $zero, 0x10($sp) +/* 00421C8C 8FBC0030 */ lw $gp, 0x30($sp) +.L00421C90: +/* 00421C90 8FB80048 */ lw $t8, 0x48($sp) +/* 00421C94 3C014000 */ lui $at, 0x4000 +/* 00421C98 0301C825 */ or $t9, $t8, $at +/* 00421C9C AFB90048 */ sw $t9, 0x48($sp) +.L00421CA0: +/* 00421CA0 8F8889E4 */ lw $t0, %got(pic_level)($gp) +/* 00421CA4 8D080000 */ lw $t0, ($t0) +/* 00421CA8 19000049 */ blez $t0, .L00421DD0 +/* 00421CAC 00000000 */ nop +/* 00421CB0 8E690000 */ lw $t1, ($s3) +/* 00421CB4 00095F00 */ sll $t3, $t1, 0x1c +/* 00421CB8 0561003C */ bgez $t3, .L00421DAC +/* 00421CBC 00000000 */ nop +/* 00421CC0 928C0000 */ lbu $t4, ($s4) +/* 00421CC4 2404000F */ li $a0, 15 +/* 00421CC8 1180001B */ beqz $t4, .L00421D38 +/* 00421CCC 00000000 */ nop +/* 00421CD0 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00421CD4 26310004 */ addiu $s1, $s1, 4 +/* 00421CD8 00118023 */ negu $s0, $s1 +/* 00421CDC 0320F809 */ jalr $t9 +/* 00421CE0 02002825 */ move $a1, $s0 +/* 00421CE4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421CE8 8F838A98 */ lw $v1, %got(num_i_ptr_indexes)($gp) +/* 00421CEC 8C620000 */ lw $v0, ($v1) +/* 00421CF0 5040002A */ beql $v0, $zero, .L00421D9C +/* 00421CF4 8FAE0048 */ lw $t6, 0x48($sp) +/* 00421CF8 8F848978 */ lw $a0, %got(ibuffer)($gp) +/* 00421CFC 8F858BB8 */ lw $a1, %got(i_ptrs_for_gp_offset)($gp) +/* 00421D00 8C840000 */ lw $a0, ($a0) +/* 00421D04 24A5FFFC */ addiu $a1, $a1, -4 +.L00421D08: +/* 00421D08 00026880 */ sll $t5, $v0, 2 +/* 00421D0C 00AD5021 */ addu $t2, $a1, $t5 +/* 00421D10 8D4E0000 */ lw $t6, ($t2) +/* 00421D14 2459FFFF */ addiu $t9, $v0, -1 +/* 00421D18 03201025 */ move $v0, $t9 +/* 00421D1C 000E7900 */ sll $t7, $t6, 4 +/* 00421D20 008FC021 */ addu $t8, $a0, $t7 +/* 00421D24 AF10FFFC */ sw $s0, -4($t8) +/* 00421D28 1720FFF7 */ bnez $t9, .L00421D08 +/* 00421D2C AC790000 */ sw $t9, ($v1) +/* 00421D30 1000001A */ b .L00421D9C +/* 00421D34 8FAE0048 */ lw $t6, 0x48($sp) +.L00421D38: +/* 00421D38 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00421D3C 2631FFFC */ addiu $s1, $s1, -4 +/* 00421D40 02202825 */ move $a1, $s1 +/* 00421D44 0320F809 */ jalr $t9 +/* 00421D48 2404000F */ li $a0, 15 +/* 00421D4C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421D50 8F838A98 */ lw $v1, %got(num_i_ptr_indexes)($gp) +/* 00421D54 8C620000 */ lw $v0, ($v1) +/* 00421D58 50400010 */ beql $v0, $zero, .L00421D9C +/* 00421D5C 8FAE0048 */ lw $t6, 0x48($sp) +/* 00421D60 8F848978 */ lw $a0, %got(ibuffer)($gp) +/* 00421D64 8F858BB8 */ lw $a1, %got(i_ptrs_for_gp_offset)($gp) +/* 00421D68 8C840000 */ lw $a0, ($a0) +/* 00421D6C 24A5FFFC */ addiu $a1, $a1, -4 +.L00421D70: +/* 00421D70 00024080 */ sll $t0, $v0, 2 +/* 00421D74 00A84821 */ addu $t1, $a1, $t0 +/* 00421D78 8D2B0000 */ lw $t3, ($t1) +/* 00421D7C 244AFFFF */ addiu $t2, $v0, -1 +/* 00421D80 01401025 */ move $v0, $t2 +/* 00421D84 000B6100 */ sll $t4, $t3, 4 +/* 00421D88 008C6821 */ addu $t5, $a0, $t4 +/* 00421D8C ADB1FFFC */ sw $s1, -4($t5) +/* 00421D90 1540FFF7 */ bnez $t2, .L00421D70 +/* 00421D94 AC6A0000 */ sw $t2, ($v1) +/* 00421D98 8FAE0048 */ lw $t6, 0x48($sp) +.L00421D9C: +/* 00421D9C 3C011000 */ lui $at, 0x1000 +/* 00421DA0 01C17825 */ or $t7, $t6, $at +/* 00421DA4 1000000A */ b .L00421DD0 +/* 00421DA8 AFAF0048 */ sw $t7, 0x48($sp) +.L00421DAC: +/* 00421DAC 8F9889F0 */ lw $t8, %got(use_cpalias)($gp) +/* 00421DB0 93180000 */ lbu $t8, ($t8) +/* 00421DB4 13000006 */ beqz $t8, .L00421DD0 +/* 00421DB8 00000000 */ nop +/* 00421DBC 8F9982B4 */ lw $t9, %call16(demit_cpalias)($gp) +/* 00421DC0 2404001E */ li $a0, 30 +/* 00421DC4 0320F809 */ jalr $t9 +/* 00421DC8 00000000 */ nop +/* 00421DCC 8FBC0030 */ lw $gp, 0x30($sp) +.L00421DD0: +/* 00421DD0 8F9982EC */ lw $t9, %call16(home_parameters)($gp) +/* 00421DD4 8FA40058 */ lw $a0, 0x58($sp) +/* 00421DD8 8FA5006C */ lw $a1, 0x6c($sp) +/* 00421DDC 0320F809 */ jalr $t9 +/* 00421DE0 00000000 */ nop +/* 00421DE4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421DE8 00009025 */ move $s2, $zero +/* 00421DEC 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00421DF0 8C420000 */ lw $v0, ($v0) +/* 00421DF4 2450000F */ addiu $s0, $v0, 0xf +/* 00421DF8 1040004B */ beqz $v0, .L00421F28 +/* 00421DFC 321000FF */ andi $s0, $s0, 0xff +.L00421E00: +/* 00421E00 2E190060 */ sltiu $t9, $s0, 0x60 +/* 00421E04 13200006 */ beqz $t9, .L00421E20 +/* 00421E08 00104143 */ sra $t0, $s0, 5 +/* 00421E0C 00084880 */ sll $t1, $t0, 2 +/* 00421E10 02695821 */ addu $t3, $s3, $t1 +/* 00421E14 8D6C0000 */ lw $t4, ($t3) +/* 00421E18 020C6804 */ sllv $t5, $t4, $s0 +/* 00421E1C 29B90000 */ slti $t9, $t5, 0 +.L00421E20: +/* 00421E20 1320003C */ beqz $t9, .L00421F14 +/* 00421E24 8FAE0048 */ lw $t6, 0x48($sp) +/* 00421E28 92890000 */ lbu $t1, ($s4) +/* 00421E2C 240F0001 */ li $t7, 1 +/* 00421E30 020FC004 */ sllv $t8, $t7, $s0 +/* 00421E34 01D84025 */ or $t0, $t6, $t8 +/* 00421E38 1120001B */ beqz $t1, .L00421EA8 +/* 00421E3C AFA80048 */ sw $t0, 0x48($sp) +/* 00421E40 8F8B89DC */ lw $t3, %got(basicint)($gp) +/* 00421E44 2404006D */ li $a0, 109 +/* 00421E48 02002825 */ move $a1, $s0 +/* 00421E4C 916B0000 */ lbu $t3, ($t3) +/* 00421E50 2407001D */ li $a3, 29 +/* 00421E54 1560000B */ bnez $t3, .L00421E84 +/* 00421E58 00000000 */ nop +/* 00421E5C 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421E60 26310004 */ addiu $s1, $s1, 4 +/* 00421E64 00113023 */ negu $a2, $s1 +/* 00421E68 24040057 */ li $a0, 87 +/* 00421E6C 02002825 */ move $a1, $s0 +/* 00421E70 2407001D */ li $a3, 29 +/* 00421E74 0320F809 */ jalr $t9 +/* 00421E78 AFA00010 */ sw $zero, 0x10($sp) +/* 00421E7C 10000007 */ b .L00421E9C +/* 00421E80 8FBC0030 */ lw $gp, 0x30($sp) +.L00421E84: +/* 00421E84 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421E88 26310008 */ addiu $s1, $s1, 8 +/* 00421E8C 00113023 */ negu $a2, $s1 +/* 00421E90 0320F809 */ jalr $t9 +/* 00421E94 AFA00010 */ sw $zero, 0x10($sp) +/* 00421E98 8FBC0030 */ lw $gp, 0x30($sp) +.L00421E9C: +/* 00421E9C 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00421EA0 1000001C */ b .L00421F14 +/* 00421EA4 8C420000 */ lw $v0, ($v0) +.L00421EA8: +/* 00421EA8 8F8C89DC */ lw $t4, %got(basicint)($gp) +/* 00421EAC 2404006D */ li $a0, 109 +/* 00421EB0 02002825 */ move $a1, $s0 +/* 00421EB4 918C0000 */ lbu $t4, ($t4) +/* 00421EB8 2407001D */ li $a3, 29 +/* 00421EBC 1580000D */ bnez $t4, .L00421EF4 +/* 00421EC0 00000000 */ nop +/* 00421EC4 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421EC8 2631FFFC */ addiu $s1, $s1, -4 +/* 00421ECC 02203025 */ move $a2, $s1 +/* 00421ED0 24040057 */ li $a0, 87 +/* 00421ED4 02002825 */ move $a1, $s0 +/* 00421ED8 2407001D */ li $a3, 29 +/* 00421EDC 0320F809 */ jalr $t9 +/* 00421EE0 AFA00010 */ sw $zero, 0x10($sp) +/* 00421EE4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421EE8 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00421EEC 10000009 */ b .L00421F14 +/* 00421EF0 8C420000 */ lw $v0, ($v0) +.L00421EF4: +/* 00421EF4 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421EF8 2631FFF8 */ addiu $s1, $s1, -8 +/* 00421EFC 02203025 */ move $a2, $s1 +/* 00421F00 0320F809 */ jalr $t9 +/* 00421F04 AFA00010 */ sw $zero, 0x10($sp) +/* 00421F08 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421F0C 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00421F10 8C420000 */ lw $v0, ($v0) +.L00421F14: +/* 00421F14 26520001 */ addiu $s2, $s2, 1 +/* 00421F18 2610FFFF */ addiu $s0, $s0, -1 +/* 00421F1C 1642FFB8 */ bne $s2, $v0, .L00421E00 +/* 00421F20 321000FF */ andi $s0, $s0, 0xff +/* 00421F24 00009025 */ move $s2, $zero +.L00421F28: +/* 00421F28 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00421F2C 24030001 */ li $v1, 1 +/* 00421F30 A3A0003A */ sb $zero, 0x3a($sp) +/* 00421F34 8C420000 */ lw $v0, ($v0) +/* 00421F38 00028040 */ sll $s0, $v0, 1 +/* 00421F3C 26100032 */ addiu $s0, $s0, 0x32 +/* 00421F40 321000FF */ andi $s0, $s0, 0xff +/* 00421F44 06210003 */ bgez $s1, .L00421F54 +/* 00421F48 00116883 */ sra $t5, $s1, 2 +/* 00421F4C 26210003 */ addiu $at, $s1, 3 +/* 00421F50 00016883 */ sra $t5, $at, 2 +.L00421F54: +/* 00421F54 31AA0001 */ andi $t2, $t5, 1 +/* 00421F58 11400003 */ beqz $t2, .L00421F68 +/* 00421F5C 24190001 */ li $t9, 1 +/* 00421F60 2631FFFC */ addiu $s1, $s1, -4 +/* 00421F64 A3B9003A */ sb $t9, 0x3a($sp) +.L00421F68: +/* 00421F68 10400039 */ beqz $v0, .L00422050 +/* 00421F6C 2E0F0060 */ sltiu $t7, $s0, 0x60 +.L00421F70: +/* 00421F70 11E00006 */ beqz $t7, .L00421F8C +/* 00421F74 00107143 */ sra $t6, $s0, 5 +/* 00421F78 000EC080 */ sll $t8, $t6, 2 +/* 00421F7C 02784021 */ addu $t0, $s3, $t8 +/* 00421F80 8D090000 */ lw $t1, ($t0) +/* 00421F84 02095804 */ sllv $t3, $t1, $s0 +/* 00421F88 296F0000 */ slti $t7, $t3, 0 +.L00421F8C: +/* 00421F8C 11E00028 */ beqz $t7, .L00422030 +/* 00421F90 8FAD0044 */ lw $t5, 0x44($sp) +/* 00421F94 92980000 */ lbu $t8, ($s4) +/* 00421F98 240A0003 */ li $t2, 3 +/* 00421F9C 020AC804 */ sllv $t9, $t2, $s0 +/* 00421FA0 01B97025 */ or $t6, $t5, $t9 +/* 00421FA4 13000012 */ beqz $t8, .L00421FF0 +/* 00421FA8 AFAE0044 */ sw $t6, 0x44($sp) +/* 00421FAC 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421FB0 26310008 */ addiu $s1, $s1, 8 +/* 00421FB4 00113023 */ negu $a2, $s1 +/* 00421FB8 2404007A */ li $a0, 122 +/* 00421FBC 02002825 */ move $a1, $s0 +/* 00421FC0 2407001D */ li $a3, 29 +/* 00421FC4 AFA00010 */ sw $zero, 0x10($sp) +/* 00421FC8 0320F809 */ jalr $t9 +/* 00421FCC A3A3003B */ sb $v1, 0x3b($sp) +/* 00421FD0 93A3003B */ lbu $v1, 0x3b($sp) +/* 00421FD4 8FA80058 */ lw $t0, 0x58($sp) +/* 00421FD8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00421FDC 10600014 */ beqz $v1, .L00422030 +/* 00421FE0 01114823 */ subu $t1, $t0, $s1 +/* 00421FE4 AFA9003C */ sw $t1, 0x3c($sp) +/* 00421FE8 10000011 */ b .L00422030 +/* 00421FEC 00001825 */ move $v1, $zero +.L00421FF0: +/* 00421FF0 8F998258 */ lw $t9, %call16(demit_rob_)($gp) +/* 00421FF4 2631FFF8 */ addiu $s1, $s1, -8 +/* 00421FF8 02203025 */ move $a2, $s1 +/* 00421FFC 2404007A */ li $a0, 122 +/* 00422000 02002825 */ move $a1, $s0 +/* 00422004 2407001D */ li $a3, 29 +/* 00422008 AFA00010 */ sw $zero, 0x10($sp) +/* 0042200C 0320F809 */ jalr $t9 +/* 00422010 A3A3003B */ sb $v1, 0x3b($sp) +/* 00422014 93A3003B */ lbu $v1, 0x3b($sp) +/* 00422018 8FAB0058 */ lw $t3, 0x58($sp) +/* 0042201C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422020 10600003 */ beqz $v1, .L00422030 +/* 00422024 022B6023 */ subu $t4, $s1, $t3 +/* 00422028 AFAC003C */ sw $t4, 0x3c($sp) +/* 0042202C 00001825 */ move $v1, $zero +.L00422030: +/* 00422030 8F8F8A08 */ lw $t7, %got(n_saved_fp_regs)($gp) +/* 00422034 26520001 */ addiu $s2, $s2, 1 +/* 00422038 2610FFFE */ addiu $s0, $s0, -2 +/* 0042203C 8DEF0000 */ lw $t7, ($t7) +/* 00422040 321000FF */ andi $s0, $s0, 0xff +/* 00422044 564FFFCA */ bnel $s2, $t7, .L00421F70 +/* 00422048 2E0F0060 */ sltiu $t7, $s0, 0x60 +/* 0042204C 00009025 */ move $s2, $zero +.L00422050: +/* 00422050 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00422054 2401001D */ li $at, 29 +/* 00422058 90E70000 */ lbu $a3, ($a3) +/* 0042205C 10E10014 */ beq $a3, $at, .L004220B0 +/* 00422060 00000000 */ nop +/* 00422064 928A0000 */ lbu $t2, ($s4) +/* 00422068 55400008 */ bnel $t2, $zero, .L0042208C +/* 0042206C 93AD006B */ lbu $t5, 0x6b($sp) +/* 00422070 8F998260 */ lw $t9, %call16(demit_rr)($gp) +/* 00422074 24040031 */ li $a0, 49 +/* 00422078 00E02825 */ move $a1, $a3 +/* 0042207C 0320F809 */ jalr $t9 +/* 00422080 2406001D */ li $a2, 29 +/* 00422084 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422088 93AD006B */ lbu $t5, 0x6b($sp) +.L0042208C: +/* 0042208C 24040031 */ li $a0, 49 +/* 00422090 15A00007 */ bnez $t5, .L004220B0 +/* 00422094 00000000 */ nop +/* 00422098 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042209C 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 004220A0 2405001D */ li $a1, 29 +/* 004220A4 0320F809 */ jalr $t9 +/* 004220A8 90C60000 */ lbu $a2, ($a2) +/* 004220AC 8FBC0030 */ lw $gp, 0x30($sp) +.L004220B0: +/* 004220B0 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 004220B4 24100034 */ li $s0, 52 +/* 004220B8 8C420000 */ lw $v0, ($v0) +/* 004220BC 10400028 */ beqz $v0, .L00422160 +.L004220C0: +/* 004220C0 2E190060 */ sltiu $t9, $s0, 0x60 +/* 004220C4 13200006 */ beqz $t9, .L004220E0 +/* 004220C8 00107143 */ sra $t6, $s0, 5 +/* 004220CC 000EC080 */ sll $t8, $t6, 2 +/* 004220D0 02784021 */ addu $t0, $s3, $t8 +/* 004220D4 8D090000 */ lw $t1, ($t0) +/* 004220D8 02095804 */ sllv $t3, $t1, $s0 +/* 004220DC 29790000 */ slti $t9, $t3, 0 +.L004220E0: +/* 004220E0 5320001B */ beql $t9, $zero, .L00422150 +/* 004220E4 26520001 */ addiu $s2, $s2, 1 +/* 004220E8 928F0000 */ lbu $t7, ($s4) +/* 004220EC 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004220F0 24040077 */ li $a0, 119 +/* 004220F4 11E0000C */ beqz $t7, .L00422128 +/* 004220F8 90E70000 */ lbu $a3, ($a3) +/* 004220FC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422100 24040077 */ li $a0, 119 +/* 00422104 02002825 */ move $a1, $s0 +/* 00422108 00113023 */ negu $a2, $s1 +/* 0042210C 0320F809 */ jalr $t9 +/* 00422110 AFA00010 */ sw $zero, 0x10($sp) +/* 00422114 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422118 2631FFF8 */ addiu $s1, $s1, -8 +/* 0042211C 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00422120 1000000A */ b .L0042214C +/* 00422124 8C420000 */ lw $v0, ($v0) +.L00422128: +/* 00422128 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042212C 02002825 */ move $a1, $s0 +/* 00422130 02203025 */ move $a2, $s1 +/* 00422134 0320F809 */ jalr $t9 +/* 00422138 AFA00010 */ sw $zero, 0x10($sp) +/* 0042213C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422140 26310008 */ addiu $s1, $s1, 8 +/* 00422144 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00422148 8C420000 */ lw $v0, ($v0) +.L0042214C: +/* 0042214C 26520001 */ addiu $s2, $s2, 1 +.L00422150: +/* 00422150 26100002 */ addiu $s0, $s0, 2 +/* 00422154 1642FFDA */ bne $s2, $v0, .L004220C0 +/* 00422158 321000FF */ andi $s0, $s0, 0xff +/* 0042215C 00009025 */ move $s2, $zero +.L00422160: +/* 00422160 93AA003A */ lbu $t2, 0x3a($sp) +/* 00422164 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422168 11400002 */ beqz $t2, .L00422174 +/* 0042216C 8C420000 */ lw $v0, ($v0) +/* 00422170 26310004 */ addiu $s1, $s1, 4 +.L00422174: +/* 00422174 10400050 */ beqz $v0, .L004222B8 +/* 00422178 24100010 */ li $s0, 16 +.L0042217C: +/* 0042217C 8F8D89DC */ lw $t5, %got(basicint)($gp) +/* 00422180 2E0E0060 */ sltiu $t6, $s0, 0x60 +/* 00422184 2E0A0060 */ sltiu $t2, $s0, 0x60 +/* 00422188 91AD0000 */ lbu $t5, ($t5) +/* 0042218C 15A00024 */ bnez $t5, .L00422220 +/* 00422190 00000000 */ nop +/* 00422194 11C00006 */ beqz $t6, .L004221B0 +/* 00422198 0010C143 */ sra $t8, $s0, 5 +/* 0042219C 00184080 */ sll $t0, $t8, 2 +/* 004221A0 02684821 */ addu $t1, $s3, $t0 +/* 004221A4 8D2B0000 */ lw $t3, ($t1) +/* 004221A8 020B6004 */ sllv $t4, $t3, $s0 +/* 004221AC 298E0000 */ slti $t6, $t4, 0 +.L004221B0: +/* 004221B0 51C0003E */ beql $t6, $zero, .L004222AC +/* 004221B4 26520001 */ addiu $s2, $s2, 1 +/* 004221B8 928F0000 */ lbu $t7, ($s4) +/* 004221BC 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004221C0 2404002A */ li $a0, 42 +/* 004221C4 11E0000C */ beqz $t7, .L004221F8 +/* 004221C8 90E70000 */ lbu $a3, ($a3) +/* 004221CC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004221D0 2404002A */ li $a0, 42 +/* 004221D4 02002825 */ move $a1, $s0 +/* 004221D8 00113023 */ negu $a2, $s1 +/* 004221DC 0320F809 */ jalr $t9 +/* 004221E0 AFA00010 */ sw $zero, 0x10($sp) +/* 004221E4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004221E8 2631FFFC */ addiu $s1, $s1, -4 +/* 004221EC 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 004221F0 1000002D */ b .L004222A8 +/* 004221F4 8C420000 */ lw $v0, ($v0) +.L004221F8: +/* 004221F8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004221FC 02002825 */ move $a1, $s0 +/* 00422200 02203025 */ move $a2, $s1 +/* 00422204 0320F809 */ jalr $t9 +/* 00422208 AFA00010 */ sw $zero, 0x10($sp) +/* 0042220C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422210 26310004 */ addiu $s1, $s1, 4 +/* 00422214 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422218 10000023 */ b .L004222A8 +/* 0042221C 8C420000 */ lw $v0, ($v0) +.L00422220: +/* 00422220 11400006 */ beqz $t2, .L0042223C +/* 00422224 00106943 */ sra $t5, $s0, 5 +/* 00422228 000DC080 */ sll $t8, $t5, 2 +/* 0042222C 02784021 */ addu $t0, $s3, $t8 +/* 00422230 8D090000 */ lw $t1, ($t0) +/* 00422234 02095804 */ sllv $t3, $t1, $s0 +/* 00422238 296A0000 */ slti $t2, $t3, 0 +.L0042223C: +/* 0042223C 5140001B */ beql $t2, $zero, .L004222AC +/* 00422240 26520001 */ addiu $s2, $s2, 1 +/* 00422244 92990000 */ lbu $t9, ($s4) +/* 00422248 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 0042224C 2404006C */ li $a0, 108 +/* 00422250 1320000C */ beqz $t9, .L00422284 +/* 00422254 90E70000 */ lbu $a3, ($a3) +/* 00422258 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042225C 2404006C */ li $a0, 108 +/* 00422260 02002825 */ move $a1, $s0 +/* 00422264 00113023 */ negu $a2, $s1 +/* 00422268 0320F809 */ jalr $t9 +/* 0042226C AFA00010 */ sw $zero, 0x10($sp) +/* 00422270 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422274 2631FFF8 */ addiu $s1, $s1, -8 +/* 00422278 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 0042227C 1000000A */ b .L004222A8 +/* 00422280 8C420000 */ lw $v0, ($v0) +.L00422284: +/* 00422284 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422288 02002825 */ move $a1, $s0 +/* 0042228C 02203025 */ move $a2, $s1 +/* 00422290 0320F809 */ jalr $t9 +/* 00422294 AFA00010 */ sw $zero, 0x10($sp) +/* 00422298 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042229C 26310008 */ addiu $s1, $s1, 8 +/* 004222A0 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 004222A4 8C420000 */ lw $v0, ($v0) +.L004222A8: +/* 004222A8 26520001 */ addiu $s2, $s2, 1 +.L004222AC: +/* 004222AC 26100001 */ addiu $s0, $s0, 1 +/* 004222B0 1642FFB2 */ bne $s2, $v0, .L0042217C +/* 004222B4 321000FF */ andi $s0, $s0, 0xff +.L004222B8: +/* 004222B8 8F8E89E4 */ lw $t6, %got(pic_level)($gp) +/* 004222BC 8FA80070 */ lw $t0, 0x70($sp) +/* 004222C0 2401FFFF */ li $at, -1 +/* 004222C4 8DCE0000 */ lw $t6, ($t6) +/* 004222C8 8FA90048 */ lw $t1, 0x48($sp) +/* 004222CC 19C0000B */ blez $t6, .L004222FC +/* 004222D0 00000000 */ nop +/* 004222D4 8E6F0000 */ lw $t7, ($s3) +/* 004222D8 000F6F00 */ sll $t5, $t7, 0x1c +/* 004222DC 05A10007 */ bgez $t5, .L004222FC +/* 004222E0 00000000 */ nop +/* 004222E4 92980000 */ lbu $t8, ($s4) +/* 004222E8 53000004 */ beql $t8, $zero, .L004222FC +/* 004222EC 26310004 */ addiu $s1, $s1, 4 +/* 004222F0 10000002 */ b .L004222FC +/* 004222F4 2631FFFC */ addiu $s1, $s1, -4 +/* 004222F8 26310004 */ addiu $s1, $s1, 4 +.L004222FC: +/* 004222FC 51010051 */ beql $t0, $at, .L00422444 +/* 00422300 92890000 */ lbu $t1, ($s4) +/* 00422304 8F8A89DC */ lw $t2, %got(basicint)($gp) +/* 00422308 8FAC0058 */ lw $t4, 0x58($sp) +/* 0042230C 3C018000 */ lui $at, 0x8000 +/* 00422310 914A0000 */ lbu $t2, ($t2) +/* 00422314 01215825 */ or $t3, $t1, $at +/* 00422318 AFAB0048 */ sw $t3, 0x48($sp) +/* 0042231C 15400009 */ bnez $t2, .L00422344 +/* 00422320 01883021 */ addu $a2, $t4, $t0 +/* 00422324 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422328 2404002A */ li $a0, 42 +/* 0042232C 2405001F */ li $a1, 31 +/* 00422330 2407001D */ li $a3, 29 +/* 00422334 0320F809 */ jalr $t9 +/* 00422338 AFA00010 */ sw $zero, 0x10($sp) +/* 0042233C 10000008 */ b .L00422360 +/* 00422340 8FBC0030 */ lw $gp, 0x30($sp) +.L00422344: +/* 00422344 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422348 2404006C */ li $a0, 108 +/* 0042234C 2405001F */ li $a1, 31 +/* 00422350 2407001D */ li $a3, 29 +/* 00422354 0320F809 */ jalr $t9 +/* 00422358 AFA00010 */ sw $zero, 0x10($sp) +/* 0042235C 8FBC0030 */ lw $gp, 0x30($sp) +.L00422360: +/* 00422360 8E790000 */ lw $t9, ($s3) +/* 00422364 00197780 */ sll $t6, $t9, 0x1e +/* 00422368 05C100E9 */ bgez $t6, .L00422710 +/* 0042236C 00000000 */ nop +/* 00422370 928F0000 */ lbu $t7, ($s4) +/* 00422374 11E0001A */ beqz $t7, .L004223E0 +/* 00422378 00000000 */ nop +/* 0042237C 8F8D89DC */ lw $t5, %got(basicint)($gp) +/* 00422380 00118023 */ negu $s0, $s1 +/* 00422384 02003025 */ move $a2, $s0 +/* 00422388 91AD0000 */ lbu $t5, ($t5) +/* 0042238C 2404006C */ li $a0, 108 +/* 00422390 2405001E */ li $a1, 30 +/* 00422394 15A0000B */ bnez $t5, .L004223C4 +/* 00422398 00000000 */ nop +/* 0042239C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004223A0 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004223A4 2404002A */ li $a0, 42 +/* 004223A8 2405001E */ li $a1, 30 +/* 004223AC 02003025 */ move $a2, $s0 +/* 004223B0 AFA00010 */ sw $zero, 0x10($sp) +/* 004223B4 0320F809 */ jalr $t9 +/* 004223B8 90E70000 */ lbu $a3, ($a3) +/* 004223BC 100000D4 */ b .L00422710 +/* 004223C0 8FBC0030 */ lw $gp, 0x30($sp) +.L004223C4: +/* 004223C4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004223C8 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004223CC AFA00010 */ sw $zero, 0x10($sp) +/* 004223D0 0320F809 */ jalr $t9 +/* 004223D4 90E70000 */ lbu $a3, ($a3) +/* 004223D8 100000CD */ b .L00422710 +/* 004223DC 8FBC0030 */ lw $gp, 0x30($sp) +.L004223E0: +/* 004223E0 8F9889DC */ lw $t8, %got(basicint)($gp) +/* 004223E4 2404006C */ li $a0, 108 +/* 004223E8 2405001E */ li $a1, 30 +/* 004223EC 93180000 */ lbu $t8, ($t8) +/* 004223F0 02203025 */ move $a2, $s1 +/* 004223F4 1700000B */ bnez $t8, .L00422424 +/* 004223F8 00000000 */ nop +/* 004223FC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422400 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00422404 2404002A */ li $a0, 42 +/* 00422408 2405001E */ li $a1, 30 +/* 0042240C 02203025 */ move $a2, $s1 +/* 00422410 AFA00010 */ sw $zero, 0x10($sp) +/* 00422414 0320F809 */ jalr $t9 +/* 00422418 90E70000 */ lbu $a3, ($a3) +/* 0042241C 100000BC */ b .L00422710 +/* 00422420 8FBC0030 */ lw $gp, 0x30($sp) +.L00422424: +/* 00422424 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422428 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 0042242C AFA00010 */ sw $zero, 0x10($sp) +/* 00422430 0320F809 */ jalr $t9 +/* 00422434 90E70000 */ lbu $a3, ($a3) +/* 00422438 100000B5 */ b .L00422710 +/* 0042243C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422440 92890000 */ lbu $t1, ($s4) +.L00422444: +/* 00422444 5120005C */ beql $t1, $zero, .L004225B8 +/* 00422448 8E6D0000 */ lw $t5, ($s3) +/* 0042244C 8E6B0000 */ lw $t3, ($s3) +/* 00422450 00118023 */ negu $s0, $s1 +/* 00422454 000B67C0 */ sll $t4, $t3, 0x1f +/* 00422458 0583003D */ bgezl $t4, .L00422550 +/* 0042245C 8E790000 */ lw $t9, ($s3) +/* 00422460 8E680000 */ lw $t0, ($s3) +/* 00422464 8F8289DC */ lw $v0, %got(basicint)($gp) +/* 00422468 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 0042246C 00085780 */ sll $t2, $t0, 0x1e +/* 00422470 90420000 */ lbu $v0, ($v0) +/* 00422474 05410024 */ bgez $t2, .L00422508 +/* 00422478 90E70000 */ lbu $a3, ($a3) +/* 0042247C 14400012 */ bnez $v0, .L004224C8 +/* 00422480 2404006C */ li $a0, 108 +/* 00422484 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422488 2404002A */ li $a0, 42 +/* 0042248C 2405001F */ li $a1, 31 +/* 00422490 26060004 */ addiu $a2, $s0, 4 +/* 00422494 0320F809 */ jalr $t9 +/* 00422498 AFA00010 */ sw $zero, 0x10($sp) +/* 0042249C 8FBC0030 */ lw $gp, 0x30($sp) +/* 004224A0 2404002A */ li $a0, 42 +/* 004224A4 2405001E */ li $a1, 30 +/* 004224A8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004224AC 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004224B0 02003025 */ move $a2, $s0 +/* 004224B4 AFA00010 */ sw $zero, 0x10($sp) +/* 004224B8 0320F809 */ jalr $t9 +/* 004224BC 90E70000 */ lbu $a3, ($a3) +/* 004224C0 10000093 */ b .L00422710 +/* 004224C4 8FBC0030 */ lw $gp, 0x30($sp) +.L004224C8: +/* 004224C8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004224CC 2405001F */ li $a1, 31 +/* 004224D0 26060008 */ addiu $a2, $s0, 8 +/* 004224D4 0320F809 */ jalr $t9 +/* 004224D8 AFA00010 */ sw $zero, 0x10($sp) +/* 004224DC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004224E0 2404006C */ li $a0, 108 +/* 004224E4 2405001E */ li $a1, 30 +/* 004224E8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004224EC 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004224F0 02003025 */ move $a2, $s0 +/* 004224F4 AFA00010 */ sw $zero, 0x10($sp) +/* 004224F8 0320F809 */ jalr $t9 +/* 004224FC 90E70000 */ lbu $a3, ($a3) +/* 00422500 10000083 */ b .L00422710 +/* 00422504 8FBC0030 */ lw $gp, 0x30($sp) +.L00422508: +/* 00422508 14400009 */ bnez $v0, .L00422530 +/* 0042250C 2404006C */ li $a0, 108 +/* 00422510 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422514 2404002A */ li $a0, 42 +/* 00422518 2405001F */ li $a1, 31 +/* 0042251C 02003025 */ move $a2, $s0 +/* 00422520 0320F809 */ jalr $t9 +/* 00422524 AFA00010 */ sw $zero, 0x10($sp) +/* 00422528 10000079 */ b .L00422710 +/* 0042252C 8FBC0030 */ lw $gp, 0x30($sp) +.L00422530: +/* 00422530 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422534 2405001F */ li $a1, 31 +/* 00422538 02003025 */ move $a2, $s0 +/* 0042253C 0320F809 */ jalr $t9 +/* 00422540 AFA00010 */ sw $zero, 0x10($sp) +/* 00422544 10000072 */ b .L00422710 +/* 00422548 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042254C 8E790000 */ lw $t9, ($s3) +.L00422550: +/* 00422550 00197780 */ sll $t6, $t9, 0x1e +/* 00422554 05C1006E */ bgez $t6, .L00422710 +/* 00422558 00000000 */ nop +/* 0042255C 8F8F89DC */ lw $t7, %got(basicint)($gp) +/* 00422560 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00422564 00118023 */ negu $s0, $s1 +/* 00422568 91EF0000 */ lbu $t7, ($t7) +/* 0042256C 2405001E */ li $a1, 30 +/* 00422570 2404006C */ li $a0, 108 +/* 00422574 15E00008 */ bnez $t7, .L00422598 +/* 00422578 90E70000 */ lbu $a3, ($a3) +/* 0042257C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422580 2404002A */ li $a0, 42 +/* 00422584 02003025 */ move $a2, $s0 +/* 00422588 0320F809 */ jalr $t9 +/* 0042258C AFA00010 */ sw $zero, 0x10($sp) +/* 00422590 1000005F */ b .L00422710 +/* 00422594 8FBC0030 */ lw $gp, 0x30($sp) +.L00422598: +/* 00422598 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042259C 2405001E */ li $a1, 30 +/* 004225A0 02003025 */ move $a2, $s0 +/* 004225A4 0320F809 */ jalr $t9 +/* 004225A8 AFA00010 */ sw $zero, 0x10($sp) +/* 004225AC 10000058 */ b .L00422710 +/* 004225B0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004225B4 8E6D0000 */ lw $t5, ($s3) +.L004225B8: +/* 004225B8 000DC7C0 */ sll $t8, $t5, 0x1f +/* 004225BC 0703003C */ bgezl $t8, .L004226B0 +/* 004225C0 8E6C0000 */ lw $t4, ($s3) +/* 004225C4 8F8289DC */ lw $v0, %got(basicint)($gp) +/* 004225C8 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004225CC 000D5F80 */ sll $t3, $t5, 0x1e +/* 004225D0 90420000 */ lbu $v0, ($v0) +/* 004225D4 05610024 */ bgez $t3, .L00422668 +/* 004225D8 90E70000 */ lbu $a3, ($a3) +/* 004225DC 14400012 */ bnez $v0, .L00422628 +/* 004225E0 2404006C */ li $a0, 108 +/* 004225E4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004225E8 2404002A */ li $a0, 42 +/* 004225EC 2405001F */ li $a1, 31 +/* 004225F0 26260004 */ addiu $a2, $s1, 4 +/* 004225F4 0320F809 */ jalr $t9 +/* 004225F8 AFA00010 */ sw $zero, 0x10($sp) +/* 004225FC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422600 2404002A */ li $a0, 42 +/* 00422604 2405001E */ li $a1, 30 +/* 00422608 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042260C 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00422610 02203025 */ move $a2, $s1 +/* 00422614 AFA00010 */ sw $zero, 0x10($sp) +/* 00422618 0320F809 */ jalr $t9 +/* 0042261C 90E70000 */ lbu $a3, ($a3) +/* 00422620 1000003B */ b .L00422710 +/* 00422624 8FBC0030 */ lw $gp, 0x30($sp) +.L00422628: +/* 00422628 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042262C 2405001F */ li $a1, 31 +/* 00422630 26260008 */ addiu $a2, $s1, 8 +/* 00422634 0320F809 */ jalr $t9 +/* 00422638 AFA00010 */ sw $zero, 0x10($sp) +/* 0042263C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422640 2404006C */ li $a0, 108 +/* 00422644 2405001E */ li $a1, 30 +/* 00422648 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042264C 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00422650 02203025 */ move $a2, $s1 +/* 00422654 AFA00010 */ sw $zero, 0x10($sp) +/* 00422658 0320F809 */ jalr $t9 +/* 0042265C 90E70000 */ lbu $a3, ($a3) +/* 00422660 1000002B */ b .L00422710 +/* 00422664 8FBC0030 */ lw $gp, 0x30($sp) +.L00422668: +/* 00422668 14400009 */ bnez $v0, .L00422690 +/* 0042266C 2404006C */ li $a0, 108 +/* 00422670 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422674 2404002A */ li $a0, 42 +/* 00422678 2405001F */ li $a1, 31 +/* 0042267C 02203025 */ move $a2, $s1 +/* 00422680 0320F809 */ jalr $t9 +/* 00422684 AFA00010 */ sw $zero, 0x10($sp) +/* 00422688 10000021 */ b .L00422710 +/* 0042268C 8FBC0030 */ lw $gp, 0x30($sp) +.L00422690: +/* 00422690 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422694 2405001F */ li $a1, 31 +/* 00422698 02203025 */ move $a2, $s1 +/* 0042269C 0320F809 */ jalr $t9 +/* 004226A0 AFA00010 */ sw $zero, 0x10($sp) +/* 004226A4 1000001A */ b .L00422710 +/* 004226A8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004226AC 8E6C0000 */ lw $t4, ($s3) +.L004226B0: +/* 004226B0 000C4780 */ sll $t0, $t4, 0x1e +/* 004226B4 05010016 */ bgez $t0, .L00422710 +/* 004226B8 00000000 */ nop +/* 004226BC 8F8A89DC */ lw $t2, %got(basicint)($gp) +/* 004226C0 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004226C4 2405001E */ li $a1, 30 +/* 004226C8 914A0000 */ lbu $t2, ($t2) +/* 004226CC 2404006C */ li $a0, 108 +/* 004226D0 90E70000 */ lbu $a3, ($a3) +/* 004226D4 15400008 */ bnez $t2, .L004226F8 +/* 004226D8 00000000 */ nop +/* 004226DC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004226E0 2404002A */ li $a0, 42 +/* 004226E4 02203025 */ move $a2, $s1 +/* 004226E8 0320F809 */ jalr $t9 +/* 004226EC AFA00010 */ sw $zero, 0x10($sp) +/* 004226F0 10000007 */ b .L00422710 +/* 004226F4 8FBC0030 */ lw $gp, 0x30($sp) +.L004226F8: +/* 004226F8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004226FC 2405001E */ li $a1, 30 +/* 00422700 02203025 */ move $a2, $s1 +/* 00422704 0320F809 */ jalr $t9 +/* 00422708 AFA00010 */ sw $zero, 0x10($sp) +/* 0042270C 8FBC0030 */ lw $gp, 0x30($sp) +.L00422710: +/* 00422710 8F9982F8 */ lw $t9, %call16(demit_mask)($gp) +/* 00422714 24040026 */ li $a0, 38 +/* 00422718 8FA50048 */ lw $a1, 0x48($sp) +/* 0042271C 0320F809 */ jalr $t9 +/* 00422720 8FA60040 */ lw $a2, 0x40($sp) +/* 00422724 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422728 24040027 */ li $a0, 39 +/* 0042272C 8FA50044 */ lw $a1, 0x44($sp) +/* 00422730 8F9982F8 */ lw $t9, %call16(demit_mask)($gp) +/* 00422734 8FA6003C */ lw $a2, 0x3c($sp) +/* 00422738 0320F809 */ jalr $t9 +/* 0042273C 00000000 */ nop +/* 00422740 8FBF0034 */ lw $ra, 0x34($sp) +/* 00422744 8FBC0030 */ lw $gp, 0x30($sp) +/* 00422748 8FB0001C */ lw $s0, 0x1c($sp) +/* 0042274C 8FB10020 */ lw $s1, 0x20($sp) +/* 00422750 8FB20024 */ lw $s2, 0x24($sp) +/* 00422754 8FB30028 */ lw $s3, 0x28($sp) +/* 00422758 8FB4002C */ lw $s4, 0x2c($sp) +/* 0042275C 03E00008 */ jr $ra +/* 00422760 27BD0058 */ addiu $sp, $sp, 0x58 + .type gen_reg_save_restore, @function + .size gen_reg_save_restore, .-gen_reg_save_restore + .end gen_reg_save_restore + +glabel gen_reg_save + .ent gen_reg_save + # 00421170 gen_entry +/* 00422764 3C1C0FC0 */ .cpload $t9 +/* 00422768 279CD2EC */ +/* 0042276C 0399E021 */ +/* 00422770 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00422774 AFB50034 */ sw $s5, 0x34($sp) +/* 00422778 8F958A74 */ lw $s5, %got(reversed_stack)($gp) +/* 0042277C AFBF003C */ sw $ra, 0x3c($sp) +/* 00422780 AFBC0038 */ sw $gp, 0x38($sp) +/* 00422784 92A20000 */ lbu $v0, ($s5) +/* 00422788 AFB40030 */ sw $s4, 0x30($sp) +/* 0042278C AFB3002C */ sw $s3, 0x2c($sp) +/* 00422790 AFB20028 */ sw $s2, 0x28($sp) +/* 00422794 AFB10024 */ sw $s1, 0x24($sp) +/* 00422798 10400005 */ beqz $v0, .L004227B0 +/* 0042279C AFB00020 */ sw $s0, 0x20($sp) +/* 004227A0 00857023 */ subu $t6, $a0, $a1 +/* 004227A4 01C77823 */ subu $t7, $t6, $a3 +/* 004227A8 10000003 */ b .L004227B8 +/* 004227AC 01E68823 */ subu $s1, $t7, $a2 +.L004227B0: +/* 004227B0 0085C023 */ subu $t8, $a0, $a1 +/* 004227B4 03078823 */ subu $s1, $t8, $a3 +.L004227B8: +/* 004227B8 8F948B90 */ lw $s4, %got(saved_regs)($gp) +/* 004227BC 8E990000 */ lw $t9, ($s4) +/* 004227C0 001947C0 */ sll $t0, $t9, 0x1f +/* 004227C4 05030033 */ bgezl $t0, .L00422894 +/* 004227C8 8E8B0000 */ lw $t3, ($s4) +/* 004227CC 10400019 */ beqz $v0, .L00422834 +/* 004227D0 00000000 */ nop +/* 004227D4 8F9389DC */ lw $s3, %got(basicint)($gp) +/* 004227D8 2404006D */ li $a0, 109 +/* 004227DC 2405001F */ li $a1, 31 +/* 004227E0 92690000 */ lbu $t1, ($s3) +/* 004227E4 2407001D */ li $a3, 29 +/* 004227E8 1520000B */ bnez $t1, .L00422818 +/* 004227EC 00000000 */ nop +/* 004227F0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004227F4 26310004 */ addiu $s1, $s1, 4 +/* 004227F8 00113023 */ negu $a2, $s1 +/* 004227FC 24040057 */ li $a0, 87 +/* 00422800 2405001F */ li $a1, 31 +/* 00422804 2407001D */ li $a3, 29 +/* 00422808 0320F809 */ jalr $t9 +/* 0042280C AFA00010 */ sw $zero, 0x10($sp) +/* 00422810 1000001F */ b .L00422890 +/* 00422814 8FBC0038 */ lw $gp, 0x38($sp) +.L00422818: +/* 00422818 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042281C 26310008 */ addiu $s1, $s1, 8 +/* 00422820 00113023 */ negu $a2, $s1 +/* 00422824 0320F809 */ jalr $t9 +/* 00422828 AFA00010 */ sw $zero, 0x10($sp) +/* 0042282C 10000018 */ b .L00422890 +/* 00422830 8FBC0038 */ lw $gp, 0x38($sp) +.L00422834: +/* 00422834 8F9389DC */ lw $s3, %got(basicint)($gp) +/* 00422838 2404006D */ li $a0, 109 +/* 0042283C 2405001F */ li $a1, 31 +/* 00422840 926A0000 */ lbu $t2, ($s3) +/* 00422844 2407001D */ li $a3, 29 +/* 00422848 1540000B */ bnez $t2, .L00422878 +/* 0042284C 00000000 */ nop +/* 00422850 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422854 2631FFFC */ addiu $s1, $s1, -4 +/* 00422858 02203025 */ move $a2, $s1 +/* 0042285C 24040057 */ li $a0, 87 +/* 00422860 2405001F */ li $a1, 31 +/* 00422864 2407001D */ li $a3, 29 +/* 00422868 0320F809 */ jalr $t9 +/* 0042286C AFA00010 */ sw $zero, 0x10($sp) +/* 00422870 10000007 */ b .L00422890 +/* 00422874 8FBC0038 */ lw $gp, 0x38($sp) +.L00422878: +/* 00422878 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042287C 2631FFF8 */ addiu $s1, $s1, -8 +/* 00422880 02203025 */ move $a2, $s1 +/* 00422884 0320F809 */ jalr $t9 +/* 00422888 AFA00010 */ sw $zero, 0x10($sp) +/* 0042288C 8FBC0038 */ lw $gp, 0x38($sp) +.L00422890: +/* 00422890 8E8B0000 */ lw $t3, ($s4) +.L00422894: +/* 00422894 8F9389DC */ lw $s3, %got(basicint)($gp) +/* 00422898 000B6780 */ sll $t4, $t3, 0x1e +/* 0042289C 0581002F */ bgez $t4, .L0042295C +/* 004228A0 00000000 */ nop +/* 004228A4 92AD0000 */ lbu $t5, ($s5) +/* 004228A8 51A00018 */ beql $t5, $zero, .L0042290C +/* 004228AC 926F0000 */ lbu $t7, ($s3) +/* 004228B0 926E0000 */ lbu $t6, ($s3) +/* 004228B4 2404006D */ li $a0, 109 +/* 004228B8 2405001E */ li $a1, 30 +/* 004228BC 15C0000B */ bnez $t6, .L004228EC +/* 004228C0 2407001D */ li $a3, 29 +/* 004228C4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004228C8 26310004 */ addiu $s1, $s1, 4 +/* 004228CC 00113023 */ negu $a2, $s1 +/* 004228D0 24040057 */ li $a0, 87 +/* 004228D4 2405001E */ li $a1, 30 +/* 004228D8 2407001D */ li $a3, 29 +/* 004228DC 0320F809 */ jalr $t9 +/* 004228E0 AFA00010 */ sw $zero, 0x10($sp) +/* 004228E4 1000001D */ b .L0042295C +/* 004228E8 8FBC0038 */ lw $gp, 0x38($sp) +.L004228EC: +/* 004228EC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004228F0 26310008 */ addiu $s1, $s1, 8 +/* 004228F4 00113023 */ negu $a2, $s1 +/* 004228F8 0320F809 */ jalr $t9 +/* 004228FC AFA00010 */ sw $zero, 0x10($sp) +/* 00422900 10000016 */ b .L0042295C +/* 00422904 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422908 926F0000 */ lbu $t7, ($s3) +.L0042290C: +/* 0042290C 2404006D */ li $a0, 109 +/* 00422910 2405001E */ li $a1, 30 +/* 00422914 15E0000B */ bnez $t7, .L00422944 +/* 00422918 2407001D */ li $a3, 29 +/* 0042291C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422920 2631FFFC */ addiu $s1, $s1, -4 +/* 00422924 02203025 */ move $a2, $s1 +/* 00422928 24040057 */ li $a0, 87 +/* 0042292C 2405001E */ li $a1, 30 +/* 00422930 2407001D */ li $a3, 29 +/* 00422934 0320F809 */ jalr $t9 +/* 00422938 AFA00010 */ sw $zero, 0x10($sp) +/* 0042293C 10000007 */ b .L0042295C +/* 00422940 8FBC0038 */ lw $gp, 0x38($sp) +.L00422944: +/* 00422944 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422948 2631FFF8 */ addiu $s1, $s1, -8 +/* 0042294C 02203025 */ move $a2, $s1 +/* 00422950 0320F809 */ jalr $t9 +/* 00422954 AFA00010 */ sw $zero, 0x10($sp) +/* 00422958 8FBC0038 */ lw $gp, 0x38($sp) +.L0042295C: +/* 0042295C 8F9889E4 */ lw $t8, %got(pic_level)($gp) +/* 00422960 8F180000 */ lw $t8, ($t8) +/* 00422964 1B00003D */ blez $t8, .L00422A5C +/* 00422968 00000000 */ nop +/* 0042296C 8E990000 */ lw $t9, ($s4) +/* 00422970 00194700 */ sll $t0, $t9, 0x1c +/* 00422974 05010039 */ bgez $t0, .L00422A5C +/* 00422978 00000000 */ nop +/* 0042297C 92A90000 */ lbu $t1, ($s5) +/* 00422980 2404000F */ li $a0, 15 +/* 00422984 1120001B */ beqz $t1, .L004229F4 +/* 00422988 00000000 */ nop +/* 0042298C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00422990 26310004 */ addiu $s1, $s1, 4 +/* 00422994 00118023 */ negu $s0, $s1 +/* 00422998 0320F809 */ jalr $t9 +/* 0042299C 02002825 */ move $a1, $s0 +/* 004229A0 8FBC0038 */ lw $gp, 0x38($sp) +/* 004229A4 8F838A98 */ lw $v1, %got(num_i_ptr_indexes)($gp) +/* 004229A8 8C620000 */ lw $v0, ($v1) +/* 004229AC 10400034 */ beqz $v0, .L00422A80 +/* 004229B0 00000000 */ nop +/* 004229B4 8F848978 */ lw $a0, %got(ibuffer)($gp) +/* 004229B8 8F858BB8 */ lw $a1, %got(i_ptrs_for_gp_offset)($gp) +/* 004229BC 8C840000 */ lw $a0, ($a0) +/* 004229C0 24A5FFFC */ addiu $a1, $a1, -4 +.L004229C4: +/* 004229C4 00025080 */ sll $t2, $v0, 2 +/* 004229C8 00AA5821 */ addu $t3, $a1, $t2 +/* 004229CC 8D6C0000 */ lw $t4, ($t3) +/* 004229D0 244FFFFF */ addiu $t7, $v0, -1 +/* 004229D4 01E01025 */ move $v0, $t7 +/* 004229D8 000C6900 */ sll $t5, $t4, 4 +/* 004229DC 008D7021 */ addu $t6, $a0, $t5 +/* 004229E0 ADD0FFFC */ sw $s0, -4($t6) +/* 004229E4 15E0FFF7 */ bnez $t7, .L004229C4 +/* 004229E8 AC6F0000 */ sw $t7, ($v1) +/* 004229EC 10000024 */ b .L00422A80 +/* 004229F0 00000000 */ nop +.L004229F4: +/* 004229F4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004229F8 2631FFFC */ addiu $s1, $s1, -4 +/* 004229FC 02202825 */ move $a1, $s1 +/* 00422A00 0320F809 */ jalr $t9 +/* 00422A04 2404000F */ li $a0, 15 +/* 00422A08 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422A0C 8F838A98 */ lw $v1, %got(num_i_ptr_indexes)($gp) +/* 00422A10 8C620000 */ lw $v0, ($v1) +/* 00422A14 1040001A */ beqz $v0, .L00422A80 +/* 00422A18 00000000 */ nop +/* 00422A1C 8F848978 */ lw $a0, %got(ibuffer)($gp) +/* 00422A20 8F858BB8 */ lw $a1, %got(i_ptrs_for_gp_offset)($gp) +/* 00422A24 8C840000 */ lw $a0, ($a0) +/* 00422A28 24A5FFFC */ addiu $a1, $a1, -4 +.L00422A2C: +/* 00422A2C 0002C080 */ sll $t8, $v0, 2 +/* 00422A30 00B8C821 */ addu $t9, $a1, $t8 +/* 00422A34 8F280000 */ lw $t0, ($t9) +/* 00422A38 244BFFFF */ addiu $t3, $v0, -1 +/* 00422A3C 01601025 */ move $v0, $t3 +/* 00422A40 00084900 */ sll $t1, $t0, 4 +/* 00422A44 00895021 */ addu $t2, $a0, $t1 +/* 00422A48 AD51FFFC */ sw $s1, -4($t2) +/* 00422A4C 1560FFF7 */ bnez $t3, .L00422A2C +/* 00422A50 AC6B0000 */ sw $t3, ($v1) +/* 00422A54 1000000A */ b .L00422A80 +/* 00422A58 00000000 */ nop +.L00422A5C: +/* 00422A5C 8F8C89F0 */ lw $t4, %got(use_cpalias)($gp) +/* 00422A60 918C0000 */ lbu $t4, ($t4) +/* 00422A64 11800006 */ beqz $t4, .L00422A80 +/* 00422A68 00000000 */ nop +/* 00422A6C 8F9982B8 */ lw $t9, %call16(emit_cpalias)($gp) +/* 00422A70 2404001E */ li $a0, 30 +/* 00422A74 0320F809 */ jalr $t9 +/* 00422A78 00000000 */ nop +/* 00422A7C 8FBC0038 */ lw $gp, 0x38($sp) +.L00422A80: +/* 00422A80 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422A84 00009025 */ move $s2, $zero +/* 00422A88 8C420000 */ lw $v0, ($v0) +/* 00422A8C 2450000F */ addiu $s0, $v0, 0xf +/* 00422A90 10400044 */ beqz $v0, .L00422BA4 +/* 00422A94 321000FF */ andi $s0, $s0, 0xff +.L00422A98: +/* 00422A98 2E0D0060 */ sltiu $t5, $s0, 0x60 +/* 00422A9C 11A00006 */ beqz $t5, .L00422AB8 +/* 00422AA0 00107143 */ sra $t6, $s0, 5 +/* 00422AA4 000E7880 */ sll $t7, $t6, 2 +/* 00422AA8 028FC021 */ addu $t8, $s4, $t7 +/* 00422AAC 8F190000 */ lw $t9, ($t8) +/* 00422AB0 02194004 */ sllv $t0, $t9, $s0 +/* 00422AB4 290D0000 */ slti $t5, $t0, 0 +.L00422AB8: +/* 00422AB8 51A00036 */ beql $t5, $zero, .L00422B94 +/* 00422ABC 26520001 */ addiu $s2, $s2, 1 +/* 00422AC0 92AA0000 */ lbu $t2, ($s5) +/* 00422AC4 5140001A */ beql $t2, $zero, .L00422B30 +/* 00422AC8 926C0000 */ lbu $t4, ($s3) +/* 00422ACC 926B0000 */ lbu $t3, ($s3) +/* 00422AD0 2404006D */ li $a0, 109 +/* 00422AD4 02002825 */ move $a1, $s0 +/* 00422AD8 1560000B */ bnez $t3, .L00422B08 +/* 00422ADC 2407001D */ li $a3, 29 +/* 00422AE0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422AE4 26310004 */ addiu $s1, $s1, 4 +/* 00422AE8 00113023 */ negu $a2, $s1 +/* 00422AEC 24040057 */ li $a0, 87 +/* 00422AF0 02002825 */ move $a1, $s0 +/* 00422AF4 2407001D */ li $a3, 29 +/* 00422AF8 0320F809 */ jalr $t9 +/* 00422AFC AFA00010 */ sw $zero, 0x10($sp) +/* 00422B00 10000007 */ b .L00422B20 +/* 00422B04 8FBC0038 */ lw $gp, 0x38($sp) +.L00422B08: +/* 00422B08 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422B0C 26310008 */ addiu $s1, $s1, 8 +/* 00422B10 00113023 */ negu $a2, $s1 +/* 00422B14 0320F809 */ jalr $t9 +/* 00422B18 AFA00010 */ sw $zero, 0x10($sp) +/* 00422B1C 8FBC0038 */ lw $gp, 0x38($sp) +.L00422B20: +/* 00422B20 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422B24 1000001A */ b .L00422B90 +/* 00422B28 8C420000 */ lw $v0, ($v0) +/* 00422B2C 926C0000 */ lbu $t4, ($s3) +.L00422B30: +/* 00422B30 2404006D */ li $a0, 109 +/* 00422B34 02002825 */ move $a1, $s0 +/* 00422B38 1580000D */ bnez $t4, .L00422B70 +/* 00422B3C 2407001D */ li $a3, 29 +/* 00422B40 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422B44 2631FFFC */ addiu $s1, $s1, -4 +/* 00422B48 02203025 */ move $a2, $s1 +/* 00422B4C 24040057 */ li $a0, 87 +/* 00422B50 02002825 */ move $a1, $s0 +/* 00422B54 2407001D */ li $a3, 29 +/* 00422B58 0320F809 */ jalr $t9 +/* 00422B5C AFA00010 */ sw $zero, 0x10($sp) +/* 00422B60 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422B64 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422B68 10000009 */ b .L00422B90 +/* 00422B6C 8C420000 */ lw $v0, ($v0) +.L00422B70: +/* 00422B70 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422B74 2631FFF8 */ addiu $s1, $s1, -8 +/* 00422B78 02203025 */ move $a2, $s1 +/* 00422B7C 0320F809 */ jalr $t9 +/* 00422B80 AFA00010 */ sw $zero, 0x10($sp) +/* 00422B84 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422B88 8F828A04 */ lw $v0, %got(n_saved_regs)($gp) +/* 00422B8C 8C420000 */ lw $v0, ($v0) +.L00422B90: +/* 00422B90 26520001 */ addiu $s2, $s2, 1 +.L00422B94: +/* 00422B94 2610FFFF */ addiu $s0, $s0, -1 +/* 00422B98 1642FFBF */ bne $s2, $v0, .L00422A98 +/* 00422B9C 321000FF */ andi $s0, $s0, 0xff +/* 00422BA0 00009025 */ move $s2, $zero +.L00422BA4: +/* 00422BA4 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00422BA8 8C420000 */ lw $v0, ($v0) +/* 00422BAC 00028040 */ sll $s0, $v0, 1 +/* 00422BB0 26100032 */ addiu $s0, $s0, 0x32 +/* 00422BB4 321000FF */ andi $s0, $s0, 0xff +/* 00422BB8 06210003 */ bgez $s1, .L00422BC8 +/* 00422BBC 00117083 */ sra $t6, $s1, 2 +/* 00422BC0 26210003 */ addiu $at, $s1, 3 +/* 00422BC4 00017083 */ sra $t6, $at, 2 +.L00422BC8: +/* 00422BC8 31CF0001 */ andi $t7, $t6, 1 +/* 00422BCC 11E00002 */ beqz $t7, .L00422BD8 +/* 00422BD0 00000000 */ nop +/* 00422BD4 2631FFFC */ addiu $s1, $s1, -4 +.L00422BD8: +/* 00422BD8 10400028 */ beqz $v0, .L00422C7C +.L00422BDC: +/* 00422BDC 2E180060 */ sltiu $t8, $s0, 0x60 +/* 00422BE0 13000007 */ beqz $t8, .L00422C00 +/* 00422BE4 00000000 */ nop +/* 00422BE8 0010C943 */ sra $t9, $s0, 5 +/* 00422BEC 00194080 */ sll $t0, $t9, 2 +/* 00422BF0 02884821 */ addu $t1, $s4, $t0 +/* 00422BF4 8D2D0000 */ lw $t5, ($t1) +/* 00422BF8 020D5004 */ sllv $t2, $t5, $s0 +/* 00422BFC 29580000 */ slti $t8, $t2, 0 +.L00422C00: +/* 00422C00 5300001B */ beql $t8, $zero, .L00422C70 +/* 00422C04 26520001 */ addiu $s2, $s2, 1 +/* 00422C08 92AC0000 */ lbu $t4, ($s5) +/* 00422C0C 2404007A */ li $a0, 122 +/* 00422C10 02002825 */ move $a1, $s0 +/* 00422C14 1180000D */ beqz $t4, .L00422C4C +/* 00422C18 2407001D */ li $a3, 29 +/* 00422C1C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422C20 26310008 */ addiu $s1, $s1, 8 +/* 00422C24 00113023 */ negu $a2, $s1 +/* 00422C28 2404007A */ li $a0, 122 +/* 00422C2C 02002825 */ move $a1, $s0 +/* 00422C30 2407001D */ li $a3, 29 +/* 00422C34 0320F809 */ jalr $t9 +/* 00422C38 AFA00010 */ sw $zero, 0x10($sp) +/* 00422C3C 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422C40 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00422C44 10000009 */ b .L00422C6C +/* 00422C48 8C420000 */ lw $v0, ($v0) +.L00422C4C: +/* 00422C4C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00422C50 2631FFF8 */ addiu $s1, $s1, -8 +/* 00422C54 02203025 */ move $a2, $s1 +/* 00422C58 0320F809 */ jalr $t9 +/* 00422C5C AFA00010 */ sw $zero, 0x10($sp) +/* 00422C60 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422C64 8F828A08 */ lw $v0, %got(n_saved_fp_regs)($gp) +/* 00422C68 8C420000 */ lw $v0, ($v0) +.L00422C6C: +/* 00422C6C 26520001 */ addiu $s2, $s2, 1 +.L00422C70: +/* 00422C70 2610FFFE */ addiu $s0, $s0, -2 +/* 00422C74 1642FFD9 */ bne $s2, $v0, .L00422BDC +/* 00422C78 321000FF */ andi $s0, $s0, 0xff +.L00422C7C: +/* 00422C7C 8F858A60 */ lw $a1, %got(frame_pointer)($gp) +/* 00422C80 2401001D */ li $at, 29 +/* 00422C84 90A50000 */ lbu $a1, ($a1) +/* 00422C88 50A10008 */ beql $a1, $at, .L00422CAC +/* 00422C8C 8FBF003C */ lw $ra, 0x3c($sp) +/* 00422C90 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00422C94 24040031 */ li $a0, 49 +/* 00422C98 2406001D */ li $a2, 29 +/* 00422C9C 0320F809 */ jalr $t9 +/* 00422CA0 00000000 */ nop +/* 00422CA4 8FBC0038 */ lw $gp, 0x38($sp) +/* 00422CA8 8FBF003C */ lw $ra, 0x3c($sp) +.L00422CAC: +/* 00422CAC 8FB00020 */ lw $s0, 0x20($sp) +/* 00422CB0 8FB10024 */ lw $s1, 0x24($sp) +/* 00422CB4 8FB20028 */ lw $s2, 0x28($sp) +/* 00422CB8 8FB3002C */ lw $s3, 0x2c($sp) +/* 00422CBC 8FB40030 */ lw $s4, 0x30($sp) +/* 00422CC0 8FB50034 */ lw $s5, 0x34($sp) +/* 00422CC4 03E00008 */ jr $ra +/* 00422CC8 27BD0040 */ addiu $sp, $sp, 0x40 + .type gen_reg_save, @function + .size gen_reg_save, .-gen_reg_save + .end gen_reg_save + +glabel demit_mask + .ent demit_mask + # 004219E8 gen_reg_save_restore +/* 00422CCC 3C1C0FC0 */ .cpload $t9 +/* 00422CD0 279CCD84 */ +/* 00422CD4 0399E021 */ +/* 00422CD8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00422CDC AFBF001C */ sw $ra, 0x1c($sp) +/* 00422CE0 AFBC0018 */ sw $gp, 0x18($sp) +/* 00422CE4 AFA40030 */ sw $a0, 0x30($sp) +/* 00422CE8 AFA00024 */ sw $zero, 0x24($sp) +/* 00422CEC 10A0000F */ beqz $a1, .L00422D2C +/* 00422CF0 308700FF */ andi $a3, $a0, 0xff +/* 00422CF4 93AE0025 */ lbu $t6, 0x25($sp) +/* 00422CF8 AFA00020 */ sw $zero, 0x20($sp) +/* 00422CFC AFA50028 */ sw $a1, 0x28($sp) +/* 00422D00 000E7E80 */ sll $t7, $t6, 0x1a +/* 00422D04 000FC682 */ srl $t8, $t7, 0x1a +/* 00422D08 00F8C826 */ xor $t9, $a3, $t8 +/* 00422D0C 3328003F */ andi $t0, $t9, 0x3f +/* 00422D10 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 00422D14 010E4826 */ xor $t1, $t0, $t6 +/* 00422D18 A3A90025 */ sb $t1, 0x25($sp) +/* 00422D1C AFA6002C */ sw $a2, 0x2c($sp) +/* 00422D20 0320F809 */ jalr $t9 +/* 00422D24 27A40020 */ addiu $a0, $sp, 0x20 +/* 00422D28 8FBC0018 */ lw $gp, 0x18($sp) +.L00422D2C: +/* 00422D2C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00422D30 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00422D34 03E00008 */ jr $ra +/* 00422D38 00000000 */ nop + .type demit_mask, @function + .size demit_mask, .-demit_mask + .end demit_mask + +glabel demit_frame + .ent demit_frame + # 00420810 gen_entry_exit +/* 00422D3C 3C1C0FC0 */ .cpload $t9 +/* 00422D40 279CCD14 */ +/* 00422D44 0399E021 */ +/* 00422D48 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00422D4C 00051640 */ sll $v0, $a1, 0x19 +/* 00422D50 AFA00024 */ sw $zero, 0x24($sp) +/* 00422D54 0002C9C0 */ sll $t9, $v0, 7 +/* 00422D58 93AE0025 */ lbu $t6, 0x25($sp) +/* 00422D5C 00194642 */ srl $t0, $t9, 0x19 +/* 00422D60 00C84826 */ xor $t1, $a2, $t0 +/* 00422D64 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 00422D68 00095640 */ sll $t2, $t1, 0x19 +/* 00422D6C 000A59C2 */ srl $t3, $t2, 7 +/* 00422D70 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 00422D74 AFBF001C */ sw $ra, 0x1c($sp) +/* 00422D78 35F8002B */ ori $t8, $t7, 0x2b +/* 00422D7C AFA40028 */ sw $a0, 0x28($sp) +/* 00422D80 01621026 */ xor $v0, $t3, $v0 +/* 00422D84 AFBC0018 */ sw $gp, 0x18($sp) +/* 00422D88 AFA50034 */ sw $a1, 0x34($sp) +/* 00422D8C AFA60038 */ sw $a2, 0x38($sp) +/* 00422D90 A3B80025 */ sb $t8, 0x25($sp) +/* 00422D94 AFA00020 */ sw $zero, 0x20($sp) +/* 00422D98 AFA2002C */ sw $v0, 0x2c($sp) +/* 00422D9C 0320F809 */ jalr $t9 +/* 00422DA0 27A40020 */ addiu $a0, $sp, 0x20 +/* 00422DA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00422DA8 8FBC0018 */ lw $gp, 0x18($sp) +/* 00422DAC 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00422DB0 03E00008 */ jr $ra +/* 00422DB4 00000000 */ nop + .type demit_frame, @function + .size demit_frame, .-demit_frame + .end demit_frame + +glabel emit_file + .ent emit_file + # 00420810 gen_entry_exit + # 0042BDAC eval +/* 00422DB8 3C1C0FC0 */ .cpload $t9 +/* 00422DBC 279CCC98 */ +/* 00422DC0 0399E021 */ +/* 00422DC4 27BDFAF8 */ addiu $sp, $sp, -0x508 +/* 00422DC8 AFB600C4 */ sw $s6, 0xc4($sp) +/* 00422DCC 30B600FF */ andi $s6, $a1, 0xff +/* 00422DD0 AFBF00CC */ sw $ra, 0xcc($sp) +/* 00422DD4 AFBC00C8 */ sw $gp, 0xc8($sp) +/* 00422DD8 AFB500C0 */ sw $s5, 0xc0($sp) +/* 00422DDC AFB400BC */ sw $s4, 0xbc($sp) +/* 00422DE0 AFB300B8 */ sw $s3, 0xb8($sp) +/* 00422DE4 AFB200B4 */ sw $s2, 0xb4($sp) +/* 00422DE8 AFB100B0 */ sw $s1, 0xb0($sp) +/* 00422DEC AFB000AC */ sw $s0, 0xac($sp) +/* 00422DF0 AFA5050C */ sw $a1, 0x50c($sp) +/* 00422DF4 AFA000E8 */ sw $zero, 0xe8($sp) +/* 00422DF8 14800044 */ bnez $a0, .L00422F0C +/* 00422DFC AFA000F0 */ sw $zero, 0xf0($sp) +/* 00422E00 8F8E89D0 */ lw $t6, %got(mscoff)($gp) +/* 00422E04 24040002 */ li $a0, 2 +/* 00422E08 91CE0000 */ lbu $t6, ($t6) +/* 00422E0C 55C000AA */ bnel $t6, $zero, .L004230B8 +/* 00422E10 8FBF00CC */ lw $ra, 0xcc($sp) +/* 00422E14 8F8F8038 */ lw $t7, %got(RO_10009930)($gp) +/* 00422E18 2405041F */ li $a1, 1055 +/* 00422E1C 03A04025 */ move $t0, $sp +/* 00422E20 25EF9930 */ addiu $t7, %lo(RO_10009930) # addiu $t7, $t7, -0x66d0 +/* 00422E24 25E90048 */ addiu $t1, $t7, 0x48 +.L00422E28: +/* 00422E28 89F90000 */ lwl $t9, ($t7) +/* 00422E2C 99F90003 */ lwr $t9, 3($t7) +/* 00422E30 25EF000C */ addiu $t7, $t7, 0xc +/* 00422E34 2508000C */ addiu $t0, $t0, 0xc +/* 00422E38 A919FFFC */ swl $t9, -4($t0) +/* 00422E3C B919FFFF */ swr $t9, -1($t0) +/* 00422E40 89F8FFF8 */ lwl $t8, -8($t7) +/* 00422E44 99F8FFFB */ lwr $t8, -5($t7) +/* 00422E48 A9180000 */ swl $t8, ($t0) +/* 00422E4C B9180003 */ swr $t8, 3($t0) +/* 00422E50 89F9FFFC */ lwl $t9, -4($t7) +/* 00422E54 99F9FFFF */ lwr $t9, -1($t7) +/* 00422E58 A9190004 */ swl $t9, 4($t0) +/* 00422E5C 15E9FFF2 */ bne $t7, $t1, .L00422E28 +/* 00422E60 B9190007 */ swr $t9, 7($t0) +/* 00422E64 89F90000 */ lwl $t9, ($t7) +/* 00422E68 99F90003 */ lwr $t9, 3($t7) +/* 00422E6C 8F8A8038 */ lw $t2, %got(RO_100098E0)($gp) +/* 00422E70 03A06825 */ move $t5, $sp +/* 00422E74 A9190008 */ swl $t9, 8($t0) +/* 00422E78 B919000B */ swr $t9, 0xb($t0) +/* 00422E7C 89F80004 */ lwl $t8, 4($t7) +/* 00422E80 99F80007 */ lwr $t8, 7($t7) +/* 00422E84 254A98E0 */ addiu $t2, %lo(RO_100098E0) # addiu $t2, $t2, -0x6720 +/* 00422E88 254E0048 */ addiu $t6, $t2, 0x48 +/* 00422E8C A918000C */ swl $t8, 0xc($t0) +/* 00422E90 B918000F */ swr $t8, 0xf($t0) +.L00422E94: +/* 00422E94 894C0000 */ lwl $t4, ($t2) +/* 00422E98 994C0003 */ lwr $t4, 3($t2) +/* 00422E9C 254A000C */ addiu $t2, $t2, 0xc +/* 00422EA0 25AD000C */ addiu $t5, $t5, 0xc +/* 00422EA4 A9AC004C */ swl $t4, 0x4c($t5) +/* 00422EA8 B9AC004F */ swr $t4, 0x4f($t5) +/* 00422EAC 894BFFF8 */ lwl $t3, -8($t2) +/* 00422EB0 994BFFFB */ lwr $t3, -5($t2) +/* 00422EB4 A9AB0050 */ swl $t3, 0x50($t5) +/* 00422EB8 B9AB0053 */ swr $t3, 0x53($t5) +/* 00422EBC 894CFFFC */ lwl $t4, -4($t2) +/* 00422EC0 994CFFFF */ lwr $t4, -1($t2) +/* 00422EC4 A9AC0054 */ swl $t4, 0x54($t5) +/* 00422EC8 154EFFF2 */ bne $t2, $t6, .L00422E94 +/* 00422ECC B9AC0057 */ swr $t4, 0x57($t5) +/* 00422ED0 894C0000 */ lwl $t4, ($t2) +/* 00422ED4 994C0003 */ lwr $t4, 3($t2) +/* 00422ED8 A9AC0058 */ swl $t4, 0x58($t5) +/* 00422EDC B9AC005B */ swr $t4, 0x5b($t5) +/* 00422EE0 894B0004 */ lwl $t3, 4($t2) +/* 00422EE4 994B0007 */ lwr $t3, 7($t2) +/* 00422EE8 A9AB005C */ swl $t3, 0x5c($t5) +/* 00422EEC B9AB005F */ swr $t3, 0x5f($t5) +/* 00422EF0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00422EF4 8FA7000C */ lw $a3, 0xc($sp) +/* 00422EF8 8FA60008 */ lw $a2, 8($sp) +/* 00422EFC 0320F809 */ jalr $t9 +/* 00422F00 00000000 */ nop +/* 00422F04 1000006B */ b .L004230B4 +/* 00422F08 8FBC00C8 */ lw $gp, 0xc8($sp) +.L00422F0C: +/* 00422F0C 93A900E9 */ lbu $t1, 0xe9($sp) +/* 00422F10 AFA400E4 */ sw $a0, 0xe4($sp) +/* 00422F14 312FFFC0 */ andi $t7, $t1, 0xffc0 +/* 00422F18 35E8000C */ ori $t0, $t7, 0xc +/* 00422F1C 14800002 */ bnez $a0, .L00422F28 +/* 00422F20 A3A800E9 */ sb $t0, 0xe9($sp) +/* 00422F24 24040002 */ li $a0, 2 +.L00422F28: +/* 00422F28 8F9986F0 */ lw $t9, %call16(st_str_idn)($gp) +/* 00422F2C 0320F809 */ jalr $t9 +/* 00422F30 00000000 */ nop +/* 00422F34 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 00422F38 27A30108 */ addiu $v1, $sp, 0x108 +/* 00422F3C 27A50508 */ addiu $a1, $sp, 0x508 +/* 00422F40 24040020 */ li $a0, 32 +.L00422F44: +/* 00422F44 24630001 */ addiu $v1, $v1, 1 +/* 00422F48 1465FFFE */ bne $v1, $a1, .L00422F44 +/* 00422F4C A064FFFF */ sb $a0, -1($v1) +/* 00422F50 90580000 */ lbu $t8, ($v0) +/* 00422F54 24060001 */ li $a2, 1 +/* 00422F58 27A30108 */ addiu $v1, $sp, 0x108 +/* 00422F5C 13000008 */ beqz $t8, .L00422F80 +/* 00422F60 24440001 */ addiu $a0, $v0, 1 +/* 00422F64 9085FFFF */ lbu $a1, -1($a0) +.L00422F68: +/* 00422F68 A0650000 */ sb $a1, ($v1) +/* 00422F6C 90850000 */ lbu $a1, ($a0) +/* 00422F70 24C60001 */ addiu $a2, $a2, 1 +/* 00422F74 24630001 */ addiu $v1, $v1, 1 +/* 00422F78 14A0FFFB */ bnez $a1, .L00422F68 +/* 00422F7C 24840001 */ addiu $a0, $a0, 1 +.L00422F80: +/* 00422F80 24D9FFFF */ addiu $t9, $a2, -1 +/* 00422F84 12C00008 */ beqz $s6, .L00422FA8 +/* 00422F88 AFB900EC */ sw $t9, 0xec($sp) +/* 00422F8C 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 00422F90 27B400E4 */ addiu $s4, $sp, 0xe4 +/* 00422F94 02802025 */ move $a0, $s4 +/* 00422F98 0320F809 */ jalr $t9 +/* 00422F9C 00000000 */ nop +/* 00422FA0 10000007 */ b .L00422FC0 +/* 00422FA4 8FBC00C8 */ lw $gp, 0xc8($sp) +.L00422FA8: +/* 00422FA8 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 00422FAC 27B400E4 */ addiu $s4, $sp, 0xe4 +/* 00422FB0 02802025 */ move $a0, $s4 +/* 00422FB4 0320F809 */ jalr $t9 +/* 00422FB8 00000000 */ nop +/* 00422FBC 8FBC00C8 */ lw $gp, 0xc8($sp) +.L00422FC0: +/* 00422FC0 8FAE00EC */ lw $t6, 0xec($sp) +/* 00422FC4 11C0003B */ beqz $t6, .L004230B4 +/* 00422FC8 25C2FFFF */ addiu $v0, $t6, -1 +/* 00422FCC 04410002 */ bgez $v0, .L00422FD8 +/* 00422FD0 00400821 */ move $at, $v0 +/* 00422FD4 2441000F */ addiu $at, $v0, 0xf +.L00422FD8: +/* 00422FD8 00011103 */ sra $v0, $at, 4 +/* 00422FDC 24420001 */ addiu $v0, $v0, 1 +/* 00422FE0 10400034 */ beqz $v0, .L004230B4 +/* 00422FE4 24130001 */ li $s3, 1 +/* 00422FE8 24550001 */ addiu $s5, $v0, 1 +/* 00422FEC 24120011 */ li $s2, 17 +/* 00422FF0 27B10107 */ addiu $s1, $sp, 0x107 +/* 00422FF4 27B000E3 */ addiu $s0, $sp, 0xe3 +.L00422FF8: +/* 00422FF8 8F8A8038 */ lw $t2, %got(RO_100098D0)($gp) +/* 00422FFC 00132100 */ sll $a0, $s3, 4 +/* 00423000 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 00423004 254A98D0 */ addiu $t2, %lo(RO_100098D0) # addiu $t2, $t2, -0x6730 +/* 00423008 894B0000 */ lwl $t3, ($t2) +/* 0042300C 994B0003 */ lwr $t3, 3($t2) +/* 00423010 24020001 */ li $v0, 1 +/* 00423014 AA8B0000 */ swl $t3, ($s4) +/* 00423018 BA8B0003 */ swr $t3, 3($s4) +/* 0042301C 894D0004 */ lwl $t5, 4($t2) +/* 00423020 994D0007 */ lwr $t5, 7($t2) +/* 00423024 AA8D0004 */ swl $t5, 4($s4) +/* 00423028 BA8D0007 */ swr $t5, 7($s4) +/* 0042302C 894B0008 */ lwl $t3, 8($t2) +/* 00423030 994B000B */ lwr $t3, 0xb($t2) +/* 00423034 AA8B0008 */ swl $t3, 8($s4) +/* 00423038 BA8B000B */ swr $t3, 0xb($s4) +/* 0042303C 894D000C */ lwl $t5, 0xc($t2) +/* 00423040 994D000F */ lwr $t5, 0xf($t2) +/* 00423044 AA8D000C */ swl $t5, 0xc($s4) +/* 00423048 BA8D000F */ swr $t5, 0xf($s4) +.L0042304C: +/* 0042304C 8FAC00EC */ lw $t4, 0xec($sp) +/* 00423050 00821821 */ addu $v1, $a0, $v0 +/* 00423054 02234821 */ addu $t1, $s1, $v1 +/* 00423058 0183082A */ slt $at, $t4, $v1 +/* 0042305C 14200005 */ bnez $at, .L00423074 +/* 00423060 02024021 */ addu $t0, $s0, $v0 +/* 00423064 912F0000 */ lbu $t7, ($t1) +/* 00423068 24420001 */ addiu $v0, $v0, 1 +/* 0042306C 1452FFF7 */ bne $v0, $s2, .L0042304C +/* 00423070 A10F0000 */ sb $t7, ($t0) +.L00423074: +/* 00423074 12C00007 */ beqz $s6, .L00423094 +/* 00423078 00000000 */ nop +/* 0042307C 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 00423080 02802025 */ move $a0, $s4 +/* 00423084 0320F809 */ jalr $t9 +/* 00423088 00000000 */ nop +/* 0042308C 10000006 */ b .L004230A8 +/* 00423090 8FBC00C8 */ lw $gp, 0xc8($sp) +.L00423094: +/* 00423094 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 00423098 02802025 */ move $a0, $s4 +/* 0042309C 0320F809 */ jalr $t9 +/* 004230A0 00000000 */ nop +/* 004230A4 8FBC00C8 */ lw $gp, 0xc8($sp) +.L004230A8: +/* 004230A8 26730001 */ addiu $s3, $s3, 1 +/* 004230AC 1675FFD2 */ bne $s3, $s5, .L00422FF8 +/* 004230B0 00000000 */ nop +.L004230B4: +/* 004230B4 8FBF00CC */ lw $ra, 0xcc($sp) +.L004230B8: +/* 004230B8 8FB000AC */ lw $s0, 0xac($sp) +/* 004230BC 8FB100B0 */ lw $s1, 0xb0($sp) +/* 004230C0 8FB200B4 */ lw $s2, 0xb4($sp) +/* 004230C4 8FB300B8 */ lw $s3, 0xb8($sp) +/* 004230C8 8FB400BC */ lw $s4, 0xbc($sp) +/* 004230CC 8FB500C0 */ lw $s5, 0xc0($sp) +/* 004230D0 8FB600C4 */ lw $s6, 0xc4($sp) +/* 004230D4 03E00008 */ jr $ra +/* 004230D8 27BD0508 */ addiu $sp, $sp, 0x508 + .type emit_file, @function + .size emit_file, .-emit_file + .end emit_file + +glabel emit_optimize_level + .ent emit_optimize_level + # 00420810 gen_entry_exit +/* 004230DC 3C1C0FC0 */ .cpload $t9 +/* 004230E0 279CC974 */ +/* 004230E4 0399E021 */ +/* 004230E8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004230EC AFA00024 */ sw $zero, 0x24($sp) +/* 004230F0 93AE0025 */ lbu $t6, 0x25($sp) +/* 004230F4 3C01FFFF */ lui $at, 0xffff +/* 004230F8 34213FFF */ ori $at, $at, 0x3fff +/* 004230FC 31CFFFC0 */ andi $t7, $t6, 0xffc0 +/* 00423100 35F8002F */ ori $t8, $t7, 0x2f +/* 00423104 A3B80025 */ sb $t8, 0x25($sp) +/* 00423108 8FB90024 */ lw $t9, 0x24($sp) +/* 0042310C AFBF001C */ sw $ra, 0x1c($sp) +/* 00423110 AFA4002C */ sw $a0, 0x2c($sp) +/* 00423114 03214024 */ and $t0, $t9, $at +/* 00423118 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0042311C 35094000 */ ori $t1, $t0, 0x4000 +/* 00423120 AFBC0018 */ sw $gp, 0x18($sp) +/* 00423124 AFA00028 */ sw $zero, 0x28($sp) +/* 00423128 AFA00020 */ sw $zero, 0x20($sp) +/* 0042312C AFA90024 */ sw $t1, 0x24($sp) +/* 00423130 0320F809 */ jalr $t9 +/* 00423134 27A40020 */ addiu $a0, $sp, 0x20 +/* 00423138 8FBF001C */ lw $ra, 0x1c($sp) +/* 0042313C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00423140 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00423144 03E00008 */ jr $ra +/* 00423148 00000000 */ nop + .type emit_optimize_level, @function + .size emit_optimize_level, .-emit_optimize_level + .end emit_optimize_level +)""); diff --git a/src/ugen/eval.c b/src/ugen/eval.c new file mode 100644 index 0000000..5d561dc --- /dev/null +++ b/src/ugen/eval.c @@ -0,0 +1,20780 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_10009980: + # 004235C4 fasm + .ascii "illegal data type " + +RO_100099D0: + # 004235C4 fasm + .ascii "eval.p " + +RO_10009A20: + # 004235C4 fasm + .ascii "extended floating point not yet supported " + +RO_10009A70: + # 004235C4 fasm + .ascii "eval.p " + + .balign 4 +jtbl_10009AC0: + # 004235C4 fasm + .gpword .L00423618 + .gpword .L00423610 + .gpword .L0042371C + .gpword .L0042371C + .gpword .L00423620 + +RO_10009AD4: + # 00423828 fop + .ascii "illegal data type " + +RO_10009B24: + # 00423828 fop + .ascii "eval.p " + +RO_10009B74: + # 00423828 fop + .ascii "extended floating point not yet supported " + +RO_10009BC4: + # 00423828 fop + .ascii "eval.p " + + .balign 4 +jtbl_10009C14: + # 00423828 fop + .gpword .L00423888 + .gpword .L00423874 + .gpword .L00423998 + .gpword .L00423998 + .gpword .L0042389C + + .balign 4 +jtbl_10009C28: + # 00423AA4 uop_to_asm + .gpword .L00423B40 + .gpword .L00423BC8 + .gpword .L00423B84 + + .balign 4 +jtbl_10009C34: + # 00423AA4 uop_to_asm + .gpword .L00423C44 + .gpword .L00423CCC + .gpword .L00423C88 + + .balign 4 +jtbl_10009C40: + # 00423D28 jump + .gpword .L00423E68 + .gpword .L00424148 + .gpword .L00424148 + .gpword .L00424148 + .gpword .L00424148 + .gpword .L00423E68 + .gpword .L00423E68 + + .balign 4 +jtbl_10009C5C: + # 00423D28 jump + .gpword .L00423E68 + .gpword .L00423E68 + .gpword .L00424148 + .gpword .L00423E58 + + .balign 4 +jtbl_10009C6C: + # 00424240 trap + .gpword .L00424314 + .gpword .L00424740 + .gpword .L00424740 + .gpword .L00424740 + .gpword .L00424740 + .gpword .L00424314 + .gpword .L00424314 + + .balign 4 +jtbl_10009C88: + # 00424240 trap + .gpword .L00424314 + .gpword .L00424314 + .gpword .L00424740 + .gpword .L00424300 + +RO_10009C98: + # 00424934 restore_from_temp + .ascii "unknown temporary type " + +RO_10009CE8: + # 00424934 restore_from_temp + .ascii "eval.p " + +RO_10009D38: + # 00424934 restore_from_temp + .ascii "extended floating point type not yet supported " + +RO_10009D88: + # 00424934 restore_from_temp + .ascii "eval.p " + + .balign 4 +jtbl_10009DD8: + # 00424934 restore_from_temp + .gpword .L00424B34 + .gpword .L00424BD8 + .gpword .L00424B34 + .gpword .L00424B34 + .gpword .L00424B34 + .gpword .L00424B84 + .gpword .L00424B34 + .gpword .L00424B84 + .gpword .L00424B34 + .gpword .L00424BD8 + .gpword .L00424B34 + .gpword .L00424BD8 + .gpword .L004249C8 + .gpword .L004249C8 + .gpword .L00424B34 + .gpword .L00424B84 + .gpword .L00424A38 + +RO_10009E1C: + # 00424F70 reg + .ascii "tree node not evaluated " + +RO_10009E6C: + # 00424F70 reg + .ascii "eval.p " + +RO_10009EBC: + # 00425140 binary_regs + .ascii "tree node not evaluated " + +RO_10009F0C: + # 00425140 binary_regs + .ascii "eval.p " + +RO_10009F5C: + # 00425140 binary_regs + .ascii "tree node not evaluated " + +RO_10009FAC: + # 00425140 binary_regs + .ascii "eval.p " + +RO_10009FFC: + # 00425AA0 move_to_dest + .ascii "unknown register type " + +RO_1000A04C: + # 00425AA0 move_to_dest + .ascii "eval.p " + +RO_1000A09C: + # 00425D78 lsopc + .ascii "illegal data type in load/store " + +RO_1000A0EC: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A13C: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A18C: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A1DC: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A22C: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A27C: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A2CC: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A31C: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A36C: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A3BC: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A40C: + # 00425D78 lsopc + .ascii "eval.p " + +RO_1000A45C: + # 00425D78 lsopc + .ascii "illegal size in load/store " + +RO_1000A4AC: + # 00425D78 lsopc + .ascii "eval.p " + + .balign 4 +jtbl_1000A4FC: + # 00425D78 lsopc + .gpword .L00426480 + .gpword .L004265FC + .gpword .L00426480 + .gpword .L00426480 + .gpword .L00426480 + .gpword .L004261C4 + .gpword .L00425F30 + .gpword .L00426314 + .gpword .L0042606C + .gpword .L00426480 + .gpword .L00426480 + .gpword .L004265FC + .gpword .L004265F4 + .gpword .L004265EC + .gpword .L00426480 + .gpword .L00426480 + +RO_1000A53C: + # 0042670C loadstore + .ascii "illegal memory type in load/store " + +RO_1000A58C: + # 0042670C loadstore + .ascii "eval.p " + + .balign 4 +jtbl_1000A5DC: + # 0042670C loadstore + .gpword .L00426774 + .gpword .L00426774 + .gpword .L00426A38 + .gpword .L004268E8 + .gpword .L00426A08 + +RO_1000A5F0: + # 00428D14 eval_mov + .ascii "eval.p" + +RO_1000A5F6: + # 00428D14 eval_mov + .ascii "Unknown memory type in LDA " + +RO_1000A646: + # 00428D14 eval_mov + .ascii "eval.p " + +RO_1000A696: + # 00428D14 eval_mov + .ascii "Unknown memory type in LDA " + +RO_1000A6E6: + # 00428D14 eval_mov + .ascii "eval.p " + +RO_1000A736: + # 00428D14 eval_mov + .ascii "eval.p" + + .balign 4 +jtbl_1000A73C: + # 00428D14 eval_mov + .gpword .L00428F8C + .gpword .L00428FA0 + .gpword .L00428FFC + .gpword .L00428FB4 + + .balign 4 +jtbl_1000A74C: + # 00428D14 eval_mov + .gpword .L0042905C + .gpword .L0042905C + .gpword .L0042916C + .gpword .L0042913C + + .balign 4 +jtbl_1000A75C: + # 00428D14 eval_mov + .gpword .L004292D4 + .gpword .L004292D4 + .gpword .L004293CC + .gpword .L004293A4 + + .balign 4 +jtbl_1000A76C: + # 00428D14 eval_mov + .gpword .L00429E50 + .gpword .L00429AFC + .gpword .L00429B40 + .gpword .L00429C20 + +RO_1000A77C: + # 00429EE0 get_ops + .ascii "illegal indirect opcode " + +RO_1000A7CC: + # 00429EE0 get_ops + .ascii "eval.p " + + .balign 4 +jtbl_1000A81C: + # 00429EE0 get_ops + .gpword .L00429F54 + .gpword .L00429FFC + .gpword .L00429FFC + .gpword .L0042A024 + .gpword .L0042A024 + .gpword .L0042A024 + .gpword .L00429FFC + .gpword .L00429FFC + .gpword .L0042A024 + .gpword .L0042A024 + .gpword .L00429F54 + + .balign 4 +jtbl_1000A848: + # 00429EE0 get_ops + .gpword .L00429F54 + .gpword .L0042A024 + .gpword .L00429F54 + +RO_1000A854: + # 0042A1AC eval_irel + .asciz "eval.p" + + .balign 4 +jtbl_1000A85C: + # 0042A1AC eval_irel + .gpword .L0042A448 + .gpword .L0042A580 + .gpword .L0042A580 + .gpword .L0042A5B8 + .gpword .L0042A5B8 + .gpword .L0042A5B8 + .gpword .L0042A548 + .gpword .L0042A548 + .gpword .L0042A5B8 + .gpword .L0042A5B8 + .gpword .L0042A4C8 + + .balign 4 +jtbl_1000A888: + # 0042AB88 gen_regs + .gpword .L0042AD08 + .gpword .L0042ABF4 + .gpword .L0042ADB8 + .gpword .L0042ABF4 + + .balign 4 +jtbl_1000A898: + # 0042BAD0 cvt_tab + .gpword .L0042BB44 + .gpword .L0042BB3C + + .balign 4 +jtbl_1000A8A0: + # 0042BAD0 cvt_tab + .gpword .L0042BB8C + .gpword .L0042BB84 + + .balign 4 +jtbl_1000A8A8: + # 0042BAD0 cvt_tab + .gpword .L0042BBE0 + .gpword .L0042BBF0 + .gpword .L0042BBF0 + .gpword .L0042BBF0 + .gpword .L0042BBE0 + .gpword .L0042BBC8 + .gpword .L0042BBD0 + .gpword .L0042BBD8 + .gpword .L0042BBE0 + .gpword .L0042BBF0 + .gpword .L0042BBF0 + .gpword .L0042BBF0 + .gpword .L0042BBE8 + .gpword .L0042BBF0 + .gpword .L0042BBF0 + .gpword .L0042BBD8 + + .balign 4 +jtbl_1000A8E8: + # 0042BAD0 cvt_tab + .gpword .L0042BC3C + .gpword .L0042BC4C + .gpword .L0042BC4C + .gpword .L0042BC4C + .gpword .L0042BC3C + .gpword .L0042BC24 + .gpword .L0042BC2C + .gpword .L0042BC34 + .gpword .L0042BC3C + .gpword .L0042BC4C + .gpword .L0042BC4C + .gpword .L0042BC4C + .gpword .L0042BC4C + .gpword .L0042BC44 + .gpword .L0042BC4C + .gpword .L0042BC34 + + .balign 4 +jtbl_1000A928: + # 0042BAD0 cvt_tab + .gpword .L0042BB0C + .gpword .L0042BC54 + .gpword .L0042BC54 + .gpword .L0042BC54 + .gpword .L0042BB0C + .gpword .L0042BB54 + .gpword .L0042BB0C + .gpword .L0042BB54 + .gpword .L0042BB0C + .gpword .L0042BC54 + .gpword .L0042BC54 + .gpword .L0042BC54 + .gpword .L0042BBF8 + .gpword .L0042BB9C + .gpword .L0042BC54 + .gpword .L0042BB54 + + .balign 4 +jtbl_1000A968: + # 0042BC64 rnd_tab + .gpword .L0042BC88 + .gpword .L0042BCA8 + .gpword .L0042BCA8 + .gpword .L0042BCA8 + .gpword .L0042BC88 + .gpword .L0042BC98 + .gpword .L0042BC90 + .gpword .L0042BCA0 + .gpword .L0042BC88 + + .balign 4 +jtbl_1000A98C: + # 0042BC64 rnd_tab + .gpword .L0042BD04 + .gpword .L0042BD24 + .gpword .L0042BD24 + .gpword .L0042BD24 + .gpword .L0042BD04 + .gpword .L0042BD14 + .gpword .L0042BD0C + .gpword .L0042BD1C + .gpword .L0042BD04 + +RO_1000A9B0: + # 0042BDAC eval + .ascii " ref_count = " + +RO_1000A9BD: + # 0042BDAC eval + .ascii " reg = " + +RO_1000A9C4: + # 0042BDAC eval + .ascii " opc = " + +RO_1000A9CB: + # 0042BDAC eval + .ascii "current_line = " + +RO_1000A9DA: + # 0042BDAC eval + .ascii "unexpected u-code " + +RO_1000AA2A: + # 0042BDAC eval + .ascii "eval.p " + +RO_1000AA7A: + # 0042BDAC eval + .ascii "0.0 " + +RO_1000AA9A: + # 0042BDAC eval + .ascii "illegal type retyping " + +RO_1000AAEA: + # 0042BDAC eval + .ascii "eval.p " + +RO_1000AB3A: + # 0042BDAC eval + .ascii "illegal type conversions " + +RO_1000AB8A: + # 0042BDAC eval + .ascii "eval.p " + +RO_1000ABDA: + # 0042BDAC eval + .ascii "Unknown memory type in LDA " + +RO_1000AC2A: + # 0042BDAC eval + .ascii "eval.p " + +RO_1000AC7A: + # 0042BDAC eval + .ascii "unknown memory type in DEF ucode " + +RO_1000ACCA: + # 0042BDAC eval + .ascii "eval.p " + +RO_1000AD1A: + # 0042BDAC eval + .ascii "generate_again" + + .balign 4 +jtbl_1000AD28: + # 0042BDAC eval + .gpword .L0042C9F8 + .gpword .L0042CA20 + .gpword .L0042C9F8 + .gpword .L0042CA20 + .gpword .L0042CA20 + .gpword .L0042CA20 + .gpword .L0042CA20 + .gpword .L0042C9F0 + .gpword .L0042C9E8 + + .balign 4 +jtbl_1000AD4C: + # 0042BDAC eval + .gpword .L0042CEEC + .gpword .L0042CCE0 + .gpword .L0042CF3C + .gpword .L0042CF3C + .gpword .L0042CF3C + .gpword .L0042CD08 + + .balign 4 +jtbl_1000AD64: + # 0042BDAC eval + .gpword .L004304C4 + .gpword .L004304C4 + .gpword .L00430728 + .gpword .L004306CC + + .balign 4 +jtbl_1000AD74: + # 0042BDAC eval + .gpword .L00430A90 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L0042C730 + .gpword .L00430C04 + .gpword .L00432070 + .gpword .L00432D88 + .gpword .L0042C0E8 + .gpword .L00431D6C + .gpword .L00432D88 + .gpword .L00431DD8 + .gpword .L0042EB34 + .gpword .L00431A0C + .gpword .L00431A0C + .gpword .L00431978 + .gpword .L00431954 + .gpword .L004326EC + .gpword .L00431C94 + .gpword .L00432D88 + .gpword .L00431D60 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042DF7C + .gpword .L004314AC + .gpword .L00431308 + .gpword .L00432D88 + .gpword .L0042CCA4 + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L0042C7BC + .gpword .L00431D90 + .gpword .L0042C12C + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042E87C + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042E230 + .gpword .L00432D88 + .gpword .L00431B08 + .gpword .L00431B08 + .gpword .L00431B08 + .gpword .L0042EAE4 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00431B08 + .gpword .L00431B08 + .gpword .L0042F1BC + .gpword .L00432D88 + .gpword .L00431B08 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L0042F1BC + .gpword .L0042F944 + .gpword .L0042F944 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042D14C + .gpword .L00432D88 + .gpword .L0043274C + .gpword .L00432D88 + .gpword .L0043082C + .gpword .L0043046C + .gpword .L00432D88 + .gpword .L0042EB78 + .gpword .L00432D88 + .gpword .L0043244C + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L0043089C + .gpword .L0042BED4 + .gpword .L0042EEEC + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042E3E4 + .gpword .L0042E3E4 + .gpword .L004310AC + .gpword .L00431B28 + .gpword .L00432D88 + .gpword .L0042D9B4 + .gpword .L00430C04 + .gpword .L0042D828 + .gpword .L00432D88 + .gpword .L00430A90 + .gpword .L00430C04 + .gpword .L00431D54 + .gpword .L0043092C + .gpword .L00432D88 + .gpword .L0042BF84 + .gpword .L0042DB14 + .gpword .L00432D88 + .gpword .L0042D9B4 + .gpword .L00432D88 + .gpword .L0042D040 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00431DB4 + .gpword .L0042DEBC + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L00430C04 + .gpword .L00430C04 + .gpword .L00432864 + .gpword .L00432D88 + .gpword .L00432770 + .gpword .L0042CC60 + .gpword .L00432D88 + .gpword .L0043300C + .gpword .L0042D268 + .gpword .L004324D0 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L0042E854 + .gpword .L00432568 + .gpword .L00432568 + .gpword .L00432568 + .gpword .L00432568 + .gpword .L00432568 + .gpword .L00432568 + .gpword .L004316C0 + .gpword .L00432D88 + .gpword .L0042E8A4 + .gpword .L0042C008 + .gpword .L00432D88 + .gpword .L0042D060 + .gpword .L00431B48 + .gpword .L00430C04 + .gpword .L00432D88 + .gpword .L00432814 + .gpword .L0043283C + .gpword .L00432D88 + .gpword .L00432D88 + .gpword .L0042F710 + .gpword .L00430110 + .gpword .L0042EE10 + .gpword .L0042CC80 + .gpword .L0042DF7C + +RO_1000AFD4: + # 004330EC eval_int_flt_cvt + .ascii "4294967296.0 " + +RO_1000AFF4: + # 00433494 eval_flt_int_cvt + .ascii "2147483648.0 " + +RO_1000B014: + # 00433494 eval_flt_int_cvt + .asciz "9223372036854775808.0 " + +.data +# 10013644 +glabel processing_args + # 0042BDAC eval + .byte 0x00 + .type processing_args, @object + .size processing_args, .-processing_args # 1 + .space 3 + +# 10013648 +glabel processing_int64_return + # 0042BDAC eval + .byte 0x00 + .type processing_int64_return, @object + .size processing_int64_return, .-processing_int64_return # 1 + .space 3 + +# 1001364C +glabel setting_int64_return + # 0042BDAC eval + .byte 0x00 + .type setting_int64_return, @object + .size setting_int64_return, .-setting_int64_return # 1 + .space 3 + +# 10013650 +glabel spop_tab + # 00423828 fop + .byte 0x00,0x8e,0x00,0x7c,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x85,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xa3,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc7,0x00,0xc1,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xfc,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc7,0x00,0xc1,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc1,0x00,0xc7,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x82,0x01,0xad,0x01,0xad,0x00,0xde,0x00,0xa3,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x88,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x7f,0x01,0xad,0x01,0xad,0x00,0xa3,0x00,0xc7,0x00,0xc1,0x00,0xc7,0x00,0xc1,0x00,0xa3,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type spop_tab, @object + .size spop_tab, .-spop_tab # 312 + +# 10013788 +glabel dpop_tab + # 00423828 fop + .byte 0x00,0x8f,0x00,0x7d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x86,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xa4,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc8,0x00,0xc2,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xfd,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc8,0x00,0xc2,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xc2,0x00,0xc8,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x83,0x01,0xad,0x01,0xad,0x00,0xdf,0x00,0xa4,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x89,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x80,0x01,0xad,0x01,0xad,0x00,0xa4,0x00,0xc8,0x00,0xc2,0x00,0xc8,0x00,0xc2,0x00,0xa4,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type dpop_tab, @object + .size dpop_tab, .-dpop_tab # 312 + +# 100138C0 +glabel br + # 00423D28 jump + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0e,0x00,0x11,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x14,0x00,0x17,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x1a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type br, @object + .size br, .-br # 312 + +# 100139F8 +glabel ubr + # 00423D28 jump + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0f,0x00,0x12,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x15,0x00,0x18,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x1a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type ubr, @object + .size ubr, .-ubr # 312 + +# 10013B30 +glabel inv + # 00423D28 jump + # 00424240 trap + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x1a,0x00,0x17,0x00,0x18,0x01,0xad,0x00,0x14,0x00,0x15,0x01,0xad,0x00,0x11,0x00,0x12,0x01,0xad,0x00,0x0e,0x00,0x0f,0x01,0xad,0x00,0x0d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x01,0x01,0x02,0x00,0xff,0x01,0x00,0x01,0x04,0x01,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type inv, @object + .size inv, .-inv # 860 + +# 10013E8C +glabel trapop + # 00424240 trap + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x01,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xff,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x04,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type trapop, @object + .size trapop, .-trapop # 312 + +# 10013FC4 +glabel utrapop + # 00424240 trap + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x02,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x00,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x04,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type utrapop, @object + .size utrapop, .-utrapop # 312 + +# 100140FC +glabel reg_kind_tab + # 00424934 restore_from_temp + # 00424F70 reg + # 00425140 binary_regs + # 004254B8 flt_reg + # 0042567C func_0042567C + # 004258CC get_dest + # 004287AC eval_fp_min_max + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt + .byte 0x02,0x00,0x00,0x02,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x03,0x02,0x00,0x03,0x00,0x00 + .type reg_kind_tab, @object + .size reg_kind_tab, .-reg_kind_tab # 18 + .space 2 + +# 10014110 +glabel load_op_tab + # 00424934 restore_from_temp + .byte 0x00,0x2a,0x01,0xad,0x00,0x2a,0x00,0x2a,0x00,0x2a,0x00,0x6c,0x00,0x2a,0x00,0x6c,0x00,0x2a,0x01,0xad,0x00,0x2a,0x01,0xad,0x00,0x77,0x00,0x76,0x00,0x2a,0x00,0x6c,0x01,0xad,0x01,0xad + .type load_op_tab, @object + .size load_op_tab, .-load_op_tab # 36 + +# 10014134 +glabel store_op_tab + # 0042BDAC eval + .byte 0x00,0x57,0x01,0xad,0x00,0x57,0x00,0x57,0x00,0x57,0x00,0x6d,0x00,0x57,0x00,0x6d,0x00,0x57,0x01,0xad,0x00,0x57,0x01,0xad,0x00,0x7a,0x00,0x79,0x00,0x57,0x00,0x6d,0x01,0xad,0x01,0xad + .type store_op_tab, @object + .size store_op_tab, .-store_op_tab # 36 + +# 10014158 +glabel load_table + # 0042A9A8 load_parm_vreg + # 0042BDAC eval + .byte 0x00,0x25,0x00,0x26,0x00,0x27,0x00,0x28,0x00,0x2a,0x01,0x30,0x00,0x6c,0x00,0x76,0x00,0x77 + .type load_table, @object + .size load_table, .-load_table # 18 + .space 2 + +# 1001416C +glabel store_table + # 0042BDAC eval + .ascii "\0F\0F\0L\0L\0W\0W\0m\0y\0z" + .type store_table, @object + .size store_table, .-store_table # 18 + .space 2 + +# 10014180 +glabel double_to_singles + # 00426C54 func_00426C54 + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00427FB8 func_00427FB8 + # 004280C4 func_004280C4 + # 00428190 func_00428190 + # 0042BDAC eval + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x2a,0x00,0x57,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x76,0x01,0xad,0x01,0xad,0x00,0x79,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type double_to_singles, @object + .size double_to_singles, .-double_to_singles # 860 + +# 100144DC +glabel unaligned_load_store1 + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5b,0x00,0x5d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type unaligned_load_store1, @object + .size unaligned_load_store1, .-unaligned_load_store1 # 860 + +# 10014838 +glabel unaligned_load_store2 + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5c,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x5c,0x00,0x5e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type unaligned_load_store2, @object + .size unaligned_load_store2, .-unaligned_load_store2 # 860 + +# 10014B94 +glabel unaligned_load_store_tab + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00427FB8 func_00427FB8 + # 00428384 unaligned_loadstore + .byte 0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x25,0x01,0xad,0x00,0xcf,0x00,0xd0,0x01,0xad,0x00,0xce,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x46,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xd2,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xd1,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x65,0x01,0x66,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x73,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type unaligned_load_store_tab, @object + .size unaligned_load_store_tab, .-unaligned_load_store_tab # 860 + +# 10014EF0 +glabel op_tab + # 00429EE0 get_ops + .ascii "\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0M\0P\0>\0>\0>\0M\0P\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>\0>" + .type op_tab, @object + .size op_tab, .-op_tab # 312 + +# 10015028 +glabel op + # 00423AA4 uop_to_asm + .byte 0x00,0x00,0x00,0x02,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x14,0x00,0x0e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x20,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x48,0x00,0x4a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4d,0x00,0x50,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0e,0x00,0x14,0x00,0x41,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x38,0x01,0xad,0x01,0xad,0x00,0xdb,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x41,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4f,0x00,0x53,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x56,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type op, @object + .size op, .-op # 312 + +# 10015160 +glabel uop + # 00423AA4 uop_to_asm + .byte 0x00,0x00,0x00,0x02,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x15,0x00,0x0f,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x21,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x49,0x00,0x4b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4e,0x00,0x51,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0f,0x00,0x15,0x00,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x38,0x01,0xad,0x01,0xad,0x00,0xdb,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4f,0x00,0x54,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x56,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type uop, @object + .size uop, .-uop # 312 + +# 10015298 +glabel oop + # 00423AA4 uop_to_asm + .byte 0x00,0x00,0x00,0x01,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x14,0x00,0x0e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x20,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x48,0x00,0x4a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4d,0x00,0x50,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0e,0x00,0x14,0x00,0x41,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x39,0x01,0xad,0x01,0xad,0x00,0x3d,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x41,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4f,0x00,0x53,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x55,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type oop, @object + .size oop, .-oop # 312 + +# 100153D0 +glabel ouop + # 00423AA4 uop_to_asm + .byte 0x00,0x00,0x00,0xee,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x15,0x00,0x0f,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x21,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x49,0x00,0x4b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4e,0x00,0x51,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0f,0x00,0x15,0x00,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x3a,0x01,0xad,0x01,0xad,0x00,0x3d,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4f,0x00,0x54,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0xef,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type ouop, @object + .size ouop, .-ouop # 312 + +# 10015508 +glabel dw_op + # 00423AA4 uop_to_asm + .byte 0x01,0x67,0x01,0x37,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x14,0x00,0x0e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x48,0x00,0x4a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4d,0x00,0x50,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0e,0x00,0x14,0x01,0x6d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6a,0x01,0xad,0x01,0xad,0x01,0x69,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x3a,0x01,0x3c,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x39,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type dw_op, @object + .size dw_op, .-dw_op # 312 + +# 10015640 +glabel dw_uop + # 00423AA4 uop_to_asm + .byte 0x01,0x67,0x01,0x37,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x15,0x00,0x0f,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x43,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x49,0x00,0x4b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4e,0x00,0x51,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0f,0x00,0x15,0x01,0x6e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6a,0x01,0xad,0x01,0xad,0x01,0x69,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x3a,0x01,0x3b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x39,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type dw_uop, @object + .size dw_uop, .-dw_uop # 312 + +# 10015778 +glabel dw_oop + # 00423AA4 uop_to_asm + .byte 0x01,0x67,0x01,0x36,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x14,0x00,0x0e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x42,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x48,0x00,0x4a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4d,0x00,0x50,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0e,0x00,0x14,0x01,0x6d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6b,0x01,0xad,0x01,0xad,0x01,0x68,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6d,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x3a,0x01,0x3c,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x38,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type dw_oop, @object + .size dw_oop, .-dw_oop # 312 + +# 100158B0 +glabel dw_ouop + # 00423AA4 uop_to_asm + .byte 0x01,0x67,0x01,0x71,0x01,0xad,0x01,0xad,0x00,0x03,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x15,0x00,0x0f,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x43,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x49,0x00,0x4b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x40,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x4e,0x00,0x51,0x01,0xad,0x00,0x47,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x0f,0x00,0x15,0x01,0x6e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6c,0x01,0xad,0x01,0xad,0x01,0x68,0x00,0x52,0x01,0xad,0x00,0x5a,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x6e,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x3a,0x01,0x3b,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0x72,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x00,0x59,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad,0x01,0xad + .type dw_ouop, @object + .size dw_ouop, .-dw_ouop # 312 + +# 100159E8 +glabel op_nor + # 0042BDAC eval + .ascii "\0?" + .type op_nor, @object + .size op_nor, .-op_nor # 2 + .space 2 + +# 100159EC +glabel nor_flag + # 0042BDAC eval + .byte 0x00 + .type nor_flag, @object + .size nor_flag, .-nor_flag # 1 + .space 3 + +# 100159F0 +glabel move_cvt_flag + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + .byte 0xff,0xff,0xff,0xff + .type move_cvt_flag, @object + .size move_cvt_flag, .-move_cvt_flag # 4 + .space 4 + +D_100159F8: + # 0042BDAC eval + .ascii "uabs\0 uadd\0 uadj\0 uaent\0 uand\0 uaos\0 uasym\0 ubgn\0 ubgnb\0 ubsub\0 ucg1\0 ucg2\0 uchkh\0 uchkl\0 uchkn\0 uchkt\0 ucia\0 uclab\0 uclbd\0 ucomm\0 ucsym\0 uctrl\0 ucubd\0 ucup\0 ucvt\0 ucvtl\0 udec\0 udef\0 udif\0 udiv\0 udup\0 uend\0 uendb\0 uent\0 ueof\0 uequ\0 uesym\0 ufill\0 ufjp\0 ufsym\0 ugeq\0 ugrt\0 ugsym\0 uhsym\0 uicuf\0 uidx\0 uiequ\0 uigeq\0 uigrt\0 uijp\0 uilda\0 uildv\0 uileq\0 uiles\0 uilod\0 uinc\0 uineq\0 uinit\0 uinn\0 uint\0 uior\0 uisld\0 uisst\0 uistr\0 uistv\0 uixa\0 ulab\0 ulbd\0 ulbdy\0 ulbgn\0 ulca\0 ulda\0 uldap\0 uldc\0 uldef\0 uldsp\0 ulend\0 uleq\0 ules\0 ulex\0 ulnot\0 uloc\0 ulod\0 ulsym\0 ultrm\0 umax\0 umin\0 umod\0 umov\0 umovv\0 umpmv\0 umpy\0 umst\0 umus\0 uneg\0 uneq\0 unop\0 unot\0 uodd\0 uoptn\0 upar\0 updef\0 upmov\0 upop\0 uregs\0 urem\0 uret\0 urlda\0 urldc\0 urlod\0 urnd\0 urpar\0 urstr\0 usdef\0 usgs\0 ushl\0 ushr\0 usign\0 usqr\0 usqrt\0 ussym\0 ustep\0 ustp\0 ustr\0 ustsp\0 usub\0 uswp\0 utjp\0 utpeq\0 utpge\0 utpgt\0 utple\0 utplt\0 utpne\0 utyp\0 uubd\0 uujp\0 uunal\0 uuni\0 uvreg\0 uxjp\0 uxor\0 uxpar\0 umtag\0 ualia\0 uildi\0 uisti\0 uirld\0 uirst\0 uldrc\0 umsym\0 urcuf\0 uksym\0 uosym\0 uirlv\0 uirsv\0\0 " + +D_10015ED8: + # 0042BDAC eval + .ascii "xr0\0xr1\0xr2\0xr3\0xr4\0xr5\0xr6\0xr7\0xr8\0xr9\0xr10\0 xr11\0 xr12\0 xr13\0 xr14\0 xr15\0 xr16\0 xr17\0 xr18\0 xr19\0 xr20\0 xr21\0 xr22\0 xr23\0 xr24\0 xr25\0 xr26\0 xr27\0 xr28\0 xr29\0 xr30\0 xr31\0 xfr0\0 xfr1\0 xfr2\0 xfr3\0 xfr4\0 xfr5\0 xfr6\0 xfr7\0 xfr8\0 xfr9\0 xfr10\0 xfr11\0 xfr12\0 xfr13\0 xfr14\0 xfr15\0 xfr16\0 xfr17\0 xfr18\0 xfr19\0 xfr20\0 xfr21\0 xfr22\0 xfr23\0 xfr24\0 xfr25\0 xfr26\0 xfr27\0 xfr28\0 xfr29\0 xfr30\0 xfr31\0 xfcc0\0 xfcc1\0 xfcc2\0 xfcc3\0 xfcc4\0 xfcc5\0 xfcc6\0 xfcc7\0 xnoreg\0\0" + +D_100160F8: + # 004231F0 is_end_return + .byte 0x00,0x80,0x10,0x10,0x80,0x00,0x00,0x00,0x20,0x01,0x40,0x00,0x90,0x00,0x40,0x00 + +D_10016108: + # 00426EF0 iloadistore + .byte 0x01,0x80,0x00,0x00,0x00,0x08,0x00,0x00 + +D_10016110: + # 00427620 rloadrstore + .byte 0x01,0x80,0x00,0x00,0x00,0x08,0x00,0x00 + +D_10016118: + # 00429EE0 get_ops + .byte 0x00,0x03,0x8c,0x80,0x00,0x00,0x00,0xa0,0x02,0x00,0x00,0x00 + +D_10016124: + # 0042B878 clean_tree + .byte 0x10,0x10,0x40,0x00,0x42,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016138: + # 0042B878 clean_tree + .byte 0x10,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00 + +D_10016144: + # 0042BDAC eval + .byte 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04 + +D_10016154: + # 0042BDAC eval + .byte 0x10,0xc0,0x00,0x00,0x00,0x06,0x00,0x01 + +D_1001615C: + # 0042BDAC eval + .byte 0x11,0x80,0x50,0x10,0xc0,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x94,0x80,0x40,0x00,0x00,0x40,0x00,0x00 + + + +.bss + .balign 4 +# 10021374 +glabel first_ent + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size first_ent, 4 + .type first_ent, @object + + .balign 4 +# 10021378 +glabel local_var_size + # 0042BDAC eval + .space 4 + .size local_var_size, 4 + .type local_var_size, @object + + .balign 4 +# 1002137C +glabel temp_size + # 0042BDAC eval + .space 4 + .size temp_size, 4 + .type temp_size, @object + + .balign 4 +# 10021380 +glabel generate_again + # 0042BDAC eval + # 0043303C init_eval + .space 4 + .size generate_again, 4 + .type generate_again, @object + + .balign 4 +# 10021388 +glabel first_loc + # 0042BDAC eval + # 0043303C init_eval + .space 4 + .size first_loc, 4 + .type first_loc, @object + + .balign 4 +# 1002138C +glabel first_file_number + # 0042BDAC eval + # 0043303C init_eval + .space 4 + .size first_file_number, 4 + .type first_file_number, @object + + .balign 4 +# 10021390 +glabel first_line_number + # 0042BDAC eval + # 0043303C init_eval + .space 4 + .size first_line_number, 4 + .type first_line_number, @object + + .balign 4 +# 10021394 +glabel max_arg_build + # 0042BDAC eval + .space 4 + .size max_arg_build, 4 + .type max_arg_build, @object + + .balign 4 +# 10021398 +glabel reloc_arg_build + # 0042BDAC eval + .space 4 + .size reloc_arg_build, 4 + .type reloc_arg_build, @object + + .balign 4 +# 1002139C +glabel saved_regs_size + # 0042BDAC eval + .space 4 + .size saved_regs_size, 4 + .type saved_regs_size, @object + + .balign 4 +# 100213A0 +glabel has_aent + # 0042BDAC eval + .space 4 + .size has_aent, 4 + .type has_aent, @object + + .balign 4 +# 100213A4 +glabel load_stack_limit + # 0042BDAC eval + .space 4 + .size load_stack_limit, 4 + .type load_stack_limit, @object + + .balign 4 +# 100213A8 +glabel entry_point_index + # 0042BDAC eval + .space 4 + .size entry_point_index, 4 + .type entry_point_index, @object + + .balign 4 +# 100213AC +glabel curlev + # 0042BDAC eval + .space 4 + .size curlev, 4 + .type curlev, @object + + .balign 4 +# 100213B0 +glabel pdefs + # 0042A91C pass_in_register + # 0042B410 home_parms + # 0042BDAC eval + # 004432FC translate + .space 4 + .size pdefs, 4 + .type pdefs, @object + + .balign 8 +# 10021478 +glabel current_text_sec + # 0042BDAC eval + .space 8 + .size current_text_sec, 8 + .type current_text_sec, @object + + .balign 8 +# 100214B0 +glabel pmov_regs + # 0042B978 clear_pmov_regs + # 0042B9A0 save_pmov_reg + # 0042BA08 load_pmov_regs + .space 12 + .size pmov_regs, 12 + .type pmov_regs, @object + + .balign 16 +# 10021590 +glabel noalias_on_off + # 0042BDAC eval + .space 76 + .size noalias_on_off, 76 + .type noalias_on_off, @object + + .balign 16 +# 100217F8 +glabel noalias_regs + # 0042BDAC eval + .space 292 + .size noalias_regs, 292 + .type noalias_regs, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel is_end_return + .ent is_end_return + # 0042BDAC eval +/* 004231F0 908E0020 */ lbu $t6, 0x20($a0) +/* 004231F4 24010088 */ li $at, 136 +/* 004231F8 00801025 */ move $v0, $a0 +/* 004231FC 15C10004 */ bne $t6, $at, .L00423210 +/* 00423200 00000000 */ nop +/* 00423204 8C8F0004 */ lw $t7, 4($a0) +/* 00423208 10000001 */ b .L00423210 +/* 0042320C 8DE20008 */ lw $v0, 8($t7) +.L00423210: +/* 00423210 90430020 */ lbu $v1, 0x20($v0) +/* 00423214 2C780080 */ sltiu $t8, $v1, 0x80 +/* 00423218 13000009 */ beqz $t8, .L00423240 +/* 0042321C 00000000 */ nop +/* 00423220 8F898038 */ lw $t1, %got(D_100160F8)($gp) +/* 00423224 0003C943 */ sra $t9, $v1, 5 +/* 00423228 00194080 */ sll $t0, $t9, 2 +/* 0042322C 252960F8 */ addiu $t1, %lo(D_100160F8) # addiu $t1, $t1, 0x60f8 +/* 00423230 01285021 */ addu $t2, $t1, $t0 +/* 00423234 8D4B0000 */ lw $t3, ($t2) +/* 00423238 006B6004 */ sllv $t4, $t3, $v1 +/* 0042323C 29980000 */ slti $t8, $t4, 0 +.L00423240: +/* 00423240 53000011 */ beql $t8, $zero, .L00423288 +/* 00423244 3862001F */ xori $v0, $v1, 0x1f +/* 00423248 8C420008 */ lw $v0, 8($v0) +.L0042324C: +/* 0042324C 90430020 */ lbu $v1, 0x20($v0) +/* 00423250 2C6E0080 */ sltiu $t6, $v1, 0x80 +/* 00423254 11C00009 */ beqz $t6, .L0042327C +/* 00423258 00000000 */ nop +/* 0042325C 8F898038 */ lw $t1, %got(D_100160F8)($gp) +/* 00423260 00037943 */ sra $t7, $v1, 5 +/* 00423264 000FC880 */ sll $t9, $t7, 2 +/* 00423268 252960F8 */ addiu $t1, %lo(D_100160F8) # addiu $t1, $t1, 0x60f8 +/* 0042326C 01394021 */ addu $t0, $t1, $t9 +/* 00423270 8D0A0000 */ lw $t2, ($t0) +/* 00423274 006A5804 */ sllv $t3, $t2, $v1 +/* 00423278 296E0000 */ slti $t6, $t3, 0 +.L0042327C: +/* 0042327C 55C0FFF3 */ bnel $t6, $zero, .L0042324C +/* 00423280 8C420008 */ lw $v0, 8($v0) +/* 00423284 3862001F */ xori $v0, $v1, 0x1f +.L00423288: +/* 00423288 03E00008 */ jr $ra +/* 0042328C 2C420001 */ sltiu $v0, $v0, 1 + .type is_end_return, @function + .size is_end_return, .-is_end_return + .end is_end_return + +glabel move_dreg_to_regs + .ent move_dreg_to_regs + # 0042BDAC eval +/* 00423290 3C1C0FC0 */ .cpload $t9 +/* 00423294 279CC7C0 */ +/* 00423298 0399E021 */ +/* 0042329C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004232A0 AFB20024 */ sw $s2, 0x24($sp) +/* 004232A4 30B200FF */ andi $s2, $a1, 0xff +/* 004232A8 AFB10020 */ sw $s1, 0x20($sp) +/* 004232AC 309100FF */ andi $s1, $a0, 0xff +/* 004232B0 AFBF002C */ sw $ra, 0x2c($sp) +/* 004232B4 AFBC0028 */ sw $gp, 0x28($sp) +/* 004232B8 AFB0001C */ sw $s0, 0x1c($sp) +/* 004232BC AFA40030 */ sw $a0, 0x30($sp) +/* 004232C0 16400011 */ bnez $s2, .L00423308 +/* 004232C4 AFA50034 */ sw $a1, 0x34($sp) +/* 004232C8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004232CC 24040029 */ li $a0, 41 +/* 004232D0 02202825 */ move $a1, $s1 +/* 004232D4 00003025 */ move $a2, $zero +/* 004232D8 0320F809 */ jalr $t9 +/* 004232DC 00003825 */ move $a3, $zero +/* 004232E0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004232E4 26300001 */ addiu $s0, $s1, 1 +/* 004232E8 02002825 */ move $a1, $s0 +/* 004232EC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004232F0 24040029 */ li $a0, 41 +/* 004232F4 00003025 */ move $a2, $zero +/* 004232F8 0320F809 */ jalr $t9 +/* 004232FC 00003825 */ move $a3, $zero +/* 00423300 1000006E */ b .L004234BC +/* 00423304 8FBC0028 */ lw $gp, 0x28($sp) +.L00423308: +/* 00423308 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0042330C 91CE0000 */ lbu $t6, ($t6) +/* 00423310 11C00036 */ beqz $t6, .L004233EC +/* 00423314 00000000 */ nop +/* 00423318 1632001B */ bne $s1, $s2, .L00423388 +/* 0042331C 2404013A */ li $a0, 314 +/* 00423320 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423324 26300001 */ addiu $s0, $s1, 1 +/* 00423328 02002825 */ move $a1, $s0 +/* 0042332C 2404013C */ li $a0, 316 +/* 00423330 02403025 */ move $a2, $s2 +/* 00423334 24070020 */ li $a3, 32 +/* 00423338 0320F809 */ jalr $t9 +/* 0042333C AFA00010 */ sw $zero, 0x10($sp) +/* 00423340 8FBC0028 */ lw $gp, 0x28($sp) +/* 00423344 2404013A */ li $a0, 314 +/* 00423348 02202825 */ move $a1, $s1 +/* 0042334C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423350 02403025 */ move $a2, $s2 +/* 00423354 24070020 */ li $a3, 32 +/* 00423358 0320F809 */ jalr $t9 +/* 0042335C AFA00010 */ sw $zero, 0x10($sp) +/* 00423360 8FBC0028 */ lw $gp, 0x28($sp) +/* 00423364 2404013C */ li $a0, 316 +/* 00423368 02202825 */ move $a1, $s1 +/* 0042336C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423370 02203025 */ move $a2, $s1 +/* 00423374 24070020 */ li $a3, 32 +/* 00423378 0320F809 */ jalr $t9 +/* 0042337C AFA00010 */ sw $zero, 0x10($sp) +/* 00423380 1000004E */ b .L004234BC +/* 00423384 8FBC0028 */ lw $gp, 0x28($sp) +.L00423388: +/* 00423388 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042338C 02202825 */ move $a1, $s1 +/* 00423390 02403025 */ move $a2, $s2 +/* 00423394 24070020 */ li $a3, 32 +/* 00423398 0320F809 */ jalr $t9 +/* 0042339C AFA00010 */ sw $zero, 0x10($sp) +/* 004233A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004233A4 2404013C */ li $a0, 316 +/* 004233A8 02202825 */ move $a1, $s1 +/* 004233AC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004233B0 02203025 */ move $a2, $s1 +/* 004233B4 24070020 */ li $a3, 32 +/* 004233B8 0320F809 */ jalr $t9 +/* 004233BC AFA00010 */ sw $zero, 0x10($sp) +/* 004233C0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004233C4 26300001 */ addiu $s0, $s1, 1 +/* 004233C8 02002825 */ move $a1, $s0 +/* 004233CC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004233D0 2404013C */ li $a0, 316 +/* 004233D4 02403025 */ move $a2, $s2 +/* 004233D8 24070020 */ li $a3, 32 +/* 004233DC 0320F809 */ jalr $t9 +/* 004233E0 AFA00010 */ sw $zero, 0x10($sp) +/* 004233E4 10000035 */ b .L004234BC +/* 004233E8 8FBC0028 */ lw $gp, 0x28($sp) +.L004233EC: +/* 004233EC 1632001B */ bne $s1, $s2, .L0042345C +/* 004233F0 2404013C */ li $a0, 316 +/* 004233F4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004233F8 26300001 */ addiu $s0, $s1, 1 +/* 004233FC 02002825 */ move $a1, $s0 +/* 00423400 2404013A */ li $a0, 314 +/* 00423404 02403025 */ move $a2, $s2 +/* 00423408 24070020 */ li $a3, 32 +/* 0042340C 0320F809 */ jalr $t9 +/* 00423410 AFA00010 */ sw $zero, 0x10($sp) +/* 00423414 8FBC0028 */ lw $gp, 0x28($sp) +/* 00423418 2404013C */ li $a0, 316 +/* 0042341C 02002825 */ move $a1, $s0 +/* 00423420 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423424 02003025 */ move $a2, $s0 +/* 00423428 24070020 */ li $a3, 32 +/* 0042342C 0320F809 */ jalr $t9 +/* 00423430 AFA00010 */ sw $zero, 0x10($sp) +/* 00423434 8FBC0028 */ lw $gp, 0x28($sp) +/* 00423438 2404013C */ li $a0, 316 +/* 0042343C 02202825 */ move $a1, $s1 +/* 00423440 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423444 02403025 */ move $a2, $s2 +/* 00423448 24070020 */ li $a3, 32 +/* 0042344C 0320F809 */ jalr $t9 +/* 00423450 AFA00010 */ sw $zero, 0x10($sp) +/* 00423454 10000019 */ b .L004234BC +/* 00423458 8FBC0028 */ lw $gp, 0x28($sp) +.L0042345C: +/* 0042345C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423460 02202825 */ move $a1, $s1 +/* 00423464 02403025 */ move $a2, $s2 +/* 00423468 24070020 */ li $a3, 32 +/* 0042346C 0320F809 */ jalr $t9 +/* 00423470 AFA00010 */ sw $zero, 0x10($sp) +/* 00423474 8FBC0028 */ lw $gp, 0x28($sp) +/* 00423478 26300001 */ addiu $s0, $s1, 1 +/* 0042347C 02002825 */ move $a1, $s0 +/* 00423480 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00423484 2404013A */ li $a0, 314 +/* 00423488 02403025 */ move $a2, $s2 +/* 0042348C 24070020 */ li $a3, 32 +/* 00423490 0320F809 */ jalr $t9 +/* 00423494 AFA00010 */ sw $zero, 0x10($sp) +/* 00423498 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042349C 2404013C */ li $a0, 316 +/* 004234A0 02002825 */ move $a1, $s0 +/* 004234A4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004234A8 02003025 */ move $a2, $s0 +/* 004234AC 24070020 */ li $a3, 32 +/* 004234B0 0320F809 */ jalr $t9 +/* 004234B4 AFA00010 */ sw $zero, 0x10($sp) +/* 004234B8 8FBC0028 */ lw $gp, 0x28($sp) +.L004234BC: +/* 004234BC 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 004234C0 24010001 */ li $at, 1 +/* 004234C4 2E380020 */ sltiu $t8, $s1, 0x20 +/* 004234C8 91EF0000 */ lbu $t7, ($t7) +/* 004234CC 55E1000D */ bnel $t7, $at, .L00423504 +/* 004234D0 8FBF002C */ lw $ra, 0x2c($sp) +/* 004234D4 0018C823 */ negu $t9, $t8 +/* 004234D8 3C010A00 */ lui $at, 0xa00 +/* 004234DC 03214024 */ and $t0, $t9, $at +/* 004234E0 02284804 */ sllv $t1, $t0, $s1 +/* 004234E4 05210006 */ bgez $t1, .L00423500 +/* 004234E8 00115080 */ sll $t2, $s1, 2 +/* 004234EC 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 004234F0 01515023 */ subu $t2, $t2, $s1 +/* 004234F4 000A5080 */ sll $t2, $t2, 2 +/* 004234F8 014B6021 */ addu $t4, $t2, $t3 +/* 004234FC A1900009 */ sb $s0, 9($t4) +.L00423500: +/* 00423500 8FBF002C */ lw $ra, 0x2c($sp) +.L00423504: +/* 00423504 8FB0001C */ lw $s0, 0x1c($sp) +/* 00423508 8FB10020 */ lw $s1, 0x20($sp) +/* 0042350C 8FB20024 */ lw $s2, 0x24($sp) +/* 00423510 03E00008 */ jr $ra +/* 00423514 27BD0030 */ addiu $sp, $sp, 0x30 + .type move_dreg_to_regs, @function + .size move_dreg_to_regs, .-move_dreg_to_regs + .end move_dreg_to_regs + +glabel move_two_regs + .ent move_two_regs + # 0042BDAC eval +/* 00423518 3C1C0FC0 */ .cpload $t9 +/* 0042351C 279CC538 */ +/* 00423520 0399E021 */ +/* 00423524 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00423528 308700FF */ andi $a3, $a0, 0xff +/* 0042352C 30A600FF */ andi $a2, $a1, 0xff +/* 00423530 AFBF001C */ sw $ra, 0x1c($sp) +/* 00423534 AFBC0018 */ sw $gp, 0x18($sp) +/* 00423538 AFA40028 */ sw $a0, 0x28($sp) +/* 0042353C 10E6001D */ beq $a3, $a2, .L004235B4 +/* 00423540 AFA5002C */ sw $a1, 0x2c($sp) +/* 00423544 24CEFFE0 */ addiu $t6, $a2, -0x20 +/* 00423548 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 0042354C 000FC023 */ negu $t8, $t7 +/* 00423550 01D8C804 */ sllv $t9, $t8, $t6 +/* 00423554 07210008 */ bgez $t9, .L00423578 +/* 00423558 00E02825 */ move $a1, $a3 +/* 0042355C 2CE80020 */ sltiu $t0, $a3, 0x20 +/* 00423560 00084823 */ negu $t1, $t0 +/* 00423564 00E95004 */ sllv $t2, $t1, $a3 +/* 00423568 05430004 */ bgezl $t2, .L0042357C +/* 0042356C 24040031 */ li $a0, 49 +/* 00423570 10000002 */ b .L0042357C +/* 00423574 24040061 */ li $a0, 97 +.L00423578: +/* 00423578 24040031 */ li $a0, 49 +.L0042357C: +/* 0042357C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00423580 A7A40026 */ sh $a0, 0x26($sp) +/* 00423584 A3A6002F */ sb $a2, 0x2f($sp) +/* 00423588 0320F809 */ jalr $t9 +/* 0042358C A3A7002B */ sb $a3, 0x2b($sp) +/* 00423590 8FBC0018 */ lw $gp, 0x18($sp) +/* 00423594 93A7002B */ lbu $a3, 0x2b($sp) +/* 00423598 93A6002F */ lbu $a2, 0x2f($sp) +/* 0042359C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004235A0 97A40026 */ lhu $a0, 0x26($sp) +/* 004235A4 24E50001 */ addiu $a1, $a3, 1 +/* 004235A8 0320F809 */ jalr $t9 +/* 004235AC 24C60001 */ addiu $a2, $a2, 1 +/* 004235B0 8FBC0018 */ lw $gp, 0x18($sp) +.L004235B4: +/* 004235B4 8FBF001C */ lw $ra, 0x1c($sp) +/* 004235B8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004235BC 03E00008 */ jr $ra +/* 004235C0 00000000 */ nop + .type move_two_regs, @function + .size move_two_regs, .-move_two_regs + .end move_two_regs + +glabel fasm + .ent fasm + # 0042BDAC eval + # 00433070 load_fp_literal + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt +/* 004235C4 3C1C0FC0 */ .cpload $t9 +/* 004235C8 279CC48C */ +/* 004235CC 0399E021 */ +/* 004235D0 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 004235D4 30A200FF */ andi $v0, $a1, 0xff +/* 004235D8 244EFFF4 */ addiu $t6, $v0, -0xc +/* 004235DC 2DC10005 */ sltiu $at, $t6, 5 +/* 004235E0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 004235E4 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 004235E8 AFA400C0 */ sw $a0, 0xc0($sp) +/* 004235EC 1020004B */ beqz $at, .L0042371C +/* 004235F0 AFA500C4 */ sw $a1, 0xc4($sp) +/* 004235F4 8F818038 */ lw $at, %got(jtbl_10009AC0)($gp) +/* 004235F8 000E7080 */ sll $t6, $t6, 2 +/* 004235FC 002E0821 */ addu $at, $at, $t6 +/* 00423600 8C2E9AC0 */ lw $t6, %lo(jtbl_10009AC0)($at) +/* 00423604 01DC7021 */ addu $t6, $t6, $gp +/* 00423608 01C00008 */ jr $t6 +/* 0042360C 00000000 */ nop +.L00423610: +/* 00423610 10000081 */ b .L00423818 +/* 00423614 00801025 */ move $v0, $a0 +.L00423618: +/* 00423618 1000007F */ b .L00423818 +/* 0042361C 24820001 */ addiu $v0, $a0, 1 +.L00423620: +/* 00423620 8F8F8038 */ lw $t7, %got(RO_10009A70)($gp) +/* 00423624 24040004 */ li $a0, 4 +/* 00423628 24050346 */ li $a1, 838 +/* 0042362C 25EF9A70 */ addiu $t7, %lo(RO_10009A70) # addiu $t7, $t7, -0x6590 +/* 00423630 25E90048 */ addiu $t1, $t7, 0x48 +/* 00423634 03A04025 */ move $t0, $sp +.L00423638: +/* 00423638 89F90000 */ lwl $t9, ($t7) +/* 0042363C 99F90003 */ lwr $t9, 3($t7) +/* 00423640 25EF000C */ addiu $t7, $t7, 0xc +/* 00423644 2508000C */ addiu $t0, $t0, 0xc +/* 00423648 A919FFFC */ swl $t9, -4($t0) +/* 0042364C B919FFFF */ swr $t9, -1($t0) +/* 00423650 89F8FFF8 */ lwl $t8, -8($t7) +/* 00423654 99F8FFFB */ lwr $t8, -5($t7) +/* 00423658 A9180000 */ swl $t8, ($t0) +/* 0042365C B9180003 */ swr $t8, 3($t0) +/* 00423660 89F9FFFC */ lwl $t9, -4($t7) +/* 00423664 99F9FFFF */ lwr $t9, -1($t7) +/* 00423668 A9190004 */ swl $t9, 4($t0) +/* 0042366C 15E9FFF2 */ bne $t7, $t1, .L00423638 +/* 00423670 B9190007 */ swr $t9, 7($t0) +/* 00423674 89F90000 */ lwl $t9, ($t7) +/* 00423678 99F90003 */ lwr $t9, 3($t7) +/* 0042367C 8F8A8038 */ lw $t2, %got(RO_10009A20)($gp) +/* 00423680 03A06825 */ move $t5, $sp +/* 00423684 A9190008 */ swl $t9, 8($t0) +/* 00423688 B919000B */ swr $t9, 0xb($t0) +/* 0042368C 89F80004 */ lwl $t8, 4($t7) +/* 00423690 99F80007 */ lwr $t8, 7($t7) +/* 00423694 254A9A20 */ addiu $t2, %lo(RO_10009A20) # addiu $t2, $t2, -0x65e0 +/* 00423698 254E0048 */ addiu $t6, $t2, 0x48 +/* 0042369C A918000C */ swl $t8, 0xc($t0) +/* 004236A0 B918000F */ swr $t8, 0xf($t0) +.L004236A4: +/* 004236A4 894C0000 */ lwl $t4, ($t2) +/* 004236A8 994C0003 */ lwr $t4, 3($t2) +/* 004236AC 254A000C */ addiu $t2, $t2, 0xc +/* 004236B0 25AD000C */ addiu $t5, $t5, 0xc +/* 004236B4 A9AC004C */ swl $t4, 0x4c($t5) +/* 004236B8 B9AC004F */ swr $t4, 0x4f($t5) +/* 004236BC 894BFFF8 */ lwl $t3, -8($t2) +/* 004236C0 994BFFFB */ lwr $t3, -5($t2) +/* 004236C4 A9AB0050 */ swl $t3, 0x50($t5) +/* 004236C8 B9AB0053 */ swr $t3, 0x53($t5) +/* 004236CC 894CFFFC */ lwl $t4, -4($t2) +/* 004236D0 994CFFFF */ lwr $t4, -1($t2) +/* 004236D4 A9AC0054 */ swl $t4, 0x54($t5) +/* 004236D8 154EFFF2 */ bne $t2, $t6, .L004236A4 +/* 004236DC B9AC0057 */ swr $t4, 0x57($t5) +/* 004236E0 894C0000 */ lwl $t4, ($t2) +/* 004236E4 994C0003 */ lwr $t4, 3($t2) +/* 004236E8 A9AC0058 */ swl $t4, 0x58($t5) +/* 004236EC B9AC005B */ swr $t4, 0x5b($t5) +/* 004236F0 894B0004 */ lwl $t3, 4($t2) +/* 004236F4 994B0007 */ lwr $t3, 7($t2) +/* 004236F8 A9AB005C */ swl $t3, 0x5c($t5) +/* 004236FC B9AB005F */ swr $t3, 0x5f($t5) +/* 00423700 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00423704 8FA7000C */ lw $a3, 0xc($sp) +/* 00423708 8FA60008 */ lw $a2, 8($sp) +/* 0042370C 0320F809 */ jalr $t9 +/* 00423710 00000000 */ nop +/* 00423714 1000003F */ b .L00423814 +/* 00423718 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0042371C: +/* 0042371C 8F898038 */ lw $t1, %got(RO_100099D0)($gp) +/* 00423720 24040004 */ li $a0, 4 +/* 00423724 2405034C */ li $a1, 844 +/* 00423728 252999D0 */ addiu $t1, %lo(RO_100099D0) # addiu $t1, $t1, -0x6630 +/* 0042372C 25390048 */ addiu $t9, $t1, 0x48 +/* 00423730 03A0C025 */ move $t8, $sp +.L00423734: +/* 00423734 89280000 */ lwl $t0, ($t1) +/* 00423738 99280003 */ lwr $t0, 3($t1) +/* 0042373C 2529000C */ addiu $t1, $t1, 0xc +/* 00423740 2718000C */ addiu $t8, $t8, 0xc +/* 00423744 AB08FFFC */ swl $t0, -4($t8) +/* 00423748 BB08FFFF */ swr $t0, -1($t8) +/* 0042374C 892FFFF8 */ lwl $t7, -8($t1) +/* 00423750 992FFFFB */ lwr $t7, -5($t1) +/* 00423754 AB0F0000 */ swl $t7, ($t8) +/* 00423758 BB0F0003 */ swr $t7, 3($t8) +/* 0042375C 8928FFFC */ lwl $t0, -4($t1) +/* 00423760 9928FFFF */ lwr $t0, -1($t1) +/* 00423764 AB080004 */ swl $t0, 4($t8) +/* 00423768 1539FFF2 */ bne $t1, $t9, .L00423734 +/* 0042376C BB080007 */ swr $t0, 7($t8) +/* 00423770 89280000 */ lwl $t0, ($t1) +/* 00423774 99280003 */ lwr $t0, 3($t1) +/* 00423778 8F8E8038 */ lw $t6, %got(RO_10009980)($gp) +/* 0042377C 03A05825 */ move $t3, $sp +/* 00423780 AB080008 */ swl $t0, 8($t8) +/* 00423784 BB08000B */ swr $t0, 0xb($t8) +/* 00423788 892F0004 */ lwl $t7, 4($t1) +/* 0042378C 992F0007 */ lwr $t7, 7($t1) +/* 00423790 25CE9980 */ addiu $t6, %lo(RO_10009980) # addiu $t6, $t6, -0x6680 +/* 00423794 25CC0048 */ addiu $t4, $t6, 0x48 +/* 00423798 AB0F000C */ swl $t7, 0xc($t8) +/* 0042379C BB0F000F */ swr $t7, 0xf($t8) +.L004237A0: +/* 004237A0 89CD0000 */ lwl $t5, ($t6) +/* 004237A4 99CD0003 */ lwr $t5, 3($t6) +/* 004237A8 25CE000C */ addiu $t6, $t6, 0xc +/* 004237AC 256B000C */ addiu $t3, $t3, 0xc +/* 004237B0 A96D004C */ swl $t5, 0x4c($t3) +/* 004237B4 B96D004F */ swr $t5, 0x4f($t3) +/* 004237B8 89CAFFF8 */ lwl $t2, -8($t6) +/* 004237BC 99CAFFFB */ lwr $t2, -5($t6) +/* 004237C0 A96A0050 */ swl $t2, 0x50($t3) +/* 004237C4 B96A0053 */ swr $t2, 0x53($t3) +/* 004237C8 89CDFFFC */ lwl $t5, -4($t6) +/* 004237CC 99CDFFFF */ lwr $t5, -1($t6) +/* 004237D0 A96D0054 */ swl $t5, 0x54($t3) +/* 004237D4 15CCFFF2 */ bne $t6, $t4, .L004237A0 +/* 004237D8 B96D0057 */ swr $t5, 0x57($t3) +/* 004237DC 89CD0000 */ lwl $t5, ($t6) +/* 004237E0 99CD0003 */ lwr $t5, 3($t6) +/* 004237E4 A96D0058 */ swl $t5, 0x58($t3) +/* 004237E8 B96D005B */ swr $t5, 0x5b($t3) +/* 004237EC 89CA0004 */ lwl $t2, 4($t6) +/* 004237F0 99CA0007 */ lwr $t2, 7($t6) +/* 004237F4 A96A005C */ swl $t2, 0x5c($t3) +/* 004237F8 B96A005F */ swr $t2, 0x5f($t3) +/* 004237FC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00423800 8FA7000C */ lw $a3, 0xc($sp) +/* 00423804 8FA60008 */ lw $a2, 8($sp) +/* 00423808 0320F809 */ jalr $t9 +/* 0042380C 00000000 */ nop +/* 00423810 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00423814: +/* 00423814 97A200BE */ lhu $v0, 0xbe($sp) +.L00423818: +/* 00423818 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0042381C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00423820 03E00008 */ jr $ra +/* 00423824 00000000 */ nop + .type fasm, @function + .size fasm, .-fasm + .end fasm + +glabel fop + .ent fop + # 00423AA4 uop_to_asm + # 00423D28 jump + # 00424240 trap + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 0042BDAC eval +/* 00423828 3C1C0FC0 */ .cpload $t9 +/* 0042382C 279CC228 */ +/* 00423830 0399E021 */ +/* 00423834 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00423838 30A200FF */ andi $v0, $a1, 0xff +/* 0042383C 244EFFF4 */ addiu $t6, $v0, -0xc +/* 00423840 2DC10005 */ sltiu $at, $t6, 5 +/* 00423844 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00423848 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0042384C AFA400C0 */ sw $a0, 0xc0($sp) +/* 00423850 10200051 */ beqz $at, .L00423998 +/* 00423854 AFA500C4 */ sw $a1, 0xc4($sp) +/* 00423858 8F818038 */ lw $at, %got(jtbl_10009C14)($gp) +/* 0042385C 000E7080 */ sll $t6, $t6, 2 +/* 00423860 002E0821 */ addu $at, $at, $t6 +/* 00423864 8C2E9C14 */ lw $t6, %lo(jtbl_10009C14)($at) +/* 00423868 01DC7021 */ addu $t6, $t6, $gp +/* 0042386C 01C00008 */ jr $t6 +/* 00423870 00000000 */ nop +.L00423874: +/* 00423874 8F98887C */ lw $t8, %got(spop_tab)($gp) +/* 00423878 00047840 */ sll $t7, $a0, 1 +/* 0042387C 01F8C821 */ addu $t9, $t7, $t8 +/* 00423880 10000084 */ b .L00423A94 +/* 00423884 97220000 */ lhu $v0, ($t9) +.L00423888: +/* 00423888 8F898880 */ lw $t1, %got(dpop_tab)($gp) +/* 0042388C 00044040 */ sll $t0, $a0, 1 +/* 00423890 01095021 */ addu $t2, $t0, $t1 +/* 00423894 1000007F */ b .L00423A94 +/* 00423898 95420000 */ lhu $v0, ($t2) +.L0042389C: +/* 0042389C 8F8B8038 */ lw $t3, %got(RO_10009BC4)($gp) +/* 004238A0 24040004 */ li $a0, 4 +/* 004238A4 24050358 */ li $a1, 856 +/* 004238A8 256B9BC4 */ addiu $t3, %lo(RO_10009BC4) # addiu $t3, $t3, -0x643c +/* 004238AC 256F0048 */ addiu $t7, $t3, 0x48 +/* 004238B0 03A07025 */ move $t6, $sp +.L004238B4: +/* 004238B4 896D0000 */ lwl $t5, ($t3) +/* 004238B8 996D0003 */ lwr $t5, 3($t3) +/* 004238BC 256B000C */ addiu $t3, $t3, 0xc +/* 004238C0 25CE000C */ addiu $t6, $t6, 0xc +/* 004238C4 A9CDFFFC */ swl $t5, -4($t6) +/* 004238C8 B9CDFFFF */ swr $t5, -1($t6) +/* 004238CC 896CFFF8 */ lwl $t4, -8($t3) +/* 004238D0 996CFFFB */ lwr $t4, -5($t3) +/* 004238D4 A9CC0000 */ swl $t4, ($t6) +/* 004238D8 B9CC0003 */ swr $t4, 3($t6) +/* 004238DC 896DFFFC */ lwl $t5, -4($t3) +/* 004238E0 996DFFFF */ lwr $t5, -1($t3) +/* 004238E4 A9CD0004 */ swl $t5, 4($t6) +/* 004238E8 156FFFF2 */ bne $t3, $t7, .L004238B4 +/* 004238EC B9CD0007 */ swr $t5, 7($t6) +/* 004238F0 896D0000 */ lwl $t5, ($t3) +/* 004238F4 996D0003 */ lwr $t5, 3($t3) +/* 004238F8 8F988038 */ lw $t8, %got(RO_10009B74)($gp) +/* 004238FC 03A04825 */ move $t1, $sp +/* 00423900 A9CD0008 */ swl $t5, 8($t6) +/* 00423904 B9CD000B */ swr $t5, 0xb($t6) +/* 00423908 896C0004 */ lwl $t4, 4($t3) +/* 0042390C 996C0007 */ lwr $t4, 7($t3) +/* 00423910 27189B74 */ addiu $t8, %lo(RO_10009B74) # addiu $t8, $t8, -0x648c +/* 00423914 270A0048 */ addiu $t2, $t8, 0x48 +/* 00423918 A9CC000C */ swl $t4, 0xc($t6) +/* 0042391C B9CC000F */ swr $t4, 0xf($t6) +.L00423920: +/* 00423920 8B080000 */ lwl $t0, ($t8) +/* 00423924 9B080003 */ lwr $t0, 3($t8) +/* 00423928 2718000C */ addiu $t8, $t8, 0xc +/* 0042392C 2529000C */ addiu $t1, $t1, 0xc +/* 00423930 A928004C */ swl $t0, 0x4c($t1) +/* 00423934 B928004F */ swr $t0, 0x4f($t1) +/* 00423938 8B19FFF8 */ lwl $t9, -8($t8) +/* 0042393C 9B19FFFB */ lwr $t9, -5($t8) +/* 00423940 A9390050 */ swl $t9, 0x50($t1) +/* 00423944 B9390053 */ swr $t9, 0x53($t1) +/* 00423948 8B08FFFC */ lwl $t0, -4($t8) +/* 0042394C 9B08FFFF */ lwr $t0, -1($t8) +/* 00423950 A9280054 */ swl $t0, 0x54($t1) +/* 00423954 170AFFF2 */ bne $t8, $t2, .L00423920 +/* 00423958 B9280057 */ swr $t0, 0x57($t1) +/* 0042395C 8B080000 */ lwl $t0, ($t8) +/* 00423960 9B080003 */ lwr $t0, 3($t8) +/* 00423964 A9280058 */ swl $t0, 0x58($t1) +/* 00423968 B928005B */ swr $t0, 0x5b($t1) +/* 0042396C 8B190004 */ lwl $t9, 4($t8) +/* 00423970 9B190007 */ lwr $t9, 7($t8) +/* 00423974 A939005C */ swl $t9, 0x5c($t1) +/* 00423978 B939005F */ swr $t9, 0x5f($t1) +/* 0042397C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00423980 8FA7000C */ lw $a3, 0xc($sp) +/* 00423984 8FA60008 */ lw $a2, 8($sp) +/* 00423988 0320F809 */ jalr $t9 +/* 0042398C 00000000 */ nop +/* 00423990 1000003F */ b .L00423A90 +/* 00423994 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00423998: +/* 00423998 8F8F8038 */ lw $t7, %got(RO_10009B24)($gp) +/* 0042399C 24040004 */ li $a0, 4 +/* 004239A0 2405035E */ li $a1, 862 +/* 004239A4 25EF9B24 */ addiu $t7, %lo(RO_10009B24) # addiu $t7, $t7, -0x64dc +/* 004239A8 25ED0048 */ addiu $t5, $t7, 0x48 +/* 004239AC 03A06025 */ move $t4, $sp +.L004239B0: +/* 004239B0 89EE0000 */ lwl $t6, ($t7) +/* 004239B4 99EE0003 */ lwr $t6, 3($t7) +/* 004239B8 25EF000C */ addiu $t7, $t7, 0xc +/* 004239BC 258C000C */ addiu $t4, $t4, 0xc +/* 004239C0 A98EFFFC */ swl $t6, -4($t4) +/* 004239C4 B98EFFFF */ swr $t6, -1($t4) +/* 004239C8 89EBFFF8 */ lwl $t3, -8($t7) +/* 004239CC 99EBFFFB */ lwr $t3, -5($t7) +/* 004239D0 A98B0000 */ swl $t3, ($t4) +/* 004239D4 B98B0003 */ swr $t3, 3($t4) +/* 004239D8 89EEFFFC */ lwl $t6, -4($t7) +/* 004239DC 99EEFFFF */ lwr $t6, -1($t7) +/* 004239E0 A98E0004 */ swl $t6, 4($t4) +/* 004239E4 15EDFFF2 */ bne $t7, $t5, .L004239B0 +/* 004239E8 B98E0007 */ swr $t6, 7($t4) +/* 004239EC 89EE0000 */ lwl $t6, ($t7) +/* 004239F0 99EE0003 */ lwr $t6, 3($t7) +/* 004239F4 8F8A8038 */ lw $t2, %got(RO_10009AD4)($gp) +/* 004239F8 03A0C825 */ move $t9, $sp +/* 004239FC A98E0008 */ swl $t6, 8($t4) +/* 00423A00 B98E000B */ swr $t6, 0xb($t4) +/* 00423A04 89EB0004 */ lwl $t3, 4($t7) +/* 00423A08 99EB0007 */ lwr $t3, 7($t7) +/* 00423A0C 254A9AD4 */ addiu $t2, %lo(RO_10009AD4) # addiu $t2, $t2, -0x652c +/* 00423A10 25480048 */ addiu $t0, $t2, 0x48 +/* 00423A14 A98B000C */ swl $t3, 0xc($t4) +/* 00423A18 B98B000F */ swr $t3, 0xf($t4) +.L00423A1C: +/* 00423A1C 89490000 */ lwl $t1, ($t2) +/* 00423A20 99490003 */ lwr $t1, 3($t2) +/* 00423A24 254A000C */ addiu $t2, $t2, 0xc +/* 00423A28 2739000C */ addiu $t9, $t9, 0xc +/* 00423A2C AB29004C */ swl $t1, 0x4c($t9) +/* 00423A30 BB29004F */ swr $t1, 0x4f($t9) +/* 00423A34 8958FFF8 */ lwl $t8, -8($t2) +/* 00423A38 9958FFFB */ lwr $t8, -5($t2) +/* 00423A3C AB380050 */ swl $t8, 0x50($t9) +/* 00423A40 BB380053 */ swr $t8, 0x53($t9) +/* 00423A44 8949FFFC */ lwl $t1, -4($t2) +/* 00423A48 9949FFFF */ lwr $t1, -1($t2) +/* 00423A4C AB290054 */ swl $t1, 0x54($t9) +/* 00423A50 1548FFF2 */ bne $t2, $t0, .L00423A1C +/* 00423A54 BB290057 */ swr $t1, 0x57($t9) +/* 00423A58 89490000 */ lwl $t1, ($t2) +/* 00423A5C 99490003 */ lwr $t1, 3($t2) +/* 00423A60 AB290058 */ swl $t1, 0x58($t9) +/* 00423A64 BB29005B */ swr $t1, 0x5b($t9) +/* 00423A68 89580004 */ lwl $t8, 4($t2) +/* 00423A6C 99580007 */ lwr $t8, 7($t2) +/* 00423A70 AB38005C */ swl $t8, 0x5c($t9) +/* 00423A74 BB38005F */ swr $t8, 0x5f($t9) +/* 00423A78 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00423A7C 8FA7000C */ lw $a3, 0xc($sp) +/* 00423A80 8FA60008 */ lw $a2, 8($sp) +/* 00423A84 0320F809 */ jalr $t9 +/* 00423A88 00000000 */ nop +/* 00423A8C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00423A90: +/* 00423A90 97A200BE */ lhu $v0, 0xbe($sp) +.L00423A94: +/* 00423A94 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00423A98 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00423A9C 03E00008 */ jr $ra +/* 00423AA0 00000000 */ nop + .type fop, @function + .size fop, .-fop + .end fop + +glabel uop_to_asm + .ent uop_to_asm + # 0042BDAC eval +/* 00423AA4 3C1C0FC0 */ .cpload $t9 +/* 00423AA8 279CBFAC */ +/* 00423AAC 0399E021 */ +/* 00423AB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00423AB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00423AB8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00423ABC 90850021 */ lbu $a1, 0x21($a0) +/* 00423AC0 3C01000C */ lui $at, 0xc +/* 00423AC4 34218000 */ ori $at, $at, 0x8000 +/* 00423AC8 30A5001F */ andi $a1, $a1, 0x1f +/* 00423ACC 2CAE0020 */ sltiu $t6, $a1, 0x20 +/* 00423AD0 000E7823 */ negu $t7, $t6 +/* 00423AD4 01E1C024 */ and $t8, $t7, $at +/* 00423AD8 00B8C804 */ sllv $t9, $t8, $a1 +/* 00423ADC 07210007 */ bgez $t9, .L00423AFC +/* 00423AE0 00803025 */ move $a2, $a0 +/* 00423AE4 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00423AE8 90840020 */ lbu $a0, 0x20($a0) +/* 00423AEC 0320F809 */ jalr $t9 +/* 00423AF0 00000000 */ nop +/* 00423AF4 10000088 */ b .L00423D18 +/* 00423AF8 8FBC0018 */ lw $gp, 0x18($sp) +.L00423AFC: +/* 00423AFC 94C80022 */ lhu $t0, 0x22($a2) +/* 00423B00 30A200FF */ andi $v0, $a1, 0xff +/* 00423B04 31090002 */ andi $t1, $t0, 2 +/* 00423B08 51200044 */ beql $t1, $zero, .L00423C1C +/* 00423B0C 2449FFFB */ addiu $t1, $v0, -5 +/* 00423B10 30A200FF */ andi $v0, $a1, 0xff +/* 00423B14 244AFFFB */ addiu $t2, $v0, -5 +/* 00423B18 2D410003 */ sltiu $at, $t2, 3 +/* 00423B1C 50200031 */ beql $at, $zero, .L00423BE4 +/* 00423B20 90C30020 */ lbu $v1, 0x20($a2) +/* 00423B24 8F818038 */ lw $at, %got(jtbl_10009C28)($gp) +/* 00423B28 000A5080 */ sll $t2, $t2, 2 +/* 00423B2C 002A0821 */ addu $at, $at, $t2 +/* 00423B30 8C2A9C28 */ lw $t2, %lo(jtbl_10009C28)($at) +/* 00423B34 015C5021 */ addu $t2, $t2, $gp +/* 00423B38 01400008 */ jr $t2 +/* 00423B3C 00000000 */ nop +.L00423B40: +/* 00423B40 8F8B89D8 */ lw $t3, %got(opcode_arch)($gp) +/* 00423B44 24010001 */ li $at, 1 +/* 00423B48 916B0000 */ lbu $t3, ($t3) +/* 00423B4C 55610008 */ bnel $t3, $at, .L00423B70 +/* 00423B50 90D80020 */ lbu $t8, 0x20($a2) +/* 00423B54 90CC0020 */ lbu $t4, 0x20($a2) +/* 00423B58 8F8E88D0 */ lw $t6, %got(dw_oop)($gp) +/* 00423B5C 000C6840 */ sll $t5, $t4, 1 +/* 00423B60 01AE7821 */ addu $t7, $t5, $t6 +/* 00423B64 1000006C */ b .L00423D18 +/* 00423B68 95E20000 */ lhu $v0, ($t7) +/* 00423B6C 90D80020 */ lbu $t8, 0x20($a2) +.L00423B70: +/* 00423B70 8F8888C0 */ lw $t0, %got(oop)($gp) +/* 00423B74 0018C840 */ sll $t9, $t8, 1 +/* 00423B78 03284821 */ addu $t1, $t9, $t0 +/* 00423B7C 10000066 */ b .L00423D18 +/* 00423B80 95220000 */ lhu $v0, ($t1) +.L00423B84: +/* 00423B84 8F8A89D8 */ lw $t2, %got(opcode_arch)($gp) +/* 00423B88 24010001 */ li $at, 1 +/* 00423B8C 914A0000 */ lbu $t2, ($t2) +/* 00423B90 55410008 */ bnel $t2, $at, .L00423BB4 +/* 00423B94 90CF0020 */ lbu $t7, 0x20($a2) +/* 00423B98 90CB0020 */ lbu $t3, 0x20($a2) +/* 00423B9C 8F8D88D4 */ lw $t5, %got(dw_ouop)($gp) +/* 00423BA0 000B6040 */ sll $t4, $t3, 1 +/* 00423BA4 018D7021 */ addu $t6, $t4, $t5 +/* 00423BA8 1000005B */ b .L00423D18 +/* 00423BAC 95C20000 */ lhu $v0, ($t6) +/* 00423BB0 90CF0020 */ lbu $t7, 0x20($a2) +.L00423BB4: +/* 00423BB4 8F9988C4 */ lw $t9, %got(ouop)($gp) +/* 00423BB8 000FC040 */ sll $t8, $t7, 1 +/* 00423BBC 03194021 */ addu $t0, $t8, $t9 +/* 00423BC0 10000055 */ b .L00423D18 +/* 00423BC4 95020000 */ lhu $v0, ($t0) +.L00423BC8: +/* 00423BC8 90C90020 */ lbu $t1, 0x20($a2) +/* 00423BCC 8F8B88C0 */ lw $t3, %got(oop)($gp) +/* 00423BD0 00095040 */ sll $t2, $t1, 1 +/* 00423BD4 014B6021 */ addu $t4, $t2, $t3 +/* 00423BD8 1000004F */ b .L00423D18 +/* 00423BDC 95820000 */ lhu $v0, ($t4) +/* 00423BE0 90C30020 */ lbu $v1, 0x20($a2) +.L00423BE4: +/* 00423BE4 24010050 */ li $at, 80 +/* 00423BE8 14610006 */ bne $v1, $at, .L00423C04 +/* 00423BEC 00000000 */ nop +/* 00423BF0 8F8E88C0 */ lw $t6, %got(oop)($gp) +/* 00423BF4 00036840 */ sll $t5, $v1, 1 +/* 00423BF8 01AE7821 */ addu $t7, $t5, $t6 +/* 00423BFC 10000046 */ b .L00423D18 +/* 00423C00 95E20000 */ lhu $v0, ($t7) +.L00423C04: +/* 00423C04 8F9988C4 */ lw $t9, %got(ouop)($gp) +/* 00423C08 0003C040 */ sll $t8, $v1, 1 +/* 00423C0C 03194021 */ addu $t0, $t8, $t9 +/* 00423C10 10000041 */ b .L00423D18 +/* 00423C14 95020000 */ lhu $v0, ($t0) +/* 00423C18 2449FFFB */ addiu $t1, $v0, -5 +.L00423C1C: +/* 00423C1C 2D210003 */ sltiu $at, $t1, 3 +/* 00423C20 50200031 */ beql $at, $zero, .L00423CE8 +/* 00423C24 90C30020 */ lbu $v1, 0x20($a2) +/* 00423C28 8F818038 */ lw $at, %got(jtbl_10009C34)($gp) +/* 00423C2C 00094880 */ sll $t1, $t1, 2 +/* 00423C30 00290821 */ addu $at, $at, $t1 +/* 00423C34 8C299C34 */ lw $t1, %lo(jtbl_10009C34)($at) +/* 00423C38 013C4821 */ addu $t1, $t1, $gp +/* 00423C3C 01200008 */ jr $t1 +/* 00423C40 00000000 */ nop +.L00423C44: +/* 00423C44 8F8A89D8 */ lw $t2, %got(opcode_arch)($gp) +/* 00423C48 24010001 */ li $at, 1 +/* 00423C4C 914A0000 */ lbu $t2, ($t2) +/* 00423C50 55410008 */ bnel $t2, $at, .L00423C74 +/* 00423C54 90CF0020 */ lbu $t7, 0x20($a2) +/* 00423C58 90CB0020 */ lbu $t3, 0x20($a2) +/* 00423C5C 8F8D88C8 */ lw $t5, %got(dw_op)($gp) +/* 00423C60 000B6040 */ sll $t4, $t3, 1 +/* 00423C64 018D7021 */ addu $t6, $t4, $t5 +/* 00423C68 1000002B */ b .L00423D18 +/* 00423C6C 95C20000 */ lhu $v0, ($t6) +/* 00423C70 90CF0020 */ lbu $t7, 0x20($a2) +.L00423C74: +/* 00423C74 8F9988B8 */ lw $t9, %got(op)($gp) +/* 00423C78 000FC040 */ sll $t8, $t7, 1 +/* 00423C7C 03194021 */ addu $t0, $t8, $t9 +/* 00423C80 10000025 */ b .L00423D18 +/* 00423C84 95020000 */ lhu $v0, ($t0) +.L00423C88: +/* 00423C88 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 00423C8C 24010001 */ li $at, 1 +/* 00423C90 91290000 */ lbu $t1, ($t1) +/* 00423C94 55210008 */ bnel $t1, $at, .L00423CB8 +/* 00423C98 90CE0020 */ lbu $t6, 0x20($a2) +/* 00423C9C 90CA0020 */ lbu $t2, 0x20($a2) +/* 00423CA0 8F8C88CC */ lw $t4, %got(dw_uop)($gp) +/* 00423CA4 000A5840 */ sll $t3, $t2, 1 +/* 00423CA8 016C6821 */ addu $t5, $t3, $t4 +/* 00423CAC 1000001A */ b .L00423D18 +/* 00423CB0 95A20000 */ lhu $v0, ($t5) +/* 00423CB4 90CE0020 */ lbu $t6, 0x20($a2) +.L00423CB8: +/* 00423CB8 8F9888BC */ lw $t8, %got(uop)($gp) +/* 00423CBC 000E7840 */ sll $t7, $t6, 1 +/* 00423CC0 01F8C821 */ addu $t9, $t7, $t8 +/* 00423CC4 10000014 */ b .L00423D18 +/* 00423CC8 97220000 */ lhu $v0, ($t9) +.L00423CCC: +/* 00423CCC 90C80020 */ lbu $t0, 0x20($a2) +/* 00423CD0 8F8A88B8 */ lw $t2, %got(op)($gp) +/* 00423CD4 00084840 */ sll $t1, $t0, 1 +/* 00423CD8 012A5821 */ addu $t3, $t1, $t2 +/* 00423CDC 1000000E */ b .L00423D18 +/* 00423CE0 95620000 */ lhu $v0, ($t3) +/* 00423CE4 90C30020 */ lbu $v1, 0x20($a2) +.L00423CE8: +/* 00423CE8 24010050 */ li $at, 80 +/* 00423CEC 14610006 */ bne $v1, $at, .L00423D08 +/* 00423CF0 00000000 */ nop +/* 00423CF4 8F8D88B8 */ lw $t5, %got(op)($gp) +/* 00423CF8 00036040 */ sll $t4, $v1, 1 +/* 00423CFC 018D7021 */ addu $t6, $t4, $t5 +/* 00423D00 10000005 */ b .L00423D18 +/* 00423D04 95C20000 */ lhu $v0, ($t6) +.L00423D08: +/* 00423D08 8F9888BC */ lw $t8, %got(uop)($gp) +/* 00423D0C 00037840 */ sll $t7, $v1, 1 +/* 00423D10 01F8C821 */ addu $t9, $t7, $t8 +/* 00423D14 97220000 */ lhu $v0, ($t9) +.L00423D18: +/* 00423D18 8FBF001C */ lw $ra, 0x1c($sp) +/* 00423D1C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00423D20 03E00008 */ jr $ra +/* 00423D24 00000000 */ nop + .type uop_to_asm, @function + .size uop_to_asm, .-uop_to_asm + .end uop_to_asm + +glabel jump + .ent jump + # 0042BDAC eval +/* 00423D28 3C1C0FC0 */ .cpload $t9 +/* 00423D2C 279CBD28 */ +/* 00423D30 0399E021 */ +/* 00423D34 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00423D38 AFB20028 */ sw $s2, 0x28($sp) +/* 00423D3C AFB10024 */ sw $s1, 0x24($sp) +/* 00423D40 AFB00020 */ sw $s0, 0x20($sp) +/* 00423D44 00808025 */ move $s0, $a0 +/* 00423D48 30B100FF */ andi $s1, $a1, 0xff +/* 00423D4C 00C09025 */ move $s2, $a2 +/* 00423D50 AFBF0034 */ sw $ra, 0x34($sp) +/* 00423D54 AFBC0030 */ sw $gp, 0x30($sp) +/* 00423D58 AFB3002C */ sw $s3, 0x2c($sp) +/* 00423D5C AFA50044 */ sw $a1, 0x44($sp) +.L00423D60: +/* 00423D60 960E0014 */ lhu $t6, 0x14($s0) +/* 00423D64 24010001 */ li $at, 1 +/* 00423D68 51C10008 */ beql $t6, $at, .L00423D8C +/* 00423D6C 920F0019 */ lbu $t7, 0x19($s0) +/* 00423D70 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00423D74 02002025 */ move $a0, $s0 +/* 00423D78 24050048 */ li $a1, 72 +/* 00423D7C 0320F809 */ jalr $t9 +/* 00423D80 00000000 */ nop +/* 00423D84 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423D88 920F0019 */ lbu $t7, 0x19($s0) +.L00423D8C: +/* 00423D8C 24010048 */ li $at, 72 +/* 00423D90 000FC600 */ sll $t8, $t7, 0x18 +/* 00423D94 0018CE42 */ srl $t9, $t8, 0x19 +/* 00423D98 5321002D */ beql $t9, $at, .L00423E50 +/* 00423D9C 92040020 */ lbu $a0, 0x20($s0) +/* 00423DA0 12200002 */ beqz $s1, .L00423DAC +/* 00423DA4 2413001A */ li $s3, 26 +/* 00423DA8 2413000D */ li $s3, 13 +.L00423DAC: +/* 00423DAC 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 00423DB0 02002025 */ move $a0, $s0 +/* 00423DB4 0320F809 */ jalr $t9 +/* 00423DB8 00000000 */ nop +/* 00423DBC 2C480020 */ sltiu $t0, $v0, 0x20 +/* 00423DC0 00084823 */ negu $t1, $t0 +/* 00423DC4 3C010501 */ lui $at, 0x501 +/* 00423DC8 01215024 */ and $t2, $t1, $at +/* 00423DCC 004A5804 */ sllv $t3, $t2, $v0 +/* 00423DD0 05610010 */ bgez $t3, .L00423E14 +/* 00423DD4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423DD8 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00423DDC 02002025 */ move $a0, $s0 +/* 00423DE0 0320F809 */ jalr $t9 +/* 00423DE4 00000000 */ nop +/* 00423DE8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423DEC 02602025 */ move $a0, $s3 +/* 00423DF0 00402825 */ move $a1, $v0 +/* 00423DF4 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00423DF8 00003025 */ move $a2, $zero +/* 00423DFC 00003825 */ move $a3, $zero +/* 00423E00 AFB20010 */ sw $s2, 0x10($sp) +/* 00423E04 0320F809 */ jalr $t9 +/* 00423E08 AFB00014 */ sw $s0, 0x14($sp) +/* 00423E0C 10000105 */ b .L00424224 +/* 00423E10 8FBC0030 */ lw $gp, 0x30($sp) +.L00423E14: +/* 00423E14 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00423E18 02002025 */ move $a0, $s0 +/* 00423E1C 0320F809 */ jalr $t9 +/* 00423E20 00000000 */ nop +/* 00423E24 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423E28 02602025 */ move $a0, $s3 +/* 00423E2C 00402825 */ move $a1, $v0 +/* 00423E30 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 00423E34 00003025 */ move $a2, $zero +/* 00423E38 02403825 */ move $a3, $s2 +/* 00423E3C 0320F809 */ jalr $t9 +/* 00423E40 00000000 */ nop +/* 00423E44 100000F7 */ b .L00424224 +/* 00423E48 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423E4C 92040020 */ lbu $a0, 0x20($s0) +.L00423E50: +/* 00423E50 100000D5 */ b .L004241A8 +/* 00423E54 00801025 */ move $v0, $a0 +.L00423E58: +/* 00423E58 2E310001 */ sltiu $s1, $s1, 1 +/* 00423E5C 323100FF */ andi $s1, $s1, 0xff +/* 00423E60 1000FFBF */ b .L00423D60 +/* 00423E64 8E100000 */ lw $s0, ($s0) +.L00423E68: +/* 00423E68 92050021 */ lbu $a1, 0x21($s0) +.L00423E6C: +/* 00423E6C 3C01000C */ lui $at, 0xc +/* 00423E70 34218000 */ ori $at, $at, 0x8000 +/* 00423E74 30A5001F */ andi $a1, $a1, 0x1f +/* 00423E78 2CAC0020 */ sltiu $t4, $a1, 0x20 +/* 00423E7C 000C6823 */ negu $t5, $t4 +/* 00423E80 01A17024 */ and $t6, $t5, $at +/* 00423E84 00AE7804 */ sllv $t7, $t6, $a1 +/* 00423E88 05E1004A */ bgez $t7, .L00423FB4 +/* 00423E8C 00000000 */ nop +/* 00423E90 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00423E94 0320F809 */ jalr $t9 +/* 00423E98 00000000 */ nop +/* 00423E9C 92180020 */ lbu $t8, 0x20($s0) +/* 00423EA0 2401005F */ li $at, 95 +/* 00423EA4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423EA8 17010003 */ bne $t8, $at, .L00423EB8 +/* 00423EAC 3053FFFF */ andi $s3, $v0, 0xffff +/* 00423EB0 2E310001 */ sltiu $s1, $s1, 1 +/* 00423EB4 323100FF */ andi $s1, $s1, 0xff +.L00423EB8: +/* 00423EB8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00423EBC 8E040000 */ lw $a0, ($s0) +/* 00423EC0 24050048 */ li $a1, 72 +/* 00423EC4 0320F809 */ jalr $t9 +/* 00423EC8 00000000 */ nop +/* 00423ECC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423ED0 8E040004 */ lw $a0, 4($s0) +/* 00423ED4 24050048 */ li $a1, 72 +/* 00423ED8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00423EDC 0320F809 */ jalr $t9 +/* 00423EE0 00000000 */ nop +/* 00423EE4 92190020 */ lbu $t9, 0x20($s0) +/* 00423EE8 3C0100C0 */ lui $at, 0xc0 +/* 00423EEC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423EF0 2728FFE0 */ addiu $t0, $t9, -0x20 +/* 00423EF4 2D090020 */ sltiu $t1, $t0, 0x20 +/* 00423EF8 00095023 */ negu $t2, $t1 +/* 00423EFC 01415824 */ and $t3, $t2, $at +/* 00423F00 010B6004 */ sllv $t4, $t3, $t0 +/* 00423F04 0581000F */ bgez $t4, .L00423F44 +/* 00423F08 00000000 */ nop +/* 00423F0C 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00423F10 8E040000 */ lw $a0, ($s0) +/* 00423F14 0320F809 */ jalr $t9 +/* 00423F18 00000000 */ nop +/* 00423F1C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423F20 8E040004 */ lw $a0, 4($s0) +/* 00423F24 A3A2003C */ sb $v0, 0x3c($sp) +/* 00423F28 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00423F2C 0320F809 */ jalr $t9 +/* 00423F30 00000000 */ nop +/* 00423F34 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423F38 93A6003C */ lbu $a2, 0x3c($sp) +/* 00423F3C 1000000E */ b .L00423F78 +/* 00423F40 304500FF */ andi $a1, $v0, 0xff +.L00423F44: +/* 00423F44 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00423F48 8E040000 */ lw $a0, ($s0) +/* 00423F4C 0320F809 */ jalr $t9 +/* 00423F50 00000000 */ nop +/* 00423F54 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423F58 8E040004 */ lw $a0, 4($s0) +/* 00423F5C A3A2003D */ sb $v0, 0x3d($sp) +/* 00423F60 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00423F64 0320F809 */ jalr $t9 +/* 00423F68 00000000 */ nop +/* 00423F6C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423F70 93A5003D */ lbu $a1, 0x3d($sp) +/* 00423F74 304600FF */ andi $a2, $v0, 0xff +.L00423F78: +/* 00423F78 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00423F7C 02602025 */ move $a0, $s3 +/* 00423F80 0320F809 */ jalr $t9 +/* 00423F84 00000000 */ nop +/* 00423F88 8FBC0030 */ lw $gp, 0x30($sp) +/* 00423F8C 12200002 */ beqz $s1, .L00423F98 +/* 00423F90 24130008 */ li $s3, 8 +/* 00423F94 24130007 */ li $s3, 7 +.L00423F98: +/* 00423F98 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00423F9C 02602025 */ move $a0, $s3 +/* 00423FA0 02402825 */ move $a1, $s2 +/* 00423FA4 0320F809 */ jalr $t9 +/* 00423FA8 00000000 */ nop +/* 00423FAC 1000009D */ b .L00424224 +/* 00423FB0 8FBC0030 */ lw $gp, 0x30($sp) +.L00423FB4: +/* 00423FB4 8F8D8884 */ lw $t5, %got(br)($gp) +/* 00423FB8 00041040 */ sll $v0, $a0, 1 +/* 00423FBC 24010006 */ li $at, 6 +/* 00423FC0 004D7021 */ addu $t6, $v0, $t5 +/* 00423FC4 10A10007 */ beq $a1, $at, .L00423FE4 +/* 00423FC8 95D30000 */ lhu $s3, ($t6) +/* 00423FCC 24010005 */ li $at, 5 +/* 00423FD0 10A10004 */ beq $a1, $at, .L00423FE4 +/* 00423FD4 00000000 */ nop +/* 00423FD8 8F8F8888 */ lw $t7, %got(ubr)($gp) +/* 00423FDC 004FC021 */ addu $t8, $v0, $t7 +/* 00423FE0 97130000 */ lhu $s3, ($t8) +.L00423FE4: +/* 00423FE4 52200006 */ beql $s1, $zero, .L00424000 +/* 00423FE8 8E0B0004 */ lw $t3, 4($s0) +/* 00423FEC 8F89888C */ lw $t1, %got(inv)($gp) +/* 00423FF0 0013C840 */ sll $t9, $s3, 1 +/* 00423FF4 03295021 */ addu $t2, $t9, $t1 +/* 00423FF8 95530000 */ lhu $s3, ($t2) +/* 00423FFC 8E0B0004 */ lw $t3, 4($s0) +.L00424000: +/* 00424000 24010049 */ li $at, 73 +/* 00424004 91680020 */ lbu $t0, 0x20($t3) +/* 00424008 1501002F */ bne $t0, $at, .L004240C8 +/* 0042400C 00000000 */ nop +/* 00424010 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00424014 8E040000 */ lw $a0, ($s0) +/* 00424018 24050048 */ li $a1, 72 +/* 0042401C 0320F809 */ jalr $t9 +/* 00424020 00000000 */ nop +/* 00424024 8E0C0004 */ lw $t4, 4($s0) +/* 00424028 3C010501 */ lui $at, 0x501 +/* 0042402C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00424030 918D0021 */ lbu $t5, 0x21($t4) +/* 00424034 31AE001F */ andi $t6, $t5, 0x1f +/* 00424038 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 0042403C 000FC023 */ negu $t8, $t7 +/* 00424040 0301C824 */ and $t9, $t8, $at +/* 00424044 01D94804 */ sllv $t1, $t9, $t6 +/* 00424048 05210011 */ bgez $t1, .L00424090 +/* 0042404C 00000000 */ nop +/* 00424050 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424054 8E040000 */ lw $a0, ($s0) +/* 00424058 0320F809 */ jalr $t9 +/* 0042405C 00000000 */ nop +/* 00424060 8FBC0030 */ lw $gp, 0x30($sp) +/* 00424064 8E030004 */ lw $v1, 4($s0) +/* 00424068 02602025 */ move $a0, $s3 +/* 0042406C 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00424070 00402825 */ move $a1, $v0 +/* 00424074 AFB20010 */ sw $s2, 0x10($sp) +/* 00424078 AFB00014 */ sw $s0, 0x14($sp) +/* 0042407C 8C660030 */ lw $a2, 0x30($v1) +/* 00424080 0320F809 */ jalr $t9 +/* 00424084 8C670034 */ lw $a3, 0x34($v1) +/* 00424088 10000066 */ b .L00424224 +/* 0042408C 8FBC0030 */ lw $gp, 0x30($sp) +.L00424090: +/* 00424090 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424094 8E040000 */ lw $a0, ($s0) +/* 00424098 0320F809 */ jalr $t9 +/* 0042409C 00000000 */ nop +/* 004240A0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004240A4 8E0A0004 */ lw $t2, 4($s0) +/* 004240A8 02602025 */ move $a0, $s3 +/* 004240AC 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 004240B0 00402825 */ move $a1, $v0 +/* 004240B4 02403825 */ move $a3, $s2 +/* 004240B8 0320F809 */ jalr $t9 +/* 004240BC 8D460030 */ lw $a2, 0x30($t2) +/* 004240C0 10000058 */ b .L00424224 +/* 004240C4 8FBC0030 */ lw $gp, 0x30($sp) +.L004240C8: +/* 004240C8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004240CC 8E040000 */ lw $a0, ($s0) +/* 004240D0 24050048 */ li $a1, 72 +/* 004240D4 0320F809 */ jalr $t9 +/* 004240D8 00000000 */ nop +/* 004240DC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004240E0 8E040004 */ lw $a0, 4($s0) +/* 004240E4 24050048 */ li $a1, 72 +/* 004240E8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004240EC 0320F809 */ jalr $t9 +/* 004240F0 00000000 */ nop +/* 004240F4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004240F8 8E040000 */ lw $a0, ($s0) +/* 004240FC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424100 0320F809 */ jalr $t9 +/* 00424104 00000000 */ nop +/* 00424108 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042410C 8E040004 */ lw $a0, 4($s0) +/* 00424110 A3A2003D */ sb $v0, 0x3d($sp) +/* 00424114 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424118 0320F809 */ jalr $t9 +/* 0042411C 00000000 */ nop +/* 00424120 8FBC0030 */ lw $gp, 0x30($sp) +/* 00424124 93A5003D */ lbu $a1, 0x3d($sp) +/* 00424128 02602025 */ move $a0, $s3 +/* 0042412C 8F9982C0 */ lw $t9, %call16(emit_branch_rrll)($gp) +/* 00424130 304600FF */ andi $a2, $v0, 0xff +/* 00424134 02403825 */ move $a3, $s2 +/* 00424138 0320F809 */ jalr $t9 +/* 0042413C AFB00010 */ sw $s0, 0x10($sp) +/* 00424140 10000038 */ b .L00424224 +/* 00424144 8FBC0030 */ lw $gp, 0x30($sp) +.L00424148: +/* 00424148 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042414C 02002025 */ move $a0, $s0 +/* 00424150 24050048 */ li $a1, 72 +/* 00424154 0320F809 */ jalr $t9 +/* 00424158 00000000 */ nop +/* 0042415C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00424160 12200002 */ beqz $s1, .L0042416C +/* 00424164 2413001A */ li $s3, 26 +/* 00424168 2413000D */ li $s3, 13 +.L0042416C: +/* 0042416C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424170 02002025 */ move $a0, $s0 +/* 00424174 0320F809 */ jalr $t9 +/* 00424178 00000000 */ nop +/* 0042417C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00424180 02602025 */ move $a0, $s3 +/* 00424184 00402825 */ move $a1, $v0 +/* 00424188 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 0042418C 00003025 */ move $a2, $zero +/* 00424190 00003825 */ move $a3, $zero +/* 00424194 AFB20010 */ sw $s2, 0x10($sp) +/* 00424198 0320F809 */ jalr $t9 +/* 0042419C AFB00014 */ sw $s0, 0x14($sp) +/* 004241A0 10000020 */ b .L00424224 +/* 004241A4 8FBC0030 */ lw $gp, 0x30($sp) +.L004241A8: +/* 004241A8 2C410051 */ sltiu $at, $v0, 0x51 +/* 004241AC 14200006 */ bnez $at, .L004241C8 +/* 004241B0 2448FFB3 */ addiu $t0, $v0, -0x4d +/* 004241B4 2401005F */ li $at, 95 +/* 004241B8 5041FF2C */ beql $v0, $at, .L00423E6C +/* 004241BC 92050021 */ lbu $a1, 0x21($s0) +/* 004241C0 1000FFE1 */ b .L00424148 +/* 004241C4 00000000 */ nop +.L004241C8: +/* 004241C8 2C41002A */ sltiu $at, $v0, 0x2a +/* 004241CC 1020000B */ beqz $at, .L004241FC +/* 004241D0 244BFFDD */ addiu $t3, $v0, -0x23 +/* 004241D4 2D610007 */ sltiu $at, $t3, 7 +/* 004241D8 1020FFDB */ beqz $at, .L00424148 +/* 004241DC 00000000 */ nop +/* 004241E0 8F818038 */ lw $at, %got(jtbl_10009C40)($gp) +/* 004241E4 000B5880 */ sll $t3, $t3, 2 +/* 004241E8 002B0821 */ addu $at, $at, $t3 +/* 004241EC 8C2B9C40 */ lw $t3, %lo(jtbl_10009C40)($at) +/* 004241F0 017C5821 */ addu $t3, $t3, $gp +/* 004241F4 01600008 */ jr $t3 +/* 004241F8 00000000 */ nop +.L004241FC: +/* 004241FC 2D010004 */ sltiu $at, $t0, 4 +/* 00424200 1020FFD1 */ beqz $at, .L00424148 +/* 00424204 00000000 */ nop +/* 00424208 8F818038 */ lw $at, %got(jtbl_10009C5C)($gp) +/* 0042420C 00084080 */ sll $t0, $t0, 2 +/* 00424210 00280821 */ addu $at, $at, $t0 +/* 00424214 8C289C5C */ lw $t0, %lo(jtbl_10009C5C)($at) +/* 00424218 011C4021 */ addu $t0, $t0, $gp +/* 0042421C 01000008 */ jr $t0 +/* 00424220 00000000 */ nop +.L00424224: +/* 00424224 8FBF0034 */ lw $ra, 0x34($sp) +/* 00424228 8FB00020 */ lw $s0, 0x20($sp) +/* 0042422C 8FB10024 */ lw $s1, 0x24($sp) +/* 00424230 8FB20028 */ lw $s2, 0x28($sp) +/* 00424234 8FB3002C */ lw $s3, 0x2c($sp) +/* 00424238 03E00008 */ jr $ra +/* 0042423C 27BD0040 */ addiu $sp, $sp, 0x40 + .type jump, @function + .size jump, .-jump + .end jump + +glabel trap + .ent trap + # 0042BDAC eval +/* 00424240 3C1C0FC0 */ .cpload $t9 +/* 00424244 279CB810 */ +/* 00424248 0399E021 */ +/* 0042424C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00424250 AFB0001C */ sw $s0, 0x1c($sp) +/* 00424254 00A08025 */ move $s0, $a1 +/* 00424258 AFBF0024 */ sw $ra, 0x24($sp) +/* 0042425C AFBC0020 */ sw $gp, 0x20($sp) +/* 00424260 AFA40040 */ sw $a0, 0x40($sp) +/* 00424264 AFA60048 */ sw $a2, 0x48($sp) +.L00424268: +/* 00424268 960E0014 */ lhu $t6, 0x14($s0) +/* 0042426C 24010001 */ li $at, 1 +/* 00424270 51C10008 */ beql $t6, $at, .L00424294 +/* 00424274 920F0019 */ lbu $t7, 0x19($s0) +/* 00424278 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042427C 02002025 */ move $a0, $s0 +/* 00424280 24050048 */ li $a1, 72 +/* 00424284 0320F809 */ jalr $t9 +/* 00424288 00000000 */ nop +/* 0042428C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424290 920F0019 */ lbu $t7, 0x19($s0) +.L00424294: +/* 00424294 24010048 */ li $at, 72 +/* 00424298 000FC600 */ sll $t8, $t7, 0x18 +/* 0042429C 0018CE42 */ srl $t9, $t8, 0x19 +/* 004242A0 13210015 */ beq $t9, $at, .L004242F8 +/* 004242A4 00000000 */ nop +/* 004242A8 93A9004B */ lbu $t1, 0x4b($sp) +/* 004242AC 24020104 */ li $v0, 260 +/* 004242B0 11200002 */ beqz $t1, .L004242BC +/* 004242B4 00000000 */ nop +/* 004242B8 24020103 */ li $v0, 259 +.L004242BC: +/* 004242BC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004242C0 02002025 */ move $a0, $s0 +/* 004242C4 A7A2003C */ sh $v0, 0x3c($sp) +/* 004242C8 0320F809 */ jalr $t9 +/* 004242CC 00000000 */ nop +/* 004242D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004242D4 97A4003C */ lhu $a0, 0x3c($sp) +/* 004242D8 00402825 */ move $a1, $v0 +/* 004242DC 8F9982C8 */ lw $t9, %call16(emit_trap_rri)($gp) +/* 004242E0 00003025 */ move $a2, $zero +/* 004242E4 8FA70040 */ lw $a3, 0x40($sp) +/* 004242E8 0320F809 */ jalr $t9 +/* 004242EC AFB00010 */ sw $s0, 0x10($sp) +/* 004242F0 1000014C */ b .L00424824 +/* 004242F4 8FBC0020 */ lw $gp, 0x20($sp) +.L004242F8: +/* 004242F8 1000012B */ b .L004247A8 +/* 004242FC 92070020 */ lbu $a3, 0x20($s0) +.L00424300: +/* 00424300 93AA004B */ lbu $t2, 0x4b($sp) +/* 00424304 8E100000 */ lw $s0, ($s0) +/* 00424308 2D4B0001 */ sltiu $t3, $t2, 1 +/* 0042430C 1000FFD6 */ b .L00424268 +/* 00424310 A3AB004B */ sb $t3, 0x4b($sp) +.L00424314: +/* 00424314 92050021 */ lbu $a1, 0x21($s0) +.L00424318: +/* 00424318 3C01000C */ lui $at, 0xc +/* 0042431C 34218000 */ ori $at, $at, 0x8000 +/* 00424320 30A5001F */ andi $a1, $a1, 0x1f +/* 00424324 2CAC0020 */ sltiu $t4, $a1, 0x20 +/* 00424328 000C6823 */ negu $t5, $t4 +/* 0042432C 01A17024 */ and $t6, $t5, $at +/* 00424330 00AE7804 */ sllv $t7, $t6, $a1 +/* 00424334 05E1005F */ bgez $t7, .L004244B4 +/* 00424338 24010029 */ li $at, 41 +/* 0042433C 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00424340 00E02025 */ move $a0, $a3 +/* 00424344 0320F809 */ jalr $t9 +/* 00424348 00000000 */ nop +/* 0042434C 92180020 */ lbu $t8, 0x20($s0) +/* 00424350 2401005F */ li $at, 95 +/* 00424354 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424358 17010004 */ bne $t8, $at, .L0042436C +/* 0042435C A7A2003C */ sh $v0, 0x3c($sp) +/* 00424360 93B9004B */ lbu $t9, 0x4b($sp) +/* 00424364 2F290001 */ sltiu $t1, $t9, 1 +/* 00424368 A3A9004B */ sb $t1, 0x4b($sp) +.L0042436C: +/* 0042436C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00424370 8E040000 */ lw $a0, ($s0) +/* 00424374 24050048 */ li $a1, 72 +/* 00424378 0320F809 */ jalr $t9 +/* 0042437C 00000000 */ nop +/* 00424380 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424384 8E040004 */ lw $a0, 4($s0) +/* 00424388 24050048 */ li $a1, 72 +/* 0042438C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00424390 0320F809 */ jalr $t9 +/* 00424394 00000000 */ nop +/* 00424398 920A0020 */ lbu $t2, 0x20($s0) +/* 0042439C 3C0100C0 */ lui $at, 0xc0 +/* 004243A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004243A4 254BFFE0 */ addiu $t3, $t2, -0x20 +/* 004243A8 2D6C0020 */ sltiu $t4, $t3, 0x20 +/* 004243AC 000C6823 */ negu $t5, $t4 +/* 004243B0 01A17024 */ and $t6, $t5, $at +/* 004243B4 016E7804 */ sllv $t7, $t6, $t3 +/* 004243B8 05E1000F */ bgez $t7, .L004243F8 +/* 004243BC 00000000 */ nop +/* 004243C0 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004243C4 8E040000 */ lw $a0, ($s0) +/* 004243C8 0320F809 */ jalr $t9 +/* 004243CC 00000000 */ nop +/* 004243D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004243D4 8E040004 */ lw $a0, 4($s0) +/* 004243D8 A3A2003A */ sb $v0, 0x3a($sp) +/* 004243DC 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004243E0 0320F809 */ jalr $t9 +/* 004243E4 00000000 */ nop +/* 004243E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004243EC 93A6003A */ lbu $a2, 0x3a($sp) +/* 004243F0 1000000E */ b .L0042442C +/* 004243F4 304500FF */ andi $a1, $v0, 0xff +.L004243F8: +/* 004243F8 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004243FC 8E040000 */ lw $a0, ($s0) +/* 00424400 0320F809 */ jalr $t9 +/* 00424404 00000000 */ nop +/* 00424408 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042440C 8E040004 */ lw $a0, 4($s0) +/* 00424410 A3A2003B */ sb $v0, 0x3b($sp) +/* 00424414 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00424418 0320F809 */ jalr $t9 +/* 0042441C 00000000 */ nop +/* 00424420 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424424 93A5003B */ lbu $a1, 0x3b($sp) +/* 00424428 304600FF */ andi $a2, $v0, 0xff +.L0042442C: +/* 0042442C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00424430 97A4003C */ lhu $a0, 0x3c($sp) +/* 00424434 0320F809 */ jalr $t9 +/* 00424438 00000000 */ nop +/* 0042443C 93B8004B */ lbu $t8, 0x4b($sp) +/* 00424440 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424444 24020007 */ li $v0, 7 +/* 00424448 13000002 */ beqz $t8, .L00424454 +/* 0042444C 00000000 */ nop +/* 00424450 24020008 */ li $v0, 8 +.L00424454: +/* 00424454 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00424458 A7A2003C */ sh $v0, 0x3c($sp) +/* 0042445C 0320F809 */ jalr $t9 +/* 00424460 00000000 */ nop +/* 00424464 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424468 00408025 */ move $s0, $v0 +/* 0042446C 97A4003C */ lhu $a0, 0x3c($sp) +/* 00424470 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00424474 00402825 */ move $a1, $v0 +/* 00424478 0320F809 */ jalr $t9 +/* 0042447C 00000000 */ nop +/* 00424480 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424484 2404001B */ li $a0, 27 +/* 00424488 8FA50040 */ lw $a1, 0x40($sp) +/* 0042448C 8F99821C */ lw $t9, %call16(emit_i)($gp) +/* 00424490 0320F809 */ jalr $t9 +/* 00424494 00000000 */ nop +/* 00424498 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042449C 02002025 */ move $a0, $s0 +/* 004244A0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 004244A4 0320F809 */ jalr $t9 +/* 004244A8 00000000 */ nop +/* 004244AC 100000DD */ b .L00424824 +/* 004244B0 8FBC0020 */ lw $gp, 0x20($sp) +.L004244B4: +/* 004244B4 8E020000 */ lw $v0, ($s0) +/* 004244B8 8E030004 */ lw $v1, 4($s0) +/* 004244BC AFA20030 */ sw $v0, 0x30($sp) +/* 004244C0 10000031 */ b .L00424588 +/* 004244C4 00604025 */ move $t0, $v1 +/* 004244C8 91190020 */ lbu $t9, 0x20($t0) +.L004244CC: +/* 004244CC 24010049 */ li $at, 73 +/* 004244D0 24070028 */ li $a3, 40 +/* 004244D4 57210012 */ bnel $t9, $at, .L00424520 +/* 004244D8 AFA30030 */ sw $v1, 0x30($sp) +/* 004244DC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004244E0 91040021 */ lbu $a0, 0x21($t0) +/* 004244E4 8D060030 */ lw $a2, 0x30($t0) +/* 004244E8 2407004E */ li $a3, 78 +/* 004244EC A3A7003F */ sb $a3, 0x3f($sp) +/* 004244F0 00002825 */ move $a1, $zero +/* 004244F4 3084001F */ andi $a0, $a0, 0x1f +/* 004244F8 0320F809 */ jalr $t9 +/* 004244FC 24C60001 */ addiu $a2, $a2, 1 +/* 00424500 92050021 */ lbu $a1, 0x21($s0) +/* 00424504 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424508 93A7003F */ lbu $a3, 0x3f($sp) +/* 0042450C AFA2002C */ sw $v0, 0x2c($sp) +/* 00424510 00404025 */ move $t0, $v0 +/* 00424514 10000021 */ b .L0042459C +/* 00424518 30A5001F */ andi $a1, $a1, 0x1f +/* 0042451C AFA30030 */ sw $v1, 0x30($sp) +.L00424520: +/* 00424520 1000001E */ b .L0042459C +/* 00424524 00404025 */ move $t0, $v0 +/* 00424528 91090020 */ lbu $t1, 0x20($t0) +.L0042452C: +/* 0042452C 24010049 */ li $at, 73 +/* 00424530 2407004E */ li $a3, 78 +/* 00424534 55210012 */ bnel $t1, $at, .L00424580 +/* 00424538 AFA30030 */ sw $v1, 0x30($sp) +/* 0042453C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00424540 91040021 */ lbu $a0, 0x21($t0) +/* 00424544 8D060030 */ lw $a2, 0x30($t0) +/* 00424548 24070028 */ li $a3, 40 +/* 0042454C A3A7003F */ sb $a3, 0x3f($sp) +/* 00424550 00002825 */ move $a1, $zero +/* 00424554 3084001F */ andi $a0, $a0, 0x1f +/* 00424558 0320F809 */ jalr $t9 +/* 0042455C 24C60001 */ addiu $a2, $a2, 1 +/* 00424560 92050021 */ lbu $a1, 0x21($s0) +/* 00424564 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424568 93A7003F */ lbu $a3, 0x3f($sp) +/* 0042456C AFA2002C */ sw $v0, 0x2c($sp) +/* 00424570 00404025 */ move $t0, $v0 +/* 00424574 10000009 */ b .L0042459C +/* 00424578 30A5001F */ andi $a1, $a1, 0x1f +/* 0042457C AFA30030 */ sw $v1, 0x30($sp) +.L00424580: +/* 00424580 10000006 */ b .L0042459C +/* 00424584 00404025 */ move $t0, $v0 +.L00424588: +/* 00424588 50E1FFE8 */ beql $a3, $at, .L0042452C +/* 0042458C 91090020 */ lbu $t1, 0x20($t0) +/* 00424590 2401004D */ li $at, 77 +/* 00424594 50E1FFCD */ beql $a3, $at, .L004244CC +/* 00424598 91190020 */ lbu $t9, 0x20($t0) +.L0042459C: +/* 0042459C 8F8A8890 */ lw $t2, %got(trapop)($gp) +/* 004245A0 00071040 */ sll $v0, $a3, 1 +/* 004245A4 24010006 */ li $at, 6 +/* 004245A8 004A6021 */ addu $t4, $v0, $t2 +/* 004245AC 10A10004 */ beq $a1, $at, .L004245C0 +/* 004245B0 95830000 */ lhu $v1, ($t4) +/* 004245B4 8F8D8894 */ lw $t5, %got(utrapop)($gp) +/* 004245B8 004D7021 */ addu $t6, $v0, $t5 +/* 004245BC 95C30000 */ lhu $v1, ($t6) +.L004245C0: +/* 004245C0 93AB004B */ lbu $t3, 0x4b($sp) +/* 004245C4 8FAA0040 */ lw $t2, 0x40($sp) +/* 004245C8 8FA40030 */ lw $a0, 0x30($sp) +/* 004245CC 51600006 */ beql $t3, $zero, .L004245E8 +/* 004245D0 91090020 */ lbu $t1, 0x20($t0) +/* 004245D4 8F98888C */ lw $t8, %got(inv)($gp) +/* 004245D8 00037840 */ sll $t7, $v1, 1 +/* 004245DC 01F8C821 */ addu $t9, $t7, $t8 +/* 004245E0 97230000 */ lhu $v1, ($t9) +/* 004245E4 91090020 */ lbu $t1, 0x20($t0) +.L004245E8: +/* 004245E8 24010049 */ li $at, 73 +/* 004245EC 15210034 */ bne $t1, $at, .L004246C0 +/* 004245F0 24010008 */ li $at, 8 +/* 004245F4 15410032 */ bne $t2, $at, .L004246C0 +/* 004245F8 24050048 */ li $a1, 72 +/* 004245FC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00424600 8FA40030 */ lw $a0, 0x30($sp) +/* 00424604 A7A3003C */ sh $v1, 0x3c($sp) +/* 00424608 0320F809 */ jalr $t9 +/* 0042460C AFA8002C */ sw $t0, 0x2c($sp) +/* 00424610 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424614 8FAD002C */ lw $t5, 0x2c($sp) +/* 00424618 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 0042461C 918C0000 */ lbu $t4, ($t4) +/* 00424620 15800019 */ bnez $t4, .L00424688 +/* 00424624 00000000 */ nop +/* 00424628 91AE0021 */ lbu $t6, 0x21($t5) +/* 0042462C 3C010501 */ lui $at, 0x501 +/* 00424630 31CB001F */ andi $t3, $t6, 0x1f +/* 00424634 2D6F0020 */ sltiu $t7, $t3, 0x20 +/* 00424638 000FC023 */ negu $t8, $t7 +/* 0042463C 0301C824 */ and $t9, $t8, $at +/* 00424640 01794804 */ sllv $t1, $t9, $t3 +/* 00424644 05210010 */ bgez $t1, .L00424688 +/* 00424648 00000000 */ nop +/* 0042464C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424650 8FA40030 */ lw $a0, 0x30($sp) +/* 00424654 0320F809 */ jalr $t9 +/* 00424658 00000000 */ nop +/* 0042465C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424660 8FA3002C */ lw $v1, 0x2c($sp) +/* 00424664 97A4003C */ lhu $a0, 0x3c($sp) +/* 00424668 8F9982CC */ lw $t9, %call16(emit_trap_ri)($gp) +/* 0042466C 00402825 */ move $a1, $v0 +/* 00424670 AFB00010 */ sw $s0, 0x10($sp) +/* 00424674 8C660030 */ lw $a2, 0x30($v1) +/* 00424678 0320F809 */ jalr $t9 +/* 0042467C 8C670034 */ lw $a3, 0x34($v1) +/* 00424680 10000068 */ b .L00424824 +/* 00424684 8FBC0020 */ lw $gp, 0x20($sp) +.L00424688: +/* 00424688 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042468C 8FA40030 */ lw $a0, 0x30($sp) +/* 00424690 0320F809 */ jalr $t9 +/* 00424694 00000000 */ nop +/* 00424698 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042469C 8FAA002C */ lw $t2, 0x2c($sp) +/* 004246A0 97A4003C */ lhu $a0, 0x3c($sp) +/* 004246A4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004246A8 00402825 */ move $a1, $v0 +/* 004246AC 00003825 */ move $a3, $zero +/* 004246B0 0320F809 */ jalr $t9 +/* 004246B4 8D460030 */ lw $a2, 0x30($t2) +/* 004246B8 1000005A */ b .L00424824 +/* 004246BC 8FBC0020 */ lw $gp, 0x20($sp) +.L004246C0: +/* 004246C0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004246C4 24050048 */ li $a1, 72 +/* 004246C8 A7A3003C */ sh $v1, 0x3c($sp) +/* 004246CC 0320F809 */ jalr $t9 +/* 004246D0 AFA8002C */ sw $t0, 0x2c($sp) +/* 004246D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004246D8 8FA4002C */ lw $a0, 0x2c($sp) +/* 004246DC 24050048 */ li $a1, 72 +/* 004246E0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004246E4 0320F809 */ jalr $t9 +/* 004246E8 00000000 */ nop +/* 004246EC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004246F0 8FA40030 */ lw $a0, 0x30($sp) +/* 004246F4 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004246F8 0320F809 */ jalr $t9 +/* 004246FC 00000000 */ nop +/* 00424700 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424704 8FA4002C */ lw $a0, 0x2c($sp) +/* 00424708 A3A2003B */ sb $v0, 0x3b($sp) +/* 0042470C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424710 0320F809 */ jalr $t9 +/* 00424714 00000000 */ nop +/* 00424718 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042471C 93A5003B */ lbu $a1, 0x3b($sp) +/* 00424720 97A4003C */ lhu $a0, 0x3c($sp) +/* 00424724 8F9982C8 */ lw $t9, %call16(emit_trap_rri)($gp) +/* 00424728 304600FF */ andi $a2, $v0, 0xff +/* 0042472C 8FA70040 */ lw $a3, 0x40($sp) +/* 00424730 0320F809 */ jalr $t9 +/* 00424734 AFB00010 */ sw $s0, 0x10($sp) +/* 00424738 1000003A */ b .L00424824 +/* 0042473C 8FBC0020 */ lw $gp, 0x20($sp) +.L00424740: +/* 00424740 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00424744 02002025 */ move $a0, $s0 +/* 00424748 24050048 */ li $a1, 72 +/* 0042474C 0320F809 */ jalr $t9 +/* 00424750 00000000 */ nop +/* 00424754 93AC004B */ lbu $t4, 0x4b($sp) +/* 00424758 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042475C 24020104 */ li $v0, 260 +/* 00424760 11800002 */ beqz $t4, .L0042476C +/* 00424764 00000000 */ nop +/* 00424768 24020103 */ li $v0, 259 +.L0042476C: +/* 0042476C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00424770 02002025 */ move $a0, $s0 +/* 00424774 A7A2003C */ sh $v0, 0x3c($sp) +/* 00424778 0320F809 */ jalr $t9 +/* 0042477C 00000000 */ nop +/* 00424780 8FBC0020 */ lw $gp, 0x20($sp) +/* 00424784 97A4003C */ lhu $a0, 0x3c($sp) +/* 00424788 00402825 */ move $a1, $v0 +/* 0042478C 8F9982C8 */ lw $t9, %call16(emit_trap_rri)($gp) +/* 00424790 00003025 */ move $a2, $zero +/* 00424794 8FA70040 */ lw $a3, 0x40($sp) +/* 00424798 0320F809 */ jalr $t9 +/* 0042479C AFB00010 */ sw $s0, 0x10($sp) +/* 004247A0 10000020 */ b .L00424824 +/* 004247A4 8FBC0020 */ lw $gp, 0x20($sp) +.L004247A8: +/* 004247A8 2CE10051 */ sltiu $at, $a3, 0x51 +/* 004247AC 14200006 */ bnez $at, .L004247C8 +/* 004247B0 24EEFFB3 */ addiu $t6, $a3, -0x4d +/* 004247B4 2401005F */ li $at, 95 +/* 004247B8 50E1FED7 */ beql $a3, $at, .L00424318 +/* 004247BC 92050021 */ lbu $a1, 0x21($s0) +/* 004247C0 1000FFDF */ b .L00424740 +/* 004247C4 00000000 */ nop +.L004247C8: +/* 004247C8 2CE1002A */ sltiu $at, $a3, 0x2a +/* 004247CC 1020000B */ beqz $at, .L004247FC +/* 004247D0 24EDFFDD */ addiu $t5, $a3, -0x23 +/* 004247D4 2DA10007 */ sltiu $at, $t5, 7 +/* 004247D8 1020FFD9 */ beqz $at, .L00424740 +/* 004247DC 00000000 */ nop +/* 004247E0 8F818038 */ lw $at, %got(jtbl_10009C6C)($gp) +/* 004247E4 000D6880 */ sll $t5, $t5, 2 +/* 004247E8 002D0821 */ addu $at, $at, $t5 +/* 004247EC 8C2D9C6C */ lw $t5, %lo(jtbl_10009C6C)($at) +/* 004247F0 01BC6821 */ addu $t5, $t5, $gp +/* 004247F4 01A00008 */ jr $t5 +/* 004247F8 00000000 */ nop +.L004247FC: +/* 004247FC 2DC10004 */ sltiu $at, $t6, 4 +/* 00424800 1020FFCF */ beqz $at, .L00424740 +/* 00424804 00000000 */ nop +/* 00424808 8F818038 */ lw $at, %got(jtbl_10009C88)($gp) +/* 0042480C 000E7080 */ sll $t6, $t6, 2 +/* 00424810 002E0821 */ addu $at, $at, $t6 +/* 00424814 8C2E9C88 */ lw $t6, %lo(jtbl_10009C88)($at) +/* 00424818 01DC7021 */ addu $t6, $t6, $gp +/* 0042481C 01C00008 */ jr $t6 +/* 00424820 00000000 */ nop +.L00424824: +/* 00424824 8FBF0024 */ lw $ra, 0x24($sp) +/* 00424828 8FB0001C */ lw $s0, 0x1c($sp) +/* 0042482C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 00424830 03E00008 */ jr $ra +/* 00424834 00000000 */ nop + .type trap, @function + .size trap, .-trap + .end trap + +glabel is_saved_reg + .ent is_saved_reg + # 0042A64C save_vreg + # 0042AEE8 get_saved_regs_size +/* 00424838 3C1C0FC0 */ .cpload $t9 +/* 0042483C 279CB218 */ +/* 00424840 0399E021 */ +/* 00424844 2C820010 */ sltiu $v0, $a0, 0x10 +/* 00424848 38430001 */ xori $v1, $v0, 1 +/* 0042484C 10600006 */ beqz $v1, .L00424868 +/* 00424850 AFA40000 */ sw $a0, ($sp) +/* 00424854 8F8E8A04 */ lw $t6, %got(n_saved_regs)($gp) +/* 00424858 8DCE0000 */ lw $t6, ($t6) +/* 0042485C 25CF000F */ addiu $t7, $t6, 0xf +/* 00424860 01E4182B */ sltu $v1, $t7, $a0 +/* 00424864 38630001 */ xori $v1, $v1, 1 +.L00424868: +/* 00424868 14600010 */ bnez $v1, .L004248AC +/* 0042486C 2C980020 */ sltiu $t8, $a0, 0x20 +/* 00424870 0018C823 */ negu $t9, $t8 +/* 00424874 33280003 */ andi $t0, $t9, 3 +/* 00424878 00881004 */ sllv $v0, $t0, $a0 +/* 0042487C 28430000 */ slti $v1, $v0, 0 +/* 00424880 1460000A */ bnez $v1, .L004248AC +/* 00424884 2C820034 */ sltiu $v0, $a0, 0x34 +/* 00424888 38430001 */ xori $v1, $v0, 1 +/* 0042488C 10600007 */ beqz $v1, .L004248AC +/* 00424890 00000000 */ nop +/* 00424894 8F898A08 */ lw $t1, %got(n_saved_fp_regs)($gp) +/* 00424898 8D290000 */ lw $t1, ($t1) +/* 0042489C 00095040 */ sll $t2, $t1, 1 +/* 004248A0 254B0032 */ addiu $t3, $t2, 0x32 +/* 004248A4 0164182B */ sltu $v1, $t3, $a0 +/* 004248A8 38630001 */ xori $v1, $v1, 1 +.L004248AC: +/* 004248AC 03E00008 */ jr $ra +/* 004248B0 00601025 */ move $v0, $v1 + .type is_saved_reg, @function + .size is_saved_reg, .-is_saved_reg + .end is_saved_reg + +glabel is_parm_reg + .ent is_parm_reg + # 0042B410 home_parms + # 0042BDAC eval +/* 004248B4 3C1C0FC0 */ .cpload $t9 +/* 004248B8 279CB19C */ +/* 004248BC 0399E021 */ +/* 004248C0 2C820004 */ sltiu $v0, $a0, 4 +/* 004248C4 38430001 */ xori $v1, $v0, 1 +/* 004248C8 10600006 */ beqz $v1, .L004248E4 +/* 004248CC AFA40000 */ sw $a0, ($sp) +/* 004248D0 8F8E89FC */ lw $t6, %got(n_parm_regs)($gp) +/* 004248D4 8DCE0000 */ lw $t6, ($t6) +/* 004248D8 25CF0003 */ addiu $t7, $t6, 3 +/* 004248DC 01E4182B */ sltu $v1, $t7, $a0 +/* 004248E0 38630001 */ xori $v1, $v1, 1 +.L004248E4: +/* 004248E4 1460000A */ bnez $v1, .L00424910 +/* 004248E8 2C82002C */ sltiu $v0, $a0, 0x2c +/* 004248EC 38430001 */ xori $v1, $v0, 1 +/* 004248F0 10600007 */ beqz $v1, .L00424910 +/* 004248F4 00000000 */ nop +/* 004248F8 8F988A00 */ lw $t8, %got(n_fp_parm_regs)($gp) +/* 004248FC 8F180000 */ lw $t8, ($t8) +/* 00424900 0018C840 */ sll $t9, $t8, 1 +/* 00424904 2728002A */ addiu $t0, $t9, 0x2a +/* 00424908 0104182B */ sltu $v1, $t0, $a0 +/* 0042490C 38630001 */ xori $v1, $v1, 1 +.L00424910: +/* 00424910 03E00008 */ jr $ra +/* 00424914 00601025 */ move $v0, $v1 + .type is_parm_reg, @function + .size is_parm_reg, .-is_parm_reg + .end is_parm_reg + +glabel is_fp_reg + .ent is_fp_reg + # 00426C54 func_00426C54 + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 00427E8C loadstore_for_two_fp_words + # 004280C4 func_004280C4 + # 00428190 func_00428190 + # 00428384 unaligned_loadstore +/* 00424918 2C820020 */ sltiu $v0, $a0, 0x20 +/* 0042491C 38430001 */ xori $v1, $v0, 1 +/* 00424920 10600002 */ beqz $v1, .L0042492C +/* 00424924 AFA40000 */ sw $a0, ($sp) +/* 00424928 2C830040 */ sltiu $v1, $a0, 0x40 +.L0042492C: +/* 0042492C 03E00008 */ jr $ra +/* 00424930 00601025 */ move $v0, $v1 + .type is_fp_reg, @function + .size is_fp_reg, .-is_fp_reg + .end is_fp_reg + +glabel restore_from_temp + .ent restore_from_temp + # 00424F70 reg + # 00425140 binary_regs + # 0042BDAC eval +/* 00424934 3C1C0FC0 */ .cpload $t9 +/* 00424938 279CB11C */ +/* 0042493C 0399E021 */ +/* 00424940 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 00424944 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 00424948 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0042494C AFB000AC */ sw $s0, 0xac($sp) +/* 00424950 00808025 */ move $s0, $a0 +/* 00424954 0320F809 */ jalr $t9 +/* 00424958 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0042495C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424960 A3A200C7 */ sb $v0, 0xc7($sp) +/* 00424964 24190008 */ li $t9, 8 +/* 00424968 8F8E89B8 */ lw $t6, %got(isa)($gp) +/* 0042496C 304300FF */ andi $v1, $v0, 0xff +/* 00424970 91CE0000 */ lbu $t6, ($t6) +/* 00424974 2DC10002 */ sltiu $at, $t6, 2 +/* 00424978 50200009 */ beql $at, $zero, .L004249A0 +/* 0042497C AFB900C0 */ sw $t9, 0xc0($sp) +/* 00424980 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 00424984 24180004 */ li $t8, 4 +/* 00424988 91EF0000 */ lbu $t7, ($t7) +/* 0042498C 55E00004 */ bnel $t7, $zero, .L004249A0 +/* 00424990 AFB900C0 */ sw $t9, 0xc0($sp) +/* 00424994 10000002 */ b .L004249A0 +/* 00424998 AFB800C0 */ sw $t8, 0xc0($sp) +/* 0042499C AFB900C0 */ sw $t9, 0xc0($sp) +.L004249A0: +/* 004249A0 2C610011 */ sltiu $at, $v1, 0x11 +/* 004249A4 1020008C */ beqz $at, .L00424BD8 +/* 004249A8 00000000 */ nop +/* 004249AC 8F818038 */ lw $at, %got(jtbl_10009DD8)($gp) +/* 004249B0 00034080 */ sll $t0, $v1, 2 +/* 004249B4 00280821 */ addu $at, $at, $t0 +/* 004249B8 8C289DD8 */ lw $t0, %lo(jtbl_10009DD8)($at) +/* 004249BC 011C4021 */ addu $t0, $t0, $gp +/* 004249C0 01000008 */ jr $t0 +/* 004249C4 00000000 */ nop +.L004249C8: +/* 004249C8 8F9985C4 */ lw $t9, %call16(temp_usage_count)($gp) +/* 004249CC 92040018 */ lbu $a0, 0x18($s0) +/* 004249D0 0320F809 */ jalr $t9 +/* 004249D4 00000000 */ nop +/* 004249D8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004249DC 93A900C7 */ lbu $t1, 0xc7($sp) +/* 004249E0 02002025 */ move $a0, $s0 +/* 004249E4 8F8A8898 */ lw $t2, %got(reg_kind_tab)($gp) +/* 004249E8 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 004249EC 00403025 */ move $a2, $v0 +/* 004249F0 012A5821 */ addu $t3, $t1, $t2 +/* 004249F4 0320F809 */ jalr $t9 +/* 004249F8 91650000 */ lbu $a1, ($t3) +/* 004249FC 92030019 */ lbu $v1, 0x19($s0) +/* 00424A00 93A800C7 */ lbu $t0, 0xc7($sp) +/* 00424A04 2401000C */ li $at, 12 +/* 00424A08 00036600 */ sll $t4, $v1, 0x18 +/* 00424A0C 000C6E42 */ srl $t5, $t4, 0x19 +/* 00424A10 004D7026 */ xor $t6, $v0, $t5 +/* 00424A14 000E7E40 */ sll $t7, $t6, 0x19 +/* 00424A18 000FC602 */ srl $t8, $t7, 0x18 +/* 00424A1C 0303C826 */ xor $t9, $t8, $v1 +/* 00424A20 A2190019 */ sb $t9, 0x19($s0) +/* 00424A24 150100AA */ bne $t0, $at, .L00424CD0 +/* 00424A28 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424A2C 24090008 */ li $t1, 8 +/* 00424A30 100000A7 */ b .L00424CD0 +/* 00424A34 AFA900C0 */ sw $t1, 0xc0($sp) +.L00424A38: +/* 00424A38 8F8A8038 */ lw $t2, %got(RO_10009D88)($gp) +/* 00424A3C 24040004 */ li $a0, 4 +/* 00424A40 2405052B */ li $a1, 1323 +/* 00424A44 254A9D88 */ addiu $t2, %lo(RO_10009D88) # addiu $t2, $t2, -0x6278 +/* 00424A48 254E0048 */ addiu $t6, $t2, 0x48 +/* 00424A4C 03A06825 */ move $t5, $sp +.L00424A50: +/* 00424A50 894C0000 */ lwl $t4, ($t2) +/* 00424A54 994C0003 */ lwr $t4, 3($t2) +/* 00424A58 254A000C */ addiu $t2, $t2, 0xc +/* 00424A5C 25AD000C */ addiu $t5, $t5, 0xc +/* 00424A60 A9ACFFFC */ swl $t4, -4($t5) +/* 00424A64 B9ACFFFF */ swr $t4, -1($t5) +/* 00424A68 894BFFF8 */ lwl $t3, -8($t2) +/* 00424A6C 994BFFFB */ lwr $t3, -5($t2) +/* 00424A70 A9AB0000 */ swl $t3, ($t5) +/* 00424A74 B9AB0003 */ swr $t3, 3($t5) +/* 00424A78 894CFFFC */ lwl $t4, -4($t2) +/* 00424A7C 994CFFFF */ lwr $t4, -1($t2) +/* 00424A80 A9AC0004 */ swl $t4, 4($t5) +/* 00424A84 154EFFF2 */ bne $t2, $t6, .L00424A50 +/* 00424A88 B9AC0007 */ swr $t4, 7($t5) +/* 00424A8C 894C0000 */ lwl $t4, ($t2) +/* 00424A90 994C0003 */ lwr $t4, 3($t2) +/* 00424A94 8F8F8038 */ lw $t7, %got(RO_10009D38)($gp) +/* 00424A98 03A04025 */ move $t0, $sp +/* 00424A9C A9AC0008 */ swl $t4, 8($t5) +/* 00424AA0 B9AC000B */ swr $t4, 0xb($t5) +/* 00424AA4 894B0004 */ lwl $t3, 4($t2) +/* 00424AA8 994B0007 */ lwr $t3, 7($t2) +/* 00424AAC 25EF9D38 */ addiu $t7, %lo(RO_10009D38) # addiu $t7, $t7, -0x62c8 +/* 00424AB0 25E90048 */ addiu $t1, $t7, 0x48 +/* 00424AB4 A9AB000C */ swl $t3, 0xc($t5) +/* 00424AB8 B9AB000F */ swr $t3, 0xf($t5) +.L00424ABC: +/* 00424ABC 89F90000 */ lwl $t9, ($t7) +/* 00424AC0 99F90003 */ lwr $t9, 3($t7) +/* 00424AC4 25EF000C */ addiu $t7, $t7, 0xc +/* 00424AC8 2508000C */ addiu $t0, $t0, 0xc +/* 00424ACC A919004C */ swl $t9, 0x4c($t0) +/* 00424AD0 B919004F */ swr $t9, 0x4f($t0) +/* 00424AD4 89F8FFF8 */ lwl $t8, -8($t7) +/* 00424AD8 99F8FFFB */ lwr $t8, -5($t7) +/* 00424ADC A9180050 */ swl $t8, 0x50($t0) +/* 00424AE0 B9180053 */ swr $t8, 0x53($t0) +/* 00424AE4 89F9FFFC */ lwl $t9, -4($t7) +/* 00424AE8 99F9FFFF */ lwr $t9, -1($t7) +/* 00424AEC A9190054 */ swl $t9, 0x54($t0) +/* 00424AF0 15E9FFF2 */ bne $t7, $t1, .L00424ABC +/* 00424AF4 B9190057 */ swr $t9, 0x57($t0) +/* 00424AF8 89F90000 */ lwl $t9, ($t7) +/* 00424AFC 99F90003 */ lwr $t9, 3($t7) +/* 00424B00 A9190058 */ swl $t9, 0x58($t0) +/* 00424B04 B919005B */ swr $t9, 0x5b($t0) +/* 00424B08 89F80004 */ lwl $t8, 4($t7) +/* 00424B0C 99F80007 */ lwr $t8, 7($t7) +/* 00424B10 A918005C */ swl $t8, 0x5c($t0) +/* 00424B14 B918005F */ swr $t8, 0x5f($t0) +/* 00424B18 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00424B1C 8FA7000C */ lw $a3, 0xc($sp) +/* 00424B20 8FA60008 */ lw $a2, 8($sp) +/* 00424B24 0320F809 */ jalr $t9 +/* 00424B28 00000000 */ nop +/* 00424B2C 10000068 */ b .L00424CD0 +/* 00424B30 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424B34: +/* 00424B34 8F9985C4 */ lw $t9, %call16(temp_usage_count)($gp) +/* 00424B38 92040018 */ lbu $a0, 0x18($s0) +/* 00424B3C 0320F809 */ jalr $t9 +/* 00424B40 00000000 */ nop +/* 00424B44 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424B48 02002025 */ move $a0, $s0 +/* 00424B4C 00402825 */ move $a1, $v0 +/* 00424B50 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00424B54 0320F809 */ jalr $t9 +/* 00424B58 00000000 */ nop +/* 00424B5C 92030019 */ lbu $v1, 0x19($s0) +/* 00424B60 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424B64 00037600 */ sll $t6, $v1, 0x18 +/* 00424B68 000E5642 */ srl $t2, $t6, 0x19 +/* 00424B6C 004A6826 */ xor $t5, $v0, $t2 +/* 00424B70 000D5E40 */ sll $t3, $t5, 0x19 +/* 00424B74 000B6602 */ srl $t4, $t3, 0x18 +/* 00424B78 01834826 */ xor $t1, $t4, $v1 +/* 00424B7C 10000054 */ b .L00424CD0 +/* 00424B80 A2090019 */ sb $t1, 0x19($s0) +.L00424B84: +/* 00424B84 8F9985C4 */ lw $t9, %call16(temp_usage_count)($gp) +/* 00424B88 240F0008 */ li $t7, 8 +/* 00424B8C AFAF00C0 */ sw $t7, 0xc0($sp) +/* 00424B90 0320F809 */ jalr $t9 +/* 00424B94 92040018 */ lbu $a0, 0x18($s0) +/* 00424B98 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424B9C 02002025 */ move $a0, $s0 +/* 00424BA0 00402825 */ move $a1, $v0 +/* 00424BA4 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00424BA8 0320F809 */ jalr $t9 +/* 00424BAC 00000000 */ nop +/* 00424BB0 92030019 */ lbu $v1, 0x19($s0) +/* 00424BB4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424BB8 00034600 */ sll $t0, $v1, 0x18 +/* 00424BBC 0008C642 */ srl $t8, $t0, 0x19 +/* 00424BC0 0058C826 */ xor $t9, $v0, $t8 +/* 00424BC4 00197640 */ sll $t6, $t9, 0x19 +/* 00424BC8 000E5602 */ srl $t2, $t6, 0x18 +/* 00424BCC 01436826 */ xor $t5, $t2, $v1 +/* 00424BD0 1000003F */ b .L00424CD0 +/* 00424BD4 A20D0019 */ sb $t5, 0x19($s0) +.L00424BD8: +/* 00424BD8 8F8B8038 */ lw $t3, %got(RO_10009CE8)($gp) +/* 00424BDC 24040004 */ li $a0, 4 +/* 00424BE0 24050541 */ li $a1, 1345 +/* 00424BE4 256B9CE8 */ addiu $t3, %lo(RO_10009CE8) # addiu $t3, $t3, -0x6318 +/* 00424BE8 25680048 */ addiu $t0, $t3, 0x48 +/* 00424BEC 03A07825 */ move $t7, $sp +.L00424BF0: +/* 00424BF0 89690000 */ lwl $t1, ($t3) +/* 00424BF4 99690003 */ lwr $t1, 3($t3) +/* 00424BF8 256B000C */ addiu $t3, $t3, 0xc +/* 00424BFC 25EF000C */ addiu $t7, $t7, 0xc +/* 00424C00 A9E9FFFC */ swl $t1, -4($t7) +/* 00424C04 B9E9FFFF */ swr $t1, -1($t7) +/* 00424C08 896CFFF8 */ lwl $t4, -8($t3) +/* 00424C0C 996CFFFB */ lwr $t4, -5($t3) +/* 00424C10 A9EC0000 */ swl $t4, ($t7) +/* 00424C14 B9EC0003 */ swr $t4, 3($t7) +/* 00424C18 8969FFFC */ lwl $t1, -4($t3) +/* 00424C1C 9969FFFF */ lwr $t1, -1($t3) +/* 00424C20 A9E90004 */ swl $t1, 4($t7) +/* 00424C24 1568FFF2 */ bne $t3, $t0, .L00424BF0 +/* 00424C28 B9E90007 */ swr $t1, 7($t7) +/* 00424C2C 89690000 */ lwl $t1, ($t3) +/* 00424C30 99690003 */ lwr $t1, 3($t3) +/* 00424C34 8F988038 */ lw $t8, %got(RO_10009C98)($gp) +/* 00424C38 03A05025 */ move $t2, $sp +/* 00424C3C A9E90008 */ swl $t1, 8($t7) +/* 00424C40 B9E9000B */ swr $t1, 0xb($t7) +/* 00424C44 896C0004 */ lwl $t4, 4($t3) +/* 00424C48 996C0007 */ lwr $t4, 7($t3) +/* 00424C4C 27189C98 */ addiu $t8, %lo(RO_10009C98) # addiu $t8, $t8, -0x6368 +/* 00424C50 270D0048 */ addiu $t5, $t8, 0x48 +/* 00424C54 A9EC000C */ swl $t4, 0xc($t7) +/* 00424C58 B9EC000F */ swr $t4, 0xf($t7) +.L00424C5C: +/* 00424C5C 8B0E0000 */ lwl $t6, ($t8) +/* 00424C60 9B0E0003 */ lwr $t6, 3($t8) +/* 00424C64 2718000C */ addiu $t8, $t8, 0xc +/* 00424C68 254A000C */ addiu $t2, $t2, 0xc +/* 00424C6C A94E004C */ swl $t6, 0x4c($t2) +/* 00424C70 B94E004F */ swr $t6, 0x4f($t2) +/* 00424C74 8B19FFF8 */ lwl $t9, -8($t8) +/* 00424C78 9B19FFFB */ lwr $t9, -5($t8) +/* 00424C7C A9590050 */ swl $t9, 0x50($t2) +/* 00424C80 B9590053 */ swr $t9, 0x53($t2) +/* 00424C84 8B0EFFFC */ lwl $t6, -4($t8) +/* 00424C88 9B0EFFFF */ lwr $t6, -1($t8) +/* 00424C8C A94E0054 */ swl $t6, 0x54($t2) +/* 00424C90 170DFFF2 */ bne $t8, $t5, .L00424C5C +/* 00424C94 B94E0057 */ swr $t6, 0x57($t2) +/* 00424C98 8B0E0000 */ lwl $t6, ($t8) +/* 00424C9C 9B0E0003 */ lwr $t6, 3($t8) +/* 00424CA0 A94E0058 */ swl $t6, 0x58($t2) +/* 00424CA4 B94E005B */ swr $t6, 0x5b($t2) +/* 00424CA8 8B190004 */ lwl $t9, 4($t8) +/* 00424CAC 9B190007 */ lwr $t9, 7($t8) +/* 00424CB0 A959005C */ swl $t9, 0x5c($t2) +/* 00424CB4 B959005F */ swr $t9, 0x5f($t2) +/* 00424CB8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00424CBC 8FA7000C */ lw $a3, 0xc($sp) +/* 00424CC0 8FA60008 */ lw $a2, 8($sp) +/* 00424CC4 0320F809 */ jalr $t9 +/* 00424CC8 00000000 */ nop +/* 00424CCC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424CD0: +/* 00424CD0 8F898A74 */ lw $t1, %got(reversed_stack)($gp) +/* 00424CD4 93A800C7 */ lbu $t0, 0xc7($sp) +/* 00424CD8 8F8F889C */ lw $t7, %got(load_op_tab)($gp) +/* 00424CDC 91290000 */ lbu $t1, ($t1) +/* 00424CE0 00085840 */ sll $t3, $t0, 1 +/* 00424CE4 016F6021 */ addu $t4, $t3, $t7 +/* 00424CE8 1120004E */ beqz $t1, .L00424E24 +/* 00424CEC 95820000 */ lhu $v0, ($t4) +/* 00424CF0 2401006C */ li $at, 108 +/* 00424CF4 14410033 */ bne $v0, $at, .L00424DC4 +/* 00424CF8 00000000 */ nop +/* 00424CFC 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 00424D00 91AD0000 */ lbu $t5, ($t5) +/* 00424D04 15A0002F */ bnez $t5, .L00424DC4 +/* 00424D08 00000000 */ nop +/* 00424D0C 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424D10 92040018 */ lbu $a0, 0x18($s0) +/* 00424D14 0320F809 */ jalr $t9 +/* 00424D18 00000000 */ nop +/* 00424D1C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424D20 8FB800C0 */ lw $t8, 0xc0($sp) +/* 00424D24 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424D28 00582021 */ addu $a0, $v0, $t8 +/* 00424D2C 0320F809 */ jalr $t9 +/* 00424D30 00000000 */ nop +/* 00424D34 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424D38 92050019 */ lbu $a1, 0x19($s0) +/* 00424D3C 2404002A */ li $a0, 42 +/* 00424D40 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424D44 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424D48 00052E00 */ sll $a1, $a1, 0x18 +/* 00424D4C 00052E42 */ srl $a1, $a1, 0x19 +/* 00424D50 00403025 */ move $a2, $v0 +/* 00424D54 AFA00010 */ sw $zero, 0x10($sp) +/* 00424D58 0320F809 */ jalr $t9 +/* 00424D5C 90E70000 */ lbu $a3, ($a3) +/* 00424D60 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424D64 92040018 */ lbu $a0, 0x18($s0) +/* 00424D68 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424D6C 0320F809 */ jalr $t9 +/* 00424D70 00000000 */ nop +/* 00424D74 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424D78 8FAA00C0 */ lw $t2, 0xc0($sp) +/* 00424D7C 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424D80 004A2021 */ addu $a0, $v0, $t2 +/* 00424D84 0320F809 */ jalr $t9 +/* 00424D88 00000000 */ nop +/* 00424D8C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424D90 92050019 */ lbu $a1, 0x19($s0) +/* 00424D94 2404002A */ li $a0, 42 +/* 00424D98 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424D9C 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424DA0 00052E00 */ sll $a1, $a1, 0x18 +/* 00424DA4 00052E42 */ srl $a1, $a1, 0x19 +/* 00424DA8 24A50001 */ addiu $a1, $a1, 1 +/* 00424DAC 24460004 */ addiu $a2, $v0, 4 +/* 00424DB0 AFA00010 */ sw $zero, 0x10($sp) +/* 00424DB4 0320F809 */ jalr $t9 +/* 00424DB8 90E70000 */ lbu $a3, ($a3) +/* 00424DBC 10000062 */ b .L00424F48 +/* 00424DC0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424DC4: +/* 00424DC4 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424DC8 92040018 */ lbu $a0, 0x18($s0) +/* 00424DCC A7A200BE */ sh $v0, 0xbe($sp) +/* 00424DD0 0320F809 */ jalr $t9 +/* 00424DD4 00000000 */ nop +/* 00424DD8 8FB900C0 */ lw $t9, 0xc0($sp) +/* 00424DDC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424DE0 00592021 */ addu $a0, $v0, $t9 +/* 00424DE4 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424DE8 0320F809 */ jalr $t9 +/* 00424DEC 00000000 */ nop +/* 00424DF0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424DF4 92050019 */ lbu $a1, 0x19($s0) +/* 00424DF8 97A400BE */ lhu $a0, 0xbe($sp) +/* 00424DFC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424E00 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424E04 00052E00 */ sll $a1, $a1, 0x18 +/* 00424E08 00052E42 */ srl $a1, $a1, 0x19 +/* 00424E0C 00403025 */ move $a2, $v0 +/* 00424E10 AFA00010 */ sw $zero, 0x10($sp) +/* 00424E14 0320F809 */ jalr $t9 +/* 00424E18 90E70000 */ lbu $a3, ($a3) +/* 00424E1C 1000004A */ b .L00424F48 +/* 00424E20 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424E24: +/* 00424E24 2401006C */ li $at, 108 +/* 00424E28 14410031 */ bne $v0, $at, .L00424EF0 +/* 00424E2C 00000000 */ nop +/* 00424E30 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 00424E34 91CE0000 */ lbu $t6, ($t6) +/* 00424E38 15C0002D */ bnez $t6, .L00424EF0 +/* 00424E3C 00000000 */ nop +/* 00424E40 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424E44 92040018 */ lbu $a0, 0x18($s0) +/* 00424E48 0320F809 */ jalr $t9 +/* 00424E4C 00000000 */ nop +/* 00424E50 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424E54 00402025 */ move $a0, $v0 +/* 00424E58 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424E5C 0320F809 */ jalr $t9 +/* 00424E60 00000000 */ nop +/* 00424E64 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424E68 92050019 */ lbu $a1, 0x19($s0) +/* 00424E6C 2404002A */ li $a0, 42 +/* 00424E70 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424E74 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424E78 00052E00 */ sll $a1, $a1, 0x18 +/* 00424E7C 00052E42 */ srl $a1, $a1, 0x19 +/* 00424E80 00403025 */ move $a2, $v0 +/* 00424E84 AFA00010 */ sw $zero, 0x10($sp) +/* 00424E88 0320F809 */ jalr $t9 +/* 00424E8C 90E70000 */ lbu $a3, ($a3) +/* 00424E90 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424E94 92040018 */ lbu $a0, 0x18($s0) +/* 00424E98 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424E9C 0320F809 */ jalr $t9 +/* 00424EA0 00000000 */ nop +/* 00424EA4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424EA8 00402025 */ move $a0, $v0 +/* 00424EAC 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424EB0 0320F809 */ jalr $t9 +/* 00424EB4 00000000 */ nop +/* 00424EB8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424EBC 92050019 */ lbu $a1, 0x19($s0) +/* 00424EC0 2404002A */ li $a0, 42 +/* 00424EC4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424EC8 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424ECC 00052E00 */ sll $a1, $a1, 0x18 +/* 00424ED0 00052E42 */ srl $a1, $a1, 0x19 +/* 00424ED4 24A50001 */ addiu $a1, $a1, 1 +/* 00424ED8 24460004 */ addiu $a2, $v0, 4 +/* 00424EDC AFA00010 */ sw $zero, 0x10($sp) +/* 00424EE0 0320F809 */ jalr $t9 +/* 00424EE4 90E70000 */ lbu $a3, ($a3) +/* 00424EE8 10000017 */ b .L00424F48 +/* 00424EEC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424EF0: +/* 00424EF0 8F9985C0 */ lw $t9, %call16(temp_offset)($gp) +/* 00424EF4 92040018 */ lbu $a0, 0x18($s0) +/* 00424EF8 A7A200BE */ sh $v0, 0xbe($sp) +/* 00424EFC 0320F809 */ jalr $t9 +/* 00424F00 00000000 */ nop +/* 00424F04 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424F08 00402025 */ move $a0, $v0 +/* 00424F0C 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00424F10 0320F809 */ jalr $t9 +/* 00424F14 00000000 */ nop +/* 00424F18 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424F1C 92050019 */ lbu $a1, 0x19($s0) +/* 00424F20 97A400BE */ lhu $a0, 0xbe($sp) +/* 00424F24 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00424F28 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00424F2C 00052E00 */ sll $a1, $a1, 0x18 +/* 00424F30 00052E42 */ srl $a1, $a1, 0x19 +/* 00424F34 00403025 */ move $a2, $v0 +/* 00424F38 AFA00010 */ sw $zero, 0x10($sp) +/* 00424F3C 0320F809 */ jalr $t9 +/* 00424F40 90E70000 */ lbu $a3, ($a3) +/* 00424F44 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00424F48: +/* 00424F48 8F9985BC */ lw $t9, %call16(free_temp)($gp) +/* 00424F4C 92040018 */ lbu $a0, 0x18($s0) +/* 00424F50 0320F809 */ jalr $t9 +/* 00424F54 00000000 */ nop +/* 00424F58 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00424F5C A2000018 */ sb $zero, 0x18($s0) +/* 00424F60 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00424F64 8FB000AC */ lw $s0, 0xac($sp) +/* 00424F68 03E00008 */ jr $ra +/* 00424F6C 27BD00C8 */ addiu $sp, $sp, 0xc8 + .type restore_from_temp, @function + .size restore_from_temp, .-restore_from_temp + .end restore_from_temp + +glabel reg + .ent reg + # 00423D28 jump + # 00424240 trap + # 004254B8 flt_reg + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 004340D4 func_004340D4 + # 00434500 func_00434500 + # 00434618 func_00434618 +/* 00424F70 3C1C0FC0 */ .cpload $t9 +/* 00424F74 279CAAE0 */ +/* 00424F78 0399E021 */ +/* 00424F7C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00424F80 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00424F84 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00424F88 AFB000AC */ sw $s0, 0xac($sp) +/* 00424F8C 90860019 */ lbu $a2, 0x19($a0) +/* 00424F90 00808025 */ move $s0, $a0 +/* 00424F94 24010048 */ li $at, 72 +/* 00424F98 00063600 */ sll $a2, $a2, 0x18 +/* 00424F9C 00063642 */ srl $a2, $a2, 0x19 +/* 00424FA0 14C10040 */ bne $a2, $at, .L004250A4 +/* 00424FA4 24040004 */ li $a0, 4 +/* 00424FA8 8F8E8038 */ lw $t6, %got(RO_10009E6C)($gp) +/* 00424FAC 24050568 */ li $a1, 1384 +/* 00424FB0 03A0C825 */ move $t9, $sp +/* 00424FB4 25CE9E6C */ addiu $t6, %lo(RO_10009E6C) # addiu $t6, $t6, -0x6194 +/* 00424FB8 25C80048 */ addiu $t0, $t6, 0x48 +.L00424FBC: +/* 00424FBC 89D80000 */ lwl $t8, ($t6) +/* 00424FC0 99D80003 */ lwr $t8, 3($t6) +/* 00424FC4 25CE000C */ addiu $t6, $t6, 0xc +/* 00424FC8 2739000C */ addiu $t9, $t9, 0xc +/* 00424FCC AB38FFFC */ swl $t8, -4($t9) +/* 00424FD0 BB38FFFF */ swr $t8, -1($t9) +/* 00424FD4 89CFFFF8 */ lwl $t7, -8($t6) +/* 00424FD8 99CFFFFB */ lwr $t7, -5($t6) +/* 00424FDC AB2F0000 */ swl $t7, ($t9) +/* 00424FE0 BB2F0003 */ swr $t7, 3($t9) +/* 00424FE4 89D8FFFC */ lwl $t8, -4($t6) +/* 00424FE8 99D8FFFF */ lwr $t8, -1($t6) +/* 00424FEC AB380004 */ swl $t8, 4($t9) +/* 00424FF0 15C8FFF2 */ bne $t6, $t0, .L00424FBC +/* 00424FF4 BB380007 */ swr $t8, 7($t9) +/* 00424FF8 89D80000 */ lwl $t8, ($t6) +/* 00424FFC 99D80003 */ lwr $t8, 3($t6) +/* 00425000 8F898038 */ lw $t1, %got(RO_10009E1C)($gp) +/* 00425004 03A06025 */ move $t4, $sp +/* 00425008 AB380008 */ swl $t8, 8($t9) +/* 0042500C BB38000B */ swr $t8, 0xb($t9) +/* 00425010 89CF0004 */ lwl $t7, 4($t6) +/* 00425014 99CF0007 */ lwr $t7, 7($t6) +/* 00425018 25299E1C */ addiu $t1, %lo(RO_10009E1C) # addiu $t1, $t1, -0x61e4 +/* 0042501C 252D0048 */ addiu $t5, $t1, 0x48 +/* 00425020 AB2F000C */ swl $t7, 0xc($t9) +/* 00425024 BB2F000F */ swr $t7, 0xf($t9) +.L00425028: +/* 00425028 892B0000 */ lwl $t3, ($t1) +/* 0042502C 992B0003 */ lwr $t3, 3($t1) +/* 00425030 2529000C */ addiu $t1, $t1, 0xc +/* 00425034 258C000C */ addiu $t4, $t4, 0xc +/* 00425038 A98B004C */ swl $t3, 0x4c($t4) +/* 0042503C B98B004F */ swr $t3, 0x4f($t4) +/* 00425040 892AFFF8 */ lwl $t2, -8($t1) +/* 00425044 992AFFFB */ lwr $t2, -5($t1) +/* 00425048 A98A0050 */ swl $t2, 0x50($t4) +/* 0042504C B98A0053 */ swr $t2, 0x53($t4) +/* 00425050 892BFFFC */ lwl $t3, -4($t1) +/* 00425054 992BFFFF */ lwr $t3, -1($t1) +/* 00425058 A98B0054 */ swl $t3, 0x54($t4) +/* 0042505C 152DFFF2 */ bne $t1, $t5, .L00425028 +/* 00425060 B98B0057 */ swr $t3, 0x57($t4) +/* 00425064 892B0000 */ lwl $t3, ($t1) +/* 00425068 992B0003 */ lwr $t3, 3($t1) +/* 0042506C A98B0058 */ swl $t3, 0x58($t4) +/* 00425070 B98B005B */ swr $t3, 0x5b($t4) +/* 00425074 892A0004 */ lwl $t2, 4($t1) +/* 00425078 992A0007 */ lwr $t2, 7($t1) +/* 0042507C A98A005C */ swl $t2, 0x5c($t4) +/* 00425080 B98A005F */ swr $t2, 0x5f($t4) +/* 00425084 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00425088 8FA7000C */ lw $a3, 0xc($sp) +/* 0042508C 8FA60008 */ lw $a2, 8($sp) +/* 00425090 0320F809 */ jalr $t9 +/* 00425094 00000000 */ nop +/* 00425098 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0042509C 10000023 */ b .L0042512C +/* 004250A0 24020048 */ li $v0, 72 +.L004250A4: +/* 004250A4 92080018 */ lbu $t0, 0x18($s0) +/* 004250A8 5100000A */ beql $t0, $zero, .L004250D4 +/* 004250AC 24CEFFE0 */ addiu $t6, $a2, -0x20 +/* 004250B0 8F998334 */ lw $t9, %call16(restore_from_temp)($gp) +/* 004250B4 02002025 */ move $a0, $s0 +/* 004250B8 0320F809 */ jalr $t9 +/* 004250BC 00000000 */ nop +/* 004250C0 92060019 */ lbu $a2, 0x19($s0) +/* 004250C4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004250C8 00063600 */ sll $a2, $a2, 0x18 +/* 004250CC 00063642 */ srl $a2, $a2, 0x19 +/* 004250D0 24CEFFE0 */ addiu $t6, $a2, -0x20 +.L004250D4: +/* 004250D4 2DD90020 */ sltiu $t9, $t6, 0x20 +/* 004250D8 00197823 */ negu $t7, $t9 +/* 004250DC 01CFC004 */ sllv $t8, $t7, $t6 +/* 004250E0 0701000A */ bgez $t8, .L0042510C +/* 004250E4 00C02025 */ move $a0, $a2 +/* 004250E8 920D0021 */ lbu $t5, 0x21($s0) +/* 004250EC 8F8C8898 */ lw $t4, %got(reg_kind_tab)($gp) +/* 004250F0 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 004250F4 31A9001F */ andi $t1, $t5, 0x1f +/* 004250F8 012C5021 */ addu $t2, $t1, $t4 +/* 004250FC 0320F809 */ jalr $t9 +/* 00425100 91450000 */ lbu $a1, ($t2) +/* 00425104 10000006 */ b .L00425120 +/* 00425108 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0042510C: +/* 0042510C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00425110 00C02025 */ move $a0, $a2 +/* 00425114 0320F809 */ jalr $t9 +/* 00425118 00000000 */ nop +/* 0042511C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425120: +/* 00425120 92020019 */ lbu $v0, 0x19($s0) +/* 00425124 00021600 */ sll $v0, $v0, 0x18 +/* 00425128 00021642 */ srl $v0, $v0, 0x19 +.L0042512C: +/* 0042512C 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00425130 8FB000AC */ lw $s0, 0xac($sp) +/* 00425134 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00425138 03E00008 */ jr $ra +/* 0042513C 00000000 */ nop + .type reg, @function + .size reg, .-reg + .end reg + +glabel binary_regs + .ent binary_regs + # 00425834 binary_flt_regs + # 00428A9C eval2 +/* 00425140 3C1C0FC0 */ .cpload $t9 +/* 00425144 279CA910 */ +/* 00425148 0399E021 */ +/* 0042514C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00425150 AFBF00BC */ sw $ra, 0xbc($sp) +/* 00425154 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 00425158 AFB100B4 */ sw $s1, 0xb4($sp) +/* 0042515C AFB000B0 */ sw $s0, 0xb0($sp) +/* 00425160 AFA600C8 */ sw $a2, 0xc8($sp) +/* 00425164 AFA700CC */ sw $a3, 0xcc($sp) +/* 00425168 908E0019 */ lbu $t6, 0x19($a0) +/* 0042516C 24010048 */ li $at, 72 +/* 00425170 00808025 */ move $s0, $a0 +/* 00425174 000E7E00 */ sll $t7, $t6, 0x18 +/* 00425178 000FC642 */ srl $t8, $t7, 0x19 +/* 0042517C 1701003F */ bne $t8, $at, .L0042527C +/* 00425180 00A08825 */ move $s1, $a1 +/* 00425184 8F998038 */ lw $t9, %got(RO_10009FAC)($gp) +/* 00425188 24040004 */ li $a0, 4 +/* 0042518C 24050580 */ li $a1, 1408 +/* 00425190 27399FAC */ addiu $t9, %lo(RO_10009FAC) # addiu $t9, $t9, -0x6054 +/* 00425194 272B0048 */ addiu $t3, $t9, 0x48 +/* 00425198 03A05025 */ move $t2, $sp +.L0042519C: +/* 0042519C 8B290000 */ lwl $t1, ($t9) +/* 004251A0 9B290003 */ lwr $t1, 3($t9) +/* 004251A4 2739000C */ addiu $t9, $t9, 0xc +/* 004251A8 254A000C */ addiu $t2, $t2, 0xc +/* 004251AC A949FFFC */ swl $t1, -4($t2) +/* 004251B0 B949FFFF */ swr $t1, -1($t2) +/* 004251B4 8B28FFF8 */ lwl $t0, -8($t9) +/* 004251B8 9B28FFFB */ lwr $t0, -5($t9) +/* 004251BC A9480000 */ swl $t0, ($t2) +/* 004251C0 B9480003 */ swr $t0, 3($t2) +/* 004251C4 8B29FFFC */ lwl $t1, -4($t9) +/* 004251C8 9B29FFFF */ lwr $t1, -1($t9) +/* 004251CC A9490004 */ swl $t1, 4($t2) +/* 004251D0 172BFFF2 */ bne $t9, $t3, .L0042519C +/* 004251D4 B9490007 */ swr $t1, 7($t2) +/* 004251D8 8B290000 */ lwl $t1, ($t9) +/* 004251DC 9B290003 */ lwr $t1, 3($t9) +/* 004251E0 8F8C8038 */ lw $t4, %got(RO_10009F5C)($gp) +/* 004251E4 03A07825 */ move $t7, $sp +/* 004251E8 A9490008 */ swl $t1, 8($t2) +/* 004251EC B949000B */ swr $t1, 0xb($t2) +/* 004251F0 8B280004 */ lwl $t0, 4($t9) +/* 004251F4 9B280007 */ lwr $t0, 7($t9) +/* 004251F8 258C9F5C */ addiu $t4, %lo(RO_10009F5C) # addiu $t4, $t4, -0x60a4 +/* 004251FC 25980048 */ addiu $t8, $t4, 0x48 +/* 00425200 A948000C */ swl $t0, 0xc($t2) +/* 00425204 B948000F */ swr $t0, 0xf($t2) +.L00425208: +/* 00425208 898E0000 */ lwl $t6, ($t4) +/* 0042520C 998E0003 */ lwr $t6, 3($t4) +/* 00425210 258C000C */ addiu $t4, $t4, 0xc +/* 00425214 25EF000C */ addiu $t7, $t7, 0xc +/* 00425218 A9EE004C */ swl $t6, 0x4c($t7) +/* 0042521C B9EE004F */ swr $t6, 0x4f($t7) +/* 00425220 898DFFF8 */ lwl $t5, -8($t4) +/* 00425224 998DFFFB */ lwr $t5, -5($t4) +/* 00425228 A9ED0050 */ swl $t5, 0x50($t7) +/* 0042522C B9ED0053 */ swr $t5, 0x53($t7) +/* 00425230 898EFFFC */ lwl $t6, -4($t4) +/* 00425234 998EFFFF */ lwr $t6, -1($t4) +/* 00425238 A9EE0054 */ swl $t6, 0x54($t7) +/* 0042523C 1598FFF2 */ bne $t4, $t8, .L00425208 +/* 00425240 B9EE0057 */ swr $t6, 0x57($t7) +/* 00425244 898E0000 */ lwl $t6, ($t4) +/* 00425248 998E0003 */ lwr $t6, 3($t4) +/* 0042524C A9EE0058 */ swl $t6, 0x58($t7) +/* 00425250 B9EE005B */ swr $t6, 0x5b($t7) +/* 00425254 898D0004 */ lwl $t5, 4($t4) +/* 00425258 998D0007 */ lwr $t5, 7($t4) +/* 0042525C A9ED005C */ swl $t5, 0x5c($t7) +/* 00425260 B9ED005F */ swr $t5, 0x5f($t7) +/* 00425264 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00425268 8FA7000C */ lw $a3, 0xc($sp) +/* 0042526C 8FA60008 */ lw $a2, 8($sp) +/* 00425270 0320F809 */ jalr $t9 +/* 00425274 00000000 */ nop +/* 00425278 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0042527C: +/* 0042527C 920B0018 */ lbu $t3, 0x18($s0) +/* 00425280 51600007 */ beql $t3, $zero, .L004252A0 +/* 00425284 92390019 */ lbu $t9, 0x19($s1) +/* 00425288 8F998334 */ lw $t9, %call16(restore_from_temp)($gp) +/* 0042528C 02002025 */ move $a0, $s0 +/* 00425290 0320F809 */ jalr $t9 +/* 00425294 00000000 */ nop +/* 00425298 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0042529C 92390019 */ lbu $t9, 0x19($s1) +.L004252A0: +/* 004252A0 24010048 */ li $at, 72 +/* 004252A4 24040004 */ li $a0, 4 +/* 004252A8 00195600 */ sll $t2, $t9, 0x18 +/* 004252AC 000A4642 */ srl $t0, $t2, 0x19 +/* 004252B0 5501003F */ bnel $t0, $at, .L004253B0 +/* 004252B4 922D0018 */ lbu $t5, 0x18($s1) +/* 004252B8 8F898038 */ lw $t1, %got(RO_10009F0C)($gp) +/* 004252BC 24050588 */ li $a1, 1416 +/* 004252C0 03A07825 */ move $t7, $sp +/* 004252C4 25299F0C */ addiu $t1, %lo(RO_10009F0C) # addiu $t1, $t1, -0x60f4 +/* 004252C8 252D0048 */ addiu $t5, $t1, 0x48 +.L004252CC: +/* 004252CC 892C0000 */ lwl $t4, ($t1) +/* 004252D0 992C0003 */ lwr $t4, 3($t1) +/* 004252D4 2529000C */ addiu $t1, $t1, 0xc +/* 004252D8 25EF000C */ addiu $t7, $t7, 0xc +/* 004252DC A9ECFFFC */ swl $t4, -4($t7) +/* 004252E0 B9ECFFFF */ swr $t4, -1($t7) +/* 004252E4 8938FFF8 */ lwl $t8, -8($t1) +/* 004252E8 9938FFFB */ lwr $t8, -5($t1) +/* 004252EC A9F80000 */ swl $t8, ($t7) +/* 004252F0 B9F80003 */ swr $t8, 3($t7) +/* 004252F4 892CFFFC */ lwl $t4, -4($t1) +/* 004252F8 992CFFFF */ lwr $t4, -1($t1) +/* 004252FC A9EC0004 */ swl $t4, 4($t7) +/* 00425300 152DFFF2 */ bne $t1, $t5, .L004252CC +/* 00425304 B9EC0007 */ swr $t4, 7($t7) +/* 00425308 892C0000 */ lwl $t4, ($t1) +/* 0042530C 992C0003 */ lwr $t4, 3($t1) +/* 00425310 8F8E8038 */ lw $t6, %got(RO_10009EBC)($gp) +/* 00425314 03A05025 */ move $t2, $sp +/* 00425318 A9EC0008 */ swl $t4, 8($t7) +/* 0042531C B9EC000B */ swr $t4, 0xb($t7) +/* 00425320 89380004 */ lwl $t8, 4($t1) +/* 00425324 99380007 */ lwr $t8, 7($t1) +/* 00425328 25CE9EBC */ addiu $t6, %lo(RO_10009EBC) # addiu $t6, $t6, -0x6144 +/* 0042532C 25C80048 */ addiu $t0, $t6, 0x48 +/* 00425330 A9F8000C */ swl $t8, 0xc($t7) +/* 00425334 B9F8000F */ swr $t8, 0xf($t7) +.L00425338: +/* 00425338 89D90000 */ lwl $t9, ($t6) +/* 0042533C 99D90003 */ lwr $t9, 3($t6) +/* 00425340 25CE000C */ addiu $t6, $t6, 0xc +/* 00425344 254A000C */ addiu $t2, $t2, 0xc +/* 00425348 A959004C */ swl $t9, 0x4c($t2) +/* 0042534C B959004F */ swr $t9, 0x4f($t2) +/* 00425350 89CBFFF8 */ lwl $t3, -8($t6) +/* 00425354 99CBFFFB */ lwr $t3, -5($t6) +/* 00425358 A94B0050 */ swl $t3, 0x50($t2) +/* 0042535C B94B0053 */ swr $t3, 0x53($t2) +/* 00425360 89D9FFFC */ lwl $t9, -4($t6) +/* 00425364 99D9FFFF */ lwr $t9, -1($t6) +/* 00425368 A9590054 */ swl $t9, 0x54($t2) +/* 0042536C 15C8FFF2 */ bne $t6, $t0, .L00425338 +/* 00425370 B9590057 */ swr $t9, 0x57($t2) +/* 00425374 89D90000 */ lwl $t9, ($t6) +/* 00425378 99D90003 */ lwr $t9, 3($t6) +/* 0042537C A9590058 */ swl $t9, 0x58($t2) +/* 00425380 B959005B */ swr $t9, 0x5b($t2) +/* 00425384 89CB0004 */ lwl $t3, 4($t6) +/* 00425388 99CB0007 */ lwr $t3, 7($t6) +/* 0042538C A94B005C */ swl $t3, 0x5c($t2) +/* 00425390 B94B005F */ swr $t3, 0x5f($t2) +/* 00425394 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00425398 8FA7000C */ lw $a3, 0xc($sp) +/* 0042539C 8FA60008 */ lw $a2, 8($sp) +/* 004253A0 0320F809 */ jalr $t9 +/* 004253A4 00000000 */ nop +/* 004253A8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004253AC 922D0018 */ lbu $t5, 0x18($s1) +.L004253B0: +/* 004253B0 51A00007 */ beql $t5, $zero, .L004253D0 +/* 004253B4 92040019 */ lbu $a0, 0x19($s0) +/* 004253B8 8F998334 */ lw $t9, %call16(restore_from_temp)($gp) +/* 004253BC 02202025 */ move $a0, $s1 +/* 004253C0 0320F809 */ jalr $t9 +/* 004253C4 00000000 */ nop +/* 004253C8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004253CC 92040019 */ lbu $a0, 0x19($s0) +.L004253D0: +/* 004253D0 00042600 */ sll $a0, $a0, 0x18 +/* 004253D4 00042642 */ srl $a0, $a0, 0x19 +/* 004253D8 2489FFE0 */ addiu $t1, $a0, -0x20 +/* 004253DC 2D2F0020 */ sltiu $t7, $t1, 0x20 +/* 004253E0 000FC023 */ negu $t8, $t7 +/* 004253E4 01386004 */ sllv $t4, $t8, $t1 +/* 004253E8 0581000A */ bgez $t4, .L00425414 +/* 004253EC 00000000 */ nop +/* 004253F0 92080021 */ lbu $t0, 0x21($s0) +/* 004253F4 8F8A8898 */ lw $t2, %got(reg_kind_tab)($gp) +/* 004253F8 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 004253FC 310E001F */ andi $t6, $t0, 0x1f +/* 00425400 01CA5821 */ addu $t3, $t6, $t2 +/* 00425404 0320F809 */ jalr $t9 +/* 00425408 91650000 */ lbu $a1, ($t3) +/* 0042540C 10000005 */ b .L00425424 +/* 00425410 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00425414: +/* 00425414 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00425418 0320F809 */ jalr $t9 +/* 0042541C 00000000 */ nop +/* 00425420 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00425424: +/* 00425424 92240019 */ lbu $a0, 0x19($s1) +/* 00425428 00042600 */ sll $a0, $a0, 0x18 +/* 0042542C 00042642 */ srl $a0, $a0, 0x19 +/* 00425430 2499FFE0 */ addiu $t9, $a0, -0x20 +/* 00425434 2F2D0020 */ sltiu $t5, $t9, 0x20 +/* 00425438 000D7823 */ negu $t7, $t5 +/* 0042543C 032FC004 */ sllv $t8, $t7, $t9 +/* 00425440 0701000A */ bgez $t8, .L0042546C +/* 00425444 00000000 */ nop +/* 00425448 92290021 */ lbu $t1, 0x21($s1) +/* 0042544C 8F888898 */ lw $t0, %got(reg_kind_tab)($gp) +/* 00425450 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00425454 312C001F */ andi $t4, $t1, 0x1f +/* 00425458 01887021 */ addu $t6, $t4, $t0 +/* 0042545C 0320F809 */ jalr $t9 +/* 00425460 91C50000 */ lbu $a1, ($t6) +/* 00425464 10000005 */ b .L0042547C +/* 00425468 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0042546C: +/* 0042546C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00425470 0320F809 */ jalr $t9 +/* 00425474 00000000 */ nop +/* 00425478 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0042547C: +/* 0042547C 920A0019 */ lbu $t2, 0x19($s0) +/* 00425480 8FAF00C8 */ lw $t7, 0xc8($sp) +/* 00425484 000A5E00 */ sll $t3, $t2, 0x18 +/* 00425488 000B6E42 */ srl $t5, $t3, 0x19 +/* 0042548C A1ED0000 */ sb $t5, ($t7) +/* 00425490 92390019 */ lbu $t9, 0x19($s1) +/* 00425494 8FAC00CC */ lw $t4, 0xcc($sp) +/* 00425498 0019C600 */ sll $t8, $t9, 0x18 +/* 0042549C 00184E42 */ srl $t1, $t8, 0x19 +/* 004254A0 A1890000 */ sb $t1, ($t4) +/* 004254A4 8FBF00BC */ lw $ra, 0xbc($sp) +/* 004254A8 8FB100B4 */ lw $s1, 0xb4($sp) +/* 004254AC 8FB000B0 */ lw $s0, 0xb0($sp) +/* 004254B0 03E00008 */ jr $ra +/* 004254B4 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type binary_regs, @function + .size binary_regs, .-binary_regs + .end binary_regs + +glabel flt_reg + .ent flt_reg + # 00423D28 jump + # 00424240 trap + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt +/* 004254B8 3C1C0FC0 */ .cpload $t9 +/* 004254BC 279CA598 */ +/* 004254C0 0399E021 */ +/* 004254C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004254C8 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004254CC AFBF002C */ sw $ra, 0x2c($sp) +/* 004254D0 AFB30020 */ sw $s3, 0x20($sp) +/* 004254D4 00809825 */ move $s3, $a0 +/* 004254D8 AFBC0028 */ sw $gp, 0x28($sp) +/* 004254DC AFB40024 */ sw $s4, 0x24($sp) +/* 004254E0 AFB2001C */ sw $s2, 0x1c($sp) +/* 004254E4 AFB10018 */ sw $s1, 0x18($sp) +/* 004254E8 0320F809 */ jalr $t9 +/* 004254EC AFB00014 */ sw $s0, 0x14($sp) +/* 004254F0 304300FF */ andi $v1, $v0, 0xff +/* 004254F4 2C610020 */ sltiu $at, $v1, 0x20 +/* 004254F8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004254FC 14200004 */ bnez $at, .L00425510 +/* 00425500 305400FF */ andi $s4, $v0, 0xff +/* 00425504 2C61003F */ sltiu $at, $v1, 0x3f +/* 00425508 54200052 */ bnel $at, $zero, .L00425654 +/* 0042550C 92620019 */ lbu $v0, 0x19($s3) +.L00425510: +/* 00425510 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 00425514 02602025 */ move $a0, $s3 +/* 00425518 0320F809 */ jalr $t9 +/* 0042551C 00000000 */ nop +/* 00425520 304E00FF */ andi $t6, $v0, 0xff +/* 00425524 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00425528 3C01000C */ lui $at, 0xc +/* 0042552C 34218000 */ ori $at, $at, 0x8000 +/* 00425530 000FC023 */ negu $t8, $t7 +/* 00425534 0301C824 */ and $t9, $t8, $at +/* 00425538 01D94004 */ sllv $t0, $t9, $t6 +/* 0042553C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425540 0501002A */ bgez $t0, .L004255EC +/* 00425544 305200FF */ andi $s2, $v0, 0xff +/* 00425548 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 0042554C 02802025 */ move $a0, $s4 +/* 00425550 0320F809 */ jalr $t9 +/* 00425554 00000000 */ nop +/* 00425558 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042555C 02602025 */ move $a0, $s3 +/* 00425560 24460001 */ addiu $a2, $v0, 1 +/* 00425564 8F898898 */ lw $t1, %got(reg_kind_tab)($gp) +/* 00425568 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0042556C 02498021 */ addu $s0, $s2, $t1 +/* 00425570 0320F809 */ jalr $t9 +/* 00425574 92050000 */ lbu $a1, ($s0) +/* 00425578 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042557C 305100FF */ andi $s1, $v0, 0xff +/* 00425580 304400FF */ andi $a0, $v0, 0xff +/* 00425584 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00425588 02802825 */ move $a1, $s4 +/* 0042558C 02403025 */ move $a2, $s2 +/* 00425590 0320F809 */ jalr $t9 +/* 00425594 00000000 */ nop +/* 00425598 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042559C 02802025 */ move $a0, $s4 +/* 004255A0 8F998518 */ lw $t9, %call16(force_free_reg)($gp) +/* 004255A4 0320F809 */ jalr $t9 +/* 004255A8 00000000 */ nop +/* 004255AC 8FBC0028 */ lw $gp, 0x28($sp) +/* 004255B0 02202025 */ move $a0, $s1 +/* 004255B4 92050000 */ lbu $a1, ($s0) +/* 004255B8 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 004255BC 0320F809 */ jalr $t9 +/* 004255C0 00000000 */ nop +/* 004255C4 92620019 */ lbu $v0, 0x19($s3) +/* 004255C8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004255CC 00025600 */ sll $t2, $v0, 0x18 +/* 004255D0 000A5E42 */ srl $t3, $t2, 0x19 +/* 004255D4 022B6026 */ xor $t4, $s1, $t3 +/* 004255D8 000C6E40 */ sll $t5, $t4, 0x19 +/* 004255DC 000D7E02 */ srl $t7, $t5, 0x18 +/* 004255E0 01E2C026 */ xor $t8, $t7, $v0 +/* 004255E4 1000001A */ b .L00425650 +/* 004255E8 A2780019 */ sb $t8, 0x19($s3) +.L004255EC: +/* 004255EC 8F998898 */ lw $t9, %got(reg_kind_tab)($gp) +/* 004255F0 02602025 */ move $a0, $s3 +/* 004255F4 24060001 */ li $a2, 1 +/* 004255F8 02598021 */ addu $s0, $s2, $t9 +/* 004255FC 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 00425600 92050000 */ lbu $a1, ($s0) +/* 00425604 0320F809 */ jalr $t9 +/* 00425608 00000000 */ nop +/* 0042560C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425610 305100FF */ andi $s1, $v0, 0xff +/* 00425614 304400FF */ andi $a0, $v0, 0xff +/* 00425618 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0042561C 02802825 */ move $a1, $s4 +/* 00425620 02403025 */ move $a2, $s2 +/* 00425624 0320F809 */ jalr $t9 +/* 00425628 00000000 */ nop +/* 0042562C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425630 02202025 */ move $a0, $s1 +/* 00425634 92050000 */ lbu $a1, ($s0) +/* 00425638 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 0042563C 0320F809 */ jalr $t9 +/* 00425640 00000000 */ nop +/* 00425644 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425648 10000004 */ b .L0042565C +/* 0042564C 02201025 */ move $v0, $s1 +.L00425650: +/* 00425650 92620019 */ lbu $v0, 0x19($s3) +.L00425654: +/* 00425654 00021600 */ sll $v0, $v0, 0x18 +/* 00425658 00021642 */ srl $v0, $v0, 0x19 +.L0042565C: +/* 0042565C 8FBF002C */ lw $ra, 0x2c($sp) +/* 00425660 8FB00014 */ lw $s0, 0x14($sp) +/* 00425664 8FB10018 */ lw $s1, 0x18($sp) +/* 00425668 8FB2001C */ lw $s2, 0x1c($sp) +/* 0042566C 8FB30020 */ lw $s3, 0x20($sp) +/* 00425670 8FB40024 */ lw $s4, 0x24($sp) +/* 00425674 03E00008 */ jr $ra +/* 00425678 27BD0030 */ addiu $sp, $sp, 0x30 + .type flt_reg, @function + .size flt_reg, .-flt_reg + .end flt_reg + + .type func_0042567C, @function +func_0042567C: + # 00425834 binary_flt_regs +/* 0042567C 3C1C0FC0 */ .cpload $t9 +/* 00425680 279CA3D4 */ +/* 00425684 0399E021 */ +/* 00425688 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0042568C AFB30020 */ sw $s3, 0x20($sp) +/* 00425690 30B300FF */ andi $s3, $a1, 0xff +/* 00425694 AFB40024 */ sw $s4, 0x24($sp) +/* 00425698 2E610020 */ sltiu $at, $s3, 0x20 +/* 0042569C 0080A025 */ move $s4, $a0 +/* 004256A0 AFBF002C */ sw $ra, 0x2c($sp) +/* 004256A4 AFBC0028 */ sw $gp, 0x28($sp) +/* 004256A8 AFB2001C */ sw $s2, 0x1c($sp) +/* 004256AC AFB10018 */ sw $s1, 0x18($sp) +/* 004256B0 AFB00014 */ sw $s0, 0x14($sp) +/* 004256B4 14200004 */ bnez $at, .L004256C8 +/* 004256B8 AFA50034 */ sw $a1, 0x34($sp) +/* 004256BC 2E61003F */ sltiu $at, $s3, 0x3f +/* 004256C0 54200052 */ bnel $at, $zero, .L0042580C +/* 004256C4 92820019 */ lbu $v0, 0x19($s4) +.L004256C8: +/* 004256C8 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 004256CC 02802025 */ move $a0, $s4 +/* 004256D0 0320F809 */ jalr $t9 +/* 004256D4 00000000 */ nop +/* 004256D8 304E00FF */ andi $t6, $v0, 0xff +/* 004256DC 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 004256E0 3C01000C */ lui $at, 0xc +/* 004256E4 34218000 */ ori $at, $at, 0x8000 +/* 004256E8 000FC023 */ negu $t8, $t7 +/* 004256EC 0301C824 */ and $t9, $t8, $at +/* 004256F0 01D94004 */ sllv $t0, $t9, $t6 +/* 004256F4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004256F8 0501002A */ bgez $t0, .L004257A4 +/* 004256FC 305200FF */ andi $s2, $v0, 0xff +/* 00425700 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 00425704 02602025 */ move $a0, $s3 +/* 00425708 0320F809 */ jalr $t9 +/* 0042570C 00000000 */ nop +/* 00425710 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425714 02802025 */ move $a0, $s4 +/* 00425718 24460001 */ addiu $a2, $v0, 1 +/* 0042571C 8F898898 */ lw $t1, %got(reg_kind_tab)($gp) +/* 00425720 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 00425724 02498021 */ addu $s0, $s2, $t1 +/* 00425728 0320F809 */ jalr $t9 +/* 0042572C 92050000 */ lbu $a1, ($s0) +/* 00425730 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425734 305100FF */ andi $s1, $v0, 0xff +/* 00425738 304400FF */ andi $a0, $v0, 0xff +/* 0042573C 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00425740 02602825 */ move $a1, $s3 +/* 00425744 02403025 */ move $a2, $s2 +/* 00425748 0320F809 */ jalr $t9 +/* 0042574C 00000000 */ nop +/* 00425750 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425754 02602025 */ move $a0, $s3 +/* 00425758 8F998518 */ lw $t9, %call16(force_free_reg)($gp) +/* 0042575C 0320F809 */ jalr $t9 +/* 00425760 00000000 */ nop +/* 00425764 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425768 02202025 */ move $a0, $s1 +/* 0042576C 92050000 */ lbu $a1, ($s0) +/* 00425770 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00425774 0320F809 */ jalr $t9 +/* 00425778 00000000 */ nop +/* 0042577C 92820019 */ lbu $v0, 0x19($s4) +/* 00425780 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425784 00025600 */ sll $t2, $v0, 0x18 +/* 00425788 000A5E42 */ srl $t3, $t2, 0x19 +/* 0042578C 022B6026 */ xor $t4, $s1, $t3 +/* 00425790 000C6E40 */ sll $t5, $t4, 0x19 +/* 00425794 000D7E02 */ srl $t7, $t5, 0x18 +/* 00425798 01E2C026 */ xor $t8, $t7, $v0 +/* 0042579C 1000001A */ b .L00425808 +/* 004257A0 A2980019 */ sb $t8, 0x19($s4) +.L004257A4: +/* 004257A4 8F998898 */ lw $t9, %got(reg_kind_tab)($gp) +/* 004257A8 02802025 */ move $a0, $s4 +/* 004257AC 24060001 */ li $a2, 1 +/* 004257B0 02598021 */ addu $s0, $s2, $t9 +/* 004257B4 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 004257B8 92050000 */ lbu $a1, ($s0) +/* 004257BC 0320F809 */ jalr $t9 +/* 004257C0 00000000 */ nop +/* 004257C4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004257C8 305100FF */ andi $s1, $v0, 0xff +/* 004257CC 304400FF */ andi $a0, $v0, 0xff +/* 004257D0 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004257D4 02602825 */ move $a1, $s3 +/* 004257D8 02403025 */ move $a2, $s2 +/* 004257DC 0320F809 */ jalr $t9 +/* 004257E0 00000000 */ nop +/* 004257E4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004257E8 02202025 */ move $a0, $s1 +/* 004257EC 92050000 */ lbu $a1, ($s0) +/* 004257F0 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 004257F4 0320F809 */ jalr $t9 +/* 004257F8 00000000 */ nop +/* 004257FC 8FBC0028 */ lw $gp, 0x28($sp) +/* 00425800 10000004 */ b .L00425814 +/* 00425804 02201025 */ move $v0, $s1 +.L00425808: +/* 00425808 92820019 */ lbu $v0, 0x19($s4) +.L0042580C: +/* 0042580C 00021600 */ sll $v0, $v0, 0x18 +/* 00425810 00021642 */ srl $v0, $v0, 0x19 +.L00425814: +/* 00425814 8FBF002C */ lw $ra, 0x2c($sp) +/* 00425818 8FB00014 */ lw $s0, 0x14($sp) +/* 0042581C 8FB10018 */ lw $s1, 0x18($sp) +/* 00425820 8FB2001C */ lw $s2, 0x1c($sp) +/* 00425824 8FB30020 */ lw $s3, 0x20($sp) +/* 00425828 8FB40024 */ lw $s4, 0x24($sp) +/* 0042582C 03E00008 */ jr $ra +/* 00425830 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel binary_flt_regs + .ent binary_flt_regs + # 00428A9C eval2 +/* 00425834 3C1C0FC0 */ .cpload $t9 +/* 00425838 279CA21C */ +/* 0042583C 0399E021 */ +/* 00425840 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00425844 8F99833C */ lw $t9, %call16(binary_regs)($gp) +/* 00425848 AFBF001C */ sw $ra, 0x1c($sp) +/* 0042584C AFA60030 */ sw $a2, 0x30($sp) +/* 00425850 AFA70034 */ sw $a3, 0x34($sp) +/* 00425854 AFBC0018 */ sw $gp, 0x18($sp) +/* 00425858 AFA40028 */ sw $a0, 0x28($sp) +/* 0042585C AFA5002C */ sw $a1, 0x2c($sp) +/* 00425860 27A70026 */ addiu $a3, $sp, 0x26 +/* 00425864 0320F809 */ jalr $t9 +/* 00425868 27A60027 */ addiu $a2, $sp, 0x27 +/* 0042586C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00425870 8FA40028 */ lw $a0, 0x28($sp) +/* 00425874 93A50027 */ lbu $a1, 0x27($sp) +/* 00425878 8F99801C */ lw $t9, %got(func_0042567C)($gp) +/* 0042587C 27A20028 */ addiu $v0, $sp, 0x28 +/* 00425880 2739567C */ addiu $t9, %lo(func_0042567C) # addiu $t9, $t9, 0x567c +/* 00425884 0320F809 */ jalr $t9 +/* 00425888 00000000 */ nop +/* 0042588C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00425890 8FAE0030 */ lw $t6, 0x30($sp) +/* 00425894 8F99801C */ lw $t9, %got(func_0042567C)($gp) +/* 00425898 A1C20000 */ sb $v0, ($t6) +/* 0042589C 93A50026 */ lbu $a1, 0x26($sp) +/* 004258A0 2739567C */ addiu $t9, %lo(func_0042567C) # addiu $t9, $t9, 0x567c +/* 004258A4 8FA4002C */ lw $a0, 0x2c($sp) +/* 004258A8 0320F809 */ jalr $t9 +/* 004258AC 27A20028 */ addiu $v0, $sp, 0x28 +/* 004258B0 8FAF0034 */ lw $t7, 0x34($sp) +/* 004258B4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004258B8 A1E20000 */ sb $v0, ($t7) +/* 004258BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004258C0 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004258C4 03E00008 */ jr $ra +/* 004258C8 00000000 */ nop + .type binary_flt_regs, @function + .size binary_flt_regs, .-binary_flt_regs + .end binary_flt_regs + +glabel get_dest + .ent get_dest + # 004285F0 eval_fp_cond + # 00428A9C eval2 + # 0042BDAC eval + # 00433070 load_fp_literal + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00434500 func_00434500 + # 00434618 func_00434618 + # 00434878 eval_flt_flt_cvt +/* 004258CC 3C1C0FC0 */ .cpload $t9 +/* 004258D0 279CA184 */ +/* 004258D4 0399E021 */ +/* 004258D8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004258DC 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 004258E0 AFBF0024 */ sw $ra, 0x24($sp) +/* 004258E4 AFB1001C */ sw $s1, 0x1c($sp) +/* 004258E8 AFB00018 */ sw $s0, 0x18($sp) +/* 004258EC 00808025 */ move $s0, $a0 +/* 004258F0 30B100FF */ andi $s1, $a1, 0xff +/* 004258F4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004258F8 0320F809 */ jalr $t9 +/* 004258FC AFA50034 */ sw $a1, 0x34($sp) +/* 00425900 24010048 */ li $at, 72 +/* 00425904 8FBC0020 */ lw $gp, 0x20($sp) +/* 00425908 1621001B */ bne $s1, $at, .L00425978 +/* 0042590C 304800FF */ andi $t0, $v0, 0xff +/* 00425910 304E00FF */ andi $t6, $v0, 0xff +/* 00425914 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00425918 3C01000C */ lui $at, 0xc +/* 0042591C 34218000 */ ori $at, $at, 0x8000 +/* 00425920 000FC023 */ negu $t8, $t7 +/* 00425924 0301C824 */ and $t9, $t8, $at +/* 00425928 01D94804 */ sllv $t1, $t9, $t6 +/* 0042592C 05200009 */ bltz $t1, .L00425954 +/* 00425930 02002025 */ move $a0, $s0 +/* 00425934 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00425938 02002025 */ move $a0, $s0 +/* 0042593C 96050014 */ lhu $a1, 0x14($s0) +/* 00425940 0320F809 */ jalr $t9 +/* 00425944 00000000 */ nop +/* 00425948 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042594C 10000046 */ b .L00425A68 +/* 00425950 305100FF */ andi $s1, $v0, 0xff +.L00425954: +/* 00425954 8F8A8898 */ lw $t2, %got(reg_kind_tab)($gp) +/* 00425958 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0042595C 96060014 */ lhu $a2, 0x14($s0) +/* 00425960 010A5821 */ addu $t3, $t0, $t2 +/* 00425964 0320F809 */ jalr $t9 +/* 00425968 91650000 */ lbu $a1, ($t3) +/* 0042596C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00425970 1000003D */ b .L00425A68 +/* 00425974 305100FF */ andi $s1, $v0, 0xff +.L00425978: +/* 00425978 262CFFE0 */ addiu $t4, $s1, -0x20 +/* 0042597C 2D8D0020 */ sltiu $t5, $t4, 0x20 +/* 00425980 000D7823 */ negu $t7, $t5 +/* 00425984 018FC004 */ sllv $t8, $t7, $t4 +/* 00425988 0701000C */ bgez $t8, .L004259BC +/* 0042598C 00000000 */ nop +/* 00425990 8F998898 */ lw $t9, %got(reg_kind_tab)($gp) +/* 00425994 02202025 */ move $a0, $s1 +/* 00425998 02002825 */ move $a1, $s0 +/* 0042599C 01197021 */ addu $t6, $t0, $t9 +/* 004259A0 8F9984E0 */ lw $t9, %call16(get_fp_reg)($gp) +/* 004259A4 91C60000 */ lbu $a2, ($t6) +/* 004259A8 24070001 */ li $a3, 1 +/* 004259AC 0320F809 */ jalr $t9 +/* 004259B0 00000000 */ nop +/* 004259B4 1000002C */ b .L00425A68 +/* 004259B8 8FBC0020 */ lw $gp, 0x20($sp) +.L004259BC: +/* 004259BC 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 004259C0 91290000 */ lbu $t1, ($t1) +/* 004259C4 15200022 */ bnez $t1, .L00425A50 +/* 004259C8 00000000 */ nop +/* 004259CC 92030021 */ lbu $v1, 0x21($s0) +/* 004259D0 3C010501 */ lui $at, 0x501 +/* 004259D4 304C00FF */ andi $t4, $v0, 0xff +/* 004259D8 3067001F */ andi $a3, $v1, 0x1f +/* 004259DC 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 004259E0 000A5823 */ negu $t3, $t2 +/* 004259E4 01616824 */ and $t5, $t3, $at +/* 004259E8 00ED7804 */ sllv $t7, $t5, $a3 +/* 004259EC 05E10018 */ bgez $t7, .L00425A50 +/* 004259F0 00000000 */ nop +/* 004259F4 11870016 */ beq $t4, $a3, .L00425A50 +/* 004259F8 0003C6C0 */ sll $t8, $v1, 0x1b +/* 004259FC 0018CEC2 */ srl $t9, $t8, 0x1b +/* 00425A00 01197026 */ xor $t6, $t0, $t9 +/* 00425A04 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 00425A08 31C9001F */ andi $t1, $t6, 0x1f +/* 00425A0C 01235026 */ xor $t2, $t1, $v1 +/* 00425A10 A3A7002D */ sb $a3, 0x2d($sp) +/* 00425A14 A20A0021 */ sb $t2, 0x21($s0) +/* 00425A18 02202025 */ move $a0, $s1 +/* 00425A1C 02002825 */ move $a1, $s0 +/* 00425A20 0320F809 */ jalr $t9 +/* 00425A24 24060001 */ li $a2, 1 +/* 00425A28 92030021 */ lbu $v1, 0x21($s0) +/* 00425A2C 93AB002D */ lbu $t3, 0x2d($sp) +/* 00425A30 8FBC0020 */ lw $gp, 0x20($sp) +/* 00425A34 00036EC0 */ sll $t5, $v1, 0x1b +/* 00425A38 000D7EC2 */ srl $t7, $t5, 0x1b +/* 00425A3C 016F6026 */ xor $t4, $t3, $t7 +/* 00425A40 3198001F */ andi $t8, $t4, 0x1f +/* 00425A44 0303C826 */ xor $t9, $t8, $v1 +/* 00425A48 10000007 */ b .L00425A68 +/* 00425A4C A2190021 */ sb $t9, 0x21($s0) +.L00425A50: +/* 00425A50 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 00425A54 02202025 */ move $a0, $s1 +/* 00425A58 02002825 */ move $a1, $s0 +/* 00425A5C 0320F809 */ jalr $t9 +/* 00425A60 24060001 */ li $a2, 1 +/* 00425A64 8FBC0020 */ lw $gp, 0x20($sp) +.L00425A68: +/* 00425A68 92030019 */ lbu $v1, 0x19($s0) +/* 00425A6C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00425A70 02201025 */ move $v0, $s1 +/* 00425A74 00037600 */ sll $t6, $v1, 0x18 +/* 00425A78 000E4E42 */ srl $t1, $t6, 0x19 +/* 00425A7C 02295026 */ xor $t2, $s1, $t1 +/* 00425A80 000A6E40 */ sll $t5, $t2, 0x19 +/* 00425A84 000D5E02 */ srl $t3, $t5, 0x18 +/* 00425A88 01637826 */ xor $t7, $t3, $v1 +/* 00425A8C A20F0019 */ sb $t7, 0x19($s0) +/* 00425A90 8FB00018 */ lw $s0, 0x18($sp) +/* 00425A94 8FB1001C */ lw $s1, 0x1c($sp) +/* 00425A98 03E00008 */ jr $ra +/* 00425A9C 27BD0030 */ addiu $sp, $sp, 0x30 + .type get_dest, @function + .size get_dest, .-get_dest + .end get_dest + +glabel move_to_dest + .ent move_to_dest + # 004254B8 flt_reg + # 0042567C func_0042567C + # 00426B44 func_00426B44 + # 00426C54 func_00426C54 + # 00427538 func_00427538 + # 00427BFC unaligned_loadstore_for_fp_word + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 004287AC eval_fp_min_max + # 0042A9A8 load_parm_vreg + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00434374 func_00434374 + # 00434430 func_00434430 + # 00434500 func_00434500 + # 00434618 func_00434618 + # 00434878 eval_flt_flt_cvt +/* 00425AA0 3C1C0FC0 */ .cpload $t9 +/* 00425AA4 279C9FB0 */ +/* 00425AA8 0399E021 */ +/* 00425AAC 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00425AB0 AFA500BC */ sw $a1, 0xbc($sp) +/* 00425AB4 93AE00BF */ lbu $t6, 0xbf($sp) +/* 00425AB8 308700FF */ andi $a3, $a0, 0xff +/* 00425ABC AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00425AC0 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00425AC4 AFA400B8 */ sw $a0, 0xb8($sp) +/* 00425AC8 10EE00A7 */ beq $a3, $t6, .L00425D68 +/* 00425ACC AFA600C0 */ sw $a2, 0xc0($sp) +/* 00425AD0 93AF00BF */ lbu $t7, 0xbf($sp) +/* 00425AD4 24E9FFE0 */ addiu $t1, $a3, -0x20 +/* 00425AD8 2D2A0020 */ sltiu $t2, $t1, 0x20 +/* 00425ADC 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00425AE0 0018C823 */ negu $t9, $t8 +/* 00425AE4 01F94004 */ sllv $t0, $t9, $t7 +/* 00425AE8 0501001A */ bgez $t0, .L00425B54 +/* 00425AEC 000A5823 */ negu $t3, $t2 +/* 00425AF0 012B6004 */ sllv $t4, $t3, $t1 +/* 00425AF4 05810017 */ bgez $t4, .L00425B54 +/* 00425AF8 2401000C */ li $at, 12 +/* 00425AFC 14C10002 */ bne $a2, $at, .L00425B08 +/* 00425B00 24040065 */ li $a0, 101 +/* 00425B04 240400E6 */ li $a0, 230 +.L00425B08: +/* 00425B08 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 00425B0C 24010001 */ li $at, 1 +/* 00425B10 2CCE0020 */ sltiu $t6, $a2, 0x20 +/* 00425B14 91AD0000 */ lbu $t5, ($t5) +/* 00425B18 000EC023 */ negu $t8, $t6 +/* 00425B1C 15A10006 */ bne $t5, $at, .L00425B38 +/* 00425B20 3C010501 */ lui $at, 0x501 +/* 00425B24 0301C824 */ and $t9, $t8, $at +/* 00425B28 00D97804 */ sllv $t7, $t9, $a2 +/* 00425B2C 05E10002 */ bgez $t7, .L00425B38 +/* 00425B30 00000000 */ nop +/* 00425B34 24040146 */ li $a0, 326 +.L00425B38: +/* 00425B38 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00425B3C 93A500BF */ lbu $a1, 0xbf($sp) +/* 00425B40 00E03025 */ move $a2, $a3 +/* 00425B44 0320F809 */ jalr $t9 +/* 00425B48 00000000 */ nop +/* 00425B4C 10000086 */ b .L00425D68 +/* 00425B50 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425B54: +/* 00425B54 93A200BF */ lbu $v0, 0xbf($sp) +/* 00425B58 2CE90020 */ sltiu $t1, $a3, 0x20 +/* 00425B5C 00096023 */ negu $t4, $t1 +/* 00425B60 2442FFE0 */ addiu $v0, $v0, -0x20 +/* 00425B64 2C480020 */ sltiu $t0, $v0, 0x20 +/* 00425B68 00085023 */ negu $t2, $t0 +/* 00425B6C 004A5804 */ sllv $t3, $t2, $v0 +/* 00425B70 05610019 */ bgez $t3, .L00425BD8 +/* 00425B74 00EC6804 */ sllv $t5, $t4, $a3 +/* 00425B78 05A10017 */ bgez $t5, .L00425BD8 +/* 00425B7C 2401000C */ li $at, 12 +/* 00425B80 14C10002 */ bne $a2, $at, .L00425B8C +/* 00425B84 24040061 */ li $a0, 97 +/* 00425B88 240400E7 */ li $a0, 231 +.L00425B8C: +/* 00425B8C 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 00425B90 24010001 */ li $at, 1 +/* 00425B94 2CD80020 */ sltiu $t8, $a2, 0x20 +/* 00425B98 91CE0000 */ lbu $t6, ($t6) +/* 00425B9C 0018C823 */ negu $t9, $t8 +/* 00425BA0 15C10006 */ bne $t6, $at, .L00425BBC +/* 00425BA4 3C010501 */ lui $at, 0x501 +/* 00425BA8 03217824 */ and $t7, $t9, $at +/* 00425BAC 00CF4004 */ sllv $t0, $t7, $a2 +/* 00425BB0 05010002 */ bgez $t0, .L00425BBC +/* 00425BB4 00000000 */ nop +/* 00425BB8 24040147 */ li $a0, 327 +.L00425BBC: +/* 00425BBC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00425BC0 00E02825 */ move $a1, $a3 +/* 00425BC4 93A600BF */ lbu $a2, 0xbf($sp) +/* 00425BC8 0320F809 */ jalr $t9 +/* 00425BCC 00000000 */ nop +/* 00425BD0 10000065 */ b .L00425D68 +/* 00425BD4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425BD8: +/* 00425BD8 2C4A0020 */ sltiu $t2, $v0, 0x20 +/* 00425BDC 000A5823 */ negu $t3, $t2 +/* 00425BE0 004B4804 */ sllv $t1, $t3, $v0 +/* 00425BE4 05210011 */ bgez $t1, .L00425C2C +/* 00425BE8 24ECFFE0 */ addiu $t4, $a3, -0x20 +/* 00425BEC 2D8D0020 */ sltiu $t5, $t4, 0x20 +/* 00425BF0 000D7023 */ negu $t6, $t5 +/* 00425BF4 018EC004 */ sllv $t8, $t6, $t4 +/* 00425BF8 0701000C */ bgez $t8, .L00425C2C +/* 00425BFC 2401000D */ li $at, 13 +/* 00425C00 14C10003 */ bne $a2, $at, .L00425C10 +/* 00425C04 2404008C */ li $a0, 140 +/* 00425C08 10000001 */ b .L00425C10 +/* 00425C0C 2404008B */ li $a0, 139 +.L00425C10: +/* 00425C10 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00425C14 00E02825 */ move $a1, $a3 +/* 00425C18 93A600BF */ lbu $a2, 0xbf($sp) +/* 00425C1C 0320F809 */ jalr $t9 +/* 00425C20 00000000 */ nop +/* 00425C24 10000050 */ b .L00425D68 +/* 00425C28 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425C2C: +/* 00425C2C 93B900BF */ lbu $t9, 0xbf($sp) +/* 00425C30 2CEB0020 */ sltiu $t3, $a3, 0x20 +/* 00425C34 000B4823 */ negu $t1, $t3 +/* 00425C38 2F2F0020 */ sltiu $t7, $t9, 0x20 +/* 00425C3C 000F4023 */ negu $t0, $t7 +/* 00425C40 03285004 */ sllv $t2, $t0, $t9 +/* 00425C44 0541000A */ bgez $t2, .L00425C70 +/* 00425C48 00E96804 */ sllv $t5, $t1, $a3 +/* 00425C4C 05A10008 */ bgez $t5, .L00425C70 +/* 00425C50 03203025 */ move $a2, $t9 +/* 00425C54 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00425C58 24040031 */ li $a0, 49 +/* 00425C5C 00E02825 */ move $a1, $a3 +/* 00425C60 0320F809 */ jalr $t9 +/* 00425C64 00000000 */ nop +/* 00425C68 1000003F */ b .L00425D68 +/* 00425C6C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425C70: +/* 00425C70 8F8E8038 */ lw $t6, %got(RO_1000A04C)($gp) +/* 00425C74 24040004 */ li $a0, 4 +/* 00425C78 2405063A */ li $a1, 1594 +/* 00425C7C 25CEA04C */ addiu $t6, %lo(RO_1000A04C) # addiu $t6, $t6, -0x5fb4 +/* 00425C80 25C80048 */ addiu $t0, $t6, 0x48 +/* 00425C84 03A07825 */ move $t7, $sp +.L00425C88: +/* 00425C88 89D80000 */ lwl $t8, ($t6) +/* 00425C8C 99D80003 */ lwr $t8, 3($t6) +/* 00425C90 25CE000C */ addiu $t6, $t6, 0xc +/* 00425C94 25EF000C */ addiu $t7, $t7, 0xc +/* 00425C98 A9F8FFFC */ swl $t8, -4($t7) +/* 00425C9C B9F8FFFF */ swr $t8, -1($t7) +/* 00425CA0 89CCFFF8 */ lwl $t4, -8($t6) +/* 00425CA4 99CCFFFB */ lwr $t4, -5($t6) +/* 00425CA8 A9EC0000 */ swl $t4, ($t7) +/* 00425CAC B9EC0003 */ swr $t4, 3($t7) +/* 00425CB0 89D8FFFC */ lwl $t8, -4($t6) +/* 00425CB4 99D8FFFF */ lwr $t8, -1($t6) +/* 00425CB8 A9F80004 */ swl $t8, 4($t7) +/* 00425CBC 15C8FFF2 */ bne $t6, $t0, .L00425C88 +/* 00425CC0 B9F80007 */ swr $t8, 7($t7) +/* 00425CC4 89D80000 */ lwl $t8, ($t6) +/* 00425CC8 99D80003 */ lwr $t8, 3($t6) +/* 00425CCC 8F8A8038 */ lw $t2, %got(RO_10009FFC)($gp) +/* 00425CD0 03A06825 */ move $t5, $sp +/* 00425CD4 A9F80008 */ swl $t8, 8($t7) +/* 00425CD8 B9F8000B */ swr $t8, 0xb($t7) +/* 00425CDC 89CC0004 */ lwl $t4, 4($t6) +/* 00425CE0 99CC0007 */ lwr $t4, 7($t6) +/* 00425CE4 254A9FFC */ addiu $t2, %lo(RO_10009FFC) # addiu $t2, $t2, -0x6004 +/* 00425CE8 25590048 */ addiu $t9, $t2, 0x48 +/* 00425CEC A9EC000C */ swl $t4, 0xc($t7) +/* 00425CF0 B9EC000F */ swr $t4, 0xf($t7) +.L00425CF4: +/* 00425CF4 89490000 */ lwl $t1, ($t2) +/* 00425CF8 99490003 */ lwr $t1, 3($t2) +/* 00425CFC 254A000C */ addiu $t2, $t2, 0xc +/* 00425D00 25AD000C */ addiu $t5, $t5, 0xc +/* 00425D04 A9A9004C */ swl $t1, 0x4c($t5) +/* 00425D08 B9A9004F */ swr $t1, 0x4f($t5) +/* 00425D0C 894BFFF8 */ lwl $t3, -8($t2) +/* 00425D10 994BFFFB */ lwr $t3, -5($t2) +/* 00425D14 A9AB0050 */ swl $t3, 0x50($t5) +/* 00425D18 B9AB0053 */ swr $t3, 0x53($t5) +/* 00425D1C 8949FFFC */ lwl $t1, -4($t2) +/* 00425D20 9949FFFF */ lwr $t1, -1($t2) +/* 00425D24 A9A90054 */ swl $t1, 0x54($t5) +/* 00425D28 1559FFF2 */ bne $t2, $t9, .L00425CF4 +/* 00425D2C B9A90057 */ swr $t1, 0x57($t5) +/* 00425D30 89490000 */ lwl $t1, ($t2) +/* 00425D34 99490003 */ lwr $t1, 3($t2) +/* 00425D38 A9A90058 */ swl $t1, 0x58($t5) +/* 00425D3C B9A9005B */ swr $t1, 0x5b($t5) +/* 00425D40 894B0004 */ lwl $t3, 4($t2) +/* 00425D44 994B0007 */ lwr $t3, 7($t2) +/* 00425D48 A9AB005C */ swl $t3, 0x5c($t5) +/* 00425D4C B9AB005F */ swr $t3, 0x5f($t5) +/* 00425D50 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00425D54 8FA7000C */ lw $a3, 0xc($sp) +/* 00425D58 8FA60008 */ lw $a2, 8($sp) +/* 00425D5C 0320F809 */ jalr $t9 +/* 00425D60 00000000 */ nop +/* 00425D64 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00425D68: +/* 00425D68 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00425D6C 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00425D70 03E00008 */ jr $ra +/* 00425D74 00000000 */ nop + .type move_to_dest, @function + .size move_to_dest, .-move_to_dest + .end move_to_dest + +glabel lsopc + .ent lsopc + # 0042A9A8 load_parm_vreg + # 0042BDAC eval +/* 00425D78 3C1C0FC0 */ .cpload $t9 +/* 00425D7C 279C9CD8 */ +/* 00425D80 0399E021 */ +/* 00425D84 24CEFFE0 */ addiu $t6, $a2, -0x20 +/* 00425D88 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00425D8C 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00425D90 000FC023 */ negu $t8, $t7 +/* 00425D94 AFB000AC */ sw $s0, 0xac($sp) +/* 00425D98 01D8C804 */ sllv $t9, $t8, $t6 +/* 00425D9C 00808025 */ move $s0, $a0 +/* 00425DA0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00425DA4 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00425DA8 07210054 */ bgez $t9, .L00425EFC +/* 00425DAC AFA600C8 */ sw $a2, 0xc8($sp) +/* 00425DB0 8CA20028 */ lw $v0, 0x28($a1) +/* 00425DB4 28410005 */ slti $at, $v0, 5 +/* 00425DB8 50200008 */ beql $at, $zero, .L00425DDC +/* 00425DBC 28410009 */ slti $at, $v0, 9 +/* 00425DC0 90A80021 */ lbu $t0, 0x21($a1) +/* 00425DC4 240A000D */ li $t2, 13 +/* 00425DC8 3109001F */ andi $t1, $t0, 0x1f +/* 00425DCC 012A02B6 */ tne $t1, $t2, 0xa +/* 00425DD0 10000249 */ b .L004266F8 +/* 00425DD4 9603000E */ lhu $v1, 0xe($s0) +/* 00425DD8 28410009 */ slti $at, $v0, 9 +.L00425DDC: +/* 00425DDC 10200007 */ beqz $at, .L00425DFC +/* 00425DE0 00000000 */ nop +/* 00425DE4 90AB0021 */ lbu $t3, 0x21($a1) +/* 00425DE8 240D000C */ li $t5, 12 +/* 00425DEC 316C001F */ andi $t4, $t3, 0x1f +/* 00425DF0 018D02B6 */ tne $t4, $t5, 0xa +/* 00425DF4 10000240 */ b .L004266F8 +/* 00425DF8 96030010 */ lhu $v1, 0x10($s0) +.L00425DFC: +/* 00425DFC 8F8F8038 */ lw $t7, %got(RO_1000A4AC)($gp) +/* 00425E00 24040004 */ li $a0, 4 +/* 00425E04 2405064E */ li $a1, 1614 +/* 00425E08 25EFA4AC */ addiu $t7, %lo(RO_1000A4AC) # addiu $t7, $t7, -0x5b54 +/* 00425E0C 25E80048 */ addiu $t0, $t7, 0x48 +/* 00425E10 03A0C825 */ move $t9, $sp +.L00425E14: +/* 00425E14 89EE0000 */ lwl $t6, ($t7) +/* 00425E18 99EE0003 */ lwr $t6, 3($t7) +/* 00425E1C 25EF000C */ addiu $t7, $t7, 0xc +/* 00425E20 2739000C */ addiu $t9, $t9, 0xc +/* 00425E24 AB2EFFFC */ swl $t6, -4($t9) +/* 00425E28 BB2EFFFF */ swr $t6, -1($t9) +/* 00425E2C 89F8FFF8 */ lwl $t8, -8($t7) +/* 00425E30 99F8FFFB */ lwr $t8, -5($t7) +/* 00425E34 AB380000 */ swl $t8, ($t9) +/* 00425E38 BB380003 */ swr $t8, 3($t9) +/* 00425E3C 89EEFFFC */ lwl $t6, -4($t7) +/* 00425E40 99EEFFFF */ lwr $t6, -1($t7) +/* 00425E44 AB2E0004 */ swl $t6, 4($t9) +/* 00425E48 15E8FFF2 */ bne $t7, $t0, .L00425E14 +/* 00425E4C BB2E0007 */ swr $t6, 7($t9) +/* 00425E50 89EE0000 */ lwl $t6, ($t7) +/* 00425E54 99EE0003 */ lwr $t6, 3($t7) +/* 00425E58 8F898038 */ lw $t1, %got(RO_1000A45C)($gp) +/* 00425E5C 03A06025 */ move $t4, $sp +/* 00425E60 AB2E0008 */ swl $t6, 8($t9) +/* 00425E64 BB2E000B */ swr $t6, 0xb($t9) +/* 00425E68 89F80004 */ lwl $t8, 4($t7) +/* 00425E6C 99F80007 */ lwr $t8, 7($t7) +/* 00425E70 2529A45C */ addiu $t1, %lo(RO_1000A45C) # addiu $t1, $t1, -0x5ba4 +/* 00425E74 252D0048 */ addiu $t5, $t1, 0x48 +/* 00425E78 AB38000C */ swl $t8, 0xc($t9) +/* 00425E7C BB38000F */ swr $t8, 0xf($t9) +.L00425E80: +/* 00425E80 892B0000 */ lwl $t3, ($t1) +/* 00425E84 992B0003 */ lwr $t3, 3($t1) +/* 00425E88 2529000C */ addiu $t1, $t1, 0xc +/* 00425E8C 258C000C */ addiu $t4, $t4, 0xc +/* 00425E90 A98B004C */ swl $t3, 0x4c($t4) +/* 00425E94 B98B004F */ swr $t3, 0x4f($t4) +/* 00425E98 892AFFF8 */ lwl $t2, -8($t1) +/* 00425E9C 992AFFFB */ lwr $t2, -5($t1) +/* 00425EA0 A98A0050 */ swl $t2, 0x50($t4) +/* 00425EA4 B98A0053 */ swr $t2, 0x53($t4) +/* 00425EA8 892BFFFC */ lwl $t3, -4($t1) +/* 00425EAC 992BFFFF */ lwr $t3, -1($t1) +/* 00425EB0 A98B0054 */ swl $t3, 0x54($t4) +/* 00425EB4 152DFFF2 */ bne $t1, $t5, .L00425E80 +/* 00425EB8 B98B0057 */ swr $t3, 0x57($t4) +/* 00425EBC 892B0000 */ lwl $t3, ($t1) +/* 00425EC0 992B0003 */ lwr $t3, 3($t1) +/* 00425EC4 A98B0058 */ swl $t3, 0x58($t4) +/* 00425EC8 B98B005B */ swr $t3, 0x5b($t4) +/* 00425ECC 892A0004 */ lwl $t2, 4($t1) +/* 00425ED0 992A0007 */ lwr $t2, 7($t1) +/* 00425ED4 A98A005C */ swl $t2, 0x5c($t4) +/* 00425ED8 B98A005F */ swr $t2, 0x5f($t4) +/* 00425EDC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00425EE0 8FA7000C */ lw $a3, 0xc($sp) +/* 00425EE4 8FA60008 */ lw $a2, 8($sp) +/* 00425EE8 0320F809 */ jalr $t9 +/* 00425EEC 00000000 */ nop +/* 00425EF0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00425EF4 10000200 */ b .L004266F8 +/* 00425EF8 97A300BE */ lhu $v1, 0xbe($sp) +.L00425EFC: +/* 00425EFC 90A20021 */ lbu $v0, 0x21($a1) +/* 00425F00 3042001F */ andi $v0, $v0, 0x1f +/* 00425F04 304200FF */ andi $v0, $v0, 0xff +/* 00425F08 2C410010 */ sltiu $at, $v0, 0x10 +/* 00425F0C 102001BB */ beqz $at, .L004265FC +/* 00425F10 00000000 */ nop +/* 00425F14 8F818038 */ lw $at, %got(jtbl_1000A4FC)($gp) +/* 00425F18 00024080 */ sll $t0, $v0, 2 +/* 00425F1C 00280821 */ addu $at, $at, $t0 +/* 00425F20 8C28A4FC */ lw $t0, %lo(jtbl_1000A4FC)($at) +/* 00425F24 011C4021 */ addu $t0, $t0, $gp +/* 00425F28 01000008 */ jr $t0 +/* 00425F2C 00000000 */ nop +.L00425F30: +/* 00425F30 8CA20028 */ lw $v0, 0x28($a1) +/* 00425F34 24010004 */ li $at, 4 +/* 00425F38 54410004 */ bnel $v0, $at, .L00425F4C +/* 00425F3C 24010001 */ li $at, 1 +/* 00425F40 100001ED */ b .L004266F8 +/* 00425F44 96030008 */ lhu $v1, 8($s0) +/* 00425F48 24010001 */ li $at, 1 +.L00425F4C: +/* 00425F4C 54410004 */ bnel $v0, $at, .L00425F60 +/* 00425F50 24010002 */ li $at, 2 +/* 00425F54 100001E8 */ b .L004266F8 +/* 00425F58 96030000 */ lhu $v1, ($s0) +/* 00425F5C 24010002 */ li $at, 2 +.L00425F60: +/* 00425F60 14410003 */ bne $v0, $at, .L00425F70 +/* 00425F64 24040004 */ li $a0, 4 +/* 00425F68 100001E3 */ b .L004266F8 +/* 00425F6C 96030004 */ lhu $v1, 4($s0) +.L00425F70: +/* 00425F70 8F8F8038 */ lw $t7, %got(RO_1000A40C)($gp) +/* 00425F74 2405065E */ li $a1, 1630 +/* 00425F78 03A07025 */ move $t6, $sp +/* 00425F7C 25EFA40C */ addiu $t7, %lo(RO_1000A40C) # addiu $t7, $t7, -0x5bf4 +/* 00425F80 25ED0048 */ addiu $t5, $t7, 0x48 +.L00425F84: +/* 00425F84 89F80000 */ lwl $t8, ($t7) +/* 00425F88 99F80003 */ lwr $t8, 3($t7) +/* 00425F8C 25EF000C */ addiu $t7, $t7, 0xc +/* 00425F90 25CE000C */ addiu $t6, $t6, 0xc +/* 00425F94 A9D8FFFC */ swl $t8, -4($t6) +/* 00425F98 B9D8FFFF */ swr $t8, -1($t6) +/* 00425F9C 89F9FFF8 */ lwl $t9, -8($t7) +/* 00425FA0 99F9FFFB */ lwr $t9, -5($t7) +/* 00425FA4 A9D90000 */ swl $t9, ($t6) +/* 00425FA8 B9D90003 */ swr $t9, 3($t6) +/* 00425FAC 89F8FFFC */ lwl $t8, -4($t7) +/* 00425FB0 99F8FFFF */ lwr $t8, -1($t7) +/* 00425FB4 A9D80004 */ swl $t8, 4($t6) +/* 00425FB8 15EDFFF2 */ bne $t7, $t5, .L00425F84 +/* 00425FBC B9D80007 */ swr $t8, 7($t6) +/* 00425FC0 89F80000 */ lwl $t8, ($t7) +/* 00425FC4 99F80003 */ lwr $t8, 3($t7) +/* 00425FC8 8F898038 */ lw $t1, %got(RO_1000A3BC)($gp) +/* 00425FCC 03A05825 */ move $t3, $sp +/* 00425FD0 A9D80008 */ swl $t8, 8($t6) +/* 00425FD4 B9D8000B */ swr $t8, 0xb($t6) +/* 00425FD8 89F90004 */ lwl $t9, 4($t7) +/* 00425FDC 99F90007 */ lwr $t9, 7($t7) +/* 00425FE0 2529A3BC */ addiu $t1, %lo(RO_1000A3BC) # addiu $t1, $t1, -0x5c44 +/* 00425FE4 25280048 */ addiu $t0, $t1, 0x48 +/* 00425FE8 A9D9000C */ swl $t9, 0xc($t6) +/* 00425FEC B9D9000F */ swr $t9, 0xf($t6) +.L00425FF0: +/* 00425FF0 892A0000 */ lwl $t2, ($t1) +/* 00425FF4 992A0003 */ lwr $t2, 3($t1) +/* 00425FF8 2529000C */ addiu $t1, $t1, 0xc +/* 00425FFC 256B000C */ addiu $t3, $t3, 0xc +/* 00426000 A96A004C */ swl $t2, 0x4c($t3) +/* 00426004 B96A004F */ swr $t2, 0x4f($t3) +/* 00426008 892CFFF8 */ lwl $t4, -8($t1) +/* 0042600C 992CFFFB */ lwr $t4, -5($t1) +/* 00426010 A96C0050 */ swl $t4, 0x50($t3) +/* 00426014 B96C0053 */ swr $t4, 0x53($t3) +/* 00426018 892AFFFC */ lwl $t2, -4($t1) +/* 0042601C 992AFFFF */ lwr $t2, -1($t1) +/* 00426020 A96A0054 */ swl $t2, 0x54($t3) +/* 00426024 1528FFF2 */ bne $t1, $t0, .L00425FF0 +/* 00426028 B96A0057 */ swr $t2, 0x57($t3) +/* 0042602C 892A0000 */ lwl $t2, ($t1) +/* 00426030 992A0003 */ lwr $t2, 3($t1) +/* 00426034 A96A0058 */ swl $t2, 0x58($t3) +/* 00426038 B96A005B */ swr $t2, 0x5b($t3) +/* 0042603C 892C0004 */ lwl $t4, 4($t1) +/* 00426040 992C0007 */ lwr $t4, 7($t1) +/* 00426044 A96C005C */ swl $t4, 0x5c($t3) +/* 00426048 B96C005F */ swr $t4, 0x5f($t3) +/* 0042604C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00426050 8FA7000C */ lw $a3, 0xc($sp) +/* 00426054 8FA60008 */ lw $a2, 8($sp) +/* 00426058 0320F809 */ jalr $t9 +/* 0042605C 00000000 */ nop +/* 00426060 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426064 100001A4 */ b .L004266F8 +/* 00426068 97A300BE */ lhu $v1, 0xbe($sp) +.L0042606C: +/* 0042606C 8CA20028 */ lw $v0, 0x28($a1) +/* 00426070 24010004 */ li $at, 4 +/* 00426074 5441000B */ bnel $v0, $at, .L004260A4 +/* 00426078 24010001 */ li $at, 1 +/* 0042607C 8F8D89B8 */ lw $t5, %got(isa)($gp) +/* 00426080 91AD0000 */ lbu $t5, ($t5) +/* 00426084 2DA10002 */ sltiu $at, $t5, 2 +/* 00426088 14200003 */ bnez $at, .L00426098 +/* 0042608C 00000000 */ nop +/* 00426090 10000199 */ b .L004266F8 +/* 00426094 9603000A */ lhu $v1, 0xa($s0) +.L00426098: +/* 00426098 10000197 */ b .L004266F8 +/* 0042609C 96030008 */ lhu $v1, 8($s0) +/* 004260A0 24010001 */ li $at, 1 +.L004260A4: +/* 004260A4 54410004 */ bnel $v0, $at, .L004260B8 +/* 004260A8 24010002 */ li $at, 2 +/* 004260AC 10000192 */ b .L004266F8 +/* 004260B0 96030002 */ lhu $v1, 2($s0) +/* 004260B4 24010002 */ li $at, 2 +.L004260B8: +/* 004260B8 14410003 */ bne $v0, $at, .L004260C8 +/* 004260BC 24040004 */ li $a0, 4 +/* 004260C0 1000018D */ b .L004266F8 +/* 004260C4 96030006 */ lhu $v1, 6($s0) +.L004260C8: +/* 004260C8 8F8F8038 */ lw $t7, %got(RO_1000A36C)($gp) +/* 004260CC 2405066F */ li $a1, 1647 +/* 004260D0 03A0C025 */ move $t8, $sp +/* 004260D4 25EFA36C */ addiu $t7, %lo(RO_1000A36C) # addiu $t7, $t7, -0x5c94 +/* 004260D8 25E80048 */ addiu $t0, $t7, 0x48 +.L004260DC: +/* 004260DC 89F90000 */ lwl $t9, ($t7) +/* 004260E0 99F90003 */ lwr $t9, 3($t7) +/* 004260E4 25EF000C */ addiu $t7, $t7, 0xc +/* 004260E8 2718000C */ addiu $t8, $t8, 0xc +/* 004260EC AB19FFFC */ swl $t9, -4($t8) +/* 004260F0 BB19FFFF */ swr $t9, -1($t8) +/* 004260F4 89EEFFF8 */ lwl $t6, -8($t7) +/* 004260F8 99EEFFFB */ lwr $t6, -5($t7) +/* 004260FC AB0E0000 */ swl $t6, ($t8) +/* 00426100 BB0E0003 */ swr $t6, 3($t8) +/* 00426104 89F9FFFC */ lwl $t9, -4($t7) +/* 00426108 99F9FFFF */ lwr $t9, -1($t7) +/* 0042610C AB190004 */ swl $t9, 4($t8) +/* 00426110 15E8FFF2 */ bne $t7, $t0, .L004260DC +/* 00426114 BB190007 */ swr $t9, 7($t8) +/* 00426118 89F90000 */ lwl $t9, ($t7) +/* 0042611C 99F90003 */ lwr $t9, 3($t7) +/* 00426120 8F898038 */ lw $t1, %got(RO_1000A31C)($gp) +/* 00426124 03A05025 */ move $t2, $sp +/* 00426128 AB190008 */ swl $t9, 8($t8) +/* 0042612C BB19000B */ swr $t9, 0xb($t8) +/* 00426130 89EE0004 */ lwl $t6, 4($t7) +/* 00426134 99EE0007 */ lwr $t6, 7($t7) +/* 00426138 2529A31C */ addiu $t1, %lo(RO_1000A31C) # addiu $t1, $t1, -0x5ce4 +/* 0042613C 252D0048 */ addiu $t5, $t1, 0x48 +/* 00426140 AB0E000C */ swl $t6, 0xc($t8) +/* 00426144 BB0E000F */ swr $t6, 0xf($t8) +.L00426148: +/* 00426148 892C0000 */ lwl $t4, ($t1) +/* 0042614C 992C0003 */ lwr $t4, 3($t1) +/* 00426150 2529000C */ addiu $t1, $t1, 0xc +/* 00426154 254A000C */ addiu $t2, $t2, 0xc +/* 00426158 A94C004C */ swl $t4, 0x4c($t2) +/* 0042615C B94C004F */ swr $t4, 0x4f($t2) +/* 00426160 892BFFF8 */ lwl $t3, -8($t1) +/* 00426164 992BFFFB */ lwr $t3, -5($t1) +/* 00426168 A94B0050 */ swl $t3, 0x50($t2) +/* 0042616C B94B0053 */ swr $t3, 0x53($t2) +/* 00426170 892CFFFC */ lwl $t4, -4($t1) +/* 00426174 992CFFFF */ lwr $t4, -1($t1) +/* 00426178 A94C0054 */ swl $t4, 0x54($t2) +/* 0042617C 152DFFF2 */ bne $t1, $t5, .L00426148 +/* 00426180 B94C0057 */ swr $t4, 0x57($t2) +/* 00426184 892C0000 */ lwl $t4, ($t1) +/* 00426188 992C0003 */ lwr $t4, 3($t1) +/* 0042618C A94C0058 */ swl $t4, 0x58($t2) +/* 00426190 B94C005B */ swr $t4, 0x5b($t2) +/* 00426194 892B0004 */ lwl $t3, 4($t1) +/* 00426198 992B0007 */ lwr $t3, 7($t1) +/* 0042619C A94B005C */ swl $t3, 0x5c($t2) +/* 004261A0 B94B005F */ swr $t3, 0x5f($t2) +/* 004261A4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004261A8 8FA7000C */ lw $a3, 0xc($sp) +/* 004261AC 8FA60008 */ lw $a2, 8($sp) +/* 004261B0 0320F809 */ jalr $t9 +/* 004261B4 00000000 */ nop +/* 004261B8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004261BC 1000014E */ b .L004266F8 +/* 004261C0 97A300BE */ lhu $v1, 0xbe($sp) +.L004261C4: +/* 004261C4 8CA20028 */ lw $v0, 0x28($a1) +/* 004261C8 24010004 */ li $at, 4 +/* 004261CC 54410004 */ bnel $v0, $at, .L004261E0 +/* 004261D0 24010001 */ li $at, 1 +/* 004261D4 10000148 */ b .L004266F8 +/* 004261D8 96030008 */ lhu $v1, 8($s0) +/* 004261DC 24010001 */ li $at, 1 +.L004261E0: +/* 004261E0 54410004 */ bnel $v0, $at, .L004261F4 +/* 004261E4 24010002 */ li $at, 2 +/* 004261E8 10000143 */ b .L004266F8 +/* 004261EC 96030000 */ lhu $v1, ($s0) +/* 004261F0 24010002 */ li $at, 2 +.L004261F4: +/* 004261F4 54410004 */ bnel $v0, $at, .L00426208 +/* 004261F8 24010008 */ li $at, 8 +/* 004261FC 1000013E */ b .L004266F8 +/* 00426200 96030004 */ lhu $v1, 4($s0) +/* 00426204 24010008 */ li $at, 8 +.L00426208: +/* 00426208 14410003 */ bne $v0, $at, .L00426218 +/* 0042620C 24040004 */ li $a0, 4 +/* 00426210 10000139 */ b .L004266F8 +/* 00426214 9603000C */ lhu $v1, 0xc($s0) +.L00426218: +/* 00426218 8F888038 */ lw $t0, %got(RO_1000A2CC)($gp) +/* 0042621C 2405067B */ li $a1, 1659 +/* 00426220 03A07025 */ move $t6, $sp +/* 00426224 2508A2CC */ addiu $t0, %lo(RO_1000A2CC) # addiu $t0, $t0, -0x5d34 +/* 00426228 25190048 */ addiu $t9, $t0, 0x48 +.L0042622C: +/* 0042622C 89180000 */ lwl $t8, ($t0) +/* 00426230 99180003 */ lwr $t8, 3($t0) +/* 00426234 2508000C */ addiu $t0, $t0, 0xc +/* 00426238 25CE000C */ addiu $t6, $t6, 0xc +/* 0042623C A9D8FFFC */ swl $t8, -4($t6) +/* 00426240 B9D8FFFF */ swr $t8, -1($t6) +/* 00426244 890FFFF8 */ lwl $t7, -8($t0) +/* 00426248 990FFFFB */ lwr $t7, -5($t0) +/* 0042624C A9CF0000 */ swl $t7, ($t6) +/* 00426250 B9CF0003 */ swr $t7, 3($t6) +/* 00426254 8918FFFC */ lwl $t8, -4($t0) +/* 00426258 9918FFFF */ lwr $t8, -1($t0) +/* 0042625C A9D80004 */ swl $t8, 4($t6) +/* 00426260 1519FFF2 */ bne $t0, $t9, .L0042622C +/* 00426264 B9D80007 */ swr $t8, 7($t6) +/* 00426268 89180000 */ lwl $t8, ($t0) +/* 0042626C 99180003 */ lwr $t8, 3($t0) +/* 00426270 8F8D8038 */ lw $t5, %got(RO_1000A27C)($gp) +/* 00426274 03A05825 */ move $t3, $sp +/* 00426278 A9D80008 */ swl $t8, 8($t6) +/* 0042627C B9D8000B */ swr $t8, 0xb($t6) +/* 00426280 890F0004 */ lwl $t7, 4($t0) +/* 00426284 990F0007 */ lwr $t7, 7($t0) +/* 00426288 25ADA27C */ addiu $t5, %lo(RO_1000A27C) # addiu $t5, $t5, -0x5d84 +/* 0042628C 25AC0048 */ addiu $t4, $t5, 0x48 +/* 00426290 A9CF000C */ swl $t7, 0xc($t6) +/* 00426294 B9CF000F */ swr $t7, 0xf($t6) +.L00426298: +/* 00426298 89AA0000 */ lwl $t2, ($t5) +/* 0042629C 99AA0003 */ lwr $t2, 3($t5) +/* 004262A0 25AD000C */ addiu $t5, $t5, 0xc +/* 004262A4 256B000C */ addiu $t3, $t3, 0xc +/* 004262A8 A96A004C */ swl $t2, 0x4c($t3) +/* 004262AC B96A004F */ swr $t2, 0x4f($t3) +/* 004262B0 89A9FFF8 */ lwl $t1, -8($t5) +/* 004262B4 99A9FFFB */ lwr $t1, -5($t5) +/* 004262B8 A9690050 */ swl $t1, 0x50($t3) +/* 004262BC B9690053 */ swr $t1, 0x53($t3) +/* 004262C0 89AAFFFC */ lwl $t2, -4($t5) +/* 004262C4 99AAFFFF */ lwr $t2, -1($t5) +/* 004262C8 A96A0054 */ swl $t2, 0x54($t3) +/* 004262CC 15ACFFF2 */ bne $t5, $t4, .L00426298 +/* 004262D0 B96A0057 */ swr $t2, 0x57($t3) +/* 004262D4 89AA0000 */ lwl $t2, ($t5) +/* 004262D8 99AA0003 */ lwr $t2, 3($t5) +/* 004262DC A96A0058 */ swl $t2, 0x58($t3) +/* 004262E0 B96A005B */ swr $t2, 0x5b($t3) +/* 004262E4 89A90004 */ lwl $t1, 4($t5) +/* 004262E8 99A90007 */ lwr $t1, 7($t5) +/* 004262EC A969005C */ swl $t1, 0x5c($t3) +/* 004262F0 B969005F */ swr $t1, 0x5f($t3) +/* 004262F4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004262F8 8FA7000C */ lw $a3, 0xc($sp) +/* 004262FC 8FA60008 */ lw $a2, 8($sp) +/* 00426300 0320F809 */ jalr $t9 +/* 00426304 00000000 */ nop +/* 00426308 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0042630C 100000FA */ b .L004266F8 +/* 00426310 97A300BE */ lhu $v1, 0xbe($sp) +.L00426314: +/* 00426314 8CA20028 */ lw $v0, 0x28($a1) +/* 00426318 24010004 */ li $at, 4 +/* 0042631C 5441000B */ bnel $v0, $at, .L0042634C +/* 00426320 24010001 */ li $at, 1 +/* 00426324 8F9989B8 */ lw $t9, %got(isa)($gp) +/* 00426328 93390000 */ lbu $t9, ($t9) +/* 0042632C 2F210002 */ sltiu $at, $t9, 2 +/* 00426330 14200003 */ bnez $at, .L00426340 +/* 00426334 00000000 */ nop +/* 00426338 100000EF */ b .L004266F8 +/* 0042633C 9603000A */ lhu $v1, 0xa($s0) +.L00426340: +/* 00426340 100000ED */ b .L004266F8 +/* 00426344 96030008 */ lhu $v1, 8($s0) +/* 00426348 24010001 */ li $at, 1 +.L0042634C: +/* 0042634C 54410004 */ bnel $v0, $at, .L00426360 +/* 00426350 24010002 */ li $at, 2 +/* 00426354 100000E8 */ b .L004266F8 +/* 00426358 96030002 */ lhu $v1, 2($s0) +/* 0042635C 24010002 */ li $at, 2 +.L00426360: +/* 00426360 54410004 */ bnel $v0, $at, .L00426374 +/* 00426364 24010008 */ li $at, 8 +/* 00426368 100000E3 */ b .L004266F8 +/* 0042636C 96030006 */ lhu $v1, 6($s0) +/* 00426370 24010008 */ li $at, 8 +.L00426374: +/* 00426374 14410003 */ bne $v0, $at, .L00426384 +/* 00426378 24040004 */ li $a0, 4 +/* 0042637C 100000DE */ b .L004266F8 +/* 00426380 9603000C */ lhu $v1, 0xc($s0) +.L00426384: +/* 00426384 8F888038 */ lw $t0, %got(RO_1000A22C)($gp) +/* 00426388 24050691 */ li $a1, 1681 +/* 0042638C 03A0C025 */ move $t8, $sp +/* 00426390 2508A22C */ addiu $t0, %lo(RO_1000A22C) # addiu $t0, $t0, -0x5dd4 +/* 00426394 250C0048 */ addiu $t4, $t0, 0x48 +.L00426398: +/* 00426398 890F0000 */ lwl $t7, ($t0) +/* 0042639C 990F0003 */ lwr $t7, 3($t0) +/* 004263A0 2508000C */ addiu $t0, $t0, 0xc +/* 004263A4 2718000C */ addiu $t8, $t8, 0xc +/* 004263A8 AB0FFFFC */ swl $t7, -4($t8) +/* 004263AC BB0FFFFF */ swr $t7, -1($t8) +/* 004263B0 890EFFF8 */ lwl $t6, -8($t0) +/* 004263B4 990EFFFB */ lwr $t6, -5($t0) +/* 004263B8 AB0E0000 */ swl $t6, ($t8) +/* 004263BC BB0E0003 */ swr $t6, 3($t8) +/* 004263C0 890FFFFC */ lwl $t7, -4($t0) +/* 004263C4 990FFFFF */ lwr $t7, -1($t0) +/* 004263C8 AB0F0004 */ swl $t7, 4($t8) +/* 004263CC 150CFFF2 */ bne $t0, $t4, .L00426398 +/* 004263D0 BB0F0007 */ swr $t7, 7($t8) +/* 004263D4 890F0000 */ lwl $t7, ($t0) +/* 004263D8 990F0003 */ lwr $t7, 3($t0) +/* 004263DC 8F8D8038 */ lw $t5, %got(RO_1000A1DC)($gp) +/* 004263E0 03A05025 */ move $t2, $sp +/* 004263E4 AB0F0008 */ swl $t7, 8($t8) +/* 004263E8 BB0F000B */ swr $t7, 0xb($t8) +/* 004263EC 890E0004 */ lwl $t6, 4($t0) +/* 004263F0 990E0007 */ lwr $t6, 7($t0) +/* 004263F4 25ADA1DC */ addiu $t5, %lo(RO_1000A1DC) # addiu $t5, $t5, -0x5e24 +/* 004263F8 25B90048 */ addiu $t9, $t5, 0x48 +/* 004263FC AB0E000C */ swl $t6, 0xc($t8) +/* 00426400 BB0E000F */ swr $t6, 0xf($t8) +.L00426404: +/* 00426404 89A90000 */ lwl $t1, ($t5) +/* 00426408 99A90003 */ lwr $t1, 3($t5) +/* 0042640C 25AD000C */ addiu $t5, $t5, 0xc +/* 00426410 254A000C */ addiu $t2, $t2, 0xc +/* 00426414 A949004C */ swl $t1, 0x4c($t2) +/* 00426418 B949004F */ swr $t1, 0x4f($t2) +/* 0042641C 89ABFFF8 */ lwl $t3, -8($t5) +/* 00426420 99ABFFFB */ lwr $t3, -5($t5) +/* 00426424 A94B0050 */ swl $t3, 0x50($t2) +/* 00426428 B94B0053 */ swr $t3, 0x53($t2) +/* 0042642C 89A9FFFC */ lwl $t1, -4($t5) +/* 00426430 99A9FFFF */ lwr $t1, -1($t5) +/* 00426434 A9490054 */ swl $t1, 0x54($t2) +/* 00426438 15B9FFF2 */ bne $t5, $t9, .L00426404 +/* 0042643C B9490057 */ swr $t1, 0x57($t2) +/* 00426440 89A90000 */ lwl $t1, ($t5) +/* 00426444 99A90003 */ lwr $t1, 3($t5) +/* 00426448 A9490058 */ swl $t1, 0x58($t2) +/* 0042644C B949005B */ swr $t1, 0x5b($t2) +/* 00426450 89AB0004 */ lwl $t3, 4($t5) +/* 00426454 99AB0007 */ lwr $t3, 7($t5) +/* 00426458 A94B005C */ swl $t3, 0x5c($t2) +/* 0042645C B94B005F */ swr $t3, 0x5f($t2) +/* 00426460 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00426464 8FA7000C */ lw $a3, 0xc($sp) +/* 00426468 8FA60008 */ lw $a2, 8($sp) +/* 0042646C 0320F809 */ jalr $t9 +/* 00426470 00000000 */ nop +/* 00426474 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426478 1000009F */ b .L004266F8 +/* 0042647C 97A300BE */ lhu $v1, 0xbe($sp) +.L00426480: +/* 00426480 8CA20028 */ lw $v0, 0x28($a1) +/* 00426484 24010004 */ li $at, 4 +/* 00426488 5441000B */ bnel $v0, $at, .L004264B8 +/* 0042648C 24010001 */ li $at, 1 +/* 00426490 8F8C89DC */ lw $t4, %got(basicint)($gp) +/* 00426494 24010001 */ li $at, 1 +/* 00426498 918C0000 */ lbu $t4, ($t4) +/* 0042649C 15810003 */ bne $t4, $at, .L004264AC +/* 004264A0 00000000 */ nop +/* 004264A4 10000094 */ b .L004266F8 +/* 004264A8 9603000A */ lhu $v1, 0xa($s0) +.L004264AC: +/* 004264AC 10000092 */ b .L004266F8 +/* 004264B0 96030008 */ lhu $v1, 8($s0) +/* 004264B4 24010001 */ li $at, 1 +.L004264B8: +/* 004264B8 54410004 */ bnel $v0, $at, .L004264CC +/* 004264BC 24010002 */ li $at, 2 +/* 004264C0 1000008D */ b .L004266F8 +/* 004264C4 96030002 */ lhu $v1, 2($s0) +/* 004264C8 24010002 */ li $at, 2 +.L004264CC: +/* 004264CC 54410004 */ bnel $v0, $at, .L004264E0 +/* 004264D0 24010008 */ li $at, 8 +/* 004264D4 10000088 */ b .L004266F8 +/* 004264D8 96030006 */ lhu $v1, 6($s0) +/* 004264DC 24010008 */ li $at, 8 +.L004264E0: +/* 004264E0 14410003 */ bne $v0, $at, .L004264F0 +/* 004264E4 24040004 */ li $a0, 4 +/* 004264E8 10000083 */ b .L004266F8 +/* 004264EC 9603000C */ lhu $v1, 0xc($s0) +.L004264F0: +/* 004264F0 8F888038 */ lw $t0, %got(RO_1000A18C)($gp) +/* 004264F4 240506A1 */ li $a1, 1697 +/* 004264F8 03A07825 */ move $t7, $sp +/* 004264FC 2508A18C */ addiu $t0, %lo(RO_1000A18C) # addiu $t0, $t0, -0x5e74 +/* 00426500 25190048 */ addiu $t9, $t0, 0x48 +.L00426504: +/* 00426504 890E0000 */ lwl $t6, ($t0) +/* 00426508 990E0003 */ lwr $t6, 3($t0) +/* 0042650C 2508000C */ addiu $t0, $t0, 0xc +/* 00426510 25EF000C */ addiu $t7, $t7, 0xc +/* 00426514 A9EEFFFC */ swl $t6, -4($t7) +/* 00426518 B9EEFFFF */ swr $t6, -1($t7) +/* 0042651C 8918FFF8 */ lwl $t8, -8($t0) +/* 00426520 9918FFFB */ lwr $t8, -5($t0) +/* 00426524 A9F80000 */ swl $t8, ($t7) +/* 00426528 B9F80003 */ swr $t8, 3($t7) +/* 0042652C 890EFFFC */ lwl $t6, -4($t0) +/* 00426530 990EFFFF */ lwr $t6, -1($t0) +/* 00426534 A9EE0004 */ swl $t6, 4($t7) +/* 00426538 1519FFF2 */ bne $t0, $t9, .L00426504 +/* 0042653C B9EE0007 */ swr $t6, 7($t7) +/* 00426540 890E0000 */ lwl $t6, ($t0) +/* 00426544 990E0003 */ lwr $t6, 3($t0) +/* 00426548 8F8D8038 */ lw $t5, %got(RO_1000A13C)($gp) +/* 0042654C 03A04825 */ move $t1, $sp +/* 00426550 A9EE0008 */ swl $t6, 8($t7) +/* 00426554 B9EE000B */ swr $t6, 0xb($t7) +/* 00426558 89180004 */ lwl $t8, 4($t0) +/* 0042655C 99180007 */ lwr $t8, 7($t0) +/* 00426560 25ADA13C */ addiu $t5, %lo(RO_1000A13C) # addiu $t5, $t5, -0x5ec4 +/* 00426564 25AC0048 */ addiu $t4, $t5, 0x48 +/* 00426568 A9F8000C */ swl $t8, 0xc($t7) +/* 0042656C B9F8000F */ swr $t8, 0xf($t7) +.L00426570: +/* 00426570 89AB0000 */ lwl $t3, ($t5) +/* 00426574 99AB0003 */ lwr $t3, 3($t5) +/* 00426578 25AD000C */ addiu $t5, $t5, 0xc +/* 0042657C 2529000C */ addiu $t1, $t1, 0xc +/* 00426580 A92B004C */ swl $t3, 0x4c($t1) +/* 00426584 B92B004F */ swr $t3, 0x4f($t1) +/* 00426588 89AAFFF8 */ lwl $t2, -8($t5) +/* 0042658C 99AAFFFB */ lwr $t2, -5($t5) +/* 00426590 A92A0050 */ swl $t2, 0x50($t1) +/* 00426594 B92A0053 */ swr $t2, 0x53($t1) +/* 00426598 89ABFFFC */ lwl $t3, -4($t5) +/* 0042659C 99ABFFFF */ lwr $t3, -1($t5) +/* 004265A0 A92B0054 */ swl $t3, 0x54($t1) +/* 004265A4 15ACFFF2 */ bne $t5, $t4, .L00426570 +/* 004265A8 B92B0057 */ swr $t3, 0x57($t1) +/* 004265AC 89AB0000 */ lwl $t3, ($t5) +/* 004265B0 99AB0003 */ lwr $t3, 3($t5) +/* 004265B4 A92B0058 */ swl $t3, 0x58($t1) +/* 004265B8 B92B005B */ swr $t3, 0x5b($t1) +/* 004265BC 89AA0004 */ lwl $t2, 4($t5) +/* 004265C0 99AA0007 */ lwr $t2, 7($t5) +/* 004265C4 A92A005C */ swl $t2, 0x5c($t1) +/* 004265C8 B92A005F */ swr $t2, 0x5f($t1) +/* 004265CC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004265D0 8FA7000C */ lw $a3, 0xc($sp) +/* 004265D4 8FA60008 */ lw $a2, 8($sp) +/* 004265D8 0320F809 */ jalr $t9 +/* 004265DC 00000000 */ nop +/* 004265E0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004265E4 10000044 */ b .L004266F8 +/* 004265E8 97A300BE */ lhu $v1, 0xbe($sp) +.L004265EC: +/* 004265EC 10000042 */ b .L004266F8 +/* 004265F0 96030008 */ lhu $v1, 8($s0) +.L004265F4: +/* 004265F4 10000040 */ b .L004266F8 +/* 004265F8 9603000C */ lhu $v1, 0xc($s0) +.L004265FC: +/* 004265FC 8F998038 */ lw $t9, %got(RO_1000A0EC)($gp) +/* 00426600 24040004 */ li $a0, 4 +/* 00426604 240506B0 */ li $a1, 1712 +/* 00426608 2739A0EC */ addiu $t9, %lo(RO_1000A0EC) # addiu $t9, $t9, -0x5f14 +/* 0042660C 272E0048 */ addiu $t6, $t9, 0x48 +/* 00426610 03A0C025 */ move $t8, $sp +.L00426614: +/* 00426614 8B2F0000 */ lwl $t7, ($t9) +/* 00426618 9B2F0003 */ lwr $t7, 3($t9) +/* 0042661C 2739000C */ addiu $t9, $t9, 0xc +/* 00426620 2718000C */ addiu $t8, $t8, 0xc +/* 00426624 AB0FFFFC */ swl $t7, -4($t8) +/* 00426628 BB0FFFFF */ swr $t7, -1($t8) +/* 0042662C 8B28FFF8 */ lwl $t0, -8($t9) +/* 00426630 9B28FFFB */ lwr $t0, -5($t9) +/* 00426634 AB080000 */ swl $t0, ($t8) +/* 00426638 BB080003 */ swr $t0, 3($t8) +/* 0042663C 8B2FFFFC */ lwl $t7, -4($t9) +/* 00426640 9B2FFFFF */ lwr $t7, -1($t9) +/* 00426644 AB0F0004 */ swl $t7, 4($t8) +/* 00426648 172EFFF2 */ bne $t9, $t6, .L00426614 +/* 0042664C BB0F0007 */ swr $t7, 7($t8) +/* 00426650 8B2F0000 */ lwl $t7, ($t9) +/* 00426654 9B2F0003 */ lwr $t7, 3($t9) +/* 00426658 8F8C8038 */ lw $t4, %got(RO_1000A09C)($gp) +/* 0042665C 03A05025 */ move $t2, $sp +/* 00426660 AB0F0008 */ swl $t7, 8($t8) +/* 00426664 BB0F000B */ swr $t7, 0xb($t8) +/* 00426668 8B280004 */ lwl $t0, 4($t9) +/* 0042666C 9B280007 */ lwr $t0, 7($t9) +/* 00426670 258CA09C */ addiu $t4, %lo(RO_1000A09C) # addiu $t4, $t4, -0x5f64 +/* 00426674 258B0048 */ addiu $t3, $t4, 0x48 +/* 00426678 AB08000C */ swl $t0, 0xc($t8) +/* 0042667C BB08000F */ swr $t0, 0xf($t8) +.L00426680: +/* 00426680 89890000 */ lwl $t1, ($t4) +/* 00426684 99890003 */ lwr $t1, 3($t4) +/* 00426688 258C000C */ addiu $t4, $t4, 0xc +/* 0042668C 254A000C */ addiu $t2, $t2, 0xc +/* 00426690 A949004C */ swl $t1, 0x4c($t2) +/* 00426694 B949004F */ swr $t1, 0x4f($t2) +/* 00426698 898DFFF8 */ lwl $t5, -8($t4) +/* 0042669C 998DFFFB */ lwr $t5, -5($t4) +/* 004266A0 A94D0050 */ swl $t5, 0x50($t2) +/* 004266A4 B94D0053 */ swr $t5, 0x53($t2) +/* 004266A8 8989FFFC */ lwl $t1, -4($t4) +/* 004266AC 9989FFFF */ lwr $t1, -1($t4) +/* 004266B0 A9490054 */ swl $t1, 0x54($t2) +/* 004266B4 158BFFF2 */ bne $t4, $t3, .L00426680 +/* 004266B8 B9490057 */ swr $t1, 0x57($t2) +/* 004266BC 89890000 */ lwl $t1, ($t4) +/* 004266C0 99890003 */ lwr $t1, 3($t4) +/* 004266C4 A9490058 */ swl $t1, 0x58($t2) +/* 004266C8 B949005B */ swr $t1, 0x5b($t2) +/* 004266CC 898D0004 */ lwl $t5, 4($t4) +/* 004266D0 998D0007 */ lwr $t5, 7($t4) +/* 004266D4 A94D005C */ swl $t5, 0x5c($t2) +/* 004266D8 B94D005F */ swr $t5, 0x5f($t2) +/* 004266DC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004266E0 8FA7000C */ lw $a3, 0xc($sp) +/* 004266E4 8FA60008 */ lw $a2, 8($sp) +/* 004266E8 0320F809 */ jalr $t9 +/* 004266EC 00000000 */ nop +/* 004266F0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004266F4 96030008 */ lhu $v1, 8($s0) +.L004266F8: +/* 004266F8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004266FC 8FB000AC */ lw $s0, 0xac($sp) +/* 00426700 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00426704 03E00008 */ jr $ra +/* 00426708 00601025 */ move $v0, $v1 + .type lsopc, @function + .size lsopc, .-lsopc + .end lsopc + +glabel loadstore + .ent loadstore + # 00427B44 loadstore_for_two_words + # 00427BFC unaligned_loadstore_for_fp_word + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 00427E8C loadstore_for_two_fp_words + # 00427FB8 func_00427FB8 + # 00428190 func_00428190 + # 00428384 unaligned_loadstore + # 0042A9A8 load_parm_vreg + # 0042BDAC eval +/* 0042670C 3C1C0FC0 */ .cpload $t9 +/* 00426710 279C9344 */ +/* 00426714 0399E021 */ +/* 00426718 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0042671C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00426720 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00426724 AFB000AC */ sw $s0, 0xac($sp) +/* 00426728 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0042672C AFA600C8 */ sw $a2, 0xc8($sp) +/* 00426730 AFA700CC */ sw $a3, 0xcc($sp) +/* 00426734 90A20021 */ lbu $v0, 0x21($a1) +/* 00426738 00A08025 */ move $s0, $a1 +/* 0042673C 00021600 */ sll $v0, $v0, 0x18 +/* 00426740 00021742 */ srl $v0, $v0, 0x1d +/* 00426744 304200FF */ andi $v0, $v0, 0xff +/* 00426748 244EFFFF */ addiu $t6, $v0, -1 +/* 0042674C 2DC10005 */ sltiu $at, $t6, 5 +/* 00426750 102000B9 */ beqz $at, .L00426A38 +/* 00426754 00000000 */ nop +/* 00426758 8F818038 */ lw $at, %got(jtbl_1000A5DC)($gp) +/* 0042675C 000E7080 */ sll $t6, $t6, 2 +/* 00426760 002E0821 */ addu $at, $at, $t6 +/* 00426764 8C2EA5DC */ lw $t6, %lo(jtbl_1000A5DC)($at) +/* 00426768 01DC7021 */ addu $t6, $t6, $gp +/* 0042676C 01C00008 */ jr $t6 +/* 00426770 00000000 */ nop +.L00426774: +/* 00426774 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 00426778 8E040024 */ lw $a0, 0x24($s0) +/* 0042677C 0320F809 */ jalr $t9 +/* 00426780 00000000 */ nop +/* 00426784 24010005 */ li $at, 5 +/* 00426788 14410046 */ bne $v0, $at, .L004268A4 +/* 0042678C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426790 97AF00C2 */ lhu $t7, 0xc2($sp) +/* 00426794 24010024 */ li $at, 36 +/* 00426798 11E1002C */ beq $t7, $at, .L0042684C +/* 0042679C 00000000 */ nop +/* 004267A0 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004267A4 00002025 */ move $a0, $zero +/* 004267A8 24050001 */ li $a1, 1 +/* 004267AC 0320F809 */ jalr $t9 +/* 004267B0 00000000 */ nop +/* 004267B4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004267B8 24010001 */ li $at, 1 +/* 004267BC 304500FF */ andi $a1, $v0, 0xff +/* 004267C0 8F9889DC */ lw $t8, %got(basicint)($gp) +/* 004267C4 24040056 */ li $a0, 86 +/* 004267C8 93180000 */ lbu $t8, ($t8) +/* 004267CC 1701000A */ bne $t8, $at, .L004267F8 +/* 004267D0 00000000 */ nop +/* 004267D4 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 004267D8 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 004267DC 24040139 */ li $a0, 313 +/* 004267E0 8E070024 */ lw $a3, 0x24($s0) +/* 004267E4 A3A500BF */ sb $a1, 0xbf($sp) +/* 004267E8 0320F809 */ jalr $t9 +/* 004267EC 90C60000 */ lbu $a2, ($a2) +/* 004267F0 10000008 */ b .L00426814 +/* 004267F4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004267F8: +/* 004267F8 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 004267FC 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 00426800 8E070024 */ lw $a3, 0x24($s0) +/* 00426804 A3A500BF */ sb $a1, 0xbf($sp) +/* 00426808 0320F809 */ jalr $t9 +/* 0042680C 90C60000 */ lbu $a2, ($a2) +/* 00426810 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00426814: +/* 00426814 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00426818 97A400C2 */ lhu $a0, 0xc2($sp) +/* 0042681C 93A500CB */ lbu $a1, 0xcb($sp) +/* 00426820 8E06002C */ lw $a2, 0x2c($s0) +/* 00426824 93A700BF */ lbu $a3, 0xbf($sp) +/* 00426828 0320F809 */ jalr $t9 +/* 0042682C AFA00010 */ sw $zero, 0x10($sp) +/* 00426830 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426834 93A400BF */ lbu $a0, 0xbf($sp) +/* 00426838 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042683C 0320F809 */ jalr $t9 +/* 00426840 00000000 */ nop +/* 00426844 100000BA */ b .L00426B30 +/* 00426848 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0042684C: +/* 0042684C 8F998A60 */ lw $t9, %got(frame_pointer)($gp) +/* 00426850 24040024 */ li $a0, 36 +/* 00426854 93A500CB */ lbu $a1, 0xcb($sp) +/* 00426858 93390000 */ lbu $t9, ($t9) +/* 0042685C 8FA600CC */ lw $a2, 0xcc($sp) +/* 00426860 8E070024 */ lw $a3, 0x24($s0) +/* 00426864 AFB90010 */ sw $t9, 0x10($sp) +/* 00426868 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 0042686C 0320F809 */ jalr $t9 +/* 00426870 00000000 */ nop +/* 00426874 8E07002C */ lw $a3, 0x2c($s0) +/* 00426878 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0042687C 24040002 */ li $a0, 2 +/* 00426880 50E000AC */ beql $a3, $zero, .L00426B34 +/* 00426884 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00426888 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042688C 93A600CB */ lbu $a2, 0xcb($sp) +/* 00426890 AFA00010 */ sw $zero, 0x10($sp) +/* 00426894 0320F809 */ jalr $t9 +/* 00426898 00C02825 */ move $a1, $a2 +/* 0042689C 100000A4 */ b .L00426B30 +/* 004268A0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004268A4: +/* 004268A4 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 004268A8 02002025 */ move $a0, $s0 +/* 004268AC 0320F809 */ jalr $t9 +/* 004268B0 00000000 */ nop +/* 004268B4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004268B8 8FA900CC */ lw $t1, 0xcc($sp) +/* 004268BC 8E0A0030 */ lw $t2, 0x30($s0) +/* 004268C0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004268C4 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004268C8 97A400C2 */ lhu $a0, 0xc2($sp) +/* 004268CC 93A500CB */ lbu $a1, 0xcb($sp) +/* 004268D0 00493021 */ addu $a2, $v0, $t1 +/* 004268D4 AFAA0010 */ sw $t2, 0x10($sp) +/* 004268D8 0320F809 */ jalr $t9 +/* 004268DC 90E70000 */ lbu $a3, ($a3) +/* 004268E0 10000093 */ b .L00426B30 +/* 004268E4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004268E8: +/* 004268E8 8F8B89E4 */ lw $t3, %got(pic_level)($gp) +/* 004268EC 97A400C2 */ lhu $a0, 0xc2($sp) +/* 004268F0 93A500CB */ lbu $a1, 0xcb($sp) +/* 004268F4 8D6B0000 */ lw $t3, ($t3) +/* 004268F8 8FAC00CC */ lw $t4, 0xcc($sp) +/* 004268FC 19600039 */ blez $t3, .L004269E4 +/* 00426900 00000000 */ nop +/* 00426904 8E020024 */ lw $v0, 0x24($s0) +/* 00426908 8FAD00CC */ lw $t5, 0xcc($sp) +/* 0042690C 97A400C2 */ lhu $a0, 0xc2($sp) +/* 00426910 1040002A */ beqz $v0, .L004269BC +/* 00426914 93A500CB */ lbu $a1, 0xcb($sp) +/* 00426918 8E0C002C */ lw $t4, 0x2c($s0) +/* 0042691C 34018000 */ li $at, 32768 +/* 00426920 018D1821 */ addu $v1, $t4, $t5 +/* 00426924 0061082A */ slt $at, $v1, $at +/* 00426928 10200003 */ beqz $at, .L00426938 +/* 0042692C 28618000 */ slti $at, $v1, -0x8000 +/* 00426930 10200022 */ beqz $at, .L004269BC +/* 00426934 00000000 */ nop +.L00426938: +/* 00426938 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042693C 00002025 */ move $a0, $zero +/* 00426940 24050001 */ li $a1, 1 +/* 00426944 0320F809 */ jalr $t9 +/* 00426948 00000000 */ nop +/* 0042694C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426950 8E0E002C */ lw $t6, 0x2c($s0) +/* 00426954 8FAF00CC */ lw $t7, 0xcc($sp) +/* 00426958 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 0042695C 8E180030 */ lw $t8, 0x30($s0) +/* 00426960 A3A200BF */ sb $v0, 0xbf($sp) +/* 00426964 24040024 */ li $a0, 36 +/* 00426968 304500FF */ andi $a1, $v0, 0xff +/* 0042696C 8E060024 */ lw $a2, 0x24($s0) +/* 00426970 01CF3821 */ addu $a3, $t6, $t7 +/* 00426974 0320F809 */ jalr $t9 +/* 00426978 AFB80010 */ sw $t8, 0x10($sp) +/* 0042697C 8E190030 */ lw $t9, 0x30($s0) +/* 00426980 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00426984 97A400C2 */ lhu $a0, 0xc2($sp) +/* 00426988 AFB90010 */ sw $t9, 0x10($sp) +/* 0042698C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00426990 93A500CB */ lbu $a1, 0xcb($sp) +/* 00426994 00003025 */ move $a2, $zero +/* 00426998 0320F809 */ jalr $t9 +/* 0042699C 93A700BF */ lbu $a3, 0xbf($sp) +/* 004269A0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004269A4 93A400BF */ lbu $a0, 0xbf($sp) +/* 004269A8 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 004269AC 0320F809 */ jalr $t9 +/* 004269B0 00000000 */ nop +/* 004269B4 1000005E */ b .L00426B30 +/* 004269B8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004269BC: +/* 004269BC 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 004269C0 8E08002C */ lw $t0, 0x2c($s0) +/* 004269C4 8FA900CC */ lw $t1, 0xcc($sp) +/* 004269C8 8E0A0030 */ lw $t2, 0x30($s0) +/* 004269CC 00403025 */ move $a2, $v0 +/* 004269D0 01093821 */ addu $a3, $t0, $t1 +/* 004269D4 0320F809 */ jalr $t9 +/* 004269D8 AFAA0010 */ sw $t2, 0x10($sp) +/* 004269DC 10000054 */ b .L00426B30 +/* 004269E0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004269E4: +/* 004269E4 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 004269E8 8E0B002C */ lw $t3, 0x2c($s0) +/* 004269EC 8E0D0030 */ lw $t5, 0x30($s0) +/* 004269F0 8E060024 */ lw $a2, 0x24($s0) +/* 004269F4 016C3821 */ addu $a3, $t3, $t4 +/* 004269F8 0320F809 */ jalr $t9 +/* 004269FC AFAD0010 */ sw $t5, 0x10($sp) +/* 00426A00 1000004B */ b .L00426B30 +/* 00426A04 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00426A08: +/* 00426A08 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00426A0C 8E0E002C */ lw $t6, 0x2c($s0) +/* 00426A10 8FAF00CC */ lw $t7, 0xcc($sp) +/* 00426A14 8E180030 */ lw $t8, 0x30($s0) +/* 00426A18 97A400C2 */ lhu $a0, 0xc2($sp) +/* 00426A1C 93A500CB */ lbu $a1, 0xcb($sp) +/* 00426A20 2407001D */ li $a3, 29 +/* 00426A24 01CF3021 */ addu $a2, $t6, $t7 +/* 00426A28 0320F809 */ jalr $t9 +/* 00426A2C AFB80010 */ sw $t8, 0x10($sp) +/* 00426A30 1000003F */ b .L00426B30 +/* 00426A34 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00426A38: +/* 00426A38 8F998038 */ lw $t9, %got(RO_1000A58C)($gp) +/* 00426A3C 24040004 */ li $a0, 4 +/* 00426A40 240506ED */ li $a1, 1773 +/* 00426A44 2739A58C */ addiu $t9, %lo(RO_1000A58C) # addiu $t9, $t9, -0x5a74 +/* 00426A48 272B0048 */ addiu $t3, $t9, 0x48 +/* 00426A4C 03A05025 */ move $t2, $sp +.L00426A50: +/* 00426A50 8B290000 */ lwl $t1, ($t9) +/* 00426A54 9B290003 */ lwr $t1, 3($t9) +/* 00426A58 2739000C */ addiu $t9, $t9, 0xc +/* 00426A5C 254A000C */ addiu $t2, $t2, 0xc +/* 00426A60 A949FFFC */ swl $t1, -4($t2) +/* 00426A64 B949FFFF */ swr $t1, -1($t2) +/* 00426A68 8B28FFF8 */ lwl $t0, -8($t9) +/* 00426A6C 9B28FFFB */ lwr $t0, -5($t9) +/* 00426A70 A9480000 */ swl $t0, ($t2) +/* 00426A74 B9480003 */ swr $t0, 3($t2) +/* 00426A78 8B29FFFC */ lwl $t1, -4($t9) +/* 00426A7C 9B29FFFF */ lwr $t1, -1($t9) +/* 00426A80 A9490004 */ swl $t1, 4($t2) +/* 00426A84 172BFFF2 */ bne $t9, $t3, .L00426A50 +/* 00426A88 B9490007 */ swr $t1, 7($t2) +/* 00426A8C 8B290000 */ lwl $t1, ($t9) +/* 00426A90 9B290003 */ lwr $t1, 3($t9) +/* 00426A94 8F8C8038 */ lw $t4, %got(RO_1000A53C)($gp) +/* 00426A98 03A07825 */ move $t7, $sp +/* 00426A9C A9490008 */ swl $t1, 8($t2) +/* 00426AA0 B949000B */ swr $t1, 0xb($t2) +/* 00426AA4 8B280004 */ lwl $t0, 4($t9) +/* 00426AA8 9B280007 */ lwr $t0, 7($t9) +/* 00426AAC 258CA53C */ addiu $t4, %lo(RO_1000A53C) # addiu $t4, $t4, -0x5ac4 +/* 00426AB0 25980048 */ addiu $t8, $t4, 0x48 +/* 00426AB4 A948000C */ swl $t0, 0xc($t2) +/* 00426AB8 B948000F */ swr $t0, 0xf($t2) +.L00426ABC: +/* 00426ABC 898E0000 */ lwl $t6, ($t4) +/* 00426AC0 998E0003 */ lwr $t6, 3($t4) +/* 00426AC4 258C000C */ addiu $t4, $t4, 0xc +/* 00426AC8 25EF000C */ addiu $t7, $t7, 0xc +/* 00426ACC A9EE004C */ swl $t6, 0x4c($t7) +/* 00426AD0 B9EE004F */ swr $t6, 0x4f($t7) +/* 00426AD4 898DFFF8 */ lwl $t5, -8($t4) +/* 00426AD8 998DFFFB */ lwr $t5, -5($t4) +/* 00426ADC A9ED0050 */ swl $t5, 0x50($t7) +/* 00426AE0 B9ED0053 */ swr $t5, 0x53($t7) +/* 00426AE4 898EFFFC */ lwl $t6, -4($t4) +/* 00426AE8 998EFFFF */ lwr $t6, -1($t4) +/* 00426AEC A9EE0054 */ swl $t6, 0x54($t7) +/* 00426AF0 1598FFF2 */ bne $t4, $t8, .L00426ABC +/* 00426AF4 B9EE0057 */ swr $t6, 0x57($t7) +/* 00426AF8 898E0000 */ lwl $t6, ($t4) +/* 00426AFC 998E0003 */ lwr $t6, 3($t4) +/* 00426B00 A9EE0058 */ swl $t6, 0x58($t7) +/* 00426B04 B9EE005B */ swr $t6, 0x5b($t7) +/* 00426B08 898D0004 */ lwl $t5, 4($t4) +/* 00426B0C 998D0007 */ lwr $t5, 7($t4) +/* 00426B10 A9ED005C */ swl $t5, 0x5c($t7) +/* 00426B14 B9ED005F */ swr $t5, 0x5f($t7) +/* 00426B18 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00426B1C 8FA7000C */ lw $a3, 0xc($sp) +/* 00426B20 8FA60008 */ lw $a2, 8($sp) +/* 00426B24 0320F809 */ jalr $t9 +/* 00426B28 00000000 */ nop +/* 00426B2C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00426B30: +/* 00426B30 8FBF00B4 */ lw $ra, 0xb4($sp) +.L00426B34: +/* 00426B34 8FB000AC */ lw $s0, 0xac($sp) +/* 00426B38 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00426B3C 03E00008 */ jr $ra +/* 00426B40 00000000 */ nop + .type loadstore, @function + .size loadstore, .-loadstore + .end loadstore + + .type func_00426B44, @function +func_00426B44: + # 00426EF0 iloadistore +/* 00426B44 3C1C0FC0 */ .cpload $t9 +/* 00426B48 279C8F0C */ +/* 00426B4C 0399E021 */ +/* 00426B50 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00426B54 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00426B58 AFBF002C */ sw $ra, 0x2c($sp) +/* 00426B5C AFB00020 */ sw $s0, 0x20($sp) +/* 00426B60 00408025 */ move $s0, $v0 +/* 00426B64 AFBC0028 */ sw $gp, 0x28($sp) +/* 00426B68 AFB10024 */ sw $s1, 0x24($sp) +/* 00426B6C 00002025 */ move $a0, $zero +/* 00426B70 0320F809 */ jalr $t9 +/* 00426B74 24050001 */ li $a1, 1 +/* 00426B78 96030006 */ lhu $v1, 6($s0) +/* 00426B7C 24010079 */ li $at, 121 +/* 00426B80 8FBC0028 */ lw $gp, 0x28($sp) +/* 00426B84 10610004 */ beq $v1, $at, .L00426B98 +/* 00426B88 305100FF */ andi $s1, $v0, 0xff +/* 00426B8C 24010033 */ li $at, 51 +/* 00426B90 54610014 */ bnel $v1, $at, .L00426BE4 +/* 00426B94 92180017 */ lbu $t8, 0x17($s0) +.L00426B98: +/* 00426B98 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426B9C 02202025 */ move $a0, $s1 +/* 00426BA0 9205000B */ lbu $a1, 0xb($s0) +/* 00426BA4 0320F809 */ jalr $t9 +/* 00426BA8 2406000D */ li $a2, 13 +/* 00426BAC 8FBC0028 */ lw $gp, 0x28($sp) +/* 00426BB0 920E0017 */ lbu $t6, 0x17($s0) +/* 00426BB4 8E06000C */ lw $a2, 0xc($s0) +/* 00426BB8 8E070010 */ lw $a3, 0x10($s0) +/* 00426BBC 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426BC0 AFAE0010 */ sw $t6, 0x10($sp) +/* 00426BC4 8E0FFFF8 */ lw $t7, -8($s0) +/* 00426BC8 240400D1 */ li $a0, 209 +/* 00426BCC 02202825 */ move $a1, $s1 +/* 00426BD0 0320F809 */ jalr $t9 +/* 00426BD4 AFAF0014 */ sw $t7, 0x14($sp) +/* 00426BD8 10000014 */ b .L00426C2C +/* 00426BDC 8FBC0028 */ lw $gp, 0x28($sp) +/* 00426BE0 92180017 */ lbu $t8, 0x17($s0) +.L00426BE4: +/* 00426BE4 8E06000C */ lw $a2, 0xc($s0) +/* 00426BE8 8E070010 */ lw $a3, 0x10($s0) +/* 00426BEC AFB80010 */ sw $t8, 0x10($sp) +/* 00426BF0 8E19FFF8 */ lw $t9, -8($s0) +/* 00426BF4 240400CE */ li $a0, 206 +/* 00426BF8 02202825 */ move $a1, $s1 +/* 00426BFC AFB90014 */ sw $t9, 0x14($sp) +/* 00426C00 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426C04 0320F809 */ jalr $t9 +/* 00426C08 00000000 */ nop +/* 00426C0C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00426C10 9204000B */ lbu $a0, 0xb($s0) +/* 00426C14 02202825 */ move $a1, $s1 +/* 00426C18 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426C1C 2406000D */ li $a2, 13 +/* 00426C20 0320F809 */ jalr $t9 +/* 00426C24 00000000 */ nop +/* 00426C28 8FBC0028 */ lw $gp, 0x28($sp) +.L00426C2C: +/* 00426C2C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00426C30 02202025 */ move $a0, $s1 +/* 00426C34 0320F809 */ jalr $t9 +/* 00426C38 00000000 */ nop +/* 00426C3C 8FBF002C */ lw $ra, 0x2c($sp) +/* 00426C40 8FBC0028 */ lw $gp, 0x28($sp) +/* 00426C44 8FB00020 */ lw $s0, 0x20($sp) +/* 00426C48 8FB10024 */ lw $s1, 0x24($sp) +/* 00426C4C 03E00008 */ jr $ra +/* 00426C50 27BD0030 */ addiu $sp, $sp, 0x30 + + .type func_00426C54, @function +func_00426C54: + # 00426EF0 iloadistore +/* 00426C54 3C1C0FC0 */ .cpload $t9 +/* 00426C58 279C8DFC */ +/* 00426C5C 0399E021 */ +/* 00426C60 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00426C64 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 00426C68 AFBF0034 */ sw $ra, 0x34($sp) +/* 00426C6C 91CE0000 */ lbu $t6, ($t6) +/* 00426C70 AFBC0030 */ sw $gp, 0x30($sp) +/* 00426C74 AFB4002C */ sw $s4, 0x2c($sp) +/* 00426C78 AFB30028 */ sw $s3, 0x28($sp) +/* 00426C7C AFB20024 */ sw $s2, 0x24($sp) +/* 00426C80 AFB10020 */ sw $s1, 0x20($sp) +/* 00426C84 AFB0001C */ sw $s0, 0x1c($sp) +/* 00426C88 15C00009 */ bnez $t6, .L00426CB0 +/* 00426C8C 00401825 */ move $v1, $v0 +/* 00426C90 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00426C94 9054000B */ lbu $s4, 0xb($v0) +/* 00426C98 AFA20044 */ sw $v0, 0x44($sp) +/* 00426C9C 0320F809 */ jalr $t9 +/* 00426CA0 02802025 */ move $a0, $s4 +/* 00426CA4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426CA8 14400007 */ bnez $v0, .L00426CC8 +/* 00426CAC 8FA30044 */ lw $v1, 0x44($sp) +.L00426CB0: +/* 00426CB0 8C62000C */ lw $v0, 0xc($v1) +/* 00426CB4 244F0004 */ addiu $t7, $v0, 4 +/* 00426CB8 AFAF003C */ sw $t7, 0x3c($sp) +/* 00426CBC AFA20040 */ sw $v0, 0x40($sp) +/* 00426CC0 10000005 */ b .L00426CD8 +/* 00426CC4 9074000B */ lbu $s4, 0xb($v1) +.L00426CC8: +/* 00426CC8 8C62000C */ lw $v0, 0xc($v1) +/* 00426CCC 24580004 */ addiu $t8, $v0, 4 +/* 00426CD0 AFB80040 */ sw $t8, 0x40($sp) +/* 00426CD4 AFA2003C */ sw $v0, 0x3c($sp) +.L00426CD8: +/* 00426CD8 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00426CDC 02802025 */ move $a0, $s4 +/* 00426CE0 AFA30044 */ sw $v1, 0x44($sp) +/* 00426CE4 0320F809 */ jalr $t9 +/* 00426CE8 00000000 */ nop +/* 00426CEC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426CF0 1040001F */ beqz $v0, .L00426D70 +/* 00426CF4 8FA30044 */ lw $v1, 0x44($sp) +/* 00426CF8 8C79FFFC */ lw $t9, -4($v1) +/* 00426CFC 24010004 */ li $at, 4 +/* 00426D00 02802825 */ move $a1, $s4 +/* 00426D04 1721001A */ bne $t9, $at, .L00426D70 +/* 00426D08 8FA60040 */ lw $a2, 0x40($sp) +/* 00426D0C 94680006 */ lhu $t0, 6($v1) +/* 00426D10 8F8A88AC */ lw $t2, %got(double_to_singles)($gp) +/* 00426D14 90710017 */ lbu $s1, 0x17($v1) +/* 00426D18 00084840 */ sll $t1, $t0, 1 +/* 00426D1C 012A5821 */ addu $t3, $t1, $t2 +/* 00426D20 95730000 */ lhu $s3, ($t3) +/* 00426D24 8C700010 */ lw $s0, 0x10($v1) +/* 00426D28 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426D2C AFB10010 */ sw $s1, 0x10($sp) +/* 00426D30 8C72FFF8 */ lw $s2, -8($v1) +/* 00426D34 02602025 */ move $a0, $s3 +/* 00426D38 02003825 */ move $a3, $s0 +/* 00426D3C 0320F809 */ jalr $t9 +/* 00426D40 AFB20014 */ sw $s2, 0x14($sp) +/* 00426D44 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426D48 02602025 */ move $a0, $s3 +/* 00426D4C 26850001 */ addiu $a1, $s4, 1 +/* 00426D50 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426D54 8FA6003C */ lw $a2, 0x3c($sp) +/* 00426D58 02003825 */ move $a3, $s0 +/* 00426D5C AFB10010 */ sw $s1, 0x10($sp) +/* 00426D60 0320F809 */ jalr $t9 +/* 00426D64 AFB20014 */ sw $s2, 0x14($sp) +/* 00426D68 10000059 */ b .L00426ED0 +/* 00426D6C 8FBC0030 */ lw $gp, 0x30($sp) +.L00426D70: +/* 00426D70 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00426D74 00002025 */ move $a0, $zero +/* 00426D78 24050001 */ li $a1, 1 +/* 00426D7C 0320F809 */ jalr $t9 +/* 00426D80 AFA30044 */ sw $v1, 0x44($sp) +/* 00426D84 8FA30044 */ lw $v1, 0x44($sp) +/* 00426D88 305300FF */ andi $s3, $v0, 0xff +/* 00426D8C 2401007A */ li $at, 122 +/* 00426D90 946C0006 */ lhu $t4, 6($v1) +/* 00426D94 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426D98 02602825 */ move $a1, $s3 +/* 00426D9C 15810026 */ bne $t4, $at, .L00426E38 +/* 00426DA0 240400CE */ li $a0, 206 +/* 00426DA4 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426DA8 02602025 */ move $a0, $s3 +/* 00426DAC 02802825 */ move $a1, $s4 +/* 00426DB0 2406000D */ li $a2, 13 +/* 00426DB4 0320F809 */ jalr $t9 +/* 00426DB8 AFA30044 */ sw $v1, 0x44($sp) +/* 00426DBC 8FA30044 */ lw $v1, 0x44($sp) +/* 00426DC0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426DC4 240400D1 */ li $a0, 209 +/* 00426DC8 90710017 */ lbu $s1, 0x17($v1) +/* 00426DCC 8C700010 */ lw $s0, 0x10($v1) +/* 00426DD0 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426DD4 AFB10010 */ sw $s1, 0x10($sp) +/* 00426DD8 8C72FFF8 */ lw $s2, -8($v1) +/* 00426DDC 02602825 */ move $a1, $s3 +/* 00426DE0 8FA60040 */ lw $a2, 0x40($sp) +/* 00426DE4 02003825 */ move $a3, $s0 +/* 00426DE8 0320F809 */ jalr $t9 +/* 00426DEC AFB20014 */ sw $s2, 0x14($sp) +/* 00426DF0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426DF4 02602025 */ move $a0, $s3 +/* 00426DF8 26850001 */ addiu $a1, $s4, 1 +/* 00426DFC 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426E00 2406000D */ li $a2, 13 +/* 00426E04 0320F809 */ jalr $t9 +/* 00426E08 00000000 */ nop +/* 00426E0C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426E10 240400D1 */ li $a0, 209 +/* 00426E14 02602825 */ move $a1, $s3 +/* 00426E18 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426E1C 8FA6003C */ lw $a2, 0x3c($sp) +/* 00426E20 02003825 */ move $a3, $s0 +/* 00426E24 AFB10010 */ sw $s1, 0x10($sp) +/* 00426E28 0320F809 */ jalr $t9 +/* 00426E2C AFB20014 */ sw $s2, 0x14($sp) +/* 00426E30 10000022 */ b .L00426EBC +/* 00426E34 8FBC0030 */ lw $gp, 0x30($sp) +.L00426E38: +/* 00426E38 90710017 */ lbu $s1, 0x17($v1) +/* 00426E3C 8C700010 */ lw $s0, 0x10($v1) +/* 00426E40 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426E44 AFB10010 */ sw $s1, 0x10($sp) +/* 00426E48 8C72FFF8 */ lw $s2, -8($v1) +/* 00426E4C 8FA60040 */ lw $a2, 0x40($sp) +/* 00426E50 02003825 */ move $a3, $s0 +/* 00426E54 0320F809 */ jalr $t9 +/* 00426E58 AFB20014 */ sw $s2, 0x14($sp) +/* 00426E5C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426E60 02802025 */ move $a0, $s4 +/* 00426E64 02602825 */ move $a1, $s3 +/* 00426E68 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426E6C 2406000D */ li $a2, 13 +/* 00426E70 0320F809 */ jalr $t9 +/* 00426E74 00000000 */ nop +/* 00426E78 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426E7C 240400CE */ li $a0, 206 +/* 00426E80 02602825 */ move $a1, $s3 +/* 00426E84 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00426E88 8FA6003C */ lw $a2, 0x3c($sp) +/* 00426E8C 02003825 */ move $a3, $s0 +/* 00426E90 AFB10010 */ sw $s1, 0x10($sp) +/* 00426E94 0320F809 */ jalr $t9 +/* 00426E98 AFB20014 */ sw $s2, 0x14($sp) +/* 00426E9C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00426EA0 26840001 */ addiu $a0, $s4, 1 +/* 00426EA4 02602825 */ move $a1, $s3 +/* 00426EA8 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00426EAC 2406000D */ li $a2, 13 +/* 00426EB0 0320F809 */ jalr $t9 +/* 00426EB4 00000000 */ nop +/* 00426EB8 8FBC0030 */ lw $gp, 0x30($sp) +.L00426EBC: +/* 00426EBC 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00426EC0 02602025 */ move $a0, $s3 +/* 00426EC4 0320F809 */ jalr $t9 +/* 00426EC8 00000000 */ nop +/* 00426ECC 8FBC0030 */ lw $gp, 0x30($sp) +.L00426ED0: +/* 00426ED0 8FBF0034 */ lw $ra, 0x34($sp) +/* 00426ED4 8FB0001C */ lw $s0, 0x1c($sp) +/* 00426ED8 8FB10020 */ lw $s1, 0x20($sp) +/* 00426EDC 8FB20024 */ lw $s2, 0x24($sp) +/* 00426EE0 8FB30028 */ lw $s3, 0x28($sp) +/* 00426EE4 8FB4002C */ lw $s4, 0x2c($sp) +/* 00426EE8 03E00008 */ jr $ra +/* 00426EEC 27BD0048 */ addiu $sp, $sp, 0x48 + +glabel iloadistore + .ent iloadistore + # 0042BDAC eval +/* 00426EF0 3C1C0FC0 */ .cpload $t9 +/* 00426EF4 279C8B60 */ +/* 00426EF8 0399E021 */ +/* 00426EFC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00426F00 AFBF0024 */ sw $ra, 0x24($sp) +/* 00426F04 AFBC0020 */ sw $gp, 0x20($sp) +/* 00426F08 AFA40038 */ sw $a0, 0x38($sp) +/* 00426F0C AFA5003C */ sw $a1, 0x3c($sp) +/* 00426F10 AFA60040 */ sw $a2, 0x40($sp) +/* 00426F14 AFA70044 */ sw $a3, 0x44($sp) +/* 00426F18 94830022 */ lhu $v1, 0x22($a0) +/* 00426F1C 00807025 */ move $t6, $a0 +/* 00426F20 8DCF0030 */ lw $t7, 0x30($t6) +/* 00426F24 04610002 */ bgez $v1, .L00426F30 +/* 00426F28 00600821 */ move $at, $v1 +/* 00426F2C 24610007 */ addiu $at, $v1, 7 +.L00426F30: +/* 00426F30 000118C3 */ sra $v1, $at, 3 +/* 00426F34 14600002 */ bnez $v1, .L00426F40 +/* 00426F38 AFAF0030 */ sw $t7, 0x30($sp) +/* 00426F3C 8DC30028 */ lw $v1, 0x28($t6) +.L00426F40: +/* 00426F40 8F9989C0 */ lw $t9, %got(align8)($gp) +/* 00426F44 8FB80038 */ lw $t8, 0x38($sp) +/* 00426F48 93390000 */ lbu $t9, ($t9) +/* 00426F4C 8F040028 */ lw $a0, 0x28($t8) +/* 00426F50 13200003 */ beqz $t9, .L00426F60 +/* 00426F54 28810005 */ slti $at, $a0, 5 +/* 00426F58 10000012 */ b .L00426FA4 +/* 00426F5C 24030001 */ li $v1, 1 +.L00426F60: +/* 00426F60 8F8889C4 */ lw $t0, %got(align16)($gp) +/* 00426F64 91080000 */ lbu $t0, ($t0) +/* 00426F68 11000003 */ beqz $t0, .L00426F78 +/* 00426F6C 00000000 */ nop +/* 00426F70 1000000C */ b .L00426FA4 +/* 00426F74 24030002 */ li $v1, 2 +.L00426F78: +/* 00426F78 8F8989C8 */ lw $t1, %got(align32)($gp) +/* 00426F7C 91290000 */ lbu $t1, ($t1) +/* 00426F80 11200003 */ beqz $t1, .L00426F90 +/* 00426F84 00000000 */ nop +/* 00426F88 10000006 */ b .L00426FA4 +/* 00426F8C 24030004 */ li $v1, 4 +.L00426F90: +/* 00426F90 8F8A89CC */ lw $t2, %got(align64)($gp) +/* 00426F94 914A0000 */ lbu $t2, ($t2) +/* 00426F98 11400002 */ beqz $t2, .L00426FA4 +/* 00426F9C 00000000 */ nop +/* 00426FA0 24030008 */ li $v1, 8 +.L00426FA4: +/* 00426FA4 14200081 */ bnez $at, .L004271AC +/* 00426FA8 0064082A */ slt $at, $v1, $a0 +/* 00426FAC 50200080 */ beql $at, $zero, .L004271B0 +/* 00426FB0 24010004 */ li $at, 4 +/* 00426FB4 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00426FB8 93A40043 */ lbu $a0, 0x43($sp) +/* 00426FBC AFA30034 */ sw $v1, 0x34($sp) +/* 00426FC0 0320F809 */ jalr $t9 +/* 00426FC4 00000000 */ nop +/* 00426FC8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00426FCC 1440000D */ bnez $v0, .L00427004 +/* 00426FD0 8FA30034 */ lw $v1, 0x34($sp) +/* 00426FD4 8FAB0038 */ lw $t3, 0x38($sp) +/* 00426FD8 3C01000C */ lui $at, 0xc +/* 00426FDC 34218000 */ ori $at, $at, 0x8000 +/* 00426FE0 916C0021 */ lbu $t4, 0x21($t3) +/* 00426FE4 318D001F */ andi $t5, $t4, 0x1f +/* 00426FE8 2DAF0020 */ sltiu $t7, $t5, 0x20 +/* 00426FEC 000F7023 */ negu $t6, $t7 +/* 00426FF0 01C1C024 */ and $t8, $t6, $at +/* 00426FF4 01B8C804 */ sllv $t9, $t8, $t5 +/* 00426FF8 07210009 */ bgez $t9, .L00427020 +/* 00426FFC 28610004 */ slti $at, $v1, 4 +/* 00427000 AFA30034 */ sw $v1, 0x34($sp) +.L00427004: +/* 00427004 8F99801C */ lw $t9, %got(func_00426C54)($gp) +/* 00427008 27A20038 */ addiu $v0, $sp, 0x38 +/* 0042700C 27396C54 */ addiu $t9, %lo(func_00426C54) # addiu $t9, $t9, 0x6c54 +/* 00427010 0320F809 */ jalr $t9 +/* 00427014 00000000 */ nop +/* 00427018 10000143 */ b .L00427528 +/* 0042701C 8FBC0020 */ lw $gp, 0x20($sp) +.L00427020: +/* 00427020 10200045 */ beqz $at, .L00427138 +/* 00427024 97AE003E */ lhu $t6, 0x3e($sp) +/* 00427028 8F8B898C */ lw $t3, %got(lsb_first)($gp) +/* 0042702C 97A3003E */ lhu $v1, 0x3e($sp) +/* 00427030 8F8988AC */ lw $t1, %got(double_to_singles)($gp) +/* 00427034 916B0000 */ lbu $t3, ($t3) +/* 00427038 00034040 */ sll $t0, $v1, 1 +/* 0042703C 01095021 */ addu $t2, $t0, $t1 +/* 00427040 1160001F */ beqz $t3, .L004270C0 +/* 00427044 95430000 */ lhu $v1, ($t2) +/* 00427048 8F8F88B0 */ lw $t7, %got(unaligned_load_store_tab)($gp) +/* 0042704C 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427050 8FA60044 */ lw $a2, 0x44($sp) +/* 00427054 93AE004F */ lbu $t6, 0x4f($sp) +/* 00427058 8FB80030 */ lw $t8, 0x30($sp) +/* 0042705C 00036040 */ sll $t4, $v1, 1 +/* 00427060 018F1021 */ addu $v0, $t4, $t7 +/* 00427064 94440000 */ lhu $a0, ($v0) +/* 00427068 AFA2002C */ sw $v0, 0x2c($sp) +/* 0042706C 93A50043 */ lbu $a1, 0x43($sp) +/* 00427070 8FA70048 */ lw $a3, 0x48($sp) +/* 00427074 24C60004 */ addiu $a2, $a2, 4 +/* 00427078 AFAE0010 */ sw $t6, 0x10($sp) +/* 0042707C 0320F809 */ jalr $t9 +/* 00427080 AFB80014 */ sw $t8, 0x14($sp) +/* 00427084 8FB90030 */ lw $t9, 0x30($sp) +/* 00427088 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042708C 8FA2002C */ lw $v0, 0x2c($sp) +/* 00427090 AFB90014 */ sw $t9, 0x14($sp) +/* 00427094 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427098 93A50043 */ lbu $a1, 0x43($sp) +/* 0042709C 93AD004F */ lbu $t5, 0x4f($sp) +/* 004270A0 8FA60044 */ lw $a2, 0x44($sp) +/* 004270A4 8FA70048 */ lw $a3, 0x48($sp) +/* 004270A8 94440000 */ lhu $a0, ($v0) +/* 004270AC 24A50001 */ addiu $a1, $a1, 1 +/* 004270B0 0320F809 */ jalr $t9 +/* 004270B4 AFAD0010 */ sw $t5, 0x10($sp) +/* 004270B8 1000011B */ b .L00427528 +/* 004270BC 8FBC0020 */ lw $gp, 0x20($sp) +.L004270C0: +/* 004270C0 8F8988B0 */ lw $t1, %got(unaligned_load_store_tab)($gp) +/* 004270C4 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 004270C8 93AA004F */ lbu $t2, 0x4f($sp) +/* 004270CC 8FAB0030 */ lw $t3, 0x30($sp) +/* 004270D0 00034040 */ sll $t0, $v1, 1 +/* 004270D4 01091021 */ addu $v0, $t0, $t1 +/* 004270D8 94440000 */ lhu $a0, ($v0) +/* 004270DC AFA2002C */ sw $v0, 0x2c($sp) +/* 004270E0 93A50043 */ lbu $a1, 0x43($sp) +/* 004270E4 8FA60044 */ lw $a2, 0x44($sp) +/* 004270E8 8FA70048 */ lw $a3, 0x48($sp) +/* 004270EC AFAA0010 */ sw $t2, 0x10($sp) +/* 004270F0 0320F809 */ jalr $t9 +/* 004270F4 AFAB0014 */ sw $t3, 0x14($sp) +/* 004270F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004270FC 8FA2002C */ lw $v0, 0x2c($sp) +/* 00427100 93A50043 */ lbu $a1, 0x43($sp) +/* 00427104 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427108 8FA60044 */ lw $a2, 0x44($sp) +/* 0042710C 93AC004F */ lbu $t4, 0x4f($sp) +/* 00427110 8FAF0030 */ lw $t7, 0x30($sp) +/* 00427114 8FA70048 */ lw $a3, 0x48($sp) +/* 00427118 94440000 */ lhu $a0, ($v0) +/* 0042711C 24A50001 */ addiu $a1, $a1, 1 +/* 00427120 24C60004 */ addiu $a2, $a2, 4 +/* 00427124 AFAC0010 */ sw $t4, 0x10($sp) +/* 00427128 0320F809 */ jalr $t9 +/* 0042712C AFAF0014 */ sw $t7, 0x14($sp) +/* 00427130 100000FD */ b .L00427528 +/* 00427134 8FBC0020 */ lw $gp, 0x20($sp) +.L00427138: +/* 00427138 8F8D88AC */ lw $t5, %got(double_to_singles)($gp) +/* 0042713C 000EC040 */ sll $t8, $t6, 1 +/* 00427140 93A9004F */ lbu $t1, 0x4f($sp) +/* 00427144 030DC821 */ addu $t9, $t8, $t5 +/* 00427148 97240000 */ lhu $a0, ($t9) +/* 0042714C 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427150 8FAA0030 */ lw $t2, 0x30($sp) +/* 00427154 93A50043 */ lbu $a1, 0x43($sp) +/* 00427158 8FA60044 */ lw $a2, 0x44($sp) +/* 0042715C 8FA70048 */ lw $a3, 0x48($sp) +/* 00427160 AFA90010 */ sw $t1, 0x10($sp) +/* 00427164 A7A4003E */ sh $a0, 0x3e($sp) +/* 00427168 0320F809 */ jalr $t9 +/* 0042716C AFAA0014 */ sw $t2, 0x14($sp) +/* 00427170 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427174 93A50043 */ lbu $a1, 0x43($sp) +/* 00427178 8FA60044 */ lw $a2, 0x44($sp) +/* 0042717C 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427180 93AB004F */ lbu $t3, 0x4f($sp) +/* 00427184 8FAC0030 */ lw $t4, 0x30($sp) +/* 00427188 97A4003E */ lhu $a0, 0x3e($sp) +/* 0042718C 8FA70048 */ lw $a3, 0x48($sp) +/* 00427190 24A50001 */ addiu $a1, $a1, 1 +/* 00427194 24C60004 */ addiu $a2, $a2, 4 +/* 00427198 AFAB0010 */ sw $t3, 0x10($sp) +/* 0042719C 0320F809 */ jalr $t9 +/* 004271A0 AFAC0014 */ sw $t4, 0x14($sp) +/* 004271A4 100000E0 */ b .L00427528 +/* 004271A8 8FBC0020 */ lw $gp, 0x20($sp) +.L004271AC: +/* 004271AC 24010004 */ li $at, 4 +.L004271B0: +/* 004271B0 14810033 */ bne $a0, $at, .L00427280 +/* 004271B4 0064082A */ slt $at, $v1, $a0 +/* 004271B8 1420000E */ bnez $at, .L004271F4 +/* 004271BC 8FAF0044 */ lw $t7, 0x44($sp) +/* 004271C0 01E3001A */ div $zero, $t7, $v1 +/* 004271C4 00007010 */ mfhi $t6 +/* 004271C8 14600002 */ bnez $v1, .L004271D4 +/* 004271CC 00000000 */ nop +/* 004271D0 0007000D */ break 7 +.L004271D4: +/* 004271D4 2401FFFF */ li $at, -1 +/* 004271D8 14610004 */ bne $v1, $at, .L004271EC +/* 004271DC 3C018000 */ lui $at, 0x8000 +/* 004271E0 15E10002 */ bne $t7, $at, .L004271EC +/* 004271E4 00000000 */ nop +/* 004271E8 0006000D */ break 6 +.L004271EC: +/* 004271EC 51C00025 */ beql $t6, $zero, .L00427284 +/* 004271F0 8FAE0038 */ lw $t6, 0x38($sp) +.L004271F4: +/* 004271F4 8FB80038 */ lw $t8, 0x38($sp) +/* 004271F8 2401000D */ li $at, 13 +/* 004271FC 930D0021 */ lbu $t5, 0x21($t8) +/* 00427200 31B9001F */ andi $t9, $t5, 0x1f +/* 00427204 13210007 */ beq $t9, $at, .L00427224 +/* 00427208 00000000 */ nop +/* 0042720C 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00427210 93A40043 */ lbu $a0, 0x43($sp) +/* 00427214 0320F809 */ jalr $t9 +/* 00427218 00000000 */ nop +/* 0042721C 10400008 */ beqz $v0, .L00427240 +/* 00427220 8FBC0020 */ lw $gp, 0x20($sp) +.L00427224: +/* 00427224 8F99801C */ lw $t9, %got(func_00426B44)($gp) +/* 00427228 27A20038 */ addiu $v0, $sp, 0x38 +/* 0042722C 27396B44 */ addiu $t9, %lo(func_00426B44) # addiu $t9, $t9, 0x6b44 +/* 00427230 0320F809 */ jalr $t9 +/* 00427234 00000000 */ nop +/* 00427238 100000BB */ b .L00427528 +/* 0042723C 8FBC0020 */ lw $gp, 0x20($sp) +.L00427240: +/* 00427240 97A8003E */ lhu $t0, 0x3e($sp) +/* 00427244 8F8A88B0 */ lw $t2, %got(unaligned_load_store_tab)($gp) +/* 00427248 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 0042724C 00084840 */ sll $t1, $t0, 1 +/* 00427250 93AC004F */ lbu $t4, 0x4f($sp) +/* 00427254 8FAF0030 */ lw $t7, 0x30($sp) +/* 00427258 012A5821 */ addu $t3, $t1, $t2 +/* 0042725C 95640000 */ lhu $a0, ($t3) +/* 00427260 93A50043 */ lbu $a1, 0x43($sp) +/* 00427264 8FA60044 */ lw $a2, 0x44($sp) +/* 00427268 8FA70048 */ lw $a3, 0x48($sp) +/* 0042726C AFAC0010 */ sw $t4, 0x10($sp) +/* 00427270 0320F809 */ jalr $t9 +/* 00427274 AFAF0014 */ sw $t7, 0x14($sp) +/* 00427278 100000AB */ b .L00427528 +/* 0042727C 8FBC0020 */ lw $gp, 0x20($sp) +.L00427280: +/* 00427280 8FAE0038 */ lw $t6, 0x38($sp) +.L00427284: +/* 00427284 3C01000C */ lui $at, 0xc +/* 00427288 34218000 */ ori $at, $at, 0x8000 +/* 0042728C 91C20021 */ lbu $v0, 0x21($t6) +/* 00427290 3042001F */ andi $v0, $v0, 0x1f +/* 00427294 2C580020 */ sltiu $t8, $v0, 0x20 +/* 00427298 00186823 */ negu $t5, $t8 +/* 0042729C 01A1C824 */ and $t9, $t5, $at +/* 004272A0 00594004 */ sllv $t0, $t9, $v0 +/* 004272A4 0501000D */ bgez $t0, .L004272DC +/* 004272A8 2C4B0020 */ sltiu $t3, $v0, 0x20 +/* 004272AC 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 004272B0 93A9004F */ lbu $t1, 0x4f($sp) +/* 004272B4 8FAA0030 */ lw $t2, 0x30($sp) +/* 004272B8 97A4003E */ lhu $a0, 0x3e($sp) +/* 004272BC 93A50043 */ lbu $a1, 0x43($sp) +/* 004272C0 8FA60044 */ lw $a2, 0x44($sp) +/* 004272C4 8FA70048 */ lw $a3, 0x48($sp) +/* 004272C8 AFA90010 */ sw $t1, 0x10($sp) +/* 004272CC 0320F809 */ jalr $t9 +/* 004272D0 AFAA0014 */ sw $t2, 0x14($sp) +/* 004272D4 10000094 */ b .L00427528 +/* 004272D8 8FBC0020 */ lw $gp, 0x20($sp) +.L004272DC: +/* 004272DC 000B6023 */ negu $t4, $t3 +/* 004272E0 3C010501 */ lui $at, 0x501 +/* 004272E4 01817824 */ and $t7, $t4, $at +/* 004272E8 004F7004 */ sllv $t6, $t7, $v0 +/* 004272EC 05C30049 */ bgezl $t6, .L00427414 +/* 004272F0 8FAE0044 */ lw $t6, 0x44($sp) +/* 004272F4 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 004272F8 93180000 */ lbu $t8, ($t8) +/* 004272FC 57000045 */ bnel $t8, $zero, .L00427414 +/* 00427300 8FAE0044 */ lw $t6, 0x44($sp) +/* 00427304 97AD003E */ lhu $t5, 0x3e($sp) +/* 00427308 3C01000C */ lui $at, 0xc +/* 0042730C 25B9FFA0 */ addiu $t9, $t5, -0x60 +/* 00427310 2F280020 */ sltiu $t0, $t9, 0x20 +/* 00427314 00084823 */ negu $t1, $t0 +/* 00427318 01215024 */ and $t2, $t1, $at +/* 0042731C 032A5804 */ sllv $t3, $t2, $t9 +/* 00427320 0563003C */ bgezl $t3, .L00427414 +/* 00427324 8FAE0044 */ lw $t6, 0x44($sp) +/* 00427328 8F8F88AC */ lw $t7, %got(double_to_singles)($gp) +/* 0042732C 000D6040 */ sll $t4, $t5, 1 +/* 00427330 93A8004F */ lbu $t0, 0x4f($sp) +/* 00427334 93A90043 */ lbu $t1, 0x43($sp) +/* 00427338 018F7021 */ addu $t6, $t4, $t7 +/* 0042733C 95D80000 */ lhu $t8, ($t6) +/* 00427340 15090010 */ bne $t0, $t1, .L00427384 +/* 00427344 A7B8003E */ sh $t8, 0x3e($sp) +/* 00427348 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042734C 24040020 */ li $a0, 32 +/* 00427350 24050006 */ li $a1, 6 +/* 00427354 0320F809 */ jalr $t9 +/* 00427358 00000000 */ nop +/* 0042735C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427360 24040031 */ li $a0, 49 +/* 00427364 24050001 */ li $a1, 1 +/* 00427368 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042736C 93A6004F */ lbu $a2, 0x4f($sp) +/* 00427370 0320F809 */ jalr $t9 +/* 00427374 00000000 */ nop +/* 00427378 240A0001 */ li $t2, 1 +/* 0042737C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427380 A3AA004F */ sb $t2, 0x4f($sp) +.L00427384: +/* 00427384 93B9004F */ lbu $t9, 0x4f($sp) +/* 00427388 8FAB0030 */ lw $t3, 0x30($sp) +/* 0042738C 97A4003E */ lhu $a0, 0x3e($sp) +/* 00427390 AFB90010 */ sw $t9, 0x10($sp) +/* 00427394 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427398 93A50043 */ lbu $a1, 0x43($sp) +/* 0042739C 8FA60044 */ lw $a2, 0x44($sp) +/* 004273A0 8FA70048 */ lw $a3, 0x48($sp) +/* 004273A4 0320F809 */ jalr $t9 +/* 004273A8 AFAB0014 */ sw $t3, 0x14($sp) +/* 004273AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004273B0 93A50043 */ lbu $a1, 0x43($sp) +/* 004273B4 8FA60044 */ lw $a2, 0x44($sp) +/* 004273B8 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 004273BC 93AD004F */ lbu $t5, 0x4f($sp) +/* 004273C0 8FAC0030 */ lw $t4, 0x30($sp) +/* 004273C4 97A4003E */ lhu $a0, 0x3e($sp) +/* 004273C8 8FA70048 */ lw $a3, 0x48($sp) +/* 004273CC 24A50001 */ addiu $a1, $a1, 1 +/* 004273D0 24C60004 */ addiu $a2, $a2, 4 +/* 004273D4 AFAD0010 */ sw $t5, 0x10($sp) +/* 004273D8 0320F809 */ jalr $t9 +/* 004273DC AFAC0014 */ sw $t4, 0x14($sp) +/* 004273E0 93AF004F */ lbu $t7, 0x4f($sp) +/* 004273E4 24010001 */ li $at, 1 +/* 004273E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004273EC 55E1004F */ bnel $t7, $at, .L0042752C +/* 004273F0 8FBF0024 */ lw $ra, 0x24($sp) +/* 004273F4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004273F8 24040020 */ li $a0, 32 +/* 004273FC 24050005 */ li $a1, 5 +/* 00427400 0320F809 */ jalr $t9 +/* 00427404 00000000 */ nop +/* 00427408 10000047 */ b .L00427528 +/* 0042740C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427410 8FAE0044 */ lw $t6, 0x44($sp) +.L00427414: +/* 00427414 97A8003E */ lhu $t0, 0x3e($sp) +/* 00427418 93A50043 */ lbu $a1, 0x43($sp) +/* 0042741C 01C4001A */ div $zero, $t6, $a0 +/* 00427420 14800002 */ bnez $a0, .L0042742C +/* 00427424 00000000 */ nop +/* 00427428 0007000D */ break 7 +.L0042742C: +/* 0042742C 2401FFFF */ li $at, -1 +/* 00427430 14810004 */ bne $a0, $at, .L00427444 +/* 00427434 3C018000 */ lui $at, 0x8000 +/* 00427438 15C10002 */ bne $t6, $at, .L00427444 +/* 0042743C 00000000 */ nop +/* 00427440 0006000D */ break 6 +.L00427444: +/* 00427444 0000C010 */ mfhi $t8 +/* 00427448 24010001 */ li $at, 1 +/* 0042744C 1300000E */ beqz $t8, .L00427488 +/* 00427450 00084840 */ sll $t1, $t0, 1 +/* 00427454 8F8A88B0 */ lw $t2, %got(unaligned_load_store_tab)($gp) +/* 00427458 93AB004F */ lbu $t3, 0x4f($sp) +/* 0042745C 8FAD0030 */ lw $t5, 0x30($sp) +/* 00427460 012AC821 */ addu $t9, $t1, $t2 +/* 00427464 97240000 */ lhu $a0, ($t9) +/* 00427468 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 0042746C 01C03025 */ move $a2, $t6 +/* 00427470 8FA70048 */ lw $a3, 0x48($sp) +/* 00427474 AFAB0010 */ sw $t3, 0x10($sp) +/* 00427478 0320F809 */ jalr $t9 +/* 0042747C AFAD0014 */ sw $t5, 0x14($sp) +/* 00427480 10000029 */ b .L00427528 +/* 00427484 8FBC0020 */ lw $gp, 0x20($sp) +.L00427488: +/* 00427488 1461001C */ bne $v1, $at, .L004274FC +/* 0042748C 97AC003E */ lhu $t4, 0x3e($sp) +/* 00427490 258FFFE0 */ addiu $t7, $t4, -0x20 +/* 00427494 2DF80040 */ sltiu $t8, $t7, 0x40 +/* 00427498 13000009 */ beqz $t8, .L004274C0 +/* 0042749C 93A50043 */ lbu $a1, 0x43($sp) +/* 004274A0 8F8A8038 */ lw $t2, %got(D_10016108)($gp) +/* 004274A4 000F4143 */ sra $t0, $t7, 5 +/* 004274A8 00084880 */ sll $t1, $t0, 2 +/* 004274AC 254A6108 */ addiu $t2, %lo(D_10016108) # addiu $t2, $t2, 0x6108 +/* 004274B0 0149C821 */ addu $t9, $t2, $t1 +/* 004274B4 8F2E0000 */ lw $t6, ($t9) +/* 004274B8 01EE5804 */ sllv $t3, $t6, $t7 +/* 004274BC 29780000 */ slti $t8, $t3, 0 +.L004274C0: +/* 004274C0 1300000E */ beqz $t8, .L004274FC +/* 004274C4 000C4040 */ sll $t0, $t4, 1 +/* 004274C8 8F8A88B0 */ lw $t2, %got(unaligned_load_store_tab)($gp) +/* 004274CC 93B9004F */ lbu $t9, 0x4f($sp) +/* 004274D0 8FAE0030 */ lw $t6, 0x30($sp) +/* 004274D4 010A4821 */ addu $t1, $t0, $t2 +/* 004274D8 95240000 */ lhu $a0, ($t1) +/* 004274DC AFB90010 */ sw $t9, 0x10($sp) +/* 004274E0 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 004274E4 8FA60044 */ lw $a2, 0x44($sp) +/* 004274E8 8FA70048 */ lw $a3, 0x48($sp) +/* 004274EC 0320F809 */ jalr $t9 +/* 004274F0 AFAE0014 */ sw $t6, 0x14($sp) +/* 004274F4 1000000C */ b .L00427528 +/* 004274F8 8FBC0020 */ lw $gp, 0x20($sp) +.L004274FC: +/* 004274FC 8F9981E4 */ lw $t9, %call16(emit_rab)($gp) +/* 00427500 93AF004F */ lbu $t7, 0x4f($sp) +/* 00427504 8FAB0030 */ lw $t3, 0x30($sp) +/* 00427508 97A4003E */ lhu $a0, 0x3e($sp) +/* 0042750C 93A50043 */ lbu $a1, 0x43($sp) +/* 00427510 8FA60044 */ lw $a2, 0x44($sp) +/* 00427514 8FA70048 */ lw $a3, 0x48($sp) +/* 00427518 AFAF0010 */ sw $t7, 0x10($sp) +/* 0042751C 0320F809 */ jalr $t9 +/* 00427520 AFAB0014 */ sw $t3, 0x14($sp) +/* 00427524 8FBC0020 */ lw $gp, 0x20($sp) +.L00427528: +/* 00427528 8FBF0024 */ lw $ra, 0x24($sp) +.L0042752C: +/* 0042752C 27BD0038 */ addiu $sp, $sp, 0x38 +/* 00427530 03E00008 */ jr $ra +/* 00427534 00000000 */ nop + .type iloadistore, @function + .size iloadistore, .-iloadistore + .end iloadistore + + .type func_00427538, @function +func_00427538: + # 00427620 rloadrstore +/* 00427538 3C1C0FC0 */ .cpload $t9 +/* 0042753C 279C8518 */ +/* 00427540 0399E021 */ +/* 00427544 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00427548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0042754C AFBF0024 */ sw $ra, 0x24($sp) +/* 00427550 AFB0001C */ sw $s0, 0x1c($sp) +/* 00427554 00408025 */ move $s0, $v0 +/* 00427558 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042755C 24040020 */ li $a0, 32 +/* 00427560 0320F809 */ jalr $t9 +/* 00427564 24050006 */ li $a1, 6 +/* 00427568 960E0006 */ lhu $t6, 6($s0) +/* 0042756C 24010079 */ li $at, 121 +/* 00427570 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427574 15C10011 */ bne $t6, $at, .L004275BC +/* 00427578 240400CE */ li $a0, 206 +/* 0042757C 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427580 24040001 */ li $a0, 1 +/* 00427584 9205000B */ lbu $a1, 0xb($s0) +/* 00427588 0320F809 */ jalr $t9 +/* 0042758C 2406000D */ li $a2, 13 +/* 00427590 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427594 920F0013 */ lbu $t7, 0x13($s0) +/* 00427598 8E07000C */ lw $a3, 0xc($s0) +/* 0042759C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004275A0 240400D1 */ li $a0, 209 +/* 004275A4 24050001 */ li $a1, 1 +/* 004275A8 00003025 */ move $a2, $zero +/* 004275AC 0320F809 */ jalr $t9 +/* 004275B0 AFAF0010 */ sw $t7, 0x10($sp) +/* 004275B4 10000010 */ b .L004275F8 +/* 004275B8 8FBC0020 */ lw $gp, 0x20($sp) +.L004275BC: +/* 004275BC 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004275C0 92180013 */ lbu $t8, 0x13($s0) +/* 004275C4 8E07000C */ lw $a3, 0xc($s0) +/* 004275C8 24050001 */ li $a1, 1 +/* 004275CC 00003025 */ move $a2, $zero +/* 004275D0 0320F809 */ jalr $t9 +/* 004275D4 AFB80010 */ sw $t8, 0x10($sp) +/* 004275D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004275DC 9204000B */ lbu $a0, 0xb($s0) +/* 004275E0 24050001 */ li $a1, 1 +/* 004275E4 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004275E8 2406000D */ li $a2, 13 +/* 004275EC 0320F809 */ jalr $t9 +/* 004275F0 00000000 */ nop +/* 004275F4 8FBC0020 */ lw $gp, 0x20($sp) +.L004275F8: +/* 004275F8 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004275FC 24040020 */ li $a0, 32 +/* 00427600 24050005 */ li $a1, 5 +/* 00427604 0320F809 */ jalr $t9 +/* 00427608 00000000 */ nop +/* 0042760C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00427610 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427614 8FB0001C */ lw $s0, 0x1c($sp) +/* 00427618 03E00008 */ jr $ra +/* 0042761C 27BD0028 */ addiu $sp, $sp, 0x28 + +glabel rloadrstore + .ent rloadrstore + # 0042BDAC eval +/* 00427620 3C1C0FC0 */ .cpload $t9 +/* 00427624 279C8430 */ +/* 00427628 0399E021 */ +/* 0042762C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00427630 94830022 */ lhu $v1, 0x22($a0) +/* 00427634 AFB10024 */ sw $s1, 0x24($sp) +/* 00427638 AFB00020 */ sw $s0, 0x20($sp) +/* 0042763C 30B0FFFF */ andi $s0, $a1, 0xffff +/* 00427640 30D100FF */ andi $s1, $a2, 0xff +/* 00427644 AFBF002C */ sw $ra, 0x2c($sp) +/* 00427648 AFBC0028 */ sw $gp, 0x28($sp) +/* 0042764C AFA5003C */ sw $a1, 0x3c($sp) +/* 00427650 AFA60040 */ sw $a2, 0x40($sp) +/* 00427654 AFA70044 */ sw $a3, 0x44($sp) +/* 00427658 04610002 */ bgez $v1, .L00427664 +/* 0042765C 00600821 */ move $at, $v1 +/* 00427660 24610007 */ addiu $at, $v1, 7 +.L00427664: +/* 00427664 000118C3 */ sra $v1, $at, 3 +/* 00427668 54600003 */ bnel $v1, $zero, .L00427678 +/* 0042766C 8C820028 */ lw $v0, 0x28($a0) +/* 00427670 8C830028 */ lw $v1, 0x28($a0) +/* 00427674 8C820028 */ lw $v0, 0x28($a0) +.L00427678: +/* 00427678 28410005 */ slti $at, $v0, 5 +/* 0042767C 54200094 */ bnel $at, $zero, .L004278D0 +/* 00427680 24010004 */ li $at, 4 +/* 00427684 8F8E89C8 */ lw $t6, %got(align32)($gp) +/* 00427688 0062082A */ slt $at, $v1, $v0 +/* 0042768C 91CE0000 */ lbu $t6, ($t6) +/* 00427690 15C00003 */ bnez $t6, .L004276A0 +/* 00427694 00000000 */ nop +/* 00427698 5020008D */ beql $at, $zero, .L004278D0 +/* 0042769C 24010004 */ li $at, 4 +.L004276A0: +/* 004276A0 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 004276A4 02202025 */ move $a0, $s1 +/* 004276A8 AFA30034 */ sw $v1, 0x34($sp) +/* 004276AC 0320F809 */ jalr $t9 +/* 004276B0 00000000 */ nop +/* 004276B4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004276B8 10400034 */ beqz $v0, .L0042778C +/* 004276BC 8FA30034 */ lw $v1, 0x34($sp) +/* 004276C0 8F8F898C */ lw $t7, %got(lsb_first)($gp) +/* 004276C4 00105040 */ sll $t2, $s0, 1 +/* 004276C8 02202825 */ move $a1, $s1 +/* 004276CC 91EF0000 */ lbu $t7, ($t7) +/* 004276D0 24060004 */ li $a2, 4 +/* 004276D4 8FA70044 */ lw $a3, 0x44($sp) +/* 004276D8 11E00019 */ beqz $t7, .L00427740 +/* 004276DC 93AC004B */ lbu $t4, 0x4b($sp) +/* 004276E0 8F9988AC */ lw $t9, %got(double_to_singles)($gp) +/* 004276E4 0010C040 */ sll $t8, $s0, 1 +/* 004276E8 93A8004B */ lbu $t0, 0x4b($sp) +/* 004276EC 03191021 */ addu $v0, $t8, $t9 +/* 004276F0 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004276F4 94440000 */ lhu $a0, ($v0) +/* 004276F8 AFA20030 */ sw $v0, 0x30($sp) +/* 004276FC 02202825 */ move $a1, $s1 +/* 00427700 00003025 */ move $a2, $zero +/* 00427704 8FA70044 */ lw $a3, 0x44($sp) +/* 00427708 0320F809 */ jalr $t9 +/* 0042770C AFA80010 */ sw $t0, 0x10($sp) +/* 00427710 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427714 8FA20030 */ lw $v0, 0x30($sp) +/* 00427718 93A9004B */ lbu $t1, 0x4b($sp) +/* 0042771C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427720 26250001 */ addiu $a1, $s1, 1 +/* 00427724 24060004 */ li $a2, 4 +/* 00427728 8FA70044 */ lw $a3, 0x44($sp) +/* 0042772C 94440000 */ lhu $a0, ($v0) +/* 00427730 0320F809 */ jalr $t9 +/* 00427734 AFA90010 */ sw $t1, 0x10($sp) +/* 00427738 100000FD */ b .L00427B30 +/* 0042773C 8FBC0028 */ lw $gp, 0x28($sp) +.L00427740: +/* 00427740 8F8B88AC */ lw $t3, %got(double_to_singles)($gp) +/* 00427744 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427748 AFAC0010 */ sw $t4, 0x10($sp) +/* 0042774C 014B1021 */ addu $v0, $t2, $t3 +/* 00427750 94440000 */ lhu $a0, ($v0) +/* 00427754 0320F809 */ jalr $t9 +/* 00427758 AFA20030 */ sw $v0, 0x30($sp) +/* 0042775C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427760 8FA20030 */ lw $v0, 0x30($sp) +/* 00427764 93AD004B */ lbu $t5, 0x4b($sp) +/* 00427768 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 0042776C 26250001 */ addiu $a1, $s1, 1 +/* 00427770 00003025 */ move $a2, $zero +/* 00427774 8FA70044 */ lw $a3, 0x44($sp) +/* 00427778 94440000 */ lhu $a0, ($v0) +/* 0042777C 0320F809 */ jalr $t9 +/* 00427780 AFAD0010 */ sw $t5, 0x10($sp) +/* 00427784 100000EA */ b .L00427B30 +/* 00427788 8FBC0028 */ lw $gp, 0x28($sp) +.L0042778C: +/* 0042778C 28610004 */ slti $at, $v1, 4 +/* 00427790 10200038 */ beqz $at, .L00427874 +/* 00427794 0010C040 */ sll $t8, $s0, 1 +/* 00427798 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 0042779C 8F8F88AC */ lw $t7, %got(double_to_singles)($gp) +/* 004277A0 00107040 */ sll $t6, $s0, 1 +/* 004277A4 93390000 */ lbu $t9, ($t9) +/* 004277A8 01CFC021 */ addu $t8, $t6, $t7 +/* 004277AC 97100000 */ lhu $s0, ($t8) +/* 004277B0 13200019 */ beqz $t9, .L00427818 +/* 004277B4 02202825 */ move $a1, $s1 +/* 004277B8 8F8988B0 */ lw $t1, %got(unaligned_load_store_tab)($gp) +/* 004277BC 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004277C0 93AA004B */ lbu $t2, 0x4b($sp) +/* 004277C4 00104040 */ sll $t0, $s0, 1 +/* 004277C8 01091021 */ addu $v0, $t0, $t1 +/* 004277CC 94440000 */ lhu $a0, ($v0) +/* 004277D0 AFA20030 */ sw $v0, 0x30($sp) +/* 004277D4 02202825 */ move $a1, $s1 +/* 004277D8 24060004 */ li $a2, 4 +/* 004277DC 8FA70044 */ lw $a3, 0x44($sp) +/* 004277E0 0320F809 */ jalr $t9 +/* 004277E4 AFAA0010 */ sw $t2, 0x10($sp) +/* 004277E8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004277EC 8FA20030 */ lw $v0, 0x30($sp) +/* 004277F0 93AB004B */ lbu $t3, 0x4b($sp) +/* 004277F4 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004277F8 26250001 */ addiu $a1, $s1, 1 +/* 004277FC 00003025 */ move $a2, $zero +/* 00427800 8FA70044 */ lw $a3, 0x44($sp) +/* 00427804 94440000 */ lhu $a0, ($v0) +/* 00427808 0320F809 */ jalr $t9 +/* 0042780C AFAB0010 */ sw $t3, 0x10($sp) +/* 00427810 100000C7 */ b .L00427B30 +/* 00427814 8FBC0028 */ lw $gp, 0x28($sp) +.L00427818: +/* 00427818 8F8D88B0 */ lw $t5, %got(unaligned_load_store_tab)($gp) +/* 0042781C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427820 93AE004B */ lbu $t6, 0x4b($sp) +/* 00427824 00106040 */ sll $t4, $s0, 1 +/* 00427828 018D1021 */ addu $v0, $t4, $t5 +/* 0042782C 94440000 */ lhu $a0, ($v0) +/* 00427830 AFA20030 */ sw $v0, 0x30($sp) +/* 00427834 00003025 */ move $a2, $zero +/* 00427838 8FA70044 */ lw $a3, 0x44($sp) +/* 0042783C 0320F809 */ jalr $t9 +/* 00427840 AFAE0010 */ sw $t6, 0x10($sp) +/* 00427844 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427848 8FA20030 */ lw $v0, 0x30($sp) +/* 0042784C 93AF004B */ lbu $t7, 0x4b($sp) +/* 00427850 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427854 26250001 */ addiu $a1, $s1, 1 +/* 00427858 24060004 */ li $a2, 4 +/* 0042785C 8FA70044 */ lw $a3, 0x44($sp) +/* 00427860 94440000 */ lhu $a0, ($v0) +/* 00427864 0320F809 */ jalr $t9 +/* 00427868 AFAF0010 */ sw $t7, 0x10($sp) +/* 0042786C 100000B0 */ b .L00427B30 +/* 00427870 8FBC0028 */ lw $gp, 0x28($sp) +.L00427874: +/* 00427874 8F9988AC */ lw $t9, %got(double_to_singles)($gp) +/* 00427878 93A9004B */ lbu $t1, 0x4b($sp) +/* 0042787C 02202825 */ move $a1, $s1 +/* 00427880 03194021 */ addu $t0, $t8, $t9 +/* 00427884 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427888 95100000 */ lhu $s0, ($t0) +/* 0042788C 00003025 */ move $a2, $zero +/* 00427890 8FA70044 */ lw $a3, 0x44($sp) +/* 00427894 AFA90010 */ sw $t1, 0x10($sp) +/* 00427898 0320F809 */ jalr $t9 +/* 0042789C 02002025 */ move $a0, $s0 +/* 004278A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004278A4 93AA004B */ lbu $t2, 0x4b($sp) +/* 004278A8 02002025 */ move $a0, $s0 +/* 004278AC 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 004278B0 26250001 */ addiu $a1, $s1, 1 +/* 004278B4 24060004 */ li $a2, 4 +/* 004278B8 8FA70044 */ lw $a3, 0x44($sp) +/* 004278BC 0320F809 */ jalr $t9 +/* 004278C0 AFAA0010 */ sw $t2, 0x10($sp) +/* 004278C4 1000009A */ b .L00427B30 +/* 004278C8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004278CC 24010004 */ li $at, 4 +.L004278D0: +/* 004278D0 1441001C */ bne $v0, $at, .L00427944 +/* 004278D4 0062082A */ slt $at, $v1, $v0 +/* 004278D8 5020001B */ beql $at, $zero, .L00427948 +/* 004278DC 90820021 */ lbu $v0, 0x21($a0) +/* 004278E0 908B0021 */ lbu $t3, 0x21($a0) +/* 004278E4 2401000D */ li $at, 13 +/* 004278E8 00106840 */ sll $t5, $s0, 1 +/* 004278EC 316C001F */ andi $t4, $t3, 0x1f +/* 004278F0 15810009 */ bne $t4, $at, .L00427918 +/* 004278F4 02202825 */ move $a1, $s1 +/* 004278F8 8F99801C */ lw $t9, %got(func_00427538)($gp) +/* 004278FC A3B10043 */ sb $s1, 0x43($sp) +/* 00427900 A7B0003E */ sh $s0, 0x3e($sp) +/* 00427904 27397538 */ addiu $t9, %lo(func_00427538) # addiu $t9, $t9, 0x7538 +/* 00427908 0320F809 */ jalr $t9 +/* 0042790C 27A20038 */ addiu $v0, $sp, 0x38 +/* 00427910 10000087 */ b .L00427B30 +/* 00427914 8FBC0028 */ lw $gp, 0x28($sp) +.L00427918: +/* 00427918 8F8E88B0 */ lw $t6, %got(unaligned_load_store_tab)($gp) +/* 0042791C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427920 93B8004B */ lbu $t8, 0x4b($sp) +/* 00427924 01AE7821 */ addu $t7, $t5, $t6 +/* 00427928 95E40000 */ lhu $a0, ($t7) +/* 0042792C 00003025 */ move $a2, $zero +/* 00427930 8FA70044 */ lw $a3, 0x44($sp) +/* 00427934 0320F809 */ jalr $t9 +/* 00427938 AFB80010 */ sw $t8, 0x10($sp) +/* 0042793C 1000007C */ b .L00427B30 +/* 00427940 8FBC0028 */ lw $gp, 0x28($sp) +.L00427944: +/* 00427944 90820021 */ lbu $v0, 0x21($a0) +.L00427948: +/* 00427948 3C01000C */ lui $at, 0xc +/* 0042794C 34218000 */ ori $at, $at, 0x8000 +/* 00427950 3042001F */ andi $v0, $v0, 0x1f +/* 00427954 2C590020 */ sltiu $t9, $v0, 0x20 +/* 00427958 00194023 */ negu $t0, $t9 +/* 0042795C 01014824 */ and $t1, $t0, $at +/* 00427960 00495004 */ sllv $t2, $t1, $v0 +/* 00427964 0541000B */ bgez $t2, .L00427994 +/* 00427968 2C4C0020 */ sltiu $t4, $v0, 0x20 +/* 0042796C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427970 93AB004B */ lbu $t3, 0x4b($sp) +/* 00427974 02002025 */ move $a0, $s0 +/* 00427978 02202825 */ move $a1, $s1 +/* 0042797C 00003025 */ move $a2, $zero +/* 00427980 8FA70044 */ lw $a3, 0x44($sp) +/* 00427984 0320F809 */ jalr $t9 +/* 00427988 AFAB0010 */ sw $t3, 0x10($sp) +/* 0042798C 10000068 */ b .L00427B30 +/* 00427990 8FBC0028 */ lw $gp, 0x28($sp) +.L00427994: +/* 00427994 000C6823 */ negu $t5, $t4 +/* 00427998 3C010501 */ lui $at, 0x501 +/* 0042799C 01A17024 */ and $t6, $t5, $at +/* 004279A0 004E7804 */ sllv $t7, $t6, $v0 +/* 004279A4 05E3003F */ bgezl $t7, .L00427AA4 +/* 004279A8 24010001 */ li $at, 1 +/* 004279AC 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 004279B0 2619FFA0 */ addiu $t9, $s0, -0x60 +/* 004279B4 2F280020 */ sltiu $t0, $t9, 0x20 +/* 004279B8 93180000 */ lbu $t8, ($t8) +/* 004279BC 00084823 */ negu $t1, $t0 +/* 004279C0 3C01000C */ lui $at, 0xc +/* 004279C4 17000036 */ bnez $t8, .L00427AA0 +/* 004279C8 01215024 */ and $t2, $t1, $at +/* 004279CC 032A5804 */ sllv $t3, $t2, $t9 +/* 004279D0 05630034 */ bgezl $t3, .L00427AA4 +/* 004279D4 24010001 */ li $at, 1 +/* 004279D8 8F8D88AC */ lw $t5, %got(double_to_singles)($gp) +/* 004279DC 93AF004B */ lbu $t7, 0x4b($sp) +/* 004279E0 00106040 */ sll $t4, $s0, 1 +/* 004279E4 018D7021 */ addu $t6, $t4, $t5 +/* 004279E8 15F10010 */ bne $t7, $s1, .L00427A2C +/* 004279EC 95D00000 */ lhu $s0, ($t6) +/* 004279F0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004279F4 24040020 */ li $a0, 32 +/* 004279F8 24050006 */ li $a1, 6 +/* 004279FC 0320F809 */ jalr $t9 +/* 00427A00 00000000 */ nop +/* 00427A04 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427A08 24040031 */ li $a0, 49 +/* 00427A0C 24050001 */ li $a1, 1 +/* 00427A10 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00427A14 93A6004B */ lbu $a2, 0x4b($sp) +/* 00427A18 0320F809 */ jalr $t9 +/* 00427A1C 00000000 */ nop +/* 00427A20 24180001 */ li $t8, 1 +/* 00427A24 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427A28 A3B8004B */ sb $t8, 0x4b($sp) +.L00427A2C: +/* 00427A2C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427A30 93A8004B */ lbu $t0, 0x4b($sp) +/* 00427A34 02002025 */ move $a0, $s0 +/* 00427A38 02202825 */ move $a1, $s1 +/* 00427A3C 00003025 */ move $a2, $zero +/* 00427A40 8FA70044 */ lw $a3, 0x44($sp) +/* 00427A44 0320F809 */ jalr $t9 +/* 00427A48 AFA80010 */ sw $t0, 0x10($sp) +/* 00427A4C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427A50 93A9004B */ lbu $t1, 0x4b($sp) +/* 00427A54 02002025 */ move $a0, $s0 +/* 00427A58 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427A5C 26250001 */ addiu $a1, $s1, 1 +/* 00427A60 24060004 */ li $a2, 4 +/* 00427A64 8FA70044 */ lw $a3, 0x44($sp) +/* 00427A68 0320F809 */ jalr $t9 +/* 00427A6C AFA90010 */ sw $t1, 0x10($sp) +/* 00427A70 93AA004B */ lbu $t2, 0x4b($sp) +/* 00427A74 24010001 */ li $at, 1 +/* 00427A78 8FBC0028 */ lw $gp, 0x28($sp) +/* 00427A7C 5541002D */ bnel $t2, $at, .L00427B34 +/* 00427A80 8FBF002C */ lw $ra, 0x2c($sp) +/* 00427A84 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00427A88 24040020 */ li $a0, 32 +/* 00427A8C 24050005 */ li $a1, 5 +/* 00427A90 0320F809 */ jalr $t9 +/* 00427A94 00000000 */ nop +/* 00427A98 10000025 */ b .L00427B30 +/* 00427A9C 8FBC0028 */ lw $gp, 0x28($sp) +.L00427AA0: +/* 00427AA0 24010001 */ li $at, 1 +.L00427AA4: +/* 00427AA4 14610019 */ bne $v1, $at, .L00427B0C +/* 00427AA8 2619FFE0 */ addiu $t9, $s0, -0x20 +/* 00427AAC 2F2B0040 */ sltiu $t3, $t9, 0x40 +/* 00427AB0 11600009 */ beqz $t3, .L00427AD8 +/* 00427AB4 00105040 */ sll $t2, $s0, 1 +/* 00427AB8 8F8E8038 */ lw $t6, %got(D_10016110)($gp) +/* 00427ABC 00196143 */ sra $t4, $t9, 5 +/* 00427AC0 000C6880 */ sll $t5, $t4, 2 +/* 00427AC4 25CE6110 */ addiu $t6, %lo(D_10016110) # addiu $t6, $t6, 0x6110 +/* 00427AC8 01CD7821 */ addu $t7, $t6, $t5 +/* 00427ACC 8DF80000 */ lw $t8, ($t7) +/* 00427AD0 03384004 */ sllv $t0, $t8, $t9 +/* 00427AD4 290B0000 */ slti $t3, $t0, 0 +.L00427AD8: +/* 00427AD8 1160000C */ beqz $t3, .L00427B0C +/* 00427ADC 02202825 */ move $a1, $s1 +/* 00427AE0 8F8C88B0 */ lw $t4, %got(unaligned_load_store_tab)($gp) +/* 00427AE4 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427AE8 93AD004B */ lbu $t5, 0x4b($sp) +/* 00427AEC 014C7021 */ addu $t6, $t2, $t4 +/* 00427AF0 95C40000 */ lhu $a0, ($t6) +/* 00427AF4 00003025 */ move $a2, $zero +/* 00427AF8 8FA70044 */ lw $a3, 0x44($sp) +/* 00427AFC 0320F809 */ jalr $t9 +/* 00427B00 AFAD0010 */ sw $t5, 0x10($sp) +/* 00427B04 1000000A */ b .L00427B30 +/* 00427B08 8FBC0028 */ lw $gp, 0x28($sp) +.L00427B0C: +/* 00427B0C 8F9981E8 */ lw $t9, %call16(emit_rrab)($gp) +/* 00427B10 93AF004B */ lbu $t7, 0x4b($sp) +/* 00427B14 02002025 */ move $a0, $s0 +/* 00427B18 02202825 */ move $a1, $s1 +/* 00427B1C 00003025 */ move $a2, $zero +/* 00427B20 8FA70044 */ lw $a3, 0x44($sp) +/* 00427B24 0320F809 */ jalr $t9 +/* 00427B28 AFAF0010 */ sw $t7, 0x10($sp) +/* 00427B2C 8FBC0028 */ lw $gp, 0x28($sp) +.L00427B30: +/* 00427B30 8FBF002C */ lw $ra, 0x2c($sp) +.L00427B34: +/* 00427B34 8FB00020 */ lw $s0, 0x20($sp) +/* 00427B38 8FB10024 */ lw $s1, 0x24($sp) +/* 00427B3C 03E00008 */ jr $ra +/* 00427B40 27BD0038 */ addiu $sp, $sp, 0x38 + .type rloadrstore, @function + .size rloadrstore, .-rloadrstore + .end rloadrstore + +glabel loadstore_for_two_words + .ent loadstore_for_two_words + # 004280C4 func_004280C4 + # 00428190 func_00428190 +/* 00427B44 3C1C0FBF */ .cpload $t9 +/* 00427B48 279C7F0C */ +/* 00427B4C 0399E021 */ +/* 00427B50 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00427B54 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00427B58 AFBF001C */ sw $ra, 0x1c($sp) +/* 00427B5C 91CE0000 */ lbu $t6, ($t6) +/* 00427B60 AFBC0018 */ sw $gp, 0x18($sp) +/* 00427B64 AFA40020 */ sw $a0, 0x20($sp) +/* 00427B68 AFA50024 */ sw $a1, 0x24($sp) +/* 00427B6C 11C00010 */ beqz $t6, .L00427BB0 +/* 00427B70 AFA60028 */ sw $a2, 0x28($sp) +/* 00427B74 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427B78 97A40022 */ lhu $a0, 0x22($sp) +/* 00427B7C 93A6002B */ lbu $a2, 0x2b($sp) +/* 00427B80 0320F809 */ jalr $t9 +/* 00427B84 24070004 */ li $a3, 4 +/* 00427B88 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427B8C 93A6002B */ lbu $a2, 0x2b($sp) +/* 00427B90 97A40022 */ lhu $a0, 0x22($sp) +/* 00427B94 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427B98 8FA50024 */ lw $a1, 0x24($sp) +/* 00427B9C 00003825 */ move $a3, $zero +/* 00427BA0 0320F809 */ jalr $t9 +/* 00427BA4 24C60001 */ addiu $a2, $a2, 1 +/* 00427BA8 10000010 */ b .L00427BEC +/* 00427BAC 8FBC0018 */ lw $gp, 0x18($sp) +.L00427BB0: +/* 00427BB0 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427BB4 97A40022 */ lhu $a0, 0x22($sp) +/* 00427BB8 8FA50024 */ lw $a1, 0x24($sp) +/* 00427BBC 93A6002B */ lbu $a2, 0x2b($sp) +/* 00427BC0 0320F809 */ jalr $t9 +/* 00427BC4 00003825 */ move $a3, $zero +/* 00427BC8 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427BCC 93A6002B */ lbu $a2, 0x2b($sp) +/* 00427BD0 97A40022 */ lhu $a0, 0x22($sp) +/* 00427BD4 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427BD8 8FA50024 */ lw $a1, 0x24($sp) +/* 00427BDC 24070004 */ li $a3, 4 +/* 00427BE0 0320F809 */ jalr $t9 +/* 00427BE4 24C60001 */ addiu $a2, $a2, 1 +/* 00427BE8 8FBC0018 */ lw $gp, 0x18($sp) +.L00427BEC: +/* 00427BEC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00427BF0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00427BF4 03E00008 */ jr $ra +/* 00427BF8 00000000 */ nop + .type loadstore_for_two_words, @function + .size loadstore_for_two_words, .-loadstore_for_two_words + .end loadstore_for_two_words + +glabel unaligned_loadstore_for_fp_word + .ent unaligned_loadstore_for_fp_word + # 00428384 unaligned_loadstore +/* 00427BFC 3C1C0FBF */ .cpload $t9 +/* 00427C00 279C7E54 */ +/* 00427C04 0399E021 */ +/* 00427C08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00427C0C 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00427C10 AFBF001C */ sw $ra, 0x1c($sp) +/* 00427C14 AFA40020 */ sw $a0, 0x20($sp) +/* 00427C18 AFA50024 */ sw $a1, 0x24($sp) +/* 00427C1C AFBC0018 */ sw $gp, 0x18($sp) +/* 00427C20 AFB00014 */ sw $s0, 0x14($sp) +/* 00427C24 AFA60028 */ sw $a2, 0x28($sp) +/* 00427C28 AFA7002C */ sw $a3, 0x2c($sp) +/* 00427C2C 24050001 */ li $a1, 1 +/* 00427C30 0320F809 */ jalr $t9 +/* 00427C34 00002025 */ move $a0, $zero +/* 00427C38 97AE0022 */ lhu $t6, 0x22($sp) +/* 00427C3C 24010079 */ li $at, 121 +/* 00427C40 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427C44 15C10010 */ bne $t6, $at, .L00427C88 +/* 00427C48 305000FF */ andi $s0, $v0, 0xff +/* 00427C4C 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427C50 02002025 */ move $a0, $s0 +/* 00427C54 93A5002B */ lbu $a1, 0x2b($sp) +/* 00427C58 0320F809 */ jalr $t9 +/* 00427C5C 2406000D */ li $a2, 13 +/* 00427C60 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427C64 240400D1 */ li $a0, 209 +/* 00427C68 8FA50024 */ lw $a1, 0x24($sp) +/* 00427C6C 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427C70 02003025 */ move $a2, $s0 +/* 00427C74 00003825 */ move $a3, $zero +/* 00427C78 0320F809 */ jalr $t9 +/* 00427C7C 00000000 */ nop +/* 00427C80 1000000F */ b .L00427CC0 +/* 00427C84 8FBC0018 */ lw $gp, 0x18($sp) +.L00427C88: +/* 00427C88 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427C8C 240400CE */ li $a0, 206 +/* 00427C90 8FA50024 */ lw $a1, 0x24($sp) +/* 00427C94 02003025 */ move $a2, $s0 +/* 00427C98 0320F809 */ jalr $t9 +/* 00427C9C 00003825 */ move $a3, $zero +/* 00427CA0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427CA4 93A4002B */ lbu $a0, 0x2b($sp) +/* 00427CA8 02002825 */ move $a1, $s0 +/* 00427CAC 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427CB0 2406000D */ li $a2, 13 +/* 00427CB4 0320F809 */ jalr $t9 +/* 00427CB8 00000000 */ nop +/* 00427CBC 8FBC0018 */ lw $gp, 0x18($sp) +.L00427CC0: +/* 00427CC0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00427CC4 02002025 */ move $a0, $s0 +/* 00427CC8 0320F809 */ jalr $t9 +/* 00427CCC 00000000 */ nop +/* 00427CD0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00427CD4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427CD8 8FB00014 */ lw $s0, 0x14($sp) +/* 00427CDC 03E00008 */ jr $ra +/* 00427CE0 27BD0020 */ addiu $sp, $sp, 0x20 + .type unaligned_loadstore_for_fp_word, @function + .size unaligned_loadstore_for_fp_word, .-unaligned_loadstore_for_fp_word + .end unaligned_loadstore_for_fp_word + +glabel unaligned_loadstore_for_two_fp_w + .ent unaligned_loadstore_for_two_fp_w + # 004280C4 func_004280C4 +/* 00427CE4 3C1C0FBF */ .cpload $t9 +/* 00427CE8 279C7D6C */ +/* 00427CEC 0399E021 */ +/* 00427CF0 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00427CF4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00427CF8 AFBF001C */ sw $ra, 0x1c($sp) +/* 00427CFC 91CE0000 */ lbu $t6, ($t6) +/* 00427D00 AFBC0018 */ sw $gp, 0x18($sp) +/* 00427D04 AFB00014 */ sw $s0, 0x14($sp) +/* 00427D08 AFA40028 */ sw $a0, 0x28($sp) +/* 00427D0C AFA5002C */ sw $a1, 0x2c($sp) +/* 00427D10 15C00007 */ bnez $t6, .L00427D30 +/* 00427D14 AFA60030 */ sw $a2, 0x30($sp) +/* 00427D18 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00427D1C 93A40033 */ lbu $a0, 0x33($sp) +/* 00427D20 0320F809 */ jalr $t9 +/* 00427D24 00000000 */ nop +/* 00427D28 14400005 */ bnez $v0, .L00427D40 +/* 00427D2C 8FBC0018 */ lw $gp, 0x18($sp) +.L00427D30: +/* 00427D30 240F0004 */ li $t7, 4 +/* 00427D34 00003825 */ move $a3, $zero +/* 00427D38 10000003 */ b .L00427D48 +/* 00427D3C AFAF0020 */ sw $t7, 0x20($sp) +.L00427D40: +/* 00427D40 24070004 */ li $a3, 4 +/* 00427D44 AFA00020 */ sw $zero, 0x20($sp) +.L00427D48: +/* 00427D48 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00427D4C 00002025 */ move $a0, $zero +/* 00427D50 24050001 */ li $a1, 1 +/* 00427D54 0320F809 */ jalr $t9 +/* 00427D58 AFA70024 */ sw $a3, 0x24($sp) +/* 00427D5C 97B8002A */ lhu $t8, 0x2a($sp) +/* 00427D60 24010079 */ li $at, 121 +/* 00427D64 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427D68 8FA70024 */ lw $a3, 0x24($sp) +/* 00427D6C 17010021 */ bne $t8, $at, .L00427DF4 +/* 00427D70 305000FF */ andi $s0, $v0, 0xff +/* 00427D74 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427D78 02002025 */ move $a0, $s0 +/* 00427D7C 93A50033 */ lbu $a1, 0x33($sp) +/* 00427D80 2406000D */ li $a2, 13 +/* 00427D84 0320F809 */ jalr $t9 +/* 00427D88 AFA70024 */ sw $a3, 0x24($sp) +/* 00427D8C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427D90 8FA70024 */ lw $a3, 0x24($sp) +/* 00427D94 240400D1 */ li $a0, 209 +/* 00427D98 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427D9C 8FA5002C */ lw $a1, 0x2c($sp) +/* 00427DA0 02003025 */ move $a2, $s0 +/* 00427DA4 0320F809 */ jalr $t9 +/* 00427DA8 00000000 */ nop +/* 00427DAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427DB0 93A50033 */ lbu $a1, 0x33($sp) +/* 00427DB4 02002025 */ move $a0, $s0 +/* 00427DB8 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427DBC 2406000D */ li $a2, 13 +/* 00427DC0 24A50001 */ addiu $a1, $a1, 1 +/* 00427DC4 0320F809 */ jalr $t9 +/* 00427DC8 00000000 */ nop +/* 00427DCC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427DD0 240400D1 */ li $a0, 209 +/* 00427DD4 8FA5002C */ lw $a1, 0x2c($sp) +/* 00427DD8 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427DDC 02003025 */ move $a2, $s0 +/* 00427DE0 8FA70020 */ lw $a3, 0x20($sp) +/* 00427DE4 0320F809 */ jalr $t9 +/* 00427DE8 00000000 */ nop +/* 00427DEC 1000001E */ b .L00427E68 +/* 00427DF0 8FBC0018 */ lw $gp, 0x18($sp) +.L00427DF4: +/* 00427DF4 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427DF8 240400CE */ li $a0, 206 +/* 00427DFC 8FA5002C */ lw $a1, 0x2c($sp) +/* 00427E00 0320F809 */ jalr $t9 +/* 00427E04 02003025 */ move $a2, $s0 +/* 00427E08 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427E0C 93A40033 */ lbu $a0, 0x33($sp) +/* 00427E10 02002825 */ move $a1, $s0 +/* 00427E14 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427E18 2406000D */ li $a2, 13 +/* 00427E1C 0320F809 */ jalr $t9 +/* 00427E20 00000000 */ nop +/* 00427E24 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427E28 240400CE */ li $a0, 206 +/* 00427E2C 8FA5002C */ lw $a1, 0x2c($sp) +/* 00427E30 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427E34 02003025 */ move $a2, $s0 +/* 00427E38 8FA70020 */ lw $a3, 0x20($sp) +/* 00427E3C 0320F809 */ jalr $t9 +/* 00427E40 00000000 */ nop +/* 00427E44 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427E48 93A40033 */ lbu $a0, 0x33($sp) +/* 00427E4C 02002825 */ move $a1, $s0 +/* 00427E50 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00427E54 2406000D */ li $a2, 13 +/* 00427E58 24840001 */ addiu $a0, $a0, 1 +/* 00427E5C 0320F809 */ jalr $t9 +/* 00427E60 00000000 */ nop +/* 00427E64 8FBC0018 */ lw $gp, 0x18($sp) +.L00427E68: +/* 00427E68 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00427E6C 02002025 */ move $a0, $s0 +/* 00427E70 0320F809 */ jalr $t9 +/* 00427E74 00000000 */ nop +/* 00427E78 8FBF001C */ lw $ra, 0x1c($sp) +/* 00427E7C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00427E80 8FB00014 */ lw $s0, 0x14($sp) +/* 00427E84 03E00008 */ jr $ra +/* 00427E88 27BD0028 */ addiu $sp, $sp, 0x28 + .type unaligned_loadstore_for_two_fp_w, @function + .size unaligned_loadstore_for_two_fp_w, .-unaligned_loadstore_for_two_fp_w + .end unaligned_loadstore_for_two_fp_w + +glabel loadstore_for_two_fp_words + .ent loadstore_for_two_fp_words + # 00428190 func_00428190 +/* 00427E8C 3C1C0FBF */ .cpload $t9 +/* 00427E90 279C7BC4 */ +/* 00427E94 0399E021 */ +/* 00427E98 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00427E9C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00427EA0 AFB2001C */ sw $s2, 0x1c($sp) +/* 00427EA4 91CE0000 */ lbu $t6, ($t6) +/* 00427EA8 AFB10018 */ sw $s1, 0x18($sp) +/* 00427EAC AFB00014 */ sw $s0, 0x14($sp) +/* 00427EB0 30D000FF */ andi $s0, $a2, 0xff +/* 00427EB4 3091FFFF */ andi $s1, $a0, 0xffff +/* 00427EB8 00A09025 */ move $s2, $a1 +/* 00427EBC AFBF0024 */ sw $ra, 0x24($sp) +/* 00427EC0 AFBC0020 */ sw $gp, 0x20($sp) +/* 00427EC4 AFA40028 */ sw $a0, 0x28($sp) +/* 00427EC8 11C00010 */ beqz $t6, .L00427F0C +/* 00427ECC AFA60030 */ sw $a2, 0x30($sp) +/* 00427ED0 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427ED4 02202025 */ move $a0, $s1 +/* 00427ED8 02003025 */ move $a2, $s0 +/* 00427EDC 0320F809 */ jalr $t9 +/* 00427EE0 00003825 */ move $a3, $zero +/* 00427EE4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427EE8 02202025 */ move $a0, $s1 +/* 00427EEC 02402825 */ move $a1, $s2 +/* 00427EF0 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427EF4 26060001 */ addiu $a2, $s0, 1 +/* 00427EF8 24070004 */ li $a3, 4 +/* 00427EFC 0320F809 */ jalr $t9 +/* 00427F00 00000000 */ nop +/* 00427F04 10000026 */ b .L00427FA0 +/* 00427F08 8FBC0020 */ lw $gp, 0x20($sp) +.L00427F0C: +/* 00427F0C 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00427F10 02002025 */ move $a0, $s0 +/* 00427F14 0320F809 */ jalr $t9 +/* 00427F18 00000000 */ nop +/* 00427F1C 10400011 */ beqz $v0, .L00427F64 +/* 00427F20 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427F24 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427F28 02202025 */ move $a0, $s1 +/* 00427F2C 02402825 */ move $a1, $s2 +/* 00427F30 02003025 */ move $a2, $s0 +/* 00427F34 0320F809 */ jalr $t9 +/* 00427F38 24070004 */ li $a3, 4 +/* 00427F3C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427F40 02202025 */ move $a0, $s1 +/* 00427F44 02402825 */ move $a1, $s2 +/* 00427F48 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427F4C 26060001 */ addiu $a2, $s0, 1 +/* 00427F50 00003825 */ move $a3, $zero +/* 00427F54 0320F809 */ jalr $t9 +/* 00427F58 00000000 */ nop +/* 00427F5C 10000010 */ b .L00427FA0 +/* 00427F60 8FBC0020 */ lw $gp, 0x20($sp) +.L00427F64: +/* 00427F64 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427F68 02202025 */ move $a0, $s1 +/* 00427F6C 02402825 */ move $a1, $s2 +/* 00427F70 02003025 */ move $a2, $s0 +/* 00427F74 0320F809 */ jalr $t9 +/* 00427F78 00003825 */ move $a3, $zero +/* 00427F7C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00427F80 02202025 */ move $a0, $s1 +/* 00427F84 02402825 */ move $a1, $s2 +/* 00427F88 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00427F8C 26060001 */ addiu $a2, $s0, 1 +/* 00427F90 24070004 */ li $a3, 4 +/* 00427F94 0320F809 */ jalr $t9 +/* 00427F98 00000000 */ nop +/* 00427F9C 8FBC0020 */ lw $gp, 0x20($sp) +.L00427FA0: +/* 00427FA0 8FBF0024 */ lw $ra, 0x24($sp) +/* 00427FA4 8FB00014 */ lw $s0, 0x14($sp) +/* 00427FA8 8FB10018 */ lw $s1, 0x18($sp) +/* 00427FAC 8FB2001C */ lw $s2, 0x1c($sp) +/* 00427FB0 03E00008 */ jr $ra +/* 00427FB4 27BD0028 */ addiu $sp, $sp, 0x28 + .type loadstore_for_two_fp_words, @function + .size loadstore_for_two_fp_words, .-loadstore_for_two_fp_words + .end loadstore_for_two_fp_words + + .type func_00427FB8, @function +func_00427FB8: + # 00428190 func_00428190 +/* 00427FB8 3C1C0FBF */ .cpload $t9 +/* 00427FBC 279C7A98 */ +/* 00427FC0 0399E021 */ +/* 00427FC4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00427FC8 AFBF001C */ sw $ra, 0x1c($sp) +/* 00427FCC AFBC0018 */ sw $gp, 0x18($sp) +/* 00427FD0 AFB00014 */ sw $s0, 0x14($sp) +/* 00427FD4 8C43FFFC */ lw $v1, -4($v0) +/* 00427FD8 8F9888AC */ lw $t8, %got(double_to_singles)($gp) +/* 00427FDC 8F89898C */ lw $t1, %got(lsb_first)($gp) +/* 00427FE0 946E0002 */ lhu $t6, 2($v1) +/* 00427FE4 00003825 */ move $a3, $zero +/* 00427FE8 000E7840 */ sll $t7, $t6, 1 +/* 00427FEC 01F8C821 */ addu $t9, $t7, $t8 +/* 00427FF0 97280000 */ lhu $t0, ($t9) +/* 00427FF4 A4680002 */ sh $t0, 2($v1) +/* 00427FF8 91290000 */ lbu $t1, ($t1) +/* 00427FFC 00085040 */ sll $t2, $t0, 1 +/* 00428000 51200017 */ beql $t1, $zero, .L00428060 +/* 00428004 946C0002 */ lhu $t4, 2($v1) +/* 00428008 8F8B88B0 */ lw $t3, %got(unaligned_load_store_tab)($gp) +/* 0042800C 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428010 8C650004 */ lw $a1, 4($v1) +/* 00428014 9070000B */ lbu $s0, 0xb($v1) +/* 00428018 014B1021 */ addu $v0, $t2, $t3 +/* 0042801C 94440000 */ lhu $a0, ($v0) +/* 00428020 AFA20024 */ sw $v0, 0x24($sp) +/* 00428024 24070004 */ li $a3, 4 +/* 00428028 AFA50020 */ sw $a1, 0x20($sp) +/* 0042802C 0320F809 */ jalr $t9 +/* 00428030 02003025 */ move $a2, $s0 +/* 00428034 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428038 8FA20024 */ lw $v0, 0x24($sp) +/* 0042803C 8FA50020 */ lw $a1, 0x20($sp) +/* 00428040 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428044 26060001 */ addiu $a2, $s0, 1 +/* 00428048 00003825 */ move $a3, $zero +/* 0042804C 0320F809 */ jalr $t9 +/* 00428050 94440000 */ lhu $a0, ($v0) +/* 00428054 10000016 */ b .L004280B0 +/* 00428058 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042805C 946C0002 */ lhu $t4, 2($v1) +.L00428060: +/* 00428060 8F8E88B0 */ lw $t6, %got(unaligned_load_store_tab)($gp) +/* 00428064 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428068 8C650004 */ lw $a1, 4($v1) +/* 0042806C 9070000B */ lbu $s0, 0xb($v1) +/* 00428070 000C6840 */ sll $t5, $t4, 1 +/* 00428074 01AE1021 */ addu $v0, $t5, $t6 +/* 00428078 94440000 */ lhu $a0, ($v0) +/* 0042807C AFA20024 */ sw $v0, 0x24($sp) +/* 00428080 AFA50020 */ sw $a1, 0x20($sp) +/* 00428084 0320F809 */ jalr $t9 +/* 00428088 02003025 */ move $a2, $s0 +/* 0042808C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428090 8FA20024 */ lw $v0, 0x24($sp) +/* 00428094 8FA50020 */ lw $a1, 0x20($sp) +/* 00428098 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 0042809C 26060001 */ addiu $a2, $s0, 1 +/* 004280A0 24070004 */ li $a3, 4 +/* 004280A4 0320F809 */ jalr $t9 +/* 004280A8 94440000 */ lhu $a0, ($v0) +/* 004280AC 8FBC0018 */ lw $gp, 0x18($sp) +.L004280B0: +/* 004280B0 8FBF001C */ lw $ra, 0x1c($sp) +/* 004280B4 8FB00014 */ lw $s0, 0x14($sp) +/* 004280B8 27BD0030 */ addiu $sp, $sp, 0x30 +/* 004280BC 03E00008 */ jr $ra +/* 004280C0 00000000 */ nop + + .type func_004280C4, @function +func_004280C4: + # 00428190 func_00428190 +/* 004280C4 3C1C0FBF */ .cpload $t9 +/* 004280C8 279C798C */ +/* 004280CC 0399E021 */ +/* 004280D0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004280D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 004280D8 AFBC0018 */ sw $gp, 0x18($sp) +/* 004280DC 8C43FFFC */ lw $v1, -4($v0) +/* 004280E0 8F9888AC */ lw $t8, %got(double_to_singles)($gp) +/* 004280E4 946E0002 */ lhu $t6, 2($v1) +/* 004280E8 9066000B */ lbu $a2, 0xb($v1) +/* 004280EC 000E7840 */ sll $t7, $t6, 1 +/* 004280F0 01F8C821 */ addu $t9, $t7, $t8 +/* 004280F4 97280000 */ lhu $t0, ($t9) +/* 004280F8 00C02025 */ move $a0, $a2 +/* 004280FC A4680002 */ sh $t0, 2($v1) +/* 00428100 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 00428104 AFA30028 */ sw $v1, 0x28($sp) +/* 00428108 AFA60024 */ sw $a2, 0x24($sp) +/* 0042810C 0320F809 */ jalr $t9 +/* 00428110 00000000 */ nop +/* 00428114 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428118 8FA30028 */ lw $v1, 0x28($sp) +/* 0042811C 1440000C */ bnez $v0, .L00428150 +/* 00428120 8FA60024 */ lw $a2, 0x24($sp) +/* 00428124 8C650004 */ lw $a1, 4($v1) +/* 00428128 3C01000C */ lui $at, 0xc +/* 0042812C 34218000 */ ori $at, $at, 0x8000 +/* 00428130 90A90021 */ lbu $t1, 0x21($a1) +/* 00428134 312A001F */ andi $t2, $t1, 0x1f +/* 00428138 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 0042813C 000B6023 */ negu $t4, $t3 +/* 00428140 01816824 */ and $t5, $t4, $at +/* 00428144 014D7004 */ sllv $t6, $t5, $t2 +/* 00428148 05C10008 */ bgez $t6, .L0042816C +/* 0042814C 00000000 */ nop +.L00428150: +/* 00428150 8F998368 */ lw $t9, %call16(unaligned_loadstore_for_two_fp_w)($gp) +/* 00428154 94640002 */ lhu $a0, 2($v1) +/* 00428158 8C650004 */ lw $a1, 4($v1) +/* 0042815C 0320F809 */ jalr $t9 +/* 00428160 00000000 */ nop +/* 00428164 10000006 */ b .L00428180 +/* 00428168 8FBC0018 */ lw $gp, 0x18($sp) +.L0042816C: +/* 0042816C 8F998360 */ lw $t9, %call16(loadstore_for_two_words)($gp) +/* 00428170 94640002 */ lhu $a0, 2($v1) +/* 00428174 0320F809 */ jalr $t9 +/* 00428178 00000000 */ nop +/* 0042817C 8FBC0018 */ lw $gp, 0x18($sp) +.L00428180: +/* 00428180 8FBF001C */ lw $ra, 0x1c($sp) +/* 00428184 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00428188 03E00008 */ jr $ra +/* 0042818C 00000000 */ nop + + .type func_00428190, @function +func_00428190: + # 00428384 unaligned_loadstore +/* 00428190 3C1C0FBF */ .cpload $t9 +/* 00428194 279C78C0 */ +/* 00428198 0399E021 */ +/* 0042819C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004281A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 004281A4 AFBC0018 */ sw $gp, 0x18($sp) +/* 004281A8 8C450004 */ lw $a1, 4($v0) +/* 004281AC 00401825 */ move $v1, $v0 +/* 004281B0 8CAE002C */ lw $t6, 0x2c($a1) +/* 004281B4 31CF0003 */ andi $t7, $t6, 3 +/* 004281B8 51E00012 */ beql $t7, $zero, .L00428204 +/* 004281BC AFA3002C */ sw $v1, 0x2c($sp) +/* 004281C0 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 004281C4 9044000B */ lbu $a0, 0xb($v0) +/* 004281C8 AFA50028 */ sw $a1, 0x28($sp) +/* 004281CC 0320F809 */ jalr $t9 +/* 004281D0 AFA2002C */ sw $v0, 0x2c($sp) +/* 004281D4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004281D8 8FA3002C */ lw $v1, 0x2c($sp) +/* 004281DC 14400008 */ bnez $v0, .L00428200 +/* 004281E0 8FA50028 */ lw $a1, 0x28($sp) +/* 004281E4 8F99801C */ lw $t9, %got(func_00427FB8)($gp) +/* 004281E8 27A20030 */ addiu $v0, $sp, 0x30 +/* 004281EC 27397FB8 */ addiu $t9, %lo(func_00427FB8) # addiu $t9, $t9, 0x7fb8 +/* 004281F0 0320F809 */ jalr $t9 +/* 004281F4 00000000 */ nop +/* 004281F8 1000005E */ b .L00428374 +/* 004281FC 8FBC0018 */ lw $gp, 0x18($sp) +.L00428200: +/* 00428200 AFA3002C */ sw $v1, 0x2c($sp) +.L00428204: +/* 00428204 8CB8002C */ lw $t8, 0x2c($a1) +/* 00428208 33190007 */ andi $t9, $t8, 7 +/* 0042820C 17200006 */ bnez $t9, .L00428228 +/* 00428210 00000000 */ nop +/* 00428214 8C68FFFC */ lw $t0, -4($v1) +/* 00428218 31090007 */ andi $t1, $t0, 7 +/* 0042821C 5120000A */ beql $t1, $zero, .L00428248 +/* 00428220 90AA0021 */ lbu $t2, 0x21($a1) +/* 00428224 AFA3002C */ sw $v1, 0x2c($sp) +.L00428228: +/* 00428228 8F998020 */ lw $t9, %got(func_004280C4)($gp) +/* 0042822C 27A20030 */ addiu $v0, $sp, 0x30 +/* 00428230 273980C4 */ addiu $t9, %lo(func_004280C4) # addiu $t9, $t9, -0x7f3c +/* 00428234 0320F809 */ jalr $t9 +/* 00428238 00000000 */ nop +/* 0042823C 1000004D */ b .L00428374 +/* 00428240 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428244 90AA0021 */ lbu $t2, 0x21($a1) +.L00428248: +/* 00428248 3C010509 */ lui $at, 0x509 +/* 0042824C 9066000B */ lbu $a2, 0xb($v1) +/* 00428250 314B001F */ andi $t3, $t2, 0x1f +/* 00428254 2D6C0020 */ sltiu $t4, $t3, 0x20 +/* 00428258 000C6823 */ negu $t5, $t4 +/* 0042825C 01A17024 */ and $t6, $t5, $at +/* 00428260 016E7804 */ sllv $t7, $t6, $t3 +/* 00428264 05E1003D */ bgez $t7, .L0042835C +/* 00428268 00000000 */ nop +/* 0042826C 94620002 */ lhu $v0, 2($v1) +/* 00428270 3C01000C */ lui $at, 0xc +/* 00428274 2458FFA0 */ addiu $t8, $v0, -0x60 +/* 00428278 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0042827C 00194023 */ negu $t0, $t9 +/* 00428280 01014824 */ and $t1, $t0, $at +/* 00428284 03095004 */ sllv $t2, $t1, $t8 +/* 00428288 05410034 */ bgez $t2, .L0042835C +/* 0042828C 00000000 */ nop +/* 00428290 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 00428294 00067080 */ sll $t6, $a2, 2 +/* 00428298 918C0000 */ lbu $t4, ($t4) +/* 0042829C 11800009 */ beqz $t4, .L004282C4 +/* 004282A0 00000000 */ nop +/* 004282A4 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 004282A8 01C67023 */ subu $t6, $t6, $a2 +/* 004282AC 000E7080 */ sll $t6, $t6, 2 +/* 004282B0 01CB7821 */ addu $t7, $t6, $t3 +/* 004282B4 91F90009 */ lbu $t9, 9($t7) +/* 004282B8 24CD0001 */ addiu $t5, $a2, 1 +/* 004282BC 15B90027 */ bne $t5, $t9, .L0042835C +/* 004282C0 00000000 */ nop +.L004282C4: +/* 004282C4 8F8988AC */ lw $t1, %got(double_to_singles)($gp) +/* 004282C8 00024040 */ sll $t0, $v0, 1 +/* 004282CC 00C02025 */ move $a0, $a2 +/* 004282D0 0109C021 */ addu $t8, $t0, $t1 +/* 004282D4 970A0000 */ lhu $t2, ($t8) +/* 004282D8 A46A0002 */ sh $t2, 2($v1) +/* 004282DC 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 004282E0 AFA60024 */ sw $a2, 0x24($sp) +/* 004282E4 AFA50028 */ sw $a1, 0x28($sp) +/* 004282E8 0320F809 */ jalr $t9 +/* 004282EC AFA3002C */ sw $v1, 0x2c($sp) +/* 004282F0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004282F4 8FA3002C */ lw $v1, 0x2c($sp) +/* 004282F8 8FA50028 */ lw $a1, 0x28($sp) +/* 004282FC 1440000B */ bnez $v0, .L0042832C +/* 00428300 8FA60024 */ lw $a2, 0x24($sp) +/* 00428304 90AC0021 */ lbu $t4, 0x21($a1) +/* 00428308 3C01000C */ lui $at, 0xc +/* 0042830C 34218000 */ ori $at, $at, 0x8000 +/* 00428310 318E001F */ andi $t6, $t4, 0x1f +/* 00428314 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 00428318 000B7823 */ negu $t7, $t3 +/* 0042831C 01E16824 */ and $t5, $t7, $at +/* 00428320 01CDC804 */ sllv $t9, $t5, $t6 +/* 00428324 07210007 */ bgez $t9, .L00428344 +/* 00428328 00000000 */ nop +.L0042832C: +/* 0042832C 8F99836C */ lw $t9, %call16(loadstore_for_two_fp_words)($gp) +/* 00428330 94640002 */ lhu $a0, 2($v1) +/* 00428334 0320F809 */ jalr $t9 +/* 00428338 00000000 */ nop +/* 0042833C 1000000D */ b .L00428374 +/* 00428340 8FBC0018 */ lw $gp, 0x18($sp) +.L00428344: +/* 00428344 8F998360 */ lw $t9, %call16(loadstore_for_two_words)($gp) +/* 00428348 94640002 */ lhu $a0, 2($v1) +/* 0042834C 0320F809 */ jalr $t9 +/* 00428350 00000000 */ nop +/* 00428354 10000007 */ b .L00428374 +/* 00428358 8FBC0018 */ lw $gp, 0x18($sp) +.L0042835C: +/* 0042835C 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428360 94640002 */ lhu $a0, 2($v1) +/* 00428364 00003825 */ move $a3, $zero +/* 00428368 0320F809 */ jalr $t9 +/* 0042836C 00000000 */ nop +/* 00428370 8FBC0018 */ lw $gp, 0x18($sp) +.L00428374: +/* 00428374 8FBF001C */ lw $ra, 0x1c($sp) +/* 00428378 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0042837C 03E00008 */ jr $ra +/* 00428380 00000000 */ nop + +glabel unaligned_loadstore + .ent unaligned_loadstore + # 0042BDAC eval +/* 00428384 3C1C0FBF */ .cpload $t9 +/* 00428388 279C76CC */ +/* 0042838C 0399E021 */ +/* 00428390 8F8E89C0 */ lw $t6, %got(align8)($gp) +/* 00428394 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00428398 AFBF001C */ sw $ra, 0x1c($sp) +/* 0042839C 91CE0000 */ lbu $t6, ($t6) +/* 004283A0 AFBC0018 */ sw $gp, 0x18($sp) +/* 004283A4 AFA40028 */ sw $a0, 0x28($sp) +/* 004283A8 11C00004 */ beqz $t6, .L004283BC +/* 004283AC AFA60030 */ sw $a2, 0x30($sp) +/* 004283B0 240F0001 */ li $t7, 1 +/* 004283B4 10000011 */ b .L004283FC +/* 004283B8 AFAF0024 */ sw $t7, 0x24($sp) +.L004283BC: +/* 004283BC 8F9889C4 */ lw $t8, %got(align16)($gp) +/* 004283C0 24190002 */ li $t9, 2 +/* 004283C4 93180000 */ lbu $t8, ($t8) +/* 004283C8 13000003 */ beqz $t8, .L004283D8 +/* 004283CC 00000000 */ nop +/* 004283D0 1000000A */ b .L004283FC +/* 004283D4 AFB90024 */ sw $t9, 0x24($sp) +.L004283D8: +/* 004283D8 8F8889C8 */ lw $t0, %got(align32)($gp) +/* 004283DC 91080000 */ lbu $t0, ($t0) +/* 004283E0 51000005 */ beql $t0, $zero, .L004283F8 +/* 004283E4 240A0008 */ li $t2, 8 +/* 004283E8 24090004 */ li $t1, 4 +/* 004283EC 10000003 */ b .L004283FC +/* 004283F0 AFA90024 */ sw $t1, 0x24($sp) +/* 004283F4 240A0008 */ li $t2, 8 +.L004283F8: +/* 004283F8 AFAA0024 */ sw $t2, 0x24($sp) +.L004283FC: +/* 004283FC 8CA20028 */ lw $v0, 0x28($a1) +/* 00428400 28410005 */ slti $at, $v0, 5 +/* 00428404 5420000A */ bnel $at, $zero, .L00428430 +/* 00428408 24010004 */ li $at, 4 +/* 0042840C 8F998020 */ lw $t9, %got(func_00428190)($gp) +/* 00428410 A3A60033 */ sb $a2, 0x33($sp) +/* 00428414 AFA5002C */ sw $a1, 0x2c($sp) +/* 00428418 27398190 */ addiu $t9, %lo(func_00428190) # addiu $t9, $t9, -0x7e70 +/* 0042841C 0320F809 */ jalr $t9 +/* 00428420 27A20028 */ addiu $v0, $sp, 0x28 +/* 00428424 10000040 */ b .L00428528 +/* 00428428 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042842C 24010004 */ li $at, 4 +.L00428430: +/* 00428430 54410020 */ bnel $v0, $at, .L004284B4 +/* 00428434 8CB9002C */ lw $t9, 0x2c($a1) +/* 00428438 8CAB002C */ lw $t3, 0x2c($a1) +/* 0042843C 316C0003 */ andi $t4, $t3, 3 +/* 00428440 5180001C */ beql $t4, $zero, .L004284B4 +/* 00428444 8CB9002C */ lw $t9, 0x2c($a1) +/* 00428448 8F998330 */ lw $t9, %call16(is_fp_reg)($gp) +/* 0042844C 00C02025 */ move $a0, $a2 +/* 00428450 AFA5002C */ sw $a1, 0x2c($sp) +/* 00428454 0320F809 */ jalr $t9 +/* 00428458 A3A60033 */ sb $a2, 0x33($sp) +/* 0042845C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428460 8FA5002C */ lw $a1, 0x2c($sp) +/* 00428464 10400008 */ beqz $v0, .L00428488 +/* 00428468 93A60033 */ lbu $a2, 0x33($sp) +/* 0042846C 8F998364 */ lw $t9, %call16(unaligned_loadstore_for_fp_word)($gp) +/* 00428470 97A4002A */ lhu $a0, 0x2a($sp) +/* 00428474 00003825 */ move $a3, $zero +/* 00428478 0320F809 */ jalr $t9 +/* 0042847C 00000000 */ nop +/* 00428480 10000029 */ b .L00428528 +/* 00428484 8FBC0018 */ lw $gp, 0x18($sp) +.L00428488: +/* 00428488 97AD002A */ lhu $t5, 0x2a($sp) +/* 0042848C 8F8F88B0 */ lw $t7, %got(unaligned_load_store_tab)($gp) +/* 00428490 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428494 000D7040 */ sll $t6, $t5, 1 +/* 00428498 01CFC021 */ addu $t8, $t6, $t7 +/* 0042849C 97040000 */ lhu $a0, ($t8) +/* 004284A0 0320F809 */ jalr $t9 +/* 004284A4 00003825 */ move $a3, $zero +/* 004284A8 1000001F */ b .L00428528 +/* 004284AC 8FBC0018 */ lw $gp, 0x18($sp) +/* 004284B0 8CB9002C */ lw $t9, 0x2c($a1) +.L004284B4: +/* 004284B4 97A9002A */ lhu $t1, 0x2a($sp) +/* 004284B8 0322001A */ div $zero, $t9, $v0 +/* 004284BC 00004010 */ mfhi $t0 +/* 004284C0 00095040 */ sll $t2, $t1, 1 +/* 004284C4 14400002 */ bnez $v0, .L004284D0 +/* 004284C8 00000000 */ nop +/* 004284CC 0007000D */ break 7 +.L004284D0: +/* 004284D0 2401FFFF */ li $at, -1 +/* 004284D4 14410004 */ bne $v0, $at, .L004284E8 +/* 004284D8 3C018000 */ lui $at, 0x8000 +/* 004284DC 17210002 */ bne $t9, $at, .L004284E8 +/* 004284E0 00000000 */ nop +/* 004284E4 0006000D */ break 6 +.L004284E8: +/* 004284E8 11000009 */ beqz $t0, .L00428510 +/* 004284EC 00000000 */ nop +/* 004284F0 8F8B88B0 */ lw $t3, %got(unaligned_load_store_tab)($gp) +/* 004284F4 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 004284F8 00003825 */ move $a3, $zero +/* 004284FC 014B6021 */ addu $t4, $t2, $t3 +/* 00428500 0320F809 */ jalr $t9 +/* 00428504 95840000 */ lhu $a0, ($t4) +/* 00428508 10000007 */ b .L00428528 +/* 0042850C 8FBC0018 */ lw $gp, 0x18($sp) +.L00428510: +/* 00428510 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 00428514 97A4002A */ lhu $a0, 0x2a($sp) +/* 00428518 00003825 */ move $a3, $zero +/* 0042851C 0320F809 */ jalr $t9 +/* 00428520 00000000 */ nop +/* 00428524 8FBC0018 */ lw $gp, 0x18($sp) +.L00428528: +/* 00428528 8FBF001C */ lw $ra, 0x1c($sp) +/* 0042852C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00428530 03E00008 */ jr $ra +/* 00428534 00000000 */ nop + .type unaligned_loadstore, @function + .size unaligned_loadstore, .-unaligned_loadstore + .end unaligned_loadstore + +glabel eval_2ops + .ent eval_2ops + # 004285F0 eval_fp_cond + # 00428A9C eval2 + # 0042BDAC eval +/* 00428538 3C1C0FBF */ .cpload $t9 +/* 0042853C 279C7518 */ +/* 00428540 0399E021 */ +/* 00428544 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00428548 AFBF001C */ sw $ra, 0x1c($sp) +/* 0042854C AFBC0018 */ sw $gp, 0x18($sp) +/* 00428550 8C8E0004 */ lw $t6, 4($a0) +/* 00428554 8C870000 */ lw $a3, ($a0) +/* 00428558 00803025 */ move $a2, $a0 +/* 0042855C AFAE0020 */ sw $t6, 0x20($sp) +/* 00428560 91D90016 */ lbu $t9, 0x16($t6) +/* 00428564 90EF0016 */ lbu $t7, 0x16($a3) +/* 00428568 01F9082B */ sltu $at, $t7, $t9 +/* 0042856C 1420000F */ bnez $at, .L004285AC +/* 00428570 00000000 */ nop +/* 00428574 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00428578 00E02025 */ move $a0, $a3 +/* 0042857C 24050048 */ li $a1, 72 +/* 00428580 0320F809 */ jalr $t9 +/* 00428584 AFA60028 */ sw $a2, 0x28($sp) +/* 00428588 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042858C 8FA60028 */ lw $a2, 0x28($sp) +/* 00428590 24050048 */ li $a1, 72 +/* 00428594 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00428598 8CC40004 */ lw $a0, 4($a2) +/* 0042859C 0320F809 */ jalr $t9 +/* 004285A0 00000000 */ nop +/* 004285A4 1000000E */ b .L004285E0 +/* 004285A8 8FBC0018 */ lw $gp, 0x18($sp) +.L004285AC: +/* 004285AC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004285B0 8FA40020 */ lw $a0, 0x20($sp) +/* 004285B4 24050048 */ li $a1, 72 +/* 004285B8 0320F809 */ jalr $t9 +/* 004285BC AFA60028 */ sw $a2, 0x28($sp) +/* 004285C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004285C4 8FA60028 */ lw $a2, 0x28($sp) +/* 004285C8 24050048 */ li $a1, 72 +/* 004285CC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004285D0 8CC40000 */ lw $a0, ($a2) +/* 004285D4 0320F809 */ jalr $t9 +/* 004285D8 00000000 */ nop +/* 004285DC 8FBC0018 */ lw $gp, 0x18($sp) +.L004285E0: +/* 004285E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 004285E4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004285E8 03E00008 */ jr $ra +/* 004285EC 00000000 */ nop + .type eval_2ops, @function + .size eval_2ops, .-eval_2ops + .end eval_2ops + +glabel eval_fp_cond + .ent eval_fp_cond + # 0042BDAC eval +/* 004285F0 3C1C0FBF */ .cpload $t9 +/* 004285F4 279C7460 */ +/* 004285F8 0399E021 */ +/* 004285FC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00428600 AFB00018 */ sw $s0, 0x18($sp) +/* 00428604 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00428608 00808025 */ move $s0, $a0 +/* 0042860C AFA50034 */ sw $a1, 0x34($sp) +/* 00428610 92050021 */ lbu $a1, 0x21($s0) +/* 00428614 AFBF0024 */ sw $ra, 0x24($sp) +/* 00428618 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042861C AFB1001C */ sw $s1, 0x1c($sp) +/* 00428620 90840020 */ lbu $a0, 0x20($a0) +/* 00428624 0320F809 */ jalr $t9 +/* 00428628 30A5001F */ andi $a1, $a1, 0x1f +/* 0042862C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428630 3051FFFF */ andi $s1, $v0, 0xffff +/* 00428634 02002025 */ move $a0, $s0 +/* 00428638 8F998374 */ lw $t9, %call16(eval_2ops)($gp) +/* 0042863C 0320F809 */ jalr $t9 +/* 00428640 00000000 */ nop +/* 00428644 920E0020 */ lbu $t6, 0x20($s0) +/* 00428648 3C0100C0 */ lui $at, 0xc0 +/* 0042864C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428650 25CFFFE0 */ addiu $t7, $t6, -0x20 +/* 00428654 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00428658 0018C823 */ negu $t9, $t8 +/* 0042865C 03214024 */ and $t0, $t9, $at +/* 00428660 01E84804 */ sllv $t1, $t0, $t7 +/* 00428664 0521000F */ bgez $t1, .L004286A4 +/* 00428668 00000000 */ nop +/* 0042866C 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00428670 8E040000 */ lw $a0, ($s0) +/* 00428674 0320F809 */ jalr $t9 +/* 00428678 00000000 */ nop +/* 0042867C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428680 8E040004 */ lw $a0, 4($s0) +/* 00428684 A3A2002E */ sb $v0, 0x2e($sp) +/* 00428688 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 0042868C 0320F809 */ jalr $t9 +/* 00428690 00000000 */ nop +/* 00428694 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428698 93A6002E */ lbu $a2, 0x2e($sp) +/* 0042869C 1000000E */ b .L004286D8 +/* 004286A0 304500FF */ andi $a1, $v0, 0xff +.L004286A4: +/* 004286A4 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004286A8 8E040000 */ lw $a0, ($s0) +/* 004286AC 0320F809 */ jalr $t9 +/* 004286B0 00000000 */ nop +/* 004286B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004286B8 8E040004 */ lw $a0, 4($s0) +/* 004286BC A3A2002F */ sb $v0, 0x2f($sp) +/* 004286C0 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004286C4 0320F809 */ jalr $t9 +/* 004286C8 00000000 */ nop +/* 004286CC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004286D0 93A5002F */ lbu $a1, 0x2f($sp) +/* 004286D4 304600FF */ andi $a2, $v0, 0xff +.L004286D8: +/* 004286D8 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004286DC 02202025 */ move $a0, $s1 +/* 004286E0 0320F809 */ jalr $t9 +/* 004286E4 00000000 */ nop +/* 004286E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004286EC 02002025 */ move $a0, $s0 +/* 004286F0 93A50037 */ lbu $a1, 0x37($sp) +/* 004286F4 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004286F8 0320F809 */ jalr $t9 +/* 004286FC 00000000 */ nop +/* 00428700 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428704 A3A20037 */ sb $v0, 0x37($sp) +/* 00428708 24040031 */ li $a0, 49 +/* 0042870C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00428710 304500FF */ andi $a1, $v0, 0xff +/* 00428714 00003025 */ move $a2, $zero +/* 00428718 0320F809 */ jalr $t9 +/* 0042871C 00000000 */ nop +/* 00428720 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428724 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00428728 0320F809 */ jalr $t9 +/* 0042872C 00000000 */ nop +/* 00428730 920A0020 */ lbu $t2, 0x20($s0) +/* 00428734 2401005F */ li $at, 95 +/* 00428738 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042873C 00402825 */ move $a1, $v0 +/* 00428740 15410002 */ bne $t2, $at, .L0042874C +/* 00428744 24110007 */ li $s1, 7 +/* 00428748 24110008 */ li $s1, 8 +.L0042874C: +/* 0042874C 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00428750 02202025 */ move $a0, $s1 +/* 00428754 AFA50028 */ sw $a1, 0x28($sp) +/* 00428758 0320F809 */ jalr $t9 +/* 0042875C 00000000 */ nop +/* 00428760 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428764 24040029 */ li $a0, 41 +/* 00428768 93A50037 */ lbu $a1, 0x37($sp) +/* 0042876C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00428770 24060001 */ li $a2, 1 +/* 00428774 00003825 */ move $a3, $zero +/* 00428778 0320F809 */ jalr $t9 +/* 0042877C 00000000 */ nop +/* 00428780 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428784 8FA40028 */ lw $a0, 0x28($sp) +/* 00428788 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042878C 0320F809 */ jalr $t9 +/* 00428790 00000000 */ nop +/* 00428794 8FBF0024 */ lw $ra, 0x24($sp) +/* 00428798 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042879C 8FB00018 */ lw $s0, 0x18($sp) +/* 004287A0 8FB1001C */ lw $s1, 0x1c($sp) +/* 004287A4 03E00008 */ jr $ra +/* 004287A8 27BD0030 */ addiu $sp, $sp, 0x30 + .type eval_fp_cond, @function + .size eval_fp_cond, .-eval_fp_cond + .end eval_fp_cond + +glabel eval_fp_min_max + .ent eval_fp_min_max + # 0042BDAC eval +/* 004287AC 3C1C0FBF */ .cpload $t9 +/* 004287B0 279C72A4 */ +/* 004287B4 0399E021 */ +/* 004287B8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 004287BC AFB2001C */ sw $s2, 0x1c($sp) +/* 004287C0 AFB00014 */ sw $s0, 0x14($sp) +/* 004287C4 8F998318 */ lw $t9, %call16(fop)($gp) +/* 004287C8 00808025 */ move $s0, $a0 +/* 004287CC 30B200FF */ andi $s2, $a1, 0xff +/* 004287D0 AFA5003C */ sw $a1, 0x3c($sp) +/* 004287D4 92050021 */ lbu $a1, 0x21($s0) +/* 004287D8 AFBF0024 */ sw $ra, 0x24($sp) +/* 004287DC AFBC0020 */ sw $gp, 0x20($sp) +/* 004287E0 AFB10018 */ sw $s1, 0x18($sp) +/* 004287E4 90840020 */ lbu $a0, 0x20($a0) +/* 004287E8 0320F809 */ jalr $t9 +/* 004287EC 30A5001F */ andi $a1, $a1, 0x1f +/* 004287F0 920E0020 */ lbu $t6, 0x20($s0) +/* 004287F4 24010055 */ li $at, 85 +/* 004287F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004287FC A7A20036 */ sh $v0, 0x36($sp) +/* 00428800 15C10002 */ bne $t6, $at, .L0042880C +/* 00428804 24030008 */ li $v1, 8 +/* 00428808 24030007 */ li $v1, 7 +.L0042880C: +/* 0042880C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00428810 8E040000 */ lw $a0, ($s0) +/* 00428814 24050048 */ li $a1, 72 +/* 00428818 0320F809 */ jalr $t9 +/* 0042881C A7A30034 */ sh $v1, 0x34($sp) +/* 00428820 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428824 8E040004 */ lw $a0, 4($s0) +/* 00428828 24050048 */ li $a1, 72 +/* 0042882C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00428830 0320F809 */ jalr $t9 +/* 00428834 00000000 */ nop +/* 00428838 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042883C 8E040000 */ lw $a0, ($s0) +/* 00428840 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00428844 0320F809 */ jalr $t9 +/* 00428848 00000000 */ nop +/* 0042884C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428850 305100FF */ andi $s1, $v0, 0xff +/* 00428854 8E040004 */ lw $a0, 4($s0) +/* 00428858 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 0042885C 0320F809 */ jalr $t9 +/* 00428860 00000000 */ nop +/* 00428864 24010048 */ li $at, 72 +/* 00428868 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042886C 12410007 */ beq $s2, $at, .L0042888C +/* 00428870 A3A2002E */ sb $v0, 0x2e($sp) +/* 00428874 264FFFE0 */ addiu $t7, $s2, -0x20 +/* 00428878 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0042887C 0018C823 */ negu $t9, $t8 +/* 00428880 01F94004 */ sllv $t0, $t9, $t7 +/* 00428884 05000042 */ bltz $t0, .L00428990 +/* 00428888 02402025 */ move $a0, $s2 +.L0042888C: +/* 0042888C 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 00428890 02202025 */ move $a0, $s1 +/* 00428894 0320F809 */ jalr $t9 +/* 00428898 00000000 */ nop +/* 0042889C 14400014 */ bnez $v0, .L004288F0 +/* 004288A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004288A4 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 004288A8 02202025 */ move $a0, $s1 +/* 004288AC 0320F809 */ jalr $t9 +/* 004288B0 00000000 */ nop +/* 004288B4 1040000E */ beqz $v0, .L004288F0 +/* 004288B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004288BC 92090021 */ lbu $t1, 0x21($s0) +/* 004288C0 8F8B8898 */ lw $t3, %got(reg_kind_tab)($gp) +/* 004288C4 8F9984E0 */ lw $t9, %call16(get_fp_reg)($gp) +/* 004288C8 312A001F */ andi $t2, $t1, 0x1f +/* 004288CC 014B6021 */ addu $t4, $t2, $t3 +/* 004288D0 323200FF */ andi $s2, $s1, 0xff +/* 004288D4 91860000 */ lbu $a2, ($t4) +/* 004288D8 02202025 */ move $a0, $s1 +/* 004288DC 02002825 */ move $a1, $s0 +/* 004288E0 0320F809 */ jalr $t9 +/* 004288E4 96070014 */ lhu $a3, 0x14($s0) +/* 004288E8 10000033 */ b .L004289B8 +/* 004288EC 8FBC0020 */ lw $gp, 0x20($sp) +.L004288F0: +/* 004288F0 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 004288F4 93A4002E */ lbu $a0, 0x2e($sp) +/* 004288F8 0320F809 */ jalr $t9 +/* 004288FC 00000000 */ nop +/* 00428900 14400017 */ bnez $v0, .L00428960 +/* 00428904 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428908 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 0042890C 93A4002E */ lbu $a0, 0x2e($sp) +/* 00428910 0320F809 */ jalr $t9 +/* 00428914 00000000 */ nop +/* 00428918 10400011 */ beqz $v0, .L00428960 +/* 0042891C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428920 920D0021 */ lbu $t5, 0x21($s0) +/* 00428924 8F988898 */ lw $t8, %got(reg_kind_tab)($gp) +/* 00428928 02201025 */ move $v0, $s1 +/* 0042892C 93B1002E */ lbu $s1, 0x2e($sp) +/* 00428930 31AE001F */ andi $t6, $t5, 0x1f +/* 00428934 A3A2002E */ sb $v0, 0x2e($sp) +/* 00428938 01D8C821 */ addu $t9, $t6, $t8 +/* 0042893C 93260000 */ lbu $a2, ($t9) +/* 00428940 8F9984E0 */ lw $t9, %call16(get_fp_reg)($gp) +/* 00428944 02002825 */ move $a1, $s0 +/* 00428948 96070014 */ lhu $a3, 0x14($s0) +/* 0042894C 02209025 */ move $s2, $s1 +/* 00428950 0320F809 */ jalr $t9 +/* 00428954 02202025 */ move $a0, $s1 +/* 00428958 10000017 */ b .L004289B8 +/* 0042895C 8FBC0020 */ lw $gp, 0x20($sp) +.L00428960: +/* 00428960 920F0021 */ lbu $t7, 0x21($s0) +/* 00428964 8F898898 */ lw $t1, %got(reg_kind_tab)($gp) +/* 00428968 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0042896C 31E8001F */ andi $t0, $t7, 0x1f +/* 00428970 01095021 */ addu $t2, $t0, $t1 +/* 00428974 91450000 */ lbu $a1, ($t2) +/* 00428978 02002025 */ move $a0, $s0 +/* 0042897C 0320F809 */ jalr $t9 +/* 00428980 96060014 */ lhu $a2, 0x14($s0) +/* 00428984 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428988 1000000B */ b .L004289B8 +/* 0042898C 305200FF */ andi $s2, $v0, 0xff +.L00428990: +/* 00428990 920B0021 */ lbu $t3, 0x21($s0) +/* 00428994 8F8D8898 */ lw $t5, %got(reg_kind_tab)($gp) +/* 00428998 8F9984E0 */ lw $t9, %call16(get_fp_reg)($gp) +/* 0042899C 316C001F */ andi $t4, $t3, 0x1f +/* 004289A0 018D7021 */ addu $t6, $t4, $t5 +/* 004289A4 91C60000 */ lbu $a2, ($t6) +/* 004289A8 02002825 */ move $a1, $s0 +/* 004289AC 0320F809 */ jalr $t9 +/* 004289B0 96070014 */ lhu $a3, 0x14($s0) +/* 004289B4 8FBC0020 */ lw $gp, 0x20($sp) +.L004289B8: +/* 004289B8 92020019 */ lbu $v0, 0x19($s0) +/* 004289BC 93AB002E */ lbu $t3, 0x2e($sp) +/* 004289C0 0002C600 */ sll $t8, $v0, 0x18 +/* 004289C4 0018CE42 */ srl $t9, $t8, 0x19 +/* 004289C8 02597826 */ xor $t7, $s2, $t9 +/* 004289CC 000F4640 */ sll $t0, $t7, 0x19 +/* 004289D0 00084E02 */ srl $t1, $t0, 0x18 +/* 004289D4 01225026 */ xor $t2, $t1, $v0 +/* 004289D8 164B0003 */ bne $s2, $t3, .L004289E8 +/* 004289DC A20A0019 */ sb $t2, 0x19($s0) +/* 004289E0 10000009 */ b .L00428A08 +/* 004289E4 A3B1002E */ sb $s1, 0x2e($sp) +.L004289E8: +/* 004289E8 12510007 */ beq $s2, $s1, .L00428A08 +/* 004289EC 02402025 */ move $a0, $s2 +/* 004289F0 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004289F4 92060021 */ lbu $a2, 0x21($s0) +/* 004289F8 02202825 */ move $a1, $s1 +/* 004289FC 0320F809 */ jalr $t9 +/* 00428A00 30C6001F */ andi $a2, $a2, 0x1f +/* 00428A04 8FBC0020 */ lw $gp, 0x20($sp) +.L00428A08: +/* 00428A08 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00428A0C 0320F809 */ jalr $t9 +/* 00428A10 00000000 */ nop +/* 00428A14 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428A18 00408825 */ move $s1, $v0 +/* 00428A1C 97A40036 */ lhu $a0, 0x36($sp) +/* 00428A20 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00428A24 02402825 */ move $a1, $s2 +/* 00428A28 93A6002E */ lbu $a2, 0x2e($sp) +/* 00428A2C 0320F809 */ jalr $t9 +/* 00428A30 00000000 */ nop +/* 00428A34 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428A38 97A40034 */ lhu $a0, 0x34($sp) +/* 00428A3C 02202825 */ move $a1, $s1 +/* 00428A40 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00428A44 0320F809 */ jalr $t9 +/* 00428A48 00000000 */ nop +/* 00428A4C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428A50 92060021 */ lbu $a2, 0x21($s0) +/* 00428A54 02402025 */ move $a0, $s2 +/* 00428A58 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00428A5C 93A5002E */ lbu $a1, 0x2e($sp) +/* 00428A60 30C6001F */ andi $a2, $a2, 0x1f +/* 00428A64 0320F809 */ jalr $t9 +/* 00428A68 00000000 */ nop +/* 00428A6C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428A70 02202025 */ move $a0, $s1 +/* 00428A74 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00428A78 0320F809 */ jalr $t9 +/* 00428A7C 00000000 */ nop +/* 00428A80 8FBF0024 */ lw $ra, 0x24($sp) +/* 00428A84 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428A88 8FB00014 */ lw $s0, 0x14($sp) +/* 00428A8C 8FB10018 */ lw $s1, 0x18($sp) +/* 00428A90 8FB2001C */ lw $s2, 0x1c($sp) +/* 00428A94 03E00008 */ jr $ra +/* 00428A98 27BD0038 */ addiu $sp, $sp, 0x38 + .type eval_fp_min_max, @function + .size eval_fp_min_max, .-eval_fp_min_max + .end eval_fp_min_max + +glabel eval2 + .ent eval2 + # 0042BDAC eval +/* 00428A9C 3C1C0FBF */ .cpload $t9 +/* 00428AA0 279C6FB4 */ +/* 00428AA4 0399E021 */ +/* 00428AA8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00428AAC 8F998374 */ lw $t9, %call16(eval_2ops)($gp) +/* 00428AB0 AFBF0024 */ sw $ra, 0x24($sp) +/* 00428AB4 AFB0001C */ sw $s0, 0x1c($sp) +/* 00428AB8 AFA40030 */ sw $a0, 0x30($sp) +/* 00428ABC 00A08025 */ move $s0, $a1 +/* 00428AC0 AFBC0020 */ sw $gp, 0x20($sp) +/* 00428AC4 AFA60038 */ sw $a2, 0x38($sp) +/* 00428AC8 0320F809 */ jalr $t9 +/* 00428ACC 00A02025 */ move $a0, $a1 +/* 00428AD0 92020021 */ lbu $v0, 0x21($s0) +/* 00428AD4 3C01000C */ lui $at, 0xc +/* 00428AD8 34218000 */ ori $at, $at, 0x8000 +/* 00428ADC 3042001F */ andi $v0, $v0, 0x1f +/* 00428AE0 2C4E0020 */ sltiu $t6, $v0, 0x20 +/* 00428AE4 000E7823 */ negu $t7, $t6 +/* 00428AE8 01E1C024 */ and $t8, $t7, $at +/* 00428AEC 0058C804 */ sllv $t9, $t8, $v0 +/* 00428AF0 07210009 */ bgez $t9, .L00428B18 +/* 00428AF4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428AF8 8F998344 */ lw $t9, %call16(binary_flt_regs)($gp) +/* 00428AFC 8E040000 */ lw $a0, ($s0) +/* 00428B00 8E050004 */ lw $a1, 4($s0) +/* 00428B04 27A6002F */ addiu $a2, $sp, 0x2f +/* 00428B08 0320F809 */ jalr $t9 +/* 00428B0C 27A7002E */ addiu $a3, $sp, 0x2e +/* 00428B10 10000016 */ b .L00428B6C +/* 00428B14 8FBC0020 */ lw $gp, 0x20($sp) +.L00428B18: +/* 00428B18 2C480020 */ sltiu $t0, $v0, 0x20 +/* 00428B1C 00084823 */ negu $t1, $t0 +/* 00428B20 3C010501 */ lui $at, 0x501 +/* 00428B24 01215024 */ and $t2, $t1, $at +/* 00428B28 004A5804 */ sllv $t3, $t2, $v0 +/* 00428B2C 05610009 */ bgez $t3, .L00428B54 +/* 00428B30 27A6002F */ addiu $a2, $sp, 0x2f +/* 00428B34 8F99833C */ lw $t9, %call16(binary_regs)($gp) +/* 00428B38 8E040000 */ lw $a0, ($s0) +/* 00428B3C 8E050004 */ lw $a1, 4($s0) +/* 00428B40 27A6002F */ addiu $a2, $sp, 0x2f +/* 00428B44 0320F809 */ jalr $t9 +/* 00428B48 27A7002E */ addiu $a3, $sp, 0x2e +/* 00428B4C 10000007 */ b .L00428B6C +/* 00428B50 8FBC0020 */ lw $gp, 0x20($sp) +.L00428B54: +/* 00428B54 8F99833C */ lw $t9, %call16(binary_regs)($gp) +/* 00428B58 8E040000 */ lw $a0, ($s0) +/* 00428B5C 8E050004 */ lw $a1, 4($s0) +/* 00428B60 0320F809 */ jalr $t9 +/* 00428B64 27A7002E */ addiu $a3, $sp, 0x2e +/* 00428B68 8FBC0020 */ lw $gp, 0x20($sp) +.L00428B6C: +/* 00428B6C 920C0021 */ lbu $t4, 0x21($s0) +/* 00428B70 3C01000C */ lui $at, 0xc +/* 00428B74 34218000 */ ori $at, $at, 0x8000 +/* 00428B78 318D001F */ andi $t5, $t4, 0x1f +/* 00428B7C 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 00428B80 000E7823 */ negu $t7, $t6 +/* 00428B84 01E1C024 */ and $t8, $t7, $at +/* 00428B88 01B8C804 */ sllv $t9, $t8, $t5 +/* 00428B8C 07210008 */ bgez $t9, .L00428BB0 +/* 00428B90 93A8003B */ lbu $t0, 0x3b($sp) +/* 00428B94 2509FFE0 */ addiu $t1, $t0, -0x20 +/* 00428B98 2D2A0020 */ sltiu $t2, $t1, 0x20 +/* 00428B9C 000A5823 */ negu $t3, $t2 +/* 00428BA0 012B6004 */ sllv $t4, $t3, $t1 +/* 00428BA4 05800002 */ bltz $t4, .L00428BB0 +/* 00428BA8 240E0048 */ li $t6, 72 +/* 00428BAC A3AE003B */ sb $t6, 0x3b($sp) +.L00428BB0: +/* 00428BB0 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00428BB4 02002025 */ move $a0, $s0 +/* 00428BB8 93A5003B */ lbu $a1, 0x3b($sp) +/* 00428BBC 0320F809 */ jalr $t9 +/* 00428BC0 00000000 */ nop +/* 00428BC4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428BC8 97A40032 */ lhu $a0, 0x32($sp) +/* 00428BCC 304500FF */ andi $a1, $v0, 0xff +/* 00428BD0 8F9982D0 */ lw $t9, %call16(dw_emit_rrr)($gp) +/* 00428BD4 93A6002F */ lbu $a2, 0x2f($sp) +/* 00428BD8 93A7002E */ lbu $a3, 0x2e($sp) +/* 00428BDC 0320F809 */ jalr $t9 +/* 00428BE0 AFB00010 */ sw $s0, 0x10($sp) +/* 00428BE4 8FBF0024 */ lw $ra, 0x24($sp) +/* 00428BE8 8FBC0020 */ lw $gp, 0x20($sp) +/* 00428BEC 8FB0001C */ lw $s0, 0x1c($sp) +/* 00428BF0 03E00008 */ jr $ra +/* 00428BF4 27BD0030 */ addiu $sp, $sp, 0x30 + .type eval2, @function + .size eval2, .-eval2 + .end eval2 + +glabel ureg + .ent ureg + # 0042BDAC eval + # 004340D4 func_004340D4 + # 004432FC translate +/* 00428BF8 908E0001 */ lbu $t6, 1($a0) +/* 00428BFC 24010003 */ li $at, 3 +/* 00428C00 24020048 */ li $v0, 72 +/* 00428C04 000E7E00 */ sll $t7, $t6, 0x18 +/* 00428C08 000FC742 */ srl $t8, $t7, 0x1d +/* 00428C0C 17010008 */ bne $t8, $at, .L00428C30 +/* 00428C10 00000000 */ nop +/* 00428C14 8C82000C */ lw $v0, 0xc($a0) +/* 00428C18 04410002 */ bgez $v0, .L00428C24 +/* 00428C1C 00400821 */ move $at, $v0 +/* 00428C20 24410003 */ addiu $at, $v0, 3 +.L00428C24: +/* 00428C24 00011083 */ sra $v0, $at, 2 +/* 00428C28 03E00008 */ jr $ra +/* 00428C2C 00000000 */ nop + +.L00428C30: +/* 00428C30 03E00008 */ jr $ra +/* 00428C34 00000000 */ nop + .type ureg, @function + .size ureg, .-ureg + .end ureg + +glabel copy + .ent copy + # 00428D14 eval_mov + # 0042A1AC eval_irel +/* 00428C38 3C1C0FBF */ .cpload $t9 +/* 00428C3C 279C6E18 */ +/* 00428C40 0399E021 */ +/* 00428C44 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00428C48 AFB00014 */ sw $s0, 0x14($sp) +/* 00428C4C 309000FF */ andi $s0, $a0, 0xff +/* 00428C50 2E0E0020 */ sltiu $t6, $s0, 0x20 +/* 00428C54 000E7823 */ negu $t7, $t6 +/* 00428C58 020FC004 */ sllv $t8, $t7, $s0 +/* 00428C5C AFBF001C */ sw $ra, 0x1c($sp) +/* 00428C60 AFBC0018 */ sw $gp, 0x18($sp) +/* 00428C64 AFA40028 */ sw $a0, 0x28($sp) +/* 00428C68 030002B0 */ tge $t8, $zero, 0xa +/* 00428C6C 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 00428C70 02002025 */ move $a0, $s0 +/* 00428C74 0320F809 */ jalr $t9 +/* 00428C78 00000000 */ nop +/* 00428C7C 1440000F */ bnez $v0, .L00428CBC +/* 00428C80 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428C84 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 00428C88 02002025 */ move $a0, $s0 +/* 00428C8C 0320F809 */ jalr $t9 +/* 00428C90 00000000 */ nop +/* 00428C94 10400009 */ beqz $v0, .L00428CBC +/* 00428C98 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428C9C 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 00428CA0 02002025 */ move $a0, $s0 +/* 00428CA4 00002825 */ move $a1, $zero +/* 00428CA8 0320F809 */ jalr $t9 +/* 00428CAC 24060001 */ li $a2, 1 +/* 00428CB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428CB4 10000012 */ b .L00428D00 +/* 00428CB8 02001025 */ move $v0, $s0 +.L00428CBC: +/* 00428CBC 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00428CC0 00002025 */ move $a0, $zero +/* 00428CC4 24050001 */ li $a1, 1 +/* 00428CC8 0320F809 */ jalr $t9 +/* 00428CCC 00000000 */ nop +/* 00428CD0 305900FF */ andi $t9, $v0, 0xff +/* 00428CD4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428CD8 12190008 */ beq $s0, $t9, .L00428CFC +/* 00428CDC 304500FF */ andi $a1, $v0, 0xff +/* 00428CE0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00428CE4 24040031 */ li $a0, 49 +/* 00428CE8 02003025 */ move $a2, $s0 +/* 00428CEC 0320F809 */ jalr $t9 +/* 00428CF0 A3A50026 */ sb $a1, 0x26($sp) +/* 00428CF4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00428CF8 93A50026 */ lbu $a1, 0x26($sp) +.L00428CFC: +/* 00428CFC 00A01025 */ move $v0, $a1 +.L00428D00: +/* 00428D00 8FBF001C */ lw $ra, 0x1c($sp) +/* 00428D04 8FB00014 */ lw $s0, 0x14($sp) +/* 00428D08 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00428D0C 03E00008 */ jr $ra +/* 00428D10 00000000 */ nop + .type copy, @function + .size copy, .-copy + .end copy + +glabel eval_mov + .ent eval_mov + # 0042BDAC eval +/* 00428D14 3C1C0FBF */ .cpload $t9 +/* 00428D18 279C6D3C */ +/* 00428D1C 0399E021 */ +/* 00428D20 27BDFEE0 */ addiu $sp, $sp, -0x120 +/* 00428D24 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 00428D28 AFBC00C0 */ sw $gp, 0xc0($sp) +/* 00428D2C AFB300BC */ sw $s3, 0xbc($sp) +/* 00428D30 AFB200B8 */ sw $s2, 0xb8($sp) +/* 00428D34 AFB100B4 */ sw $s1, 0xb4($sp) +/* 00428D38 AFB000B0 */ sw $s0, 0xb0($sp) +/* 00428D3C 908E0020 */ lbu $t6, 0x20($a0) +/* 00428D40 24010058 */ li $at, 88 +/* 00428D44 00808025 */ move $s0, $a0 +/* 00428D48 15C1000F */ bne $t6, $at, .L00428D88 +/* 00428D4C 8C910028 */ lw $s1, 0x28($a0) +/* 00428D50 8C8F0024 */ lw $t7, 0x24($a0) +/* 00428D54 AFAF0118 */ sw $t7, 0x118($sp) +/* 00428D58 94820022 */ lhu $v0, 0x22($a0) +/* 00428D5C 8FB80118 */ lw $t8, 0x118($sp) +/* 00428D60 50400004 */ beql $v0, $zero, .L00428D74 +/* 00428D64 AFB80114 */ sw $t8, 0x114($sp) +/* 00428D68 10000002 */ b .L00428D74 +/* 00428D6C AFA20114 */ sw $v0, 0x114($sp) +/* 00428D70 AFB80114 */ sw $t8, 0x114($sp) +.L00428D74: +/* 00428D74 8E190000 */ lw $t9, ($s0) +/* 00428D78 8E080004 */ lw $t0, 4($s0) +/* 00428D7C AFB90110 */ sw $t9, 0x110($sp) +/* 00428D80 10000007 */ b .L00428DA0 +/* 00428D84 AFA8010C */ sw $t0, 0x10c($sp) +.L00428D88: +/* 00428D88 96090022 */ lhu $t1, 0x22($s0) +/* 00428D8C 8E0B0000 */ lw $t3, ($s0) +/* 00428D90 AFA00110 */ sw $zero, 0x110($sp) +/* 00428D94 AFA90118 */ sw $t1, 0x118($sp) +/* 00428D98 AFA90114 */ sw $t1, 0x114($sp) +/* 00428D9C AFAB010C */ sw $t3, 0x10c($sp) +.L00428DA0: +/* 00428DA0 8FAC0118 */ lw $t4, 0x118($sp) +/* 00428DA4 8FAE0114 */ lw $t6, 0x114($sp) +/* 00428DA8 8FB80110 */ lw $t8, 0x110($sp) +/* 00428DAC 05810003 */ bgez $t4, .L00428DBC +/* 00428DB0 000C68C3 */ sra $t5, $t4, 3 +/* 00428DB4 25810007 */ addiu $at, $t4, 7 +/* 00428DB8 000168C3 */ sra $t5, $at, 3 +.L00428DBC: +/* 00428DBC AFAD0118 */ sw $t5, 0x118($sp) +/* 00428DC0 05C10003 */ bgez $t6, .L00428DD0 +/* 00428DC4 000E78C3 */ sra $t7, $t6, 3 +/* 00428DC8 25C10007 */ addiu $at, $t6, 7 +/* 00428DCC 000178C3 */ sra $t7, $at, 3 +.L00428DD0: +/* 00428DD0 AFAF0114 */ sw $t7, 0x114($sp) +/* 00428DD4 1300001A */ beqz $t8, .L00428E40 +/* 00428DD8 00009825 */ move $s3, $zero +/* 00428DDC 97190014 */ lhu $t9, 0x14($t8) +/* 00428DE0 24020001 */ li $v0, 1 +/* 00428DE4 54590017 */ bnel $v0, $t9, .L00428E44 +/* 00428DE8 8FAC010C */ lw $t4, 0x10c($sp) +/* 00428DEC 93080020 */ lbu $t0, 0x20($t8) +/* 00428DF0 54480014 */ bnel $v0, $t0, .L00428E44 +/* 00428DF4 8FAC010C */ lw $t4, 0x10c($sp) +/* 00428DF8 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00428DFC 8F040004 */ lw $a0, 4($t8) +/* 00428E00 0320F809 */ jalr $t9 +/* 00428E04 00000000 */ nop +/* 00428E08 1040000D */ beqz $v0, .L00428E40 +/* 00428E0C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00428E10 8FA90110 */ lw $t1, 0x110($sp) +/* 00428E14 8D2A0004 */ lw $t2, 4($t1) +/* 00428E18 8D420030 */ lw $v0, 0x30($t2) +/* 00428E1C 28418000 */ slti $at, $v0, -0x8000 +/* 00428E20 14200007 */ bnez $at, .L00428E40 +/* 00428E24 34018000 */ li $at, 32768 +/* 00428E28 0041082A */ slt $at, $v0, $at +/* 00428E2C 50200005 */ beql $at, $zero, .L00428E44 +/* 00428E30 8FAC010C */ lw $t4, 0x10c($sp) +/* 00428E34 8D2B0000 */ lw $t3, ($t1) +/* 00428E38 00409825 */ move $s3, $v0 +/* 00428E3C AFAB0110 */ sw $t3, 0x110($sp) +.L00428E40: +/* 00428E40 8FAC010C */ lw $t4, 0x10c($sp) +.L00428E44: +/* 00428E44 24020001 */ li $v0, 1 +/* 00428E48 00009025 */ move $s2, $zero +/* 00428E4C 958D0014 */ lhu $t5, 0x14($t4) +/* 00428E50 544D0017 */ bnel $v0, $t5, .L00428EB0 +/* 00428E54 2E380020 */ sltiu $t8, $s1, 0x20 +/* 00428E58 918E0020 */ lbu $t6, 0x20($t4) +/* 00428E5C 544E0014 */ bnel $v0, $t6, .L00428EB0 +/* 00428E60 2E380020 */ sltiu $t8, $s1, 0x20 +/* 00428E64 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00428E68 8D840004 */ lw $a0, 4($t4) +/* 00428E6C 0320F809 */ jalr $t9 +/* 00428E70 00000000 */ nop +/* 00428E74 1040000D */ beqz $v0, .L00428EAC +/* 00428E78 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00428E7C 8FAF010C */ lw $t7, 0x10c($sp) +/* 00428E80 8DF90004 */ lw $t9, 4($t7) +/* 00428E84 8F220030 */ lw $v0, 0x30($t9) +/* 00428E88 28418000 */ slti $at, $v0, -0x8000 +/* 00428E8C 14200007 */ bnez $at, .L00428EAC +/* 00428E90 34018000 */ li $at, 32768 +/* 00428E94 0041082A */ slt $at, $v0, $at +/* 00428E98 50200005 */ beql $at, $zero, .L00428EB0 +/* 00428E9C 2E380020 */ sltiu $t8, $s1, 0x20 +/* 00428EA0 8DE80000 */ lw $t0, ($t7) +/* 00428EA4 00409025 */ move $s2, $v0 +/* 00428EA8 AFA8010C */ sw $t0, 0x10c($sp) +.L00428EAC: +/* 00428EAC 2E380020 */ sltiu $t8, $s1, 0x20 +.L00428EB0: +/* 00428EB0 00185023 */ negu $t2, $t8 +/* 00428EB4 3C016800 */ lui $at, 0x6800 +/* 00428EB8 01414824 */ and $t1, $t2, $at +/* 00428EBC 02295804 */ sllv $t3, $t1, $s1 +/* 00428EC0 05610181 */ bgez $t3, .L004294C8 +/* 00428EC4 24020001 */ li $v0, 1 +/* 00428EC8 8FAD0118 */ lw $t5, 0x118($sp) +/* 00428ECC 8FAE0114 */ lw $t6, 0x114($sp) +/* 00428ED0 2DA10002 */ sltiu $at, $t5, 2 +/* 00428ED4 14200002 */ bnez $at, .L00428EE0 +/* 00428ED8 2DC10002 */ sltiu $at, $t6, 2 +/* 00428EDC 10200003 */ beqz $at, .L00428EEC +.L00428EE0: +/* 00428EE0 24010002 */ li $at, 2 +/* 00428EE4 52210179 */ beql $s1, $at, .L004294CC +/* 00428EE8 8FB80110 */ lw $t8, 0x110($sp) +.L00428EEC: +/* 00428EEC 8FAC0110 */ lw $t4, 0x110($sp) +/* 00428EF0 8FA8010C */ lw $t0, 0x10c($sp) +/* 00428EF4 51800009 */ beql $t4, $zero, .L00428F1C +/* 00428EF8 95180014 */ lhu $t8, 0x14($t0) +/* 00428EFC 95990014 */ lhu $t9, 0x14($t4) +/* 00428F00 54590172 */ bnel $v0, $t9, .L004294CC +/* 00428F04 8FB80110 */ lw $t8, 0x110($sp) +/* 00428F08 918F0020 */ lbu $t7, 0x20($t4) +/* 00428F0C 24010047 */ li $at, 71 +/* 00428F10 55E1016E */ bnel $t7, $at, .L004294CC +/* 00428F14 8FB80110 */ lw $t8, 0x110($sp) +/* 00428F18 95180014 */ lhu $t8, 0x14($t0) +.L00428F1C: +/* 00428F1C 5458016B */ bnel $v0, $t8, .L004294CC +/* 00428F20 8FB80110 */ lw $t8, 0x110($sp) +/* 00428F24 910A0020 */ lbu $t2, 0x20($t0) +/* 00428F28 24010047 */ li $at, 71 +/* 00428F2C 55410167 */ bnel $t2, $at, .L004294CC +/* 00428F30 8FB80110 */ lw $t8, 0x110($sp) +/* 00428F34 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00428F38 00002025 */ move $a0, $zero +/* 00428F3C 00402825 */ move $a1, $v0 +/* 00428F40 0320F809 */ jalr $t9 +/* 00428F44 00000000 */ nop +/* 00428F48 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00428F4C A3A200FF */ sb $v0, 0xff($sp) +/* 00428F50 304400FF */ andi $a0, $v0, 0xff +/* 00428F54 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00428F58 0320F809 */ jalr $t9 +/* 00428F5C 00000000 */ nop +/* 00428F60 2629FFFF */ addiu $t1, $s1, -1 +/* 00428F64 2D210004 */ sltiu $at, $t1, 4 +/* 00428F68 10200024 */ beqz $at, .L00428FFC +/* 00428F6C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00428F70 8F818038 */ lw $at, %got(jtbl_1000A73C)($gp) +/* 00428F74 00094880 */ sll $t1, $t1, 2 +/* 00428F78 00290821 */ addu $at, $at, $t1 +/* 00428F7C 8C29A73C */ lw $t1, %lo(jtbl_1000A73C)($at) +/* 00428F80 013C4821 */ addu $t1, $t1, $gp +/* 00428F84 01200008 */ jr $t1 +/* 00428F88 00000000 */ nop +.L00428F8C: +/* 00428F8C 240B0026 */ li $t3, 38 +/* 00428F90 240D0046 */ li $t5, 70 +/* 00428F94 A7AB0102 */ sh $t3, 0x102($sp) +/* 00428F98 10000020 */ b .L0042901C +/* 00428F9C A7AD0100 */ sh $t5, 0x100($sp) +.L00428FA0: +/* 00428FA0 240E0028 */ li $t6, 40 +/* 00428FA4 2419004C */ li $t9, 76 +/* 00428FA8 A7AE0102 */ sh $t6, 0x102($sp) +/* 00428FAC 1000001B */ b .L0042901C +/* 00428FB0 A7B90100 */ sh $t9, 0x100($sp) +.L00428FB4: +/* 00428FB4 8FAC0118 */ lw $t4, 0x118($sp) +/* 00428FB8 240F00CE */ li $t7, 206 +/* 00428FBC 2418002A */ li $t8, 42 +/* 00428FC0 29810004 */ slti $at, $t4, 4 +/* 00428FC4 10200003 */ beqz $at, .L00428FD4 +/* 00428FC8 24090057 */ li $t1, 87 +/* 00428FCC 10000002 */ b .L00428FD8 +/* 00428FD0 A7AF0102 */ sh $t7, 0x102($sp) +.L00428FD4: +/* 00428FD4 A7B80102 */ sh $t8, 0x102($sp) +.L00428FD8: +/* 00428FD8 8FA80114 */ lw $t0, 0x114($sp) +/* 00428FDC 240A00D1 */ li $t2, 209 +/* 00428FE0 29010004 */ slti $at, $t0, 4 +/* 00428FE4 10200003 */ beqz $at, .L00428FF4 +/* 00428FE8 00000000 */ nop +/* 00428FEC 1000000B */ b .L0042901C +/* 00428FF0 A7AA0100 */ sh $t2, 0x100($sp) +.L00428FF4: +/* 00428FF4 10000009 */ b .L0042901C +/* 00428FF8 A7A90100 */ sh $t1, 0x100($sp) +.L00428FFC: +/* 00428FFC 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 00429000 8F868038 */ lw $a2, %got(RO_1000A736)($gp) +/* 00429004 24040001 */ li $a0, 1 +/* 00429008 240509C4 */ li $a1, 2500 +/* 0042900C 24070006 */ li $a3, 6 +/* 00429010 0320F809 */ jalr $t9 +/* 00429014 24C6A736 */ addiu $a2, %lo(RO_1000A736) # addiu $a2, $a2, -0x58ca +/* 00429018 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0042901C: +/* 0042901C 8FA3010C */ lw $v1, 0x10c($sp) +/* 00429020 90620021 */ lbu $v0, 0x21($v1) +/* 00429024 00021600 */ sll $v0, $v0, 0x18 +/* 00429028 00021742 */ srl $v0, $v0, 0x1d +/* 0042902C 304200FF */ andi $v0, $v0, 0xff +/* 00429030 244BFFFF */ addiu $t3, $v0, -1 +/* 00429034 2D610004 */ sltiu $at, $t3, 4 +/* 00429038 1020004C */ beqz $at, .L0042916C +/* 0042903C 00000000 */ nop +/* 00429040 8F818038 */ lw $at, %got(jtbl_1000A74C)($gp) +/* 00429044 000B5880 */ sll $t3, $t3, 2 +/* 00429048 002B0821 */ addu $at, $at, $t3 +/* 0042904C 8C2BA74C */ lw $t3, %lo(jtbl_1000A74C)($at) +/* 00429050 017C5821 */ addu $t3, $t3, $gp +/* 00429054 01600008 */ jr $t3 +/* 00429058 00000000 */ nop +.L0042905C: +/* 0042905C 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 00429060 8C640024 */ lw $a0, 0x24($v1) +/* 00429064 0320F809 */ jalr $t9 +/* 00429068 00000000 */ nop +/* 0042906C 24010005 */ li $at, 5 +/* 00429070 14410022 */ bne $v0, $at, .L004290FC +/* 00429074 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429078 8F8D89DC */ lw $t5, %got(basicint)($gp) +/* 0042907C 24010001 */ li $at, 1 +/* 00429080 24040139 */ li $a0, 313 +/* 00429084 91AD0000 */ lbu $t5, ($t5) +/* 00429088 8FAE010C */ lw $t6, 0x10c($sp) +/* 0042908C 8FB9010C */ lw $t9, 0x10c($sp) +/* 00429090 55A1000A */ bnel $t5, $at, .L004290BC +/* 00429094 8F270024 */ lw $a3, 0x24($t9) +/* 00429098 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 0042909C 8F918A60 */ lw $s1, %got(frame_pointer)($gp) +/* 004290A0 93A500FF */ lbu $a1, 0xff($sp) +/* 004290A4 8DC70024 */ lw $a3, 0x24($t6) +/* 004290A8 0320F809 */ jalr $t9 +/* 004290AC 92260000 */ lbu $a2, ($s1) +/* 004290B0 10000009 */ b .L004290D8 +/* 004290B4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004290B8 8F270024 */ lw $a3, 0x24($t9) +.L004290BC: +/* 004290BC 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 004290C0 8F918A60 */ lw $s1, %got(frame_pointer)($gp) +/* 004290C4 24040056 */ li $a0, 86 +/* 004290C8 93A500FF */ lbu $a1, 0xff($sp) +/* 004290CC 0320F809 */ jalr $t9 +/* 004290D0 92260000 */ lbu $a2, ($s1) +/* 004290D4 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004290D8: +/* 004290D8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004290DC 93A700FF */ lbu $a3, 0xff($sp) +/* 004290E0 97A40102 */ lhu $a0, 0x102($sp) +/* 004290E4 00003025 */ move $a2, $zero +/* 004290E8 AFA00010 */ sw $zero, 0x10($sp) +/* 004290EC 0320F809 */ jalr $t9 +/* 004290F0 00E02825 */ move $a1, $a3 +/* 004290F4 1000005C */ b .L00429268 +/* 004290F8 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004290FC: +/* 004290FC 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 00429100 8FA4010C */ lw $a0, 0x10c($sp) +/* 00429104 0320F809 */ jalr $t9 +/* 00429108 00000000 */ nop +/* 0042910C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429110 02429021 */ addu $s2, $s2, $v0 +/* 00429114 02403025 */ move $a2, $s2 +/* 00429118 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042911C 8F918A60 */ lw $s1, %got(frame_pointer)($gp) +/* 00429120 97A40102 */ lhu $a0, 0x102($sp) +/* 00429124 93A500FF */ lbu $a1, 0xff($sp) +/* 00429128 AFA00010 */ sw $zero, 0x10($sp) +/* 0042912C 0320F809 */ jalr $t9 +/* 00429130 92270000 */ lbu $a3, ($s1) +/* 00429134 1000004C */ b .L00429268 +/* 00429138 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0042913C: +/* 0042913C 8C6F002C */ lw $t7, 0x2c($v1) +/* 00429140 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 00429144 97A40102 */ lhu $a0, 0x102($sp) +/* 00429148 024F9021 */ addu $s2, $s2, $t7 +/* 0042914C 02403825 */ move $a3, $s2 +/* 00429150 93A500FF */ lbu $a1, 0xff($sp) +/* 00429154 8C660024 */ lw $a2, 0x24($v1) +/* 00429158 0320F809 */ jalr $t9 +/* 0042915C AFA00010 */ sw $zero, 0x10($sp) +/* 00429160 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429164 10000040 */ b .L00429268 +/* 00429168 8F918A60 */ lw $s1, %got(frame_pointer)($gp) +.L0042916C: +/* 0042916C 8F988038 */ lw $t8, %got(RO_1000A6E6)($gp) +/* 00429170 24040004 */ li $a0, 4 +/* 00429174 240509F4 */ li $a1, 2548 +/* 00429178 2718A6E6 */ addiu $t8, %lo(RO_1000A6E6) # addiu $t8, $t8, -0x591a +/* 0042917C 270B0048 */ addiu $t3, $t8, 0x48 +/* 00429180 03A04825 */ move $t1, $sp +.L00429184: +/* 00429184 8B0A0000 */ lwl $t2, ($t8) +/* 00429188 9B0A0003 */ lwr $t2, 3($t8) +/* 0042918C 2718000C */ addiu $t8, $t8, 0xc +/* 00429190 2529000C */ addiu $t1, $t1, 0xc +/* 00429194 A92AFFFC */ swl $t2, -4($t1) +/* 00429198 B92AFFFF */ swr $t2, -1($t1) +/* 0042919C 8B08FFF8 */ lwl $t0, -8($t8) +/* 004291A0 9B08FFFB */ lwr $t0, -5($t8) +/* 004291A4 A9280000 */ swl $t0, ($t1) +/* 004291A8 B9280003 */ swr $t0, 3($t1) +/* 004291AC 8B0AFFFC */ lwl $t2, -4($t8) +/* 004291B0 9B0AFFFF */ lwr $t2, -1($t8) +/* 004291B4 A92A0004 */ swl $t2, 4($t1) +/* 004291B8 170BFFF2 */ bne $t8, $t3, .L00429184 +/* 004291BC B92A0007 */ swr $t2, 7($t1) +/* 004291C0 8B0A0000 */ lwl $t2, ($t8) +/* 004291C4 9B0A0003 */ lwr $t2, 3($t8) +/* 004291C8 8F8D8038 */ lw $t5, %got(RO_1000A696)($gp) +/* 004291CC 03A06025 */ move $t4, $sp +/* 004291D0 A92A0008 */ swl $t2, 8($t1) +/* 004291D4 B92A000B */ swr $t2, 0xb($t1) +/* 004291D8 8B080004 */ lwl $t0, 4($t8) +/* 004291DC 9B080007 */ lwr $t0, 7($t8) +/* 004291E0 25ADA696 */ addiu $t5, %lo(RO_1000A696) # addiu $t5, $t5, -0x596a +/* 004291E4 25AF0048 */ addiu $t7, $t5, 0x48 +/* 004291E8 A928000C */ swl $t0, 0xc($t1) +/* 004291EC B928000F */ swr $t0, 0xf($t1) +.L004291F0: +/* 004291F0 89B90000 */ lwl $t9, ($t5) +/* 004291F4 99B90003 */ lwr $t9, 3($t5) +/* 004291F8 25AD000C */ addiu $t5, $t5, 0xc +/* 004291FC 258C000C */ addiu $t4, $t4, 0xc +/* 00429200 A999004C */ swl $t9, 0x4c($t4) +/* 00429204 B999004F */ swr $t9, 0x4f($t4) +/* 00429208 89AEFFF8 */ lwl $t6, -8($t5) +/* 0042920C 99AEFFFB */ lwr $t6, -5($t5) +/* 00429210 A98E0050 */ swl $t6, 0x50($t4) +/* 00429214 B98E0053 */ swr $t6, 0x53($t4) +/* 00429218 89B9FFFC */ lwl $t9, -4($t5) +/* 0042921C 99B9FFFF */ lwr $t9, -1($t5) +/* 00429220 A9990054 */ swl $t9, 0x54($t4) +/* 00429224 15AFFFF2 */ bne $t5, $t7, .L004291F0 +/* 00429228 B9990057 */ swr $t9, 0x57($t4) +/* 0042922C 89B90000 */ lwl $t9, ($t5) +/* 00429230 99B90003 */ lwr $t9, 3($t5) +/* 00429234 A9990058 */ swl $t9, 0x58($t4) +/* 00429238 B999005B */ swr $t9, 0x5b($t4) +/* 0042923C 89AE0004 */ lwl $t6, 4($t5) +/* 00429240 99AE0007 */ lwr $t6, 7($t5) +/* 00429244 A98E005C */ swl $t6, 0x5c($t4) +/* 00429248 B98E005F */ swr $t6, 0x5f($t4) +/* 0042924C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00429250 8FA7000C */ lw $a3, 0xc($sp) +/* 00429254 8FA60008 */ lw $a2, 8($sp) +/* 00429258 0320F809 */ jalr $t9 +/* 0042925C 00000000 */ nop +/* 00429260 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429264 8F918A60 */ lw $s1, %got(frame_pointer)($gp) +.L00429268: +/* 00429268 8FA30110 */ lw $v1, 0x110($sp) +/* 0042926C 97A40100 */ lhu $a0, 0x100($sp) +/* 00429270 93A500FF */ lbu $a1, 0xff($sp) +/* 00429274 14600008 */ bnez $v1, .L00429298 +/* 00429278 2407001D */ li $a3, 29 +/* 0042927C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429280 8E0B002C */ lw $t3, 0x2c($s0) +/* 00429284 AFA00010 */ sw $zero, 0x10($sp) +/* 00429288 0320F809 */ jalr $t9 +/* 0042928C 026B3021 */ addu $a2, $s3, $t3 +/* 00429290 1000030C */ b .L00429EC4 +/* 00429294 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429298: +/* 00429298 90620021 */ lbu $v0, 0x21($v1) +/* 0042929C 00021600 */ sll $v0, $v0, 0x18 +/* 004292A0 00021742 */ srl $v0, $v0, 0x1d +/* 004292A4 304200FF */ andi $v0, $v0, 0xff +/* 004292A8 2458FFFF */ addiu $t8, $v0, -1 +/* 004292AC 2F010004 */ sltiu $at, $t8, 4 +/* 004292B0 10200046 */ beqz $at, .L004293CC +/* 004292B4 00000000 */ nop +/* 004292B8 8F818038 */ lw $at, %got(jtbl_1000A75C)($gp) +/* 004292BC 0018C080 */ sll $t8, $t8, 2 +/* 004292C0 00380821 */ addu $at, $at, $t8 +/* 004292C4 8C38A75C */ lw $t8, %lo(jtbl_1000A75C)($at) +/* 004292C8 031CC021 */ addu $t8, $t8, $gp +/* 004292CC 03000008 */ jr $t8 +/* 004292D0 00000000 */ nop +.L004292D4: +/* 004292D4 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 004292D8 8C640024 */ lw $a0, 0x24($v1) +/* 004292DC 0320F809 */ jalr $t9 +/* 004292E0 00000000 */ nop +/* 004292E4 24010005 */ li $at, 5 +/* 004292E8 14410020 */ bne $v0, $at, .L0042936C +/* 004292EC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004292F0 8F8989DC */ lw $t1, %got(basicint)($gp) +/* 004292F4 24010001 */ li $at, 1 +/* 004292F8 8FA80110 */ lw $t0, 0x110($sp) +/* 004292FC 91290000 */ lbu $t1, ($t1) +/* 00429300 24040056 */ li $a0, 86 +/* 00429304 93A500FF */ lbu $a1, 0xff($sp) +/* 00429308 15210009 */ bne $t1, $at, .L00429330 +/* 0042930C 00000000 */ nop +/* 00429310 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 00429314 24040139 */ li $a0, 313 +/* 00429318 93A500FF */ lbu $a1, 0xff($sp) +/* 0042931C 92260000 */ lbu $a2, ($s1) +/* 00429320 0320F809 */ jalr $t9 +/* 00429324 8D070024 */ lw $a3, 0x24($t0) +/* 00429328 10000007 */ b .L00429348 +/* 0042932C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429330: +/* 00429330 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 00429334 8FAA0110 */ lw $t2, 0x110($sp) +/* 00429338 92260000 */ lbu $a2, ($s1) +/* 0042933C 0320F809 */ jalr $t9 +/* 00429340 8D470024 */ lw $a3, 0x24($t2) +/* 00429344 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429348: +/* 00429348 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042934C 93A700FF */ lbu $a3, 0xff($sp) +/* 00429350 97A40100 */ lhu $a0, 0x100($sp) +/* 00429354 00003025 */ move $a2, $zero +/* 00429358 AFA00010 */ sw $zero, 0x10($sp) +/* 0042935C 0320F809 */ jalr $t9 +/* 00429360 00E02825 */ move $a1, $a3 +/* 00429364 100002D7 */ b .L00429EC4 +/* 00429368 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0042936C: +/* 0042936C 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 00429370 8FA40110 */ lw $a0, 0x110($sp) +/* 00429374 0320F809 */ jalr $t9 +/* 00429378 00000000 */ nop +/* 0042937C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429380 02623021 */ addu $a2, $s3, $v0 +/* 00429384 97A40100 */ lhu $a0, 0x100($sp) +/* 00429388 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042938C 93A500FF */ lbu $a1, 0xff($sp) +/* 00429390 92270000 */ lbu $a3, ($s1) +/* 00429394 0320F809 */ jalr $t9 +/* 00429398 AFA00010 */ sw $zero, 0x10($sp) +/* 0042939C 100002C9 */ b .L00429EC4 +/* 004293A0 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004293A4: +/* 004293A4 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 004293A8 8C6D002C */ lw $t5, 0x2c($v1) +/* 004293AC 97A40100 */ lhu $a0, 0x100($sp) +/* 004293B0 93A500FF */ lbu $a1, 0xff($sp) +/* 004293B4 8C660024 */ lw $a2, 0x24($v1) +/* 004293B8 AFA00010 */ sw $zero, 0x10($sp) +/* 004293BC 0320F809 */ jalr $t9 +/* 004293C0 026D3821 */ addu $a3, $s3, $t5 +/* 004293C4 100002BF */ b .L00429EC4 +/* 004293C8 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004293CC: +/* 004293CC 8F8C8038 */ lw $t4, %got(RO_1000A646)($gp) +/* 004293D0 24040004 */ li $a0, 4 +/* 004293D4 24050A13 */ li $a1, 2579 +/* 004293D8 258CA646 */ addiu $t4, %lo(RO_1000A646) # addiu $t4, $t4, -0x59ba +/* 004293DC 25980048 */ addiu $t8, $t4, 0x48 +/* 004293E0 03A05825 */ move $t3, $sp +.L004293E4: +/* 004293E4 89990000 */ lwl $t9, ($t4) +/* 004293E8 99990003 */ lwr $t9, 3($t4) +/* 004293EC 258C000C */ addiu $t4, $t4, 0xc +/* 004293F0 256B000C */ addiu $t3, $t3, 0xc +/* 004293F4 A979FFFC */ swl $t9, -4($t3) +/* 004293F8 B979FFFF */ swr $t9, -1($t3) +/* 004293FC 898EFFF8 */ lwl $t6, -8($t4) +/* 00429400 998EFFFB */ lwr $t6, -5($t4) +/* 00429404 A96E0000 */ swl $t6, ($t3) +/* 00429408 B96E0003 */ swr $t6, 3($t3) +/* 0042940C 8999FFFC */ lwl $t9, -4($t4) +/* 00429410 9999FFFF */ lwr $t9, -1($t4) +/* 00429414 A9790004 */ swl $t9, 4($t3) +/* 00429418 1598FFF2 */ bne $t4, $t8, .L004293E4 +/* 0042941C B9790007 */ swr $t9, 7($t3) +/* 00429420 89990000 */ lwl $t9, ($t4) +/* 00429424 99990003 */ lwr $t9, 3($t4) +/* 00429428 8F898038 */ lw $t1, %got(RO_1000A5F6)($gp) +/* 0042942C 03A07825 */ move $t7, $sp +/* 00429430 A9790008 */ swl $t9, 8($t3) +/* 00429434 B979000B */ swr $t9, 0xb($t3) +/* 00429438 898E0004 */ lwl $t6, 4($t4) +/* 0042943C 998E0007 */ lwr $t6, 7($t4) +/* 00429440 2529A5F6 */ addiu $t1, %lo(RO_1000A5F6) # addiu $t1, $t1, -0x5a0a +/* 00429444 252D0048 */ addiu $t5, $t1, 0x48 +/* 00429448 A96E000C */ swl $t6, 0xc($t3) +/* 0042944C B96E000F */ swr $t6, 0xf($t3) +.L00429450: +/* 00429450 892A0000 */ lwl $t2, ($t1) +/* 00429454 992A0003 */ lwr $t2, 3($t1) +/* 00429458 2529000C */ addiu $t1, $t1, 0xc +/* 0042945C 25EF000C */ addiu $t7, $t7, 0xc +/* 00429460 A9EA004C */ swl $t2, 0x4c($t7) +/* 00429464 B9EA004F */ swr $t2, 0x4f($t7) +/* 00429468 8928FFF8 */ lwl $t0, -8($t1) +/* 0042946C 9928FFFB */ lwr $t0, -5($t1) +/* 00429470 A9E80050 */ swl $t0, 0x50($t7) +/* 00429474 B9E80053 */ swr $t0, 0x53($t7) +/* 00429478 892AFFFC */ lwl $t2, -4($t1) +/* 0042947C 992AFFFF */ lwr $t2, -1($t1) +/* 00429480 A9EA0054 */ swl $t2, 0x54($t7) +/* 00429484 152DFFF2 */ bne $t1, $t5, .L00429450 +/* 00429488 B9EA0057 */ swr $t2, 0x57($t7) +/* 0042948C 892A0000 */ lwl $t2, ($t1) +/* 00429490 992A0003 */ lwr $t2, 3($t1) +/* 00429494 A9EA0058 */ swl $t2, 0x58($t7) +/* 00429498 B9EA005B */ swr $t2, 0x5b($t7) +/* 0042949C 89280004 */ lwl $t0, 4($t1) +/* 004294A0 99280007 */ lwr $t0, 7($t1) +/* 004294A4 A9E8005C */ swl $t0, 0x5c($t7) +/* 004294A8 B9E8005F */ swr $t0, 0x5f($t7) +/* 004294AC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004294B0 8FA7000C */ lw $a3, 0xc($sp) +/* 004294B4 8FA60008 */ lw $a2, 8($sp) +/* 004294B8 0320F809 */ jalr $t9 +/* 004294BC 00000000 */ nop +/* 004294C0 10000280 */ b .L00429EC4 +/* 004294C4 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004294C8: +/* 004294C8 8FB80110 */ lw $t8, 0x110($sp) +.L004294CC: +/* 004294CC 13000007 */ beqz $t8, .L004294EC +/* 004294D0 00000000 */ nop +/* 004294D4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004294D8 03002025 */ move $a0, $t8 +/* 004294DC 24050048 */ li $a1, 72 +/* 004294E0 0320F809 */ jalr $t9 +/* 004294E4 00000000 */ nop +/* 004294E8 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004294EC: +/* 004294EC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004294F0 8FA4010C */ lw $a0, 0x10c($sp) +/* 004294F4 24050048 */ li $a1, 72 +/* 004294F8 0320F809 */ jalr $t9 +/* 004294FC 00000000 */ nop +/* 00429500 8FAC0110 */ lw $t4, 0x110($sp) +/* 00429504 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429508 240B001D */ li $t3, 29 +/* 0042950C 15800005 */ bnez $t4, .L00429524 +/* 00429510 00000000 */ nop +/* 00429514 8E0E002C */ lw $t6, 0x2c($s0) +/* 00429518 A3AB00FB */ sb $t3, 0xfb($sp) +/* 0042951C 10000007 */ b .L0042953C +/* 00429520 026E9821 */ addu $s3, $s3, $t6 +.L00429524: +/* 00429524 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00429528 8FA40110 */ lw $a0, 0x110($sp) +/* 0042952C 0320F809 */ jalr $t9 +/* 00429530 00000000 */ nop +/* 00429534 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429538 A3A200FB */ sb $v0, 0xfb($sp) +.L0042953C: +/* 0042953C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00429540 8FA4010C */ lw $a0, 0x10c($sp) +/* 00429544 0320F809 */ jalr $t9 +/* 00429548 00000000 */ nop +/* 0042954C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429550 A3A200FC */ sb $v0, 0xfc($sp) +/* 00429554 00002025 */ move $a0, $zero +/* 00429558 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042955C 24050001 */ li $a1, 1 +/* 00429560 0320F809 */ jalr $t9 +/* 00429564 00000000 */ nop +/* 00429568 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042956C A3A200FE */ sb $v0, 0xfe($sp) +/* 00429570 8F9984E8 */ lw $t9, %call16(free_reg_is_available)($gp) +/* 00429574 0320F809 */ jalr $t9 +/* 00429578 00000000 */ nop +/* 0042957C 14400010 */ bnez $v0, .L004295C0 +/* 00429580 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429584 2A617FF4 */ slti $at, $s3, 0x7ff4 +/* 00429588 1020000D */ beqz $at, .L004295C0 +/* 0042958C 2A417FF4 */ slti $at, $s2, 0x7ff4 +/* 00429590 1020000B */ beqz $at, .L004295C0 +/* 00429594 0271C821 */ addu $t9, $s3, $s1 +/* 00429598 34018000 */ li $at, 32768 +/* 0042959C 0321082A */ slt $at, $t9, $at +/* 004295A0 10200004 */ beqz $at, .L004295B4 +/* 004295A4 02516821 */ addu $t5, $s2, $s1 +/* 004295A8 34018000 */ li $at, 32768 +/* 004295AC 01A1082A */ slt $at, $t5, $at +/* 004295B0 1420000C */ bnez $at, .L004295E4 +.L004295B4: +/* 004295B4 2A210021 */ slti $at, $s1, 0x21 +/* 004295B8 1020000A */ beqz $at, .L004295E4 +/* 004295BC 00000000 */ nop +.L004295C0: +/* 004295C0 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004295C4 24090001 */ li $t1, 1 +/* 004295C8 A3A900EF */ sb $t1, 0xef($sp) +/* 004295CC 00002025 */ move $a0, $zero +/* 004295D0 0320F809 */ jalr $t9 +/* 004295D4 24050001 */ li $a1, 1 +/* 004295D8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004295DC 10000009 */ b .L00429604 +/* 004295E0 A3A200FF */ sb $v0, 0xff($sp) +.L004295E4: +/* 004295E4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004295E8 A3A000EF */ sb $zero, 0xef($sp) +/* 004295EC 24040020 */ li $a0, 32 +/* 004295F0 0320F809 */ jalr $t9 +/* 004295F4 24050006 */ li $a1, 6 +/* 004295F8 240F0001 */ li $t7, 1 +/* 004295FC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429600 A3AF00FF */ sb $t7, 0xff($sp) +.L00429604: +/* 00429604 8FA80118 */ lw $t0, 0x118($sp) +/* 00429608 240A00CE */ li $t2, 206 +/* 0042960C 2418002A */ li $t8, 42 +/* 00429610 29010004 */ slti $at, $t0, 4 +/* 00429614 10200003 */ beqz $at, .L00429624 +/* 00429618 240E0057 */ li $t6, 87 +/* 0042961C 10000002 */ b .L00429628 +/* 00429620 A7AA0102 */ sh $t2, 0x102($sp) +.L00429624: +/* 00429624 A7B80102 */ sh $t8, 0x102($sp) +.L00429628: +/* 00429628 8FAC0114 */ lw $t4, 0x114($sp) +/* 0042962C 240B00D1 */ li $t3, 209 +/* 00429630 24100004 */ li $s0, 4 +/* 00429634 29810004 */ slti $at, $t4, 4 +/* 00429638 50200004 */ beql $at, $zero, .L0042964C +/* 0042963C A7AE0100 */ sh $t6, 0x100($sp) +/* 00429640 10000002 */ b .L0042964C +/* 00429644 A7AB0100 */ sh $t3, 0x100($sp) +/* 00429648 A7AE0100 */ sh $t6, 0x100($sp) +.L0042964C: +/* 0042964C 8F9989D8 */ lw $t9, %got(opcode_arch)($gp) +/* 00429650 24010001 */ li $at, 1 +/* 00429654 8FAD0118 */ lw $t5, 0x118($sp) +/* 00429658 93390000 */ lbu $t9, ($t9) +/* 0042965C 1721000C */ bne $t9, $at, .L00429690 +/* 00429660 24020008 */ li $v0, 8 +/* 00429664 15A2000A */ bne $t5, $v0, .L00429690 +/* 00429668 8FA90114 */ lw $t1, 0x114($sp) +/* 0042966C 15220008 */ bne $t1, $v0, .L00429690 +/* 00429670 240F0001 */ li $t7, 1 +/* 00429674 2408006C */ li $t0, 108 +/* 00429678 240A006D */ li $t2, 109 +/* 0042967C A3AF00ED */ sb $t7, 0xed($sp) +/* 00429680 24100008 */ li $s0, 8 +/* 00429684 A7A80102 */ sh $t0, 0x102($sp) +/* 00429688 10000002 */ b .L00429694 +/* 0042968C A7AA0100 */ sh $t2, 0x100($sp) +.L00429690: +/* 00429690 A3A000ED */ sb $zero, 0xed($sp) +.L00429694: +/* 00429694 0010C0C0 */ sll $t8, $s0, 3 +/* 00429698 0311082B */ sltu $at, $t8, $s1 +/* 0042969C 502000B0 */ beql $at, $zero, .L00429960 +/* 004296A0 8FAA0110 */ lw $t2, 0x110($sp) +/* 004296A4 8F998388 */ lw $t9, %call16(copy)($gp) +/* 004296A8 93A400FC */ lbu $a0, 0xfc($sp) +/* 004296AC 0320F809 */ jalr $t9 +/* 004296B0 00000000 */ nop +/* 004296B4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004296B8 A3A200FC */ sb $v0, 0xfc($sp) +/* 004296BC 93A400FB */ lbu $a0, 0xfb($sp) +/* 004296C0 8F998388 */ lw $t9, %call16(copy)($gp) +/* 004296C4 0320F809 */ jalr $t9 +/* 004296C8 00000000 */ nop +/* 004296CC 93AC00EF */ lbu $t4, 0xef($sp) +/* 004296D0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004296D4 A3A200FB */ sb $v0, 0xfb($sp) +/* 004296D8 1180000F */ beqz $t4, .L00429718 +/* 004296DC 00000000 */ nop +/* 004296E0 8F9984E8 */ lw $t9, %call16(free_reg_is_available)($gp) +/* 004296E4 0320F809 */ jalr $t9 +/* 004296E8 00000000 */ nop +/* 004296EC 1440000A */ bnez $v0, .L00429718 +/* 004296F0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004296F4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004296F8 A3A000EF */ sb $zero, 0xef($sp) +/* 004296FC 24040020 */ li $a0, 32 +/* 00429700 0320F809 */ jalr $t9 +/* 00429704 24050006 */ li $a1, 6 +/* 00429708 240B0001 */ li $t3, 1 +/* 0042970C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429710 1000000D */ b .L00429748 +/* 00429714 A3AB00FD */ sb $t3, 0xfd($sp) +.L00429718: +/* 00429718 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042971C 00002025 */ move $a0, $zero +/* 00429720 24050001 */ li $a1, 1 +/* 00429724 0320F809 */ jalr $t9 +/* 00429728 00000000 */ nop +/* 0042972C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429730 A3A200FD */ sb $v0, 0xfd($sp) +/* 00429734 304400FF */ andi $a0, $v0, 0xff +/* 00429738 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042973C 0320F809 */ jalr $t9 +/* 00429740 00000000 */ nop +/* 00429744 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429748: +/* 00429748 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042974C 93A400FC */ lbu $a0, 0xfc($sp) +/* 00429750 0320F809 */ jalr $t9 +/* 00429754 00000000 */ nop +/* 00429758 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042975C 93A400FB */ lbu $a0, 0xfb($sp) +/* 00429760 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00429764 0320F809 */ jalr $t9 +/* 00429768 00000000 */ nop +/* 0042976C 00101880 */ sll $v1, $s0, 2 +/* 00429770 00701823 */ subu $v1, $v1, $s0 +/* 00429774 0223001B */ divu $zero, $s1, $v1 +/* 00429778 00007012 */ mflo $t6 +/* 0042977C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429780 14600002 */ bnez $v1, .L0042978C +/* 00429784 00000000 */ nop +/* 00429788 0007000D */ break 7 +.L0042978C: +/* 0042978C 01C30019 */ multu $t6, $v1 +/* 00429790 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00429794 AFA300D4 */ sw $v1, 0xd4($sp) +/* 00429798 24040002 */ li $a0, 2 +/* 0042979C 93A500FD */ lbu $a1, 0xfd($sp) +/* 004297A0 93A600FC */ lbu $a2, 0xfc($sp) +/* 004297A4 AFA00010 */ sw $zero, 0x10($sp) +/* 004297A8 00001012 */ mflo $v0 +/* 004297AC 00403825 */ move $a3, $v0 +/* 004297B0 0320F809 */ jalr $t9 +/* 004297B4 02228823 */ subu $s1, $s1, $v0 +/* 004297B8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004297BC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004297C0 0320F809 */ jalr $t9 +/* 004297C4 00000000 */ nop +/* 004297C8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004297CC AFA200F0 */ sw $v0, 0xf0($sp) +/* 004297D0 00402025 */ move $a0, $v0 +/* 004297D4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 004297D8 0320F809 */ jalr $t9 +/* 004297DC 00000000 */ nop +/* 004297E0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004297E4 97A40102 */ lhu $a0, 0x102($sp) +/* 004297E8 93A500FF */ lbu $a1, 0xff($sp) +/* 004297EC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004297F0 00001025 */ move $v0, $zero +/* 004297F4 02403021 */ move $a2, $s2 +/* 004297F8 93A700FC */ lbu $a3, 0xfc($sp) +/* 004297FC AFA00010 */ sw $zero, 0x10($sp) +/* 00429800 0320F809 */ jalr $t9 +/* 00429804 AFA000D0 */ sw $zero, 0xd0($sp) +/* 00429808 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042980C 93A500FC */ lbu $a1, 0xfc($sp) +/* 00429810 8FA700D4 */ lw $a3, 0xd4($sp) +/* 00429814 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00429818 24040002 */ li $a0, 2 +/* 0042981C AFA00010 */ sw $zero, 0x10($sp) +/* 00429820 00A03025 */ move $a2, $a1 +/* 00429824 0320F809 */ jalr $t9 +/* 00429828 AFA700CC */ sw $a3, 0xcc($sp) +/* 0042982C 8FB900D0 */ lw $t9, 0xd0($sp) +/* 00429830 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429834 97A40100 */ lhu $a0, 0x100($sp) +/* 00429838 02793021 */ addu $a2, $s3, $t9 +/* 0042983C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429840 93A500FF */ lbu $a1, 0xff($sp) +/* 00429844 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429848 0320F809 */ jalr $t9 +/* 0042984C AFA00010 */ sw $zero, 0x10($sp) +/* 00429850 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429854 00101040 */ sll $v0, $s0, 1 +/* 00429858 02423023 */ subu $a2, $s2, $v0 +/* 0042985C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429860 AFA200D4 */ sw $v0, 0xd4($sp) +/* 00429864 97A40102 */ lhu $a0, 0x102($sp) +/* 00429868 93A500FE */ lbu $a1, 0xfe($sp) +/* 0042986C 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429870 0320F809 */ jalr $t9 +/* 00429874 AFA00010 */ sw $zero, 0x10($sp) +/* 00429878 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042987C 93A500FB */ lbu $a1, 0xfb($sp) +/* 00429880 24040002 */ li $a0, 2 +/* 00429884 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00429888 8FA700CC */ lw $a3, 0xcc($sp) +/* 0042988C AFA00010 */ sw $zero, 0x10($sp) +/* 00429890 0320F809 */ jalr $t9 +/* 00429894 00A03025 */ move $a2, $a1 +/* 00429898 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042989C 8FAD00D4 */ lw $t5, 0xd4($sp) +/* 004298A0 97A40100 */ lhu $a0, 0x100($sp) +/* 004298A4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004298A8 93A500FE */ lbu $a1, 0xfe($sp) +/* 004298AC 93A700FB */ lbu $a3, 0xfb($sp) +/* 004298B0 AFA00010 */ sw $zero, 0x10($sp) +/* 004298B4 0320F809 */ jalr $t9 +/* 004298B8 026D3023 */ subu $a2, $s3, $t5 +/* 004298BC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004298C0 97A40102 */ lhu $a0, 0x102($sp) +/* 004298C4 93A500FF */ lbu $a1, 0xff($sp) +/* 004298C8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004298CC 02001025 */ move $v0, $s0 +/* 004298D0 02503023 */ subu $a2, $s2, $s0 +/* 004298D4 93A700FC */ lbu $a3, 0xfc($sp) +/* 004298D8 AFA00010 */ sw $zero, 0x10($sp) +/* 004298DC 0320F809 */ jalr $t9 +/* 004298E0 AFB000D4 */ sw $s0, 0xd4($sp) +/* 004298E4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004298E8 8FA200D4 */ lw $v0, 0xd4($sp) +/* 004298EC 97A40100 */ lhu $a0, 0x100($sp) +/* 004298F0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004298F4 93A500FF */ lbu $a1, 0xff($sp) +/* 004298F8 93A700FB */ lbu $a3, 0xfb($sp) +/* 004298FC AFA00010 */ sw $zero, 0x10($sp) +/* 00429900 0320F809 */ jalr $t9 +/* 00429904 02623023 */ subu $a2, $s3, $v0 +/* 00429908 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0042990C 2404001A */ li $a0, 26 +/* 00429910 93A500FC */ lbu $a1, 0xfc($sp) +/* 00429914 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 00429918 93A600FD */ lbu $a2, 0xfd($sp) +/* 0042991C 8FA700F0 */ lw $a3, 0xf0($sp) +/* 00429920 0320F809 */ jalr $t9 +/* 00429924 00000000 */ nop +/* 00429928 93A900EF */ lbu $t1, 0xef($sp) +/* 0042992C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429930 93AF00FD */ lbu $t7, 0xfd($sp) +/* 00429934 15200009 */ bnez $t1, .L0042995C +/* 00429938 24010001 */ li $at, 1 +/* 0042993C 15E10007 */ bne $t7, $at, .L0042995C +/* 00429940 24080001 */ li $t0, 1 +/* 00429944 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00429948 A3A800EF */ sb $t0, 0xef($sp) +/* 0042994C 24040020 */ li $a0, 32 +/* 00429950 0320F809 */ jalr $t9 +/* 00429954 24050005 */ li $a1, 5 +/* 00429958 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0042995C: +/* 0042995C 8FAA0110 */ lw $t2, 0x110($sp) +.L00429960: +/* 00429960 A3A000EE */ sb $zero, 0xee($sp) +/* 00429964 51400017 */ beql $t2, $zero, .L004299C4 +/* 00429968 0230082B */ sltu $at, $s1, $s0 +/* 0042996C 91580020 */ lbu $t8, 0x20($t2) +/* 00429970 24010047 */ li $at, 71 +/* 00429974 8FAC010C */ lw $t4, 0x10c($sp) +/* 00429978 57010012 */ bnel $t8, $at, .L004299C4 +/* 0042997C 0230082B */ sltu $at, $s1, $s0 +/* 00429980 918B0020 */ lbu $t3, 0x20($t4) +/* 00429984 24010047 */ li $at, 71 +/* 00429988 5561000E */ bnel $t3, $at, .L004299C4 +/* 0042998C 0230082B */ sltu $at, $s1, $s0 +/* 00429990 8D8E0024 */ lw $t6, 0x24($t4) +/* 00429994 8D590024 */ lw $t9, 0x24($t2) +/* 00429998 240D0001 */ li $t5, 1 +/* 0042999C 24040030 */ li $a0, 48 +/* 004299A0 51D90008 */ beql $t6, $t9, .L004299C4 +/* 004299A4 0230082B */ sltu $at, $s1, $s0 +/* 004299A8 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 004299AC A3AD00EE */ sb $t5, 0xee($sp) +/* 004299B0 93A500FC */ lbu $a1, 0xfc($sp) +/* 004299B4 0320F809 */ jalr $t9 +/* 004299B8 93A600FB */ lbu $a2, 0xfb($sp) +/* 004299BC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004299C0 0230082B */ sltu $at, $s1, $s0 +.L004299C4: +/* 004299C4 5420002D */ bnel $at, $zero, .L00429A7C +/* 004299C8 2E210004 */ sltiu $at, $s1, 4 +.L004299CC: +/* 004299CC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004299D0 97A40102 */ lhu $a0, 0x102($sp) +/* 004299D4 93A500FF */ lbu $a1, 0xff($sp) +/* 004299D8 02403025 */ move $a2, $s2 +/* 004299DC 93A700FC */ lbu $a3, 0xfc($sp) +/* 004299E0 0320F809 */ jalr $t9 +/* 004299E4 AFA00010 */ sw $zero, 0x10($sp) +/* 004299E8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004299EC 97A40100 */ lhu $a0, 0x100($sp) +/* 004299F0 93A500FF */ lbu $a1, 0xff($sp) +/* 004299F4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004299F8 02603025 */ move $a2, $s3 +/* 004299FC 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429A00 0320F809 */ jalr $t9 +/* 00429A04 AFA00010 */ sw $zero, 0x10($sp) +/* 00429A08 02308823 */ subu $s1, $s1, $s0 +/* 00429A0C 0230082B */ sltu $at, $s1, $s0 +/* 00429A10 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429A14 02509021 */ addu $s2, $s2, $s0 +/* 00429A18 14200014 */ bnez $at, .L00429A6C +/* 00429A1C 02709821 */ addu $s3, $s3, $s0 +/* 00429A20 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429A24 97A40102 */ lhu $a0, 0x102($sp) +/* 00429A28 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429A2C 02403025 */ move $a2, $s2 +/* 00429A30 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429A34 0320F809 */ jalr $t9 +/* 00429A38 AFA00010 */ sw $zero, 0x10($sp) +/* 00429A3C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429A40 97A40100 */ lhu $a0, 0x100($sp) +/* 00429A44 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429A48 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429A4C 02603025 */ move $a2, $s3 +/* 00429A50 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429A54 0320F809 */ jalr $t9 +/* 00429A58 AFA00010 */ sw $zero, 0x10($sp) +/* 00429A5C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429A60 02509021 */ addu $s2, $s2, $s0 +/* 00429A64 02709821 */ addu $s3, $s3, $s0 +/* 00429A68 02308823 */ subu $s1, $s1, $s0 +.L00429A6C: +/* 00429A6C 0230082B */ sltu $at, $s1, $s0 +/* 00429A70 1020FFD6 */ beqz $at, .L004299CC +/* 00429A74 00000000 */ nop +/* 00429A78 2E210004 */ sltiu $at, $s1, 4 +.L00429A7C: +/* 00429A7C 14200015 */ bnez $at, .L00429AD4 +/* 00429A80 93A900ED */ lbu $t1, 0xed($sp) +/* 00429A84 11200013 */ beqz $t1, .L00429AD4 +/* 00429A88 2404002A */ li $a0, 42 +/* 00429A8C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429A90 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429A94 02403025 */ move $a2, $s2 +/* 00429A98 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429A9C 0320F809 */ jalr $t9 +/* 00429AA0 AFA00010 */ sw $zero, 0x10($sp) +/* 00429AA4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429AA8 24040057 */ li $a0, 87 +/* 00429AAC 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429AB0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429AB4 02603025 */ move $a2, $s3 +/* 00429AB8 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429ABC 0320F809 */ jalr $t9 +/* 00429AC0 AFA00010 */ sw $zero, 0x10($sp) +/* 00429AC4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429AC8 26520004 */ addiu $s2, $s2, 4 +/* 00429ACC 26730004 */ addiu $s3, $s3, 4 +/* 00429AD0 2631FFFC */ addiu $s1, $s1, -4 +.L00429AD4: +/* 00429AD4 2E210004 */ sltiu $at, $s1, 4 +/* 00429AD8 102000D6 */ beqz $at, .L00429E34 +/* 00429ADC 24040001 */ li $a0, 1 +/* 00429AE0 8F818038 */ lw $at, %got(jtbl_1000A76C)($gp) +/* 00429AE4 00117880 */ sll $t7, $s1, 2 +/* 00429AE8 002F0821 */ addu $at, $at, $t7 +/* 00429AEC 8C2FA76C */ lw $t7, %lo(jtbl_1000A76C)($at) +/* 00429AF0 01FC7821 */ addu $t7, $t7, $gp +/* 00429AF4 01E00008 */ jr $t7 +/* 00429AF8 00000000 */ nop +.L00429AFC: +/* 00429AFC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429B00 24040026 */ li $a0, 38 +/* 00429B04 93A500FF */ lbu $a1, 0xff($sp) +/* 00429B08 02403025 */ move $a2, $s2 +/* 00429B0C 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429B10 0320F809 */ jalr $t9 +/* 00429B14 AFA00010 */ sw $zero, 0x10($sp) +/* 00429B18 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429B1C 24040046 */ li $a0, 70 +/* 00429B20 93A500FF */ lbu $a1, 0xff($sp) +/* 00429B24 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429B28 02603025 */ move $a2, $s3 +/* 00429B2C 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429B30 0320F809 */ jalr $t9 +/* 00429B34 AFA00010 */ sw $zero, 0x10($sp) +/* 00429B38 100000C5 */ b .L00429E50 +/* 00429B3C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429B40: +/* 00429B40 8FA80118 */ lw $t0, 0x118($sp) +/* 00429B44 8FB80114 */ lw $t8, 0x114($sp) +/* 00429B48 24040026 */ li $a0, 38 +/* 00429B4C 2D010002 */ sltiu $at, $t0, 2 +/* 00429B50 14200004 */ bnez $at, .L00429B64 +/* 00429B54 93A500FF */ lbu $a1, 0xff($sp) +/* 00429B58 2F010002 */ sltiu $at, $t8, 2 +/* 00429B5C 10200020 */ beqz $at, .L00429BE0 +/* 00429B60 02403025 */ move $a2, $s2 +.L00429B64: +/* 00429B64 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429B68 02403025 */ move $a2, $s2 +/* 00429B6C 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429B70 0320F809 */ jalr $t9 +/* 00429B74 AFA00010 */ sw $zero, 0x10($sp) +/* 00429B78 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429B7C 24040046 */ li $a0, 70 +/* 00429B80 93A500FF */ lbu $a1, 0xff($sp) +/* 00429B84 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429B88 02603025 */ move $a2, $s3 +/* 00429B8C 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429B90 0320F809 */ jalr $t9 +/* 00429B94 AFA00010 */ sw $zero, 0x10($sp) +/* 00429B98 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429B9C 24040026 */ li $a0, 38 +/* 00429BA0 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429BA4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429BA8 26460001 */ addiu $a2, $s2, 1 +/* 00429BAC 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429BB0 0320F809 */ jalr $t9 +/* 00429BB4 AFA00010 */ sw $zero, 0x10($sp) +/* 00429BB8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429BBC 24040046 */ li $a0, 70 +/* 00429BC0 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429BC4 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429BC8 26660001 */ addiu $a2, $s3, 1 +/* 00429BCC 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429BD0 0320F809 */ jalr $t9 +/* 00429BD4 AFA00010 */ sw $zero, 0x10($sp) +/* 00429BD8 1000009D */ b .L00429E50 +/* 00429BDC 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429BE0: +/* 00429BE0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429BE4 24040028 */ li $a0, 40 +/* 00429BE8 93A500FF */ lbu $a1, 0xff($sp) +/* 00429BEC 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429BF0 0320F809 */ jalr $t9 +/* 00429BF4 AFA00010 */ sw $zero, 0x10($sp) +/* 00429BF8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429BFC 2404004C */ li $a0, 76 +/* 00429C00 93A500FF */ lbu $a1, 0xff($sp) +/* 00429C04 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429C08 02603025 */ move $a2, $s3 +/* 00429C0C 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429C10 0320F809 */ jalr $t9 +/* 00429C14 AFA00010 */ sw $zero, 0x10($sp) +/* 00429C18 1000008D */ b .L00429E50 +/* 00429C1C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429C20: +/* 00429C20 8FAB0118 */ lw $t3, 0x118($sp) +/* 00429C24 8FAC0114 */ lw $t4, 0x114($sp) +/* 00429C28 8FAE0118 */ lw $t6, 0x118($sp) +/* 00429C2C 29610004 */ slti $at, $t3, 4 +/* 00429C30 14200029 */ bnez $at, .L00429CD8 +/* 00429C34 29810004 */ slti $at, $t4, 4 +/* 00429C38 54200028 */ bnel $at, $zero, .L00429CDC +/* 00429C3C 2DC10002 */ sltiu $at, $t6, 2 +/* 00429C40 8F8A898C */ lw $t2, %got(lsb_first)($gp) +/* 00429C44 26460002 */ addiu $a2, $s2, 2 +/* 00429C48 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429C4C 914A0000 */ lbu $t2, ($t2) +/* 00429C50 2404005C */ li $a0, 92 +/* 00429C54 93A500FF */ lbu $a1, 0xff($sp) +/* 00429C58 11400010 */ beqz $t2, .L00429C9C +/* 00429C5C 00000000 */ nop +/* 00429C60 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429C64 2404005B */ li $a0, 91 +/* 00429C68 93A500FF */ lbu $a1, 0xff($sp) +/* 00429C6C 0320F809 */ jalr $t9 +/* 00429C70 AFA00010 */ sw $zero, 0x10($sp) +/* 00429C74 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429C78 2404005D */ li $a0, 93 +/* 00429C7C 93A500FF */ lbu $a1, 0xff($sp) +/* 00429C80 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429C84 26660002 */ addiu $a2, $s3, 2 +/* 00429C88 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429C8C 0320F809 */ jalr $t9 +/* 00429C90 AFA00010 */ sw $zero, 0x10($sp) +/* 00429C94 1000006E */ b .L00429E50 +/* 00429C98 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429C9C: +/* 00429C9C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429CA0 26460002 */ addiu $a2, $s2, 2 +/* 00429CA4 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429CA8 0320F809 */ jalr $t9 +/* 00429CAC AFA00010 */ sw $zero, 0x10($sp) +/* 00429CB0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429CB4 2404005E */ li $a0, 94 +/* 00429CB8 93A500FF */ lbu $a1, 0xff($sp) +/* 00429CBC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429CC0 26660002 */ addiu $a2, $s3, 2 +/* 00429CC4 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429CC8 0320F809 */ jalr $t9 +/* 00429CCC AFA00010 */ sw $zero, 0x10($sp) +/* 00429CD0 1000005F */ b .L00429E50 +/* 00429CD4 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429CD8: +/* 00429CD8 2DC10002 */ sltiu $at, $t6, 2 +.L00429CDC: +/* 00429CDC 14200024 */ bnez $at, .L00429D70 +/* 00429CE0 8FB90114 */ lw $t9, 0x114($sp) +/* 00429CE4 2F210002 */ sltiu $at, $t9, 2 +/* 00429CE8 14200021 */ bnez $at, .L00429D70 +/* 00429CEC 24040028 */ li $a0, 40 +/* 00429CF0 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429CF4 93A500FF */ lbu $a1, 0xff($sp) +/* 00429CF8 02403025 */ move $a2, $s2 +/* 00429CFC 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429D00 0320F809 */ jalr $t9 +/* 00429D04 AFA00010 */ sw $zero, 0x10($sp) +/* 00429D08 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429D0C 2404004C */ li $a0, 76 +/* 00429D10 93A500FF */ lbu $a1, 0xff($sp) +/* 00429D14 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429D18 02603025 */ move $a2, $s3 +/* 00429D1C 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429D20 0320F809 */ jalr $t9 +/* 00429D24 AFA00010 */ sw $zero, 0x10($sp) +/* 00429D28 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429D2C 24040026 */ li $a0, 38 +/* 00429D30 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429D34 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429D38 26460002 */ addiu $a2, $s2, 2 +/* 00429D3C 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429D40 0320F809 */ jalr $t9 +/* 00429D44 AFA00010 */ sw $zero, 0x10($sp) +/* 00429D48 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429D4C 24040046 */ li $a0, 70 +/* 00429D50 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429D54 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429D58 26660002 */ addiu $a2, $s3, 2 +/* 00429D5C 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429D60 0320F809 */ jalr $t9 +/* 00429D64 AFA00010 */ sw $zero, 0x10($sp) +/* 00429D68 10000039 */ b .L00429E50 +/* 00429D6C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429D70: +/* 00429D70 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429D74 24040026 */ li $a0, 38 +/* 00429D78 93A500FF */ lbu $a1, 0xff($sp) +/* 00429D7C 02403025 */ move $a2, $s2 +/* 00429D80 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429D84 0320F809 */ jalr $t9 +/* 00429D88 AFA00010 */ sw $zero, 0x10($sp) +/* 00429D8C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429D90 24040046 */ li $a0, 70 +/* 00429D94 93A500FF */ lbu $a1, 0xff($sp) +/* 00429D98 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429D9C 02603025 */ move $a2, $s3 +/* 00429DA0 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429DA4 0320F809 */ jalr $t9 +/* 00429DA8 AFA00010 */ sw $zero, 0x10($sp) +/* 00429DAC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429DB0 24040026 */ li $a0, 38 +/* 00429DB4 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429DB8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429DBC 26460001 */ addiu $a2, $s2, 1 +/* 00429DC0 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429DC4 0320F809 */ jalr $t9 +/* 00429DC8 AFA00010 */ sw $zero, 0x10($sp) +/* 00429DCC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429DD0 24040046 */ li $a0, 70 +/* 00429DD4 93A500FE */ lbu $a1, 0xfe($sp) +/* 00429DD8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429DDC 26660001 */ addiu $a2, $s3, 1 +/* 00429DE0 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429DE4 0320F809 */ jalr $t9 +/* 00429DE8 AFA00010 */ sw $zero, 0x10($sp) +/* 00429DEC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429DF0 24040026 */ li $a0, 38 +/* 00429DF4 93A500FF */ lbu $a1, 0xff($sp) +/* 00429DF8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429DFC 26460002 */ addiu $a2, $s2, 2 +/* 00429E00 93A700FC */ lbu $a3, 0xfc($sp) +/* 00429E04 0320F809 */ jalr $t9 +/* 00429E08 AFA00010 */ sw $zero, 0x10($sp) +/* 00429E0C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429E10 24040046 */ li $a0, 70 +/* 00429E14 93A500FF */ lbu $a1, 0xff($sp) +/* 00429E18 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00429E1C 26660002 */ addiu $a2, $s3, 2 +/* 00429E20 93A700FB */ lbu $a3, 0xfb($sp) +/* 00429E24 0320F809 */ jalr $t9 +/* 00429E28 AFA00010 */ sw $zero, 0x10($sp) +/* 00429E2C 10000008 */ b .L00429E50 +/* 00429E30 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429E34: +/* 00429E34 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 00429E38 8F868038 */ lw $a2, %got(RO_1000A5F0)($gp) +/* 00429E3C 24050A95 */ li $a1, 2709 +/* 00429E40 24070006 */ li $a3, 6 +/* 00429E44 0320F809 */ jalr $t9 +/* 00429E48 24C6A5F0 */ addiu $a2, %lo(RO_1000A5F0) # addiu $a2, $a2, -0x5a10 +/* 00429E4C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429E50: +/* 00429E50 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00429E54 93A400FE */ lbu $a0, 0xfe($sp) +/* 00429E58 0320F809 */ jalr $t9 +/* 00429E5C 00000000 */ nop +/* 00429E60 93AD00EE */ lbu $t5, 0xee($sp) +/* 00429E64 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429E68 51A00008 */ beql $t5, $zero, .L00429E8C +/* 00429E6C 93A900EF */ lbu $t1, 0xef($sp) +/* 00429E70 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 00429E74 24040031 */ li $a0, 49 +/* 00429E78 93A500FC */ lbu $a1, 0xfc($sp) +/* 00429E7C 0320F809 */ jalr $t9 +/* 00429E80 93A600FB */ lbu $a2, 0xfb($sp) +/* 00429E84 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00429E88 93A900EF */ lbu $t1, 0xef($sp) +.L00429E8C: +/* 00429E8C 15200008 */ bnez $t1, .L00429EB0 +/* 00429E90 00000000 */ nop +/* 00429E94 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00429E98 24040020 */ li $a0, 32 +/* 00429E9C 24050005 */ li $a1, 5 +/* 00429EA0 0320F809 */ jalr $t9 +/* 00429EA4 00000000 */ nop +/* 00429EA8 10000006 */ b .L00429EC4 +/* 00429EAC 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429EB0: +/* 00429EB0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00429EB4 93A400FF */ lbu $a0, 0xff($sp) +/* 00429EB8 0320F809 */ jalr $t9 +/* 00429EBC 00000000 */ nop +/* 00429EC0 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00429EC4: +/* 00429EC4 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 00429EC8 8FB000B0 */ lw $s0, 0xb0($sp) +/* 00429ECC 8FB100B4 */ lw $s1, 0xb4($sp) +/* 00429ED0 8FB200B8 */ lw $s2, 0xb8($sp) +/* 00429ED4 8FB300BC */ lw $s3, 0xbc($sp) +/* 00429ED8 03E00008 */ jr $ra +/* 00429EDC 27BD0120 */ addiu $sp, $sp, 0x120 + .type eval_mov, @function + .size eval_mov, .-eval_mov + .end eval_mov + +glabel get_ops + .ent get_ops + # 0042A1AC eval_irel +/* 00429EE0 3C1C0FBF */ .cpload $t9 +/* 00429EE4 279C5B70 */ +/* 00429EE8 0399E021 */ +/* 00429EEC 90830020 */ lbu $v1, 0x20($a0) +/* 00429EF0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00429EF4 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00429EF8 246EFFE0 */ addiu $t6, $v1, -0x20 +/* 00429EFC 2DCF0060 */ sltiu $t7, $t6, 0x60 +/* 00429F00 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00429F04 11E00009 */ beqz $t7, .L00429F2C +/* 00429F08 240A0066 */ li $t2, 102 +/* 00429F0C 8F8B8038 */ lw $t3, %got(D_10016118)($gp) +/* 00429F10 000EC143 */ sra $t8, $t6, 5 +/* 00429F14 0018C880 */ sll $t9, $t8, 2 +/* 00429F18 256B6118 */ addiu $t3, %lo(D_10016118) # addiu $t3, $t3, 0x6118 +/* 00429F1C 01796021 */ addu $t4, $t3, $t9 +/* 00429F20 8D8D0000 */ lw $t5, ($t4) +/* 00429F24 01CDC004 */ sllv $t8, $t5, $t6 +/* 00429F28 2B0F0000 */ slti $t7, $t8, 0 +.L00429F2C: +/* 00429F2C 01E002B4 */ teq $t7, $zero, 0xa +/* 00429F30 8C890028 */ lw $t1, 0x28($a0) +/* 00429F34 11430004 */ beq $t2, $v1, .L00429F48 +/* 00429F38 8C880024 */ lw $t0, 0x24($a0) +/* 00429F3C 2401005A */ li $at, 90 +/* 00429F40 14610002 */ bne $v1, $at, .L00429F4C +/* 00429F44 00000000 */ nop +.L00429F48: +/* 00429F48 94880022 */ lhu $t0, 0x22($a0) +.L00429F4C: +/* 00429F4C 10000074 */ b .L0042A120 +/* 00429F50 306200FF */ andi $v0, $v1, 0xff +.L00429F54: +/* 00429F54 24010020 */ li $at, 32 +.L00429F58: +/* 00429F58 55010004 */ bnel $t0, $at, .L00429F6C +/* 00429F5C 24010040 */ li $at, 64 +/* 00429F60 31390003 */ andi $t9, $t1, 3 +/* 00429F64 13200004 */ beqz $t9, .L00429F78 +/* 00429F68 24010040 */ li $at, 64 +.L00429F6C: +/* 00429F6C 15010009 */ bne $t0, $at, .L00429F94 +/* 00429F70 312C0007 */ andi $t4, $t1, 7 +/* 00429F74 15800007 */ bnez $t4, .L00429F94 +.L00429F78: +/* 00429F78 240D002A */ li $t5, 42 +/* 00429F7C A4AD0000 */ sh $t5, ($a1) +/* 00429F80 240E0057 */ li $t6, 87 +/* 00429F84 A4CE0000 */ sh $t6, ($a2) +/* 00429F88 24180004 */ li $t8, 4 +/* 00429F8C 10000012 */ b .L00429FD8 +/* 00429F90 ACF80000 */ sw $t8, ($a3) +.L00429F94: +/* 00429F94 24010010 */ li $at, 16 +/* 00429F98 15010009 */ bne $t0, $at, .L00429FC0 +/* 00429F9C 312B0001 */ andi $t3, $t1, 1 +/* 00429FA0 15600007 */ bnez $t3, .L00429FC0 +/* 00429FA4 240F0028 */ li $t7, 40 +/* 00429FA8 A4AF0000 */ sh $t7, ($a1) +/* 00429FAC 2419004C */ li $t9, 76 +/* 00429FB0 A4D90000 */ sh $t9, ($a2) +/* 00429FB4 240C0002 */ li $t4, 2 +/* 00429FB8 10000007 */ b .L00429FD8 +/* 00429FBC ACEC0000 */ sw $t4, ($a3) +.L00429FC0: +/* 00429FC0 240D0026 */ li $t5, 38 +/* 00429FC4 A4AD0000 */ sh $t5, ($a1) +/* 00429FC8 240E0046 */ li $t6, 70 +/* 00429FCC A4CE0000 */ sh $t6, ($a2) +/* 00429FD0 24180001 */ li $t8, 1 +/* 00429FD4 ACF80000 */ sw $t8, ($a3) +.L00429FD8: +/* 00429FD8 24010058 */ li $at, 88 +/* 00429FDC 50610070 */ beql $v1, $at, .L0042A1A0 +/* 00429FE0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00429FE4 1143006D */ beq $t2, $v1, .L0042A19C +/* 00429FE8 2401005A */ li $at, 90 +/* 00429FEC 1061006B */ beq $v1, $at, .L0042A19C +/* 00429FF0 240B003E */ li $t3, 62 +/* 00429FF4 10000069 */ b .L0042A19C +/* 00429FF8 A4CB0000 */ sh $t3, ($a2) +.L00429FFC: +/* 00429FFC 8F8C88B4 */ lw $t4, %got(op_tab)($gp) +/* 0042A000 240F0026 */ li $t7, 38 +/* 0042A004 0003C840 */ sll $t9, $v1, 1 +/* 0042A008 A4AF0000 */ sh $t7, ($a1) +/* 0042A00C 032C6821 */ addu $t5, $t9, $t4 +/* 0042A010 95AE0000 */ lhu $t6, ($t5) +/* 0042A014 24180001 */ li $t8, 1 +/* 0042A018 A4CE0000 */ sh $t6, ($a2) +/* 0042A01C 1000005F */ b .L0042A19C +/* 0042A020 ACF80000 */ sw $t8, ($a3) +.L0042A024: +/* 0042A024 8F8B8038 */ lw $t3, %got(RO_1000A7CC)($gp) +/* 0042A028 24040004 */ li $a0, 4 +/* 0042A02C 24050B13 */ li $a1, 2835 +/* 0042A030 256BA7CC */ addiu $t3, %lo(RO_1000A7CC) # addiu $t3, $t3, -0x5834 +/* 0042A034 256D0048 */ addiu $t5, $t3, 0x48 +/* 0042A038 03A06025 */ move $t4, $sp +.L0042A03C: +/* 0042A03C 89790000 */ lwl $t9, ($t3) +/* 0042A040 99790003 */ lwr $t9, 3($t3) +/* 0042A044 256B000C */ addiu $t3, $t3, 0xc +/* 0042A048 258C000C */ addiu $t4, $t4, 0xc +/* 0042A04C A999FFFC */ swl $t9, -4($t4) +/* 0042A050 B999FFFF */ swr $t9, -1($t4) +/* 0042A054 896FFFF8 */ lwl $t7, -8($t3) +/* 0042A058 996FFFFB */ lwr $t7, -5($t3) +/* 0042A05C A98F0000 */ swl $t7, ($t4) +/* 0042A060 B98F0003 */ swr $t7, 3($t4) +/* 0042A064 8979FFFC */ lwl $t9, -4($t3) +/* 0042A068 9979FFFF */ lwr $t9, -1($t3) +/* 0042A06C A9990004 */ swl $t9, 4($t4) +/* 0042A070 156DFFF2 */ bne $t3, $t5, .L0042A03C +/* 0042A074 B9990007 */ swr $t9, 7($t4) +/* 0042A078 89790000 */ lwl $t9, ($t3) +/* 0042A07C 99790003 */ lwr $t9, 3($t3) +/* 0042A080 8F8E8038 */ lw $t6, %got(RO_1000A77C)($gp) +/* 0042A084 A9990008 */ swl $t9, 8($t4) +/* 0042A088 B999000B */ swr $t9, 0xb($t4) +/* 0042A08C 896F0004 */ lwl $t7, 4($t3) +/* 0042A090 996F0007 */ lwr $t7, 7($t3) +/* 0042A094 25CEA77C */ addiu $t6, %lo(RO_1000A77C) # addiu $t6, $t6, -0x5884 +/* 0042A098 03A05825 */ move $t3, $sp +/* 0042A09C A98F000C */ swl $t7, 0xc($t4) +/* 0042A0A0 B98F000F */ swr $t7, 0xf($t4) +/* 0042A0A4 25CC0048 */ addiu $t4, $t6, 0x48 +.L0042A0A8: +/* 0042A0A8 89CD0000 */ lwl $t5, ($t6) +/* 0042A0AC 99CD0003 */ lwr $t5, 3($t6) +/* 0042A0B0 25CE000C */ addiu $t6, $t6, 0xc +/* 0042A0B4 256B000C */ addiu $t3, $t3, 0xc +/* 0042A0B8 A96D004C */ swl $t5, 0x4c($t3) +/* 0042A0BC B96D004F */ swr $t5, 0x4f($t3) +/* 0042A0C0 89D8FFF8 */ lwl $t8, -8($t6) +/* 0042A0C4 99D8FFFB */ lwr $t8, -5($t6) +/* 0042A0C8 A9780050 */ swl $t8, 0x50($t3) +/* 0042A0CC B9780053 */ swr $t8, 0x53($t3) +/* 0042A0D0 89CDFFFC */ lwl $t5, -4($t6) +/* 0042A0D4 99CDFFFF */ lwr $t5, -1($t6) +/* 0042A0D8 A96D0054 */ swl $t5, 0x54($t3) +/* 0042A0DC 15CCFFF2 */ bne $t6, $t4, .L0042A0A8 +/* 0042A0E0 B96D0057 */ swr $t5, 0x57($t3) +/* 0042A0E4 89CD0000 */ lwl $t5, ($t6) +/* 0042A0E8 99CD0003 */ lwr $t5, 3($t6) +/* 0042A0EC A96D0058 */ swl $t5, 0x58($t3) +/* 0042A0F0 B96D005B */ swr $t5, 0x5b($t3) +/* 0042A0F4 89D80004 */ lwl $t8, 4($t6) +/* 0042A0F8 99D80007 */ lwr $t8, 7($t6) +/* 0042A0FC A978005C */ swl $t8, 0x5c($t3) +/* 0042A100 B978005F */ swr $t8, 0x5f($t3) +/* 0042A104 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0042A108 8FA7000C */ lw $a3, 0xc($sp) +/* 0042A10C 8FA60008 */ lw $a2, 8($sp) +/* 0042A110 0320F809 */ jalr $t9 +/* 0042A114 00000000 */ nop +/* 0042A118 10000020 */ b .L0042A19C +/* 0042A11C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0042A120: +/* 0042A120 2C41005B */ sltiu $at, $v0, 0x5b +/* 0042A124 54200006 */ bnel $at, $zero, .L0042A140 +/* 0042A128 2C410039 */ sltiu $at, $v0, 0x39 +/* 0042A12C 504AFF8A */ beql $v0, $t2, .L00429F58 +/* 0042A130 24010020 */ li $at, 32 +/* 0042A134 1000FFBB */ b .L0042A024 +/* 0042A138 00000000 */ nop +/* 0042A13C 2C410039 */ sltiu $at, $v0, 0x39 +.L0042A140: +/* 0042A140 1020000B */ beqz $at, .L0042A170 +/* 0042A144 244FFFD2 */ addiu $t7, $v0, -0x2e +/* 0042A148 2DE1000B */ sltiu $at, $t7, 0xb +/* 0042A14C 1020FFB5 */ beqz $at, .L0042A024 +/* 0042A150 00000000 */ nop +/* 0042A154 8F818038 */ lw $at, %got(jtbl_1000A81C)($gp) +/* 0042A158 000F7880 */ sll $t7, $t7, 2 +/* 0042A15C 002F0821 */ addu $at, $at, $t7 +/* 0042A160 8C2FA81C */ lw $t7, %lo(jtbl_1000A81C)($at) +/* 0042A164 01FC7821 */ addu $t7, $t7, $gp +/* 0042A168 01E00008 */ jr $t7 +/* 0042A16C 00000000 */ nop +.L0042A170: +/* 0042A170 2459FFA8 */ addiu $t9, $v0, -0x58 +/* 0042A174 2F210003 */ sltiu $at, $t9, 3 +/* 0042A178 1020FFAA */ beqz $at, .L0042A024 +/* 0042A17C 00000000 */ nop +/* 0042A180 8F818038 */ lw $at, %got(jtbl_1000A848)($gp) +/* 0042A184 0019C880 */ sll $t9, $t9, 2 +/* 0042A188 00390821 */ addu $at, $at, $t9 +/* 0042A18C 8C39A848 */ lw $t9, %lo(jtbl_1000A848)($at) +/* 0042A190 033CC821 */ addu $t9, $t9, $gp +/* 0042A194 03200008 */ jr $t9 +/* 0042A198 00000000 */ nop +.L0042A19C: +/* 0042A19C 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0042A1A0: +/* 0042A1A0 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0042A1A4 03E00008 */ jr $ra +/* 0042A1A8 00000000 */ nop + .type get_ops, @function + .size get_ops, .-get_ops + .end get_ops + +glabel eval_irel + .ent eval_irel + # 0042BDAC eval +/* 0042A1AC 3C1C0FBF */ .cpload $t9 +/* 0042A1B0 279C58A4 */ +/* 0042A1B4 0399E021 */ +/* 0042A1B8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 0042A1BC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042A1C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 0042A1C4 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042A1C8 AFA40050 */ sw $a0, 0x50($sp) +/* 0042A1CC 8C840000 */ lw $a0, ($a0) +/* 0042A1D0 0320F809 */ jalr $t9 +/* 0042A1D4 24050048 */ li $a1, 72 +/* 0042A1D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A1DC 8FAF0050 */ lw $t7, 0x50($sp) +/* 0042A1E0 24050048 */ li $a1, 72 +/* 0042A1E4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042A1E8 8DE40004 */ lw $a0, 4($t7) +/* 0042A1EC 0320F809 */ jalr $t9 +/* 0042A1F0 00000000 */ nop +/* 0042A1F4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A1F8 8FA40050 */ lw $a0, 0x50($sp) +/* 0042A1FC 27A5003A */ addiu $a1, $sp, 0x3a +/* 0042A200 8F998390 */ lw $t9, %call16(get_ops)($gp) +/* 0042A204 27A60038 */ addiu $a2, $sp, 0x38 +/* 0042A208 27A70034 */ addiu $a3, $sp, 0x34 +/* 0042A20C 0320F809 */ jalr $t9 +/* 0042A210 00000000 */ nop +/* 0042A214 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A218 8FB80050 */ lw $t8, 0x50($sp) +/* 0042A21C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042A220 8F040000 */ lw $a0, ($t8) +/* 0042A224 0320F809 */ jalr $t9 +/* 0042A228 00000000 */ nop +/* 0042A22C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A230 00402025 */ move $a0, $v0 +/* 0042A234 8F998388 */ lw $t9, %call16(copy)($gp) +/* 0042A238 0320F809 */ jalr $t9 +/* 0042A23C 00000000 */ nop +/* 0042A240 8FB90050 */ lw $t9, 0x50($sp) +/* 0042A244 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A248 A3A2004D */ sb $v0, 0x4d($sp) +/* 0042A24C 8F240004 */ lw $a0, 4($t9) +/* 0042A250 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042A254 0320F809 */ jalr $t9 +/* 0042A258 00000000 */ nop +/* 0042A25C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A260 00402025 */ move $a0, $v0 +/* 0042A264 8F998388 */ lw $t9, %call16(copy)($gp) +/* 0042A268 0320F809 */ jalr $t9 +/* 0042A26C 00000000 */ nop +/* 0042A270 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A274 8FA40050 */ lw $a0, 0x50($sp) +/* 0042A278 A3A2004C */ sb $v0, 0x4c($sp) +/* 0042A27C 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042A280 94850014 */ lhu $a1, 0x14($a0) +/* 0042A284 0320F809 */ jalr $t9 +/* 0042A288 00000000 */ nop +/* 0042A28C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A290 A3A2004B */ sb $v0, 0x4b($sp) +/* 0042A294 00002025 */ move $a0, $zero +/* 0042A298 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042A29C 24050001 */ li $a1, 1 +/* 0042A2A0 0320F809 */ jalr $t9 +/* 0042A2A4 00000000 */ nop +/* 0042A2A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A2AC A3A2004E */ sb $v0, 0x4e($sp) +/* 0042A2B0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0042A2B4 0320F809 */ jalr $t9 +/* 0042A2B8 00000000 */ nop +/* 0042A2BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A2C0 AFA20044 */ sw $v0, 0x44($sp) +/* 0042A2C4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0042A2C8 0320F809 */ jalr $t9 +/* 0042A2CC 00000000 */ nop +/* 0042A2D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A2D4 AFA20040 */ sw $v0, 0x40($sp) +/* 0042A2D8 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0042A2DC 0320F809 */ jalr $t9 +/* 0042A2E0 00000000 */ nop +/* 0042A2E4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A2E8 8FA80050 */ lw $t0, 0x50($sp) +/* 0042A2EC AFA2003C */ sw $v0, 0x3c($sp) +/* 0042A2F0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042A2F4 8D070028 */ lw $a3, 0x28($t0) +/* 0042A2F8 AFA00010 */ sw $zero, 0x10($sp) +/* 0042A2FC 24040001 */ li $a0, 1 +/* 0042A300 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A304 0320F809 */ jalr $t9 +/* 0042A308 93A6004D */ lbu $a2, 0x4d($sp) +/* 0042A30C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A310 8FA40044 */ lw $a0, 0x44($sp) +/* 0042A314 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A318 0320F809 */ jalr $t9 +/* 0042A31C 00000000 */ nop +/* 0042A320 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A324 24040020 */ li $a0, 32 +/* 0042A328 24050006 */ li $a1, 6 +/* 0042A32C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042A330 0320F809 */ jalr $t9 +/* 0042A334 00000000 */ nop +/* 0042A338 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A33C 97A4003A */ lhu $a0, 0x3a($sp) +/* 0042A340 24050001 */ li $a1, 1 +/* 0042A344 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042A348 00003025 */ move $a2, $zero +/* 0042A34C 93A7004D */ lbu $a3, 0x4d($sp) +/* 0042A350 0320F809 */ jalr $t9 +/* 0042A354 AFA00010 */ sw $zero, 0x10($sp) +/* 0042A358 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A35C 93A5004D */ lbu $a1, 0x4d($sp) +/* 0042A360 24040001 */ li $a0, 1 +/* 0042A364 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042A368 8FA70034 */ lw $a3, 0x34($sp) +/* 0042A36C AFA00010 */ sw $zero, 0x10($sp) +/* 0042A370 0320F809 */ jalr $t9 +/* 0042A374 00A03025 */ move $a2, $a1 +/* 0042A378 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A37C 97A4003A */ lhu $a0, 0x3a($sp) +/* 0042A380 93A5004E */ lbu $a1, 0x4e($sp) +/* 0042A384 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042A388 00003025 */ move $a2, $zero +/* 0042A38C 93A7004C */ lbu $a3, 0x4c($sp) +/* 0042A390 0320F809 */ jalr $t9 +/* 0042A394 AFA00010 */ sw $zero, 0x10($sp) +/* 0042A398 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A39C 93A5004C */ lbu $a1, 0x4c($sp) +/* 0042A3A0 24040001 */ li $a0, 1 +/* 0042A3A4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042A3A8 8FA70034 */ lw $a3, 0x34($sp) +/* 0042A3AC AFA00010 */ sw $zero, 0x10($sp) +/* 0042A3B0 0320F809 */ jalr $t9 +/* 0042A3B4 00A03025 */ move $a2, $a1 +/* 0042A3B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A3BC 2404001A */ li $a0, 26 +/* 0042A3C0 24050001 */ li $a1, 1 +/* 0042A3C4 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0042A3C8 93A6004E */ lbu $a2, 0x4e($sp) +/* 0042A3CC 8FA70040 */ lw $a3, 0x40($sp) +/* 0042A3D0 0320F809 */ jalr $t9 +/* 0042A3D4 00000000 */ nop +/* 0042A3D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A3DC 2404001A */ li $a0, 26 +/* 0042A3E0 93A5004D */ lbu $a1, 0x4d($sp) +/* 0042A3E4 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 0042A3E8 93A6004B */ lbu $a2, 0x4b($sp) +/* 0042A3EC 8FA70044 */ lw $a3, 0x44($sp) +/* 0042A3F0 0320F809 */ jalr $t9 +/* 0042A3F4 00000000 */ nop +/* 0042A3F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A3FC 24040020 */ li $a0, 32 +/* 0042A400 24050005 */ li $a1, 5 +/* 0042A404 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042A408 0320F809 */ jalr $t9 +/* 0042A40C 00000000 */ nop +/* 0042A410 8FA90050 */ lw $t1, 0x50($sp) +/* 0042A414 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A418 91220020 */ lbu $v0, 0x20($t1) +/* 0042A41C 244AFFD2 */ addiu $t2, $v0, -0x2e +/* 0042A420 2D41000B */ sltiu $at, $t2, 0xb +/* 0042A424 10200064 */ beqz $at, .L0042A5B8 +/* 0042A428 00000000 */ nop +/* 0042A42C 8F818038 */ lw $at, %got(jtbl_1000A85C)($gp) +/* 0042A430 000A5080 */ sll $t2, $t2, 2 +/* 0042A434 002A0821 */ addu $at, $at, $t2 +/* 0042A438 8C2AA85C */ lw $t2, %lo(jtbl_1000A85C)($at) +/* 0042A43C 015C5021 */ addu $t2, $t2, $gp +/* 0042A440 01400008 */ jr $t2 +/* 0042A444 00000000 */ nop +.L0042A448: +/* 0042A448 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042A44C 24040029 */ li $a0, 41 +/* 0042A450 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A454 24060001 */ li $a2, 1 +/* 0042A458 0320F809 */ jalr $t9 +/* 0042A45C 00003825 */ move $a3, $zero +/* 0042A460 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A464 24040004 */ li $a0, 4 +/* 0042A468 8FA5003C */ lw $a1, 0x3c($sp) +/* 0042A46C 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0042A470 0320F809 */ jalr $t9 +/* 0042A474 00000000 */ nop +/* 0042A478 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A47C 8FA40040 */ lw $a0, 0x40($sp) +/* 0042A480 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A484 0320F809 */ jalr $t9 +/* 0042A488 00000000 */ nop +/* 0042A48C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A490 24040029 */ li $a0, 41 +/* 0042A494 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A498 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042A49C 00003025 */ move $a2, $zero +/* 0042A4A0 00003825 */ move $a3, $zero +/* 0042A4A4 0320F809 */ jalr $t9 +/* 0042A4A8 00000000 */ nop +/* 0042A4AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A4B0 8FA4003C */ lw $a0, 0x3c($sp) +/* 0042A4B4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A4B8 0320F809 */ jalr $t9 +/* 0042A4BC 00000000 */ nop +/* 0042A4C0 10000045 */ b .L0042A5D8 +/* 0042A4C4 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A4C8: +/* 0042A4C8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042A4CC 24040029 */ li $a0, 41 +/* 0042A4D0 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A4D4 00003025 */ move $a2, $zero +/* 0042A4D8 0320F809 */ jalr $t9 +/* 0042A4DC 00003825 */ move $a3, $zero +/* 0042A4E0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A4E4 24040004 */ li $a0, 4 +/* 0042A4E8 8FA5003C */ lw $a1, 0x3c($sp) +/* 0042A4EC 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0042A4F0 0320F809 */ jalr $t9 +/* 0042A4F4 00000000 */ nop +/* 0042A4F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A4FC 8FA40040 */ lw $a0, 0x40($sp) +/* 0042A500 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A504 0320F809 */ jalr $t9 +/* 0042A508 00000000 */ nop +/* 0042A50C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A510 24040029 */ li $a0, 41 +/* 0042A514 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A518 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042A51C 24060001 */ li $a2, 1 +/* 0042A520 00003825 */ move $a3, $zero +/* 0042A524 0320F809 */ jalr $t9 +/* 0042A528 00000000 */ nop +/* 0042A52C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A530 8FA4003C */ lw $a0, 0x3c($sp) +/* 0042A534 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A538 0320F809 */ jalr $t9 +/* 0042A53C 00000000 */ nop +/* 0042A540 10000025 */ b .L0042A5D8 +/* 0042A544 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A548: +/* 0042A548 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A54C 8FA40040 */ lw $a0, 0x40($sp) +/* 0042A550 0320F809 */ jalr $t9 +/* 0042A554 00000000 */ nop +/* 0042A558 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A55C 97A40038 */ lhu $a0, 0x38($sp) +/* 0042A560 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A564 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042A568 24060001 */ li $a2, 1 +/* 0042A56C 93A7004E */ lbu $a3, 0x4e($sp) +/* 0042A570 0320F809 */ jalr $t9 +/* 0042A574 00000000 */ nop +/* 0042A578 10000017 */ b .L0042A5D8 +/* 0042A57C 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A580: +/* 0042A580 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042A584 8FA40040 */ lw $a0, 0x40($sp) +/* 0042A588 0320F809 */ jalr $t9 +/* 0042A58C 00000000 */ nop +/* 0042A590 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A594 97A40038 */ lhu $a0, 0x38($sp) +/* 0042A598 93A5004B */ lbu $a1, 0x4b($sp) +/* 0042A59C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042A5A0 93A6004E */ lbu $a2, 0x4e($sp) +/* 0042A5A4 24070001 */ li $a3, 1 +/* 0042A5A8 0320F809 */ jalr $t9 +/* 0042A5AC 00000000 */ nop +/* 0042A5B0 10000009 */ b .L0042A5D8 +/* 0042A5B4 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A5B8: +/* 0042A5B8 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0042A5BC 8F868038 */ lw $a2, %got(RO_1000A854)($gp) +/* 0042A5C0 24040001 */ li $a0, 1 +/* 0042A5C4 24050B41 */ li $a1, 2881 +/* 0042A5C8 24070006 */ li $a3, 6 +/* 0042A5CC 0320F809 */ jalr $t9 +/* 0042A5D0 24C6A854 */ addiu $a2, %lo(RO_1000A854) # addiu $a2, $a2, -0x57ac +/* 0042A5D4 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A5D8: +/* 0042A5D8 8FAB0050 */ lw $t3, 0x50($sp) +/* 0042A5DC 93AC004B */ lbu $t4, 0x4b($sp) +/* 0042A5E0 91620019 */ lbu $v0, 0x19($t3) +/* 0042A5E4 00026E00 */ sll $t5, $v0, 0x18 +/* 0042A5E8 000D7642 */ srl $t6, $t5, 0x19 +/* 0042A5EC 018E7826 */ xor $t7, $t4, $t6 +/* 0042A5F0 000FC640 */ sll $t8, $t7, 0x19 +/* 0042A5F4 0018CE02 */ srl $t9, $t8, 0x18 +/* 0042A5F8 03224026 */ xor $t0, $t9, $v0 +/* 0042A5FC A1680019 */ sb $t0, 0x19($t3) +/* 0042A600 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042A604 93A4004D */ lbu $a0, 0x4d($sp) +/* 0042A608 0320F809 */ jalr $t9 +/* 0042A60C 00000000 */ nop +/* 0042A610 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A614 93A4004C */ lbu $a0, 0x4c($sp) +/* 0042A618 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042A61C 0320F809 */ jalr $t9 +/* 0042A620 00000000 */ nop +/* 0042A624 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A628 93A4004E */ lbu $a0, 0x4e($sp) +/* 0042A62C 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042A630 0320F809 */ jalr $t9 +/* 0042A634 00000000 */ nop +/* 0042A638 8FBF0024 */ lw $ra, 0x24($sp) +/* 0042A63C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A640 27BD0050 */ addiu $sp, $sp, 0x50 +/* 0042A644 03E00008 */ jr $ra +/* 0042A648 00000000 */ nop + .type eval_irel, @function + .size eval_irel, .-eval_irel + .end eval_irel + +glabel save_vreg + .ent save_vreg + # 0042BDAC eval +/* 0042A64C 3C1C0FBF */ .cpload $t9 +/* 0042A650 279C5404 */ +/* 0042A654 0399E021 */ +/* 0042A658 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0042A65C AFBF001C */ sw $ra, 0x1c($sp) +/* 0042A660 AFBC0018 */ sw $gp, 0x18($sp) +/* 0042A664 8C860030 */ lw $a2, 0x30($a0) +/* 0042A668 8F998328 */ lw $t9, %call16(is_saved_reg)($gp) +/* 0042A66C 00802825 */ move $a1, $a0 +/* 0042A670 04C10002 */ bgez $a2, .L0042A67C +/* 0042A674 00C00821 */ move $at, $a2 +/* 0042A678 24C10003 */ addiu $at, $a2, 3 +.L0042A67C: +/* 0042A67C 00013083 */ sra $a2, $at, 2 +/* 0042A680 30C400FF */ andi $a0, $a2, 0xff +/* 0042A684 A3A40027 */ sb $a0, 0x27($sp) +/* 0042A688 0320F809 */ jalr $t9 +/* 0042A68C AFA50028 */ sw $a1, 0x28($sp) +/* 0042A690 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042A694 8FA50028 */ lw $a1, 0x28($sp) +/* 0042A698 10400038 */ beqz $v0, .L0042A77C +/* 0042A69C 93A60027 */ lbu $a2, 0x27($sp) +/* 0042A6A0 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042A6A4 2CCE0020 */ sltiu $t6, $a2, 0x20 +/* 0042A6A8 00C07827 */ not $t7, $a2 +/* 0042A6AC 8C590000 */ lw $t9, ($v0) +/* 0042A6B0 01EEC004 */ sllv $t8, $t6, $t7 +/* 0042A6B4 24C9FFE0 */ addiu $t1, $a2, -0x20 +/* 0042A6B8 2D2A0020 */ sltiu $t2, $t1, 0x20 +/* 0042A6BC 00C05827 */ not $t3, $a2 +/* 0042A6C0 03384025 */ or $t0, $t9, $t8 +/* 0042A6C4 016A6004 */ sllv $t4, $t2, $t3 +/* 0042A6C8 8CAB0028 */ lw $t3, 0x28($a1) +/* 0042A6CC 8C490008 */ lw $t1, 8($v0) +/* 0042A6D0 8C4D0004 */ lw $t5, 4($v0) +/* 0042A6D4 24CFFFC0 */ addiu $t7, $a2, -0x40 +/* 0042A6D8 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042A6DC 00C0C027 */ not $t8, $a2 +/* 0042A6E0 AC480000 */ sw $t0, ($v0) +/* 0042A6E4 03194004 */ sllv $t0, $t9, $t8 +/* 0042A6E8 29610005 */ slti $at, $t3, 5 +/* 0042A6EC 01285025 */ or $t2, $t1, $t0 +/* 0042A6F0 01AC7025 */ or $t6, $t5, $t4 +/* 0042A6F4 AC4E0004 */ sw $t6, 4($v0) +/* 0042A6F8 1020000A */ beqz $at, .L0042A724 +/* 0042A6FC AC4A0008 */ sw $t2, 8($v0) +/* 0042A700 90AD0021 */ lbu $t5, 0x21($a1) +/* 0042A704 3C01000C */ lui $at, 0xc +/* 0042A708 34218000 */ ori $at, $at, 0x8000 +/* 0042A70C 31AC001F */ andi $t4, $t5, 0x1f +/* 0042A710 2D8E0020 */ sltiu $t6, $t4, 0x20 +/* 0042A714 000E7823 */ negu $t7, $t6 +/* 0042A718 01E1C824 */ and $t9, $t7, $at +/* 0042A71C 0199C004 */ sllv $t8, $t9, $t4 +/* 0042A720 0701007A */ bgez $t8, .L0042A90C +.L0042A724: +/* 0042A724 24C90001 */ addiu $t1, $a2, 1 +/* 0042A728 8C4D0000 */ lw $t5, ($v0) +/* 0042A72C 2D280020 */ sltiu $t0, $t1, 0x20 +/* 0042A730 01205027 */ not $t2, $t1 +/* 0042A734 01485804 */ sllv $t3, $t0, $t2 +/* 0042A738 252FFFE0 */ addiu $t7, $t1, -0x20 +/* 0042A73C 01AB7025 */ or $t6, $t5, $t3 +/* 0042A740 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042A744 01206027 */ not $t4, $t1 +/* 0042A748 0199C004 */ sllv $t8, $t9, $t4 +/* 0042A74C 8C590008 */ lw $t9, 8($v0) +/* 0042A750 8C480004 */ lw $t0, 4($v0) +/* 0042A754 AC4E0000 */ sw $t6, ($v0) +/* 0042A758 252DFFC0 */ addiu $t5, $t1, -0x40 +/* 0042A75C 2DAB0020 */ sltiu $t3, $t5, 0x20 +/* 0042A760 01207027 */ not $t6, $t1 +/* 0042A764 01CB7804 */ sllv $t7, $t3, $t6 +/* 0042A768 032F6025 */ or $t4, $t9, $t7 +/* 0042A76C 01185025 */ or $t2, $t0, $t8 +/* 0042A770 AC4A0004 */ sw $t2, 4($v0) +/* 0042A774 10000065 */ b .L0042A90C +/* 0042A778 AC4C0008 */ sw $t4, 8($v0) +.L0042A77C: +/* 0042A77C 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042A780 2CC80020 */ sltiu $t0, $a2, 0x20 +/* 0042A784 00C0C027 */ not $t8, $a2 +/* 0042A788 8C490000 */ lw $t1, ($v0) +/* 0042A78C 03085004 */ sllv $t2, $t0, $t8 +/* 0042A790 24CEFFE0 */ addiu $t6, $a2, -0x20 +/* 0042A794 8C580004 */ lw $t8, 4($v0) +/* 0042A798 2DD90020 */ sltiu $t9, $t6, 0x20 +/* 0042A79C 01406827 */ not $t5, $t2 +/* 0042A7A0 00C07827 */ not $t7, $a2 +/* 0042A7A4 01F96004 */ sllv $t4, $t9, $t7 +/* 0042A7A8 012D5824 */ and $t3, $t1, $t5 +/* 0042A7AC 01804027 */ not $t0, $t4 +/* 0042A7B0 03085024 */ and $t2, $t8, $t0 +/* 0042A7B4 24C9FFC0 */ addiu $t1, $a2, -0x40 +/* 0042A7B8 AC4B0000 */ sw $t3, ($v0) +/* 0042A7BC 8C4F0008 */ lw $t7, 8($v0) +/* 0042A7C0 00C05827 */ not $t3, $a2 +/* 0042A7C4 2D2D0020 */ sltiu $t5, $t1, 0x20 +/* 0042A7C8 24D8FFE0 */ addiu $t8, $a2, -0x20 +/* 0042A7CC 016D7004 */ sllv $t6, $t5, $t3 +/* 0042A7D0 2F080020 */ sltiu $t0, $t8, 0x20 +/* 0042A7D4 AC4A0004 */ sw $t2, 4($v0) +/* 0042A7D8 01C0C827 */ not $t9, $t6 +/* 0042A7DC 00085023 */ negu $t2, $t0 +/* 0042A7E0 030A4804 */ sllv $t1, $t2, $t8 +/* 0042A7E4 01F96024 */ and $t4, $t7, $t9 +/* 0042A7E8 05210020 */ bgez $t1, .L0042A86C +/* 0042A7EC AC4C0008 */ sw $t4, 8($v0) +/* 0042A7F0 24CD0001 */ addiu $t5, $a2, 1 +/* 0042A7F4 8C4C0000 */ lw $t4, ($v0) +/* 0042A7F8 2DAB0020 */ sltiu $t3, $t5, 0x20 +/* 0042A7FC 01A07027 */ not $t6, $t5 +/* 0042A800 01CB7804 */ sllv $t7, $t3, $t6 +/* 0042A804 01E0C827 */ not $t9, $t7 +/* 0042A808 25AAFFE0 */ addiu $t2, $t5, -0x20 +/* 0042A80C 2D580020 */ sltiu $t8, $t2, 0x20 +/* 0042A810 01A04827 */ not $t1, $t5 +/* 0042A814 01994024 */ and $t0, $t4, $t9 +/* 0042A818 01385804 */ sllv $t3, $t8, $t1 +/* 0042A81C 8C4F0004 */ lw $t7, 4($v0) +/* 0042A820 01607027 */ not $t6, $t3 +/* 0042A824 AC480000 */ sw $t0, ($v0) +/* 0042A828 25B9FFC0 */ addiu $t9, $t5, -0x40 +/* 0042A82C 8C4B0008 */ lw $t3, 8($v0) +/* 0042A830 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0042A834 01A05027 */ not $t2, $t5 +/* 0042A838 0148C004 */ sllv $t8, $t0, $t2 +/* 0042A83C 03004827 */ not $t1, $t8 +/* 0042A840 01EE6024 */ and $t4, $t7, $t6 +/* 0042A844 01697824 */ and $t7, $t3, $t1 +/* 0042A848 AC4F0008 */ sw $t7, 8($v0) +/* 0042A84C AC4C0004 */ sw $t4, 4($v0) +/* 0042A850 8F998528 */ lw $t9, %call16(remove_from_fp_free_list)($gp) +/* 0042A854 00C02025 */ move $a0, $a2 +/* 0042A858 24050003 */ li $a1, 3 +/* 0042A85C 0320F809 */ jalr $t9 +/* 0042A860 00000000 */ nop +/* 0042A864 10000029 */ b .L0042A90C +/* 0042A868 8FBC0018 */ lw $gp, 0x18($sp) +.L0042A86C: +/* 0042A86C 8F998524 */ lw $t9, %call16(remove_from_free_list)($gp) +/* 0042A870 00C02025 */ move $a0, $a2 +/* 0042A874 AFA50028 */ sw $a1, 0x28($sp) +/* 0042A878 0320F809 */ jalr $t9 +/* 0042A87C A3A60027 */ sb $a2, 0x27($sp) +/* 0042A880 8FA50028 */ lw $a1, 0x28($sp) +/* 0042A884 93A60027 */ lbu $a2, 0x27($sp) +/* 0042A888 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042A88C 8CAE0028 */ lw $t6, 0x28($a1) +/* 0042A890 24C40001 */ addiu $a0, $a2, 1 +/* 0042A894 2C8C0020 */ sltiu $t4, $a0, 0x20 +/* 0042A898 29C10005 */ slti $at, $t6, 5 +/* 0042A89C 1420001B */ bnez $at, .L0042A90C +/* 0042A8A0 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042A8A4 8C4A0000 */ lw $t2, ($v0) +/* 0042A8A8 0080C827 */ not $t9, $a0 +/* 0042A8AC 032C6804 */ sllv $t5, $t4, $t9 +/* 0042A8B0 01A04027 */ not $t0, $t5 +/* 0042A8B4 0148C024 */ and $t8, $t2, $t0 +/* 0042A8B8 248BFFE0 */ addiu $t3, $a0, -0x20 +/* 0042A8BC 2D690020 */ sltiu $t1, $t3, 0x20 +/* 0042A8C0 00807827 */ not $t7, $a0 +/* 0042A8C4 01E97004 */ sllv $t6, $t1, $t7 +/* 0042A8C8 AC580000 */ sw $t8, ($v0) +/* 0042A8CC 248AFFC0 */ addiu $t2, $a0, -0x40 +/* 0042A8D0 8C4F0008 */ lw $t7, 8($v0) +/* 0042A8D4 8C590004 */ lw $t9, 4($v0) +/* 0042A8D8 2D480020 */ sltiu $t0, $t2, 0x20 +/* 0042A8DC 0080C027 */ not $t8, $a0 +/* 0042A8E0 03085804 */ sllv $t3, $t0, $t8 +/* 0042A8E4 01C06027 */ not $t4, $t6 +/* 0042A8E8 01604827 */ not $t1, $t3 +/* 0042A8EC 01E97024 */ and $t6, $t7, $t1 +/* 0042A8F0 032C6824 */ and $t5, $t9, $t4 +/* 0042A8F4 AC4D0004 */ sw $t5, 4($v0) +/* 0042A8F8 AC4E0008 */ sw $t6, 8($v0) +/* 0042A8FC 8F998524 */ lw $t9, %call16(remove_from_free_list)($gp) +/* 0042A900 0320F809 */ jalr $t9 +/* 0042A904 00000000 */ nop +/* 0042A908 8FBC0018 */ lw $gp, 0x18($sp) +.L0042A90C: +/* 0042A90C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0042A910 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0042A914 03E00008 */ jr $ra +/* 0042A918 00000000 */ nop + .type save_vreg, @function + .size save_vreg, .-save_vreg + .end save_vreg + +glabel pass_in_register + .ent pass_in_register + # 0042A9A8 load_parm_vreg +/* 0042A91C 3C1C0FBF */ .cpload $t9 +/* 0042A920 279C5134 */ +/* 0042A924 0399E021 */ +/* 0042A928 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0042A92C AFB00018 */ sw $s0, 0x18($sp) +/* 0042A930 8F908AD4 */ lw $s0, %got(pdefs)($gp) +/* 0042A934 AFB1001C */ sw $s1, 0x1c($sp) +/* 0042A938 00808825 */ move $s1, $a0 +/* 0042A93C 8E100000 */ lw $s0, ($s0) +/* 0042A940 AFBF0024 */ sw $ra, 0x24($sp) +/* 0042A944 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042A948 52000012 */ beql $s0, $zero, .L0042A994 +/* 0042A94C 24020048 */ li $v0, 72 +.L0042A950: +/* 0042A950 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 0042A954 02202025 */ move $a0, $s1 +/* 0042A958 02002825 */ move $a1, $s0 +/* 0042A95C 0320F809 */ jalr $t9 +/* 0042A960 00000000 */ nop +/* 0042A964 10400007 */ beqz $v0, .L0042A984 +/* 0042A968 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042A96C 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042A970 02002025 */ move $a0, $s0 +/* 0042A974 0320F809 */ jalr $t9 +/* 0042A978 00000000 */ nop +/* 0042A97C 10000005 */ b .L0042A994 +/* 0042A980 8FBC0020 */ lw $gp, 0x20($sp) +.L0042A984: +/* 0042A984 8E100008 */ lw $s0, 8($s0) +/* 0042A988 1600FFF1 */ bnez $s0, .L0042A950 +/* 0042A98C 00000000 */ nop +/* 0042A990 24020048 */ li $v0, 72 +.L0042A994: +/* 0042A994 8FBF0024 */ lw $ra, 0x24($sp) +/* 0042A998 8FB00018 */ lw $s0, 0x18($sp) +/* 0042A99C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0042A9A0 03E00008 */ jr $ra +/* 0042A9A4 27BD0028 */ addiu $sp, $sp, 0x28 + .type pass_in_register, @function + .size pass_in_register, .-pass_in_register + .end pass_in_register + +glabel load_parm_vreg + .ent load_parm_vreg + # 0042BDAC eval +/* 0042A9A8 3C1C0FBF */ .cpload $t9 +/* 0042A9AC 279C50A8 */ +/* 0042A9B0 0399E021 */ +/* 0042A9B4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0042A9B8 AFBF002C */ sw $ra, 0x2c($sp) +/* 0042A9BC AFBC0028 */ sw $gp, 0x28($sp) +/* 0042A9C0 AFB10024 */ sw $s1, 0x24($sp) +/* 0042A9C4 AFB00020 */ sw $s0, 0x20($sp) +/* 0042A9C8 8C900030 */ lw $s0, 0x30($a0) +/* 0042A9CC 8F99839C */ lw $t9, %call16(pass_in_register)($gp) +/* 0042A9D0 00808825 */ move $s1, $a0 +/* 0042A9D4 06010002 */ bgez $s0, .L0042A9E0 +/* 0042A9D8 02000821 */ move $at, $s0 +/* 0042A9DC 26010003 */ addiu $at, $s0, 3 +.L0042A9E0: +/* 0042A9E0 00018083 */ sra $s0, $at, 2 +/* 0042A9E4 321000FF */ andi $s0, $s0, 0xff +/* 0042A9E8 0320F809 */ jalr $t9 +/* 0042A9EC 02202025 */ move $a0, $s1 +/* 0042A9F0 304E00FF */ andi $t6, $v0, 0xff +/* 0042A9F4 24010048 */ li $at, 72 +/* 0042A9F8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042A9FC 11C10036 */ beq $t6, $at, .L0042AAD8 +/* 0042AA00 304500FF */ andi $a1, $v0, 0xff +/* 0042AA04 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0042AA08 92260021 */ lbu $a2, 0x21($s1) +/* 0042AA0C 02002025 */ move $a0, $s0 +/* 0042AA10 0320F809 */ jalr $t9 +/* 0042AA14 30C6001F */ andi $a2, $a2, 0x1f +/* 0042AA18 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042AA1C 24010003 */ li $at, 3 +/* 0042AA20 8F8F89A4 */ lw $t7, %got(source_language)($gp) +/* 0042AA24 8DEF0000 */ lw $t7, ($t7) +/* 0042AA28 55E1003A */ bnel $t7, $at, .L0042AB14 +/* 0042AA2C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0042AA30 8E220028 */ lw $v0, 0x28($s1) +/* 0042AA34 28410004 */ slti $at, $v0, 4 +/* 0042AA38 50200036 */ beql $at, $zero, .L0042AB14 +/* 0042AA3C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0042AA40 92380021 */ lbu $t8, 0x21($s1) +/* 0042AA44 24010006 */ li $at, 6 +/* 0042AA48 24040003 */ li $a0, 3 +/* 0042AA4C 3319001F */ andi $t9, $t8, 0x1f +/* 0042AA50 17210017 */ bne $t9, $at, .L0042AAB0 +/* 0042AA54 02002825 */ move $a1, $s0 +/* 0042AA58 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042AA5C 000240C0 */ sll $t0, $v0, 3 +/* 0042AA60 24090020 */ li $t1, 32 +/* 0042AA64 01283823 */ subu $a3, $t1, $t0 +/* 0042AA68 2404004F */ li $a0, 79 +/* 0042AA6C 02002825 */ move $a1, $s0 +/* 0042AA70 02003025 */ move $a2, $s0 +/* 0042AA74 0320F809 */ jalr $t9 +/* 0042AA78 AFA00010 */ sw $zero, 0x10($sp) +/* 0042AA7C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042AA80 8E2A0028 */ lw $t2, 0x28($s1) +/* 0042AA84 240C0020 */ li $t4, 32 +/* 0042AA88 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042AA8C 000A58C0 */ sll $t3, $t2, 3 +/* 0042AA90 018B3823 */ subu $a3, $t4, $t3 +/* 0042AA94 24040053 */ li $a0, 83 +/* 0042AA98 02002825 */ move $a1, $s0 +/* 0042AA9C 02003025 */ move $a2, $s0 +/* 0042AAA0 0320F809 */ jalr $t9 +/* 0042AAA4 AFA00010 */ sw $zero, 0x10($sp) +/* 0042AAA8 10000019 */ b .L0042AB10 +/* 0042AAAC 8FBC0028 */ lw $gp, 0x28($sp) +.L0042AAB0: +/* 0042AAB0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042AAB4 000268C0 */ sll $t5, $v0, 3 +/* 0042AAB8 240E0001 */ li $t6, 1 +/* 0042AABC 01AE3804 */ sllv $a3, $t6, $t5 +/* 0042AAC0 24E7FFFF */ addiu $a3, $a3, -1 +/* 0042AAC4 02003025 */ move $a2, $s0 +/* 0042AAC8 0320F809 */ jalr $t9 +/* 0042AACC AFA00010 */ sw $zero, 0x10($sp) +/* 0042AAD0 1000000F */ b .L0042AB10 +/* 0042AAD4 8FBC0028 */ lw $gp, 0x28($sp) +.L0042AAD8: +/* 0042AAD8 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042AADC 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042AAE0 02202825 */ move $a1, $s1 +/* 0042AAE4 0320F809 */ jalr $t9 +/* 0042AAE8 02003025 */ move $a2, $s0 +/* 0042AAEC 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042AAF0 00402025 */ move $a0, $v0 +/* 0042AAF4 02202825 */ move $a1, $s1 +/* 0042AAF8 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 0042AAFC 02003025 */ move $a2, $s0 +/* 0042AB00 00003825 */ move $a3, $zero +/* 0042AB04 0320F809 */ jalr $t9 +/* 0042AB08 00000000 */ nop +/* 0042AB0C 8FBC0028 */ lw $gp, 0x28($sp) +.L0042AB10: +/* 0042AB10 8FBF002C */ lw $ra, 0x2c($sp) +.L0042AB14: +/* 0042AB14 8FB00020 */ lw $s0, 0x20($sp) +/* 0042AB18 8FB10024 */ lw $s1, 0x24($sp) +/* 0042AB1C 03E00008 */ jr $ra +/* 0042AB20 27BD0030 */ addiu $sp, $sp, 0x30 + .type load_parm_vreg, @function + .size load_parm_vreg, .-load_parm_vreg + .end load_parm_vreg + +glabel in_parm_regs + .ent in_parm_regs + # 0042AB88 gen_regs +/* 0042AB24 3C1C0FBF */ .cpload $t9 +/* 0042AB28 279C4F2C */ +/* 0042AB2C 0399E021 */ +/* 0042AB30 2C820004 */ sltiu $v0, $a0, 4 +/* 0042AB34 38430001 */ xori $v1, $v0, 1 +/* 0042AB38 10600006 */ beqz $v1, .L0042AB54 +/* 0042AB3C AFA40000 */ sw $a0, ($sp) +/* 0042AB40 8F8E89FC */ lw $t6, %got(n_parm_regs)($gp) +/* 0042AB44 8DCE0000 */ lw $t6, ($t6) +/* 0042AB48 25CF0003 */ addiu $t7, $t6, 3 +/* 0042AB4C 01E4182B */ sltu $v1, $t7, $a0 +/* 0042AB50 38630001 */ xori $v1, $v1, 1 +.L0042AB54: +/* 0042AB54 1460000A */ bnez $v1, .L0042AB80 +/* 0042AB58 2C82002C */ sltiu $v0, $a0, 0x2c +/* 0042AB5C 38430001 */ xori $v1, $v0, 1 +/* 0042AB60 10600007 */ beqz $v1, .L0042AB80 +/* 0042AB64 00000000 */ nop +/* 0042AB68 8F988A00 */ lw $t8, %got(n_fp_parm_regs)($gp) +/* 0042AB6C 8F180000 */ lw $t8, ($t8) +/* 0042AB70 0018C840 */ sll $t9, $t8, 1 +/* 0042AB74 2728002A */ addiu $t0, $t9, 0x2a +/* 0042AB78 0104182B */ sltu $v1, $t0, $a0 +/* 0042AB7C 38630001 */ xori $v1, $v1, 1 +.L0042AB80: +/* 0042AB80 03E00008 */ jr $ra +/* 0042AB84 00601025 */ move $v0, $v1 + .type in_parm_regs, @function + .size in_parm_regs, .-in_parm_regs + .end in_parm_regs + +glabel gen_regs + .ent gen_regs + # 0042BDAC eval +/* 0042AB88 3C1C0FBF */ .cpload $t9 +/* 0042AB8C 279C4EC8 */ +/* 0042AB90 0399E021 */ +/* 0042AB94 9082002F */ lbu $v0, 0x2f($a0) +/* 0042AB98 8C8E0028 */ lw $t6, 0x28($a0) +/* 0042AB9C 8C850024 */ lw $a1, 0x24($a0) +/* 0042ABA0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0042ABA4 004E1821 */ addu $v1, $v0, $t6 +/* 0042ABA8 24AFFFFF */ addiu $t7, $a1, -1 +/* 0042ABAC 2463FFFF */ addiu $v1, $v1, -1 +/* 0042ABB0 2DE10004 */ sltiu $at, $t7, 4 +/* 0042ABB4 AFBF002C */ sw $ra, 0x2c($sp) +/* 0042ABB8 AFBC0028 */ sw $gp, 0x28($sp) +/* 0042ABBC AFB30024 */ sw $s3, 0x24($sp) +/* 0042ABC0 AFB20020 */ sw $s2, 0x20($sp) +/* 0042ABC4 AFB1001C */ sw $s1, 0x1c($sp) +/* 0042ABC8 AFB00018 */ sw $s0, 0x18($sp) +/* 0042ABCC 306300FF */ andi $v1, $v1, 0xff +/* 0042ABD0 102000BE */ beqz $at, .L0042AECC +/* 0042ABD4 00403025 */ move $a2, $v0 +/* 0042ABD8 8F818038 */ lw $at, %got(jtbl_1000A888)($gp) +/* 0042ABDC 000F7880 */ sll $t7, $t7, 2 +/* 0042ABE0 002F0821 */ addu $at, $at, $t7 +/* 0042ABE4 8C2FA888 */ lw $t7, %lo(jtbl_1000A888)($at) +/* 0042ABE8 01FC7821 */ addu $t7, $t7, $gp +/* 0042ABEC 01E00008 */ jr $t7 +/* 0042ABF0 00000000 */ nop +.L0042ABF4: +/* 0042ABF4 0062082B */ sltu $at, $v1, $v0 +/* 0042ABF8 142000B4 */ bnez $at, .L0042AECC +/* 0042ABFC 00408025 */ move $s0, $v0 +/* 0042AC00 24730001 */ addiu $s3, $v1, 1 +/* 0042AC04 8F928B8C */ lw $s2, %got(ugen_fp_callee_saved)($gp) +/* 0042AC08 8F918B90 */ lw $s1, %got(saved_regs)($gp) +/* 0042AC0C 8E290000 */ lw $t1, ($s1) +.L0042AC10: +/* 0042AC10 2E180020 */ sltiu $t8, $s0, 0x20 +/* 0042AC14 0200C827 */ not $t9, $s0 +/* 0042AC18 03384004 */ sllv $t0, $t8, $t9 +/* 0042AC1C 260BFFE0 */ addiu $t3, $s0, -0x20 +/* 0042AC20 2D6C0020 */ sltiu $t4, $t3, 0x20 +/* 0042AC24 01285025 */ or $t2, $t1, $t0 +/* 0042AC28 02006827 */ not $t5, $s0 +/* 0042AC2C 8E2B0008 */ lw $t3, 8($s1) +/* 0042AC30 8E2F0004 */ lw $t7, 4($s1) +/* 0042AC34 01AC7004 */ sllv $t6, $t4, $t5 +/* 0042AC38 2619FFC0 */ addiu $t9, $s0, -0x40 +/* 0042AC3C 2F290020 */ sltiu $t1, $t9, 0x20 +/* 0042AC40 AE2A0000 */ sw $t2, ($s1) +/* 0042AC44 02004027 */ not $t0, $s0 +/* 0042AC48 01095004 */ sllv $t2, $t1, $t0 +/* 0042AC4C 2E0D0060 */ sltiu $t5, $s0, 0x60 +/* 0042AC50 016A6025 */ or $t4, $t3, $t2 +/* 0042AC54 01EEC025 */ or $t8, $t7, $t6 +/* 0042AC58 AE380004 */ sw $t8, 4($s1) +/* 0042AC5C 11A00007 */ beqz $t5, .L0042AC7C +/* 0042AC60 AE2C0008 */ sw $t4, 8($s1) +/* 0042AC64 00107943 */ sra $t7, $s0, 5 +/* 0042AC68 000F7080 */ sll $t6, $t7, 2 +/* 0042AC6C 024EC021 */ addu $t8, $s2, $t6 +/* 0042AC70 8F190000 */ lw $t9, ($t8) +/* 0042AC74 02194804 */ sllv $t1, $t9, $s0 +/* 0042AC78 292D0000 */ slti $t5, $t1, 0 +.L0042AC7C: +/* 0042AC7C 11A0001D */ beqz $t5, .L0042ACF4 +/* 0042AC80 2E0B0020 */ sltiu $t3, $s0, 0x20 +/* 0042AC84 8E4E0000 */ lw $t6, ($s2) +/* 0042AC88 02005027 */ not $t2, $s0 +/* 0042AC8C 014B6004 */ sllv $t4, $t3, $t2 +/* 0042AC90 01807827 */ not $t7, $t4 +/* 0042AC94 01CFC024 */ and $t8, $t6, $t7 +/* 0042AC98 2619FFE0 */ addiu $t9, $s0, -0x20 +/* 0042AC9C 2F290020 */ sltiu $t1, $t9, 0x20 +/* 0042ACA0 02004027 */ not $t0, $s0 +/* 0042ACA4 01096804 */ sllv $t5, $t1, $t0 +/* 0042ACA8 AE580000 */ sw $t8, ($s2) +/* 0042ACAC 260EFFC0 */ addiu $t6, $s0, -0x40 +/* 0042ACB0 8E480008 */ lw $t0, 8($s2) +/* 0042ACB4 8E4A0004 */ lw $t2, 4($s2) +/* 0042ACB8 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 0042ACBC 0200C027 */ not $t8, $s0 +/* 0042ACC0 030FC804 */ sllv $t9, $t7, $t8 +/* 0042ACC4 01A05827 */ not $t3, $t5 +/* 0042ACC8 03204827 */ not $t1, $t9 +/* 0042ACCC 01096824 */ and $t5, $t0, $t1 +/* 0042ACD0 014B6024 */ and $t4, $t2, $t3 +/* 0042ACD4 AE4C0004 */ sw $t4, 4($s2) +/* 0042ACD8 AE4D0008 */ sw $t5, 8($s2) +/* 0042ACDC 8F998528 */ lw $t9, %call16(remove_from_fp_free_list)($gp) +/* 0042ACE0 02002025 */ move $a0, $s0 +/* 0042ACE4 00002825 */ move $a1, $zero +/* 0042ACE8 0320F809 */ jalr $t9 +/* 0042ACEC 00000000 */ nop +/* 0042ACF0 8FBC0028 */ lw $gp, 0x28($sp) +.L0042ACF4: +/* 0042ACF4 26100001 */ addiu $s0, $s0, 1 +/* 0042ACF8 5613FFC5 */ bnel $s0, $s3, .L0042AC10 +/* 0042ACFC 8E290000 */ lw $t1, ($s1) +/* 0042AD00 10000073 */ b .L0042AED0 +/* 0042AD04 8FBF002C */ lw $ra, 0x2c($sp) +.L0042AD08: +/* 0042AD08 0062082B */ sltu $at, $v1, $v0 +/* 0042AD0C 1420006F */ bnez $at, .L0042AECC +/* 0042AD10 00408025 */ move $s0, $v0 +/* 0042AD14 24730001 */ addiu $s3, $v1, 1 +/* 0042AD18 8F918B90 */ lw $s1, %got(saved_regs)($gp) +/* 0042AD1C 8E2F0000 */ lw $t7, ($s1) +.L0042AD20: +/* 0042AD20 2E0A0020 */ sltiu $t2, $s0, 0x20 +/* 0042AD24 02005827 */ not $t3, $s0 +/* 0042AD28 016A6004 */ sllv $t4, $t2, $t3 +/* 0042AD2C 01807027 */ not $t6, $t4 +/* 0042AD30 01EEC024 */ and $t8, $t7, $t6 +/* 0042AD34 2619FFE0 */ addiu $t9, $s0, -0x20 +/* 0042AD38 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0042AD3C 02004827 */ not $t1, $s0 +/* 0042AD40 01286804 */ sllv $t5, $t0, $t1 +/* 0042AD44 AE380000 */ sw $t8, ($s1) +/* 0042AD48 260FFFC0 */ addiu $t7, $s0, -0x40 +/* 0042AD4C 8E290008 */ lw $t1, 8($s1) +/* 0042AD50 8E2B0004 */ lw $t3, 4($s1) +/* 0042AD54 2DEE0020 */ sltiu $t6, $t7, 0x20 +/* 0042AD58 0200C027 */ not $t8, $s0 +/* 0042AD5C 030EC804 */ sllv $t9, $t6, $t8 +/* 0042AD60 01A05027 */ not $t2, $t5 +/* 0042AD64 03204027 */ not $t0, $t9 +/* 0042AD68 01286824 */ and $t5, $t1, $t0 +/* 0042AD6C 016A6024 */ and $t4, $t3, $t2 +/* 0042AD70 AE2C0004 */ sw $t4, 4($s1) +/* 0042AD74 AE2D0008 */ sw $t5, 8($s1) +/* 0042AD78 8F9983A4 */ lw $t9, %call16(in_parm_regs)($gp) +/* 0042AD7C 02002025 */ move $a0, $s0 +/* 0042AD80 0320F809 */ jalr $t9 +/* 0042AD84 00000000 */ nop +/* 0042AD88 14400006 */ bnez $v0, .L0042ADA4 +/* 0042AD8C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042AD90 8F998524 */ lw $t9, %call16(remove_from_free_list)($gp) +/* 0042AD94 02002025 */ move $a0, $s0 +/* 0042AD98 0320F809 */ jalr $t9 +/* 0042AD9C 00000000 */ nop +/* 0042ADA0 8FBC0028 */ lw $gp, 0x28($sp) +.L0042ADA4: +/* 0042ADA4 26100001 */ addiu $s0, $s0, 1 +/* 0042ADA8 5613FFDD */ bnel $s0, $s3, .L0042AD20 +/* 0042ADAC 8E2F0000 */ lw $t7, ($s1) +/* 0042ADB0 10000047 */ b .L0042AED0 +/* 0042ADB4 8FBF002C */ lw $ra, 0x2c($sp) +.L0042ADB8: +/* 0042ADB8 0066082A */ slt $at, $v1, $a2 +/* 0042ADBC 305000FF */ andi $s0, $v0, 0xff +/* 0042ADC0 14200042 */ bnez $at, .L0042AECC +/* 0042ADC4 00609025 */ move $s2, $v1 +/* 0042ADC8 8F918B90 */ lw $s1, %got(saved_regs)($gp) +/* 0042ADCC 8E2E0000 */ lw $t6, ($s1) +.L0042ADD0: +/* 0042ADD0 2E0B0020 */ sltiu $t3, $s0, 0x20 +/* 0042ADD4 02005027 */ not $t2, $s0 +/* 0042ADD8 014B6004 */ sllv $t4, $t3, $t2 +/* 0042ADDC 01807827 */ not $t7, $t4 +/* 0042ADE0 2619FFE0 */ addiu $t9, $s0, -0x20 +/* 0042ADE4 01CFC024 */ and $t8, $t6, $t7 +/* 0042ADE8 8E2A0004 */ lw $t2, 4($s1) +/* 0042ADEC 2F290020 */ sltiu $t1, $t9, 0x20 +/* 0042ADF0 02004027 */ not $t0, $s0 +/* 0042ADF4 01096804 */ sllv $t5, $t1, $t0 +/* 0042ADF8 01A05827 */ not $t3, $t5 +/* 0042ADFC AE380000 */ sw $t8, ($s1) +/* 0042AE00 260EFFC0 */ addiu $t6, $s0, -0x40 +/* 0042AE04 8E280008 */ lw $t0, 8($s1) +/* 0042AE08 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 0042AE0C 0200C027 */ not $t8, $s0 +/* 0042AE10 014B6024 */ and $t4, $t2, $t3 +/* 0042AE14 030FC804 */ sllv $t9, $t7, $t8 +/* 0042AE18 03204827 */ not $t1, $t9 +/* 0042AE1C 260A0001 */ addiu $t2, $s0, 1 +/* 0042AE20 AE2C0004 */ sw $t4, 4($s1) +/* 0042AE24 01096824 */ and $t5, $t0, $t1 +/* 0042AE28 8E380000 */ lw $t8, ($s1) +/* 0042AE2C 01406027 */ not $t4, $t2 +/* 0042AE30 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 0042AE34 018B7004 */ sllv $t6, $t3, $t4 +/* 0042AE38 AE2D0008 */ sw $t5, 8($s1) +/* 0042AE3C 01C07827 */ not $t7, $t6 +/* 0042AE40 2548FFE0 */ addiu $t0, $t2, -0x20 +/* 0042AE44 2D090020 */ sltiu $t1, $t0, 0x20 +/* 0042AE48 01406827 */ not $t5, $t2 +/* 0042AE4C 030FC824 */ and $t9, $t8, $t7 +/* 0042AE50 01A95804 */ sllv $t3, $t1, $t5 +/* 0042AE54 8E2E0004 */ lw $t6, 4($s1) +/* 0042AE58 01606027 */ not $t4, $t3 +/* 0042AE5C AE390000 */ sw $t9, ($s1) +/* 0042AE60 254FFFC0 */ addiu $t7, $t2, -0x40 +/* 0042AE64 8E2B0008 */ lw $t3, 8($s1) +/* 0042AE68 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042AE6C 01404027 */ not $t0, $t2 +/* 0042AE70 01194804 */ sllv $t1, $t9, $t0 +/* 0042AE74 01206827 */ not $t5, $t1 +/* 0042AE78 01CCC024 */ and $t8, $t6, $t4 +/* 0042AE7C 016D7024 */ and $t6, $t3, $t5 +/* 0042AE80 AE2E0008 */ sw $t6, 8($s1) +/* 0042AE84 AE380004 */ sw $t8, 4($s1) +/* 0042AE88 8F9983A4 */ lw $t9, %call16(in_parm_regs)($gp) +/* 0042AE8C 02002025 */ move $a0, $s0 +/* 0042AE90 0320F809 */ jalr $t9 +/* 0042AE94 00000000 */ nop +/* 0042AE98 14400007 */ bnez $v0, .L0042AEB8 +/* 0042AE9C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0042AEA0 8F998528 */ lw $t9, %call16(remove_from_fp_free_list)($gp) +/* 0042AEA4 02002025 */ move $a0, $s0 +/* 0042AEA8 24050003 */ li $a1, 3 +/* 0042AEAC 0320F809 */ jalr $t9 +/* 0042AEB0 00000000 */ nop +/* 0042AEB4 8FBC0028 */ lw $gp, 0x28($sp) +.L0042AEB8: +/* 0042AEB8 26100002 */ addiu $s0, $s0, 2 +/* 0042AEBC 321000FF */ andi $s0, $s0, 0xff +/* 0042AEC0 0250082A */ slt $at, $s2, $s0 +/* 0042AEC4 5020FFC2 */ beql $at, $zero, .L0042ADD0 +/* 0042AEC8 8E2E0000 */ lw $t6, ($s1) +.L0042AECC: +/* 0042AECC 8FBF002C */ lw $ra, 0x2c($sp) +.L0042AED0: +/* 0042AED0 8FB00018 */ lw $s0, 0x18($sp) +/* 0042AED4 8FB1001C */ lw $s1, 0x1c($sp) +/* 0042AED8 8FB20020 */ lw $s2, 0x20($sp) +/* 0042AEDC 8FB30024 */ lw $s3, 0x24($sp) +/* 0042AEE0 03E00008 */ jr $ra +/* 0042AEE4 27BD0030 */ addiu $sp, $sp, 0x30 + .type gen_regs, @function + .size gen_regs, .-gen_regs + .end gen_regs + +glabel get_saved_regs_size + .ent get_saved_regs_size + # 0042BDAC eval +/* 0042AEE8 3C1C0FBF */ .cpload $t9 +/* 0042AEEC 279C4B68 */ +/* 0042AEF0 0399E021 */ +/* 0042AEF4 8F8E89DC */ lw $t6, %got(basicint)($gp) +/* 0042AEF8 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0042AEFC AFBF001C */ sw $ra, 0x1c($sp) +/* 0042AF00 91CE0000 */ lbu $t6, ($t6) +/* 0042AF04 AFBC0018 */ sw $gp, 0x18($sp) +/* 0042AF08 00802825 */ move $a1, $a0 +/* 0042AF0C 15C00003 */ bnez $t6, .L0042AF1C +/* 0042AF10 24060008 */ li $a2, 8 +/* 0042AF14 10000001 */ b .L0042AF1C +/* 0042AF18 24060004 */ li $a2, 4 +.L0042AF1C: +/* 0042AF1C 8CA50008 */ lw $a1, 8($a1) +/* 0042AF20 00001825 */ move $v1, $zero +/* 0042AF24 24070006 */ li $a3, 6 +/* 0042AF28 10A000A6 */ beqz $a1, .L0042B1C4 +/* 0042AF2C 00004025 */ move $t0, $zero +/* 0042AF30 8F8989E4 */ lw $t1, %got(pic_level)($gp) +.L0042AF34: +/* 0042AF34 10000086 */ b .L0042B150 +/* 0042AF38 90A20020 */ lbu $v0, 0x20($a1) +/* 0042AF3C 8CA20030 */ lw $v0, 0x30($a1) +.L0042AF40: +/* 0042AF40 2401FFFF */ li $at, -1 +/* 0042AF44 5041009D */ beql $v0, $at, .L0042B1BC +/* 0042AF48 8CA50008 */ lw $a1, 8($a1) +/* 0042AF4C 8F8F8A3C */ lw $t7, %got(ignore_vreg)($gp) +/* 0042AF50 91EF0000 */ lbu $t7, ($t7) +/* 0042AF54 55E00099 */ bnel $t7, $zero, .L0042B1BC +/* 0042AF58 8CA50008 */ lw $a1, 8($a1) +/* 0042AF5C 8F998328 */ lw $t9, %call16(is_saved_reg)($gp) +/* 0042AF60 04410003 */ bgez $v0, .L0042AF70 +/* 0042AF64 00022083 */ sra $a0, $v0, 2 +/* 0042AF68 24410003 */ addiu $at, $v0, 3 +/* 0042AF6C 00012083 */ sra $a0, $at, 2 +.L0042AF70: +/* 0042AF70 308400FF */ andi $a0, $a0, 0xff +/* 0042AF74 AFA30030 */ sw $v1, 0x30($sp) +/* 0042AF78 AFA50038 */ sw $a1, 0x38($sp) +/* 0042AF7C AFA60024 */ sw $a2, 0x24($sp) +/* 0042AF80 AFA70028 */ sw $a3, 0x28($sp) +/* 0042AF84 0320F809 */ jalr $t9 +/* 0042AF88 A3A80023 */ sb $t0, 0x23($sp) +/* 0042AF8C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0042AF90 8FA30030 */ lw $v1, 0x30($sp) +/* 0042AF94 8FA50038 */ lw $a1, 0x38($sp) +/* 0042AF98 8FA60024 */ lw $a2, 0x24($sp) +/* 0042AF9C 8FA70028 */ lw $a3, 0x28($sp) +/* 0042AFA0 93A80023 */ lbu $t0, 0x23($sp) +/* 0042AFA4 10400084 */ beqz $v0, .L0042B1B8 +/* 0042AFA8 8F8989E4 */ lw $t1, %got(pic_level)($gp) +/* 0042AFAC 90B80021 */ lbu $t8, 0x21($a1) +/* 0042AFB0 3C01000C */ lui $at, 0xc +/* 0042AFB4 34218000 */ ori $at, $at, 0x8000 +/* 0042AFB8 3319001F */ andi $t9, $t8, 0x1f +/* 0042AFBC 2F2A0020 */ sltiu $t2, $t9, 0x20 +/* 0042AFC0 000A5823 */ negu $t3, $t2 +/* 0042AFC4 01616024 */ and $t4, $t3, $at +/* 0042AFC8 032C6804 */ sllv $t5, $t4, $t9 +/* 0042AFCC 05A30004 */ bgezl $t5, .L0042AFE0 +/* 0042AFD0 8CAE0028 */ lw $t6, 0x28($a1) +/* 0042AFD4 10000078 */ b .L0042B1B8 +/* 0042AFD8 24630008 */ addiu $v1, $v1, 8 +/* 0042AFDC 8CAE0028 */ lw $t6, 0x28($a1) +.L0042AFE0: +/* 0042AFE0 25CF0003 */ addiu $t7, $t6, 3 +/* 0042AFE4 05E10003 */ bgez $t7, .L0042AFF4 +/* 0042AFE8 000FC083 */ sra $t8, $t7, 2 +/* 0042AFEC 25E10003 */ addiu $at, $t7, 3 +/* 0042AFF0 0001C083 */ sra $t8, $at, 2 +.L0042AFF4: +/* 0042AFF4 00185080 */ sll $t2, $t8, 2 +/* 0042AFF8 1000006F */ b .L0042B1B8 +/* 0042AFFC 006A1821 */ addu $v1, $v1, $t2 +/* 0042B000 90AB0021 */ lbu $t3, 0x21($a1) +.L0042B004: +/* 0042B004 8F848A6C */ lw $a0, %got(use_real_fp_for_proc)($gp) +/* 0042B008 24010006 */ li $at, 6 +/* 0042B00C 000B6600 */ sll $t4, $t3, 0x18 +/* 0042B010 000CCF42 */ srl $t9, $t4, 0x1d +/* 0042B014 1721000C */ bne $t9, $at, .L0042B048 +/* 0042B018 90840000 */ lbu $a0, ($a0) +/* 0042B01C 8D2D0000 */ lw $t5, ($t1) +/* 0042B020 8F8289B4 */ lw $v0, %got(pseudo_leaf)($gp) +/* 0042B024 00067040 */ sll $t6, $a2, 1 +/* 0042B028 19A00003 */ blez $t5, .L0042B038 +/* 0042B02C 90420000 */ lbu $v0, ($v0) +/* 0042B030 10000002 */ b .L0042B03C +/* 0042B034 006E1821 */ addu $v1, $v1, $t6 +.L0042B038: +/* 0042B038 00661821 */ addu $v1, $v1, $a2 +.L0042B03C: +/* 0042B03C 10400002 */ beqz $v0, .L0042B048 +/* 0042B040 00000000 */ nop +/* 0042B044 00661823 */ subu $v1, $v1, $a2 +.L0042B048: +/* 0042B048 5080005C */ beql $a0, $zero, .L0042B1BC +/* 0042B04C 8CA50008 */ lw $a1, 8($a1) +/* 0042B050 10000059 */ b .L0042B1B8 +/* 0042B054 00661821 */ addu $v1, $v1, $a2 +/* 0042B058 8CA2002C */ lw $v0, 0x2c($a1) +.L0042B05C: +/* 0042B05C 2841001F */ slti $at, $v0, 0x1f +/* 0042B060 50200008 */ beql $at, $zero, .L0042B084 +/* 0042B064 8CA20024 */ lw $v0, 0x24($a1) +/* 0042B068 8CAF0028 */ lw $t7, 0x28($a1) +/* 0042B06C 004FC021 */ addu $t8, $v0, $t7 +/* 0042B070 2B01001F */ slti $at, $t8, 0x1f +/* 0042B074 54200003 */ bnel $at, $zero, .L0042B084 +/* 0042B078 8CA20024 */ lw $v0, 0x24($a1) +/* 0042B07C 24080001 */ li $t0, 1 +/* 0042B080 8CA20024 */ lw $v0, 0x24($a1) +.L0042B084: +/* 0042B084 24010002 */ li $at, 2 +/* 0042B088 54410006 */ bnel $v0, $at, .L0042B0A4 +/* 0042B08C 24010004 */ li $at, 4 +/* 0042B090 8CAA0028 */ lw $t2, 0x28($a1) +/* 0042B094 000A5880 */ sll $t3, $t2, 2 +/* 0042B098 10000047 */ b .L0042B1B8 +/* 0042B09C 006B1821 */ addu $v1, $v1, $t3 +/* 0042B0A0 24010004 */ li $at, 4 +.L0042B0A4: +/* 0042B0A4 54410045 */ bnel $v0, $at, .L0042B1BC +/* 0042B0A8 8CA50008 */ lw $a1, 8($a1) +/* 0042B0AC 8CA20028 */ lw $v0, 0x28($a1) +/* 0042B0B0 00026080 */ sll $t4, $v0, 2 +/* 0042B0B4 006C1821 */ addu $v1, $v1, $t4 +/* 0042B0B8 1000003F */ b .L0042B1B8 +/* 0042B0BC 00E23823 */ subu $a3, $a3, $v0 +.L0042B0C0: +/* 0042B0C0 8F998A1C */ lw $t9, %got(ufsa)($gp) +/* 0042B0C4 000770C0 */ sll $t6, $a3, 3 +/* 0042B0C8 93390000 */ lbu $t9, ($t9) +/* 0042B0CC 57200006 */ bnel $t9, $zero, .L0042B0E8 +/* 0042B0D0 006E1821 */ addu $v1, $v1, $t6 +/* 0042B0D4 8F8D8A20 */ lw $t5, %got(ufsm)($gp) +/* 0042B0D8 91AD0000 */ lbu $t5, ($t5) +/* 0042B0DC 11A00002 */ beqz $t5, .L0042B0E8 +/* 0042B0E0 00000000 */ nop +/* 0042B0E4 006E1821 */ addu $v1, $v1, $t6 +.L0042B0E8: +/* 0042B0E8 8F8F89E8 */ lw $t7, %got(cpalias_ok)($gp) +/* 0042B0EC 91EF0000 */ lbu $t7, ($t7) +/* 0042B0F0 11E0000D */ beqz $t7, .L0042B128 +/* 0042B0F4 00000000 */ nop +/* 0042B0F8 8D220000 */ lw $v0, ($t1) +/* 0042B0FC 0002102A */ slt $v0, $zero, $v0 +/* 0042B100 10400007 */ beqz $v0, .L0042B120 +/* 0042B104 00000000 */ nop +/* 0042B108 8F8289B4 */ lw $v0, %got(pseudo_leaf)($gp) +/* 0042B10C 90420000 */ lbu $v0, ($v0) +/* 0042B110 2C420001 */ sltiu $v0, $v0, 1 +/* 0042B114 10400002 */ beqz $v0, .L0042B120 +/* 0042B118 00000000 */ nop +/* 0042B11C 2D020001 */ sltiu $v0, $t0, 1 +.L0042B120: +/* 0042B120 8F8189F0 */ lw $at, %got(use_cpalias)($gp) +/* 0042B124 A0220000 */ sb $v0, ($at) +.L0042B128: +/* 0042B128 14600003 */ bnez $v1, .L0042B138 +/* 0042B12C 24620008 */ addiu $v0, $v1, 8 +/* 0042B130 10000025 */ b .L0042B1C8 +/* 0042B134 00601025 */ move $v0, $v1 +.L0042B138: +/* 0042B138 04410002 */ bgez $v0, .L0042B144 +/* 0042B13C 00400821 */ move $at, $v0 +/* 0042B140 24410007 */ addiu $at, $v0, 7 +.L0042B144: +/* 0042B144 000110C3 */ sra $v0, $at, 3 +/* 0042B148 1000001F */ b .L0042B1C8 +/* 0042B14C 000210C0 */ sll $v0, $v0, 3 +.L0042B150: +/* 0042B150 2C410053 */ sltiu $at, $v0, 0x53 +/* 0042B154 1420000F */ bnez $at, .L0042B194 +/* 0042B158 2C41007C */ sltiu $at, $v0, 0x7c +/* 0042B15C 14200005 */ bnez $at, .L0042B174 +/* 0042B160 2401008B */ li $at, 139 +/* 0042B164 5041FF76 */ beql $v0, $at, .L0042AF40 +/* 0042B168 8CA20030 */ lw $v0, 0x30($a1) +/* 0042B16C 10000013 */ b .L0042B1BC +/* 0042B170 8CA50008 */ lw $a1, 8($a1) +.L0042B174: +/* 0042B174 24010068 */ li $at, 104 +/* 0042B178 5041FFB8 */ beql $v0, $at, .L0042B05C +/* 0042B17C 8CA2002C */ lw $v0, 0x2c($a1) +/* 0042B180 2C41007A */ sltiu $at, $v0, 0x7a +/* 0042B184 1020FFCE */ beqz $at, .L0042B0C0 +/* 0042B188 00000000 */ nop +/* 0042B18C 1000000B */ b .L0042B1BC +/* 0042B190 8CA50008 */ lw $a1, 8($a1) +.L0042B194: +/* 0042B194 2401001B */ li $at, 27 +/* 0042B198 5041FF9A */ beql $v0, $at, .L0042B004 +/* 0042B19C 90AB0021 */ lbu $t3, 0x21($a1) +/* 0042B1A0 2401001F */ li $at, 31 +/* 0042B1A4 1041FFC6 */ beq $v0, $at, .L0042B0C0 +/* 0042B1A8 00000000 */ nop +/* 0042B1AC 24010052 */ li $at, 82 +/* 0042B1B0 1041FFC3 */ beq $v0, $at, .L0042B0C0 +/* 0042B1B4 00000000 */ nop +.L0042B1B8: +/* 0042B1B8 8CA50008 */ lw $a1, 8($a1) +.L0042B1BC: +/* 0042B1BC 14A0FF5D */ bnez $a1, .L0042AF34 +/* 0042B1C0 00000000 */ nop +.L0042B1C4: +/* 0042B1C4 8FA20034 */ lw $v0, 0x34($sp) +.L0042B1C8: +/* 0042B1C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0042B1CC 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0042B1D0 03E00008 */ jr $ra +/* 0042B1D4 00000000 */ nop + .type get_saved_regs_size, @function + .size get_saved_regs_size, .-get_saved_regs_size + .end get_saved_regs_size + +glabel unhome_parms + .ent unhome_parms + # 0042BDAC eval +/* 0042B1D8 3C1C0FBF */ .cpload $t9 +/* 0042B1DC 279C4878 */ +/* 0042B1E0 0399E021 */ +/* 0042B1E4 8F8289FC */ lw $v0, %got(n_parm_regs)($gp) +/* 0042B1E8 8C420000 */ lw $v0, ($v0) +/* 0042B1EC 24420003 */ addiu $v0, $v0, 3 +/* 0042B1F0 2C410004 */ sltiu $at, $v0, 4 +/* 0042B1F4 14200084 */ bnez $at, .L0042B408 +/* 0042B1F8 24420001 */ addiu $v0, $v0, 1 +/* 0042B1FC 2445FFFC */ addiu $a1, $v0, -4 +/* 0042B200 30A50003 */ andi $a1, $a1, 3 +/* 0042B204 10A0001E */ beqz $a1, .L0042B280 +/* 0042B208 24030004 */ li $v1, 4 +/* 0042B20C 24A40004 */ addiu $a0, $a1, 4 +/* 0042B210 8F858B90 */ lw $a1, %got(saved_regs)($gp) +.L0042B214: +/* 0042B214 8CA80000 */ lw $t0, ($a1) +/* 0042B218 2C6E0020 */ sltiu $t6, $v1, 0x20 +/* 0042B21C 00607827 */ not $t7, $v1 +/* 0042B220 01EEC004 */ sllv $t8, $t6, $t7 +/* 0042B224 0300C827 */ not $t9, $t8 +/* 0042B228 01194824 */ and $t1, $t0, $t9 +/* 0042B22C 246AFFE0 */ addiu $t2, $v1, -0x20 +/* 0042B230 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 0042B234 00606027 */ not $t4, $v1 +/* 0042B238 018B6804 */ sllv $t5, $t3, $t4 +/* 0042B23C ACA90000 */ sw $t1, ($a1) +/* 0042B240 2468FFC0 */ addiu $t0, $v1, -0x40 +/* 0042B244 8CAC0008 */ lw $t4, 8($a1) +/* 0042B248 8CAF0004 */ lw $t7, 4($a1) +/* 0042B24C 2D190020 */ sltiu $t9, $t0, 0x20 +/* 0042B250 00604827 */ not $t1, $v1 +/* 0042B254 01395004 */ sllv $t2, $t9, $t1 +/* 0042B258 01A07027 */ not $t6, $t5 +/* 0042B25C 01405827 */ not $t3, $t2 +/* 0042B260 24630001 */ addiu $v1, $v1, 1 +/* 0042B264 018B6824 */ and $t5, $t4, $t3 +/* 0042B268 01EEC024 */ and $t8, $t7, $t6 +/* 0042B26C ACB80004 */ sw $t8, 4($a1) +/* 0042B270 1483FFE8 */ bne $a0, $v1, .L0042B214 +/* 0042B274 ACAD0008 */ sw $t5, 8($a1) +/* 0042B278 10620063 */ beq $v1, $v0, .L0042B408 +/* 0042B27C 00000000 */ nop +.L0042B280: +/* 0042B280 8F858B90 */ lw $a1, %got(saved_regs)($gp) +.L0042B284: +/* 0042B284 8CB90000 */ lw $t9, ($a1) +/* 0042B288 2C6F0020 */ sltiu $t7, $v1, 0x20 +/* 0042B28C 00607027 */ not $t6, $v1 +/* 0042B290 01CFC004 */ sllv $t8, $t7, $t6 +/* 0042B294 03004027 */ not $t0, $t8 +/* 0042B298 246AFFE0 */ addiu $t2, $v1, -0x20 +/* 0042B29C 03284824 */ and $t1, $t9, $t0 +/* 0042B2A0 8CAE0004 */ lw $t6, 4($a1) +/* 0042B2A4 2D4C0020 */ sltiu $t4, $t2, 0x20 +/* 0042B2A8 00605827 */ not $t3, $v1 +/* 0042B2AC 016C6804 */ sllv $t5, $t4, $t3 +/* 0042B2B0 01A07827 */ not $t7, $t5 +/* 0042B2B4 ACA90000 */ sw $t1, ($a1) +/* 0042B2B8 2479FFC0 */ addiu $t9, $v1, -0x40 +/* 0042B2BC 8CAB0008 */ lw $t3, 8($a1) +/* 0042B2C0 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0042B2C4 00604827 */ not $t1, $v1 +/* 0042B2C8 01CFC024 */ and $t8, $t6, $t7 +/* 0042B2CC 01285004 */ sllv $t2, $t0, $t1 +/* 0042B2D0 01406027 */ not $t4, $t2 +/* 0042B2D4 246E0001 */ addiu $t6, $v1, 1 +/* 0042B2D8 ACB80004 */ sw $t8, 4($a1) +/* 0042B2DC 016C6824 */ and $t5, $t3, $t4 +/* 0042B2E0 8CA90000 */ lw $t1, ($a1) +/* 0042B2E4 01C0C027 */ not $t8, $t6 +/* 0042B2E8 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 0042B2EC 030FC804 */ sllv $t9, $t7, $t8 +/* 0042B2F0 03204027 */ not $t0, $t9 +/* 0042B2F4 ACAD0008 */ sw $t5, 8($a1) +/* 0042B2F8 25CBFFE0 */ addiu $t3, $t6, -0x20 +/* 0042B2FC 2D6C0020 */ sltiu $t4, $t3, 0x20 +/* 0042B300 01C06827 */ not $t5, $t6 +/* 0042B304 01285024 */ and $t2, $t1, $t0 +/* 0042B308 8CB90004 */ lw $t9, 4($a1) +/* 0042B30C 01AC7804 */ sllv $t7, $t4, $t5 +/* 0042B310 01E0C027 */ not $t8, $t7 +/* 0042B314 ACAA0000 */ sw $t2, ($a1) +/* 0042B318 25C8FFC0 */ addiu $t0, $t6, -0x40 +/* 0042B31C 8CAF0008 */ lw $t7, 8($a1) +/* 0042B320 2D0A0020 */ sltiu $t2, $t0, 0x20 +/* 0042B324 01C05827 */ not $t3, $t6 +/* 0042B328 03384824 */ and $t1, $t9, $t8 +/* 0042B32C 016A6004 */ sllv $t4, $t2, $t3 +/* 0042B330 01806827 */ not $t5, $t4 +/* 0042B334 24780002 */ addiu $t8, $v1, 2 +/* 0042B338 ACA90004 */ sw $t1, 4($a1) +/* 0042B33C 01EDC824 */ and $t9, $t7, $t5 +/* 0042B340 8CAB0000 */ lw $t3, ($a1) +/* 0042B344 2F090020 */ sltiu $t1, $t8, 0x20 +/* 0042B348 03004027 */ not $t0, $t8 +/* 0042B34C 01097004 */ sllv $t6, $t1, $t0 +/* 0042B350 01C05027 */ not $t2, $t6 +/* 0042B354 ACB90008 */ sw $t9, 8($a1) +/* 0042B358 270FFFE0 */ addiu $t7, $t8, -0x20 +/* 0042B35C 2DED0020 */ sltiu $t5, $t7, 0x20 +/* 0042B360 0300C827 */ not $t9, $t8 +/* 0042B364 016A6024 */ and $t4, $t3, $t2 +/* 0042B368 8CAE0004 */ lw $t6, 4($a1) +/* 0042B36C 032D4804 */ sllv $t1, $t5, $t9 +/* 0042B370 01204027 */ not $t0, $t1 +/* 0042B374 ACAC0000 */ sw $t4, ($a1) +/* 0042B378 270AFFC0 */ addiu $t2, $t8, -0x40 +/* 0042B37C 8CA90008 */ lw $t1, 8($a1) +/* 0042B380 2D4C0020 */ sltiu $t4, $t2, 0x20 +/* 0042B384 03007827 */ not $t7, $t8 +/* 0042B388 01C85824 */ and $t3, $t6, $t0 +/* 0042B38C 01EC6804 */ sllv $t5, $t4, $t7 +/* 0042B390 01A0C827 */ not $t9, $t5 +/* 0042B394 24680003 */ addiu $t0, $v1, 3 +/* 0042B398 ACAB0004 */ sw $t3, 4($a1) +/* 0042B39C 01397024 */ and $t6, $t1, $t9 +/* 0042B3A0 8CAF0000 */ lw $t7, ($a1) +/* 0042B3A4 2D0B0020 */ sltiu $t3, $t0, 0x20 +/* 0042B3A8 01005027 */ not $t2, $t0 +/* 0042B3AC 014BC004 */ sllv $t8, $t3, $t2 +/* 0042B3B0 03006027 */ not $t4, $t8 +/* 0042B3B4 ACAE0008 */ sw $t6, 8($a1) +/* 0042B3B8 2509FFE0 */ addiu $t1, $t0, -0x20 +/* 0042B3BC 2D390020 */ sltiu $t9, $t1, 0x20 +/* 0042B3C0 01007027 */ not $t6, $t0 +/* 0042B3C4 01EC6824 */ and $t5, $t7, $t4 +/* 0042B3C8 01D95804 */ sllv $t3, $t9, $t6 +/* 0042B3CC 8CB80004 */ lw $t8, 4($a1) +/* 0042B3D0 01605027 */ not $t2, $t3 +/* 0042B3D4 ACAD0000 */ sw $t5, ($a1) +/* 0042B3D8 250CFFC0 */ addiu $t4, $t0, -0x40 +/* 0042B3DC 8CAB0008 */ lw $t3, 8($a1) +/* 0042B3E0 2D8D0020 */ sltiu $t5, $t4, 0x20 +/* 0042B3E4 01004827 */ not $t1, $t0 +/* 0042B3E8 012DC804 */ sllv $t9, $t5, $t1 +/* 0042B3EC 03207027 */ not $t6, $t9 +/* 0042B3F0 030A7824 */ and $t7, $t8, $t2 +/* 0042B3F4 24630004 */ addiu $v1, $v1, 4 +/* 0042B3F8 016EC024 */ and $t8, $t3, $t6 +/* 0042B3FC ACB80008 */ sw $t8, 8($a1) +/* 0042B400 1462FFA0 */ bne $v1, $v0, .L0042B284 +/* 0042B404 ACAF0004 */ sw $t7, 4($a1) +.L0042B408: +/* 0042B408 03E00008 */ jr $ra +/* 0042B40C 00000000 */ nop + .type unhome_parms, @function + .size unhome_parms, .-unhome_parms + .end unhome_parms + +glabel home_parms + .ent home_parms + # 0042BDAC eval +/* 0042B410 3C1C0FBF */ .cpload $t9 +/* 0042B414 279C4640 */ +/* 0042B418 0399E021 */ +/* 0042B41C 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0042B420 AFB30024 */ sw $s3, 0x24($sp) +/* 0042B424 8F938AD4 */ lw $s3, %got(pdefs)($gp) +/* 0042B428 AFBF0034 */ sw $ra, 0x34($sp) +/* 0042B42C AFBC0030 */ sw $gp, 0x30($sp) +/* 0042B430 8E730000 */ lw $s3, ($s3) +/* 0042B434 AFB5002C */ sw $s5, 0x2c($sp) +/* 0042B438 AFB40028 */ sw $s4, 0x28($sp) +/* 0042B43C AFB20020 */ sw $s2, 0x20($sp) +/* 0042B440 AFB1001C */ sw $s1, 0x1c($sp) +/* 0042B444 AFB00018 */ sw $s0, 0x18($sp) +/* 0042B448 1260007F */ beqz $s3, .L0042B648 +/* 0042B44C AFA40038 */ sw $a0, 0x38($sp) +/* 0042B450 2415000C */ li $s5, 12 +/* 0042B454 24140002 */ li $s4, 2 +/* 0042B458 8F928B90 */ lw $s2, %got(saved_regs)($gp) +/* 0042B45C 966E0022 */ lhu $t6, 0x22($s3) +.L0042B460: +/* 0042B460 528E0077 */ beql $s4, $t6, .L0042B640 +/* 0042B464 8E730008 */ lw $s3, 8($s3) +/* 0042B468 8F99847C */ lw $t9, %call16(pass_in_reg)($gp) +/* 0042B46C 02602025 */ move $a0, $s3 +/* 0042B470 0320F809 */ jalr $t9 +/* 0042B474 00000000 */ nop +/* 0042B478 10400073 */ beqz $v0, .L0042B648 +/* 0042B47C 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042B480 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042B484 02602025 */ move $a0, $s3 +/* 0042B488 0320F809 */ jalr $t9 +/* 0042B48C 00000000 */ nop +/* 0042B490 304300FF */ andi $v1, $v0, 0xff +/* 0042B494 246FFFE0 */ addiu $t7, $v1, -0x20 +/* 0042B498 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0042B49C 0018C823 */ negu $t9, $t8 +/* 0042B4A0 01F94004 */ sllv $t0, $t9, $t7 +/* 0042B4A4 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042B4A8 0501003E */ bgez $t0, .L0042B5A4 +/* 0042B4AC 305100FF */ andi $s1, $v0, 0xff +/* 0042B4B0 8E4C0000 */ lw $t4, ($s2) +/* 0042B4B4 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B4B8 2C690020 */ sltiu $t1, $v1, 0x20 +/* 0042B4BC 00605027 */ not $t2, $v1 +/* 0042B4C0 01495804 */ sllv $t3, $t1, $t2 +/* 0042B4C4 018B6825 */ or $t5, $t4, $t3 +/* 0042B4C8 AC2D0000 */ sw $t5, ($at) +/* 0042B4CC 8E480004 */ lw $t0, 4($s2) +/* 0042B4D0 246EFFE0 */ addiu $t6, $v1, -0x20 +/* 0042B4D4 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B4D8 2DD80020 */ sltiu $t8, $t6, 0x20 +/* 0042B4DC 0060C827 */ not $t9, $v1 +/* 0042B4E0 03387804 */ sllv $t7, $t8, $t9 +/* 0042B4E4 010F4825 */ or $t1, $t0, $t7 +/* 0042B4E8 AC290004 */ sw $t1, 4($at) +/* 0042B4EC 8E4E0008 */ lw $t6, 8($s2) +/* 0042B4F0 246AFFC0 */ addiu $t2, $v1, -0x40 +/* 0042B4F4 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B4F8 2D4C0020 */ sltiu $t4, $t2, 0x20 +/* 0042B4FC 00605827 */ not $t3, $v1 +/* 0042B500 016C6804 */ sllv $t5, $t4, $t3 +/* 0042B504 01CDC025 */ or $t8, $t6, $t5 +/* 0042B508 AC380008 */ sw $t8, 8($at) +/* 0042B50C 8E790028 */ lw $t9, 0x28($s3) +/* 0042B510 246A0001 */ addiu $t2, $v1, 1 +/* 0042B514 2D4C0020 */ sltiu $t4, $t2, 0x20 +/* 0042B518 2B210005 */ slti $at, $t9, 5 +/* 0042B51C 14200047 */ bnez $at, .L0042B63C +/* 0042B520 01405827 */ not $t3, $t2 +/* 0042B524 92640021 */ lbu $a0, 0x21($s3) +/* 0042B528 3C010501 */ lui $at, 0x501 +/* 0042B52C 016C7004 */ sllv $t6, $t4, $t3 +/* 0042B530 3084001F */ andi $a0, $a0, 0x1f +/* 0042B534 2C880020 */ sltiu $t0, $a0, 0x20 +/* 0042B538 00087823 */ negu $t7, $t0 +/* 0042B53C 01E14824 */ and $t1, $t7, $at +/* 0042B540 00891004 */ sllv $v0, $t1, $a0 +/* 0042B544 28420000 */ slti $v0, $v0, 0 +/* 0042B548 14400003 */ bnez $v0, .L0042B558 +/* 0042B54C 2559FFE0 */ addiu $t9, $t2, -0x20 +/* 0042B550 02A41026 */ xor $v0, $s5, $a0 +/* 0042B554 2C420001 */ sltiu $v0, $v0, 1 +.L0042B558: +/* 0042B558 004002B4 */ teq $v0, $zero, 0xa +/* 0042B55C 8E4D0000 */ lw $t5, ($s2) +/* 0042B560 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B564 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0042B568 01AEC025 */ or $t8, $t5, $t6 +/* 0042B56C AC380000 */ sw $t8, ($at) +/* 0042B570 8E490004 */ lw $t1, 4($s2) +/* 0042B574 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B578 01687804 */ sllv $t7, $t0, $t3 +/* 0042B57C 012F6025 */ or $t4, $t1, $t7 +/* 0042B580 AC2C0004 */ sw $t4, 4($at) +/* 0042B584 8E590008 */ lw $t9, 8($s2) +/* 0042B588 254DFFC0 */ addiu $t5, $t2, -0x40 +/* 0042B58C 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 0042B590 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0042B594 016EC004 */ sllv $t8, $t6, $t3 +/* 0042B598 03384025 */ or $t0, $t9, $t8 +/* 0042B59C 10000027 */ b .L0042B63C +/* 0042B5A0 AC280008 */ sw $t0, 8($at) +.L0042B5A4: +/* 0042B5A4 8E700028 */ lw $s0, 0x28($s3) +/* 0042B5A8 26100003 */ addiu $s0, $s0, 3 +/* 0042B5AC 06010002 */ bgez $s0, .L0042B5B8 +/* 0042B5B0 02000821 */ move $at, $s0 +/* 0042B5B4 26010003 */ addiu $at, $s0, 3 +.L0042B5B8: +/* 0042B5B8 00018083 */ sra $s0, $at, 2 +/* 0042B5BC 52000020 */ beql $s0, $zero, .L0042B640 +/* 0042B5C0 8E730008 */ lw $s3, 8($s3) +.L0042B5C4: +/* 0042B5C4 8E4A0000 */ lw $t2, ($s2) +/* 0042B5C8 2E290020 */ sltiu $t1, $s1, 0x20 +/* 0042B5CC 02207827 */ not $t7, $s1 +/* 0042B5D0 01E96004 */ sllv $t4, $t1, $t7 +/* 0042B5D4 262EFFE0 */ addiu $t6, $s1, -0x20 +/* 0042B5D8 014C6825 */ or $t5, $t2, $t4 +/* 0042B5DC 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 0042B5E0 8E4E0008 */ lw $t6, 8($s2) +/* 0042B5E4 8E480004 */ lw $t0, 4($s2) +/* 0042B5E8 262FFFC0 */ addiu $t7, $s1, -0x40 +/* 0042B5EC 0220C827 */ not $t9, $s1 +/* 0042B5F0 032BC004 */ sllv $t8, $t3, $t9 +/* 0042B5F4 2DEA0020 */ sltiu $t2, $t7, 0x20 +/* 0042B5F8 AE4D0000 */ sw $t5, ($s2) +/* 0042B5FC 02206027 */ not $t4, $s1 +/* 0042B600 018A6804 */ sllv $t5, $t2, $t4 +/* 0042B604 01CD5825 */ or $t3, $t6, $t5 +/* 0042B608 01184825 */ or $t1, $t0, $t8 +/* 0042B60C AE490004 */ sw $t1, 4($s2) +/* 0042B610 AE4B0008 */ sw $t3, 8($s2) +/* 0042B614 8F99832C */ lw $t9, %call16(is_parm_reg)($gp) +/* 0042B618 02202025 */ move $a0, $s1 +/* 0042B61C 0320F809 */ jalr $t9 +/* 0042B620 00000000 */ nop +/* 0042B624 10400008 */ beqz $v0, .L0042B648 +/* 0042B628 8FBC0030 */ lw $gp, 0x30($sp) +/* 0042B62C 26310001 */ addiu $s1, $s1, 1 +/* 0042B630 2610FFFF */ addiu $s0, $s0, -1 +/* 0042B634 1600FFE3 */ bnez $s0, .L0042B5C4 +/* 0042B638 323100FF */ andi $s1, $s1, 0xff +.L0042B63C: +/* 0042B63C 8E730008 */ lw $s3, 8($s3) +.L0042B640: +/* 0042B640 5660FF87 */ bnel $s3, $zero, .L0042B460 +/* 0042B644 966E0022 */ lhu $t6, 0x22($s3) +.L0042B648: +/* 0042B648 8FB90038 */ lw $t9, 0x38($sp) +/* 0042B64C 2401FFFF */ li $at, -1 +/* 0042B650 8F928B90 */ lw $s2, %got(saved_regs)($gp) +/* 0042B654 1321007F */ beq $t9, $at, .L0042B854 +/* 0042B658 3328FFFF */ andi $t0, $t9, 0xffff +/* 0042B65C 8F8489FC */ lw $a0, %got(n_parm_regs)($gp) +/* 0042B660 05010003 */ bgez $t0, .L0042B670 +/* 0042B664 0008C083 */ sra $t8, $t0, 2 +/* 0042B668 25010003 */ addiu $at, $t0, 3 +/* 0042B66C 0001C083 */ sra $t8, $at, 2 +.L0042B670: +/* 0042B670 8C840000 */ lw $a0, ($a0) +/* 0042B674 27050004 */ addiu $a1, $t8, 4 +/* 0042B678 AFB80038 */ sw $t8, 0x38($sp) +/* 0042B67C 24840003 */ addiu $a0, $a0, 3 +/* 0042B680 0085082B */ sltu $at, $a0, $a1 +/* 0042B684 14200073 */ bnez $at, .L0042B854 +/* 0042B688 24840001 */ addiu $a0, $a0, 1 +/* 0042B68C 00853023 */ subu $a2, $a0, $a1 +/* 0042B690 30C60003 */ andi $a2, $a2, 3 +/* 0042B694 10C0001A */ beqz $a2, .L0042B700 +/* 0042B698 00A01025 */ move $v0, $a1 +/* 0042B69C 00C51821 */ addu $v1, $a2, $a1 +.L0042B6A0: +/* 0042B6A0 8E4C0000 */ lw $t4, ($s2) +/* 0042B6A4 2C490020 */ sltiu $t1, $v0, 0x20 +/* 0042B6A8 00407827 */ not $t7, $v0 +/* 0042B6AC 01E95004 */ sllv $t2, $t1, $t7 +/* 0042B6B0 244DFFE0 */ addiu $t5, $v0, -0x20 +/* 0042B6B4 018A7025 */ or $t6, $t4, $t2 +/* 0042B6B8 2DAB0020 */ sltiu $t3, $t5, 0x20 +/* 0042B6BC 8E4D0008 */ lw $t5, 8($s2) +/* 0042B6C0 8E580004 */ lw $t8, 4($s2) +/* 0042B6C4 244FFFC0 */ addiu $t7, $v0, -0x40 +/* 0042B6C8 0040C827 */ not $t9, $v0 +/* 0042B6CC 032B4004 */ sllv $t0, $t3, $t9 +/* 0042B6D0 2DEC0020 */ sltiu $t4, $t7, 0x20 +/* 0042B6D4 AE4E0000 */ sw $t6, ($s2) +/* 0042B6D8 00405027 */ not $t2, $v0 +/* 0042B6DC 014C7004 */ sllv $t6, $t4, $t2 +/* 0042B6E0 24420001 */ addiu $v0, $v0, 1 +/* 0042B6E4 01AE5825 */ or $t3, $t5, $t6 +/* 0042B6E8 03084825 */ or $t1, $t8, $t0 +/* 0042B6EC AE490004 */ sw $t1, 4($s2) +/* 0042B6F0 1462FFEB */ bne $v1, $v0, .L0042B6A0 +/* 0042B6F4 AE4B0008 */ sw $t3, 8($s2) +/* 0042B6F8 50440057 */ beql $v0, $a0, .L0042B858 +/* 0042B6FC 8FBF0034 */ lw $ra, 0x34($sp) +.L0042B700: +/* 0042B700 8E490000 */ lw $t1, ($s2) +/* 0042B704 2C590020 */ sltiu $t9, $v0, 0x20 +/* 0042B708 0040C027 */ not $t8, $v0 +/* 0042B70C 8E4B0004 */ lw $t3, 4($s2) +/* 0042B710 03194004 */ sllv $t0, $t9, $t8 +/* 0042B714 244CFFE0 */ addiu $t4, $v0, -0x20 +/* 0042B718 2D8A0020 */ sltiu $t2, $t4, 0x20 +/* 0042B71C 00406827 */ not $t5, $v0 +/* 0042B720 01287825 */ or $t7, $t1, $t0 +/* 0042B724 01AA7004 */ sllv $t6, $t2, $t5 +/* 0042B728 8E4C0008 */ lw $t4, 8($s2) +/* 0042B72C 2458FFC0 */ addiu $t8, $v0, -0x40 +/* 0042B730 016EC825 */ or $t9, $t3, $t6 +/* 0042B734 2F090020 */ sltiu $t1, $t8, 0x20 +/* 0042B738 244D0001 */ addiu $t5, $v0, 1 +/* 0042B73C AE4F0000 */ sw $t7, ($s2) +/* 0042B740 00404027 */ not $t0, $v0 +/* 0042B744 01097804 */ sllv $t7, $t1, $t0 +/* 0042B748 8E580000 */ lw $t8, ($s2) +/* 0042B74C 2DAB0020 */ sltiu $t3, $t5, 0x20 +/* 0042B750 01A07027 */ not $t6, $t5 +/* 0042B754 AE590004 */ sw $t9, 4($s2) +/* 0042B758 018F5025 */ or $t2, $t4, $t7 +/* 0042B75C 01CBC804 */ sllv $t9, $t3, $t6 +/* 0042B760 8E4B0004 */ lw $t3, 4($s2) +/* 0042B764 25A8FFE0 */ addiu $t0, $t5, -0x20 +/* 0042B768 2D0C0020 */ sltiu $t4, $t0, 0x20 +/* 0042B76C AE4A0008 */ sw $t2, 8($s2) +/* 0042B770 01A07827 */ not $t7, $t5 +/* 0042B774 03194825 */ or $t1, $t8, $t9 +/* 0042B778 01EC5004 */ sllv $t2, $t4, $t7 +/* 0042B77C 016A7025 */ or $t6, $t3, $t2 +/* 0042B780 8E4C0008 */ lw $t4, 8($s2) +/* 0042B784 AE490000 */ sw $t1, ($s2) +/* 0042B788 25B8FFC0 */ addiu $t8, $t5, -0x40 +/* 0042B78C 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0042B790 01A04827 */ not $t1, $t5 +/* 0042B794 244B0002 */ addiu $t3, $v0, 2 +/* 0042B798 01394004 */ sllv $t0, $t9, $t1 +/* 0042B79C AE4E0004 */ sw $t6, 4($s2) +/* 0042B7A0 8E4D0000 */ lw $t5, ($s2) +/* 0042B7A4 01607027 */ not $t6, $t3 +/* 0042B7A8 2D6A0020 */ sltiu $t2, $t3, 0x20 +/* 0042B7AC 01887825 */ or $t7, $t4, $t0 +/* 0042B7B0 01CAC004 */ sllv $t8, $t2, $t6 +/* 0042B7B4 8E4A0004 */ lw $t2, 4($s2) +/* 0042B7B8 2569FFE0 */ addiu $t1, $t3, -0x20 +/* 0042B7BC 2D2C0020 */ sltiu $t4, $t1, 0x20 +/* 0042B7C0 AE4F0008 */ sw $t7, 8($s2) +/* 0042B7C4 01604027 */ not $t0, $t3 +/* 0042B7C8 01B8C825 */ or $t9, $t5, $t8 +/* 0042B7CC 010C7804 */ sllv $t7, $t4, $t0 +/* 0042B7D0 AE590000 */ sw $t9, ($s2) +/* 0042B7D4 014F7025 */ or $t6, $t2, $t7 +/* 0042B7D8 8E4C0008 */ lw $t4, 8($s2) +/* 0042B7DC 0160C827 */ not $t9, $t3 +/* 0042B7E0 256DFFC0 */ addiu $t5, $t3, -0x40 +/* 0042B7E4 2DB80020 */ sltiu $t8, $t5, 0x20 +/* 0042B7E8 244A0003 */ addiu $t2, $v0, 3 +/* 0042B7EC 8E4B0000 */ lw $t3, ($s2) +/* 0042B7F0 03384804 */ sllv $t1, $t8, $t9 +/* 0042B7F4 AE4E0004 */ sw $t6, 4($s2) +/* 0042B7F8 01407027 */ not $t6, $t2 +/* 0042B7FC 2D4F0020 */ sltiu $t7, $t2, 0x20 +/* 0042B800 01894025 */ or $t0, $t4, $t1 +/* 0042B804 01CF6804 */ sllv $t5, $t7, $t6 +/* 0042B808 2559FFE0 */ addiu $t9, $t2, -0x20 +/* 0042B80C 016DC025 */ or $t8, $t3, $t5 +/* 0042B810 2F2C0020 */ sltiu $t4, $t9, 0x20 +/* 0042B814 AE480008 */ sw $t0, 8($s2) +/* 0042B818 01404827 */ not $t1, $t2 +/* 0042B81C 012C4004 */ sllv $t0, $t4, $t1 +/* 0042B820 8E4C0008 */ lw $t4, 8($s2) +/* 0042B824 8E4F0004 */ lw $t7, 4($s2) +/* 0042B828 AE580000 */ sw $t8, ($s2) +/* 0042B82C 254BFFC0 */ addiu $t3, $t2, -0x40 +/* 0042B830 2D6D0020 */ sltiu $t5, $t3, 0x20 +/* 0042B834 0140C027 */ not $t8, $t2 +/* 0042B838 030DC804 */ sllv $t9, $t5, $t8 +/* 0042B83C 24420004 */ addiu $v0, $v0, 4 +/* 0042B840 01994825 */ or $t1, $t4, $t9 +/* 0042B844 01E87025 */ or $t6, $t7, $t0 +/* 0042B848 AE4E0004 */ sw $t6, 4($s2) +/* 0042B84C 1444FFAC */ bne $v0, $a0, .L0042B700 +/* 0042B850 AE490008 */ sw $t1, 8($s2) +.L0042B854: +/* 0042B854 8FBF0034 */ lw $ra, 0x34($sp) +.L0042B858: +/* 0042B858 8FB00018 */ lw $s0, 0x18($sp) +/* 0042B85C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0042B860 8FB20020 */ lw $s2, 0x20($sp) +/* 0042B864 8FB30024 */ lw $s3, 0x24($sp) +/* 0042B868 8FB40028 */ lw $s4, 0x28($sp) +/* 0042B86C 8FB5002C */ lw $s5, 0x2c($sp) +/* 0042B870 03E00008 */ jr $ra +/* 0042B874 27BD0038 */ addiu $sp, $sp, 0x38 + .type home_parms, @function + .size home_parms, .-home_parms + .end home_parms + +glabel clean_tree + .ent clean_tree + # 0042B878 clean_tree + # 0042BDAC eval +/* 0042B878 3C1C0FBF */ .cpload $t9 +/* 0042B87C 279C41D8 */ +/* 0042B880 0399E021 */ +/* 0042B884 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0042B888 AFB1001C */ sw $s1, 0x1c($sp) +/* 0042B88C AFB00018 */ sw $s0, 0x18($sp) +/* 0042B890 00808025 */ move $s0, $a0 +/* 0042B894 AFBF0024 */ sw $ra, 0x24($sp) +/* 0042B898 AFBC0020 */ sw $gp, 0x20($sp) +/* 0042B89C 2411FF01 */ li $s1, -255 +/* 0042B8A0 920E0019 */ lbu $t6, 0x19($s0) +.L0042B8A4: +/* 0042B8A4 8E040000 */ lw $a0, ($s0) +/* 0042B8A8 A2000018 */ sb $zero, 0x18($s0) +/* 0042B8AC 01D17824 */ and $t7, $t6, $s1 +/* 0042B8B0 35F80090 */ ori $t8, $t7, 0x90 +/* 0042B8B4 10800013 */ beqz $a0, .L0042B904 +/* 0042B8B8 A2180019 */ sb $t8, 0x19($s0) +/* 0042B8BC 92190020 */ lbu $t9, 0x20($s0) +/* 0042B8C0 2F280060 */ sltiu $t0, $t9, 0x60 +/* 0042B8C4 11000009 */ beqz $t0, .L0042B8EC +/* 0042B8C8 00000000 */ nop +/* 0042B8CC 8F8B8038 */ lw $t3, %got(D_10016138)($gp) +/* 0042B8D0 00194943 */ sra $t1, $t9, 5 +/* 0042B8D4 00095080 */ sll $t2, $t1, 2 +/* 0042B8D8 256B6138 */ addiu $t3, %lo(D_10016138) # addiu $t3, $t3, 0x6138 +/* 0042B8DC 016A6021 */ addu $t4, $t3, $t2 +/* 0042B8E0 8D8D0000 */ lw $t5, ($t4) +/* 0042B8E4 032D7004 */ sllv $t6, $t5, $t9 +/* 0042B8E8 29C80000 */ slti $t0, $t6, 0 +.L0042B8EC: +/* 0042B8EC 55000006 */ bnel $t0, $zero, .L0042B908 +/* 0042B8F0 8E040004 */ lw $a0, 4($s0) +/* 0042B8F4 8F9983B8 */ lw $t9, %call16(clean_tree)($gp) +/* 0042B8F8 0320F809 */ jalr $t9 +/* 0042B8FC 00000000 */ nop +/* 0042B900 8FBC0020 */ lw $gp, 0x20($sp) +.L0042B904: +/* 0042B904 8E040004 */ lw $a0, 4($s0) +.L0042B908: +/* 0042B908 50800014 */ beql $a0, $zero, .L0042B95C +/* 0042B90C 8E100008 */ lw $s0, 8($s0) +/* 0042B910 92180020 */ lbu $t8, 0x20($s0) +/* 0042B914 2F0900A0 */ sltiu $t1, $t8, 0xa0 +/* 0042B918 11200009 */ beqz $t1, .L0042B940 +/* 0042B91C 00000000 */ nop +/* 0042B920 8F8C8038 */ lw $t4, %got(D_10016124)($gp) +/* 0042B924 00185943 */ sra $t3, $t8, 5 +/* 0042B928 000B5080 */ sll $t2, $t3, 2 +/* 0042B92C 258C6124 */ addiu $t4, %lo(D_10016124) # addiu $t4, $t4, 0x6124 +/* 0042B930 018A6821 */ addu $t5, $t4, $t2 +/* 0042B934 8DB90000 */ lw $t9, ($t5) +/* 0042B938 03197004 */ sllv $t6, $t9, $t8 +/* 0042B93C 29C90000 */ slti $t1, $t6, 0 +.L0042B940: +/* 0042B940 55200006 */ bnel $t1, $zero, .L0042B95C +/* 0042B944 8E100008 */ lw $s0, 8($s0) +/* 0042B948 8F9983B8 */ lw $t9, %call16(clean_tree)($gp) +/* 0042B94C 0320F809 */ jalr $t9 +/* 0042B950 00000000 */ nop +/* 0042B954 8FBC0020 */ lw $gp, 0x20($sp) +/* 0042B958 8E100008 */ lw $s0, 8($s0) +.L0042B95C: +/* 0042B95C 5600FFD1 */ bnel $s0, $zero, .L0042B8A4 +/* 0042B960 920E0019 */ lbu $t6, 0x19($s0) +/* 0042B964 8FBF0024 */ lw $ra, 0x24($sp) +/* 0042B968 8FB00018 */ lw $s0, 0x18($sp) +/* 0042B96C 8FB1001C */ lw $s1, 0x1c($sp) +/* 0042B970 03E00008 */ jr $ra +/* 0042B974 27BD0028 */ addiu $sp, $sp, 0x28 + .type clean_tree, @function + .size clean_tree, .-clean_tree + .end clean_tree + +glabel clear_pmov_regs + .ent clear_pmov_regs + # 0042BDAC eval +/* 0042B978 3C1C0FBF */ .cpload $t9 +/* 0042B97C 279C40D8 */ +/* 0042B980 0399E021 */ +/* 0042B984 8F818B94 */ lw $at, %got(pmov_regs)($gp) +/* 0042B988 AC200000 */ sw $zero, ($at) +/* 0042B98C 8F818B94 */ lw $at, %got(pmov_regs)($gp) +/* 0042B990 AC200004 */ sw $zero, 4($at) +/* 0042B994 8F818B94 */ lw $at, %got(pmov_regs)($gp) +/* 0042B998 03E00008 */ jr $ra +/* 0042B99C AC200008 */ sw $zero, 8($at) + .type clear_pmov_regs, @function + .size clear_pmov_regs, .-clear_pmov_regs + .end clear_pmov_regs + +glabel save_pmov_reg + .ent save_pmov_reg + # 0042BDAC eval +/* 0042B9A0 3C1C0FBF */ .cpload $t9 +/* 0042B9A4 279C40B0 */ +/* 0042B9A8 0399E021 */ +/* 0042B9AC 8F828B94 */ lw $v0, %got(pmov_regs)($gp) +/* 0042B9B0 2C8E0020 */ sltiu $t6, $a0, 0x20 +/* 0042B9B4 00807827 */ not $t7, $a0 +/* 0042B9B8 8C590000 */ lw $t9, ($v0) +/* 0042B9BC 01EEC004 */ sllv $t8, $t6, $t7 +/* 0042B9C0 2489FFE0 */ addiu $t1, $a0, -0x20 +/* 0042B9C4 03384025 */ or $t0, $t9, $t8 +/* 0042B9C8 2D2A0020 */ sltiu $t2, $t1, 0x20 +/* 0042B9CC 8C490008 */ lw $t1, 8($v0) +/* 0042B9D0 8C4D0004 */ lw $t5, 4($v0) +/* 0042B9D4 248FFFC0 */ addiu $t7, $a0, -0x40 +/* 0042B9D8 00805827 */ not $t3, $a0 +/* 0042B9DC 016A6004 */ sllv $t4, $t2, $t3 +/* 0042B9E0 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042B9E4 0080C027 */ not $t8, $a0 +/* 0042B9E8 AC480000 */ sw $t0, ($v0) +/* 0042B9EC 03194004 */ sllv $t0, $t9, $t8 +/* 0042B9F0 01285025 */ or $t2, $t1, $t0 +/* 0042B9F4 01AC7025 */ or $t6, $t5, $t4 +/* 0042B9F8 AFA40000 */ sw $a0, ($sp) +/* 0042B9FC AC4E0004 */ sw $t6, 4($v0) +/* 0042BA00 03E00008 */ jr $ra +/* 0042BA04 AC4A0008 */ sw $t2, 8($v0) + .type save_pmov_reg, @function + .size save_pmov_reg, .-save_pmov_reg + .end save_pmov_reg + +glabel load_pmov_regs + .ent load_pmov_regs + # 0042BDAC eval +/* 0042BA08 3C1C0FBF */ .cpload $t9 +/* 0042BA0C 279C4048 */ +/* 0042BA10 0399E021 */ +/* 0042BA14 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0042BA18 AFB20024 */ sw $s2, 0x24($sp) +/* 0042BA1C 8F928B94 */ lw $s2, %got(pmov_regs)($gp) +/* 0042BA20 AFBF002C */ sw $ra, 0x2c($sp) +/* 0042BA24 AFBC0028 */ sw $gp, 0x28($sp) +/* 0042BA28 8E4E0008 */ lw $t6, 8($s2) +/* 0042BA2C 8E4F0004 */ lw $t7, 4($s2) +/* 0042BA30 8E590000 */ lw $t9, ($s2) +/* 0042BA34 AFB10020 */ sw $s1, 0x20($sp) +/* 0042BA38 01CFC025 */ or $t8, $t6, $t7 +/* 0042BA3C 03194025 */ or $t0, $t8, $t9 +/* 0042BA40 1100001D */ beqz $t0, .L0042BAB8 +/* 0042BA44 AFB0001C */ sw $s0, 0x1c($sp) +/* 0042BA48 8F9189FC */ lw $s1, %got(n_parm_regs)($gp) +/* 0042BA4C 24100004 */ li $s0, 4 +/* 0042BA50 8E310000 */ lw $s1, ($s1) +/* 0042BA54 26310003 */ addiu $s1, $s1, 3 +/* 0042BA58 2E210004 */ sltiu $at, $s1, 4 +/* 0042BA5C 14200016 */ bnez $at, .L0042BAB8 +/* 0042BA60 26310001 */ addiu $s1, $s1, 1 +/* 0042BA64 2E090060 */ sltiu $t1, $s0, 0x60 +.L0042BA68: +/* 0042BA68 11200006 */ beqz $t1, .L0042BA84 +/* 0042BA6C 00105143 */ sra $t2, $s0, 5 +/* 0042BA70 000A5880 */ sll $t3, $t2, 2 +/* 0042BA74 024B6021 */ addu $t4, $s2, $t3 +/* 0042BA78 8D8D0000 */ lw $t5, ($t4) +/* 0042BA7C 020D7004 */ sllv $t6, $t5, $s0 +/* 0042BA80 29C90000 */ slti $t1, $t6, 0 +.L0042BA84: +/* 0042BA84 11200009 */ beqz $t1, .L0042BAAC +/* 0042BA88 2404002A */ li $a0, 42 +/* 0042BA8C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042BA90 00103080 */ sll $a2, $s0, 2 +/* 0042BA94 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0042BA98 02002825 */ move $a1, $s0 +/* 0042BA9C 2407001D */ li $a3, 29 +/* 0042BAA0 0320F809 */ jalr $t9 +/* 0042BAA4 AFA00010 */ sw $zero, 0x10($sp) +/* 0042BAA8 8FBC0028 */ lw $gp, 0x28($sp) +.L0042BAAC: +/* 0042BAAC 26100001 */ addiu $s0, $s0, 1 +/* 0042BAB0 5611FFED */ bnel $s0, $s1, .L0042BA68 +/* 0042BAB4 2E090060 */ sltiu $t1, $s0, 0x60 +.L0042BAB8: +/* 0042BAB8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0042BABC 8FB0001C */ lw $s0, 0x1c($sp) +/* 0042BAC0 8FB10020 */ lw $s1, 0x20($sp) +/* 0042BAC4 8FB20024 */ lw $s2, 0x24($sp) +/* 0042BAC8 03E00008 */ jr $ra +/* 0042BACC 27BD0030 */ addiu $sp, $sp, 0x30 + .type load_pmov_regs, @function + .size load_pmov_regs, .-load_pmov_regs + .end load_pmov_regs + +glabel cvt_tab + .ent cvt_tab + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt +/* 0042BAD0 3C1C0FBF */ .cpload $t9 +/* 0042BAD4 279C3F80 */ +/* 0042BAD8 0399E021 */ +/* 0042BADC 308200FF */ andi $v0, $a0, 0xff +/* 0042BAE0 2C410010 */ sltiu $at, $v0, 0x10 +/* 0042BAE4 AFA40000 */ sw $a0, ($sp) +/* 0042BAE8 1020005A */ beqz $at, .L0042BC54 +/* 0042BAEC AFA50004 */ sw $a1, 4($sp) +/* 0042BAF0 8F818038 */ lw $at, %got(jtbl_1000A928)($gp) +/* 0042BAF4 00027080 */ sll $t6, $v0, 2 +/* 0042BAF8 002E0821 */ addu $at, $at, $t6 +/* 0042BAFC 8C2EA928 */ lw $t6, %lo(jtbl_1000A928)($at) +/* 0042BB00 01DC7021 */ addu $t6, $t6, $gp +/* 0042BB04 01C00008 */ jr $t6 +/* 0042BB08 00000000 */ nop +.L0042BB0C: +/* 0042BB0C 30A200FF */ andi $v0, $a1, 0xff +/* 0042BB10 244FFFF4 */ addiu $t7, $v0, -0xc +/* 0042BB14 2DE10002 */ sltiu $at, $t7, 2 +/* 0042BB18 1020000C */ beqz $at, .L0042BB4C +/* 0042BB1C 00000000 */ nop +/* 0042BB20 8F818038 */ lw $at, %got(jtbl_1000A898)($gp) +/* 0042BB24 000F7880 */ sll $t7, $t7, 2 +/* 0042BB28 002F0821 */ addu $at, $at, $t7 +/* 0042BB2C 8C2FA898 */ lw $t7, %lo(jtbl_1000A898)($at) +/* 0042BB30 01FC7821 */ addu $t7, $t7, $gp +/* 0042BB34 01E00008 */ jr $t7 +/* 0042BB38 00000000 */ nop +.L0042BB3C: +/* 0042BB3C 03E00008 */ jr $ra +/* 0042BB40 24020093 */ li $v0, 147 + +.L0042BB44: +/* 0042BB44 03E00008 */ jr $ra +/* 0042BB48 24020096 */ li $v0, 150 + +.L0042BB4C: +/* 0042BB4C 03E00008 */ jr $ra +/* 0042BB50 2402003E */ li $v0, 62 + +.L0042BB54: +/* 0042BB54 30A200FF */ andi $v0, $a1, 0xff +/* 0042BB58 2458FFF4 */ addiu $t8, $v0, -0xc +/* 0042BB5C 2F010002 */ sltiu $at, $t8, 2 +/* 0042BB60 1020000C */ beqz $at, .L0042BB94 +/* 0042BB64 00000000 */ nop +/* 0042BB68 8F818038 */ lw $at, %got(jtbl_1000A8A0)($gp) +/* 0042BB6C 0018C080 */ sll $t8, $t8, 2 +/* 0042BB70 00380821 */ addu $at, $at, $t8 +/* 0042BB74 8C38A8A0 */ lw $t8, %lo(jtbl_1000A8A0)($at) +/* 0042BB78 031CC021 */ addu $t8, $t8, $gp +/* 0042BB7C 03000008 */ jr $t8 +/* 0042BB80 00000000 */ nop +.L0042BB84: +/* 0042BB84 03E00008 */ jr $ra +/* 0042BB88 2402015F */ li $v0, 351 + +.L0042BB8C: +/* 0042BB8C 03E00008 */ jr $ra +/* 0042BB90 24020160 */ li $v0, 352 + +.L0042BB94: +/* 0042BB94 03E00008 */ jr $ra +/* 0042BB98 2402003E */ li $v0, 62 + +.L0042BB9C: +/* 0042BB9C 30A200FF */ andi $v0, $a1, 0xff +/* 0042BBA0 2C410010 */ sltiu $at, $v0, 0x10 +/* 0042BBA4 10200012 */ beqz $at, .L0042BBF0 +/* 0042BBA8 00000000 */ nop +/* 0042BBAC 8F818038 */ lw $at, %got(jtbl_1000A8A8)($gp) +/* 0042BBB0 0002C880 */ sll $t9, $v0, 2 +/* 0042BBB4 00390821 */ addu $at, $at, $t9 +/* 0042BBB8 8C39A8A8 */ lw $t9, %lo(jtbl_1000A8A8)($at) +/* 0042BBBC 033CC821 */ addu $t9, $t9, $gp +/* 0042BBC0 03200008 */ jr $t9 +/* 0042BBC4 00000000 */ nop +.L0042BBC8: +/* 0042BBC8 03E00008 */ jr $ra +/* 0042BBCC 2402014F */ li $v0, 335 + +.L0042BBD0: +/* 0042BBD0 03E00008 */ jr $ra +/* 0042BBD4 240200E8 */ li $v0, 232 + +.L0042BBD8: +/* 0042BBD8 03E00008 */ jr $ra +/* 0042BBDC 2402014F */ li $v0, 335 + +.L0042BBE0: +/* 0042BBE0 03E00008 */ jr $ra +/* 0042BBE4 240200E8 */ li $v0, 232 + +.L0042BBE8: +/* 0042BBE8 03E00008 */ jr $ra +/* 0042BBEC 24020094 */ li $v0, 148 + +.L0042BBF0: +/* 0042BBF0 03E00008 */ jr $ra +/* 0042BBF4 2402003E */ li $v0, 62 + +.L0042BBF8: +/* 0042BBF8 30A200FF */ andi $v0, $a1, 0xff +/* 0042BBFC 2C410010 */ sltiu $at, $v0, 0x10 +/* 0042BC00 10200012 */ beqz $at, .L0042BC4C +/* 0042BC04 00000000 */ nop +/* 0042BC08 8F818038 */ lw $at, %got(jtbl_1000A8E8)($gp) +/* 0042BC0C 00024080 */ sll $t0, $v0, 2 +/* 0042BC10 00280821 */ addu $at, $at, $t0 +/* 0042BC14 8C28A8E8 */ lw $t0, %lo(jtbl_1000A8E8)($at) +/* 0042BC18 011C4021 */ addu $t0, $t0, $gp +/* 0042BC1C 01000008 */ jr $t0 +/* 0042BC20 00000000 */ nop +.L0042BC24: +/* 0042BC24 03E00008 */ jr $ra +/* 0042BC28 24020153 */ li $v0, 339 + +.L0042BC2C: +/* 0042BC2C 03E00008 */ jr $ra +/* 0042BC30 240200E9 */ li $v0, 233 + +.L0042BC34: +/* 0042BC34 03E00008 */ jr $ra +/* 0042BC38 24020153 */ li $v0, 339 + +.L0042BC3C: +/* 0042BC3C 03E00008 */ jr $ra +/* 0042BC40 240200E9 */ li $v0, 233 + +.L0042BC44: +/* 0042BC44 03E00008 */ jr $ra +/* 0042BC48 24020091 */ li $v0, 145 + +.L0042BC4C: +/* 0042BC4C 03E00008 */ jr $ra +/* 0042BC50 2402003E */ li $v0, 62 + +.L0042BC54: +/* 0042BC54 03E00008 */ jr $ra +/* 0042BC58 2402003E */ li $v0, 62 + +/* 0042BC5C 03E00008 */ jr $ra +/* 0042BC60 00000000 */ nop + .type cvt_tab, @function + .size cvt_tab, .-cvt_tab + .end cvt_tab + +glabel rnd_tab + .ent rnd_tab + # 00433494 eval_flt_int_cvt +/* 0042BC64 3C1C0FBF */ .cpload $t9 +/* 0042BC68 279C3DEC */ +/* 0042BC6C 0399E021 */ +/* 0042BC70 2401000D */ li $at, 13 +/* 0042BC74 AFA40000 */ sw $a0, ($sp) +/* 0042BC78 1481001D */ bne $a0, $at, .L0042BCF0 +/* 0042BC7C AFA50004 */ sw $a1, 4($sp) +/* 0042BC80 1000000B */ b .L0042BCB0 +/* 0042BC84 2CA10009 */ sltiu $at, $a1, 9 +.L0042BC88: +/* 0042BC88 03E00008 */ jr $ra +/* 0042BC8C 240200F3 */ li $v0, 243 + +.L0042BC90: +/* 0042BC90 03E00008 */ jr $ra +/* 0042BC94 240200EB */ li $v0, 235 + +.L0042BC98: +/* 0042BC98 03E00008 */ jr $ra +/* 0042BC9C 24020150 */ li $v0, 336 + +.L0042BCA0: +/* 0042BCA0 03E00008 */ jr $ra +/* 0042BCA4 24020150 */ li $v0, 336 + +.L0042BCA8: +/* 0042BCA8 03E00008 */ jr $ra +/* 0042BCAC 2402003E */ li $v0, 62 + +.L0042BCB0: +/* 0042BCB0 14200005 */ bnez $at, .L0042BCC8 +/* 0042BCB4 2401000F */ li $at, 15 +/* 0042BCB8 10A1FFF9 */ beq $a1, $at, .L0042BCA0 +/* 0042BCBC 00000000 */ nop +/* 0042BCC0 03E00008 */ jr $ra +/* 0042BCC4 2402003E */ li $v0, 62 + +.L0042BCC8: +/* 0042BCC8 2CA10009 */ sltiu $at, $a1, 9 +/* 0042BCCC 1020FFF6 */ beqz $at, .L0042BCA8 +/* 0042BCD0 00000000 */ nop +/* 0042BCD4 8F818038 */ lw $at, %got(jtbl_1000A968)($gp) +/* 0042BCD8 00057080 */ sll $t6, $a1, 2 +/* 0042BCDC 002E0821 */ addu $at, $at, $t6 +/* 0042BCE0 8C2EA968 */ lw $t6, %lo(jtbl_1000A968)($at) +/* 0042BCE4 01DC7021 */ addu $t6, $t6, $gp +/* 0042BCE8 01C00008 */ jr $t6 +/* 0042BCEC 00000000 */ nop +.L0042BCF0: +/* 0042BCF0 2401000C */ li $at, 12 +/* 0042BCF4 1481001D */ bne $a0, $at, .L0042BD6C +/* 0042BCF8 2402003E */ li $v0, 62 +/* 0042BCFC 1000000B */ b .L0042BD2C +/* 0042BD00 2CA10009 */ sltiu $at, $a1, 9 +.L0042BD04: +/* 0042BD04 03E00008 */ jr $ra +/* 0042BD08 240200F4 */ li $v0, 244 + +.L0042BD0C: +/* 0042BD0C 03E00008 */ jr $ra +/* 0042BD10 240200EC */ li $v0, 236 + +.L0042BD14: +/* 0042BD14 03E00008 */ jr $ra +/* 0042BD18 24020154 */ li $v0, 340 + +.L0042BD1C: +/* 0042BD1C 03E00008 */ jr $ra +/* 0042BD20 24020154 */ li $v0, 340 + +.L0042BD24: +/* 0042BD24 03E00008 */ jr $ra +/* 0042BD28 2402003E */ li $v0, 62 + +.L0042BD2C: +/* 0042BD2C 14200005 */ bnez $at, .L0042BD44 +/* 0042BD30 2401000F */ li $at, 15 +/* 0042BD34 10A1FFF9 */ beq $a1, $at, .L0042BD1C +/* 0042BD38 00000000 */ nop +/* 0042BD3C 03E00008 */ jr $ra +/* 0042BD40 2402003E */ li $v0, 62 + +.L0042BD44: +/* 0042BD44 2CA10009 */ sltiu $at, $a1, 9 +/* 0042BD48 1020FFF6 */ beqz $at, .L0042BD24 +/* 0042BD4C 00000000 */ nop +/* 0042BD50 8F818038 */ lw $at, %got(jtbl_1000A98C)($gp) +/* 0042BD54 00057880 */ sll $t7, $a1, 2 +/* 0042BD58 002F0821 */ addu $at, $at, $t7 +/* 0042BD5C 8C2FA98C */ lw $t7, %lo(jtbl_1000A98C)($at) +/* 0042BD60 01FC7821 */ addu $t7, $t7, $gp +/* 0042BD64 01E00008 */ jr $t7 +/* 0042BD68 00000000 */ nop +.L0042BD6C: +/* 0042BD6C 03E00008 */ jr $ra +/* 0042BD70 00000000 */ nop + .type rnd_tab, @function + .size rnd_tab, .-rnd_tab + .end rnd_tab + +glabel invert_livereg + .ent invert_livereg +/* 0042BD74 00001825 */ move $v1, $zero +/* 0042BD78 24020001 */ li $v0, 1 +/* 0042BD7C 10800009 */ beqz $a0, .L0042BDA4 +/* 0042BD80 3C058000 */ lui $a1, 0x8000 +.L0042BD84: +/* 0042BD84 00A47024 */ and $t6, $a1, $a0 +/* 0042BD88 51C00004 */ beql $t6, $zero, .L0042BD9C +/* 0042BD8C 00052842 */ srl $a1, $a1, 1 +/* 0042BD90 00621821 */ addu $v1, $v1, $v0 +/* 0042BD94 00852023 */ subu $a0, $a0, $a1 +/* 0042BD98 00052842 */ srl $a1, $a1, 1 +.L0042BD9C: +/* 0042BD9C 1480FFF9 */ bnez $a0, .L0042BD84 +/* 0042BDA0 00021040 */ sll $v0, $v0, 1 +.L0042BDA4: +/* 0042BDA4 03E00008 */ jr $ra +/* 0042BDA8 00601025 */ move $v0, $v1 + .type invert_livereg, @function + .size invert_livereg, .-invert_livereg + .end invert_livereg + +glabel eval + .ent eval + # 00423D28 jump + # 00424240 trap + # 00428538 eval_2ops + # 004287AC eval_fp_min_max + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00434500 func_00434500 + # 00434618 func_00434618 + # 00434878 eval_flt_flt_cvt + # 0044BF18 main +/* 0042BDAC 3C1C0FBF */ .cpload $t9 +/* 0042BDB0 279C3CA4 */ +/* 0042BDB4 0399E021 */ +/* 0042BDB8 27BDFE78 */ addiu $sp, $sp, -0x188 +/* 0042BDBC AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0042BDC0 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 0042BDC4 AFBC00CC */ sw $gp, 0xcc($sp) +/* 0042BDC8 AFB700C8 */ sw $s7, 0xc8($sp) +/* 0042BDCC AFB600C4 */ sw $s6, 0xc4($sp) +/* 0042BDD0 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0042BDD4 AFB400BC */ sw $s4, 0xbc($sp) +/* 0042BDD8 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0042BDDC AFB200B4 */ sw $s2, 0xb4($sp) +/* 0042BDE0 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0042BDE4 AFB000AC */ sw $s0, 0xac($sp) +/* 0042BDE8 AFA5018C */ sw $a1, 0x18c($sp) +/* 0042BDEC AFA00110 */ sw $zero, 0x110($sp) +/* 0042BDF0 AFA00114 */ sw $zero, 0x114($sp) +/* 0042BDF4 AFA00118 */ sw $zero, 0x118($sp) +/* 0042BDF8 AFA0011C */ sw $zero, 0x11c($sp) +/* 0042BDFC 90900019 */ lbu $s0, 0x19($a0) +/* 0042BE00 24010048 */ li $at, 72 +/* 0042BE04 0080B025 */ move $s6, $a0 +/* 0042BE08 00108600 */ sll $s0, $s0, 0x18 +/* 0042BE0C 00108642 */ srl $s0, $s0, 0x19 +/* 0042BE10 1201001D */ beq $s0, $at, .L0042BE88 +/* 0042BE14 30BE00FF */ andi $fp, $a1, 0xff +/* 0042BE18 908E0018 */ lbu $t6, 0x18($a0) +/* 0042BE1C 51C00009 */ beql $t6, $zero, .L0042BE44 +/* 0042BE20 260FFFE0 */ addiu $t7, $s0, -0x20 +/* 0042BE24 8F998334 */ lw $t9, %call16(restore_from_temp)($gp) +/* 0042BE28 0320F809 */ jalr $t9 +/* 0042BE2C 00000000 */ nop +/* 0042BE30 92D00019 */ lbu $s0, 0x19($s6) +/* 0042BE34 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042BE38 00108600 */ sll $s0, $s0, 0x18 +/* 0042BE3C 00108642 */ srl $s0, $s0, 0x19 +/* 0042BE40 260FFFE0 */ addiu $t7, $s0, -0x20 +.L0042BE44: +/* 0042BE44 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0042BE48 0018C823 */ negu $t9, $t8 +/* 0042BE4C 01F94004 */ sllv $t0, $t9, $t7 +/* 0042BE50 05010007 */ bgez $t0, .L0042BE70 +/* 0042BE54 00000000 */ nop +/* 0042BE58 8F998538 */ lw $t9, %call16(move_to_end_fp_list)($gp) +/* 0042BE5C 02002025 */ move $a0, $s0 +/* 0042BE60 0320F809 */ jalr $t9 +/* 0042BE64 00000000 */ nop +/* 0042BE68 10001C68 */ b .L0043300C +/* 0042BE6C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042BE70: +/* 0042BE70 8F99853C */ lw $t9, %call16(move_to_end_gp_list)($gp) +/* 0042BE74 02002025 */ move $a0, $s0 +/* 0042BE78 0320F809 */ jalr $t9 +/* 0042BE7C 00000000 */ nop +/* 0042BE80 10001C62 */ b .L0043300C +/* 0042BE84 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042BE88: +/* 0042BE88 96C90014 */ lhu $t1, 0x14($s6) +/* 0042BE8C 2D210002 */ sltiu $at, $t1, 2 +/* 0042BE90 14200002 */ bnez $at, .L0042BE9C +/* 0042BE94 00000000 */ nop +/* 0042BE98 241E0048 */ li $fp, 72 +.L0042BE9C: +/* 0042BE9C 52C01C5C */ beql $s6, $zero, .L00433010 +/* 0042BEA0 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 0042BEA4 92C40020 */ lbu $a0, 0x20($s6) +.L0042BEA8: +/* 0042BEA8 00801025 */ move $v0, $a0 +/* 0042BEAC 2C410098 */ sltiu $at, $v0, 0x98 +/* 0042BEB0 10201BB5 */ beqz $at, .L00432D88 +/* 0042BEB4 00000000 */ nop +/* 0042BEB8 8F818038 */ lw $at, %got(jtbl_1000AD74)($gp) +/* 0042BEBC 00025080 */ sll $t2, $v0, 2 +/* 0042BEC0 002A0821 */ addu $at, $at, $t2 +/* 0042BEC4 8C2AAD74 */ lw $t2, %lo(jtbl_1000AD74)($at) +/* 0042BEC8 015C5021 */ addu $t2, $t2, $gp +/* 0042BECC 01400008 */ jr $t2 +/* 0042BED0 00000000 */ nop +.L0042BED4: +/* 0042BED4 8F8B8AAC */ lw $t3, %got(first_loc)($gp) +/* 0042BED8 8EC70024 */ lw $a3, 0x24($s6) +/* 0042BEDC 8F818968 */ lw $at, %got(current_line)($gp) +/* 0042BEE0 916B0000 */ lbu $t3, ($t3) +/* 0042BEE4 00E01025 */ move $v0, $a3 +/* 0042BEE8 AC270000 */ sw $a3, ($at) +/* 0042BEEC 5160000D */ beql $t3, $zero, .L0042BF24 +/* 0042BEF0 96D00022 */ lhu $s0, 0x22($s6) +/* 0042BEF4 8F838AB0 */ lw $v1, %got(first_file_number)($gp) +/* 0042BEF8 96CC0022 */ lhu $t4, 0x22($s6) +/* 0042BEFC 8F818AB4 */ lw $at, %got(first_line_number)($gp) +/* 0042BF00 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042BF04 AC6C0000 */ sw $t4, ($v1) +/* 0042BF08 AC220000 */ sw $v0, ($at) +/* 0042BF0C 8F818AAC */ lw $at, %got(first_loc)($gp) +/* 0042BF10 AFAC0150 */ sw $t4, 0x150($sp) +/* 0042BF14 90840000 */ lbu $a0, ($a0) +/* 0042BF18 10001BE6 */ b .L00432EB4 +/* 0042BF1C A0200000 */ sb $zero, ($at) +/* 0042BF20 96D00022 */ lhu $s0, 0x22($s6) +.L0042BF24: +/* 0042BF24 8FAE0150 */ lw $t6, 0x150($sp) +/* 0042BF28 11D0000D */ beq $t6, $s0, .L0042BF60 +/* 0042BF2C 00000000 */ nop +/* 0042BF30 8F988994 */ lw $t8, %got(ascii_out)($gp) +/* 0042BF34 93180000 */ lbu $t8, ($t8) +/* 0042BF38 13000009 */ beqz $t8, .L0042BF60 +/* 0042BF3C 00000000 */ nop +/* 0042BF40 8F998300 */ lw $t9, %call16(emit_file)($gp) +/* 0042BF44 AFB00150 */ sw $s0, 0x150($sp) +/* 0042BF48 02002025 */ move $a0, $s0 +/* 0042BF4C 0320F809 */ jalr $t9 +/* 0042BF50 00002825 */ move $a1, $zero +/* 0042BF54 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042BF58 8EC70024 */ lw $a3, 0x24($s6) +/* 0042BF5C 96D00022 */ lhu $s0, 0x22($s6) +.L0042BF60: +/* 0042BF60 8F998244 */ lw $t9, %call16(emit_dir2)($gp) +/* 0042BF64 2404001C */ li $a0, 28 +/* 0042BF68 00002825 */ move $a1, $zero +/* 0042BF6C 0320F809 */ jalr $t9 +/* 0042BF70 02003025 */ move $a2, $s0 +/* 0042BF74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042BF78 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042BF7C 10001BCD */ b .L00432EB4 +/* 0042BF80 90840000 */ lbu $a0, ($a0) +.L0042BF84: +/* 0042BF84 8EC70024 */ lw $a3, 0x24($s6) +/* 0042BF88 24010001 */ li $at, 1 +/* 0042BF8C 54E10005 */ bnel $a3, $at, .L0042BFA4 +/* 0042BF90 24010002 */ li $at, 2 +/* 0042BF94 8ED90028 */ lw $t9, 0x28($s6) +/* 0042BF98 10000018 */ b .L0042BFFC +/* 0042BF9C AFB90154 */ sw $t9, 0x154($sp) +/* 0042BFA0 24010002 */ li $at, 2 +.L0042BFA4: +/* 0042BFA4 54E10006 */ bnel $a3, $at, .L0042BFC0 +/* 0042BFA8 24010008 */ li $at, 8 +/* 0042BFAC 8ECF0028 */ lw $t7, 0x28($s6) +/* 0042BFB0 8F8189D4 */ lw $at, %got(stack_limit_bn)($gp) +/* 0042BFB4 10000011 */ b .L0042BFFC +/* 0042BFB8 AC2F0000 */ sw $t7, ($at) +/* 0042BFBC 24010008 */ li $at, 8 +.L0042BFC0: +/* 0042BFC0 14E1000E */ bne $a3, $at, .L0042BFFC +/* 0042BFC4 27A40110 */ addiu $a0, $sp, 0x110 +/* 0042BFC8 93A80115 */ lbu $t0, 0x115($sp) +/* 0042BFCC 8F9982A0 */ lw $t9, %call16(append_i)($gp) +/* 0042BFD0 8ECD0028 */ lw $t5, 0x28($s6) +/* 0042BFD4 3109FFC0 */ andi $t1, $t0, 0xffc0 +/* 0042BFD8 352A002F */ ori $t2, $t1, 0x2f +/* 0042BFDC A3AA0115 */ sb $t2, 0x115($sp) +/* 0042BFE0 8FAB0114 */ lw $t3, 0x114($sp) +/* 0042BFE4 AFA00110 */ sw $zero, 0x110($sp) +/* 0042BFE8 AFAD011C */ sw $t5, 0x11c($sp) +/* 0042BFEC 356CC000 */ ori $t4, $t3, 0xc000 +/* 0042BFF0 0320F809 */ jalr $t9 +/* 0042BFF4 AFAC0114 */ sw $t4, 0x114($sp) +/* 0042BFF8 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042BFFC: +/* 0042BFFC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042C000 10001BAC */ b .L00432EB4 +/* 0042C004 90840000 */ lbu $a0, ($a0) +.L0042C008: +/* 0042C008 92D80021 */ lbu $t8, 0x21($s6) +/* 0042C00C 8ECE0024 */ lw $t6, 0x24($s6) +/* 0042C010 92D30023 */ lbu $s3, 0x23($s6) +/* 0042C014 3319001F */ andi $t9, $t8, 0x1f +/* 0042C018 17200017 */ bnez $t9, .L0042C078 +/* 0042C01C A3AE0186 */ sb $t6, 0x186($sp) +/* 0042C020 8F888BC0 */ lw $t0, %got(noalias_regs)($gp) +/* 0042C024 00137880 */ sll $t7, $s3, 2 +/* 0042C028 31C900FF */ andi $t1, $t6, 0xff +/* 0042C02C 01E81021 */ addu $v0, $t7, $t0 +/* 0042C030 8C450000 */ lw $a1, ($v0) +/* 0042C034 240A0001 */ li $t2, 1 +/* 0042C038 012A3004 */ sllv $a2, $t2, $t1 +/* 0042C03C 00A65824 */ and $t3, $a1, $a2 +/* 0042C040 11600020 */ beqz $t3, .L0042C0C4 +/* 0042C044 24040031 */ li $a0, 49 +/* 0042C048 8F988BC0 */ lw $t8, %got(noalias_regs)($gp) +/* 0042C04C 31CD00FF */ andi $t5, $t6, 0xff +/* 0042C050 00A66023 */ subu $t4, $a1, $a2 +/* 0042C054 000D7080 */ sll $t6, $t5, 2 +/* 0042C058 AC4C0000 */ sw $t4, ($v0) +/* 0042C05C 01D81821 */ addu $v1, $t6, $t8 +/* 0042C060 8C790000 */ lw $t9, ($v1) +/* 0042C064 240F0001 */ li $t7, 1 +/* 0042C068 026F4004 */ sllv $t0, $t7, $s3 +/* 0042C06C 03285023 */ subu $t2, $t9, $t0 +/* 0042C070 10000014 */ b .L0042C0C4 +/* 0042C074 AC6A0000 */ sw $t2, ($v1) +.L0042C078: +/* 0042C078 8F8B8BC0 */ lw $t3, %got(noalias_regs)($gp) +/* 0042C07C 00134880 */ sll $t1, $s3, 2 +/* 0042C080 93AD0186 */ lbu $t5, 0x186($sp) +/* 0042C084 012B1021 */ addu $v0, $t1, $t3 +/* 0042C088 8C4C0000 */ lw $t4, ($v0) +/* 0042C08C 93B90186 */ lbu $t9, 0x186($sp) +/* 0042C090 8F8A8BC0 */ lw $t2, %got(noalias_regs)($gp) +/* 0042C094 240E0001 */ li $t6, 1 +/* 0042C098 01AEC004 */ sllv $t8, $t6, $t5 +/* 0042C09C 01987825 */ or $t7, $t4, $t8 +/* 0042C0A0 00194080 */ sll $t0, $t9, 2 +/* 0042C0A4 AC4F0000 */ sw $t7, ($v0) +/* 0042C0A8 010A1821 */ addu $v1, $t0, $t2 +/* 0042C0AC 8C690000 */ lw $t1, ($v1) +/* 0042C0B0 240B0001 */ li $t3, 1 +/* 0042C0B4 026B7004 */ sllv $t6, $t3, $s3 +/* 0042C0B8 012E6825 */ or $t5, $t1, $t6 +/* 0042C0BC 24040030 */ li $a0, 48 +/* 0042C0C0 AC6D0000 */ sw $t5, ($v1) +.L0042C0C4: +/* 0042C0C4 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042C0C8 02602825 */ move $a1, $s3 +/* 0042C0CC 93A60186 */ lbu $a2, 0x186($sp) +/* 0042C0D0 0320F809 */ jalr $t9 +/* 0042C0D4 00000000 */ nop +/* 0042C0D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C0DC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042C0E0 10001B74 */ b .L00432EB4 +/* 0042C0E4 90840000 */ lbu $a0, ($a0) +.L0042C0E8: +/* 0042C0E8 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 0042C0EC 2404002A */ li $a0, 42 +/* 0042C0F0 00002825 */ move $a1, $zero +/* 0042C0F4 8EC60028 */ lw $a2, 0x28($s6) +/* 0042C0F8 0320F809 */ jalr $t9 +/* 0042C0FC 8EC7002C */ lw $a3, 0x2c($s6) +/* 0042C100 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C104 2404002F */ li $a0, 47 +/* 0042C108 00002825 */ move $a1, $zero +/* 0042C10C 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0042C110 8F8689E4 */ lw $a2, %got(pic_level)($gp) +/* 0042C114 0320F809 */ jalr $t9 +/* 0042C118 8CC60000 */ lw $a2, ($a2) +/* 0042C11C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C120 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042C124 10001B63 */ b .L00432EB4 +/* 0042C128 90840000 */ lbu $a0, ($a0) +.L0042C12C: +/* 0042C12C 8F9982E4 */ lw $t9, %call16(clear_saved_regs)($gp) +/* 0042C130 240CFFFF */ li $t4, -1 +/* 0042C134 2418FFFF */ li $t8, -1 +/* 0042C138 AFB80130 */ sw $t8, 0x130($sp) +/* 0042C13C 0320F809 */ jalr $t9 +/* 0042C140 AFAC0154 */ sw $t4, 0x154($sp) +/* 0042C144 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C148 8F9984A0 */ lw $t9, %call16(init_regs)($gp) +/* 0042C14C 0320F809 */ jalr $t9 +/* 0042C150 00000000 */ nop +/* 0042C154 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C158 8F9985A4 */ lw $t9, %call16(init_temps)($gp) +/* 0042C15C 0320F809 */ jalr $t9 +/* 0042C160 00000000 */ nop +/* 0042C164 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C168 8F99841C */ lw $t9, %call16(reset_pool)($gp) +/* 0042C16C 0320F809 */ jalr $t9 +/* 0042C170 00000000 */ nop +/* 0042C174 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C178 8F918BB4 */ lw $s1, %got(noalias_on_off)($gp) +/* 0042C17C 8F928BC0 */ lw $s2, %got(noalias_regs)($gp) +/* 0042C180 26220020 */ addiu $v0, $s1, 0x20 +.L0042C184: +/* 0042C184 26310001 */ addiu $s1, $s1, 1 +/* 0042C188 AE400000 */ sw $zero, ($s2) +/* 0042C18C A220FFFF */ sb $zero, -1($s1) +/* 0042C190 1622FFFC */ bne $s1, $v0, .L0042C184 +/* 0042C194 26520004 */ addiu $s2, $s2, 4 +/* 0042C198 8F828A68 */ lw $v0, %got(use_real_fp_for_all)($gp) +/* 0042C19C 8F818AD4 */ lw $at, %got(pdefs)($gp) +/* 0042C1A0 90420000 */ lbu $v0, ($v0) +/* 0042C1A4 AC200000 */ sw $zero, ($at) +/* 0042C1A8 1440000C */ bnez $v0, .L0042C1DC +/* 0042C1AC 00000000 */ nop +/* 0042C1B0 8F8289A8 */ lw $v0, %got(use_fp)($gp) +/* 0042C1B4 90420000 */ lbu $v0, ($v0) +/* 0042C1B8 14400008 */ bnez $v0, .L0042C1DC +/* 0042C1BC 00000000 */ nop +/* 0042C1C0 8F8289F4 */ lw $v0, %got(framesz_relocatable)($gp) +/* 0042C1C4 90420000 */ lbu $v0, ($v0) +/* 0042C1C8 14400004 */ bnez $v0, .L0042C1DC +/* 0042C1CC 00000000 */ nop +/* 0042C1D0 8EC2002C */ lw $v0, 0x2c($s6) +/* 0042C1D4 30420002 */ andi $v0, $v0, 2 +/* 0042C1D8 0002102B */ sltu $v0, $zero, $v0 +.L0042C1DC: +/* 0042C1DC 8F818A6C */ lw $at, %got(use_real_fp_for_proc)($gp) +/* 0042C1E0 A0220000 */ sb $v0, ($at) +/* 0042C1E4 8EC7002C */ lw $a3, 0x2c($s6) +/* 0042C1E8 30EF0080 */ andi $t7, $a3, 0x80 +/* 0042C1EC 11E0000A */ beqz $t7, .L0042C218 +/* 0042C1F0 30EA0200 */ andi $t2, $a3, 0x200 +/* 0042C1F4 8F9989A4 */ lw $t9, %got(source_language)($gp) +/* 0042C1F8 24010002 */ li $at, 2 +/* 0042C1FC 8F390000 */ lw $t9, ($t9) +/* 0042C200 17210005 */ bne $t9, $at, .L0042C218 +/* 0042C204 00000000 */ nop +/* 0042C208 8F818A70 */ lw $at, %got(home_vararg_reg)($gp) +/* 0042C20C 24080001 */ li $t0, 1 +/* 0042C210 10000003 */ b .L0042C220 +/* 0042C214 A0280000 */ sb $t0, ($at) +.L0042C218: +/* 0042C218 8F818A70 */ lw $at, %got(home_vararg_reg)($gp) +/* 0042C21C A0200000 */ sb $zero, ($at) +.L0042C220: +/* 0042C220 11400010 */ beqz $t2, .L0042C264 +/* 0042C224 2418FFFF */ li $t8, -1 +/* 0042C228 8F8B8A74 */ lw $t3, %got(reversed_stack)($gp) +/* 0042C22C 2409FFFF */ li $t1, -1 +/* 0042C230 916B0000 */ lbu $t3, ($t3) +/* 0042C234 51600004 */ beql $t3, $zero, .L0042C248 +/* 0042C238 AFA90128 */ sw $t1, 0x128($sp) +/* 0042C23C 10000002 */ b .L0042C248 +/* 0042C240 AFA00128 */ sw $zero, 0x128($sp) +/* 0042C244 AFA90128 */ sw $t1, 0x128($sp) +.L0042C248: +/* 0042C248 92CE0028 */ lbu $t6, 0x28($s6) +/* 0042C24C 92CD0029 */ lbu $t5, 0x29($s6) +/* 0042C250 A3AE012A */ sb $t6, 0x12a($sp) +/* 0042C254 A3AD012B */ sb $t5, 0x12b($sp) +/* 0042C258 8FAC0128 */ lw $t4, 0x128($sp) +/* 0042C25C 10000002 */ b .L0042C268 +/* 0042C260 AFAC012C */ sw $t4, 0x12c($sp) +.L0042C264: +/* 0042C264 AFB8012C */ sw $t8, 0x12c($sp) +.L0042C268: +/* 0042C268 8F8F8A6C */ lw $t7, %got(use_real_fp_for_proc)($gp) +/* 0042C26C 91EF0000 */ lbu $t7, ($t7) +/* 0042C270 11E0000A */ beqz $t7, .L0042C29C +/* 0042C274 00000000 */ nop +/* 0042C278 8F818A60 */ lw $at, %got(frame_pointer)($gp) +/* 0042C27C 2419000D */ li $t9, 13 +/* 0042C280 2404000D */ li $a0, 13 +/* 0042C284 A0390000 */ sb $t9, ($at) +/* 0042C288 8F998524 */ lw $t9, %call16(remove_from_free_list)($gp) +/* 0042C28C 0320F809 */ jalr $t9 +/* 0042C290 00000000 */ nop +/* 0042C294 10000004 */ b .L0042C2A8 +/* 0042C298 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C29C: +/* 0042C29C 8F818A60 */ lw $at, %got(frame_pointer)($gp) +/* 0042C2A0 2408001D */ li $t0, 29 +/* 0042C2A4 A0280000 */ sb $t0, ($at) +.L0042C2A8: +/* 0042C2A8 8F8A8A1C */ lw $t2, %got(ufsa)($gp) +/* 0042C2AC 914A0000 */ lbu $t2, ($t2) +/* 0042C2B0 15400005 */ bnez $t2, .L0042C2C8 +/* 0042C2B4 00000000 */ nop +/* 0042C2B8 8F8B8A20 */ lw $t3, %got(ufsm)($gp) +/* 0042C2BC 916B0000 */ lbu $t3, ($t3) +/* 0042C2C0 1160007E */ beqz $t3, .L0042C4BC +/* 0042C2C4 00000000 */ nop +.L0042C2C8: +/* 0042C2C8 8F838A08 */ lw $v1, %got(n_saved_fp_regs)($gp) +/* 0042C2CC 8C630000 */ lw $v1, ($v1) +/* 0042C2D0 00031840 */ sll $v1, $v1, 1 +/* 0042C2D4 24630032 */ addiu $v1, $v1, 0x32 +/* 0042C2D8 2C610034 */ sltiu $at, $v1, 0x34 +/* 0042C2DC 1420007D */ bnez $at, .L0042C4D4 +/* 0042C2E0 24630001 */ addiu $v1, $v1, 1 +/* 0042C2E4 2464FFCC */ addiu $a0, $v1, -0x34 +/* 0042C2E8 30840003 */ andi $a0, $a0, 3 +/* 0042C2EC 1080001B */ beqz $a0, .L0042C35C +/* 0042C2F0 24100034 */ li $s0, 52 +/* 0042C2F4 24820034 */ addiu $v0, $a0, 0x34 +/* 0042C2F8 8F848B8C */ lw $a0, %got(ugen_fp_callee_saved)($gp) +.L0042C2FC: +/* 0042C2FC 8C8C0000 */ lw $t4, ($a0) +/* 0042C300 2E090020 */ sltiu $t1, $s0, 0x20 +/* 0042C304 02007027 */ not $t6, $s0 +/* 0042C308 01C96804 */ sllv $t5, $t1, $t6 +/* 0042C30C 260FFFE0 */ addiu $t7, $s0, -0x20 +/* 0042C310 018DC025 */ or $t8, $t4, $t5 +/* 0042C314 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042C318 8C8F0008 */ lw $t7, 8($a0) +/* 0042C31C 8C8B0004 */ lw $t3, 4($a0) +/* 0042C320 260EFFC0 */ addiu $t6, $s0, -0x40 +/* 0042C324 02004027 */ not $t0, $s0 +/* 0042C328 01195004 */ sllv $t2, $t9, $t0 +/* 0042C32C 2DCC0020 */ sltiu $t4, $t6, 0x20 +/* 0042C330 AC980000 */ sw $t8, ($a0) +/* 0042C334 02006827 */ not $t5, $s0 +/* 0042C338 01ACC004 */ sllv $t8, $t4, $t5 +/* 0042C33C 26100001 */ addiu $s0, $s0, 1 +/* 0042C340 01F8C825 */ or $t9, $t7, $t8 +/* 0042C344 016A4825 */ or $t1, $t3, $t2 +/* 0042C348 AC890004 */ sw $t1, 4($a0) +/* 0042C34C 1450FFEB */ bne $v0, $s0, .L0042C2FC +/* 0042C350 AC990008 */ sw $t9, 8($a0) +/* 0042C354 1203005F */ beq $s0, $v1, .L0042C4D4 +/* 0042C358 00000000 */ nop +.L0042C35C: +/* 0042C35C 8F828B8C */ lw $v0, %got(ugen_fp_callee_saved)($gp) +.L0042C360: +/* 0042C360 8C490000 */ lw $t1, ($v0) +/* 0042C364 2E080020 */ sltiu $t0, $s0, 0x20 +/* 0042C368 02005827 */ not $t3, $s0 +/* 0042C36C 8C590004 */ lw $t9, 4($v0) +/* 0042C370 01685004 */ sllv $t2, $t0, $t3 +/* 0042C374 260CFFE0 */ addiu $t4, $s0, -0x20 +/* 0042C378 2D8D0020 */ sltiu $t5, $t4, 0x20 +/* 0042C37C 02007827 */ not $t7, $s0 +/* 0042C380 012A7025 */ or $t6, $t1, $t2 +/* 0042C384 01EDC004 */ sllv $t8, $t5, $t7 +/* 0042C388 8C4C0008 */ lw $t4, 8($v0) +/* 0042C38C 260BFFC0 */ addiu $t3, $s0, -0x40 +/* 0042C390 03384025 */ or $t0, $t9, $t8 +/* 0042C394 2D690020 */ sltiu $t1, $t3, 0x20 +/* 0042C398 260F0001 */ addiu $t7, $s0, 1 +/* 0042C39C AC4E0000 */ sw $t6, ($v0) +/* 0042C3A0 02005027 */ not $t2, $s0 +/* 0042C3A4 01497004 */ sllv $t6, $t1, $t2 +/* 0042C3A8 8C4B0000 */ lw $t3, ($v0) +/* 0042C3AC 2DF90020 */ sltiu $t9, $t7, 0x20 +/* 0042C3B0 01E0C027 */ not $t8, $t7 +/* 0042C3B4 AC480004 */ sw $t0, 4($v0) +/* 0042C3B8 018E6825 */ or $t5, $t4, $t6 +/* 0042C3BC 03194004 */ sllv $t0, $t9, $t8 +/* 0042C3C0 8C590004 */ lw $t9, 4($v0) +/* 0042C3C4 25EAFFE0 */ addiu $t2, $t7, -0x20 +/* 0042C3C8 2D4C0020 */ sltiu $t4, $t2, 0x20 +/* 0042C3CC AC4D0008 */ sw $t5, 8($v0) +/* 0042C3D0 01E07027 */ not $t6, $t7 +/* 0042C3D4 01684825 */ or $t1, $t3, $t0 +/* 0042C3D8 01CC6804 */ sllv $t5, $t4, $t6 +/* 0042C3DC 032DC025 */ or $t8, $t9, $t5 +/* 0042C3E0 8C4C0008 */ lw $t4, 8($v0) +/* 0042C3E4 AC490000 */ sw $t1, ($v0) +/* 0042C3E8 25EBFFC0 */ addiu $t3, $t7, -0x40 +/* 0042C3EC 2D680020 */ sltiu $t0, $t3, 0x20 +/* 0042C3F0 01E04827 */ not $t1, $t7 +/* 0042C3F4 26190002 */ addiu $t9, $s0, 2 +/* 0042C3F8 01285004 */ sllv $t2, $t0, $t1 +/* 0042C3FC AC580004 */ sw $t8, 4($v0) +/* 0042C400 8C4F0000 */ lw $t7, ($v0) +/* 0042C404 0320C027 */ not $t8, $t9 +/* 0042C408 2F2D0020 */ sltiu $t5, $t9, 0x20 +/* 0042C40C 018A7025 */ or $t6, $t4, $t2 +/* 0042C410 030D5804 */ sllv $t3, $t5, $t8 +/* 0042C414 8C4D0004 */ lw $t5, 4($v0) +/* 0042C418 2729FFE0 */ addiu $t1, $t9, -0x20 +/* 0042C41C 2D2C0020 */ sltiu $t4, $t1, 0x20 +/* 0042C420 AC4E0008 */ sw $t6, 8($v0) +/* 0042C424 03205027 */ not $t2, $t9 +/* 0042C428 01EB4025 */ or $t0, $t7, $t3 +/* 0042C42C 014C7004 */ sllv $t6, $t4, $t2 +/* 0042C430 AC480000 */ sw $t0, ($v0) +/* 0042C434 01AEC025 */ or $t8, $t5, $t6 +/* 0042C438 8C4C0008 */ lw $t4, 8($v0) +/* 0042C43C 03204027 */ not $t0, $t9 +/* 0042C440 272FFFC0 */ addiu $t7, $t9, -0x40 +/* 0042C444 2DEB0020 */ sltiu $t3, $t7, 0x20 +/* 0042C448 260D0003 */ addiu $t5, $s0, 3 +/* 0042C44C 8C590000 */ lw $t9, ($v0) +/* 0042C450 010B4804 */ sllv $t1, $t3, $t0 +/* 0042C454 AC580004 */ sw $t8, 4($v0) +/* 0042C458 01A0C027 */ not $t8, $t5 +/* 0042C45C 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 0042C460 01895025 */ or $t2, $t4, $t1 +/* 0042C464 030E7804 */ sllv $t7, $t6, $t8 +/* 0042C468 25A8FFE0 */ addiu $t0, $t5, -0x20 +/* 0042C46C 032F5825 */ or $t3, $t9, $t7 +/* 0042C470 2D0C0020 */ sltiu $t4, $t0, 0x20 +/* 0042C474 AC4A0008 */ sw $t2, 8($v0) +/* 0042C478 01A04827 */ not $t1, $t5 +/* 0042C47C 012C5004 */ sllv $t2, $t4, $t1 +/* 0042C480 8C4C0008 */ lw $t4, 8($v0) +/* 0042C484 8C4E0004 */ lw $t6, 4($v0) +/* 0042C488 AC4B0000 */ sw $t3, ($v0) +/* 0042C48C 25B9FFC0 */ addiu $t9, $t5, -0x40 +/* 0042C490 2F2F0020 */ sltiu $t7, $t9, 0x20 +/* 0042C494 01A05827 */ not $t3, $t5 +/* 0042C498 016F4004 */ sllv $t0, $t7, $t3 +/* 0042C49C 26100004 */ addiu $s0, $s0, 4 +/* 0042C4A0 01884825 */ or $t1, $t4, $t0 +/* 0042C4A4 01CAC025 */ or $t8, $t6, $t2 +/* 0042C4A8 AC580004 */ sw $t8, 4($v0) +/* 0042C4AC 1603FFAC */ bne $s0, $v1, .L0042C360 +/* 0042C4B0 AC490008 */ sw $t1, 8($v0) +/* 0042C4B4 10000007 */ b .L0042C4D4 +/* 0042C4B8 00000000 */ nop +.L0042C4BC: +/* 0042C4BC 8F818B8C */ lw $at, %got(ugen_fp_callee_saved)($gp) +/* 0042C4C0 AC200000 */ sw $zero, ($at) +/* 0042C4C4 8F818B8C */ lw $at, %got(ugen_fp_callee_saved)($gp) +/* 0042C4C8 AC200004 */ sw $zero, 4($at) +/* 0042C4CC 8F818B8C */ lw $at, %got(ugen_fp_callee_saved)($gp) +/* 0042C4D0 AC200008 */ sw $zero, 8($at) +.L0042C4D4: +/* 0042C4D4 8F8E8AA8 */ lw $t6, %got(generate_again)($gp) +/* 0042C4D8 91CE0000 */ lbu $t6, ($t6) +/* 0042C4DC 15C0000E */ bnez $t6, .L0042C518 +/* 0042C4E0 00000000 */ nop +/* 0042C4E4 8F9983AC */ lw $t9, %call16(get_saved_regs_size)($gp) +/* 0042C4E8 02C02025 */ move $a0, $s6 +/* 0042C4EC 0320F809 */ jalr $t9 +/* 0042C4F0 00000000 */ nop +/* 0042C4F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C4F8 8F838AC0 */ lw $v1, %got(saved_regs_size)($gp) +/* 0042C4FC 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 0042C500 AC620000 */ sw $v0, ($v1) +/* 0042C504 8F9981C8 */ lw $t9, %call16(save_i_ptrs)($gp) +/* 0042C508 AC220000 */ sw $v0, ($at) +/* 0042C50C 0320F809 */ jalr $t9 +/* 0042C510 00000000 */ nop +/* 0042C514 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C518: +/* 0042C518 8F818AA0 */ lw $at, %got(local_var_size)($gp) +/* 0042C51C AC200000 */ sw $zero, ($at) +/* 0042C520 8F818AB8 */ lw $at, %got(max_arg_build)($gp) +/* 0042C524 AC200000 */ sw $zero, ($at) +/* 0042C528 8F818ABC */ lw $at, %got(reloc_arg_build)($gp) +/* 0042C52C AC200000 */ sw $zero, ($at) +/* 0042C530 8F818AA4 */ lw $at, %got(temp_size)($gp) +/* 0042C534 AC200000 */ sw $zero, ($at) +/* 0042C538 8F818A94 */ lw $at, %got(has_calls)($gp) +/* 0042C53C A0200000 */ sb $zero, ($at) +/* 0042C540 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 0042C544 A0200000 */ sb $zero, ($at) +/* 0042C548 8F818A98 */ lw $at, %got(num_i_ptr_indexes)($gp) +/* 0042C54C AC200000 */ sw $zero, ($at) +/* 0042C550 96D80022 */ lhu $t8, 0x22($s6) +/* 0042C554 8F818AD0 */ lw $at, %got(curlev)($gp) +/* 0042C558 AC380000 */ sw $t8, ($at) +/* 0042C55C 8ED90024 */ lw $t9, 0x24($s6) +/* 0042C560 8F818ACC */ lw $at, %got(entry_point_index)($gp) +/* 0042C564 AC390000 */ sw $t9, ($at) +/* 0042C568 8EC7002C */ lw $a3, 0x2c($s6) +/* 0042C56C 8F818AC8 */ lw $at, %got(load_stack_limit)($gp) +/* 0042C570 30ED0001 */ andi $t5, $a3, 1 +/* 0042C574 30EB0020 */ andi $t3, $a3, 0x20 +/* 0042C578 30E80004 */ andi $t0, $a3, 4 +/* 0042C57C 30EE0008 */ andi $t6, $a3, 8 +/* 0042C580 000D782B */ sltu $t7, $zero, $t5 +/* 0042C584 000B602B */ sltu $t4, $zero, $t3 +/* 0042C588 0008482B */ sltu $t1, $zero, $t0 +/* 0042C58C 000E502B */ sltu $t2, $zero, $t6 +/* 0042C590 30F80010 */ andi $t8, $a3, 0x10 +/* 0042C594 A3AF0147 */ sb $t7, 0x147($sp) +/* 0042C598 A3AC0146 */ sb $t4, 0x146($sp) +/* 0042C59C A3A90145 */ sb $t1, 0x145($sp) +/* 0042C5A0 A3AA0144 */ sb $t2, 0x144($sp) +/* 0042C5A4 13000015 */ beqz $t8, .L0042C5FC +/* 0042C5A8 A0200000 */ sb $zero, ($at) +/* 0042C5AC 8F818AC8 */ lw $at, %got(load_stack_limit)($gp) +/* 0042C5B0 8F8D8AA8 */ lw $t5, %got(generate_again)($gp) +/* 0042C5B4 24190001 */ li $t9, 1 +/* 0042C5B8 A0390000 */ sb $t9, ($at) +/* 0042C5BC 91AD0000 */ lbu $t5, ($t5) +/* 0042C5C0 8F8189D4 */ lw $at, %got(stack_limit_bn)($gp) +/* 0042C5C4 15A00005 */ bnez $t5, .L0042C5DC +/* 0042C5C8 AC200000 */ sw $zero, ($at) +/* 0042C5CC 8F828A64 */ lw $v0, %got(frame_size)($gp) +/* 0042C5D0 8C4F0000 */ lw $t7, ($v0) +/* 0042C5D4 25EB0004 */ addiu $t3, $t7, 4 +/* 0042C5D8 AC4B0000 */ sw $t3, ($v0) +.L0042C5DC: +/* 0042C5DC 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042C5E0 8C4C0000 */ lw $t4, ($v0) +/* 0042C5E4 8C490004 */ lw $t1, 4($v0) +/* 0042C5E8 8C4E0008 */ lw $t6, 8($v0) +/* 0042C5EC 35880100 */ ori $t0, $t4, 0x100 +/* 0042C5F0 AC480000 */ sw $t0, ($v0) +/* 0042C5F4 AC490004 */ sw $t1, 4($v0) +/* 0042C5F8 AC4E0008 */ sw $t6, 8($v0) +.L0042C5FC: +/* 0042C5FC 8F838A64 */ lw $v1, %got(frame_size)($gp) +/* 0042C600 8EC20008 */ lw $v0, 8($s6) +/* 0042C604 8C6A0000 */ lw $t2, ($v1) +/* 0042C608 904F0020 */ lbu $t7, 0x20($v0) +/* 0042C60C 25580007 */ addiu $t8, $t2, 7 +/* 0042C610 07010003 */ bgez $t8, .L0042C620 +/* 0042C614 0018C8C3 */ sra $t9, $t8, 3 +/* 0042C618 27010007 */ addiu $at, $t8, 7 +/* 0042C61C 0001C8C3 */ sra $t9, $at, 3 +.L0042C620: +/* 0042C620 001968C0 */ sll $t5, $t9, 3 +/* 0042C624 2DEB00A0 */ sltiu $t3, $t7, 0xa0 +/* 0042C628 1160000A */ beqz $t3, .L0042C654 +/* 0042C62C AC6D0000 */ sw $t5, ($v1) +/* 0042C630 8F898038 */ lw $t1, %got(D_1001615C)($gp) +/* 0042C634 000F6143 */ sra $t4, $t7, 5 +/* 0042C638 000C4080 */ sll $t0, $t4, 2 +/* 0042C63C 2529615C */ addiu $t1, %lo(D_1001615C) # addiu $t1, $t1, 0x615c +/* 0042C640 01287021 */ addu $t6, $t1, $t0 +/* 0042C644 8DCA0000 */ lw $t2, ($t6) +/* 0042C648 01EAC004 */ sllv $t8, $t2, $t7 +/* 0042C64C 2B190000 */ slti $t9, $t8, 0 +/* 0042C650 03205825 */ move $t3, $t9 +.L0042C654: +/* 0042C654 11600011 */ beqz $t3, .L0042C69C +/* 0042C658 00000000 */ nop +/* 0042C65C 8C420008 */ lw $v0, 8($v0) +.L0042C660: +/* 0042C660 904D0020 */ lbu $t5, 0x20($v0) +/* 0042C664 2DAC00A0 */ sltiu $t4, $t5, 0xa0 +/* 0042C668 1180000A */ beqz $t4, .L0042C694 +/* 0042C66C 00000000 */ nop +/* 0042C670 8F8E8038 */ lw $t6, %got(D_1001615C)($gp) +/* 0042C674 000D4943 */ sra $t1, $t5, 5 +/* 0042C678 00094080 */ sll $t0, $t1, 2 +/* 0042C67C 25CE615C */ addiu $t6, %lo(D_1001615C) # addiu $t6, $t6, 0x615c +/* 0042C680 01C85021 */ addu $t2, $t6, $t0 +/* 0042C684 8D4F0000 */ lw $t7, ($t2) +/* 0042C688 01AFC004 */ sllv $t8, $t7, $t5 +/* 0042C68C 2B190000 */ slti $t9, $t8, 0 +/* 0042C690 03206025 */ move $t4, $t9 +.L0042C694: +/* 0042C694 5580FFF2 */ bnel $t4, $zero, .L0042C660 +/* 0042C698 8C420008 */ lw $v0, 8($v0) +.L0042C69C: +/* 0042C69C 8F818AC4 */ lw $at, %got(has_aent)($gp) +/* 0042C6A0 8F8E8A9C */ lw $t6, %got(first_ent)($gp) +/* 0042C6A4 92CB0021 */ lbu $t3, 0x21($s6) +/* 0042C6A8 A0200000 */ sb $zero, ($at) +/* 0042C6AC 91CE0000 */ lbu $t6, ($t6) +/* 0042C6B0 8F818B80 */ lw $at, %got(current_text_sec)($gp) +/* 0042C6B4 3169001F */ andi $t1, $t3, 0x1f +/* 0042C6B8 AFA2015C */ sw $v0, 0x15c($sp) +/* 0042C6BC A3A90127 */ sb $t1, 0x127($sp) +/* 0042C6C0 11C0000E */ beqz $t6, .L0042C6FC +/* 0042C6C4 AC200000 */ sw $zero, ($at) +/* 0042C6C8 8F888A78 */ lw $t0, %got(resident_text)($gp) +/* 0042C6CC 8F818A9C */ lw $at, %got(first_ent)($gp) +/* 0042C6D0 91080000 */ lbu $t0, ($t0) +/* 0042C6D4 A0200000 */ sb $zero, ($at) +/* 0042C6D8 51000009 */ beql $t0, $zero, .L0042C700 +/* 0042C6DC 30EA0100 */ andi $t2, $a3, 0x100 +/* 0042C6E0 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0042C6E4 2404003A */ li $a0, 58 +/* 0042C6E8 00002825 */ move $a1, $zero +/* 0042C6EC 0320F809 */ jalr $t9 +/* 0042C6F0 00000000 */ nop +/* 0042C6F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C6F8 8EC7002C */ lw $a3, 0x2c($s6) +.L0042C6FC: +/* 0042C6FC 30EA0100 */ andi $t2, $a3, 0x100 +.L0042C700: +/* 0042C700 11400008 */ beqz $t2, .L0042C724 +/* 0042C704 00000000 */ nop +/* 0042C708 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 0042C70C 8F9982E4 */ lw $t9, %call16(clear_saved_regs)($gp) +/* 0042C710 AC200000 */ sw $zero, ($at) +/* 0042C714 8F818AC0 */ lw $at, %got(saved_regs_size)($gp) +/* 0042C718 0320F809 */ jalr $t9 +/* 0042C71C AC200000 */ sw $zero, ($at) +/* 0042C720 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C724: +/* 0042C724 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042C728 100019E2 */ b .L00432EB4 +/* 0042C72C 90840000 */ lbu $a0, ($a0) +.L0042C730: +/* 0042C730 8ECF002C */ lw $t7, 0x2c($s6) +/* 0042C734 31ED0080 */ andi $t5, $t7, 0x80 +/* 0042C738 11A00007 */ beqz $t5, .L0042C758 +/* 0042C73C 00000000 */ nop +/* 0042C740 8F818A70 */ lw $at, %got(home_vararg_reg)($gp) +/* 0042C744 8F878AA0 */ lw $a3, %got(local_var_size)($gp) +/* 0042C748 24180001 */ li $t8, 1 +/* 0042C74C A0380000 */ sb $t8, ($at) +/* 0042C750 10000007 */ b .L0042C770 +/* 0042C754 8CE70000 */ lw $a3, ($a3) +.L0042C758: +/* 0042C758 8F9983B0 */ lw $t9, %call16(unhome_parms)($gp) +/* 0042C75C 0320F809 */ jalr $t9 +/* 0042C760 00000000 */ nop +/* 0042C764 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C768 8F878AA0 */ lw $a3, %got(local_var_size)($gp) +/* 0042C76C 8CE70000 */ lw $a3, ($a3) +.L0042C770: +/* 0042C770 8F818AC4 */ lw $at, %got(has_aent)($gp) +/* 0042C774 8F8C8AA4 */ lw $t4, %got(temp_size)($gp) +/* 0042C778 8F8B8AC0 */ lw $t3, %got(saved_regs_size)($gp) +/* 0042C77C 24190001 */ li $t9, 1 +/* 0042C780 A0390000 */ sb $t9, ($at) +/* 0042C784 8F9982E0 */ lw $t9, %call16(gen_entry)($gp) +/* 0042C788 8F868A64 */ lw $a2, %got(frame_size)($gp) +/* 0042C78C 8D8C0000 */ lw $t4, ($t4) +/* 0042C790 8D6B0000 */ lw $t3, ($t3) +/* 0042C794 96C50022 */ lhu $a1, 0x22($s6) +/* 0042C798 8EC40024 */ lw $a0, 0x24($s6) +/* 0042C79C 8CC60000 */ lw $a2, ($a2) +/* 0042C7A0 AFAC0010 */ sw $t4, 0x10($sp) +/* 0042C7A4 0320F809 */ jalr $t9 +/* 0042C7A8 AFAB0014 */ sw $t3, 0x14($sp) +/* 0042C7AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C7B0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042C7B4 100019BF */ b .L00432EB4 +/* 0042C7B8 90840000 */ lbu $a0, ($a0) +.L0042C7BC: +/* 0042C7BC 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 0042C7C0 0320F809 */ jalr $t9 +/* 0042C7C4 00000000 */ nop +/* 0042C7C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C7CC 8F898AA8 */ lw $t1, %got(generate_again)($gp) +/* 0042C7D0 91290000 */ lbu $t1, ($t1) +/* 0042C7D4 55201A0E */ bnel $t1, $zero, .L00433010 +/* 0042C7D8 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 0042C7DC 8F9985C8 */ lw $t9, %call16(get_temp_area_size)($gp) +/* 0042C7E0 0320F809 */ jalr $t9 +/* 0042C7E4 00000000 */ nop +/* 0042C7E8 10400046 */ beqz $v0, .L0042C904 +/* 0042C7EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C7F0 8F9981CC */ lw $t9, %call16(restore_i_ptrs)($gp) +/* 0042C7F4 8F818AA8 */ lw $at, %got(generate_again)($gp) +/* 0042C7F8 240E0001 */ li $t6, 1 +/* 0042C7FC 0320F809 */ jalr $t9 +/* 0042C800 A02E0000 */ sb $t6, ($at) +/* 0042C804 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C808 8F9985C8 */ lw $t9, %call16(get_temp_area_size)($gp) +/* 0042C80C 0320F809 */ jalr $t9 +/* 0042C810 00000000 */ nop +/* 0042C814 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C818 24480007 */ addiu $t0, $v0, 7 +/* 0042C81C 8F838A64 */ lw $v1, %got(frame_size)($gp) +/* 0042C820 8F858AA4 */ lw $a1, %got(temp_size)($gp) +/* 0042C824 05010003 */ bgez $t0, .L0042C834 +/* 0042C828 000850C3 */ sra $t2, $t0, 3 +/* 0042C82C 25010007 */ addiu $at, $t0, 7 +/* 0042C830 000150C3 */ sra $t2, $at, 3 +.L0042C834: +/* 0042C834 8C6D0000 */ lw $t5, ($v1) +/* 0042C838 8F8B8AB8 */ lw $t3, %got(max_arg_build)($gp) +/* 0042C83C 000A78C0 */ sll $t7, $t2, 3 +/* 0042C840 01AFC821 */ addu $t9, $t5, $t7 +/* 0042C844 AC790000 */ sw $t9, ($v1) +/* 0042C848 ACAF0000 */ sw $t7, ($a1) +/* 0042C84C 8F8E8AC0 */ lw $t6, %got(saved_regs_size)($gp) +/* 0042C850 8D6B0000 */ lw $t3, ($t3) +/* 0042C854 8DCE0000 */ lw $t6, ($t6) +/* 0042C858 032B4823 */ subu $t1, $t9, $t3 +/* 0042C85C 8F9985CC */ lw $t9, %call16(set_temps_offset)($gp) +/* 0042C860 012E2023 */ subu $a0, $t1, $t6 +/* 0042C864 00042023 */ negu $a0, $a0 +/* 0042C868 0320F809 */ jalr $t9 +/* 0042C86C 00000000 */ nop +/* 0042C870 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C874 8FA4015C */ lw $a0, 0x15c($sp) +/* 0042C878 8F9983B8 */ lw $t9, %call16(clean_tree)($gp) +/* 0042C87C 0320F809 */ jalr $t9 +/* 0042C880 00000000 */ nop +/* 0042C884 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C888 24080001 */ li $t0, 1 +/* 0042C88C 2406000E */ li $a2, 14 +/* 0042C890 8F8A89E0 */ lw $t2, %got(debug_ugen)($gp) +/* 0042C894 8F818AAC */ lw $at, %got(first_loc)($gp) +/* 0042C898 914A0000 */ lbu $t2, ($t2) +/* 0042C89C A0280000 */ sb $t0, ($at) +/* 0042C8A0 1140000E */ beqz $t2, .L0042C8DC +/* 0042C8A4 00000000 */ nop +/* 0042C8A8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0042C8AC 8F908954 */ lw $s0, %got(output)($gp) +/* 0042C8B0 8F858038 */ lw $a1, %got(RO_1000AD1A)($gp) +/* 0042C8B4 2407000E */ li $a3, 14 +/* 0042C8B8 8E040000 */ lw $a0, ($s0) +/* 0042C8BC 0320F809 */ jalr $t9 +/* 0042C8C0 24A5AD1A */ addiu $a1, %lo(RO_1000AD1A) # addiu $a1, $a1, -0x52e6 +/* 0042C8C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C8C8 8E040000 */ lw $a0, ($s0) +/* 0042C8CC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0042C8D0 0320F809 */ jalr $t9 +/* 0042C8D4 00000000 */ nop +/* 0042C8D8 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C8DC: +/* 0042C8DC 8F9985A4 */ lw $t9, %call16(init_temps)($gp) +/* 0042C8E0 0320F809 */ jalr $t9 +/* 0042C8E4 00000000 */ nop +/* 0042C8E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C8EC 8FA4015C */ lw $a0, 0x15c($sp) +/* 0042C8F0 24050048 */ li $a1, 72 +/* 0042C8F4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042C8F8 0320F809 */ jalr $t9 +/* 0042C8FC 00000000 */ nop +/* 0042C900 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C904: +/* 0042C904 8F8D897C */ lw $t5, %got(i_ptr)($gp) +/* 0042C908 8F8F8978 */ lw $t7, %got(ibuffer)($gp) +/* 0042C90C 8F818AA8 */ lw $at, %got(generate_again)($gp) +/* 0042C910 8DAD0000 */ lw $t5, ($t5) +/* 0042C914 8DEF0000 */ lw $t7, ($t7) +/* 0042C918 A0200000 */ sb $zero, ($at) +/* 0042C91C 000DC100 */ sll $t8, $t5, 4 +/* 0042C920 01F81021 */ addu $v0, $t7, $t8 +/* 0042C924 9059FFE5 */ lbu $t9, -0x1b($v0) +/* 0042C928 24010017 */ li $at, 23 +/* 0042C92C 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 0042C930 332C003F */ andi $t4, $t9, 0x3f +/* 0042C934 1581000D */ bne $t4, $at, .L0042C96C +/* 0042C938 00000000 */ nop +/* 0042C93C 944BFFF6 */ lhu $t3, -0xa($v0) +/* 0042C940 24010004 */ li $at, 4 +/* 0042C944 000B4D80 */ sll $t1, $t3, 0x16 +/* 0042C948 000975C2 */ srl $t6, $t1, 0x17 +/* 0042C94C 15C10007 */ bne $t6, $at, .L0042C96C +/* 0042C950 00000000 */ nop +/* 0042C954 8F998240 */ lw $t9, %call16(emit_dir1)($gp) +/* 0042C958 24040004 */ li $a0, 4 +/* 0042C95C 00002825 */ move $a1, $zero +/* 0042C960 0320F809 */ jalr $t9 +/* 0042C964 24060005 */ li $a2, 5 +/* 0042C968 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042C96C: +/* 0042C96C 8F998428 */ lw $t9, %call16(output_pool)($gp) +/* 0042C970 0320F809 */ jalr $t9 +/* 0042C974 00000000 */ nop +/* 0042C978 8FA80130 */ lw $t0, 0x130($sp) +/* 0042C97C 2401FFFF */ li $at, -1 +/* 0042C980 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042C984 15010071 */ bne $t0, $at, .L0042CB4C +/* 0042C988 00000000 */ nop +/* 0042C98C 8F8A8AC4 */ lw $t2, %got(has_aent)($gp) +/* 0042C990 93AF0127 */ lbu $t7, 0x127($sp) +/* 0042C994 AFA0013C */ sw $zero, 0x13c($sp) +/* 0042C998 914A0000 */ lbu $t2, ($t2) +/* 0042C99C 00003025 */ move $a2, $zero +/* 0042C9A0 2401000B */ li $at, 11 +/* 0042C9A4 11400005 */ beqz $t2, .L0042C9BC +/* 0042C9A8 25F8FFFB */ addiu $t8, $t7, -5 +/* 0042C9AC 3C0D2000 */ lui $t5, 0x2000 +/* 0042C9B0 AFAD013C */ sw $t5, 0x13c($sp) +/* 0042C9B4 1000001C */ b .L0042CA28 +/* 0042C9B8 3C06F000 */ lui $a2, 0xf000 +.L0042C9BC: +/* 0042C9BC 11E1001A */ beq $t7, $at, .L0042CA28 +/* 0042C9C0 2F010009 */ sltiu $at, $t8, 9 +/* 0042C9C4 10200016 */ beqz $at, .L0042CA20 +/* 0042C9C8 01E02025 */ move $a0, $t7 +/* 0042C9CC 8F818038 */ lw $at, %got(jtbl_1000AD28)($gp) +/* 0042C9D0 0018C080 */ sll $t8, $t8, 2 +/* 0042C9D4 00380821 */ addu $at, $at, $t8 +/* 0042C9D8 8C38AD28 */ lw $t8, %lo(jtbl_1000AD28)($at) +/* 0042C9DC 031CC021 */ addu $t8, $t8, $gp +/* 0042C9E0 03000008 */ jr $t8 +/* 0042C9E4 00000000 */ nop +.L0042C9E8: +/* 0042C9E8 1000000F */ b .L0042CA28 +/* 0042C9EC 3C06A000 */ lui $a2, 0xa000 +.L0042C9F0: +/* 0042C9F0 1000000D */ b .L0042CA28 +/* 0042C9F4 3C06F000 */ lui $a2, 0xf000 +.L0042C9F8: +/* 0042C9F8 8F9989DC */ lw $t9, %got(basicint)($gp) +/* 0042C9FC 3C0C3000 */ lui $t4, 0x3000 +/* 0042CA00 3C0B2000 */ lui $t3, 0x2000 +/* 0042CA04 93390000 */ lbu $t9, ($t9) +/* 0042CA08 17200003 */ bnez $t9, .L0042CA18 +/* 0042CA0C 00000000 */ nop +/* 0042CA10 10000005 */ b .L0042CA28 +/* 0042CA14 AFAC013C */ sw $t4, 0x13c($sp) +.L0042CA18: +/* 0042CA18 10000003 */ b .L0042CA28 +/* 0042CA1C AFAB013C */ sw $t3, 0x13c($sp) +.L0042CA20: +/* 0042CA20 3C092000 */ lui $t1, 0x2000 +/* 0042CA24 AFA9013C */ sw $t1, 0x13c($sp) +.L0042CA28: +/* 0042CA28 8F908AD4 */ lw $s0, %got(pdefs)($gp) +/* 0042CA2C 8E100000 */ lw $s0, ($s0) +/* 0042CA30 5200003F */ beql $s0, $zero, .L0042CB30 +/* 0042CA34 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042CA38 8E0E0030 */ lw $t6, 0x30($s0) +/* 0042CA3C 2401FFFF */ li $at, -1 +/* 0042CA40 51C1003B */ beql $t6, $at, .L0042CB30 +/* 0042CA44 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042CA48 96080022 */ lhu $t0, 0x22($s0) +.L0042CA4C: +/* 0042CA4C 24010001 */ li $at, 1 +/* 0042CA50 AFA60138 */ sw $a2, 0x138($sp) +/* 0042CA54 5101002E */ beql $t0, $at, .L0042CB10 +/* 0042CA58 8E100008 */ lw $s0, 8($s0) +/* 0042CA5C 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042CA60 02002025 */ move $a0, $s0 +/* 0042CA64 AFA60138 */ sw $a2, 0x138($sp) +/* 0042CA68 0320F809 */ jalr $t9 +/* 0042CA6C 00000000 */ nop +/* 0042CA70 920A0021 */ lbu $t2, 0x21($s0) +/* 0042CA74 3C01000C */ lui $at, 0xc +/* 0042CA78 34218000 */ ori $at, $at, 0x8000 +/* 0042CA7C 314D001F */ andi $t5, $t2, 0x1f +/* 0042CA80 2DAF0020 */ sltiu $t7, $t5, 0x20 +/* 0042CA84 000FC023 */ negu $t8, $t7 +/* 0042CA88 0301C824 */ and $t9, $t8, $at +/* 0042CA8C 01B96004 */ sllv $t4, $t9, $t5 +/* 0042CA90 05810010 */ bgez $t4, .L0042CAD4 +/* 0042CA94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042CA98 8FAB0138 */ lw $t3, 0x138($sp) +/* 0042CA9C 8E0A0028 */ lw $t2, 0x28($s0) +/* 0042CAA0 304300FF */ andi $v1, $v0, 0xff +/* 0042CAA4 3C098000 */ lui $t1, 0x8000 +/* 0042CAA8 00697006 */ srlv $t6, $t1, $v1 +/* 0042CAAC 24010008 */ li $at, 8 +/* 0042CAB0 016E4025 */ or $t0, $t3, $t6 +/* 0042CAB4 15410015 */ bne $t2, $at, .L0042CB0C +/* 0042CAB8 AFA80138 */ sw $t0, 0x138($sp) +/* 0042CABC 24780001 */ addiu $t8, $v1, 1 +/* 0042CAC0 3C198000 */ lui $t9, 0x8000 +/* 0042CAC4 03196806 */ srlv $t5, $t9, $t8 +/* 0042CAC8 010D6025 */ or $t4, $t0, $t5 +/* 0042CACC 1000000F */ b .L0042CB0C +/* 0042CAD0 AFAC0138 */ sw $t4, 0x138($sp) +.L0042CAD4: +/* 0042CAD4 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042CAD8 8E0A0028 */ lw $t2, 0x28($s0) +/* 0042CADC 304300FF */ andi $v1, $v0, 0xff +/* 0042CAE0 3C0B8000 */ lui $t3, 0x8000 +/* 0042CAE4 006B7006 */ srlv $t6, $t3, $v1 +/* 0042CAE8 24010008 */ li $at, 8 +/* 0042CAEC 012E4025 */ or $t0, $t1, $t6 +/* 0042CAF0 15410006 */ bne $t2, $at, .L0042CB0C +/* 0042CAF4 AFA8013C */ sw $t0, 0x13c($sp) +/* 0042CAF8 24780001 */ addiu $t8, $v1, 1 +/* 0042CAFC 3C0F8000 */ lui $t7, 0x8000 +/* 0042CB00 030F6806 */ srlv $t5, $t7, $t8 +/* 0042CB04 010D6025 */ or $t4, $t0, $t5 +/* 0042CB08 AFAC013C */ sw $t4, 0x13c($sp) +.L0042CB0C: +/* 0042CB0C 8E100008 */ lw $s0, 8($s0) +.L0042CB10: +/* 0042CB10 8FA60138 */ lw $a2, 0x138($sp) +/* 0042CB14 52000006 */ beql $s0, $zero, .L0042CB30 +/* 0042CB18 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042CB1C 8E0B0030 */ lw $t3, 0x30($s0) +/* 0042CB20 2401FFFF */ li $at, -1 +/* 0042CB24 5561FFC9 */ bnel $t3, $at, .L0042CA4C +/* 0042CB28 96080022 */ lhu $t0, 0x22($s0) +/* 0042CB2C 8FA9013C */ lw $t1, 0x13c($sp) +.L0042CB30: +/* 0042CB30 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 0042CB34 34C60FFF */ ori $a2, $a2, 0xfff +/* 0042CB38 3525FF0E */ ori $a1, $t1, 0xff0e +/* 0042CB3C AFA5013C */ sw $a1, 0x13c($sp) +/* 0042CB40 0320F809 */ jalr $t9 +/* 0042CB44 24040035 */ li $a0, 53 +/* 0042CB48 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042CB4C: +/* 0042CB4C 8F8A8A94 */ lw $t2, %got(has_calls)($gp) +/* 0042CB50 8F888AA0 */ lw $t0, %got(local_var_size)($gp) +/* 0042CB54 8F988AB0 */ lw $t8, %got(first_file_number)($gp) +/* 0042CB58 914A0000 */ lbu $t2, ($t2) +/* 0042CB5C 8D080000 */ lw $t0, ($t0) +/* 0042CB60 8F998AB4 */ lw $t9, %got(first_line_number)($gp) +/* 0042CB64 2D4F0001 */ sltiu $t7, $t2, 1 +/* 0042CB68 8F8A8AC0 */ lw $t2, %got(saved_regs_size)($gp) +/* 0042CB6C 8F8B8AC8 */ lw $t3, %got(load_stack_limit)($gp) +/* 0042CB70 8F898ABC */ lw $t1, %got(reloc_arg_build)($gp) +/* 0042CB74 8F8E8AA4 */ lw $t6, %got(temp_size)($gp) +/* 0042CB78 AFA80010 */ sw $t0, 0x10($sp) +/* 0042CB7C 93A80146 */ lbu $t0, 0x146($sp) +/* 0042CB80 93AD0145 */ lbu $t5, 0x145($sp) +/* 0042CB84 93AC0144 */ lbu $t4, 0x144($sp) +/* 0042CB88 8F180000 */ lw $t8, ($t8) +/* 0042CB8C 8F390000 */ lw $t9, ($t9) +/* 0042CB90 8D4A0000 */ lw $t2, ($t2) +/* 0042CB94 916B0000 */ lbu $t3, ($t3) +/* 0042CB98 8D290000 */ lw $t1, ($t1) +/* 0042CB9C 8DCE0000 */ lw $t6, ($t6) +/* 0042CBA0 AFAF0014 */ sw $t7, 0x14($sp) +/* 0042CBA4 8F8F8B80 */ lw $t7, %got(current_text_sec)($gp) +/* 0042CBA8 AFA80034 */ sw $t0, 0x34($sp) +/* 0042CBAC AFAD0020 */ sw $t5, 0x20($sp) +/* 0042CBB0 AFAC0024 */ sw $t4, 0x24($sp) +/* 0042CBB4 AFB80018 */ sw $t8, 0x18($sp) +/* 0042CBB8 AFB9001C */ sw $t9, 0x1c($sp) +/* 0042CBBC AFAA0038 */ sw $t2, 0x38($sp) +/* 0042CBC0 AFAB0028 */ sw $t3, 0x28($sp) +/* 0042CBC4 AFA9002C */ sw $t1, 0x2c($sp) +/* 0042CBC8 AFAE0030 */ sw $t6, 0x30($sp) +/* 0042CBCC 8DF90000 */ lw $t9, ($t7) +/* 0042CBD0 8FAB012C */ lw $t3, 0x12c($sp) +/* 0042CBD4 8FAC0154 */ lw $t4, 0x154($sp) +/* 0042CBD8 AFB90040 */ sw $t9, 0x40($sp) +/* 0042CBDC 8F9982DC */ lw $t9, %call16(gen_entry_exit)($gp) +/* 0042CBE0 8DF80004 */ lw $t8, 4($t7) +/* 0042CBE4 8FAD0130 */ lw $t5, 0x130($sp) +/* 0042CBE8 8F848ACC */ lw $a0, %got(entry_point_index)($gp) +/* 0042CBEC 8F868AD0 */ lw $a2, %got(curlev)($gp) +/* 0042CBF0 8F878A64 */ lw $a3, %got(frame_size)($gp) +/* 0042CBF4 93A50147 */ lbu $a1, 0x147($sp) +/* 0042CBF8 AFAB0050 */ sw $t3, 0x50($sp) +/* 0042CBFC AFAC004C */ sw $t4, 0x4c($sp) +/* 0042CC00 AFB80044 */ sw $t8, 0x44($sp) +/* 0042CC04 AFAD0048 */ sw $t5, 0x48($sp) +/* 0042CC08 8C840000 */ lw $a0, ($a0) +/* 0042CC0C 8CC60000 */ lw $a2, ($a2) +/* 0042CC10 0320F809 */ jalr $t9 +/* 0042CC14 8CE70000 */ lw $a3, ($a3) +/* 0042CC18 8FA90130 */ lw $t1, 0x130($sp) +/* 0042CC1C 2401FFFF */ li $at, -1 +/* 0042CC20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042CC24 11210007 */ beq $t1, $at, .L0042CC44 +/* 0042CC28 24040022 */ li $a0, 34 +/* 0042CC2C 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0042CC30 01202825 */ move $a1, $t1 +/* 0042CC34 00003025 */ move $a2, $zero +/* 0042CC38 0320F809 */ jalr $t9 +/* 0042CC3C 00003825 */ move $a3, $zero +/* 0042CC40 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042CC44: +/* 0042CC44 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042CC48 24040018 */ li $a0, 24 +/* 0042CC4C 8EC50024 */ lw $a1, 0x24($s6) +/* 0042CC50 0320F809 */ jalr $t9 +/* 0042CC54 00000000 */ nop +/* 0042CC58 100018EC */ b .L0043300C +/* 0042CC5C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042CC60: +/* 0042CC60 8F8E8B80 */ lw $t6, %got(current_text_sec)($gp) +/* 0042CC64 8ECA0030 */ lw $t2, 0x30($s6) +/* 0042CC68 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042CC6C ADCA0000 */ sw $t2, ($t6) +/* 0042CC70 8EC80034 */ lw $t0, 0x34($s6) +/* 0042CC74 ADC80004 */ sw $t0, 4($t6) +/* 0042CC78 1000188E */ b .L00432EB4 +/* 0042CC7C 90840000 */ lbu $a0, ($a0) +.L0042CC80: +/* 0042CC80 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042CC84 2404003E */ li $a0, 62 +/* 0042CC88 8EC50024 */ lw $a1, 0x24($s6) +/* 0042CC8C 0320F809 */ jalr $t9 +/* 0042CC90 00000000 */ nop +/* 0042CC94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042CC98 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042CC9C 10001885 */ b .L00432EB4 +/* 0042CCA0 90840000 */ lbu $a0, ($a0) +.L0042CCA4: +/* 0042CCA4 92C40021 */ lbu $a0, 0x21($s6) +/* 0042CCA8 00042600 */ sll $a0, $a0, 0x18 +/* 0042CCAC 00042742 */ srl $a0, $a0, 0x1d +/* 0042CCB0 308400FF */ andi $a0, $a0, 0xff +/* 0042CCB4 248FFFFF */ addiu $t7, $a0, -1 +/* 0042CCB8 2DE10006 */ sltiu $at, $t7, 6 +/* 0042CCBC 1020009F */ beqz $at, .L0042CF3C +/* 0042CCC0 00000000 */ nop +/* 0042CCC4 8F818038 */ lw $at, %got(jtbl_1000AD4C)($gp) +/* 0042CCC8 000F7880 */ sll $t7, $t7, 2 +/* 0042CCCC 002F0821 */ addu $at, $at, $t7 +/* 0042CCD0 8C2FAD4C */ lw $t7, %lo(jtbl_1000AD4C)($at) +/* 0042CCD4 01FC7821 */ addu $t7, $t7, $gp +/* 0042CCD8 01E00008 */ jr $t7 +/* 0042CCDC 00000000 */ nop +.L0042CCE0: +/* 0042CCE0 8F9983B4 */ lw $t9, %call16(home_parms)($gp) +/* 0042CCE4 8ED80000 */ lw $t8, ($s6) +/* 0042CCE8 8F818AD4 */ lw $at, %got(pdefs)($gp) +/* 0042CCEC 8FA40154 */ lw $a0, 0x154($sp) +/* 0042CCF0 0320F809 */ jalr $t9 +/* 0042CCF4 AC380000 */ sw $t8, ($at) +/* 0042CCF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042CCFC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042CD00 1000186C */ b .L00432EB4 +/* 0042CD04 90840000 */ lbu $a0, ($a0) +.L0042CD08: +/* 0042CD08 8F998A6C */ lw $t9, %got(use_real_fp_for_proc)($gp) +/* 0042CD0C 93390000 */ lbu $t9, ($t9) +/* 0042CD10 13200026 */ beqz $t9, .L0042CDAC +/* 0042CD14 00000000 */ nop +/* 0042CD18 8F99851C */ lw $t9, %call16(add_to_free_list)($gp) +/* 0042CD1C 8F848A60 */ lw $a0, %got(frame_pointer)($gp) +/* 0042CD20 0320F809 */ jalr $t9 +/* 0042CD24 90840000 */ lbu $a0, ($a0) +/* 0042CD28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042CD2C 240D001E */ li $t5, 30 +/* 0042CD30 8F818A60 */ lw $at, %got(frame_pointer)($gp) +/* 0042CD34 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042CD38 8F898A60 */ lw $t1, %got(frame_pointer)($gp) +/* 0042CD3C A02D0000 */ sb $t5, ($at) +/* 0042CD40 8C4C0000 */ lw $t4, ($v0) +/* 0042CD44 8C580004 */ lw $t8, 4($v0) +/* 0042CD48 8F838A64 */ lw $v1, %got(frame_size)($gp) +/* 0042CD4C 358B0002 */ ori $t3, $t4, 2 +/* 0042CD50 AC4B0000 */ sw $t3, ($v0) +/* 0042CD54 91290000 */ lbu $t1, ($t1) +/* 0042CD58 8F818AC0 */ lw $at, %got(saved_regs_size)($gp) +/* 0042CD5C 252EFFE0 */ addiu $t6, $t1, -0x20 +/* 0042CD60 2DC80020 */ sltiu $t0, $t6, 0x20 +/* 0042CD64 01205027 */ not $t2, $t1 +/* 0042CD68 01487804 */ sllv $t7, $t0, $t2 +/* 0042CD6C 030FC825 */ or $t9, $t8, $t7 +/* 0042CD70 8C480008 */ lw $t0, 8($v0) +/* 0042CD74 8C780000 */ lw $t8, ($v1) +/* 0042CD78 252DFFC0 */ addiu $t5, $t1, -0x40 +/* 0042CD7C 2DAC0020 */ sltiu $t4, $t5, 0x20 +/* 0042CD80 AC590004 */ sw $t9, 4($v0) +/* 0042CD84 01205827 */ not $t3, $t1 +/* 0042CD88 8F998AC0 */ lw $t9, %got(saved_regs_size)($gp) +/* 0042CD8C 016C7004 */ sllv $t6, $t4, $t3 +/* 0042CD90 010E5025 */ or $t2, $t0, $t6 +/* 0042CD94 270F0008 */ addiu $t7, $t8, 8 +/* 0042CD98 AC4A0008 */ sw $t2, 8($v0) +/* 0042CD9C AC6F0000 */ sw $t7, ($v1) +/* 0042CDA0 8F390000 */ lw $t9, ($t9) +/* 0042CDA4 272D0008 */ addiu $t5, $t9, 8 +/* 0042CDA8 AC2D0000 */ sw $t5, ($at) +.L0042CDAC: +/* 0042CDAC 8F8989E4 */ lw $t1, %got(pic_level)($gp) +/* 0042CDB0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042CDB4 8F8389B4 */ lw $v1, %got(pseudo_leaf)($gp) +/* 0042CDB8 8D290000 */ lw $t1, ($t1) +/* 0042CDBC 90840000 */ lbu $a0, ($a0) +/* 0042CDC0 90630000 */ lbu $v1, ($v1) +/* 0042CDC4 59200021 */ blezl $t1, .L0042CE4C +/* 0042CDC8 8EC90028 */ lw $t1, 0x28($s6) +/* 0042CDCC 8F8289F0 */ lw $v0, %got(use_cpalias)($gp) +/* 0042CDD0 90420000 */ lbu $v0, ($v0) +/* 0042CDD4 10400005 */ beqz $v0, .L0042CDEC +/* 0042CDD8 00000000 */ nop +/* 0042CDDC 8F828A60 */ lw $v0, %got(frame_pointer)($gp) +/* 0042CDE0 90420000 */ lbu $v0, ($v0) +/* 0042CDE4 3842001E */ xori $v0, $v0, 0x1e +/* 0042CDE8 0002102B */ sltu $v0, $zero, $v0 +.L0042CDEC: +/* 0042CDEC 8F8189F0 */ lw $at, %got(use_cpalias)($gp) +/* 0042CDF0 8F8C89F0 */ lw $t4, %got(use_cpalias)($gp) +/* 0042CDF4 A0220000 */ sb $v0, ($at) +/* 0042CDF8 918C0000 */ lbu $t4, ($t4) +/* 0042CDFC 1180000A */ beqz $t4, .L0042CE28 +/* 0042CE00 00000000 */ nop +/* 0042CE04 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042CE08 8C4B0000 */ lw $t3, ($v0) +/* 0042CE0C 8C4E0004 */ lw $t6, 4($v0) +/* 0042CE10 8C4A0008 */ lw $t2, 8($v0) +/* 0042CE14 35680002 */ ori $t0, $t3, 2 +/* 0042CE18 AC480000 */ sw $t0, ($v0) +/* 0042CE1C AC4E0004 */ sw $t6, 4($v0) +/* 0042CE20 10000009 */ b .L0042CE48 +/* 0042CE24 AC4A0008 */ sw $t2, 8($v0) +.L0042CE28: +/* 0042CE28 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042CE2C 8C580000 */ lw $t8, ($v0) +/* 0042CE30 8C590004 */ lw $t9, 4($v0) +/* 0042CE34 8C4D0008 */ lw $t5, 8($v0) +/* 0042CE38 370F0008 */ ori $t7, $t8, 8 +/* 0042CE3C AC4F0000 */ sw $t7, ($v0) +/* 0042CE40 AC590004 */ sw $t9, 4($v0) +/* 0042CE44 AC4D0008 */ sw $t5, 8($v0) +.L0042CE48: +/* 0042CE48 8EC90028 */ lw $t1, 0x28($s6) +.L0042CE4C: +/* 0042CE4C 252C0007 */ addiu $t4, $t1, 7 +/* 0042CE50 05810003 */ bgez $t4, .L0042CE60 +/* 0042CE54 000C58C3 */ sra $t3, $t4, 3 +/* 0042CE58 25810007 */ addiu $at, $t4, 7 +/* 0042CE5C 000158C3 */ sra $t3, $at, 3 +.L0042CE60: +/* 0042CE60 8F818AB8 */ lw $at, %got(max_arg_build)($gp) +/* 0042CE64 000B40C0 */ sll $t0, $t3, 3 +/* 0042CE68 14601812 */ bnez $v1, .L00432EB4 +/* 0042CE6C AC280000 */ sw $t0, ($at) +/* 0042CE70 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0042CE74 8F998AA8 */ lw $t9, %got(generate_again)($gp) +/* 0042CE78 8C4E0000 */ lw $t6, ($v0) +/* 0042CE7C 8C580004 */ lw $t8, 4($v0) +/* 0042CE80 8C4F0008 */ lw $t7, 8($v0) +/* 0042CE84 35CA0001 */ ori $t2, $t6, 1 +/* 0042CE88 AC4A0000 */ sw $t2, ($v0) +/* 0042CE8C AC580004 */ sw $t8, 4($v0) +/* 0042CE90 AC4F0008 */ sw $t7, 8($v0) +/* 0042CE94 93390000 */ lbu $t9, ($t9) +/* 0042CE98 17201806 */ bnez $t9, .L00432EB4 +/* 0042CE9C 00000000 */ nop +/* 0042CEA0 8F8D89F4 */ lw $t5, %got(framesz_relocatable)($gp) +/* 0042CEA4 91AD0000 */ lbu $t5, ($t5) +/* 0042CEA8 11A00008 */ beqz $t5, .L0042CECC +/* 0042CEAC 00000000 */ nop +/* 0042CEB0 8F898AB8 */ lw $t1, %got(max_arg_build)($gp) +/* 0042CEB4 8F818ABC */ lw $at, %got(reloc_arg_build)($gp) +/* 0042CEB8 8D290000 */ lw $t1, ($t1) +/* 0042CEBC AC290000 */ sw $t1, ($at) +/* 0042CEC0 8F818AB8 */ lw $at, %got(max_arg_build)($gp) +/* 0042CEC4 100017FB */ b .L00432EB4 +/* 0042CEC8 AC200000 */ sw $zero, ($at) +.L0042CECC: +/* 0042CECC 8F8C8A64 */ lw $t4, %got(frame_size)($gp) +/* 0042CED0 8F8B8AB8 */ lw $t3, %got(max_arg_build)($gp) +/* 0042CED4 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 0042CED8 8D8C0000 */ lw $t4, ($t4) +/* 0042CEDC 8D6B0000 */ lw $t3, ($t3) +/* 0042CEE0 018B4021 */ addu $t0, $t4, $t3 +/* 0042CEE4 100017F3 */ b .L00432EB4 +/* 0042CEE8 AC280000 */ sw $t0, ($at) +.L0042CEEC: +/* 0042CEEC 8ECE0028 */ lw $t6, 0x28($s6) +/* 0042CEF0 8F998AA8 */ lw $t9, %got(generate_again)($gp) +/* 0042CEF4 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042CEF8 25CA0007 */ addiu $t2, $t6, 7 +/* 0042CEFC 05410003 */ bgez $t2, .L0042CF0C +/* 0042CF00 000AC0C3 */ sra $t8, $t2, 3 +/* 0042CF04 25410007 */ addiu $at, $t2, 7 +/* 0042CF08 0001C0C3 */ sra $t8, $at, 3 +.L0042CF0C: +/* 0042CF0C 93390000 */ lbu $t9, ($t9) +/* 0042CF10 8F818AA0 */ lw $at, %got(local_var_size)($gp) +/* 0042CF14 001878C0 */ sll $t7, $t8, 3 +/* 0042CF18 90840000 */ lbu $a0, ($a0) +/* 0042CF1C 172017E5 */ bnez $t9, .L00432EB4 +/* 0042CF20 AC2F0000 */ sw $t7, ($at) +/* 0042CF24 8F8D8A64 */ lw $t5, %got(frame_size)($gp) +/* 0042CF28 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 0042CF2C 8DAD0000 */ lw $t5, ($t5) +/* 0042CF30 01AF4821 */ addu $t1, $t5, $t7 +/* 0042CF34 100017DF */ b .L00432EB4 +/* 0042CF38 AC290000 */ sw $t1, ($at) +.L0042CF3C: +/* 0042CF3C 8F8C8038 */ lw $t4, %got(RO_1000ACCA)($gp) +/* 0042CF40 24040004 */ li $a0, 4 +/* 0042CF44 24050F66 */ li $a1, 3942 +/* 0042CF48 258CACCA */ addiu $t4, %lo(RO_1000ACCA) # addiu $t4, $t4, -0x5336 +/* 0042CF4C 258A0048 */ addiu $t2, $t4, 0x48 +/* 0042CF50 03A07025 */ move $t6, $sp +.L0042CF54: +/* 0042CF54 89880000 */ lwl $t0, ($t4) +/* 0042CF58 99880003 */ lwr $t0, 3($t4) +/* 0042CF5C 258C000C */ addiu $t4, $t4, 0xc +/* 0042CF60 25CE000C */ addiu $t6, $t6, 0xc +/* 0042CF64 A9C8FFFC */ swl $t0, -4($t6) +/* 0042CF68 B9C8FFFF */ swr $t0, -1($t6) +/* 0042CF6C 898BFFF8 */ lwl $t3, -8($t4) +/* 0042CF70 998BFFFB */ lwr $t3, -5($t4) +/* 0042CF74 A9CB0000 */ swl $t3, ($t6) +/* 0042CF78 B9CB0003 */ swr $t3, 3($t6) +/* 0042CF7C 8988FFFC */ lwl $t0, -4($t4) +/* 0042CF80 9988FFFF */ lwr $t0, -1($t4) +/* 0042CF84 A9C80004 */ swl $t0, 4($t6) +/* 0042CF88 158AFFF2 */ bne $t4, $t2, .L0042CF54 +/* 0042CF8C B9C80007 */ swr $t0, 7($t6) +/* 0042CF90 89880000 */ lwl $t0, ($t4) +/* 0042CF94 99880003 */ lwr $t0, 3($t4) +/* 0042CF98 8F988038 */ lw $t8, %got(RO_1000AC7A)($gp) +/* 0042CF9C 03A07825 */ move $t7, $sp +/* 0042CFA0 A9C80008 */ swl $t0, 8($t6) +/* 0042CFA4 B9C8000B */ swr $t0, 0xb($t6) +/* 0042CFA8 898B0004 */ lwl $t3, 4($t4) +/* 0042CFAC 998B0007 */ lwr $t3, 7($t4) +/* 0042CFB0 2718AC7A */ addiu $t8, %lo(RO_1000AC7A) # addiu $t8, $t8, -0x5386 +/* 0042CFB4 27090048 */ addiu $t1, $t8, 0x48 +/* 0042CFB8 A9CB000C */ swl $t3, 0xc($t6) +/* 0042CFBC B9CB000F */ swr $t3, 0xf($t6) +.L0042CFC0: +/* 0042CFC0 8B0D0000 */ lwl $t5, ($t8) +/* 0042CFC4 9B0D0003 */ lwr $t5, 3($t8) +/* 0042CFC8 2718000C */ addiu $t8, $t8, 0xc +/* 0042CFCC 25EF000C */ addiu $t7, $t7, 0xc +/* 0042CFD0 A9ED004C */ swl $t5, 0x4c($t7) +/* 0042CFD4 B9ED004F */ swr $t5, 0x4f($t7) +/* 0042CFD8 8B19FFF8 */ lwl $t9, -8($t8) +/* 0042CFDC 9B19FFFB */ lwr $t9, -5($t8) +/* 0042CFE0 A9F90050 */ swl $t9, 0x50($t7) +/* 0042CFE4 B9F90053 */ swr $t9, 0x53($t7) +/* 0042CFE8 8B0DFFFC */ lwl $t5, -4($t8) +/* 0042CFEC 9B0DFFFF */ lwr $t5, -1($t8) +/* 0042CFF0 A9ED0054 */ swl $t5, 0x54($t7) +/* 0042CFF4 1709FFF2 */ bne $t8, $t1, .L0042CFC0 +/* 0042CFF8 B9ED0057 */ swr $t5, 0x57($t7) +/* 0042CFFC 8B0D0000 */ lwl $t5, ($t8) +/* 0042D000 9B0D0003 */ lwr $t5, 3($t8) +/* 0042D004 A9ED0058 */ swl $t5, 0x58($t7) +/* 0042D008 B9ED005B */ swr $t5, 0x5b($t7) +/* 0042D00C 8B190004 */ lwl $t9, 4($t8) +/* 0042D010 9B190007 */ lwr $t9, 7($t8) +/* 0042D014 A9F9005C */ swl $t9, 0x5c($t7) +/* 0042D018 B9F9005F */ swr $t9, 0x5f($t7) +/* 0042D01C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0042D020 8FA7000C */ lw $a3, 0xc($sp) +/* 0042D024 8FA60008 */ lw $a2, 8($sp) +/* 0042D028 0320F809 */ jalr $t9 +/* 0042D02C 00000000 */ nop +/* 0042D030 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D034 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D038 1000179E */ b .L00432EB4 +/* 0042D03C 90840000 */ lbu $a0, ($a0) +.L0042D040: +/* 0042D040 8F9983A8 */ lw $t9, %call16(gen_regs)($gp) +/* 0042D044 02C02025 */ move $a0, $s6 +/* 0042D048 0320F809 */ jalr $t9 +/* 0042D04C 00000000 */ nop +/* 0042D050 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D054 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D058 10001796 */ b .L00432EB4 +/* 0042D05C 90840000 */ lbu $a0, ($a0) +.L0042D060: +/* 0042D060 8F9981B4 */ lw $t9, %call16(get_domtag)($gp) +/* 0042D064 0320F809 */ jalr $t9 +/* 0042D068 00000000 */ nop +/* 0042D06C 10400008 */ beqz $v0, .L0042D090 +/* 0042D070 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D074 8F998244 */ lw $t9, %call16(emit_dir2)($gp) +/* 0042D078 24040032 */ li $a0, 50 +/* 0042D07C 00002825 */ move $a1, $zero +/* 0042D080 8EC60034 */ lw $a2, 0x34($s6) +/* 0042D084 0320F809 */ jalr $t9 +/* 0042D088 24070009 */ li $a3, 9 +/* 0042D08C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D090: +/* 0042D090 8ECA0030 */ lw $t2, 0x30($s6) +/* 0042D094 2401FFFF */ li $at, -1 +/* 0042D098 11410029 */ beq $t2, $at, .L0042D140 +/* 0042D09C 00000000 */ nop +/* 0042D0A0 92CC001A */ lbu $t4, 0x1a($s6) +/* 0042D0A4 11800026 */ beqz $t4, .L0042D140 +/* 0042D0A8 00000000 */ nop +/* 0042D0AC 8F998398 */ lw $t9, %call16(save_vreg)($gp) +/* 0042D0B0 02C02025 */ move $a0, $s6 +/* 0042D0B4 0320F809 */ jalr $t9 +/* 0042D0B8 00000000 */ nop +/* 0042D0BC 92CE0021 */ lbu $t6, 0x21($s6) +/* 0042D0C0 24010002 */ li $at, 2 +/* 0042D0C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D0C8 000E5E00 */ sll $t3, $t6, 0x18 +/* 0042D0CC 000B4742 */ srl $t0, $t3, 0x1d +/* 0042D0D0 15010006 */ bne $t0, $at, .L0042D0EC +/* 0042D0D4 00000000 */ nop +/* 0042D0D8 8F9983A0 */ lw $t9, %call16(load_parm_vreg)($gp) +/* 0042D0DC 02C02025 */ move $a0, $s6 +/* 0042D0E0 0320F809 */ jalr $t9 +/* 0042D0E4 00000000 */ nop +/* 0042D0E8 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D0EC: +/* 0042D0EC 8F828A44 */ lw $v0, %got(glevel)($gp) +/* 0042D0F0 24010003 */ li $at, 3 +/* 0042D0F4 90420000 */ lbu $v0, ($v0) +/* 0042D0F8 10400011 */ beqz $v0, .L0042D140 +/* 0042D0FC 00000000 */ nop +/* 0042D100 1041000F */ beq $v0, $at, .L0042D140 +/* 0042D104 00000000 */ nop +/* 0042D108 96C90022 */ lhu $t1, 0x22($s6) +/* 0042D10C 1520000C */ bnez $t1, .L0042D140 +/* 0042D110 00000000 */ nop +/* 0042D114 8ED30030 */ lw $s3, 0x30($s6) +/* 0042D118 8F9982AC */ lw $t9, %call16(emit_vreg)($gp) +/* 0042D11C 8EC5002C */ lw $a1, 0x2c($s6) +/* 0042D120 06610002 */ bgez $s3, .L0042D12C +/* 0042D124 02600821 */ move $at, $s3 +/* 0042D128 26610003 */ addiu $at, $s3, 3 +.L0042D12C: +/* 0042D12C 00019883 */ sra $s3, $at, 2 +/* 0042D130 326400FF */ andi $a0, $s3, 0xff +/* 0042D134 0320F809 */ jalr $t9 +/* 0042D138 8EC60024 */ lw $a2, 0x24($s6) +/* 0042D13C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D140: +/* 0042D140 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D144 1000175B */ b .L00432EB4 +/* 0042D148 90840000 */ lbu $a0, ($a0) +.L0042D14C: +/* 0042D14C 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 0042D150 0320F809 */ jalr $t9 +/* 0042D154 00000000 */ nop +/* 0042D158 96D80022 */ lhu $t8, 0x22($s6) +/* 0042D15C 24010001 */ li $at, 1 +/* 0042D160 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D164 53010007 */ beql $t8, $at, .L0042D184 +/* 0042D168 8ED10028 */ lw $s1, 0x28($s6) +/* 0042D16C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042D170 8EC40024 */ lw $a0, 0x24($s6) +/* 0042D174 0320F809 */ jalr $t9 +/* 0042D178 00000000 */ nop +/* 0042D17C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D180 8ED10028 */ lw $s1, 0x28($s6) +.L0042D184: +/* 0042D184 52200016 */ beql $s1, $zero, .L0042D1E0 +/* 0042D188 96CA0022 */ lhu $t2, 0x22($s6) +/* 0042D18C 8F8F8A54 */ lw $t7, %got(has_cia_in_file)($gp) +/* 0042D190 91EF0000 */ lbu $t7, ($t7) +/* 0042D194 11E0000B */ beqz $t7, .L0042D1C4 +/* 0042D198 00000000 */ nop +/* 0042D19C 96D90022 */ lhu $t9, 0x22($s6) +/* 0042D1A0 332D0002 */ andi $t5, $t9, 2 +/* 0042D1A4 11A00007 */ beqz $t5, .L0042D1C4 +/* 0042D1A8 00000000 */ nop +/* 0042D1AC 8F99829C */ lw $t9, %call16(define_exception_label)($gp) +/* 0042D1B0 02202025 */ move $a0, $s1 +/* 0042D1B4 0320F809 */ jalr $t9 +/* 0042D1B8 00000000 */ nop +/* 0042D1BC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D1C0 8ED10028 */ lw $s1, 0x28($s6) +.L0042D1C4: +/* 0042D1C4 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042D1C8 24040024 */ li $a0, 36 +/* 0042D1CC 02202825 */ move $a1, $s1 +/* 0042D1D0 0320F809 */ jalr $t9 +/* 0042D1D4 00000000 */ nop +/* 0042D1D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D1DC 96CA0022 */ lhu $t2, 0x22($s6) +.L0042D1E0: +/* 0042D1E0 314C0001 */ andi $t4, $t2, 1 +/* 0042D1E4 1180001D */ beqz $t4, .L0042D25C +/* 0042D1E8 00000000 */ nop +/* 0042D1EC 8F8E89E4 */ lw $t6, %got(pic_level)($gp) +/* 0042D1F0 2404002A */ li $a0, 42 +/* 0042D1F4 2405001C */ li $a1, 28 +/* 0042D1F8 8DCE0000 */ lw $t6, ($t6) +/* 0042D1FC 19C00017 */ blez $t6, .L0042D25C +/* 0042D200 00000000 */ nop +/* 0042D204 8F818A90 */ lw $at, %got(uses_gp)($gp) +/* 0042D208 8F838A98 */ lw $v1, %got(num_i_ptr_indexes)($gp) +/* 0042D20C 240B0001 */ li $t3, 1 +/* 0042D210 A02B0000 */ sb $t3, ($at) +/* 0042D214 8C680000 */ lw $t0, ($v1) +/* 0042D218 24180015 */ li $t8, 21 +/* 0042D21C 25020001 */ addiu $v0, $t0, 1 +/* 0042D220 005802B1 */ tgeu $v0, $t8, 0xa +/* 0042D224 AC620000 */ sw $v0, ($v1) +/* 0042D228 8F8F897C */ lw $t7, %got(i_ptr)($gp) +/* 0042D22C 8F8D8BB8 */ lw $t5, %got(i_ptrs_for_gp_offset)($gp) +/* 0042D230 0002C880 */ sll $t9, $v0, 2 +/* 0042D234 8DEF0000 */ lw $t7, ($t7) +/* 0042D238 25ADFFFC */ addiu $t5, $t5, -4 +/* 0042D23C 032D5021 */ addu $t2, $t9, $t5 +/* 0042D240 AD4F0000 */ sw $t7, ($t2) +/* 0042D244 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042D248 AFA00010 */ sw $zero, 0x10($sp) +/* 0042D24C 00003025 */ move $a2, $zero +/* 0042D250 0320F809 */ jalr $t9 +/* 0042D254 2407001D */ li $a3, 29 +/* 0042D258 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D25C: +/* 0042D25C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D260 10001714 */ b .L00432EB4 +/* 0042D264 90840000 */ lbu $a0, ($a0) +.L0042D268: +/* 0042D268 8F998384 */ lw $t9, %call16(ureg)($gp) +/* 0042D26C 26C40020 */ addiu $a0, $s6, 0x20 +/* 0042D270 0320F809 */ jalr $t9 +/* 0042D274 00000000 */ nop +/* 0042D278 304C00FF */ andi $t4, $v0, 0xff +/* 0042D27C 24010048 */ li $at, 72 +/* 0042D280 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D284 1181008D */ beq $t4, $at, .L0042D4BC +/* 0042D288 305E00FF */ andi $fp, $v0, 0xff +/* 0042D28C 8F998308 */ lw $t9, %call16(is_end_return)($gp) +/* 0042D290 8EC40008 */ lw $a0, 8($s6) +/* 0042D294 0320F809 */ jalr $t9 +/* 0042D298 00000000 */ nop +/* 0042D29C 1040000C */ beqz $v0, .L0042D2D0 +/* 0042D2A0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D2A4 93AE0127 */ lbu $t6, 0x127($sp) +/* 0042D2A8 3C010501 */ lui $at, 0x501 +/* 0042D2AC 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 0042D2B0 000B4023 */ negu $t0, $t3 +/* 0042D2B4 01014824 */ and $t1, $t0, $at +/* 0042D2B8 01C9C004 */ sllv $t8, $t1, $t6 +/* 0042D2BC 07010004 */ bgez $t8, .L0042D2D0 +/* 0042D2C0 00000000 */ nop +/* 0042D2C4 8F818878 */ lw $at, %got(setting_int64_return)($gp) +/* 0042D2C8 24190001 */ li $t9, 1 +/* 0042D2CC A0390000 */ sb $t9, ($at) +.L0042D2D0: +/* 0042D2D0 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 0042D2D4 24010001 */ li $at, 1 +/* 0042D2D8 91AD0000 */ lbu $t5, ($t5) +/* 0042D2DC 15A10026 */ bne $t5, $at, .L0042D378 +/* 0042D2E0 00000000 */ nop +/* 0042D2E4 8F8F89DC */ lw $t7, %got(basicint)($gp) +/* 0042D2E8 91EF0000 */ lbu $t7, ($t7) +/* 0042D2EC 15E00022 */ bnez $t7, .L0042D378 +/* 0042D2F0 00000000 */ nop +/* 0042D2F4 8F8A8878 */ lw $t2, %got(setting_int64_return)($gp) +/* 0042D2F8 24010002 */ li $at, 2 +/* 0042D2FC 914A0000 */ lbu $t2, ($t2) +/* 0042D300 1140001D */ beqz $t2, .L0042D378 +/* 0042D304 00000000 */ nop +/* 0042D308 17C1001B */ bne $fp, $at, .L0042D378 +/* 0042D30C 00000000 */ nop +/* 0042D310 8ECC0000 */ lw $t4, ($s6) +/* 0042D314 24010049 */ li $at, 73 +/* 0042D318 91840020 */ lbu $a0, 0x20($t4) +/* 0042D31C 54810014 */ bnel $a0, $at, .L0042D370 +/* 0042D320 24010052 */ li $at, 82 +.L0042D324: +/* 0042D324 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0042D328 001E4080 */ sll $t0, $fp, 2 +/* 0042D32C 011E4023 */ subu $t0, $t0, $fp +/* 0042D330 00084080 */ sll $t0, $t0, 2 +/* 0042D334 27CB0001 */ addiu $t3, $fp, 1 +/* 0042D338 01097021 */ addu $t6, $t0, $t1 +/* 0042D33C 1000000E */ b .L0042D378 +/* 0042D340 A1CB0009 */ sb $t3, 9($t6) +.L0042D344: +/* 0042D344 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0042D348 001EC880 */ sll $t9, $fp, 2 +/* 0042D34C 033EC823 */ subu $t9, $t9, $fp +/* 0042D350 0019C880 */ sll $t9, $t9, 2 +/* 0042D354 032D7821 */ addu $t7, $t9, $t5 +/* 0042D358 10000007 */ b .L0042D378 +/* 0042D35C A1F80009 */ sb $t8, 9($t7) +/* 0042D360 24010049 */ li $at, 73 +/* 0042D364 1081FFEF */ beq $a0, $at, .L0042D324 +/* 0042D368 00000000 */ nop +/* 0042D36C 24010052 */ li $at, 82 +.L0042D370: +/* 0042D370 1081FFF4 */ beq $a0, $at, .L0042D344 +/* 0042D374 27D80001 */ addiu $t8, $fp, 1 +.L0042D378: +/* 0042D378 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042D37C 8EC40000 */ lw $a0, ($s6) +/* 0042D380 03C02825 */ move $a1, $fp +/* 0042D384 0320F809 */ jalr $t9 +/* 0042D388 00000000 */ nop +/* 0042D38C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D390 8EC40000 */ lw $a0, ($s6) +/* 0042D394 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042D398 0320F809 */ jalr $t9 +/* 0042D39C 00000000 */ nop +/* 0042D3A0 92C70021 */ lbu $a3, 0x21($s6) +/* 0042D3A4 3C010501 */ lui $at, 0x501 +/* 0042D3A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D3AC 30E7001F */ andi $a3, $a3, 0x1f +/* 0042D3B0 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 0042D3B4 000A6023 */ negu $t4, $t2 +/* 0042D3B8 01814024 */ and $t0, $t4, $at +/* 0042D3BC 00E84804 */ sllv $t1, $t0, $a3 +/* 0042D3C0 05210035 */ bgez $t1, .L0042D498 +/* 0042D3C4 305200FF */ andi $s2, $v0, 0xff +/* 0042D3C8 8F8B89DC */ lw $t3, %got(basicint)($gp) +/* 0042D3CC 916B0000 */ lbu $t3, ($t3) +/* 0042D3D0 15600031 */ bnez $t3, .L0042D498 +/* 0042D3D4 00000000 */ nop +/* 0042D3D8 8F8E8870 */ lw $t6, %got(processing_args)($gp) +/* 0042D3DC 2FD90020 */ sltiu $t9, $fp, 0x20 +/* 0042D3E0 00196823 */ negu $t5, $t9 +/* 0042D3E4 91CE0000 */ lbu $t6, ($t6) +/* 0042D3E8 3C010A00 */ lui $at, 0xa00 +/* 0042D3EC 01A1C024 */ and $t8, $t5, $at +/* 0042D3F0 11C00003 */ beqz $t6, .L0042D400 +/* 0042D3F4 03D87804 */ sllv $t7, $t8, $fp +/* 0042D3F8 05E00008 */ bltz $t7, .L0042D41C +/* 0042D3FC 00000000 */ nop +.L0042D400: +/* 0042D400 8F8A8878 */ lw $t2, %got(setting_int64_return)($gp) +/* 0042D404 24010002 */ li $at, 2 +/* 0042D408 914A0000 */ lbu $t2, ($t2) +/* 0042D40C 11400022 */ beqz $t2, .L0042D498 +/* 0042D410 00000000 */ nop +/* 0042D414 17C10020 */ bne $fp, $at, .L0042D498 +/* 0042D418 00000000 */ nop +.L0042D41C: +/* 0042D41C 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 0042D420 304300FF */ andi $v1, $v0, 0xff +/* 0042D424 918C0000 */ lbu $t4, ($t4) +/* 0042D428 15800008 */ bnez $t4, .L0042D44C +/* 0042D42C 00000000 */ nop +/* 0042D430 8F998310 */ lw $t9, %call16(move_two_regs)($gp) +/* 0042D434 03C02025 */ move $a0, $fp +/* 0042D438 02402825 */ move $a1, $s2 +/* 0042D43C 0320F809 */ jalr $t9 +/* 0042D440 00000000 */ nop +/* 0042D444 10000011 */ b .L0042D48C +/* 0042D448 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D44C: +/* 0042D44C 147E0009 */ bne $v1, $fp, .L0042D474 +/* 0042D450 00034880 */ sll $t1, $v1, 2 +/* 0042D454 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 0042D458 01234823 */ subu $t1, $t1, $v1 +/* 0042D45C 00094880 */ sll $t1, $t1, 2 +/* 0042D460 012B7021 */ addu $t6, $t1, $t3 +/* 0042D464 91D90009 */ lbu $t9, 9($t6) +/* 0042D468 24680001 */ addiu $t0, $v1, 1 +/* 0042D46C 11190007 */ beq $t0, $t9, .L0042D48C +/* 0042D470 00000000 */ nop +.L0042D474: +/* 0042D474 8F99830C */ lw $t9, %call16(move_dreg_to_regs)($gp) +/* 0042D478 03C02025 */ move $a0, $fp +/* 0042D47C 02402825 */ move $a1, $s2 +/* 0042D480 0320F809 */ jalr $t9 +/* 0042D484 00000000 */ nop +/* 0042D488 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D48C: +/* 0042D48C 8F828878 */ lw $v0, %got(setting_int64_return)($gp) +/* 0042D490 100000D6 */ b .L0042D7EC +/* 0042D494 90420000 */ lbu $v0, ($v0) +.L0042D498: +/* 0042D498 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0042D49C 03C02025 */ move $a0, $fp +/* 0042D4A0 02402825 */ move $a1, $s2 +/* 0042D4A4 0320F809 */ jalr $t9 +/* 0042D4A8 00E03025 */ move $a2, $a3 +/* 0042D4AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D4B0 8F828878 */ lw $v0, %got(setting_int64_return)($gp) +/* 0042D4B4 100000CD */ b .L0042D7EC +/* 0042D4B8 90420000 */ lbu $v0, ($v0) +.L0042D4BC: +/* 0042D4BC 8EC60000 */ lw $a2, ($s6) +/* 0042D4C0 24010018 */ li $at, 24 +/* 0042D4C4 90CD0020 */ lbu $t5, 0x20($a2) +/* 0042D4C8 15A1001D */ bne $t5, $at, .L0042D540 +/* 0042D4CC 00000000 */ nop +/* 0042D4D0 90C20021 */ lbu $v0, 0x21($a2) +/* 0042D4D4 24010006 */ li $at, 6 +/* 0042D4D8 3042001F */ andi $v0, $v0, 0x1f +/* 0042D4DC 10410008 */ beq $v0, $at, .L0042D500 +/* 0042D4E0 24010005 */ li $at, 5 +/* 0042D4E4 14410016 */ bne $v0, $at, .L0042D540 +/* 0042D4E8 00000000 */ nop +/* 0042D4EC 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 0042D4F0 24010001 */ li $at, 1 +/* 0042D4F4 93180000 */ lbu $t8, ($t8) +/* 0042D4F8 17010011 */ bne $t8, $at, .L0042D540 +/* 0042D4FC 00000000 */ nop +.L0042D500: +/* 0042D500 90CF0028 */ lbu $t7, 0x28($a2) +/* 0042D504 2401000C */ li $at, 12 +/* 0042D508 15E1000D */ bne $t7, $at, .L0042D540 +/* 0042D50C 00000000 */ nop +/* 0042D510 94CA0014 */ lhu $t2, 0x14($a2) +/* 0042D514 24010001 */ li $at, 1 +/* 0042D518 15410009 */ bne $t2, $at, .L0042D540 +/* 0042D51C 00000000 */ nop +/* 0042D520 8ECC0028 */ lw $t4, 0x28($s6) +/* 0042D524 24010004 */ li $at, 4 +/* 0042D528 15810005 */ bne $t4, $at, .L0042D540 +/* 0042D52C 00000000 */ nop +/* 0042D530 8CC90010 */ lw $t1, 0x10($a2) +/* 0042D534 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 0042D538 00095A02 */ srl $t3, $t1, 8 +/* 0042D53C AC2B0000 */ sw $t3, ($at) +.L0042D540: +/* 0042D540 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042D544 00C02025 */ move $a0, $a2 +/* 0042D548 24050048 */ li $a1, 72 +/* 0042D54C 0320F809 */ jalr $t9 +/* 0042D550 00000000 */ nop +/* 0042D554 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D558 8EC40000 */ lw $a0, ($s6) +/* 0042D55C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042D560 0320F809 */ jalr $t9 +/* 0042D564 00000000 */ nop +/* 0042D568 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D56C 305300FF */ andi $s3, $v0, 0xff +/* 0042D570 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0042D574 91CE0000 */ lbu $t6, ($t6) +/* 0042D578 55C00023 */ bnel $t6, $zero, .L0042D608 +/* 0042D57C 96D70022 */ lhu $s7, 0x22($s6) +/* 0042D580 92C80021 */ lbu $t0, 0x21($s6) +/* 0042D584 2401000E */ li $at, 14 +/* 0042D588 3119001F */ andi $t9, $t0, 0x1f +/* 0042D58C 5721001E */ bnel $t9, $at, .L0042D608 +/* 0042D590 96D70022 */ lhu $s7, 0x22($s6) +/* 0042D594 8ECD0028 */ lw $t5, 0x28($s6) +/* 0042D598 29A10004 */ slti $at, $t5, 4 +/* 0042D59C 5020001A */ beql $at, $zero, .L0042D608 +/* 0042D5A0 96D70022 */ lhu $s7, 0x22($s6) +/* 0042D5A4 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042D5A8 00002025 */ move $a0, $zero +/* 0042D5AC 24050001 */ li $a1, 1 +/* 0042D5B0 0320F809 */ jalr $t9 +/* 0042D5B4 00000000 */ nop +/* 0042D5B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D5BC 8ED80028 */ lw $t8, 0x28($s6) +/* 0042D5C0 240A0020 */ li $t2, 32 +/* 0042D5C4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042D5C8 001878C0 */ sll $t7, $t8, 3 +/* 0042D5CC A3A20186 */ sb $v0, 0x186($sp) +/* 0042D5D0 014F3823 */ subu $a3, $t2, $t7 +/* 0042D5D4 24040054 */ li $a0, 84 +/* 0042D5D8 304500FF */ andi $a1, $v0, 0xff +/* 0042D5DC 02603025 */ move $a2, $s3 +/* 0042D5E0 0320F809 */ jalr $t9 +/* 0042D5E4 AFA00010 */ sw $zero, 0x10($sp) +/* 0042D5E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D5EC 93A40186 */ lbu $a0, 0x186($sp) +/* 0042D5F0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042D5F4 00809825 */ move $s3, $a0 +/* 0042D5F8 0320F809 */ jalr $t9 +/* 0042D5FC 00000000 */ nop +/* 0042D600 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D604 96D70022 */ lhu $s7, 0x22($s6) +.L0042D608: +/* 0042D608 32F70001 */ andi $s7, $s7, 1 +/* 0042D60C 0017B82B */ sltu $s7, $zero, $s7 +/* 0042D610 32F700FF */ andi $s7, $s7, 0xff +/* 0042D614 52E00008 */ beql $s7, $zero, .L0042D638 +/* 0042D618 92D00021 */ lbu $s0, 0x21($s6) +/* 0042D61C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042D620 24040020 */ li $a0, 32 +/* 0042D624 2405000B */ li $a1, 11 +/* 0042D628 0320F809 */ jalr $t9 +/* 0042D62C 00000000 */ nop +/* 0042D630 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D634 92D00021 */ lbu $s0, 0x21($s6) +.L0042D638: +/* 0042D638 24010002 */ li $at, 2 +/* 0042D63C 00104E00 */ sll $t1, $s0, 0x18 +/* 0042D640 00095F42 */ srl $t3, $t1, 0x1d +/* 0042D644 55610039 */ bnel $t3, $at, .L0042D72C +/* 0042D648 8EC60000 */ lw $a2, ($s6) +/* 0042D64C 8ECE0024 */ lw $t6, 0x24($s6) +/* 0042D650 3208001F */ andi $t0, $s0, 0x1f +/* 0042D654 0008C840 */ sll $t9, $t0, 1 +/* 0042D658 55C00034 */ bnel $t6, $zero, .L0042D72C +/* 0042D65C 8EC60000 */ lw $a2, ($s6) +/* 0042D660 8EC60000 */ lw $a2, ($s6) +/* 0042D664 8F8C88E0 */ lw $t4, %got(move_cvt_flag)($gp) +/* 0042D668 8F8D88A0 */ lw $t5, %got(store_op_tab)($gp) +/* 0042D66C 8CCA0010 */ lw $t2, 0x10($a2) +/* 0042D670 8D8C0000 */ lw $t4, ($t4) +/* 0042D674 032DC021 */ addu $t8, $t9, $t5 +/* 0042D678 000A7A02 */ srl $t7, $t2, 8 +/* 0042D67C 15EC0009 */ bne $t7, $t4, .L0042D6A4 +/* 0042D680 97150000 */ lhu $s5, ($t8) +/* 0042D684 90C90021 */ lbu $t1, 0x21($a2) +/* 0042D688 24010006 */ li $at, 6 +/* 0042D68C 24150073 */ li $s5, 115 +/* 0042D690 312B001F */ andi $t3, $t1, 0x1f +/* 0042D694 15610003 */ bne $t3, $at, .L0042D6A4 +/* 0042D698 00000000 */ nop +/* 0042D69C 10000001 */ b .L0042D6A4 +/* 0042D6A0 24150033 */ li $s5, 51 +.L0042D6A4: +/* 0042D6A4 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0042D6A8 2401006D */ li $at, 109 +/* 0042D6AC 02A02025 */ move $a0, $s5 +/* 0042D6B0 91CE0000 */ lbu $t6, ($t6) +/* 0042D6B4 02602825 */ move $a1, $s3 +/* 0042D6B8 15C00014 */ bnez $t6, .L0042D70C +/* 0042D6BC 00000000 */ nop +/* 0042D6C0 16A10012 */ bne $s5, $at, .L0042D70C +/* 0042D6C4 2407001D */ li $a3, 29 +/* 0042D6C8 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042D6CC 24040057 */ li $a0, 87 +/* 0042D6D0 02602825 */ move $a1, $s3 +/* 0042D6D4 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042D6D8 0320F809 */ jalr $t9 +/* 0042D6DC AFA00010 */ sw $zero, 0x10($sp) +/* 0042D6E0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D6E4 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042D6E8 24040057 */ li $a0, 87 +/* 0042D6EC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042D6F0 26650001 */ addiu $a1, $s3, 1 +/* 0042D6F4 2407001D */ li $a3, 29 +/* 0042D6F8 AFA00010 */ sw $zero, 0x10($sp) +/* 0042D6FC 0320F809 */ jalr $t9 +/* 0042D700 24C60004 */ addiu $a2, $a2, 4 +/* 0042D704 1000002C */ b .L0042D7B8 +/* 0042D708 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D70C: +/* 0042D70C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042D710 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042D714 2407001D */ li $a3, 29 +/* 0042D718 0320F809 */ jalr $t9 +/* 0042D71C AFA00010 */ sw $zero, 0x10($sp) +/* 0042D720 10000025 */ b .L0042D7B8 +/* 0042D724 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D728 8EC60000 */ lw $a2, ($s6) +.L0042D72C: +/* 0042D72C 8F8D88E0 */ lw $t5, %got(move_cvt_flag)($gp) +/* 0042D730 02C02825 */ move $a1, $s6 +/* 0042D734 8CC80010 */ lw $t0, 0x10($a2) +/* 0042D738 8DAD0000 */ lw $t5, ($t5) +/* 0042D73C 0008CA02 */ srl $t9, $t0, 8 +/* 0042D740 172D0010 */ bne $t9, $t5, .L0042D784 +/* 0042D744 00000000 */ nop +/* 0042D748 90D80021 */ lbu $t8, 0x21($a2) +/* 0042D74C 24010006 */ li $at, 6 +/* 0042D750 24150073 */ li $s5, 115 +/* 0042D754 330A001F */ andi $t2, $t8, 0x1f +/* 0042D758 15410003 */ bne $t2, $at, .L0042D768 +/* 0042D75C 00000000 */ nop +/* 0042D760 10000001 */ b .L0042D768 +/* 0042D764 24150033 */ li $s5, 51 +.L0042D768: +/* 0042D768 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 0042D76C 02A02025 */ move $a0, $s5 +/* 0042D770 02603025 */ move $a2, $s3 +/* 0042D774 0320F809 */ jalr $t9 +/* 0042D778 00003825 */ move $a3, $zero +/* 0042D77C 1000000E */ b .L0042D7B8 +/* 0042D780 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D784: +/* 0042D784 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042D788 8F8488A8 */ lw $a0, %got(store_table)($gp) +/* 0042D78C 02C02825 */ move $a1, $s6 +/* 0042D790 0320F809 */ jalr $t9 +/* 0042D794 02603025 */ move $a2, $s3 +/* 0042D798 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D79C 3044FFFF */ andi $a0, $v0, 0xffff +/* 0042D7A0 02C02825 */ move $a1, $s6 +/* 0042D7A4 8F998370 */ lw $t9, %call16(unaligned_loadstore)($gp) +/* 0042D7A8 02603025 */ move $a2, $s3 +/* 0042D7AC 0320F809 */ jalr $t9 +/* 0042D7B0 00000000 */ nop +/* 0042D7B4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D7B8: +/* 0042D7B8 12E00007 */ beqz $s7, .L0042D7D8 +/* 0042D7BC 00000000 */ nop +/* 0042D7C0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042D7C4 24040020 */ li $a0, 32 +/* 0042D7C8 2405000C */ li $a1, 12 +/* 0042D7CC 0320F809 */ jalr $t9 +/* 0042D7D0 00000000 */ nop +/* 0042D7D4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D7D8: +/* 0042D7D8 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 0042D7DC 8F828878 */ lw $v0, %got(setting_int64_return)($gp) +/* 0042D7E0 240FFFFF */ li $t7, -1 +/* 0042D7E4 AC2F0000 */ sw $t7, ($at) +/* 0042D7E8 90420000 */ lbu $v0, ($v0) +.L0042D7EC: +/* 0042D7EC 1040000B */ beqz $v0, .L0042D81C +/* 0042D7F0 00000000 */ nop +/* 0042D7F4 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 0042D7F8 8F818878 */ lw $at, %got(setting_int64_return)($gp) +/* 0042D7FC 918C0000 */ lbu $t4, ($t4) +/* 0042D800 A0200000 */ sb $zero, ($at) +/* 0042D804 24010001 */ li $at, 1 +/* 0042D808 15810004 */ bne $t4, $at, .L0042D81C +/* 0042D80C 00000000 */ nop +/* 0042D810 8F818BCC */ lw $at, %got(regs)($gp) +/* 0042D814 24090048 */ li $t1, 72 +/* 0042D818 A0290021 */ sb $t1, 0x21($at) +.L0042D81C: +/* 0042D81C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D820 100015A4 */ b .L00432EB4 +/* 0042D824 90840000 */ lbu $a0, ($a0) +.L0042D828: +/* 0042D828 8F9983BC */ lw $t9, %call16(clear_pmov_regs)($gp) +/* 0042D82C 8F818870 */ lw $at, %got(processing_args)($gp) +/* 0042D830 240B0001 */ li $t3, 1 +/* 0042D834 AFA0013C */ sw $zero, 0x13c($sp) +/* 0042D838 AFA00138 */ sw $zero, 0x138($sp) +/* 0042D83C 0320F809 */ jalr $t9 +/* 0042D840 A02B0000 */ sb $t3, ($at) +/* 0042D844 8ECE0024 */ lw $t6, 0x24($s6) +/* 0042D848 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D84C 24040056 */ li $a0, 86 +/* 0042D850 11C00007 */ beqz $t6, .L0042D870 +/* 0042D854 2405001D */ li $a1, 29 +/* 0042D858 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042D85C 8F868AB8 */ lw $a2, %got(max_arg_build)($gp) +/* 0042D860 00003825 */ move $a3, $zero +/* 0042D864 0320F809 */ jalr $t9 +/* 0042D868 8CC60000 */ lw $a2, ($a2) +/* 0042D86C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042D870: +/* 0042D870 8ED20008 */ lw $s2, 8($s6) +/* 0042D874 24010017 */ li $at, 23 +/* 0042D878 92420020 */ lbu $v0, 0x20($s2) +/* 0042D87C 1041004A */ beq $v0, $at, .L0042D9A8 +/* 0042D880 24010097 */ li $at, 151 +/* 0042D884 10410048 */ beq $v0, $at, .L0042D9A8 +/* 0042D888 2401002C */ li $at, 44 +/* 0042D88C 10410046 */ beq $v0, $at, .L0042D9A8 +/* 0042D890 24010010 */ li $at, 16 +/* 0042D894 10410044 */ beq $v0, $at, .L0042D9A8 +/* 0042D898 2401007B */ li $at, 123 +.L0042D89C: +/* 0042D89C 54410007 */ bnel $v0, $at, .L0042D8BC +/* 0042D8A0 2401006F */ li $at, 111 +/* 0042D8A4 92480021 */ lbu $t0, 0x21($s2) +/* 0042D8A8 24010003 */ li $at, 3 +/* 0042D8AC 0008CE00 */ sll $t9, $t0, 0x18 +/* 0042D8B0 00196F42 */ srl $t5, $t9, 0x1d +/* 0042D8B4 11A10002 */ beq $t5, $at, .L0042D8C0 +/* 0042D8B8 2401006F */ li $at, 111 +.L0042D8BC: +/* 0042D8BC 1441002F */ bne $v0, $at, .L0042D97C +.L0042D8C0: +/* 0042D8C0 2401007B */ li $at, 123 +/* 0042D8C4 14410008 */ bne $v0, $at, .L0042D8E8 +/* 0042D8C8 8FAB013C */ lw $t3, 0x13c($sp) +/* 0042D8CC 8E53002C */ lw $s3, 0x2c($s2) +/* 0042D8D0 06610002 */ bgez $s3, .L0042D8DC +/* 0042D8D4 02600821 */ move $at, $s3 +/* 0042D8D8 26610003 */ addiu $at, $s3, 3 +.L0042D8DC: +/* 0042D8DC 00019883 */ sra $s3, $at, 2 +/* 0042D8E0 10000007 */ b .L0042D900 +/* 0042D8E4 327300FF */ andi $s3, $s3, 0xff +.L0042D8E8: +/* 0042D8E8 8E530030 */ lw $s3, 0x30($s2) +/* 0042D8EC 06610002 */ bgez $s3, .L0042D8F8 +/* 0042D8F0 02600821 */ move $at, $s3 +/* 0042D8F4 26610003 */ addiu $at, $s3, 3 +.L0042D8F8: +/* 0042D8F8 00019883 */ sra $s3, $at, 2 +/* 0042D8FC 327300FF */ andi $s3, $s3, 0xff +.L0042D900: +/* 0042D900 2678FFE0 */ addiu $t8, $s3, -0x20 +/* 0042D904 2F0A0020 */ sltiu $t2, $t8, 0x20 +/* 0042D908 000A7823 */ negu $t7, $t2 +/* 0042D90C 030F6004 */ sllv $t4, $t7, $t8 +/* 0042D910 0581000F */ bgez $t4, .L0042D950 +/* 0042D914 3C098000 */ lui $t1, 0x8000 +/* 0042D918 8FA90138 */ lw $t1, 0x138($sp) +/* 0042D91C 8E590028 */ lw $t9, 0x28($s2) +/* 0042D920 3C0B8000 */ lui $t3, 0x8000 +/* 0042D924 026B7006 */ srlv $t6, $t3, $s3 +/* 0042D928 24010008 */ li $at, 8 +/* 0042D92C 012E4025 */ or $t0, $t1, $t6 +/* 0042D930 17210012 */ bne $t9, $at, .L0042D97C +/* 0042D934 AFA80138 */ sw $t0, 0x138($sp) +/* 0042D938 266A0001 */ addiu $t2, $s3, 1 +/* 0042D93C 3C0F8000 */ lui $t7, 0x8000 +/* 0042D940 014FC006 */ srlv $t8, $t7, $t2 +/* 0042D944 01186025 */ or $t4, $t0, $t8 +/* 0042D948 1000000C */ b .L0042D97C +/* 0042D94C AFAC0138 */ sw $t4, 0x138($sp) +.L0042D950: +/* 0042D950 8E590028 */ lw $t9, 0x28($s2) +/* 0042D954 02697006 */ srlv $t6, $t1, $s3 +/* 0042D958 016E4025 */ or $t0, $t3, $t6 +/* 0042D95C 24010008 */ li $at, 8 +/* 0042D960 17210006 */ bne $t9, $at, .L0042D97C +/* 0042D964 AFA8013C */ sw $t0, 0x13c($sp) +/* 0042D968 266A0001 */ addiu $t2, $s3, 1 +/* 0042D96C 3C0D8000 */ lui $t5, 0x8000 +/* 0042D970 014DC006 */ srlv $t8, $t5, $t2 +/* 0042D974 01186025 */ or $t4, $t0, $t8 +/* 0042D978 AFAC013C */ sw $t4, 0x13c($sp) +.L0042D97C: +/* 0042D97C 8E520008 */ lw $s2, 8($s2) +/* 0042D980 24010017 */ li $at, 23 +/* 0042D984 92420020 */ lbu $v0, 0x20($s2) +/* 0042D988 10410007 */ beq $v0, $at, .L0042D9A8 +/* 0042D98C 24010097 */ li $at, 151 +/* 0042D990 10410005 */ beq $v0, $at, .L0042D9A8 +/* 0042D994 2401002C */ li $at, 44 +/* 0042D998 10410003 */ beq $v0, $at, .L0042D9A8 +/* 0042D99C 24010010 */ li $at, 16 +/* 0042D9A0 5441FFBE */ bnel $v0, $at, .L0042D89C +/* 0042D9A4 2401007B */ li $at, 123 +.L0042D9A8: +/* 0042D9A8 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042D9AC 10001541 */ b .L00432EB4 +/* 0042D9B0 90840000 */ lbu $a0, ($a0) +.L0042D9B4: +/* 0042D9B4 8F99838C */ lw $t9, %call16(eval_mov)($gp) +/* 0042D9B8 02C02025 */ move $a0, $s6 +/* 0042D9BC 0320F809 */ jalr $t9 +/* 0042D9C0 00000000 */ nop +/* 0042D9C4 92C90020 */ lbu $t1, 0x20($s6) +/* 0042D9C8 24010066 */ li $at, 102 +/* 0042D9CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042D9D0 1521004D */ bne $t1, $at, .L0042DB08 +/* 0042D9D4 00000000 */ nop +/* 0042D9D8 8F8E8A7C */ lw $t6, %got(first_pmt_offset)($gp) +/* 0042D9DC 8ECB002C */ lw $t3, 0x2c($s6) +/* 0042D9E0 8DCE0000 */ lw $t6, ($t6) +/* 0042D9E4 016E1023 */ subu $v0, $t3, $t6 +/* 0042D9E8 04430003 */ bgezl $v0, .L0042D9F8 +/* 0042D9EC 8EC80028 */ lw $t0, 0x28($s6) +/* 0042D9F0 00021023 */ negu $v0, $v0 +/* 0042D9F4 8EC80028 */ lw $t0, 0x28($s6) +.L0042D9F8: +/* 0042D9F8 00409025 */ move $s2, $v0 +/* 0042D9FC 0048C821 */ addu $t9, $v0, $t0 +/* 0042DA00 0059082A */ slt $at, $v0, $t9 +/* 0042DA04 10200040 */ beqz $at, .L0042DB08 +/* 0042DA08 00000000 */ nop +.L0042DA0C: +/* 0042DA0C 06410003 */ bgez $s2, .L0042DA1C +/* 0042DA10 00121083 */ sra $v0, $s2, 2 +/* 0042DA14 26410003 */ addiu $at, $s2, 3 +/* 0042DA18 00011083 */ sra $v0, $at, 2 +.L0042DA1C: +/* 0042DA1C 24420004 */ addiu $v0, $v0, 4 +/* 0042DA20 28410040 */ slti $at, $v0, 0x40 +/* 0042DA24 14200004 */ bnez $at, .L0042DA38 +/* 0042DA28 00000000 */ nop +/* 0042DA2C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042DA30 10001520 */ b .L00432EB4 +/* 0042DA34 90840000 */ lbu $a0, ($a0) +.L0042DA38: +/* 0042DA38 8F99832C */ lw $t9, %call16(is_parm_reg)($gp) +/* 0042DA3C 305000FF */ andi $s0, $v0, 0xff +/* 0042DA40 02002025 */ move $a0, $s0 +/* 0042DA44 0320F809 */ jalr $t9 +/* 0042DA48 00000000 */ nop +/* 0042DA4C 14400004 */ bnez $v0, .L0042DA60 +/* 0042DA50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DA54 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042DA58 10001516 */ b .L00432EB4 +/* 0042DA5C 90840000 */ lbu $a0, ($a0) +.L0042DA60: +/* 0042DA60 8F9983C0 */ lw $t9, %call16(save_pmov_reg)($gp) +/* 0042DA64 02002025 */ move $a0, $s0 +/* 0042DA68 0320F809 */ jalr $t9 +/* 0042DA6C 00000000 */ nop +/* 0042DA70 260DFFE0 */ addiu $t5, $s0, -0x20 +/* 0042DA74 2DAA0020 */ sltiu $t2, $t5, 0x20 +/* 0042DA78 000A7823 */ negu $t7, $t2 +/* 0042DA7C 01AFC004 */ sllv $t8, $t7, $t5 +/* 0042DA80 0701000F */ bgez $t8, .L0042DAC0 +/* 0042DA84 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DA88 8FAC0138 */ lw $t4, 0x138($sp) +/* 0042DA8C 8ED10028 */ lw $s1, 0x28($s6) +/* 0042DA90 3C098000 */ lui $t1, 0x8000 +/* 0042DA94 02095806 */ srlv $t3, $t1, $s0 +/* 0042DA98 24010008 */ li $at, 8 +/* 0042DA9C 018B7025 */ or $t6, $t4, $t3 +/* 0042DAA0 1621000D */ bne $s1, $at, .L0042DAD8 +/* 0042DAA4 AFAE0138 */ sw $t6, 0x138($sp) +/* 0042DAA8 26190001 */ addiu $t9, $s0, 1 +/* 0042DAAC 3C0A8000 */ lui $t2, 0x8000 +/* 0042DAB0 032A7806 */ srlv $t7, $t2, $t9 +/* 0042DAB4 01CF6825 */ or $t5, $t6, $t7 +/* 0042DAB8 10000007 */ b .L0042DAD8 +/* 0042DABC AFAD0138 */ sw $t5, 0x138($sp) +.L0042DAC0: +/* 0042DAC0 8FB8013C */ lw $t8, 0x13c($sp) +/* 0042DAC4 3C098000 */ lui $t1, 0x8000 +/* 0042DAC8 02096006 */ srlv $t4, $t1, $s0 +/* 0042DACC 030C5825 */ or $t3, $t8, $t4 +/* 0042DAD0 AFAB013C */ sw $t3, 0x13c($sp) +/* 0042DAD4 8ED10028 */ lw $s1, 0x28($s6) +.L0042DAD8: +/* 0042DAD8 8F8A8A7C */ lw $t2, %got(first_pmt_offset)($gp) +/* 0042DADC 8ECE002C */ lw $t6, 0x2c($s6) +/* 0042DAE0 26520004 */ addiu $s2, $s2, 4 +/* 0042DAE4 8D4A0000 */ lw $t2, ($t2) +/* 0042DAE8 01CAC823 */ subu $t9, $t6, $t2 +/* 0042DAEC 07210002 */ bgez $t9, .L0042DAF8 +/* 0042DAF0 03204025 */ move $t0, $t9 +/* 0042DAF4 00194023 */ negu $t0, $t9 +.L0042DAF8: +/* 0042DAF8 01117821 */ addu $t7, $t0, $s1 +/* 0042DAFC 024F082A */ slt $at, $s2, $t7 +/* 0042DB00 1420FFC2 */ bnez $at, .L0042DA0C +/* 0042DB04 00000000 */ nop +.L0042DB08: +/* 0042DB08 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042DB0C 100014E9 */ b .L00432EB4 +/* 0042DB10 90840000 */ lbu $a0, ($a0) +.L0042DB14: +/* 0042DB14 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042DB18 02C02025 */ move $a0, $s6 +/* 0042DB1C 0320F809 */ jalr $t9 +/* 0042DB20 00000000 */ nop +/* 0042DB24 304300FF */ andi $v1, $v0, 0xff +/* 0042DB28 24010048 */ li $at, 72 +/* 0042DB2C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DB30 10610089 */ beq $v1, $at, .L0042DD58 +/* 0042DB34 305E00FF */ andi $fp, $v0, 0xff +/* 0042DB38 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 0042DB3C 24010001 */ li $at, 1 +/* 0042DB40 91AD0000 */ lbu $t5, ($t5) +/* 0042DB44 15A1001F */ bne $t5, $at, .L0042DBC4 +/* 0042DB48 00000000 */ nop +/* 0042DB4C 8F8989DC */ lw $t1, %got(basicint)($gp) +/* 0042DB50 91290000 */ lbu $t1, ($t1) +/* 0042DB54 1520001B */ bnez $t1, .L0042DBC4 +/* 0042DB58 00000000 */ nop +/* 0042DB5C 8ED80000 */ lw $t8, ($s6) +/* 0042DB60 24010049 */ li $at, 73 +/* 0042DB64 93040020 */ lbu $a0, 0x20($t8) +/* 0042DB68 54810014 */ bnel $a0, $at, .L0042DBBC +/* 0042DB6C 24010052 */ li $at, 82 +.L0042DB70: +/* 0042DB70 8F8E8BCC */ lw $t6, %got(regs)($gp) +/* 0042DB74 00035880 */ sll $t3, $v1, 2 +/* 0042DB78 01635823 */ subu $t3, $t3, $v1 +/* 0042DB7C 000B5880 */ sll $t3, $t3, 2 +/* 0042DB80 246C0001 */ addiu $t4, $v1, 1 +/* 0042DB84 016E5021 */ addu $t2, $t3, $t6 +/* 0042DB88 1000000E */ b .L0042DBC4 +/* 0042DB8C A14C0009 */ sb $t4, 9($t2) +.L0042DB90: +/* 0042DB90 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0042DB94 00034080 */ sll $t0, $v1, 2 +/* 0042DB98 01034023 */ subu $t0, $t0, $v1 +/* 0042DB9C 00084080 */ sll $t0, $t0, 2 +/* 0042DBA0 010F6821 */ addu $t5, $t0, $t7 +/* 0042DBA4 10000007 */ b .L0042DBC4 +/* 0042DBA8 A1B90009 */ sb $t9, 9($t5) +/* 0042DBAC 24010049 */ li $at, 73 +/* 0042DBB0 1081FFEF */ beq $a0, $at, .L0042DB70 +/* 0042DBB4 00000000 */ nop +/* 0042DBB8 24010052 */ li $at, 82 +.L0042DBBC: +/* 0042DBBC 1081FFF4 */ beq $a0, $at, .L0042DB90 +/* 0042DBC0 24790001 */ addiu $t9, $v1, 1 +.L0042DBC4: +/* 0042DBC4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042DBC8 8EC40000 */ lw $a0, ($s6) +/* 0042DBCC 03C02825 */ move $a1, $fp +/* 0042DBD0 0320F809 */ jalr $t9 +/* 0042DBD4 00000000 */ nop +/* 0042DBD8 92C90021 */ lbu $t1, 0x21($s6) +/* 0042DBDC 3C010501 */ lui $at, 0x501 +/* 0042DBE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DBE4 3138001F */ andi $t8, $t1, 0x1f +/* 0042DBE8 2F0B0020 */ sltiu $t3, $t8, 0x20 +/* 0042DBEC 000B7023 */ negu $t6, $t3 +/* 0042DBF0 01C16024 */ and $t4, $t6, $at +/* 0042DBF4 030C5004 */ sllv $t2, $t4, $t8 +/* 0042DBF8 05410028 */ bgez $t2, .L0042DC9C +/* 0042DBFC 00000000 */ nop +/* 0042DC00 8F8889DC */ lw $t0, %got(basicint)($gp) +/* 0042DC04 91080000 */ lbu $t0, ($t0) +/* 0042DC08 15000024 */ bnez $t0, .L0042DC9C +/* 0042DC0C 00000000 */ nop +/* 0042DC10 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042DC14 8EC40000 */ lw $a0, ($s6) +/* 0042DC18 0320F809 */ jalr $t9 +/* 0042DC1C 00000000 */ nop +/* 0042DC20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DC24 305200FF */ andi $s2, $v0, 0xff +/* 0042DC28 304300FF */ andi $v1, $v0, 0xff +/* 0042DC2C 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 0042DC30 91EF0000 */ lbu $t7, ($t7) +/* 0042DC34 15E00008 */ bnez $t7, .L0042DC58 +/* 0042DC38 00000000 */ nop +/* 0042DC3C 8F998310 */ lw $t9, %call16(move_two_regs)($gp) +/* 0042DC40 03C02025 */ move $a0, $fp +/* 0042DC44 02402825 */ move $a1, $s2 +/* 0042DC48 0320F809 */ jalr $t9 +/* 0042DC4C 00000000 */ nop +/* 0042DC50 1000001F */ b .L0042DCD0 +/* 0042DC54 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DC58: +/* 0042DC58 147E0009 */ bne $v1, $fp, .L0042DC80 +/* 0042DC5C 00036880 */ sll $t5, $v1, 2 +/* 0042DC60 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0042DC64 01A36823 */ subu $t5, $t5, $v1 +/* 0042DC68 000D6880 */ sll $t5, $t5, 2 +/* 0042DC6C 01A95821 */ addu $t3, $t5, $t1 +/* 0042DC70 916E0009 */ lbu $t6, 9($t3) +/* 0042DC74 24790001 */ addiu $t9, $v1, 1 +/* 0042DC78 532E0016 */ beql $t9, $t6, .L0042DCD4 +/* 0042DC7C 27CCFFE0 */ addiu $t4, $fp, -0x20 +.L0042DC80: +/* 0042DC80 8F99830C */ lw $t9, %call16(move_dreg_to_regs)($gp) +/* 0042DC84 03C02025 */ move $a0, $fp +/* 0042DC88 02402825 */ move $a1, $s2 +/* 0042DC8C 0320F809 */ jalr $t9 +/* 0042DC90 00000000 */ nop +/* 0042DC94 1000000E */ b .L0042DCD0 +/* 0042DC98 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DC9C: +/* 0042DC9C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042DCA0 8EC40000 */ lw $a0, ($s6) +/* 0042DCA4 0320F809 */ jalr $t9 +/* 0042DCA8 00000000 */ nop +/* 0042DCAC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DCB0 92C60021 */ lbu $a2, 0x21($s6) +/* 0042DCB4 03C02025 */ move $a0, $fp +/* 0042DCB8 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0042DCBC 00402825 */ move $a1, $v0 +/* 0042DCC0 30C6001F */ andi $a2, $a2, 0x1f +/* 0042DCC4 0320F809 */ jalr $t9 +/* 0042DCC8 00000000 */ nop +/* 0042DCCC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DCD0: +/* 0042DCD0 27CCFFE0 */ addiu $t4, $fp, -0x20 +.L0042DCD4: +/* 0042DCD4 2D980020 */ sltiu $t8, $t4, 0x20 +/* 0042DCD8 00185023 */ negu $t2, $t8 +/* 0042DCDC 018A4004 */ sllv $t0, $t2, $t4 +/* 0042DCE0 05010010 */ bgez $t0, .L0042DD24 +/* 0042DCE4 8FAD013C */ lw $t5, 0x13c($sp) +/* 0042DCE8 8FAF0138 */ lw $t7, 0x138($sp) +/* 0042DCEC 8ED90028 */ lw $t9, 0x28($s6) +/* 0042DCF0 3C0D8000 */ lui $t5, 0x8000 +/* 0042DCF4 03CD4806 */ srlv $t1, $t5, $fp +/* 0042DCF8 24010008 */ li $at, 8 +/* 0042DCFC 01E95825 */ or $t3, $t7, $t1 +/* 0042DD00 AFAB0138 */ sw $t3, 0x138($sp) +/* 0042DD04 1721006A */ bne $t9, $at, .L0042DEB0 +/* 0042DD08 03C01025 */ move $v0, $fp +/* 0042DD0C 24580001 */ addiu $t8, $v0, 1 +/* 0042DD10 3C0A8000 */ lui $t2, 0x8000 +/* 0042DD14 030A6006 */ srlv $t4, $t2, $t8 +/* 0042DD18 016C4025 */ or $t0, $t3, $t4 +/* 0042DD1C 10000064 */ b .L0042DEB0 +/* 0042DD20 AFA80138 */ sw $t0, 0x138($sp) +.L0042DD24: +/* 0042DD24 8ED90028 */ lw $t9, 0x28($s6) +/* 0042DD28 3C0F8000 */ lui $t7, 0x8000 +/* 0042DD2C 03CF4806 */ srlv $t1, $t7, $fp +/* 0042DD30 01A95825 */ or $t3, $t5, $t1 +/* 0042DD34 24010008 */ li $at, 8 +/* 0042DD38 1721005D */ bne $t9, $at, .L0042DEB0 +/* 0042DD3C AFAB013C */ sw $t3, 0x13c($sp) +/* 0042DD40 27D80001 */ addiu $t8, $fp, 1 +/* 0042DD44 3C0E8000 */ lui $t6, 0x8000 +/* 0042DD48 030E6006 */ srlv $t4, $t6, $t8 +/* 0042DD4C 016C4025 */ or $t0, $t3, $t4 +/* 0042DD50 10000057 */ b .L0042DEB0 +/* 0042DD54 AFA8013C */ sw $t0, 0x13c($sp) +.L0042DD58: +/* 0042DD58 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042DD5C 8EC40000 */ lw $a0, ($s6) +/* 0042DD60 24050048 */ li $a1, 72 +/* 0042DD64 0320F809 */ jalr $t9 +/* 0042DD68 00000000 */ nop +/* 0042DD6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DD70 8EC40000 */ lw $a0, ($s6) +/* 0042DD74 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042DD78 0320F809 */ jalr $t9 +/* 0042DD7C 00000000 */ nop +/* 0042DD80 304F00FF */ andi $t7, $v0, 0xff +/* 0042DD84 25EDFFE0 */ addiu $t5, $t7, -0x20 +/* 0042DD88 2DA90020 */ sltiu $t1, $t5, 0x20 +/* 0042DD8C 00095823 */ negu $t3, $t1 +/* 0042DD90 01ABC804 */ sllv $t9, $t3, $t5 +/* 0042DD94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DD98 0721000D */ bgez $t9, .L0042DDD0 +/* 0042DD9C 305300FF */ andi $s3, $v0, 0xff +/* 0042DDA0 8ECE0028 */ lw $t6, 0x28($s6) +/* 0042DDA4 8F9588A8 */ lw $s5, %got(store_table)($gp) +/* 0042DDA8 29C10005 */ slti $at, $t6, 5 +/* 0042DDAC 1420001C */ bnez $at, .L0042DE20 +/* 0042DDB0 96B5000E */ lhu $s5, 0xe($s5) +/* 0042DDB4 92D80021 */ lbu $t8, 0x21($s6) +/* 0042DDB8 240C000C */ li $t4, 12 +/* 0042DDBC 330A001F */ andi $t2, $t8, 0x1f +/* 0042DDC0 014C02B6 */ tne $t2, $t4, 0xa +/* 0042DDC4 8F9588A8 */ lw $s5, %got(store_table)($gp) +/* 0042DDC8 10000015 */ b .L0042DE20 +/* 0042DDCC 96B50010 */ lhu $s5, 0x10($s5) +.L0042DDD0: +/* 0042DDD0 8EC80028 */ lw $t0, 0x28($s6) +/* 0042DDD4 8F9588A8 */ lw $s5, %got(store_table)($gp) +/* 0042DDD8 29010005 */ slti $at, $t0, 5 +/* 0042DDDC 14200010 */ bnez $at, .L0042DE20 +/* 0042DDE0 96B50008 */ lhu $s5, 8($s5) +/* 0042DDE4 92C70021 */ lbu $a3, 0x21($s6) +/* 0042DDE8 3C010501 */ lui $at, 0x501 +/* 0042DDEC 30E7001F */ andi $a3, $a3, 0x1f +/* 0042DDF0 2CEF0020 */ sltiu $t7, $a3, 0x20 +/* 0042DDF4 000F4823 */ negu $t1, $t7 +/* 0042DDF8 01215824 */ and $t3, $t1, $at +/* 0042DDFC 00EB1004 */ sllv $v0, $t3, $a3 +/* 0042DE00 28420000 */ slti $v0, $v0, 0 +/* 0042DE04 54400004 */ bnel $v0, $zero, .L0042DE18 +/* 0042DE08 004002B4 */ teq $v0, $zero, 0xa +/* 0042DE0C 38E2000C */ xori $v0, $a3, 0xc +/* 0042DE10 2C420001 */ sltiu $v0, $v0, 1 +/* 0042DE14 004002B4 */ teq $v0, $zero, 0xa +.L0042DE18: +/* 0042DE18 8F9588A8 */ lw $s5, %got(store_table)($gp) +/* 0042DE1C 96B5000C */ lhu $s5, 0xc($s5) +.L0042DE20: +/* 0042DE20 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 0042DE24 2401006D */ li $at, 109 +/* 0042DE28 02A02025 */ move $a0, $s5 +/* 0042DE2C 91AD0000 */ lbu $t5, ($t5) +/* 0042DE30 02602825 */ move $a1, $s3 +/* 0042DE34 15A00018 */ bnez $t5, .L0042DE98 +/* 0042DE38 00000000 */ nop +/* 0042DE3C 16A10016 */ bne $s5, $at, .L0042DE98 +/* 0042DE40 0015C840 */ sll $t9, $s5, 1 +/* 0042DE44 8F8E88AC */ lw $t6, %got(double_to_singles)($gp) +/* 0042DE48 02602825 */ move $a1, $s3 +/* 0042DE4C 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042DE50 032EC021 */ addu $t8, $t9, $t6 +/* 0042DE54 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042DE58 97150000 */ lhu $s5, ($t8) +/* 0042DE5C AFA00010 */ sw $zero, 0x10($sp) +/* 0042DE60 2407001D */ li $a3, 29 +/* 0042DE64 0320F809 */ jalr $t9 +/* 0042DE68 02A02025 */ move $a0, $s5 +/* 0042DE6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DE70 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042DE74 02A02025 */ move $a0, $s5 +/* 0042DE78 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042DE7C 26650001 */ addiu $a1, $s3, 1 +/* 0042DE80 2407001D */ li $a3, 29 +/* 0042DE84 AFA00010 */ sw $zero, 0x10($sp) +/* 0042DE88 0320F809 */ jalr $t9 +/* 0042DE8C 24C60004 */ addiu $a2, $a2, 4 +/* 0042DE90 10000007 */ b .L0042DEB0 +/* 0042DE94 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DE98: +/* 0042DE98 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0042DE9C 8EC6002C */ lw $a2, 0x2c($s6) +/* 0042DEA0 2407001D */ li $a3, 29 +/* 0042DEA4 0320F809 */ jalr $t9 +/* 0042DEA8 AFA00010 */ sw $zero, 0x10($sp) +/* 0042DEAC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DEB0: +/* 0042DEB0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042DEB4 100013FF */ b .L00432EB4 +/* 0042DEB8 90840000 */ lbu $a0, ($a0) +.L0042DEBC: +/* 0042DEBC 8F8A8A48 */ lw $t2, %got(olevel)($gp) +/* 0042DEC0 914A0000 */ lbu $t2, ($t2) +/* 0042DEC4 2D410002 */ sltiu $at, $t2, 2 +/* 0042DEC8 14200029 */ bnez $at, .L0042DF70 +/* 0042DECC 00000000 */ nop +/* 0042DED0 92CC0021 */ lbu $t4, 0x21($s6) +/* 0042DED4 3C010501 */ lui $at, 0x501 +/* 0042DED8 3188001F */ andi $t0, $t4, 0x1f +/* 0042DEDC 2D0F0020 */ sltiu $t7, $t0, 0x20 +/* 0042DEE0 000F4823 */ negu $t1, $t7 +/* 0042DEE4 01215824 */ and $t3, $t1, $at +/* 0042DEE8 010B6804 */ sllv $t5, $t3, $t0 +/* 0042DEEC 05A10020 */ bgez $t5, .L0042DF70 +/* 0042DEF0 00000000 */ nop +/* 0042DEF4 8F9989DC */ lw $t9, %got(basicint)($gp) +/* 0042DEF8 93390000 */ lbu $t9, ($t9) +/* 0042DEFC 1720001C */ bnez $t9, .L0042DF70 +/* 0042DF00 00000000 */ nop +/* 0042DF04 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0042DF08 24010001 */ li $at, 1 +/* 0042DF0C 91CE0000 */ lbu $t6, ($t6) +/* 0042DF10 15C10017 */ bne $t6, $at, .L0042DF70 +/* 0042DF14 00000000 */ nop +/* 0042DF18 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042DF1C 02C02025 */ move $a0, $s6 +/* 0042DF20 0320F809 */ jalr $t9 +/* 0042DF24 00000000 */ nop +/* 0042DF28 304300FF */ andi $v1, $v0, 0xff +/* 0042DF2C 24010048 */ li $at, 72 +/* 0042DF30 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DF34 1061000E */ beq $v1, $at, .L0042DF70 +/* 0042DF38 305E00FF */ andi $fp, $v0, 0xff +/* 0042DF3C 2C780020 */ sltiu $t8, $v1, 0x20 +/* 0042DF40 00185023 */ negu $t2, $t8 +/* 0042DF44 3C010A00 */ lui $at, 0xa00 +/* 0042DF48 01416024 */ and $t4, $t2, $at +/* 0042DF4C 006C7804 */ sllv $t7, $t4, $v1 +/* 0042DF50 05E10007 */ bgez $t7, .L0042DF70 +/* 0042DF54 00000000 */ nop +/* 0042DF58 8F99830C */ lw $t9, %call16(move_dreg_to_regs)($gp) +/* 0042DF5C 03C02025 */ move $a0, $fp +/* 0042DF60 03C02825 */ move $a1, $fp +/* 0042DF64 0320F809 */ jalr $t9 +/* 0042DF68 00000000 */ nop +/* 0042DF6C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042DF70: +/* 0042DF70 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042DF74 100013CF */ b .L00432EB4 +/* 0042DF78 90840000 */ lbu $a0, ($a0) +.L0042DF7C: +/* 0042DF7C 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 0042DF80 0320F809 */ jalr $t9 +/* 0042DF84 00000000 */ nop +/* 0042DF88 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DF8C 8F9983C4 */ lw $t9, %call16(load_pmov_regs)($gp) +/* 0042DF90 0320F809 */ jalr $t9 +/* 0042DF94 00000000 */ nop +/* 0042DF98 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042DF9C 8ECD002C */ lw $t5, 0x2c($s6) +/* 0042DFA0 8FA80138 */ lw $t0, 0x138($sp) +/* 0042DFA4 352B000E */ ori $t3, $t1, 0xe +/* 0042DFA8 31B90100 */ andi $t9, $t5, 0x100 +/* 0042DFAC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DFB0 AFAB013C */ sw $t3, 0x13c($sp) +/* 0042DFB4 13200007 */ beqz $t9, .L0042DFD4 +/* 0042DFB8 AFA80138 */ sw $t0, 0x138($sp) +/* 0042DFBC 3C015FFF */ lui $at, 0x5fff +/* 0042DFC0 0161C025 */ or $t8, $t3, $at +/* 0042DFC4 2401F000 */ li $at, -4096 +/* 0042DFC8 01015025 */ or $t2, $t0, $at +/* 0042DFCC AFB8013C */ sw $t8, 0x13c($sp) +/* 0042DFD0 AFAA0138 */ sw $t2, 0x138($sp) +.L0042DFD4: +/* 0042DFD4 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 0042DFD8 24040035 */ li $a0, 53 +/* 0042DFDC 8FA5013C */ lw $a1, 0x13c($sp) +/* 0042DFE0 0320F809 */ jalr $t9 +/* 0042DFE4 8FA60138 */ lw $a2, 0x138($sp) +/* 0042DFE8 92D00021 */ lbu $s0, 0x21($s6) +/* 0042DFEC 24010005 */ li $at, 5 +/* 0042DFF0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042DFF4 00101600 */ sll $v0, $s0, 0x18 +/* 0042DFF8 00021742 */ srl $v0, $v0, 0x1d +/* 0042DFFC 54410005 */ bnel $v0, $at, .L0042E014 +/* 0042E000 92CF0020 */ lbu $t7, 0x20($s6) +/* 0042E004 8ECC0024 */ lw $t4, 0x24($s6) +/* 0042E008 10000070 */ b .L0042E1CC +/* 0042E00C AFAC0130 */ sw $t4, 0x130($sp) +/* 0042E010 92CF0020 */ lbu $t7, 0x20($s6) +.L0042E014: +/* 0042E014 24010097 */ li $at, 151 +/* 0042E018 15E10016 */ bne $t7, $at, .L0042E074 +/* 0042E01C 00000000 */ nop +/* 0042E020 8EC9002C */ lw $t1, 0x2c($s6) +/* 0042E024 00003025 */ move $a2, $zero +/* 0042E028 24040023 */ li $a0, 35 +/* 0042E02C 312B0080 */ andi $t3, $t1, 0x80 +/* 0042E030 11600008 */ beqz $t3, .L0042E054 +/* 0042E034 00000000 */ nop +/* 0042E038 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0042E03C 24040022 */ li $a0, 34 +/* 0042E040 8EC50024 */ lw $a1, 0x24($s6) +/* 0042E044 0320F809 */ jalr $t9 +/* 0042E048 00003825 */ move $a3, $zero +/* 0042E04C 10000007 */ b .L0042E06C +/* 0042E050 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E054: +/* 0042E054 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0042E058 8EC50024 */ lw $a1, 0x24($s6) +/* 0042E05C 00003025 */ move $a2, $zero +/* 0042E060 0320F809 */ jalr $t9 +/* 0042E064 24070006 */ li $a3, 6 +/* 0042E068 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E06C: +/* 0042E06C 10000057 */ b .L0042E1CC +/* 0042E070 92D00021 */ lbu $s0, 0x21($s6) +.L0042E074: +/* 0042E074 8F8D89B0 */ lw $t5, %got(no_jal_use_jalr_only)($gp) +/* 0042E078 02008825 */ move $s1, $s0 +/* 0042E07C 3219FF1F */ andi $t9, $s0, 0xff1f +/* 0042E080 91AD0000 */ lbu $t5, ($t5) +/* 0042E084 3231001F */ andi $s1, $s1, 0x1f +/* 0042E088 305200FF */ andi $s2, $v0, 0xff +/* 0042E08C 11A0003A */ beqz $t5, .L0042E178 +/* 0042E090 37380080 */ ori $t8, $t9, 0x80 +/* 0042E094 8F998354 */ lw $t9, %call16(loadstore)($gp) +/* 0042E098 3308FFE0 */ andi $t0, $t8, 0xffe0 +/* 0042E09C A2D80021 */ sb $t8, 0x21($s6) +/* 0042E0A0 350A0006 */ ori $t2, $t0, 6 +/* 0042E0A4 8ED3002C */ lw $s3, 0x2c($s6) +/* 0042E0A8 8ED40030 */ lw $s4, 0x30($s6) +/* 0042E0AC A2CA0021 */ sb $t2, 0x21($s6) +/* 0042E0B0 AEC0002C */ sw $zero, 0x2c($s6) +/* 0042E0B4 AEC00030 */ sw $zero, 0x30($s6) +/* 0042E0B8 24040024 */ li $a0, 36 +/* 0042E0BC 02C02825 */ move $a1, $s6 +/* 0042E0C0 24060008 */ li $a2, 8 +/* 0042E0C4 0320F809 */ jalr $t9 +/* 0042E0C8 00003825 */ move $a3, $zero +/* 0042E0CC 92D00021 */ lbu $s0, 0x21($s6) +/* 0042E0D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E0D4 AED3002C */ sw $s3, 0x2c($s6) +/* 0042E0D8 001066C0 */ sll $t4, $s0, 0x1b +/* 0042E0DC 000C7EC2 */ srl $t7, $t4, 0x1b +/* 0042E0E0 022F4826 */ xor $t1, $s1, $t7 +/* 0042E0E4 312B001F */ andi $t3, $t1, 0x1f +/* 0042E0E8 01706826 */ xor $t5, $t3, $s0 +/* 0042E0EC 000DCE00 */ sll $t9, $t5, 0x18 +/* 0042E0F0 00197742 */ srl $t6, $t9, 0x1d +/* 0042E0F4 024EC026 */ xor $t8, $s2, $t6 +/* 0042E0F8 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 0042E0FC 00184740 */ sll $t0, $t8, 0x1d +/* 0042E100 00085602 */ srl $t2, $t0, 0x18 +/* 0042E104 A2CD0021 */ sb $t5, 0x21($s6) +/* 0042E108 014D6026 */ xor $t4, $t2, $t5 +/* 0042E10C AED40030 */ sw $s4, 0x30($s6) +/* 0042E110 0320F809 */ jalr $t9 +/* 0042E114 A2CC0021 */ sb $t4, 0x21($s6) +/* 0042E118 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E11C 8F9983C4 */ lw $t9, %call16(load_pmov_regs)($gp) +/* 0042E120 0320F809 */ jalr $t9 +/* 0042E124 00000000 */ nop +/* 0042E128 8ECF002C */ lw $t7, 0x2c($s6) +/* 0042E12C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E130 31E90080 */ andi $t1, $t7, 0x80 +/* 0042E134 11200008 */ beqz $t1, .L0042E158 +/* 0042E138 00000000 */ nop +/* 0042E13C 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042E140 24040022 */ li $a0, 34 +/* 0042E144 24050008 */ li $a1, 8 +/* 0042E148 0320F809 */ jalr $t9 +/* 0042E14C 00000000 */ nop +/* 0042E150 10000007 */ b .L0042E170 +/* 0042E154 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E158: +/* 0042E158 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042E15C 24040023 */ li $a0, 35 +/* 0042E160 24050008 */ li $a1, 8 +/* 0042E164 0320F809 */ jalr $t9 +/* 0042E168 00000000 */ nop +/* 0042E16C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E170: +/* 0042E170 10000016 */ b .L0042E1CC +/* 0042E174 92D00021 */ lbu $s0, 0x21($s6) +.L0042E178: +/* 0042E178 8ECB002C */ lw $t3, 0x2c($s6) +/* 0042E17C 00003025 */ move $a2, $zero +/* 0042E180 24040023 */ li $a0, 35 +/* 0042E184 316D0080 */ andi $t5, $t3, 0x80 +/* 0042E188 11A00009 */ beqz $t5, .L0042E1B0 +/* 0042E18C 00000000 */ nop +/* 0042E190 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0042E194 24040022 */ li $a0, 34 +/* 0042E198 8EC50024 */ lw $a1, 0x24($s6) +/* 0042E19C 0320F809 */ jalr $t9 +/* 0042E1A0 00003825 */ move $a3, $zero +/* 0042E1A4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E1A8 10000008 */ b .L0042E1CC +/* 0042E1AC 92D00021 */ lbu $s0, 0x21($s6) +.L0042E1B0: +/* 0042E1B0 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0042E1B4 8EC50024 */ lw $a1, 0x24($s6) +/* 0042E1B8 00003025 */ move $a2, $zero +/* 0042E1BC 0320F809 */ jalr $t9 +/* 0042E1C0 00003825 */ move $a3, $zero +/* 0042E1C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E1C8 92D00021 */ lbu $s0, 0x21($s6) +.L0042E1CC: +/* 0042E1CC 8F9989D8 */ lw $t9, %got(opcode_arch)($gp) +/* 0042E1D0 24010001 */ li $at, 1 +/* 0042E1D4 320E001F */ andi $t6, $s0, 0x1f +/* 0042E1D8 93390000 */ lbu $t9, ($t9) +/* 0042E1DC 17210005 */ bne $t9, $at, .L0042E1F4 +/* 0042E1E0 00000000 */ nop +/* 0042E1E4 8F828BCC */ lw $v0, %got(regs)($gp) +/* 0042E1E8 24030048 */ li $v1, 72 +/* 0042E1EC A0430039 */ sb $v1, 0x39($v0) +/* 0042E1F0 A0430051 */ sb $v1, 0x51($v0) +.L0042E1F4: +/* 0042E1F4 8F818870 */ lw $at, %got(processing_args)($gp) +/* 0042E1F8 2DD80020 */ sltiu $t8, $t6, 0x20 +/* 0042E1FC 00184023 */ negu $t0, $t8 +/* 0042E200 A0200000 */ sb $zero, ($at) +/* 0042E204 3C010501 */ lui $at, 0x501 +/* 0042E208 01015024 */ and $t2, $t0, $at +/* 0042E20C 01CA6004 */ sllv $t4, $t2, $t6 +/* 0042E210 05810004 */ bgez $t4, .L0042E224 +/* 0042E214 00000000 */ nop +/* 0042E218 8F818874 */ lw $at, %got(processing_int64_return)($gp) +/* 0042E21C 240F0001 */ li $t7, 1 +/* 0042E220 A02F0000 */ sb $t7, ($at) +.L0042E224: +/* 0042E224 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042E228 10001322 */ b .L00432EB4 +/* 0042E22C 90840000 */ lbu $a0, ($a0) +.L0042E230: +/* 0042E230 8F9989E4 */ lw $t9, %got(pic_level)($gp) +/* 0042E234 8FA9013C */ lw $t1, 0x13c($sp) +/* 0042E238 8FAD0138 */ lw $t5, 0x138($sp) +/* 0042E23C 8F390000 */ lw $t9, ($t9) +/* 0042E240 352B000E */ ori $t3, $t1, 0xe +/* 0042E244 AFAB013C */ sw $t3, 0x13c($sp) +/* 0042E248 1B200003 */ blez $t9, .L0042E258 +/* 0042E24C AFAD0138 */ sw $t5, 0x138($sp) +/* 0042E250 35780040 */ ori $t8, $t3, 0x40 +/* 0042E254 AFB8013C */ sw $t8, 0x13c($sp) +.L0042E258: +/* 0042E258 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 0042E25C 24040035 */ li $a0, 53 +/* 0042E260 8FA5013C */ lw $a1, 0x13c($sp) +/* 0042E264 0320F809 */ jalr $t9 +/* 0042E268 8FA60138 */ lw $a2, 0x138($sp) +/* 0042E26C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E270 8EC40000 */ lw $a0, ($s6) +/* 0042E274 24050019 */ li $a1, 25 +/* 0042E278 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042E27C 0320F809 */ jalr $t9 +/* 0042E280 00000000 */ nop +/* 0042E284 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E288 8EC40000 */ lw $a0, ($s6) +/* 0042E28C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042E290 0320F809 */ jalr $t9 +/* 0042E294 00000000 */ nop +/* 0042E298 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E29C 305300FF */ andi $s3, $v0, 0xff +/* 0042E2A0 304A00FF */ andi $t2, $v0, 0xff +/* 0042E2A4 8F8889E4 */ lw $t0, %got(pic_level)($gp) +/* 0042E2A8 24010019 */ li $at, 25 +/* 0042E2AC 8D080000 */ lw $t0, ($t0) +/* 0042E2B0 19000009 */ blez $t0, .L0042E2D8 +/* 0042E2B4 00000000 */ nop +/* 0042E2B8 11410007 */ beq $t2, $at, .L0042E2D8 +/* 0042E2BC 00000000 */ nop +/* 0042E2C0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042E2C4 24040031 */ li $a0, 49 +/* 0042E2C8 24050019 */ li $a1, 25 +/* 0042E2CC 0320F809 */ jalr $t9 +/* 0042E2D0 02603025 */ move $a2, $s3 +/* 0042E2D4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E2D8: +/* 0042E2D8 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 0042E2DC 0320F809 */ jalr $t9 +/* 0042E2E0 00000000 */ nop +/* 0042E2E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E2E8 8F9983C4 */ lw $t9, %call16(load_pmov_regs)($gp) +/* 0042E2EC 0320F809 */ jalr $t9 +/* 0042E2F0 00000000 */ nop +/* 0042E2F4 8ECE002C */ lw $t6, 0x2c($s6) +/* 0042E2F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E2FC 31CC0080 */ andi $t4, $t6, 0x80 +/* 0042E300 11800008 */ beqz $t4, .L0042E324 +/* 0042E304 00000000 */ nop +/* 0042E308 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042E30C 24040022 */ li $a0, 34 +/* 0042E310 02602825 */ move $a1, $s3 +/* 0042E314 0320F809 */ jalr $t9 +/* 0042E318 00000000 */ nop +/* 0042E31C 10000007 */ b .L0042E33C +/* 0042E320 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E324: +/* 0042E324 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042E328 24040023 */ li $a0, 35 +/* 0042E32C 02602825 */ move $a1, $s3 +/* 0042E330 0320F809 */ jalr $t9 +/* 0042E334 00000000 */ nop +/* 0042E338 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E33C: +/* 0042E33C 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 0042E340 24010001 */ li $at, 1 +/* 0042E344 91EF0000 */ lbu $t7, ($t7) +/* 0042E348 15E10015 */ bne $t7, $at, .L0042E3A0 +/* 0042E34C 00000000 */ nop +/* 0042E350 8F8989DC */ lw $t1, %got(basicint)($gp) +/* 0042E354 91290000 */ lbu $t1, ($t1) +/* 0042E358 15200011 */ bnez $t1, .L0042E3A0 +/* 0042E35C 00000000 */ nop +/* 0042E360 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0042E364 24010005 */ li $at, 5 +/* 0042E368 91AD0039 */ lbu $t5, 0x39($t5) +/* 0042E36C 15A10004 */ bne $t5, $at, .L0042E380 +/* 0042E370 00000000 */ nop +/* 0042E374 8F818BCC */ lw $at, %got(regs)($gp) +/* 0042E378 24190048 */ li $t9, 72 +/* 0042E37C A0390039 */ sb $t9, 0x39($at) +.L0042E380: +/* 0042E380 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 0042E384 24010007 */ li $at, 7 +/* 0042E388 916B0051 */ lbu $t3, 0x51($t3) +/* 0042E38C 15610004 */ bne $t3, $at, .L0042E3A0 +/* 0042E390 00000000 */ nop +/* 0042E394 8F818BCC */ lw $at, %got(regs)($gp) +/* 0042E398 24180048 */ li $t8, 72 +/* 0042E39C A0380051 */ sb $t8, 0x51($at) +.L0042E3A0: +/* 0042E3A0 8F818870 */ lw $at, %got(processing_args)($gp) +/* 0042E3A4 A0200000 */ sb $zero, ($at) +/* 0042E3A8 92C80021 */ lbu $t0, 0x21($s6) +/* 0042E3AC 3C010501 */ lui $at, 0x501 +/* 0042E3B0 310A001F */ andi $t2, $t0, 0x1f +/* 0042E3B4 2D4E0020 */ sltiu $t6, $t2, 0x20 +/* 0042E3B8 000E6023 */ negu $t4, $t6 +/* 0042E3BC 01817824 */ and $t7, $t4, $at +/* 0042E3C0 014F4804 */ sllv $t1, $t7, $t2 +/* 0042E3C4 05210004 */ bgez $t1, .L0042E3D8 +/* 0042E3C8 00000000 */ nop +/* 0042E3CC 8F818874 */ lw $at, %got(processing_int64_return)($gp) +/* 0042E3D0 240D0001 */ li $t5, 1 +/* 0042E3D4 A02D0000 */ sb $t5, ($at) +.L0042E3D8: +/* 0042E3D8 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042E3DC 100012B5 */ b .L00432EB4 +/* 0042E3E0 90840000 */ lbu $a0, ($a0) +.L0042E3E4: +/* 0042E3E4 92D90021 */ lbu $t9, 0x21($s6) +/* 0042E3E8 3C01000C */ lui $at, 0xc +/* 0042E3EC 34218000 */ ori $at, $at, 0x8000 +/* 0042E3F0 332B001F */ andi $t3, $t9, 0x1f +/* 0042E3F4 2D780020 */ sltiu $t8, $t3, 0x20 +/* 0042E3F8 00184023 */ negu $t0, $t8 +/* 0042E3FC 01017024 */ and $t6, $t0, $at +/* 0042E400 016E6004 */ sllv $t4, $t6, $t3 +/* 0042E404 05830009 */ bgezl $t4, .L0042E42C +/* 0042E408 8ED00004 */ lw $s0, 4($s6) +/* 0042E40C 8F99837C */ lw $t9, %call16(eval_fp_min_max)($gp) +/* 0042E410 02C02025 */ move $a0, $s6 +/* 0042E414 03C02825 */ move $a1, $fp +/* 0042E418 0320F809 */ jalr $t9 +/* 0042E41C 00000000 */ nop +/* 0042E420 100012FA */ b .L0043300C +/* 0042E424 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E428 8ED00004 */ lw $s0, 4($s6) +.L0042E42C: +/* 0042E42C 24010049 */ li $at, 73 +/* 0042E430 920F0020 */ lbu $t7, 0x20($s0) +/* 0042E434 11E10007 */ beq $t7, $at, .L0042E454 +/* 0042E438 00000000 */ nop +/* 0042E43C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042E440 02002025 */ move $a0, $s0 +/* 0042E444 24050048 */ li $a1, 72 +/* 0042E448 0320F809 */ jalr $t9 +/* 0042E44C 00000000 */ nop +/* 0042E450 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E454: +/* 0042E454 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042E458 8EC40000 */ lw $a0, ($s6) +/* 0042E45C 24050048 */ li $a1, 72 +/* 0042E460 0320F809 */ jalr $t9 +/* 0042E464 00000000 */ nop +/* 0042E468 8ED00004 */ lw $s0, 4($s6) +/* 0042E46C 24010049 */ li $at, 73 +/* 0042E470 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E474 920A0020 */ lbu $t2, 0x20($s0) +/* 0042E478 11410007 */ beq $t2, $at, .L0042E498 +/* 0042E47C 00000000 */ nop +/* 0042E480 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042E484 02002025 */ move $a0, $s0 +/* 0042E488 0320F809 */ jalr $t9 +/* 0042E48C 00000000 */ nop +/* 0042E490 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E494 A3A20186 */ sb $v0, 0x186($sp) +.L0042E498: +/* 0042E498 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042E49C 8EC40000 */ lw $a0, ($s6) +/* 0042E4A0 0320F809 */ jalr $t9 +/* 0042E4A4 00000000 */ nop +/* 0042E4A8 24010048 */ li $at, 72 +/* 0042E4AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E4B0 17C10039 */ bne $fp, $at, .L0042E598 +/* 0042E4B4 305300FF */ andi $s3, $v0, 0xff +/* 0042E4B8 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 0042E4BC 02602025 */ move $a0, $s3 +/* 0042E4C0 0320F809 */ jalr $t9 +/* 0042E4C4 00000000 */ nop +/* 0042E4C8 1440000F */ bnez $v0, .L0042E508 +/* 0042E4CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E4D0 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 0042E4D4 02602025 */ move $a0, $s3 +/* 0042E4D8 0320F809 */ jalr $t9 +/* 0042E4DC 00000000 */ nop +/* 0042E4E0 10400009 */ beqz $v0, .L0042E508 +/* 0042E4E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E4E8 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 0042E4EC 327E00FF */ andi $fp, $s3, 0xff +/* 0042E4F0 02602025 */ move $a0, $s3 +/* 0042E4F4 02C02825 */ move $a1, $s6 +/* 0042E4F8 0320F809 */ jalr $t9 +/* 0042E4FC 96C60014 */ lhu $a2, 0x14($s6) +/* 0042E500 1000002B */ b .L0042E5B0 +/* 0042E504 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E508: +/* 0042E508 8EC90004 */ lw $t1, 4($s6) +/* 0042E50C 24010049 */ li $at, 73 +/* 0042E510 912D0020 */ lbu $t5, 0x20($t1) +/* 0042E514 11A10018 */ beq $t5, $at, .L0042E578 +/* 0042E518 00000000 */ nop +/* 0042E51C 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 0042E520 93A40186 */ lbu $a0, 0x186($sp) +/* 0042E524 0320F809 */ jalr $t9 +/* 0042E528 00000000 */ nop +/* 0042E52C 14400012 */ bnez $v0, .L0042E578 +/* 0042E530 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E534 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 0042E538 93A40186 */ lbu $a0, 0x186($sp) +/* 0042E53C 0320F809 */ jalr $t9 +/* 0042E540 00000000 */ nop +/* 0042E544 1040000C */ beqz $v0, .L0042E578 +/* 0042E548 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E54C 0260A025 */ move $s4, $s3 +/* 0042E550 93B30186 */ lbu $s3, 0x186($sp) +/* 0042E554 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 0042E558 A3B40186 */ sb $s4, 0x186($sp) +/* 0042E55C 02C02825 */ move $a1, $s6 +/* 0042E560 96C60014 */ lhu $a2, 0x14($s6) +/* 0042E564 0260F025 */ move $fp, $s3 +/* 0042E568 0320F809 */ jalr $t9 +/* 0042E56C 02602025 */ move $a0, $s3 +/* 0042E570 1000000F */ b .L0042E5B0 +/* 0042E574 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E578: +/* 0042E578 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042E57C 02C02025 */ move $a0, $s6 +/* 0042E580 96C50014 */ lhu $a1, 0x14($s6) +/* 0042E584 0320F809 */ jalr $t9 +/* 0042E588 00000000 */ nop +/* 0042E58C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E590 10000007 */ b .L0042E5B0 +/* 0042E594 305E00FF */ andi $fp, $v0, 0xff +.L0042E598: +/* 0042E598 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 0042E59C 03C02025 */ move $a0, $fp +/* 0042E5A0 02C02825 */ move $a1, $s6 +/* 0042E5A4 0320F809 */ jalr $t9 +/* 0042E5A8 96C60014 */ lhu $a2, 0x14($s6) +/* 0042E5AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E5B0: +/* 0042E5B0 92C30019 */ lbu $v1, 0x19($s6) +/* 0042E5B4 93AF0186 */ lbu $t7, 0x186($sp) +/* 0042E5B8 0003CE00 */ sll $t9, $v1, 0x18 +/* 0042E5BC 0019C642 */ srl $t8, $t9, 0x19 +/* 0042E5C0 03D84026 */ xor $t0, $fp, $t8 +/* 0042E5C4 00087640 */ sll $t6, $t0, 0x19 +/* 0042E5C8 000E5E02 */ srl $t3, $t6, 0x18 +/* 0042E5CC 01636026 */ xor $t4, $t3, $v1 +/* 0042E5D0 17CF0008 */ bne $fp, $t7, .L0042E5F4 +/* 0042E5D4 A2CC0019 */ sb $t4, 0x19($s6) +/* 0042E5D8 8ECA0004 */ lw $t2, 4($s6) +/* 0042E5DC 24010049 */ li $at, 73 +/* 0042E5E0 91490020 */ lbu $t1, 0x20($t2) +/* 0042E5E4 11210003 */ beq $t1, $at, .L0042E5F4 +/* 0042E5E8 00000000 */ nop +/* 0042E5EC 1000001C */ b .L0042E660 +/* 0042E5F0 A3B30186 */ sb $s3, 0x186($sp) +.L0042E5F4: +/* 0042E5F4 13D3001A */ beq $fp, $s3, .L0042E660 +/* 0042E5F8 00000000 */ nop +/* 0042E5FC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042E600 24040031 */ li $a0, 49 +/* 0042E604 03C02825 */ move $a1, $fp +/* 0042E608 0320F809 */ jalr $t9 +/* 0042E60C 02603025 */ move $a2, $s3 +/* 0042E610 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E614 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 0042E618 91AD0000 */ lbu $t5, ($t5) +/* 0042E61C 15A00010 */ bnez $t5, .L0042E660 +/* 0042E620 00000000 */ nop +/* 0042E624 92D90021 */ lbu $t9, 0x21($s6) +/* 0042E628 3C010501 */ lui $at, 0x501 +/* 0042E62C 3338001F */ andi $t8, $t9, 0x1f +/* 0042E630 2F080020 */ sltiu $t0, $t8, 0x20 +/* 0042E634 00087023 */ negu $t6, $t0 +/* 0042E638 01C15824 */ and $t3, $t6, $at +/* 0042E63C 030B6004 */ sllv $t4, $t3, $t8 +/* 0042E640 05810007 */ bgez $t4, .L0042E660 +/* 0042E644 00000000 */ nop +/* 0042E648 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042E64C 24040031 */ li $a0, 49 +/* 0042E650 27C50001 */ addiu $a1, $fp, 1 +/* 0042E654 0320F809 */ jalr $t9 +/* 0042E658 26660001 */ addiu $a2, $s3, 1 +/* 0042E65C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E660: +/* 0042E660 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 0042E664 02C02025 */ move $a0, $s6 +/* 0042E668 0320F809 */ jalr $t9 +/* 0042E66C 00000000 */ nop +/* 0042E670 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E674 3055FFFF */ andi $s5, $v0, 0xffff +/* 0042E678 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0042E67C 0320F809 */ jalr $t9 +/* 0042E680 00000000 */ nop +/* 0042E684 8ED00004 */ lw $s0, 4($s6) +/* 0042E688 24010049 */ li $at, 73 +/* 0042E68C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E690 920F0020 */ lbu $t7, 0x20($s0) +/* 0042E694 0040B825 */ move $s7, $v0 +/* 0042E698 02A02025 */ move $a0, $s5 +/* 0042E69C 15E10044 */ bne $t7, $at, .L0042E7B0 +/* 0042E6A0 03C02825 */ move $a1, $fp +/* 0042E6A4 92CA0021 */ lbu $t2, 0x21($s6) +/* 0042E6A8 3C010501 */ lui $at, 0x501 +/* 0042E6AC 03C02825 */ move $a1, $fp +/* 0042E6B0 3149001F */ andi $t1, $t2, 0x1f +/* 0042E6B4 2D2D0020 */ sltiu $t5, $t1, 0x20 +/* 0042E6B8 000DC823 */ negu $t9, $t5 +/* 0042E6BC 03214024 */ and $t0, $t9, $at +/* 0042E6C0 01287004 */ sllv $t6, $t0, $t1 +/* 0042E6C4 05C1002A */ bgez $t6, .L0042E770 +/* 0042E6C8 02A02025 */ move $a0, $s5 +/* 0042E6CC 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 0042E6D0 02A02025 */ move $a0, $s5 +/* 0042E6D4 8E060030 */ lw $a2, 0x30($s0) +/* 0042E6D8 8E070034 */ lw $a3, 0x34($s0) +/* 0042E6DC AFA20010 */ sw $v0, 0x10($sp) +/* 0042E6E0 0320F809 */ jalr $t9 +/* 0042E6E4 AFB60014 */ sw $s6, 0x14($sp) +/* 0042E6E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E6EC 24040029 */ li $a0, 41 +/* 0042E6F0 03C02825 */ move $a1, $fp +/* 0042E6F4 8F8B89D8 */ lw $t3, %got(opcode_arch)($gp) +/* 0042E6F8 00003825 */ move $a3, $zero +/* 0042E6FC 916B0000 */ lbu $t3, ($t3) +/* 0042E700 55600011 */ bnel $t3, $zero, .L0042E748 +/* 0042E704 8ECF0004 */ lw $t7, 4($s6) +/* 0042E708 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042E70C 8ED80004 */ lw $t8, 4($s6) +/* 0042E710 27D00001 */ addiu $s0, $fp, 1 +/* 0042E714 0320F809 */ jalr $t9 +/* 0042E718 8F060030 */ lw $a2, 0x30($t8) +/* 0042E71C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E720 8ECC0004 */ lw $t4, 4($s6) +/* 0042E724 24040029 */ li $a0, 41 +/* 0042E728 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042E72C 02002825 */ move $a1, $s0 +/* 0042E730 00003825 */ move $a3, $zero +/* 0042E734 0320F809 */ jalr $t9 +/* 0042E738 8D860034 */ lw $a2, 0x34($t4) +/* 0042E73C 1000003D */ b .L0042E834 +/* 0042E740 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E744 8ECF0004 */ lw $t7, 4($s6) +.L0042E748: +/* 0042E748 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 0042E74C 2404014C */ li $a0, 332 +/* 0042E750 8DE60030 */ lw $a2, 0x30($t7) +/* 0042E754 03C02825 */ move $a1, $fp +/* 0042E758 AFA60008 */ sw $a2, 8($sp) +/* 0042E75C 8DE70034 */ lw $a3, 0x34($t7) +/* 0042E760 0320F809 */ jalr $t9 +/* 0042E764 AFA7000C */ sw $a3, 0xc($sp) +/* 0042E768 10000032 */ b .L0042E834 +/* 0042E76C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E770: +/* 0042E770 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 0042E774 03C02825 */ move $a1, $fp +/* 0042E778 8E060030 */ lw $a2, 0x30($s0) +/* 0042E77C 0320F809 */ jalr $t9 +/* 0042E780 02E03825 */ move $a3, $s7 +/* 0042E784 8ED90004 */ lw $t9, 4($s6) +/* 0042E788 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E78C 24040029 */ li $a0, 41 +/* 0042E790 8F260030 */ lw $a2, 0x30($t9) +/* 0042E794 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042E798 03C02825 */ move $a1, $fp +/* 0042E79C 00003825 */ move $a3, $zero +/* 0042E7A0 0320F809 */ jalr $t9 +/* 0042E7A4 00000000 */ nop +/* 0042E7A8 10000022 */ b .L0042E834 +/* 0042E7AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E7B0: +/* 0042E7B0 8F9982C0 */ lw $t9, %call16(emit_branch_rrll)($gp) +/* 0042E7B4 93A60186 */ lbu $a2, 0x186($sp) +/* 0042E7B8 02E03825 */ move $a3, $s7 +/* 0042E7BC 0320F809 */ jalr $t9 +/* 0042E7C0 AFB60010 */ sw $s6, 0x10($sp) +/* 0042E7C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E7C8 24040031 */ li $a0, 49 +/* 0042E7CC 03C02825 */ move $a1, $fp +/* 0042E7D0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042E7D4 93A60186 */ lbu $a2, 0x186($sp) +/* 0042E7D8 0320F809 */ jalr $t9 +/* 0042E7DC 00000000 */ nop +/* 0042E7E0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E7E4 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 0042E7E8 91080000 */ lbu $t0, ($t0) +/* 0042E7EC 15000011 */ bnez $t0, .L0042E834 +/* 0042E7F0 00000000 */ nop +/* 0042E7F4 92C90021 */ lbu $t1, 0x21($s6) +/* 0042E7F8 3C010501 */ lui $at, 0x501 +/* 0042E7FC 24040031 */ li $a0, 49 +/* 0042E800 312E001F */ andi $t6, $t1, 0x1f +/* 0042E804 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 0042E808 000BC023 */ negu $t8, $t3 +/* 0042E80C 03016024 */ and $t4, $t8, $at +/* 0042E810 01CC7804 */ sllv $t7, $t4, $t6 +/* 0042E814 05E10007 */ bgez $t7, .L0042E834 +/* 0042E818 00000000 */ nop +/* 0042E81C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 0042E820 93A60186 */ lbu $a2, 0x186($sp) +/* 0042E824 27C50001 */ addiu $a1, $fp, 1 +/* 0042E828 0320F809 */ jalr $t9 +/* 0042E82C 24C60001 */ addiu $a2, $a2, 1 +/* 0042E830 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042E834: +/* 0042E834 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0042E838 02E02025 */ move $a0, $s7 +/* 0042E83C 0320F809 */ jalr $t9 +/* 0042E840 00000000 */ nop +/* 0042E844 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E848 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042E84C 10001199 */ b .L00432EB4 +/* 0042E850 90840000 */ lbu $a0, ($a0) +.L0042E854: +/* 0042E854 8F998320 */ lw $t9, %call16(jump)($gp) +/* 0042E858 8ECA0004 */ lw $t2, 4($s6) +/* 0042E85C 8EC40000 */ lw $a0, ($s6) +/* 0042E860 00002825 */ move $a1, $zero +/* 0042E864 0320F809 */ jalr $t9 +/* 0042E868 8D460024 */ lw $a2, 0x24($t2) +/* 0042E86C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E870 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042E874 1000118F */ b .L00432EB4 +/* 0042E878 90840000 */ lbu $a0, ($a0) +.L0042E87C: +/* 0042E87C 8F998320 */ lw $t9, %call16(jump)($gp) +/* 0042E880 8ECD0004 */ lw $t5, 4($s6) +/* 0042E884 8EC40000 */ lw $a0, ($s6) +/* 0042E888 24050001 */ li $a1, 1 +/* 0042E88C 0320F809 */ jalr $t9 +/* 0042E890 8DA60024 */ lw $a2, 0x24($t5) +/* 0042E894 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E898 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042E89C 10001185 */ b .L00432EB4 +/* 0042E8A0 90840000 */ lbu $a0, ($a0) +.L0042E8A4: +/* 0042E8A4 8F998308 */ lw $t9, %call16(is_end_return)($gp) +/* 0042E8A8 02C02025 */ move $a0, $s6 +/* 0042E8AC 0320F809 */ jalr $t9 +/* 0042E8B0 00000000 */ nop +/* 0042E8B4 10400082 */ beqz $v0, .L0042EAC0 +/* 0042E8B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E8BC 8F998A64 */ lw $t9, %got(frame_size)($gp) +/* 0042E8C0 8F390000 */ lw $t9, ($t9) +/* 0042E8C4 1720007E */ bnez $t9, .L0042EAC0 +/* 0042E8C8 00000000 */ nop +/* 0042E8CC 8F888AC8 */ lw $t0, %got(load_stack_limit)($gp) +/* 0042E8D0 91080000 */ lbu $t0, ($t0) +/* 0042E8D4 1500007A */ bnez $t0, .L0042EAC0 +/* 0042E8D8 00000000 */ nop +/* 0042E8DC 8F9982E8 */ lw $t9, %call16(is_empty_saved_regs)($gp) +/* 0042E8E0 0320F809 */ jalr $t9 +/* 0042E8E4 00000000 */ nop +/* 0042E8E8 10400075 */ beqz $v0, .L0042EAC0 +/* 0042E8EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E8F0 8F898A60 */ lw $t1, %got(frame_pointer)($gp) +/* 0042E8F4 2401001D */ li $at, 29 +/* 0042E8F8 93AB0127 */ lbu $t3, 0x127($sp) +/* 0042E8FC 91290000 */ lbu $t1, ($t1) +/* 0042E900 1521006F */ bne $t1, $at, .L0042EAC0 +/* 0042E904 2401000B */ li $at, 11 +/* 0042E908 1161001C */ beq $t3, $at, .L0042E97C +/* 0042E90C 2D780020 */ sltiu $t8, $t3, 0x20 +/* 0042E910 3C01000C */ lui $at, 0xc +/* 0042E914 34218000 */ ori $at, $at, 0x8000 +/* 0042E918 00186023 */ negu $t4, $t8 +/* 0042E91C 01817024 */ and $t6, $t4, $at +/* 0042E920 016E7804 */ sllv $t7, $t6, $t3 +/* 0042E924 05E10004 */ bgez $t7, .L0042E938 +/* 0042E928 3C0AC000 */ lui $t2, 0xc000 +/* 0042E92C AFA0013C */ sw $zero, 0x13c($sp) +/* 0042E930 10000014 */ b .L0042E984 +/* 0042E934 AFAA0138 */ sw $t2, 0x138($sp) +.L0042E938: +/* 0042E938 8F8D89DC */ lw $t5, %got(basicint)($gp) +/* 0042E93C 93B90127 */ lbu $t9, 0x127($sp) +/* 0042E940 AFA00138 */ sw $zero, 0x138($sp) +/* 0042E944 91AD0000 */ lbu $t5, ($t5) +/* 0042E948 2F280020 */ sltiu $t0, $t9, 0x20 +/* 0042E94C 00084823 */ negu $t1, $t0 +/* 0042E950 15A00007 */ bnez $t5, .L0042E970 +/* 0042E954 3C010501 */ lui $at, 0x501 +/* 0042E958 0121C024 */ and $t8, $t1, $at +/* 0042E95C 03386004 */ sllv $t4, $t8, $t9 +/* 0042E960 05810003 */ bgez $t4, .L0042E970 +/* 0042E964 3C0E3000 */ lui $t6, 0x3000 +/* 0042E968 10000006 */ b .L0042E984 +/* 0042E96C AFAE013C */ sw $t6, 0x13c($sp) +.L0042E970: +/* 0042E970 3C0B2000 */ lui $t3, 0x2000 +/* 0042E974 10000003 */ b .L0042E984 +/* 0042E978 AFAB013C */ sw $t3, 0x13c($sp) +.L0042E97C: +/* 0042E97C AFA0013C */ sw $zero, 0x13c($sp) +/* 0042E980 AFA00138 */ sw $zero, 0x138($sp) +.L0042E984: +/* 0042E984 8F908AD4 */ lw $s0, %got(pdefs)($gp) +/* 0042E988 8E100000 */ lw $s0, ($s0) +/* 0042E98C 5200003C */ beql $s0, $zero, .L0042EA80 +/* 0042E990 8FA5013C */ lw $a1, 0x13c($sp) +/* 0042E994 8E0F0030 */ lw $t7, 0x30($s0) +/* 0042E998 2401FFFF */ li $at, -1 +/* 0042E99C 51E10038 */ beql $t7, $at, .L0042EA80 +/* 0042E9A0 8FA5013C */ lw $a1, 0x13c($sp) +/* 0042E9A4 960A0022 */ lhu $t2, 0x22($s0) +.L0042E9A8: +/* 0042E9A8 24010001 */ li $at, 1 +/* 0042E9AC 5141002D */ beql $t2, $at, .L0042EA64 +/* 0042E9B0 8E100008 */ lw $s0, 8($s0) +/* 0042E9B4 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 0042E9B8 02002025 */ move $a0, $s0 +/* 0042E9BC 0320F809 */ jalr $t9 +/* 0042E9C0 00000000 */ nop +/* 0042E9C4 920D0021 */ lbu $t5, 0x21($s0) +/* 0042E9C8 3C01000C */ lui $at, 0xc +/* 0042E9CC 34218000 */ ori $at, $at, 0x8000 +/* 0042E9D0 31A8001F */ andi $t0, $t5, 0x1f +/* 0042E9D4 2D090020 */ sltiu $t1, $t0, 0x20 +/* 0042E9D8 0009C023 */ negu $t8, $t1 +/* 0042E9DC 0301C824 */ and $t9, $t8, $at +/* 0042E9E0 01196004 */ sllv $t4, $t9, $t0 +/* 0042E9E4 05810010 */ bgez $t4, .L0042EA28 +/* 0042E9E8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042E9EC 8FAE0138 */ lw $t6, 0x138($sp) +/* 0042E9F0 8E0D0028 */ lw $t5, 0x28($s0) +/* 0042E9F4 304300FF */ andi $v1, $v0, 0xff +/* 0042E9F8 3C0B8000 */ lui $t3, 0x8000 +/* 0042E9FC 006B7806 */ srlv $t7, $t3, $v1 +/* 0042EA00 24010008 */ li $at, 8 +/* 0042EA04 01CF5025 */ or $t2, $t6, $t7 +/* 0042EA08 15A10015 */ bne $t5, $at, .L0042EA60 +/* 0042EA0C AFAA0138 */ sw $t2, 0x138($sp) +/* 0042EA10 24780001 */ addiu $t8, $v1, 1 +/* 0042EA14 3C198000 */ lui $t9, 0x8000 +/* 0042EA18 03194006 */ srlv $t0, $t9, $t8 +/* 0042EA1C 01486025 */ or $t4, $t2, $t0 +/* 0042EA20 1000000F */ b .L0042EA60 +/* 0042EA24 AFAC0138 */ sw $t4, 0x138($sp) +.L0042EA28: +/* 0042EA28 8FAB013C */ lw $t3, 0x13c($sp) +/* 0042EA2C 8E0D0028 */ lw $t5, 0x28($s0) +/* 0042EA30 304300FF */ andi $v1, $v0, 0xff +/* 0042EA34 3C0E8000 */ lui $t6, 0x8000 +/* 0042EA38 006E7806 */ srlv $t7, $t6, $v1 +/* 0042EA3C 24010008 */ li $at, 8 +/* 0042EA40 016F5025 */ or $t2, $t3, $t7 +/* 0042EA44 15A10006 */ bne $t5, $at, .L0042EA60 +/* 0042EA48 AFAA013C */ sw $t2, 0x13c($sp) +/* 0042EA4C 24780001 */ addiu $t8, $v1, 1 +/* 0042EA50 3C098000 */ lui $t1, 0x8000 +/* 0042EA54 03094006 */ srlv $t0, $t1, $t8 +/* 0042EA58 01486025 */ or $t4, $t2, $t0 +/* 0042EA5C AFAC013C */ sw $t4, 0x13c($sp) +.L0042EA60: +/* 0042EA60 8E100008 */ lw $s0, 8($s0) +.L0042EA64: +/* 0042EA64 52000006 */ beql $s0, $zero, .L0042EA80 +/* 0042EA68 8FA5013C */ lw $a1, 0x13c($sp) +/* 0042EA6C 8E0E0030 */ lw $t6, 0x30($s0) +/* 0042EA70 2401FFFF */ li $at, -1 +/* 0042EA74 55C1FFCC */ bnel $t6, $at, .L0042E9A8 +/* 0042EA78 960A0022 */ lhu $t2, 0x22($s0) +/* 0042EA7C 8FA5013C */ lw $a1, 0x13c($sp) +.L0042EA80: +/* 0042EA80 8FA60138 */ lw $a2, 0x138($sp) +/* 0042EA84 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 0042EA88 34A5FF0E */ ori $a1, $a1, 0xff0e +/* 0042EA8C 34C60FFF */ ori $a2, $a2, 0xfff +/* 0042EA90 AFA60138 */ sw $a2, 0x138($sp) +/* 0042EA94 AFA5013C */ sw $a1, 0x13c($sp) +/* 0042EA98 0320F809 */ jalr $t9 +/* 0042EA9C 24040035 */ li $a0, 53 +/* 0042EAA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EAA4 24040022 */ li $a0, 34 +/* 0042EAA8 2405001F */ li $a1, 31 +/* 0042EAAC 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042EAB0 0320F809 */ jalr $t9 +/* 0042EAB4 00000000 */ nop +/* 0042EAB8 10000007 */ b .L0042EAD8 +/* 0042EABC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EAC0: +/* 0042EAC0 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 0042EAC4 8ECB0004 */ lw $t3, 4($s6) +/* 0042EAC8 24040004 */ li $a0, 4 +/* 0042EACC 0320F809 */ jalr $t9 +/* 0042EAD0 8D650024 */ lw $a1, 0x24($t3) +/* 0042EAD4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EAD8: +/* 0042EAD8 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042EADC 100010F5 */ b .L00432EB4 +/* 0042EAE0 90840000 */ lbu $a0, ($a0) +.L0042EAE4: +/* 0042EAE4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042EAE8 8EC40000 */ lw $a0, ($s6) +/* 0042EAEC 24050048 */ li $a1, 72 +/* 0042EAF0 0320F809 */ jalr $t9 +/* 0042EAF4 00000000 */ nop +/* 0042EAF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EAFC 8EC40000 */ lw $a0, ($s6) +/* 0042EB00 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042EB04 0320F809 */ jalr $t9 +/* 0042EB08 00000000 */ nop +/* 0042EB0C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EB10 24040022 */ li $a0, 34 +/* 0042EB14 00402825 */ move $a1, $v0 +/* 0042EB18 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 0042EB1C 0320F809 */ jalr $t9 +/* 0042EB20 00000000 */ nop +/* 0042EB24 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EB28 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042EB2C 100010E1 */ b .L00432EB4 +/* 0042EB30 90840000 */ lbu $a0, ($a0) +.L0042EB34: +/* 0042EB34 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042EB38 02C02025 */ move $a0, $s6 +/* 0042EB3C 03C02825 */ move $a1, $fp +/* 0042EB40 0320F809 */ jalr $t9 +/* 0042EB44 00000000 */ nop +/* 0042EB48 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EB4C 8ECF0000 */ lw $t7, ($s6) +/* 0042EB50 305E00FF */ andi $fp, $v0, 0xff +/* 0042EB54 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0042EB58 24040024 */ li $a0, 36 +/* 0042EB5C 304500FF */ andi $a1, $v0, 0xff +/* 0042EB60 0320F809 */ jalr $t9 +/* 0042EB64 8DE60024 */ lw $a2, 0x24($t7) +/* 0042EB68 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EB6C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042EB70 100010D0 */ b .L00432EB4 +/* 0042EB74 90840000 */ lbu $a0, ($a0) +.L0042EB78: +/* 0042EB78 92C70021 */ lbu $a3, 0x21($s6) +/* 0042EB7C 3C01000C */ lui $at, 0xc +/* 0042EB80 34218000 */ ori $at, $at, 0x8000 +/* 0042EB84 30E7001F */ andi $a3, $a3, 0x1f +/* 0042EB88 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 0042EB8C 000A6823 */ negu $t5, $t2 +/* 0042EB90 01A14824 */ and $t1, $t5, $at +/* 0042EB94 00E9C004 */ sllv $t8, $t1, $a3 +/* 0042EB98 07010008 */ bgez $t8, .L0042EBBC +/* 0042EB9C 2401000E */ li $at, 14 +/* 0042EBA0 8F9983D8 */ lw $t9, %call16(load_fp_literal)($gp) +/* 0042EBA4 02C02025 */ move $a0, $s6 +/* 0042EBA8 03C02825 */ move $a1, $fp +/* 0042EBAC 0320F809 */ jalr $t9 +/* 0042EBB0 00000000 */ nop +/* 0042EBB4 10000093 */ b .L0042EE04 +/* 0042EBB8 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EBBC: +/* 0042EBBC 14E1001F */ bne $a3, $at, .L0042EC3C +/* 0042EBC0 00000000 */ nop +/* 0042EBC4 8ED90028 */ lw $t9, 0x28($s6) +/* 0042EBC8 2B210005 */ slti $at, $t9, 5 +/* 0042EBCC 1420001B */ bnez $at, .L0042EC3C +/* 0042EBD0 00000000 */ nop +/* 0042EBD4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0042EBD8 0320F809 */ jalr $t9 +/* 0042EBDC 00000000 */ nop +/* 0042EBE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EBE4 26C40020 */ addiu $a0, $s6, 0x20 +/* 0042EBE8 00402825 */ move $a1, $v0 +/* 0042EBEC 8F99843C */ lw $t9, %call16(add_to_pool)($gp) +/* 0042EBF0 0320F809 */ jalr $t9 +/* 0042EBF4 00000000 */ nop +/* 0042EBF8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EBFC 00408025 */ move $s0, $v0 +/* 0042EC00 02C02025 */ move $a0, $s6 +/* 0042EC04 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042EC08 03C02825 */ move $a1, $fp +/* 0042EC0C 0320F809 */ jalr $t9 +/* 0042EC10 00000000 */ nop +/* 0042EC14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EC18 305E00FF */ andi $fp, $v0, 0xff +/* 0042EC1C 24040024 */ li $a0, 36 +/* 0042EC20 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0042EC24 304500FF */ andi $a1, $v0, 0xff +/* 0042EC28 02003025 */ move $a2, $s0 +/* 0042EC2C 0320F809 */ jalr $t9 +/* 0042EC30 00000000 */ nop +/* 0042EC34 10000073 */ b .L0042EE04 +/* 0042EC38 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EC3C: +/* 0042EC3C 8F998690 */ lw $t9, %call16(is_zero)($gp) +/* 0042EC40 02C02025 */ move $a0, $s6 +/* 0042EC44 0320F809 */ jalr $t9 +/* 0042EC48 00000000 */ nop +/* 0042EC4C 1040002F */ beqz $v0, .L0042ED0C +/* 0042EC50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EC54 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 0042EC58 00002025 */ move $a0, $zero +/* 0042EC5C 91080000 */ lbu $t0, ($t0) +/* 0042EC60 55000022 */ bnel $t0, $zero, .L0042ECEC +/* 0042EC64 92C90019 */ lbu $t1, 0x19($s6) +/* 0042EC68 92CC0021 */ lbu $t4, 0x21($s6) +/* 0042EC6C 3C010501 */ lui $at, 0x501 +/* 0042EC70 318E001F */ andi $t6, $t4, 0x1f +/* 0042EC74 2DCB0020 */ sltiu $t3, $t6, 0x20 +/* 0042EC78 000B7823 */ negu $t7, $t3 +/* 0042EC7C 01E15024 */ and $t2, $t7, $at +/* 0042EC80 01CA6804 */ sllv $t5, $t2, $t6 +/* 0042EC84 05A30019 */ bgezl $t5, .L0042ECEC +/* 0042EC88 92C90019 */ lbu $t1, 0x19($s6) +/* 0042EC8C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042EC90 02C02025 */ move $a0, $s6 +/* 0042EC94 03C02825 */ move $a1, $fp +/* 0042EC98 0320F809 */ jalr $t9 +/* 0042EC9C 00000000 */ nop +/* 0042ECA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042ECA4 305E00FF */ andi $fp, $v0, 0xff +/* 0042ECA8 24040029 */ li $a0, 41 +/* 0042ECAC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042ECB0 304500FF */ andi $a1, $v0, 0xff +/* 0042ECB4 00003025 */ move $a2, $zero +/* 0042ECB8 0320F809 */ jalr $t9 +/* 0042ECBC 00003825 */ move $a3, $zero +/* 0042ECC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042ECC4 24040029 */ li $a0, 41 +/* 0042ECC8 27C50001 */ addiu $a1, $fp, 1 +/* 0042ECCC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042ECD0 00003025 */ move $a2, $zero +/* 0042ECD4 00003825 */ move $a3, $zero +/* 0042ECD8 0320F809 */ jalr $t9 +/* 0042ECDC 00000000 */ nop +/* 0042ECE0 10000048 */ b .L0042EE04 +/* 0042ECE4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042ECE8 92C90019 */ lbu $t1, 0x19($s6) +.L0042ECEC: +/* 0042ECEC 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 0042ECF0 0000F025 */ move $fp, $zero +/* 0042ECF4 3138FF01 */ andi $t8, $t1, 0xff01 +/* 0042ECF8 A2D80019 */ sb $t8, 0x19($s6) +/* 0042ECFC 0320F809 */ jalr $t9 +/* 0042ED00 96C50014 */ lhu $a1, 0x14($s6) +/* 0042ED04 1000003F */ b .L0042EE04 +/* 0042ED08 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042ED0C: +/* 0042ED0C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042ED10 02C02025 */ move $a0, $s6 +/* 0042ED14 03C02825 */ move $a1, $fp +/* 0042ED18 0320F809 */ jalr $t9 +/* 0042ED1C 00000000 */ nop +/* 0042ED20 92D90021 */ lbu $t9, 0x21($s6) +/* 0042ED24 3C010501 */ lui $at, 0x501 +/* 0042ED28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042ED2C 3328001F */ andi $t0, $t9, 0x1f +/* 0042ED30 2D0C0020 */ sltiu $t4, $t0, 0x20 +/* 0042ED34 000C5823 */ negu $t3, $t4 +/* 0042ED38 01617824 */ and $t7, $t3, $at +/* 0042ED3C 010F5004 */ sllv $t2, $t7, $t0 +/* 0042ED40 05410029 */ bgez $t2, .L0042EDE8 +/* 0042ED44 305E00FF */ andi $fp, $v0, 0xff +/* 0042ED48 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0042ED4C 304300FF */ andi $v1, $v0, 0xff +/* 0042ED50 00034880 */ sll $t1, $v1, 2 +/* 0042ED54 91CE0000 */ lbu $t6, ($t6) +/* 0042ED58 24040029 */ li $a0, 41 +/* 0042ED5C 11C0000A */ beqz $t6, .L0042ED88 +/* 0042ED60 00000000 */ nop +/* 0042ED64 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0042ED68 01234823 */ subu $t1, $t1, $v1 +/* 0042ED6C 00094880 */ sll $t1, $t1, 2 +/* 0042ED70 0138C821 */ addu $t9, $t1, $t8 +/* 0042ED74 932C0009 */ lbu $t4, 9($t9) +/* 0042ED78 246D0001 */ addiu $t5, $v1, 1 +/* 0042ED7C 03C02825 */ move $a1, $fp +/* 0042ED80 15AC0010 */ bne $t5, $t4, .L0042EDC4 +/* 0042ED84 00000000 */ nop +.L0042ED88: +/* 0042ED88 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042ED8C 03C02825 */ move $a1, $fp +/* 0042ED90 8EC60030 */ lw $a2, 0x30($s6) +/* 0042ED94 0320F809 */ jalr $t9 +/* 0042ED98 00003825 */ move $a3, $zero +/* 0042ED9C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EDA0 24040029 */ li $a0, 41 +/* 0042EDA4 27C50001 */ addiu $a1, $fp, 1 +/* 0042EDA8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042EDAC 8EC60034 */ lw $a2, 0x34($s6) +/* 0042EDB0 00003825 */ move $a3, $zero +/* 0042EDB4 0320F809 */ jalr $t9 +/* 0042EDB8 00000000 */ nop +/* 0042EDBC 10000011 */ b .L0042EE04 +/* 0042EDC0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EDC4: +/* 0042EDC4 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 0042EDC8 8EC60030 */ lw $a2, 0x30($s6) +/* 0042EDCC 8EC70034 */ lw $a3, 0x34($s6) +/* 0042EDD0 2404014C */ li $a0, 332 +/* 0042EDD4 AFA60008 */ sw $a2, 8($sp) +/* 0042EDD8 0320F809 */ jalr $t9 +/* 0042EDDC AFA7000C */ sw $a3, 0xc($sp) +/* 0042EDE0 10000008 */ b .L0042EE04 +/* 0042EDE4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EDE8: +/* 0042EDE8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042EDEC 24040029 */ li $a0, 41 +/* 0042EDF0 03C02825 */ move $a1, $fp +/* 0042EDF4 8EC60030 */ lw $a2, 0x30($s6) +/* 0042EDF8 0320F809 */ jalr $t9 +/* 0042EDFC 00003825 */ move $a3, $zero +/* 0042EE00 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EE04: +/* 0042EE04 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042EE08 1000102A */ b .L00432EB4 +/* 0042EE0C 90840000 */ lbu $a0, ($a0) +.L0042EE10: +/* 0042EE10 92C70021 */ lbu $a3, 0x21($s6) +/* 0042EE14 3C010501 */ lui $at, 0x501 +/* 0042EE18 30E7001F */ andi $a3, $a3, 0x1f +/* 0042EE1C 2CE80020 */ sltiu $t0, $a3, 0x20 +/* 0042EE20 00085023 */ negu $t2, $t0 +/* 0042EE24 01417024 */ and $t6, $t2, $at +/* 0042EE28 00EE4804 */ sllv $t1, $t6, $a3 +/* 0042EE2C 012002B2 */ tlt $t1, $zero, 0xa +/* 0042EE30 2CF80020 */ sltiu $t8, $a3, 0x20 +/* 0042EE34 3C01000C */ lui $at, 0xc +/* 0042EE38 34218000 */ ori $at, $at, 0x8000 +/* 0042EE3C 0018C823 */ negu $t9, $t8 +/* 0042EE40 03216824 */ and $t5, $t9, $at +/* 0042EE44 00ED6004 */ sllv $t4, $t5, $a3 +/* 0042EE48 05810017 */ bgez $t4, .L0042EEA8 +/* 0042EE4C 00000000 */ nop +/* 0042EE50 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042EE54 02C02025 */ move $a0, $s6 +/* 0042EE58 03C02825 */ move $a1, $fp +/* 0042EE5C 0320F809 */ jalr $t9 +/* 0042EE60 00000000 */ nop +/* 0042EE64 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EE68 92C50021 */ lbu $a1, 0x21($s6) +/* 0042EE6C 305E00FF */ andi $fp, $v0, 0xff +/* 0042EE70 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 0042EE74 240400FC */ li $a0, 252 +/* 0042EE78 30A5001F */ andi $a1, $a1, 0x1f +/* 0042EE7C 0320F809 */ jalr $t9 +/* 0042EE80 00000000 */ nop +/* 0042EE84 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EE88 00402025 */ move $a0, $v0 +/* 0042EE8C 03C02825 */ move $a1, $fp +/* 0042EE90 8F998200 */ lw $t9, %call16(emit_rrfi)($gp) +/* 0042EE94 8EC60024 */ lw $a2, 0x24($s6) +/* 0042EE98 0320F809 */ jalr $t9 +/* 0042EE9C 00000000 */ nop +/* 0042EEA0 1000000F */ b .L0042EEE0 +/* 0042EEA4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EEA8: +/* 0042EEA8 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042EEAC 02C02025 */ move $a0, $s6 +/* 0042EEB0 03C02825 */ move $a1, $fp +/* 0042EEB4 0320F809 */ jalr $t9 +/* 0042EEB8 00000000 */ nop +/* 0042EEBC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EEC0 305E00FF */ andi $fp, $v0, 0xff +/* 0042EEC4 24040029 */ li $a0, 41 +/* 0042EEC8 8F998200 */ lw $t9, %call16(emit_rrfi)($gp) +/* 0042EECC 304500FF */ andi $a1, $v0, 0xff +/* 0042EED0 8EC60024 */ lw $a2, 0x24($s6) +/* 0042EED4 0320F809 */ jalr $t9 +/* 0042EED8 00000000 */ nop +/* 0042EEDC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EEE0: +/* 0042EEE0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042EEE4 10000FF3 */ b .L00432EB4 +/* 0042EEE8 90840000 */ lbu $a0, ($a0) +.L0042EEEC: +/* 0042EEEC 8F998384 */ lw $t9, %call16(ureg)($gp) +/* 0042EEF0 26C40020 */ addiu $a0, $s6, 0x20 +/* 0042EEF4 0320F809 */ jalr $t9 +/* 0042EEF8 00000000 */ nop +/* 0042EEFC 304300FF */ andi $v1, $v0, 0xff +/* 0042EF00 24010048 */ li $at, 72 +/* 0042EF04 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EF08 1061006B */ beq $v1, $at, .L0042F0B8 +/* 0042EF0C 305300FF */ andi $s3, $v0, 0xff +/* 0042EF10 246BFFE0 */ addiu $t3, $v1, -0x20 +/* 0042EF14 2D6F0020 */ sltiu $t7, $t3, 0x20 +/* 0042EF18 000F4023 */ negu $t0, $t7 +/* 0042EF1C 01685004 */ sllv $t2, $t0, $t3 +/* 0042EF20 0541000E */ bgez $t2, .L0042EF5C +/* 0042EF24 00000000 */ nop +/* 0042EF28 92CE0021 */ lbu $t6, 0x21($s6) +/* 0042EF2C 8F988898 */ lw $t8, %got(reg_kind_tab)($gp) +/* 0042EF30 02602025 */ move $a0, $s3 +/* 0042EF34 31C9001F */ andi $t1, $t6, 0x1f +/* 0042EF38 0138C821 */ addu $t9, $t1, $t8 +/* 0042EF3C 93260000 */ lbu $a2, ($t9) +/* 0042EF40 8F9984E4 */ lw $t9, %call16(get_fp_reg1)($gp) +/* 0042EF44 02C02825 */ move $a1, $s6 +/* 0042EF48 96C70014 */ lhu $a3, 0x14($s6) +/* 0042EF4C 0320F809 */ jalr $t9 +/* 0042EF50 00000000 */ nop +/* 0042EF54 1000004F */ b .L0042F094 +/* 0042EF58 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042EF5C: +/* 0042EF5C 8F9984DC */ lw $t9, %call16(get_reg1)($gp) +/* 0042EF60 02602025 */ move $a0, $s3 +/* 0042EF64 02C02825 */ move $a1, $s6 +/* 0042EF68 0320F809 */ jalr $t9 +/* 0042EF6C 96C60014 */ lhu $a2, 0x14($s6) +/* 0042EF70 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042EF74 24010002 */ li $at, 2 +/* 0042EF78 8F8D8874 */ lw $t5, %got(processing_int64_return)($gp) +/* 0042EF7C 91AD0000 */ lbu $t5, ($t5) +/* 0042EF80 51A00045 */ beql $t5, $zero, .L0042F098 +/* 0042EF84 92C30019 */ lbu $v1, 0x19($s6) +/* 0042EF88 56610043 */ bnel $s3, $at, .L0042F098 +/* 0042EF8C 92C30019 */ lbu $v1, 0x19($s6) +/* 0042EF90 8F818874 */ lw $at, %got(processing_int64_return)($gp) +/* 0042EF94 A0200000 */ sb $zero, ($at) +/* 0042EF98 92CC0021 */ lbu $t4, 0x21($s6) +/* 0042EF9C 3C010501 */ lui $at, 0x501 +/* 0042EFA0 318F001F */ andi $t7, $t4, 0x1f +/* 0042EFA4 2DE80020 */ sltiu $t0, $t7, 0x20 +/* 0042EFA8 00085823 */ negu $t3, $t0 +/* 0042EFAC 01615024 */ and $t2, $t3, $at +/* 0042EFB0 01EA7004 */ sllv $t6, $t2, $t7 +/* 0042EFB4 05C30038 */ bgezl $t6, .L0042F098 +/* 0042EFB8 92C30019 */ lbu $v1, 0x19($s6) +/* 0042EFBC 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 0042EFC0 24010001 */ li $at, 1 +/* 0042EFC4 91290000 */ lbu $t1, ($t1) +/* 0042EFC8 55210033 */ bnel $t1, $at, .L0042F098 +/* 0042EFCC 92C30019 */ lbu $v1, 0x19($s6) +/* 0042EFD0 8F9889DC */ lw $t8, %got(basicint)($gp) +/* 0042EFD4 2404013A */ li $a0, 314 +/* 0042EFD8 02602825 */ move $a1, $s3 +/* 0042EFDC 93180000 */ lbu $t8, ($t8) +/* 0042EFE0 5700002D */ bnel $t8, $zero, .L0042F098 +/* 0042EFE4 92C30019 */ lbu $v1, 0x19($s6) +/* 0042EFE8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042EFEC 02603025 */ move $a2, $s3 +/* 0042EFF0 24070020 */ li $a3, 32 +/* 0042EFF4 0320F809 */ jalr $t9 +/* 0042EFF8 AFA00010 */ sw $zero, 0x10($sp) +/* 0042EFFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F000 26700001 */ addiu $s0, $s3, 1 +/* 0042F004 02002825 */ move $a1, $s0 +/* 0042F008 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042F00C 02003025 */ move $a2, $s0 +/* 0042F010 2404013A */ li $a0, 314 +/* 0042F014 24070020 */ li $a3, 32 +/* 0042F018 0320F809 */ jalr $t9 +/* 0042F01C AFA00010 */ sw $zero, 0x10($sp) +/* 0042F020 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F024 02603025 */ move $a2, $s3 +/* 0042F028 24070020 */ li $a3, 32 +/* 0042F02C 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 0042F030 2404013B */ li $a0, 315 +/* 0042F034 02002825 */ move $a1, $s0 +/* 0042F038 93390000 */ lbu $t9, ($t9) +/* 0042F03C 13200008 */ beqz $t9, .L0042F060 +/* 0042F040 00000000 */ nop +/* 0042F044 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042F048 2404013B */ li $a0, 315 +/* 0042F04C 02602825 */ move $a1, $s3 +/* 0042F050 0320F809 */ jalr $t9 +/* 0042F054 AFA00010 */ sw $zero, 0x10($sp) +/* 0042F058 10000007 */ b .L0042F078 +/* 0042F05C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F060: +/* 0042F060 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042F064 02003025 */ move $a2, $s0 +/* 0042F068 24070020 */ li $a3, 32 +/* 0042F06C 0320F809 */ jalr $t9 +/* 0042F070 AFA00010 */ sw $zero, 0x10($sp) +/* 0042F074 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F078: +/* 0042F078 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042F07C 24040040 */ li $a0, 64 +/* 0042F080 02602825 */ move $a1, $s3 +/* 0042F084 02603025 */ move $a2, $s3 +/* 0042F088 0320F809 */ jalr $t9 +/* 0042F08C 02003825 */ move $a3, $s0 +/* 0042F090 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F094: +/* 0042F094 92C30019 */ lbu $v1, 0x19($s6) +.L0042F098: +/* 0042F098 00036E00 */ sll $t5, $v1, 0x18 +/* 0042F09C 000D6642 */ srl $t4, $t5, 0x19 +/* 0042F0A0 026C4026 */ xor $t0, $s3, $t4 +/* 0042F0A4 00085E40 */ sll $t3, $t0, 0x19 +/* 0042F0A8 000B5602 */ srl $t2, $t3, 0x18 +/* 0042F0AC 01437826 */ xor $t7, $t2, $v1 +/* 0042F0B0 1000003F */ b .L0042F1B0 +/* 0042F0B4 A2CF0019 */ sb $t7, 0x19($s6) +.L0042F0B8: +/* 0042F0B8 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042F0BC 02C02025 */ move $a0, $s6 +/* 0042F0C0 03C02825 */ move $a1, $fp +/* 0042F0C4 0320F809 */ jalr $t9 +/* 0042F0C8 00000000 */ nop +/* 0042F0CC 96D70022 */ lhu $s7, 0x22($s6) +/* 0042F0D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F0D4 305E00FF */ andi $fp, $v0, 0xff +/* 0042F0D8 32F70001 */ andi $s7, $s7, 1 +/* 0042F0DC 0017B82B */ sltu $s7, $zero, $s7 +/* 0042F0E0 32F700FF */ andi $s7, $s7, 0xff +/* 0042F0E4 12E00007 */ beqz $s7, .L0042F104 +/* 0042F0E8 00000000 */ nop +/* 0042F0EC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F0F0 24040020 */ li $a0, 32 +/* 0042F0F4 2405000B */ li $a1, 11 +/* 0042F0F8 0320F809 */ jalr $t9 +/* 0042F0FC 00000000 */ nop +/* 0042F100 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F104: +/* 0042F104 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042F108 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042F10C 02C02825 */ move $a1, $s6 +/* 0042F110 0320F809 */ jalr $t9 +/* 0042F114 03C03025 */ move $a2, $fp +/* 0042F118 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F11C 3044FFFF */ andi $a0, $v0, 0xffff +/* 0042F120 02C02825 */ move $a1, $s6 +/* 0042F124 8F998370 */ lw $t9, %call16(unaligned_loadstore)($gp) +/* 0042F128 03C03025 */ move $a2, $fp +/* 0042F12C 0320F809 */ jalr $t9 +/* 0042F130 00000000 */ nop +/* 0042F134 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F138 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0042F13C 91CE0000 */ lbu $t6, ($t6) +/* 0042F140 15C00013 */ bnez $t6, .L0042F190 +/* 0042F144 00000000 */ nop +/* 0042F148 92C90021 */ lbu $t1, 0x21($s6) +/* 0042F14C 2401000E */ li $at, 14 +/* 0042F150 3138001F */ andi $t8, $t1, 0x1f +/* 0042F154 1701000E */ bne $t8, $at, .L0042F190 +/* 0042F158 00000000 */ nop +/* 0042F15C 8ED10028 */ lw $s1, 0x28($s6) +/* 0042F160 240D0020 */ li $t5, 32 +/* 0042F164 2A210004 */ slti $at, $s1, 4 +/* 0042F168 10200009 */ beqz $at, .L0042F190 +/* 0042F16C 00000000 */ nop +/* 0042F170 0011C8C0 */ sll $t9, $s1, 3 +/* 0042F174 01B93023 */ subu $a2, $t5, $t9 +/* 0042F178 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042F17C 2404004F */ li $a0, 79 +/* 0042F180 03C02825 */ move $a1, $fp +/* 0042F184 0320F809 */ jalr $t9 +/* 0042F188 00003825 */ move $a3, $zero +/* 0042F18C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F190: +/* 0042F190 12E00007 */ beqz $s7, .L0042F1B0 +/* 0042F194 00000000 */ nop +/* 0042F198 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F19C 24040020 */ li $a0, 32 +/* 0042F1A0 2405000C */ li $a1, 12 +/* 0042F1A4 0320F809 */ jalr $t9 +/* 0042F1A8 00000000 */ nop +/* 0042F1AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F1B0: +/* 0042F1B0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042F1B4 10000F3F */ b .L00432EB4 +/* 0042F1B8 90840000 */ lbu $a0, ($a0) +.L0042F1BC: +/* 0042F1BC 8ED20000 */ lw $s2, ($s6) +/* 0042F1C0 96D70022 */ lhu $s7, 0x22($s6) +/* 0042F1C4 24010001 */ li $at, 1 +/* 0042F1C8 964C0014 */ lhu $t4, 0x14($s2) +/* 0042F1CC 32F70001 */ andi $s7, $s7, 1 +/* 0042F1D0 0017B82B */ sltu $s7, $zero, $s7 +/* 0042F1D4 158100C0 */ bne $t4, $at, .L0042F4D8 +/* 0042F1D8 32F700FF */ andi $s7, $s7, 0xff +/* 0042F1DC 8F8889E4 */ lw $t0, %got(pic_level)($gp) +/* 0042F1E0 8D080000 */ lw $t0, ($t0) +/* 0042F1E4 150000BC */ bnez $t0, .L0042F4D8 +/* 0042F1E8 00000000 */ nop +/* 0042F1EC 924B0020 */ lbu $t3, 0x20($s2) +/* 0042F1F0 24010001 */ li $at, 1 +/* 0042F1F4 156100B8 */ bne $t3, $at, .L0042F4D8 +/* 0042F1F8 00000000 */ nop +/* 0042F1FC 8E430004 */ lw $v1, 4($s2) +/* 0042F200 24010001 */ li $at, 1 +/* 0042F204 946A0014 */ lhu $t2, 0x14($v1) +/* 0042F208 154100B3 */ bne $t2, $at, .L0042F4D8 +/* 0042F20C 00000000 */ nop +/* 0042F210 906F0020 */ lbu $t7, 0x20($v1) +/* 0042F214 24010047 */ li $at, 71 +/* 0042F218 15E100AF */ bne $t7, $at, .L0042F4D8 +/* 0042F21C 00000000 */ nop +/* 0042F220 906E0021 */ lbu $t6, 0x21($v1) +/* 0042F224 3C016800 */ lui $at, 0x6800 +/* 0042F228 000E4E00 */ sll $t1, $t6, 0x18 +/* 0042F22C 0009C742 */ srl $t8, $t1, 0x1d +/* 0042F230 2F0D0020 */ sltiu $t5, $t8, 0x20 +/* 0042F234 000DC823 */ negu $t9, $t5 +/* 0042F238 03216024 */ and $t4, $t9, $at +/* 0042F23C 030C4004 */ sllv $t0, $t4, $t8 +/* 0042F240 050100A5 */ bgez $t0, .L0042F4D8 +/* 0042F244 00000000 */ nop +/* 0042F248 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 0042F24C 8C640024 */ lw $a0, 0x24($v1) +/* 0042F250 0320F809 */ jalr $t9 +/* 0042F254 00000000 */ nop +/* 0042F258 24010005 */ li $at, 5 +/* 0042F25C 1041009E */ beq $v0, $at, .L0042F4D8 +/* 0042F260 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F264 8E4B0004 */ lw $t3, 4($s2) +/* 0042F268 24010004 */ li $at, 4 +/* 0042F26C 916A0021 */ lbu $t2, 0x21($t3) +/* 0042F270 000A7E00 */ sll $t7, $t2, 0x18 +/* 0042F274 000F7742 */ srl $t6, $t7, 0x1d +/* 0042F278 15C10036 */ bne $t6, $at, .L0042F354 +/* 0042F27C 00000000 */ nop +/* 0042F280 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042F284 8E440000 */ lw $a0, ($s2) +/* 0042F288 24050048 */ li $a1, 72 +/* 0042F28C 0320F809 */ jalr $t9 +/* 0042F290 00000000 */ nop +/* 0042F294 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F298 8E440000 */ lw $a0, ($s2) +/* 0042F29C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042F2A0 0320F809 */ jalr $t9 +/* 0042F2A4 00000000 */ nop +/* 0042F2A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F2AC 305300FF */ andi $s3, $v0, 0xff +/* 0042F2B0 02C02025 */ move $a0, $s6 +/* 0042F2B4 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042F2B8 03C02825 */ move $a1, $fp +/* 0042F2BC 0320F809 */ jalr $t9 +/* 0042F2C0 00000000 */ nop +/* 0042F2C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F2C8 12E00007 */ beqz $s7, .L0042F2E8 +/* 0042F2CC 305E00FF */ andi $fp, $v0, 0xff +/* 0042F2D0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F2D4 24040020 */ li $a0, 32 +/* 0042F2D8 2405000B */ li $a1, 11 +/* 0042F2DC 0320F809 */ jalr $t9 +/* 0042F2E0 00000000 */ nop +/* 0042F2E4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F2E8: +/* 0042F2E8 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042F2EC 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042F2F0 02C02825 */ move $a1, $s6 +/* 0042F2F4 0320F809 */ jalr $t9 +/* 0042F2F8 03C03025 */ move $a2, $fp +/* 0042F2FC 8E430004 */ lw $v1, 4($s2) +/* 0042F300 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F304 8EC9002C */ lw $t1, 0x2c($s6) +/* 0042F308 8C790024 */ lw $t9, 0x24($v1) +/* 0042F30C 8C6D002C */ lw $t5, 0x2c($v1) +/* 0042F310 02C02025 */ move $a0, $s6 +/* 0042F314 AFB90010 */ sw $t9, 0x10($sp) +/* 0042F318 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 0042F31C 3045FFFF */ andi $a1, $v0, 0xffff +/* 0042F320 03C03025 */ move $a2, $fp +/* 0042F324 AFB30014 */ sw $s3, 0x14($sp) +/* 0042F328 0320F809 */ jalr $t9 +/* 0042F32C 012D3821 */ addu $a3, $t1, $t5 +/* 0042F330 12E000DF */ beqz $s7, .L0042F6B0 +/* 0042F334 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F338 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F33C 24040020 */ li $a0, 32 +/* 0042F340 2405000C */ li $a1, 12 +/* 0042F344 0320F809 */ jalr $t9 +/* 0042F348 00000000 */ nop +/* 0042F34C 100000D8 */ b .L0042F6B0 +/* 0042F350 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F354: +/* 0042F354 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042F358 8E440000 */ lw $a0, ($s2) +/* 0042F35C 24050048 */ li $a1, 72 +/* 0042F360 0320F809 */ jalr $t9 +/* 0042F364 00000000 */ nop +/* 0042F368 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F36C 8E440000 */ lw $a0, ($s2) +/* 0042F370 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042F374 0320F809 */ jalr $t9 +/* 0042F378 00000000 */ nop +/* 0042F37C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F380 305300FF */ andi $s3, $v0, 0xff +/* 0042F384 02C02025 */ move $a0, $s6 +/* 0042F388 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042F38C 03C02825 */ move $a1, $fp +/* 0042F390 0320F809 */ jalr $t9 +/* 0042F394 00000000 */ nop +/* 0042F398 92C70021 */ lbu $a3, 0x21($s6) +/* 0042F39C 3C01000C */ lui $at, 0xc +/* 0042F3A0 34218000 */ ori $at, $at, 0x8000 +/* 0042F3A4 30E7001F */ andi $a3, $a3, 0x1f +/* 0042F3A8 2CEC0020 */ sltiu $t4, $a3, 0x20 +/* 0042F3AC 000CC023 */ negu $t8, $t4 +/* 0042F3B0 03014024 */ and $t0, $t8, $at +/* 0042F3B4 00E85804 */ sllv $t3, $t0, $a3 +/* 0042F3B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F3BC 05600008 */ bltz $t3, .L0042F3E0 +/* 0042F3C0 305E00FF */ andi $fp, $v0, 0xff +/* 0042F3C4 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 0042F3C8 000A7823 */ negu $t7, $t2 +/* 0042F3CC 3C010501 */ lui $at, 0x501 +/* 0042F3D0 01E17024 */ and $t6, $t7, $at +/* 0042F3D4 00EE4804 */ sllv $t1, $t6, $a3 +/* 0042F3D8 0523000F */ bgezl $t1, .L0042F418 +/* 0042F3DC A3A20186 */ sb $v0, 0x186($sp) +.L0042F3E0: +/* 0042F3E0 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042F3E4 00002025 */ move $a0, $zero +/* 0042F3E8 24050001 */ li $a1, 1 +/* 0042F3EC 0320F809 */ jalr $t9 +/* 0042F3F0 00000000 */ nop +/* 0042F3F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F3F8 A3A20186 */ sb $v0, 0x186($sp) +/* 0042F3FC 304400FF */ andi $a0, $v0, 0xff +/* 0042F400 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042F404 0320F809 */ jalr $t9 +/* 0042F408 00000000 */ nop +/* 0042F40C 10000002 */ b .L0042F418 +/* 0042F410 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F414 A3A20186 */ sb $v0, 0x186($sp) +.L0042F418: +/* 0042F418 12E00007 */ beqz $s7, .L0042F438 +/* 0042F41C 00000000 */ nop +/* 0042F420 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F424 24040020 */ li $a0, 32 +/* 0042F428 2405000B */ li $a1, 11 +/* 0042F42C 0320F809 */ jalr $t9 +/* 0042F430 00000000 */ nop +/* 0042F434 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F438: +/* 0042F438 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042F43C 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 0042F440 24040002 */ li $a0, 2 +/* 0042F444 93A50186 */ lbu $a1, 0x186($sp) +/* 0042F448 02603825 */ move $a3, $s3 +/* 0042F44C 0320F809 */ jalr $t9 +/* 0042F450 90C60000 */ lbu $a2, ($a2) +/* 0042F454 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F458 02C02825 */ move $a1, $s6 +/* 0042F45C 03C03025 */ move $a2, $fp +/* 0042F460 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042F464 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042F468 0320F809 */ jalr $t9 +/* 0042F46C 00000000 */ nop +/* 0042F470 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F474 3055FFFF */ andi $s5, $v0, 0xffff +/* 0042F478 8E440004 */ lw $a0, 4($s2) +/* 0042F47C 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 0042F480 0320F809 */ jalr $t9 +/* 0042F484 00000000 */ nop +/* 0042F488 93B90186 */ lbu $t9, 0x186($sp) +/* 0042F48C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F490 8ECD002C */ lw $t5, 0x2c($s6) +/* 0042F494 AFB90014 */ sw $t9, 0x14($sp) +/* 0042F498 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 0042F49C 02C02025 */ move $a0, $s6 +/* 0042F4A0 02A02825 */ move $a1, $s5 +/* 0042F4A4 03C03025 */ move $a2, $fp +/* 0042F4A8 AFA00010 */ sw $zero, 0x10($sp) +/* 0042F4AC 0320F809 */ jalr $t9 +/* 0042F4B0 01A23821 */ addu $a3, $t5, $v0 +/* 0042F4B4 12E0007E */ beqz $s7, .L0042F6B0 +/* 0042F4B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F4BC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F4C0 24040020 */ li $a0, 32 +/* 0042F4C4 2405000C */ li $a1, 12 +/* 0042F4C8 0320F809 */ jalr $t9 +/* 0042F4CC 00000000 */ nop +/* 0042F4D0 10000077 */ b .L0042F6B0 +/* 0042F4D4 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F4D8: +/* 0042F4D8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042F4DC 8EC40000 */ lw $a0, ($s6) +/* 0042F4E0 24050048 */ li $a1, 72 +/* 0042F4E4 0320F809 */ jalr $t9 +/* 0042F4E8 00000000 */ nop +/* 0042F4EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F4F0 8EC40000 */ lw $a0, ($s6) +/* 0042F4F4 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042F4F8 0320F809 */ jalr $t9 +/* 0042F4FC 00000000 */ nop +/* 0042F500 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F504 305300FF */ andi $s3, $v0, 0xff +/* 0042F508 02C02025 */ move $a0, $s6 +/* 0042F50C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042F510 03C02825 */ move $a1, $fp +/* 0042F514 0320F809 */ jalr $t9 +/* 0042F518 00000000 */ nop +/* 0042F51C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F520 12E00007 */ beqz $s7, .L0042F540 +/* 0042F524 305E00FF */ andi $fp, $v0, 0xff +/* 0042F528 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F52C 24040020 */ li $a0, 32 +/* 0042F530 2405000B */ li $a1, 11 +/* 0042F534 0320F809 */ jalr $t9 +/* 0042F538 00000000 */ nop +/* 0042F53C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F540: +/* 0042F540 92CC0020 */ lbu $t4, 0x20($s6) +/* 0042F544 24010036 */ li $at, 54 +/* 0042F548 15810031 */ bne $t4, $at, .L0042F610 +/* 0042F54C 00000000 */ nop +/* 0042F550 92580020 */ lbu $t8, 0x20($s2) +/* 0042F554 24010001 */ li $at, 1 +/* 0042F558 1701002D */ bne $t8, $at, .L0042F610 +/* 0042F55C 00000000 */ nop +/* 0042F560 8E510000 */ lw $s1, ($s2) +/* 0042F564 2401005B */ li $at, 91 +/* 0042F568 92220020 */ lbu $v0, 0x20($s1) +/* 0042F56C 54410004 */ bnel $v0, $at, .L0042F580 +/* 0042F570 24010052 */ li $at, 82 +/* 0042F574 8E310000 */ lw $s1, ($s1) +/* 0042F578 92220020 */ lbu $v0, 0x20($s1) +/* 0042F57C 24010052 */ li $at, 82 +.L0042F580: +/* 0042F580 14410023 */ bne $v0, $at, .L0042F610 +/* 0042F584 00000000 */ nop +/* 0042F588 8F928BC0 */ lw $s2, %got(noalias_regs)($gp) +/* 0042F58C 24100001 */ li $s0, 1 +/* 0042F590 26520004 */ addiu $s2, $s2, 4 +.L0042F594: +/* 0042F594 92280019 */ lbu $t0, 0x19($s1) +/* 0042F598 8E420000 */ lw $v0, ($s2) +/* 0042F59C 240F0001 */ li $t7, 1 +/* 0042F5A0 00085E00 */ sll $t3, $t0, 0x18 +/* 0042F5A4 000B5642 */ srl $t2, $t3, 0x19 +/* 0042F5A8 014F7004 */ sllv $t6, $t7, $t2 +/* 0042F5AC 004E4824 */ and $t1, $v0, $t6 +/* 0042F5B0 51200014 */ beql $t1, $zero, .L0042F604 +/* 0042F5B4 26100001 */ addiu $s0, $s0, 1 +/* 0042F5B8 8F998BC0 */ lw $t9, %got(noalias_regs)($gp) +/* 0042F5BC 00136880 */ sll $t5, $s3, 2 +/* 0042F5C0 01B96021 */ addu $t4, $t5, $t9 +/* 0042F5C4 8D980000 */ lw $t8, ($t4) +/* 0042F5C8 03024024 */ and $t0, $t8, $v0 +/* 0042F5CC 5500000D */ bnel $t0, $zero, .L0042F604 +/* 0042F5D0 26100001 */ addiu $s0, $s0, 1 +/* 0042F5D4 8F8F8BB4 */ lw $t7, %got(noalias_on_off)($gp) +/* 0042F5D8 240B0001 */ li $t3, 1 +/* 0042F5DC 24040030 */ li $a0, 48 +/* 0042F5E0 020F5021 */ addu $t2, $s0, $t7 +/* 0042F5E4 A14B0000 */ sb $t3, ($t2) +/* 0042F5E8 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042F5EC 02602825 */ move $a1, $s3 +/* 0042F5F0 02003025 */ move $a2, $s0 +/* 0042F5F4 0320F809 */ jalr $t9 +/* 0042F5F8 00000000 */ nop +/* 0042F5FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F600 26100001 */ addiu $s0, $s0, 1 +.L0042F604: +/* 0042F604 24010020 */ li $at, 32 +/* 0042F608 1601FFE2 */ bne $s0, $at, .L0042F594 +/* 0042F60C 26520004 */ addiu $s2, $s2, 4 +.L0042F610: +/* 0042F610 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042F614 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042F618 02C02825 */ move $a1, $s6 +/* 0042F61C 0320F809 */ jalr $t9 +/* 0042F620 03C03025 */ move $a2, $fp +/* 0042F624 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F628 02C02025 */ move $a0, $s6 +/* 0042F62C 3045FFFF */ andi $a1, $v0, 0xffff +/* 0042F630 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 0042F634 03C03025 */ move $a2, $fp +/* 0042F638 8EC7002C */ lw $a3, 0x2c($s6) +/* 0042F63C AFA00010 */ sw $zero, 0x10($sp) +/* 0042F640 0320F809 */ jalr $t9 +/* 0042F644 AFB30014 */ sw $s3, 0x14($sp) +/* 0042F648 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F64C 24100001 */ li $s0, 1 +/* 0042F650 8F918BB4 */ lw $s1, %got(noalias_on_off)($gp) +/* 0042F654 26310001 */ addiu $s1, $s1, 1 +.L0042F658: +/* 0042F658 922E0000 */ lbu $t6, ($s1) +/* 0042F65C 51C00009 */ beql $t6, $zero, .L0042F684 +/* 0042F660 26100001 */ addiu $s0, $s0, 1 +/* 0042F664 A2200000 */ sb $zero, ($s1) +/* 0042F668 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042F66C 24040031 */ li $a0, 49 +/* 0042F670 02602825 */ move $a1, $s3 +/* 0042F674 0320F809 */ jalr $t9 +/* 0042F678 02003025 */ move $a2, $s0 +/* 0042F67C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F680 26100001 */ addiu $s0, $s0, 1 +.L0042F684: +/* 0042F684 24010020 */ li $at, 32 +/* 0042F688 1601FFF3 */ bne $s0, $at, .L0042F658 +/* 0042F68C 26310001 */ addiu $s1, $s1, 1 +/* 0042F690 12E00007 */ beqz $s7, .L0042F6B0 +/* 0042F694 00000000 */ nop +/* 0042F698 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F69C 24040020 */ li $a0, 32 +/* 0042F6A0 2405000C */ li $a1, 12 +/* 0042F6A4 0320F809 */ jalr $t9 +/* 0042F6A8 00000000 */ nop +/* 0042F6AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F6B0: +/* 0042F6B0 8F89898C */ lw $t1, %got(lsb_first)($gp) +/* 0042F6B4 91290000 */ lbu $t1, ($t1) +/* 0042F6B8 15200012 */ bnez $t1, .L0042F704 +/* 0042F6BC 00000000 */ nop +/* 0042F6C0 92CD0021 */ lbu $t5, 0x21($s6) +/* 0042F6C4 2401000E */ li $at, 14 +/* 0042F6C8 31B9001F */ andi $t9, $t5, 0x1f +/* 0042F6CC 1721000D */ bne $t9, $at, .L0042F704 +/* 0042F6D0 00000000 */ nop +/* 0042F6D4 8ED10028 */ lw $s1, 0x28($s6) +/* 0042F6D8 2404004F */ li $a0, 79 +/* 0042F6DC 03C02825 */ move $a1, $fp +/* 0042F6E0 2A210004 */ slti $at, $s1, 4 +/* 0042F6E4 10200007 */ beqz $at, .L0042F704 +/* 0042F6E8 001160C0 */ sll $t4, $s1, 3 +/* 0042F6EC 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042F6F0 24180020 */ li $t8, 32 +/* 0042F6F4 030C3023 */ subu $a2, $t8, $t4 +/* 0042F6F8 0320F809 */ jalr $t9 +/* 0042F6FC 00003825 */ move $a3, $zero +/* 0042F700 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F704: +/* 0042F704 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042F708 10000DEA */ b .L00432EB4 +/* 0042F70C 90840000 */ lbu $a0, ($a0) +.L0042F710: +/* 0042F710 96D70022 */ lhu $s7, 0x22($s6) +/* 0042F714 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042F718 8EC40000 */ lw $a0, ($s6) +/* 0042F71C 32F70001 */ andi $s7, $s7, 1 +/* 0042F720 0017B82B */ sltu $s7, $zero, $s7 +/* 0042F724 32F700FF */ andi $s7, $s7, 0xff +/* 0042F728 24050048 */ li $a1, 72 +/* 0042F72C 0320F809 */ jalr $t9 +/* 0042F730 00809025 */ move $s2, $a0 +/* 0042F734 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F738 8EC40000 */ lw $a0, ($s6) +/* 0042F73C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042F740 0320F809 */ jalr $t9 +/* 0042F744 00000000 */ nop +/* 0042F748 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F74C 305300FF */ andi $s3, $v0, 0xff +/* 0042F750 02C02025 */ move $a0, $s6 +/* 0042F754 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0042F758 03C02825 */ move $a1, $fp +/* 0042F75C 0320F809 */ jalr $t9 +/* 0042F760 00000000 */ nop +/* 0042F764 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F768 12E00007 */ beqz $s7, .L0042F788 +/* 0042F76C 305E00FF */ andi $fp, $v0, 0xff +/* 0042F770 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F774 24040020 */ li $a0, 32 +/* 0042F778 2405000B */ li $a1, 11 +/* 0042F77C 0320F809 */ jalr $t9 +/* 0042F780 00000000 */ nop +/* 0042F784 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F788: +/* 0042F788 92480020 */ lbu $t0, 0x20($s2) +/* 0042F78C 24010001 */ li $at, 1 +/* 0042F790 1501002D */ bne $t0, $at, .L0042F848 +/* 0042F794 00000000 */ nop +/* 0042F798 8E510000 */ lw $s1, ($s2) +/* 0042F79C 2401005B */ li $at, 91 +/* 0042F7A0 92220020 */ lbu $v0, 0x20($s1) +/* 0042F7A4 54410004 */ bnel $v0, $at, .L0042F7B8 +/* 0042F7A8 24010052 */ li $at, 82 +/* 0042F7AC 8E310000 */ lw $s1, ($s1) +/* 0042F7B0 92220020 */ lbu $v0, 0x20($s1) +/* 0042F7B4 24010052 */ li $at, 82 +.L0042F7B8: +/* 0042F7B8 14410023 */ bne $v0, $at, .L0042F848 +/* 0042F7BC 00000000 */ nop +/* 0042F7C0 8F928BC0 */ lw $s2, %got(noalias_regs)($gp) +/* 0042F7C4 24100001 */ li $s0, 1 +/* 0042F7C8 26520004 */ addiu $s2, $s2, 4 +.L0042F7CC: +/* 0042F7CC 922F0019 */ lbu $t7, 0x19($s1) +/* 0042F7D0 8E420000 */ lw $v0, ($s2) +/* 0042F7D4 240E0001 */ li $t6, 1 +/* 0042F7D8 000F5E00 */ sll $t3, $t7, 0x18 +/* 0042F7DC 000B5642 */ srl $t2, $t3, 0x19 +/* 0042F7E0 014E4804 */ sllv $t1, $t6, $t2 +/* 0042F7E4 00496824 */ and $t5, $v0, $t1 +/* 0042F7E8 51A00014 */ beql $t5, $zero, .L0042F83C +/* 0042F7EC 26100001 */ addiu $s0, $s0, 1 +/* 0042F7F0 8F988BC0 */ lw $t8, %got(noalias_regs)($gp) +/* 0042F7F4 0013C880 */ sll $t9, $s3, 2 +/* 0042F7F8 03386021 */ addu $t4, $t9, $t8 +/* 0042F7FC 8D880000 */ lw $t0, ($t4) +/* 0042F800 01027824 */ and $t7, $t0, $v0 +/* 0042F804 55E0000D */ bnel $t7, $zero, .L0042F83C +/* 0042F808 26100001 */ addiu $s0, $s0, 1 +/* 0042F80C 8F8E8BB4 */ lw $t6, %got(noalias_on_off)($gp) +/* 0042F810 240B0001 */ li $t3, 1 +/* 0042F814 24040030 */ li $a0, 48 +/* 0042F818 020E5021 */ addu $t2, $s0, $t6 +/* 0042F81C A14B0000 */ sb $t3, ($t2) +/* 0042F820 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042F824 02602825 */ move $a1, $s3 +/* 0042F828 02003025 */ move $a2, $s0 +/* 0042F82C 0320F809 */ jalr $t9 +/* 0042F830 00000000 */ nop +/* 0042F834 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F838 26100001 */ addiu $s0, $s0, 1 +.L0042F83C: +/* 0042F83C 24010020 */ li $at, 32 +/* 0042F840 1601FFE2 */ bne $s0, $at, .L0042F7CC +/* 0042F844 26520004 */ addiu $s2, $s2, 4 +.L0042F848: +/* 0042F848 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042F84C 8F8488A4 */ lw $a0, %got(load_table)($gp) +/* 0042F850 02C02825 */ move $a1, $s6 +/* 0042F854 0320F809 */ jalr $t9 +/* 0042F858 03C03025 */ move $a2, $fp +/* 0042F85C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F860 02C02025 */ move $a0, $s6 +/* 0042F864 3045FFFF */ andi $a1, $v0, 0xffff +/* 0042F868 8F99835C */ lw $t9, %call16(rloadrstore)($gp) +/* 0042F86C 03C03025 */ move $a2, $fp +/* 0042F870 8EC70024 */ lw $a3, 0x24($s6) +/* 0042F874 0320F809 */ jalr $t9 +/* 0042F878 AFB30010 */ sw $s3, 0x10($sp) +/* 0042F87C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F880 24100001 */ li $s0, 1 +/* 0042F884 8F918BB4 */ lw $s1, %got(noalias_on_off)($gp) +/* 0042F888 26310001 */ addiu $s1, $s1, 1 +.L0042F88C: +/* 0042F88C 92290000 */ lbu $t1, ($s1) +/* 0042F890 51200009 */ beql $t1, $zero, .L0042F8B8 +/* 0042F894 26100001 */ addiu $s0, $s0, 1 +/* 0042F898 A2200000 */ sb $zero, ($s1) +/* 0042F89C 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042F8A0 24040031 */ li $a0, 49 +/* 0042F8A4 02602825 */ move $a1, $s3 +/* 0042F8A8 0320F809 */ jalr $t9 +/* 0042F8AC 02003025 */ move $a2, $s0 +/* 0042F8B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F8B4 26100001 */ addiu $s0, $s0, 1 +.L0042F8B8: +/* 0042F8B8 24010020 */ li $at, 32 +/* 0042F8BC 1601FFF3 */ bne $s0, $at, .L0042F88C +/* 0042F8C0 26310001 */ addiu $s1, $s1, 1 +/* 0042F8C4 12E00007 */ beqz $s7, .L0042F8E4 +/* 0042F8C8 00000000 */ nop +/* 0042F8CC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042F8D0 24040020 */ li $a0, 32 +/* 0042F8D4 2405000C */ li $a1, 12 +/* 0042F8D8 0320F809 */ jalr $t9 +/* 0042F8DC 00000000 */ nop +/* 0042F8E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F8E4: +/* 0042F8E4 8F8D898C */ lw $t5, %got(lsb_first)($gp) +/* 0042F8E8 91AD0000 */ lbu $t5, ($t5) +/* 0042F8EC 15A00012 */ bnez $t5, .L0042F938 +/* 0042F8F0 00000000 */ nop +/* 0042F8F4 92D90021 */ lbu $t9, 0x21($s6) +/* 0042F8F8 2401000E */ li $at, 14 +/* 0042F8FC 3338001F */ andi $t8, $t9, 0x1f +/* 0042F900 1701000D */ bne $t8, $at, .L0042F938 +/* 0042F904 00000000 */ nop +/* 0042F908 8ED10028 */ lw $s1, 0x28($s6) +/* 0042F90C 2404004F */ li $a0, 79 +/* 0042F910 03C02825 */ move $a1, $fp +/* 0042F914 2A210004 */ slti $at, $s1, 4 +/* 0042F918 10200007 */ beqz $at, .L0042F938 +/* 0042F91C 001160C0 */ sll $t4, $s1, 3 +/* 0042F920 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0042F924 24080020 */ li $t0, 32 +/* 0042F928 010C3023 */ subu $a2, $t0, $t4 +/* 0042F92C 0320F809 */ jalr $t9 +/* 0042F930 00003825 */ move $a3, $zero +/* 0042F934 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042F938: +/* 0042F938 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0042F93C 10000D5D */ b .L00432EB4 +/* 0042F940 90840000 */ lbu $a0, ($a0) +.L0042F944: +/* 0042F944 8ED00004 */ lw $s0, 4($s6) +/* 0042F948 24010018 */ li $at, 24 +/* 0042F94C 920F0020 */ lbu $t7, 0x20($s0) +/* 0042F950 15E1001D */ bne $t7, $at, .L0042F9C8 +/* 0042F954 00000000 */ nop +/* 0042F958 92020021 */ lbu $v0, 0x21($s0) +/* 0042F95C 24010006 */ li $at, 6 +/* 0042F960 3042001F */ andi $v0, $v0, 0x1f +/* 0042F964 10410008 */ beq $v0, $at, .L0042F988 +/* 0042F968 24010005 */ li $at, 5 +/* 0042F96C 14410016 */ bne $v0, $at, .L0042F9C8 +/* 0042F970 00000000 */ nop +/* 0042F974 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0042F978 24010001 */ li $at, 1 +/* 0042F97C 91CE0000 */ lbu $t6, ($t6) +/* 0042F980 15C10011 */ bne $t6, $at, .L0042F9C8 +/* 0042F984 00000000 */ nop +.L0042F988: +/* 0042F988 920B0028 */ lbu $t3, 0x28($s0) +/* 0042F98C 2401000C */ li $at, 12 +/* 0042F990 1561000D */ bne $t3, $at, .L0042F9C8 +/* 0042F994 00000000 */ nop +/* 0042F998 960A0014 */ lhu $t2, 0x14($s0) +/* 0042F99C 24010001 */ li $at, 1 +/* 0042F9A0 15410009 */ bne $t2, $at, .L0042F9C8 +/* 0042F9A4 00000000 */ nop +/* 0042F9A8 8EC90028 */ lw $t1, 0x28($s6) +/* 0042F9AC 24010004 */ li $at, 4 +/* 0042F9B0 15210005 */ bne $t1, $at, .L0042F9C8 +/* 0042F9B4 00000000 */ nop +/* 0042F9B8 8E0D0010 */ lw $t5, 0x10($s0) +/* 0042F9BC 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 0042F9C0 000DCA02 */ srl $t9, $t5, 8 +/* 0042F9C4 AC390000 */ sw $t9, ($at) +.L0042F9C8: +/* 0042F9C8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042F9CC 02002025 */ move $a0, $s0 +/* 0042F9D0 24050048 */ li $a1, 72 +/* 0042F9D4 0320F809 */ jalr $t9 +/* 0042F9D8 00000000 */ nop +/* 0042F9DC 8ED20000 */ lw $s2, ($s6) +/* 0042F9E0 96D70022 */ lhu $s7, 0x22($s6) +/* 0042F9E4 24010001 */ li $at, 1 +/* 0042F9E8 96580014 */ lhu $t8, 0x14($s2) +/* 0042F9EC 32F70001 */ andi $s7, $s7, 1 +/* 0042F9F0 0017B82B */ sltu $s7, $zero, $s7 +/* 0042F9F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042F9F8 17010114 */ bne $t8, $at, .L0042FE4C +/* 0042F9FC 32F700FF */ andi $s7, $s7, 0xff +/* 0042FA00 8F8889E4 */ lw $t0, %got(pic_level)($gp) +/* 0042FA04 8D080000 */ lw $t0, ($t0) +/* 0042FA08 15000110 */ bnez $t0, .L0042FE4C +/* 0042FA0C 00000000 */ nop +/* 0042FA10 924C0020 */ lbu $t4, 0x20($s2) +/* 0042FA14 24010001 */ li $at, 1 +/* 0042FA18 1581010C */ bne $t4, $at, .L0042FE4C +/* 0042FA1C 00000000 */ nop +/* 0042FA20 8E430004 */ lw $v1, 4($s2) +/* 0042FA24 24010001 */ li $at, 1 +/* 0042FA28 946F0014 */ lhu $t7, 0x14($v1) +/* 0042FA2C 15E10107 */ bne $t7, $at, .L0042FE4C +/* 0042FA30 00000000 */ nop +/* 0042FA34 906E0020 */ lbu $t6, 0x20($v1) +/* 0042FA38 24010047 */ li $at, 71 +/* 0042FA3C 15C10103 */ bne $t6, $at, .L0042FE4C +/* 0042FA40 00000000 */ nop +/* 0042FA44 906B0021 */ lbu $t3, 0x21($v1) +/* 0042FA48 3C016800 */ lui $at, 0x6800 +/* 0042FA4C 000B5600 */ sll $t2, $t3, 0x18 +/* 0042FA50 000A4F42 */ srl $t1, $t2, 0x1d +/* 0042FA54 2D2D0020 */ sltiu $t5, $t1, 0x20 +/* 0042FA58 000DC823 */ negu $t9, $t5 +/* 0042FA5C 0321C024 */ and $t8, $t9, $at +/* 0042FA60 01384004 */ sllv $t0, $t8, $t1 +/* 0042FA64 050100F9 */ bgez $t0, .L0042FE4C +/* 0042FA68 00000000 */ nop +/* 0042FA6C 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 0042FA70 8C640024 */ lw $a0, 0x24($v1) +/* 0042FA74 0320F809 */ jalr $t9 +/* 0042FA78 00000000 */ nop +/* 0042FA7C 24010005 */ li $at, 5 +/* 0042FA80 104100F2 */ beq $v0, $at, .L0042FE4C +/* 0042FA84 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FA88 8E4C0004 */ lw $t4, 4($s2) +/* 0042FA8C 24010004 */ li $at, 4 +/* 0042FA90 918F0021 */ lbu $t7, 0x21($t4) +/* 0042FA94 000F7600 */ sll $t6, $t7, 0x18 +/* 0042FA98 000E5F42 */ srl $t3, $t6, 0x1d +/* 0042FA9C 1561006B */ bne $t3, $at, .L0042FC4C +/* 0042FAA0 00000000 */ nop +/* 0042FAA4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042FAA8 8E440000 */ lw $a0, ($s2) +/* 0042FAAC 24050048 */ li $a1, 72 +/* 0042FAB0 0320F809 */ jalr $t9 +/* 0042FAB4 00000000 */ nop +/* 0042FAB8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FABC 8EC40004 */ lw $a0, 4($s6) +/* 0042FAC0 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FAC4 0320F809 */ jalr $t9 +/* 0042FAC8 00000000 */ nop +/* 0042FACC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FAD0 A3A20186 */ sb $v0, 0x186($sp) +/* 0042FAD4 8F8A898C */ lw $t2, %got(lsb_first)($gp) +/* 0042FAD8 914A0000 */ lbu $t2, ($t2) +/* 0042FADC 15400022 */ bnez $t2, .L0042FB68 +/* 0042FAE0 00000000 */ nop +/* 0042FAE4 92CD0021 */ lbu $t5, 0x21($s6) +/* 0042FAE8 2401000E */ li $at, 14 +/* 0042FAEC 31B9001F */ andi $t9, $t5, 0x1f +/* 0042FAF0 1721001D */ bne $t9, $at, .L0042FB68 +/* 0042FAF4 00000000 */ nop +/* 0042FAF8 8ED80028 */ lw $t8, 0x28($s6) +/* 0042FAFC 2B010004 */ slti $at, $t8, 4 +/* 0042FB00 10200019 */ beqz $at, .L0042FB68 +/* 0042FB04 00000000 */ nop +/* 0042FB08 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042FB0C 00002025 */ move $a0, $zero +/* 0042FB10 24050001 */ li $a1, 1 +/* 0042FB14 0320F809 */ jalr $t9 +/* 0042FB18 00000000 */ nop +/* 0042FB1C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FB20 8EC90028 */ lw $t1, 0x28($s6) +/* 0042FB24 240C0020 */ li $t4, 32 +/* 0042FB28 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042FB2C 000940C0 */ sll $t0, $t1, 3 +/* 0042FB30 305400FF */ andi $s4, $v0, 0xff +/* 0042FB34 01883823 */ subu $a3, $t4, $t0 +/* 0042FB38 24040054 */ li $a0, 84 +/* 0042FB3C 304500FF */ andi $a1, $v0, 0xff +/* 0042FB40 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FB44 0320F809 */ jalr $t9 +/* 0042FB48 AFA00010 */ sw $zero, 0x10($sp) +/* 0042FB4C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FB50 A3B40186 */ sb $s4, 0x186($sp) +/* 0042FB54 02802025 */ move $a0, $s4 +/* 0042FB58 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042FB5C 0320F809 */ jalr $t9 +/* 0042FB60 00000000 */ nop +/* 0042FB64 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FB68: +/* 0042FB68 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FB6C 8E440000 */ lw $a0, ($s2) +/* 0042FB70 0320F809 */ jalr $t9 +/* 0042FB74 00000000 */ nop +/* 0042FB78 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FB7C 12E00007 */ beqz $s7, .L0042FB9C +/* 0042FB80 305300FF */ andi $s3, $v0, 0xff +/* 0042FB84 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042FB88 24040020 */ li $a0, 32 +/* 0042FB8C 2405000B */ li $a1, 11 +/* 0042FB90 0320F809 */ jalr $t9 +/* 0042FB94 00000000 */ nop +/* 0042FB98 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FB9C: +/* 0042FB9C 8ED00004 */ lw $s0, 4($s6) +/* 0042FBA0 8F8B88E0 */ lw $t3, %got(move_cvt_flag)($gp) +/* 0042FBA4 8E0F0010 */ lw $t7, 0x10($s0) +/* 0042FBA8 8D6B0000 */ lw $t3, ($t3) +/* 0042FBAC 000F7202 */ srl $t6, $t7, 8 +/* 0042FBB0 15CB000A */ bne $t6, $t3, .L0042FBDC +/* 0042FBB4 00000000 */ nop +/* 0042FBB8 920A0021 */ lbu $t2, 0x21($s0) +/* 0042FBBC 24010006 */ li $at, 6 +/* 0042FBC0 314D001F */ andi $t5, $t2, 0x1f +/* 0042FBC4 15A10003 */ bne $t5, $at, .L0042FBD4 +/* 0042FBC8 00000000 */ nop +/* 0042FBCC 1000000A */ b .L0042FBF8 +/* 0042FBD0 24150033 */ li $s5, 51 +.L0042FBD4: +/* 0042FBD4 10000008 */ b .L0042FBF8 +/* 0042FBD8 24150073 */ li $s5, 115 +.L0042FBDC: +/* 0042FBDC 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042FBE0 8F8488A8 */ lw $a0, %got(store_table)($gp) +/* 0042FBE4 02C02825 */ move $a1, $s6 +/* 0042FBE8 0320F809 */ jalr $t9 +/* 0042FBEC 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FBF0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FBF4 3055FFFF */ andi $s5, $v0, 0xffff +.L0042FBF8: +/* 0042FBF8 8E430004 */ lw $v1, 4($s2) +/* 0042FBFC 8ED9002C */ lw $t9, 0x2c($s6) +/* 0042FC00 02C02025 */ move $a0, $s6 +/* 0042FC04 8C78002C */ lw $t8, 0x2c($v1) +/* 0042FC08 8C690024 */ lw $t1, 0x24($v1) +/* 0042FC0C 02A02825 */ move $a1, $s5 +/* 0042FC10 03383821 */ addu $a3, $t9, $t8 +/* 0042FC14 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 0042FC18 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FC1C AFB30014 */ sw $s3, 0x14($sp) +/* 0042FC20 0320F809 */ jalr $t9 +/* 0042FC24 AFA90010 */ sw $t1, 0x10($sp) +/* 0042FC28 12E00133 */ beqz $s7, .L004300F8 +/* 0042FC2C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FC30 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042FC34 24040020 */ li $a0, 32 +/* 0042FC38 2405000C */ li $a1, 12 +/* 0042FC3C 0320F809 */ jalr $t9 +/* 0042FC40 00000000 */ nop +/* 0042FC44 1000012C */ b .L004300F8 +/* 0042FC48 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FC4C: +/* 0042FC4C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042FC50 8E440000 */ lw $a0, ($s2) +/* 0042FC54 24050048 */ li $a1, 72 +/* 0042FC58 0320F809 */ jalr $t9 +/* 0042FC5C 00000000 */ nop +/* 0042FC60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FC64 8EC40004 */ lw $a0, 4($s6) +/* 0042FC68 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FC6C 0320F809 */ jalr $t9 +/* 0042FC70 00000000 */ nop +/* 0042FC74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FC78 A3A20186 */ sb $v0, 0x186($sp) +/* 0042FC7C 8F8C898C */ lw $t4, %got(lsb_first)($gp) +/* 0042FC80 918C0000 */ lbu $t4, ($t4) +/* 0042FC84 15800022 */ bnez $t4, .L0042FD10 +/* 0042FC88 00000000 */ nop +/* 0042FC8C 92C80021 */ lbu $t0, 0x21($s6) +/* 0042FC90 2401000E */ li $at, 14 +/* 0042FC94 310F001F */ andi $t7, $t0, 0x1f +/* 0042FC98 15E1001D */ bne $t7, $at, .L0042FD10 +/* 0042FC9C 00000000 */ nop +/* 0042FCA0 8ECE0028 */ lw $t6, 0x28($s6) +/* 0042FCA4 29C10004 */ slti $at, $t6, 4 +/* 0042FCA8 10200019 */ beqz $at, .L0042FD10 +/* 0042FCAC 00000000 */ nop +/* 0042FCB0 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042FCB4 00002025 */ move $a0, $zero +/* 0042FCB8 24050001 */ li $a1, 1 +/* 0042FCBC 0320F809 */ jalr $t9 +/* 0042FCC0 00000000 */ nop +/* 0042FCC4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FCC8 8ECB0028 */ lw $t3, 0x28($s6) +/* 0042FCCC 240D0020 */ li $t5, 32 +/* 0042FCD0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042FCD4 000B50C0 */ sll $t2, $t3, 3 +/* 0042FCD8 305400FF */ andi $s4, $v0, 0xff +/* 0042FCDC 01AA3823 */ subu $a3, $t5, $t2 +/* 0042FCE0 24040054 */ li $a0, 84 +/* 0042FCE4 304500FF */ andi $a1, $v0, 0xff +/* 0042FCE8 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FCEC 0320F809 */ jalr $t9 +/* 0042FCF0 AFA00010 */ sw $zero, 0x10($sp) +/* 0042FCF4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FCF8 A3B40186 */ sb $s4, 0x186($sp) +/* 0042FCFC 02802025 */ move $a0, $s4 +/* 0042FD00 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042FD04 0320F809 */ jalr $t9 +/* 0042FD08 00000000 */ nop +/* 0042FD0C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FD10: +/* 0042FD10 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FD14 8E440000 */ lw $a0, ($s2) +/* 0042FD18 0320F809 */ jalr $t9 +/* 0042FD1C 00000000 */ nop +/* 0042FD20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FD24 305300FF */ andi $s3, $v0, 0xff +/* 0042FD28 00002025 */ move $a0, $zero +/* 0042FD2C 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042FD30 24050001 */ li $a1, 1 +/* 0042FD34 0320F809 */ jalr $t9 +/* 0042FD38 00000000 */ nop +/* 0042FD3C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FD40 305400FF */ andi $s4, $v0, 0xff +/* 0042FD44 304400FF */ andi $a0, $v0, 0xff +/* 0042FD48 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042FD4C 0320F809 */ jalr $t9 +/* 0042FD50 00000000 */ nop +/* 0042FD54 12E00007 */ beqz $s7, .L0042FD74 +/* 0042FD58 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FD5C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042FD60 24040020 */ li $a0, 32 +/* 0042FD64 2405000B */ li $a1, 11 +/* 0042FD68 0320F809 */ jalr $t9 +/* 0042FD6C 00000000 */ nop +/* 0042FD70 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FD74: +/* 0042FD74 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0042FD78 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 0042FD7C 24040002 */ li $a0, 2 +/* 0042FD80 02802825 */ move $a1, $s4 +/* 0042FD84 02603825 */ move $a3, $s3 +/* 0042FD88 0320F809 */ jalr $t9 +/* 0042FD8C 90C60000 */ lbu $a2, ($a2) +/* 0042FD90 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FD94 8ED00004 */ lw $s0, 4($s6) +/* 0042FD98 8F8988E0 */ lw $t1, %got(move_cvt_flag)($gp) +/* 0042FD9C 8E190010 */ lw $t9, 0x10($s0) +/* 0042FDA0 8D290000 */ lw $t1, ($t1) +/* 0042FDA4 0019C202 */ srl $t8, $t9, 8 +/* 0042FDA8 1709000A */ bne $t8, $t1, .L0042FDD4 +/* 0042FDAC 00000000 */ nop +/* 0042FDB0 920C0021 */ lbu $t4, 0x21($s0) +/* 0042FDB4 24010006 */ li $at, 6 +/* 0042FDB8 3188001F */ andi $t0, $t4, 0x1f +/* 0042FDBC 15010003 */ bne $t0, $at, .L0042FDCC +/* 0042FDC0 00000000 */ nop +/* 0042FDC4 1000000A */ b .L0042FDF0 +/* 0042FDC8 24150033 */ li $s5, 51 +.L0042FDCC: +/* 0042FDCC 10000008 */ b .L0042FDF0 +/* 0042FDD0 24150073 */ li $s5, 115 +.L0042FDD4: +/* 0042FDD4 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 0042FDD8 8F8488A8 */ lw $a0, %got(store_table)($gp) +/* 0042FDDC 02C02825 */ move $a1, $s6 +/* 0042FDE0 0320F809 */ jalr $t9 +/* 0042FDE4 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FDE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FDEC 3055FFFF */ andi $s5, $v0, 0xffff +.L0042FDF0: +/* 0042FDF0 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 0042FDF4 8E440004 */ lw $a0, 4($s2) +/* 0042FDF8 0320F809 */ jalr $t9 +/* 0042FDFC 00000000 */ nop +/* 0042FE00 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FE04 8ECF002C */ lw $t7, 0x2c($s6) +/* 0042FE08 02C02025 */ move $a0, $s6 +/* 0042FE0C 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 0042FE10 02A02825 */ move $a1, $s5 +/* 0042FE14 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FE18 AFA00010 */ sw $zero, 0x10($sp) +/* 0042FE1C AFB40014 */ sw $s4, 0x14($sp) +/* 0042FE20 0320F809 */ jalr $t9 +/* 0042FE24 01E23821 */ addu $a3, $t7, $v0 +/* 0042FE28 12E000B3 */ beqz $s7, .L004300F8 +/* 0042FE2C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FE30 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042FE34 24040020 */ li $a0, 32 +/* 0042FE38 2405000C */ li $a1, 12 +/* 0042FE3C 0320F809 */ jalr $t9 +/* 0042FE40 00000000 */ nop +/* 0042FE44 100000AC */ b .L004300F8 +/* 0042FE48 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FE4C: +/* 0042FE4C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0042FE50 8EC40000 */ lw $a0, ($s6) +/* 0042FE54 24050048 */ li $a1, 72 +/* 0042FE58 0320F809 */ jalr $t9 +/* 0042FE5C 00000000 */ nop +/* 0042FE60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FE64 8EC40004 */ lw $a0, 4($s6) +/* 0042FE68 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FE6C 0320F809 */ jalr $t9 +/* 0042FE70 00000000 */ nop +/* 0042FE74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FE78 A3A20186 */ sb $v0, 0x186($sp) +/* 0042FE7C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0042FE80 91CE0000 */ lbu $t6, ($t6) +/* 0042FE84 15C00022 */ bnez $t6, .L0042FF10 +/* 0042FE88 00000000 */ nop +/* 0042FE8C 92CB0021 */ lbu $t3, 0x21($s6) +/* 0042FE90 2401000E */ li $at, 14 +/* 0042FE94 316D001F */ andi $t5, $t3, 0x1f +/* 0042FE98 15A1001D */ bne $t5, $at, .L0042FF10 +/* 0042FE9C 00000000 */ nop +/* 0042FEA0 8ECA0028 */ lw $t2, 0x28($s6) +/* 0042FEA4 29410004 */ slti $at, $t2, 4 +/* 0042FEA8 10200019 */ beqz $at, .L0042FF10 +/* 0042FEAC 00000000 */ nop +/* 0042FEB0 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0042FEB4 00002025 */ move $a0, $zero +/* 0042FEB8 24050001 */ li $a1, 1 +/* 0042FEBC 0320F809 */ jalr $t9 +/* 0042FEC0 00000000 */ nop +/* 0042FEC4 8ED90028 */ lw $t9, 0x28($s6) +/* 0042FEC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FECC 24090020 */ li $t1, 32 +/* 0042FED0 0019C0C0 */ sll $t8, $t9, 3 +/* 0042FED4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0042FED8 305400FF */ andi $s4, $v0, 0xff +/* 0042FEDC 01383823 */ subu $a3, $t1, $t8 +/* 0042FEE0 24040054 */ li $a0, 84 +/* 0042FEE4 304500FF */ andi $a1, $v0, 0xff +/* 0042FEE8 93A60186 */ lbu $a2, 0x186($sp) +/* 0042FEEC 0320F809 */ jalr $t9 +/* 0042FEF0 AFA00010 */ sw $zero, 0x10($sp) +/* 0042FEF4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FEF8 A3B40186 */ sb $s4, 0x186($sp) +/* 0042FEFC 02802025 */ move $a0, $s4 +/* 0042FF00 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 0042FF04 0320F809 */ jalr $t9 +/* 0042FF08 00000000 */ nop +/* 0042FF0C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FF10: +/* 0042FF10 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0042FF14 8EC40000 */ lw $a0, ($s6) +/* 0042FF18 0320F809 */ jalr $t9 +/* 0042FF1C 00000000 */ nop +/* 0042FF20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0042FF24 12E00007 */ beqz $s7, .L0042FF44 +/* 0042FF28 305300FF */ andi $s3, $v0, 0xff +/* 0042FF2C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0042FF30 24040020 */ li $a0, 32 +/* 0042FF34 2405000B */ li $a1, 11 +/* 0042FF38 0320F809 */ jalr $t9 +/* 0042FF3C 00000000 */ nop +/* 0042FF40 8FBC00CC */ lw $gp, 0xcc($sp) +.L0042FF44: +/* 0042FF44 92CC0020 */ lbu $t4, 0x20($s6) +/* 0042FF48 2401003F */ li $at, 63 +/* 0042FF4C 55810032 */ bnel $t4, $at, .L00430018 +/* 0042FF50 8ED00004 */ lw $s0, 4($s6) +/* 0042FF54 92480020 */ lbu $t0, 0x20($s2) +/* 0042FF58 24010001 */ li $at, 1 +/* 0042FF5C 5501002E */ bnel $t0, $at, .L00430018 +/* 0042FF60 8ED00004 */ lw $s0, 4($s6) +/* 0042FF64 8E510000 */ lw $s1, ($s2) +/* 0042FF68 2401005B */ li $at, 91 +/* 0042FF6C 92220020 */ lbu $v0, 0x20($s1) +/* 0042FF70 54410004 */ bnel $v0, $at, .L0042FF84 +/* 0042FF74 24010052 */ li $at, 82 +/* 0042FF78 8E310000 */ lw $s1, ($s1) +/* 0042FF7C 92220020 */ lbu $v0, 0x20($s1) +/* 0042FF80 24010052 */ li $at, 82 +.L0042FF84: +/* 0042FF84 54410024 */ bnel $v0, $at, .L00430018 +/* 0042FF88 8ED00004 */ lw $s0, 4($s6) +/* 0042FF8C 8F928BC0 */ lw $s2, %got(noalias_regs)($gp) +/* 0042FF90 24100001 */ li $s0, 1 +/* 0042FF94 26520004 */ addiu $s2, $s2, 4 +.L0042FF98: +/* 0042FF98 922F0019 */ lbu $t7, 0x19($s1) +/* 0042FF9C 8E420000 */ lw $v0, ($s2) +/* 0042FFA0 240D0001 */ li $t5, 1 +/* 0042FFA4 000F7600 */ sll $t6, $t7, 0x18 +/* 0042FFA8 000E5E42 */ srl $t3, $t6, 0x19 +/* 0042FFAC 016D5004 */ sllv $t2, $t5, $t3 +/* 0042FFB0 004AC824 */ and $t9, $v0, $t2 +/* 0042FFB4 53200014 */ beql $t9, $zero, .L00430008 +/* 0042FFB8 26100001 */ addiu $s0, $s0, 1 +/* 0042FFBC 8F988BC0 */ lw $t8, %got(noalias_regs)($gp) +/* 0042FFC0 00134880 */ sll $t1, $s3, 2 +/* 0042FFC4 01386021 */ addu $t4, $t1, $t8 +/* 0042FFC8 8D880000 */ lw $t0, ($t4) +/* 0042FFCC 01027824 */ and $t7, $t0, $v0 +/* 0042FFD0 55E0000D */ bnel $t7, $zero, .L00430008 +/* 0042FFD4 26100001 */ addiu $s0, $s0, 1 +/* 0042FFD8 8F8D8BB4 */ lw $t5, %got(noalias_on_off)($gp) +/* 0042FFDC 240E0001 */ li $t6, 1 +/* 0042FFE0 24040030 */ li $a0, 48 +/* 0042FFE4 020D5821 */ addu $t3, $s0, $t5 +/* 0042FFE8 A16E0000 */ sb $t6, ($t3) +/* 0042FFEC 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 0042FFF0 02602825 */ move $a1, $s3 +/* 0042FFF4 02003025 */ move $a2, $s0 +/* 0042FFF8 0320F809 */ jalr $t9 +/* 0042FFFC 00000000 */ nop +/* 00430000 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430004 26100001 */ addiu $s0, $s0, 1 +.L00430008: +/* 00430008 24010020 */ li $at, 32 +/* 0043000C 1601FFE2 */ bne $s0, $at, .L0042FF98 +/* 00430010 26520004 */ addiu $s2, $s2, 4 +/* 00430014 8ED00004 */ lw $s0, 4($s6) +.L00430018: +/* 00430018 8F8988E0 */ lw $t1, %got(move_cvt_flag)($gp) +/* 0043001C 8E0A0010 */ lw $t2, 0x10($s0) +/* 00430020 8D290000 */ lw $t1, ($t1) +/* 00430024 000ACA02 */ srl $t9, $t2, 8 +/* 00430028 1729000A */ bne $t9, $t1, .L00430054 +/* 0043002C 00000000 */ nop +/* 00430030 92180021 */ lbu $t8, 0x21($s0) +/* 00430034 24010006 */ li $at, 6 +/* 00430038 330C001F */ andi $t4, $t8, 0x1f +/* 0043003C 15810003 */ bne $t4, $at, .L0043004C +/* 00430040 00000000 */ nop +/* 00430044 1000000A */ b .L00430070 +/* 00430048 24150033 */ li $s5, 51 +.L0043004C: +/* 0043004C 10000008 */ b .L00430070 +/* 00430050 24150073 */ li $s5, 115 +.L00430054: +/* 00430054 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 00430058 8F8488A8 */ lw $a0, %got(store_table)($gp) +/* 0043005C 02C02825 */ move $a1, $s6 +/* 00430060 0320F809 */ jalr $t9 +/* 00430064 93A60186 */ lbu $a2, 0x186($sp) +/* 00430068 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043006C 3055FFFF */ andi $s5, $v0, 0xffff +.L00430070: +/* 00430070 8F998358 */ lw $t9, %call16(iloadistore)($gp) +/* 00430074 02C02025 */ move $a0, $s6 +/* 00430078 02A02825 */ move $a1, $s5 +/* 0043007C 93A60186 */ lbu $a2, 0x186($sp) +/* 00430080 8EC7002C */ lw $a3, 0x2c($s6) +/* 00430084 AFA00010 */ sw $zero, 0x10($sp) +/* 00430088 0320F809 */ jalr $t9 +/* 0043008C AFB30014 */ sw $s3, 0x14($sp) +/* 00430090 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430094 24100001 */ li $s0, 1 +/* 00430098 8F918BB4 */ lw $s1, %got(noalias_on_off)($gp) +/* 0043009C 26310001 */ addiu $s1, $s1, 1 +.L004300A0: +/* 004300A0 92280000 */ lbu $t0, ($s1) +/* 004300A4 51000009 */ beql $t0, $zero, .L004300CC +/* 004300A8 26100001 */ addiu $s0, $s0, 1 +/* 004300AC A2200000 */ sb $zero, ($s1) +/* 004300B0 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 004300B4 24040031 */ li $a0, 49 +/* 004300B8 02602825 */ move $a1, $s3 +/* 004300BC 0320F809 */ jalr $t9 +/* 004300C0 02003025 */ move $a2, $s0 +/* 004300C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004300C8 26100001 */ addiu $s0, $s0, 1 +.L004300CC: +/* 004300CC 24010020 */ li $at, 32 +/* 004300D0 1601FFF3 */ bne $s0, $at, .L004300A0 +/* 004300D4 26310001 */ addiu $s1, $s1, 1 +/* 004300D8 12E00007 */ beqz $s7, .L004300F8 +/* 004300DC 00000000 */ nop +/* 004300E0 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004300E4 24040020 */ li $a0, 32 +/* 004300E8 2405000C */ li $a1, 12 +/* 004300EC 0320F809 */ jalr $t9 +/* 004300F0 00000000 */ nop +/* 004300F4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004300F8: +/* 004300F8 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 004300FC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430100 240FFFFF */ li $t7, -1 +/* 00430104 AC2F0000 */ sw $t7, ($at) +/* 00430108 10000B6A */ b .L00432EB4 +/* 0043010C 90840000 */ lbu $a0, ($a0) +.L00430110: +/* 00430110 8ED00004 */ lw $s0, 4($s6) +/* 00430114 24010018 */ li $at, 24 +/* 00430118 920D0020 */ lbu $t5, 0x20($s0) +/* 0043011C 15A1001D */ bne $t5, $at, .L00430194 +/* 00430120 00000000 */ nop +/* 00430124 92020021 */ lbu $v0, 0x21($s0) +/* 00430128 24010006 */ li $at, 6 +/* 0043012C 3042001F */ andi $v0, $v0, 0x1f +/* 00430130 10410008 */ beq $v0, $at, .L00430154 +/* 00430134 24010005 */ li $at, 5 +/* 00430138 14410016 */ bne $v0, $at, .L00430194 +/* 0043013C 00000000 */ nop +/* 00430140 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 00430144 24010001 */ li $at, 1 +/* 00430148 91CE0000 */ lbu $t6, ($t6) +/* 0043014C 15C10011 */ bne $t6, $at, .L00430194 +/* 00430150 00000000 */ nop +.L00430154: +/* 00430154 920B0028 */ lbu $t3, 0x28($s0) +/* 00430158 2401000C */ li $at, 12 +/* 0043015C 1561000D */ bne $t3, $at, .L00430194 +/* 00430160 00000000 */ nop +/* 00430164 960A0014 */ lhu $t2, 0x14($s0) +/* 00430168 24010001 */ li $at, 1 +/* 0043016C 15410009 */ bne $t2, $at, .L00430194 +/* 00430170 00000000 */ nop +/* 00430174 8ED90028 */ lw $t9, 0x28($s6) +/* 00430178 24010004 */ li $at, 4 +/* 0043017C 17210005 */ bne $t9, $at, .L00430194 +/* 00430180 00000000 */ nop +/* 00430184 8E090010 */ lw $t1, 0x10($s0) +/* 00430188 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 0043018C 0009C202 */ srl $t8, $t1, 8 +/* 00430190 AC380000 */ sw $t8, ($at) +.L00430194: +/* 00430194 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430198 02002025 */ move $a0, $s0 +/* 0043019C 24050048 */ li $a1, 72 +/* 004301A0 0320F809 */ jalr $t9 +/* 004301A4 00000000 */ nop +/* 004301A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004301AC 96D70022 */ lhu $s7, 0x22($s6) +/* 004301B0 8EC40000 */ lw $a0, ($s6) +/* 004301B4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004301B8 32F70001 */ andi $s7, $s7, 1 +/* 004301BC 0017B82B */ sltu $s7, $zero, $s7 +/* 004301C0 32F700FF */ andi $s7, $s7, 0xff +/* 004301C4 24050048 */ li $a1, 72 +/* 004301C8 0320F809 */ jalr $t9 +/* 004301CC 00809025 */ move $s2, $a0 +/* 004301D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004301D4 8EC40004 */ lw $a0, 4($s6) +/* 004301D8 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004301DC 0320F809 */ jalr $t9 +/* 004301E0 00000000 */ nop +/* 004301E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004301E8 A3A20186 */ sb $v0, 0x186($sp) +/* 004301EC 8F8C898C */ lw $t4, %got(lsb_first)($gp) +/* 004301F0 918C0000 */ lbu $t4, ($t4) +/* 004301F4 15800022 */ bnez $t4, .L00430280 +/* 004301F8 00000000 */ nop +/* 004301FC 92C80021 */ lbu $t0, 0x21($s6) +/* 00430200 2401000E */ li $at, 14 +/* 00430204 310F001F */ andi $t7, $t0, 0x1f +/* 00430208 15E1001D */ bne $t7, $at, .L00430280 +/* 0043020C 00000000 */ nop +/* 00430210 8ECD0028 */ lw $t5, 0x28($s6) +/* 00430214 29A10004 */ slti $at, $t5, 4 +/* 00430218 10200019 */ beqz $at, .L00430280 +/* 0043021C 00000000 */ nop +/* 00430220 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00430224 00002025 */ move $a0, $zero +/* 00430228 24050001 */ li $a1, 1 +/* 0043022C 0320F809 */ jalr $t9 +/* 00430230 00000000 */ nop +/* 00430234 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430238 8ECE0028 */ lw $t6, 0x28($s6) +/* 0043023C 240A0020 */ li $t2, 32 +/* 00430240 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430244 000E58C0 */ sll $t3, $t6, 3 +/* 00430248 305400FF */ andi $s4, $v0, 0xff +/* 0043024C 014B3823 */ subu $a3, $t2, $t3 +/* 00430250 24040054 */ li $a0, 84 +/* 00430254 304500FF */ andi $a1, $v0, 0xff +/* 00430258 93A60186 */ lbu $a2, 0x186($sp) +/* 0043025C 0320F809 */ jalr $t9 +/* 00430260 AFA00010 */ sw $zero, 0x10($sp) +/* 00430264 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430268 A3B40186 */ sb $s4, 0x186($sp) +/* 0043026C 02802025 */ move $a0, $s4 +/* 00430270 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00430274 0320F809 */ jalr $t9 +/* 00430278 00000000 */ nop +/* 0043027C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430280: +/* 00430280 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00430284 8EC40000 */ lw $a0, ($s6) +/* 00430288 0320F809 */ jalr $t9 +/* 0043028C 00000000 */ nop +/* 00430290 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430294 12E00007 */ beqz $s7, .L004302B4 +/* 00430298 305300FF */ andi $s3, $v0, 0xff +/* 0043029C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 004302A0 24040020 */ li $a0, 32 +/* 004302A4 2405000B */ li $a1, 11 +/* 004302A8 0320F809 */ jalr $t9 +/* 004302AC 00000000 */ nop +/* 004302B0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004302B4: +/* 004302B4 92590020 */ lbu $t9, 0x20($s2) +/* 004302B8 24010001 */ li $at, 1 +/* 004302BC 5721002E */ bnel $t9, $at, .L00430378 +/* 004302C0 8ED00004 */ lw $s0, 4($s6) +/* 004302C4 8E510000 */ lw $s1, ($s2) +/* 004302C8 2401005B */ li $at, 91 +/* 004302CC 92220020 */ lbu $v0, 0x20($s1) +/* 004302D0 54410004 */ bnel $v0, $at, .L004302E4 +/* 004302D4 24010052 */ li $at, 82 +/* 004302D8 8E310000 */ lw $s1, ($s1) +/* 004302DC 92220020 */ lbu $v0, 0x20($s1) +/* 004302E0 24010052 */ li $at, 82 +.L004302E4: +/* 004302E4 54410024 */ bnel $v0, $at, .L00430378 +/* 004302E8 8ED00004 */ lw $s0, 4($s6) +/* 004302EC 8F928BC0 */ lw $s2, %got(noalias_regs)($gp) +/* 004302F0 24100001 */ li $s0, 1 +/* 004302F4 26520004 */ addiu $s2, $s2, 4 +.L004302F8: +/* 004302F8 92290019 */ lbu $t1, 0x19($s1) +/* 004302FC 8E420000 */ lw $v0, ($s2) +/* 00430300 24080001 */ li $t0, 1 +/* 00430304 0009C600 */ sll $t8, $t1, 0x18 +/* 00430308 00186642 */ srl $t4, $t8, 0x19 +/* 0043030C 01887804 */ sllv $t7, $t0, $t4 +/* 00430310 004F6824 */ and $t5, $v0, $t7 +/* 00430314 51A00014 */ beql $t5, $zero, .L00430368 +/* 00430318 26100001 */ addiu $s0, $s0, 1 +/* 0043031C 8F8A8BC0 */ lw $t2, %got(noalias_regs)($gp) +/* 00430320 00137080 */ sll $t6, $s3, 2 +/* 00430324 01CA5821 */ addu $t3, $t6, $t2 +/* 00430328 8D790000 */ lw $t9, ($t3) +/* 0043032C 03224824 */ and $t1, $t9, $v0 +/* 00430330 5520000D */ bnel $t1, $zero, .L00430368 +/* 00430334 26100001 */ addiu $s0, $s0, 1 +/* 00430338 8F888BB4 */ lw $t0, %got(noalias_on_off)($gp) +/* 0043033C 24180001 */ li $t8, 1 +/* 00430340 24040030 */ li $a0, 48 +/* 00430344 02086021 */ addu $t4, $s0, $t0 +/* 00430348 A1980000 */ sb $t8, ($t4) +/* 0043034C 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 00430350 02602825 */ move $a1, $s3 +/* 00430354 02003025 */ move $a2, $s0 +/* 00430358 0320F809 */ jalr $t9 +/* 0043035C 00000000 */ nop +/* 00430360 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430364 26100001 */ addiu $s0, $s0, 1 +.L00430368: +/* 00430368 24010020 */ li $at, 32 +/* 0043036C 1601FFE2 */ bne $s0, $at, .L004302F8 +/* 00430370 26520004 */ addiu $s2, $s2, 4 +/* 00430374 8ED00004 */ lw $s0, 4($s6) +.L00430378: +/* 00430378 8F8E88E0 */ lw $t6, %got(move_cvt_flag)($gp) +/* 0043037C 8E0F0010 */ lw $t7, 0x10($s0) +/* 00430380 8DCE0000 */ lw $t6, ($t6) +/* 00430384 000F6A02 */ srl $t5, $t7, 8 +/* 00430388 15AE000A */ bne $t5, $t6, .L004303B4 +/* 0043038C 00000000 */ nop +/* 00430390 920A0021 */ lbu $t2, 0x21($s0) +/* 00430394 24010006 */ li $at, 6 +/* 00430398 314B001F */ andi $t3, $t2, 0x1f +/* 0043039C 15610003 */ bne $t3, $at, .L004303AC +/* 004303A0 00000000 */ nop +/* 004303A4 1000000A */ b .L004303D0 +/* 004303A8 24150033 */ li $s5, 51 +.L004303AC: +/* 004303AC 10000008 */ b .L004303D0 +/* 004303B0 24150073 */ li $s5, 115 +.L004303B4: +/* 004303B4 8F998350 */ lw $t9, %call16(lsopc)($gp) +/* 004303B8 8F8488A8 */ lw $a0, %got(store_table)($gp) +/* 004303BC 02C02825 */ move $a1, $s6 +/* 004303C0 0320F809 */ jalr $t9 +/* 004303C4 93A60186 */ lbu $a2, 0x186($sp) +/* 004303C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004303CC 3055FFFF */ andi $s5, $v0, 0xffff +.L004303D0: +/* 004303D0 8F99835C */ lw $t9, %call16(rloadrstore)($gp) +/* 004303D4 02C02025 */ move $a0, $s6 +/* 004303D8 02A02825 */ move $a1, $s5 +/* 004303DC 93A60186 */ lbu $a2, 0x186($sp) +/* 004303E0 8EC70024 */ lw $a3, 0x24($s6) +/* 004303E4 0320F809 */ jalr $t9 +/* 004303E8 AFB30010 */ sw $s3, 0x10($sp) +/* 004303EC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004303F0 24100001 */ li $s0, 1 +/* 004303F4 8F918BB4 */ lw $s1, %got(noalias_on_off)($gp) +/* 004303F8 26310001 */ addiu $s1, $s1, 1 +.L004303FC: +/* 004303FC 92390000 */ lbu $t9, ($s1) +/* 00430400 53200009 */ beql $t9, $zero, .L00430428 +/* 00430404 26100001 */ addiu $s0, $s0, 1 +/* 00430408 A2200000 */ sb $zero, ($s1) +/* 0043040C 8F998248 */ lw $t9, %call16(emit_alias)($gp) +/* 00430410 24040031 */ li $a0, 49 +/* 00430414 02602825 */ move $a1, $s3 +/* 00430418 0320F809 */ jalr $t9 +/* 0043041C 02003025 */ move $a2, $s0 +/* 00430420 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430424 26100001 */ addiu $s0, $s0, 1 +.L00430428: +/* 00430428 24010020 */ li $at, 32 +/* 0043042C 1601FFF3 */ bne $s0, $at, .L004303FC +/* 00430430 26310001 */ addiu $s1, $s1, 1 +/* 00430434 12E00007 */ beqz $s7, .L00430454 +/* 00430438 00000000 */ nop +/* 0043043C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00430440 24040020 */ li $a0, 32 +/* 00430444 2405000C */ li $a1, 12 +/* 00430448 0320F809 */ jalr $t9 +/* 0043044C 00000000 */ nop +/* 00430450 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430454: +/* 00430454 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 00430458 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0043045C 2409FFFF */ li $t1, -1 +/* 00430460 AC290000 */ sw $t1, ($at) +/* 00430464 10000A93 */ b .L00432EB4 +/* 00430468 90840000 */ lbu $a0, ($a0) +.L0043046C: +/* 0043046C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00430470 02C02025 */ move $a0, $s6 +/* 00430474 03C02825 */ move $a1, $fp +/* 00430478 0320F809 */ jalr $t9 +/* 0043047C 00000000 */ nop +/* 00430480 92C40021 */ lbu $a0, 0x21($s6) +/* 00430484 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430488 305E00FF */ andi $fp, $v0, 0xff +/* 0043048C 00042600 */ sll $a0, $a0, 0x18 +/* 00430490 00042742 */ srl $a0, $a0, 0x1d +/* 00430494 308400FF */ andi $a0, $a0, 0xff +/* 00430498 2488FFFF */ addiu $t0, $a0, -1 +/* 0043049C 2D010004 */ sltiu $at, $t0, 4 +/* 004304A0 102000A1 */ beqz $at, .L00430728 +/* 004304A4 00000000 */ nop +/* 004304A8 8F818038 */ lw $at, %got(jtbl_1000AD64)($gp) +/* 004304AC 00084080 */ sll $t0, $t0, 2 +/* 004304B0 00280821 */ addu $at, $at, $t0 +/* 004304B4 8C28AD64 */ lw $t0, %lo(jtbl_1000AD64)($at) +/* 004304B8 011C4021 */ addu $t0, $t0, $gp +/* 004304BC 01000008 */ jr $t0 +/* 004304C0 00000000 */ nop +.L004304C4: +/* 004304C4 8F9985A0 */ lw $t9, %call16(get_sym_kind)($gp) +/* 004304C8 8EC40024 */ lw $a0, 0x24($s6) +/* 004304CC 0320F809 */ jalr $t9 +/* 004304D0 00000000 */ nop +/* 004304D4 24010005 */ li $at, 5 +/* 004304D8 1441002C */ bne $v0, $at, .L0043058C +/* 004304DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004304E0 8F9889DC */ lw $t8, %got(basicint)($gp) +/* 004304E4 24010001 */ li $at, 1 +/* 004304E8 24040056 */ li $a0, 86 +/* 004304EC 93180000 */ lbu $t8, ($t8) +/* 004304F0 03C02825 */ move $a1, $fp +/* 004304F4 17010014 */ bne $t8, $at, .L00430548 +/* 004304F8 00000000 */ nop +/* 004304FC 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 00430500 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 00430504 24040139 */ li $a0, 313 +/* 00430508 03C02825 */ move $a1, $fp +/* 0043050C 8EC70024 */ lw $a3, 0x24($s6) +/* 00430510 0320F809 */ jalr $t9 +/* 00430514 90C60000 */ lbu $a2, ($a2) +/* 00430518 8EC7002C */ lw $a3, 0x2c($s6) +/* 0043051C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430520 24040137 */ li $a0, 311 +/* 00430524 10E000BE */ beqz $a3, .L00430820 +/* 00430528 00000000 */ nop +/* 0043052C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430530 03C02825 */ move $a1, $fp +/* 00430534 03C03025 */ move $a2, $fp +/* 00430538 0320F809 */ jalr $t9 +/* 0043053C AFA00010 */ sw $zero, 0x10($sp) +/* 00430540 100000B7 */ b .L00430820 +/* 00430544 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430548: +/* 00430548 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 0043054C 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 00430550 8EC70024 */ lw $a3, 0x24($s6) +/* 00430554 0320F809 */ jalr $t9 +/* 00430558 90C60000 */ lbu $a2, ($a2) +/* 0043055C 8EC7002C */ lw $a3, 0x2c($s6) +/* 00430560 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430564 24040002 */ li $a0, 2 +/* 00430568 10E000AD */ beqz $a3, .L00430820 +/* 0043056C 00000000 */ nop +/* 00430570 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430574 03C02825 */ move $a1, $fp +/* 00430578 03C03025 */ move $a2, $fp +/* 0043057C 0320F809 */ jalr $t9 +/* 00430580 AFA00010 */ sw $zero, 0x10($sp) +/* 00430584 100000A6 */ b .L00430820 +/* 00430588 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043058C: +/* 0043058C 92CC0021 */ lbu $t4, 0x21($s6) +/* 00430590 24010002 */ li $at, 2 +/* 00430594 000C7E00 */ sll $t7, $t4, 0x18 +/* 00430598 000F6F42 */ srl $t5, $t7, 0x1d +/* 0043059C 15A10028 */ bne $t5, $at, .L00430640 +/* 004305A0 00000000 */ nop +/* 004305A4 8F8E89F4 */ lw $t6, %got(framesz_relocatable)($gp) +/* 004305A8 91CE0000 */ lbu $t6, ($t6) +/* 004305AC 11C00024 */ beqz $t6, .L00430640 +/* 004305B0 00000000 */ nop +/* 004305B4 8F8A89DC */ lw $t2, %got(basicint)($gp) +/* 004305B8 24010001 */ li $at, 1 +/* 004305BC 914A0000 */ lbu $t2, ($t2) +/* 004305C0 15410010 */ bne $t2, $at, .L00430604 +/* 004305C4 00000000 */ nop +/* 004305C8 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 004305CC 02C02025 */ move $a0, $s6 +/* 004305D0 0320F809 */ jalr $t9 +/* 004305D4 00000000 */ nop +/* 004305D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004305DC 24040137 */ li $a0, 311 +/* 004305E0 03C02825 */ move $a1, $fp +/* 004305E4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004305E8 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 004305EC 00403825 */ move $a3, $v0 +/* 004305F0 AFA00010 */ sw $zero, 0x10($sp) +/* 004305F4 0320F809 */ jalr $t9 +/* 004305F8 90C60000 */ lbu $a2, ($a2) +/* 004305FC 10000088 */ b .L00430820 +/* 00430600 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430604: +/* 00430604 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 00430608 02C02025 */ move $a0, $s6 +/* 0043060C 0320F809 */ jalr $t9 +/* 00430610 00000000 */ nop +/* 00430614 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430618 24040002 */ li $a0, 2 +/* 0043061C 03C02825 */ move $a1, $fp +/* 00430620 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430624 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 00430628 00403825 */ move $a3, $v0 +/* 0043062C AFA00010 */ sw $zero, 0x10($sp) +/* 00430630 0320F809 */ jalr $t9 +/* 00430634 90C60000 */ lbu $a2, ($a2) +/* 00430638 10000079 */ b .L00430820 +/* 0043063C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430640: +/* 00430640 8F8B89DC */ lw $t3, %got(basicint)($gp) +/* 00430644 24010001 */ li $at, 1 +/* 00430648 916B0000 */ lbu $t3, ($t3) +/* 0043064C 15610010 */ bne $t3, $at, .L00430690 +/* 00430650 00000000 */ nop +/* 00430654 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 00430658 02C02025 */ move $a0, $s6 +/* 0043065C 0320F809 */ jalr $t9 +/* 00430660 00000000 */ nop +/* 00430664 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430668 24040137 */ li $a0, 311 +/* 0043066C 03C02825 */ move $a1, $fp +/* 00430670 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430674 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 00430678 00403825 */ move $a3, $v0 +/* 0043067C AFA00010 */ sw $zero, 0x10($sp) +/* 00430680 0320F809 */ jalr $t9 +/* 00430684 90C60000 */ lbu $a2, ($a2) +/* 00430688 10000065 */ b .L00430820 +/* 0043068C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430690: +/* 00430690 8F998404 */ lw $t9, %call16(frame_offset)($gp) +/* 00430694 02C02025 */ move $a0, $s6 +/* 00430698 0320F809 */ jalr $t9 +/* 0043069C 00000000 */ nop +/* 004306A0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004306A4 24040002 */ li $a0, 2 +/* 004306A8 03C02825 */ move $a1, $fp +/* 004306AC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004306B0 8F868A60 */ lw $a2, %got(frame_pointer)($gp) +/* 004306B4 00403825 */ move $a3, $v0 +/* 004306B8 AFA00010 */ sw $zero, 0x10($sp) +/* 004306BC 0320F809 */ jalr $t9 +/* 004306C0 90C60000 */ lbu $a2, ($a2) +/* 004306C4 10000056 */ b .L00430820 +/* 004306C8 8FBC00CC */ lw $gp, 0xcc($sp) +.L004306CC: +/* 004306CC 8F9989DC */ lw $t9, %got(basicint)($gp) +/* 004306D0 24010001 */ li $at, 1 +/* 004306D4 24040024 */ li $a0, 36 +/* 004306D8 93390000 */ lbu $t9, ($t9) +/* 004306DC 03C02825 */ move $a1, $fp +/* 004306E0 1721000A */ bne $t9, $at, .L0043070C +/* 004306E4 00000000 */ nop +/* 004306E8 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 004306EC 2404014D */ li $a0, 333 +/* 004306F0 03C02825 */ move $a1, $fp +/* 004306F4 8EC60024 */ lw $a2, 0x24($s6) +/* 004306F8 8EC7002C */ lw $a3, 0x2c($s6) +/* 004306FC 0320F809 */ jalr $t9 +/* 00430700 AFA00010 */ sw $zero, 0x10($sp) +/* 00430704 10000046 */ b .L00430820 +/* 00430708 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043070C: +/* 0043070C 8F9981F0 */ lw $t9, %call16(emit_ra)($gp) +/* 00430710 8EC60024 */ lw $a2, 0x24($s6) +/* 00430714 8EC7002C */ lw $a3, 0x2c($s6) +/* 00430718 0320F809 */ jalr $t9 +/* 0043071C AFA00010 */ sw $zero, 0x10($sp) +/* 00430720 1000003F */ b .L00430820 +/* 00430724 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430728: +/* 00430728 8F898038 */ lw $t1, %got(RO_1000AC2A)($gp) +/* 0043072C 24040004 */ li $a0, 4 +/* 00430730 2405145B */ li $a1, 5211 +/* 00430734 2529AC2A */ addiu $t1, %lo(RO_1000AC2A) # addiu $t1, $t1, -0x53d6 +/* 00430738 252F0048 */ addiu $t7, $t1, 0x48 +/* 0043073C 03A06025 */ move $t4, $sp +.L00430740: +/* 00430740 89380000 */ lwl $t8, ($t1) +/* 00430744 99380003 */ lwr $t8, 3($t1) +/* 00430748 2529000C */ addiu $t1, $t1, 0xc +/* 0043074C 258C000C */ addiu $t4, $t4, 0xc +/* 00430750 A998FFFC */ swl $t8, -4($t4) +/* 00430754 B998FFFF */ swr $t8, -1($t4) +/* 00430758 8928FFF8 */ lwl $t0, -8($t1) +/* 0043075C 9928FFFB */ lwr $t0, -5($t1) +/* 00430760 A9880000 */ swl $t0, ($t4) +/* 00430764 B9880003 */ swr $t0, 3($t4) +/* 00430768 8938FFFC */ lwl $t8, -4($t1) +/* 0043076C 9938FFFF */ lwr $t8, -1($t1) +/* 00430770 A9980004 */ swl $t8, 4($t4) +/* 00430774 152FFFF2 */ bne $t1, $t7, .L00430740 +/* 00430778 B9980007 */ swr $t8, 7($t4) +/* 0043077C 89380000 */ lwl $t8, ($t1) +/* 00430780 99380003 */ lwr $t8, 3($t1) +/* 00430784 8F8D8038 */ lw $t5, %got(RO_1000ABDA)($gp) +/* 00430788 03A05825 */ move $t3, $sp +/* 0043078C A9980008 */ swl $t8, 8($t4) +/* 00430790 B998000B */ swr $t8, 0xb($t4) +/* 00430794 89280004 */ lwl $t0, 4($t1) +/* 00430798 99280007 */ lwr $t0, 7($t1) +/* 0043079C 25ADABDA */ addiu $t5, %lo(RO_1000ABDA) # addiu $t5, $t5, -0x5426 +/* 004307A0 25B90048 */ addiu $t9, $t5, 0x48 +/* 004307A4 A988000C */ swl $t0, 0xc($t4) +/* 004307A8 B988000F */ swr $t0, 0xf($t4) +.L004307AC: +/* 004307AC 89AA0000 */ lwl $t2, ($t5) +/* 004307B0 99AA0003 */ lwr $t2, 3($t5) +/* 004307B4 25AD000C */ addiu $t5, $t5, 0xc +/* 004307B8 256B000C */ addiu $t3, $t3, 0xc +/* 004307BC A96A004C */ swl $t2, 0x4c($t3) +/* 004307C0 B96A004F */ swr $t2, 0x4f($t3) +/* 004307C4 89AEFFF8 */ lwl $t6, -8($t5) +/* 004307C8 99AEFFFB */ lwr $t6, -5($t5) +/* 004307CC A96E0050 */ swl $t6, 0x50($t3) +/* 004307D0 B96E0053 */ swr $t6, 0x53($t3) +/* 004307D4 89AAFFFC */ lwl $t2, -4($t5) +/* 004307D8 99AAFFFF */ lwr $t2, -1($t5) +/* 004307DC A96A0054 */ swl $t2, 0x54($t3) +/* 004307E0 15B9FFF2 */ bne $t5, $t9, .L004307AC +/* 004307E4 B96A0057 */ swr $t2, 0x57($t3) +/* 004307E8 89AA0000 */ lwl $t2, ($t5) +/* 004307EC 99AA0003 */ lwr $t2, 3($t5) +/* 004307F0 A96A0058 */ swl $t2, 0x58($t3) +/* 004307F4 B96A005B */ swr $t2, 0x5b($t3) +/* 004307F8 89AE0004 */ lwl $t6, 4($t5) +/* 004307FC 99AE0007 */ lwr $t6, 7($t5) +/* 00430800 A96E005C */ swl $t6, 0x5c($t3) +/* 00430804 B96E005F */ swr $t6, 0x5f($t3) +/* 00430808 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043080C 8FA7000C */ lw $a3, 0xc($sp) +/* 00430810 8FA60008 */ lw $a2, 8($sp) +/* 00430814 0320F809 */ jalr $t9 +/* 00430818 00000000 */ nop +/* 0043081C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430820: +/* 00430820 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430824 100009A3 */ b .L00432EB4 +/* 00430828 90840000 */ lbu $a0, ($a0) +.L0043082C: +/* 0043082C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00430830 0320F809 */ jalr $t9 +/* 00430834 00000000 */ nop +/* 00430838 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043083C 26C40020 */ addiu $a0, $s6, 0x20 +/* 00430840 00402825 */ move $a1, $v0 +/* 00430844 8F99843C */ lw $t9, %call16(add_to_pool)($gp) +/* 00430848 0320F809 */ jalr $t9 +/* 0043084C 00000000 */ nop +/* 00430850 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430854 00408025 */ move $s0, $v0 +/* 00430858 02C02025 */ move $a0, $s6 +/* 0043085C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00430860 03C02825 */ move $a1, $fp +/* 00430864 0320F809 */ jalr $t9 +/* 00430868 00000000 */ nop +/* 0043086C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430870 305E00FF */ andi $fp, $v0, 0xff +/* 00430874 24040024 */ li $a0, 36 +/* 00430878 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 0043087C 304500FF */ andi $a1, $v0, 0xff +/* 00430880 02003025 */ move $a2, $s0 +/* 00430884 0320F809 */ jalr $t9 +/* 00430888 00000000 */ nop +/* 0043088C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430890 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430894 10000987 */ b .L00432EB4 +/* 00430898 90840000 */ lbu $a0, ($a0) +.L0043089C: +/* 0043089C 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 004308A0 02C02025 */ move $a0, $s6 +/* 004308A4 0320F809 */ jalr $t9 +/* 004308A8 00000000 */ nop +/* 004308AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004308B0 3055FFFF */ andi $s5, $v0, 0xffff +/* 004308B4 8EC40000 */ lw $a0, ($s6) +/* 004308B8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004308BC 03C02825 */ move $a1, $fp +/* 004308C0 0320F809 */ jalr $t9 +/* 004308C4 00000000 */ nop +/* 004308C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004308CC 8EC40000 */ lw $a0, ($s6) +/* 004308D0 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004308D4 0320F809 */ jalr $t9 +/* 004308D8 00000000 */ nop +/* 004308DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004308E0 305300FF */ andi $s3, $v0, 0xff +/* 004308E4 02C02025 */ move $a0, $s6 +/* 004308E8 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004308EC 03C02825 */ move $a1, $fp +/* 004308F0 0320F809 */ jalr $t9 +/* 004308F4 00000000 */ nop +/* 004308F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004308FC 305E00FF */ andi $fp, $v0, 0xff +/* 00430900 02A02025 */ move $a0, $s5 +/* 00430904 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00430908 304500FF */ andi $a1, $v0, 0xff +/* 0043090C 02603025 */ move $a2, $s3 +/* 00430910 00003825 */ move $a3, $zero +/* 00430914 0320F809 */ jalr $t9 +/* 00430918 AFA00010 */ sw $zero, 0x10($sp) +/* 0043091C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430920 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430924 10000963 */ b .L00432EB4 +/* 00430928 90840000 */ lbu $a0, ($a0) +.L0043092C: +/* 0043092C 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 00430930 02C02025 */ move $a0, $s6 +/* 00430934 0320F809 */ jalr $t9 +/* 00430938 00000000 */ nop +/* 0043093C 8EC60000 */ lw $a2, ($s6) +/* 00430940 2401003C */ li $at, 60 +/* 00430944 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430948 90CF0020 */ lbu $t7, 0x20($a2) +/* 0043094C 3055FFFF */ andi $s5, $v0, 0xffff +/* 00430950 15E10032 */ bne $t7, $at, .L00430A1C +/* 00430954 00000000 */ nop +/* 00430958 8F898A30 */ lw $t1, %got(opt_cse)($gp) +/* 0043095C 24010002 */ li $at, 2 +/* 00430960 91290000 */ lbu $t1, ($t1) +/* 00430964 1521002D */ bne $t1, $at, .L00430A1C +/* 00430968 00000000 */ nop +/* 0043096C 94CC0014 */ lhu $t4, 0x14($a2) +/* 00430970 24010001 */ li $at, 1 +/* 00430974 15810029 */ bne $t4, $at, .L00430A1C +/* 00430978 00000000 */ nop +/* 0043097C 8F8188DC */ lw $at, %got(nor_flag)($gp) +/* 00430980 24080001 */ li $t0, 1 +/* 00430984 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430988 A0280000 */ sb $t0, ($at) +/* 0043098C 96D80014 */ lhu $t8, 0x14($s6) +/* 00430990 03C02825 */ move $a1, $fp +/* 00430994 A4D80014 */ sh $t8, 0x14($a2) +/* 00430998 0320F809 */ jalr $t9 +/* 0043099C 8EC40000 */ lw $a0, ($s6) +/* 004309A0 8ED90000 */ lw $t9, ($s6) +/* 004309A4 92C30019 */ lbu $v1, 0x19($s6) +/* 004309A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004309AC 932D0019 */ lbu $t5, 0x19($t9) +/* 004309B0 00035600 */ sll $t2, $v1, 0x18 +/* 004309B4 000A7E42 */ srl $t7, $t2, 0x19 +/* 004309B8 000D5E00 */ sll $t3, $t5, 0x18 +/* 004309BC 000B7642 */ srl $t6, $t3, 0x19 +/* 004309C0 01CF4826 */ xor $t1, $t6, $t7 +/* 004309C4 00096640 */ sll $t4, $t1, 0x19 +/* 004309C8 000C4602 */ srl $t0, $t4, 0x18 +/* 004309CC 01038026 */ xor $s0, $t0, $v1 +/* 004309D0 A2D00019 */ sb $s0, 0x19($s6) +/* 004309D4 00108600 */ sll $s0, $s0, 0x18 +/* 004309D8 00108642 */ srl $s0, $s0, 0x19 +/* 004309DC 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 004309E0 0010C880 */ sll $t9, $s0, 2 +/* 004309E4 0330C823 */ subu $t9, $t9, $s0 +/* 004309E8 0019C880 */ sll $t9, $t9, 2 +/* 004309EC 032D5821 */ addu $t3, $t9, $t5 +/* 004309F0 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 004309F4 91670008 */ lbu $a3, 8($t3) +/* 004309F8 02002025 */ move $a0, $s0 +/* 004309FC 02C02825 */ move $a1, $s6 +/* 00430A00 0320F809 */ jalr $t9 +/* 00430A04 96C60014 */ lhu $a2, 0x14($s6) +/* 00430A08 8ECE0000 */ lw $t6, ($s6) +/* 00430A0C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430A10 240A0001 */ li $t2, 1 +/* 00430A14 1000001B */ b .L00430A84 +/* 00430A18 A5CA0014 */ sh $t2, 0x14($t6) +.L00430A1C: +/* 00430A1C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430A20 00C02025 */ move $a0, $a2 +/* 00430A24 03C02825 */ move $a1, $fp +/* 00430A28 0320F809 */ jalr $t9 +/* 00430A2C 00000000 */ nop +/* 00430A30 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430A34 8EC40000 */ lw $a0, ($s6) +/* 00430A38 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00430A3C 0320F809 */ jalr $t9 +/* 00430A40 00000000 */ nop +/* 00430A44 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430A48 305300FF */ andi $s3, $v0, 0xff +/* 00430A4C 02C02025 */ move $a0, $s6 +/* 00430A50 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00430A54 03C02825 */ move $a1, $fp +/* 00430A58 0320F809 */ jalr $t9 +/* 00430A5C 00000000 */ nop +/* 00430A60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430A64 305E00FF */ andi $fp, $v0, 0xff +/* 00430A68 02A02025 */ move $a0, $s5 +/* 00430A6C 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 00430A70 304500FF */ andi $a1, $v0, 0xff +/* 00430A74 02603025 */ move $a2, $s3 +/* 00430A78 0320F809 */ jalr $t9 +/* 00430A7C 02C03825 */ move $a3, $s6 +/* 00430A80 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430A84: +/* 00430A84 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430A88 1000090A */ b .L00432EB4 +/* 00430A8C 90840000 */ lbu $a0, ($a0) +.L00430A90: +/* 00430A90 92D00021 */ lbu $s0, 0x21($s6) +/* 00430A94 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 00430A98 02C02025 */ move $a0, $s6 +/* 00430A9C 3210001F */ andi $s0, $s0, 0x1f +/* 00430AA0 0320F809 */ jalr $t9 +/* 00430AA4 321000FF */ andi $s0, $s0, 0xff +/* 00430AA8 2E0F0020 */ sltiu $t7, $s0, 0x20 +/* 00430AAC 3C01000C */ lui $at, 0xc +/* 00430AB0 34218000 */ ori $at, $at, 0x8000 +/* 00430AB4 000F4823 */ negu $t1, $t7 +/* 00430AB8 01216024 */ and $t4, $t1, $at +/* 00430ABC 020C4004 */ sllv $t0, $t4, $s0 +/* 00430AC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430AC4 05010008 */ bgez $t0, .L00430AE8 +/* 00430AC8 3055FFFF */ andi $s5, $v0, 0xffff +/* 00430ACC 27D8FFE0 */ addiu $t8, $fp, -0x20 +/* 00430AD0 2F190020 */ sltiu $t9, $t8, 0x20 +/* 00430AD4 00196823 */ negu $t5, $t9 +/* 00430AD8 030D5804 */ sllv $t3, $t5, $t8 +/* 00430ADC 05600002 */ bltz $t3, .L00430AE8 +/* 00430AE0 00000000 */ nop +/* 00430AE4 241E0048 */ li $fp, 72 +.L00430AE8: +/* 00430AE8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430AEC 8EC40000 */ lw $a0, ($s6) +/* 00430AF0 03C02825 */ move $a1, $fp +/* 00430AF4 0320F809 */ jalr $t9 +/* 00430AF8 00000000 */ nop +/* 00430AFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430B00 8EC40000 */ lw $a0, ($s6) +/* 00430B04 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00430B08 0320F809 */ jalr $t9 +/* 00430B0C 00000000 */ nop +/* 00430B10 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430B14 305300FF */ andi $s3, $v0, 0xff +/* 00430B18 02C02025 */ move $a0, $s6 +/* 00430B1C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00430B20 03C02825 */ move $a1, $fp +/* 00430B24 0320F809 */ jalr $t9 +/* 00430B28 00000000 */ nop +/* 00430B2C 92C70021 */ lbu $a3, 0x21($s6) +/* 00430B30 24010006 */ li $at, 6 +/* 00430B34 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430B38 30E7001F */ andi $a3, $a3, 0x1f +/* 00430B3C 10E10004 */ beq $a3, $at, .L00430B50 +/* 00430B40 305E00FF */ andi $fp, $v0, 0xff +/* 00430B44 24010008 */ li $at, 8 +/* 00430B48 14E10024 */ bne $a3, $at, .L00430BDC +/* 00430B4C 00000000 */ nop +.L00430B50: +/* 00430B50 92CA0020 */ lbu $t2, 0x20($s6) +/* 00430B54 15400021 */ bnez $t2, .L00430BDC +/* 00430B58 00000000 */ nop +/* 00430B5C 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00430B60 03C02025 */ move $a0, $fp +/* 00430B64 02602825 */ move $a1, $s3 +/* 00430B68 0320F809 */ jalr $t9 +/* 00430B6C 00E03025 */ move $a2, $a3 +/* 00430B70 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430B74 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00430B78 0320F809 */ jalr $t9 +/* 00430B7C 00000000 */ nop +/* 00430B80 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430B84 0040B825 */ move $s7, $v0 +/* 00430B88 24040010 */ li $a0, 16 +/* 00430B8C 8F998224 */ lw $t9, %call16(emit_rll)($gp) +/* 00430B90 02602825 */ move $a1, $s3 +/* 00430B94 00403025 */ move $a2, $v0 +/* 00430B98 0320F809 */ jalr $t9 +/* 00430B9C 00000000 */ nop +/* 00430BA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430BA4 24040056 */ li $a0, 86 +/* 00430BA8 03C02825 */ move $a1, $fp +/* 00430BAC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00430BB0 00003025 */ move $a2, $zero +/* 00430BB4 02603825 */ move $a3, $s3 +/* 00430BB8 0320F809 */ jalr $t9 +/* 00430BBC 00000000 */ nop +/* 00430BC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430BC4 02E02025 */ move $a0, $s7 +/* 00430BC8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00430BCC 0320F809 */ jalr $t9 +/* 00430BD0 00000000 */ nop +/* 00430BD4 10000008 */ b .L00430BF8 +/* 00430BD8 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430BDC: +/* 00430BDC 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 00430BE0 02A02025 */ move $a0, $s5 +/* 00430BE4 03C02825 */ move $a1, $fp +/* 00430BE8 02603025 */ move $a2, $s3 +/* 00430BEC 0320F809 */ jalr $t9 +/* 00430BF0 02C03825 */ move $a3, $s6 +/* 00430BF4 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430BF8: +/* 00430BF8 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00430BFC 100008AD */ b .L00432EB4 +/* 00430C00 90840000 */ lbu $a0, ($a0) +.L00430C04: +/* 00430C04 92D00021 */ lbu $s0, 0x21($s6) +/* 00430C08 3C01000C */ lui $at, 0xc +/* 00430C0C 34218000 */ ori $at, $at, 0x8000 +/* 00430C10 3210001F */ andi $s0, $s0, 0x1f +/* 00430C14 321000FF */ andi $s0, $s0, 0xff +/* 00430C18 2E0E0020 */ sltiu $t6, $s0, 0x20 +/* 00430C1C 000E7823 */ negu $t7, $t6 +/* 00430C20 01E14824 */ and $t1, $t7, $at +/* 00430C24 02096004 */ sllv $t4, $t1, $s0 +/* 00430C28 05810022 */ bgez $t4, .L00430CB4 +/* 00430C2C 2488FFE0 */ addiu $t0, $a0, -0x20 +/* 00430C30 2D190040 */ sltiu $t9, $t0, 0x40 +/* 00430C34 13200009 */ beqz $t9, .L00430C5C +/* 00430C38 00000000 */ nop +/* 00430C3C 8F8B8038 */ lw $t3, %got(D_10016154)($gp) +/* 00430C40 00086943 */ sra $t5, $t0, 5 +/* 00430C44 000DC080 */ sll $t8, $t5, 2 +/* 00430C48 256B6154 */ addiu $t3, %lo(D_10016154) # addiu $t3, $t3, 0x6154 +/* 00430C4C 01785021 */ addu $t2, $t3, $t8 +/* 00430C50 8D4E0000 */ lw $t6, ($t2) +/* 00430C54 010E7804 */ sllv $t7, $t6, $t0 +/* 00430C58 29F90000 */ slti $t9, $t7, 0 +.L00430C5C: +/* 00430C5C 13200008 */ beqz $t9, .L00430C80 +/* 00430C60 00000000 */ nop +/* 00430C64 8F998378 */ lw $t9, %call16(eval_fp_cond)($gp) +/* 00430C68 02C02025 */ move $a0, $s6 +/* 00430C6C 03C02825 */ move $a1, $fp +/* 00430C70 0320F809 */ jalr $t9 +/* 00430C74 00000000 */ nop +/* 00430C78 10000109 */ b .L004310A0 +/* 00430C7C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430C80: +/* 00430C80 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00430C84 02002825 */ move $a1, $s0 +/* 00430C88 0320F809 */ jalr $t9 +/* 00430C8C 00000000 */ nop +/* 00430C90 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430C94 00402025 */ move $a0, $v0 +/* 00430C98 02C02825 */ move $a1, $s6 +/* 00430C9C 8F998380 */ lw $t9, %call16(eval2)($gp) +/* 00430CA0 03C03025 */ move $a2, $fp +/* 00430CA4 0320F809 */ jalr $t9 +/* 00430CA8 00000000 */ nop +/* 00430CAC 100000FC */ b .L004310A0 +/* 00430CB0 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430CB4: +/* 00430CB4 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 00430CB8 02C02025 */ move $a0, $s6 +/* 00430CBC 0320F809 */ jalr $t9 +/* 00430CC0 00000000 */ nop +/* 00430CC4 92CC0020 */ lbu $t4, 0x20($s6) +/* 00430CC8 2401003C */ li $at, 60 +/* 00430CCC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430CD0 15810009 */ bne $t4, $at, .L00430CF8 +/* 00430CD4 3055FFFF */ andi $s5, $v0, 0xffff +/* 00430CD8 8F8D88DC */ lw $t5, %got(nor_flag)($gp) +/* 00430CDC 91AD0000 */ lbu $t5, ($t5) +/* 00430CE0 11A00005 */ beqz $t5, .L00430CF8 +/* 00430CE4 00000000 */ nop +/* 00430CE8 8F8188DC */ lw $at, %got(nor_flag)($gp) +/* 00430CEC 8F9588D8 */ lw $s5, %got(op_nor)($gp) +/* 00430CF0 A0200000 */ sb $zero, ($at) +/* 00430CF4 96B50000 */ lhu $s5, ($s5) +.L00430CF8: +/* 00430CF8 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00430CFC 8EC40004 */ lw $a0, 4($s6) +/* 00430D00 0320F809 */ jalr $t9 +/* 00430D04 00000000 */ nop +/* 00430D08 104000B0 */ beqz $v0, .L00430FCC +/* 00430D0C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430D10 8F8B89D8 */ lw $t3, %got(opcode_arch)($gp) +/* 00430D14 916B0000 */ lbu $t3, ($t3) +/* 00430D18 15600017 */ bnez $t3, .L00430D78 +/* 00430D1C 00000000 */ nop +/* 00430D20 92D80021 */ lbu $t8, 0x21($s6) +/* 00430D24 3C010501 */ lui $at, 0x501 +/* 00430D28 330A001F */ andi $t2, $t8, 0x1f +/* 00430D2C 2D4E0020 */ sltiu $t6, $t2, 0x20 +/* 00430D30 000E4023 */ negu $t0, $t6 +/* 00430D34 01017824 */ and $t7, $t0, $at +/* 00430D38 014F4804 */ sllv $t1, $t7, $t2 +/* 00430D3C 0521000E */ bgez $t1, .L00430D78 +/* 00430D40 00000000 */ nop +/* 00430D44 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 00430D48 02C02025 */ move $a0, $s6 +/* 00430D4C 0320F809 */ jalr $t9 +/* 00430D50 00000000 */ nop +/* 00430D54 12020008 */ beq $s0, $v0, .L00430D78 +/* 00430D58 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430D5C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430D60 8EC40000 */ lw $a0, ($s6) +/* 00430D64 24050048 */ li $a1, 72 +/* 00430D68 0320F809 */ jalr $t9 +/* 00430D6C 00000000 */ nop +/* 00430D70 10000007 */ b .L00430D90 +/* 00430D74 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430D78: +/* 00430D78 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430D7C 8EC40000 */ lw $a0, ($s6) +/* 00430D80 03C02825 */ move $a1, $fp +/* 00430D84 0320F809 */ jalr $t9 +/* 00430D88 00000000 */ nop +/* 00430D8C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430D90: +/* 00430D90 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00430D94 8EC40000 */ lw $a0, ($s6) +/* 00430D98 0320F809 */ jalr $t9 +/* 00430D9C 00000000 */ nop +/* 00430DA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430DA4 305300FF */ andi $s3, $v0, 0xff +/* 00430DA8 02C02025 */ move $a0, $s6 +/* 00430DAC 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00430DB0 03C02825 */ move $a1, $fp +/* 00430DB4 0320F809 */ jalr $t9 +/* 00430DB8 00000000 */ nop +/* 00430DBC 92D90021 */ lbu $t9, 0x21($s6) +/* 00430DC0 3C010501 */ lui $at, 0x501 +/* 00430DC4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430DC8 332C001F */ andi $t4, $t9, 0x1f +/* 00430DCC 2D8D0020 */ sltiu $t5, $t4, 0x20 +/* 00430DD0 000D5823 */ negu $t3, $t5 +/* 00430DD4 0161C024 */ and $t8, $t3, $at +/* 00430DD8 01987004 */ sllv $t6, $t8, $t4 +/* 00430DDC 05C1001B */ bgez $t6, .L00430E4C +/* 00430DE0 305E00FF */ andi $fp, $v0, 0xff +/* 00430DE4 304800FF */ andi $t0, $v0, 0xff +/* 00430DE8 55130019 */ bnel $t0, $s3, .L00430E50 +/* 00430DEC 305200FF */ andi $s2, $v0, 0xff +/* 00430DF0 92CF0020 */ lbu $t7, 0x20($s6) +/* 00430DF4 2DEA0080 */ sltiu $t2, $t7, 0x80 +/* 00430DF8 11400009 */ beqz $t2, .L00430E20 +/* 00430DFC 00000000 */ nop +/* 00430E00 8F8D8038 */ lw $t5, %got(D_10016144)($gp) +/* 00430E04 000F4943 */ sra $t1, $t7, 5 +/* 00430E08 0009C880 */ sll $t9, $t1, 2 +/* 00430E0C 25AD6144 */ addiu $t5, %lo(D_10016144) # addiu $t5, $t5, 0x6144 +/* 00430E10 01B95821 */ addu $t3, $t5, $t9 +/* 00430E14 8D780000 */ lw $t8, ($t3) +/* 00430E18 01F86004 */ sllv $t4, $t8, $t7 +/* 00430E1C 298A0000 */ slti $t2, $t4, 0 +.L00430E20: +/* 00430E20 5540000B */ bnel $t2, $zero, .L00430E50 +/* 00430E24 305200FF */ andi $s2, $v0, 0xff +/* 00430E28 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00430E2C 02C02025 */ move $a0, $s6 +/* 00430E30 24050001 */ li $a1, 1 +/* 00430E34 0320F809 */ jalr $t9 +/* 00430E38 00000000 */ nop +/* 00430E3C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430E40 305200FF */ andi $s2, $v0, 0xff +/* 00430E44 10000003 */ b .L00430E54 +/* 00430E48 92C40020 */ lbu $a0, 0x20($s6) +.L00430E4C: +/* 00430E4C 305200FF */ andi $s2, $v0, 0xff +.L00430E50: +/* 00430E50 92C40020 */ lbu $a0, 0x20($s6) +.L00430E54: +/* 00430E54 8ED00004 */ lw $s0, 4($s6) +/* 00430E58 3C010501 */ lui $at, 0x501 +/* 00430E5C 02402825 */ move $a1, $s2 +/* 00430E60 92020021 */ lbu $v0, 0x21($s0) +/* 00430E64 02603025 */ move $a2, $s3 +/* 00430E68 3042001F */ andi $v0, $v0, 0x1f +/* 00430E6C 2C480020 */ sltiu $t0, $v0, 0x20 +/* 00430E70 00084823 */ negu $t1, $t0 +/* 00430E74 01216824 */ and $t5, $t1, $at +/* 00430E78 004DC804 */ sllv $t9, $t5, $v0 +/* 00430E7C 07210009 */ bgez $t9, .L00430EA4 +/* 00430E80 2C4B0020 */ sltiu $t3, $v0, 0x20 +/* 00430E84 24010073 */ li $at, 115 +/* 00430E88 10810004 */ beq $a0, $at, .L00430E9C +/* 00430E8C 8E110034 */ lw $s1, 0x34($s0) +/* 00430E90 24010074 */ li $at, 116 +/* 00430E94 5481000B */ bnel $a0, $at, .L00430EC4 +/* 00430E98 000BC023 */ negu $t8, $t3 +.L00430E9C: +/* 00430E9C 10000008 */ b .L00430EC0 +/* 00430EA0 3231003F */ andi $s1, $s1, 0x3f +.L00430EA4: +/* 00430EA4 24010073 */ li $at, 115 +/* 00430EA8 10810004 */ beq $a0, $at, .L00430EBC +/* 00430EAC 8E110030 */ lw $s1, 0x30($s0) +/* 00430EB0 24010074 */ li $at, 116 +/* 00430EB4 54810003 */ bnel $a0, $at, .L00430EC4 +/* 00430EB8 000BC023 */ negu $t8, $t3 +.L00430EBC: +/* 00430EBC 3231001F */ andi $s1, $s1, 0x1f +.L00430EC0: +/* 00430EC0 000BC023 */ negu $t8, $t3 +.L00430EC4: +/* 00430EC4 3C010501 */ lui $at, 0x501 +/* 00430EC8 03017824 */ and $t7, $t8, $at +/* 00430ECC 004F6004 */ sllv $t4, $t7, $v0 +/* 00430ED0 05810008 */ bgez $t4, .L00430EF4 +/* 00430ED4 02A02025 */ move $a0, $s5 +/* 00430ED8 8F9982D4 */ lw $t9, %call16(dw_emit_rri)($gp) +/* 00430EDC 8E070030 */ lw $a3, 0x30($s0) +/* 00430EE0 AFB10010 */ sw $s1, 0x10($sp) +/* 00430EE4 0320F809 */ jalr $t9 +/* 00430EE8 AFB60014 */ sw $s6, 0x14($sp) +/* 00430EEC 10000015 */ b .L00430F44 +/* 00430EF0 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430EF4: +/* 00430EF4 0621000B */ bgez $s1, .L00430F24 +/* 00430EF8 02A02025 */ move $a0, $s5 +/* 00430EFC 8F9982D4 */ lw $t9, %call16(dw_emit_rri)($gp) +/* 00430F00 02A02025 */ move $a0, $s5 +/* 00430F04 02402825 */ move $a1, $s2 +/* 00430F08 02603025 */ move $a2, $s3 +/* 00430F0C 2407FFFF */ li $a3, -1 +/* 00430F10 AFB10010 */ sw $s1, 0x10($sp) +/* 00430F14 0320F809 */ jalr $t9 +/* 00430F18 AFB60014 */ sw $s6, 0x14($sp) +/* 00430F1C 10000009 */ b .L00430F44 +/* 00430F20 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430F24: +/* 00430F24 8F9982D4 */ lw $t9, %call16(dw_emit_rri)($gp) +/* 00430F28 02402825 */ move $a1, $s2 +/* 00430F2C 02603025 */ move $a2, $s3 +/* 00430F30 00003825 */ move $a3, $zero +/* 00430F34 AFB10010 */ sw $s1, 0x10($sp) +/* 00430F38 0320F809 */ jalr $t9 +/* 00430F3C AFB60014 */ sw $s6, 0x14($sp) +/* 00430F40 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430F44: +/* 00430F44 125E0056 */ beq $s2, $fp, .L004310A0 +/* 00430F48 00000000 */ nop +/* 00430F4C 92CE0021 */ lbu $t6, 0x21($s6) +/* 00430F50 3C010501 */ lui $at, 0x501 +/* 00430F54 31CA001F */ andi $t2, $t6, 0x1f +/* 00430F58 2D480020 */ sltiu $t0, $t2, 0x20 +/* 00430F5C 00084823 */ negu $t1, $t0 +/* 00430F60 01216824 */ and $t5, $t1, $at +/* 00430F64 014DC804 */ sllv $t9, $t5, $t2 +/* 00430F68 0721000C */ bgez $t9, .L00430F9C +/* 00430F6C 00000000 */ nop +/* 00430F70 8F8B89D8 */ lw $t3, %got(opcode_arch)($gp) +/* 00430F74 916B0000 */ lbu $t3, ($t3) +/* 00430F78 15600008 */ bnez $t3, .L00430F9C +/* 00430F7C 00000000 */ nop +/* 00430F80 8F998310 */ lw $t9, %call16(move_two_regs)($gp) +/* 00430F84 03C02025 */ move $a0, $fp +/* 00430F88 02402825 */ move $a1, $s2 +/* 00430F8C 0320F809 */ jalr $t9 +/* 00430F90 00000000 */ nop +/* 00430F94 10000007 */ b .L00430FB4 +/* 00430F98 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430F9C: +/* 00430F9C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00430FA0 24040031 */ li $a0, 49 +/* 00430FA4 03C02825 */ move $a1, $fp +/* 00430FA8 0320F809 */ jalr $t9 +/* 00430FAC 02403025 */ move $a2, $s2 +/* 00430FB0 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430FB4: +/* 00430FB4 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00430FB8 02402025 */ move $a0, $s2 +/* 00430FBC 0320F809 */ jalr $t9 +/* 00430FC0 00000000 */ nop +/* 00430FC4 10000036 */ b .L004310A0 +/* 00430FC8 8FBC00CC */ lw $gp, 0xcc($sp) +.L00430FCC: +/* 00430FCC 8ED80004 */ lw $t8, 4($s6) +/* 00430FD0 24010095 */ li $at, 149 +/* 00430FD4 930F0020 */ lbu $t7, 0x20($t8) +/* 00430FD8 15E1002B */ bne $t7, $at, .L00431088 +/* 00430FDC 00000000 */ nop +/* 00430FE0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00430FE4 8EC40000 */ lw $a0, ($s6) +/* 00430FE8 03C02825 */ move $a1, $fp +/* 00430FEC 0320F809 */ jalr $t9 +/* 00430FF0 00000000 */ nop +/* 00430FF4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00430FF8 8EC40000 */ lw $a0, ($s6) +/* 00430FFC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431000 0320F809 */ jalr $t9 +/* 00431004 00000000 */ nop +/* 00431008 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043100C 305300FF */ andi $s3, $v0, 0xff +/* 00431010 02C02025 */ move $a0, $s6 +/* 00431014 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00431018 03C02825 */ move $a1, $fp +/* 0043101C 0320F809 */ jalr $t9 +/* 00431020 00000000 */ nop +/* 00431024 92CE0020 */ lbu $t6, 0x20($s6) +/* 00431028 8ECC0004 */ lw $t4, 4($s6) +/* 0043102C 24010004 */ li $at, 4 +/* 00431030 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431034 305E00FF */ andi $fp, $v0, 0xff +/* 00431038 15C1000B */ bne $t6, $at, .L00431068 +/* 0043103C 8D910024 */ lw $s1, 0x24($t4) +/* 00431040 8EC60000 */ lw $a2, ($s6) +/* 00431044 24010036 */ li $at, 54 +/* 00431048 90C80020 */ lbu $t0, 0x20($a2) +/* 0043104C 15010006 */ bne $t0, $at, .L00431068 +/* 00431050 00000000 */ nop +/* 00431054 8CC90028 */ lw $t1, 0x28($a2) +/* 00431058 24010001 */ li $at, 1 +/* 0043105C 15210002 */ bne $t1, $at, .L00431068 +/* 00431060 00000000 */ nop +/* 00431064 241500D7 */ li $s5, 215 +.L00431068: +/* 00431068 8F99820C */ lw $t9, %call16(emit_rrri)($gp) +/* 0043106C 02A02025 */ move $a0, $s5 +/* 00431070 03C02825 */ move $a1, $fp +/* 00431074 02603025 */ move $a2, $s3 +/* 00431078 0320F809 */ jalr $t9 +/* 0043107C 02203825 */ move $a3, $s1 +/* 00431080 10000007 */ b .L004310A0 +/* 00431084 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431088: +/* 00431088 8F998380 */ lw $t9, %call16(eval2)($gp) +/* 0043108C 02A02025 */ move $a0, $s5 +/* 00431090 02C02825 */ move $a1, $s6 +/* 00431094 0320F809 */ jalr $t9 +/* 00431098 03C03025 */ move $a2, $fp +/* 0043109C 8FBC00CC */ lw $gp, 0xcc($sp) +.L004310A0: +/* 004310A0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 004310A4 10000783 */ b .L00432EB4 +/* 004310A8 90840000 */ lbu $a0, ($a0) +.L004310AC: +/* 004310AC 8F99831C */ lw $t9, %call16(uop_to_asm)($gp) +/* 004310B0 02C02025 */ move $a0, $s6 +/* 004310B4 0320F809 */ jalr $t9 +/* 004310B8 00000000 */ nop +/* 004310BC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004310C0 3055FFFF */ andi $s5, $v0, 0xffff +/* 004310C4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004310C8 0320F809 */ jalr $t9 +/* 004310CC 00000000 */ nop +/* 004310D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004310D4 0040B825 */ move $s7, $v0 +/* 004310D8 8EC40000 */ lw $a0, ($s6) +/* 004310DC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004310E0 24050048 */ li $a1, 72 +/* 004310E4 0320F809 */ jalr $t9 +/* 004310E8 00000000 */ nop +/* 004310EC 8ED00004 */ lw $s0, 4($s6) +/* 004310F0 24010049 */ li $at, 73 +/* 004310F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004310F8 920D0020 */ lbu $t5, 0x20($s0) +/* 004310FC 15A10034 */ bne $t5, $at, .L004311D0 +/* 00431100 00000000 */ nop +/* 00431104 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431108 8EC40000 */ lw $a0, ($s6) +/* 0043110C 0320F809 */ jalr $t9 +/* 00431110 00000000 */ nop +/* 00431114 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431118 305300FF */ andi $s3, $v0, 0xff +/* 0043111C 02C02025 */ move $a0, $s6 +/* 00431120 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00431124 03C02825 */ move $a1, $fp +/* 00431128 0320F809 */ jalr $t9 +/* 0043112C 00000000 */ nop +/* 00431130 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431134 8ECA0004 */ lw $t2, 4($s6) +/* 00431138 305E00FF */ andi $fp, $v0, 0xff +/* 0043113C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00431140 8D470030 */ lw $a3, 0x30($t2) +/* 00431144 AFA00010 */ sw $zero, 0x10($sp) +/* 00431148 02A02025 */ move $a0, $s5 +/* 0043114C 304500FF */ andi $a1, $v0, 0xff +/* 00431150 0320F809 */ jalr $t9 +/* 00431154 02603025 */ move $a2, $s3 +/* 00431158 8ED90004 */ lw $t9, 4($s6) +/* 0043115C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431160 03C02825 */ move $a1, $fp +/* 00431164 8F2B0030 */ lw $t3, 0x30($t9) +/* 00431168 24040014 */ li $a0, 20 +/* 0043116C 05600008 */ bltz $t3, .L00431190 +/* 00431170 00000000 */ nop +/* 00431174 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 00431178 2404000E */ li $a0, 14 +/* 0043117C 00003025 */ move $a2, $zero +/* 00431180 0320F809 */ jalr $t9 +/* 00431184 02E03825 */ move $a3, $s7 +/* 00431188 10000007 */ b .L004311A8 +/* 0043118C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431190: +/* 00431190 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 00431194 03C02825 */ move $a1, $fp +/* 00431198 00003025 */ move $a2, $zero +/* 0043119C 0320F809 */ jalr $t9 +/* 004311A0 02E03825 */ move $a3, $s7 +/* 004311A4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004311A8: +/* 004311A8 8ED80004 */ lw $t8, 4($s6) +/* 004311AC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004311B0 24040001 */ li $a0, 1 +/* 004311B4 8F070030 */ lw $a3, 0x30($t8) +/* 004311B8 AFA00010 */ sw $zero, 0x10($sp) +/* 004311BC 03C02825 */ move $a1, $fp +/* 004311C0 0320F809 */ jalr $t9 +/* 004311C4 03C03025 */ move $a2, $fp +/* 004311C8 10000047 */ b .L004312E8 +/* 004311CC 8FBC00CC */ lw $gp, 0xcc($sp) +.L004311D0: +/* 004311D0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004311D4 02002025 */ move $a0, $s0 +/* 004311D8 24050048 */ li $a1, 72 +/* 004311DC 0320F809 */ jalr $t9 +/* 004311E0 00000000 */ nop +/* 004311E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004311E8 8EC40000 */ lw $a0, ($s6) +/* 004311EC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004311F0 0320F809 */ jalr $t9 +/* 004311F4 00000000 */ nop +/* 004311F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004311FC 305300FF */ andi $s3, $v0, 0xff +/* 00431200 02C02025 */ move $a0, $s6 +/* 00431204 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00431208 03C02825 */ move $a1, $fp +/* 0043120C 0320F809 */ jalr $t9 +/* 00431210 00000000 */ nop +/* 00431214 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431218 305E00FF */ andi $fp, $v0, 0xff +/* 0043121C 8EC40004 */ lw $a0, 4($s6) +/* 00431220 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431224 0320F809 */ jalr $t9 +/* 00431228 00000000 */ nop +/* 0043122C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431230 A3A20186 */ sb $v0, 0x186($sp) +/* 00431234 00002025 */ move $a0, $zero +/* 00431238 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0043123C 24050001 */ li $a1, 1 +/* 00431240 0320F809 */ jalr $t9 +/* 00431244 00000000 */ nop +/* 00431248 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043124C 305400FF */ andi $s4, $v0, 0xff +/* 00431250 304400FF */ andi $a0, $v0, 0xff +/* 00431254 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00431258 0320F809 */ jalr $t9 +/* 0043125C 00000000 */ nop +/* 00431260 93AF0186 */ lbu $t7, 0x186($sp) +/* 00431264 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431268 02A02025 */ move $a0, $s5 +/* 0043126C 01FE02B4 */ teq $t7, $fp, 0xa +/* 00431270 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00431274 03C02825 */ move $a1, $fp +/* 00431278 02603025 */ move $a2, $s3 +/* 0043127C 0320F809 */ jalr $t9 +/* 00431280 01E03825 */ move $a3, $t7 +/* 00431284 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431288 24040059 */ li $a0, 89 +/* 0043128C 02802825 */ move $a1, $s4 +/* 00431290 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00431294 03C03025 */ move $a2, $fp +/* 00431298 93A70186 */ lbu $a3, 0x186($sp) +/* 0043129C 0320F809 */ jalr $t9 +/* 004312A0 00000000 */ nop +/* 004312A4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004312A8 2404000E */ li $a0, 14 +/* 004312AC 02802825 */ move $a1, $s4 +/* 004312B0 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 004312B4 00003025 */ move $a2, $zero +/* 004312B8 02E03825 */ move $a3, $s7 +/* 004312BC 0320F809 */ jalr $t9 +/* 004312C0 00000000 */ nop +/* 004312C4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004312C8 24040002 */ li $a0, 2 +/* 004312CC 03C02825 */ move $a1, $fp +/* 004312D0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 004312D4 03C03025 */ move $a2, $fp +/* 004312D8 93A70186 */ lbu $a3, 0x186($sp) +/* 004312DC 0320F809 */ jalr $t9 +/* 004312E0 00000000 */ nop +/* 004312E4 8FBC00CC */ lw $gp, 0xcc($sp) +.L004312E8: +/* 004312E8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 004312EC 02E02025 */ move $a0, $s7 +/* 004312F0 0320F809 */ jalr $t9 +/* 004312F4 00000000 */ nop +/* 004312F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004312FC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431300 100006EC */ b .L00432EB4 +/* 00431304 90840000 */ lbu $a0, ($a0) +.L00431308: +/* 00431308 96CC0022 */ lhu $t4, 0x22($s6) +/* 0043130C 318E0002 */ andi $t6, $t4, 2 +/* 00431310 01C002B4 */ teq $t6, $zero, 0xa +/* 00431314 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431318 8EC40000 */ lw $a0, ($s6) +/* 0043131C 24050048 */ li $a1, 72 +/* 00431320 0320F809 */ jalr $t9 +/* 00431324 00000000 */ nop +/* 00431328 8EC80000 */ lw $t0, ($s6) +/* 0043132C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431330 91090019 */ lbu $t1, 0x19($t0) +/* 00431334 00096E00 */ sll $t5, $t1, 0x18 +/* 00431338 000D5642 */ srl $t2, $t5, 0x19 +/* 0043133C 17CA0002 */ bne $fp, $t2, .L00431348 +/* 00431340 00000000 */ nop +/* 00431344 241E0048 */ li $fp, 72 +.L00431348: +/* 00431348 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0043134C 02C02025 */ move $a0, $s6 +/* 00431350 03C02825 */ move $a1, $fp +/* 00431354 0320F809 */ jalr $t9 +/* 00431358 00000000 */ nop +/* 0043135C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431360 305E00FF */ andi $fp, $v0, 0xff +/* 00431364 8EC40000 */ lw $a0, ($s6) +/* 00431368 8F998338 */ lw $t9, %call16(reg)($gp) +/* 0043136C 0320F809 */ jalr $t9 +/* 00431370 00000000 */ nop +/* 00431374 92D90021 */ lbu $t9, 0x21($s6) +/* 00431378 3C010501 */ lui $at, 0x501 +/* 0043137C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431380 332B001F */ andi $t3, $t9, 0x1f +/* 00431384 2D780020 */ sltiu $t8, $t3, 0x20 +/* 00431388 00187823 */ negu $t7, $t8 +/* 0043138C 01E16024 */ and $t4, $t7, $at +/* 00431390 016C7004 */ sllv $t6, $t4, $t3 +/* 00431394 05C10020 */ bgez $t6, .L00431418 +/* 00431398 305300FF */ andi $s3, $v0, 0xff +/* 0043139C 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 004313A0 24010001 */ li $at, 1 +/* 004313A4 2404013A */ li $a0, 314 +/* 004313A8 91080000 */ lbu $t0, ($t0) +/* 004313AC 03C02825 */ move $a1, $fp +/* 004313B0 02603025 */ move $a2, $s3 +/* 004313B4 15010032 */ bne $t0, $at, .L00431480 +/* 004313B8 240D0040 */ li $t5, 64 +/* 004313BC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004313C0 8EC90024 */ lw $t1, 0x24($s6) +/* 004313C4 AFA00010 */ sw $zero, 0x10($sp) +/* 004313C8 2415013B */ li $s5, 315 +/* 004313CC 0320F809 */ jalr $t9 +/* 004313D0 01A93823 */ subu $a3, $t5, $t1 +/* 004313D4 92CA0021 */ lbu $t2, 0x21($s6) +/* 004313D8 24010005 */ li $at, 5 +/* 004313DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004313E0 3159001F */ andi $t9, $t2, 0x1f +/* 004313E4 17210002 */ bne $t9, $at, .L004313F0 +/* 004313E8 03C02825 */ move $a1, $fp +/* 004313EC 2415013C */ li $s5, 316 +.L004313F0: +/* 004313F0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004313F4 8ED80024 */ lw $t8, 0x24($s6) +/* 004313F8 240F0040 */ li $t7, 64 +/* 004313FC 02A02025 */ move $a0, $s5 +/* 00431400 03C03025 */ move $a2, $fp +/* 00431404 AFA00010 */ sw $zero, 0x10($sp) +/* 00431408 0320F809 */ jalr $t9 +/* 0043140C 01F83823 */ subu $a3, $t7, $t8 +/* 00431410 1000001B */ b .L00431480 +/* 00431414 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431418: +/* 00431418 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043141C 8ECC0024 */ lw $t4, 0x24($s6) +/* 00431420 240B0020 */ li $t3, 32 +/* 00431424 2404004F */ li $a0, 79 +/* 00431428 03C02825 */ move $a1, $fp +/* 0043142C 02603025 */ move $a2, $s3 +/* 00431430 AFA00010 */ sw $zero, 0x10($sp) +/* 00431434 24150054 */ li $s5, 84 +/* 00431438 0320F809 */ jalr $t9 +/* 0043143C 016C3823 */ subu $a3, $t3, $t4 +/* 00431440 92CE0021 */ lbu $t6, 0x21($s6) +/* 00431444 24010006 */ li $at, 6 +/* 00431448 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043144C 31C8001F */ andi $t0, $t6, 0x1f +/* 00431450 15010002 */ bne $t0, $at, .L0043145C +/* 00431454 03C02825 */ move $a1, $fp +/* 00431458 24150053 */ li $s5, 83 +.L0043145C: +/* 0043145C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00431460 8ECD0024 */ lw $t5, 0x24($s6) +/* 00431464 24090020 */ li $t1, 32 +/* 00431468 02A02025 */ move $a0, $s5 +/* 0043146C 03C03025 */ move $a2, $fp +/* 00431470 AFA00010 */ sw $zero, 0x10($sp) +/* 00431474 0320F809 */ jalr $t9 +/* 00431478 012D3823 */ subu $a3, $t1, $t5 +/* 0043147C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431480: +/* 00431480 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00431484 24040104 */ li $a0, 260 +/* 00431488 03C02825 */ move $a1, $fp +/* 0043148C 02603025 */ move $a2, $s3 +/* 00431490 24070006 */ li $a3, 6 +/* 00431494 0320F809 */ jalr $t9 +/* 00431498 AFA00010 */ sw $zero, 0x10($sp) +/* 0043149C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004314A0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 004314A4 10000683 */ b .L00432EB4 +/* 004314A8 90840000 */ lbu $a0, ($a0) +.L004314AC: +/* 004314AC 92C70021 */ lbu $a3, 0x21($s6) +/* 004314B0 3C018F8D */ lui $at, 0x8f8d +/* 004314B4 34218000 */ ori $at, $at, 0x8000 +/* 004314B8 30E7001F */ andi $a3, $a3, 0x1f +/* 004314BC 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 004314C0 000AC823 */ negu $t9, $t2 +/* 004314C4 03217824 */ and $t7, $t9, $at +/* 004314C8 00EFC004 */ sllv $t8, $t7, $a3 +/* 004314CC 0701000A */ bgez $t8, .L004314F8 +/* 004314D0 24040004 */ li $a0, 4 +/* 004314D4 92C20028 */ lbu $v0, 0x28($s6) +/* 004314D8 3C018F8D */ lui $at, 0x8f8d +/* 004314DC 34218000 */ ori $at, $at, 0x8000 +/* 004314E0 2C4B0020 */ sltiu $t3, $v0, 0x20 +/* 004314E4 000B6023 */ negu $t4, $t3 +/* 004314E8 01817024 */ and $t6, $t4, $at +/* 004314EC 004E4004 */ sllv $t0, $t6, $v0 +/* 004314F0 0500003F */ bltz $t0, .L004315F0 +/* 004314F4 2C4F0020 */ sltiu $t7, $v0, 0x20 +.L004314F8: +/* 004314F8 8F898038 */ lw $t1, %got(RO_1000AB8A)($gp) +/* 004314FC 2405159B */ li $a1, 5531 +/* 00431500 03A0C825 */ move $t9, $sp +/* 00431504 2529AB8A */ addiu $t1, %lo(RO_1000AB8A) # addiu $t1, $t1, -0x5476 +/* 00431508 252F0048 */ addiu $t7, $t1, 0x48 +.L0043150C: +/* 0043150C 892A0000 */ lwl $t2, ($t1) +/* 00431510 992A0003 */ lwr $t2, 3($t1) +/* 00431514 2529000C */ addiu $t1, $t1, 0xc +/* 00431518 2739000C */ addiu $t9, $t9, 0xc +/* 0043151C AB2AFFFC */ swl $t2, -4($t9) +/* 00431520 BB2AFFFF */ swr $t2, -1($t9) +/* 00431524 892DFFF8 */ lwl $t5, -8($t1) +/* 00431528 992DFFFB */ lwr $t5, -5($t1) +/* 0043152C AB2D0000 */ swl $t5, ($t9) +/* 00431530 BB2D0003 */ swr $t5, 3($t9) +/* 00431534 892AFFFC */ lwl $t2, -4($t1) +/* 00431538 992AFFFF */ lwr $t2, -1($t1) +/* 0043153C AB2A0004 */ swl $t2, 4($t9) +/* 00431540 152FFFF2 */ bne $t1, $t7, .L0043150C +/* 00431544 BB2A0007 */ swr $t2, 7($t9) +/* 00431548 892A0000 */ lwl $t2, ($t1) +/* 0043154C 992A0003 */ lwr $t2, 3($t1) +/* 00431550 8F988038 */ lw $t8, %got(RO_1000AB3A)($gp) +/* 00431554 03A07025 */ move $t6, $sp +/* 00431558 AB2A0008 */ swl $t2, 8($t9) +/* 0043155C BB2A000B */ swr $t2, 0xb($t9) +/* 00431560 892D0004 */ lwl $t5, 4($t1) +/* 00431564 992D0007 */ lwr $t5, 7($t1) +/* 00431568 2718AB3A */ addiu $t8, %lo(RO_1000AB3A) # addiu $t8, $t8, -0x54c6 +/* 0043156C 27080048 */ addiu $t0, $t8, 0x48 +/* 00431570 AB2D000C */ swl $t5, 0xc($t9) +/* 00431574 BB2D000F */ swr $t5, 0xf($t9) +.L00431578: +/* 00431578 8B0C0000 */ lwl $t4, ($t8) +/* 0043157C 9B0C0003 */ lwr $t4, 3($t8) +/* 00431580 2718000C */ addiu $t8, $t8, 0xc +/* 00431584 25CE000C */ addiu $t6, $t6, 0xc +/* 00431588 A9CC004C */ swl $t4, 0x4c($t6) +/* 0043158C B9CC004F */ swr $t4, 0x4f($t6) +/* 00431590 8B0BFFF8 */ lwl $t3, -8($t8) +/* 00431594 9B0BFFFB */ lwr $t3, -5($t8) +/* 00431598 A9CB0050 */ swl $t3, 0x50($t6) +/* 0043159C B9CB0053 */ swr $t3, 0x53($t6) +/* 004315A0 8B0CFFFC */ lwl $t4, -4($t8) +/* 004315A4 9B0CFFFF */ lwr $t4, -1($t8) +/* 004315A8 A9CC0054 */ swl $t4, 0x54($t6) +/* 004315AC 1708FFF2 */ bne $t8, $t0, .L00431578 +/* 004315B0 B9CC0057 */ swr $t4, 0x57($t6) +/* 004315B4 8B0C0000 */ lwl $t4, ($t8) +/* 004315B8 9B0C0003 */ lwr $t4, 3($t8) +/* 004315BC A9CC0058 */ swl $t4, 0x58($t6) +/* 004315C0 B9CC005B */ swr $t4, 0x5b($t6) +/* 004315C4 8B0B0004 */ lwl $t3, 4($t8) +/* 004315C8 9B0B0007 */ lwr $t3, 7($t8) +/* 004315CC A9CB005C */ swl $t3, 0x5c($t6) +/* 004315D0 B9CB005F */ swr $t3, 0x5f($t6) +/* 004315D4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004315D8 8FA7000C */ lw $a3, 0xc($sp) +/* 004315DC 8FA60008 */ lw $a2, 8($sp) +/* 004315E0 0320F809 */ jalr $t9 +/* 004315E4 00000000 */ nop +/* 004315E8 10000688 */ b .L0043300C +/* 004315EC 8FBC00CC */ lw $gp, 0xcc($sp) +.L004315F0: +/* 004315F0 3C01000C */ lui $at, 0xc +/* 004315F4 34218000 */ ori $at, $at, 0x8000 +/* 004315F8 000F4823 */ negu $t1, $t7 +/* 004315FC 0121C824 */ and $t9, $t1, $at +/* 00431600 00596804 */ sllv $t5, $t9, $v0 +/* 00431604 05A10017 */ bgez $t5, .L00431664 +/* 00431608 2CEB0020 */ sltiu $t3, $a3, 0x20 +/* 0043160C 2CEA0020 */ sltiu $t2, $a3, 0x20 +/* 00431610 3C01000C */ lui $at, 0xc +/* 00431614 34218000 */ ori $at, $at, 0x8000 +/* 00431618 000A4023 */ negu $t0, $t2 +/* 0043161C 0101C024 */ and $t8, $t0, $at +/* 00431620 00F87004 */ sllv $t6, $t8, $a3 +/* 00431624 05C10008 */ bgez $t6, .L00431648 +/* 00431628 00000000 */ nop +/* 0043162C 8F9983E8 */ lw $t9, %call16(eval_flt_flt_cvt)($gp) +/* 00431630 02C02025 */ move $a0, $s6 +/* 00431634 03C02825 */ move $a1, $fp +/* 00431638 0320F809 */ jalr $t9 +/* 0043163C 00000000 */ nop +/* 00431640 1000001C */ b .L004316B4 +/* 00431644 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431648: +/* 00431648 8F9983E0 */ lw $t9, %call16(eval_flt_int_cvt)($gp) +/* 0043164C 02C02025 */ move $a0, $s6 +/* 00431650 03C02825 */ move $a1, $fp +/* 00431654 0320F809 */ jalr $t9 +/* 00431658 00000000 */ nop +/* 0043165C 10000015 */ b .L004316B4 +/* 00431660 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431664: +/* 00431664 3C01000C */ lui $at, 0xc +/* 00431668 34218000 */ ori $at, $at, 0x8000 +/* 0043166C 000B6023 */ negu $t4, $t3 +/* 00431670 01817824 */ and $t7, $t4, $at +/* 00431674 00EF4804 */ sllv $t1, $t7, $a3 +/* 00431678 05210008 */ bgez $t1, .L0043169C +/* 0043167C 00000000 */ nop +/* 00431680 8F9983DC */ lw $t9, %call16(eval_int_flt_cvt)($gp) +/* 00431684 02C02025 */ move $a0, $s6 +/* 00431688 03C02825 */ move $a1, $fp +/* 0043168C 0320F809 */ jalr $t9 +/* 00431690 00000000 */ nop +/* 00431694 10000007 */ b .L004316B4 +/* 00431698 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043169C: +/* 0043169C 8F9983E4 */ lw $t9, %call16(eval_int_int_cvt)($gp) +/* 004316A0 02C02025 */ move $a0, $s6 +/* 004316A4 03C02825 */ move $a1, $fp +/* 004316A8 0320F809 */ jalr $t9 +/* 004316AC 00000000 */ nop +/* 004316B0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004316B4: +/* 004316B4 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 004316B8 100005FE */ b .L00432EB4 +/* 004316BC 90840000 */ lbu $a0, ($a0) +.L004316C0: +/* 004316C0 92C70021 */ lbu $a3, 0x21($s6) +/* 004316C4 3C01BFA1 */ lui $at, 0xbfa1 +/* 004316C8 30E7001F */ andi $a3, $a3, 0x1f +/* 004316CC 2CF90020 */ sltiu $t9, $a3, 0x20 +/* 004316D0 00196823 */ negu $t5, $t9 +/* 004316D4 01A15024 */ and $t2, $t5, $at +/* 004316D8 00EA4004 */ sllv $t0, $t2, $a3 +/* 004316DC 05000003 */ bltz $t0, .L004316EC +/* 004316E0 2401000D */ li $at, 13 +/* 004316E4 14E1000B */ bne $a3, $at, .L00431714 +/* 004316E8 00000000 */ nop +.L004316EC: +/* 004316EC 92C20028 */ lbu $v0, 0x28($s6) +/* 004316F0 3C01BFA1 */ lui $at, 0xbfa1 +/* 004316F4 2C580020 */ sltiu $t8, $v0, 0x20 +/* 004316F8 00187023 */ negu $t6, $t8 +/* 004316FC 01C15824 */ and $t3, $t6, $at +/* 00431700 004B6004 */ sllv $t4, $t3, $v0 +/* 00431704 05800042 */ bltz $t4, .L00431810 +/* 00431708 2401000D */ li $at, 13 +/* 0043170C 10410040 */ beq $v0, $at, .L00431810 +/* 00431710 00000000 */ nop +.L00431714: +/* 00431714 8F8F8038 */ lw $t7, %got(RO_1000AAEA)($gp) +/* 00431718 24040004 */ li $a0, 4 +/* 0043171C 240515B6 */ li $a1, 5558 +/* 00431720 25EFAAEA */ addiu $t7, %lo(RO_1000AAEA) # addiu $t7, $t7, -0x5516 +/* 00431724 25EA0048 */ addiu $t2, $t7, 0x48 +/* 00431728 03A06825 */ move $t5, $sp +.L0043172C: +/* 0043172C 89F90000 */ lwl $t9, ($t7) +/* 00431730 99F90003 */ lwr $t9, 3($t7) +/* 00431734 25EF000C */ addiu $t7, $t7, 0xc +/* 00431738 25AD000C */ addiu $t5, $t5, 0xc +/* 0043173C A9B9FFFC */ swl $t9, -4($t5) +/* 00431740 B9B9FFFF */ swr $t9, -1($t5) +/* 00431744 89E9FFF8 */ lwl $t1, -8($t7) +/* 00431748 99E9FFFB */ lwr $t1, -5($t7) +/* 0043174C A9A90000 */ swl $t1, ($t5) +/* 00431750 B9A90003 */ swr $t1, 3($t5) +/* 00431754 89F9FFFC */ lwl $t9, -4($t7) +/* 00431758 99F9FFFF */ lwr $t9, -1($t7) +/* 0043175C A9B90004 */ swl $t9, 4($t5) +/* 00431760 15EAFFF2 */ bne $t7, $t2, .L0043172C +/* 00431764 B9B90007 */ swr $t9, 7($t5) +/* 00431768 89F90000 */ lwl $t9, ($t7) +/* 0043176C 99F90003 */ lwr $t9, 3($t7) +/* 00431770 8F888038 */ lw $t0, %got(RO_1000AA9A)($gp) +/* 00431774 03A05825 */ move $t3, $sp +/* 00431778 A9B90008 */ swl $t9, 8($t5) +/* 0043177C B9B9000B */ swr $t9, 0xb($t5) +/* 00431780 89E90004 */ lwl $t1, 4($t7) +/* 00431784 99E90007 */ lwr $t1, 7($t7) +/* 00431788 2508AA9A */ addiu $t0, %lo(RO_1000AA9A) # addiu $t0, $t0, -0x5566 +/* 0043178C 250C0048 */ addiu $t4, $t0, 0x48 +/* 00431790 A9A9000C */ swl $t1, 0xc($t5) +/* 00431794 B9A9000F */ swr $t1, 0xf($t5) +.L00431798: +/* 00431798 890E0000 */ lwl $t6, ($t0) +/* 0043179C 990E0003 */ lwr $t6, 3($t0) +/* 004317A0 2508000C */ addiu $t0, $t0, 0xc +/* 004317A4 256B000C */ addiu $t3, $t3, 0xc +/* 004317A8 A96E004C */ swl $t6, 0x4c($t3) +/* 004317AC B96E004F */ swr $t6, 0x4f($t3) +/* 004317B0 8918FFF8 */ lwl $t8, -8($t0) +/* 004317B4 9918FFFB */ lwr $t8, -5($t0) +/* 004317B8 A9780050 */ swl $t8, 0x50($t3) +/* 004317BC B9780053 */ swr $t8, 0x53($t3) +/* 004317C0 890EFFFC */ lwl $t6, -4($t0) +/* 004317C4 990EFFFF */ lwr $t6, -1($t0) +/* 004317C8 A96E0054 */ swl $t6, 0x54($t3) +/* 004317CC 150CFFF2 */ bne $t0, $t4, .L00431798 +/* 004317D0 B96E0057 */ swr $t6, 0x57($t3) +/* 004317D4 890E0000 */ lwl $t6, ($t0) +/* 004317D8 990E0003 */ lwr $t6, 3($t0) +/* 004317DC A96E0058 */ swl $t6, 0x58($t3) +/* 004317E0 B96E005B */ swr $t6, 0x5b($t3) +/* 004317E4 89180004 */ lwl $t8, 4($t0) +/* 004317E8 99180007 */ lwr $t8, 7($t0) +/* 004317EC A978005C */ swl $t8, 0x5c($t3) +/* 004317F0 B978005F */ swr $t8, 0x5f($t3) +/* 004317F4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004317F8 8FA7000C */ lw $a3, 0xc($sp) +/* 004317FC 8FA60008 */ lw $a2, 8($sp) +/* 00431800 0320F809 */ jalr $t9 +/* 00431804 00000000 */ nop +/* 00431808 10000600 */ b .L0043300C +/* 0043180C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431810: +/* 00431810 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431814 8EC40000 */ lw $a0, ($s6) +/* 00431818 24050048 */ li $a1, 72 +/* 0043181C 0320F809 */ jalr $t9 +/* 00431820 00000000 */ nop +/* 00431824 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431828 8EC40000 */ lw $a0, ($s6) +/* 0043182C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431830 0320F809 */ jalr $t9 +/* 00431834 00000000 */ nop +/* 00431838 92CA0028 */ lbu $t2, 0x28($s6) +/* 0043183C 3C01BFA1 */ lui $at, 0xbfa1 +/* 00431840 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431844 2D4F0020 */ sltiu $t7, $t2, 0x20 +/* 00431848 000F6823 */ negu $t5, $t7 +/* 0043184C 01A14824 */ and $t1, $t5, $at +/* 00431850 0149C804 */ sllv $t9, $t1, $t2 +/* 00431854 0721001D */ bgez $t9, .L004318CC +/* 00431858 305300FF */ andi $s3, $v0, 0xff +/* 0043185C 92CC0021 */ lbu $t4, 0x21($s6) +/* 00431860 2401000D */ li $at, 13 +/* 00431864 3188001F */ andi $t0, $t4, 0x1f +/* 00431868 15010010 */ bne $t0, $at, .L004318AC +/* 0043186C 00000000 */ nop +/* 00431870 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00431874 02C02025 */ move $a0, $s6 +/* 00431878 03C02825 */ move $a1, $fp +/* 0043187C 0320F809 */ jalr $t9 +/* 00431880 00000000 */ nop +/* 00431884 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431888 305E00FF */ andi $fp, $v0, 0xff +/* 0043188C 24040065 */ li $a0, 101 +/* 00431890 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00431894 02602825 */ move $a1, $s3 +/* 00431898 304600FF */ andi $a2, $v0, 0xff +/* 0043189C 0320F809 */ jalr $t9 +/* 004318A0 00000000 */ nop +/* 004318A4 10000028 */ b .L00431948 +/* 004318A8 8FBC00CC */ lw $gp, 0xcc($sp) +.L004318AC: +/* 004318AC 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004318B0 02C02025 */ move $a0, $s6 +/* 004318B4 02602825 */ move $a1, $s3 +/* 004318B8 0320F809 */ jalr $t9 +/* 004318BC 00000000 */ nop +/* 004318C0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004318C4 10000020 */ b .L00431948 +/* 004318C8 305E00FF */ andi $fp, $v0, 0xff +.L004318CC: +/* 004318CC 92CB0021 */ lbu $t3, 0x21($s6) +/* 004318D0 3C01BFA1 */ lui $at, 0xbfa1 +/* 004318D4 3178001F */ andi $t8, $t3, 0x1f +/* 004318D8 2F0E0020 */ sltiu $t6, $t8, 0x20 +/* 004318DC 000E7823 */ negu $t7, $t6 +/* 004318E0 01E16824 */ and $t5, $t7, $at +/* 004318E4 030D4804 */ sllv $t1, $t5, $t8 +/* 004318E8 05210010 */ bgez $t1, .L0043192C +/* 004318EC 00000000 */ nop +/* 004318F0 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004318F4 02C02025 */ move $a0, $s6 +/* 004318F8 03C02825 */ move $a1, $fp +/* 004318FC 0320F809 */ jalr $t9 +/* 00431900 00000000 */ nop +/* 00431904 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431908 305E00FF */ andi $fp, $v0, 0xff +/* 0043190C 24040061 */ li $a0, 97 +/* 00431910 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00431914 304500FF */ andi $a1, $v0, 0xff +/* 00431918 02603025 */ move $a2, $s3 +/* 0043191C 0320F809 */ jalr $t9 +/* 00431920 00000000 */ nop +/* 00431924 10000008 */ b .L00431948 +/* 00431928 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043192C: +/* 0043192C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00431930 02C02025 */ move $a0, $s6 +/* 00431934 02602825 */ move $a1, $s3 +/* 00431938 0320F809 */ jalr $t9 +/* 0043193C 00000000 */ nop +/* 00431940 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431944 305E00FF */ andi $fp, $v0, 0xff +.L00431948: +/* 00431948 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0043194C 10000559 */ b .L00432EB4 +/* 00431950 90840000 */ lbu $a0, ($a0) +.L00431954: +/* 00431954 8F998324 */ lw $t9, %call16(trap)($gp) +/* 00431958 8EC40024 */ lw $a0, 0x24($s6) +/* 0043195C 8EC50000 */ lw $a1, ($s6) +/* 00431960 0320F809 */ jalr $t9 +/* 00431964 24060001 */ li $a2, 1 +/* 00431968 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043196C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431970 10000550 */ b .L00432EB4 +/* 00431974 90840000 */ lbu $a0, ($a0) +.L00431978: +/* 00431978 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0043197C 8EC40000 */ lw $a0, ($s6) +/* 00431980 03C02825 */ move $a1, $fp +/* 00431984 0320F809 */ jalr $t9 +/* 00431988 00000000 */ nop +/* 0043198C 8ECA0000 */ lw $t2, ($s6) +/* 00431990 92C30019 */ lbu $v1, 0x19($s6) +/* 00431994 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431998 91530019 */ lbu $s3, 0x19($t2) +/* 0043199C 0003CE00 */ sll $t9, $v1, 0x18 +/* 004319A0 00196642 */ srl $t4, $t9, 0x19 +/* 004319A4 00139E00 */ sll $s3, $s3, 0x18 +/* 004319A8 00139E42 */ srl $s3, $s3, 0x19 +/* 004319AC 327300FF */ andi $s3, $s3, 0xff +/* 004319B0 026C4026 */ xor $t0, $s3, $t4 +/* 004319B4 00085E40 */ sll $t3, $t0, 0x19 +/* 004319B8 000B7602 */ srl $t6, $t3, 0x18 +/* 004319BC 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 004319C0 01C32026 */ xor $a0, $t6, $v1 +/* 004319C4 96C50014 */ lhu $a1, 0x14($s6) +/* 004319C8 A2C40019 */ sb $a0, 0x19($s6) +/* 004319CC 00042600 */ sll $a0, $a0, 0x18 +/* 004319D0 00042642 */ srl $a0, $a0, 0x19 +/* 004319D4 0320F809 */ jalr $t9 +/* 004319D8 24A5FFFF */ addiu $a1, $a1, -1 +/* 004319DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004319E0 24040103 */ li $a0, 259 +/* 004319E4 02602825 */ move $a1, $s3 +/* 004319E8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004319EC 00003025 */ move $a2, $zero +/* 004319F0 24070008 */ li $a3, 8 +/* 004319F4 0320F809 */ jalr $t9 +/* 004319F8 AFA00010 */ sw $zero, 0x10($sp) +/* 004319FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431A00 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431A04 1000052B */ b .L00432EB4 +/* 00431A08 90840000 */ lbu $a0, ($a0) +.L00431A0C: +/* 00431A0C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431A10 8EC40000 */ lw $a0, ($s6) +/* 00431A14 03C02825 */ move $a1, $fp +/* 00431A18 0320F809 */ jalr $t9 +/* 00431A1C 00000000 */ nop +/* 00431A20 8ECD0000 */ lw $t5, ($s6) +/* 00431A24 92C30019 */ lbu $v1, 0x19($s6) +/* 00431A28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431A2C 91B30019 */ lbu $s3, 0x19($t5) +/* 00431A30 0003C600 */ sll $t8, $v1, 0x18 +/* 00431A34 00184E42 */ srl $t1, $t8, 0x19 +/* 00431A38 00139E00 */ sll $s3, $s3, 0x18 +/* 00431A3C 00139E42 */ srl $s3, $s3, 0x19 +/* 00431A40 327300FF */ andi $s3, $s3, 0xff +/* 00431A44 02695026 */ xor $t2, $s3, $t1 +/* 00431A48 000ACE40 */ sll $t9, $t2, 0x19 +/* 00431A4C 00196602 */ srl $t4, $t9, 0x18 +/* 00431A50 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 00431A54 01832026 */ xor $a0, $t4, $v1 +/* 00431A58 96C50014 */ lhu $a1, 0x14($s6) +/* 00431A5C A2C40019 */ sb $a0, 0x19($s6) +/* 00431A60 00042600 */ sll $a0, $a0, 0x18 +/* 00431A64 00042642 */ srl $a0, $a0, 0x19 +/* 00431A68 0320F809 */ jalr $t9 +/* 00431A6C 24A5FFFF */ addiu $a1, $a1, -1 +/* 00431A70 92CB0020 */ lbu $t3, 0x20($s6) +/* 00431A74 2401000C */ li $at, 12 +/* 00431A78 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431A7C 5561000E */ bnel $t3, $at, .L00431AB8 +/* 00431A80 92CD0021 */ lbu $t5, 0x21($s6) +/* 00431A84 92CE0021 */ lbu $t6, 0x21($s6) +/* 00431A88 8EC60024 */ lw $a2, 0x24($s6) +/* 00431A8C 24010006 */ li $at, 6 +/* 00431A90 31CF001F */ andi $t7, $t6, 0x1f +/* 00431A94 15E10004 */ bne $t7, $at, .L00431AA8 +/* 00431A98 24C60001 */ addiu $a2, $a2, 1 +/* 00431A9C 24150101 */ li $s5, 257 +/* 00431AA0 1000000E */ b .L00431ADC +/* 00431AA4 3C108000 */ lui $s0, 0x8000 +.L00431AA8: +/* 00431AA8 24150102 */ li $s5, 258 +/* 00431AAC 1000000B */ b .L00431ADC +/* 00431AB0 00008025 */ move $s0, $zero +/* 00431AB4 92CD0021 */ lbu $t5, 0x21($s6) +.L00431AB8: +/* 00431AB8 24010006 */ li $at, 6 +/* 00431ABC 8EC60024 */ lw $a2, 0x24($s6) +/* 00431AC0 31B8001F */ andi $t8, $t5, 0x1f +/* 00431AC4 17010004 */ bne $t8, $at, .L00431AD8 +/* 00431AC8 24150100 */ li $s5, 256 +/* 00431ACC 241500FF */ li $s5, 255 +/* 00431AD0 10000002 */ b .L00431ADC +/* 00431AD4 3C108000 */ lui $s0, 0x8000 +.L00431AD8: +/* 00431AD8 00008025 */ move $s0, $zero +.L00431ADC: +/* 00431ADC 10D00007 */ beq $a2, $s0, .L00431AFC +/* 00431AE0 00000000 */ nop +/* 00431AE4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00431AE8 02A02025 */ move $a0, $s5 +/* 00431AEC 02602825 */ move $a1, $s3 +/* 00431AF0 0320F809 */ jalr $t9 +/* 00431AF4 00003825 */ move $a3, $zero +/* 00431AF8 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431AFC: +/* 00431AFC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431B00 100004EC */ b .L00432EB4 +/* 00431B04 90840000 */ lbu $a0, ($a0) +.L00431B08: +/* 00431B08 8F998394 */ lw $t9, %call16(eval_irel)($gp) +/* 00431B0C 02C02025 */ move $a0, $s6 +/* 00431B10 0320F809 */ jalr $t9 +/* 00431B14 00000000 */ nop +/* 00431B18 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431B1C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431B20 100004E4 */ b .L00432EB4 +/* 00431B24 90840000 */ lbu $a0, ($a0) +.L00431B28: +/* 00431B28 8F99838C */ lw $t9, %call16(eval_mov)($gp) +/* 00431B2C 02C02025 */ move $a0, $s6 +/* 00431B30 0320F809 */ jalr $t9 +/* 00431B34 00000000 */ nop +/* 00431B38 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431B3C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431B40 100004DC */ b .L00432EB4 +/* 00431B44 90840000 */ lbu $a0, ($a0) +.L00431B48: +/* 00431B48 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431B4C 8EC40000 */ lw $a0, ($s6) +/* 00431B50 24050048 */ li $a1, 72 +/* 00431B54 0320F809 */ jalr $t9 +/* 00431B58 00000000 */ nop +/* 00431B5C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431B60 8EC40000 */ lw $a0, ($s6) +/* 00431B64 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431B68 0320F809 */ jalr $t9 +/* 00431B6C 00000000 */ nop +/* 00431B70 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431B74 305300FF */ andi $s3, $v0, 0xff +/* 00431B78 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 00431B7C 91290000 */ lbu $t1, ($t1) +/* 00431B80 1520000D */ bnez $t1, .L00431BB8 +/* 00431B84 00000000 */ nop +/* 00431B88 92CA0021 */ lbu $t2, 0x21($s6) +/* 00431B8C 3C010501 */ lui $at, 0x501 +/* 00431B90 3159001F */ andi $t9, $t2, 0x1f +/* 00431B94 2F2C0020 */ sltiu $t4, $t9, 0x20 +/* 00431B98 000C4023 */ negu $t0, $t4 +/* 00431B9C 01015824 */ and $t3, $t0, $at +/* 00431BA0 032B7004 */ sllv $t6, $t3, $t9 +/* 00431BA4 05C10004 */ bgez $t6, .L00431BB8 +/* 00431BA8 00000000 */ nop +/* 00431BAC 00409825 */ move $s3, $v0 +/* 00431BB0 26730001 */ addiu $s3, $s3, 1 +/* 00431BB4 327300FF */ andi $s3, $s3, 0xff +.L00431BB8: +/* 00431BB8 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 00431BBC A3B30186 */ sb $s3, 0x186($sp) +/* 00431BC0 02602025 */ move $a0, $s3 +/* 00431BC4 0320F809 */ jalr $t9 +/* 00431BC8 00000000 */ nop +/* 00431BCC 1440000D */ bnez $v0, .L00431C04 +/* 00431BD0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431BD4 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00431BD8 00002025 */ move $a0, $zero +/* 00431BDC 24050001 */ li $a1, 1 +/* 00431BE0 0320F809 */ jalr $t9 +/* 00431BE4 00000000 */ nop +/* 00431BE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431BEC A3A20186 */ sb $v0, 0x186($sp) +/* 00431BF0 304400FF */ andi $a0, $v0, 0xff +/* 00431BF4 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00431BF8 0320F809 */ jalr $t9 +/* 00431BFC 00000000 */ nop +/* 00431C00 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431C04: +/* 00431C04 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00431C08 2404004F */ li $a0, 79 +/* 00431C0C 93A50186 */ lbu $a1, 0x186($sp) +/* 00431C10 02603025 */ move $a2, $s3 +/* 00431C14 24070002 */ li $a3, 2 +/* 00431C18 0320F809 */ jalr $t9 +/* 00431C1C AFA00010 */ sw $zero, 0x10($sp) +/* 00431C20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431C24 8ECF0004 */ lw $t7, 4($s6) +/* 00431C28 93A50186 */ lbu $a1, 0x186($sp) +/* 00431C2C 8F9981EC */ lw $t9, %call16(emit_rllb)($gp) +/* 00431C30 8DE70024 */ lw $a3, 0x24($t7) +/* 00431C34 2404002A */ li $a0, 42 +/* 00431C38 00003025 */ move $a2, $zero +/* 00431C3C 0320F809 */ jalr $t9 +/* 00431C40 AFA50010 */ sw $a1, 0x10($sp) +/* 00431C44 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431C48 24010002 */ li $at, 2 +/* 00431C4C 8F8D89E4 */ lw $t5, %got(pic_level)($gp) +/* 00431C50 8DAD0000 */ lw $t5, ($t5) +/* 00431C54 15A10006 */ bne $t5, $at, .L00431C70 +/* 00431C58 00000000 */ nop +/* 00431C5C 8F9982BC */ lw $t9, %call16(emit_cpadd)($gp) +/* 00431C60 93A40186 */ lbu $a0, 0x186($sp) +/* 00431C64 0320F809 */ jalr $t9 +/* 00431C68 00000000 */ nop +/* 00431C6C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431C70: +/* 00431C70 8F998218 */ lw $t9, %call16(emit_r)($gp) +/* 00431C74 24040022 */ li $a0, 34 +/* 00431C78 93A50186 */ lbu $a1, 0x186($sp) +/* 00431C7C 0320F809 */ jalr $t9 +/* 00431C80 00000000 */ nop +/* 00431C84 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431C88 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431C8C 10000489 */ b .L00432EB4 +/* 00431C90 90840000 */ lbu $a0, ($a0) +.L00431C94: +/* 00431C94 8ED80028 */ lw $t8, 0x28($s6) +/* 00431C98 17000004 */ bnez $t8, .L00431CAC +/* 00431C9C 00000000 */ nop +/* 00431CA0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431CA4 10000483 */ b .L00432EB4 +/* 00431CA8 90840000 */ lbu $a0, ($a0) +.L00431CAC: +/* 00431CAC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00431CB0 2404001A */ li $a0, 26 +/* 00431CB4 00002825 */ move $a1, $zero +/* 00431CB8 0320F809 */ jalr $t9 +/* 00431CBC 00000000 */ nop +/* 00431CC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431CC4 8EC40024 */ lw $a0, 0x24($s6) +/* 00431CC8 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00431CCC 0320F809 */ jalr $t9 +/* 00431CD0 00000000 */ nop +/* 00431CD4 8EC20028 */ lw $v0, 0x28($s6) +/* 00431CD8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431CDC 1040000A */ beqz $v0, .L00431D08 +/* 00431CE0 00408025 */ move $s0, $v0 +.L00431CE4: +/* 00431CE4 8ED60008 */ lw $s6, 8($s6) +/* 00431CE8 8F998254 */ lw $t9, %call16(emit_dir_ll)($gp) +/* 00431CEC 00002825 */ move $a1, $zero +/* 00431CF0 8EC90004 */ lw $t1, 4($s6) +/* 00431CF4 0320F809 */ jalr $t9 +/* 00431CF8 8D240024 */ lw $a0, 0x24($t1) +/* 00431CFC 2610FFFF */ addiu $s0, $s0, -1 +/* 00431D00 1600FFF8 */ bnez $s0, .L00431CE4 +/* 00431D04 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431D08: +/* 00431D08 8F8A8B80 */ lw $t2, %got(current_text_sec)($gp) +/* 00431D0C 8D4A0000 */ lw $t2, ($t2) +/* 00431D10 11400007 */ beqz $t2, .L00431D30 +/* 00431D14 00000000 */ nop +/* 00431D18 8F998234 */ lw $t9, %call16(emit_itext)($gp) +/* 00431D1C 8F848B80 */ lw $a0, %got(current_text_sec)($gp) +/* 00431D20 0320F809 */ jalr $t9 +/* 00431D24 00000000 */ nop +/* 00431D28 10000007 */ b .L00431D48 +/* 00431D2C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431D30: +/* 00431D30 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00431D34 24040015 */ li $a0, 21 +/* 00431D38 00002825 */ move $a1, $zero +/* 00431D3C 0320F809 */ jalr $t9 +/* 00431D40 00000000 */ nop +/* 00431D44 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431D48: +/* 00431D48 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431D4C 10000459 */ b .L00432EB4 +/* 00431D50 90840000 */ lbu $a0, ($a0) +.L00431D54: +/* 00431D54 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431D58 10000456 */ b .L00432EB4 +/* 00431D5C 90840000 */ lbu $a0, ($a0) +.L00431D60: +/* 00431D60 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431D64 10000453 */ b .L00432EB4 +/* 00431D68 90840000 */ lbu $a0, ($a0) +.L00431D6C: +/* 00431D6C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00431D70 2404001D */ li $a0, 29 +/* 00431D74 8EC50024 */ lw $a1, 0x24($s6) +/* 00431D78 0320F809 */ jalr $t9 +/* 00431D7C 00000000 */ nop +/* 00431D80 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431D84 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431D88 1000044A */ b .L00432EB4 +/* 00431D8C 90840000 */ lbu $a0, ($a0) +.L00431D90: +/* 00431D90 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00431D94 2404001E */ li $a0, 30 +/* 00431D98 8EC50024 */ lw $a1, 0x24($s6) +/* 00431D9C 0320F809 */ jalr $t9 +/* 00431DA0 00000000 */ nop +/* 00431DA4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431DA8 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431DAC 10000441 */ b .L00432EB4 +/* 00431DB0 90840000 */ lbu $a0, ($a0) +.L00431DB4: +/* 00431DB4 8F9983E0 */ lw $t9, %call16(eval_flt_int_cvt)($gp) +/* 00431DB8 02C02025 */ move $a0, $s6 +/* 00431DBC 03C02825 */ move $a1, $fp +/* 00431DC0 0320F809 */ jalr $t9 +/* 00431DC4 00000000 */ nop +/* 00431DC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431DCC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00431DD0 10000438 */ b .L00432EB4 +/* 00431DD4 90840000 */ lbu $a0, ($a0) +.L00431DD8: +/* 00431DD8 8EC60000 */ lw $a2, ($s6) +/* 00431DDC 24010049 */ li $at, 73 +/* 00431DE0 90CC0020 */ lbu $t4, 0x20($a2) +/* 00431DE4 15810029 */ bne $t4, $at, .L00431E8C +/* 00431DE8 00000000 */ nop +/* 00431DEC 8CC80030 */ lw $t0, 0x30($a2) +/* 00431DF0 1500000C */ bnez $t0, .L00431E24 +/* 00431DF4 00000000 */ nop +/* 00431DF8 92CB0019 */ lbu $t3, 0x19($s6) +/* 00431DFC 0000F025 */ move $fp, $zero +/* 00431E00 00002025 */ move $a0, $zero +/* 00431E04 3179FF01 */ andi $t9, $t3, 0xff01 +/* 00431E08 A2D90019 */ sb $t9, 0x19($s6) +/* 00431E0C 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 00431E10 96C50014 */ lhu $a1, 0x14($s6) +/* 00431E14 0320F809 */ jalr $t9 +/* 00431E18 00000000 */ nop +/* 00431E1C 10000091 */ b .L00432064 +/* 00431E20 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431E24: +/* 00431E24 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431E28 8EC40004 */ lw $a0, 4($s6) +/* 00431E2C 03C02825 */ move $a1, $fp +/* 00431E30 0320F809 */ jalr $t9 +/* 00431E34 00000000 */ nop +/* 00431E38 8ECE0004 */ lw $t6, 4($s6) +/* 00431E3C 92C30019 */ lbu $v1, 0x19($s6) +/* 00431E40 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431E44 91CF0019 */ lbu $t7, 0x19($t6) +/* 00431E48 00034E00 */ sll $t1, $v1, 0x18 +/* 00431E4C 00095642 */ srl $t2, $t1, 0x19 +/* 00431E50 000F6E00 */ sll $t5, $t7, 0x18 +/* 00431E54 000DC642 */ srl $t8, $t5, 0x19 +/* 00431E58 030A6026 */ xor $t4, $t8, $t2 +/* 00431E5C 000C4640 */ sll $t0, $t4, 0x19 +/* 00431E60 00085E02 */ srl $t3, $t0, 0x18 +/* 00431E64 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 00431E68 01632026 */ xor $a0, $t3, $v1 +/* 00431E6C 96C50014 */ lhu $a1, 0x14($s6) +/* 00431E70 A2C40019 */ sb $a0, 0x19($s6) +/* 00431E74 00042600 */ sll $a0, $a0, 0x18 +/* 00431E78 00042642 */ srl $a0, $a0, 0x19 +/* 00431E7C 0320F809 */ jalr $t9 +/* 00431E80 24A5FFFF */ addiu $a1, $a1, -1 +/* 00431E84 10000077 */ b .L00432064 +/* 00431E88 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431E8C: +/* 00431E8C 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00431E90 0320F809 */ jalr $t9 +/* 00431E94 00000000 */ nop +/* 00431E98 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431E9C 0040B825 */ move $s7, $v0 +/* 00431EA0 8EC40000 */ lw $a0, ($s6) +/* 00431EA4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431EA8 24050048 */ li $a1, 72 +/* 00431EAC 0320F809 */ jalr $t9 +/* 00431EB0 00000000 */ nop +/* 00431EB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431EB8 8EC40000 */ lw $a0, ($s6) +/* 00431EBC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431EC0 0320F809 */ jalr $t9 +/* 00431EC4 00000000 */ nop +/* 00431EC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431ECC 305300FF */ andi $s3, $v0, 0xff +/* 00431ED0 304400FF */ andi $a0, $v0, 0xff +/* 00431ED4 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 00431ED8 0320F809 */ jalr $t9 +/* 00431EDC 00000000 */ nop +/* 00431EE0 1440000F */ bnez $v0, .L00431F20 +/* 00431EE4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431EE8 8F99852C */ lw $t9, %call16(is_available)($gp) +/* 00431EEC 02602025 */ move $a0, $s3 +/* 00431EF0 0320F809 */ jalr $t9 +/* 00431EF4 00000000 */ nop +/* 00431EF8 10400009 */ beqz $v0, .L00431F20 +/* 00431EFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431F00 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 00431F04 327E00FF */ andi $fp, $s3, 0xff +/* 00431F08 02602025 */ move $a0, $s3 +/* 00431F0C 02C02825 */ move $a1, $s6 +/* 00431F10 0320F809 */ jalr $t9 +/* 00431F14 96C60014 */ lhu $a2, 0x14($s6) +/* 00431F18 1000000F */ b .L00431F58 +/* 00431F1C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431F20: +/* 00431F20 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00431F24 02C02025 */ move $a0, $s6 +/* 00431F28 96C50014 */ lhu $a1, 0x14($s6) +/* 00431F2C 0320F809 */ jalr $t9 +/* 00431F30 00000000 */ nop +/* 00431F34 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431F38 92C60021 */ lbu $a2, 0x21($s6) +/* 00431F3C 305E00FF */ andi $fp, $v0, 0xff +/* 00431F40 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00431F44 304400FF */ andi $a0, $v0, 0xff +/* 00431F48 02602825 */ move $a1, $s3 +/* 00431F4C 0320F809 */ jalr $t9 +/* 00431F50 30C6001F */ andi $a2, $a2, 0x1f +/* 00431F54 8FBC00CC */ lw $gp, 0xcc($sp) +.L00431F58: +/* 00431F58 92C30019 */ lbu $v1, 0x19($s6) +/* 00431F5C 8F99822C */ lw $t9, %call16(emit_rill)($gp) +/* 00431F60 2404000D */ li $a0, 13 +/* 00431F64 00037600 */ sll $t6, $v1, 0x18 +/* 00431F68 000E7E42 */ srl $t7, $t6, 0x19 +/* 00431F6C 03CF6826 */ xor $t5, $fp, $t7 +/* 00431F70 000D4E40 */ sll $t1, $t5, 0x19 +/* 00431F74 0009C602 */ srl $t8, $t1, 0x18 +/* 00431F78 03035026 */ xor $t2, $t8, $v1 +/* 00431F7C A2CA0019 */ sb $t2, 0x19($s6) +/* 00431F80 02602825 */ move $a1, $s3 +/* 00431F84 00003025 */ move $a2, $zero +/* 00431F88 0320F809 */ jalr $t9 +/* 00431F8C 02E03825 */ move $a3, $s7 +/* 00431F90 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431F94 8EC40004 */ lw $a0, 4($s6) +/* 00431F98 24050048 */ li $a1, 72 +/* 00431F9C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00431FA0 0320F809 */ jalr $t9 +/* 00431FA4 00000000 */ nop +/* 00431FA8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431FAC 8EC40004 */ lw $a0, 4($s6) +/* 00431FB0 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00431FB4 0320F809 */ jalr $t9 +/* 00431FB8 00000000 */ nop +/* 00431FBC 304C00FF */ andi $t4, $v0, 0xff +/* 00431FC0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431FC4 13CC0022 */ beq $fp, $t4, .L00432050 +/* 00431FC8 305300FF */ andi $s3, $v0, 0xff +/* 00431FCC 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00431FD0 92C60021 */ lbu $a2, 0x21($s6) +/* 00431FD4 03C02025 */ move $a0, $fp +/* 00431FD8 02602825 */ move $a1, $s3 +/* 00431FDC 0320F809 */ jalr $t9 +/* 00431FE0 30C6001F */ andi $a2, $a2, 0x1f +/* 00431FE4 92C40018 */ lbu $a0, 0x18($s6) +/* 00431FE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00431FEC 10800018 */ beqz $a0, .L00432050 +/* 00431FF0 00000000 */ nop +/* 00431FF4 8F9985C4 */ lw $t9, %call16(temp_usage_count)($gp) +/* 00431FF8 0320F809 */ jalr $t9 +/* 00431FFC 00000000 */ nop +/* 00432000 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432004 02C02025 */ move $a0, $s6 +/* 00432008 00402825 */ move $a1, $v0 +/* 0043200C 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00432010 0320F809 */ jalr $t9 +/* 00432014 00000000 */ nop +/* 00432018 92C30019 */ lbu $v1, 0x19($s6) +/* 0043201C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432020 92C40018 */ lbu $a0, 0x18($s6) +/* 00432024 00034600 */ sll $t0, $v1, 0x18 +/* 00432028 00085E42 */ srl $t3, $t0, 0x19 +/* 0043202C 004BC826 */ xor $t9, $v0, $t3 +/* 00432030 00197640 */ sll $t6, $t9, 0x19 +/* 00432034 8F9985BC */ lw $t9, %call16(free_temp)($gp) +/* 00432038 000E7E02 */ srl $t7, $t6, 0x18 +/* 0043203C 01E36826 */ xor $t5, $t7, $v1 +/* 00432040 0320F809 */ jalr $t9 +/* 00432044 A2CD0019 */ sb $t5, 0x19($s6) +/* 00432048 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043204C A2C00018 */ sb $zero, 0x18($s6) +.L00432050: +/* 00432050 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00432054 02E02025 */ move $a0, $s7 +/* 00432058 0320F809 */ jalr $t9 +/* 0043205C 00000000 */ nop +/* 00432060 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432064: +/* 00432064 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432068 10000392 */ b .L00432EB4 +/* 0043206C 90840000 */ lbu $a0, ($a0) +.L00432070: +/* 00432070 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00432074 8EC40000 */ lw $a0, ($s6) +/* 00432078 0320F809 */ jalr $t9 +/* 0043207C 00000000 */ nop +/* 00432080 1040006C */ beqz $v0, .L00432234 +/* 00432084 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432088 8F828A8C */ lw $v0, %got(max_stack)($gp) +/* 0043208C 2401FFFF */ li $at, -1 +/* 00432090 8C420000 */ lw $v0, ($v0) +/* 00432094 1041003E */ beq $v0, $at, .L00432190 +/* 00432098 00000000 */ nop +/* 0043209C 8EC90000 */ lw $t1, ($s6) +/* 004320A0 244AFFF8 */ addiu $t2, $v0, -8 +/* 004320A4 8D380030 */ lw $t8, 0x30($t1) +/* 004320A8 030A082A */ slt $at, $t8, $t2 +/* 004320AC 14200038 */ bnez $at, .L00432190 +/* 004320B0 00000000 */ nop +/* 004320B4 8F8C8B90 */ lw $t4, %got(saved_regs)($gp) +/* 004320B8 8D8C0000 */ lw $t4, ($t4) +/* 004320BC 000C47C0 */ sll $t0, $t4, 0x1f +/* 004320C0 05000011 */ bltz $t0, .L00432108 +/* 004320C4 00000000 */ nop +/* 004320C8 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004320CC 8F998B90 */ lw $t9, %got(saved_regs)($gp) +/* 004320D0 358B0001 */ ori $t3, $t4, 1 +/* 004320D4 AC2B0000 */ sw $t3, ($at) +/* 004320D8 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004320DC 8F390004 */ lw $t9, 4($t9) +/* 004320E0 8F8E8B90 */ lw $t6, %got(saved_regs)($gp) +/* 004320E4 8F8F8A64 */ lw $t7, %got(frame_size)($gp) +/* 004320E8 AC390004 */ sw $t9, 4($at) +/* 004320EC 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004320F0 8DCE0008 */ lw $t6, 8($t6) +/* 004320F4 8DEF0000 */ lw $t7, ($t7) +/* 004320F8 AC2E0008 */ sw $t6, 8($at) +/* 004320FC 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 00432100 25ED0008 */ addiu $t5, $t7, 8 +/* 00432104 AC2D0000 */ sw $t5, ($at) +.L00432108: +/* 00432108 8F9984D8 */ lw $t9, %call16(get_reg)($gp) +/* 0043210C 24040018 */ li $a0, 24 +/* 00432110 00002825 */ move $a1, $zero +/* 00432114 0320F809 */ jalr $t9 +/* 00432118 24060001 */ li $a2, 1 +/* 0043211C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432120 8EC90000 */ lw $t1, ($s6) +/* 00432124 24040029 */ li $a0, 41 +/* 00432128 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0043212C 24050018 */ li $a1, 24 +/* 00432130 00003825 */ move $a3, $zero +/* 00432134 0320F809 */ jalr $t9 +/* 00432138 8D260030 */ lw $a2, 0x30($t1) +/* 0043213C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432140 24040018 */ li $a0, 24 +/* 00432144 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00432148 0320F809 */ jalr $t9 +/* 0043214C 00000000 */ nop +/* 00432150 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432154 24040035 */ li $a0, 53 +/* 00432158 240500C0 */ li $a1, 192 +/* 0043215C 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 00432160 00003025 */ move $a2, $zero +/* 00432164 0320F809 */ jalr $t9 +/* 00432168 00000000 */ nop +/* 0043216C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432170 24040023 */ li $a0, 35 +/* 00432174 00003025 */ move $a2, $zero +/* 00432178 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0043217C 8F8589D4 */ lw $a1, %got(stack_limit_bn)($gp) +/* 00432180 00003825 */ move $a3, $zero +/* 00432184 0320F809 */ jalr $t9 +/* 00432188 8CA50000 */ lw $a1, ($a1) +/* 0043218C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432190: +/* 00432190 8F8A8A74 */ lw $t2, %got(reversed_stack)($gp) +/* 00432194 8ED80000 */ lw $t8, ($s6) +/* 00432198 2405001D */ li $a1, 29 +/* 0043219C 914A0000 */ lbu $t2, ($t2) +/* 004321A0 24040056 */ li $a0, 86 +/* 004321A4 8F070030 */ lw $a3, 0x30($t8) +/* 004321A8 11400008 */ beqz $t2, .L004321CC +/* 004321AC 00000000 */ nop +/* 004321B0 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004321B4 24040002 */ li $a0, 2 +/* 004321B8 2406001D */ li $a2, 29 +/* 004321BC 0320F809 */ jalr $t9 +/* 004321C0 AFA00010 */ sw $zero, 0x10($sp) +/* 004321C4 10000007 */ b .L004321E4 +/* 004321C8 8FBC00CC */ lw $gp, 0xcc($sp) +.L004321CC: +/* 004321CC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004321D0 2405001D */ li $a1, 29 +/* 004321D4 2406001D */ li $a2, 29 +/* 004321D8 0320F809 */ jalr $t9 +/* 004321DC AFA00010 */ sw $zero, 0x10($sp) +/* 004321E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004321E4: +/* 004321E4 8F828A8C */ lw $v0, %got(max_stack)($gp) +/* 004321E8 2401FFFF */ li $at, -1 +/* 004321EC 8C420000 */ lw $v0, ($v0) +/* 004321F0 5041006C */ beql $v0, $at, .L004323A4 +/* 004321F4 93AB0144 */ lbu $t3, 0x144($sp) +/* 004321F8 8EC80000 */ lw $t0, ($s6) +/* 004321FC 244BFFF8 */ addiu $t3, $v0, -8 +/* 00432200 24040057 */ li $a0, 87 +/* 00432204 8D0C0030 */ lw $t4, 0x30($t0) +/* 00432208 00002825 */ move $a1, $zero +/* 0043220C 018B082A */ slt $at, $t4, $t3 +/* 00432210 50200064 */ beql $at, $zero, .L004323A4 +/* 00432214 93AB0144 */ lbu $t3, 0x144($sp) +/* 00432218 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 0043221C 00003025 */ move $a2, $zero +/* 00432220 2407001D */ li $a3, 29 +/* 00432224 0320F809 */ jalr $t9 +/* 00432228 AFA00010 */ sw $zero, 0x10($sp) +/* 0043222C 1000005C */ b .L004323A0 +/* 00432230 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432234: +/* 00432234 8F998A8C */ lw $t9, %got(max_stack)($gp) +/* 00432238 2401FFFF */ li $at, -1 +/* 0043223C 8F390000 */ lw $t9, ($t9) +/* 00432240 13210038 */ beq $t9, $at, .L00432324 +/* 00432244 00000000 */ nop +/* 00432248 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0043224C 8EC40000 */ lw $a0, ($s6) +/* 00432250 24050018 */ li $a1, 24 +/* 00432254 0320F809 */ jalr $t9 +/* 00432258 24130018 */ li $s3, 24 +/* 0043225C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432260 8EC40000 */ lw $a0, ($s6) +/* 00432264 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00432268 0320F809 */ jalr $t9 +/* 0043226C 00000000 */ nop +/* 00432270 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432274 92C60021 */ lbu $a2, 0x21($s6) +/* 00432278 24040018 */ li $a0, 24 +/* 0043227C 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00432280 00402825 */ move $a1, $v0 +/* 00432284 30C6001F */ andi $a2, $a2, 0x1f +/* 00432288 0320F809 */ jalr $t9 +/* 0043228C 00000000 */ nop +/* 00432290 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432294 8F8E8B90 */ lw $t6, %got(saved_regs)($gp) +/* 00432298 8DCE0000 */ lw $t6, ($t6) +/* 0043229C 000E7FC0 */ sll $t7, $t6, 0x1f +/* 004322A0 05E00011 */ bltz $t7, .L004322E8 +/* 004322A4 00000000 */ nop +/* 004322A8 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004322AC 8F898B90 */ lw $t1, %got(saved_regs)($gp) +/* 004322B0 35CD0001 */ ori $t5, $t6, 1 +/* 004322B4 AC2D0000 */ sw $t5, ($at) +/* 004322B8 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004322BC 8D290004 */ lw $t1, 4($t1) +/* 004322C0 8F988B90 */ lw $t8, %got(saved_regs)($gp) +/* 004322C4 8F8A8A64 */ lw $t2, %got(frame_size)($gp) +/* 004322C8 AC290004 */ sw $t1, 4($at) +/* 004322CC 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 004322D0 8F180008 */ lw $t8, 8($t8) +/* 004322D4 8D4A0000 */ lw $t2, ($t2) +/* 004322D8 AC380008 */ sw $t8, 8($at) +/* 004322DC 8F818A64 */ lw $at, %got(frame_size)($gp) +/* 004322E0 25480008 */ addiu $t0, $t2, 8 +/* 004322E4 AC280000 */ sw $t0, ($at) +.L004322E8: +/* 004322E8 8F99824C */ lw $t9, %call16(emit_regmask)($gp) +/* 004322EC 24040035 */ li $a0, 53 +/* 004322F0 240500C0 */ li $a1, 192 +/* 004322F4 0320F809 */ jalr $t9 +/* 004322F8 00003025 */ move $a2, $zero +/* 004322FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432300 24040023 */ li $a0, 35 +/* 00432304 00003025 */ move $a2, $zero +/* 00432308 8F998214 */ lw $t9, %call16(emit_a)($gp) +/* 0043230C 8F8589D4 */ lw $a1, %got(stack_limit_bn)($gp) +/* 00432310 00003825 */ move $a3, $zero +/* 00432314 0320F809 */ jalr $t9 +/* 00432318 8CA50000 */ lw $a1, ($a1) +/* 0043231C 1000000D */ b .L00432354 +/* 00432320 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432324: +/* 00432324 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00432328 8EC40000 */ lw $a0, ($s6) +/* 0043232C 24050048 */ li $a1, 72 +/* 00432330 0320F809 */ jalr $t9 +/* 00432334 00000000 */ nop +/* 00432338 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043233C 8EC40000 */ lw $a0, ($s6) +/* 00432340 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00432344 0320F809 */ jalr $t9 +/* 00432348 00000000 */ nop +/* 0043234C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432350 305300FF */ andi $s3, $v0, 0xff +.L00432354: +/* 00432354 8F8C8A74 */ lw $t4, %got(reversed_stack)($gp) +/* 00432358 2405001D */ li $a1, 29 +/* 0043235C 24040056 */ li $a0, 86 +/* 00432360 918C0000 */ lbu $t4, ($t4) +/* 00432364 11800008 */ beqz $t4, .L00432388 +/* 00432368 00000000 */ nop +/* 0043236C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00432370 24040002 */ li $a0, 2 +/* 00432374 2406001D */ li $a2, 29 +/* 00432378 0320F809 */ jalr $t9 +/* 0043237C 02603825 */ move $a3, $s3 +/* 00432380 10000007 */ b .L004323A0 +/* 00432384 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432388: +/* 00432388 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0043238C 2405001D */ li $a1, 29 +/* 00432390 2406001D */ li $a2, 29 +/* 00432394 0320F809 */ jalr $t9 +/* 00432398 02603825 */ move $a3, $s3 +/* 0043239C 8FBC00CC */ lw $gp, 0xcc($sp) +.L004323A0: +/* 004323A0 93AB0144 */ lbu $t3, 0x144($sp) +.L004323A4: +/* 004323A4 11600026 */ beqz $t3, .L00432440 +/* 004323A8 00000000 */ nop +/* 004323AC 8F9989B8 */ lw $t9, %got(isa)($gp) +/* 004323B0 24010001 */ li $at, 1 +/* 004323B4 24040100 */ li $a0, 256 +/* 004323B8 93390000 */ lbu $t9, ($t9) +/* 004323BC 2405001D */ li $a1, 29 +/* 004323C0 17210008 */ bne $t9, $at, .L004323E4 +/* 004323C4 00000000 */ nop +/* 004323C8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004323CC 24060017 */ li $a2, 23 +/* 004323D0 24070009 */ li $a3, 9 +/* 004323D4 0320F809 */ jalr $t9 +/* 004323D8 AFA00010 */ sw $zero, 0x10($sp) +/* 004323DC 10000018 */ b .L00432440 +/* 004323E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004323E4: +/* 004323E4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004323E8 0320F809 */ jalr $t9 +/* 004323EC 00000000 */ nop +/* 004323F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004323F4 0040B825 */ move $s7, $v0 +/* 004323F8 2404000F */ li $a0, 15 +/* 004323FC 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 00432400 2405001D */ li $a1, 29 +/* 00432404 24060017 */ li $a2, 23 +/* 00432408 0320F809 */ jalr $t9 +/* 0043240C 00403825 */ move $a3, $v0 +/* 00432410 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432414 2404001B */ li $a0, 27 +/* 00432418 24050009 */ li $a1, 9 +/* 0043241C 8F99821C */ lw $t9, %call16(emit_i)($gp) +/* 00432420 0320F809 */ jalr $t9 +/* 00432424 00000000 */ nop +/* 00432428 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043242C 02E02025 */ move $a0, $s7 +/* 00432430 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00432434 0320F809 */ jalr $t9 +/* 00432438 00000000 */ nop +/* 0043243C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432440: +/* 00432440 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432444 1000029B */ b .L00432EB4 +/* 00432448 90840000 */ lbu $a0, ($a0) +.L0043244C: +/* 0043244C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00432450 02C02025 */ move $a0, $s6 +/* 00432454 03C02825 */ move $a1, $fp +/* 00432458 0320F809 */ jalr $t9 +/* 0043245C 00000000 */ nop +/* 00432460 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432464 305E00FF */ andi $fp, $v0, 0xff +/* 00432468 03C02825 */ move $a1, $fp +/* 0043246C 8F8F89F4 */ lw $t7, %got(framesz_relocatable)($gp) +/* 00432470 24040002 */ li $a0, 2 +/* 00432474 2406001D */ li $a2, 29 +/* 00432478 91EF0000 */ lbu $t7, ($t7) +/* 0043247C 11E0000B */ beqz $t7, .L004324AC +/* 00432480 00000000 */ nop +/* 00432484 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00432488 8F878ABC */ lw $a3, %got(reloc_arg_build)($gp) +/* 0043248C 24040002 */ li $a0, 2 +/* 00432490 03C02825 */ move $a1, $fp +/* 00432494 2406001D */ li $a2, 29 +/* 00432498 AFA00010 */ sw $zero, 0x10($sp) +/* 0043249C 0320F809 */ jalr $t9 +/* 004324A0 8CE70000 */ lw $a3, ($a3) +/* 004324A4 10000007 */ b .L004324C4 +/* 004324A8 8FBC00CC */ lw $gp, 0xcc($sp) +.L004324AC: +/* 004324AC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004324B0 8F878AB8 */ lw $a3, %got(max_arg_build)($gp) +/* 004324B4 AFA00010 */ sw $zero, 0x10($sp) +/* 004324B8 0320F809 */ jalr $t9 +/* 004324BC 8CE70000 */ lw $a3, ($a3) +/* 004324C0 8FBC00CC */ lw $gp, 0xcc($sp) +.L004324C4: +/* 004324C4 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 004324C8 1000027A */ b .L00432EB4 +/* 004324CC 90840000 */ lbu $a0, ($a0) +.L004324D0: +/* 004324D0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004324D4 8EC40000 */ lw $a0, ($s6) +/* 004324D8 24050048 */ li $a1, 72 +/* 004324DC 0320F809 */ jalr $t9 +/* 004324E0 00000000 */ nop +/* 004324E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004324E8 8EC40000 */ lw $a0, ($s6) +/* 004324EC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004324F0 0320F809 */ jalr $t9 +/* 004324F4 00000000 */ nop +/* 004324F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004324FC 305300FF */ andi $s3, $v0, 0xff +/* 00432500 02603025 */ move $a2, $s3 +/* 00432504 8F8E89F4 */ lw $t6, %got(framesz_relocatable)($gp) +/* 00432508 24040056 */ li $a0, 86 +/* 0043250C 2405001D */ li $a1, 29 +/* 00432510 91CE0000 */ lbu $t6, ($t6) +/* 00432514 11C0000B */ beqz $t6, .L00432544 +/* 00432518 00000000 */ nop +/* 0043251C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00432520 8F878ABC */ lw $a3, %got(reloc_arg_build)($gp) +/* 00432524 24040056 */ li $a0, 86 +/* 00432528 2405001D */ li $a1, 29 +/* 0043252C 02603025 */ move $a2, $s3 +/* 00432530 AFA00010 */ sw $zero, 0x10($sp) +/* 00432534 0320F809 */ jalr $t9 +/* 00432538 8CE70000 */ lw $a3, ($a3) +/* 0043253C 10000007 */ b .L0043255C +/* 00432540 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432544: +/* 00432544 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00432548 8F878AB8 */ lw $a3, %got(max_arg_build)($gp) +/* 0043254C AFA00010 */ sw $zero, 0x10($sp) +/* 00432550 0320F809 */ jalr $t9 +/* 00432554 8CE70000 */ lw $a3, ($a3) +/* 00432558 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043255C: +/* 0043255C 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432560 10000254 */ b .L00432EB4 +/* 00432564 90840000 */ lbu $a0, ($a0) +.L00432568: +/* 00432568 92C70021 */ lbu $a3, 0x21($s6) +/* 0043256C 3C01000C */ lui $at, 0xc +/* 00432570 34218000 */ ori $at, $at, 0x8000 +/* 00432574 30E7001F */ andi $a3, $a3, 0x1f +/* 00432578 2CED0020 */ sltiu $t5, $a3, 0x20 +/* 0043257C 000D4823 */ negu $t1, $t5 +/* 00432580 0121C024 */ and $t8, $t1, $at +/* 00432584 00F85004 */ sllv $t2, $t8, $a3 +/* 00432588 014002B0 */ tge $t2, $zero, 0xa +/* 0043258C 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00432590 00E02825 */ move $a1, $a3 +/* 00432594 0320F809 */ jalr $t9 +/* 00432598 00000000 */ nop +/* 0043259C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004325A0 3055FFFF */ andi $s5, $v0, 0xffff +/* 004325A4 8EC40000 */ lw $a0, ($s6) +/* 004325A8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004325AC 24050048 */ li $a1, 72 +/* 004325B0 0320F809 */ jalr $t9 +/* 004325B4 00000000 */ nop +/* 004325B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004325BC 8EC40004 */ lw $a0, 4($s6) +/* 004325C0 24050048 */ li $a1, 72 +/* 004325C4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004325C8 0320F809 */ jalr $t9 +/* 004325CC 00000000 */ nop +/* 004325D0 92C80020 */ lbu $t0, 0x20($s6) +/* 004325D4 3C016000 */ lui $at, 0x6000 +/* 004325D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004325DC 250CFF80 */ addiu $t4, $t0, -0x80 +/* 004325E0 2D8B0020 */ sltiu $t3, $t4, 0x20 +/* 004325E4 000BC823 */ negu $t9, $t3 +/* 004325E8 03217824 */ and $t7, $t9, $at +/* 004325EC 018F7004 */ sllv $t6, $t7, $t4 +/* 004325F0 05C1000E */ bgez $t6, .L0043262C +/* 004325F4 00000000 */ nop +/* 004325F8 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004325FC 8EC40000 */ lw $a0, ($s6) +/* 00432600 0320F809 */ jalr $t9 +/* 00432604 00000000 */ nop +/* 00432608 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043260C A3A20186 */ sb $v0, 0x186($sp) +/* 00432610 8EC40004 */ lw $a0, 4($s6) +/* 00432614 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00432618 0320F809 */ jalr $t9 +/* 0043261C 00000000 */ nop +/* 00432620 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432624 1000000D */ b .L0043265C +/* 00432628 305300FF */ andi $s3, $v0, 0xff +.L0043262C: +/* 0043262C 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00432630 8EC40000 */ lw $a0, ($s6) +/* 00432634 0320F809 */ jalr $t9 +/* 00432638 00000000 */ nop +/* 0043263C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432640 305300FF */ andi $s3, $v0, 0xff +/* 00432644 8EC40004 */ lw $a0, 4($s6) +/* 00432648 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 0043264C 0320F809 */ jalr $t9 +/* 00432650 00000000 */ nop +/* 00432654 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432658 A3A20186 */ sb $v0, 0x186($sp) +.L0043265C: +/* 0043265C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432660 02A02025 */ move $a0, $s5 +/* 00432664 02602825 */ move $a1, $s3 +/* 00432668 0320F809 */ jalr $t9 +/* 0043266C 93A60186 */ lbu $a2, 0x186($sp) +/* 00432670 92CD0020 */ lbu $t5, 0x20($s6) +/* 00432674 24010085 */ li $at, 133 +/* 00432678 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043267C 15A10002 */ bne $t5, $at, .L00432688 +/* 00432680 24150007 */ li $s5, 7 +/* 00432684 24150008 */ li $s5, 8 +.L00432688: +/* 00432688 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0043268C 0320F809 */ jalr $t9 +/* 00432690 00000000 */ nop +/* 00432694 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432698 0040B825 */ move $s7, $v0 +/* 0043269C 02A02025 */ move $a0, $s5 +/* 004326A0 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 004326A4 00402825 */ move $a1, $v0 +/* 004326A8 0320F809 */ jalr $t9 +/* 004326AC 00000000 */ nop +/* 004326B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004326B4 2404001B */ li $a0, 27 +/* 004326B8 8EC50024 */ lw $a1, 0x24($s6) +/* 004326BC 8F99821C */ lw $t9, %call16(emit_i)($gp) +/* 004326C0 0320F809 */ jalr $t9 +/* 004326C4 00000000 */ nop +/* 004326C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004326CC 02E02025 */ move $a0, $s7 +/* 004326D0 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 004326D4 0320F809 */ jalr $t9 +/* 004326D8 00000000 */ nop +/* 004326DC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004326E0 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 004326E4 100001F3 */ b .L00432EB4 +/* 004326E8 90840000 */ lbu $a0, ($a0) +.L004326EC: +/* 004326EC 8F998530 */ lw $t9, %call16(check_no_used)($gp) +/* 004326F0 0320F809 */ jalr $t9 +/* 004326F4 00000000 */ nop +/* 004326F8 96C90022 */ lhu $t1, 0x22($s6) +/* 004326FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432700 11200009 */ beqz $t1, .L00432728 +/* 00432704 00000000 */ nop +/* 00432708 8F828B90 */ lw $v0, %got(saved_regs)($gp) +/* 0043270C 8C580000 */ lw $t8, ($v0) +/* 00432710 8C480004 */ lw $t0, 4($v0) +/* 00432714 8C4B0008 */ lw $t3, 8($v0) +/* 00432718 370A0001 */ ori $t2, $t8, 1 +/* 0043271C AC4A0000 */ sw $t2, ($v0) +/* 00432720 AC480004 */ sw $t0, 4($v0) +/* 00432724 AC4B0008 */ sw $t3, 8($v0) +.L00432728: +/* 00432728 8F9981FC */ lw $t9, %call16(emit_rfi)($gp) +/* 0043272C 24040164 */ li $a0, 356 +/* 00432730 24050048 */ li $a1, 72 +/* 00432734 0320F809 */ jalr $t9 +/* 00432738 26C60030 */ addiu $a2, $s6, 0x30 +/* 0043273C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432740 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432744 100001DB */ b .L00432EB4 +/* 00432748 90840000 */ lbu $a0, ($a0) +.L0043274C: +/* 0043274C 8F998250 */ lw $t9, %call16(emit_loopno)($gp) +/* 00432750 8EC40024 */ lw $a0, 0x24($s6) +/* 00432754 96C50022 */ lhu $a1, 0x22($s6) +/* 00432758 0320F809 */ jalr $t9 +/* 0043275C 00000000 */ nop +/* 00432760 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432764 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432768 100001D2 */ b .L00432EB4 +/* 0043276C 90840000 */ lbu $a0, ($a0) +.L00432770: +/* 00432770 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00432774 92C50021 */ lbu $a1, 0x21($s6) +/* 00432778 27D0FFE0 */ addiu $s0, $fp, -0x20 +/* 0043277C 0320F809 */ jalr $t9 +/* 00432780 30A5001F */ andi $a1, $a1, 0x1f +/* 00432784 2E190020 */ sltiu $t9, $s0, 0x20 +/* 00432788 00197823 */ negu $t7, $t9 +/* 0043278C 020F6004 */ sllv $t4, $t7, $s0 +/* 00432790 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432794 05800002 */ bltz $t4, .L004327A0 +/* 00432798 3055FFFF */ andi $s5, $v0, 0xffff +/* 0043279C 241E0048 */ li $fp, 72 +.L004327A0: +/* 004327A0 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004327A4 8EC40000 */ lw $a0, ($s6) +/* 004327A8 03C02825 */ move $a1, $fp +/* 004327AC 0320F809 */ jalr $t9 +/* 004327B0 00000000 */ nop +/* 004327B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004327B8 8EC40000 */ lw $a0, ($s6) +/* 004327BC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004327C0 0320F809 */ jalr $t9 +/* 004327C4 00000000 */ nop +/* 004327C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004327CC 305300FF */ andi $s3, $v0, 0xff +/* 004327D0 02C02025 */ move $a0, $s6 +/* 004327D4 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004327D8 03C02825 */ move $a1, $fp +/* 004327DC 0320F809 */ jalr $t9 +/* 004327E0 00000000 */ nop +/* 004327E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004327E8 305E00FF */ andi $fp, $v0, 0xff +/* 004327EC 02A02025 */ move $a0, $s5 +/* 004327F0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004327F4 304500FF */ andi $a1, $v0, 0xff +/* 004327F8 02603025 */ move $a2, $s3 +/* 004327FC 0320F809 */ jalr $t9 +/* 00432800 00000000 */ nop +/* 00432804 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432808 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0043280C 100001A9 */ b .L00432EB4 +/* 00432810 90840000 */ lbu $a0, ($a0) +.L00432814: +/* 00432814 8F998244 */ lw $t9, %call16(emit_dir2)($gp) +/* 00432818 24040032 */ li $a0, 50 +/* 0043281C 00002825 */ move $a1, $zero +/* 00432820 8EC60024 */ lw $a2, 0x24($s6) +/* 00432824 0320F809 */ jalr $t9 +/* 00432828 96C70022 */ lhu $a3, 0x22($s6) +/* 0043282C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432830 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432834 1000019F */ b .L00432EB4 +/* 00432838 90840000 */ lbu $a0, ($a0) +.L0043283C: +/* 0043283C 8F998244 */ lw $t9, %call16(emit_dir2)($gp) +/* 00432840 24040033 */ li $a0, 51 +/* 00432844 00002825 */ move $a1, $zero +/* 00432848 8EC60024 */ lw $a2, 0x24($s6) +/* 0043284C 0320F809 */ jalr $t9 +/* 00432850 96C70022 */ lhu $a3, 0x22($s6) +/* 00432854 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432858 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 0043285C 10000195 */ b .L00432EB4 +/* 00432860 90840000 */ lbu $a0, ($a0) +.L00432864: +/* 00432864 8F998374 */ lw $t9, %call16(eval_2ops)($gp) +/* 00432868 02C02025 */ move $a0, $s6 +/* 0043286C 0320F809 */ jalr $t9 +/* 00432870 00000000 */ nop +/* 00432874 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432878 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0043287C 0320F809 */ jalr $t9 +/* 00432880 00000000 */ nop +/* 00432884 92C70021 */ lbu $a3, 0x21($s6) +/* 00432888 3C01000C */ lui $at, 0xc +/* 0043288C 34218000 */ ori $at, $at, 0x8000 +/* 00432890 30E7001F */ andi $a3, $a3, 0x1f +/* 00432894 2CEE0020 */ sltiu $t6, $a3, 0x20 +/* 00432898 000E6823 */ negu $t5, $t6 +/* 0043289C 01A14824 */ and $t1, $t5, $at +/* 004328A0 00E9C004 */ sllv $t8, $t1, $a3 +/* 004328A4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004328A8 070100BB */ bgez $t8, .L00432B98 +/* 004328AC 0040B825 */ move $s7, $v0 +/* 004328B0 8F8A8898 */ lw $t2, %got(reg_kind_tab)($gp) +/* 004328B4 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 004328B8 00002025 */ move $a0, $zero +/* 004328BC 00EA4021 */ addu $t0, $a3, $t2 +/* 004328C0 91050000 */ lbu $a1, ($t0) +/* 004328C4 0320F809 */ jalr $t9 +/* 004328C8 24060001 */ li $a2, 1 +/* 004328CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004328D0 305400FF */ andi $s4, $v0, 0xff +/* 004328D4 8EC40000 */ lw $a0, ($s6) +/* 004328D8 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004328DC 0320F809 */ jalr $t9 +/* 004328E0 00000000 */ nop +/* 004328E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004328E8 305300FF */ andi $s3, $v0, 0xff +/* 004328EC 8EC40004 */ lw $a0, 4($s6) +/* 004328F0 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004328F4 0320F809 */ jalr $t9 +/* 004328F8 00000000 */ nop +/* 004328FC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432900 A3A20186 */ sb $v0, 0x186($sp) +/* 00432904 02C02025 */ move $a0, $s6 +/* 00432908 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 0043290C 03C02825 */ move $a1, $fp +/* 00432910 0320F809 */ jalr $t9 +/* 00432914 00000000 */ nop +/* 00432918 93AB0186 */ lbu $t3, 0x186($sp) +/* 0043291C 305900FF */ andi $t9, $v0, 0xff +/* 00432920 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432924 1579001C */ bne $t3, $t9, .L00432998 +/* 00432928 305E00FF */ andi $fp, $v0, 0xff +/* 0043292C 8ECF0004 */ lw $t7, 4($s6) +/* 00432930 8F8D8898 */ lw $t5, %got(reg_kind_tab)($gp) +/* 00432934 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 00432938 91EC0021 */ lbu $t4, 0x21($t7) +/* 0043293C 00002025 */ move $a0, $zero +/* 00432940 24060001 */ li $a2, 1 +/* 00432944 318E001F */ andi $t6, $t4, 0x1f +/* 00432948 01CD4821 */ addu $t1, $t6, $t5 +/* 0043294C 0320F809 */ jalr $t9 +/* 00432950 91250000 */ lbu $a1, ($t1) +/* 00432954 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432958 92C50021 */ lbu $a1, 0x21($s6) +/* 0043295C 305200FF */ andi $s2, $v0, 0xff +/* 00432960 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00432964 2404008B */ li $a0, 139 +/* 00432968 30A5001F */ andi $a1, $a1, 0x1f +/* 0043296C 0320F809 */ jalr $t9 +/* 00432970 00000000 */ nop +/* 00432974 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432978 00402025 */ move $a0, $v0 +/* 0043297C 02402825 */ move $a1, $s2 +/* 00432980 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432984 93A60186 */ lbu $a2, 0x186($sp) +/* 00432988 0320F809 */ jalr $t9 +/* 0043298C 00000000 */ nop +/* 00432990 10000002 */ b .L0043299C +/* 00432994 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432998: +/* 00432998 93B20186 */ lbu $s2, 0x186($sp) +.L0043299C: +/* 0043299C 8F998318 */ lw $t9, %call16(fop)($gp) +/* 004329A0 92C50021 */ lbu $a1, 0x21($s6) +/* 004329A4 00002025 */ move $a0, $zero +/* 004329A8 0320F809 */ jalr $t9 +/* 004329AC 30A5001F */ andi $a1, $a1, 0x1f +/* 004329B0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004329B4 3044FFFF */ andi $a0, $v0, 0xffff +/* 004329B8 03C02825 */ move $a1, $fp +/* 004329BC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004329C0 02603025 */ move $a2, $s3 +/* 004329C4 0320F809 */ jalr $t9 +/* 004329C8 00000000 */ nop +/* 004329CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 004329D0 92C40021 */ lbu $a0, 0x21($s6) +/* 004329D4 8F988038 */ lw $t8, %got(RO_1000AA7A)($gp) +/* 004329D8 8F99868C */ lw $t9, %call16(rvalue)($gp) +/* 004329DC 3084001F */ andi $a0, $a0, 0x1f +/* 004329E0 2718AA7A */ addiu $t8, %lo(RO_1000AA7A) # addiu $t8, $t8, -0x5586 +/* 004329E4 8B080000 */ lwl $t0, ($t8) +/* 004329E8 9B080003 */ lwr $t0, 3($t8) +/* 004329EC ABA80004 */ swl $t0, 4($sp) +/* 004329F0 BBA80007 */ swr $t0, 7($sp) +/* 004329F4 8B0A0004 */ lwl $t2, 4($t8) +/* 004329F8 9B0A0007 */ lwr $t2, 7($t8) +/* 004329FC 8FA50004 */ lw $a1, 4($sp) +/* 00432A00 ABAA0008 */ swl $t2, 8($sp) +/* 00432A04 BBAA000B */ swr $t2, 0xb($sp) +/* 00432A08 8B080008 */ lwl $t0, 8($t8) +/* 00432A0C 9B08000B */ lwr $t0, 0xb($t8) +/* 00432A10 8FA60008 */ lw $a2, 8($sp) +/* 00432A14 ABA8000C */ swl $t0, 0xc($sp) +/* 00432A18 BBA8000F */ swr $t0, 0xf($sp) +/* 00432A1C 8B0A000C */ lwl $t2, 0xc($t8) +/* 00432A20 9B0A000F */ lwr $t2, 0xf($t8) +/* 00432A24 8FA7000C */ lw $a3, 0xc($sp) +/* 00432A28 ABAA0010 */ swl $t2, 0x10($sp) +/* 00432A2C BBAA0013 */ swr $t2, 0x13($sp) +/* 00432A30 8B080010 */ lwl $t0, 0x10($t8) +/* 00432A34 9B080013 */ lwr $t0, 0x13($t8) +/* 00432A38 ABA80014 */ swl $t0, 0x14($sp) +/* 00432A3C BBA80017 */ swr $t0, 0x17($sp) +/* 00432A40 8B0A0014 */ lwl $t2, 0x14($t8) +/* 00432A44 9B0A0017 */ lwr $t2, 0x17($t8) +/* 00432A48 ABAA0018 */ swl $t2, 0x18($sp) +/* 00432A4C BBAA001B */ swr $t2, 0x1b($sp) +/* 00432A50 8B080018 */ lwl $t0, 0x18($t8) +/* 00432A54 9B08001B */ lwr $t0, 0x1b($t8) +/* 00432A58 ABA8001C */ swl $t0, 0x1c($sp) +/* 00432A5C BBA8001F */ swr $t0, 0x1f($sp) +/* 00432A60 8B0A001C */ lwl $t2, 0x1c($t8) +/* 00432A64 9B0A001F */ lwr $t2, 0x1f($t8) +/* 00432A68 ABAA0020 */ swl $t2, 0x20($sp) +/* 00432A6C 0320F809 */ jalr $t9 +/* 00432A70 BBAA0023 */ swr $t2, 0x23($sp) +/* 00432A74 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432A78 92C50021 */ lbu $a1, 0x21($s6) +/* 00432A7C 00408825 */ move $s1, $v0 +/* 00432A80 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00432A84 240400FC */ li $a0, 252 +/* 00432A88 30A5001F */ andi $a1, $a1, 0x1f +/* 00432A8C 0320F809 */ jalr $t9 +/* 00432A90 00000000 */ nop +/* 00432A94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432A98 00402025 */ move $a0, $v0 +/* 00432A9C 02802825 */ move $a1, $s4 +/* 00432AA0 8F9981FC */ lw $t9, %call16(emit_rfi)($gp) +/* 00432AA4 26260030 */ addiu $a2, $s1, 0x30 +/* 00432AA8 0320F809 */ jalr $t9 +/* 00432AAC 00000000 */ nop +/* 00432AB0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432AB4 02202025 */ move $a0, $s1 +/* 00432AB8 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00432ABC 0320F809 */ jalr $t9 +/* 00432AC0 00000000 */ nop +/* 00432AC4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432AC8 92C50021 */ lbu $a1, 0x21($s6) +/* 00432ACC 2404004E */ li $a0, 78 +/* 00432AD0 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00432AD4 30A5001F */ andi $a1, $a1, 0x1f +/* 00432AD8 0320F809 */ jalr $t9 +/* 00432ADC 00000000 */ nop +/* 00432AE0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432AE4 3044FFFF */ andi $a0, $v0, 0xffff +/* 00432AE8 02402825 */ move $a1, $s2 +/* 00432AEC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432AF0 02803025 */ move $a2, $s4 +/* 00432AF4 0320F809 */ jalr $t9 +/* 00432AF8 00000000 */ nop +/* 00432AFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432B00 24040007 */ li $a0, 7 +/* 00432B04 02E02825 */ move $a1, $s7 +/* 00432B08 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00432B0C 0320F809 */ jalr $t9 +/* 00432B10 00000000 */ nop +/* 00432B14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432B18 92C50021 */ lbu $a1, 0x21($s6) +/* 00432B1C 2404005E */ li $a0, 94 +/* 00432B20 8F998318 */ lw $t9, %call16(fop)($gp) +/* 00432B24 30A5001F */ andi $a1, $a1, 0x1f +/* 00432B28 0320F809 */ jalr $t9 +/* 00432B2C 00000000 */ nop +/* 00432B30 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432B34 92CB0021 */ lbu $t3, 0x21($s6) +/* 00432B38 3055FFFF */ andi $s5, $v0, 0xffff +/* 00432B3C 8F8F8898 */ lw $t7, %got(reg_kind_tab)($gp) +/* 00432B40 3179001F */ andi $t9, $t3, 0x1f +/* 00432B44 02802025 */ move $a0, $s4 +/* 00432B48 032F6021 */ addu $t4, $t9, $t7 +/* 00432B4C 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00432B50 91850000 */ lbu $a1, ($t4) +/* 00432B54 0320F809 */ jalr $t9 +/* 00432B58 00000000 */ nop +/* 00432B5C 93AE0186 */ lbu $t6, 0x186($sp) +/* 00432B60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432B64 124E005B */ beq $s2, $t6, .L00432CD4 +/* 00432B68 00000000 */ nop +/* 00432B6C 8ECD0004 */ lw $t5, 4($s6) +/* 00432B70 8F8A8898 */ lw $t2, %got(reg_kind_tab)($gp) +/* 00432B74 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00432B78 91A90021 */ lbu $t1, 0x21($t5) +/* 00432B7C 02402025 */ move $a0, $s2 +/* 00432B80 3138001F */ andi $t8, $t1, 0x1f +/* 00432B84 030A4021 */ addu $t0, $t8, $t2 +/* 00432B88 0320F809 */ jalr $t9 +/* 00432B8C 91050000 */ lbu $a1, ($t0) +/* 00432B90 10000050 */ b .L00432CD4 +/* 00432B94 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432B98: +/* 00432B98 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00432B9C 8EC40000 */ lw $a0, ($s6) +/* 00432BA0 241500DB */ li $s5, 219 +/* 00432BA4 0320F809 */ jalr $t9 +/* 00432BA8 00000000 */ nop +/* 00432BAC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432BB0 305300FF */ andi $s3, $v0, 0xff +/* 00432BB4 8EC40004 */ lw $a0, 4($s6) +/* 00432BB8 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00432BBC 0320F809 */ jalr $t9 +/* 00432BC0 00000000 */ nop +/* 00432BC4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432BC8 A3A20186 */ sb $v0, 0x186($sp) +/* 00432BCC 02C02025 */ move $a0, $s6 +/* 00432BD0 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00432BD4 03C02825 */ move $a1, $fp +/* 00432BD8 0320F809 */ jalr $t9 +/* 00432BDC 00000000 */ nop +/* 00432BE0 93AB0186 */ lbu $t3, 0x186($sp) +/* 00432BE4 305900FF */ andi $t9, $v0, 0xff +/* 00432BE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432BEC 15790010 */ bne $t3, $t9, .L00432C30 +/* 00432BF0 305E00FF */ andi $fp, $v0, 0xff +/* 00432BF4 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00432BF8 00002025 */ move $a0, $zero +/* 00432BFC 24050001 */ li $a1, 1 +/* 00432C00 0320F809 */ jalr $t9 +/* 00432C04 00000000 */ nop +/* 00432C08 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432C0C 305200FF */ andi $s2, $v0, 0xff +/* 00432C10 24040031 */ li $a0, 49 +/* 00432C14 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 00432C18 304500FF */ andi $a1, $v0, 0xff +/* 00432C1C 93A60186 */ lbu $a2, 0x186($sp) +/* 00432C20 0320F809 */ jalr $t9 +/* 00432C24 02C03825 */ move $a3, $s6 +/* 00432C28 10000002 */ b .L00432C34 +/* 00432C2C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432C30: +/* 00432C30 93B20186 */ lbu $s2, 0x186($sp) +.L00432C34: +/* 00432C34 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 00432C38 00002025 */ move $a0, $zero +/* 00432C3C 91EF0000 */ lbu $t7, ($t7) +/* 00432C40 15E00008 */ bnez $t7, .L00432C64 +/* 00432C44 00000000 */ nop +/* 00432C48 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 00432C4C 03C02825 */ move $a1, $fp +/* 00432C50 02603025 */ move $a2, $s3 +/* 00432C54 0320F809 */ jalr $t9 +/* 00432C58 02C03825 */ move $a3, $s6 +/* 00432C5C 10000007 */ b .L00432C7C +/* 00432C60 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432C64: +/* 00432C64 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432C68 24040167 */ li $a0, 359 +/* 00432C6C 03C02825 */ move $a1, $fp +/* 00432C70 0320F809 */ jalr $t9 +/* 00432C74 02603025 */ move $a2, $s3 +/* 00432C78 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432C7C: +/* 00432C7C 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00432C80 2404000E */ li $a0, 14 +/* 00432C84 02402825 */ move $a1, $s2 +/* 00432C88 00003025 */ move $a2, $zero +/* 00432C8C 00003825 */ move $a3, $zero +/* 00432C90 AFB70010 */ sw $s7, 0x10($sp) +/* 00432C94 0320F809 */ jalr $t9 +/* 00432C98 AFB60014 */ sw $s6, 0x14($sp) +/* 00432C9C 96CC0022 */ lhu $t4, 0x22($s6) +/* 00432CA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432CA4 93AD0186 */ lbu $t5, 0x186($sp) +/* 00432CA8 318E0002 */ andi $t6, $t4, 2 +/* 00432CAC 11C00002 */ beqz $t6, .L00432CB8 +/* 00432CB0 00000000 */ nop +/* 00432CB4 2415003D */ li $s5, 61 +.L00432CB8: +/* 00432CB8 124D0006 */ beq $s2, $t5, .L00432CD4 +/* 00432CBC 00000000 */ nop +/* 00432CC0 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00432CC4 02402025 */ move $a0, $s2 +/* 00432CC8 0320F809 */ jalr $t9 +/* 00432CCC 00000000 */ nop +/* 00432CD0 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432CD4: +/* 00432CD4 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 00432CD8 02A02025 */ move $a0, $s5 +/* 00432CDC 91290000 */ lbu $t1, ($t1) +/* 00432CE0 55200009 */ bnel $t1, $zero, .L00432D08 +/* 00432CE4 96D80022 */ lhu $t8, 0x22($s6) +/* 00432CE8 8F9982D8 */ lw $t9, %call16(dw_emit_rr)($gp) +/* 00432CEC 03C02825 */ move $a1, $fp +/* 00432CF0 03C03025 */ move $a2, $fp +/* 00432CF4 0320F809 */ jalr $t9 +/* 00432CF8 02C03825 */ move $a3, $s6 +/* 00432CFC 10000012 */ b .L00432D48 +/* 00432D00 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432D04 96D80022 */ lhu $t8, 0x22($s6) +.L00432D08: +/* 00432D08 330A0002 */ andi $t2, $t8, 2 +/* 00432D0C 11400008 */ beqz $t2, .L00432D30 +/* 00432D10 00000000 */ nop +/* 00432D14 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432D18 24040168 */ li $a0, 360 +/* 00432D1C 03C02825 */ move $a1, $fp +/* 00432D20 0320F809 */ jalr $t9 +/* 00432D24 03C03025 */ move $a2, $fp +/* 00432D28 10000007 */ b .L00432D48 +/* 00432D2C 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432D30: +/* 00432D30 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00432D34 24040169 */ li $a0, 361 +/* 00432D38 03C02825 */ move $a1, $fp +/* 00432D3C 0320F809 */ jalr $t9 +/* 00432D40 03C03025 */ move $a2, $fp +/* 00432D44 8FBC00CC */ lw $gp, 0xcc($sp) +.L00432D48: +/* 00432D48 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00432D4C 02E02025 */ move $a0, $s7 +/* 00432D50 0320F809 */ jalr $t9 +/* 00432D54 00000000 */ nop +/* 00432D58 92C30019 */ lbu $v1, 0x19($s6) +/* 00432D5C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432D60 00034600 */ sll $t0, $v1, 0x18 +/* 00432D64 00085E42 */ srl $t3, $t0, 0x19 +/* 00432D68 03CBC826 */ xor $t9, $fp, $t3 +/* 00432D6C 00197E40 */ sll $t7, $t9, 0x19 +/* 00432D70 000F6602 */ srl $t4, $t7, 0x18 +/* 00432D74 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432D78 01837026 */ xor $t6, $t4, $v1 +/* 00432D7C A2CE0019 */ sb $t6, 0x19($s6) +/* 00432D80 1000004C */ b .L00432EB4 +/* 00432D84 90840000 */ lbu $a0, ($a0) +.L00432D88: +/* 00432D88 8F8D8038 */ lw $t5, %got(RO_1000AA2A)($gp) +/* 00432D8C 24040004 */ li $a0, 4 +/* 00432D90 24051779 */ li $a1, 6009 +/* 00432D94 25ADAA2A */ addiu $t5, %lo(RO_1000AA2A) # addiu $t5, $t5, -0x55d6 +/* 00432D98 25A80048 */ addiu $t0, $t5, 0x48 +/* 00432D9C 03A05025 */ move $t2, $sp +.L00432DA0: +/* 00432DA0 89B80000 */ lwl $t8, ($t5) +/* 00432DA4 99B80003 */ lwr $t8, 3($t5) +/* 00432DA8 25AD000C */ addiu $t5, $t5, 0xc +/* 00432DAC 254A000C */ addiu $t2, $t2, 0xc +/* 00432DB0 A958FFFC */ swl $t8, -4($t2) +/* 00432DB4 B958FFFF */ swr $t8, -1($t2) +/* 00432DB8 89A9FFF8 */ lwl $t1, -8($t5) +/* 00432DBC 99A9FFFB */ lwr $t1, -5($t5) +/* 00432DC0 A9490000 */ swl $t1, ($t2) +/* 00432DC4 B9490003 */ swr $t1, 3($t2) +/* 00432DC8 89B8FFFC */ lwl $t8, -4($t5) +/* 00432DCC 99B8FFFF */ lwr $t8, -1($t5) +/* 00432DD0 A9580004 */ swl $t8, 4($t2) +/* 00432DD4 15A8FFF2 */ bne $t5, $t0, .L00432DA0 +/* 00432DD8 B9580007 */ swr $t8, 7($t2) +/* 00432DDC 89B80000 */ lwl $t8, ($t5) +/* 00432DE0 99B80003 */ lwr $t8, 3($t5) +/* 00432DE4 8F8B8038 */ lw $t3, %got(RO_1000A9DA)($gp) +/* 00432DE8 03A06025 */ move $t4, $sp +/* 00432DEC A9580008 */ swl $t8, 8($t2) +/* 00432DF0 B958000B */ swr $t8, 0xb($t2) +/* 00432DF4 89A90004 */ lwl $t1, 4($t5) +/* 00432DF8 99A90007 */ lwr $t1, 7($t5) +/* 00432DFC 256BA9DA */ addiu $t3, %lo(RO_1000A9DA) # addiu $t3, $t3, -0x5626 +/* 00432E00 256E0048 */ addiu $t6, $t3, 0x48 +/* 00432E04 A949000C */ swl $t1, 0xc($t2) +/* 00432E08 B949000F */ swr $t1, 0xf($t2) +.L00432E0C: +/* 00432E0C 896F0000 */ lwl $t7, ($t3) +/* 00432E10 996F0003 */ lwr $t7, 3($t3) +/* 00432E14 256B000C */ addiu $t3, $t3, 0xc +/* 00432E18 258C000C */ addiu $t4, $t4, 0xc +/* 00432E1C A98F004C */ swl $t7, 0x4c($t4) +/* 00432E20 B98F004F */ swr $t7, 0x4f($t4) +/* 00432E24 8979FFF8 */ lwl $t9, -8($t3) +/* 00432E28 9979FFFB */ lwr $t9, -5($t3) +/* 00432E2C A9990050 */ swl $t9, 0x50($t4) +/* 00432E30 B9990053 */ swr $t9, 0x53($t4) +/* 00432E34 896FFFFC */ lwl $t7, -4($t3) +/* 00432E38 996FFFFF */ lwr $t7, -1($t3) +/* 00432E3C A98F0054 */ swl $t7, 0x54($t4) +/* 00432E40 156EFFF2 */ bne $t3, $t6, .L00432E0C +/* 00432E44 B98F0057 */ swr $t7, 0x57($t4) +/* 00432E48 896F0000 */ lwl $t7, ($t3) +/* 00432E4C 996F0003 */ lwr $t7, 3($t3) +/* 00432E50 A98F0058 */ swl $t7, 0x58($t4) +/* 00432E54 B98F005B */ swr $t7, 0x5b($t4) +/* 00432E58 89790004 */ lwl $t9, 4($t3) +/* 00432E5C 99790007 */ lwr $t9, 7($t3) +/* 00432E60 A999005C */ swl $t9, 0x5c($t4) +/* 00432E64 B999005F */ swr $t9, 0x5f($t4) +/* 00432E68 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00432E6C 8FA7000C */ lw $a3, 0xc($sp) +/* 00432E70 8FA60008 */ lw $a2, 8($sp) +/* 00432E74 0320F809 */ jalr $t9 +/* 00432E78 00000000 */ nop +/* 00432E7C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432E80 02C02825 */ move $a1, $s6 +/* 00432E84 8F998644 */ lw $t9, %call16(print_node)($gp) +/* 00432E88 8F848950 */ lw $a0, %got(err)($gp) +/* 00432E8C 0320F809 */ jalr $t9 +/* 00432E90 00000000 */ nop +/* 00432E94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432E98 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 00432E9C 8F848950 */ lw $a0, %got(err)($gp) +/* 00432EA0 0320F809 */ jalr $t9 +/* 00432EA4 8C840000 */ lw $a0, ($a0) +/* 00432EA8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432EAC 8F8489E0 */ lw $a0, %got(debug_ugen)($gp) +/* 00432EB0 90840000 */ lbu $a0, ($a0) +.L00432EB4: +/* 00432EB4 10800052 */ beqz $a0, .L00433000 +/* 00432EB8 2407000F */ li $a3, 15 +/* 00432EBC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00432EC0 8F848950 */ lw $a0, %got(err)($gp) +/* 00432EC4 8F858038 */ lw $a1, %got(RO_1000A9CB)($gp) +/* 00432EC8 2406000F */ li $a2, 15 +/* 00432ECC 8C840000 */ lw $a0, ($a0) +/* 00432ED0 0320F809 */ jalr $t9 +/* 00432ED4 24A5A9CB */ addiu $a1, %lo(RO_1000A9CB) # addiu $a1, $a1, -0x5635 +/* 00432ED8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432EDC 2406000C */ li $a2, 12 +/* 00432EE0 2407000A */ li $a3, 10 +/* 00432EE4 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 00432EE8 8F848950 */ lw $a0, %got(err)($gp) +/* 00432EEC 8F858968 */ lw $a1, %got(current_line)($gp) +/* 00432EF0 8C840000 */ lw $a0, ($a0) +/* 00432EF4 0320F809 */ jalr $t9 +/* 00432EF8 8CA50000 */ lw $a1, ($a1) +/* 00432EFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432F00 24060007 */ li $a2, 7 +/* 00432F04 24070007 */ li $a3, 7 +/* 00432F08 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00432F0C 8F848950 */ lw $a0, %got(err)($gp) +/* 00432F10 8F858038 */ lw $a1, %got(RO_1000A9C4)($gp) +/* 00432F14 8C840000 */ lw $a0, ($a0) +/* 00432F18 0320F809 */ jalr $t9 +/* 00432F1C 24A5A9C4 */ addiu $a1, %lo(RO_1000A9C4) # addiu $a1, $a1, -0x563c +/* 00432F20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432F24 2408000A */ li $t0, 10 +/* 00432F28 AFA80010 */ sw $t0, 0x10($sp) +/* 00432F2C 8F908950 */ lw $s0, %got(err)($gp) +/* 00432F30 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00432F34 8F868038 */ lw $a2, %got(D_100159F8)($gp) +/* 00432F38 8E100000 */ lw $s0, ($s0) +/* 00432F3C 92C50020 */ lbu $a1, 0x20($s6) +/* 00432F40 00003825 */ move $a3, $zero +/* 00432F44 24C659F8 */ addiu $a2, %lo(D_100159F8) # addiu $a2, $a2, 0x59f8 +/* 00432F48 0320F809 */ jalr $t9 +/* 00432F4C 02002025 */ move $a0, $s0 +/* 00432F50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432F54 02002025 */ move $a0, $s0 +/* 00432F58 24060007 */ li $a2, 7 +/* 00432F5C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00432F60 8F858038 */ lw $a1, %got(RO_1000A9BD)($gp) +/* 00432F64 24070007 */ li $a3, 7 +/* 00432F68 0320F809 */ jalr $t9 +/* 00432F6C 24A5A9BD */ addiu $a1, %lo(RO_1000A9BD) # addiu $a1, $a1, -0x5643 +/* 00432F70 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432F74 92C50019 */ lbu $a1, 0x19($s6) +/* 00432F78 240D000A */ li $t5, 10 +/* 00432F7C 8F908950 */ lw $s0, %got(err)($gp) +/* 00432F80 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00432F84 8F868038 */ lw $a2, %got(D_10015ED8)($gp) +/* 00432F88 8E100000 */ lw $s0, ($s0) +/* 00432F8C 00052E00 */ sll $a1, $a1, 0x18 +/* 00432F90 00052E42 */ srl $a1, $a1, 0x19 +/* 00432F94 AFAD0010 */ sw $t5, 0x10($sp) +/* 00432F98 00003825 */ move $a3, $zero +/* 00432F9C 24C65ED8 */ addiu $a2, %lo(D_10015ED8) # addiu $a2, $a2, 0x5ed8 +/* 00432FA0 0320F809 */ jalr $t9 +/* 00432FA4 02002025 */ move $a0, $s0 +/* 00432FA8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432FAC 02002025 */ move $a0, $s0 +/* 00432FB0 2406000D */ li $a2, 13 +/* 00432FB4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00432FB8 8F858038 */ lw $a1, %got(RO_1000A9B0)($gp) +/* 00432FBC 2407000D */ li $a3, 13 +/* 00432FC0 0320F809 */ jalr $t9 +/* 00432FC4 24A5A9B0 */ addiu $a1, %lo(RO_1000A9B0) # addiu $a1, $a1, -0x5650 +/* 00432FC8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432FCC 96C50014 */ lhu $a1, 0x14($s6) +/* 00432FD0 2406000C */ li $a2, 12 +/* 00432FD4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00432FD8 8F848950 */ lw $a0, %got(err)($gp) +/* 00432FDC 2407000A */ li $a3, 10 +/* 00432FE0 0320F809 */ jalr $t9 +/* 00432FE4 8C840000 */ lw $a0, ($a0) +/* 00432FE8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 00432FEC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00432FF0 8F848950 */ lw $a0, %got(err)($gp) +/* 00432FF4 0320F809 */ jalr $t9 +/* 00432FF8 8C840000 */ lw $a0, ($a0) +/* 00432FFC 8FBC00CC */ lw $gp, 0xcc($sp) +.L00433000: +/* 00433000 8ED60008 */ lw $s6, 8($s6) +/* 00433004 56C0E3A8 */ bnel $s6, $zero, .L0042BEA8 +/* 00433008 92C40020 */ lbu $a0, 0x20($s6) +.L0043300C: +/* 0043300C 8FBF00D4 */ lw $ra, 0xd4($sp) +.L00433010: +/* 00433010 8FB000AC */ lw $s0, 0xac($sp) +/* 00433014 8FB100B0 */ lw $s1, 0xb0($sp) +/* 00433018 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0043301C 8FB300B8 */ lw $s3, 0xb8($sp) +/* 00433020 8FB400BC */ lw $s4, 0xbc($sp) +/* 00433024 8FB500C0 */ lw $s5, 0xc0($sp) +/* 00433028 8FB600C4 */ lw $s6, 0xc4($sp) +/* 0043302C 8FB700C8 */ lw $s7, 0xc8($sp) +/* 00433030 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 00433034 03E00008 */ jr $ra +/* 00433038 27BD0188 */ addiu $sp, $sp, 0x188 + .type eval, @function + .size eval, .-eval + .end eval + +glabel init_eval + .ent init_eval + # 0044BF18 main +/* 0043303C 3C1C0FBF */ .cpload $t9 +/* 00433040 279CCA14 */ +/* 00433044 0399E021 */ +/* 00433048 8F818AAC */ lw $at, %got(first_loc)($gp) +/* 0043304C 240E0001 */ li $t6, 1 +/* 00433050 A02E0000 */ sb $t6, ($at) +/* 00433054 8F818AB0 */ lw $at, %got(first_file_number)($gp) +/* 00433058 AC200000 */ sw $zero, ($at) +/* 0043305C 8F818AB4 */ lw $at, %got(first_line_number)($gp) +/* 00433060 AC200000 */ sw $zero, ($at) +/* 00433064 8F818AA8 */ lw $at, %got(generate_again)($gp) +/* 00433068 03E00008 */ jr $ra +/* 0043306C A0200000 */ sb $zero, ($at) + .type init_eval, @function + .size init_eval, .-init_eval + .end init_eval + +glabel load_fp_literal + .ent load_fp_literal + # 0042BDAC eval +/* 00433070 3C1C0FBF */ .cpload $t9 +/* 00433074 279CC9E0 */ +/* 00433078 0399E021 */ +/* 0043307C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00433080 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00433084 AFBF001C */ sw $ra, 0x1c($sp) +/* 00433088 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043308C AFA40020 */ sw $a0, 0x20($sp) +/* 00433090 0320F809 */ jalr $t9 +/* 00433094 AFA50024 */ sw $a1, 0x24($sp) +/* 00433098 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043309C 8FAE0020 */ lw $t6, 0x20($sp) +/* 004330A0 A3A20027 */ sb $v0, 0x27($sp) +/* 004330A4 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 004330A8 91C50021 */ lbu $a1, 0x21($t6) +/* 004330AC 240400FC */ li $a0, 252 +/* 004330B0 0320F809 */ jalr $t9 +/* 004330B4 30A5001F */ andi $a1, $a1, 0x1f +/* 004330B8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004330BC 8FA60020 */ lw $a2, 0x20($sp) +/* 004330C0 00402025 */ move $a0, $v0 +/* 004330C4 8F9981FC */ lw $t9, %call16(emit_rfi)($gp) +/* 004330C8 93A50027 */ lbu $a1, 0x27($sp) +/* 004330CC 24C60030 */ addiu $a2, $a2, 0x30 +/* 004330D0 0320F809 */ jalr $t9 +/* 004330D4 00000000 */ nop +/* 004330D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 004330DC 8FBC0018 */ lw $gp, 0x18($sp) +/* 004330E0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 004330E4 03E00008 */ jr $ra +/* 004330E8 00000000 */ nop + .type load_fp_literal, @function + .size load_fp_literal, .-load_fp_literal + .end load_fp_literal + +glabel eval_int_flt_cvt + .ent eval_int_flt_cvt + # 0042BDAC eval +/* 004330EC 3C1C0FBF */ .cpload $t9 +/* 004330F0 279CC964 */ +/* 004330F4 0399E021 */ +/* 004330F8 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 004330FC 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00433100 AFB0002C */ sw $s0, 0x2c($sp) +/* 00433104 00808025 */ move $s0, $a0 +/* 00433108 AFBF0034 */ sw $ra, 0x34($sp) +/* 0043310C AFBC0030 */ sw $gp, 0x30($sp) +/* 00433110 AFA5006C */ sw $a1, 0x6c($sp) +/* 00433114 8C840000 */ lw $a0, ($a0) +/* 00433118 0320F809 */ jalr $t9 +/* 0043311C 24050048 */ li $a1, 72 +/* 00433120 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433124 92050021 */ lbu $a1, 0x21($s0) +/* 00433128 92040028 */ lbu $a0, 0x28($s0) +/* 0043312C 8F9983C8 */ lw $t9, %call16(cvt_tab)($gp) +/* 00433130 30A5001F */ andi $a1, $a1, 0x1f +/* 00433134 0320F809 */ jalr $t9 +/* 00433138 00000000 */ nop +/* 0043313C 8E040000 */ lw $a0, ($s0) +/* 00433140 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433144 A7A20066 */ sh $v0, 0x66($sp) +/* 00433148 90830019 */ lbu $v1, 0x19($a0) +/* 0043314C 00031E00 */ sll $v1, $v1, 0x18 +/* 00433150 00031E42 */ srl $v1, $v1, 0x19 +/* 00433154 306300FF */ andi $v1, $v1, 0xff +/* 00433158 2C6E0020 */ sltiu $t6, $v1, 0x20 +/* 0043315C 000E7823 */ negu $t7, $t6 +/* 00433160 006FC004 */ sllv $t8, $t7, $v1 +/* 00433164 030002B0 */ tge $t8, $zero, 0xa +/* 00433168 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 0043316C A3A30065 */ sb $v1, 0x65($sp) +/* 00433170 0320F809 */ jalr $t9 +/* 00433174 00000000 */ nop +/* 00433178 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043317C 02002025 */ move $a0, $s0 +/* 00433180 93A5006F */ lbu $a1, 0x6f($sp) +/* 00433184 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00433188 A3A20064 */ sb $v0, 0x64($sp) +/* 0043318C 0320F809 */ jalr $t9 +/* 00433190 00000000 */ nop +/* 00433194 304300FF */ andi $v1, $v0, 0xff +/* 00433198 2479FFE0 */ addiu $t9, $v1, -0x20 +/* 0043319C 2F280020 */ sltiu $t0, $t9, 0x20 +/* 004331A0 00084823 */ negu $t1, $t0 +/* 004331A4 03295004 */ sllv $t2, $t1, $t9 +/* 004331A8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004331AC 93A60064 */ lbu $a2, 0x64($sp) +/* 004331B0 05410003 */ bgez $t2, .L004331C0 +/* 004331B4 A3A2006F */ sb $v0, 0x6f($sp) +/* 004331B8 10000002 */ b .L004331C4 +/* 004331BC A3A30062 */ sb $v1, 0x62($sp) +.L004331C0: +/* 004331C0 A3A60062 */ sb $a2, 0x62($sp) +.L004331C4: +/* 004331C4 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004331C8 97A40066 */ lhu $a0, 0x66($sp) +/* 004331CC 93A50062 */ lbu $a1, 0x62($sp) +/* 004331D0 0320F809 */ jalr $t9 +/* 004331D4 00000000 */ nop +/* 004331D8 92030028 */ lbu $v1, 0x28($s0) +/* 004331DC 3C010600 */ lui $at, 0x600 +/* 004331E0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004331E4 2C6B0020 */ sltiu $t3, $v1, 0x20 +/* 004331E8 000B6023 */ negu $t4, $t3 +/* 004331EC 01816824 */ and $t5, $t4, $at +/* 004331F0 006D7004 */ sllv $t6, $t5, $v1 +/* 004331F4 05C10003 */ bgez $t6, .L00433204 +/* 004331F8 24050001 */ li $a1, 1 +/* 004331FC 10000001 */ b .L00433204 +/* 00433200 00002825 */ move $a1, $zero +.L00433204: +/* 00433204 8E040000 */ lw $a0, ($s0) +/* 00433208 24010049 */ li $at, 73 +/* 0043320C 24060001 */ li $a2, 1 +/* 00433210 908F0020 */ lbu $t7, 0x20($a0) +/* 00433214 15E10022 */ bne $t7, $at, .L004332A0 +/* 00433218 24010008 */ li $at, 8 +/* 0043321C 5461000A */ bnel $v1, $at, .L00433248 +/* 00433220 24010007 */ li $at, 7 +/* 00433224 8C820030 */ lw $v0, 0x30($a0) +/* 00433228 3C017FFF */ lui $at, 0x7fff +/* 0043322C 3421FFFF */ ori $at, $at, 0xffff +/* 00433230 18400004 */ blez $v0, .L00433244 +/* 00433234 0041082A */ slt $at, $v0, $at +/* 00433238 50200003 */ beql $at, $zero, .L00433248 +/* 0043323C 24010007 */ li $at, 7 +/* 00433240 00002825 */ move $a1, $zero +.L00433244: +/* 00433244 24010007 */ li $at, 7 +.L00433248: +/* 00433248 14610015 */ bne $v1, $at, .L004332A0 +/* 0043324C 00000000 */ nop +/* 00433250 8C980030 */ lw $t8, 0x30($a0) +/* 00433254 8C990034 */ lw $t9, 0x34($a0) +/* 00433258 AFB80038 */ sw $t8, 0x38($sp) +/* 0043325C 03004025 */ move $t0, $t8 +/* 00433260 AFB9003C */ sw $t9, 0x3c($sp) +/* 00433264 0700000E */ bltz $t8, .L004332A0 +/* 00433268 03204825 */ move $t1, $t9 +/* 0043326C 1F000003 */ bgtz $t8, .L0043327C +/* 00433270 00000000 */ nop +/* 00433274 1320000A */ beqz $t9, .L004332A0 +/* 00433278 00000000 */ nop +.L0043327C: +/* 0043327C 1D000008 */ bgtz $t0, .L004332A0 +/* 00433280 00000000 */ nop +/* 00433284 05000005 */ bltz $t0, .L0043329C +/* 00433288 3C017FFF */ lui $at, 0x7fff +/* 0043328C 3421FFFF */ ori $at, $at, 0xffff +/* 00433290 0121082B */ sltu $at, $t1, $at +/* 00433294 10200002 */ beqz $at, .L004332A0 +/* 00433298 00000000 */ nop +.L0043329C: +/* 0043329C 00002825 */ move $a1, $zero +.L004332A0: +/* 004332A0 10A00071 */ beqz $a1, .L00433468 +/* 004332A4 93AA0056 */ lbu $t2, 0x56($sp) +/* 004332A8 8F8B8898 */ lw $t3, %got(reg_kind_tab)($gp) +/* 004332AC 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 004332B0 00002025 */ move $a0, $zero +/* 004332B4 014B6021 */ addu $t4, $t2, $t3 +/* 004332B8 0320F809 */ jalr $t9 +/* 004332BC 91850000 */ lbu $a1, ($t4) +/* 004332C0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004332C4 A3A20063 */ sb $v0, 0x63($sp) +/* 004332C8 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004332CC 0320F809 */ jalr $t9 +/* 004332D0 00000000 */ nop +/* 004332D4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004332D8 AFA20058 */ sw $v0, 0x58($sp) +/* 004332DC 2404000E */ li $a0, 14 +/* 004332E0 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 004332E4 93A50065 */ lbu $a1, 0x65($sp) +/* 004332E8 00003025 */ move $a2, $zero +/* 004332EC 0320F809 */ jalr $t9 +/* 004332F0 00403825 */ move $a3, $v0 +/* 004332F4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004332F8 92040021 */ lbu $a0, 0x21($s0) +/* 004332FC 8F8D8038 */ lw $t5, %got(RO_1000AFD4)($gp) +/* 00433300 8F99868C */ lw $t9, %call16(rvalue)($gp) +/* 00433304 3084001F */ andi $a0, $a0, 0x1f +/* 00433308 25ADAFD4 */ addiu $t5, %lo(RO_1000AFD4) # addiu $t5, $t5, -0x502c +/* 0043330C 89AF0000 */ lwl $t7, ($t5) +/* 00433310 99AF0003 */ lwr $t7, 3($t5) +/* 00433314 308400FF */ andi $a0, $a0, 0xff +/* 00433318 ABAF0004 */ swl $t7, 4($sp) +/* 0043331C BBAF0007 */ swr $t7, 7($sp) +/* 00433320 89AE0004 */ lwl $t6, 4($t5) +/* 00433324 99AE0007 */ lwr $t6, 7($t5) +/* 00433328 8FA50004 */ lw $a1, 4($sp) +/* 0043332C ABAE0008 */ swl $t6, 8($sp) +/* 00433330 BBAE000B */ swr $t6, 0xb($sp) +/* 00433334 89AF0008 */ lwl $t7, 8($t5) +/* 00433338 99AF000B */ lwr $t7, 0xb($t5) +/* 0043333C 8FA60008 */ lw $a2, 8($sp) +/* 00433340 ABAF000C */ swl $t7, 0xc($sp) +/* 00433344 BBAF000F */ swr $t7, 0xf($sp) +/* 00433348 89AE000C */ lwl $t6, 0xc($t5) +/* 0043334C 99AE000F */ lwr $t6, 0xf($t5) +/* 00433350 8FA7000C */ lw $a3, 0xc($sp) +/* 00433354 ABAE0010 */ swl $t6, 0x10($sp) +/* 00433358 BBAE0013 */ swr $t6, 0x13($sp) +/* 0043335C 89AF0010 */ lwl $t7, 0x10($t5) +/* 00433360 99AF0013 */ lwr $t7, 0x13($t5) +/* 00433364 ABAF0014 */ swl $t7, 0x14($sp) +/* 00433368 BBAF0017 */ swr $t7, 0x17($sp) +/* 0043336C 89AE0014 */ lwl $t6, 0x14($t5) +/* 00433370 99AE0017 */ lwr $t6, 0x17($t5) +/* 00433374 ABAE0018 */ swl $t6, 0x18($sp) +/* 00433378 BBAE001B */ swr $t6, 0x1b($sp) +/* 0043337C 89AF0018 */ lwl $t7, 0x18($t5) +/* 00433380 99AF001B */ lwr $t7, 0x1b($t5) +/* 00433384 ABAF001C */ swl $t7, 0x1c($sp) +/* 00433388 BBAF001F */ swr $t7, 0x1f($sp) +/* 0043338C 89AE001C */ lwl $t6, 0x1c($t5) +/* 00433390 99AE001F */ lwr $t6, 0x1f($t5) +/* 00433394 A3A40056 */ sb $a0, 0x56($sp) +/* 00433398 ABAE0020 */ swl $t6, 0x20($sp) +/* 0043339C 0320F809 */ jalr $t9 +/* 004333A0 BBAE0023 */ swr $t6, 0x23($sp) +/* 004333A4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004333A8 AFA2005C */ sw $v0, 0x5c($sp) +/* 004333AC 240400FC */ li $a0, 252 +/* 004333B0 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 004333B4 93A50056 */ lbu $a1, 0x56($sp) +/* 004333B8 0320F809 */ jalr $t9 +/* 004333BC 00000000 */ nop +/* 004333C0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004333C4 8FA6005C */ lw $a2, 0x5c($sp) +/* 004333C8 00402025 */ move $a0, $v0 +/* 004333CC 8F9981FC */ lw $t9, %call16(emit_rfi)($gp) +/* 004333D0 93A50063 */ lbu $a1, 0x63($sp) +/* 004333D4 24C60030 */ addiu $a2, $a2, 0x30 +/* 004333D8 0320F809 */ jalr $t9 +/* 004333DC 00000000 */ nop +/* 004333E0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004333E4 8FA4005C */ lw $a0, 0x5c($sp) +/* 004333E8 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 004333EC 0320F809 */ jalr $t9 +/* 004333F0 00000000 */ nop +/* 004333F4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004333F8 2404007C */ li $a0, 124 +/* 004333FC 93A50056 */ lbu $a1, 0x56($sp) +/* 00433400 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433404 0320F809 */ jalr $t9 +/* 00433408 00000000 */ nop +/* 0043340C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433410 93A50062 */ lbu $a1, 0x62($sp) +/* 00433414 00402025 */ move $a0, $v0 +/* 00433418 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 0043341C 93A70063 */ lbu $a3, 0x63($sp) +/* 00433420 00A03025 */ move $a2, $a1 +/* 00433424 0320F809 */ jalr $t9 +/* 00433428 00000000 */ nop +/* 0043342C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433430 8FA40058 */ lw $a0, 0x58($sp) +/* 00433434 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00433438 0320F809 */ jalr $t9 +/* 0043343C 00000000 */ nop +/* 00433440 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433444 93B80056 */ lbu $t8, 0x56($sp) +/* 00433448 93A40063 */ lbu $a0, 0x63($sp) +/* 0043344C 8F998898 */ lw $t9, %got(reg_kind_tab)($gp) +/* 00433450 03194021 */ addu $t0, $t8, $t9 +/* 00433454 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00433458 91050000 */ lbu $a1, ($t0) +/* 0043345C 0320F809 */ jalr $t9 +/* 00433460 00000000 */ nop +/* 00433464 8FBC0030 */ lw $gp, 0x30($sp) +.L00433468: +/* 00433468 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0043346C 92060021 */ lbu $a2, 0x21($s0) +/* 00433470 93A4006F */ lbu $a0, 0x6f($sp) +/* 00433474 93A50062 */ lbu $a1, 0x62($sp) +/* 00433478 0320F809 */ jalr $t9 +/* 0043347C 30C6001F */ andi $a2, $a2, 0x1f +/* 00433480 8FBF0034 */ lw $ra, 0x34($sp) +/* 00433484 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433488 8FB0002C */ lw $s0, 0x2c($sp) +/* 0043348C 03E00008 */ jr $ra +/* 00433490 27BD0068 */ addiu $sp, $sp, 0x68 + .type eval_int_flt_cvt, @function + .size eval_int_flt_cvt, .-eval_int_flt_cvt + .end eval_int_flt_cvt + +glabel eval_flt_int_cvt + .ent eval_flt_int_cvt + # 0042BDAC eval +/* 00433494 3C1C0FBF */ .cpload $t9 +/* 00433498 279CC5BC */ +/* 0043349C 0399E021 */ +/* 004334A0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 004334A4 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 004334A8 AFBF0034 */ sw $ra, 0x34($sp) +/* 004334AC AFBC0030 */ sw $gp, 0x30($sp) +/* 004334B0 AFA40060 */ sw $a0, 0x60($sp) +/* 004334B4 AFA50064 */ sw $a1, 0x64($sp) +/* 004334B8 8C840000 */ lw $a0, ($a0) +/* 004334BC 0320F809 */ jalr $t9 +/* 004334C0 24050048 */ li $a1, 72 +/* 004334C4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004334C8 8FA20060 */ lw $v0, 0x60($sp) +/* 004334CC 8F9983C8 */ lw $t9, %call16(cvt_tab)($gp) +/* 004334D0 90450021 */ lbu $a1, 0x21($v0) +/* 004334D4 90440028 */ lbu $a0, 0x28($v0) +/* 004334D8 0320F809 */ jalr $t9 +/* 004334DC 30A5001F */ andi $a1, $a1, 0x1f +/* 004334E0 8FA30060 */ lw $v1, 0x60($sp) +/* 004334E4 2401006E */ li $at, 110 +/* 004334E8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004334EC 906F0020 */ lbu $t7, 0x20($v1) +/* 004334F0 A7A2005E */ sh $v0, 0x5e($sp) +/* 004334F4 15E10009 */ bne $t7, $at, .L0043351C +/* 004334F8 00000000 */ nop +/* 004334FC 8F9983CC */ lw $t9, %call16(rnd_tab)($gp) +/* 00433500 90650021 */ lbu $a1, 0x21($v1) +/* 00433504 90640028 */ lbu $a0, 0x28($v1) +/* 00433508 0320F809 */ jalr $t9 +/* 0043350C 30A5001F */ andi $a1, $a1, 0x1f +/* 00433510 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433514 A7A2005E */ sh $v0, 0x5e($sp) +/* 00433518 8FA30060 */ lw $v1, 0x60($sp) +.L0043351C: +/* 0043351C 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 00433520 8C640000 */ lw $a0, ($v1) +/* 00433524 0320F809 */ jalr $t9 +/* 00433528 00000000 */ nop +/* 0043352C 8FA30060 */ lw $v1, 0x60($sp) +/* 00433530 24010018 */ li $at, 24 +/* 00433534 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433538 90780020 */ lbu $t8, 0x20($v1) +/* 0043353C A3A2005A */ sb $v0, 0x5a($sp) +/* 00433540 17010299 */ bne $t8, $at, .L00433FA8 +/* 00433544 00000000 */ nop +/* 00433548 90790021 */ lbu $t9, 0x21($v1) +/* 0043354C 3C010600 */ lui $at, 0x600 +/* 00433550 240DFFFF */ li $t5, -1 +/* 00433554 3328001F */ andi $t0, $t9, 0x1f +/* 00433558 2D090020 */ sltiu $t1, $t0, 0x20 +/* 0043355C 00095023 */ negu $t2, $t1 +/* 00433560 01415824 */ and $t3, $t2, $at +/* 00433564 010B6004 */ sllv $t4, $t3, $t0 +/* 00433568 0580028F */ bltz $t4, .L00433FA8 +/* 0043356C 00000000 */ nop +/* 00433570 8F8188E0 */ lw $at, %got(move_cvt_flag)($gp) +/* 00433574 8F8E8898 */ lw $t6, %got(reg_kind_tab)($gp) +/* 00433578 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0043357C AC2D0000 */ sw $t5, ($at) +/* 00433580 90620028 */ lbu $v0, 0x28($v1) +/* 00433584 00002025 */ move $a0, $zero +/* 00433588 24060001 */ li $a2, 1 +/* 0043358C 004E3821 */ addu $a3, $v0, $t6 +/* 00433590 90E50000 */ lbu $a1, ($a3) +/* 00433594 AFA70038 */ sw $a3, 0x38($sp) +/* 00433598 0320F809 */ jalr $t9 +/* 0043359C A3A20047 */ sb $v0, 0x47($sp) +/* 004335A0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004335A4 A3A2005B */ sb $v0, 0x5b($sp) +/* 004335A8 00002025 */ move $a0, $zero +/* 004335AC 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 004335B0 24050001 */ li $a1, 1 +/* 004335B4 0320F809 */ jalr $t9 +/* 004335B8 00000000 */ nop +/* 004335BC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004335C0 A3A2005D */ sb $v0, 0x5d($sp) +/* 004335C4 8FA40060 */ lw $a0, 0x60($sp) +/* 004335C8 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004335CC 93A50067 */ lbu $a1, 0x67($sp) +/* 004335D0 0320F809 */ jalr $t9 +/* 004335D4 00000000 */ nop +/* 004335D8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004335DC A3A20067 */ sb $v0, 0x67($sp) +/* 004335E0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004335E4 0320F809 */ jalr $t9 +/* 004335E8 00000000 */ nop +/* 004335EC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004335F0 24010001 */ li $at, 1 +/* 004335F4 AFA2004C */ sw $v0, 0x4c($sp) +/* 004335F8 8F8F89D8 */ lw $t7, %got(opcode_arch)($gp) +/* 004335FC 8FB80060 */ lw $t8, 0x60($sp) +/* 00433600 91EF0000 */ lbu $t7, ($t7) +/* 00433604 15E10034 */ bne $t7, $at, .L004336D8 +/* 00433608 00000000 */ nop +/* 0043360C 93190021 */ lbu $t9, 0x21($t8) +/* 00433610 24010008 */ li $at, 8 +/* 00433614 3329001F */ andi $t1, $t9, 0x1f +/* 00433618 1521002F */ bne $t1, $at, .L004336D8 +/* 0043361C 00000000 */ nop +/* 00433620 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433624 2404014F */ li $a0, 335 +/* 00433628 93A5005B */ lbu $a1, 0x5b($sp) +/* 0043362C 0320F809 */ jalr $t9 +/* 00433630 93A6005A */ lbu $a2, 0x5a($sp) +/* 00433634 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433638 24040147 */ li $a0, 327 +/* 0043363C 93A50067 */ lbu $a1, 0x67($sp) +/* 00433640 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433644 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433648 0320F809 */ jalr $t9 +/* 0043364C 00000000 */ nop +/* 00433650 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433654 2404013B */ li $a0, 315 +/* 00433658 93A5005D */ lbu $a1, 0x5d($sp) +/* 0043365C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00433660 93A60067 */ lbu $a2, 0x67($sp) +/* 00433664 24070020 */ li $a3, 32 +/* 00433668 0320F809 */ jalr $t9 +/* 0043366C AFA00010 */ sw $zero, 0x10($sp) +/* 00433670 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433674 8FAA004C */ lw $t2, 0x4c($sp) +/* 00433678 8FAB0060 */ lw $t3, 0x60($sp) +/* 0043367C 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00433680 2404000D */ li $a0, 13 +/* 00433684 93A5005D */ lbu $a1, 0x5d($sp) +/* 00433688 00003025 */ move $a2, $zero +/* 0043368C 00003825 */ move $a3, $zero +/* 00433690 AFAA0010 */ sw $t2, 0x10($sp) +/* 00433694 0320F809 */ jalr $t9 +/* 00433698 AFAB0014 */ sw $t3, 0x14($sp) +/* 0043369C 8FBC0030 */ lw $gp, 0x30($sp) +/* 004336A0 24040029 */ li $a0, 41 +/* 004336A4 93A50067 */ lbu $a1, 0x67($sp) +/* 004336A8 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004336AC 2406FFFF */ li $a2, -1 +/* 004336B0 00003825 */ move $a3, $zero +/* 004336B4 0320F809 */ jalr $t9 +/* 004336B8 00000000 */ nop +/* 004336BC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004336C0 8FA4004C */ lw $a0, 0x4c($sp) +/* 004336C4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 004336C8 0320F809 */ jalr $t9 +/* 004336CC 00000000 */ nop +/* 004336D0 10000229 */ b .L00433F78 +/* 004336D4 8FBC0030 */ lw $gp, 0x30($sp) +.L004336D8: +/* 004336D8 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004336DC 0320F809 */ jalr $t9 +/* 004336E0 00000000 */ nop +/* 004336E4 8FBC0030 */ lw $gp, 0x30($sp) +/* 004336E8 AFA20054 */ sw $v0, 0x54($sp) +/* 004336EC 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004336F0 0320F809 */ jalr $t9 +/* 004336F4 00000000 */ nop +/* 004336F8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004336FC AFA20050 */ sw $v0, 0x50($sp) +/* 00433700 240400E1 */ li $a0, 225 +/* 00433704 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433708 93A5005D */ lbu $a1, 0x5d($sp) +/* 0043370C 2406001F */ li $a2, 31 +/* 00433710 0320F809 */ jalr $t9 +/* 00433714 00000000 */ nop +/* 00433718 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043371C 24040029 */ li $a0, 41 +/* 00433720 93A50067 */ lbu $a1, 0x67($sp) +/* 00433724 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00433728 24060001 */ li $a2, 1 +/* 0043372C 00003825 */ move $a3, $zero +/* 00433730 0320F809 */ jalr $t9 +/* 00433734 00000000 */ nop +/* 00433738 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043373C 240400E2 */ li $a0, 226 +/* 00433740 93A50067 */ lbu $a1, 0x67($sp) +/* 00433744 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433748 2406001F */ li $a2, 31 +/* 0043374C 0320F809 */ jalr $t9 +/* 00433750 00000000 */ nop +/* 00433754 8FA80060 */ lw $t0, 0x60($sp) +/* 00433758 3C010501 */ lui $at, 0x501 +/* 0043375C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433760 910C0021 */ lbu $t4, 0x21($t0) +/* 00433764 318D001F */ andi $t5, $t4, 0x1f +/* 00433768 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 0043376C 000E7823 */ negu $t7, $t6 +/* 00433770 01E1C024 */ and $t8, $t7, $at +/* 00433774 01B8C804 */ sllv $t9, $t8, $t5 +/* 00433778 07210014 */ bgez $t9, .L004337CC +/* 0043377C 00000000 */ nop +/* 00433780 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 00433784 24010001 */ li $at, 1 +/* 00433788 91290000 */ lbu $t1, ($t1) +/* 0043378C 1521000F */ bne $t1, $at, .L004337CC +/* 00433790 00000000 */ nop +/* 00433794 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433798 2404015B */ li $a0, 347 +/* 0043379C 93A50047 */ lbu $a1, 0x47($sp) +/* 004337A0 0320F809 */ jalr $t9 +/* 004337A4 00000000 */ nop +/* 004337A8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004337AC 00402025 */ move $a0, $v0 +/* 004337B0 93A5005B */ lbu $a1, 0x5b($sp) +/* 004337B4 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004337B8 93A6005A */ lbu $a2, 0x5a($sp) +/* 004337BC 0320F809 */ jalr $t9 +/* 004337C0 00000000 */ nop +/* 004337C4 1000000E */ b .L00433800 +/* 004337C8 8FBC0030 */ lw $gp, 0x30($sp) +.L004337CC: +/* 004337CC 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 004337D0 2404009A */ li $a0, 154 +/* 004337D4 93A50047 */ lbu $a1, 0x47($sp) +/* 004337D8 0320F809 */ jalr $t9 +/* 004337DC 00000000 */ nop +/* 004337E0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004337E4 00402025 */ move $a0, $v0 +/* 004337E8 93A5005B */ lbu $a1, 0x5b($sp) +/* 004337EC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 004337F0 93A6005A */ lbu $a2, 0x5a($sp) +/* 004337F4 0320F809 */ jalr $t9 +/* 004337F8 00000000 */ nop +/* 004337FC 8FBC0030 */ lw $gp, 0x30($sp) +.L00433800: +/* 00433800 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433804 240400E1 */ li $a0, 225 +/* 00433808 93A50067 */ lbu $a1, 0x67($sp) +/* 0043380C 0320F809 */ jalr $t9 +/* 00433810 2406001F */ li $a2, 31 +/* 00433814 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433818 24040020 */ li $a0, 32 +/* 0043381C 24050006 */ li $a1, 6 +/* 00433820 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433824 0320F809 */ jalr $t9 +/* 00433828 00000000 */ nop +/* 0043382C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433830 24040003 */ li $a0, 3 +/* 00433834 24050001 */ li $a1, 1 +/* 00433838 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043383C 93A60067 */ lbu $a2, 0x67($sp) +/* 00433840 24070004 */ li $a3, 4 +/* 00433844 0320F809 */ jalr $t9 +/* 00433848 AFA00010 */ sw $zero, 0x10($sp) +/* 0043384C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433850 93A50067 */ lbu $a1, 0x67($sp) +/* 00433854 24040003 */ li $a0, 3 +/* 00433858 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043385C 24070078 */ li $a3, 120 +/* 00433860 AFA00010 */ sw $zero, 0x10($sp) +/* 00433864 0320F809 */ jalr $t9 +/* 00433868 00A03025 */ move $a2, $a1 +/* 0043386C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433870 24040020 */ li $a0, 32 +/* 00433874 24050005 */ li $a1, 5 +/* 00433878 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0043387C 0320F809 */ jalr $t9 +/* 00433880 00000000 */ nop +/* 00433884 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433888 8FAA0054 */ lw $t2, 0x54($sp) +/* 0043388C 8FAB0060 */ lw $t3, 0x60($sp) +/* 00433890 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00433894 2404000D */ li $a0, 13 +/* 00433898 93A50067 */ lbu $a1, 0x67($sp) +/* 0043389C 00003025 */ move $a2, $zero +/* 004338A0 00003825 */ move $a3, $zero +/* 004338A4 AFAA0010 */ sw $t2, 0x10($sp) +/* 004338A8 0320F809 */ jalr $t9 +/* 004338AC AFAB0014 */ sw $t3, 0x14($sp) +/* 004338B0 8FA80060 */ lw $t0, 0x60($sp) +/* 004338B4 3C010501 */ lui $at, 0x501 +/* 004338B8 8FBC0030 */ lw $gp, 0x30($sp) +/* 004338BC 910C0021 */ lbu $t4, 0x21($t0) +/* 004338C0 318E001F */ andi $t6, $t4, 0x1f +/* 004338C4 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 004338C8 000FC023 */ negu $t8, $t7 +/* 004338CC 03016824 */ and $t5, $t8, $at +/* 004338D0 01CDC804 */ sllv $t9, $t5, $t6 +/* 004338D4 07210031 */ bgez $t9, .L0043399C +/* 004338D8 00000000 */ nop +/* 004338DC 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 004338E0 24010001 */ li $at, 1 +/* 004338E4 91290000 */ lbu $t1, ($t1) +/* 004338E8 1521002C */ bne $t1, $at, .L0043399C +/* 004338EC 00000000 */ nop +/* 004338F0 8F8A8038 */ lw $t2, %got(RO_1000B014)($gp) +/* 004338F4 8F99868C */ lw $t9, %call16(rvalue)($gp) +/* 004338F8 93A40047 */ lbu $a0, 0x47($sp) +/* 004338FC 254AB014 */ addiu $t2, %lo(RO_1000B014) # addiu $t2, $t2, -0x4fec +/* 00433900 89480000 */ lwl $t0, ($t2) +/* 00433904 99480003 */ lwr $t0, 3($t2) +/* 00433908 ABA80004 */ swl $t0, 4($sp) +/* 0043390C BBA80007 */ swr $t0, 7($sp) +/* 00433910 894B0004 */ lwl $t3, 4($t2) +/* 00433914 994B0007 */ lwr $t3, 7($t2) +/* 00433918 8FA50004 */ lw $a1, 4($sp) +/* 0043391C ABAB0008 */ swl $t3, 8($sp) +/* 00433920 BBAB000B */ swr $t3, 0xb($sp) +/* 00433924 89480008 */ lwl $t0, 8($t2) +/* 00433928 9948000B */ lwr $t0, 0xb($t2) +/* 0043392C 8FA60008 */ lw $a2, 8($sp) +/* 00433930 ABA8000C */ swl $t0, 0xc($sp) +/* 00433934 BBA8000F */ swr $t0, 0xf($sp) +/* 00433938 894B000C */ lwl $t3, 0xc($t2) +/* 0043393C 994B000F */ lwr $t3, 0xf($t2) +/* 00433940 8FA7000C */ lw $a3, 0xc($sp) +/* 00433944 ABAB0010 */ swl $t3, 0x10($sp) +/* 00433948 BBAB0013 */ swr $t3, 0x13($sp) +/* 0043394C 89480010 */ lwl $t0, 0x10($t2) +/* 00433950 99480013 */ lwr $t0, 0x13($t2) +/* 00433954 ABA80014 */ swl $t0, 0x14($sp) +/* 00433958 BBA80017 */ swr $t0, 0x17($sp) +/* 0043395C 894B0014 */ lwl $t3, 0x14($t2) +/* 00433960 994B0017 */ lwr $t3, 0x17($t2) +/* 00433964 ABAB0018 */ swl $t3, 0x18($sp) +/* 00433968 BBAB001B */ swr $t3, 0x1b($sp) +/* 0043396C 89480018 */ lwl $t0, 0x18($t2) +/* 00433970 9948001B */ lwr $t0, 0x1b($t2) +/* 00433974 ABA8001C */ swl $t0, 0x1c($sp) +/* 00433978 BBA8001F */ swr $t0, 0x1f($sp) +/* 0043397C 894B001C */ lwl $t3, 0x1c($t2) +/* 00433980 994B001F */ lwr $t3, 0x1f($t2) +/* 00433984 ABAB0020 */ swl $t3, 0x20($sp) +/* 00433988 0320F809 */ jalr $t9 +/* 0043398C BBAB0023 */ swr $t3, 0x23($sp) +/* 00433990 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433994 1000002B */ b .L00433A44 +/* 00433998 AFA20048 */ sw $v0, 0x48($sp) +.L0043399C: +/* 0043399C 8F8C8038 */ lw $t4, %got(RO_1000AFF4)($gp) +/* 004339A0 8F99868C */ lw $t9, %call16(rvalue)($gp) +/* 004339A4 93A40047 */ lbu $a0, 0x47($sp) +/* 004339A8 258CAFF4 */ addiu $t4, %lo(RO_1000AFF4) # addiu $t4, $t4, -0x500c +/* 004339AC 89980000 */ lwl $t8, ($t4) +/* 004339B0 99980003 */ lwr $t8, 3($t4) +/* 004339B4 ABB80004 */ swl $t8, 4($sp) +/* 004339B8 BBB80007 */ swr $t8, 7($sp) +/* 004339BC 898F0004 */ lwl $t7, 4($t4) +/* 004339C0 998F0007 */ lwr $t7, 7($t4) +/* 004339C4 8FA50004 */ lw $a1, 4($sp) +/* 004339C8 ABAF0008 */ swl $t7, 8($sp) +/* 004339CC BBAF000B */ swr $t7, 0xb($sp) +/* 004339D0 89980008 */ lwl $t8, 8($t4) +/* 004339D4 9998000B */ lwr $t8, 0xb($t4) +/* 004339D8 8FA60008 */ lw $a2, 8($sp) +/* 004339DC ABB8000C */ swl $t8, 0xc($sp) +/* 004339E0 BBB8000F */ swr $t8, 0xf($sp) +/* 004339E4 898F000C */ lwl $t7, 0xc($t4) +/* 004339E8 998F000F */ lwr $t7, 0xf($t4) +/* 004339EC 8FA7000C */ lw $a3, 0xc($sp) +/* 004339F0 ABAF0010 */ swl $t7, 0x10($sp) +/* 004339F4 BBAF0013 */ swr $t7, 0x13($sp) +/* 004339F8 89980010 */ lwl $t8, 0x10($t4) +/* 004339FC 99980013 */ lwr $t8, 0x13($t4) +/* 00433A00 ABB80014 */ swl $t8, 0x14($sp) +/* 00433A04 BBB80017 */ swr $t8, 0x17($sp) +/* 00433A08 898F0014 */ lwl $t7, 0x14($t4) +/* 00433A0C 998F0017 */ lwr $t7, 0x17($t4) +/* 00433A10 ABAF0018 */ swl $t7, 0x18($sp) +/* 00433A14 BBAF001B */ swr $t7, 0x1b($sp) +/* 00433A18 89980018 */ lwl $t8, 0x18($t4) +/* 00433A1C 9998001B */ lwr $t8, 0x1b($t4) +/* 00433A20 ABB8001C */ swl $t8, 0x1c($sp) +/* 00433A24 BBB8001F */ swr $t8, 0x1f($sp) +/* 00433A28 898F001C */ lwl $t7, 0x1c($t4) +/* 00433A2C 998F001F */ lwr $t7, 0x1f($t4) +/* 00433A30 ABAF0020 */ swl $t7, 0x20($sp) +/* 00433A34 0320F809 */ jalr $t9 +/* 00433A38 BBAF0023 */ swr $t7, 0x23($sp) +/* 00433A3C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433A40 AFA20048 */ sw $v0, 0x48($sp) +.L00433A44: +/* 00433A44 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433A48 240400FC */ li $a0, 252 +/* 00433A4C 93A50047 */ lbu $a1, 0x47($sp) +/* 00433A50 0320F809 */ jalr $t9 +/* 00433A54 00000000 */ nop +/* 00433A58 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433A5C 8FA60048 */ lw $a2, 0x48($sp) +/* 00433A60 00402025 */ move $a0, $v0 +/* 00433A64 8F9981FC */ lw $t9, %call16(emit_rfi)($gp) +/* 00433A68 93A5005B */ lbu $a1, 0x5b($sp) +/* 00433A6C 24C60030 */ addiu $a2, $a2, 0x30 +/* 00433A70 0320F809 */ jalr $t9 +/* 00433A74 00000000 */ nop +/* 00433A78 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433A7C 8FA40048 */ lw $a0, 0x48($sp) +/* 00433A80 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00433A84 0320F809 */ jalr $t9 +/* 00433A88 00000000 */ nop +/* 00433A8C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433A90 2404007F */ li $a0, 127 +/* 00433A94 93A50047 */ lbu $a1, 0x47($sp) +/* 00433A98 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433A9C 0320F809 */ jalr $t9 +/* 00433AA0 00000000 */ nop +/* 00433AA4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433AA8 93A5005B */ lbu $a1, 0x5b($sp) +/* 00433AAC 00402025 */ move $a0, $v0 +/* 00433AB0 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00433AB4 93A6005A */ lbu $a2, 0x5a($sp) +/* 00433AB8 00A03825 */ move $a3, $a1 +/* 00433ABC 0320F809 */ jalr $t9 +/* 00433AC0 00000000 */ nop +/* 00433AC4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433AC8 24040029 */ li $a0, 41 +/* 00433ACC 93A50067 */ lbu $a1, 0x67($sp) +/* 00433AD0 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00433AD4 24060001 */ li $a2, 1 +/* 00433AD8 00003825 */ move $a3, $zero +/* 00433ADC 0320F809 */ jalr $t9 +/* 00433AE0 00000000 */ nop +/* 00433AE4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433AE8 240400E2 */ li $a0, 226 +/* 00433AEC 93A50067 */ lbu $a1, 0x67($sp) +/* 00433AF0 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433AF4 2406001F */ li $a2, 31 +/* 00433AF8 0320F809 */ jalr $t9 +/* 00433AFC 00000000 */ nop +/* 00433B00 8FAD0060 */ lw $t5, 0x60($sp) +/* 00433B04 3C010501 */ lui $at, 0x501 +/* 00433B08 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433B0C 91AE0021 */ lbu $t6, 0x21($t5) +/* 00433B10 31D9001F */ andi $t9, $t6, 0x1f +/* 00433B14 2F290020 */ sltiu $t1, $t9, 0x20 +/* 00433B18 00095023 */ negu $t2, $t1 +/* 00433B1C 01415824 */ and $t3, $t2, $at +/* 00433B20 032B4004 */ sllv $t0, $t3, $t9 +/* 00433B24 05010014 */ bgez $t0, .L00433B78 +/* 00433B28 00000000 */ nop +/* 00433B2C 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 00433B30 24010001 */ li $at, 1 +/* 00433B34 918C0000 */ lbu $t4, ($t4) +/* 00433B38 1581000F */ bne $t4, $at, .L00433B78 +/* 00433B3C 00000000 */ nop +/* 00433B40 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433B44 2404015B */ li $a0, 347 +/* 00433B48 93A50047 */ lbu $a1, 0x47($sp) +/* 00433B4C 0320F809 */ jalr $t9 +/* 00433B50 00000000 */ nop +/* 00433B54 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433B58 93A5005B */ lbu $a1, 0x5b($sp) +/* 00433B5C 00402025 */ move $a0, $v0 +/* 00433B60 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433B64 00A03025 */ move $a2, $a1 +/* 00433B68 0320F809 */ jalr $t9 +/* 00433B6C 00000000 */ nop +/* 00433B70 1000000E */ b .L00433BAC +/* 00433B74 8FBC0030 */ lw $gp, 0x30($sp) +.L00433B78: +/* 00433B78 8F998314 */ lw $t9, %call16(fasm)($gp) +/* 00433B7C 2404009A */ li $a0, 154 +/* 00433B80 93A50047 */ lbu $a1, 0x47($sp) +/* 00433B84 0320F809 */ jalr $t9 +/* 00433B88 00000000 */ nop +/* 00433B8C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433B90 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433B94 00402025 */ move $a0, $v0 +/* 00433B98 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433B9C 00C02825 */ move $a1, $a2 +/* 00433BA0 0320F809 */ jalr $t9 +/* 00433BA4 00000000 */ nop +/* 00433BA8 8FBC0030 */ lw $gp, 0x30($sp) +.L00433BAC: +/* 00433BAC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433BB0 240400E1 */ li $a0, 225 +/* 00433BB4 93A50067 */ lbu $a1, 0x67($sp) +/* 00433BB8 0320F809 */ jalr $t9 +/* 00433BBC 2406001F */ li $a2, 31 +/* 00433BC0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433BC4 24040020 */ li $a0, 32 +/* 00433BC8 24050006 */ li $a1, 6 +/* 00433BCC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433BD0 0320F809 */ jalr $t9 +/* 00433BD4 00000000 */ nop +/* 00433BD8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433BDC 24040003 */ li $a0, 3 +/* 00433BE0 24050001 */ li $a1, 1 +/* 00433BE4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00433BE8 93A60067 */ lbu $a2, 0x67($sp) +/* 00433BEC 24070004 */ li $a3, 4 +/* 00433BF0 0320F809 */ jalr $t9 +/* 00433BF4 AFA00010 */ sw $zero, 0x10($sp) +/* 00433BF8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433BFC 93A50067 */ lbu $a1, 0x67($sp) +/* 00433C00 24040003 */ li $a0, 3 +/* 00433C04 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00433C08 24070078 */ li $a3, 120 +/* 00433C0C AFA00010 */ sw $zero, 0x10($sp) +/* 00433C10 0320F809 */ jalr $t9 +/* 00433C14 00A03025 */ move $a2, $a1 +/* 00433C18 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433C1C 24040020 */ li $a0, 32 +/* 00433C20 24050005 */ li $a1, 5 +/* 00433C24 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433C28 0320F809 */ jalr $t9 +/* 00433C2C 00000000 */ nop +/* 00433C30 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433C34 8FB80050 */ lw $t8, 0x50($sp) +/* 00433C38 8FAD0060 */ lw $t5, 0x60($sp) +/* 00433C3C 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00433C40 2404001A */ li $a0, 26 +/* 00433C44 93A50067 */ lbu $a1, 0x67($sp) +/* 00433C48 00003025 */ move $a2, $zero +/* 00433C4C 00003825 */ move $a3, $zero +/* 00433C50 AFB80010 */ sw $t8, 0x10($sp) +/* 00433C54 0320F809 */ jalr $t9 +/* 00433C58 AFAD0014 */ sw $t5, 0x14($sp) +/* 00433C5C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433C60 24040020 */ li $a0, 32 +/* 00433C64 24050006 */ li $a1, 6 +/* 00433C68 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433C6C 0320F809 */ jalr $t9 +/* 00433C70 00000000 */ nop +/* 00433C74 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433C78 24010001 */ li $at, 1 +/* 00433C7C 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 00433C80 91CE0000 */ lbu $t6, ($t6) +/* 00433C84 15C1003D */ bne $t6, $at, .L00433D7C +/* 00433C88 00000000 */ nop +/* 00433C8C 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433C90 24040020 */ li $a0, 32 +/* 00433C94 24050005 */ li $a1, 5 +/* 00433C98 0320F809 */ jalr $t9 +/* 00433C9C 00000000 */ nop +/* 00433CA0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433CA4 24040147 */ li $a0, 327 +/* 00433CA8 93A50067 */ lbu $a1, 0x67($sp) +/* 00433CAC 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433CB0 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433CB4 0320F809 */ jalr $t9 +/* 00433CB8 00000000 */ nop +/* 00433CBC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433CC0 8FA90060 */ lw $t1, 0x60($sp) +/* 00433CC4 24060000 */ li $a2, 0 +/* 00433CC8 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00433CCC 91240021 */ lbu $a0, 0x21($t1) +/* 00433CD0 24070000 */ li $a3, 0 +/* 00433CD4 0320F809 */ jalr $t9 +/* 00433CD8 3084001F */ andi $a0, $a0, 0x1f +/* 00433CDC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433CE0 AFA20048 */ sw $v0, 0x48($sp) +/* 00433CE4 3C0A8000 */ lui $t2, 0x8000 +/* 00433CE8 AC4A0030 */ sw $t2, 0x30($v0) +/* 00433CEC 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00433CF0 00002025 */ move $a0, $zero +/* 00433CF4 24050001 */ li $a1, 1 +/* 00433CF8 0320F809 */ jalr $t9 +/* 00433CFC 00000000 */ nop +/* 00433D00 8FAB0048 */ lw $t3, 0x48($sp) +/* 00433D04 A3A2005C */ sb $v0, 0x5c($sp) +/* 00433D08 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433D0C 8D660030 */ lw $a2, 0x30($t3) +/* 00433D10 2404014C */ li $a0, 332 +/* 00433D14 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 00433D18 AFA60008 */ sw $a2, 8($sp) +/* 00433D1C 8D670034 */ lw $a3, 0x34($t3) +/* 00433D20 304500FF */ andi $a1, $v0, 0xff +/* 00433D24 0320F809 */ jalr $t9 +/* 00433D28 AFA7000C */ sw $a3, 0xc($sp) +/* 00433D2C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433D30 8FA40048 */ lw $a0, 0x48($sp) +/* 00433D34 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00433D38 0320F809 */ jalr $t9 +/* 00433D3C 00000000 */ nop +/* 00433D40 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433D44 93A60067 */ lbu $a2, 0x67($sp) +/* 00433D48 24040040 */ li $a0, 64 +/* 00433D4C 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00433D50 93A7005C */ lbu $a3, 0x5c($sp) +/* 00433D54 00C02825 */ move $a1, $a2 +/* 00433D58 0320F809 */ jalr $t9 +/* 00433D5C 00000000 */ nop +/* 00433D60 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433D64 93A4005C */ lbu $a0, 0x5c($sp) +/* 00433D68 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00433D6C 0320F809 */ jalr $t9 +/* 00433D70 00000000 */ nop +/* 00433D74 1000001D */ b .L00433DEC +/* 00433D78 8FBC0030 */ lw $gp, 0x30($sp) +.L00433D7C: +/* 00433D7C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433D80 24040061 */ li $a0, 97 +/* 00433D84 93A50067 */ lbu $a1, 0x67($sp) +/* 00433D88 0320F809 */ jalr $t9 +/* 00433D8C 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433D90 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433D94 24040029 */ li $a0, 41 +/* 00433D98 24050001 */ li $a1, 1 +/* 00433D9C 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00433DA0 3C068000 */ lui $a2, 0x8000 +/* 00433DA4 00003825 */ move $a3, $zero +/* 00433DA8 0320F809 */ jalr $t9 +/* 00433DAC 00000000 */ nop +/* 00433DB0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433DB4 93A60067 */ lbu $a2, 0x67($sp) +/* 00433DB8 24040040 */ li $a0, 64 +/* 00433DBC 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00433DC0 24070001 */ li $a3, 1 +/* 00433DC4 00C02825 */ move $a1, $a2 +/* 00433DC8 0320F809 */ jalr $t9 +/* 00433DCC 00000000 */ nop +/* 00433DD0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433DD4 24040020 */ li $a0, 32 +/* 00433DD8 24050005 */ li $a1, 5 +/* 00433DDC 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 00433DE0 0320F809 */ jalr $t9 +/* 00433DE4 00000000 */ nop +/* 00433DE8 8FBC0030 */ lw $gp, 0x30($sp) +.L00433DEC: +/* 00433DEC 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00433DF0 24040004 */ li $a0, 4 +/* 00433DF4 8FA5004C */ lw $a1, 0x4c($sp) +/* 00433DF8 0320F809 */ jalr $t9 +/* 00433DFC 00000000 */ nop +/* 00433E00 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433E04 8FA40050 */ lw $a0, 0x50($sp) +/* 00433E08 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00433E0C 0320F809 */ jalr $t9 +/* 00433E10 00000000 */ nop +/* 00433E14 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433E18 24010001 */ li $at, 1 +/* 00433E1C 8FAD0060 */ lw $t5, 0x60($sp) +/* 00433E20 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 00433E24 2406FFFF */ li $a2, -1 +/* 00433E28 24040029 */ li $a0, 41 +/* 00433E2C 93180000 */ lbu $t8, ($t8) +/* 00433E30 17010017 */ bne $t8, $at, .L00433E90 +/* 00433E34 00000000 */ nop +/* 00433E38 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00433E3C 91A40021 */ lbu $a0, 0x21($t5) +/* 00433E40 2407FFFF */ li $a3, -1 +/* 00433E44 0320F809 */ jalr $t9 +/* 00433E48 3084001F */ andi $a0, $a0, 0x1f +/* 00433E4C AFA20048 */ sw $v0, 0x48($sp) +/* 00433E50 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433E54 8C460030 */ lw $a2, 0x30($v0) +/* 00433E58 2404014C */ li $a0, 332 +/* 00433E5C 8F9981F8 */ lw $t9, %call16(emit_rii)($gp) +/* 00433E60 AFA60008 */ sw $a2, 8($sp) +/* 00433E64 8C470034 */ lw $a3, 0x34($v0) +/* 00433E68 93A50067 */ lbu $a1, 0x67($sp) +/* 00433E6C 0320F809 */ jalr $t9 +/* 00433E70 AFA7000C */ sw $a3, 0xc($sp) +/* 00433E74 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433E78 8FA40048 */ lw $a0, 0x48($sp) +/* 00433E7C 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00433E80 0320F809 */ jalr $t9 +/* 00433E84 00000000 */ nop +/* 00433E88 10000007 */ b .L00433EA8 +/* 00433E8C 8FBC0030 */ lw $gp, 0x30($sp) +.L00433E90: +/* 00433E90 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 00433E94 93A50067 */ lbu $a1, 0x67($sp) +/* 00433E98 2406FFFF */ li $a2, -1 +/* 00433E9C 0320F809 */ jalr $t9 +/* 00433EA0 00003825 */ move $a3, $zero +/* 00433EA4 8FBC0030 */ lw $gp, 0x30($sp) +.L00433EA8: +/* 00433EA8 8F998228 */ lw $t9, %call16(emit_ll)($gp) +/* 00433EAC 24040004 */ li $a0, 4 +/* 00433EB0 8FA5004C */ lw $a1, 0x4c($sp) +/* 00433EB4 0320F809 */ jalr $t9 +/* 00433EB8 00000000 */ nop +/* 00433EBC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433EC0 8FA40054 */ lw $a0, 0x54($sp) +/* 00433EC4 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00433EC8 0320F809 */ jalr $t9 +/* 00433ECC 00000000 */ nop +/* 00433ED0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433ED4 24010001 */ li $at, 1 +/* 00433ED8 8F8A89D8 */ lw $t2, %got(opcode_arch)($gp) +/* 00433EDC 914A0000 */ lbu $t2, ($t2) +/* 00433EE0 15410008 */ bne $t2, $at, .L00433F04 +/* 00433EE4 00000000 */ nop +/* 00433EE8 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433EEC 24040147 */ li $a0, 327 +/* 00433EF0 93A50067 */ lbu $a1, 0x67($sp) +/* 00433EF4 0320F809 */ jalr $t9 +/* 00433EF8 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433EFC 10000007 */ b .L00433F1C +/* 00433F00 8FBC0030 */ lw $gp, 0x30($sp) +.L00433F04: +/* 00433F04 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433F08 24040061 */ li $a0, 97 +/* 00433F0C 93A50067 */ lbu $a1, 0x67($sp) +/* 00433F10 0320F809 */ jalr $t9 +/* 00433F14 93A6005B */ lbu $a2, 0x5b($sp) +/* 00433F18 8FBC0030 */ lw $gp, 0x30($sp) +.L00433F1C: +/* 00433F1C 8FB90060 */ lw $t9, 0x60($sp) +/* 00433F20 8FAB0050 */ lw $t3, 0x50($sp) +/* 00433F24 24040017 */ li $a0, 23 +/* 00433F28 AFB90014 */ sw $t9, 0x14($sp) +/* 00433F2C 8F9982C4 */ lw $t9, %call16(emit_branch_rill)($gp) +/* 00433F30 93A50067 */ lbu $a1, 0x67($sp) +/* 00433F34 00003025 */ move $a2, $zero +/* 00433F38 00003825 */ move $a3, $zero +/* 00433F3C 0320F809 */ jalr $t9 +/* 00433F40 AFAB0010 */ sw $t3, 0x10($sp) +/* 00433F44 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433F48 8FA4004C */ lw $a0, 0x4c($sp) +/* 00433F4C 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 00433F50 0320F809 */ jalr $t9 +/* 00433F54 00000000 */ nop +/* 00433F58 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433F5C 240400E2 */ li $a0, 226 +/* 00433F60 93A5005D */ lbu $a1, 0x5d($sp) +/* 00433F64 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00433F68 2406001F */ li $a2, 31 +/* 00433F6C 0320F809 */ jalr $t9 +/* 00433F70 00000000 */ nop +/* 00433F74 8FBC0030 */ lw $gp, 0x30($sp) +.L00433F78: +/* 00433F78 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00433F7C 8FA80038 */ lw $t0, 0x38($sp) +/* 00433F80 93A4005B */ lbu $a0, 0x5b($sp) +/* 00433F84 0320F809 */ jalr $t9 +/* 00433F88 91050000 */ lbu $a1, ($t0) +/* 00433F8C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433F90 93A4005D */ lbu $a0, 0x5d($sp) +/* 00433F94 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00433F98 0320F809 */ jalr $t9 +/* 00433F9C 00000000 */ nop +/* 00433FA0 10000048 */ b .L004340C4 +/* 00433FA4 8FBC0030 */ lw $gp, 0x30($sp) +.L00433FA8: +/* 00433FA8 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 00433FAC 00002025 */ move $a0, $zero +/* 00433FB0 24050001 */ li $a1, 1 +/* 00433FB4 0320F809 */ jalr $t9 +/* 00433FB8 00000000 */ nop +/* 00433FBC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433FC0 8FAC0060 */ lw $t4, 0x60($sp) +/* 00433FC4 A3A2005D */ sb $v0, 0x5d($sp) +/* 00433FC8 8F988898 */ lw $t8, %got(reg_kind_tab)($gp) +/* 00433FCC 918F0028 */ lbu $t7, 0x28($t4) +/* 00433FD0 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 00433FD4 00002025 */ move $a0, $zero +/* 00433FD8 01F86821 */ addu $t5, $t7, $t8 +/* 00433FDC 91A50000 */ lbu $a1, ($t5) +/* 00433FE0 0320F809 */ jalr $t9 +/* 00433FE4 24060001 */ li $a2, 1 +/* 00433FE8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00433FEC A3A2005B */ sb $v0, 0x5b($sp) +/* 00433FF0 97A4005E */ lhu $a0, 0x5e($sp) +/* 00433FF4 8F998204 */ lw $t9, %call16(emit_rrr)($gp) +/* 00433FF8 304500FF */ andi $a1, $v0, 0xff +/* 00433FFC 93A6005A */ lbu $a2, 0x5a($sp) +/* 00434000 0320F809 */ jalr $t9 +/* 00434004 93A7005D */ lbu $a3, 0x5d($sp) +/* 00434008 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043400C 93A4005D */ lbu $a0, 0x5d($sp) +/* 00434010 8F998510 */ lw $t9, %call16(free_reg)($gp) +/* 00434014 0320F809 */ jalr $t9 +/* 00434018 00000000 */ nop +/* 0043401C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434020 8FAE0060 */ lw $t6, 0x60($sp) +/* 00434024 8FB80060 */ lw $t8, 0x60($sp) +/* 00434028 8F8B88E0 */ lw $t3, %got(move_cvt_flag)($gp) +/* 0043402C 8DC90010 */ lw $t1, 0x10($t6) +/* 00434030 8D6B0000 */ lw $t3, ($t3) +/* 00434034 00095202 */ srl $t2, $t1, 8 +/* 00434038 514B001A */ beql $t2, $t3, .L004340A4 +/* 0043403C 93020019 */ lbu $v0, 0x19($t8) +/* 00434040 91D90028 */ lbu $t9, 0x28($t6) +/* 00434044 8F888898 */ lw $t0, %got(reg_kind_tab)($gp) +/* 00434048 93A4005B */ lbu $a0, 0x5b($sp) +/* 0043404C 03286021 */ addu $t4, $t9, $t0 +/* 00434050 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00434054 91850000 */ lbu $a1, ($t4) +/* 00434058 0320F809 */ jalr $t9 +/* 0043405C 00000000 */ nop +/* 00434060 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434064 8FA40060 */ lw $a0, 0x60($sp) +/* 00434068 93A50067 */ lbu $a1, 0x67($sp) +/* 0043406C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00434070 0320F809 */ jalr $t9 +/* 00434074 00000000 */ nop +/* 00434078 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043407C 8FAF0060 */ lw $t7, 0x60($sp) +/* 00434080 304400FF */ andi $a0, $v0, 0xff +/* 00434084 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00434088 91E60021 */ lbu $a2, 0x21($t7) +/* 0043408C 93A5005B */ lbu $a1, 0x5b($sp) +/* 00434090 0320F809 */ jalr $t9 +/* 00434094 30C6001F */ andi $a2, $a2, 0x1f +/* 00434098 1000000A */ b .L004340C4 +/* 0043409C 8FBC0030 */ lw $gp, 0x30($sp) +/* 004340A0 93020019 */ lbu $v0, 0x19($t8) +.L004340A4: +/* 004340A4 93AD005B */ lbu $t5, 0x5b($sp) +/* 004340A8 00024E00 */ sll $t1, $v0, 0x18 +/* 004340AC 00095642 */ srl $t2, $t1, 0x19 +/* 004340B0 01AA5826 */ xor $t3, $t5, $t2 +/* 004340B4 000B7640 */ sll $t6, $t3, 0x19 +/* 004340B8 000ECE02 */ srl $t9, $t6, 0x18 +/* 004340BC 03224026 */ xor $t0, $t9, $v0 +/* 004340C0 A3080019 */ sb $t0, 0x19($t8) +.L004340C4: +/* 004340C4 8FBF0034 */ lw $ra, 0x34($sp) +/* 004340C8 27BD0060 */ addiu $sp, $sp, 0x60 +/* 004340CC 03E00008 */ jr $ra +/* 004340D0 00000000 */ nop + .type eval_flt_int_cvt, @function + .size eval_flt_int_cvt, .-eval_flt_int_cvt + .end eval_flt_int_cvt + + .type func_004340D4, @function +func_004340D4: + # 004347BC eval_int_int_cvt +/* 004340D4 3C1C0FBF */ .cpload $t9 +/* 004340D8 279CB97C */ +/* 004340DC 0399E021 */ +/* 004340E0 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 004340E4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 004340E8 AFB00020 */ sw $s0, 0x20($sp) +/* 004340EC 91CE0000 */ lbu $t6, ($t6) +/* 004340F0 24010001 */ li $at, 1 +/* 004340F4 00808025 */ move $s0, $a0 +/* 004340F8 AFBF002C */ sw $ra, 0x2c($sp) +/* 004340FC AFBC0028 */ sw $gp, 0x28($sp) +/* 00434100 AFB10024 */ sw $s1, 0x24($sp) +/* 00434104 15C1005E */ bne $t6, $at, .L00434280 +/* 00434108 AFA50044 */ sw $a1, 0x44($sp) +/* 0043410C 8C820000 */ lw $v0, ($a0) +/* 00434110 24010052 */ li $at, 82 +/* 00434114 904F0020 */ lbu $t7, 0x20($v0) +/* 00434118 15E10011 */ bne $t7, $at, .L00434160 +/* 0043411C 00000000 */ nop +/* 00434120 8F998384 */ lw $t9, %call16(ureg)($gp) +/* 00434124 24440020 */ addiu $a0, $v0, 0x20 +/* 00434128 0320F809 */ jalr $t9 +/* 0043412C 00000000 */ nop +/* 00434130 24010048 */ li $at, 72 +/* 00434134 1441000A */ bne $v0, $at, .L00434160 +/* 00434138 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043413C 8E020000 */ lw $v0, ($s0) +/* 00434140 92190021 */ lbu $t9, 0x21($s0) +/* 00434144 90430021 */ lbu $v1, 0x21($v0) +/* 00434148 000346C0 */ sll $t0, $v1, 0x1b +/* 0043414C 00084EC2 */ srl $t1, $t0, 0x1b +/* 00434150 03295026 */ xor $t2, $t9, $t1 +/* 00434154 314B001F */ andi $t3, $t2, 0x1f +/* 00434158 01636026 */ xor $t4, $t3, $v1 +/* 0043415C A04C0021 */ sb $t4, 0x21($v0) +.L00434160: +/* 00434160 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00434164 8E040000 */ lw $a0, ($s0) +/* 00434168 24050048 */ li $a1, 72 +/* 0043416C 0320F809 */ jalr $t9 +/* 00434170 00000000 */ nop +/* 00434174 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434178 8E040000 */ lw $a0, ($s0) +/* 0043417C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00434180 0320F809 */ jalr $t9 +/* 00434184 00000000 */ nop +/* 00434188 304D00FF */ andi $t5, $v0, 0xff +/* 0043418C 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 00434190 000E7823 */ negu $t7, $t6 +/* 00434194 01AFC004 */ sllv $t8, $t7, $t5 +/* 00434198 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043419C 305100FF */ andi $s1, $v0, 0xff +/* 004341A0 030002B0 */ tge $t8, $zero, 0xa +/* 004341A4 8E080000 */ lw $t0, ($s0) +/* 004341A8 920A0021 */ lbu $t2, 0x21($s0) +/* 004341AC 2404013A */ li $a0, 314 +/* 004341B0 91190021 */ lbu $t9, 0x21($t0) +/* 004341B4 314B001F */ andi $t3, $t2, 0x1f +/* 004341B8 02202825 */ move $a1, $s1 +/* 004341BC 3329001F */ andi $t1, $t9, 0x1f +/* 004341C0 112B0020 */ beq $t1, $t3, .L00434244 +/* 004341C4 00000000 */ nop +/* 004341C8 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004341CC 02203025 */ move $a2, $s1 +/* 004341D0 24070020 */ li $a3, 32 +/* 004341D4 0320F809 */ jalr $t9 +/* 004341D8 AFA00010 */ sw $zero, 0x10($sp) +/* 004341DC 920C0021 */ lbu $t4, 0x21($s0) +/* 004341E0 3C018601 */ lui $at, 0x8601 +/* 004341E4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004341E8 318E001F */ andi $t6, $t4, 0x1f +/* 004341EC 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 004341F0 000F6823 */ negu $t5, $t7 +/* 004341F4 01A1C024 */ and $t8, $t5, $at +/* 004341F8 01D84004 */ sllv $t0, $t8, $t6 +/* 004341FC 0501000A */ bgez $t0, .L00434228 +/* 00434200 2404013B */ li $a0, 315 +/* 00434204 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00434208 2404013C */ li $a0, 316 +/* 0043420C 02202825 */ move $a1, $s1 +/* 00434210 02203025 */ move $a2, $s1 +/* 00434214 24070020 */ li $a3, 32 +/* 00434218 0320F809 */ jalr $t9 +/* 0043421C AFA00010 */ sw $zero, 0x10($sp) +/* 00434220 10000008 */ b .L00434244 +/* 00434224 8FBC0028 */ lw $gp, 0x28($sp) +.L00434228: +/* 00434228 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043422C 02202825 */ move $a1, $s1 +/* 00434230 02203025 */ move $a2, $s1 +/* 00434234 24070020 */ li $a3, 32 +/* 00434238 0320F809 */ jalr $t9 +/* 0043423C AFA00010 */ sw $zero, 0x10($sp) +/* 00434240 8FBC0028 */ lw $gp, 0x28($sp) +.L00434244: +/* 00434244 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00434248 02002025 */ move $a0, $s0 +/* 0043424C 93A50047 */ lbu $a1, 0x47($sp) +/* 00434250 0320F809 */ jalr $t9 +/* 00434254 00000000 */ nop +/* 00434258 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043425C 92060021 */ lbu $a2, 0x21($s0) +/* 00434260 304400FF */ andi $a0, $v0, 0xff +/* 00434264 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00434268 02202825 */ move $a1, $s1 +/* 0043426C 30C6001F */ andi $a2, $a2, 0x1f +/* 00434270 0320F809 */ jalr $t9 +/* 00434274 00000000 */ nop +/* 00434278 10000039 */ b .L00434360 +/* 0043427C 8FBC0028 */ lw $gp, 0x28($sp) +.L00434280: +/* 00434280 96190022 */ lhu $t9, 0x22($s0) +/* 00434284 332A0002 */ andi $t2, $t9, 2 +/* 00434288 014002B4 */ teq $t2, $zero, 0xa +/* 0043428C 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00434290 8E040000 */ lw $a0, ($s0) +/* 00434294 24050048 */ li $a1, 72 +/* 00434298 0320F809 */ jalr $t9 +/* 0043429C 00000000 */ nop +/* 004342A0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004342A4 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 004342A8 0320F809 */ jalr $t9 +/* 004342AC 00000000 */ nop +/* 004342B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004342B4 AFA20034 */ sw $v0, 0x34($sp) +/* 004342B8 8E040000 */ lw $a0, ($s0) +/* 004342BC 8F998338 */ lw $t9, %call16(reg)($gp) +/* 004342C0 0320F809 */ jalr $t9 +/* 004342C4 00000000 */ nop +/* 004342C8 304500FF */ andi $a1, $v0, 0xff +/* 004342CC 2CA90020 */ sltiu $t1, $a1, 0x20 +/* 004342D0 00095823 */ negu $t3, $t1 +/* 004342D4 00AB6004 */ sllv $t4, $t3, $a1 +/* 004342D8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004342DC 305100FF */ andi $s1, $v0, 0xff +/* 004342E0 018002B0 */ tge $t4, $zero, 0xa +/* 004342E4 8F998220 */ lw $t9, %call16(emit_rrll)($gp) +/* 004342E8 2404000F */ li $a0, 15 +/* 004342EC 00003025 */ move $a2, $zero +/* 004342F0 0320F809 */ jalr $t9 +/* 004342F4 8FA70034 */ lw $a3, 0x34($sp) +/* 004342F8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004342FC 2404001B */ li $a0, 27 +/* 00434300 24050006 */ li $a1, 6 +/* 00434304 8F99821C */ lw $t9, %call16(emit_i)($gp) +/* 00434308 0320F809 */ jalr $t9 +/* 0043430C 00000000 */ nop +/* 00434310 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434314 8FA40034 */ lw $a0, 0x34($sp) +/* 00434318 8F998230 */ lw $t9, %call16(define_label)($gp) +/* 0043431C 0320F809 */ jalr $t9 +/* 00434320 00000000 */ nop +/* 00434324 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434328 02002025 */ move $a0, $s0 +/* 0043432C 93A50047 */ lbu $a1, 0x47($sp) +/* 00434330 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00434334 0320F809 */ jalr $t9 +/* 00434338 00000000 */ nop +/* 0043433C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434340 92060021 */ lbu $a2, 0x21($s0) +/* 00434344 304400FF */ andi $a0, $v0, 0xff +/* 00434348 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 0043434C 02202825 */ move $a1, $s1 +/* 00434350 30C6001F */ andi $a2, $a2, 0x1f +/* 00434354 0320F809 */ jalr $t9 +/* 00434358 00000000 */ nop +/* 0043435C 8FBC0028 */ lw $gp, 0x28($sp) +.L00434360: +/* 00434360 8FBF002C */ lw $ra, 0x2c($sp) +/* 00434364 8FB00020 */ lw $s0, 0x20($sp) +/* 00434368 8FB10024 */ lw $s1, 0x24($sp) +/* 0043436C 03E00008 */ jr $ra +/* 00434370 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_00434374, @function +func_00434374: + # 00434500 func_00434500 +/* 00434374 3C1C0FBF */ .cpload $t9 +/* 00434378 279CB6DC */ +/* 0043437C 0399E021 */ +/* 00434380 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00434384 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00434388 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043438C 91CE0000 */ lbu $t6, ($t6) +/* 00434390 AFBC0018 */ sw $gp, 0x18($sp) +/* 00434394 AFA50024 */ sw $a1, 0x24($sp) +/* 00434398 11C00011 */ beqz $t6, .L004343E0 +/* 0043439C 00803825 */ move $a3, $a0 +/* 004343A0 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004343A4 90E60021 */ lbu $a2, 0x21($a3) +/* 004343A8 93A40027 */ lbu $a0, 0x27($sp) +/* 004343AC 9045FFFB */ lbu $a1, -5($v0) +/* 004343B0 0320F809 */ jalr $t9 +/* 004343B4 30C6001F */ andi $a2, $a2, 0x1f +/* 004343B8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004343BC 93A50027 */ lbu $a1, 0x27($sp) +/* 004343C0 24040029 */ li $a0, 41 +/* 004343C4 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 004343C8 00003025 */ move $a2, $zero +/* 004343CC 00003825 */ move $a3, $zero +/* 004343D0 0320F809 */ jalr $t9 +/* 004343D4 24A50001 */ addiu $a1, $a1, 1 +/* 004343D8 10000011 */ b .L00434420 +/* 004343DC 8FBC0018 */ lw $gp, 0x18($sp) +.L004343E0: +/* 004343E0 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004343E4 93A40027 */ lbu $a0, 0x27($sp) +/* 004343E8 90E60021 */ lbu $a2, 0x21($a3) +/* 004343EC 9045FFFB */ lbu $a1, -5($v0) +/* 004343F0 24840001 */ addiu $a0, $a0, 1 +/* 004343F4 0320F809 */ jalr $t9 +/* 004343F8 30C6001F */ andi $a2, $a2, 0x1f +/* 004343FC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00434400 24040029 */ li $a0, 41 +/* 00434404 93A50027 */ lbu $a1, 0x27($sp) +/* 00434408 8F9981F4 */ lw $t9, %call16(emit_ri_)($gp) +/* 0043440C 00003025 */ move $a2, $zero +/* 00434410 00003825 */ move $a3, $zero +/* 00434414 0320F809 */ jalr $t9 +/* 00434418 00000000 */ nop +/* 0043441C 8FBC0018 */ lw $gp, 0x18($sp) +.L00434420: +/* 00434420 8FBF001C */ lw $ra, 0x1c($sp) +/* 00434424 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00434428 03E00008 */ jr $ra +/* 0043442C 00000000 */ nop + + .type func_00434430, @function +func_00434430: + # 00434500 func_00434500 +/* 00434430 3C1C0FBF */ .cpload $t9 +/* 00434434 279CB620 */ +/* 00434438 0399E021 */ +/* 0043443C 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 00434440 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00434444 AFBF0024 */ sw $ra, 0x24($sp) +/* 00434448 91CE0000 */ lbu $t6, ($t6) +/* 0043444C AFBC0020 */ sw $gp, 0x20($sp) +/* 00434450 AFB0001C */ sw $s0, 0x1c($sp) +/* 00434454 AFA5002C */ sw $a1, 0x2c($sp) +/* 00434458 11C00013 */ beqz $t6, .L004344A8 +/* 0043445C 00803825 */ move $a3, $a0 +/* 00434460 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00434464 9050FFFB */ lbu $s0, -5($v0) +/* 00434468 90E60021 */ lbu $a2, 0x21($a3) +/* 0043446C 93A4002F */ lbu $a0, 0x2f($sp) +/* 00434470 02002825 */ move $a1, $s0 +/* 00434474 0320F809 */ jalr $t9 +/* 00434478 30C6001F */ andi $a2, $a2, 0x1f +/* 0043447C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00434480 93A5002F */ lbu $a1, 0x2f($sp) +/* 00434484 24040053 */ li $a0, 83 +/* 00434488 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043448C 02003025 */ move $a2, $s0 +/* 00434490 2407001F */ li $a3, 31 +/* 00434494 AFA00010 */ sw $zero, 0x10($sp) +/* 00434498 0320F809 */ jalr $t9 +/* 0043449C 24A50001 */ addiu $a1, $a1, 1 +/* 004344A0 10000012 */ b .L004344EC +/* 004344A4 8FBC0020 */ lw $gp, 0x20($sp) +.L004344A8: +/* 004344A8 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004344AC 93A4002F */ lbu $a0, 0x2f($sp) +/* 004344B0 9050FFFB */ lbu $s0, -5($v0) +/* 004344B4 90E60021 */ lbu $a2, 0x21($a3) +/* 004344B8 24840001 */ addiu $a0, $a0, 1 +/* 004344BC 02002825 */ move $a1, $s0 +/* 004344C0 0320F809 */ jalr $t9 +/* 004344C4 30C6001F */ andi $a2, $a2, 0x1f +/* 004344C8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004344CC 24040053 */ li $a0, 83 +/* 004344D0 93A5002F */ lbu $a1, 0x2f($sp) +/* 004344D4 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004344D8 02003025 */ move $a2, $s0 +/* 004344DC 2407001F */ li $a3, 31 +/* 004344E0 0320F809 */ jalr $t9 +/* 004344E4 AFA00010 */ sw $zero, 0x10($sp) +/* 004344E8 8FBC0020 */ lw $gp, 0x20($sp) +.L004344EC: +/* 004344EC 8FBF0024 */ lw $ra, 0x24($sp) +/* 004344F0 8FB0001C */ lw $s0, 0x1c($sp) +/* 004344F4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 004344F8 03E00008 */ jr $ra +/* 004344FC 00000000 */ nop + + .type func_00434500, @function +func_00434500: + # 004347BC eval_int_int_cvt +/* 00434500 3C1C0FBF */ .cpload $t9 +/* 00434504 279CB550 */ +/* 00434508 0399E021 */ +/* 0043450C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00434510 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 00434514 AFB1001C */ sw $s1, 0x1c($sp) +/* 00434518 AFB00018 */ sw $s0, 0x18($sp) +/* 0043451C 00808025 */ move $s0, $a0 +/* 00434520 30B100FF */ andi $s1, $a1, 0xff +/* 00434524 AFBF0024 */ sw $ra, 0x24($sp) +/* 00434528 AFBC0020 */ sw $gp, 0x20($sp) +/* 0043452C AFA50034 */ sw $a1, 0x34($sp) +/* 00434530 8C840000 */ lw $a0, ($a0) +/* 00434534 0320F809 */ jalr $t9 +/* 00434538 24050048 */ li $a1, 72 +/* 0043453C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00434540 8E040000 */ lw $a0, ($s0) +/* 00434544 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00434548 0320F809 */ jalr $t9 +/* 0043454C 00000000 */ nop +/* 00434550 304E00FF */ andi $t6, $v0, 0xff +/* 00434554 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00434558 000FC023 */ negu $t8, $t7 +/* 0043455C 01D8C804 */ sllv $t9, $t8, $t6 +/* 00434560 8FBC0020 */ lw $gp, 0x20($sp) +/* 00434564 A3A2002B */ sb $v0, 0x2b($sp) +/* 00434568 032002B0 */ tge $t9, $zero, 0xa +/* 0043456C 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00434570 02002025 */ move $a0, $s0 +/* 00434574 02202825 */ move $a1, $s1 +/* 00434578 0320F809 */ jalr $t9 +/* 0043457C 00000000 */ nop +/* 00434580 8FBC0020 */ lw $gp, 0x20($sp) +/* 00434584 305100FF */ andi $s1, $v0, 0xff +/* 00434588 02202025 */ move $a0, $s1 +/* 0043458C 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 00434590 91080000 */ lbu $t0, ($t0) +/* 00434594 15000015 */ bnez $t0, .L004345EC +/* 00434598 00000000 */ nop +/* 0043459C 92090028 */ lbu $t1, 0x28($s0) +/* 004345A0 24010008 */ li $at, 8 +/* 004345A4 15210009 */ bne $t1, $at, .L004345CC +/* 004345A8 00000000 */ nop +/* 004345AC 8F998020 */ lw $t9, %got(func_00434374)($gp) +/* 004345B0 02002025 */ move $a0, $s0 +/* 004345B4 02202825 */ move $a1, $s1 +/* 004345B8 27394374 */ addiu $t9, %lo(func_00434374) # addiu $t9, $t9, 0x4374 +/* 004345BC 0320F809 */ jalr $t9 +/* 004345C0 27A20030 */ addiu $v0, $sp, 0x30 +/* 004345C4 1000000F */ b .L00434604 +/* 004345C8 8FBC0020 */ lw $gp, 0x20($sp) +.L004345CC: +/* 004345CC 8F998020 */ lw $t9, %got(func_00434430)($gp) +/* 004345D0 02002025 */ move $a0, $s0 +/* 004345D4 02202825 */ move $a1, $s1 +/* 004345D8 27394430 */ addiu $t9, %lo(func_00434430) # addiu $t9, $t9, 0x4430 +/* 004345DC 0320F809 */ jalr $t9 +/* 004345E0 27A20030 */ addiu $v0, $sp, 0x30 +/* 004345E4 10000007 */ b .L00434604 +/* 004345E8 8FBC0020 */ lw $gp, 0x20($sp) +.L004345EC: +/* 004345EC 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004345F0 92060021 */ lbu $a2, 0x21($s0) +/* 004345F4 93A5002B */ lbu $a1, 0x2b($sp) +/* 004345F8 0320F809 */ jalr $t9 +/* 004345FC 30C6001F */ andi $a2, $a2, 0x1f +/* 00434600 8FBC0020 */ lw $gp, 0x20($sp) +.L00434604: +/* 00434604 8FBF0024 */ lw $ra, 0x24($sp) +/* 00434608 8FB00018 */ lw $s0, 0x18($sp) +/* 0043460C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00434610 03E00008 */ jr $ra +/* 00434614 27BD0030 */ addiu $sp, $sp, 0x30 + + .type func_00434618, @function +func_00434618: + # 004347BC eval_int_int_cvt +/* 00434618 3C1C0FBF */ .cpload $t9 +/* 0043461C 279CB438 */ +/* 00434620 0399E021 */ +/* 00434624 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00434628 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0043462C AFB10024 */ sw $s1, 0x24($sp) +/* 00434630 AFB00020 */ sw $s0, 0x20($sp) +/* 00434634 30B000FF */ andi $s0, $a1, 0xff +/* 00434638 00808825 */ move $s1, $a0 +/* 0043463C AFBF002C */ sw $ra, 0x2c($sp) +/* 00434640 AFBC0028 */ sw $gp, 0x28($sp) +/* 00434644 AFA5003C */ sw $a1, 0x3c($sp) +/* 00434648 8C840000 */ lw $a0, ($a0) +/* 0043464C 0320F809 */ jalr $t9 +/* 00434650 24050048 */ li $a1, 72 +/* 00434654 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434658 8E240000 */ lw $a0, ($s1) +/* 0043465C 8F998338 */ lw $t9, %call16(reg)($gp) +/* 00434660 0320F809 */ jalr $t9 +/* 00434664 00000000 */ nop +/* 00434668 304E00FF */ andi $t6, $v0, 0xff +/* 0043466C 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00434670 000FC023 */ negu $t8, $t7 +/* 00434674 01D8C804 */ sllv $t9, $t8, $t6 +/* 00434678 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043467C 304700FF */ andi $a3, $v0, 0xff +/* 00434680 032002B0 */ tge $t9, $zero, 0xa +/* 00434684 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 00434688 02202025 */ move $a0, $s1 +/* 0043468C 02002825 */ move $a1, $s0 +/* 00434690 0320F809 */ jalr $t9 +/* 00434694 A3A70033 */ sb $a3, 0x33($sp) +/* 00434698 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043469C 305000FF */ andi $s0, $v0, 0xff +/* 004346A0 24010001 */ li $at, 1 +/* 004346A4 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 004346A8 93A70033 */ lbu $a3, 0x33($sp) +/* 004346AC 02002025 */ move $a0, $s0 +/* 004346B0 91080000 */ lbu $t0, ($t0) +/* 004346B4 15010029 */ bne $t0, $at, .L0043475C +/* 004346B8 00000000 */ nop +/* 004346BC 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004346C0 92260021 */ lbu $a2, 0x21($s1) +/* 004346C4 00E02825 */ move $a1, $a3 +/* 004346C8 0320F809 */ jalr $t9 +/* 004346CC 30C6001F */ andi $a2, $a2, 0x1f +/* 004346D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004346D4 2404013A */ li $a0, 314 +/* 004346D8 02002825 */ move $a1, $s0 +/* 004346DC 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 004346E0 02003025 */ move $a2, $s0 +/* 004346E4 24070020 */ li $a3, 32 +/* 004346E8 0320F809 */ jalr $t9 +/* 004346EC AFA00010 */ sw $zero, 0x10($sp) +/* 004346F0 92290021 */ lbu $t1, 0x21($s1) +/* 004346F4 3C010600 */ lui $at, 0x600 +/* 004346F8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004346FC 312A001F */ andi $t2, $t1, 0x1f +/* 00434700 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 00434704 000B6023 */ negu $t4, $t3 +/* 00434708 01816824 */ and $t5, $t4, $at +/* 0043470C 014D7804 */ sllv $t7, $t5, $t2 +/* 00434710 05E1000A */ bgez $t7, .L0043473C +/* 00434714 2404013B */ li $a0, 315 +/* 00434718 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 0043471C 2404013C */ li $a0, 316 +/* 00434720 02002825 */ move $a1, $s0 +/* 00434724 02003025 */ move $a2, $s0 +/* 00434728 24070020 */ li $a3, 32 +/* 0043472C 0320F809 */ jalr $t9 +/* 00434730 AFA00010 */ sw $zero, 0x10($sp) +/* 00434734 1000001C */ b .L004347A8 +/* 00434738 8FBC0028 */ lw $gp, 0x28($sp) +.L0043473C: +/* 0043473C 8F998208 */ lw $t9, %call16(emit_rri_)($gp) +/* 00434740 02002825 */ move $a1, $s0 +/* 00434744 02003025 */ move $a2, $s0 +/* 00434748 24070020 */ li $a3, 32 +/* 0043474C 0320F809 */ jalr $t9 +/* 00434750 AFA00010 */ sw $zero, 0x10($sp) +/* 00434754 10000014 */ b .L004347A8 +/* 00434758 8FBC0028 */ lw $gp, 0x28($sp) +.L0043475C: +/* 0043475C 8F98898C */ lw $t8, %got(lsb_first)($gp) +/* 00434760 00E02825 */ move $a1, $a3 +/* 00434764 02002025 */ move $a0, $s0 +/* 00434768 93180000 */ lbu $t8, ($t8) +/* 0043476C 13000008 */ beqz $t8, .L00434790 +/* 00434770 00000000 */ nop +/* 00434774 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00434778 92260021 */ lbu $a2, 0x21($s1) +/* 0043477C 02002025 */ move $a0, $s0 +/* 00434780 0320F809 */ jalr $t9 +/* 00434784 30C6001F */ andi $a2, $a2, 0x1f +/* 00434788 10000007 */ b .L004347A8 +/* 0043478C 8FBC0028 */ lw $gp, 0x28($sp) +.L00434790: +/* 00434790 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 00434794 92260021 */ lbu $a2, 0x21($s1) +/* 00434798 24E50001 */ addiu $a1, $a3, 1 +/* 0043479C 0320F809 */ jalr $t9 +/* 004347A0 30C6001F */ andi $a2, $a2, 0x1f +/* 004347A4 8FBC0028 */ lw $gp, 0x28($sp) +.L004347A8: +/* 004347A8 8FBF002C */ lw $ra, 0x2c($sp) +/* 004347AC 8FB00020 */ lw $s0, 0x20($sp) +/* 004347B0 8FB10024 */ lw $s1, 0x24($sp) +/* 004347B4 03E00008 */ jr $ra +/* 004347B8 27BD0038 */ addiu $sp, $sp, 0x38 + +glabel eval_int_int_cvt + .ent eval_int_int_cvt + # 0042BDAC eval +/* 004347BC 3C1C0FBF */ .cpload $t9 +/* 004347C0 279CB294 */ +/* 004347C4 0399E021 */ +/* 004347C8 908E0021 */ lbu $t6, 0x21($a0) +/* 004347CC 3C010501 */ lui $at, 0x501 +/* 004347D0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004347D4 31CF001F */ andi $t7, $t6, 0x1f +/* 004347D8 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 004347DC 0018C823 */ negu $t9, $t8 +/* 004347E0 03214024 */ and $t0, $t9, $at +/* 004347E4 01E84804 */ sllv $t1, $t0, $t7 +/* 004347E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 004347EC AFBC0018 */ sw $gp, 0x18($sp) +/* 004347F0 05210008 */ bgez $t1, .L00434814 +/* 004347F4 AFA50024 */ sw $a1, 0x24($sp) +/* 004347F8 8F998020 */ lw $t9, %got(func_00434500)($gp) +/* 004347FC 27A20020 */ addiu $v0, $sp, 0x20 +/* 00434800 27394500 */ addiu $t9, %lo(func_00434500) # addiu $t9, $t9, 0x4500 +/* 00434804 0320F809 */ jalr $t9 +/* 00434808 00000000 */ nop +/* 0043480C 10000016 */ b .L00434868 +/* 00434810 8FBC0018 */ lw $gp, 0x18($sp) +.L00434814: +/* 00434814 908A0028 */ lbu $t2, 0x28($a0) +/* 00434818 3C010501 */ lui $at, 0x501 +/* 0043481C 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 00434820 000B6023 */ negu $t4, $t3 +/* 00434824 01816824 */ and $t5, $t4, $at +/* 00434828 014D7004 */ sllv $t6, $t5, $t2 +/* 0043482C 05C10008 */ bgez $t6, .L00434850 +/* 00434830 00000000 */ nop +/* 00434834 8F998020 */ lw $t9, %got(func_00434618)($gp) +/* 00434838 27A20020 */ addiu $v0, $sp, 0x20 +/* 0043483C 27394618 */ addiu $t9, %lo(func_00434618) # addiu $t9, $t9, 0x4618 +/* 00434840 0320F809 */ jalr $t9 +/* 00434844 00000000 */ nop +/* 00434848 10000007 */ b .L00434868 +/* 0043484C 8FBC0018 */ lw $gp, 0x18($sp) +.L00434850: +/* 00434850 8F998020 */ lw $t9, %got(func_004340D4)($gp) +/* 00434854 27A20020 */ addiu $v0, $sp, 0x20 +/* 00434858 273940D4 */ addiu $t9, %lo(func_004340D4) # addiu $t9, $t9, 0x40d4 +/* 0043485C 0320F809 */ jalr $t9 +/* 00434860 00000000 */ nop +/* 00434864 8FBC0018 */ lw $gp, 0x18($sp) +.L00434868: +/* 00434868 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043486C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00434870 03E00008 */ jr $ra +/* 00434874 00000000 */ nop + .type eval_int_int_cvt, @function + .size eval_int_int_cvt, .-eval_int_int_cvt + .end eval_int_int_cvt + +glabel eval_flt_flt_cvt + .ent eval_flt_flt_cvt + # 0042BDAC eval +/* 00434878 3C1C0FBF */ .cpload $t9 +/* 0043487C 279CB1D8 */ +/* 00434880 0399E021 */ +/* 00434884 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00434888 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0043488C AFB00014 */ sw $s0, 0x14($sp) +/* 00434890 00808025 */ move $s0, $a0 +/* 00434894 AFBF001C */ sw $ra, 0x1c($sp) +/* 00434898 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043489C AFA5002C */ sw $a1, 0x2c($sp) +/* 004348A0 8C840000 */ lw $a0, ($a0) +/* 004348A4 0320F809 */ jalr $t9 +/* 004348A8 24050048 */ li $a1, 72 +/* 004348AC 8FBC0018 */ lw $gp, 0x18($sp) +/* 004348B0 92050021 */ lbu $a1, 0x21($s0) +/* 004348B4 92040028 */ lbu $a0, 0x28($s0) +/* 004348B8 8F9983C8 */ lw $t9, %call16(cvt_tab)($gp) +/* 004348BC 30A5001F */ andi $a1, $a1, 0x1f +/* 004348C0 0320F809 */ jalr $t9 +/* 004348C4 00000000 */ nop +/* 004348C8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004348CC A7A20026 */ sh $v0, 0x26($sp) +/* 004348D0 8E040000 */ lw $a0, ($s0) +/* 004348D4 8F998340 */ lw $t9, %call16(flt_reg)($gp) +/* 004348D8 0320F809 */ jalr $t9 +/* 004348DC 00000000 */ nop +/* 004348E0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004348E4 A3A20024 */ sb $v0, 0x24($sp) +/* 004348E8 02002025 */ move $a0, $s0 +/* 004348EC 8F998348 */ lw $t9, %call16(get_dest)($gp) +/* 004348F0 93A5002F */ lbu $a1, 0x2f($sp) +/* 004348F4 0320F809 */ jalr $t9 +/* 004348F8 00000000 */ nop +/* 004348FC 304E00FF */ andi $t6, $v0, 0xff +/* 00434900 25CFFFE0 */ addiu $t7, $t6, -0x20 +/* 00434904 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00434908 0018C823 */ negu $t9, $t8 +/* 0043490C 01F94004 */ sllv $t0, $t9, $t7 +/* 00434910 8FBC0018 */ lw $gp, 0x18($sp) +/* 00434914 A3A2002F */ sb $v0, 0x2f($sp) +/* 00434918 0500000C */ bltz $t0, .L0043494C +/* 0043491C 304700FF */ andi $a3, $v0, 0xff +/* 00434920 92090021 */ lbu $t1, 0x21($s0) +/* 00434924 8F8B8898 */ lw $t3, %got(reg_kind_tab)($gp) +/* 00434928 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0043492C 312A001F */ andi $t2, $t1, 0x1f +/* 00434930 014B6021 */ addu $t4, $t2, $t3 +/* 00434934 91850000 */ lbu $a1, ($t4) +/* 00434938 00002025 */ move $a0, $zero +/* 0043493C 0320F809 */ jalr $t9 +/* 00434940 24060001 */ li $a2, 1 +/* 00434944 8FBC0018 */ lw $gp, 0x18($sp) +/* 00434948 304700FF */ andi $a3, $v0, 0xff +.L0043494C: +/* 0043494C 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00434950 97A40026 */ lhu $a0, 0x26($sp) +/* 00434954 00E02825 */ move $a1, $a3 +/* 00434958 93A60024 */ lbu $a2, 0x24($sp) +/* 0043495C 0320F809 */ jalr $t9 +/* 00434960 A3A70025 */ sb $a3, 0x25($sp) +/* 00434964 93A70025 */ lbu $a3, 0x25($sp) +/* 00434968 93AD002F */ lbu $t5, 0x2f($sp) +/* 0043496C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00434970 10ED000D */ beq $a3, $t5, .L004349A8 +/* 00434974 00000000 */ nop +/* 00434978 920E0021 */ lbu $t6, 0x21($s0) +/* 0043497C 8F998898 */ lw $t9, %got(reg_kind_tab)($gp) +/* 00434980 00E02025 */ move $a0, $a3 +/* 00434984 31D8001F */ andi $t8, $t6, 0x1f +/* 00434988 03197821 */ addu $t7, $t8, $t9 +/* 0043498C 8F998514 */ lw $t9, %call16(free_fp_reg)($gp) +/* 00434990 91E50000 */ lbu $a1, ($t7) +/* 00434994 A3A70025 */ sb $a3, 0x25($sp) +/* 00434998 0320F809 */ jalr $t9 +/* 0043499C 00000000 */ nop +/* 004349A0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004349A4 93A70025 */ lbu $a3, 0x25($sp) +.L004349A8: +/* 004349A8 8F99834C */ lw $t9, %call16(move_to_dest)($gp) +/* 004349AC 92060021 */ lbu $a2, 0x21($s0) +/* 004349B0 93A4002F */ lbu $a0, 0x2f($sp) +/* 004349B4 00E02825 */ move $a1, $a3 +/* 004349B8 0320F809 */ jalr $t9 +/* 004349BC 30C6001F */ andi $a2, $a2, 0x1f +/* 004349C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 004349C4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004349C8 8FB00014 */ lw $s0, 0x14($sp) +/* 004349CC 03E00008 */ jr $ra +/* 004349D0 27BD0028 */ addiu $sp, $sp, 0x28 + .type eval_flt_flt_cvt, @function + .size eval_flt_flt_cvt, .-eval_flt_flt_cvt + .end eval_flt_flt_cvt +)""); diff --git a/src/ugen/fold.c b/src/ugen/fold.c new file mode 100644 index 0000000..7793b20 --- /dev/null +++ b/src/ugen/fold.c @@ -0,0 +1,545 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel add_overflow + .ent add_overflow + # 0040F4C8 build_tree +/* 004349E0 24010006 */ li $at, 6 +/* 004349E4 1481000B */ bne $a0, $at, .L00434A14 +/* 004349E8 AFA40000 */ sw $a0, ($sp) +/* 004349EC 00A61826 */ xor $v1, $a1, $a2 +/* 004349F0 28630000 */ slti $v1, $v1, 0 +/* 004349F4 38620001 */ xori $v0, $v1, 1 +/* 004349F8 10400003 */ beqz $v0, .L00434A08 +/* 004349FC 00A67021 */ addu $t6, $a1, $a2 +/* 00434A00 00AE1026 */ xor $v0, $a1, $t6 +/* 00434A04 28420000 */ slti $v0, $v0, 0 +.L00434A08: +/* 00434A08 304300FF */ andi $v1, $v0, 0xff +/* 00434A0C 03E00008 */ jr $ra +/* 00434A10 00601025 */ move $v0, $v1 + +.L00434A14: +/* 00434A14 00A07827 */ not $t7, $a1 +/* 00434A18 01E6182B */ sltu $v1, $t7, $a2 +/* 00434A1C 306300FF */ andi $v1, $v1, 0xff +/* 00434A20 03E00008 */ jr $ra +/* 00434A24 00601025 */ move $v0, $v1 + .type add_overflow, @function + .size add_overflow, .-add_overflow + .end add_overflow + +glabel sub_overflow + .ent sub_overflow + # 0040F4C8 build_tree +/* 00434A28 24010006 */ li $at, 6 +/* 00434A2C 1481000A */ bne $a0, $at, .L00434A58 +/* 00434A30 AFA40000 */ sw $a0, ($sp) +/* 00434A34 00A61826 */ xor $v1, $a1, $a2 +/* 00434A38 28620000 */ slti $v0, $v1, 0 +/* 00434A3C 10400003 */ beqz $v0, .L00434A4C +/* 00434A40 00A67023 */ subu $t6, $a1, $a2 +/* 00434A44 00AE1026 */ xor $v0, $a1, $t6 +/* 00434A48 28420000 */ slti $v0, $v0, 0 +.L00434A4C: +/* 00434A4C 304300FF */ andi $v1, $v0, 0xff +/* 00434A50 03E00008 */ jr $ra +/* 00434A54 00601025 */ move $v0, $v1 + +.L00434A58: +/* 00434A58 00A6182B */ sltu $v1, $a1, $a2 +/* 00434A5C 306300FF */ andi $v1, $v1, 0xff +/* 00434A60 03E00008 */ jr $ra +/* 00434A64 00601025 */ move $v0, $v1 + .type sub_overflow, @function + .size sub_overflow, .-sub_overflow + .end sub_overflow + +glabel is_constant + .ent is_constant + # 0040F4C8 build_tree + # 00428D14 eval_mov + # 0042BDAC eval + # 00434E4C fold1 + # 004432FC translate + # 004488F4 translate_cvtl + # 00448E08 need_check_hl + # 0044A740 dup_tree + # 0044AD80 is_ivalue +/* 00434A68 90830020 */ lbu $v1, 0x20($a0) +/* 00434A6C 38630049 */ xori $v1, $v1, 0x49 +/* 00434A70 2C630001 */ sltiu $v1, $v1, 1 +/* 00434A74 10600009 */ beqz $v1, .L00434A9C +/* 00434A78 00000000 */ nop +/* 00434A7C 908E0021 */ lbu $t6, 0x21($a0) +/* 00434A80 3C018F81 */ lui $at, 0x8f81 +/* 00434A84 31CF001F */ andi $t7, $t6, 0x1f +/* 00434A88 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00434A8C 0018C823 */ negu $t9, $t8 +/* 00434A90 03214024 */ and $t0, $t9, $at +/* 00434A94 01E81804 */ sllv $v1, $t0, $t7 +/* 00434A98 28630000 */ slti $v1, $v1, 0 +.L00434A9C: +/* 00434A9C 03E00008 */ jr $ra +/* 00434AA0 00601025 */ move $v0, $v1 + .type is_constant, @function + .size is_constant, .-is_constant + .end is_constant + +glabel llconst + .ent llconst + # 00434B28 fold +/* 00434AA4 2CAE0020 */ sltiu $t6, $a1, 0x20 +/* 00434AA8 000E7823 */ negu $t7, $t6 +/* 00434AAC 3C010501 */ lui $at, 0x501 +/* 00434AB0 01E1C024 */ and $t8, $t7, $at +/* 00434AB4 27BDFFF8 */ addiu $sp, $sp, -8 +/* 00434AB8 00B8C804 */ sllv $t9, $t8, $a1 +/* 00434ABC 07210006 */ bgez $t9, .L00434AD8 +/* 00434AC0 AFA5000C */ sw $a1, 0xc($sp) +/* 00434AC4 8C880030 */ lw $t0, 0x30($a0) +/* 00434AC8 8C890034 */ lw $t1, 0x34($a0) +/* 00434ACC AFA80000 */ sw $t0, ($sp) +/* 00434AD0 10000011 */ b .L00434B18 +/* 00434AD4 AFA90004 */ sw $t1, 4($sp) +.L00434AD8: +/* 00434AD8 2CAA0020 */ sltiu $t2, $a1, 0x20 +/* 00434ADC 000A5823 */ negu $t3, $t2 +/* 00434AE0 3C010600 */ lui $at, 0x600 +/* 00434AE4 01616024 */ and $t4, $t3, $at +/* 00434AE8 00AC6804 */ sllv $t5, $t4, $a1 +/* 00434AEC 05A30007 */ bgezl $t5, .L00434B0C +/* 00434AF0 8C8F0030 */ lw $t7, 0x30($a0) +/* 00434AF4 8C990030 */ lw $t9, 0x30($a0) +/* 00434AF8 0019C7C3 */ sra $t8, $t9, 0x1f +/* 00434AFC AFB80000 */ sw $t8, ($sp) +/* 00434B00 10000005 */ b .L00434B18 +/* 00434B04 AFB90004 */ sw $t9, 4($sp) +/* 00434B08 8C8F0030 */ lw $t7, 0x30($a0) +.L00434B0C: +/* 00434B0C 24080000 */ li $t0, 0 +/* 00434B10 AFA80000 */ sw $t0, ($sp) +/* 00434B14 AFAF0004 */ sw $t7, 4($sp) +.L00434B18: +/* 00434B18 8FA20000 */ lw $v0, ($sp) +/* 00434B1C 8FA30004 */ lw $v1, 4($sp) +/* 00434B20 03E00008 */ jr $ra +/* 00434B24 27BD0008 */ addiu $sp, $sp, 8 + .type llconst, @function + .size llconst, .-llconst + .end llconst + +glabel fold + .ent fold + # 004432FC translate + # 004488F4 translate_cvtl +/* 00434B28 3C1C0FBF */ .cpload $t9 +/* 00434B2C 279CAF28 */ +/* 00434B30 0399E021 */ +/* 00434B34 27BDFF80 */ addiu $sp, $sp, -0x80 +/* 00434B38 AFBF0034 */ sw $ra, 0x34($sp) +/* 00434B3C AFBC0030 */ sw $gp, 0x30($sp) +/* 00434B40 AFB0002C */ sw $s0, 0x2c($sp) +/* 00434B44 908E0020 */ lbu $t6, 0x20($a0) +/* 00434B48 24010018 */ li $at, 24 +/* 00434B4C 00808025 */ move $s0, $a0 +/* 00434B50 15C1004A */ bne $t6, $at, .L00434C7C +/* 00434B54 00000000 */ nop +/* 00434B58 948F0022 */ lhu $t7, 0x22($a0) +/* 00434B5C 31F80002 */ andi $t8, $t7, 2 +/* 00434B60 53000004 */ beql $t8, $zero, .L00434B74 +/* 00434B64 92050021 */ lbu $a1, 0x21($s0) +/* 00434B68 100000B3 */ b .L00434E38 +/* 00434B6C 00801025 */ move $v0, $a0 +/* 00434B70 92050021 */ lbu $a1, 0x21($s0) +.L00434B74: +/* 00434B74 3C01000C */ lui $at, 0xc +/* 00434B78 34218000 */ ori $at, $at, 0x8000 +/* 00434B7C 30A5001F */ andi $a1, $a1, 0x1f +/* 00434B80 2CB90020 */ sltiu $t9, $a1, 0x20 +/* 00434B84 00194023 */ negu $t0, $t9 +/* 00434B88 01014824 */ and $t1, $t0, $at +/* 00434B8C 00A95004 */ sllv $t2, $t1, $a1 +/* 00434B90 05410003 */ bgez $t2, .L00434BA0 +/* 00434B94 2CAB0020 */ sltiu $t3, $a1, 0x20 +/* 00434B98 100000A7 */ b .L00434E38 +/* 00434B9C 02001025 */ move $v0, $s0 +.L00434BA0: +/* 00434BA0 000B6023 */ negu $t4, $t3 +/* 00434BA4 3C010501 */ lui $at, 0x501 +/* 00434BA8 01816824 */ and $t5, $t4, $at +/* 00434BAC 00AD1004 */ sllv $v0, $t5, $a1 +/* 00434BB0 28420000 */ slti $v0, $v0, 0 +/* 00434BB4 10400018 */ beqz $v0, .L00434C18 +/* 00434BB8 00000000 */ nop +/* 00434BBC 8E060000 */ lw $a2, ($s0) +/* 00434BC0 3C010501 */ lui $at, 0x501 +/* 00434BC4 90C70021 */ lbu $a3, 0x21($a2) +/* 00434BC8 30E7001F */ andi $a3, $a3, 0x1f +/* 00434BCC 2CEE0020 */ sltiu $t6, $a3, 0x20 +/* 00434BD0 000E7823 */ negu $t7, $t6 +/* 00434BD4 01E1C024 */ and $t8, $t7, $at +/* 00434BD8 00F8C804 */ sllv $t9, $t8, $a3 +/* 00434BDC 0720000E */ bltz $t9, .L00434C18 +/* 00434BE0 00000000 */ nop +/* 00434BE4 8F9983F8 */ lw $t9, %call16(llconst)($gp) +/* 00434BE8 00C02025 */ move $a0, $a2 +/* 00434BEC 00E02825 */ move $a1, $a3 +/* 00434BF0 0320F809 */ jalr $t9 +/* 00434BF4 00000000 */ nop +/* 00434BF8 8E080000 */ lw $t0, ($s0) +/* 00434BFC 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434C00 AD030034 */ sw $v1, 0x34($t0) +/* 00434C04 AD020030 */ sw $v0, 0x30($t0) +/* 00434C08 92050021 */ lbu $a1, 0x21($s0) +/* 00434C0C 8E060000 */ lw $a2, ($s0) +/* 00434C10 10000011 */ b .L00434C58 +/* 00434C14 30A5001F */ andi $a1, $a1, 0x1f +.L00434C18: +/* 00434C18 1440000F */ bnez $v0, .L00434C58 +/* 00434C1C 8E060000 */ lw $a2, ($s0) +/* 00434C20 90C90021 */ lbu $t1, 0x21($a2) +/* 00434C24 3C010501 */ lui $at, 0x501 +/* 00434C28 312A001F */ andi $t2, $t1, 0x1f +/* 00434C2C 2D4B0020 */ sltiu $t3, $t2, 0x20 +/* 00434C30 000B6023 */ negu $t4, $t3 +/* 00434C34 01816824 */ and $t5, $t4, $at +/* 00434C38 014D7004 */ sllv $t6, $t5, $t2 +/* 00434C3C 05C30007 */ bgezl $t6, .L00434C5C +/* 00434C40 90C70021 */ lbu $a3, 0x21($a2) +/* 00434C44 8CD90034 */ lw $t9, 0x34($a2) +/* 00434C48 ACD90030 */ sw $t9, 0x30($a2) +/* 00434C4C 92050021 */ lbu $a1, 0x21($s0) +/* 00434C50 8E060000 */ lw $a2, ($s0) +/* 00434C54 30A5001F */ andi $a1, $a1, 0x1f +.L00434C58: +/* 00434C58 90C70021 */ lbu $a3, 0x21($a2) +.L00434C5C: +/* 00434C5C 00C01025 */ move $v0, $a2 +/* 00434C60 000746C0 */ sll $t0, $a3, 0x1b +/* 00434C64 00084EC2 */ srl $t1, $t0, 0x1b +/* 00434C68 00A95826 */ xor $t3, $a1, $t1 +/* 00434C6C 316C001F */ andi $t4, $t3, 0x1f +/* 00434C70 01876826 */ xor $t5, $t4, $a3 +/* 00434C74 10000070 */ b .L00434E38 +/* 00434C78 A0CD0021 */ sb $t5, 0x21($a2) +.L00434C7C: +/* 00434C7C 8F9983F8 */ lw $t9, %call16(llconst)($gp) +/* 00434C80 92050021 */ lbu $a1, 0x21($s0) +/* 00434C84 8E040000 */ lw $a0, ($s0) +/* 00434C88 0320F809 */ jalr $t9 +/* 00434C8C 30A5001F */ andi $a1, $a1, 0x1f +/* 00434C90 8E060004 */ lw $a2, 4($s0) +/* 00434C94 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434C98 AFA20068 */ sw $v0, 0x68($sp) +/* 00434C9C 10C0000B */ beqz $a2, .L00434CCC +/* 00434CA0 AFA3006C */ sw $v1, 0x6c($sp) +/* 00434CA4 8F9983F8 */ lw $t9, %call16(llconst)($gp) +/* 00434CA8 92050021 */ lbu $a1, 0x21($s0) +/* 00434CAC 00C02025 */ move $a0, $a2 +/* 00434CB0 0320F809 */ jalr $t9 +/* 00434CB4 30A5001F */ andi $a1, $a1, 0x1f +/* 00434CB8 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434CBC AFA20060 */ sw $v0, 0x60($sp) +/* 00434CC0 AFA30064 */ sw $v1, 0x64($sp) +/* 00434CC4 10000009 */ b .L00434CEC +/* 00434CC8 92040020 */ lbu $a0, 0x20($s0) +.L00434CCC: +/* 00434CCC 92040020 */ lbu $a0, 0x20($s0) +/* 00434CD0 24010019 */ li $at, 25 +/* 00434CD4 54810006 */ bnel $a0, $at, .L00434CF0 +/* 00434CD8 92050021 */ lbu $a1, 0x21($s0) +/* 00434CDC 8E0A0024 */ lw $t2, 0x24($s0) +/* 00434CE0 000A77C3 */ sra $t6, $t2, 0x1f +/* 00434CE4 AFAE0060 */ sw $t6, 0x60($sp) +/* 00434CE8 AFAA0064 */ sw $t2, 0x64($sp) +.L00434CEC: +/* 00434CEC 92050021 */ lbu $a1, 0x21($s0) +.L00434CF0: +/* 00434CF0 8FB80060 */ lw $t8, 0x60($sp) +/* 00434CF4 3C010600 */ lui $at, 0x600 +/* 00434CF8 30A5001F */ andi $a1, $a1, 0x1f +/* 00434CFC 2CA80020 */ sltiu $t0, $a1, 0x20 +/* 00434D00 00084823 */ negu $t1, $t0 +/* 00434D04 8FB90064 */ lw $t9, 0x64($sp) +/* 00434D08 01215824 */ and $t3, $t1, $at +/* 00434D0C 2CAA0020 */ sltiu $t2, $a1, 0x20 +/* 00434D10 000A7023 */ negu $t6, $t2 +/* 00434D14 3C010501 */ lui $at, 0x501 +/* 00434D18 01C17824 */ and $t7, $t6, $at +/* 00434D1C AFB80010 */ sw $t8, 0x10($sp) +/* 00434D20 00AFC004 */ sllv $t8, $t7, $a1 +/* 00434D24 AFB90014 */ sw $t9, 0x14($sp) +/* 00434D28 96090022 */ lhu $t1, 0x22($s0) +/* 00434D2C 2B190000 */ slti $t9, $t8, 0 +/* 00434D30 00AB6004 */ sllv $t4, $t3, $a1 +/* 00434D34 298D0000 */ slti $t5, $t4, 0 +/* 00434D38 2F280001 */ sltiu $t0, $t9, 1 +/* 00434D3C 8F998178 */ lw $t9, %call16(fold_constant)($gp) +/* 00434D40 AFAD0018 */ sw $t5, 0x18($sp) +/* 00434D44 312B0002 */ andi $t3, $t1, 2 +/* 00434D48 000B602B */ sltu $t4, $zero, $t3 +/* 00434D4C 27AD0070 */ addiu $t5, $sp, 0x70 +/* 00434D50 AFAD0024 */ sw $t5, 0x24($sp) +/* 00434D54 AFAC0020 */ sw $t4, 0x20($sp) +/* 00434D58 AFA8001C */ sw $t0, 0x1c($sp) +/* 00434D5C 8FA60068 */ lw $a2, 0x68($sp) +/* 00434D60 0320F809 */ jalr $t9 +/* 00434D64 8FA7006C */ lw $a3, 0x6c($sp) +/* 00434D68 10400030 */ beqz $v0, .L00434E2C +/* 00434D6C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434D70 8E040000 */ lw $a0, ($s0) +/* 00434D74 920A0019 */ lbu $t2, 0x19($s0) +/* 00434D78 8E060004 */ lw $a2, 4($s0) +/* 00434D7C 908F0019 */ lbu $t7, 0x19($a0) +/* 00434D80 314EFFFE */ andi $t6, $t2, 0xfffe +/* 00434D84 2402FFFE */ li $v0, -2 +/* 00434D88 31F8FFFE */ andi $t8, $t7, 0xfffe +/* 00434D8C A20E0019 */ sb $t6, 0x19($s0) +/* 00434D90 10C00004 */ beqz $a2, .L00434DA4 +/* 00434D94 A0980019 */ sb $t8, 0x19($a0) +/* 00434D98 90D90019 */ lbu $t9, 0x19($a2) +/* 00434D9C 03224024 */ and $t0, $t9, $v0 +/* 00434DA0 A0C80019 */ sb $t0, 0x19($a2) +.L00434DA4: +/* 00434DA4 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00434DA8 02002025 */ move $a0, $s0 +/* 00434DAC 0320F809 */ jalr $t9 +/* 00434DB0 00000000 */ nop +/* 00434DB4 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434DB8 02002025 */ move $a0, $s0 +/* 00434DBC 8F998694 */ lw $t9, %call16(result_type)($gp) +/* 00434DC0 0320F809 */ jalr $t9 +/* 00434DC4 00000000 */ nop +/* 00434DC8 304900FF */ andi $t1, $v0, 0xff +/* 00434DCC 2D2B0020 */ sltiu $t3, $t1, 0x20 +/* 00434DD0 000B6023 */ negu $t4, $t3 +/* 00434DD4 3C010501 */ lui $at, 0x501 +/* 00434DD8 01816824 */ and $t5, $t4, $at +/* 00434DDC 012D5004 */ sllv $t2, $t5, $t1 +/* 00434DE0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434DE4 05410009 */ bgez $t2, .L00434E0C +/* 00434DE8 304400FF */ andi $a0, $v0, 0xff +/* 00434DEC 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00434DF0 8FA60070 */ lw $a2, 0x70($sp) +/* 00434DF4 8FA70074 */ lw $a3, 0x74($sp) +/* 00434DF8 0320F809 */ jalr $t9 +/* 00434DFC 00000000 */ nop +/* 00434E00 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434E04 1000000B */ b .L00434E34 +/* 00434E08 00402025 */ move $a0, $v0 +.L00434E0C: +/* 00434E0C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00434E10 00002825 */ move $a1, $zero +/* 00434E14 8FA60074 */ lw $a2, 0x74($sp) +/* 00434E18 0320F809 */ jalr $t9 +/* 00434E1C 00000000 */ nop +/* 00434E20 8FBC0030 */ lw $gp, 0x30($sp) +/* 00434E24 10000003 */ b .L00434E34 +/* 00434E28 00402025 */ move $a0, $v0 +.L00434E2C: +/* 00434E2C 10000002 */ b .L00434E38 +/* 00434E30 02001025 */ move $v0, $s0 +.L00434E34: +/* 00434E34 00801025 */ move $v0, $a0 +.L00434E38: +/* 00434E38 8FBF0034 */ lw $ra, 0x34($sp) +/* 00434E3C 8FB0002C */ lw $s0, 0x2c($sp) +/* 00434E40 27BD0080 */ addiu $sp, $sp, 0x80 +/* 00434E44 03E00008 */ jr $ra +/* 00434E48 00000000 */ nop + .type fold, @function + .size fold, .-fold + .end fold + +glabel fold1 + .ent fold1 + # 004432FC translate +/* 00434E4C 3C1C0FBF */ .cpload $t9 +/* 00434E50 279CAC04 */ +/* 00434E54 0399E021 */ +/* 00434E58 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 00434E5C AFBF002C */ sw $ra, 0x2c($sp) +/* 00434E60 AFBC0028 */ sw $gp, 0x28($sp) +/* 00434E64 AFB10024 */ sw $s1, 0x24($sp) +/* 00434E68 AFB00020 */ sw $s0, 0x20($sp) +/* 00434E6C 8C820000 */ lw $v0, ($a0) +/* 00434E70 3C010501 */ lui $at, 0x501 +/* 00434E74 00808825 */ move $s1, $a0 +/* 00434E78 904E0021 */ lbu $t6, 0x21($v0) +/* 00434E7C 31CF001F */ andi $t7, $t6, 0x1f +/* 00434E80 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00434E84 0018C823 */ negu $t9, $t8 +/* 00434E88 03214024 */ and $t0, $t9, $at +/* 00434E8C 01E84804 */ sllv $t1, $t0, $t7 +/* 00434E90 05210016 */ bgez $t1, .L00434EEC +/* 00434E94 00000000 */ nop +/* 00434E98 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00434E9C 8C440000 */ lw $a0, ($v0) +/* 00434EA0 0320F809 */ jalr $t9 +/* 00434EA4 00000000 */ nop +/* 00434EA8 10400009 */ beqz $v0, .L00434ED0 +/* 00434EAC 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434EB0 8E220000 */ lw $v0, ($s1) +/* 00434EB4 8C4A0000 */ lw $t2, ($v0) +/* 00434EB8 8C440004 */ lw $a0, 4($v0) +/* 00434EBC 8D4C0030 */ lw $t4, 0x30($t2) +/* 00434EC0 8D4D0034 */ lw $t5, 0x34($t2) +/* 00434EC4 AFAC0050 */ sw $t4, 0x50($sp) +/* 00434EC8 1000001C */ b .L00434F3C +/* 00434ECC AFAD0054 */ sw $t5, 0x54($sp) +.L00434ED0: +/* 00434ED0 8E2B0000 */ lw $t3, ($s1) +/* 00434ED4 8D640004 */ lw $a0, 4($t3) +/* 00434ED8 8C8E0030 */ lw $t6, 0x30($a0) +/* 00434EDC 8C8F0034 */ lw $t7, 0x34($a0) +/* 00434EE0 AFAE0050 */ sw $t6, 0x50($sp) +/* 00434EE4 10000015 */ b .L00434F3C +/* 00434EE8 AFAF0054 */ sw $t7, 0x54($sp) +.L00434EEC: +/* 00434EEC 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00434EF0 8C440000 */ lw $a0, ($v0) +/* 00434EF4 0320F809 */ jalr $t9 +/* 00434EF8 00000000 */ nop +/* 00434EFC 10400009 */ beqz $v0, .L00434F24 +/* 00434F00 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434F04 8E220000 */ lw $v0, ($s1) +/* 00434F08 8C580000 */ lw $t8, ($v0) +/* 00434F0C 8C440004 */ lw $a0, 4($v0) +/* 00434F10 8F190030 */ lw $t9, 0x30($t8) +/* 00434F14 001947C3 */ sra $t0, $t9, 0x1f +/* 00434F18 AFA80050 */ sw $t0, 0x50($sp) +/* 00434F1C 10000007 */ b .L00434F3C +/* 00434F20 AFB90054 */ sw $t9, 0x54($sp) +.L00434F24: +/* 00434F24 8E2A0000 */ lw $t2, ($s1) +/* 00434F28 8D440004 */ lw $a0, 4($t2) +/* 00434F2C 8C8C0030 */ lw $t4, 0x30($a0) +/* 00434F30 000C77C3 */ sra $t6, $t4, 0x1f +/* 00434F34 AFAE0050 */ sw $t6, 0x50($sp) +/* 00434F38 AFAC0054 */ sw $t4, 0x54($sp) +.L00434F3C: +/* 00434F3C 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00434F40 0320F809 */ jalr $t9 +/* 00434F44 00000000 */ nop +/* 00434F48 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434F4C 8E2D0000 */ lw $t5, ($s1) +/* 00434F50 8FA60050 */ lw $a2, 0x50($sp) +/* 00434F54 8F99817C */ lw $t9, %call16(fold_identities)($gp) +/* 00434F58 91A40020 */ lbu $a0, 0x20($t5) +/* 00434F5C AFA20010 */ sw $v0, 0x10($sp) +/* 00434F60 0320F809 */ jalr $t9 +/* 00434F64 8FA70054 */ lw $a3, 0x54($sp) +/* 00434F68 1040001E */ beqz $v0, .L00434FE4 +/* 00434F6C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434F70 8E300000 */ lw $s0, ($s1) +/* 00434F74 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00434F78 920B0019 */ lbu $t3, 0x19($s0) +/* 00434F7C 8E040000 */ lw $a0, ($s0) +/* 00434F80 3178FFFE */ andi $t8, $t3, 0xfffe +/* 00434F84 0320F809 */ jalr $t9 +/* 00434F88 A2180019 */ sb $t8, 0x19($s0) +/* 00434F8C 10400008 */ beqz $v0, .L00434FB0 +/* 00434F90 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434F94 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00434F98 8E040004 */ lw $a0, 4($s0) +/* 00434F9C 0320F809 */ jalr $t9 +/* 00434FA0 00000000 */ nop +/* 00434FA4 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434FA8 10000007 */ b .L00434FC8 +/* 00434FAC AE220000 */ sw $v0, ($s1) +.L00434FB0: +/* 00434FB0 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00434FB4 8E040000 */ lw $a0, ($s0) +/* 00434FB8 0320F809 */ jalr $t9 +/* 00434FBC 00000000 */ nop +/* 00434FC0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434FC4 AE220000 */ sw $v0, ($s1) +.L00434FC8: +/* 00434FC8 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00434FCC 02002025 */ move $a0, $s0 +/* 00434FD0 0320F809 */ jalr $t9 +/* 00434FD4 00000000 */ nop +/* 00434FD8 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434FDC 10000038 */ b .L004350C0 +/* 00434FE0 24020001 */ li $v0, 1 +.L00434FE4: +/* 00434FE4 8E390000 */ lw $t9, ($s1) +/* 00434FE8 8F240004 */ lw $a0, 4($t9) +/* 00434FEC 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00434FF0 0320F809 */ jalr $t9 +/* 00434FF4 00000000 */ nop +/* 00434FF8 8FBC0028 */ lw $gp, 0x28($sp) +/* 00434FFC 8E280000 */ lw $t0, ($s1) +/* 00435000 27A90048 */ addiu $t1, $sp, 0x48 +/* 00435004 8F998180 */ lw $t9, %call16(fold_idempotents)($gp) +/* 00435008 91040020 */ lbu $a0, 0x20($t0) +/* 0043500C AFA90014 */ sw $t1, 0x14($sp) +/* 00435010 AFA20010 */ sw $v0, 0x10($sp) +/* 00435014 8FA60050 */ lw $a2, 0x50($sp) +/* 00435018 0320F809 */ jalr $t9 +/* 0043501C 8FA70054 */ lw $a3, 0x54($sp) +/* 00435020 10400026 */ beqz $v0, .L004350BC +/* 00435024 8FBC0028 */ lw $gp, 0x28($sp) +/* 00435028 8E220000 */ lw $v0, ($s1) +/* 0043502C 3C010501 */ lui $at, 0x501 +/* 00435030 8FA60048 */ lw $a2, 0x48($sp) +/* 00435034 904A0021 */ lbu $t2, 0x21($v0) +/* 00435038 00002825 */ move $a1, $zero +/* 0043503C 00408025 */ move $s0, $v0 +/* 00435040 314C001F */ andi $t4, $t2, 0x1f +/* 00435044 2D8E0020 */ sltiu $t6, $t4, 0x20 +/* 00435048 000E7823 */ negu $t7, $t6 +/* 0043504C 01E16824 */ and $t5, $t7, $at +/* 00435050 018D5804 */ sllv $t3, $t5, $t4 +/* 00435054 05610009 */ bgez $t3, .L0043507C +/* 00435058 00000000 */ nop +/* 0043505C 8F998688 */ lw $t9, %call16(dwvalue)($gp) +/* 00435060 90440021 */ lbu $a0, 0x21($v0) +/* 00435064 8FA7004C */ lw $a3, 0x4c($sp) +/* 00435068 0320F809 */ jalr $t9 +/* 0043506C 3084001F */ andi $a0, $a0, 0x1f +/* 00435070 8FBC0028 */ lw $gp, 0x28($sp) +/* 00435074 10000008 */ b .L00435098 +/* 00435078 AE220000 */ sw $v0, ($s1) +.L0043507C: +/* 0043507C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00435080 92040021 */ lbu $a0, 0x21($s0) +/* 00435084 8FA6004C */ lw $a2, 0x4c($sp) +/* 00435088 0320F809 */ jalr $t9 +/* 0043508C 3084001F */ andi $a0, $a0, 0x1f +/* 00435090 8FBC0028 */ lw $gp, 0x28($sp) +/* 00435094 AE220000 */ sw $v0, ($s1) +.L00435098: +/* 00435098 92080019 */ lbu $t0, 0x19($s0) +/* 0043509C 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 004350A0 02002025 */ move $a0, $s0 +/* 004350A4 3109FFFE */ andi $t1, $t0, 0xfffe +/* 004350A8 0320F809 */ jalr $t9 +/* 004350AC A2090019 */ sb $t1, 0x19($s0) +/* 004350B0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004350B4 10000002 */ b .L004350C0 +/* 004350B8 24020001 */ li $v0, 1 +.L004350BC: +/* 004350BC 00001025 */ move $v0, $zero +.L004350C0: +/* 004350C0 8FBF002C */ lw $ra, 0x2c($sp) +/* 004350C4 8FB00020 */ lw $s0, 0x20($sp) +/* 004350C8 8FB10024 */ lw $s1, 0x24($sp) +/* 004350CC 03E00008 */ jr $ra +/* 004350D0 27BD0060 */ addiu $sp, $sp, 0x60 + .type fold1, @function + .size fold1, .-fold1 + .end fold1 +)""); diff --git a/src/ugen/foldconst.c b/src/ugen/foldconst.c new file mode 100644 index 0000000..bb923ed --- /dev/null +++ b/src/ugen/foldconst.c @@ -0,0 +1,1315 @@ +#include +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_100081E0: + # 0040ADA0 warning + .asciz "ugen: warning: line %d: %s\n" + +RO_100081FC: + # 0040AF4C fold_constant + .asciz "divide by zero" + +RO_1000820C: + # 0040AF4C fold_constant + .asciz "divide by zero" + + .balign 4 +jtbl_1000821C: + # 0040AF4C fold_constant + .gpword .L0040B4FC + .gpword .L0040B050 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B2BC + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040AFA0 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B15C + .gpword .L0040B944 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B78C + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B5DC + .gpword .L0040B64C + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B2E0 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B6B4 + .gpword .L0040B724 + .gpword .L0040B958 + .gpword .L0040B434 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B898 + .gpword .L0040B7EC + .gpword .L0040B230 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B120 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B4A0 + .gpword .L0040B7BC + .gpword .L0040B958 + .gpword .L0040B418 + .gpword .L0040B590 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B328 + .gpword .L0040B374 + .gpword .L0040B958 + .gpword .L0040B464 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B0B8 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B958 + .gpword .L0040B304 + + .balign 4 +jtbl_10008454: + # 0040B988 fold_identities + .gpword .L0040BA80 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040BA34 + .gpword .L0040BA34 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040BA34 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040B9E4 + .gpword .L0040BA14 + + + +.bss + .balign 4 +# 1002121C +glabel print_warnings + # 0040ADA0 warning + # 0043D690 report_error + # 0044BF18 main + .space 4 + .size print_warnings, 4 + .type print_warnings, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +)""); +extern int current_line; +extern int print_warnings; + +/* +0040AF4C fold_constant +*/ +void warning(const char *warning_message) { + if (print_warnings) { + fprintf(stderr, "ugen: warning: line %d: %s\n", current_line, warning_message); + } +} +#if 0 +glabel warning + .ent warning + # 0040AF4C fold_constant +/* 0040ADA0 3C1C0FC1 */ .cpload $t9 +/* 0040ADA4 279C4CB0 */ +/* 0040ADA8 0399E021 */ +/* 0040ADAC 8F8E8964 */ lw $t6, %got(print_warnings)($gp) +/* 0040ADB0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0040ADB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0040ADB8 8DCE0000 */ lw $t6, ($t6) +/* 0040ADBC AFBC0018 */ sw $gp, 0x18($sp) +/* 0040ADC0 00803825 */ move $a3, $a0 +/* 0040ADC4 51C0000B */ beql $t6, $zero, .L0040ADF4 +/* 0040ADC8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0040ADCC 8F998078 */ lw $t9, %call16(fprintf)($gp) +/* 0040ADD0 8F848050 */ lw $a0, %got(__iob)($gp) +/* 0040ADD4 8F858038 */ lw $a1, %got(RO_100081E0)($gp) +/* 0040ADD8 8F868968 */ lw $a2, %got(current_line)($gp) +/* 0040ADDC 24840020 */ addiu $a0, $a0, 0x20 +/* 0040ADE0 24A581E0 */ addiu $a1, %lo(RO_100081E0) # addiu $a1, $a1, -0x7e20 +/* 0040ADE4 0320F809 */ jalr $t9 +/* 0040ADE8 8CC60000 */ lw $a2, ($a2) +/* 0040ADEC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0040ADF0 8FBF001C */ lw $ra, 0x1c($sp) +.L0040ADF4: +/* 0040ADF4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0040ADF8 03E00008 */ jr $ra +/* 0040ADFC 00000000 */ nop + .type warning, @function + .size warning, .-warning + .end warning +#endif + +__asm__(R""( +.set noat +.set noreorder + + .type func_0040AE00, @function +func_0040AE00: + # 0040AF4C fold_constant +/* 0040AE00 8FAE0010 */ lw $t6, 0x10($sp) +/* 0040AE04 AFA40000 */ sw $a0, ($sp) +/* 0040AE08 AFA50004 */ sw $a1, 4($sp) +/* 0040AE0C AFA60008 */ sw $a2, 8($sp) +/* 0040AE10 11C0001B */ beqz $t6, .L0040AE80 +/* 0040AE14 AFA7000C */ sw $a3, 0xc($sp) +/* 0040AE18 00865026 */ xor $t2, $a0, $a2 +/* 0040AE1C 000A102A */ slt $v0, $zero, $t2 +/* 0040AE20 0080C025 */ move $t8, $a0 +/* 0040AE24 00A0C825 */ move $t9, $a1 +/* 0040AE28 00C04025 */ move $t0, $a2 +/* 0040AE2C 00E04825 */ move $t1, $a3 +/* 0040AE30 1C400005 */ bgtz $v0, .L0040AE48 +/* 0040AE34 00A75826 */ xor $t3, $a1, $a3 +/* 0040AE38 05400003 */ bltz $t2, .L0040AE48 +/* 0040AE3C 00000000 */ nop +/* 0040AE40 2D620000 */ sltiu $v0, $t3, 0 +/* 0040AE44 38420001 */ xori $v0, $v0, 1 +.L0040AE48: +/* 0040AE48 10400016 */ beqz $v0, .L0040AEA4 +/* 0040AE4C 03296821 */ addu $t5, $t9, $t1 +/* 0040AE50 01A9082B */ sltu $at, $t5, $t1 +/* 0040AE54 00386021 */ addu $t4, $at, $t8 +/* 0040AE58 01886021 */ addu $t4, $t4, $t0 +/* 0040AE5C 01987026 */ xor $t6, $t4, $t8 +/* 0040AE60 29C20000 */ slti $v0, $t6, 0 +/* 0040AE64 1C400004 */ bgtz $v0, .L0040AE78 +/* 0040AE68 01B97826 */ xor $t7, $t5, $t9 +/* 0040AE6C 1DC00002 */ bgtz $t6, .L0040AE78 +/* 0040AE70 00000000 */ nop +/* 0040AE74 2DE20000 */ sltiu $v0, $t7, 0 +.L0040AE78: +/* 0040AE78 03E00008 */ jr $ra +/* 0040AE7C 00000000 */ nop + +.L0040AE80: +/* 0040AE80 8FAA0000 */ lw $t2, ($sp) +/* 0040AE84 8FAC0008 */ lw $t4, 8($sp) +/* 0040AE88 8FAB0004 */ lw $t3, 4($sp) +/* 0040AE8C 01404027 */ not $t0, $t2 +/* 0040AE90 8FAD000C */ lw $t5, 0xc($sp) +/* 0040AE94 010C102B */ sltu $v0, $t0, $t4 +/* 0040AE98 150C0002 */ bne $t0, $t4, .L0040AEA4 +/* 0040AE9C 01604827 */ not $t1, $t3 +/* 0040AEA0 012D102B */ sltu $v0, $t1, $t5 +.L0040AEA4: +/* 0040AEA4 03E00008 */ jr $ra +/* 0040AEA8 00000000 */ nop + + .type func_0040AEAC, @function +func_0040AEAC: + # 0040AF4C fold_constant +/* 0040AEAC 8FAE0010 */ lw $t6, 0x10($sp) +/* 0040AEB0 AFA40000 */ sw $a0, ($sp) +/* 0040AEB4 AFA50004 */ sw $a1, 4($sp) +/* 0040AEB8 AFA60008 */ sw $a2, 8($sp) +/* 0040AEBC 11C0001A */ beqz $t6, .L0040AF28 +/* 0040AEC0 AFA7000C */ sw $a3, 0xc($sp) +/* 0040AEC4 00865026 */ xor $t2, $a0, $a2 +/* 0040AEC8 29420000 */ slti $v0, $t2, 0 +/* 0040AECC 0080C025 */ move $t8, $a0 +/* 0040AED0 00A0C825 */ move $t9, $a1 +/* 0040AED4 00C04025 */ move $t0, $a2 +/* 0040AED8 00E04825 */ move $t1, $a3 +/* 0040AEDC 1C400004 */ bgtz $v0, .L0040AEF0 +/* 0040AEE0 00A75826 */ xor $t3, $a1, $a3 +/* 0040AEE4 1D400002 */ bgtz $t2, .L0040AEF0 +/* 0040AEE8 00000000 */ nop +/* 0040AEEC 2D620000 */ sltiu $v0, $t3, 0 +.L0040AEF0: +/* 0040AEF0 10400014 */ beqz $v0, .L0040AF44 +/* 0040AEF4 0329082B */ sltu $at, $t9, $t1 +/* 0040AEF8 03086023 */ subu $t4, $t8, $t0 +/* 0040AEFC 01816023 */ subu $t4, $t4, $at +/* 0040AF00 01987026 */ xor $t6, $t4, $t8 +/* 0040AF04 29C20000 */ slti $v0, $t6, 0 +/* 0040AF08 03296823 */ subu $t5, $t9, $t1 +/* 0040AF0C 1C400004 */ bgtz $v0, .L0040AF20 +/* 0040AF10 01B97826 */ xor $t7, $t5, $t9 +/* 0040AF14 1DC00002 */ bgtz $t6, .L0040AF20 +/* 0040AF18 00000000 */ nop +/* 0040AF1C 2DE20000 */ sltiu $v0, $t7, 0 +.L0040AF20: +/* 0040AF20 03E00008 */ jr $ra +/* 0040AF24 00000000 */ nop + +.L0040AF28: +/* 0040AF28 8FAA0000 */ lw $t2, ($sp) +/* 0040AF2C 8FA80008 */ lw $t0, 8($sp) +/* 0040AF30 8FAB0004 */ lw $t3, 4($sp) +/* 0040AF34 8FA9000C */ lw $t1, 0xc($sp) +/* 0040AF38 15480002 */ bne $t2, $t0, .L0040AF44 +/* 0040AF3C 0148102B */ sltu $v0, $t2, $t0 +/* 0040AF40 0169102B */ sltu $v0, $t3, $t1 +.L0040AF44: +/* 0040AF44 03E00008 */ jr $ra +/* 0040AF48 00000000 */ nop + +glabel fold_constant + .ent fold_constant + # 00434B28 fold +/* 0040AF4C 3C1C0FC1 */ .cpload $t9 +/* 0040AF50 279C4B04 */ +/* 0040AF54 0399E021 */ +/* 0040AF58 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0040AF5C 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040AF60 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040AF64 2C81008E */ sltiu $at, $a0, 0x8e +/* 0040AF68 AFBF0024 */ sw $ra, 0x24($sp) +/* 0040AF6C AFBC0020 */ sw $gp, 0x20($sp) +/* 0040AF70 AFA60050 */ sw $a2, 0x50($sp) +/* 0040AF74 AFA70054 */ sw $a3, 0x54($sp) +/* 0040AF78 AFAE0028 */ sw $t6, 0x28($sp) +/* 0040AF7C 10200276 */ beqz $at, .L0040B958 +/* 0040AF80 AFAF002C */ sw $t7, 0x2c($sp) +/* 0040AF84 8F818038 */ lw $at, %got(jtbl_1000821C)($gp) +/* 0040AF88 0004C080 */ sll $t8, $a0, 2 +/* 0040AF8C 00380821 */ addu $at, $at, $t8 +/* 0040AF90 8C38821C */ lw $t8, %lo(jtbl_1000821C)($at) +/* 0040AF94 031CC021 */ addu $t8, $t8, $gp +/* 0040AF98 03000008 */ jr $t8 +/* 0040AF9C 00000000 */ nop +.L0040AFA0: +/* 0040AFA0 8FB90068 */ lw $t9, 0x68($sp) +/* 0040AFA4 24040000 */ li $a0, 0 +/* 0040AFA8 13200003 */ beqz $t9, .L0040AFB8 +/* 0040AFAC 00000000 */ nop +/* 0040AFB0 10000271 */ b .L0040B978 +/* 0040AFB4 00001025 */ move $v0, $zero +.L0040AFB8: +/* 0040AFB8 8F99809C */ lw $t9, %call16(__ll_lshift)($gp) +/* 0040AFBC 24050001 */ li $a1, 1 +/* 0040AFC0 8FA60058 */ lw $a2, 0x58($sp) +/* 0040AFC4 0320F809 */ jalr $t9 +/* 0040AFC8 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040AFCC 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040AFD0 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040AFD4 8FA80060 */ lw $t0, 0x60($sp) +/* 0040AFD8 2C610001 */ sltiu $at, $v1, 1 +/* 0040AFDC 00416023 */ subu $t4, $v0, $at +/* 0040AFE0 246DFFFF */ addiu $t5, $v1, -1 +/* 0040AFE4 014C7024 */ and $t6, $t2, $t4 +/* 0040AFE8 016D7824 */ and $t7, $t3, $t5 +/* 0040AFEC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040AFF0 AFAF0044 */ sw $t7, 0x44($sp) +/* 0040AFF4 1100025A */ beqz $t0, .L0040B960 +/* 0040AFF8 AFAE0040 */ sw $t6, 0x40($sp) +/* 0040AFFC 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B000 8F99809C */ lw $t9, %call16(__ll_lshift)($gp) +/* 0040B004 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B008 2CE10001 */ sltiu $at, $a3, 1 +/* 0040B00C 24040000 */ li $a0, 0 +/* 0040B010 24050001 */ li $a1, 1 +/* 0040B014 24E7FFFF */ addiu $a3, $a3, -1 +/* 0040B018 0320F809 */ jalr $t9 +/* 0040B01C 00C13023 */ subu $a2, $a2, $at +/* 0040B020 8FB80040 */ lw $t8, 0x40($sp) +/* 0040B024 8FB90044 */ lw $t9, 0x44($sp) +/* 0040B028 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B02C 03025026 */ xor $t2, $t8, $v0 +/* 0040B030 03235826 */ xor $t3, $t9, $v1 +/* 0040B034 0163082B */ sltu $at, $t3, $v1 +/* 0040B038 01426023 */ subu $t4, $t2, $v0 +/* 0040B03C 01816023 */ subu $t4, $t4, $at +/* 0040B040 01636823 */ subu $t5, $t3, $v1 +/* 0040B044 AFAD0044 */ sw $t5, 0x44($sp) +/* 0040B048 10000245 */ b .L0040B960 +/* 0040B04C AFAC0040 */ sw $t4, 0x40($sp) +.L0040B050: +/* 0040B050 8FA90068 */ lw $t1, 0x68($sp) +/* 0040B054 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B058 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B05C 1120000B */ beqz $t1, .L0040B08C +/* 0040B060 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B064 8F998018 */ lw $t9, %got(func_0040AE00)($gp) +/* 0040B068 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B06C 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B070 2739AE00 */ addiu $t9, %lo(func_0040AE00) # addiu $t9, $t9, -0x5200 +/* 0040B074 0320F809 */ jalr $t9 +/* 0040B078 AFA80010 */ sw $t0, 0x10($sp) +/* 0040B07C 10400003 */ beqz $v0, .L0040B08C +/* 0040B080 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B084 1000023C */ b .L0040B978 +/* 0040B088 00001025 */ move $v0, $zero +.L0040B08C: +/* 0040B08C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B090 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B094 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B098 8FB80058 */ lw $t8, 0x58($sp) +/* 0040B09C 01F95821 */ addu $t3, $t7, $t9 +/* 0040B0A0 0179082B */ sltu $at, $t3, $t9 +/* 0040B0A4 002E5021 */ addu $t2, $at, $t6 +/* 0040B0A8 01585021 */ addu $t2, $t2, $t8 +/* 0040B0AC AFAA0040 */ sw $t2, 0x40($sp) +/* 0040B0B0 1000022B */ b .L0040B960 +/* 0040B0B4 AFAB0044 */ sw $t3, 0x44($sp) +.L0040B0B8: +/* 0040B0B8 8FAC0068 */ lw $t4, 0x68($sp) +/* 0040B0BC 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B0C0 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B0C4 1180000B */ beqz $t4, .L0040B0F4 +/* 0040B0C8 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B0CC 8F998018 */ lw $t9, %got(func_0040AEAC)($gp) +/* 0040B0D0 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B0D4 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B0D8 2739AEAC */ addiu $t9, %lo(func_0040AEAC) # addiu $t9, $t9, -0x5154 +/* 0040B0DC 0320F809 */ jalr $t9 +/* 0040B0E0 AFA80010 */ sw $t0, 0x10($sp) +/* 0040B0E4 10400003 */ beqz $v0, .L0040B0F4 +/* 0040B0E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B0EC 10000222 */ b .L0040B978 +/* 0040B0F0 00001025 */ move $v0, $zero +.L0040B0F4: +/* 0040B0F4 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B0F8 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B0FC 8FB80058 */ lw $t8, 0x58($sp) +/* 0040B100 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B104 01D85023 */ subu $t2, $t6, $t8 +/* 0040B108 01F9082B */ sltu $at, $t7, $t9 +/* 0040B10C 01415023 */ subu $t2, $t2, $at +/* 0040B110 01F95823 */ subu $t3, $t7, $t9 +/* 0040B114 AFAB0044 */ sw $t3, 0x44($sp) +/* 0040B118 10000211 */ b .L0040B960 +/* 0040B11C AFAA0040 */ sw $t2, 0x40($sp) +.L0040B120: +/* 0040B120 8FAD0068 */ lw $t5, 0x68($sp) +/* 0040B124 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B128 11A00003 */ beqz $t5, .L0040B138 +/* 0040B12C 00000000 */ nop +/* 0040B130 10000211 */ b .L0040B978 +/* 0040B134 00001025 */ move $v0, $zero +.L0040B138: +/* 0040B138 8F9980A0 */ lw $t9, %call16(__ll_mul)($gp) +/* 0040B13C 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B140 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B144 0320F809 */ jalr $t9 +/* 0040B148 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B14C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B150 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B154 10000202 */ b .L0040B960 +/* 0040B158 AFA30044 */ sw $v1, 0x44($sp) +.L0040B15C: +/* 0040B15C 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B160 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B164 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B168 1580000A */ bnez $t4, .L0040B194 +/* 0040B16C 00000000 */ nop +/* 0040B170 15A00008 */ bnez $t5, .L0040B194 +/* 0040B174 00000000 */ nop +/* 0040B178 8F998174 */ lw $t9, %call16(warning)($gp) +/* 0040B17C 8F848038 */ lw $a0, %got(RO_100081FC)($gp) +/* 0040B180 0320F809 */ jalr $t9 +/* 0040B184 248481FC */ addiu $a0, %lo(RO_100081FC) # addiu $a0, $a0, -0x7e04 +/* 0040B188 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B18C 100001FA */ b .L0040B978 +/* 0040B190 00001025 */ move $v0, $zero +.L0040B194: +/* 0040B194 1100001D */ beqz $t0, .L0040B20C +/* 0040B198 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B19C 8FA90068 */ lw $t1, 0x68($sp) +/* 0040B1A0 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B1A4 2401FFFF */ li $at, -1 +/* 0040B1A8 1120000F */ beqz $t1, .L0040B1E8 +/* 0040B1AC 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B1B0 15C1000D */ bne $t6, $at, .L0040B1E8 +/* 0040B1B4 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B1B8 3C018000 */ lui $at, 0x8000 +/* 0040B1BC 15E1000A */ bne $t7, $at, .L0040B1E8 +/* 0040B1C0 27A30058 */ addiu $v1, $sp, 0x58 +/* 0040B1C4 8C780000 */ lw $t8, ($v1) +/* 0040B1C8 2402FFFF */ li $v0, -1 +/* 0040B1CC 14580006 */ bne $v0, $t8, .L0040B1E8 +/* 0040B1D0 00000000 */ nop +/* 0040B1D4 8C790004 */ lw $t9, 4($v1) +/* 0040B1D8 14590003 */ bne $v0, $t9, .L0040B1E8 +/* 0040B1DC 00000000 */ nop +/* 0040B1E0 100001E5 */ b .L0040B978 +/* 0040B1E4 00001025 */ move $v0, $zero +.L0040B1E8: +/* 0040B1E8 8F9980A4 */ lw $t9, %call16(__ll_div)($gp) +/* 0040B1EC 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B1F0 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B1F4 0320F809 */ jalr $t9 +/* 0040B1F8 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B1FC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B200 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B204 100001D6 */ b .L0040B960 +/* 0040B208 AFA30044 */ sw $v1, 0x44($sp) +.L0040B20C: +/* 0040B20C 8F9980A8 */ lw $t9, %call16(__ull_div)($gp) +/* 0040B210 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B214 8FA60028 */ lw $a2, 0x28($sp) +/* 0040B218 0320F809 */ jalr $t9 +/* 0040B21C 8FA7002C */ lw $a3, 0x2c($sp) +/* 0040B220 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B224 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B228 100001CD */ b .L0040B960 +/* 0040B22C AFA30044 */ sw $v1, 0x44($sp) +.L0040B230: +/* 0040B230 8FAA0058 */ lw $t2, 0x58($sp) +/* 0040B234 8FAB005C */ lw $t3, 0x5c($sp) +/* 0040B238 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B23C 1540000A */ bnez $t2, .L0040B268 +/* 0040B240 00000000 */ nop +/* 0040B244 15600008 */ bnez $t3, .L0040B268 +/* 0040B248 00000000 */ nop +/* 0040B24C 8F998174 */ lw $t9, %call16(warning)($gp) +/* 0040B250 8F848038 */ lw $a0, %got(RO_1000820C)($gp) +/* 0040B254 0320F809 */ jalr $t9 +/* 0040B258 2484820C */ addiu $a0, %lo(RO_1000820C) # addiu $a0, $a0, -0x7df4 +/* 0040B25C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B260 100001C5 */ b .L0040B978 +/* 0040B264 00001025 */ move $v0, $zero +.L0040B268: +/* 0040B268 1100000B */ beqz $t0, .L0040B298 +/* 0040B26C 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B270 8F9980AC */ lw $t9, %call16(__ll_rem)($gp) +/* 0040B274 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B278 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B27C 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B280 0320F809 */ jalr $t9 +/* 0040B284 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B288 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B28C AFA20040 */ sw $v0, 0x40($sp) +/* 0040B290 100001B3 */ b .L0040B960 +/* 0040B294 AFA30044 */ sw $v1, 0x44($sp) +.L0040B298: +/* 0040B298 8F9980B0 */ lw $t9, %call16(__ull_rem)($gp) +/* 0040B29C 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B2A0 8FA60028 */ lw $a2, 0x28($sp) +/* 0040B2A4 0320F809 */ jalr $t9 +/* 0040B2A8 8FA7002C */ lw $a3, 0x2c($sp) +/* 0040B2AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B2B0 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B2B4 100001AA */ b .L0040B960 +/* 0040B2B8 AFA30044 */ sw $v1, 0x44($sp) +.L0040B2BC: +/* 0040B2BC 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B2C0 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B2C4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B2C8 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B2CC 018EC024 */ and $t8, $t4, $t6 +/* 0040B2D0 01AFC824 */ and $t9, $t5, $t7 +/* 0040B2D4 AFB90044 */ sw $t9, 0x44($sp) +/* 0040B2D8 100001A1 */ b .L0040B960 +/* 0040B2DC AFB80040 */ sw $t8, 0x40($sp) +.L0040B2E0: +/* 0040B2E0 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040B2E4 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B2E8 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B2EC 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B2F0 014C7025 */ or $t6, $t2, $t4 +/* 0040B2F4 016D7825 */ or $t7, $t3, $t5 +/* 0040B2F8 AFAF0044 */ sw $t7, 0x44($sp) +/* 0040B2FC 10000198 */ b .L0040B960 +/* 0040B300 AFAE0040 */ sw $t6, 0x40($sp) +.L0040B304: +/* 0040B304 8FB80050 */ lw $t8, 0x50($sp) +/* 0040B308 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B30C 8FAA0058 */ lw $t2, 0x58($sp) +/* 0040B310 8FAB005C */ lw $t3, 0x5c($sp) +/* 0040B314 030A6026 */ xor $t4, $t8, $t2 +/* 0040B318 032B6826 */ xor $t5, $t9, $t3 +/* 0040B31C AFAD0044 */ sw $t5, 0x44($sp) +/* 0040B320 1000018F */ b .L0040B960 +/* 0040B324 AFAC0040 */ sw $t4, 0x40($sp) +.L0040B328: +/* 0040B328 8FA90064 */ lw $t1, 0x64($sp) +/* 0040B32C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B330 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B334 11200006 */ beqz $t1, .L0040B350 +/* 0040B338 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B33C 032F6004 */ sllv $t4, $t7, $t9 +/* 0040B340 000C77C3 */ sra $t6, $t4, 0x1f +/* 0040B344 AFAE0040 */ sw $t6, 0x40($sp) +/* 0040B348 10000185 */ b .L0040B960 +/* 0040B34C AFAC0044 */ sw $t4, 0x44($sp) +.L0040B350: +/* 0040B350 8F99809C */ lw $t9, %call16(__ll_lshift)($gp) +/* 0040B354 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B358 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B35C 0320F809 */ jalr $t9 +/* 0040B360 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B364 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B368 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B36C 1000017C */ b .L0040B960 +/* 0040B370 AFA30044 */ sw $v1, 0x44($sp) +.L0040B374: +/* 0040B374 8FAD0064 */ lw $t5, 0x64($sp) +/* 0040B378 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B37C 11A00011 */ beqz $t5, .L0040B3C4 +/* 0040B380 00000000 */ nop +/* 0040B384 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B388 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B38C 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B390 11000008 */ beqz $t0, .L0040B3B4 +/* 0040B394 240A0000 */ li $t2, 0 +/* 0040B398 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B39C 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B3A0 032B7007 */ srav $t6, $t3, $t9 +/* 0040B3A4 000E57C3 */ sra $t2, $t6, 0x1f +/* 0040B3A8 AFAA0040 */ sw $t2, 0x40($sp) +/* 0040B3AC 1000016C */ b .L0040B960 +/* 0040B3B0 AFAE0044 */ sw $t6, 0x44($sp) +.L0040B3B4: +/* 0040B3B4 01B97006 */ srlv $t6, $t9, $t5 +/* 0040B3B8 AFAE0044 */ sw $t6, 0x44($sp) +/* 0040B3BC 10000168 */ b .L0040B960 +/* 0040B3C0 AFAA0040 */ sw $t2, 0x40($sp) +.L0040B3C4: +/* 0040B3C4 1100000B */ beqz $t0, .L0040B3F4 +/* 0040B3C8 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B3CC 8F9980B4 */ lw $t9, %call16(__ll_rshift)($gp) +/* 0040B3D0 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B3D4 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B3D8 8FA60058 */ lw $a2, 0x58($sp) +/* 0040B3DC 0320F809 */ jalr $t9 +/* 0040B3E0 8FA7005C */ lw $a3, 0x5c($sp) +/* 0040B3E4 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B3E8 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B3EC 1000015C */ b .L0040B960 +/* 0040B3F0 AFA30044 */ sw $v1, 0x44($sp) +.L0040B3F4: +/* 0040B3F4 8F9980B8 */ lw $t9, %call16(__ull_rshift)($gp) +/* 0040B3F8 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B3FC 8FA60028 */ lw $a2, 0x28($sp) +/* 0040B400 0320F809 */ jalr $t9 +/* 0040B404 8FA7002C */ lw $a3, 0x2c($sp) +/* 0040B408 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B40C AFA20040 */ sw $v0, 0x40($sp) +/* 0040B410 10000153 */ b .L0040B960 +/* 0040B414 AFA30044 */ sw $v1, 0x44($sp) +.L0040B418: +/* 0040B418 8FB80050 */ lw $t8, 0x50($sp) +/* 0040B41C 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B420 03006027 */ not $t4, $t8 +/* 0040B424 03206827 */ not $t5, $t9 +/* 0040B428 AFAD0044 */ sw $t5, 0x44($sp) +/* 0040B42C 1000014C */ b .L0040B960 +/* 0040B430 AFAC0040 */ sw $t4, 0x40($sp) +.L0040B434: +/* 0040B434 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B438 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B43C 240A0000 */ li $t2, 0 +/* 0040B440 24010000 */ li $at, 0 +/* 0040B444 002E0826 */ xor $at, $at, $t6 +/* 0040B448 014F5026 */ xor $t2, $t2, $t7 +/* 0040B44C 01415025 */ or $t2, $t2, $at +/* 0040B450 2D590001 */ sltiu $t9, $t2, 1 +/* 0040B454 0019C7C3 */ sra $t8, $t9, 0x1f +/* 0040B458 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B45C 10000140 */ b .L0040B960 +/* 0040B460 AFB90044 */ sw $t9, 0x44($sp) +.L0040B464: +/* 0040B464 8FA90068 */ lw $t1, 0x68($sp) +/* 0040B468 8FA60050 */ lw $a2, 0x50($sp) +/* 0040B46C 11200003 */ beqz $t1, .L0040B47C +/* 0040B470 00000000 */ nop +/* 0040B474 10000140 */ b .L0040B978 +/* 0040B478 00001025 */ move $v0, $zero +.L0040B47C: +/* 0040B47C 8F9980A0 */ lw $t9, %call16(__ll_mul)($gp) +/* 0040B480 8FA70054 */ lw $a3, 0x54($sp) +/* 0040B484 00C02025 */ move $a0, $a2 +/* 0040B488 0320F809 */ jalr $t9 +/* 0040B48C 00E02825 */ move $a1, $a3 +/* 0040B490 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B494 AFA20040 */ sw $v0, 0x40($sp) +/* 0040B498 10000131 */ b .L0040B960 +/* 0040B49C AFA30044 */ sw $v1, 0x44($sp) +.L0040B4A0: +/* 0040B4A0 8FAE0068 */ lw $t6, 0x68($sp) +/* 0040B4A4 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B4A8 8FB80050 */ lw $t8, 0x50($sp) +/* 0040B4AC 51C0000C */ beql $t6, $zero, .L0040B4E0 +/* 0040B4B0 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B4B4 11000009 */ beqz $t0, .L0040B4DC +/* 0040B4B8 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040B4BC 2401FFFF */ li $at, -1 +/* 0040B4C0 15410006 */ bne $t2, $at, .L0040B4DC +/* 0040B4C4 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B4C8 3C018000 */ lui $at, 0x8000 +/* 0040B4CC 55610004 */ bnel $t3, $at, .L0040B4E0 +/* 0040B4D0 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B4D4 10000128 */ b .L0040B978 +/* 0040B4D8 00001025 */ move $v0, $zero +.L0040B4DC: +/* 0040B4DC 8FB90054 */ lw $t9, 0x54($sp) +.L0040B4E0: +/* 0040B4E0 03006027 */ not $t4, $t8 +/* 0040B4E4 2F210001 */ sltiu $at, $t9, 1 +/* 0040B4E8 01816021 */ addu $t4, $t4, $at +/* 0040B4EC 00196823 */ negu $t5, $t9 +/* 0040B4F0 AFAD0044 */ sw $t5, 0x44($sp) +/* 0040B4F4 1000011A */ b .L0040B960 +/* 0040B4F8 AFAC0040 */ sw $t4, 0x40($sp) +.L0040B4FC: +/* 0040B4FC 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B500 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B504 2401FFFF */ li $at, -1 +/* 0040B508 1100000E */ beqz $t0, .L0040B544 +/* 0040B50C 00000000 */ nop +/* 0040B510 15C1000C */ bne $t6, $at, .L0040B544 +/* 0040B514 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B518 3C018000 */ lui $at, 0x8000 +/* 0040B51C 15E10009 */ bne $t7, $at, .L0040B544 +/* 0040B520 8FA90068 */ lw $t1, 0x68($sp) +/* 0040B524 11200003 */ beqz $t1, .L0040B534 +/* 0040B528 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040B52C 10000112 */ b .L0040B978 +/* 0040B530 00001025 */ move $v0, $zero +.L0040B534: +/* 0040B534 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B538 AFAA0040 */ sw $t2, 0x40($sp) +/* 0040B53C 10000108 */ b .L0040B960 +/* 0040B540 AFAB0044 */ sw $t3, 0x44($sp) +.L0040B544: +/* 0040B544 1100000D */ beqz $t0, .L0040B57C +/* 0040B548 8FB80050 */ lw $t8, 0x50($sp) +/* 0040B54C 1F00000B */ bgtz $t8, .L0040B57C +/* 0040B550 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B554 07000003 */ bltz $t8, .L0040B564 +/* 0040B558 2F210001 */ sltiu $at, $t9, 1 +/* 0040B55C 10000008 */ b .L0040B580 +/* 0040B560 8FAE0050 */ lw $t6, 0x50($sp) +.L0040B564: +/* 0040B564 03006027 */ not $t4, $t8 +/* 0040B568 01816021 */ addu $t4, $t4, $at +/* 0040B56C 00196823 */ negu $t5, $t9 +/* 0040B570 AFAD0044 */ sw $t5, 0x44($sp) +/* 0040B574 100000FA */ b .L0040B960 +/* 0040B578 AFAC0040 */ sw $t4, 0x40($sp) +.L0040B57C: +/* 0040B57C 8FAE0050 */ lw $t6, 0x50($sp) +.L0040B580: +/* 0040B580 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B584 AFAE0040 */ sw $t6, 0x40($sp) +/* 0040B588 100000F5 */ b .L0040B960 +/* 0040B58C AFAF0044 */ sw $t7, 0x44($sp) +.L0040B590: +/* 0040B590 8F9980AC */ lw $t9, %call16(__ll_rem)($gp) +/* 0040B594 8FA40050 */ lw $a0, 0x50($sp) +/* 0040B598 8FA50054 */ lw $a1, 0x54($sp) +/* 0040B59C 24060000 */ li $a2, 0 +/* 0040B5A0 0320F809 */ jalr $t9 +/* 0040B5A4 24070002 */ li $a3, 2 +/* 0040B5A8 14400007 */ bnez $v0, .L0040B5C8 +/* 0040B5AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 0040B5B0 14600005 */ bnez $v1, .L0040B5C8 +/* 0040B5B4 240A0000 */ li $t2, 0 +/* 0040B5B8 240B0000 */ li $t3, 0 +/* 0040B5BC AFAB0044 */ sw $t3, 0x44($sp) +/* 0040B5C0 100000E7 */ b .L0040B960 +/* 0040B5C4 AFAA0040 */ sw $t2, 0x40($sp) +.L0040B5C8: +/* 0040B5C8 24180000 */ li $t8, 0 +/* 0040B5CC 24190001 */ li $t9, 1 +/* 0040B5D0 AFB90044 */ sw $t9, 0x44($sp) +/* 0040B5D4 100000E2 */ b .L0040B960 +/* 0040B5D8 AFB80040 */ sw $t8, 0x40($sp) +.L0040B5DC: +/* 0040B5DC 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B5E0 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B5E4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B5E8 1100000E */ beqz $t0, .L0040B624 +/* 0040B5EC 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B5F0 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B5F4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B5F8 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B5FC 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B600 158E0003 */ bne $t4, $t6, .L0040B610 +/* 0040B604 01CC502A */ slt $t2, $t6, $t4 +/* 0040B608 01AF502B */ sltu $t2, $t5, $t7 +/* 0040B60C 394A0001 */ xori $t2, $t2, 1 +.L0040B610: +/* 0040B610 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B614 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B618 0140C825 */ move $t9, $t2 +/* 0040B61C 100000D0 */ b .L0040B960 +/* 0040B620 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B624: +/* 0040B624 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B628 158E0003 */ bne $t4, $t6, .L0040B638 +/* 0040B62C 01CC502B */ sltu $t2, $t6, $t4 +/* 0040B630 01AF502B */ sltu $t2, $t5, $t7 +/* 0040B634 394A0001 */ xori $t2, $t2, 1 +.L0040B638: +/* 0040B638 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B63C AFB80040 */ sw $t8, 0x40($sp) +/* 0040B640 0140C825 */ move $t9, $t2 +/* 0040B644 100000C6 */ b .L0040B960 +/* 0040B648 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B64C: +/* 0040B64C 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B650 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B654 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B658 1100000D */ beqz $t0, .L0040B690 +/* 0040B65C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B660 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B664 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B668 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B66C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B670 158E0002 */ bne $t4, $t6, .L0040B67C +/* 0040B674 018E502A */ slt $t2, $t4, $t6 +/* 0040B678 01AF502B */ sltu $t2, $t5, $t7 +.L0040B67C: +/* 0040B67C 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B680 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B684 0140C825 */ move $t9, $t2 +/* 0040B688 100000B5 */ b .L0040B960 +/* 0040B68C AFAA0044 */ sw $t2, 0x44($sp) +.L0040B690: +/* 0040B690 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B694 158E0002 */ bne $t4, $t6, .L0040B6A0 +/* 0040B698 018E502B */ sltu $t2, $t4, $t6 +/* 0040B69C 01AF502B */ sltu $t2, $t5, $t7 +.L0040B6A0: +/* 0040B6A0 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B6A4 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B6A8 0140C825 */ move $t9, $t2 +/* 0040B6AC 100000AC */ b .L0040B960 +/* 0040B6B0 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B6B4: +/* 0040B6B4 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B6B8 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B6BC 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B6C0 1100000E */ beqz $t0, .L0040B6FC +/* 0040B6C4 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B6C8 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B6CC 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B6D0 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B6D4 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B6D8 158E0003 */ bne $t4, $t6, .L0040B6E8 +/* 0040B6DC 01CC502A */ slt $t2, $t6, $t4 +/* 0040B6E0 01AF502B */ sltu $t2, $t5, $t7 +/* 0040B6E4 394A0001 */ xori $t2, $t2, 1 +.L0040B6E8: +/* 0040B6E8 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B6EC AFB80040 */ sw $t8, 0x40($sp) +/* 0040B6F0 0140C825 */ move $t9, $t2 +/* 0040B6F4 1000009A */ b .L0040B960 +/* 0040B6F8 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B6FC: +/* 0040B6FC 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B700 158E0003 */ bne $t4, $t6, .L0040B710 +/* 0040B704 01CC502B */ sltu $t2, $t6, $t4 +/* 0040B708 01AF502B */ sltu $t2, $t5, $t7 +/* 0040B70C 394A0001 */ xori $t2, $t2, 1 +.L0040B710: +/* 0040B710 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B714 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B718 0140C825 */ move $t9, $t2 +/* 0040B71C 10000090 */ b .L0040B960 +/* 0040B720 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B724: +/* 0040B724 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B728 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B72C 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B730 1100000D */ beqz $t0, .L0040B768 +/* 0040B734 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B738 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B73C 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B740 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B744 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B748 158E0002 */ bne $t4, $t6, .L0040B754 +/* 0040B74C 018E502A */ slt $t2, $t4, $t6 +/* 0040B750 01AF502B */ sltu $t2, $t5, $t7 +.L0040B754: +/* 0040B754 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B758 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B75C 0140C825 */ move $t9, $t2 +/* 0040B760 1000007F */ b .L0040B960 +/* 0040B764 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B768: +/* 0040B768 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B76C 158E0002 */ bne $t4, $t6, .L0040B778 +/* 0040B770 018E502B */ sltu $t2, $t4, $t6 +/* 0040B774 01AF502B */ sltu $t2, $t5, $t7 +.L0040B778: +/* 0040B778 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B77C AFB80040 */ sw $t8, 0x40($sp) +/* 0040B780 0140C825 */ move $t9, $t2 +/* 0040B784 10000076 */ b .L0040B960 +/* 0040B788 AFAA0044 */ sw $t2, 0x44($sp) +.L0040B78C: +/* 0040B78C 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B790 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B794 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B798 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B79C 018E0826 */ xor $at, $t4, $t6 +/* 0040B7A0 01AF5026 */ xor $t2, $t5, $t7 +/* 0040B7A4 01415025 */ or $t2, $t2, $at +/* 0040B7A8 2D590001 */ sltiu $t9, $t2, 1 +/* 0040B7AC 0019C7C3 */ sra $t8, $t9, 0x1f +/* 0040B7B0 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B7B4 1000006A */ b .L0040B960 +/* 0040B7B8 AFB90044 */ sw $t9, 0x44($sp) +.L0040B7BC: +/* 0040B7BC 8FAC0050 */ lw $t4, 0x50($sp) +/* 0040B7C0 8FAD0054 */ lw $t5, 0x54($sp) +/* 0040B7C4 8FAE0058 */ lw $t6, 0x58($sp) +/* 0040B7C8 8FAF005C */ lw $t7, 0x5c($sp) +/* 0040B7CC 018E0826 */ xor $at, $t4, $t6 +/* 0040B7D0 01AF5026 */ xor $t2, $t5, $t7 +/* 0040B7D4 01415025 */ or $t2, $t2, $at +/* 0040B7D8 000AC82B */ sltu $t9, $zero, $t2 +/* 0040B7DC 0019C7C3 */ sra $t8, $t9, 0x1f +/* 0040B7E0 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B7E4 1000005E */ b .L0040B960 +/* 0040B7E8 AFB90044 */ sw $t9, 0x44($sp) +.L0040B7EC: +/* 0040B7EC 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B7F0 8FAA0058 */ lw $t2, 0x58($sp) +/* 0040B7F4 8FB80050 */ lw $t8, 0x50($sp) +/* 0040B7F8 11000015 */ beqz $t0, .L0040B850 +/* 0040B7FC 8FB90054 */ lw $t9, 0x54($sp) +/* 0040B800 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B804 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B808 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B80C 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B810 158E0003 */ bne $t4, $t6, .L0040B820 +/* 0040B814 01CC502A */ slt $t2, $t6, $t4 +/* 0040B818 01AF502B */ sltu $t2, $t5, $t7 +/* 0040B81C 394A0001 */ xori $t2, $t2, 1 +.L0040B820: +/* 0040B820 000AC7C3 */ sra $t8, $t2, 0x1f +/* 0040B824 17000003 */ bnez $t8, .L0040B834 +/* 0040B828 0140C825 */ move $t9, $t2 +/* 0040B82C 11400004 */ beqz $t2, .L0040B840 +/* 0040B830 8FAC0058 */ lw $t4, 0x58($sp) +.L0040B834: +/* 0040B834 AFAE0040 */ sw $t6, 0x40($sp) +/* 0040B838 10000049 */ b .L0040B960 +/* 0040B83C AFAF0044 */ sw $t7, 0x44($sp) +.L0040B840: +/* 0040B840 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B844 AFAC0040 */ sw $t4, 0x40($sp) +/* 0040B848 10000045 */ b .L0040B960 +/* 0040B84C AFAD0044 */ sw $t5, 0x44($sp) +.L0040B850: +/* 0040B850 0158082B */ sltu $at, $t2, $t8 +/* 0040B854 1420000B */ bnez $at, .L0040B884 +/* 0040B858 8FAB005C */ lw $t3, 0x5c($sp) +/* 0040B85C 030A082B */ sltu $at, $t8, $t2 +/* 0040B860 14200004 */ bnez $at, .L0040B874 +/* 0040B864 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B868 0179082B */ sltu $at, $t3, $t9 +/* 0040B86C 54200006 */ bnel $at, $zero, .L0040B888 +/* 0040B870 8FAC0058 */ lw $t4, 0x58($sp) +.L0040B874: +/* 0040B874 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B878 AFAE0040 */ sw $t6, 0x40($sp) +/* 0040B87C 10000038 */ b .L0040B960 +/* 0040B880 AFAF0044 */ sw $t7, 0x44($sp) +.L0040B884: +/* 0040B884 8FAC0058 */ lw $t4, 0x58($sp) +.L0040B888: +/* 0040B888 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B88C AFAC0040 */ sw $t4, 0x40($sp) +/* 0040B890 10000033 */ b .L0040B960 +/* 0040B894 AFAD0044 */ sw $t5, 0x44($sp) +.L0040B898: +/* 0040B898 8FA80060 */ lw $t0, 0x60($sp) +/* 0040B89C 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B8A0 8FAC0058 */ lw $t4, 0x58($sp) +/* 0040B8A4 11000015 */ beqz $t0, .L0040B8FC +/* 0040B8A8 8FAD005C */ lw $t5, 0x5c($sp) +/* 0040B8AC 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040B8B0 8FB80058 */ lw $t8, 0x58($sp) +/* 0040B8B4 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B8B8 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B8BC 15580003 */ bne $t2, $t8, .L0040B8CC +/* 0040B8C0 030A702A */ slt $t6, $t8, $t2 +/* 0040B8C4 0179702B */ sltu $t6, $t3, $t9 +/* 0040B8C8 39CE0001 */ xori $t6, $t6, 1 +.L0040B8CC: +/* 0040B8CC 000E67C3 */ sra $t4, $t6, 0x1f +/* 0040B8D0 55800004 */ bnel $t4, $zero, .L0040B8E4 +/* 0040B8D4 AFAA0040 */ sw $t2, 0x40($sp) +/* 0040B8D8 11C00004 */ beqz $t6, .L0040B8EC +/* 0040B8DC 8FB80058 */ lw $t8, 0x58($sp) +/* 0040B8E0 AFAA0040 */ sw $t2, 0x40($sp) +.L0040B8E4: +/* 0040B8E4 1000001E */ b .L0040B960 +/* 0040B8E8 AFAB0044 */ sw $t3, 0x44($sp) +.L0040B8EC: +/* 0040B8EC 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B8F0 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B8F4 1000001A */ b .L0040B960 +/* 0040B8F8 AFB90044 */ sw $t9, 0x44($sp) +.L0040B8FC: +/* 0040B8FC 01CC082B */ sltu $at, $t6, $t4 +/* 0040B900 1420000B */ bnez $at, .L0040B930 +/* 0040B904 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B908 018E082B */ sltu $at, $t4, $t6 +/* 0040B90C 14200004 */ bnez $at, .L0040B920 +/* 0040B910 8FAA0050 */ lw $t2, 0x50($sp) +/* 0040B914 01ED082B */ sltu $at, $t7, $t5 +/* 0040B918 54200006 */ bnel $at, $zero, .L0040B934 +/* 0040B91C 8FB80058 */ lw $t8, 0x58($sp) +.L0040B920: +/* 0040B920 8FAB0054 */ lw $t3, 0x54($sp) +/* 0040B924 AFAA0040 */ sw $t2, 0x40($sp) +/* 0040B928 1000000D */ b .L0040B960 +/* 0040B92C AFAB0044 */ sw $t3, 0x44($sp) +.L0040B930: +/* 0040B930 8FB80058 */ lw $t8, 0x58($sp) +.L0040B934: +/* 0040B934 8FB9005C */ lw $t9, 0x5c($sp) +/* 0040B938 AFB80040 */ sw $t8, 0x40($sp) +/* 0040B93C 10000008 */ b .L0040B960 +/* 0040B940 AFB90044 */ sw $t9, 0x44($sp) +.L0040B944: +/* 0040B944 8FAE0050 */ lw $t6, 0x50($sp) +/* 0040B948 8FAF0054 */ lw $t7, 0x54($sp) +/* 0040B94C AFAE0040 */ sw $t6, 0x40($sp) +/* 0040B950 10000003 */ b .L0040B960 +/* 0040B954 AFAF0044 */ sw $t7, 0x44($sp) +.L0040B958: +/* 0040B958 10000007 */ b .L0040B978 +/* 0040B95C 00001025 */ move $v0, $zero +.L0040B960: +/* 0040B960 8FA9006C */ lw $t1, 0x6c($sp) +/* 0040B964 8FAC0040 */ lw $t4, 0x40($sp) +/* 0040B968 8FAD0044 */ lw $t5, 0x44($sp) +/* 0040B96C 24020001 */ li $v0, 1 +/* 0040B970 AD2C0000 */ sw $t4, ($t1) +/* 0040B974 AD2D0004 */ sw $t5, 4($t1) +.L0040B978: +/* 0040B978 8FBF0024 */ lw $ra, 0x24($sp) +/* 0040B97C 27BD0048 */ addiu $sp, $sp, 0x48 +/* 0040B980 03E00008 */ jr $ra +/* 0040B984 00000000 */ nop + .type fold_constant, @function + .size fold_constant, .-fold_constant + .end fold_constant + +glabel fold_identities + .ent fold_identities + # 00434E4C fold1 +/* 0040B988 3C1C0FC1 */ .cpload $t9 +/* 0040B98C 279C40C8 */ +/* 0040B990 0399E021 */ +/* 0040B994 2881001E */ slti $at, $a0, 0x1e +/* 0040B998 AFA60008 */ sw $a2, 8($sp) +/* 0040B99C 14200013 */ bnez $at, .L0040B9EC +/* 0040B9A0 AFA7000C */ sw $a3, 0xc($sp) +/* 0040B9A4 2881003D */ slti $at, $a0, 0x3d +/* 0040B9A8 1420000B */ bnez $at, .L0040B9D8 +/* 0040B9AC 248EFFA5 */ addiu $t6, $a0, -0x5b +/* 0040B9B0 2DC10033 */ sltiu $at, $t6, 0x33 +/* 0040B9B4 1020000B */ beqz $at, .L0040B9E4 +/* 0040B9B8 00000000 */ nop +/* 0040B9BC 8F818038 */ lw $at, %got(jtbl_10008454)($gp) +/* 0040B9C0 000E7080 */ sll $t6, $t6, 2 +/* 0040B9C4 002E0821 */ addu $at, $at, $t6 +/* 0040B9C8 8C2E8454 */ lw $t6, %lo(jtbl_10008454)($at) +/* 0040B9CC 01DC7021 */ addu $t6, $t6, $gp +/* 0040B9D0 01C00008 */ jr $t6 +/* 0040B9D4 00000000 */ nop +.L0040B9D8: +/* 0040B9D8 2401003C */ li $at, 60 +/* 0040B9DC 5081000E */ beql $a0, $at, .L0040BA18 +/* 0040B9E0 8FB80008 */ lw $t8, 8($sp) +.L0040B9E4: +/* 0040B9E4 03E00008 */ jr $ra +/* 0040B9E8 00001025 */ move $v0, $zero + +.L0040B9EC: +/* 0040B9EC 24010001 */ li $at, 1 +/* 0040B9F0 10810008 */ beq $a0, $at, .L0040BA14 +/* 0040B9F4 24010004 */ li $at, 4 +/* 0040B9F8 10810018 */ beq $a0, $at, .L0040BA5C +/* 0040B9FC 27A30008 */ addiu $v1, $sp, 8 +/* 0040BA00 2401001D */ li $at, 29 +/* 0040BA04 10810027 */ beq $a0, $at, .L0040BAA4 +/* 0040BA08 8FAE0008 */ lw $t6, 8($sp) +/* 0040BA0C 03E00008 */ jr $ra +/* 0040BA10 00001025 */ move $v0, $zero + +.L0040BA14: +/* 0040BA14 8FB80008 */ lw $t8, 8($sp) +.L0040BA18: +/* 0040BA18 8FB9000C */ lw $t9, 0xc($sp) +/* 0040BA1C 5700002B */ bnel $t8, $zero, .L0040BACC +/* 0040BA20 00001025 */ move $v0, $zero +/* 0040BA24 57200029 */ bnel $t9, $zero, .L0040BACC +/* 0040BA28 00001025 */ move $v0, $zero +/* 0040BA2C 03E00008 */ jr $ra +/* 0040BA30 24020001 */ li $v0, 1 + +.L0040BA34: +/* 0040BA34 8FA80008 */ lw $t0, 8($sp) +/* 0040BA38 8FA9000C */ lw $t1, 0xc($sp) +/* 0040BA3C 55000023 */ bnel $t0, $zero, .L0040BACC +/* 0040BA40 00001025 */ move $v0, $zero +/* 0040BA44 15200020 */ bnez $t1, .L0040BAC8 +/* 0040BA48 8FAF0010 */ lw $t7, 0x10($sp) +/* 0040BA4C 51E0001F */ beql $t7, $zero, .L0040BACC +/* 0040BA50 00001025 */ move $v0, $zero +/* 0040BA54 03E00008 */ jr $ra +/* 0040BA58 24020001 */ li $v0, 1 + +.L0040BA5C: +/* 0040BA5C 8C6A0000 */ lw $t2, ($v1) +/* 0040BA60 2402FFFF */ li $v0, -1 +/* 0040BA64 544A0019 */ bnel $v0, $t2, .L0040BACC +/* 0040BA68 00001025 */ move $v0, $zero +/* 0040BA6C 8C6B0004 */ lw $t3, 4($v1) +/* 0040BA70 544B0016 */ bnel $v0, $t3, .L0040BACC +/* 0040BA74 00001025 */ move $v0, $zero +/* 0040BA78 03E00008 */ jr $ra +/* 0040BA7C 24020001 */ li $v0, 1 + +.L0040BA80: +/* 0040BA80 8FAC0008 */ lw $t4, 8($sp) +/* 0040BA84 8FAD000C */ lw $t5, 0xc($sp) +/* 0040BA88 24010001 */ li $at, 1 +/* 0040BA8C 5580000F */ bnel $t4, $zero, .L0040BACC +/* 0040BA90 00001025 */ move $v0, $zero +/* 0040BA94 55A1000D */ bnel $t5, $at, .L0040BACC +/* 0040BA98 00001025 */ move $v0, $zero +/* 0040BA9C 03E00008 */ jr $ra +/* 0040BAA0 24020001 */ li $v0, 1 + +.L0040BAA4: +/* 0040BAA4 15C00008 */ bnez $t6, .L0040BAC8 +/* 0040BAA8 8FAF000C */ lw $t7, 0xc($sp) +/* 0040BAAC 24010001 */ li $at, 1 +/* 0040BAB0 15E10005 */ bne $t7, $at, .L0040BAC8 +/* 0040BAB4 8FB80010 */ lw $t8, 0x10($sp) +/* 0040BAB8 53000004 */ beql $t8, $zero, .L0040BACC +/* 0040BABC 00001025 */ move $v0, $zero +/* 0040BAC0 03E00008 */ jr $ra +/* 0040BAC4 24020001 */ li $v0, 1 + +.L0040BAC8: +/* 0040BAC8 00001025 */ move $v0, $zero +.L0040BACC: +/* 0040BACC 03E00008 */ jr $ra +/* 0040BAD0 00000000 */ nop + .type fold_identities, @function + .size fold_identities, .-fold_identities + .end fold_identities + +glabel fold_idempotents + .ent fold_idempotents + # 00434E4C fold1 +/* 0040BAD4 24010004 */ li $at, 4 +/* 0040BAD8 AFA60008 */ sw $a2, 8($sp) +/* 0040BADC 1081000E */ beq $a0, $at, .L0040BB18 +/* 0040BAE0 AFA7000C */ sw $a3, 0xc($sp) +/* 0040BAE4 2401003C */ li $at, 60 +/* 0040BAE8 10810017 */ beq $a0, $at, .L0040BB48 +/* 0040BAEC 27A30008 */ addiu $v1, $sp, 8 +/* 0040BAF0 24010057 */ li $at, 87 +/* 0040BAF4 10810021 */ beq $a0, $at, .L0040BB7C +/* 0040BAF8 8FAE0008 */ lw $t6, 8($sp) +/* 0040BAFC 2401005B */ li $at, 91 +/* 0040BB00 10810005 */ beq $a0, $at, .L0040BB18 +/* 0040BB04 24010069 */ li $at, 105 +/* 0040BB08 1081001C */ beq $a0, $at, .L0040BB7C +/* 0040BB0C 00000000 */ nop +/* 0040BB10 03E00008 */ jr $ra +/* 0040BB14 00001025 */ move $v0, $zero + +.L0040BB18: +/* 0040BB18 8FAE0008 */ lw $t6, 8($sp) +/* 0040BB1C 8FAF000C */ lw $t7, 0xc($sp) +/* 0040BB20 55C00026 */ bnel $t6, $zero, .L0040BBBC +/* 0040BB24 00001025 */ move $v0, $zero +/* 0040BB28 15E00023 */ bnez $t7, .L0040BBB8 +/* 0040BB2C 24180000 */ li $t8, 0 +/* 0040BB30 8FA80014 */ lw $t0, 0x14($sp) +/* 0040BB34 24190000 */ li $t9, 0 +/* 0040BB38 24020001 */ li $v0, 1 +/* 0040BB3C AD190004 */ sw $t9, 4($t0) +/* 0040BB40 03E00008 */ jr $ra +/* 0040BB44 AD180000 */ sw $t8, ($t0) + +.L0040BB48: +/* 0040BB48 8C690000 */ lw $t1, ($v1) +/* 0040BB4C 2402FFFF */ li $v0, -1 +/* 0040BB50 5449001A */ bnel $v0, $t1, .L0040BBBC +/* 0040BB54 00001025 */ move $v0, $zero +/* 0040BB58 8C6A0004 */ lw $t2, 4($v1) +/* 0040BB5C 240CFFFF */ li $t4, -1 +/* 0040BB60 8FAB0014 */ lw $t3, 0x14($sp) +/* 0040BB64 144A0014 */ bne $v0, $t2, .L0040BBB8 +/* 0040BB68 240DFFFF */ li $t5, -1 +/* 0040BB6C AD6D0004 */ sw $t5, 4($t3) +/* 0040BB70 AD6C0000 */ sw $t4, ($t3) +/* 0040BB74 03E00008 */ jr $ra +/* 0040BB78 24020001 */ li $v0, 1 + +.L0040BB7C: +/* 0040BB7C 15C0000E */ bnez $t6, .L0040BBB8 +/* 0040BB80 8FAF000C */ lw $t7, 0xc($sp) +/* 0040BB84 24010001 */ li $at, 1 +/* 0040BB88 15E1000B */ bne $t7, $at, .L0040BBB8 +/* 0040BB8C 8FB80010 */ lw $t8, 0x10($sp) +/* 0040BB90 13000009 */ beqz $t8, .L0040BBB8 +/* 0040BB94 24080000 */ li $t0, 0 +/* 0040BB98 8FB90014 */ lw $t9, 0x14($sp) +/* 0040BB9C 24090000 */ li $t1, 0 +/* 0040BBA0 24020001 */ li $v0, 1 +/* 0040BBA4 AF290004 */ sw $t1, 4($t9) +/* 0040BBA8 03E00008 */ jr $ra +/* 0040BBAC AF280000 */ sw $t0, ($t9) + +/* 0040BBB0 03E00008 */ jr $ra +/* 0040BBB4 00001025 */ move $v0, $zero + +.L0040BBB8: +/* 0040BBB8 00001025 */ move $v0, $zero +.L0040BBBC: +/* 0040BBBC 03E00008 */ jr $ra +/* 0040BBC0 00000000 */ nop + .type fold_idempotents, @function + .size fold_idempotents, .-fold_idempotents + .end fold_idempotents +)""); diff --git a/src/ugen/frame_offset.c b/src/ugen/frame_offset.c new file mode 100644 index 0000000..938d16a --- /dev/null +++ b/src/ugen/frame_offset.c @@ -0,0 +1,79 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel frame_offset + .ent frame_offset + # 0042670C loadstore + # 00428D14 eval_mov + # 0042BDAC eval +/* 004350E0 3C1C0FBF */ .cpload $t9 +/* 004350E4 279CA970 */ +/* 004350E8 0399E021 */ +/* 004350EC 8F838A64 */ lw $v1, %got(frame_size)($gp) +/* 004350F0 8C630000 */ lw $v1, ($v1) +/* 004350F4 14600003 */ bnez $v1, .L00435104 +/* 004350F8 00000000 */ nop +/* 004350FC 03E00008 */ jr $ra +/* 00435100 8C82002C */ lw $v0, 0x2c($a0) + +.L00435104: +/* 00435104 8F8E8A74 */ lw $t6, %got(reversed_stack)($gp) +/* 00435108 91CE0000 */ lbu $t6, ($t6) +/* 0043510C 51C00006 */ beql $t6, $zero, .L00435128 +/* 00435110 8C98002C */ lw $t8, 0x2c($a0) +/* 00435114 8C8F002C */ lw $t7, 0x2c($a0) +/* 00435118 006F1023 */ subu $v0, $v1, $t7 +/* 0043511C 03E00008 */ jr $ra +/* 00435120 00021023 */ negu $v0, $v0 + +/* 00435124 8C98002C */ lw $t8, 0x2c($a0) +.L00435128: +/* 00435128 03031021 */ addu $v0, $t8, $v1 +/* 0043512C 03E00008 */ jr $ra +/* 00435130 00000000 */ nop + .type frame_offset, @function + .size frame_offset, .-frame_offset + .end frame_offset + +glabel frame_offset1 + .ent frame_offset1 + # 00424934 restore_from_temp + # 00440EA0 gen_store +/* 00435134 3C1C0FBF */ .cpload $t9 +/* 00435138 279CA91C */ +/* 0043513C 0399E021 */ +/* 00435140 8F838A64 */ lw $v1, %got(frame_size)($gp) +/* 00435144 8C630000 */ lw $v1, ($v1) +/* 00435148 14600003 */ bnez $v1, .L00435158 +/* 0043514C 00000000 */ nop +/* 00435150 03E00008 */ jr $ra +/* 00435154 00801025 */ move $v0, $a0 + +.L00435158: +/* 00435158 8F8E8A74 */ lw $t6, %got(reversed_stack)($gp) +/* 0043515C 00831021 */ addu $v0, $a0, $v1 +/* 00435160 91CE0000 */ lbu $t6, ($t6) +/* 00435164 11C00004 */ beqz $t6, .L00435178 +/* 00435168 00000000 */ nop +/* 0043516C 00641023 */ subu $v0, $v1, $a0 +/* 00435170 03E00008 */ jr $ra +/* 00435174 00021023 */ negu $v0, $v0 + +.L00435178: +/* 00435178 03E00008 */ jr $ra +/* 0043517C 00000000 */ nop + .type frame_offset1, @function + .size frame_offset1, .-frame_offset1 + .end frame_offset1 +)""); diff --git a/src/ugen/labelopt.c b/src/ugen/labelopt.c new file mode 100644 index 0000000..7f5ee53 --- /dev/null +++ b/src/ugen/labelopt.c @@ -0,0 +1,1600 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000B040: + # 004357C4 func_004357C4 + .ascii "Insufficiant memory " + +RO_1000B090: + # 004357C4 func_004357C4 + .ascii "labelopt.p " + +RO_1000B0E0: + # 00435C44 func_00435C44 + .ascii " L" + +RO_1000B0E2: + # 00435C44 func_00435C44 + .ascii " OUT:" + +RO_1000B0E7: + # 00435C44 func_00435C44 + .ascii " L" + +RO_1000B0E9: + # 00435C44 func_00435C44 + .ascii " IN:" + +RO_1000B0ED: + # 004362FC labelopt + .ascii "Tree dump after 2nd label phase:" + +RO_1000B10D: + # 004362FC labelopt + .ascii "Tree dump after cross jumping" + +RO_1000B12A: + # 004362FC labelopt + .ascii "Tree dump after 1st label phase:" + +RO_1000B14A: + # 004362FC labelopt + .asciz "Tree dump after 1st localopt:" + +.data +D_10016170: + # 004351C0 func_004351C0 + .byte 0x00,0x80,0x10,0x10,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x10,0x00,0x40,0x00,0x00,0x40,0x00,0x00 + +D_10016184: + # 004351C0 func_004351C0 + .byte 0x11,0x00,0x40,0x01,0x60,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x20 + +D_10016194: + # 004352AC func_004352AC + .byte 0x00,0x80,0x10,0x10,0x80,0x00,0x00,0x00,0x20,0x01,0x40,0x00,0x90,0x00,0x40,0x00,0x00,0x40,0x00,0x00 + +D_100161A8: + # 00435EA0 func_00435EA0 + .byte 0x10,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00 + +D_100161B4: + # 00435EF0 func_00435EF0 + .byte 0x10,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00 + +D_100161C0: + # 00435F40 func_00435F40 + .byte 0x10,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00 + +D_100161D4: + # 00436148 func_00436148 + .byte 0x00,0x80,0x00,0x11,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x10,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text + .type func_004351C0, @function +func_004351C0: + # 004352AC func_004352AC + # 0043595C func_0043595C +/* 004351C0 3C1C0FBF */ .cpload $t9 +/* 004351C4 279CA890 */ +/* 004351C8 0399E021 */ +/* 004351CC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004351D0 AFB00014 */ sw $s0, 0x14($sp) +/* 004351D4 8C900008 */ lw $s0, 8($a0) +/* 004351D8 AFBF001C */ sw $ra, 0x1c($sp) +/* 004351DC AFBC0018 */ sw $gp, 0x18($sp) +/* 004351E0 92020020 */ lbu $v0, 0x20($s0) +/* 004351E4 2C4E0080 */ sltiu $t6, $v0, 0x80 +/* 004351E8 11C00009 */ beqz $t6, .L00435210 +/* 004351EC 00000000 */ nop +/* 004351F0 8F998038 */ lw $t9, %got(D_10016184)($gp) +/* 004351F4 00027943 */ sra $t7, $v0, 5 +/* 004351F8 000FC080 */ sll $t8, $t7, 2 +/* 004351FC 27396184 */ addiu $t9, %lo(D_10016184) # addiu $t9, $t9, 0x6184 +/* 00435200 03384021 */ addu $t0, $t9, $t8 +/* 00435204 8D090000 */ lw $t1, ($t0) +/* 00435208 00495004 */ sllv $t2, $t1, $v0 +/* 0043520C 294E0000 */ slti $t6, $t2, 0 +.L00435210: +/* 00435210 15C00021 */ bnez $t6, .L00435298 +/* 00435214 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +.L00435218: +/* 00435218 11800009 */ beqz $t4, .L00435240 +/* 0043521C 00000000 */ nop +/* 00435220 8F998038 */ lw $t9, %got(D_10016170)($gp) +/* 00435224 00026943 */ sra $t5, $v0, 5 +/* 00435228 000D7880 */ sll $t7, $t5, 2 +/* 0043522C 27396170 */ addiu $t9, %lo(D_10016170) # addiu $t9, $t9, 0x6170 +/* 00435230 032FC021 */ addu $t8, $t9, $t7 +/* 00435234 8F080000 */ lw $t0, ($t8) +/* 00435238 00484804 */ sllv $t1, $t0, $v0 +/* 0043523C 292C0000 */ slti $t4, $t1, 0 +.L00435240: +/* 00435240 55800007 */ bnel $t4, $zero, .L00435260 +/* 00435244 8E100008 */ lw $s0, 8($s0) +/* 00435248 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 0043524C 02002025 */ move $a0, $s0 +/* 00435250 0320F809 */ jalr $t9 +/* 00435254 00000000 */ nop +/* 00435258 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043525C 8E100008 */ lw $s0, 8($s0) +.L00435260: +/* 00435260 92020020 */ lbu $v0, 0x20($s0) +/* 00435264 2C4B0080 */ sltiu $t3, $v0, 0x80 +/* 00435268 11600009 */ beqz $t3, .L00435290 +/* 0043526C 00000000 */ nop +/* 00435270 8F998038 */ lw $t9, %got(D_10016184)($gp) +/* 00435274 00027143 */ sra $t6, $v0, 5 +/* 00435278 000E6880 */ sll $t5, $t6, 2 +/* 0043527C 27396184 */ addiu $t9, %lo(D_10016184) # addiu $t9, $t9, 0x6184 +/* 00435280 032D7821 */ addu $t7, $t9, $t5 +/* 00435284 8DF80000 */ lw $t8, ($t7) +/* 00435288 00584004 */ sllv $t0, $t8, $v0 +/* 0043528C 290B0000 */ slti $t3, $t0, 0 +.L00435290: +/* 00435290 5160FFE1 */ beql $t3, $zero, .L00435218 +/* 00435294 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +.L00435298: +/* 00435298 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043529C 8FB00014 */ lw $s0, 0x14($sp) +/* 004352A0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 004352A4 03E00008 */ jr $ra +/* 004352A8 00000000 */ nop + + .type func_004352AC, @function +func_004352AC: + # 004362FC labelopt +/* 004352AC 3C1C0FBF */ .cpload $t9 +/* 004352B0 279CA7A4 */ +/* 004352B4 0399E021 */ +/* 004352B8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 004352BC AFB70030 */ sw $s7, 0x30($sp) +/* 004352C0 AFB2001C */ sw $s2, 0x1c($sp) +/* 004352C4 0040B825 */ move $s7, $v0 +/* 004352C8 AFBF003C */ sw $ra, 0x3c($sp) +/* 004352CC AFBE0038 */ sw $fp, 0x38($sp) +/* 004352D0 AFBC0034 */ sw $gp, 0x34($sp) +/* 004352D4 AFB6002C */ sw $s6, 0x2c($sp) +/* 004352D8 AFB50028 */ sw $s5, 0x28($sp) +/* 004352DC AFB40024 */ sw $s4, 0x24($sp) +/* 004352E0 AFB30020 */ sw $s3, 0x20($sp) +/* 004352E4 AFB10018 */ sw $s1, 0x18($sp) +/* 004352E8 AFB00014 */ sw $s0, 0x14($sp) +/* 004352EC 10800129 */ beqz $a0, .L00435794 +/* 004352F0 00809025 */ move $s2, $a0 +/* 004352F4 241E0026 */ li $fp, 38 +/* 004352F8 24160001 */ li $s6, 1 +/* 004352FC 2415007F */ li $s5, 127 +/* 00435300 24140088 */ li $s4, 136 +/* 00435304 24130042 */ li $s3, 66 +/* 00435308 92500020 */ lbu $s0, 0x20($s2) +.L0043530C: +/* 0043530C 24010011 */ li $at, 17 +/* 00435310 52010008 */ beql $s0, $at, .L00435334 +/* 00435314 AE400000 */ sw $zero, ($s2) +/* 00435318 12130005 */ beq $s0, $s3, .L00435330 +/* 0043531C 24010021 */ li $at, 33 +/* 00435320 12010003 */ beq $s0, $at, .L00435330 +/* 00435324 24010003 */ li $at, 3 +/* 00435328 16010004 */ bne $s0, $at, .L0043533C +/* 0043532C 00000000 */ nop +.L00435330: +/* 00435330 AE400000 */ sw $zero, ($s2) +.L00435334: +/* 00435334 1000000E */ b .L00435370 +/* 00435338 AE400004 */ sw $zero, 4($s2) +.L0043533C: +/* 0043533C 12140005 */ beq $s0, $s4, .L00435354 +/* 00435340 2401008C */ li $at, 140 +/* 00435344 12010003 */ beq $s0, $at, .L00435354 +/* 00435348 2401006A */ li $at, 106 +/* 0043534C 16010008 */ bne $s0, $at, .L00435370 +/* 00435350 00000000 */ nop +.L00435354: +/* 00435354 8F998020 */ lw $t9, %got(func_004351C0)($gp) +/* 00435358 02402025 */ move $a0, $s2 +/* 0043535C 02E01025 */ move $v0, $s7 +/* 00435360 273951C0 */ addiu $t9, %lo(func_004351C0) # addiu $t9, $t9, 0x51c0 +/* 00435364 0320F809 */ jalr $t9 +/* 00435368 00000000 */ nop +/* 0043536C 8FBC0034 */ lw $gp, 0x34($sp) +.L00435370: +/* 00435370 12150005 */ beq $s0, $s5, .L00435388 +/* 00435374 00000000 */ nop +/* 00435378 121E0003 */ beq $s0, $fp, .L00435388 +/* 0043537C 00000000 */ nop +/* 00435380 561400BE */ bnel $s0, $s4, .L0043567C +/* 00435384 92420020 */ lbu $v0, 0x20($s2) +.L00435388: +/* 00435388 5214001A */ beql $s0, $s4, .L004353F4 +/* 0043538C 8E480004 */ lw $t0, 4($s2) +/* 00435390 8E430000 */ lw $v1, ($s2) +/* 00435394 10000009 */ b .L004353BC +/* 00435398 90620020 */ lbu $v0, 0x20($v1) +/* 0043539C 946E0022 */ lhu $t6, 0x22($v1) +.L004353A0: +/* 004353A0 31CF0001 */ andi $t7, $t6, 1 +/* 004353A4 51E00013 */ beql $t7, $zero, .L004353F4 +/* 004353A8 8E480004 */ lw $t0, 4($s2) +/* 004353AC 8EF8FFFC */ lw $t8, -4($s7) +/* 004353B0 8E590004 */ lw $t9, 4($s2) +/* 004353B4 100000F4 */ b .L00435788 +/* 004353B8 A3380017 */ sb $t8, 0x17($t9) +.L004353BC: +/* 004353BC 2C41003E */ sltiu $at, $v0, 0x3e +/* 004353C0 14200005 */ bnez $at, .L004353D8 +/* 004353C4 24010052 */ li $at, 82 +/* 004353C8 5041FFF5 */ beql $v0, $at, .L004353A0 +/* 004353CC 946E0022 */ lhu $t6, 0x22($v1) +/* 004353D0 10000008 */ b .L004353F4 +/* 004353D4 8E480004 */ lw $t0, 4($s2) +.L004353D8: +/* 004353D8 24010036 */ li $at, 54 +/* 004353DC 5041FFF0 */ beql $v0, $at, .L004353A0 +/* 004353E0 946E0022 */ lhu $t6, 0x22($v1) +/* 004353E4 2401003D */ li $at, 61 +/* 004353E8 5041FFED */ beql $v0, $at, .L004353A0 +/* 004353EC 946E0022 */ lhu $t6, 0x22($v1) +.L004353F0: +/* 004353F0 8E480004 */ lw $t0, 4($s2) +.L004353F4: +/* 004353F4 00002825 */ move $a1, $zero +/* 004353F8 8D100008 */ lw $s0, 8($t0) +/* 004353FC 92020020 */ lbu $v0, 0x20($s0) +/* 00435400 2C4900A0 */ sltiu $t1, $v0, 0xa0 +/* 00435404 11200009 */ beqz $t1, .L0043542C +/* 00435408 00000000 */ nop +/* 0043540C 8F8C8038 */ lw $t4, %got(D_10016194)($gp) +/* 00435410 00025143 */ sra $t2, $v0, 5 +/* 00435414 000A5880 */ sll $t3, $t2, 2 +/* 00435418 258C6194 */ addiu $t4, %lo(D_10016194) # addiu $t4, $t4, 0x6194 +/* 0043541C 018B6821 */ addu $t5, $t4, $t3 +/* 00435420 8DAE0000 */ lw $t6, ($t5) +/* 00435424 004E7804 */ sllv $t7, $t6, $v0 +/* 00435428 29E90000 */ slti $t1, $t7, 0 +.L0043542C: +/* 0043542C 11200016 */ beqz $t1, .L00435488 +/* 00435430 00000000 */ nop +.L00435434: +/* 00435434 56620006 */ bnel $s3, $v0, .L00435450 +/* 00435438 8E100008 */ lw $s0, 8($s0) +/* 0043543C 96190022 */ lhu $t9, 0x22($s0) +/* 00435440 17200011 */ bnez $t9, .L00435488 +/* 00435444 00000000 */ nop +/* 00435448 AE500004 */ sw $s0, 4($s2) +/* 0043544C 8E100008 */ lw $s0, 8($s0) +.L00435450: +/* 00435450 92020020 */ lbu $v0, 0x20($s0) +/* 00435454 2C4800A0 */ sltiu $t0, $v0, 0xa0 +/* 00435458 11000009 */ beqz $t0, .L00435480 +/* 0043545C 00000000 */ nop +/* 00435460 8F8B8038 */ lw $t3, %got(D_10016194)($gp) +/* 00435464 00025143 */ sra $t2, $v0, 5 +/* 00435468 000A6080 */ sll $t4, $t2, 2 +/* 0043546C 256B6194 */ addiu $t3, %lo(D_10016194) # addiu $t3, $t3, 0x6194 +/* 00435470 016C6821 */ addu $t5, $t3, $t4 +/* 00435474 8DAE0000 */ lw $t6, ($t5) +/* 00435478 004E7804 */ sllv $t7, $t6, $v0 +/* 0043547C 29E80000 */ slti $t0, $t7, 0 +.L00435480: +/* 00435480 1500FFEC */ bnez $t0, .L00435434 +/* 00435484 00000000 */ nop +.L00435488: +/* 00435488 56820004 */ bnel $s4, $v0, .L0043549C +/* 0043548C 8E510008 */ lw $s1, 8($s2) +/* 00435490 8E090004 */ lw $t1, 4($s0) +/* 00435494 AE490004 */ sw $t1, 4($s2) +/* 00435498 8E510008 */ lw $s1, 8($s2) +.L0043549C: +/* 0043549C 8E500004 */ lw $s0, 4($s2) +/* 004354A0 92240020 */ lbu $a0, 0x20($s1) +/* 004354A4 2C9900A0 */ sltiu $t9, $a0, 0xa0 +/* 004354A8 13200009 */ beqz $t9, .L004354D0 +/* 004354AC 00000000 */ nop +/* 004354B0 8F8C8038 */ lw $t4, %got(D_10016194)($gp) +/* 004354B4 00045143 */ sra $t2, $a0, 5 +/* 004354B8 000A5880 */ sll $t3, $t2, 2 +/* 004354BC 258C6194 */ addiu $t4, %lo(D_10016194) # addiu $t4, $t4, 0x6194 +/* 004354C0 018B6821 */ addu $t5, $t4, $t3 +/* 004354C4 8DAE0000 */ lw $t6, ($t5) +/* 004354C8 008E7804 */ sllv $t7, $t6, $a0 +/* 004354CC 29F90000 */ slti $t9, $t7, 0 +.L004354D0: +/* 004354D0 13200022 */ beqz $t9, .L0043555C +/* 004354D4 02641026 */ xor $v0, $s3, $a0 +.L004354D8: +/* 004354D8 2C420001 */ sltiu $v0, $v0, 1 +/* 004354DC 10400004 */ beqz $v0, .L004354F0 +/* 004354E0 00000000 */ nop +/* 004354E4 96280022 */ lhu $t0, 0x22($s1) +/* 004354E8 1500001C */ bnez $t0, .L0043555C +/* 004354EC 00000000 */ nop +.L004354F0: +/* 004354F0 16110007 */ bne $s0, $s1, .L00435510 +/* 004354F4 00000000 */ nop +/* 004354F8 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 004354FC 02402025 */ move $a0, $s2 +/* 00435500 0320F809 */ jalr $t9 +/* 00435504 00000000 */ nop +/* 00435508 1000009F */ b .L00435788 +/* 0043550C 8FBC0034 */ lw $gp, 0x34($sp) +.L00435510: +/* 00435510 14A00002 */ bnez $a1, .L0043551C +/* 00435514 00A01825 */ move $v1, $a1 +/* 00435518 00401825 */ move $v1, $v0 +.L0043551C: +/* 0043551C 8E310008 */ lw $s1, 8($s1) +/* 00435520 306500FF */ andi $a1, $v1, 0xff +/* 00435524 92240020 */ lbu $a0, 0x20($s1) +/* 00435528 2C8900A0 */ sltiu $t1, $a0, 0xa0 +/* 0043552C 11200009 */ beqz $t1, .L00435554 +/* 00435530 00000000 */ nop +/* 00435534 8F8B8038 */ lw $t3, %got(D_10016194)($gp) +/* 00435538 00045143 */ sra $t2, $a0, 5 +/* 0043553C 000A6080 */ sll $t4, $t2, 2 +/* 00435540 256B6194 */ addiu $t3, %lo(D_10016194) # addiu $t3, $t3, 0x6194 +/* 00435544 016C6821 */ addu $t5, $t3, $t4 +/* 00435548 8DAE0000 */ lw $t6, ($t5) +/* 0043554C 008E7804 */ sllv $t7, $t6, $a0 +/* 00435550 29E90000 */ slti $t1, $t7, 0 +.L00435554: +/* 00435554 5520FFE0 */ bnel $t1, $zero, .L004354D8 +/* 00435558 02641026 */ xor $v0, $s3, $a0 +.L0043555C: +/* 0043555C 54A00043 */ bnel $a1, $zero, .L0043566C +/* 00435560 8EEDFFFC */ lw $t5, -4($s7) +/* 00435564 92590020 */ lbu $t9, 0x20($s2) +/* 00435568 52990040 */ beql $s4, $t9, .L0043566C +/* 0043556C 8EEDFFFC */ lw $t5, -4($s7) +/* 00435570 5684003E */ bnel $s4, $a0, .L0043566C +/* 00435574 8EEDFFFC */ lw $t5, -4($s7) +/* 00435578 8F998020 */ lw $t9, %got(func_004351C0)($gp) +/* 0043557C 02202025 */ move $a0, $s1 +/* 00435580 02E01025 */ move $v0, $s7 +/* 00435584 273951C0 */ addiu $t9, %lo(func_004351C0) # addiu $t9, $t9, 0x51c0 +/* 00435588 0320F809 */ jalr $t9 +/* 0043558C 00000000 */ nop +/* 00435590 8E220008 */ lw $v0, 8($s1) +/* 00435594 8FBC0034 */ lw $gp, 0x34($sp) +/* 00435598 90480020 */ lbu $t0, 0x20($v0) +/* 0043559C 2D0A00A0 */ sltiu $t2, $t0, 0xa0 +/* 004355A0 11400009 */ beqz $t2, .L004355C8 +/* 004355A4 00000000 */ nop +/* 004355A8 8F8D8038 */ lw $t5, %got(D_10016194)($gp) +/* 004355AC 00085943 */ sra $t3, $t0, 5 +/* 004355B0 000B6080 */ sll $t4, $t3, 2 +/* 004355B4 25AD6194 */ addiu $t5, %lo(D_10016194) # addiu $t5, $t5, 0x6194 +/* 004355B8 01AC7021 */ addu $t6, $t5, $t4 +/* 004355BC 8DCF0000 */ lw $t7, ($t6) +/* 004355C0 010FC004 */ sllv $t8, $t7, $t0 +/* 004355C4 2B0A0000 */ slti $t2, $t8, 0 +.L004355C8: +/* 004355C8 51400028 */ beql $t2, $zero, .L0043566C +/* 004355CC 8EEDFFFC */ lw $t5, -4($s7) +.L004355D0: +/* 004355D0 56020017 */ bnel $s0, $v0, .L00435630 +/* 004355D4 8C420008 */ lw $v0, 8($v0) +/* 004355D8 92590020 */ lbu $t9, 0x20($s2) +/* 004355DC 56B90004 */ bnel $s5, $t9, .L004355F0 +/* 004355E0 A2550020 */ sb $s5, 0x20($s2) +/* 004355E4 10000002 */ b .L004355F0 +/* 004355E8 A25E0020 */ sb $fp, 0x20($s2) +/* 004355EC A2550020 */ sb $s5, 0x20($s2) +.L004355F0: +/* 004355F0 96420022 */ lhu $v0, 0x22($s2) +/* 004355F4 8E2B0004 */ lw $t3, 4($s1) +/* 004355F8 10400006 */ beqz $v0, .L00435614 +/* 004355FC AE4B0004 */ sw $t3, 4($s2) +/* 00435600 16C20003 */ bne $s6, $v0, .L00435610 +/* 00435604 240D0002 */ li $t5, 2 +/* 00435608 10000002 */ b .L00435614 +/* 0043560C A64D0022 */ sh $t5, 0x22($s2) +.L00435610: +/* 00435610 A6560022 */ sh $s6, 0x22($s2) +.L00435614: +/* 00435614 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00435618 02202025 */ move $a0, $s1 +/* 0043561C 0320F809 */ jalr $t9 +/* 00435620 00000000 */ nop +/* 00435624 1000FF72 */ b .L004353F0 +/* 00435628 8FBC0034 */ lw $gp, 0x34($sp) +/* 0043562C 8C420008 */ lw $v0, 8($v0) +.L00435630: +/* 00435630 904C0020 */ lbu $t4, 0x20($v0) +/* 00435634 2D8E00A0 */ sltiu $t6, $t4, 0xa0 +/* 00435638 11C00009 */ beqz $t6, .L00435660 +/* 0043563C 00000000 */ nop +/* 00435640 8F988038 */ lw $t8, %got(D_10016194)($gp) +/* 00435644 000C7943 */ sra $t7, $t4, 5 +/* 00435648 000F4080 */ sll $t0, $t7, 2 +/* 0043564C 27186194 */ addiu $t8, %lo(D_10016194) # addiu $t8, $t8, 0x6194 +/* 00435650 03084821 */ addu $t1, $t8, $t0 +/* 00435654 8D2A0000 */ lw $t2, ($t1) +/* 00435658 018AC804 */ sllv $t9, $t2, $t4 +/* 0043565C 2B2E0000 */ slti $t6, $t9, 0 +.L00435660: +/* 00435660 15C0FFDB */ bnez $t6, .L004355D0 +/* 00435664 00000000 */ nop +/* 00435668 8EEDFFFC */ lw $t5, -4($s7) +.L0043566C: +/* 0043566C 8E4F0004 */ lw $t7, 4($s2) +/* 00435670 10000045 */ b .L00435788 +/* 00435674 A1ED0017 */ sb $t5, 0x17($t7) +/* 00435678 92420020 */ lbu $v0, 0x20($s2) +.L0043567C: +/* 0043567C 24010011 */ li $at, 17 +/* 00435680 54410036 */ bnel $v0, $at, .L0043575C +/* 00435684 24010031 */ li $at, 49 +/* 00435688 8E420028 */ lw $v0, 0x28($s2) +/* 0043568C 1040003E */ beqz $v0, .L00435788 +/* 00435690 00401825 */ move $v1, $v0 +/* 00435694 8EE4FFFC */ lw $a0, -4($s7) +.L00435698: +/* 00435698 8E520008 */ lw $s2, 8($s2) +/* 0043569C 8E580004 */ lw $t8, 4($s2) +/* 004356A0 8F100008 */ lw $s0, 8($t8) +/* 004356A4 92020020 */ lbu $v0, 0x20($s0) +/* 004356A8 2C4800A0 */ sltiu $t0, $v0, 0xa0 +/* 004356AC 11000009 */ beqz $t0, .L004356D4 +/* 004356B0 00000000 */ nop +/* 004356B4 8F8C8038 */ lw $t4, %got(D_10016194)($gp) +/* 004356B8 00024943 */ sra $t1, $v0, 5 +/* 004356BC 00095080 */ sll $t2, $t1, 2 +/* 004356C0 258C6194 */ addiu $t4, %lo(D_10016194) # addiu $t4, $t4, 0x6194 +/* 004356C4 018AC821 */ addu $t9, $t4, $t2 +/* 004356C8 8F2B0000 */ lw $t3, ($t9) +/* 004356CC 004B7004 */ sllv $t6, $t3, $v0 +/* 004356D0 29C80000 */ slti $t0, $t6, 0 +.L004356D4: +/* 004356D4 11000016 */ beqz $t0, .L00435730 +/* 004356D8 00000000 */ nop +.L004356DC: +/* 004356DC 56620006 */ bnel $s3, $v0, .L004356F8 +/* 004356E0 8E100008 */ lw $s0, 8($s0) +/* 004356E4 960F0022 */ lhu $t7, 0x22($s0) +/* 004356E8 51E00003 */ beql $t7, $zero, .L004356F8 +/* 004356EC 8E100008 */ lw $s0, 8($s0) +/* 004356F0 AE500004 */ sw $s0, 4($s2) +/* 004356F4 8E100008 */ lw $s0, 8($s0) +.L004356F8: +/* 004356F8 92020020 */ lbu $v0, 0x20($s0) +/* 004356FC 2C5800A0 */ sltiu $t8, $v0, 0xa0 +/* 00435700 13000009 */ beqz $t8, .L00435728 +/* 00435704 00000000 */ nop +/* 00435708 8F8A8038 */ lw $t2, %got(D_10016194)($gp) +/* 0043570C 00024943 */ sra $t1, $v0, 5 +/* 00435710 00096080 */ sll $t4, $t1, 2 +/* 00435714 254A6194 */ addiu $t2, %lo(D_10016194) # addiu $t2, $t2, 0x6194 +/* 00435718 014CC821 */ addu $t9, $t2, $t4 +/* 0043571C 8F2B0000 */ lw $t3, ($t9) +/* 00435720 004B7004 */ sllv $t6, $t3, $v0 +/* 00435724 29D80000 */ slti $t8, $t6, 0 +.L00435728: +/* 00435728 1700FFEC */ bnez $t8, .L004356DC +/* 0043572C 00000000 */ nop +.L00435730: +/* 00435730 56820004 */ bnel $s4, $v0, .L00435744 +/* 00435734 8E4F0004 */ lw $t7, 4($s2) +/* 00435738 8E080004 */ lw $t0, 4($s0) +/* 0043573C AE480004 */ sw $t0, 4($s2) +/* 00435740 8E4F0004 */ lw $t7, 4($s2) +.L00435744: +/* 00435744 2463FFFF */ addiu $v1, $v1, -1 +/* 00435748 1460FFD3 */ bnez $v1, .L00435698 +/* 0043574C A1E40017 */ sb $a0, 0x17($t7) +/* 00435750 1000000E */ b .L0043578C +/* 00435754 8E520008 */ lw $s2, 8($s2) +/* 00435758 24010031 */ li $at, 49 +.L0043575C: +/* 0043575C 5441000B */ bnel $v0, $at, .L0043578C +/* 00435760 8E520008 */ lw $s2, 8($s2) +/* 00435764 8E500004 */ lw $s0, 4($s2) +/* 00435768 52000008 */ beql $s0, $zero, .L0043578C +/* 0043576C 8E520008 */ lw $s2, 8($s2) +/* 00435770 8EE4FFFC */ lw $a0, -4($s7) +/* 00435774 8E090000 */ lw $t1, ($s0) +.L00435778: +/* 00435778 A1240017 */ sb $a0, 0x17($t1) +/* 0043577C 8E100008 */ lw $s0, 8($s0) +/* 00435780 5600FFFD */ bnel $s0, $zero, .L00435778 +/* 00435784 8E090000 */ lw $t1, ($s0) +.L00435788: +/* 00435788 8E520008 */ lw $s2, 8($s2) +.L0043578C: +/* 0043578C 5640FEDF */ bnel $s2, $zero, .L0043530C +/* 00435790 92500020 */ lbu $s0, 0x20($s2) +.L00435794: +/* 00435794 8FBF003C */ lw $ra, 0x3c($sp) +/* 00435798 8FB00014 */ lw $s0, 0x14($sp) +/* 0043579C 8FB10018 */ lw $s1, 0x18($sp) +/* 004357A0 8FB2001C */ lw $s2, 0x1c($sp) +/* 004357A4 8FB30020 */ lw $s3, 0x20($sp) +/* 004357A8 8FB40024 */ lw $s4, 0x24($sp) +/* 004357AC 8FB50028 */ lw $s5, 0x28($sp) +/* 004357B0 8FB6002C */ lw $s6, 0x2c($sp) +/* 004357B4 8FB70030 */ lw $s7, 0x30($sp) +/* 004357B8 8FBE0038 */ lw $fp, 0x38($sp) +/* 004357BC 03E00008 */ jr $ra +/* 004357C0 27BD0040 */ addiu $sp, $sp, 0x40 + + .type func_004357C4, @function +func_004357C4: + # 0043595C func_0043595C +/* 004357C4 3C1C0FBF */ .cpload $t9 +/* 004357C8 279CA28C */ +/* 004357CC 0399E021 */ +/* 004357D0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 004357D4 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 004357D8 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 004357DC 8C820000 */ lw $v0, ($a0) +/* 004357E0 00803825 */ move $a3, $a0 +/* 004357E4 00A03025 */ move $a2, $a1 +/* 004357E8 10400007 */ beqz $v0, .L00435808 +/* 004357EC 00000000 */ nop +/* 004357F0 8C4E0004 */ lw $t6, 4($v0) +.L004357F4: +/* 004357F4 50CE0056 */ beql $a2, $t6, .L00435950 +/* 004357F8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004357FC 8C42000C */ lw $v0, 0xc($v0) +/* 00435800 5440FFFC */ bnel $v0, $zero, .L004357F4 +/* 00435804 8C4E0004 */ lw $t6, 4($v0) +.L00435808: +/* 00435808 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043580C 24040010 */ li $a0, 16 +/* 00435810 00002825 */ move $a1, $zero +/* 00435814 AFA600BC */ sw $a2, 0xbc($sp) +/* 00435818 0320F809 */ jalr $t9 +/* 0043581C AFA700B8 */ sw $a3, 0xb8($sp) +/* 00435820 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00435824 8FA600BC */ lw $a2, 0xbc($sp) +/* 00435828 14400040 */ bnez $v0, .L0043592C +/* 0043582C 8FA700B8 */ lw $a3, 0xb8($sp) +/* 00435830 8F8F8038 */ lw $t7, %got(RO_1000B090)($gp) +/* 00435834 24040004 */ li $a0, 4 +/* 00435838 240500E5 */ li $a1, 229 +/* 0043583C 25EFB090 */ addiu $t7, %lo(RO_1000B090) # addiu $t7, $t7, -0x4f70 +/* 00435840 25E90048 */ addiu $t1, $t7, 0x48 +/* 00435844 03A04025 */ move $t0, $sp +.L00435848: +/* 00435848 89F90000 */ lwl $t9, ($t7) +/* 0043584C 99F90003 */ lwr $t9, 3($t7) +/* 00435850 25EF000C */ addiu $t7, $t7, 0xc +/* 00435854 2508000C */ addiu $t0, $t0, 0xc +/* 00435858 A919FFFC */ swl $t9, -4($t0) +/* 0043585C B919FFFF */ swr $t9, -1($t0) +/* 00435860 89F8FFF8 */ lwl $t8, -8($t7) +/* 00435864 99F8FFFB */ lwr $t8, -5($t7) +/* 00435868 A9180000 */ swl $t8, ($t0) +/* 0043586C B9180003 */ swr $t8, 3($t0) +/* 00435870 89F9FFFC */ lwl $t9, -4($t7) +/* 00435874 99F9FFFF */ lwr $t9, -1($t7) +/* 00435878 A9190004 */ swl $t9, 4($t0) +/* 0043587C 15E9FFF2 */ bne $t7, $t1, .L00435848 +/* 00435880 B9190007 */ swr $t9, 7($t0) +/* 00435884 89F90000 */ lwl $t9, ($t7) +/* 00435888 99F90003 */ lwr $t9, 3($t7) +/* 0043588C 8F8A8038 */ lw $t2, %got(RO_1000B040)($gp) +/* 00435890 03A06825 */ move $t5, $sp +/* 00435894 A9190008 */ swl $t9, 8($t0) +/* 00435898 B919000B */ swr $t9, 0xb($t0) +/* 0043589C 89F80004 */ lwl $t8, 4($t7) +/* 004358A0 99F80007 */ lwr $t8, 7($t7) +/* 004358A4 254AB040 */ addiu $t2, %lo(RO_1000B040) # addiu $t2, $t2, -0x4fc0 +/* 004358A8 254E0048 */ addiu $t6, $t2, 0x48 +/* 004358AC A918000C */ swl $t8, 0xc($t0) +/* 004358B0 B918000F */ swr $t8, 0xf($t0) +.L004358B4: +/* 004358B4 894C0000 */ lwl $t4, ($t2) +/* 004358B8 994C0003 */ lwr $t4, 3($t2) +/* 004358BC 254A000C */ addiu $t2, $t2, 0xc +/* 004358C0 25AD000C */ addiu $t5, $t5, 0xc +/* 004358C4 A9AC004C */ swl $t4, 0x4c($t5) +/* 004358C8 B9AC004F */ swr $t4, 0x4f($t5) +/* 004358CC 894BFFF8 */ lwl $t3, -8($t2) +/* 004358D0 994BFFFB */ lwr $t3, -5($t2) +/* 004358D4 A9AB0050 */ swl $t3, 0x50($t5) +/* 004358D8 B9AB0053 */ swr $t3, 0x53($t5) +/* 004358DC 894CFFFC */ lwl $t4, -4($t2) +/* 004358E0 994CFFFF */ lwr $t4, -1($t2) +/* 004358E4 A9AC0054 */ swl $t4, 0x54($t5) +/* 004358E8 154EFFF2 */ bne $t2, $t6, .L004358B4 +/* 004358EC B9AC0057 */ swr $t4, 0x57($t5) +/* 004358F0 894C0000 */ lwl $t4, ($t2) +/* 004358F4 994C0003 */ lwr $t4, 3($t2) +/* 004358F8 A9AC0058 */ swl $t4, 0x58($t5) +/* 004358FC B9AC005B */ swr $t4, 0x5b($t5) +/* 00435900 894B0004 */ lwl $t3, 4($t2) +/* 00435904 994B0007 */ lwr $t3, 7($t2) +/* 00435908 A9AB005C */ swl $t3, 0x5c($t5) +/* 0043590C B9AB005F */ swr $t3, 0x5f($t5) +/* 00435910 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00435914 8FA7000C */ lw $a3, 0xc($sp) +/* 00435918 8FA60008 */ lw $a2, 8($sp) +/* 0043591C 0320F809 */ jalr $t9 +/* 00435920 00000000 */ nop +/* 00435924 10000009 */ b .L0043594C +/* 00435928 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043592C: +/* 0043592C AC470000 */ sw $a3, ($v0) +/* 00435930 AC460004 */ sw $a2, 4($v0) +/* 00435934 8CE90000 */ lw $t1, ($a3) +/* 00435938 AC49000C */ sw $t1, 0xc($v0) +/* 0043593C 8CCF0004 */ lw $t7, 4($a2) +/* 00435940 AC4F0008 */ sw $t7, 8($v0) +/* 00435944 ACE20000 */ sw $v0, ($a3) +/* 00435948 ACC20004 */ sw $v0, 4($a2) +.L0043594C: +/* 0043594C 8FBF00B4 */ lw $ra, 0xb4($sp) +.L00435950: +/* 00435950 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00435954 03E00008 */ jr $ra +/* 00435958 00000000 */ nop + + .type func_0043595C, @function +func_0043595C: + # 004362FC labelopt +/* 0043595C 3C1C0FBF */ .cpload $t9 +/* 00435960 279CA0F4 */ +/* 00435964 0399E021 */ +/* 00435968 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0043596C AFB50028 */ sw $s5, 0x28($sp) +/* 00435970 AFB2001C */ sw $s2, 0x1c($sp) +/* 00435974 AFB10018 */ sw $s1, 0x18($sp) +/* 00435978 00409025 */ move $s2, $v0 +/* 0043597C AFBF0034 */ sw $ra, 0x34($sp) +/* 00435980 AFBC0030 */ sw $gp, 0x30($sp) +/* 00435984 AFB6002C */ sw $s6, 0x2c($sp) +/* 00435988 AFB40024 */ sw $s4, 0x24($sp) +/* 0043598C AFB30020 */ sw $s3, 0x20($sp) +/* 00435990 AFB00014 */ sw $s0, 0x14($sp) +/* 00435994 0000A825 */ move $s5, $zero +/* 00435998 108000A0 */ beqz $a0, .L00435C1C +/* 0043599C 00808825 */ move $s1, $a0 +/* 004359A0 24160021 */ li $s6, 33 +/* 004359A4 93B40043 */ lbu $s4, 0x43($sp) +/* 004359A8 8FB30038 */ lw $s3, 0x38($sp) +/* 004359AC 92230020 */ lbu $v1, 0x20($s1) +.L004359B0: +/* 004359B0 1000006C */ b .L00435B64 +/* 004359B4 00601025 */ move $v0, $v1 +.L004359B8: +/* 004359B8 8E4EFFF8 */ lw $t6, -8($s2) +.L004359BC: +/* 004359BC 24140001 */ li $s4, 1 +/* 004359C0 02209825 */ move $s3, $s1 +/* 004359C4 16C30003 */ bne $s6, $v1, .L004359D4 +/* 004359C8 A22E0017 */ sb $t6, 0x17($s1) +/* 004359CC 1000008E */ b .L00435C08 +/* 004359D0 0220A825 */ move $s5, $s1 +.L004359D4: +/* 004359D4 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 004359D8 02A02025 */ move $a0, $s5 +/* 004359DC 02202825 */ move $a1, $s1 +/* 004359E0 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 004359E4 0320F809 */ jalr $t9 +/* 004359E8 02401025 */ move $v0, $s2 +/* 004359EC 10000086 */ b .L00435C08 +/* 004359F0 8FBC0030 */ lw $gp, 0x30($sp) +.L004359F4: +/* 004359F4 10000084 */ b .L00435C08 +/* 004359F8 0000A025 */ move $s4, $zero +/* 004359FC 8E4FFFFC */ lw $t7, -4($s2) +.L00435A00: +/* 00435A00 92380017 */ lbu $t8, 0x17($s1) +/* 00435A04 51F80016 */ beql $t7, $t8, .L00435A60 +/* 00435A08 96290022 */ lhu $t1, 0x22($s1) +/* 00435A0C 96390022 */ lhu $t9, 0x22($s1) +/* 00435A10 57200013 */ bnel $t9, $zero, .L00435A60 +/* 00435A14 96290022 */ lhu $t1, 0x22($s1) +/* 00435A18 8E280028 */ lw $t0, 0x28($s1) +/* 00435A1C 55000010 */ bnel $t0, $zero, .L00435A60 +/* 00435A20 96290022 */ lhu $t1, 0x22($s1) +/* 00435A24 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00435A28 02202025 */ move $a0, $s1 +/* 00435A2C 0320F809 */ jalr $t9 +/* 00435A30 00000000 */ nop +/* 00435A34 16800074 */ bnez $s4, .L00435C08 +/* 00435A38 8FBC0030 */ lw $gp, 0x30($sp) +/* 00435A3C 8F998020 */ lw $t9, %got(func_004351C0)($gp) +/* 00435A40 02202025 */ move $a0, $s1 +/* 00435A44 02401025 */ move $v0, $s2 +/* 00435A48 273951C0 */ addiu $t9, %lo(func_004351C0) # addiu $t9, $t9, 0x51c0 +/* 00435A4C 0320F809 */ jalr $t9 +/* 00435A50 00000000 */ nop +/* 00435A54 1000006C */ b .L00435C08 +/* 00435A58 8FBC0030 */ lw $gp, 0x30($sp) +/* 00435A5C 96290022 */ lhu $t1, 0x22($s1) +.L00435A60: +/* 00435A60 8E50FFF8 */ lw $s0, -8($s2) +/* 00435A64 15200004 */ bnez $t1, .L00435A78 +/* 00435A68 00000000 */ nop +/* 00435A6C 8E2A0028 */ lw $t2, 0x28($s1) +/* 00435A70 51400009 */ beql $t2, $zero, .L00435A98 +/* 00435A74 0014102B */ sltu $v0, $zero, $s4 +.L00435A78: +/* 00435A78 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 00435A7C 02A02025 */ move $a0, $s5 +/* 00435A80 02202825 */ move $a1, $s1 +/* 00435A84 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 00435A88 0320F809 */ jalr $t9 +/* 00435A8C 02401025 */ move $v0, $s2 +/* 00435A90 8FBC0030 */ lw $gp, 0x30($sp) +/* 00435A94 0014102B */ sltu $v0, $zero, $s4 +.L00435A98: +/* 00435A98 10400008 */ beqz $v0, .L00435ABC +/* 00435A9C 24140001 */ li $s4, 1 +/* 00435AA0 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 00435AA4 02602025 */ move $a0, $s3 +/* 00435AA8 02202825 */ move $a1, $s1 +/* 00435AAC 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 00435AB0 0320F809 */ jalr $t9 +/* 00435AB4 02401025 */ move $v0, $s2 +/* 00435AB8 8FBC0030 */ lw $gp, 0x30($sp) +.L00435ABC: +/* 00435ABC 02209825 */ move $s3, $s1 +/* 00435AC0 10000051 */ b .L00435C08 +/* 00435AC4 A2300017 */ sb $s0, 0x17($s1) +/* 00435AC8 8E2B0028 */ lw $t3, 0x28($s1) +.L00435ACC: +/* 00435ACC 5160004F */ beql $t3, $zero, .L00435C0C +/* 00435AD0 8E310008 */ lw $s1, 8($s1) +/* 00435AD4 8E4CFFF8 */ lw $t4, -8($s2) +/* 00435AD8 02209825 */ move $s3, $s1 +/* 00435ADC 1000004A */ b .L00435C08 +/* 00435AE0 A22C0017 */ sb $t4, 0x17($s1) +.L00435AE4: +/* 00435AE4 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 00435AE8 8E250004 */ lw $a1, 4($s1) +/* 00435AEC 02401025 */ move $v0, $s2 +/* 00435AF0 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 00435AF4 0320F809 */ jalr $t9 +/* 00435AF8 0000A025 */ move $s4, $zero +/* 00435AFC 10000042 */ b .L00435C08 +/* 00435B00 8FBC0030 */ lw $gp, 0x30($sp) +.L00435B04: +/* 00435B04 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 00435B08 02602025 */ move $a0, $s3 +/* 00435B0C 8E250004 */ lw $a1, 4($s1) +/* 00435B10 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 00435B14 0320F809 */ jalr $t9 +/* 00435B18 02401025 */ move $v0, $s2 +/* 00435B1C 1000003A */ b .L00435C08 +/* 00435B20 8FBC0030 */ lw $gp, 0x30($sp) +/* 00435B24 8E300004 */ lw $s0, 4($s1) +.L00435B28: +/* 00435B28 0000A025 */ move $s4, $zero +/* 00435B2C 52000037 */ beql $s0, $zero, .L00435C0C +/* 00435B30 8E310008 */ lw $s1, 8($s1) +.L00435B34: +/* 00435B34 8F998020 */ lw $t9, %got(func_004357C4)($gp) +/* 00435B38 02602025 */ move $a0, $s3 +/* 00435B3C 8E050000 */ lw $a1, ($s0) +/* 00435B40 273957C4 */ addiu $t9, %lo(func_004357C4) # addiu $t9, $t9, 0x57c4 +/* 00435B44 0320F809 */ jalr $t9 +/* 00435B48 02401025 */ move $v0, $s2 +/* 00435B4C 8E100008 */ lw $s0, 8($s0) +/* 00435B50 8FBC0030 */ lw $gp, 0x30($sp) +/* 00435B54 1600FFF7 */ bnez $s0, .L00435B34 +/* 00435B58 00000000 */ nop +/* 00435B5C 1000002B */ b .L00435C0C +/* 00435B60 8E310008 */ lw $s1, 8($s1) +.L00435B64: +/* 00435B64 2C410032 */ sltiu $at, $v0, 0x32 +/* 00435B68 14200015 */ bnez $at, .L00435BC0 +/* 00435B6C 2C410080 */ sltiu $at, $v0, 0x80 +/* 00435B70 14200008 */ bnez $at, .L00435B94 +/* 00435B74 24010088 */ li $at, 136 +/* 00435B78 1041FFDA */ beq $v0, $at, .L00435AE4 +/* 00435B7C 02602025 */ move $a0, $s3 +/* 00435B80 2401008C */ li $at, 140 +/* 00435B84 1041FFD7 */ beq $v0, $at, .L00435AE4 +/* 00435B88 00000000 */ nop +/* 00435B8C 1000001F */ b .L00435C0C +/* 00435B90 8E310008 */ lw $s1, 8($s1) +.L00435B94: +/* 00435B94 24010042 */ li $at, 66 +/* 00435B98 5041FF99 */ beql $v0, $at, .L00435A00 +/* 00435B9C 8E4FFFFC */ lw $t7, -4($s2) +/* 00435BA0 2401006A */ li $at, 106 +/* 00435BA4 1041FF93 */ beq $v0, $at, .L004359F4 +/* 00435BA8 00000000 */ nop +/* 00435BAC 2401007F */ li $at, 127 +/* 00435BB0 1041FFD4 */ beq $v0, $at, .L00435B04 +/* 00435BB4 00000000 */ nop +/* 00435BB8 10000014 */ b .L00435C0C +/* 00435BBC 8E310008 */ lw $s1, 8($s1) +.L00435BC0: +/* 00435BC0 2C410012 */ sltiu $at, $v0, 0x12 +/* 00435BC4 5420000B */ bnel $at, $zero, .L00435BF4 +/* 00435BC8 24010003 */ li $at, 3 +/* 00435BCC 1056FF7A */ beq $v0, $s6, .L004359B8 +/* 00435BD0 24010026 */ li $at, 38 +/* 00435BD4 1041FFCB */ beq $v0, $at, .L00435B04 +/* 00435BD8 00000000 */ nop +/* 00435BDC 24010031 */ li $at, 49 +/* 00435BE0 5041FFD1 */ beql $v0, $at, .L00435B28 +/* 00435BE4 8E300004 */ lw $s0, 4($s1) +/* 00435BE8 10000008 */ b .L00435C0C +/* 00435BEC 8E310008 */ lw $s1, 8($s1) +/* 00435BF0 24010003 */ li $at, 3 +.L00435BF4: +/* 00435BF4 5041FF71 */ beql $v0, $at, .L004359BC +/* 00435BF8 8E4EFFF8 */ lw $t6, -8($s2) +/* 00435BFC 24010011 */ li $at, 17 +/* 00435C00 5041FFB2 */ beql $v0, $at, .L00435ACC +/* 00435C04 8E2B0028 */ lw $t3, 0x28($s1) +.L00435C08: +/* 00435C08 8E310008 */ lw $s1, 8($s1) +.L00435C0C: +/* 00435C0C 5620FF68 */ bnel $s1, $zero, .L004359B0 +/* 00435C10 92230020 */ lbu $v1, 0x20($s1) +/* 00435C14 A3B40043 */ sb $s4, 0x43($sp) +/* 00435C18 AFB30038 */ sw $s3, 0x38($sp) +.L00435C1C: +/* 00435C1C 8FBF0034 */ lw $ra, 0x34($sp) +/* 00435C20 8FB00014 */ lw $s0, 0x14($sp) +/* 00435C24 8FB10018 */ lw $s1, 0x18($sp) +/* 00435C28 8FB2001C */ lw $s2, 0x1c($sp) +/* 00435C2C 8FB30020 */ lw $s3, 0x20($sp) +/* 00435C30 8FB40024 */ lw $s4, 0x24($sp) +/* 00435C34 8FB50028 */ lw $s5, 0x28($sp) +/* 00435C38 8FB6002C */ lw $s6, 0x2c($sp) +/* 00435C3C 03E00008 */ jr $ra +/* 00435C40 27BD0048 */ addiu $sp, $sp, 0x48 + + .type func_00435C44, @function +func_00435C44: + # 00436148 func_00436148 +/* 00435C44 3C1C0FBF */ .cpload $t9 +/* 00435C48 279C9E0C */ +/* 00435C4C 0399E021 */ +/* 00435C50 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00435C54 AFBF0024 */ sw $ra, 0x24($sp) +/* 00435C58 AFBC0020 */ sw $gp, 0x20($sp) +/* 00435C5C AFB2001C */ sw $s2, 0x1c($sp) +/* 00435C60 AFB10018 */ sw $s1, 0x18($sp) +/* 00435C64 AFB00014 */ sw $s0, 0x14($sp) +/* 00435C68 AFA40028 */ sw $a0, 0x28($sp) +/* 00435C6C 8C520004 */ lw $s2, 4($v0) +/* 00435C70 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00435C74 2405004C */ li $a1, 76 +/* 00435C78 8E500000 */ lw $s0, ($s2) +/* 00435C7C 24060001 */ li $a2, 1 +/* 00435C80 2407000A */ li $a3, 10 +/* 00435C84 0320F809 */ jalr $t9 +/* 00435C88 02002025 */ move $a0, $s0 +/* 00435C8C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435C90 8FAE0028 */ lw $t6, 0x28($sp) +/* 00435C94 02002025 */ move $a0, $s0 +/* 00435C98 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00435C9C 8DC50010 */ lw $a1, 0x10($t6) +/* 00435CA0 24060001 */ li $a2, 1 +/* 00435CA4 2407000A */ li $a3, 10 +/* 00435CA8 0320F809 */ jalr $t9 +/* 00435CAC 00052A02 */ srl $a1, $a1, 8 +/* 00435CB0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435CB4 8E440000 */ lw $a0, ($s2) +/* 00435CB8 24060004 */ li $a2, 4 +/* 00435CBC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00435CC0 8F858038 */ lw $a1, %got(RO_1000B0E9)($gp) +/* 00435CC4 24070004 */ li $a3, 4 +/* 00435CC8 0320F809 */ jalr $t9 +/* 00435CCC 24A5B0E9 */ addiu $a1, %lo(RO_1000B0E9) # addiu $a1, $a1, -0x4f17 +/* 00435CD0 8FAF0028 */ lw $t7, 0x28($sp) +/* 00435CD4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435CD8 8DF10004 */ lw $s1, 4($t7) +/* 00435CDC 12200016 */ beqz $s1, .L00435D38 +/* 00435CE0 00000000 */ nop +.L00435CE4: +/* 00435CE4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00435CE8 8E500000 */ lw $s0, ($s2) +/* 00435CEC 8F858038 */ lw $a1, %got(RO_1000B0E7)($gp) +/* 00435CF0 24060002 */ li $a2, 2 +/* 00435CF4 24070002 */ li $a3, 2 +/* 00435CF8 02002025 */ move $a0, $s0 +/* 00435CFC 0320F809 */ jalr $t9 +/* 00435D00 24A5B0E7 */ addiu $a1, %lo(RO_1000B0E7) # addiu $a1, $a1, -0x4f19 +/* 00435D04 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435D08 8E380000 */ lw $t8, ($s1) +/* 00435D0C 02002025 */ move $a0, $s0 +/* 00435D10 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00435D14 8F050010 */ lw $a1, 0x10($t8) +/* 00435D18 24060001 */ li $a2, 1 +/* 00435D1C 2407000A */ li $a3, 10 +/* 00435D20 0320F809 */ jalr $t9 +/* 00435D24 00052A02 */ srl $a1, $a1, 8 +/* 00435D28 8E310008 */ lw $s1, 8($s1) +/* 00435D2C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435D30 1620FFEC */ bnez $s1, .L00435CE4 +/* 00435D34 00000000 */ nop +.L00435D38: +/* 00435D38 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00435D3C 8F858038 */ lw $a1, %got(RO_1000B0E2)($gp) +/* 00435D40 8E440000 */ lw $a0, ($s2) +/* 00435D44 24060005 */ li $a2, 5 +/* 00435D48 24070005 */ li $a3, 5 +/* 00435D4C 0320F809 */ jalr $t9 +/* 00435D50 24A5B0E2 */ addiu $a1, %lo(RO_1000B0E2) # addiu $a1, $a1, -0x4f1e +/* 00435D54 8FB90028 */ lw $t9, 0x28($sp) +/* 00435D58 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435D5C 8F310000 */ lw $s1, ($t9) +/* 00435D60 12200016 */ beqz $s1, .L00435DBC +/* 00435D64 00000000 */ nop +.L00435D68: +/* 00435D68 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00435D6C 8E500000 */ lw $s0, ($s2) +/* 00435D70 8F858038 */ lw $a1, %got(RO_1000B0E0)($gp) +/* 00435D74 24060002 */ li $a2, 2 +/* 00435D78 24070002 */ li $a3, 2 +/* 00435D7C 02002025 */ move $a0, $s0 +/* 00435D80 0320F809 */ jalr $t9 +/* 00435D84 24A5B0E0 */ addiu $a1, %lo(RO_1000B0E0) # addiu $a1, $a1, -0x4f20 +/* 00435D88 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435D8C 8E280004 */ lw $t0, 4($s1) +/* 00435D90 02002025 */ move $a0, $s0 +/* 00435D94 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00435D98 8D050010 */ lw $a1, 0x10($t0) +/* 00435D9C 24060001 */ li $a2, 1 +/* 00435DA0 2407000A */ li $a3, 10 +/* 00435DA4 0320F809 */ jalr $t9 +/* 00435DA8 00052A02 */ srl $a1, $a1, 8 +/* 00435DAC 8E31000C */ lw $s1, 0xc($s1) +/* 00435DB0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435DB4 1620FFEC */ bnez $s1, .L00435D68 +/* 00435DB8 00000000 */ nop +.L00435DBC: +/* 00435DBC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00435DC0 8E440000 */ lw $a0, ($s2) +/* 00435DC4 0320F809 */ jalr $t9 +/* 00435DC8 00000000 */ nop +/* 00435DCC 8FBF0024 */ lw $ra, 0x24($sp) +/* 00435DD0 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435DD4 8FB00014 */ lw $s0, 0x14($sp) +/* 00435DD8 8FB10018 */ lw $s1, 0x18($sp) +/* 00435DDC 8FB2001C */ lw $s2, 0x1c($sp) +/* 00435DE0 03E00008 */ jr $ra +/* 00435DE4 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_00435DE8, @function +func_00435DE8: + # 00435DE8 func_00435DE8 + # 00436148 func_00436148 +/* 00435DE8 3C1C0FBF */ .cpload $t9 +/* 00435DEC 279C9C68 */ +/* 00435DF0 0399E021 */ +/* 00435DF4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00435DF8 AFBF0024 */ sw $ra, 0x24($sp) +/* 00435DFC AFBC0020 */ sw $gp, 0x20($sp) +/* 00435E00 AFB1001C */ sw $s1, 0x1c($sp) +/* 00435E04 AFB00018 */ sw $s0, 0x18($sp) +/* 00435E08 8C43FFFC */ lw $v1, -4($v0) +/* 00435E0C 908E0017 */ lbu $t6, 0x17($a0) +/* 00435E10 00408825 */ move $s1, $v0 +/* 00435E14 506E0010 */ beql $v1, $t6, .L00435E58 +/* 00435E18 8FBF0024 */ lw $ra, 0x24($sp) +/* 00435E1C 8C900000 */ lw $s0, ($a0) +/* 00435E20 A0830017 */ sb $v1, 0x17($a0) +/* 00435E24 5200000C */ beql $s0, $zero, .L00435E58 +/* 00435E28 8FBF0024 */ lw $ra, 0x24($sp) +.L00435E2C: +/* 00435E2C 8F998020 */ lw $t9, %got(func_00435DE8)($gp) +/* 00435E30 8E040004 */ lw $a0, 4($s0) +/* 00435E34 02201025 */ move $v0, $s1 +/* 00435E38 27395DE8 */ addiu $t9, %lo(func_00435DE8) # addiu $t9, $t9, 0x5de8 +/* 00435E3C 0320F809 */ jalr $t9 +/* 00435E40 00000000 */ nop +/* 00435E44 8E10000C */ lw $s0, 0xc($s0) +/* 00435E48 8FBC0020 */ lw $gp, 0x20($sp) +/* 00435E4C 1600FFF7 */ bnez $s0, .L00435E2C +/* 00435E50 00000000 */ nop +/* 00435E54 8FBF0024 */ lw $ra, 0x24($sp) +.L00435E58: +/* 00435E58 8FB00018 */ lw $s0, 0x18($sp) +/* 00435E5C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00435E60 03E00008 */ jr $ra +/* 00435E64 27BD0028 */ addiu $sp, $sp, 0x28 + + .type func_00435E68, @function +func_00435E68: + # 00435FA4 func_00435FA4 +/* 00435E68 8C820000 */ lw $v0, ($a0) +/* 00435E6C 5040000A */ beql $v0, $zero, .L00435E98 +/* 00435E70 24020001 */ li $v0, 1 +/* 00435E74 8C4E0004 */ lw $t6, 4($v0) +.L00435E78: +/* 00435E78 54AE0004 */ bnel $a1, $t6, .L00435E8C +/* 00435E7C 8C42000C */ lw $v0, 0xc($v0) +/* 00435E80 03E00008 */ jr $ra +/* 00435E84 00001025 */ move $v0, $zero + +/* 00435E88 8C42000C */ lw $v0, 0xc($v0) +.L00435E8C: +/* 00435E8C 5440FFFA */ bnel $v0, $zero, .L00435E78 +/* 00435E90 8C4E0004 */ lw $t6, 4($v0) +/* 00435E94 24020001 */ li $v0, 1 +.L00435E98: +/* 00435E98 03E00008 */ jr $ra +/* 00435E9C 00000000 */ nop + + .type func_00435EA0, @function +func_00435EA0: + # 00435FA4 func_00435FA4 +/* 00435EA0 00801825 */ move $v1, $a0 +/* 00435EA4 8C630008 */ lw $v1, 8($v1) +.L00435EA8: +/* 00435EA8 1060000F */ beqz $v1, .L00435EE8 +/* 00435EAC 00000000 */ nop +/* 00435EB0 906E0020 */ lbu $t6, 0x20($v1) +/* 00435EB4 2DCF0060 */ sltiu $t7, $t6, 0x60 +/* 00435EB8 11E00009 */ beqz $t7, .L00435EE0 +/* 00435EBC 00000000 */ nop +/* 00435EC0 8F888038 */ lw $t0, %got(D_100161A8)($gp) +/* 00435EC4 000EC143 */ sra $t8, $t6, 5 +/* 00435EC8 0018C880 */ sll $t9, $t8, 2 +/* 00435ECC 250861A8 */ addiu $t0, %lo(D_100161A8) # addiu $t0, $t0, 0x61a8 +/* 00435ED0 01194821 */ addu $t1, $t0, $t9 +/* 00435ED4 8D2A0000 */ lw $t2, ($t1) +/* 00435ED8 01CA5804 */ sllv $t3, $t2, $t6 +/* 00435EDC 296F0000 */ slti $t7, $t3, 0 +.L00435EE0: +/* 00435EE0 51E0FFF1 */ beql $t7, $zero, .L00435EA8 +/* 00435EE4 8C630008 */ lw $v1, 8($v1) +.L00435EE8: +/* 00435EE8 03E00008 */ jr $ra +/* 00435EEC 00601025 */ move $v0, $v1 + + .type func_00435EF0, @function +func_00435EF0: + # 00435FA4 func_00435FA4 +/* 00435EF0 00801825 */ move $v1, $a0 +/* 00435EF4 8C63000C */ lw $v1, 0xc($v1) +.L00435EF8: +/* 00435EF8 1060000F */ beqz $v1, .L00435F38 +/* 00435EFC 00000000 */ nop +/* 00435F00 906E0020 */ lbu $t6, 0x20($v1) +/* 00435F04 2DCF0060 */ sltiu $t7, $t6, 0x60 +/* 00435F08 11E00009 */ beqz $t7, .L00435F30 +/* 00435F0C 00000000 */ nop +/* 00435F10 8F888038 */ lw $t0, %got(D_100161B4)($gp) +/* 00435F14 000EC143 */ sra $t8, $t6, 5 +/* 00435F18 0018C880 */ sll $t9, $t8, 2 +/* 00435F1C 250861B4 */ addiu $t0, %lo(D_100161B4) # addiu $t0, $t0, 0x61b4 +/* 00435F20 01194821 */ addu $t1, $t0, $t9 +/* 00435F24 8D2A0000 */ lw $t2, ($t1) +/* 00435F28 01CA5804 */ sllv $t3, $t2, $t6 +/* 00435F2C 296F0000 */ slti $t7, $t3, 0 +.L00435F30: +/* 00435F30 51E0FFF1 */ beql $t7, $zero, .L00435EF8 +/* 00435F34 8C63000C */ lw $v1, 0xc($v1) +.L00435F38: +/* 00435F38 03E00008 */ jr $ra +/* 00435F3C 00601025 */ move $v0, $v1 + + .type func_00435F40, @function +func_00435F40: + # 00435FA4 func_00435FA4 +/* 00435F40 00801025 */ move $v0, $a0 +/* 00435F44 8C420008 */ lw $v0, 8($v0) +.L00435F48: +/* 00435F48 54400004 */ bnel $v0, $zero, .L00435F5C +/* 00435F4C 90440020 */ lbu $a0, 0x20($v0) +/* 00435F50 03E00008 */ jr $ra +/* 00435F54 00001025 */ move $v0, $zero + +/* 00435F58 90440020 */ lbu $a0, 0x20($v0) +.L00435F5C: +/* 00435F5C 2C8E00A0 */ sltiu $t6, $a0, 0xa0 +/* 00435F60 11C00009 */ beqz $t6, .L00435F88 +/* 00435F64 00000000 */ nop +/* 00435F68 8F998038 */ lw $t9, %got(D_100161C0)($gp) +/* 00435F6C 00047943 */ sra $t7, $a0, 5 +/* 00435F70 000FC080 */ sll $t8, $t7, 2 +/* 00435F74 273961C0 */ addiu $t9, %lo(D_100161C0) # addiu $t9, $t9, 0x61c0 +/* 00435F78 03384021 */ addu $t0, $t9, $t8 +/* 00435F7C 8D090000 */ lw $t1, ($t0) +/* 00435F80 00895004 */ sllv $t2, $t1, $a0 +/* 00435F84 294E0000 */ slti $t6, $t2, 0 +.L00435F88: +/* 00435F88 51C0FFEF */ beql $t6, $zero, .L00435F48 +/* 00435F8C 8C420008 */ lw $v0, 8($v0) +/* 00435F90 3883008C */ xori $v1, $a0, 0x8c +/* 00435F94 2C630001 */ sltiu $v1, $v1, 1 +/* 00435F98 306200FF */ andi $v0, $v1, 0xff +/* 00435F9C 03E00008 */ jr $ra +/* 00435FA0 00000000 */ nop + + .type func_00435FA4, @function +func_00435FA4: + # 004362FC labelopt +/* 00435FA4 3C1C0FBF */ .cpload $t9 +/* 00435FA8 279C9AAC */ +/* 00435FAC 0399E021 */ +/* 00435FB0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00435FB4 908E0020 */ lbu $t6, 0x20($a0) +/* 00435FB8 AFB10018 */ sw $s1, 0x18($sp) +/* 00435FBC AFB00014 */ sw $s0, 0x14($sp) +/* 00435FC0 24030021 */ li $v1, 33 +/* 00435FC4 00408825 */ move $s1, $v0 +/* 00435FC8 AFBF002C */ sw $ra, 0x2c($sp) +/* 00435FCC AFBC0028 */ sw $gp, 0x28($sp) +/* 00435FD0 AFB40024 */ sw $s4, 0x24($sp) +/* 00435FD4 AFB30020 */ sw $s3, 0x20($sp) +/* 00435FD8 AFB2001C */ sw $s2, 0x1c($sp) +/* 00435FDC 106E0005 */ beq $v1, $t6, .L00435FF4 +/* 00435FE0 00808025 */ move $s0, $a0 +/* 00435FE4 8E100008 */ lw $s0, 8($s0) +.L00435FE8: +/* 00435FE8 920F0020 */ lbu $t7, 0x20($s0) +/* 00435FEC 546FFFFE */ bnel $v1, $t7, .L00435FE8 +/* 00435FF0 8E100008 */ lw $s0, 8($s0) +.L00435FF4: +/* 00435FF4 24140088 */ li $s4, 136 +.L00435FF8: +/* 00435FF8 8F998020 */ lw $t9, %got(func_00435EA0)($gp) +/* 00435FFC 02002025 */ move $a0, $s0 +/* 00436000 02201025 */ move $v0, $s1 +/* 00436004 27395EA0 */ addiu $t9, %lo(func_00435EA0) # addiu $t9, $t9, 0x5ea0 +/* 00436008 0320F809 */ jalr $t9 +/* 0043600C 00000000 */ nop +/* 00436010 8FBC0028 */ lw $gp, 0x28($sp) +/* 00436014 00409025 */ move $s2, $v0 +/* 00436018 00402825 */ move $a1, $v0 +/* 0043601C 8F998020 */ lw $t9, %got(func_00435E68)($gp) +/* 00436020 02201025 */ move $v0, $s1 +/* 00436024 02002025 */ move $a0, $s0 +/* 00436028 27395E68 */ addiu $t9, %lo(func_00435E68) # addiu $t9, $t9, 0x5e68 +/* 0043602C 0320F809 */ jalr $t9 +/* 00436030 00000000 */ nop +/* 00436034 1040003A */ beqz $v0, .L00436120 +/* 00436038 8FBC0028 */ lw $gp, 0x28($sp) +/* 0043603C 12400038 */ beqz $s2, .L00436120 +/* 00436040 00000000 */ nop +/* 00436044 8E43000C */ lw $v1, 0xc($s2) +/* 00436048 90780020 */ lbu $t8, 0x20($v1) +/* 0043604C 16980034 */ bne $s4, $t8, .L00436120 +/* 00436050 00000000 */ nop +/* 00436054 8F998020 */ lw $t9, %got(func_00435EA0)($gp) +/* 00436058 8C700004 */ lw $s0, 4($v1) +/* 0043605C 02201025 */ move $v0, $s1 +/* 00436060 27395EA0 */ addiu $t9, %lo(func_00435EA0) # addiu $t9, $t9, 0x5ea0 +/* 00436064 0320F809 */ jalr $t9 +/* 00436068 02002025 */ move $a0, $s0 +/* 0043606C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00436070 1040002B */ beqz $v0, .L00436120 +/* 00436074 00409825 */ move $s3, $v0 +/* 00436078 8F998020 */ lw $t9, %got(func_00435F40)($gp) +/* 0043607C 02002025 */ move $a0, $s0 +/* 00436080 02201025 */ move $v0, $s1 +/* 00436084 27395F40 */ addiu $t9, %lo(func_00435F40) # addiu $t9, $t9, 0x5f40 +/* 00436088 0320F809 */ jalr $t9 +/* 0043608C 00000000 */ nop +/* 00436090 14400009 */ bnez $v0, .L004360B8 +/* 00436094 8FBC0028 */ lw $gp, 0x28($sp) +/* 00436098 8F998020 */ lw $t9, %got(func_00435E68)($gp) +/* 0043609C 02002025 */ move $a0, $s0 +/* 004360A0 02602825 */ move $a1, $s3 +/* 004360A4 27395E68 */ addiu $t9, %lo(func_00435E68) # addiu $t9, $t9, 0x5e68 +/* 004360A8 0320F809 */ jalr $t9 +/* 004360AC 02201025 */ move $v0, $s1 +/* 004360B0 1040001B */ beqz $v0, .L00436120 +/* 004360B4 8FBC0028 */ lw $gp, 0x28($sp) +.L004360B8: +/* 004360B8 8F998020 */ lw $t9, %got(func_00435EF0)($gp) +/* 004360BC 02002025 */ move $a0, $s0 +/* 004360C0 02201025 */ move $v0, $s1 +/* 004360C4 27395EF0 */ addiu $t9, %lo(func_00435EF0) # addiu $t9, $t9, 0x5ef0 +/* 004360C8 0320F809 */ jalr $t9 +/* 004360CC 00000000 */ nop +/* 004360D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004360D4 00402025 */ move $a0, $v0 +/* 004360D8 02201025 */ move $v0, $s1 +/* 004360DC 8F998020 */ lw $t9, %got(func_00435E68)($gp) +/* 004360E0 02002825 */ move $a1, $s0 +/* 004360E4 27395E68 */ addiu $t9, %lo(func_00435E68) # addiu $t9, $t9, 0x5e68 +/* 004360E8 0320F809 */ jalr $t9 +/* 004360EC 00000000 */ nop +/* 004360F0 1040000B */ beqz $v0, .L00436120 +/* 004360F4 8FBC0028 */ lw $gp, 0x28($sp) +/* 004360F8 8E03000C */ lw $v1, 0xc($s0) +/* 004360FC 8E64000C */ lw $a0, 0xc($s3) +/* 00436100 AC730008 */ sw $s3, 8($v1) +/* 00436104 AE63000C */ sw $v1, 0xc($s3) +/* 00436108 8E42000C */ lw $v0, 0xc($s2) +/* 0043610C AE02000C */ sw $v0, 0xc($s0) +/* 00436110 AC920008 */ sw $s2, 8($a0) +/* 00436114 AC500008 */ sw $s0, 8($v0) +/* 00436118 10000003 */ b .L00436128 +/* 0043611C AE42000C */ sw $v0, 0xc($s2) +.L00436120: +/* 00436120 1640FFB5 */ bnez $s2, .L00435FF8 +/* 00436124 02408025 */ move $s0, $s2 +.L00436128: +/* 00436128 8FBF002C */ lw $ra, 0x2c($sp) +/* 0043612C 8FB00014 */ lw $s0, 0x14($sp) +/* 00436130 8FB10018 */ lw $s1, 0x18($sp) +/* 00436134 8FB2001C */ lw $s2, 0x1c($sp) +/* 00436138 8FB30020 */ lw $s3, 0x20($sp) +/* 0043613C 8FB40024 */ lw $s4, 0x24($sp) +/* 00436140 03E00008 */ jr $ra +/* 00436144 27BD0030 */ addiu $sp, $sp, 0x30 + + .type func_00436148, @function +func_00436148: + # 004362FC labelopt +/* 00436148 3C1C0FBF */ .cpload $t9 +/* 0043614C 279C9908 */ +/* 00436150 0399E021 */ +/* 00436154 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00436158 AFB30024 */ sw $s3, 0x24($sp) +/* 0043615C AFB20020 */ sw $s2, 0x20($sp) +/* 00436160 AFB00018 */ sw $s0, 0x18($sp) +/* 00436164 00409825 */ move $s3, $v0 +/* 00436168 AFBF003C */ sw $ra, 0x3c($sp) +/* 0043616C AFBC0038 */ sw $gp, 0x38($sp) +/* 00436170 AFB70034 */ sw $s7, 0x34($sp) +/* 00436174 AFB60030 */ sw $s6, 0x30($sp) +/* 00436178 AFB5002C */ sw $s5, 0x2c($sp) +/* 0043617C AFB40028 */ sw $s4, 0x28($sp) +/* 00436180 AFB1001C */ sw $s1, 0x1c($sp) +/* 00436184 00009025 */ move $s2, $zero +/* 00436188 10800051 */ beqz $a0, .L004362D0 +/* 0043618C 00808025 */ move $s0, $a0 +/* 00436190 24170042 */ li $s7, 66 +/* 00436194 24160011 */ li $s6, 17 +/* 00436198 24150003 */ li $s5, 3 +/* 0043619C 24140021 */ li $s4, 33 +/* 004361A0 92030020 */ lbu $v1, 0x20($s0) +.L004361A4: +/* 004361A4 00601025 */ move $v0, $v1 +/* 004361A8 1054000A */ beq $v0, $s4, .L004361D4 +/* 004361AC 00000000 */ nop +/* 004361B0 10550008 */ beq $v0, $s5, .L004361D4 +/* 004361B4 00000000 */ nop +/* 004361B8 10570006 */ beq $v0, $s7, .L004361D4 +/* 004361BC 00000000 */ nop +/* 004361C0 1456002C */ bne $v0, $s6, .L00436274 +/* 004361C4 00000000 */ nop +/* 004361C8 8E0E0028 */ lw $t6, 0x28($s0) +/* 004361CC 11C00029 */ beqz $t6, .L00436274 +/* 004361D0 00000000 */ nop +.L004361D4: +/* 004361D4 10540003 */ beq $v0, $s4, .L004361E4 +/* 004361D8 9272000B */ lbu $s2, 0xb($s3) +/* 004361DC 14550008 */ bne $v0, $s5, .L00436200 +/* 004361E0 00000000 */ nop +.L004361E4: +/* 004361E4 8F998020 */ lw $t9, %got(func_00435DE8)($gp) +/* 004361E8 02002025 */ move $a0, $s0 +/* 004361EC 02601025 */ move $v0, $s3 +/* 004361F0 27395DE8 */ addiu $t9, %lo(func_00435DE8) # addiu $t9, $t9, 0x5de8 +/* 004361F4 0320F809 */ jalr $t9 +/* 004361F8 00000000 */ nop +/* 004361FC 8FBC0038 */ lw $gp, 0x38($sp) +.L00436200: +/* 00436200 12400008 */ beqz $s2, .L00436224 +/* 00436204 8E71FFFC */ lw $s1, -4($s3) +/* 00436208 8F998020 */ lw $t9, %got(func_00435C44)($gp) +/* 0043620C 02002025 */ move $a0, $s0 +/* 00436210 02601025 */ move $v0, $s3 +/* 00436214 27395C44 */ addiu $t9, %lo(func_00435C44) # addiu $t9, $t9, 0x5c44 +/* 00436218 0320F809 */ jalr $t9 +/* 0043621C 00000000 */ nop +/* 00436220 8FBC0038 */ lw $gp, 0x38($sp) +.L00436224: +/* 00436224 92030020 */ lbu $v1, 0x20($s0) +/* 00436228 56C30007 */ bnel $s6, $v1, .L00436248 +/* 0043622C 92180017 */ lbu $t8, 0x17($s0) +/* 00436230 920F0017 */ lbu $t7, 0x17($s0) +/* 00436234 022F9026 */ xor $s2, $s1, $t7 +/* 00436238 0012902B */ sltu $s2, $zero, $s2 +/* 0043623C 1000000D */ b .L00436274 +/* 00436240 325200FF */ andi $s2, $s2, 0xff +/* 00436244 92180017 */ lbu $t8, 0x17($s0) +.L00436248: +/* 00436248 02381026 */ xor $v0, $s1, $t8 +/* 0043624C 0002102B */ sltu $v0, $zero, $v0 +/* 00436250 50400008 */ beql $v0, $zero, .L00436274 +/* 00436254 305200FF */ andi $s2, $v0, 0xff +/* 00436258 96020022 */ lhu $v0, 0x22($s0) +/* 0043625C 2C420001 */ sltiu $v0, $v0, 1 +/* 00436260 50400004 */ beql $v0, $zero, .L00436274 +/* 00436264 305200FF */ andi $s2, $v0, 0xff +/* 00436268 8E020028 */ lw $v0, 0x28($s0) +/* 0043626C 2C420001 */ sltiu $v0, $v0, 1 +/* 00436270 305200FF */ andi $s2, $v0, 0xff +.L00436274: +/* 00436274 52400014 */ beql $s2, $zero, .L004362C8 +/* 00436278 8E100008 */ lw $s0, 8($s0) +/* 0043627C 2C790080 */ sltiu $t9, $v1, 0x80 +/* 00436280 13200009 */ beqz $t9, .L004362A8 +/* 00436284 00000000 */ nop +/* 00436288 8F8A8038 */ lw $t2, %got(D_100161D4)($gp) +/* 0043628C 00034143 */ sra $t0, $v1, 5 +/* 00436290 00084880 */ sll $t1, $t0, 2 +/* 00436294 254A61D4 */ addiu $t2, %lo(D_100161D4) # addiu $t2, $t2, 0x61d4 +/* 00436298 01495821 */ addu $t3, $t2, $t1 +/* 0043629C 8D6C0000 */ lw $t4, ($t3) +/* 004362A0 006C6804 */ sllv $t5, $t4, $v1 +/* 004362A4 29B90000 */ slti $t9, $t5, 0 +.L004362A8: +/* 004362A8 57200007 */ bnel $t9, $zero, .L004362C8 +/* 004362AC 8E100008 */ lw $s0, 8($s0) +/* 004362B0 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 004362B4 02002025 */ move $a0, $s0 +/* 004362B8 0320F809 */ jalr $t9 +/* 004362BC 00000000 */ nop +/* 004362C0 8FBC0038 */ lw $gp, 0x38($sp) +/* 004362C4 8E100008 */ lw $s0, 8($s0) +.L004362C8: +/* 004362C8 5600FFB6 */ bnel $s0, $zero, .L004361A4 +/* 004362CC 92030020 */ lbu $v1, 0x20($s0) +.L004362D0: +/* 004362D0 8FBF003C */ lw $ra, 0x3c($sp) +/* 004362D4 8FB00018 */ lw $s0, 0x18($sp) +/* 004362D8 8FB1001C */ lw $s1, 0x1c($sp) +/* 004362DC 8FB20020 */ lw $s2, 0x20($sp) +/* 004362E0 8FB30024 */ lw $s3, 0x24($sp) +/* 004362E4 8FB40028 */ lw $s4, 0x28($sp) +/* 004362E8 8FB5002C */ lw $s5, 0x2c($sp) +/* 004362EC 8FB60030 */ lw $s6, 0x30($sp) +/* 004362F0 8FB70034 */ lw $s7, 0x34($sp) +/* 004362F4 03E00008 */ jr $ra +/* 004362F8 27BD0040 */ addiu $sp, $sp, 0x40 + +glabel labelopt + .ent labelopt + # 0044BF18 main +/* 004362FC 3C1C0FBF */ .cpload $t9 +/* 00436300 279C9754 */ +/* 00436304 0399E021 */ +/* 00436308 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 0043630C 8F998680 */ lw $t9, %call16(next_mark)($gp) +/* 00436310 AFBF0024 */ sw $ra, 0x24($sp) +/* 00436314 AFB00018 */ sw $s0, 0x18($sp) +/* 00436318 00808025 */ move $s0, $a0 +/* 0043631C AFBC0020 */ sw $gp, 0x20($sp) +/* 00436320 AFB1001C */ sw $s1, 0x1c($sp) +/* 00436324 AFA5003C */ sw $a1, 0x3c($sp) +/* 00436328 AFA60040 */ sw $a2, 0x40($sp) +/* 0043632C 0320F809 */ jalr $t9 +/* 00436330 AFA70044 */ sw $a3, 0x44($sp) +/* 00436334 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436338 8FB1003C */ lw $s1, 0x3c($sp) +/* 0043633C AFA20034 */ sw $v0, 0x34($sp) +/* 00436340 8F998680 */ lw $t9, %call16(next_mark)($gp) +/* 00436344 0320F809 */ jalr $t9 +/* 00436348 00000000 */ nop +/* 0043634C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436350 AFA20030 */ sw $v0, 0x30($sp) +/* 00436354 27A20038 */ addiu $v0, $sp, 0x38 +/* 00436358 8F998020 */ lw $t9, %got(func_004352AC)($gp) +/* 0043635C 02002025 */ move $a0, $s0 +/* 00436360 273952AC */ addiu $t9, %lo(func_004352AC) # addiu $t9, $t9, 0x52ac +/* 00436364 0320F809 */ jalr $t9 +/* 00436368 00000000 */ nop +/* 0043636C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436370 02002025 */ move $a0, $s0 +/* 00436374 27A20038 */ addiu $v0, $sp, 0x38 +/* 00436378 8F998020 */ lw $t9, %got(func_0043595C)($gp) +/* 0043637C 2739595C */ addiu $t9, %lo(func_0043595C) # addiu $t9, $t9, 0x595c +/* 00436380 0320F809 */ jalr $t9 +/* 00436384 00000000 */ nop +/* 00436388 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043638C 02002025 */ move $a0, $s0 +/* 00436390 27A20038 */ addiu $v0, $sp, 0x38 +/* 00436394 8F998020 */ lw $t9, %got(func_00435FA4)($gp) +/* 00436398 27395FA4 */ addiu $t9, %lo(func_00435FA4) # addiu $t9, $t9, 0x5fa4 +/* 0043639C 0320F809 */ jalr $t9 +/* 004363A0 00000000 */ nop +/* 004363A4 93AE0043 */ lbu $t6, 0x43($sp) +/* 004363A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004363AC 2406001D */ li $a2, 29 +/* 004363B0 11C00020 */ beqz $t6, .L00436434 +/* 004363B4 00000000 */ nop +/* 004363B8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004363BC 8E240000 */ lw $a0, ($s1) +/* 004363C0 8F858038 */ lw $a1, %got(RO_1000B14A)($gp) +/* 004363C4 2407001D */ li $a3, 29 +/* 004363C8 AFA4002C */ sw $a0, 0x2c($sp) +/* 004363CC 0320F809 */ jalr $t9 +/* 004363D0 24A5B14A */ addiu $a1, %lo(RO_1000B14A) # addiu $a1, $a1, -0x4eb6 +/* 004363D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004363D8 8FA4002C */ lw $a0, 0x2c($sp) +/* 004363DC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004363E0 0320F809 */ jalr $t9 +/* 004363E4 00000000 */ nop +/* 004363E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004363EC 3C067FFF */ lui $a2, 0x7fff +/* 004363F0 34C6FFFF */ ori $a2, $a2, 0xffff +/* 004363F4 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 004363F8 00C03825 */ move $a3, $a2 +/* 004363FC 02202025 */ move $a0, $s1 +/* 00436400 0320F809 */ jalr $t9 +/* 00436404 02002825 */ move $a1, $s0 +/* 00436408 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043640C 8E240000 */ lw $a0, ($s1) +/* 00436410 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00436414 0320F809 */ jalr $t9 +/* 00436418 00000000 */ nop +/* 0043641C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436420 8E240000 */ lw $a0, ($s1) +/* 00436424 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 00436428 0320F809 */ jalr $t9 +/* 0043642C 00000000 */ nop +/* 00436430 8FBC0020 */ lw $gp, 0x20($sp) +.L00436434: +/* 00436434 8F998020 */ lw $t9, %got(func_00436148)($gp) +/* 00436438 02002025 */ move $a0, $s0 +/* 0043643C 27A20038 */ addiu $v0, $sp, 0x38 +/* 00436440 27396148 */ addiu $t9, %lo(func_00436148) # addiu $t9, $t9, 0x6148 +/* 00436444 0320F809 */ jalr $t9 +/* 00436448 00000000 */ nop +/* 0043644C 93AF0043 */ lbu $t7, 0x43($sp) +/* 00436450 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436454 8FB1003C */ lw $s1, 0x3c($sp) +/* 00436458 11E00020 */ beqz $t7, .L004364DC +/* 0043645C 24060020 */ li $a2, 32 +/* 00436460 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00436464 8E240000 */ lw $a0, ($s1) +/* 00436468 8F858038 */ lw $a1, %got(RO_1000B12A)($gp) +/* 0043646C 24070020 */ li $a3, 32 +/* 00436470 AFA4002C */ sw $a0, 0x2c($sp) +/* 00436474 0320F809 */ jalr $t9 +/* 00436478 24A5B12A */ addiu $a1, %lo(RO_1000B12A) # addiu $a1, $a1, -0x4ed6 +/* 0043647C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436480 8FA4002C */ lw $a0, 0x2c($sp) +/* 00436484 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00436488 0320F809 */ jalr $t9 +/* 0043648C 00000000 */ nop +/* 00436490 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436494 3C067FFF */ lui $a2, 0x7fff +/* 00436498 34C6FFFF */ ori $a2, $a2, 0xffff +/* 0043649C 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 004364A0 00C03825 */ move $a3, $a2 +/* 004364A4 02202025 */ move $a0, $s1 +/* 004364A8 0320F809 */ jalr $t9 +/* 004364AC 02002825 */ move $a1, $s0 +/* 004364B0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004364B4 8E240000 */ lw $a0, ($s1) +/* 004364B8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 004364BC 0320F809 */ jalr $t9 +/* 004364C0 00000000 */ nop +/* 004364C4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004364C8 8E240000 */ lw $a0, ($s1) +/* 004364CC 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 004364D0 0320F809 */ jalr $t9 +/* 004364D4 00000000 */ nop +/* 004364D8 8FBC0020 */ lw $gp, 0x20($sp) +.L004364DC: +/* 004364DC 93B80047 */ lbu $t8, 0x47($sp) +/* 004364E0 8FB1003C */ lw $s1, 0x3c($sp) +/* 004364E4 13000029 */ beqz $t8, .L0043658C +/* 004364E8 00000000 */ nop +/* 004364EC 8F998474 */ lw $t9, %call16(cross_jump)($gp) +/* 004364F0 02002025 */ move $a0, $s0 +/* 004364F4 0320F809 */ jalr $t9 +/* 004364F8 00000000 */ nop +/* 004364FC 93B90043 */ lbu $t9, 0x43($sp) +/* 00436500 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436504 2406001D */ li $a2, 29 +/* 00436508 13200020 */ beqz $t9, .L0043658C +/* 0043650C 00000000 */ nop +/* 00436510 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00436514 8E240000 */ lw $a0, ($s1) +/* 00436518 8F858038 */ lw $a1, %got(RO_1000B10D)($gp) +/* 0043651C 2407001D */ li $a3, 29 +/* 00436520 AFA4002C */ sw $a0, 0x2c($sp) +/* 00436524 0320F809 */ jalr $t9 +/* 00436528 24A5B10D */ addiu $a1, %lo(RO_1000B10D) # addiu $a1, $a1, -0x4ef3 +/* 0043652C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436530 8FA4002C */ lw $a0, 0x2c($sp) +/* 00436534 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00436538 0320F809 */ jalr $t9 +/* 0043653C 00000000 */ nop +/* 00436540 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436544 3C067FFF */ lui $a2, 0x7fff +/* 00436548 34C6FFFF */ ori $a2, $a2, 0xffff +/* 0043654C 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 00436550 00C03825 */ move $a3, $a2 +/* 00436554 02202025 */ move $a0, $s1 +/* 00436558 0320F809 */ jalr $t9 +/* 0043655C 02002825 */ move $a1, $s0 +/* 00436560 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436564 8E240000 */ lw $a0, ($s1) +/* 00436568 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043656C 0320F809 */ jalr $t9 +/* 00436570 00000000 */ nop +/* 00436574 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436578 8E240000 */ lw $a0, ($s1) +/* 0043657C 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 00436580 0320F809 */ jalr $t9 +/* 00436584 00000000 */ nop +/* 00436588 8FBC0020 */ lw $gp, 0x20($sp) +.L0043658C: +/* 0043658C 8F998680 */ lw $t9, %call16(next_mark)($gp) +/* 00436590 0320F809 */ jalr $t9 +/* 00436594 00000000 */ nop +/* 00436598 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043659C AFA20034 */ sw $v0, 0x34($sp) +/* 004365A0 8F998680 */ lw $t9, %call16(next_mark)($gp) +/* 004365A4 0320F809 */ jalr $t9 +/* 004365A8 00000000 */ nop +/* 004365AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004365B0 AFA20030 */ sw $v0, 0x30($sp) +/* 004365B4 27A20038 */ addiu $v0, $sp, 0x38 +/* 004365B8 8F998020 */ lw $t9, %got(func_004352AC)($gp) +/* 004365BC 02002025 */ move $a0, $s0 +/* 004365C0 273952AC */ addiu $t9, %lo(func_004352AC) # addiu $t9, $t9, 0x52ac +/* 004365C4 0320F809 */ jalr $t9 +/* 004365C8 00000000 */ nop +/* 004365CC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004365D0 02002025 */ move $a0, $s0 +/* 004365D4 27A20038 */ addiu $v0, $sp, 0x38 +/* 004365D8 8F998020 */ lw $t9, %got(func_0043595C)($gp) +/* 004365DC 2739595C */ addiu $t9, %lo(func_0043595C) # addiu $t9, $t9, 0x595c +/* 004365E0 0320F809 */ jalr $t9 +/* 004365E4 00000000 */ nop +/* 004365E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004365EC 02002025 */ move $a0, $s0 +/* 004365F0 27A20038 */ addiu $v0, $sp, 0x38 +/* 004365F4 8F998020 */ lw $t9, %got(func_00436148)($gp) +/* 004365F8 27396148 */ addiu $t9, %lo(func_00436148) # addiu $t9, $t9, 0x6148 +/* 004365FC 0320F809 */ jalr $t9 +/* 00436600 00000000 */ nop +/* 00436604 93A80043 */ lbu $t0, 0x43($sp) +/* 00436608 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043660C 8FB1003C */ lw $s1, 0x3c($sp) +/* 00436610 11000020 */ beqz $t0, .L00436694 +/* 00436614 24060020 */ li $a2, 32 +/* 00436618 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043661C 8E240000 */ lw $a0, ($s1) +/* 00436620 8F858038 */ lw $a1, %got(RO_1000B0ED)($gp) +/* 00436624 24070020 */ li $a3, 32 +/* 00436628 AFA4002C */ sw $a0, 0x2c($sp) +/* 0043662C 0320F809 */ jalr $t9 +/* 00436630 24A5B0ED */ addiu $a1, %lo(RO_1000B0ED) # addiu $a1, $a1, -0x4f13 +/* 00436634 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436638 8FA4002C */ lw $a0, 0x2c($sp) +/* 0043663C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00436640 0320F809 */ jalr $t9 +/* 00436644 00000000 */ nop +/* 00436648 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043664C 3C067FFF */ lui $a2, 0x7fff +/* 00436650 34C6FFFF */ ori $a2, $a2, 0xffff +/* 00436654 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 00436658 00C03821 */ move $a3, $a2 +/* 0043665C 02202025 */ move $a0, $s1 +/* 00436660 0320F809 */ jalr $t9 +/* 00436664 02002825 */ move $a1, $s0 +/* 00436668 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043666C 8E240000 */ lw $a0, ($s1) +/* 00436670 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00436674 0320F809 */ jalr $t9 +/* 00436678 00000000 */ nop +/* 0043667C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436680 8E240000 */ lw $a0, ($s1) +/* 00436684 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 00436688 0320F809 */ jalr $t9 +/* 0043668C 00000000 */ nop +/* 00436690 8FBC0020 */ lw $gp, 0x20($sp) +.L00436694: +/* 00436694 8FBF0024 */ lw $ra, 0x24($sp) +/* 00436698 8FB00018 */ lw $s0, 0x18($sp) +/* 0043669C 8FB1001C */ lw $s1, 0x1c($sp) +/* 004366A0 03E00008 */ jr $ra +/* 004366A4 27BD0038 */ addiu $sp, $sp, 0x38 + .type labelopt, @function + .size labelopt, .-labelopt + .end labelopt +)""); diff --git a/src/ugen/lit_mgr.c b/src/ugen/lit_mgr.c new file mode 100644 index 0000000..4524bc6 --- /dev/null +++ b/src/ugen/lit_mgr.c @@ -0,0 +1,745 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000B170: + # 0043698C new_lit + .ascii "Insufficiant memory " + +RO_1000B1C0: + # 0043698C new_lit + .ascii "lit_mgr.p " + +RO_1000B210: + # 00436D00 add_to_pool + .ascii "illegal data type " + +RO_1000B260: + # 00436D00 add_to_pool + .ascii "lit_mgr.p " + + .balign 4 +jtbl_1000B2B0: + # 00436D00 add_to_pool + .gpword .L00436D78 + .gpword .L00436E28 + .gpword .L00436E28 + .gpword .L00436DD4 + .gpword .L00436DF0 + .gpword .L00436E0C + + + +.bss + .balign 4 +# 100213B4 +glabel small_strings + # 004366B0 reset_pool + # 004367DC output_pool + # 00436D00 add_to_pool + .space 4 + .size small_strings, 4 + .type small_strings, @object + + .balign 4 +# 100213B8 +glabel large_strings + # 004366B0 reset_pool + # 004367DC output_pool + # 00436D00 add_to_pool + .space 4 + .size large_strings, 4 + .type large_strings, @object + + .balign 4 +# 100213BC +glabel floats + # 004366B0 reset_pool + # 004367DC output_pool + # 00436D00 add_to_pool + .space 4 + .size floats, 4 + .type floats, @object + + .balign 4 +# 100213C0 +glabel doubles + # 004366B0 reset_pool + # 004367DC output_pool + # 00436D00 add_to_pool + .space 4 + .size doubles, 4 + .type doubles, @object + + .balign 4 +# 100213C4 +glabel sets + # 004366B0 reset_pool + # 004367DC output_pool + # 00436D00 add_to_pool + .space 4 + .size sets, 4 + .type sets, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel reset_pool + .ent reset_pool + # 0042BDAC eval +/* 004366B0 3C1C0FBF */ .cpload $t9 +/* 004366B4 279C93A0 */ +/* 004366B8 0399E021 */ +/* 004366BC 8F818AD8 */ lw $at, %got(small_strings)($gp) +/* 004366C0 AC200000 */ sw $zero, ($at) +/* 004366C4 8F818ADC */ lw $at, %got(large_strings)($gp) +/* 004366C8 AC200000 */ sw $zero, ($at) +/* 004366CC 8F818AE0 */ lw $at, %got(floats)($gp) +/* 004366D0 AC200000 */ sw $zero, ($at) +/* 004366D4 8F818AE4 */ lw $at, %got(doubles)($gp) +/* 004366D8 AC200000 */ sw $zero, ($at) +/* 004366DC 8F818AE8 */ lw $at, %got(sets)($gp) +/* 004366E0 03E00008 */ jr $ra +/* 004366E4 AC200000 */ sw $zero, ($at) + .type reset_pool, @function + .size reset_pool, .-reset_pool + .end reset_pool + +glabel select_data_section + .ent select_data_section + # 004367DC output_pool +/* 004366E8 3C1C0FBF */ .cpload $t9 +/* 004366EC 279C9368 */ +/* 004366F0 0399E021 */ +/* 004366F4 8F8E8990 */ lw $t6, %got(sdata_max)($gp) +/* 004366F8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004366FC AFBF001C */ sw $ra, 0x1c($sp) +/* 00436700 8DCE0000 */ lw $t6, ($t6) +/* 00436704 AFBC0018 */ sw $gp, 0x18($sp) +/* 00436708 01C4082A */ slt $at, $t6, $a0 +/* 0043670C 14200008 */ bnez $at, .L00436730 +/* 00436710 00000000 */ nop +/* 00436714 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00436718 24040019 */ li $a0, 25 +/* 0043671C 00002825 */ move $a1, $zero +/* 00436720 0320F809 */ jalr $t9 +/* 00436724 00000000 */ nop +/* 00436728 10000007 */ b .L00436748 +/* 0043672C 8FBC0018 */ lw $gp, 0x18($sp) +.L00436730: +/* 00436730 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00436734 2404000A */ li $a0, 10 +/* 00436738 00002825 */ move $a1, $zero +/* 0043673C 0320F809 */ jalr $t9 +/* 00436740 00000000 */ nop +/* 00436744 8FBC0018 */ lw $gp, 0x18($sp) +.L00436748: +/* 00436748 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043674C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00436750 03E00008 */ jr $ra +/* 00436754 00000000 */ nop + .type select_data_section, @function + .size select_data_section, .-select_data_section + .end select_data_section + +glabel emit_list + .ent emit_list + # 004367DC output_pool +/* 00436758 3C1C0FBF */ .cpload $t9 +/* 0043675C 279C92F8 */ +/* 00436760 0399E021 */ +/* 00436764 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00436768 AFB1001C */ sw $s1, 0x1c($sp) +/* 0043676C AFB00018 */ sw $s0, 0x18($sp) +/* 00436770 00808025 */ move $s0, $a0 +/* 00436774 30B100FF */ andi $s1, $a1, 0xff +/* 00436778 AFBF0024 */ sw $ra, 0x24($sp) +/* 0043677C AFBC0020 */ sw $gp, 0x20($sp) +/* 00436780 10800011 */ beqz $a0, .L004367C8 +/* 00436784 AFA5002C */ sw $a1, 0x2c($sp) +.L00436788: +/* 00436788 8F9981D8 */ lw $t9, %call16(create_local_label)($gp) +/* 0043678C 8E040000 */ lw $a0, ($s0) +/* 00436790 0320F809 */ jalr $t9 +/* 00436794 00000000 */ nop +/* 00436798 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043679C 00402025 */ move $a0, $v0 +/* 004367A0 02202825 */ move $a1, $s1 +/* 004367A4 8F9986A8 */ lw $t9, %call16(emit_val)($gp) +/* 004367A8 26060008 */ addiu $a2, $s0, 8 +/* 004367AC 24070001 */ li $a3, 1 +/* 004367B0 0320F809 */ jalr $t9 +/* 004367B4 00000000 */ nop +/* 004367B8 8E100010 */ lw $s0, 0x10($s0) +/* 004367BC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004367C0 1600FFF1 */ bnez $s0, .L00436788 +/* 004367C4 00000000 */ nop +.L004367C8: +/* 004367C8 8FBF0024 */ lw $ra, 0x24($sp) +/* 004367CC 8FB00018 */ lw $s0, 0x18($sp) +/* 004367D0 8FB1001C */ lw $s1, 0x1c($sp) +/* 004367D4 03E00008 */ jr $ra +/* 004367D8 27BD0028 */ addiu $sp, $sp, 0x28 + .type emit_list, @function + .size emit_list, .-emit_list + .end emit_list + +glabel output_pool + .ent output_pool + # 0042BDAC eval +/* 004367DC 3C1C0FBF */ .cpload $t9 +/* 004367E0 279C9274 */ +/* 004367E4 0399E021 */ +/* 004367E8 8F8E8AE0 */ lw $t6, %got(floats)($gp) +/* 004367EC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 004367F0 AFBF001C */ sw $ra, 0x1c($sp) +/* 004367F4 8DCE0000 */ lw $t6, ($t6) +/* 004367F8 AFBC0018 */ sw $gp, 0x18($sp) +/* 004367FC 11C00013 */ beqz $t6, .L0043684C +/* 00436800 00000000 */ nop +/* 00436804 8F998420 */ lw $t9, %call16(select_data_section)($gp) +/* 00436808 24040004 */ li $a0, 4 +/* 0043680C 0320F809 */ jalr $t9 +/* 00436810 00000000 */ nop +/* 00436814 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436818 24040004 */ li $a0, 4 +/* 0043681C 00002825 */ move $a1, $zero +/* 00436820 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 00436824 24060002 */ li $a2, 2 +/* 00436828 0320F809 */ jalr $t9 +/* 0043682C 00000000 */ nop +/* 00436830 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436834 24050005 */ li $a1, 5 +/* 00436838 8F998424 */ lw $t9, %call16(emit_list)($gp) +/* 0043683C 8F848AE0 */ lw $a0, %got(floats)($gp) +/* 00436840 0320F809 */ jalr $t9 +/* 00436844 8C840000 */ lw $a0, ($a0) +/* 00436848 8FBC0018 */ lw $gp, 0x18($sp) +.L0043684C: +/* 0043684C 8F8F8AE4 */ lw $t7, %got(doubles)($gp) +/* 00436850 8DEF0000 */ lw $t7, ($t7) +/* 00436854 11E00013 */ beqz $t7, .L004368A4 +/* 00436858 00000000 */ nop +/* 0043685C 8F998420 */ lw $t9, %call16(select_data_section)($gp) +/* 00436860 24040008 */ li $a0, 8 +/* 00436864 0320F809 */ jalr $t9 +/* 00436868 00000000 */ nop +/* 0043686C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436870 24040004 */ li $a0, 4 +/* 00436874 00002825 */ move $a1, $zero +/* 00436878 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0043687C 24060003 */ li $a2, 3 +/* 00436880 0320F809 */ jalr $t9 +/* 00436884 00000000 */ nop +/* 00436888 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043688C 24050006 */ li $a1, 6 +/* 00436890 8F998424 */ lw $t9, %call16(emit_list)($gp) +/* 00436894 8F848AE4 */ lw $a0, %got(doubles)($gp) +/* 00436898 0320F809 */ jalr $t9 +/* 0043689C 8C840000 */ lw $a0, ($a0) +/* 004368A0 8FBC0018 */ lw $gp, 0x18($sp) +.L004368A4: +/* 004368A4 8F988AE8 */ lw $t8, %got(sets)($gp) +/* 004368A8 8F180000 */ lw $t8, ($t8) +/* 004368AC 13000013 */ beqz $t8, .L004368FC +/* 004368B0 00000000 */ nop +/* 004368B4 8F998420 */ lw $t9, %call16(select_data_section)($gp) +/* 004368B8 24040008 */ li $a0, 8 +/* 004368BC 0320F809 */ jalr $t9 +/* 004368C0 00000000 */ nop +/* 004368C4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004368C8 24040004 */ li $a0, 4 +/* 004368CC 00002825 */ move $a1, $zero +/* 004368D0 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 004368D4 24060002 */ li $a2, 2 +/* 004368D8 0320F809 */ jalr $t9 +/* 004368DC 00000000 */ nop +/* 004368E0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004368E4 24050009 */ li $a1, 9 +/* 004368E8 8F998424 */ lw $t9, %call16(emit_list)($gp) +/* 004368EC 8F848AE8 */ lw $a0, %got(sets)($gp) +/* 004368F0 0320F809 */ jalr $t9 +/* 004368F4 8C840000 */ lw $a0, ($a0) +/* 004368F8 8FBC0018 */ lw $gp, 0x18($sp) +.L004368FC: +/* 004368FC 8F998AD8 */ lw $t9, %got(small_strings)($gp) +/* 00436900 8F390000 */ lw $t9, ($t9) +/* 00436904 1320000D */ beqz $t9, .L0043693C +/* 00436908 00000000 */ nop +/* 0043690C 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00436910 24040019 */ li $a0, 25 +/* 00436914 00002825 */ move $a1, $zero +/* 00436918 0320F809 */ jalr $t9 +/* 0043691C 00000000 */ nop +/* 00436920 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436924 24050007 */ li $a1, 7 +/* 00436928 8F998424 */ lw $t9, %call16(emit_list)($gp) +/* 0043692C 8F848AD8 */ lw $a0, %got(small_strings)($gp) +/* 00436930 0320F809 */ jalr $t9 +/* 00436934 8C840000 */ lw $a0, ($a0) +/* 00436938 8FBC0018 */ lw $gp, 0x18($sp) +.L0043693C: +/* 0043693C 8F888ADC */ lw $t0, %got(large_strings)($gp) +/* 00436940 8D080000 */ lw $t0, ($t0) +/* 00436944 5100000E */ beql $t0, $zero, .L00436980 +/* 00436948 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043694C 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00436950 2404001A */ li $a0, 26 +/* 00436954 00002825 */ move $a1, $zero +/* 00436958 0320F809 */ jalr $t9 +/* 0043695C 00000000 */ nop +/* 00436960 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436964 24050007 */ li $a1, 7 +/* 00436968 8F998424 */ lw $t9, %call16(emit_list)($gp) +/* 0043696C 8F848ADC */ lw $a0, %got(large_strings)($gp) +/* 00436970 0320F809 */ jalr $t9 +/* 00436974 8C840000 */ lw $a0, ($a0) +/* 00436978 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043697C 8FBF001C */ lw $ra, 0x1c($sp) +.L00436980: +/* 00436980 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00436984 03E00008 */ jr $ra +/* 00436988 00000000 */ nop + .type output_pool, @function + .size output_pool, .-output_pool + .end output_pool + +glabel new_lit + .ent new_lit + # 00436AF8 add_to_list_no_check + # 00436C4C add_to_list +/* 0043698C 3C1C0FBF */ .cpload $t9 +/* 00436990 279C90C4 */ +/* 00436994 0399E021 */ +/* 00436998 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043699C 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 004369A0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 004369A4 AFA400C0 */ sw $a0, 0xc0($sp) +/* 004369A8 AFA500C4 */ sw $a1, 0xc4($sp) +/* 004369AC AFBC00B0 */ sw $gp, 0xb0($sp) +/* 004369B0 24050001 */ li $a1, 1 +/* 004369B4 0320F809 */ jalr $t9 +/* 004369B8 24040018 */ li $a0, 24 +/* 004369BC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004369C0 14400041 */ bnez $v0, .L00436AC8 +/* 004369C4 00401825 */ move $v1, $v0 +/* 004369C8 8F8E8038 */ lw $t6, %got(RO_1000B1C0)($gp) +/* 004369CC 24040004 */ li $a0, 4 +/* 004369D0 2405006A */ li $a1, 106 +/* 004369D4 25CEB1C0 */ addiu $t6, %lo(RO_1000B1C0) # addiu $t6, $t6, -0x4e40 +/* 004369D8 25C80048 */ addiu $t0, $t6, 0x48 +/* 004369DC 03A0C825 */ move $t9, $sp +.L004369E0: +/* 004369E0 89D80000 */ lwl $t8, ($t6) +/* 004369E4 99D80003 */ lwr $t8, 3($t6) +/* 004369E8 25CE000C */ addiu $t6, $t6, 0xc +/* 004369EC 2739000C */ addiu $t9, $t9, 0xc +/* 004369F0 AB38FFFC */ swl $t8, -4($t9) +/* 004369F4 BB38FFFF */ swr $t8, -1($t9) +/* 004369F8 89CFFFF8 */ lwl $t7, -8($t6) +/* 004369FC 99CFFFFB */ lwr $t7, -5($t6) +/* 00436A00 AB2F0000 */ swl $t7, ($t9) +/* 00436A04 BB2F0003 */ swr $t7, 3($t9) +/* 00436A08 89D8FFFC */ lwl $t8, -4($t6) +/* 00436A0C 99D8FFFF */ lwr $t8, -1($t6) +/* 00436A10 AB380004 */ swl $t8, 4($t9) +/* 00436A14 15C8FFF2 */ bne $t6, $t0, .L004369E0 +/* 00436A18 BB380007 */ swr $t8, 7($t9) +/* 00436A1C 89D80000 */ lwl $t8, ($t6) +/* 00436A20 99D80003 */ lwr $t8, 3($t6) +/* 00436A24 8F898038 */ lw $t1, %got(RO_1000B170)($gp) +/* 00436A28 03A06025 */ move $t4, $sp +/* 00436A2C AB380008 */ swl $t8, 8($t9) +/* 00436A30 BB38000B */ swr $t8, 0xb($t9) +/* 00436A34 89CF0004 */ lwl $t7, 4($t6) +/* 00436A38 99CF0007 */ lwr $t7, 7($t6) +/* 00436A3C 2529B170 */ addiu $t1, %lo(RO_1000B170) # addiu $t1, $t1, -0x4e90 +/* 00436A40 252D0048 */ addiu $t5, $t1, 0x48 +/* 00436A44 AB2F000C */ swl $t7, 0xc($t9) +/* 00436A48 BB2F000F */ swr $t7, 0xf($t9) +.L00436A4C: +/* 00436A4C 892B0000 */ lwl $t3, ($t1) +/* 00436A50 992B0003 */ lwr $t3, 3($t1) +/* 00436A54 2529000C */ addiu $t1, $t1, 0xc +/* 00436A58 258C000C */ addiu $t4, $t4, 0xc +/* 00436A5C A98B004C */ swl $t3, 0x4c($t4) +/* 00436A60 B98B004F */ swr $t3, 0x4f($t4) +/* 00436A64 892AFFF8 */ lwl $t2, -8($t1) +/* 00436A68 992AFFFB */ lwr $t2, -5($t1) +/* 00436A6C A98A0050 */ swl $t2, 0x50($t4) +/* 00436A70 B98A0053 */ swr $t2, 0x53($t4) +/* 00436A74 892BFFFC */ lwl $t3, -4($t1) +/* 00436A78 992BFFFF */ lwr $t3, -1($t1) +/* 00436A7C A98B0054 */ swl $t3, 0x54($t4) +/* 00436A80 152DFFF2 */ bne $t1, $t5, .L00436A4C +/* 00436A84 B98B0057 */ swr $t3, 0x57($t4) +/* 00436A88 892B0000 */ lwl $t3, ($t1) +/* 00436A8C 992B0003 */ lwr $t3, 3($t1) +/* 00436A90 A98B0058 */ swl $t3, 0x58($t4) +/* 00436A94 B98B005B */ swr $t3, 0x5b($t4) +/* 00436A98 892A0004 */ lwl $t2, 4($t1) +/* 00436A9C 992A0007 */ lwr $t2, 7($t1) +/* 00436AA0 A98A005C */ swl $t2, 0x5c($t4) +/* 00436AA4 B98A005F */ swr $t2, 0x5f($t4) +/* 00436AA8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00436AAC 8FA7000C */ lw $a3, 0xc($sp) +/* 00436AB0 8FA60008 */ lw $a2, 8($sp) +/* 00436AB4 0320F809 */ jalr $t9 +/* 00436AB8 AFA300B8 */ sw $v1, 0xb8($sp) +/* 00436ABC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00436AC0 10000009 */ b .L00436AE8 +/* 00436AC4 8FA200B8 */ lw $v0, 0xb8($sp) +.L00436AC8: +/* 00436AC8 8FA800C4 */ lw $t0, 0xc4($sp) +/* 00436ACC 8FAE00C0 */ lw $t6, 0xc0($sp) +/* 00436AD0 00601025 */ move $v0, $v1 +/* 00436AD4 AC680000 */ sw $t0, ($v1) +/* 00436AD8 8DCF0000 */ lw $t7, ($t6) +/* 00436ADC AC6F0008 */ sw $t7, 8($v1) +/* 00436AE0 8DD90004 */ lw $t9, 4($t6) +/* 00436AE4 AC79000C */ sw $t9, 0xc($v1) +.L00436AE8: +/* 00436AE8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00436AEC 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00436AF0 03E00008 */ jr $ra +/* 00436AF4 00000000 */ nop + .type new_lit, @function + .size new_lit, .-new_lit + .end new_lit + +glabel add_to_list_no_check + .ent add_to_list_no_check + # 00436D00 add_to_pool +/* 00436AF8 3C1C0FBF */ .cpload $t9 +/* 00436AFC 279C8F58 */ +/* 00436B00 0399E021 */ +/* 00436B04 8F99842C */ lw $t9, %call16(new_lit)($gp) +/* 00436B08 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00436B0C AFA40020 */ sw $a0, 0x20($sp) +/* 00436B10 AFBF001C */ sw $ra, 0x1c($sp) +/* 00436B14 00A02025 */ move $a0, $a1 +/* 00436B18 AFBC0018 */ sw $gp, 0x18($sp) +/* 00436B1C 0320F809 */ jalr $t9 +/* 00436B20 00C02825 */ move $a1, $a2 +/* 00436B24 8FA30020 */ lw $v1, 0x20($sp) +/* 00436B28 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436B2C 8C6E0000 */ lw $t6, ($v1) +/* 00436B30 AC4E0010 */ sw $t6, 0x10($v0) +/* 00436B34 AC620000 */ sw $v0, ($v1) +/* 00436B38 8FBF001C */ lw $ra, 0x1c($sp) +/* 00436B3C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00436B40 03E00008 */ jr $ra +/* 00436B44 00000000 */ nop + .type add_to_list_no_check, @function + .size add_to_list_no_check, .-add_to_list_no_check + .end add_to_list_no_check + +glabel valu_equ + .ent valu_equ + # 00436C4C add_to_list +/* 00436B48 8C820000 */ lw $v0, ($a0) +/* 00436B4C 8CAE0000 */ lw $t6, ($a1) +/* 00436B50 11C20003 */ beq $t6, $v0, .L00436B60 +/* 00436B54 00000000 */ nop +/* 00436B58 03E00008 */ jr $ra +/* 00436B5C 00001025 */ move $v0, $zero + +.L00436B60: +/* 00436B60 10400037 */ beqz $v0, .L00436C40 +/* 00436B64 00401825 */ move $v1, $v0 +/* 00436B68 24630001 */ addiu $v1, $v1, 1 +/* 00436B6C 2469FFFF */ addiu $t1, $v1, -1 +/* 00436B70 31290003 */ andi $t1, $t1, 3 +/* 00436B74 11200012 */ beqz $t1, .L00436BC0 +/* 00436B78 24020001 */ li $v0, 1 +/* 00436B7C 8CAF0004 */ lw $t7, 4($a1) +/* 00436B80 8C980004 */ lw $t8, 4($a0) +/* 00436B84 25280001 */ addiu $t0, $t1, 1 +/* 00436B88 01E23021 */ addu $a2, $t7, $v0 +/* 00436B8C 03023821 */ addu $a3, $t8, $v0 +.L00436B90: +/* 00436B90 90D9FFFF */ lbu $t9, -1($a2) +/* 00436B94 90EAFFFF */ lbu $t2, -1($a3) +/* 00436B98 24420001 */ addiu $v0, $v0, 1 +/* 00436B9C 24C60001 */ addiu $a2, $a2, 1 +/* 00436BA0 132A0003 */ beq $t9, $t2, .L00436BB0 +/* 00436BA4 00000000 */ nop +/* 00436BA8 03E00008 */ jr $ra +/* 00436BAC 00001025 */ move $v0, $zero + +.L00436BB0: +/* 00436BB0 1502FFF7 */ bne $t0, $v0, .L00436B90 +/* 00436BB4 24E70001 */ addiu $a3, $a3, 1 +/* 00436BB8 50430022 */ beql $v0, $v1, .L00436C44 +/* 00436BBC 24020001 */ li $v0, 1 +.L00436BC0: +/* 00436BC0 8CAB0004 */ lw $t3, 4($a1) +/* 00436BC4 8C8C0004 */ lw $t4, 4($a0) +/* 00436BC8 01623021 */ addu $a2, $t3, $v0 +/* 00436BCC 01823821 */ addu $a3, $t4, $v0 +.L00436BD0: +/* 00436BD0 90CDFFFF */ lbu $t5, -1($a2) +/* 00436BD4 90EEFFFF */ lbu $t6, -1($a3) +/* 00436BD8 24420004 */ addiu $v0, $v0, 4 +/* 00436BDC 51AE0004 */ beql $t5, $t6, .L00436BF0 +/* 00436BE0 90CF0000 */ lbu $t7, ($a2) +/* 00436BE4 03E00008 */ jr $ra +/* 00436BE8 00001025 */ move $v0, $zero + +/* 00436BEC 90CF0000 */ lbu $t7, ($a2) +.L00436BF0: +/* 00436BF0 90F80000 */ lbu $t8, ($a3) +/* 00436BF4 51F80004 */ beql $t7, $t8, .L00436C08 +/* 00436BF8 90D90001 */ lbu $t9, 1($a2) +/* 00436BFC 03E00008 */ jr $ra +/* 00436C00 00001025 */ move $v0, $zero + +/* 00436C04 90D90001 */ lbu $t9, 1($a2) +.L00436C08: +/* 00436C08 90EA0001 */ lbu $t2, 1($a3) +/* 00436C0C 532A0004 */ beql $t9, $t2, .L00436C20 +/* 00436C10 90CB0002 */ lbu $t3, 2($a2) +/* 00436C14 03E00008 */ jr $ra +/* 00436C18 00001025 */ move $v0, $zero + +/* 00436C1C 90CB0002 */ lbu $t3, 2($a2) +.L00436C20: +/* 00436C20 90EC0002 */ lbu $t4, 2($a3) +/* 00436C24 24C60004 */ addiu $a2, $a2, 4 +/* 00436C28 116C0003 */ beq $t3, $t4, .L00436C38 +/* 00436C2C 00000000 */ nop +/* 00436C30 03E00008 */ jr $ra +/* 00436C34 00001025 */ move $v0, $zero + +.L00436C38: +/* 00436C38 1443FFE5 */ bne $v0, $v1, .L00436BD0 +/* 00436C3C 24E70004 */ addiu $a3, $a3, 4 +.L00436C40: +/* 00436C40 24020001 */ li $v0, 1 +.L00436C44: +/* 00436C44 03E00008 */ jr $ra +/* 00436C48 00000000 */ nop + .type valu_equ, @function + .size valu_equ, .-valu_equ + .end valu_equ + +glabel add_to_list + .ent add_to_list + # 00436D00 add_to_pool +/* 00436C4C 3C1C0FBF */ .cpload $t9 +/* 00436C50 279C8E04 */ +/* 00436C54 0399E021 */ +/* 00436C58 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00436C5C AFBF0024 */ sw $ra, 0x24($sp) +/* 00436C60 AFBC0020 */ sw $gp, 0x20($sp) +/* 00436C64 AFB1001C */ sw $s1, 0x1c($sp) +/* 00436C68 AFB00018 */ sw $s0, 0x18($sp) +/* 00436C6C AFA40028 */ sw $a0, 0x28($sp) +/* 00436C70 AFA60030 */ sw $a2, 0x30($sp) +/* 00436C74 8C820000 */ lw $v0, ($a0) +/* 00436C78 00A08825 */ move $s1, $a1 +/* 00436C7C 1040000F */ beqz $v0, .L00436CBC +/* 00436C80 00000000 */ nop +/* 00436C84 1040000D */ beqz $v0, .L00436CBC +/* 00436C88 00408025 */ move $s0, $v0 +.L00436C8C: +/* 00436C8C 8F998434 */ lw $t9, %call16(valu_equ)($gp) +/* 00436C90 02202025 */ move $a0, $s1 +/* 00436C94 26050008 */ addiu $a1, $s0, 8 +/* 00436C98 0320F809 */ jalr $t9 +/* 00436C9C 00000000 */ nop +/* 00436CA0 10400003 */ beqz $v0, .L00436CB0 +/* 00436CA4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436CA8 10000010 */ b .L00436CEC +/* 00436CAC 8E020000 */ lw $v0, ($s0) +.L00436CB0: +/* 00436CB0 8E100010 */ lw $s0, 0x10($s0) +/* 00436CB4 1600FFF5 */ bnez $s0, .L00436C8C +/* 00436CB8 00000000 */ nop +.L00436CBC: +/* 00436CBC 8F99842C */ lw $t9, %call16(new_lit)($gp) +/* 00436CC0 02202025 */ move $a0, $s1 +/* 00436CC4 8FA50030 */ lw $a1, 0x30($sp) +/* 00436CC8 0320F809 */ jalr $t9 +/* 00436CCC 00000000 */ nop +/* 00436CD0 8FAF0028 */ lw $t7, 0x28($sp) +/* 00436CD4 8FBC0020 */ lw $gp, 0x20($sp) +/* 00436CD8 8DF80000 */ lw $t8, ($t7) +/* 00436CDC AC580010 */ sw $t8, 0x10($v0) +/* 00436CE0 8FB90028 */ lw $t9, 0x28($sp) +/* 00436CE4 AF220000 */ sw $v0, ($t9) +/* 00436CE8 8FA20030 */ lw $v0, 0x30($sp) +.L00436CEC: +/* 00436CEC 8FBF0024 */ lw $ra, 0x24($sp) +/* 00436CF0 8FB00018 */ lw $s0, 0x18($sp) +/* 00436CF4 8FB1001C */ lw $s1, 0x1c($sp) +/* 00436CF8 03E00008 */ jr $ra +/* 00436CFC 27BD0028 */ addiu $sp, $sp, 0x28 + .type add_to_list, @function + .size add_to_list, .-add_to_list + .end add_to_list + +glabel add_to_pool + .ent add_to_pool + # 0042BDAC eval +/* 00436D00 3C1C0FBF */ .cpload $t9 +/* 00436D04 279C8D50 */ +/* 00436D08 0399E021 */ +/* 00436D0C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00436D10 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00436D14 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00436D18 90830000 */ lbu $v1, ($a0) +/* 00436D1C 00803825 */ move $a3, $a0 +/* 00436D20 00A03025 */ move $a2, $a1 +/* 00436D24 38620049 */ xori $v0, $v1, 0x49 +/* 00436D28 2C420001 */ sltiu $v0, $v0, 1 +/* 00436D2C 54400004 */ bnel $v0, $zero, .L00436D40 +/* 00436D30 004002B4 */ teq $v0, $zero, 0xa +/* 00436D34 38620046 */ xori $v0, $v1, 0x46 +/* 00436D38 2C420001 */ sltiu $v0, $v0, 1 +/* 00436D3C 004002B4 */ teq $v0, $zero, 0xa +.L00436D40: +/* 00436D40 90E30001 */ lbu $v1, 1($a3) +/* 00436D44 3063001F */ andi $v1, $v1, 0x1f +/* 00436D48 306300FF */ andi $v1, $v1, 0xff +/* 00436D4C 246EFFF7 */ addiu $t6, $v1, -9 +/* 00436D50 2DC10006 */ sltiu $at, $t6, 6 +/* 00436D54 10200034 */ beqz $at, .L00436E28 +/* 00436D58 00000000 */ nop +/* 00436D5C 8F818038 */ lw $at, %got(jtbl_1000B2B0)($gp) +/* 00436D60 000E7080 */ sll $t6, $t6, 2 +/* 00436D64 002E0821 */ addu $at, $at, $t6 +/* 00436D68 8C2EB2B0 */ lw $t6, %lo(jtbl_1000B2B0)($at) +/* 00436D6C 01DC7021 */ addu $t6, $t6, $gp +/* 00436D70 01C00008 */ jr $t6 +/* 00436D74 00000000 */ nop +.L00436D78: +/* 00436D78 8F8F8990 */ lw $t7, %got(sdata_max)($gp) +/* 00436D7C 8CF80010 */ lw $t8, 0x10($a3) +/* 00436D80 8DEF0000 */ lw $t7, ($t7) +/* 00436D84 01F8082A */ slt $at, $t7, $t8 +/* 00436D88 10200009 */ beqz $at, .L00436DB0 +/* 00436D8C 00000000 */ nop +/* 00436D90 8F998430 */ lw $t9, %call16(add_to_list_no_check)($gp) +/* 00436D94 8F848ADC */ lw $a0, %got(large_strings)($gp) +/* 00436D98 24E50010 */ addiu $a1, $a3, 0x10 +/* 00436D9C 0320F809 */ jalr $t9 +/* 00436DA0 AFA600BC */ sw $a2, 0xbc($sp) +/* 00436DA4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00436DA8 1000005E */ b .L00436F24 +/* 00436DAC 8FA200BC */ lw $v0, 0xbc($sp) +.L00436DB0: +/* 00436DB0 8F998430 */ lw $t9, %call16(add_to_list_no_check)($gp) +/* 00436DB4 8F848AD8 */ lw $a0, %got(small_strings)($gp) +/* 00436DB8 24E50010 */ addiu $a1, $a3, 0x10 +/* 00436DBC 0320F809 */ jalr $t9 +/* 00436DC0 AFA600BC */ sw $a2, 0xbc($sp) +/* 00436DC4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00436DC8 8FA600BC */ lw $a2, 0xbc($sp) +/* 00436DCC 10000055 */ b .L00436F24 +/* 00436DD0 00C01025 */ move $v0, $a2 +.L00436DD4: +/* 00436DD4 8F998438 */ lw $t9, %call16(add_to_list)($gp) +/* 00436DD8 8F848AE4 */ lw $a0, %got(doubles)($gp) +/* 00436DDC 24E50010 */ addiu $a1, $a3, 0x10 +/* 00436DE0 0320F809 */ jalr $t9 +/* 00436DE4 00000000 */ nop +/* 00436DE8 1000004E */ b .L00436F24 +/* 00436DEC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00436DF0: +/* 00436DF0 8F998438 */ lw $t9, %call16(add_to_list)($gp) +/* 00436DF4 8F848AE0 */ lw $a0, %got(floats)($gp) +/* 00436DF8 24E50010 */ addiu $a1, $a3, 0x10 +/* 00436DFC 0320F809 */ jalr $t9 +/* 00436E00 00000000 */ nop +/* 00436E04 10000047 */ b .L00436F24 +/* 00436E08 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00436E0C: +/* 00436E0C 8F998438 */ lw $t9, %call16(add_to_list)($gp) +/* 00436E10 8F848AE8 */ lw $a0, %got(sets)($gp) +/* 00436E14 24E50010 */ addiu $a1, $a3, 0x10 +/* 00436E18 0320F809 */ jalr $t9 +/* 00436E1C 00000000 */ nop +/* 00436E20 10000040 */ b .L00436F24 +/* 00436E24 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00436E28: +/* 00436E28 8F998038 */ lw $t9, %got(RO_1000B260)($gp) +/* 00436E2C 24040004 */ li $a0, 4 +/* 00436E30 240500BA */ li $a1, 186 +/* 00436E34 2739B260 */ addiu $t9, %lo(RO_1000B260) # addiu $t9, $t9, -0x4da0 +/* 00436E38 272B0048 */ addiu $t3, $t9, 0x48 +/* 00436E3C 03A05025 */ move $t2, $sp +.L00436E40: +/* 00436E40 8B290000 */ lwl $t1, ($t9) +/* 00436E44 9B290003 */ lwr $t1, 3($t9) +/* 00436E48 2739000C */ addiu $t9, $t9, 0xc +/* 00436E4C 254A000C */ addiu $t2, $t2, 0xc +/* 00436E50 A949FFFC */ swl $t1, -4($t2) +/* 00436E54 B949FFFF */ swr $t1, -1($t2) +/* 00436E58 8B28FFF8 */ lwl $t0, -8($t9) +/* 00436E5C 9B28FFFB */ lwr $t0, -5($t9) +/* 00436E60 A9480000 */ swl $t0, ($t2) +/* 00436E64 B9480003 */ swr $t0, 3($t2) +/* 00436E68 8B29FFFC */ lwl $t1, -4($t9) +/* 00436E6C 9B29FFFF */ lwr $t1, -1($t9) +/* 00436E70 A9490004 */ swl $t1, 4($t2) +/* 00436E74 172BFFF2 */ bne $t9, $t3, .L00436E40 +/* 00436E78 B9490007 */ swr $t1, 7($t2) +/* 00436E7C 8B290000 */ lwl $t1, ($t9) +/* 00436E80 9B290003 */ lwr $t1, 3($t9) +/* 00436E84 8F8C8038 */ lw $t4, %got(RO_1000B210)($gp) +/* 00436E88 03A07825 */ move $t7, $sp +/* 00436E8C A9490008 */ swl $t1, 8($t2) +/* 00436E90 B949000B */ swr $t1, 0xb($t2) +/* 00436E94 8B280004 */ lwl $t0, 4($t9) +/* 00436E98 9B280007 */ lwr $t0, 7($t9) +/* 00436E9C 258CB210 */ addiu $t4, %lo(RO_1000B210) # addiu $t4, $t4, -0x4df0 +/* 00436EA0 25980048 */ addiu $t8, $t4, 0x48 +/* 00436EA4 A948000C */ swl $t0, 0xc($t2) +/* 00436EA8 B948000F */ swr $t0, 0xf($t2) +.L00436EAC: +/* 00436EAC 898E0000 */ lwl $t6, ($t4) +/* 00436EB0 998E0003 */ lwr $t6, 3($t4) +/* 00436EB4 258C000C */ addiu $t4, $t4, 0xc +/* 00436EB8 25EF000C */ addiu $t7, $t7, 0xc +/* 00436EBC A9EE004C */ swl $t6, 0x4c($t7) +/* 00436EC0 B9EE004F */ swr $t6, 0x4f($t7) +/* 00436EC4 898DFFF8 */ lwl $t5, -8($t4) +/* 00436EC8 998DFFFB */ lwr $t5, -5($t4) +/* 00436ECC A9ED0050 */ swl $t5, 0x50($t7) +/* 00436ED0 B9ED0053 */ swr $t5, 0x53($t7) +/* 00436ED4 898EFFFC */ lwl $t6, -4($t4) +/* 00436ED8 998EFFFF */ lwr $t6, -1($t4) +/* 00436EDC A9EE0054 */ swl $t6, 0x54($t7) +/* 00436EE0 1598FFF2 */ bne $t4, $t8, .L00436EAC +/* 00436EE4 B9EE0057 */ swr $t6, 0x57($t7) +/* 00436EE8 898E0000 */ lwl $t6, ($t4) +/* 00436EEC 998E0003 */ lwr $t6, 3($t4) +/* 00436EF0 A9EE0058 */ swl $t6, 0x58($t7) +/* 00436EF4 B9EE005B */ swr $t6, 0x5b($t7) +/* 00436EF8 898D0004 */ lwl $t5, 4($t4) +/* 00436EFC 998D0007 */ lwr $t5, 7($t4) +/* 00436F00 A9ED005C */ swl $t5, 0x5c($t7) +/* 00436F04 B9ED005F */ swr $t5, 0x5f($t7) +/* 00436F08 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00436F0C 8FA7000C */ lw $a3, 0xc($sp) +/* 00436F10 8FA60008 */ lw $a2, 8($sp) +/* 00436F14 0320F809 */ jalr $t9 +/* 00436F18 00000000 */ nop +/* 00436F1C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00436F20 00001025 */ move $v0, $zero +.L00436F24: +/* 00436F24 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00436F28 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00436F2C 03E00008 */ jr $ra +/* 00436F30 00000000 */ nop + .type add_to_pool, @function + .size add_to_pool, .-add_to_pool + .end add_to_pool +)""); diff --git a/src/ugen/loop_header.c b/src/ugen/loop_header.c new file mode 100644 index 0000000..27604ad --- /dev/null +++ b/src/ugen/loop_header.c @@ -0,0 +1,2446 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000B2D0: + # 00437010 cmp_tree + .ascii "unknown u-code " + +RO_1000B320: + # 00437010 cmp_tree + .ascii "loop_header.p " + + .balign 4 +jtbl_1000B370: + # 00437010 cmp_tree + .gpword .L004378A0 + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + + .balign 4 +jtbl_1000B384: + # 00437010 cmp_tree + .gpword .L004378E4 + .gpword .L004374CC + .gpword .L004379D0 + .gpword .L004379D0 + .gpword .L004379B0 + .gpword .L004379B0 + .gpword .L00437AAC + .gpword .L00437AAC + + .balign 4 +jtbl_1000B3A4: + # 00437010 cmp_tree + .gpword .L004372C8 + .gpword .L00437954 + + .balign 4 +jtbl_1000B3AC: + # 00437010 cmp_tree + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L0043746C + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004373E0 + .gpword .L00437BCC + .gpword .L00437A2C + .gpword .L00437A2C + .gpword .L00437A2C + .gpword .L004374AC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437A2C + .gpword .L00437A2C + .gpword .L00437520 + .gpword .L00437BCC + .gpword .L00437A2C + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L00437664 + .gpword .L00437724 + .gpword .L004375AC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437AB4 + .gpword .L00437BCC + .gpword .L00437D18 + .gpword .L00437BCC + .gpword .L00437898 + .gpword .L00437810 + .gpword .L00437BCC + .gpword .L004374EC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L004378A0 + .gpword .L00437BCC + .gpword .L0043707C + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L004378E4 + .gpword .L004378E4 + .gpword .L00437A2C + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L004372B0 + .gpword .L00437BCC + .gpword .L004378A0 + .gpword .L004378E4 + .gpword .L00437AAC + .gpword .L004378A0 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437208 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437954 + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L004378E4 + + .balign 4 +jtbl_1000B4F4: + # 00437010 cmp_tree + .gpword .L0043712C + .gpword .L00437BCC + .gpword .L004378E4 + .gpword .L00437BCC + .gpword .L0043746C + + .balign 4 +jtbl_1000B508: + # 00437010 cmp_tree + .gpword .L00437954 + .gpword .L00437BCC + .gpword .L0043748C + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437BCC + .gpword .L00437AAC + .gpword .L004378E4 + +RO_1000B528: + # 00437D40 cmp_tree_again + .ascii "unknown u-code " + +RO_1000B578: + # 00437D40 cmp_tree_again + .ascii "loop_header.p " + + .balign 4 +jtbl_1000B5C8: + # 00437D40 cmp_tree_again + .gpword .L00437DD8 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + + .balign 4 +jtbl_1000B5DC: + # 00437D40 cmp_tree_again + .gpword .L00437E10 + .gpword .L00437DD8 + .gpword .L00437DD8 + .gpword .L00437DD8 + .gpword .L00437DD8 + .gpword .L00437DD8 + + .balign 4 +jtbl_1000B5F4: + # 00437D40 cmp_tree_again + .gpword .L00437DD0 + .gpword .L00437DD8 + + .balign 4 +jtbl_1000B5FC: + # 00437D40 cmp_tree_again + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437DD8 + .gpword .L00437E10 + .gpword .L00437E10 + + .balign 4 +jtbl_1000B670: + # 00437D40 cmp_tree_again + .gpword .L00437DD0 + .gpword .L00437DD0 + .gpword .L00437E48 + .gpword .L00437DD0 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437DD0 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437DD0 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E10 + + .balign 4 +jtbl_1000B72C: + # 00437D40 cmp_tree_again + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437E10 + .gpword .L00437E48 + .gpword .L00437E10 + + .balign 4 +jtbl_1000B740: + # 00437D40 cmp_tree_again + .gpword .L00437DD8 + .gpword .L00437E48 + .gpword .L00437DF4 + +.data +# 100161F0 +glabel stop_ops + # 00438320 match_uconds + # 004387D8 match_conds + .byte 0x10,0x00,0x40,0x10,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x00,0x18,0x00,0x00 + .type stop_ops, @object + .size stop_ops, .-stop_ops # 20 + +# 10016204 +glabel not_real_stms + # 0043813C get_prior_stm + # 004381B4 get_prior_stm1 + # 00438244 find_br + .byte 0x00,0x80,0x10,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + .type not_real_stms, @object + .size not_real_stms, .-not_real_stms # 20 + +# 10016218 +glabel inverse + # 00438620 cmp_br + .ascii "```````````````````````````````````_````NM```````````````````````````````````)(````````````````#````````````````````````````````````````````````````````````" + .type inverse, @object + .size inverse, .-inverse # 156 + +D_100162B4: + # 00438244 find_br + .byte 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01 + +D_100162C0: + # 00438620 cmp_br + .byte 0x10,0xc0,0x00,0x00,0x00,0x06,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + +.bss + .balign 4 +# 100213C8 +glabel pay + # 00437010 cmp_tree + # 004387D8 match_conds + .space 4 + .size pay, 4 + .type pay, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel insert + .ent insert + # 004380EC move_label +/* 00436F40 AC850008 */ sw $a1, 8($a0) +/* 00436F44 8CAE000C */ lw $t6, 0xc($a1) +/* 00436F48 AC8E000C */ sw $t6, 0xc($a0) +/* 00436F4C ADC40008 */ sw $a0, 8($t6) +/* 00436F50 03E00008 */ jr $ra +/* 00436F54 ACA4000C */ sw $a0, 0xc($a1) + .type insert, @function + .size insert, .-insert + .end insert + +glabel append + .ent append + # 00438320 match_uconds + # 004387D8 match_conds +/* 00436F58 AC85000C */ sw $a1, 0xc($a0) +/* 00436F5C 8CAE0008 */ lw $t6, 8($a1) +/* 00436F60 AC8E0008 */ sw $t6, 8($a0) +/* 00436F64 ACA40008 */ sw $a0, 8($a1) +/* 00436F68 8C8F0008 */ lw $t7, 8($a0) +/* 00436F6C 03E00008 */ jr $ra +/* 00436F70 ADE4000C */ sw $a0, 0xc($t7) + .type append, @function + .size append, .-append + .end append + +glabel make_new_label + .ent make_new_label + # 00438320 match_uconds + # 004387D8 match_conds +/* 00436F74 3C1C0FBF */ .cpload $t9 +/* 00436F78 279C8ADC */ +/* 00436F7C 0399E021 */ +/* 00436F80 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00436F84 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00436F88 AFBF001C */ sw $ra, 0x1c($sp) +/* 00436F8C AFBC0018 */ sw $gp, 0x18($sp) +/* 00436F90 0320F809 */ jalr $t9 +/* 00436F94 24040042 */ li $a0, 66 +/* 00436F98 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436F9C AFA20020 */ sw $v0, 0x20($sp) +/* 00436FA0 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 00436FA4 0320F809 */ jalr $t9 +/* 00436FA8 00000000 */ nop +/* 00436FAC 8FA30020 */ lw $v1, 0x20($sp) +/* 00436FB0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00436FB4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00436FB8 AC620024 */ sw $v0, 0x24($v1) +/* 00436FBC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00436FC0 A4600022 */ sh $zero, 0x22($v1) +/* 00436FC4 AC600028 */ sw $zero, 0x28($v1) +/* 00436FC8 03E00008 */ jr $ra +/* 00436FCC 00601025 */ move $v0, $v1 + .type make_new_label, @function + .size make_new_label, .-make_new_label + .end make_new_label + +glabel make_new_jump + .ent make_new_jump + # 00438320 match_uconds + # 004387D8 match_conds +/* 00436FD0 3C1C0FBF */ .cpload $t9 +/* 00436FD4 279C8A80 */ +/* 00436FD8 0399E021 */ +/* 00436FDC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00436FE0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00436FE4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00436FE8 00803025 */ move $a2, $a0 +/* 00436FEC AFBC0018 */ sw $gp, 0x18($sp) +/* 00436FF0 24040088 */ li $a0, 136 +/* 00436FF4 0320F809 */ jalr $t9 +/* 00436FF8 00002825 */ move $a1, $zero +/* 00436FFC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00437000 8FBC0018 */ lw $gp, 0x18($sp) +/* 00437004 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00437008 03E00008 */ jr $ra +/* 0043700C 00000000 */ nop + .type make_new_jump, @function + .size make_new_jump, .-make_new_jump + .end make_new_jump + +glabel cmp_tree + .ent cmp_tree + # 00437010 cmp_tree + # 00438320 match_uconds + # 00438620 cmp_br + # 004387D8 match_conds +/* 00437010 3C1C0FBF */ .cpload $t9 +/* 00437014 279C8A40 */ +/* 00437018 0399E021 */ +/* 0043701C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00437020 240E0001 */ li $t6, 1 +/* 00437024 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00437028 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043702C AFAE00B8 */ sw $t6, 0xb8($sp) +/* 00437030 908F001A */ lbu $t7, 0x1a($a0) +/* 00437034 00803025 */ move $a2, $a0 +/* 00437038 00A03825 */ move $a3, $a1 +/* 0043703C 25F80001 */ addiu $t8, $t7, 1 +/* 00437040 A098001A */ sb $t8, 0x1a($a0) +/* 00437044 90B9001A */ lbu $t9, 0x1a($a1) +/* 00437048 27280001 */ addiu $t0, $t9, 1 +/* 0043704C 14850003 */ bne $a0, $a1, .L0043705C +/* 00437050 A0A8001A */ sb $t0, 0x1a($a1) +/* 00437054 10000336 */ b .L00437D30 +/* 00437058 24020001 */ li $v0, 1 +.L0043705C: +/* 0043705C 90C30020 */ lbu $v1, 0x20($a2) +/* 00437060 90E90020 */ lbu $t1, 0x20($a3) +/* 00437064 11230003 */ beq $t1, $v1, .L00437074 +/* 00437068 00000000 */ nop +/* 0043706C 10000330 */ b .L00437D30 +/* 00437070 00001025 */ move $v0, $zero +.L00437074: +/* 00437074 10000292 */ b .L00437AC0 +/* 00437078 306200FF */ andi $v0, $v1, 0xff +.L0043707C: +/* 0043707C 90E20021 */ lbu $v0, 0x21($a3) +/* 00437080 90C40021 */ lbu $a0, 0x21($a2) +/* 00437084 24010003 */ li $at, 3 +/* 00437088 304A001F */ andi $t2, $v0, 0x1f +/* 0043708C 308B001F */ andi $t3, $a0, 0x1f +/* 00437090 014B1826 */ xor $v1, $t2, $t3 +/* 00437094 2C630001 */ sltiu $v1, $v1, 1 +/* 00437098 1060001E */ beqz $v1, .L00437114 +/* 0043709C 00026600 */ sll $t4, $v0, 0x18 +/* 004370A0 00047600 */ sll $t6, $a0, 0x18 +/* 004370A4 000E7F42 */ srl $t7, $t6, 0x1d +/* 004370A8 000C6F42 */ srl $t5, $t4, 0x1d +/* 004370AC 01AF1826 */ xor $v1, $t5, $t7 +/* 004370B0 2C630001 */ sltiu $v1, $v1, 1 +/* 004370B4 50600018 */ beql $v1, $zero, .L00437118 +/* 004370B8 00046E00 */ sll $t5, $a0, 0x18 +/* 004370BC 8CF80024 */ lw $t8, 0x24($a3) +/* 004370C0 8CD90024 */ lw $t9, 0x24($a2) +/* 004370C4 03191826 */ xor $v1, $t8, $t9 +/* 004370C8 2C630001 */ sltiu $v1, $v1, 1 +/* 004370CC 50600012 */ beql $v1, $zero, .L00437118 +/* 004370D0 00046E00 */ sll $t5, $a0, 0x18 +/* 004370D4 8CE8002C */ lw $t0, 0x2c($a3) +/* 004370D8 8CC9002C */ lw $t1, 0x2c($a2) +/* 004370DC 01091826 */ xor $v1, $t0, $t1 +/* 004370E0 2C630001 */ sltiu $v1, $v1, 1 +/* 004370E4 5060000C */ beql $v1, $zero, .L00437118 +/* 004370E8 00046E00 */ sll $t5, $a0, 0x18 +/* 004370EC 8CEA0028 */ lw $t2, 0x28($a3) +/* 004370F0 8CCB0028 */ lw $t3, 0x28($a2) +/* 004370F4 014B1826 */ xor $v1, $t2, $t3 +/* 004370F8 2C630001 */ sltiu $v1, $v1, 1 +/* 004370FC 50600006 */ beql $v1, $zero, .L00437118 +/* 00437100 00046E00 */ sll $t5, $a0, 0x18 +/* 00437104 94EC0022 */ lhu $t4, 0x22($a3) +/* 00437108 94CE0022 */ lhu $t6, 0x22($a2) +/* 0043710C 018E1826 */ xor $v1, $t4, $t6 +/* 00437110 2C630001 */ sltiu $v1, $v1, 1 +.L00437114: +/* 00437114 00046E00 */ sll $t5, $a0, 0x18 +.L00437118: +/* 00437118 000D7F42 */ srl $t7, $t5, 0x1d +/* 0043711C 15E102FE */ bne $t7, $at, .L00437D18 +/* 00437120 A3A300BF */ sb $v1, 0xbf($sp) +/* 00437124 100002FC */ b .L00437D18 +/* 00437128 AFA000B8 */ sw $zero, 0xb8($sp) +.L0043712C: +/* 0043712C 90E20021 */ lbu $v0, 0x21($a3) +/* 00437130 90C40021 */ lbu $a0, 0x21($a2) +/* 00437134 3058001F */ andi $t8, $v0, 0x1f +/* 00437138 3099001F */ andi $t9, $a0, 0x1f +/* 0043713C 03191826 */ xor $v1, $t8, $t9 +/* 00437140 2C630001 */ sltiu $v1, $v1, 1 +/* 00437144 10600029 */ beqz $v1, .L004371EC +/* 00437148 00024600 */ sll $t0, $v0, 0x18 +/* 0043714C 00045600 */ sll $t2, $a0, 0x18 +/* 00437150 000A5F42 */ srl $t3, $t2, 0x1d +/* 00437154 00084F42 */ srl $t1, $t0, 0x1d +/* 00437158 012B1826 */ xor $v1, $t1, $t3 +/* 0043715C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437160 50600023 */ beql $v1, $zero, .L004371F0 +/* 00437164 00044E00 */ sll $t1, $a0, 0x18 +/* 00437168 8CEC0024 */ lw $t4, 0x24($a3) +/* 0043716C 8CCE0024 */ lw $t6, 0x24($a2) +/* 00437170 018E1826 */ xor $v1, $t4, $t6 +/* 00437174 2C630001 */ sltiu $v1, $v1, 1 +/* 00437178 5060001D */ beql $v1, $zero, .L004371F0 +/* 0043717C 00044E00 */ sll $t1, $a0, 0x18 +/* 00437180 8CED002C */ lw $t5, 0x2c($a3) +/* 00437184 8CCF002C */ lw $t7, 0x2c($a2) +/* 00437188 01AF1826 */ xor $v1, $t5, $t7 +/* 0043718C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437190 50600017 */ beql $v1, $zero, .L004371F0 +/* 00437194 00044E00 */ sll $t1, $a0, 0x18 +/* 00437198 8CF80028 */ lw $t8, 0x28($a3) +/* 0043719C 8CD90028 */ lw $t9, 0x28($a2) +/* 004371A0 03191826 */ xor $v1, $t8, $t9 +/* 004371A4 2C630001 */ sltiu $v1, $v1, 1 +/* 004371A8 50600011 */ beql $v1, $zero, .L004371F0 +/* 004371AC 00044E00 */ sll $t1, $a0, 0x18 +/* 004371B0 94E80022 */ lhu $t0, 0x22($a3) +/* 004371B4 94CA0022 */ lhu $t2, 0x22($a2) +/* 004371B8 010A1826 */ xor $v1, $t0, $t2 +/* 004371BC 2C630001 */ sltiu $v1, $v1, 1 +/* 004371C0 5060000B */ beql $v1, $zero, .L004371F0 +/* 004371C4 00044E00 */ sll $t1, $a0, 0x18 +/* 004371C8 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004371CC 8CC40000 */ lw $a0, ($a2) +/* 004371D0 8CE50000 */ lw $a1, ($a3) +/* 004371D4 0320F809 */ jalr $t9 +/* 004371D8 AFA600C0 */ sw $a2, 0xc0($sp) +/* 004371DC 8FA600C0 */ lw $a2, 0xc0($sp) +/* 004371E0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004371E4 00401825 */ move $v1, $v0 +/* 004371E8 90C40021 */ lbu $a0, 0x21($a2) +.L004371EC: +/* 004371EC 00044E00 */ sll $t1, $a0, 0x18 +.L004371F0: +/* 004371F0 00095F42 */ srl $t3, $t1, 0x1d +/* 004371F4 24010003 */ li $at, 3 +/* 004371F8 156102C7 */ bne $t3, $at, .L00437D18 +/* 004371FC A3A300BF */ sb $v1, 0xbf($sp) +/* 00437200 100002C5 */ b .L00437D18 +/* 00437204 AFA000B8 */ sw $zero, 0xb8($sp) +.L00437208: +/* 00437208 90E20021 */ lbu $v0, 0x21($a3) +/* 0043720C 90C40021 */ lbu $a0, 0x21($a2) +/* 00437210 304C001F */ andi $t4, $v0, 0x1f +/* 00437214 308E001F */ andi $t6, $a0, 0x1f +/* 00437218 018E1826 */ xor $v1, $t4, $t6 +/* 0043721C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437220 10600021 */ beqz $v1, .L004372A8 +/* 00437224 00026E00 */ sll $t5, $v0, 0x18 +/* 00437228 0004C600 */ sll $t8, $a0, 0x18 +/* 0043722C 0018CF42 */ srl $t9, $t8, 0x1d +/* 00437230 000D7F42 */ srl $t7, $t5, 0x1d +/* 00437234 01F91826 */ xor $v1, $t7, $t9 +/* 00437238 2C630001 */ sltiu $v1, $v1, 1 +/* 0043723C 1060001A */ beqz $v1, .L004372A8 +/* 00437240 00000000 */ nop +/* 00437244 8CE80024 */ lw $t0, 0x24($a3) +/* 00437248 8CCA0024 */ lw $t2, 0x24($a2) +/* 0043724C 010A1826 */ xor $v1, $t0, $t2 +/* 00437250 2C630001 */ sltiu $v1, $v1, 1 +/* 00437254 10600014 */ beqz $v1, .L004372A8 +/* 00437258 00000000 */ nop +/* 0043725C 8CE9002C */ lw $t1, 0x2c($a3) +/* 00437260 8CCB002C */ lw $t3, 0x2c($a2) +/* 00437264 012B1826 */ xor $v1, $t1, $t3 +/* 00437268 2C630001 */ sltiu $v1, $v1, 1 +/* 0043726C 1060000E */ beqz $v1, .L004372A8 +/* 00437270 00000000 */ nop +/* 00437274 8CEC0028 */ lw $t4, 0x28($a3) +/* 00437278 8CCE0028 */ lw $t6, 0x28($a2) +/* 0043727C 018E1826 */ xor $v1, $t4, $t6 +/* 00437280 2C630001 */ sltiu $v1, $v1, 1 +/* 00437284 10600008 */ beqz $v1, .L004372A8 +/* 00437288 00000000 */ nop +/* 0043728C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437290 8CC40000 */ lw $a0, ($a2) +/* 00437294 8CE50000 */ lw $a1, ($a3) +/* 00437298 0320F809 */ jalr $t9 +/* 0043729C 00000000 */ nop +/* 004372A0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004372A4 00401825 */ move $v1, $v0 +.L004372A8: +/* 004372A8 1000029B */ b .L00437D18 +/* 004372AC A3A300BF */ sb $v1, 0xbf($sp) +.L004372B0: +/* 004372B0 94ED0022 */ lhu $t5, 0x22($a3) +/* 004372B4 94D80022 */ lhu $t8, 0x22($a2) +/* 004372B8 01B87826 */ xor $t7, $t5, $t8 +/* 004372BC 2DEF0001 */ sltiu $t7, $t7, 1 +/* 004372C0 10000295 */ b .L00437D18 +/* 004372C4 A3AF00BF */ sb $t7, 0xbf($sp) +.L004372C8: +/* 004372C8 90F90021 */ lbu $t9, 0x21($a3) +/* 004372CC 90CA0021 */ lbu $t2, 0x21($a2) +/* 004372D0 3328001F */ andi $t0, $t9, 0x1f +/* 004372D4 3149001F */ andi $t1, $t2, 0x1f +/* 004372D8 01091826 */ xor $v1, $t0, $t1 +/* 004372DC 2C630001 */ sltiu $v1, $v1, 1 +/* 004372E0 1060001D */ beqz $v1, .L00437358 +/* 004372E4 00000000 */ nop +/* 004372E8 94EB0022 */ lhu $t3, 0x22($a3) +/* 004372EC 94CC0022 */ lhu $t4, 0x22($a2) +/* 004372F0 016C1826 */ xor $v1, $t3, $t4 +/* 004372F4 2C630001 */ sltiu $v1, $v1, 1 +/* 004372F8 10600017 */ beqz $v1, .L00437358 +/* 004372FC 00000000 */ nop +/* 00437300 8CEE0024 */ lw $t6, 0x24($a3) +/* 00437304 8CCD0024 */ lw $t5, 0x24($a2) +/* 00437308 01CD1826 */ xor $v1, $t6, $t5 +/* 0043730C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437310 10600011 */ beqz $v1, .L00437358 +/* 00437314 00000000 */ nop +/* 00437318 90F80028 */ lbu $t8, 0x28($a3) +/* 0043731C 90CF0028 */ lbu $t7, 0x28($a2) +/* 00437320 030F1826 */ xor $v1, $t8, $t7 +/* 00437324 2C630001 */ sltiu $v1, $v1, 1 +/* 00437328 1060000B */ beqz $v1, .L00437358 +/* 0043732C 00000000 */ nop +/* 00437330 90F90029 */ lbu $t9, 0x29($a3) +/* 00437334 90CA0029 */ lbu $t2, 0x29($a2) +/* 00437338 032A1826 */ xor $v1, $t9, $t2 +/* 0043733C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437340 10600005 */ beqz $v1, .L00437358 +/* 00437344 00000000 */ nop +/* 00437348 8CE8002C */ lw $t0, 0x2c($a3) +/* 0043734C 8CC9002C */ lw $t1, 0x2c($a2) +/* 00437350 01091826 */ xor $v1, $t0, $t1 +/* 00437354 2C630001 */ sltiu $v1, $v1, 1 +.L00437358: +/* 00437358 1000026F */ b .L00437D18 +/* 0043735C A3A300BF */ sb $v1, 0xbf($sp) +/* 00437360 90EB0021 */ lbu $t3, 0x21($a3) +.L00437364: +/* 00437364 90CE0021 */ lbu $t6, 0x21($a2) +/* 00437368 316C001F */ andi $t4, $t3, 0x1f +/* 0043736C 31CD001F */ andi $t5, $t6, 0x1f +/* 00437370 018D1826 */ xor $v1, $t4, $t5 +/* 00437374 2C630001 */ sltiu $v1, $v1, 1 +/* 00437378 10600017 */ beqz $v1, .L004373D8 +/* 0043737C 00000000 */ nop +/* 00437380 8CF80024 */ lw $t8, 0x24($a3) +/* 00437384 8CCF0024 */ lw $t7, 0x24($a2) +/* 00437388 030F1826 */ xor $v1, $t8, $t7 +/* 0043738C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437390 10600011 */ beqz $v1, .L004373D8 +/* 00437394 00000000 */ nop +/* 00437398 90F90028 */ lbu $t9, 0x28($a3) +/* 0043739C 90CA0028 */ lbu $t2, 0x28($a2) +/* 004373A0 032A1826 */ xor $v1, $t9, $t2 +/* 004373A4 2C630001 */ sltiu $v1, $v1, 1 +/* 004373A8 1060000B */ beqz $v1, .L004373D8 +/* 004373AC 00000000 */ nop +/* 004373B0 90E80029 */ lbu $t0, 0x29($a3) +/* 004373B4 90C90029 */ lbu $t1, 0x29($a2) +/* 004373B8 01091826 */ xor $v1, $t0, $t1 +/* 004373BC 2C630001 */ sltiu $v1, $v1, 1 +/* 004373C0 10600005 */ beqz $v1, .L004373D8 +/* 004373C4 00000000 */ nop +/* 004373C8 8CEB002C */ lw $t3, 0x2c($a3) +/* 004373CC 8CCE002C */ lw $t6, 0x2c($a2) +/* 004373D0 016E1826 */ xor $v1, $t3, $t6 +/* 004373D4 2C630001 */ sltiu $v1, $v1, 1 +.L004373D8: +/* 004373D8 1000024F */ b .L00437D18 +/* 004373DC A3A300BF */ sb $v1, 0xbf($sp) +.L004373E0: +/* 004373E0 90EC0021 */ lbu $t4, 0x21($a3) +/* 004373E4 90D80021 */ lbu $t8, 0x21($a2) +/* 004373E8 318D001F */ andi $t5, $t4, 0x1f +/* 004373EC 330F001F */ andi $t7, $t8, 0x1f +/* 004373F0 01AF1826 */ xor $v1, $t5, $t7 +/* 004373F4 2C630001 */ sltiu $v1, $v1, 1 +/* 004373F8 1060001A */ beqz $v1, .L00437464 +/* 004373FC 00000000 */ nop +/* 00437400 90F90028 */ lbu $t9, 0x28($a3) +/* 00437404 90CA0028 */ lbu $t2, 0x28($a2) +/* 00437408 032A1826 */ xor $v1, $t9, $t2 +/* 0043740C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437410 10600014 */ beqz $v1, .L00437464 +/* 00437414 00000000 */ nop +/* 00437418 90E80029 */ lbu $t0, 0x29($a3) +/* 0043741C 90C90029 */ lbu $t1, 0x29($a2) +/* 00437420 01091826 */ xor $v1, $t0, $t1 +/* 00437424 2C630001 */ sltiu $v1, $v1, 1 +/* 00437428 1060000E */ beqz $v1, .L00437464 +/* 0043742C 00000000 */ nop +/* 00437430 8CEB002C */ lw $t3, 0x2c($a3) +/* 00437434 8CCE002C */ lw $t6, 0x2c($a2) +/* 00437438 016E1826 */ xor $v1, $t3, $t6 +/* 0043743C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437440 10600008 */ beqz $v1, .L00437464 +/* 00437444 00000000 */ nop +/* 00437448 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 0043744C 8CC40000 */ lw $a0, ($a2) +/* 00437450 8CE50000 */ lw $a1, ($a3) +/* 00437454 0320F809 */ jalr $t9 +/* 00437458 00000000 */ nop +/* 0043745C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437460 00401825 */ move $v1, $v0 +.L00437464: +/* 00437464 1000022C */ b .L00437D18 +/* 00437468 A3A300BF */ sb $v1, 0xbf($sp) +.L0043746C: +/* 0043746C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437470 8CC40000 */ lw $a0, ($a2) +/* 00437474 8CE50000 */ lw $a1, ($a3) +/* 00437478 0320F809 */ jalr $t9 +/* 0043747C 00000000 */ nop +/* 00437480 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437484 10000224 */ b .L00437D18 +/* 00437488 A3A200BF */ sb $v0, 0xbf($sp) +.L0043748C: +/* 0043748C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437490 8CC40004 */ lw $a0, 4($a2) +/* 00437494 8CE50004 */ lw $a1, 4($a3) +/* 00437498 0320F809 */ jalr $t9 +/* 0043749C 00000000 */ nop +/* 004374A0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004374A4 1000021C */ b .L00437D18 +/* 004374A8 A3A200BF */ sb $v0, 0xbf($sp) +.L004374AC: +/* 004374AC 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004374B0 8CC40000 */ lw $a0, ($a2) +/* 004374B4 8CE50000 */ lw $a1, ($a3) +/* 004374B8 0320F809 */ jalr $t9 +/* 004374BC 00000000 */ nop +/* 004374C0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004374C4 10000214 */ b .L00437D18 +/* 004374C8 A3A200BF */ sb $v0, 0xbf($sp) +.L004374CC: +/* 004374CC 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004374D0 8CC40000 */ lw $a0, ($a2) +/* 004374D4 8CE50000 */ lw $a1, ($a3) +/* 004374D8 0320F809 */ jalr $t9 +/* 004374DC 00000000 */ nop +/* 004374E0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004374E4 1000020C */ b .L00437D18 +/* 004374E8 A3A200BF */ sb $v0, 0xbf($sp) +.L004374EC: +/* 004374EC 8F998698 */ lw $t9, %call16(const_equal)($gp) +/* 004374F0 00C02025 */ move $a0, $a2 +/* 004374F4 00E02825 */ move $a1, $a3 +/* 004374F8 0320F809 */ jalr $t9 +/* 004374FC AFA600C0 */ sw $a2, 0xc0($sp) +/* 00437500 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00437504 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437508 A3A200BF */ sb $v0, 0xbf($sp) +/* 0043750C 8CCC0030 */ lw $t4, 0x30($a2) +/* 00437510 15800201 */ bnez $t4, .L00437D18 +/* 00437514 00000000 */ nop +/* 00437518 100001FF */ b .L00437D18 +/* 0043751C AFA000B8 */ sw $zero, 0xb8($sp) +.L00437520: +/* 00437520 90F80021 */ lbu $t8, 0x21($a3) +/* 00437524 90CF0021 */ lbu $t7, 0x21($a2) +/* 00437528 330D001F */ andi $t5, $t8, 0x1f +/* 0043752C 31F9001F */ andi $t9, $t7, 0x1f +/* 00437530 01B91826 */ xor $v1, $t5, $t9 +/* 00437534 2C630001 */ sltiu $v1, $v1, 1 +/* 00437538 1060001A */ beqz $v1, .L004375A4 +/* 0043753C 00000000 */ nop +/* 00437540 8CEA002C */ lw $t2, 0x2c($a3) +/* 00437544 8CC8002C */ lw $t0, 0x2c($a2) +/* 00437548 01481826 */ xor $v1, $t2, $t0 +/* 0043754C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437550 10600014 */ beqz $v1, .L004375A4 +/* 00437554 00000000 */ nop +/* 00437558 8CE90028 */ lw $t1, 0x28($a3) +/* 0043755C 8CCB0028 */ lw $t3, 0x28($a2) +/* 00437560 012B1826 */ xor $v1, $t1, $t3 +/* 00437564 2C630001 */ sltiu $v1, $v1, 1 +/* 00437568 1060000E */ beqz $v1, .L004375A4 +/* 0043756C 00000000 */ nop +/* 00437570 94EE0022 */ lhu $t6, 0x22($a3) +/* 00437574 94CC0022 */ lhu $t4, 0x22($a2) +/* 00437578 01CC1826 */ xor $v1, $t6, $t4 +/* 0043757C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437580 10600008 */ beqz $v1, .L004375A4 +/* 00437584 00000000 */ nop +/* 00437588 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 0043758C 8CC40000 */ lw $a0, ($a2) +/* 00437590 8CE50000 */ lw $a1, ($a3) +/* 00437594 0320F809 */ jalr $t9 +/* 00437598 00000000 */ nop +/* 0043759C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004375A0 00401825 */ move $v1, $v0 +.L004375A4: +/* 004375A4 100001DC */ b .L00437D18 +/* 004375A8 A3A300BF */ sb $v1, 0xbf($sp) +.L004375AC: +/* 004375AC 90F80021 */ lbu $t8, 0x21($a3) +/* 004375B0 90CD0021 */ lbu $t5, 0x21($a2) +/* 004375B4 330F001F */ andi $t7, $t8, 0x1f +/* 004375B8 31B9001F */ andi $t9, $t5, 0x1f +/* 004375BC 01F91826 */ xor $v1, $t7, $t9 +/* 004375C0 2C630001 */ sltiu $v1, $v1, 1 +/* 004375C4 10600025 */ beqz $v1, .L0043765C +/* 004375C8 00000000 */ nop +/* 004375CC 8CEA002C */ lw $t2, 0x2c($a3) +/* 004375D0 8CC8002C */ lw $t0, 0x2c($a2) +/* 004375D4 01481826 */ xor $v1, $t2, $t0 +/* 004375D8 2C630001 */ sltiu $v1, $v1, 1 +/* 004375DC 1060001F */ beqz $v1, .L0043765C +/* 004375E0 00000000 */ nop +/* 004375E4 8CE90028 */ lw $t1, 0x28($a3) +/* 004375E8 8CCB0028 */ lw $t3, 0x28($a2) +/* 004375EC 012B1826 */ xor $v1, $t1, $t3 +/* 004375F0 2C630001 */ sltiu $v1, $v1, 1 +/* 004375F4 10600019 */ beqz $v1, .L0043765C +/* 004375F8 00000000 */ nop +/* 004375FC 94EE0022 */ lhu $t6, 0x22($a3) +/* 00437600 94CC0022 */ lhu $t4, 0x22($a2) +/* 00437604 01CC1826 */ xor $v1, $t6, $t4 +/* 00437608 2C630001 */ sltiu $v1, $v1, 1 +/* 0043760C 10600013 */ beqz $v1, .L0043765C +/* 00437610 00000000 */ nop +/* 00437614 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437618 8CC40000 */ lw $a0, ($a2) +/* 0043761C 8CE50000 */ lw $a1, ($a3) +/* 00437620 AFA600C0 */ sw $a2, 0xc0($sp) +/* 00437624 0320F809 */ jalr $t9 +/* 00437628 AFA700C4 */ sw $a3, 0xc4($sp) +/* 0043762C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437630 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00437634 8FA700C4 */ lw $a3, 0xc4($sp) +/* 00437638 10400008 */ beqz $v0, .L0043765C +/* 0043763C 00401825 */ move $v1, $v0 +/* 00437640 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437644 8CC40004 */ lw $a0, 4($a2) +/* 00437648 8CE50004 */ lw $a1, 4($a3) +/* 0043764C 0320F809 */ jalr $t9 +/* 00437650 00000000 */ nop +/* 00437654 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437658 00401825 */ move $v1, $v0 +.L0043765C: +/* 0043765C 100001AE */ b .L00437D18 +/* 00437660 A3A300BF */ sb $v1, 0xbf($sp) +.L00437664: +/* 00437664 90E20021 */ lbu $v0, 0x21($a3) +/* 00437668 90C40021 */ lbu $a0, 0x21($a2) +/* 0043766C 3058001F */ andi $t8, $v0, 0x1f +/* 00437670 308D001F */ andi $t5, $a0, 0x1f +/* 00437674 030D1826 */ xor $v1, $t8, $t5 +/* 00437678 2C630001 */ sltiu $v1, $v1, 1 +/* 0043767C 10600027 */ beqz $v1, .L0043771C +/* 00437680 00027E00 */ sll $t7, $v0, 0x18 +/* 00437684 00045600 */ sll $t2, $a0, 0x18 +/* 00437688 000A4742 */ srl $t0, $t2, 0x1d +/* 0043768C 000FCF42 */ srl $t9, $t7, 0x1d +/* 00437690 03281826 */ xor $v1, $t9, $t0 +/* 00437694 2C630001 */ sltiu $v1, $v1, 1 +/* 00437698 10600020 */ beqz $v1, .L0043771C +/* 0043769C 00000000 */ nop +/* 004376A0 8CE90024 */ lw $t1, 0x24($a3) +/* 004376A4 8CCB0024 */ lw $t3, 0x24($a2) +/* 004376A8 012B1826 */ xor $v1, $t1, $t3 +/* 004376AC 2C630001 */ sltiu $v1, $v1, 1 +/* 004376B0 1060001A */ beqz $v1, .L0043771C +/* 004376B4 00000000 */ nop +/* 004376B8 8CEE002C */ lw $t6, 0x2c($a3) +/* 004376BC 8CCC002C */ lw $t4, 0x2c($a2) +/* 004376C0 01CC1826 */ xor $v1, $t6, $t4 +/* 004376C4 2C630001 */ sltiu $v1, $v1, 1 +/* 004376C8 10600014 */ beqz $v1, .L0043771C +/* 004376CC 00000000 */ nop +/* 004376D0 8CF80028 */ lw $t8, 0x28($a3) +/* 004376D4 8CCD0028 */ lw $t5, 0x28($a2) +/* 004376D8 030D1826 */ xor $v1, $t8, $t5 +/* 004376DC 2C630001 */ sltiu $v1, $v1, 1 +/* 004376E0 1060000E */ beqz $v1, .L0043771C +/* 004376E4 00000000 */ nop +/* 004376E8 94EF0022 */ lhu $t7, 0x22($a3) +/* 004376EC 94CA0022 */ lhu $t2, 0x22($a2) +/* 004376F0 01EA1826 */ xor $v1, $t7, $t2 +/* 004376F4 2C630001 */ sltiu $v1, $v1, 1 +/* 004376F8 10600008 */ beqz $v1, .L0043771C +/* 004376FC 00000000 */ nop +/* 00437700 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437704 8CC40000 */ lw $a0, ($a2) +/* 00437708 8CE50000 */ lw $a1, ($a3) +/* 0043770C 0320F809 */ jalr $t9 +/* 00437710 00000000 */ nop +/* 00437714 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437718 00401825 */ move $v1, $v0 +.L0043771C: +/* 0043771C 1000017E */ b .L00437D18 +/* 00437720 A3A300BF */ sb $v1, 0xbf($sp) +.L00437724: +/* 00437724 90E20021 */ lbu $v0, 0x21($a3) +/* 00437728 90C40021 */ lbu $a0, 0x21($a2) +/* 0043772C 3059001F */ andi $t9, $v0, 0x1f +/* 00437730 3088001F */ andi $t0, $a0, 0x1f +/* 00437734 03281826 */ xor $v1, $t9, $t0 +/* 00437738 2C630001 */ sltiu $v1, $v1, 1 +/* 0043773C 10600032 */ beqz $v1, .L00437808 +/* 00437740 00024E00 */ sll $t1, $v0, 0x18 +/* 00437744 00047600 */ sll $t6, $a0, 0x18 +/* 00437748 000E6742 */ srl $t4, $t6, 0x1d +/* 0043774C 00095F42 */ srl $t3, $t1, 0x1d +/* 00437750 016C1826 */ xor $v1, $t3, $t4 +/* 00437754 2C630001 */ sltiu $v1, $v1, 1 +/* 00437758 1060002B */ beqz $v1, .L00437808 +/* 0043775C 00000000 */ nop +/* 00437760 8CF80024 */ lw $t8, 0x24($a3) +/* 00437764 8CCD0024 */ lw $t5, 0x24($a2) +/* 00437768 030D1826 */ xor $v1, $t8, $t5 +/* 0043776C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437770 10600025 */ beqz $v1, .L00437808 +/* 00437774 00000000 */ nop +/* 00437778 8CEF002C */ lw $t7, 0x2c($a3) +/* 0043777C 8CCA002C */ lw $t2, 0x2c($a2) +/* 00437780 01EA1826 */ xor $v1, $t7, $t2 +/* 00437784 2C630001 */ sltiu $v1, $v1, 1 +/* 00437788 1060001F */ beqz $v1, .L00437808 +/* 0043778C 00000000 */ nop +/* 00437790 8CF90028 */ lw $t9, 0x28($a3) +/* 00437794 8CC80028 */ lw $t0, 0x28($a2) +/* 00437798 03281826 */ xor $v1, $t9, $t0 +/* 0043779C 2C630001 */ sltiu $v1, $v1, 1 +/* 004377A0 10600019 */ beqz $v1, .L00437808 +/* 004377A4 00000000 */ nop +/* 004377A8 94E90022 */ lhu $t1, 0x22($a3) +/* 004377AC 94CE0022 */ lhu $t6, 0x22($a2) +/* 004377B0 012E1826 */ xor $v1, $t1, $t6 +/* 004377B4 2C630001 */ sltiu $v1, $v1, 1 +/* 004377B8 10600013 */ beqz $v1, .L00437808 +/* 004377BC 00000000 */ nop +/* 004377C0 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004377C4 8CC40000 */ lw $a0, ($a2) +/* 004377C8 8CE50000 */ lw $a1, ($a3) +/* 004377CC AFA600C0 */ sw $a2, 0xc0($sp) +/* 004377D0 0320F809 */ jalr $t9 +/* 004377D4 AFA700C4 */ sw $a3, 0xc4($sp) +/* 004377D8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004377DC 8FA600C0 */ lw $a2, 0xc0($sp) +/* 004377E0 8FA700C4 */ lw $a3, 0xc4($sp) +/* 004377E4 10400008 */ beqz $v0, .L00437808 +/* 004377E8 00401825 */ move $v1, $v0 +/* 004377EC 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004377F0 8CC40004 */ lw $a0, 4($a2) +/* 004377F4 8CE50004 */ lw $a1, 4($a3) +/* 004377F8 0320F809 */ jalr $t9 +/* 004377FC 00000000 */ nop +/* 00437800 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437804 00401825 */ move $v1, $v0 +.L00437808: +/* 00437808 10000143 */ b .L00437D18 +/* 0043780C A3A300BF */ sb $v1, 0xbf($sp) +.L00437810: +/* 00437810 90EB0021 */ lbu $t3, 0x21($a3) +/* 00437814 90CD0021 */ lbu $t5, 0x21($a2) +/* 00437818 000B6600 */ sll $t4, $t3, 0x18 +/* 0043781C 000D7E00 */ sll $t7, $t5, 0x18 +/* 00437820 000F5742 */ srl $t2, $t7, 0x1d +/* 00437824 000CC742 */ srl $t8, $t4, 0x1d +/* 00437828 030A1826 */ xor $v1, $t8, $t2 +/* 0043782C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437830 10600017 */ beqz $v1, .L00437890 +/* 00437834 00000000 */ nop +/* 00437838 8CF90024 */ lw $t9, 0x24($a3) +/* 0043783C 8CC80024 */ lw $t0, 0x24($a2) +/* 00437840 03281826 */ xor $v1, $t9, $t0 +/* 00437844 2C630001 */ sltiu $v1, $v1, 1 +/* 00437848 10600011 */ beqz $v1, .L00437890 +/* 0043784C 00000000 */ nop +/* 00437850 8CE9002C */ lw $t1, 0x2c($a3) +/* 00437854 8CCE002C */ lw $t6, 0x2c($a2) +/* 00437858 012E1826 */ xor $v1, $t1, $t6 +/* 0043785C 2C630001 */ sltiu $v1, $v1, 1 +/* 00437860 1060000B */ beqz $v1, .L00437890 +/* 00437864 00000000 */ nop +/* 00437868 8CEB0028 */ lw $t3, 0x28($a3) +/* 0043786C 8CCC0028 */ lw $t4, 0x28($a2) +/* 00437870 016C1826 */ xor $v1, $t3, $t4 +/* 00437874 2C630001 */ sltiu $v1, $v1, 1 +/* 00437878 10600005 */ beqz $v1, .L00437890 +/* 0043787C 00000000 */ nop +/* 00437880 8CED0030 */ lw $t5, 0x30($a3) +/* 00437884 8CCF0030 */ lw $t7, 0x30($a2) +/* 00437888 01AF1826 */ xor $v1, $t5, $t7 +/* 0043788C 2C630001 */ sltiu $v1, $v1, 1 +.L00437890: +/* 00437890 10000121 */ b .L00437D18 +/* 00437894 A3A300BF */ sb $v1, 0xbf($sp) +.L00437898: +/* 00437898 1000011F */ b .L00437D18 +/* 0043789C A3A000BF */ sb $zero, 0xbf($sp) +.L004378A0: +/* 004378A0 90F80021 */ lbu $t8, 0x21($a3) +/* 004378A4 90D90021 */ lbu $t9, 0x21($a2) +/* 004378A8 330A001F */ andi $t2, $t8, 0x1f +/* 004378AC 3328001F */ andi $t0, $t9, 0x1f +/* 004378B0 01481826 */ xor $v1, $t2, $t0 +/* 004378B4 2C630001 */ sltiu $v1, $v1, 1 +/* 004378B8 10600008 */ beqz $v1, .L004378DC +/* 004378BC 00000000 */ nop +/* 004378C0 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004378C4 8CC40000 */ lw $a0, ($a2) +/* 004378C8 8CE50000 */ lw $a1, ($a3) +/* 004378CC 0320F809 */ jalr $t9 +/* 004378D0 00000000 */ nop +/* 004378D4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004378D8 00401825 */ move $v1, $v0 +.L004378DC: +/* 004378DC 1000010E */ b .L00437D18 +/* 004378E0 A3A300BF */ sb $v1, 0xbf($sp) +.L004378E4: +/* 004378E4 90E90021 */ lbu $t1, 0x21($a3) +.L004378E8: +/* 004378E8 90CB0021 */ lbu $t3, 0x21($a2) +/* 004378EC 312E001F */ andi $t6, $t1, 0x1f +/* 004378F0 316C001F */ andi $t4, $t3, 0x1f +/* 004378F4 01CC1826 */ xor $v1, $t6, $t4 +/* 004378F8 2C630001 */ sltiu $v1, $v1, 1 +/* 004378FC 10600013 */ beqz $v1, .L0043794C +/* 00437900 00000000 */ nop +/* 00437904 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437908 8CC40000 */ lw $a0, ($a2) +/* 0043790C 8CE50000 */ lw $a1, ($a3) +/* 00437910 AFA600C0 */ sw $a2, 0xc0($sp) +/* 00437914 0320F809 */ jalr $t9 +/* 00437918 AFA700C4 */ sw $a3, 0xc4($sp) +/* 0043791C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437920 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00437924 8FA700C4 */ lw $a3, 0xc4($sp) +/* 00437928 10400008 */ beqz $v0, .L0043794C +/* 0043792C 00401825 */ move $v1, $v0 +/* 00437930 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437934 8CC40004 */ lw $a0, 4($a2) +/* 00437938 8CE50004 */ lw $a1, 4($a3) +/* 0043793C 0320F809 */ jalr $t9 +/* 00437940 00000000 */ nop +/* 00437944 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437948 00401825 */ move $v1, $v0 +.L0043794C: +/* 0043794C 100000F2 */ b .L00437D18 +/* 00437950 A3A300BF */ sb $v1, 0xbf($sp) +.L00437954: +/* 00437954 90ED0021 */ lbu $t5, 0x21($a3) +/* 00437958 90D80021 */ lbu $t8, 0x21($a2) +/* 0043795C 31AF001F */ andi $t7, $t5, 0x1f +/* 00437960 3319001F */ andi $t9, $t8, 0x1f +/* 00437964 01F91826 */ xor $v1, $t7, $t9 +/* 00437968 2C630001 */ sltiu $v1, $v1, 1 +/* 0043796C 1060000E */ beqz $v1, .L004379A8 +/* 00437970 00000000 */ nop +/* 00437974 90EA0028 */ lbu $t2, 0x28($a3) +/* 00437978 90C80028 */ lbu $t0, 0x28($a2) +/* 0043797C 01481826 */ xor $v1, $t2, $t0 +/* 00437980 2C630001 */ sltiu $v1, $v1, 1 +/* 00437984 10600008 */ beqz $v1, .L004379A8 +/* 00437988 00000000 */ nop +/* 0043798C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437990 8CC40000 */ lw $a0, ($a2) +/* 00437994 8CE50004 */ lw $a1, 4($a3) +/* 00437998 0320F809 */ jalr $t9 +/* 0043799C 00000000 */ nop +/* 004379A0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004379A4 00401825 */ move $v1, $v0 +.L004379A8: +/* 004379A8 100000DB */ b .L00437D18 +/* 004379AC A3A300BF */ sb $v1, 0xbf($sp) +.L004379B0: +/* 004379B0 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004379B4 8CC40000 */ lw $a0, ($a2) +/* 004379B8 8CE50000 */ lw $a1, ($a3) +/* 004379BC 0320F809 */ jalr $t9 +/* 004379C0 00000000 */ nop +/* 004379C4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004379C8 100000D3 */ b .L00437D18 +/* 004379CC A3A200BF */ sb $v0, 0xbf($sp) +.L004379D0: +/* 004379D0 90E90021 */ lbu $t1, 0x21($a3) +/* 004379D4 90CE0021 */ lbu $t6, 0x21($a2) +/* 004379D8 312B001F */ andi $t3, $t1, 0x1f +/* 004379DC 31CC001F */ andi $t4, $t6, 0x1f +/* 004379E0 016C1826 */ xor $v1, $t3, $t4 +/* 004379E4 2C630001 */ sltiu $v1, $v1, 1 +/* 004379E8 1060000E */ beqz $v1, .L00437A24 +/* 004379EC 00000000 */ nop +/* 004379F0 8CED0028 */ lw $t5, 0x28($a3) +/* 004379F4 8CD80028 */ lw $t8, 0x28($a2) +/* 004379F8 01B81826 */ xor $v1, $t5, $t8 +/* 004379FC 2C630001 */ sltiu $v1, $v1, 1 +/* 00437A00 10600008 */ beqz $v1, .L00437A24 +/* 00437A04 00000000 */ nop +/* 00437A08 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437A0C 8CC40000 */ lw $a0, ($a2) +/* 00437A10 8CE50000 */ lw $a1, ($a3) +/* 00437A14 0320F809 */ jalr $t9 +/* 00437A18 00000000 */ nop +/* 00437A1C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437A20 00401825 */ move $v1, $v0 +.L00437A24: +/* 00437A24 100000BC */ b .L00437D18 +/* 00437A28 A3A300BF */ sb $v1, 0xbf($sp) +.L00437A2C: +/* 00437A2C 8CEF0024 */ lw $t7, 0x24($a3) +/* 00437A30 8CD90024 */ lw $t9, 0x24($a2) +/* 00437A34 01F91826 */ xor $v1, $t7, $t9 +/* 00437A38 2C630001 */ sltiu $v1, $v1, 1 +/* 00437A3C 10600019 */ beqz $v1, .L00437AA4 +/* 00437A40 00000000 */ nop +/* 00437A44 8CEA0028 */ lw $t2, 0x28($a3) +/* 00437A48 8CC80028 */ lw $t0, 0x28($a2) +/* 00437A4C 01481826 */ xor $v1, $t2, $t0 +/* 00437A50 2C630001 */ sltiu $v1, $v1, 1 +/* 00437A54 10600013 */ beqz $v1, .L00437AA4 +/* 00437A58 00000000 */ nop +/* 00437A5C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437A60 8CC40000 */ lw $a0, ($a2) +/* 00437A64 8CE50000 */ lw $a1, ($a3) +/* 00437A68 AFA600C0 */ sw $a2, 0xc0($sp) +/* 00437A6C 0320F809 */ jalr $t9 +/* 00437A70 AFA700C4 */ sw $a3, 0xc4($sp) +/* 00437A74 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437A78 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00437A7C 8FA700C4 */ lw $a3, 0xc4($sp) +/* 00437A80 10400008 */ beqz $v0, .L00437AA4 +/* 00437A84 00401825 */ move $v1, $v0 +/* 00437A88 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00437A8C 8CC40004 */ lw $a0, 4($a2) +/* 00437A90 8CE50004 */ lw $a1, 4($a3) +/* 00437A94 0320F809 */ jalr $t9 +/* 00437A98 00000000 */ nop +/* 00437A9C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00437AA0 00401825 */ move $v1, $v0 +.L00437AA4: +/* 00437AA4 1000009C */ b .L00437D18 +/* 00437AA8 A3A300BF */ sb $v1, 0xbf($sp) +.L00437AAC: +/* 00437AAC 1000009A */ b .L00437D18 +/* 00437AB0 A3A000BF */ sb $zero, 0xbf($sp) +.L00437AB4: +/* 00437AB4 24090001 */ li $t1, 1 +/* 00437AB8 10000097 */ b .L00437D18 +/* 00437ABC A3A900BF */ sb $t1, 0xbf($sp) +.L00437AC0: +/* 00437AC0 2C41001E */ sltiu $at, $v0, 0x1e +/* 00437AC4 14200018 */ bnez $at, .L00437B28 +/* 00437AC8 2C410080 */ sltiu $at, $v0, 0x80 +/* 00437ACC 14200008 */ bnez $at, .L00437AF0 +/* 00437AD0 2C41008E */ sltiu $at, $v0, 0x8e +/* 00437AD4 14200086 */ bnez $at, .L00437CF0 +/* 00437AD8 2458FF7A */ addiu $t8, $v0, -0x86 +/* 00437ADC 24010097 */ li $at, 151 +/* 00437AE0 5041FE20 */ beql $v0, $at, .L00437364 +/* 00437AE4 90EB0021 */ lbu $t3, 0x21($a3) +/* 00437AE8 10000038 */ b .L00437BCC +/* 00437AEC 00000000 */ nop +.L00437AF0: +/* 00437AF0 2C410075 */ sltiu $at, $v0, 0x75 +/* 00437AF4 10200074 */ beqz $at, .L00437CC8 +/* 00437AF8 2448FF85 */ addiu $t0, $v0, -0x7b +/* 00437AFC 244EFFDD */ addiu $t6, $v0, -0x23 +/* 00437B00 2DC10052 */ sltiu $at, $t6, 0x52 +/* 00437B04 10200031 */ beqz $at, .L00437BCC +/* 00437B08 00000000 */ nop +/* 00437B0C 8F818038 */ lw $at, %got(jtbl_1000B3AC)($gp) +/* 00437B10 000E7080 */ sll $t6, $t6, 2 +/* 00437B14 002E0821 */ addu $at, $at, $t6 +/* 00437B18 8C2EB3AC */ lw $t6, %lo(jtbl_1000B3AC)($at) +/* 00437B1C 01DC7021 */ addu $t6, $t6, $gp +/* 00437B20 01C00008 */ jr $t6 +/* 00437B24 00000000 */ nop +.L00437B28: +/* 00437B28 2C410012 */ sltiu $at, $v0, 0x12 +/* 00437B2C 1420000D */ bnez $at, .L00437B64 +/* 00437B30 2C410019 */ sltiu $at, $v0, 0x19 +/* 00437B34 10200022 */ beqz $at, .L00437BC0 +/* 00437B38 244BFFE9 */ addiu $t3, $v0, -0x17 +/* 00437B3C 2D610002 */ sltiu $at, $t3, 2 +/* 00437B40 10200022 */ beqz $at, .L00437BCC +/* 00437B44 00000000 */ nop +/* 00437B48 8F818038 */ lw $at, %got(jtbl_1000B3A4)($gp) +/* 00437B4C 000B5880 */ sll $t3, $t3, 2 +/* 00437B50 002B0821 */ addu $at, $at, $t3 +/* 00437B54 8C2BB3A4 */ lw $t3, %lo(jtbl_1000B3A4)($at) +/* 00437B58 017C5821 */ addu $t3, $t3, $gp +/* 00437B5C 01600008 */ jr $t3 +/* 00437B60 00000000 */ nop +.L00437B64: +/* 00437B64 2C410005 */ sltiu $at, $v0, 5 +/* 00437B68 1020000B */ beqz $at, .L00437B98 +/* 00437B6C 244DFFF6 */ addiu $t5, $v0, -0xa +/* 00437B70 2C410005 */ sltiu $at, $v0, 5 +/* 00437B74 10200015 */ beqz $at, .L00437BCC +/* 00437B78 00000000 */ nop +/* 00437B7C 8F818038 */ lw $at, %got(jtbl_1000B370)($gp) +/* 00437B80 00026080 */ sll $t4, $v0, 2 +/* 00437B84 002C0821 */ addu $at, $at, $t4 +/* 00437B88 8C2CB370 */ lw $t4, %lo(jtbl_1000B370)($at) +/* 00437B8C 019C6021 */ addu $t4, $t4, $gp +/* 00437B90 01800008 */ jr $t4 +/* 00437B94 00000000 */ nop +.L00437B98: +/* 00437B98 2DA10008 */ sltiu $at, $t5, 8 +/* 00437B9C 1020000B */ beqz $at, .L00437BCC +/* 00437BA0 00000000 */ nop +/* 00437BA4 8F818038 */ lw $at, %got(jtbl_1000B384)($gp) +/* 00437BA8 000D6880 */ sll $t5, $t5, 2 +/* 00437BAC 002D0821 */ addu $at, $at, $t5 +/* 00437BB0 8C2DB384 */ lw $t5, %lo(jtbl_1000B384)($at) +/* 00437BB4 01BC6821 */ addu $t5, $t5, $gp +/* 00437BB8 01A00008 */ jr $t5 +/* 00437BBC 00000000 */ nop +.L00437BC0: +/* 00437BC0 2401001D */ li $at, 29 +/* 00437BC4 5041FF48 */ beql $v0, $at, .L004378E8 +/* 00437BC8 90E90021 */ lbu $t1, 0x21($a3) +.L00437BCC: +/* 00437BCC 8F988038 */ lw $t8, %got(RO_1000B320)($gp) +/* 00437BD0 24040004 */ li $a0, 4 +/* 00437BD4 240500F7 */ li $a1, 247 +/* 00437BD8 2718B320 */ addiu $t8, %lo(RO_1000B320) # addiu $t8, $t8, -0x4ce0 +/* 00437BDC 27080048 */ addiu $t0, $t8, 0x48 +/* 00437BE0 03A05025 */ move $t2, $sp +.L00437BE4: +/* 00437BE4 8B190000 */ lwl $t9, ($t8) +/* 00437BE8 9B190003 */ lwr $t9, 3($t8) +/* 00437BEC 2718000C */ addiu $t8, $t8, 0xc +/* 00437BF0 254A000C */ addiu $t2, $t2, 0xc +/* 00437BF4 A959FFFC */ swl $t9, -4($t2) +/* 00437BF8 B959FFFF */ swr $t9, -1($t2) +/* 00437BFC 8B0FFFF8 */ lwl $t7, -8($t8) +/* 00437C00 9B0FFFFB */ lwr $t7, -5($t8) +/* 00437C04 A94F0000 */ swl $t7, ($t2) +/* 00437C08 B94F0003 */ swr $t7, 3($t2) +/* 00437C0C 8B19FFFC */ lwl $t9, -4($t8) +/* 00437C10 9B19FFFF */ lwr $t9, -1($t8) +/* 00437C14 A9590004 */ swl $t9, 4($t2) +/* 00437C18 1708FFF2 */ bne $t8, $t0, .L00437BE4 +/* 00437C1C B9590007 */ swr $t9, 7($t2) +/* 00437C20 8B190000 */ lwl $t9, ($t8) +/* 00437C24 9B190003 */ lwr $t9, 3($t8) +/* 00437C28 8F898038 */ lw $t1, %got(RO_1000B2D0)($gp) +/* 00437C2C 03A06025 */ move $t4, $sp +/* 00437C30 A9590008 */ swl $t9, 8($t2) +/* 00437C34 B959000B */ swr $t9, 0xb($t2) +/* 00437C38 8B0F0004 */ lwl $t7, 4($t8) +/* 00437C3C 9B0F0007 */ lwr $t7, 7($t8) +/* 00437C40 2529B2D0 */ addiu $t1, %lo(RO_1000B2D0) # addiu $t1, $t1, -0x4d30 +/* 00437C44 252D0048 */ addiu $t5, $t1, 0x48 +/* 00437C48 A94F000C */ swl $t7, 0xc($t2) +/* 00437C4C B94F000F */ swr $t7, 0xf($t2) +.L00437C50: +/* 00437C50 892B0000 */ lwl $t3, ($t1) +/* 00437C54 992B0003 */ lwr $t3, 3($t1) +/* 00437C58 2529000C */ addiu $t1, $t1, 0xc +/* 00437C5C 258C000C */ addiu $t4, $t4, 0xc +/* 00437C60 A98B004C */ swl $t3, 0x4c($t4) +/* 00437C64 B98B004F */ swr $t3, 0x4f($t4) +/* 00437C68 892EFFF8 */ lwl $t6, -8($t1) +/* 00437C6C 992EFFFB */ lwr $t6, -5($t1) +/* 00437C70 A98E0050 */ swl $t6, 0x50($t4) +/* 00437C74 B98E0053 */ swr $t6, 0x53($t4) +/* 00437C78 892BFFFC */ lwl $t3, -4($t1) +/* 00437C7C 992BFFFF */ lwr $t3, -1($t1) +/* 00437C80 A98B0054 */ swl $t3, 0x54($t4) +/* 00437C84 152DFFF2 */ bne $t1, $t5, .L00437C50 +/* 00437C88 B98B0057 */ swr $t3, 0x57($t4) +/* 00437C8C 892B0000 */ lwl $t3, ($t1) +/* 00437C90 992B0003 */ lwr $t3, 3($t1) +/* 00437C94 A98B0058 */ swl $t3, 0x58($t4) +/* 00437C98 B98B005B */ swr $t3, 0x5b($t4) +/* 00437C9C 892E0004 */ lwl $t6, 4($t1) +/* 00437CA0 992E0007 */ lwr $t6, 7($t1) +/* 00437CA4 A98E005C */ swl $t6, 0x5c($t4) +/* 00437CA8 B98E005F */ swr $t6, 0x5f($t4) +/* 00437CAC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00437CB0 8FA7000C */ lw $a3, 0xc($sp) +/* 00437CB4 8FA60008 */ lw $a2, 8($sp) +/* 00437CB8 0320F809 */ jalr $t9 +/* 00437CBC 00000000 */ nop +/* 00437CC0 10000015 */ b .L00437D18 +/* 00437CC4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00437CC8: +/* 00437CC8 2D010005 */ sltiu $at, $t0, 5 +/* 00437CCC 1020FFBF */ beqz $at, .L00437BCC +/* 00437CD0 00000000 */ nop +/* 00437CD4 8F818038 */ lw $at, %got(jtbl_1000B4F4)($gp) +/* 00437CD8 00084080 */ sll $t0, $t0, 2 +/* 00437CDC 00280821 */ addu $at, $at, $t0 +/* 00437CE0 8C28B4F4 */ lw $t0, %lo(jtbl_1000B4F4)($at) +/* 00437CE4 011C4021 */ addu $t0, $t0, $gp +/* 00437CE8 01000008 */ jr $t0 +/* 00437CEC 00000000 */ nop +.L00437CF0: +/* 00437CF0 2F010008 */ sltiu $at, $t8, 8 +/* 00437CF4 1020FFB5 */ beqz $at, .L00437BCC +/* 00437CF8 00000000 */ nop +/* 00437CFC 8F818038 */ lw $at, %got(jtbl_1000B508)($gp) +/* 00437D00 0018C080 */ sll $t8, $t8, 2 +/* 00437D04 00380821 */ addu $at, $at, $t8 +/* 00437D08 8C38B508 */ lw $t8, %lo(jtbl_1000B508)($at) +/* 00437D0C 031CC021 */ addu $t8, $t8, $gp +/* 00437D10 03000008 */ jr $t8 +/* 00437D14 00000000 */ nop +.L00437D18: +/* 00437D18 8F838AEC */ lw $v1, %got(pay)($gp) +/* 00437D1C 8FAF00B8 */ lw $t7, 0xb8($sp) +/* 00437D20 93A200BF */ lbu $v0, 0xbf($sp) +/* 00437D24 8C6A0000 */ lw $t2, ($v1) +/* 00437D28 014FC821 */ addu $t9, $t2, $t7 +/* 00437D2C AC790000 */ sw $t9, ($v1) +.L00437D30: +/* 00437D30 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00437D34 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00437D38 03E00008 */ jr $ra +/* 00437D3C 00000000 */ nop + .type cmp_tree, @function + .size cmp_tree, .-cmp_tree + .end cmp_tree + +glabel cmp_tree_again + .ent cmp_tree_again + # 00437D40 cmp_tree_again + # 00438320 match_uconds + # 004387D8 match_conds +/* 00437D40 3C1C0FBE */ .cpload $t9 +/* 00437D44 279C7D10 */ +/* 00437D48 0399E021 */ +/* 00437D4C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00437D50 AFB100B4 */ sw $s1, 0xb4($sp) +/* 00437D54 AFB000B0 */ sw $s0, 0xb0($sp) +/* 00437D58 00A08025 */ move $s0, $a1 +/* 00437D5C 00808825 */ move $s1, $a0 +/* 00437D60 AFBF00BC */ sw $ra, 0xbc($sp) +/* 00437D64 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 00437D68 24060042 */ li $a2, 66 +.L00437D6C: +/* 00437D6C 92230020 */ lbu $v1, 0x20($s1) +/* 00437D70 54C30010 */ bnel $a2, $v1, .L00437DB4 +/* 00437D74 96180014 */ lhu $t8, 0x14($s0) +/* 00437D78 920E0020 */ lbu $t6, 0x20($s0) +/* 00437D7C 02001025 */ move $v0, $s0 +/* 00437D80 14CE0009 */ bne $a2, $t6, .L00437DA8 +/* 00437D84 00000000 */ nop +.L00437D88: +/* 00437D88 54510004 */ bnel $v0, $s1, .L00437D9C +/* 00437D8C 8C42000C */ lw $v0, 0xc($v0) +/* 00437D90 100000D1 */ b .L004380D8 +/* 00437D94 24020001 */ li $v0, 1 +/* 00437D98 8C42000C */ lw $v0, 0xc($v0) +.L00437D9C: +/* 00437D9C 904F0020 */ lbu $t7, 0x20($v0) +/* 00437DA0 10CFFFF9 */ beq $a2, $t7, .L00437D88 +/* 00437DA4 00000000 */ nop +.L00437DA8: +/* 00437DA8 100000CB */ b .L004380D8 +/* 00437DAC 00001025 */ move $v0, $zero +/* 00437DB0 96180014 */ lhu $t8, 0x14($s0) +.L00437DB4: +/* 00437DB4 9219001A */ lbu $t9, 0x1a($s0) +/* 00437DB8 13190003 */ beq $t8, $t9, .L00437DC8 +/* 00437DBC 00000000 */ nop +/* 00437DC0 100000C5 */ b .L004380D8 +/* 00437DC4 00001025 */ move $v0, $zero +.L00437DC8: +/* 00437DC8 1000005F */ b .L00437F48 +/* 00437DCC 306200FF */ andi $v0, $v1, 0xff +.L00437DD0: +/* 00437DD0 100000C1 */ b .L004380D8 +/* 00437DD4 24020001 */ li $v0, 1 +.L00437DD8: +/* 00437DD8 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 00437DDC 8E240000 */ lw $a0, ($s1) +/* 00437DE0 8E050000 */ lw $a1, ($s0) +/* 00437DE4 0320F809 */ jalr $t9 +/* 00437DE8 00000000 */ nop +/* 00437DEC 100000BA */ b .L004380D8 +/* 00437DF0 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00437DF4: +/* 00437DF4 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 00437DF8 8E240004 */ lw $a0, 4($s1) +/* 00437DFC 8E050004 */ lw $a1, 4($s0) +/* 00437E00 0320F809 */ jalr $t9 +/* 00437E04 00000000 */ nop +/* 00437E08 100000B3 */ b .L004380D8 +/* 00437E0C 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00437E10: +/* 00437E10 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 00437E14 8E240000 */ lw $a0, ($s1) +/* 00437E18 8E050000 */ lw $a1, ($s0) +/* 00437E1C 0320F809 */ jalr $t9 +/* 00437E20 00000000 */ nop +/* 00437E24 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00437E28 24060042 */ li $a2, 66 +/* 00437E2C 10400004 */ beqz $v0, .L00437E40 +/* 00437E30 00401825 */ move $v1, $v0 +/* 00437E34 8E310004 */ lw $s1, 4($s1) +/* 00437E38 1000FFCC */ b .L00437D6C +/* 00437E3C 8E100004 */ lw $s0, 4($s0) +.L00437E40: +/* 00437E40 100000A5 */ b .L004380D8 +/* 00437E44 00601025 */ move $v0, $v1 +.L00437E48: +/* 00437E48 8F888038 */ lw $t0, %got(RO_1000B578)($gp) +/* 00437E4C 24040004 */ li $a0, 4 +/* 00437E50 2405012B */ li $a1, 299 +/* 00437E54 2508B578 */ addiu $t0, %lo(RO_1000B578) # addiu $t0, $t0, -0x4a88 +/* 00437E58 250C0048 */ addiu $t4, $t0, 0x48 +/* 00437E5C 03A05825 */ move $t3, $sp +.L00437E60: +/* 00437E60 890A0000 */ lwl $t2, ($t0) +/* 00437E64 990A0003 */ lwr $t2, 3($t0) +/* 00437E68 2508000C */ addiu $t0, $t0, 0xc +/* 00437E6C 256B000C */ addiu $t3, $t3, 0xc +/* 00437E70 A96AFFFC */ swl $t2, -4($t3) +/* 00437E74 B96AFFFF */ swr $t2, -1($t3) +/* 00437E78 8909FFF8 */ lwl $t1, -8($t0) +/* 00437E7C 9909FFFB */ lwr $t1, -5($t0) +/* 00437E80 A9690000 */ swl $t1, ($t3) +/* 00437E84 B9690003 */ swr $t1, 3($t3) +/* 00437E88 890AFFFC */ lwl $t2, -4($t0) +/* 00437E8C 990AFFFF */ lwr $t2, -1($t0) +/* 00437E90 A96A0004 */ swl $t2, 4($t3) +/* 00437E94 150CFFF2 */ bne $t0, $t4, .L00437E60 +/* 00437E98 B96A0007 */ swr $t2, 7($t3) +/* 00437E9C 890A0000 */ lwl $t2, ($t0) +/* 00437EA0 990A0003 */ lwr $t2, 3($t0) +/* 00437EA4 8F8D8038 */ lw $t5, %got(RO_1000B528)($gp) +/* 00437EA8 03A0C025 */ move $t8, $sp +/* 00437EAC A96A0008 */ swl $t2, 8($t3) +/* 00437EB0 B96A000B */ swr $t2, 0xb($t3) +/* 00437EB4 89090004 */ lwl $t1, 4($t0) +/* 00437EB8 99090007 */ lwr $t1, 7($t0) +/* 00437EBC 25ADB528 */ addiu $t5, %lo(RO_1000B528) # addiu $t5, $t5, -0x4ad8 +/* 00437EC0 25B90048 */ addiu $t9, $t5, 0x48 +/* 00437EC4 A969000C */ swl $t1, 0xc($t3) +/* 00437EC8 B969000F */ swr $t1, 0xf($t3) +.L00437ECC: +/* 00437ECC 89AF0000 */ lwl $t7, ($t5) +/* 00437ED0 99AF0003 */ lwr $t7, 3($t5) +/* 00437ED4 25AD000C */ addiu $t5, $t5, 0xc +/* 00437ED8 2718000C */ addiu $t8, $t8, 0xc +/* 00437EDC AB0F004C */ swl $t7, 0x4c($t8) +/* 00437EE0 BB0F004F */ swr $t7, 0x4f($t8) +/* 00437EE4 89AEFFF8 */ lwl $t6, -8($t5) +/* 00437EE8 99AEFFFB */ lwr $t6, -5($t5) +/* 00437EEC AB0E0050 */ swl $t6, 0x50($t8) +/* 00437EF0 BB0E0053 */ swr $t6, 0x53($t8) +/* 00437EF4 89AFFFFC */ lwl $t7, -4($t5) +/* 00437EF8 99AFFFFF */ lwr $t7, -1($t5) +/* 00437EFC AB0F0054 */ swl $t7, 0x54($t8) +/* 00437F00 15B9FFF2 */ bne $t5, $t9, .L00437ECC +/* 00437F04 BB0F0057 */ swr $t7, 0x57($t8) +/* 00437F08 89AF0000 */ lwl $t7, ($t5) +/* 00437F0C 99AF0003 */ lwr $t7, 3($t5) +/* 00437F10 AB0F0058 */ swl $t7, 0x58($t8) +/* 00437F14 BB0F005B */ swr $t7, 0x5b($t8) +/* 00437F18 89AE0004 */ lwl $t6, 4($t5) +/* 00437F1C 99AE0007 */ lwr $t6, 7($t5) +/* 00437F20 AB0E005C */ swl $t6, 0x5c($t8) +/* 00437F24 BB0E005F */ swr $t6, 0x5f($t8) +/* 00437F28 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00437F2C 8FA7000C */ lw $a3, 0xc($sp) +/* 00437F30 8FA60008 */ lw $a2, 8($sp) +/* 00437F34 0320F809 */ jalr $t9 +/* 00437F38 00000000 */ nop +/* 00437F3C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00437F40 10000065 */ b .L004380D8 +/* 00437F44 00001025 */ move $v0, $zero +.L00437F48: +/* 00437F48 2C410040 */ sltiu $at, $v0, 0x40 +/* 00437F4C 1420001A */ bnez $at, .L00437FB8 +/* 00437F50 2C410089 */ sltiu $at, $v0, 0x89 +/* 00437F54 14200008 */ bnez $at, .L00437F78 +/* 00437F58 2401008D */ li $at, 141 +/* 00437F5C 1041FFAC */ beq $v0, $at, .L00437E10 +/* 00437F60 00000000 */ nop +/* 00437F64 24010097 */ li $at, 151 +/* 00437F68 1041FF99 */ beq $v0, $at, .L00437DD0 +/* 00437F6C 00000000 */ nop +/* 00437F70 1000FFB5 */ b .L00437E48 +/* 00437F74 00000000 */ nop +.L00437F78: +/* 00437F78 2C410075 */ sltiu $at, $v0, 0x75 +/* 00437F7C 14200041 */ bnez $at, .L00438084 +/* 00437F80 2C410080 */ sltiu $at, $v0, 0x80 +/* 00437F84 1020004A */ beqz $at, .L004380B0 +/* 00437F88 244DFF7A */ addiu $t5, $v0, -0x86 +/* 00437F8C 244CFF85 */ addiu $t4, $v0, -0x7b +/* 00437F90 2D810005 */ sltiu $at, $t4, 5 +/* 00437F94 1020FFAC */ beqz $at, .L00437E48 +/* 00437F98 00000000 */ nop +/* 00437F9C 8F818038 */ lw $at, %got(jtbl_1000B72C)($gp) +/* 00437FA0 000C6080 */ sll $t4, $t4, 2 +/* 00437FA4 002C0821 */ addu $at, $at, $t4 +/* 00437FA8 8C2CB72C */ lw $t4, %lo(jtbl_1000B72C)($at) +/* 00437FAC 019C6021 */ addu $t4, $t4, $gp +/* 00437FB0 01800008 */ jr $t4 +/* 00437FB4 00000000 */ nop +.L00437FB8: +/* 00437FB8 2C410010 */ sltiu $at, $v0, 0x10 +/* 00437FBC 14200010 */ bnez $at, .L00438000 +/* 00437FC0 2C410019 */ sltiu $at, $v0, 0x19 +/* 00437FC4 14200025 */ bnez $at, .L0043805C +/* 00437FC8 244AFFE9 */ addiu $t2, $v0, -0x17 +/* 00437FCC 2401001D */ li $at, 29 +/* 00437FD0 1041FF8F */ beq $v0, $at, .L00437E10 +/* 00437FD4 2448FFDD */ addiu $t0, $v0, -0x23 +/* 00437FD8 2D01001D */ sltiu $at, $t0, 0x1d +/* 00437FDC 1020FF9A */ beqz $at, .L00437E48 +/* 00437FE0 00000000 */ nop +/* 00437FE4 8F818038 */ lw $at, %got(jtbl_1000B5FC)($gp) +/* 00437FE8 00084080 */ sll $t0, $t0, 2 +/* 00437FEC 00280821 */ addu $at, $at, $t0 +/* 00437FF0 8C28B5FC */ lw $t0, %lo(jtbl_1000B5FC)($at) +/* 00437FF4 011C4021 */ addu $t0, $t0, $gp +/* 00437FF8 01000008 */ jr $t0 +/* 00437FFC 00000000 */ nop +.L00438000: +/* 00438000 2C410005 */ sltiu $at, $v0, 5 +/* 00438004 1020000B */ beqz $at, .L00438034 +/* 00438008 2449FFF6 */ addiu $t1, $v0, -0xa +/* 0043800C 2C410005 */ sltiu $at, $v0, 5 +/* 00438010 1020FF8D */ beqz $at, .L00437E48 +/* 00438014 00000000 */ nop +/* 00438018 8F818038 */ lw $at, %got(jtbl_1000B5C8)($gp) +/* 0043801C 00025880 */ sll $t3, $v0, 2 +/* 00438020 002B0821 */ addu $at, $at, $t3 +/* 00438024 8C2BB5C8 */ lw $t3, %lo(jtbl_1000B5C8)($at) +/* 00438028 017C5821 */ addu $t3, $t3, $gp +/* 0043802C 01600008 */ jr $t3 +/* 00438030 00000000 */ nop +.L00438034: +/* 00438034 2D210006 */ sltiu $at, $t1, 6 +/* 00438038 1020FF83 */ beqz $at, .L00437E48 +/* 0043803C 00000000 */ nop +/* 00438040 8F818038 */ lw $at, %got(jtbl_1000B5DC)($gp) +/* 00438044 00094880 */ sll $t1, $t1, 2 +/* 00438048 00290821 */ addu $at, $at, $t1 +/* 0043804C 8C29B5DC */ lw $t1, %lo(jtbl_1000B5DC)($at) +/* 00438050 013C4821 */ addu $t1, $t1, $gp +/* 00438054 01200008 */ jr $t1 +/* 00438058 00000000 */ nop +.L0043805C: +/* 0043805C 2D410002 */ sltiu $at, $t2, 2 +/* 00438060 1020FF79 */ beqz $at, .L00437E48 +/* 00438064 00000000 */ nop +/* 00438068 8F818038 */ lw $at, %got(jtbl_1000B5F4)($gp) +/* 0043806C 000A5080 */ sll $t2, $t2, 2 +/* 00438070 002A0821 */ addu $at, $at, $t2 +/* 00438074 8C2AB5F4 */ lw $t2, %lo(jtbl_1000B5F4)($at) +/* 00438078 015C5021 */ addu $t2, $t2, $gp +/* 0043807C 01400008 */ jr $t2 +/* 00438080 00000000 */ nop +.L00438084: +/* 00438084 2459FFBA */ addiu $t9, $v0, -0x46 +/* 00438088 2F21002F */ sltiu $at, $t9, 0x2f +/* 0043808C 1020FF6E */ beqz $at, .L00437E48 +/* 00438090 00000000 */ nop +/* 00438094 8F818038 */ lw $at, %got(jtbl_1000B670)($gp) +/* 00438098 0019C880 */ sll $t9, $t9, 2 +/* 0043809C 00390821 */ addu $at, $at, $t9 +/* 004380A0 8C39B670 */ lw $t9, %lo(jtbl_1000B670)($at) +/* 004380A4 033CC821 */ addu $t9, $t9, $gp +/* 004380A8 03200008 */ jr $t9 +/* 004380AC 00000000 */ nop +.L004380B0: +/* 004380B0 2DA10003 */ sltiu $at, $t5, 3 +/* 004380B4 1020FF64 */ beqz $at, .L00437E48 +/* 004380B8 00000000 */ nop +/* 004380BC 8F818038 */ lw $at, %got(jtbl_1000B740)($gp) +/* 004380C0 000D6880 */ sll $t5, $t5, 2 +/* 004380C4 002D0821 */ addu $at, $at, $t5 +/* 004380C8 8C2DB740 */ lw $t5, %lo(jtbl_1000B740)($at) +/* 004380CC 01BC6821 */ addu $t5, $t5, $gp +/* 004380D0 01A00008 */ jr $t5 +/* 004380D4 00000000 */ nop +.L004380D8: +/* 004380D8 8FBF00BC */ lw $ra, 0xbc($sp) +/* 004380DC 8FB000B0 */ lw $s0, 0xb0($sp) +/* 004380E0 8FB100B4 */ lw $s1, 0xb4($sp) +/* 004380E4 03E00008 */ jr $ra +/* 004380E8 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type cmp_tree_again, @function + .size cmp_tree_again, .-cmp_tree_again + .end cmp_tree_again + +glabel move_label + .ent move_label + # 00438320 match_uconds + # 004387D8 match_conds +/* 004380EC 3C1C0FBE */ .cpload $t9 +/* 004380F0 279C7964 */ +/* 004380F4 0399E021 */ +/* 004380F8 8C8E0008 */ lw $t6, 8($a0) +/* 004380FC 8C8F000C */ lw $t7, 0xc($a0) +/* 00438100 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00438104 AFBF001C */ sw $ra, 0x1c($sp) +/* 00438108 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043810C ADEE0008 */ sw $t6, 8($t7) +/* 00438110 8C990008 */ lw $t9, 8($a0) +/* 00438114 8C98000C */ lw $t8, 0xc($a0) +/* 00438118 AF38000C */ sw $t8, 0xc($t9) +/* 0043811C 8F998440 */ lw $t9, %call16(insert)($gp) +/* 00438120 0320F809 */ jalr $t9 +/* 00438124 00000000 */ nop +/* 00438128 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043812C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00438130 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00438134 03E00008 */ jr $ra +/* 00438138 00000000 */ nop + .type move_label, @function + .size move_label, .-move_label + .end move_label + +glabel get_prior_stm + .ent get_prior_stm + # 00438320 match_uconds + # 004387D8 match_conds +/* 0043813C 3C1C0FBE */ .cpload $t9 +/* 00438140 279C7914 */ +/* 00438144 0399E021 */ +/* 00438148 8C84000C */ lw $a0, 0xc($a0) +/* 0043814C 8F8288E8 */ lw $v0, %got(not_real_stms)($gp) +/* 00438150 908E0020 */ lbu $t6, 0x20($a0) +/* 00438154 2DCF00A0 */ sltiu $t7, $t6, 0xa0 +/* 00438158 11E00006 */ beqz $t7, .L00438174 +/* 0043815C 000EC143 */ sra $t8, $t6, 5 +/* 00438160 0018C880 */ sll $t9, $t8, 2 +/* 00438164 00594021 */ addu $t0, $v0, $t9 +/* 00438168 8D090000 */ lw $t1, ($t0) +/* 0043816C 01C95004 */ sllv $t2, $t1, $t6 +/* 00438170 294F0000 */ slti $t7, $t2, 0 +.L00438174: +/* 00438174 11E0000D */ beqz $t7, .L004381AC +/* 00438178 00000000 */ nop +/* 0043817C 8C84000C */ lw $a0, 0xc($a0) +.L00438180: +/* 00438180 908C0020 */ lbu $t4, 0x20($a0) +/* 00438184 2D8D00A0 */ sltiu $t5, $t4, 0xa0 +/* 00438188 11A00006 */ beqz $t5, .L004381A4 +/* 0043818C 000CC143 */ sra $t8, $t4, 5 +/* 00438190 0018C880 */ sll $t9, $t8, 2 +/* 00438194 00594021 */ addu $t0, $v0, $t9 +/* 00438198 8D090000 */ lw $t1, ($t0) +/* 0043819C 01897004 */ sllv $t6, $t1, $t4 +/* 004381A0 29CD0000 */ slti $t5, $t6, 0 +.L004381A4: +/* 004381A4 55A0FFF6 */ bnel $t5, $zero, .L00438180 +/* 004381A8 8C84000C */ lw $a0, 0xc($a0) +.L004381AC: +/* 004381AC 03E00008 */ jr $ra +/* 004381B0 00801025 */ move $v0, $a0 + .type get_prior_stm, @function + .size get_prior_stm, .-get_prior_stm + .end get_prior_stm + +glabel get_prior_stm1 + .ent get_prior_stm1 + # 00438320 match_uconds + # 004387D8 match_conds +/* 004381B4 3C1C0FBE */ .cpload $t9 +/* 004381B8 279C789C */ +/* 004381BC 0399E021 */ +/* 004381C0 8C84000C */ lw $a0, 0xc($a0) +/* 004381C4 8F8388E8 */ lw $v1, %got(not_real_stms)($gp) +/* 004381C8 24050042 */ li $a1, 66 +/* 004381CC 90820020 */ lbu $v0, 0x20($a0) +/* 004381D0 2C4E00A0 */ sltiu $t6, $v0, 0xa0 +/* 004381D4 11C00006 */ beqz $t6, .L004381F0 +/* 004381D8 00027943 */ sra $t7, $v0, 5 +/* 004381DC 000FC080 */ sll $t8, $t7, 2 +/* 004381E0 0078C821 */ addu $t9, $v1, $t8 +/* 004381E4 8F280000 */ lw $t0, ($t9) +/* 004381E8 00484804 */ sllv $t1, $t0, $v0 +/* 004381EC 292E0000 */ slti $t6, $t1, 0 +.L004381F0: +/* 004381F0 55C00004 */ bnel $t6, $zero, .L00438204 +/* 004381F4 8C84000C */ lw $a0, 0xc($a0) +/* 004381F8 14A20010 */ bne $a1, $v0, .L0043823C +/* 004381FC 00000000 */ nop +/* 00438200 8C84000C */ lw $a0, 0xc($a0) +.L00438204: +/* 00438204 24050042 */ li $a1, 66 +/* 00438208 90820020 */ lbu $v0, 0x20($a0) +/* 0043820C 2C4B00A0 */ sltiu $t3, $v0, 0xa0 +/* 00438210 11600006 */ beqz $t3, .L0043822C +/* 00438214 00026143 */ sra $t4, $v0, 5 +/* 00438218 000C6880 */ sll $t5, $t4, 2 +/* 0043821C 006D7821 */ addu $t7, $v1, $t5 +/* 00438220 8DF80000 */ lw $t8, ($t7) +/* 00438224 0058C804 */ sllv $t9, $t8, $v0 +/* 00438228 2B2B0000 */ slti $t3, $t9, 0 +.L0043822C: +/* 0043822C 5560FFF5 */ bnel $t3, $zero, .L00438204 +/* 00438230 8C84000C */ lw $a0, 0xc($a0) +/* 00438234 50A2FFF3 */ beql $a1, $v0, .L00438204 +/* 00438238 8C84000C */ lw $a0, 0xc($a0) +.L0043823C: +/* 0043823C 03E00008 */ jr $ra +/* 00438240 00801025 */ move $v0, $a0 + .type get_prior_stm1, @function + .size get_prior_stm1, .-get_prior_stm1 + .end get_prior_stm1 + +glabel find_br + .ent find_br + # 004387D8 match_conds +/* 00438244 3C1C0FBE */ .cpload $t9 +/* 00438248 279C780C */ +/* 0043824C 0399E021 */ +/* 00438250 8C830004 */ lw $v1, 4($a0) +/* 00438254 24060042 */ li $a2, 66 +/* 00438258 90620020 */ lbu $v0, 0x20($v1) +/* 0043825C 244EFFE0 */ addiu $t6, $v0, -0x20 +/* 00438260 2DCF0060 */ sltiu $t7, $t6, 0x60 +/* 00438264 11E00009 */ beqz $t7, .L0043828C +/* 00438268 00000000 */ nop +/* 0043826C 8F888038 */ lw $t0, %got(D_100162B4)($gp) +/* 00438270 000EC143 */ sra $t8, $t6, 5 +/* 00438274 0018C880 */ sll $t9, $t8, 2 +/* 00438278 250862B4 */ addiu $t0, %lo(D_100162B4) # addiu $t0, $t0, 0x62b4 +/* 0043827C 01194821 */ addu $t1, $t0, $t9 +/* 00438280 8D2A0000 */ lw $t2, ($t1) +/* 00438284 01CA5804 */ sllv $t3, $t2, $t6 +/* 00438288 296F0000 */ slti $t7, $t3, 0 +.L0043828C: +/* 0043828C 55E00022 */ bnel $t7, $zero, .L00438318 +/* 00438290 00601025 */ move $v0, $v1 +/* 00438294 8F8588E8 */ lw $a1, %got(not_real_stms)($gp) +.L00438298: +/* 00438298 1064000C */ beq $v1, $a0, .L004382CC +/* 0043829C 2C4D00A0 */ sltiu $t5, $v0, 0xa0 +/* 004382A0 11A00006 */ beqz $t5, .L004382BC +/* 004382A4 0002C143 */ sra $t8, $v0, 5 +/* 004382A8 00184080 */ sll $t0, $t8, 2 +/* 004382AC 00A8C821 */ addu $t9, $a1, $t0 +/* 004382B0 8F290000 */ lw $t1, ($t9) +/* 004382B4 00495004 */ sllv $t2, $t1, $v0 +/* 004382B8 294D0000 */ slti $t5, $t2, 0 +.L004382BC: +/* 004382BC 55A00006 */ bnel $t5, $zero, .L004382D8 +/* 004382C0 8C63000C */ lw $v1, 0xc($v1) +/* 004382C4 50C20004 */ beql $a2, $v0, .L004382D8 +/* 004382C8 8C63000C */ lw $v1, 0xc($v1) +.L004382CC: +/* 004382CC 03E00008 */ jr $ra +/* 004382D0 00001025 */ move $v0, $zero + +/* 004382D4 8C63000C */ lw $v1, 0xc($v1) +.L004382D8: +/* 004382D8 90620020 */ lbu $v0, 0x20($v1) +/* 004382DC 244BFFE0 */ addiu $t3, $v0, -0x20 +/* 004382E0 2D6C0060 */ sltiu $t4, $t3, 0x60 +/* 004382E4 11800009 */ beqz $t4, .L0043830C +/* 004382E8 00000000 */ nop +/* 004382EC 8F888038 */ lw $t0, %got(D_100162B4)($gp) +/* 004382F0 000B7943 */ sra $t7, $t3, 5 +/* 004382F4 000FC080 */ sll $t8, $t7, 2 +/* 004382F8 250862B4 */ addiu $t0, %lo(D_100162B4) # addiu $t0, $t0, 0x62b4 +/* 004382FC 0118C821 */ addu $t9, $t0, $t8 +/* 00438300 8F290000 */ lw $t1, ($t9) +/* 00438304 01695004 */ sllv $t2, $t1, $t3 +/* 00438308 294C0000 */ slti $t4, $t2, 0 +.L0043830C: +/* 0043830C 1180FFE2 */ beqz $t4, .L00438298 +/* 00438310 00000000 */ nop +/* 00438314 00601025 */ move $v0, $v1 +.L00438318: +/* 00438318 03E00008 */ jr $ra +/* 0043831C 00000000 */ nop + .type find_br, @function + .size find_br, .-find_br + .end find_br + +glabel match_uconds + .ent match_uconds + # 00438AE0 cross_jump +/* 00438320 3C1C0FBE */ .cpload $t9 +/* 00438324 279C7730 */ +/* 00438328 0399E021 */ +/* 0043832C 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00438330 AFB70034 */ sw $s7, 0x34($sp) +/* 00438334 AFB5002C */ sw $s5, 0x2c($sp) +/* 00438338 AFB40028 */ sw $s4, 0x28($sp) +/* 0043833C AFB1001C */ sw $s1, 0x1c($sp) +/* 00438340 AFB00018 */ sw $s0, 0x18($sp) +/* 00438344 AFBF003C */ sw $ra, 0x3c($sp) +/* 00438348 AFBC0038 */ sw $gp, 0x38($sp) +/* 0043834C AFB60030 */ sw $s6, 0x30($sp) +/* 00438350 AFB30024 */ sw $s3, 0x24($sp) +/* 00438354 AFB20020 */ sw $s2, 0x20($sp) +/* 00438358 0080A825 */ move $s5, $a0 +/* 0043835C 00808025 */ move $s0, $a0 +/* 00438360 8C960004 */ lw $s6, 4($a0) +/* 00438364 0000B825 */ move $s7, $zero +/* 00438368 8F9188E4 */ lw $s1, %got(stop_ops)($gp) +/* 0043836C 24140042 */ li $s4, 66 +.L00438370: +/* 00438370 8F998460 */ lw $t9, %call16(get_prior_stm1)($gp) +/* 00438374 02C02025 */ move $a0, $s6 +/* 00438378 0320F809 */ jalr $t9 +/* 0043837C 00000000 */ nop +/* 00438380 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438384 0040B025 */ move $s6, $v0 +/* 00438388 02002025 */ move $a0, $s0 +/* 0043838C 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 00438390 0320F809 */ jalr $t9 +/* 00438394 00000000 */ nop +/* 00438398 90430020 */ lbu $v1, 0x20($v0) +/* 0043839C 8FBC0038 */ lw $gp, 0x38($sp) +/* 004383A0 00408025 */ move $s0, $v0 +/* 004383A4 1683000D */ bne $s4, $v1, .L004383DC +/* 004383A8 00000000 */ nop +/* 004383AC 8EAE0004 */ lw $t6, 4($s5) +.L004383B0: +/* 004383B0 104E002B */ beq $v0, $t6, .L00438460 +/* 004383B4 00000000 */ nop +/* 004383B8 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 004383BC 02002025 */ move $a0, $s0 +/* 004383C0 0320F809 */ jalr $t9 +/* 004383C4 00000000 */ nop +/* 004383C8 90430020 */ lbu $v1, 0x20($v0) +/* 004383CC 8FBC0038 */ lw $gp, 0x38($sp) +/* 004383D0 00408025 */ move $s0, $v0 +/* 004383D4 5283FFF6 */ beql $s4, $v1, .L004383B0 +/* 004383D8 8EAE0004 */ lw $t6, 4($s5) +.L004383DC: +/* 004383DC 12D50020 */ beq $s6, $s5, .L00438460 +/* 004383E0 2C6D00A0 */ sltiu $t5, $v1, 0xa0 +/* 004383E4 92CF0020 */ lbu $t7, 0x20($s6) +/* 004383E8 00037143 */ sra $t6, $v1, 5 +/* 004383EC 2DF800A0 */ sltiu $t8, $t7, 0xa0 +/* 004383F0 13000007 */ beqz $t8, .L00438410 +/* 004383F4 00000000 */ nop +/* 004383F8 000FC943 */ sra $t9, $t7, 5 +/* 004383FC 00194080 */ sll $t0, $t9, 2 +/* 00438400 02284821 */ addu $t1, $s1, $t0 +/* 00438404 8D2A0000 */ lw $t2, ($t1) +/* 00438408 01EA5804 */ sllv $t3, $t2, $t7 +/* 0043840C 29780000 */ slti $t8, $t3, 0 +.L00438410: +/* 00438410 17000013 */ bnez $t8, .L00438460 +/* 00438414 00000000 */ nop +/* 00438418 11A00006 */ beqz $t5, .L00438434 +/* 0043841C 00000000 */ nop +/* 00438420 000EC880 */ sll $t9, $t6, 2 +/* 00438424 02394021 */ addu $t0, $s1, $t9 +/* 00438428 8D090000 */ lw $t1, ($t0) +/* 0043842C 00695004 */ sllv $t2, $t1, $v1 +/* 00438430 294D0000 */ slti $t5, $t2, 0 +.L00438434: +/* 00438434 15A0000A */ bnez $t5, .L00438460 +/* 00438438 00000000 */ nop +/* 0043843C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00438440 02002025 */ move $a0, $s0 +/* 00438444 02C02825 */ move $a1, $s6 +/* 00438448 0320F809 */ jalr $t9 +/* 0043844C 00000000 */ nop +/* 00438450 10400003 */ beqz $v0, .L00438460 +/* 00438454 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438458 1000FFC5 */ b .L00438370 +/* 0043845C 24170001 */ li $s7, 1 +.L00438460: +/* 00438460 52E00065 */ beql $s7, $zero, .L004385F8 +/* 00438464 8FBF003C */ lw $ra, 0x3c($sp) +/* 00438468 8EB30004 */ lw $s3, 4($s5) +/* 0043846C 02A09025 */ move $s2, $s5 +/* 00438470 0000B825 */ move $s7, $zero +/* 00438474 12760039 */ beq $s3, $s6, .L0043855C +/* 00438478 00000000 */ nop +.L0043847C: +/* 0043847C 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 00438480 02608825 */ move $s1, $s3 +/* 00438484 02602025 */ move $a0, $s3 +/* 00438488 0320F809 */ jalr $t9 +/* 0043848C 00000000 */ nop +/* 00438490 904B0020 */ lbu $t3, 0x20($v0) +/* 00438494 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438498 00409825 */ move $s3, $v0 +/* 0043849C 168B000B */ bne $s4, $t3, .L004384CC +/* 004384A0 00000000 */ nop +.L004384A4: +/* 004384A4 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 004384A8 02608825 */ move $s1, $s3 +/* 004384AC 02602025 */ move $a0, $s3 +/* 004384B0 0320F809 */ jalr $t9 +/* 004384B4 00000000 */ nop +/* 004384B8 904C0020 */ lbu $t4, 0x20($v0) +/* 004384BC 8FBC0038 */ lw $gp, 0x38($sp) +/* 004384C0 00409825 */ move $s3, $v0 +/* 004384C4 128CFFF7 */ beq $s4, $t4, .L004384A4 +/* 004384C8 00000000 */ nop +.L004384CC: +/* 004384CC 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 004384D0 02402025 */ move $a0, $s2 +/* 004384D4 0320F809 */ jalr $t9 +/* 004384D8 00000000 */ nop +/* 004384DC 90580020 */ lbu $t8, 0x20($v0) +/* 004384E0 8FBC0038 */ lw $gp, 0x38($sp) +/* 004384E4 00409025 */ move $s2, $v0 +/* 004384E8 16980011 */ bne $s4, $t8, .L00438530 +/* 004384EC 00000000 */ nop +.L004384F0: +/* 004384F0 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 004384F4 02408025 */ move $s0, $s2 +/* 004384F8 02402025 */ move $a0, $s2 +/* 004384FC 0320F809 */ jalr $t9 +/* 00438500 00000000 */ nop +/* 00438504 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438508 00409025 */ move $s2, $v0 +/* 0043850C 02002025 */ move $a0, $s0 +/* 00438510 8F998458 */ lw $t9, %call16(move_label)($gp) +/* 00438514 02202825 */ move $a1, $s1 +/* 00438518 0320F809 */ jalr $t9 +/* 0043851C 00000000 */ nop +/* 00438520 924E0020 */ lbu $t6, 0x20($s2) +/* 00438524 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438528 128EFFF1 */ beq $s4, $t6, .L004384F0 +/* 0043852C 00000000 */ nop +.L00438530: +/* 00438530 1276000A */ beq $s3, $s6, .L0043855C +/* 00438534 00000000 */ nop +/* 00438538 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 0043853C 02402025 */ move $a0, $s2 +/* 00438540 02602825 */ move $a1, $s3 +/* 00438544 0320F809 */ jalr $t9 +/* 00438548 00000000 */ nop +/* 0043854C 10400003 */ beqz $v0, .L0043855C +/* 00438550 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438554 1676FFC9 */ bne $s3, $s6, .L0043847C +/* 00438558 24170001 */ li $s7, 1 +.L0043855C: +/* 0043855C 52E00026 */ beql $s7, $zero, .L004385F8 +/* 00438560 8FBF003C */ lw $ra, 0x3c($sp) +/* 00438564 12B2000D */ beq $s5, $s2, .L0043859C +/* 00438568 02A08025 */ move $s0, $s5 +.L0043856C: +/* 0043856C 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00438570 02002025 */ move $a0, $s0 +/* 00438574 0320F809 */ jalr $t9 +/* 00438578 00000000 */ nop +/* 0043857C 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438580 02002025 */ move $a0, $s0 +/* 00438584 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 00438588 0320F809 */ jalr $t9 +/* 0043858C 00000000 */ nop +/* 00438590 8FBC0038 */ lw $gp, 0x38($sp) +/* 00438594 1452FFF5 */ bne $v0, $s2, .L0043856C +/* 00438598 00408025 */ move $s0, $v0 +.L0043859C: +/* 0043859C 8F998448 */ lw $t9, %call16(make_new_label)($gp) +/* 004385A0 0320F809 */ jalr $t9 +/* 004385A4 00000000 */ nop +/* 004385A8 8FBC0038 */ lw $gp, 0x38($sp) +/* 004385AC 0040B025 */ move $s6, $v0 +/* 004385B0 00402025 */ move $a0, $v0 +/* 004385B4 8F99844C */ lw $t9, %call16(make_new_jump)($gp) +/* 004385B8 0320F809 */ jalr $t9 +/* 004385BC 00000000 */ nop +/* 004385C0 8FBC0038 */ lw $gp, 0x38($sp) +/* 004385C4 00402025 */ move $a0, $v0 +/* 004385C8 02402825 */ move $a1, $s2 +/* 004385CC 8F998444 */ lw $t9, %call16(append)($gp) +/* 004385D0 0320F809 */ jalr $t9 +/* 004385D4 00000000 */ nop +/* 004385D8 8FBC0038 */ lw $gp, 0x38($sp) +/* 004385DC 02C02025 */ move $a0, $s6 +/* 004385E0 02602825 */ move $a1, $s3 +/* 004385E4 8F998444 */ lw $t9, %call16(append)($gp) +/* 004385E8 0320F809 */ jalr $t9 +/* 004385EC 00000000 */ nop +/* 004385F0 8FBC0038 */ lw $gp, 0x38($sp) +/* 004385F4 8FBF003C */ lw $ra, 0x3c($sp) +.L004385F8: +/* 004385F8 8FB00018 */ lw $s0, 0x18($sp) +/* 004385FC 8FB1001C */ lw $s1, 0x1c($sp) +/* 00438600 8FB20020 */ lw $s2, 0x20($sp) +/* 00438604 8FB30024 */ lw $s3, 0x24($sp) +/* 00438608 8FB40028 */ lw $s4, 0x28($sp) +/* 0043860C 8FB5002C */ lw $s5, 0x2c($sp) +/* 00438610 8FB60030 */ lw $s6, 0x30($sp) +/* 00438614 8FB70034 */ lw $s7, 0x34($sp) +/* 00438618 03E00008 */ jr $ra +/* 0043861C 27BD0040 */ addiu $sp, $sp, 0x40 + .type match_uconds, @function + .size match_uconds, .-match_uconds + .end match_uconds + +glabel cmp_br + .ent cmp_br + # 004387D8 match_conds +/* 00438620 3C1C0FBE */ .cpload $t9 +/* 00438624 279C7430 */ +/* 00438628 0399E021 */ +/* 0043862C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00438630 AFBF001C */ sw $ra, 0x1c($sp) +/* 00438634 AFBC0018 */ sw $gp, 0x18($sp) +/* 00438638 AFB00014 */ sw $s0, 0x14($sp) +/* 0043863C 908E001A */ lbu $t6, 0x1a($a0) +/* 00438640 00803825 */ move $a3, $a0 +/* 00438644 00A03025 */ move $a2, $a1 +/* 00438648 25CF0001 */ addiu $t7, $t6, 1 +/* 0043864C A08F001A */ sb $t7, 0x1a($a0) +/* 00438650 90B8001A */ lbu $t8, 0x1a($a1) +/* 00438654 27190001 */ addiu $t9, $t8, 1 +/* 00438658 A0B9001A */ sb $t9, 0x1a($a1) +/* 0043865C 8C900000 */ lw $s0, ($a0) +/* 00438660 9209001A */ lbu $t1, 0x1a($s0) +/* 00438664 252A0001 */ addiu $t2, $t1, 1 +/* 00438668 A20A001A */ sb $t2, 0x1a($s0) +/* 0043866C 8CA20000 */ lw $v0, ($a1) +/* 00438670 904B001A */ lbu $t3, 0x1a($v0) +/* 00438674 256C0001 */ addiu $t4, $t3, 1 +/* 00438678 A04C001A */ sb $t4, 0x1a($v0) +/* 0043867C 8C900000 */ lw $s0, ($a0) +/* 00438680 92080020 */ lbu $t0, 0x20($s0) +/* 00438684 250DFFE0 */ addiu $t5, $t0, -0x20 +/* 00438688 2DAE0040 */ sltiu $t6, $t5, 0x40 +/* 0043868C 11C00009 */ beqz $t6, .L004386B4 +/* 00438690 00000000 */ nop +/* 00438694 8F998038 */ lw $t9, %got(D_100162C0)($gp) +/* 00438698 000D7943 */ sra $t7, $t5, 5 +/* 0043869C 000FC080 */ sll $t8, $t7, 2 +/* 004386A0 273962C0 */ addiu $t9, %lo(D_100162C0) # addiu $t9, $t9, 0x62c0 +/* 004386A4 03384821 */ addu $t1, $t9, $t8 +/* 004386A8 8D2A0000 */ lw $t2, ($t1) +/* 004386AC 01AA5804 */ sllv $t3, $t2, $t5 +/* 004386B0 296E0000 */ slti $t6, $t3, 0 +.L004386B4: +/* 004386B4 51C00034 */ beql $t6, $zero, .L00438788 +/* 004386B8 90CF0020 */ lbu $t7, 0x20($a2) +/* 004386BC 8CC20000 */ lw $v0, ($a2) +/* 004386C0 90450020 */ lbu $a1, 0x20($v0) +/* 004386C4 24AFFFE0 */ addiu $t7, $a1, -0x20 +/* 004386C8 2DF90040 */ sltiu $t9, $t7, 0x40 +/* 004386CC 13200009 */ beqz $t9, .L004386F4 +/* 004386D0 00000000 */ nop +/* 004386D4 8F8A8038 */ lw $t2, %got(D_100162C0)($gp) +/* 004386D8 000FC143 */ sra $t8, $t7, 5 +/* 004386DC 00184880 */ sll $t1, $t8, 2 +/* 004386E0 254A62C0 */ addiu $t2, %lo(D_100162C0) # addiu $t2, $t2, 0x62c0 +/* 004386E4 01496821 */ addu $t5, $t2, $t1 +/* 004386E8 8DAB0000 */ lw $t3, ($t5) +/* 004386EC 01EB6004 */ sllv $t4, $t3, $t7 +/* 004386F0 29990000 */ slti $t9, $t4, 0 +.L004386F4: +/* 004386F4 53200024 */ beql $t9, $zero, .L00438788 +/* 004386F8 90CF0020 */ lbu $t7, 0x20($a2) +/* 004386FC 90C30020 */ lbu $v1, 0x20($a2) +/* 00438700 90E40020 */ lbu $a0, 0x20($a3) +/* 00438704 14640006 */ bne $v1, $a0, .L00438720 +/* 00438708 00000000 */ nop +/* 0043870C 8F9888EC */ lw $t8, %got(inverse)($gp) +/* 00438710 00B85021 */ addu $t2, $a1, $t8 +/* 00438714 91490000 */ lbu $t1, ($t2) +/* 00438718 11280005 */ beq $t1, $t0, .L00438730 +/* 0043871C 00000000 */ nop +.L00438720: +/* 00438720 50640028 */ beql $v1, $a0, .L004387C4 +/* 00438724 00001025 */ move $v0, $zero +/* 00438728 54A80026 */ bnel $a1, $t0, .L004387C4 +/* 0043872C 00001025 */ move $v0, $zero +.L00438730: +/* 00438730 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00438734 8E040000 */ lw $a0, ($s0) +/* 00438738 8C450000 */ lw $a1, ($v0) +/* 0043873C AFA60024 */ sw $a2, 0x24($sp) +/* 00438740 0320F809 */ jalr $t9 +/* 00438744 AFA70020 */ sw $a3, 0x20($sp) +/* 00438748 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043874C 8FA60024 */ lw $a2, 0x24($sp) +/* 00438750 8FA70020 */ lw $a3, 0x20($sp) +/* 00438754 10400009 */ beqz $v0, .L0043877C +/* 00438758 00401825 */ move $v1, $v0 +/* 0043875C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 00438760 8CED0000 */ lw $t5, ($a3) +/* 00438764 8CCB0000 */ lw $t3, ($a2) +/* 00438768 8DA40004 */ lw $a0, 4($t5) +/* 0043876C 0320F809 */ jalr $t9 +/* 00438770 8D650004 */ lw $a1, 4($t3) +/* 00438774 8FBC0018 */ lw $gp, 0x18($sp) +/* 00438778 00401825 */ move $v1, $v0 +.L0043877C: +/* 0043877C 10000011 */ b .L004387C4 +/* 00438780 00601025 */ move $v0, $v1 +/* 00438784 90CF0020 */ lbu $t7, 0x20($a2) +.L00438788: +/* 00438788 90EC0020 */ lbu $t4, 0x20($a3) +/* 0043878C 01EC1826 */ xor $v1, $t7, $t4 +/* 00438790 0003182B */ sltu $v1, $zero, $v1 +/* 00438794 10600008 */ beqz $v1, .L004387B8 +/* 00438798 00000000 */ nop +/* 0043879C 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004387A0 02002025 */ move $a0, $s0 +/* 004387A4 8CC50000 */ lw $a1, ($a2) +/* 004387A8 0320F809 */ jalr $t9 +/* 004387AC 00000000 */ nop +/* 004387B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004387B4 00401825 */ move $v1, $v0 +.L004387B8: +/* 004387B8 10000002 */ b .L004387C4 +/* 004387BC 00601025 */ move $v0, $v1 +/* 004387C0 00001025 */ move $v0, $zero +.L004387C4: +/* 004387C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 004387C8 8FB00014 */ lw $s0, 0x14($sp) +/* 004387CC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 004387D0 03E00008 */ jr $ra +/* 004387D4 00000000 */ nop + .type cmp_br, @function + .size cmp_br, .-cmp_br + .end cmp_br + +glabel match_conds + .ent match_conds + # 00438AE0 cross_jump +/* 004387D8 3C1C0FBE */ .cpload $t9 +/* 004387DC 279C7278 */ +/* 004387E0 0399E021 */ +/* 004387E4 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 004387E8 8F998464 */ lw $t9, %call16(find_br)($gp) +/* 004387EC AFBF0034 */ sw $ra, 0x34($sp) +/* 004387F0 AFBC0030 */ sw $gp, 0x30($sp) +/* 004387F4 AFB5002C */ sw $s5, 0x2c($sp) +/* 004387F8 AFB40028 */ sw $s4, 0x28($sp) +/* 004387FC AFB30024 */ sw $s3, 0x24($sp) +/* 00438800 AFB20020 */ sw $s2, 0x20($sp) +/* 00438804 AFB1001C */ sw $s1, 0x1c($sp) +/* 00438808 AFB00018 */ sw $s0, 0x18($sp) +/* 0043880C 0320F809 */ jalr $t9 +/* 00438810 AFA40038 */ sw $a0, 0x38($sp) +/* 00438814 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438818 00409825 */ move $s3, $v0 +/* 0043881C 8F928AEC */ lw $s2, %got(pay)($gp) +/* 00438820 104000A6 */ beqz $v0, .L00438ABC +/* 00438824 AE400000 */ sw $zero, ($s2) +/* 00438828 8F998464 */ lw $t9, %call16(find_br)($gp) +/* 0043882C 00402025 */ move $a0, $v0 +/* 00438830 0320F809 */ jalr $t9 +/* 00438834 00000000 */ nop +/* 00438838 8FA40038 */ lw $a0, 0x38($sp) +/* 0043883C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438840 5444009F */ bnel $v0, $a0, .L00438AC0 +/* 00438844 8FBF0034 */ lw $ra, 0x34($sp) +/* 00438848 8F99846C */ lw $t9, %call16(cmp_br)($gp) +/* 0043884C 02602825 */ move $a1, $s3 +/* 00438850 0320F809 */ jalr $t9 +/* 00438854 00000000 */ nop +/* 00438858 10400098 */ beqz $v0, .L00438ABC +/* 0043885C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438860 8FB00038 */ lw $s0, 0x38($sp) +/* 00438864 0260A825 */ move $s5, $s3 +/* 00438868 8F9188E4 */ lw $s1, %got(stop_ops)($gp) +.L0043886C: +/* 0043886C 8F998460 */ lw $t9, %call16(get_prior_stm1)($gp) +/* 00438870 02A02025 */ move $a0, $s5 +/* 00438874 0320F809 */ jalr $t9 +/* 00438878 00000000 */ nop +/* 0043887C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438880 0040A825 */ move $s5, $v0 +/* 00438884 02002025 */ move $a0, $s0 +/* 00438888 8F998460 */ lw $t9, %call16(get_prior_stm1)($gp) +/* 0043888C 0320F809 */ jalr $t9 +/* 00438890 00000000 */ nop +/* 00438894 92AE0020 */ lbu $t6, 0x20($s5) +/* 00438898 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043889C 00408025 */ move $s0, $v0 +/* 004388A0 2DCF00A0 */ sltiu $t7, $t6, 0xa0 +/* 004388A4 11E00006 */ beqz $t7, .L004388C0 +/* 004388A8 000EC143 */ sra $t8, $t6, 5 +/* 004388AC 0018C880 */ sll $t9, $t8, 2 +/* 004388B0 02394021 */ addu $t0, $s1, $t9 +/* 004388B4 8D090000 */ lw $t1, ($t0) +/* 004388B8 01C95004 */ sllv $t2, $t1, $t6 +/* 004388BC 294F0000 */ slti $t7, $t2, 0 +.L004388C0: +/* 004388C0 55E00014 */ bnel $t7, $zero, .L00438914 +/* 004388C4 8E4B0000 */ lw $t3, ($s2) +/* 004388C8 904C0020 */ lbu $t4, 0x20($v0) +/* 004388CC 2D8D00A0 */ sltiu $t5, $t4, 0xa0 +/* 004388D0 11A00006 */ beqz $t5, .L004388EC +/* 004388D4 000CC143 */ sra $t8, $t4, 5 +/* 004388D8 0018C880 */ sll $t9, $t8, 2 +/* 004388DC 02394021 */ addu $t0, $s1, $t9 +/* 004388E0 8D090000 */ lw $t1, ($t0) +/* 004388E4 01897004 */ sllv $t6, $t1, $t4 +/* 004388E8 29CD0000 */ slti $t5, $t6, 0 +.L004388EC: +/* 004388EC 55A00009 */ bnel $t5, $zero, .L00438914 +/* 004388F0 8E4B0000 */ lw $t3, ($s2) +/* 004388F4 8F998450 */ lw $t9, %call16(cmp_tree)($gp) +/* 004388F8 02002025 */ move $a0, $s0 +/* 004388FC 02A02825 */ move $a1, $s5 +/* 00438900 0320F809 */ jalr $t9 +/* 00438904 00000000 */ nop +/* 00438908 1440FFD8 */ bnez $v0, .L0043886C +/* 0043890C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438910 8E4B0000 */ lw $t3, ($s2) +.L00438914: +/* 00438914 8FB20038 */ lw $s2, 0x38($sp) +/* 00438918 2D610003 */ sltiu $at, $t3, 3 +/* 0043891C 54200068 */ bnel $at, $zero, .L00438AC0 +/* 00438920 8FBF0034 */ lw $ra, 0x34($sp) +/* 00438924 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 00438928 0260A025 */ move $s4, $s3 +/* 0043892C 8E440000 */ lw $a0, ($s2) +/* 00438930 0320F809 */ jalr $t9 +/* 00438934 8E650000 */ lw $a1, ($s3) +/* 00438938 10400060 */ beqz $v0, .L00438ABC +/* 0043893C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438940 12750039 */ beq $s3, $s5, .L00438A28 +/* 00438944 24130042 */ li $s3, 66 +.L00438948: +/* 00438948 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 0043894C 02808825 */ move $s1, $s4 +/* 00438950 02802025 */ move $a0, $s4 +/* 00438954 0320F809 */ jalr $t9 +/* 00438958 00000000 */ nop +/* 0043895C 90580020 */ lbu $t8, 0x20($v0) +/* 00438960 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438964 0040A025 */ move $s4, $v0 +/* 00438968 1678000B */ bne $s3, $t8, .L00438998 +/* 0043896C 00000000 */ nop +.L00438970: +/* 00438970 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 00438974 02808825 */ move $s1, $s4 +/* 00438978 02802025 */ move $a0, $s4 +/* 0043897C 0320F809 */ jalr $t9 +/* 00438980 00000000 */ nop +/* 00438984 90590020 */ lbu $t9, 0x20($v0) +/* 00438988 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043898C 0040A025 */ move $s4, $v0 +/* 00438990 1279FFF7 */ beq $s3, $t9, .L00438970 +/* 00438994 00000000 */ nop +.L00438998: +/* 00438998 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 0043899C 02402025 */ move $a0, $s2 +/* 004389A0 0320F809 */ jalr $t9 +/* 004389A4 00000000 */ nop +/* 004389A8 90480020 */ lbu $t0, 0x20($v0) +/* 004389AC 8FBC0030 */ lw $gp, 0x30($sp) +/* 004389B0 00409025 */ move $s2, $v0 +/* 004389B4 16680011 */ bne $s3, $t0, .L004389FC +/* 004389B8 00000000 */ nop +.L004389BC: +/* 004389BC 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 004389C0 02408025 */ move $s0, $s2 +/* 004389C4 02402025 */ move $a0, $s2 +/* 004389C8 0320F809 */ jalr $t9 +/* 004389CC 00000000 */ nop +/* 004389D0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004389D4 00409025 */ move $s2, $v0 +/* 004389D8 02002025 */ move $a0, $s0 +/* 004389DC 8F998458 */ lw $t9, %call16(move_label)($gp) +/* 004389E0 02202825 */ move $a1, $s1 +/* 004389E4 0320F809 */ jalr $t9 +/* 004389E8 00000000 */ nop +/* 004389EC 92490020 */ lbu $t1, 0x20($s2) +/* 004389F0 8FBC0030 */ lw $gp, 0x30($sp) +/* 004389F4 1269FFF1 */ beq $s3, $t1, .L004389BC +/* 004389F8 00000000 */ nop +.L004389FC: +/* 004389FC 5295000B */ beql $s4, $s5, .L00438A2C +/* 00438A00 8FB00038 */ lw $s0, 0x38($sp) +/* 00438A04 8F998454 */ lw $t9, %call16(cmp_tree_again)($gp) +/* 00438A08 02402025 */ move $a0, $s2 +/* 00438A0C 02802825 */ move $a1, $s4 +/* 00438A10 0320F809 */ jalr $t9 +/* 00438A14 00000000 */ nop +/* 00438A18 10400003 */ beqz $v0, .L00438A28 +/* 00438A1C 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438A20 1695FFC9 */ bne $s4, $s5, .L00438948 +/* 00438A24 00000000 */ nop +.L00438A28: +/* 00438A28 8FB00038 */ lw $s0, 0x38($sp) +.L00438A2C: +/* 00438A2C 1212000D */ beq $s0, $s2, .L00438A64 +/* 00438A30 00000000 */ nop +.L00438A34: +/* 00438A34 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00438A38 02002025 */ move $a0, $s0 +/* 00438A3C 0320F809 */ jalr $t9 +/* 00438A40 00000000 */ nop +/* 00438A44 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438A48 02002025 */ move $a0, $s0 +/* 00438A4C 8F99845C */ lw $t9, %call16(get_prior_stm)($gp) +/* 00438A50 0320F809 */ jalr $t9 +/* 00438A54 00000000 */ nop +/* 00438A58 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438A5C 1452FFF5 */ bne $v0, $s2, .L00438A34 +/* 00438A60 00408025 */ move $s0, $v0 +.L00438A64: +/* 00438A64 8F998448 */ lw $t9, %call16(make_new_label)($gp) +/* 00438A68 0320F809 */ jalr $t9 +/* 00438A6C 00000000 */ nop +/* 00438A70 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438A74 0040A825 */ move $s5, $v0 +/* 00438A78 00402025 */ move $a0, $v0 +/* 00438A7C 8F99844C */ lw $t9, %call16(make_new_jump)($gp) +/* 00438A80 0320F809 */ jalr $t9 +/* 00438A84 00000000 */ nop +/* 00438A88 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438A8C 00402025 */ move $a0, $v0 +/* 00438A90 02402825 */ move $a1, $s2 +/* 00438A94 8F998444 */ lw $t9, %call16(append)($gp) +/* 00438A98 0320F809 */ jalr $t9 +/* 00438A9C 00000000 */ nop +/* 00438AA0 8FBC0030 */ lw $gp, 0x30($sp) +/* 00438AA4 02A02025 */ move $a0, $s5 +/* 00438AA8 02802825 */ move $a1, $s4 +/* 00438AAC 8F998444 */ lw $t9, %call16(append)($gp) +/* 00438AB0 0320F809 */ jalr $t9 +/* 00438AB4 00000000 */ nop +/* 00438AB8 8FBC0030 */ lw $gp, 0x30($sp) +.L00438ABC: +/* 00438ABC 8FBF0034 */ lw $ra, 0x34($sp) +.L00438AC0: +/* 00438AC0 8FB00018 */ lw $s0, 0x18($sp) +/* 00438AC4 8FB1001C */ lw $s1, 0x1c($sp) +/* 00438AC8 8FB20020 */ lw $s2, 0x20($sp) +/* 00438ACC 8FB30024 */ lw $s3, 0x24($sp) +/* 00438AD0 8FB40028 */ lw $s4, 0x28($sp) +/* 00438AD4 8FB5002C */ lw $s5, 0x2c($sp) +/* 00438AD8 03E00008 */ jr $ra +/* 00438ADC 27BD0038 */ addiu $sp, $sp, 0x38 + .type match_conds, @function + .size match_conds, .-match_conds + .end match_conds + +glabel cross_jump + .ent cross_jump + # 004362FC labelopt +/* 00438AE0 3C1C0FBE */ .cpload $t9 +/* 00438AE4 279C6F70 */ +/* 00438AE8 0399E021 */ +/* 00438AEC 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00438AF0 AFB00014 */ sw $s0, 0x14($sp) +/* 00438AF4 00808025 */ move $s0, $a0 +/* 00438AF8 AFBF0034 */ sw $ra, 0x34($sp) +/* 00438AFC AFBC0030 */ sw $gp, 0x30($sp) +/* 00438B00 AFB6002C */ sw $s6, 0x2c($sp) +/* 00438B04 AFB50028 */ sw $s5, 0x28($sp) +/* 00438B08 AFB40024 */ sw $s4, 0x24($sp) +/* 00438B0C AFB30020 */ sw $s3, 0x20($sp) +/* 00438B10 AFB2001C */ sw $s2, 0x1c($sp) +/* 00438B14 1080003F */ beqz $a0, .L00438C14 +/* 00438B18 AFB10018 */ sw $s1, 0x18($sp) +/* 00438B1C 8F968968 */ lw $s6, %got(current_line)($gp) +/* 00438B20 24150051 */ li $s5, 81 +/* 00438B24 24140026 */ li $s4, 38 +/* 00438B28 24130011 */ li $s3, 17 +/* 00438B2C 24120088 */ li $s2, 136 +/* 00438B30 2411007F */ li $s1, 127 +.L00438B34: +/* 00438B34 10000025 */ b .L00438BCC +/* 00438B38 92020020 */ lbu $v0, 0x20($s0) +/* 00438B3C 8E0E0028 */ lw $t6, 0x28($s0) +.L00438B40: +/* 00438B40 10000031 */ b .L00438C08 +/* 00438B44 AECE0000 */ sw $t6, ($s6) +/* 00438B48 8E040028 */ lw $a0, 0x28($s0) +.L00438B4C: +/* 00438B4C 1080002E */ beqz $a0, .L00438C08 +/* 00438B50 24840001 */ addiu $a0, $a0, 1 +/* 00438B54 2485FFFF */ addiu $a1, $a0, -1 +/* 00438B58 30A50003 */ andi $a1, $a1, 3 +/* 00438B5C 10A00007 */ beqz $a1, .L00438B7C +/* 00438B60 24020001 */ li $v0, 1 +/* 00438B64 24A30001 */ addiu $v1, $a1, 1 +.L00438B68: +/* 00438B68 24420001 */ addiu $v0, $v0, 1 +/* 00438B6C 1462FFFE */ bne $v1, $v0, .L00438B68 +/* 00438B70 8E100008 */ lw $s0, 8($s0) +/* 00438B74 50440025 */ beql $v0, $a0, .L00438C0C +/* 00438B78 8E100008 */ lw $s0, 8($s0) +.L00438B7C: +/* 00438B7C 8E100008 */ lw $s0, 8($s0) +/* 00438B80 24420004 */ addiu $v0, $v0, 4 +/* 00438B84 8E100008 */ lw $s0, 8($s0) +/* 00438B88 8E100008 */ lw $s0, 8($s0) +/* 00438B8C 1444FFFB */ bne $v0, $a0, .L00438B7C +/* 00438B90 8E100008 */ lw $s0, 8($s0) +/* 00438B94 1000001D */ b .L00438C0C +/* 00438B98 8E100008 */ lw $s0, 8($s0) +.L00438B9C: +/* 00438B9C 8F998468 */ lw $t9, %call16(match_uconds)($gp) +/* 00438BA0 02002025 */ move $a0, $s0 +/* 00438BA4 0320F809 */ jalr $t9 +/* 00438BA8 00000000 */ nop +/* 00438BAC 10000016 */ b .L00438C08 +/* 00438BB0 8FBC0030 */ lw $gp, 0x30($sp) +.L00438BB4: +/* 00438BB4 8F998470 */ lw $t9, %call16(match_conds)($gp) +/* 00438BB8 02002025 */ move $a0, $s0 +/* 00438BBC 0320F809 */ jalr $t9 +/* 00438BC0 00000000 */ nop +/* 00438BC4 10000010 */ b .L00438C08 +/* 00438BC8 8FBC0030 */ lw $gp, 0x30($sp) +.L00438BCC: +/* 00438BCC 2C410052 */ sltiu $at, $v0, 0x52 +/* 00438BD0 14200007 */ bnez $at, .L00438BF0 +/* 00438BD4 00000000 */ nop +/* 00438BD8 1051FFF6 */ beq $v0, $s1, .L00438BB4 +/* 00438BDC 00000000 */ nop +/* 00438BE0 1052FFEE */ beq $v0, $s2, .L00438B9C +/* 00438BE4 00000000 */ nop +/* 00438BE8 10000008 */ b .L00438C0C +/* 00438BEC 8E100008 */ lw $s0, 8($s0) +.L00438BF0: +/* 00438BF0 5053FFD6 */ beql $v0, $s3, .L00438B4C +/* 00438BF4 8E040028 */ lw $a0, 0x28($s0) +/* 00438BF8 1054FFEE */ beq $v0, $s4, .L00438BB4 +/* 00438BFC 00000000 */ nop +/* 00438C00 5055FFCF */ beql $v0, $s5, .L00438B40 +/* 00438C04 8E0E0028 */ lw $t6, 0x28($s0) +.L00438C08: +/* 00438C08 8E100008 */ lw $s0, 8($s0) +.L00438C0C: +/* 00438C0C 1600FFC9 */ bnez $s0, .L00438B34 +/* 00438C10 00000000 */ nop +.L00438C14: +/* 00438C14 8FBF0034 */ lw $ra, 0x34($sp) +/* 00438C18 8FB00014 */ lw $s0, 0x14($sp) +/* 00438C1C 8FB10018 */ lw $s1, 0x18($sp) +/* 00438C20 8FB2001C */ lw $s2, 0x1c($sp) +/* 00438C24 8FB30020 */ lw $s3, 0x20($sp) +/* 00438C28 8FB40024 */ lw $s4, 0x24($sp) +/* 00438C2C 8FB50028 */ lw $s5, 0x28($sp) +/* 00438C30 8FB6002C */ lw $s6, 0x2c($sp) +/* 00438C34 03E00008 */ jr $ra +/* 00438C38 27BD0038 */ addiu $sp, $sp, 0x38 + .type cross_jump, @function + .size cross_jump, .-cross_jump + .end cross_jump +)""); diff --git a/src/ugen/opt.c b/src/ugen/opt.c new file mode 100644 index 0000000..a282bc9 --- /dev/null +++ b/src/ugen/opt.c @@ -0,0 +1,161 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000B750: + # 00438C40 set_opts + .asciz "opt.p" + + .balign 4 +jtbl_1000B758: + # 00438C40 set_opts + .gpword .L00438CB0 + .gpword .L00438CE0 + .gpword .L00438D44 + .gpword .L00438D44 + .gpword .L00438D44 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel set_opts + .ent set_opts + # 0044BF18 main +/* 00438C40 3C1C0FBE */ .cpload $t9 +/* 00438C44 279C6E10 */ +/* 00438C48 0399E021 */ +/* 00438C4C 8F818A44 */ lw $at, %got(glevel)($gp) +/* 00438C50 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00438C54 24030002 */ li $v1, 2 +/* 00438C58 A0250000 */ sb $a1, ($at) +/* 00438C5C 8F818A48 */ lw $at, %got(olevel)($gp) +/* 00438C60 AFBF001C */ sw $ra, 0x1c($sp) +/* 00438C64 AFBC0018 */ sw $gp, 0x18($sp) +/* 00438C68 AFA40020 */ sw $a0, 0x20($sp) +/* 00438C6C AFA50024 */ sw $a1, 0x24($sp) +/* 00438C70 14A30005 */ bne $a1, $v1, .L00438C88 +/* 00438C74 A0240000 */ sb $a0, ($at) +/* 00438C78 2C810002 */ sltiu $at, $a0, 2 +/* 00438C7C 54200003 */ bnel $at, $zero, .L00438C8C +/* 00438C80 2C810005 */ sltiu $at, $a0, 5 +/* 00438C84 24040001 */ li $a0, 1 +.L00438C88: +/* 00438C88 2C810005 */ sltiu $at, $a0, 5 +.L00438C8C: +/* 00438C8C 1020004F */ beqz $at, .L00438DCC +/* 00438C90 24070005 */ li $a3, 5 +/* 00438C94 8F818038 */ lw $at, %got(jtbl_1000B758)($gp) +/* 00438C98 00047080 */ sll $t6, $a0, 2 +/* 00438C9C 002E0821 */ addu $at, $at, $t6 +/* 00438CA0 8C2EB758 */ lw $t6, %lo(jtbl_1000B758)($at) +/* 00438CA4 01DC7021 */ addu $t6, $t6, $gp +/* 00438CA8 01C00008 */ jr $t6 +/* 00438CAC 00000000 */ nop +.L00438CB0: +/* 00438CB0 8F818A30 */ lw $at, %got(opt_cse)($gp) +/* 00438CB4 24060001 */ li $a2, 1 +/* 00438CB8 8F828A40 */ lw $v0, %got(tail_call_opt)($gp) +/* 00438CBC A0260000 */ sb $a2, ($at) +/* 00438CC0 8F818A34 */ lw $at, %got(opt_labels)($gp) +/* 00438CC4 A0200000 */ sb $zero, ($at) +/* 00438CC8 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 00438CCC A0260000 */ sb $a2, ($at) +/* 00438CD0 8F818A3C */ lw $at, %got(ignore_vreg)($gp) +/* 00438CD4 A0200000 */ sb $zero, ($at) +/* 00438CD8 10000043 */ b .L00438DE8 +/* 00438CDC A0400000 */ sb $zero, ($v0) +.L00438CE0: +/* 00438CE0 2CA20001 */ sltiu $v0, $a1, 1 +/* 00438CE4 14400003 */ bnez $v0, .L00438CF4 +/* 00438CE8 24010003 */ li $at, 3 +/* 00438CEC 14A10005 */ bne $a1, $at, .L00438D04 +/* 00438CF0 00000000 */ nop +.L00438CF4: +/* 00438CF4 8F818A30 */ lw $at, %got(opt_cse)($gp) +/* 00438CF8 24060001 */ li $a2, 1 +/* 00438CFC 10000004 */ b .L00438D10 +/* 00438D00 A0230000 */ sb $v1, ($at) +.L00438D04: +/* 00438D04 8F818A30 */ lw $at, %got(opt_cse)($gp) +/* 00438D08 24060001 */ li $a2, 1 +/* 00438D0C A0260000 */ sb $a2, ($at) +.L00438D10: +/* 00438D10 14400003 */ bnez $v0, .L00438D20 +/* 00438D14 00401825 */ move $v1, $v0 +/* 00438D18 38A30003 */ xori $v1, $a1, 3 +/* 00438D1C 2C630001 */ sltiu $v1, $v1, 1 +.L00438D20: +/* 00438D20 8F818A34 */ lw $at, %got(opt_labels)($gp) +/* 00438D24 8F828A40 */ lw $v0, %got(tail_call_opt)($gp) +/* 00438D28 A0230000 */ sb $v1, ($at) +/* 00438D2C 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 00438D30 A0260000 */ sb $a2, ($at) +/* 00438D34 8F818A3C */ lw $at, %got(ignore_vreg)($gp) +/* 00438D38 A0200000 */ sb $zero, ($at) +/* 00438D3C 1000002A */ b .L00438DE8 +/* 00438D40 A0400000 */ sb $zero, ($v0) +.L00438D44: +/* 00438D44 2CA20001 */ sltiu $v0, $a1, 1 +/* 00438D48 14400003 */ bnez $v0, .L00438D58 +/* 00438D4C 24010003 */ li $at, 3 +/* 00438D50 14A10005 */ bne $a1, $at, .L00438D68 +/* 00438D54 00000000 */ nop +.L00438D58: +/* 00438D58 8F818A30 */ lw $at, %got(opt_cse)($gp) +/* 00438D5C 24060001 */ li $a2, 1 +/* 00438D60 10000004 */ b .L00438D74 +/* 00438D64 A0230000 */ sb $v1, ($at) +.L00438D68: +/* 00438D68 8F818A30 */ lw $at, %got(opt_cse)($gp) +/* 00438D6C 24060001 */ li $a2, 1 +/* 00438D70 A0260000 */ sb $a2, ($at) +.L00438D74: +/* 00438D74 14400003 */ bnez $v0, .L00438D84 +/* 00438D78 00401825 */ move $v1, $v0 +/* 00438D7C 38A30003 */ xori $v1, $a1, 3 +/* 00438D80 2C630001 */ sltiu $v1, $v1, 1 +.L00438D84: +/* 00438D84 8F818A34 */ lw $at, %got(opt_labels)($gp) +/* 00438D88 A0230000 */ sb $v1, ($at) +/* 00438D8C 8F818A38 */ lw $at, %got(opt_parms)($gp) +/* 00438D90 A0200000 */ sb $zero, ($at) +/* 00438D94 8F818A3C */ lw $at, %got(ignore_vreg)($gp) +/* 00438D98 A0260000 */ sb $a2, ($at) +/* 00438D9C 2C810003 */ sltiu $at, $a0, 3 +/* 00438DA0 14200007 */ bnez $at, .L00438DC0 +/* 00438DA4 00000000 */ nop +/* 00438DA8 8F828A40 */ lw $v0, %got(tail_call_opt)($gp) +/* 00438DAC 904F0000 */ lbu $t7, ($v0) +/* 00438DB0 11E00003 */ beqz $t7, .L00438DC0 +/* 00438DB4 00000000 */ nop +/* 00438DB8 1000000B */ b .L00438DE8 +/* 00438DBC A0460000 */ sb $a2, ($v0) +.L00438DC0: +/* 00438DC0 8F828A40 */ lw $v0, %got(tail_call_opt)($gp) +/* 00438DC4 10000008 */ b .L00438DE8 +/* 00438DC8 A0400000 */ sb $zero, ($v0) +.L00438DCC: +/* 00438DCC 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 00438DD0 8F868038 */ lw $a2, %got(RO_1000B750)($gp) +/* 00438DD4 24040001 */ li $a0, 1 +/* 00438DD8 2405001D */ li $a1, 29 +/* 00438DDC 0320F809 */ jalr $t9 +/* 00438DE0 24C6B750 */ addiu $a2, %lo(RO_1000B750) # addiu $a2, $a2, -0x48b0 +/* 00438DE4 8FBC0018 */ lw $gp, 0x18($sp) +.L00438DE8: +/* 00438DE8 8FBF001C */ lw $ra, 0x1c($sp) +/* 00438DEC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00438DF0 03E00008 */ jr $ra +/* 00438DF4 00000000 */ nop + .type set_opts, @function + .size set_opts, .-set_opts + .end set_opts +)""); diff --git a/src/ugen/parm_mgr.c b/src/ugen/parm_mgr.c new file mode 100644 index 0000000..b5fc704 --- /dev/null +++ b/src/ugen/parm_mgr.c @@ -0,0 +1,828 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.data +D_100162D0: + # 00438E30 parm_reg + .byte 0x0c,0x01,0x00,0x00,0x00,0x10,0x00,0x00 + +D_100162D8: + # 00438FEC map_pars_to_regs + .byte 0x00,0x00,0x81,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00 + +D_100162EC: + # 004395DC fix_amt_ref + .byte 0x00,0x00,0x81,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00 + + + +.bss + .balign 4 +# 100213D0 +glabel fix_amt + # 00439418 check_amt_ref + # 004395DC fix_amt_ref + .space 4 + .size fix_amt, 4 + .type fix_amt, @object + + .balign 16 +# 100214C0 +glabel pars + # 00438FEC map_pars_to_regs + # 00439334 check_amt + # 00439418 check_amt_ref + .space 16 + .size pars, 16 + .type pars, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel pass_in_reg + .ent pass_in_reg + # 0042B410 home_parms +/* 00438E00 908E0020 */ lbu $t6, 0x20($a0) +/* 00438E04 3C010C00 */ lui $at, 0xc00 +/* 00438E08 25CFFFA0 */ addiu $t7, $t6, -0x60 +/* 00438E0C 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00438E10 0018C823 */ negu $t9, $t8 +/* 00438E14 03214024 */ and $t0, $t9, $at +/* 00438E18 01E84804 */ sllv $t1, $t0, $t7 +/* 00438E1C 012002B0 */ tge $t1, $zero, 0xa +/* 00438E20 8C820030 */ lw $v0, 0x30($a0) +/* 00438E24 24420001 */ addiu $v0, $v0, 1 +/* 00438E28 03E00008 */ jr $ra +/* 00438E2C 0002102B */ sltu $v0, $zero, $v0 + .type pass_in_reg, @function + .size pass_in_reg, .-pass_in_reg + .end pass_in_reg + +glabel parm_reg + .ent parm_reg + # 0040E884 func_0040E884 + # 0042A91C pass_in_register + # 0042B410 home_parms + # 0042BDAC eval + # 004432FC translate + # 00447884 assign_vreg +/* 00438E30 3C1C0FBE */ .cpload $t9 +/* 00438E34 279C6C20 */ +/* 00438E38 0399E021 */ +/* 00438E3C 908E0020 */ lbu $t6, 0x20($a0) +/* 00438E40 25CFFFA0 */ addiu $t7, $t6, -0x60 +/* 00438E44 2DF80040 */ sltiu $t8, $t7, 0x40 +/* 00438E48 5300000A */ beql $t8, $zero, .L00438E74 +/* 00438E4C 030002B4 */ teq $t8, $zero, 0xa +/* 00438E50 8F898038 */ lw $t1, %got(D_100162D0)($gp) +/* 00438E54 000FC943 */ sra $t9, $t7, 5 +/* 00438E58 00194080 */ sll $t0, $t9, 2 +/* 00438E5C 252962D0 */ addiu $t1, %lo(D_100162D0) # addiu $t1, $t1, 0x62d0 +/* 00438E60 01285021 */ addu $t2, $t1, $t0 +/* 00438E64 8D4B0000 */ lw $t3, ($t2) +/* 00438E68 01EB6004 */ sllv $t4, $t3, $t7 +/* 00438E6C 29980000 */ slti $t8, $t4, 0 +/* 00438E70 030002B4 */ teq $t8, $zero, 0xa +.L00438E74: +/* 00438E74 8C830030 */ lw $v1, 0x30($a0) +/* 00438E78 2401FFFF */ li $at, -1 +/* 00438E7C 14610003 */ bne $v1, $at, .L00438E8C +/* 00438E80 00000000 */ nop +/* 00438E84 03E00008 */ jr $ra +/* 00438E88 24020048 */ li $v0, 72 + +.L00438E8C: +/* 00438E8C 8F8E89DC */ lw $t6, %got(basicint)($gp) +/* 00438E90 91CE0000 */ lbu $t6, ($t6) +/* 00438E94 15C00007 */ bnez $t6, .L00438EB4 +/* 00438E98 00000000 */ nop +/* 00438E9C 04610003 */ bgez $v1, .L00438EAC +/* 00438EA0 00031083 */ sra $v0, $v1, 2 +/* 00438EA4 24610003 */ addiu $at, $v1, 3 +/* 00438EA8 00011083 */ sra $v0, $at, 2 +.L00438EAC: +/* 00438EAC 03E00008 */ jr $ra +/* 00438EB0 00000000 */ nop + +.L00438EB4: +/* 00438EB4 04610003 */ bgez $v1, .L00438EC4 +/* 00438EB8 000310C3 */ sra $v0, $v1, 3 +/* 00438EBC 24610007 */ addiu $at, $v1, 7 +/* 00438EC0 000110C3 */ sra $v0, $at, 3 +.L00438EC4: +/* 00438EC4 03E00008 */ jr $ra +/* 00438EC8 00000000 */ nop + .type parm_reg, @function + .size parm_reg, .-parm_reg + .end parm_reg + +glabel map_pdefs_to_regs + .ent map_pdefs_to_regs + # 0040F4C8 build_tree +/* 00438ECC 3C1C0FBE */ .cpload $t9 +/* 00438ED0 279C6B84 */ +/* 00438ED4 0399E021 */ +/* 00438ED8 8F828A00 */ lw $v0, %got(n_fp_parm_regs)($gp) +/* 00438EDC 24030001 */ li $v1, 1 +/* 00438EE0 2408FFFF */ li $t0, -1 +/* 00438EE4 8C420000 */ lw $v0, ($v0) +/* 00438EE8 24070065 */ li $a3, 101 +/* 00438EEC 1040001A */ beqz $v0, .L00438F58 +/* 00438EF0 24420001 */ addiu $v0, $v0, 1 +.L00438EF4: +/* 00438EF4 1080003B */ beqz $a0, .L00438FE4 +/* 00438EF8 00033040 */ sll $a2, $v1, 1 +/* 00438EFC 908E0020 */ lbu $t6, 0x20($a0) +/* 00438F00 24630001 */ addiu $v1, $v1, 1 +/* 00438F04 00EE02B6 */ tne $a3, $t6, 0xa +/* 00438F08 908F0021 */ lbu $t7, 0x21($a0) +/* 00438F0C 3C01000C */ lui $at, 0xc +/* 00438F10 34218000 */ ori $at, $at, 0x8000 +/* 00438F14 31F8001F */ andi $t8, $t7, 0x1f +/* 00438F18 2F190020 */ sltiu $t9, $t8, 0x20 +/* 00438F1C 00194823 */ negu $t1, $t9 +/* 00438F20 01215024 */ and $t2, $t1, $at +/* 00438F24 030A5804 */ sllv $t3, $t2, $t8 +/* 00438F28 0563000C */ bgezl $t3, .L00438F5C +/* 00438F2C 24070065 */ li $a3, 101 +/* 00438F30 10A80004 */ beq $a1, $t0, .L00438F44 +/* 00438F34 24C6FFFE */ addiu $a2, $a2, -2 +/* 00438F38 00066080 */ sll $t4, $a2, 2 +/* 00438F3C 00AC082A */ slt $at, $a1, $t4 +/* 00438F40 14200005 */ bnez $at, .L00438F58 +.L00438F44: +/* 00438F44 00066880 */ sll $t5, $a2, 2 +/* 00438F48 25AE00B0 */ addiu $t6, $t5, 0xb0 +/* 00438F4C AC8E0030 */ sw $t6, 0x30($a0) +/* 00438F50 1462FFE8 */ bne $v1, $v0, .L00438EF4 +/* 00438F54 8C840008 */ lw $a0, 8($a0) +.L00438F58: +/* 00438F58 24070065 */ li $a3, 101 +.L00438F5C: +/* 00438F5C 10800021 */ beqz $a0, .L00438FE4 +/* 00438F60 2408FFFF */ li $t0, -1 +/* 00438F64 8F838A7C */ lw $v1, %got(first_pmt_offset)($gp) +/* 00438F68 8F8589DC */ lw $a1, %got(basicint)($gp) +/* 00438F6C 8F8689FC */ lw $a2, %got(n_parm_regs)($gp) +/* 00438F70 8C630000 */ lw $v1, ($v1) +/* 00438F74 90A50000 */ lbu $a1, ($a1) +/* 00438F78 8CC60000 */ lw $a2, ($a2) +/* 00438F7C 908F0020 */ lbu $t7, 0x20($a0) +.L00438F80: +/* 00438F80 00064880 */ sll $t1, $a2, 2 +/* 00438F84 0006C0C0 */ sll $t8, $a2, 3 +/* 00438F88 00EF02B6 */ tne $a3, $t7, 0xa +/* 00438F8C 8C99002C */ lw $t9, 0x2c($a0) +/* 00438F90 03231023 */ subu $v0, $t9, $v1 +/* 00438F94 04410002 */ bgez $v0, .L00438FA0 +/* 00438F98 00000000 */ nop +/* 00438F9C 00021023 */ negu $v0, $v0 +.L00438FA0: +/* 00438FA0 14A00008 */ bnez $a1, .L00438FC4 +/* 00438FA4 0058082A */ slt $at, $v0, $t8 +/* 00438FA8 0049082A */ slt $at, $v0, $t1 +/* 00438FAC 10200003 */ beqz $at, .L00438FBC +/* 00438FB0 244A0010 */ addiu $t2, $v0, 0x10 +/* 00438FB4 10000008 */ b .L00438FD8 +/* 00438FB8 AC8A0030 */ sw $t2, 0x30($a0) +.L00438FBC: +/* 00438FBC 10000006 */ b .L00438FD8 +/* 00438FC0 AC880030 */ sw $t0, 0x30($a0) +.L00438FC4: +/* 00438FC4 10200003 */ beqz $at, .L00438FD4 +/* 00438FC8 244B0020 */ addiu $t3, $v0, 0x20 +/* 00438FCC 10000002 */ b .L00438FD8 +/* 00438FD0 AC8B0030 */ sw $t3, 0x30($a0) +.L00438FD4: +/* 00438FD4 AC880030 */ sw $t0, 0x30($a0) +.L00438FD8: +/* 00438FD8 8C840008 */ lw $a0, 8($a0) +/* 00438FDC 5480FFE8 */ bnel $a0, $zero, .L00438F80 +/* 00438FE0 908F0020 */ lbu $t7, 0x20($a0) +.L00438FE4: +/* 00438FE4 03E00008 */ jr $ra +/* 00438FE8 00000000 */ nop + .type map_pdefs_to_regs, @function + .size map_pdefs_to_regs, .-map_pdefs_to_regs + .end map_pdefs_to_regs + +glabel map_pars_to_regs + .ent map_pars_to_regs + # 004432FC translate +/* 00438FEC 3C1C0FBE */ .cpload $t9 +/* 00438FF0 279C6A64 */ +/* 00438FF4 0399E021 */ +/* 00438FF8 908E0020 */ lbu $t6, 0x20($a0) +/* 00438FFC 27BDFFF8 */ addiu $sp, $sp, -8 +/* 00439000 AFB00004 */ sw $s0, 4($sp) +/* 00439004 240F005C */ li $t7, 92 +/* 00439008 00A08025 */ move $s0, $a1 +/* 0043900C 01CF02B6 */ tne $t6, $t7, 0xa +/* 00439010 8F838B98 */ lw $v1, %got(pars)($gp) +/* 00439014 AC800024 */ sw $zero, 0x24($a0) +/* 00439018 00801025 */ move $v0, $a0 +/* 0043901C 2408FFFF */ li $t0, -1 +/* 00439020 24670010 */ addiu $a3, $v1, 0x10 +.L00439024: +/* 00439024 24630004 */ addiu $v1, $v1, 4 +/* 00439028 1467FFFE */ bne $v1, $a3, .L00439024 +/* 0043902C AC68FFFC */ sw $t0, -4($v1) +/* 00439030 8F858A00 */ lw $a1, %got(n_fp_parm_regs)($gp) +/* 00439034 8C840008 */ lw $a0, 8($a0) +/* 00439038 24060001 */ li $a2, 1 +/* 0043903C 8CA50000 */ lw $a1, ($a1) +/* 00439040 240A0066 */ li $t2, 102 +/* 00439044 24090064 */ li $t1, 100 +/* 00439048 10A00047 */ beqz $a1, .L00439168 +/* 0043904C 24A50001 */ addiu $a1, $a1, 1 +/* 00439050 8F8C8B98 */ lw $t4, %got(pars)($gp) +/* 00439054 8F8B8A7C */ lw $t3, %got(first_pmt_offset)($gp) +.L00439058: +/* 00439058 90830020 */ lbu $v1, 0x20($a0) +/* 0043905C 2C7900A0 */ sltiu $t9, $v1, 0xa0 +/* 00439060 13200009 */ beqz $t9, .L00439088 +/* 00439064 00000000 */ nop +/* 00439068 8F8F8038 */ lw $t7, %got(D_100162D8)($gp) +/* 0043906C 00036943 */ sra $t5, $v1, 5 +/* 00439070 000D7080 */ sll $t6, $t5, 2 +/* 00439074 25EF62D8 */ addiu $t7, %lo(D_100162D8) # addiu $t7, $t7, 0x62d8 +/* 00439078 01EEC021 */ addu $t8, $t7, $t6 +/* 0043907C 8F0D0000 */ lw $t5, ($t8) +/* 00439080 006D7804 */ sllv $t7, $t5, $v1 +/* 00439084 29F90000 */ slti $t9, $t7, 0 +.L00439088: +/* 00439088 5720009F */ bnel $t9, $zero, .L00439308 +/* 0043908C 24010017 */ li $at, 23 +/* 00439090 51230016 */ beql $t1, $v1, .L004390EC +/* 00439094 90990021 */ lbu $t9, 0x21($a0) +/* 00439098 11430013 */ beq $t2, $v1, .L004390E8 +/* 0043909C 2C7800A0 */ sltiu $t8, $v1, 0xa0 +.L004390A0: +/* 004390A0 13000009 */ beqz $t8, .L004390C8 +/* 004390A4 00000000 */ nop +/* 004390A8 8F8E8038 */ lw $t6, %got(D_100162D8)($gp) +/* 004390AC 00036943 */ sra $t5, $v1, 5 +/* 004390B0 000D7880 */ sll $t7, $t5, 2 +/* 004390B4 25CE62D8 */ addiu $t6, %lo(D_100162D8) # addiu $t6, $t6, 0x62d8 +/* 004390B8 01CFC821 */ addu $t9, $t6, $t7 +/* 004390BC 8F2D0000 */ lw $t5, ($t9) +/* 004390C0 006D7004 */ sllv $t6, $t5, $v1 +/* 004390C4 29D80000 */ slti $t8, $t6, 0 +.L004390C8: +/* 004390C8 5700008F */ bnel $t8, $zero, .L00439308 +/* 004390CC 24010017 */ li $at, 23 +/* 004390D0 8C840008 */ lw $a0, 8($a0) +/* 004390D4 90830020 */ lbu $v1, 0x20($a0) +/* 004390D8 51230004 */ beql $t1, $v1, .L004390EC +/* 004390DC 90990021 */ lbu $t9, 0x21($a0) +/* 004390E0 5543FFEF */ bnel $t2, $v1, .L004390A0 +/* 004390E4 2C7800A0 */ sltiu $t8, $v1, 0xa0 +.L004390E8: +/* 004390E8 90990021 */ lbu $t9, 0x21($a0) +.L004390EC: +/* 004390EC 3C01000C */ lui $at, 0xc +/* 004390F0 34218000 */ ori $at, $at, 0x8000 +/* 004390F4 332D001F */ andi $t5, $t9, 0x1f +/* 004390F8 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 004390FC 000E7823 */ negu $t7, $t6 +/* 00439100 01E1C024 */ and $t8, $t7, $at +/* 00439104 01B8C804 */ sllv $t9, $t8, $t5 +/* 00439108 07210017 */ bgez $t9, .L00439168 +/* 0043910C 00D0082A */ slt $at, $a2, $s0 +/* 00439110 12080003 */ beq $s0, $t0, .L00439120 +/* 00439114 000618C0 */ sll $v1, $a2, 3 +/* 00439118 50200014 */ beql $at, $zero, .L0043916C +/* 0043911C 90830020 */ lbu $v1, 0x20($a0) +.L00439120: +/* 00439120 8C8E002C */ lw $t6, 0x2c($a0) +/* 00439124 8D6F0000 */ lw $t7, ($t3) +/* 00439128 246300A8 */ addiu $v1, $v1, 0xa8 +/* 0043912C 24C60001 */ addiu $a2, $a2, 1 +/* 00439130 01CF3823 */ subu $a3, $t6, $t7 +/* 00439134 04E30003 */ bgezl $a3, .L00439144 +/* 00439138 AC830030 */ sw $v1, 0x30($a0) +/* 0043913C 00073823 */ negu $a3, $a3 +/* 00439140 AC830030 */ sw $v1, 0x30($a0) +.L00439144: +/* 00439144 04E10003 */ bgez $a3, .L00439154 +/* 00439148 0007C083 */ sra $t8, $a3, 2 +/* 0043914C 24E10003 */ addiu $at, $a3, 3 +/* 00439150 0001C083 */ sra $t8, $at, 2 +.L00439154: +/* 00439154 00186880 */ sll $t5, $t8, 2 +/* 00439158 018DC821 */ addu $t9, $t4, $t5 +/* 0043915C AF230000 */ sw $v1, ($t9) +/* 00439160 14C5FFBD */ bne $a2, $a1, .L00439058 +/* 00439164 8C840008 */ lw $a0, 8($a0) +.L00439168: +/* 00439168 90830020 */ lbu $v1, 0x20($a0) +.L0043916C: +/* 0043916C 24090064 */ li $t1, 100 +/* 00439170 240A0066 */ li $t2, 102 +/* 00439174 2C6E00A0 */ sltiu $t6, $v1, 0xa0 +/* 00439178 8F8B8A7C */ lw $t3, %got(first_pmt_offset)($gp) +/* 0043917C 11C00009 */ beqz $t6, .L004391A4 +/* 00439180 8F8C8B98 */ lw $t4, %got(pars)($gp) +/* 00439184 8F8D8038 */ lw $t5, %got(D_100162D8)($gp) +/* 00439188 00037943 */ sra $t7, $v1, 5 +/* 0043918C 000FC080 */ sll $t8, $t7, 2 +/* 00439190 25AD62D8 */ addiu $t5, %lo(D_100162D8) # addiu $t5, $t5, 0x62d8 +/* 00439194 01B8C821 */ addu $t9, $t5, $t8 +/* 00439198 8F2F0000 */ lw $t7, ($t9) +/* 0043919C 006F6804 */ sllv $t5, $t7, $v1 +/* 004391A0 29AE0000 */ slti $t6, $t5, 0 +.L004391A4: +/* 004391A4 55C00058 */ bnel $t6, $zero, .L00439308 +/* 004391A8 24010017 */ li $at, 23 +/* 004391AC 8F8689FC */ lw $a2, %got(n_parm_regs)($gp) +/* 004391B0 8F8589DC */ lw $a1, %got(basicint)($gp) +.L004391B4: +/* 004391B4 51230017 */ beql $t1, $v1, .L00439214 +/* 004391B8 8C8E002C */ lw $t6, 0x2c($a0) +/* 004391BC 51430015 */ beql $t2, $v1, .L00439214 +/* 004391C0 8C8E002C */ lw $t6, 0x2c($a0) +/* 004391C4 2C7900A0 */ sltiu $t9, $v1, 0xa0 +.L004391C8: +/* 004391C8 13200009 */ beqz $t9, .L004391F0 +/* 004391CC 00000000 */ nop +/* 004391D0 8F988038 */ lw $t8, %got(D_100162D8)($gp) +/* 004391D4 00037943 */ sra $t7, $v1, 5 +/* 004391D8 000F6880 */ sll $t5, $t7, 2 +/* 004391DC 271862D8 */ addiu $t8, %lo(D_100162D8) # addiu $t8, $t8, 0x62d8 +/* 004391E0 030D7021 */ addu $t6, $t8, $t5 +/* 004391E4 8DCF0000 */ lw $t7, ($t6) +/* 004391E8 006FC004 */ sllv $t8, $t7, $v1 +/* 004391EC 2B190000 */ slti $t9, $t8, 0 +.L004391F0: +/* 004391F0 57200045 */ bnel $t9, $zero, .L00439308 +/* 004391F4 24010017 */ li $at, 23 +/* 004391F8 8C840008 */ lw $a0, 8($a0) +/* 004391FC 90830020 */ lbu $v1, 0x20($a0) +/* 00439200 51230004 */ beql $t1, $v1, .L00439214 +/* 00439204 8C8E002C */ lw $t6, 0x2c($a0) +/* 00439208 5543FFEF */ bnel $t2, $v1, .L004391C8 +/* 0043920C 2C7900A0 */ sltiu $t9, $v1, 0xa0 +/* 00439210 8C8E002C */ lw $t6, 0x2c($a0) +.L00439214: +/* 00439214 8D6F0000 */ lw $t7, ($t3) +/* 00439218 01CF3823 */ subu $a3, $t6, $t7 +/* 0043921C 04E30003 */ bgezl $a3, .L0043922C +/* 00439220 90B80000 */ lbu $t8, ($a1) +/* 00439224 00073823 */ negu $a3, $a3 +/* 00439228 90B80000 */ lbu $t8, ($a1) +.L0043922C: +/* 0043922C 17000014 */ bnez $t8, .L00439280 +/* 00439230 00000000 */ nop +/* 00439234 51430025 */ beql $t2, $v1, .L004392CC +/* 00439238 8C840008 */ lw $a0, 8($a0) +/* 0043923C 8CCD0000 */ lw $t5, ($a2) +/* 00439240 24E30010 */ addiu $v1, $a3, 0x10 +/* 00439244 000DC880 */ sll $t9, $t5, 2 +/* 00439248 00F9082A */ slt $at, $a3, $t9 +/* 0043924C 1020000A */ beqz $at, .L00439278 +/* 00439250 00000000 */ nop +/* 00439254 AC830030 */ sw $v1, 0x30($a0) +/* 00439258 04E10003 */ bgez $a3, .L00439268 +/* 0043925C 00077083 */ sra $t6, $a3, 2 +/* 00439260 24E10003 */ addiu $at, $a3, 3 +/* 00439264 00017083 */ sra $t6, $at, 2 +.L00439268: +/* 00439268 000E7880 */ sll $t7, $t6, 2 +/* 0043926C 018FC021 */ addu $t8, $t4, $t7 +/* 00439270 10000015 */ b .L004392C8 +/* 00439274 AF030000 */ sw $v1, ($t8) +.L00439278: +/* 00439278 10000013 */ b .L004392C8 +/* 0043927C AC880030 */ sw $t0, 0x30($a0) +.L00439280: +/* 00439280 51430012 */ beql $t2, $v1, .L004392CC +/* 00439284 8C840008 */ lw $a0, 8($a0) +/* 00439288 8CCD0000 */ lw $t5, ($a2) +/* 0043928C 24E30020 */ addiu $v1, $a3, 0x20 +/* 00439290 000DC8C0 */ sll $t9, $t5, 3 +/* 00439294 00F9082A */ slt $at, $a3, $t9 +/* 00439298 5020000B */ beql $at, $zero, .L004392C8 +/* 0043929C AC880030 */ sw $t0, 0x30($a0) +/* 004392A0 AC830030 */ sw $v1, 0x30($a0) +/* 004392A4 04E10003 */ bgez $a3, .L004392B4 +/* 004392A8 000770C3 */ sra $t6, $a3, 3 +/* 004392AC 24E10007 */ addiu $at, $a3, 7 +/* 004392B0 000170C3 */ sra $t6, $at, 3 +.L004392B4: +/* 004392B4 000E7880 */ sll $t7, $t6, 2 +/* 004392B8 018FC021 */ addu $t8, $t4, $t7 +/* 004392BC 10000002 */ b .L004392C8 +/* 004392C0 AF030000 */ sw $v1, ($t8) +/* 004392C4 AC880030 */ sw $t0, 0x30($a0) +.L004392C8: +/* 004392C8 8C840008 */ lw $a0, 8($a0) +.L004392CC: +/* 004392CC 90830020 */ lbu $v1, 0x20($a0) +/* 004392D0 2C6D00A0 */ sltiu $t5, $v1, 0xa0 +/* 004392D4 11A00009 */ beqz $t5, .L004392FC +/* 004392D8 00000000 */ nop +/* 004392DC 8F8F8038 */ lw $t7, %got(D_100162D8)($gp) +/* 004392E0 0003C943 */ sra $t9, $v1, 5 +/* 004392E4 00197080 */ sll $t6, $t9, 2 +/* 004392E8 25EF62D8 */ addiu $t7, %lo(D_100162D8) # addiu $t7, $t7, 0x62d8 +/* 004392EC 01EEC021 */ addu $t8, $t7, $t6 +/* 004392F0 8F190000 */ lw $t9, ($t8) +/* 004392F4 00797804 */ sllv $t7, $t9, $v1 +/* 004392F8 29ED0000 */ slti $t5, $t7, 0 +.L004392FC: +/* 004392FC 11A0FFAD */ beqz $t5, .L004391B4 +/* 00439300 00000000 */ nop +/* 00439304 24010017 */ li $at, 23 +.L00439308: +/* 00439308 54610008 */ bnel $v1, $at, .L0043932C +/* 0043930C 8FB00004 */ lw $s0, 4($sp) +/* 00439310 8C98002C */ lw $t8, 0x2c($a0) +/* 00439314 240F0001 */ li $t7, 1 +/* 00439318 33190008 */ andi $t9, $t8, 8 +/* 0043931C 53200003 */ beql $t9, $zero, .L0043932C +/* 00439320 8FB00004 */ lw $s0, 4($sp) +/* 00439324 AC4F0024 */ sw $t7, 0x24($v0) +/* 00439328 8FB00004 */ lw $s0, 4($sp) +.L0043932C: +/* 0043932C 03E00008 */ jr $ra +/* 00439330 27BD0008 */ addiu $sp, $sp, 8 + .type map_pars_to_regs, @function + .size map_pars_to_regs, .-map_pars_to_regs + .end map_pars_to_regs + +glabel check_amt + .ent check_amt + # 00447768 check_reg +/* 00439334 3C1C0FBE */ .cpload $t9 +/* 00439338 279C671C */ +/* 0043933C 0399E021 */ +/* 00439340 8C83002C */ lw $v1, 0x2c($a0) +/* 00439344 006002B2 */ tlt $v1, $zero, 0xa +/* 00439348 8F8E89DC */ lw $t6, %got(basicint)($gp) +/* 0043934C 91CE0000 */ lbu $t6, ($t6) +/* 00439350 15C00018 */ bnez $t6, .L004393B4 +/* 00439354 00000000 */ nop +/* 00439358 8F8F89FC */ lw $t7, %got(n_parm_regs)($gp) +/* 0043935C 8DEF0000 */ lw $t7, ($t7) +/* 00439360 000FC080 */ sll $t8, $t7, 2 +/* 00439364 0078082A */ slt $at, $v1, $t8 +/* 00439368 10200007 */ beqz $at, .L00439388 +/* 0043936C 00000000 */ nop +/* 00439370 8F998A00 */ lw $t9, %got(n_fp_parm_regs)($gp) +/* 00439374 8F390000 */ lw $t9, ($t9) +/* 00439378 001948C0 */ sll $t1, $t9, 3 +/* 0043937C 0069082A */ slt $at, $v1, $t1 +/* 00439380 14200003 */ bnez $at, .L00439390 +/* 00439384 00000000 */ nop +.L00439388: +/* 00439388 03E00008 */ jr $ra +/* 0043938C 2402FFFF */ li $v0, -1 + +.L00439390: +/* 00439390 8F8C8B98 */ lw $t4, %got(pars)($gp) +/* 00439394 04610003 */ bgez $v1, .L004393A4 +/* 00439398 00035083 */ sra $t2, $v1, 2 +/* 0043939C 24610003 */ addiu $at, $v1, 3 +/* 004393A0 00015083 */ sra $t2, $at, 2 +.L004393A4: +/* 004393A4 000A5880 */ sll $t3, $t2, 2 +/* 004393A8 016C6821 */ addu $t5, $t3, $t4 +/* 004393AC 03E00008 */ jr $ra +/* 004393B0 8DA20000 */ lw $v0, ($t5) + +.L004393B4: +/* 004393B4 8F8E89FC */ lw $t6, %got(n_parm_regs)($gp) +/* 004393B8 8DCE0000 */ lw $t6, ($t6) +/* 004393BC 000E78C0 */ sll $t7, $t6, 3 +/* 004393C0 006F082A */ slt $at, $v1, $t7 +/* 004393C4 10200008 */ beqz $at, .L004393E8 +/* 004393C8 00000000 */ nop +/* 004393CC 8F988A00 */ lw $t8, %got(n_fp_parm_regs)($gp) +/* 004393D0 8F180000 */ lw $t8, ($t8) +/* 004393D4 0018C840 */ sll $t9, $t8, 1 +/* 004393D8 00194080 */ sll $t0, $t9, 2 +/* 004393DC 0068082A */ slt $at, $v1, $t0 +/* 004393E0 14200003 */ bnez $at, .L004393F0 +/* 004393E4 00000000 */ nop +.L004393E8: +/* 004393E8 03E00008 */ jr $ra +/* 004393EC 2402FFFF */ li $v0, -1 + +.L004393F0: +/* 004393F0 8F8B8B98 */ lw $t3, %got(pars)($gp) +/* 004393F4 04610003 */ bgez $v1, .L00439404 +/* 004393F8 000348C3 */ sra $t1, $v1, 3 +/* 004393FC 24610007 */ addiu $at, $v1, 7 +/* 00439400 000148C3 */ sra $t1, $at, 3 +.L00439404: +/* 00439404 00095080 */ sll $t2, $t1, 2 +/* 00439408 014B6021 */ addu $t4, $t2, $t3 +/* 0043940C 8D820000 */ lw $v0, ($t4) +/* 00439410 03E00008 */ jr $ra +/* 00439414 00000000 */ nop + .type check_amt, @function + .size check_amt, .-check_amt + .end check_amt + +glabel check_amt_ref + .ent check_amt_ref + # 00439418 check_amt_ref + # 004395DC fix_amt_ref +/* 00439418 3C1C0FBE */ .cpload $t9 +/* 0043941C 279C6638 */ +/* 00439420 0399E021 */ +/* 00439424 27BDFFC8 */ addiu $sp, $sp, -0x38 +/* 00439428 8F8389DC */ lw $v1, %got(basicint)($gp) +/* 0043942C AFB5002C */ sw $s5, 0x2c($sp) +/* 00439430 AFB40028 */ sw $s4, 0x28($sp) +/* 00439434 AFB30024 */ sw $s3, 0x24($sp) +/* 00439438 AFB20020 */ sw $s2, 0x20($sp) +/* 0043943C AFB1001C */ sw $s1, 0x1c($sp) +/* 00439440 AFB00018 */ sw $s0, 0x18($sp) +/* 00439444 00808025 */ move $s0, $a0 +/* 00439448 24110052 */ li $s1, 82 +/* 0043944C 24120005 */ li $s2, 5 +/* 00439450 8F9389FC */ lw $s3, %got(n_parm_regs)($gp) +/* 00439454 8F948A00 */ lw $s4, %got(n_fp_parm_regs)($gp) +/* 00439458 2415000B */ li $s5, 11 +/* 0043945C AFBF0034 */ sw $ra, 0x34($sp) +/* 00439460 AFBC0030 */ sw $gp, 0x30($sp) +/* 00439464 90630000 */ lbu $v1, ($v1) +.L00439468: +/* 00439468 54600023 */ bnel $v1, $zero, .L004394F8 +/* 0043946C 92030020 */ lbu $v1, 0x20($s0) +/* 00439470 92030020 */ lbu $v1, 0x20($s0) +/* 00439474 56230041 */ bnel $s1, $v1, .L0043957C +/* 00439478 8E040000 */ lw $a0, ($s0) +/* 0043947C 920E0021 */ lbu $t6, 0x21($s0) +/* 00439480 000E7E00 */ sll $t7, $t6, 0x18 +/* 00439484 000FC742 */ srl $t8, $t7, 0x1d +/* 00439488 5658003C */ bnel $s2, $t8, .L0043957C +/* 0043948C 8E040000 */ lw $a0, ($s0) +/* 00439490 8E790000 */ lw $t9, ($s3) +/* 00439494 8E02002C */ lw $v0, 0x2c($s0) +/* 00439498 00194080 */ sll $t0, $t9, 2 +/* 0043949C 0048082A */ slt $at, $v0, $t0 +/* 004394A0 14200006 */ bnez $at, .L004394BC +/* 004394A4 00000000 */ nop +/* 004394A8 8E8A0000 */ lw $t2, ($s4) +/* 004394AC 000A58C0 */ sll $t3, $t2, 3 +/* 004394B0 004B082A */ slt $at, $v0, $t3 +/* 004394B4 50200031 */ beql $at, $zero, .L0043957C +/* 004394B8 8E040000 */ lw $a0, ($s0) +.L004394BC: +/* 004394BC 8F8E8B98 */ lw $t6, %got(pars)($gp) +/* 004394C0 8F998AF0 */ lw $t9, %got(fix_amt)($gp) +/* 004394C4 04410003 */ bgez $v0, .L004394D4 +/* 004394C8 00021883 */ sra $v1, $v0, 2 +/* 004394CC 24410003 */ addiu $at, $v0, 3 +/* 004394D0 00011883 */ sra $v1, $at, 2 +.L004394D4: +/* 004394D4 00036880 */ sll $t5, $v1, 2 +/* 004394D8 240CFFFF */ li $t4, -1 +/* 004394DC 01AE7821 */ addu $t7, $t5, $t6 +/* 004394E0 ADEC0000 */ sw $t4, ($t7) +/* 004394E4 24180001 */ li $t8, 1 +/* 004394E8 00794021 */ addu $t0, $v1, $t9 +/* 004394EC 10000032 */ b .L004395B8 +/* 004394F0 A1180000 */ sb $t8, ($t0) +/* 004394F4 92030020 */ lbu $v1, 0x20($s0) +.L004394F8: +/* 004394F8 56230020 */ bnel $s1, $v1, .L0043957C +/* 004394FC 8E040000 */ lw $a0, ($s0) +/* 00439500 92090021 */ lbu $t1, 0x21($s0) +/* 00439504 00095600 */ sll $t2, $t1, 0x18 +/* 00439508 000A5F42 */ srl $t3, $t2, 0x1d +/* 0043950C 564B001B */ bnel $s2, $t3, .L0043957C +/* 00439510 8E040000 */ lw $a0, ($s0) +/* 00439514 8E6D0000 */ lw $t5, ($s3) +/* 00439518 8E02002C */ lw $v0, 0x2c($s0) +/* 0043951C 000D70C0 */ sll $t6, $t5, 3 +/* 00439520 004E082A */ slt $at, $v0, $t6 +/* 00439524 14200006 */ bnez $at, .L00439540 +/* 00439528 00000000 */ nop +/* 0043952C 8E8F0000 */ lw $t7, ($s4) +/* 00439530 000FC900 */ sll $t9, $t7, 4 +/* 00439534 0059082A */ slt $at, $v0, $t9 +/* 00439538 50200010 */ beql $at, $zero, .L0043957C +/* 0043953C 8E040000 */ lw $a0, ($s0) +.L00439540: +/* 00439540 8F898B98 */ lw $t1, %got(pars)($gp) +/* 00439544 8F8D8AF0 */ lw $t5, %got(fix_amt)($gp) +/* 00439548 04410003 */ bgez $v0, .L00439558 +/* 0043954C 000218C3 */ sra $v1, $v0, 3 +/* 00439550 24410007 */ addiu $at, $v0, 7 +/* 00439554 000118C3 */ sra $v1, $at, 3 +.L00439558: +/* 00439558 00034080 */ sll $t0, $v1, 2 +/* 0043955C 2418FFFF */ li $t8, -1 +/* 00439560 01095021 */ addu $t2, $t0, $t1 +/* 00439564 AD580000 */ sw $t8, ($t2) +/* 00439568 240B0001 */ li $t3, 1 +/* 0043956C 006D7021 */ addu $t6, $v1, $t5 +/* 00439570 10000011 */ b .L004395B8 +/* 00439574 A1CB0000 */ sb $t3, ($t6) +/* 00439578 8E040000 */ lw $a0, ($s0) +.L0043957C: +/* 0043957C 50800008 */ beql $a0, $zero, .L004395A0 +/* 00439580 8E020004 */ lw $v0, 4($s0) +/* 00439584 52A30006 */ beql $s5, $v1, .L004395A0 +/* 00439588 8E020004 */ lw $v0, 4($s0) +/* 0043958C 8F998490 */ lw $t9, %call16(check_amt_ref)($gp) +/* 00439590 0320F809 */ jalr $t9 +/* 00439594 00000000 */ nop +/* 00439598 8FBC0030 */ lw $gp, 0x30($sp) +/* 0043959C 8E020004 */ lw $v0, 4($s0) +.L004395A0: +/* 004395A0 50400006 */ beql $v0, $zero, .L004395BC +/* 004395A4 8FBF0034 */ lw $ra, 0x34($sp) +/* 004395A8 8F8389DC */ lw $v1, %got(basicint)($gp) +/* 004395AC 00408025 */ move $s0, $v0 +/* 004395B0 1000FFAD */ b .L00439468 +/* 004395B4 90630000 */ lbu $v1, ($v1) +.L004395B8: +/* 004395B8 8FBF0034 */ lw $ra, 0x34($sp) +.L004395BC: +/* 004395BC 8FB00018 */ lw $s0, 0x18($sp) +/* 004395C0 8FB1001C */ lw $s1, 0x1c($sp) +/* 004395C4 8FB20020 */ lw $s2, 0x20($sp) +/* 004395C8 8FB30024 */ lw $s3, 0x24($sp) +/* 004395CC 8FB40028 */ lw $s4, 0x28($sp) +/* 004395D0 8FB5002C */ lw $s5, 0x2c($sp) +/* 004395D4 03E00008 */ jr $ra +/* 004395D8 27BD0038 */ addiu $sp, $sp, 0x38 + .type check_amt_ref, @function + .size check_amt_ref, .-check_amt_ref + .end check_amt_ref + +glabel fix_amt_ref + .ent fix_amt_ref + # 004432FC translate +/* 004395DC 3C1C0FBE */ .cpload $t9 +/* 004395E0 279C6474 */ +/* 004395E4 0399E021 */ +/* 004395E8 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 004395EC AFB60030 */ sw $s6, 0x30($sp) +/* 004395F0 24160004 */ li $s6, 4 +/* 004395F4 AFB70034 */ sw $s7, 0x34($sp) +/* 004395F8 AFB20020 */ sw $s2, 0x20($sp) +/* 004395FC 32C30003 */ andi $v1, $s6, 3 +/* 00439600 0080B825 */ move $s7, $a0 +/* 00439604 AFBF003C */ sw $ra, 0x3c($sp) +/* 00439608 AFBC0038 */ sw $gp, 0x38($sp) +/* 0043960C AFB5002C */ sw $s5, 0x2c($sp) +/* 00439610 AFB40028 */ sw $s4, 0x28($sp) +/* 00439614 AFB30024 */ sw $s3, 0x24($sp) +/* 00439618 AFB1001C */ sw $s1, 0x1c($sp) +/* 0043961C AFB00018 */ sw $s0, 0x18($sp) +/* 00439620 1060000A */ beqz $v1, .L0043964C +/* 00439624 00009025 */ move $s2, $zero +/* 00439628 8F8E8AF0 */ lw $t6, %got(fix_amt)($gp) +/* 0043962C 00601025 */ move $v0, $v1 +/* 00439630 000E8021 */ addu $s0, $zero, $t6 +.L00439634: +/* 00439634 26520001 */ addiu $s2, $s2, 1 +/* 00439638 A2000000 */ sb $zero, ($s0) +/* 0043963C 1452FFFD */ bne $v0, $s2, .L00439634 +/* 00439640 26100001 */ addiu $s0, $s0, 1 +/* 00439644 5256000B */ beql $s2, $s6, .L00439674 +/* 00439648 8EF00008 */ lw $s0, 8($s7) +.L0043964C: +/* 0043964C 8F8F8AF0 */ lw $t7, %got(fix_amt)($gp) +/* 00439650 024F8021 */ addu $s0, $s2, $t7 +/* 00439654 02CF1021 */ addu $v0, $s6, $t7 +.L00439658: +/* 00439658 26100004 */ addiu $s0, $s0, 4 +/* 0043965C A200FFFC */ sb $zero, -4($s0) +/* 00439660 A200FFFD */ sb $zero, -3($s0) +/* 00439664 A200FFFE */ sb $zero, -2($s0) +/* 00439668 1602FFFB */ bne $s0, $v0, .L00439658 +/* 0043966C A200FFFF */ sb $zero, -1($s0) +/* 00439670 8EF00008 */ lw $s0, 8($s7) +.L00439674: +/* 00439674 24110064 */ li $s1, 100 +/* 00439678 92020020 */ lbu $v0, 0x20($s0) +/* 0043967C 2C5800A0 */ sltiu $t8, $v0, 0xa0 +/* 00439680 13000009 */ beqz $t8, .L004396A8 +/* 00439684 00000000 */ nop +/* 00439688 8F898038 */ lw $t1, %got(D_100162EC)($gp) +/* 0043968C 0002C943 */ sra $t9, $v0, 5 +/* 00439690 00194080 */ sll $t0, $t9, 2 +/* 00439694 252962EC */ addiu $t1, %lo(D_100162EC) # addiu $t1, $t1, 0x62ec +/* 00439698 01285021 */ addu $t2, $t1, $t0 +/* 0043969C 8D4B0000 */ lw $t3, ($t2) +/* 004396A0 004B6004 */ sllv $t4, $t3, $v0 +/* 004396A4 29980000 */ slti $t8, $t4, 0 +.L004396A8: +/* 004396A8 57000018 */ bnel $t8, $zero, .L0043970C +/* 004396AC 00009025 */ move $s2, $zero +.L004396B0: +/* 004396B0 56220007 */ bnel $s1, $v0, .L004396D0 +/* 004396B4 8E100008 */ lw $s0, 8($s0) +/* 004396B8 8F998490 */ lw $t9, %call16(check_amt_ref)($gp) +/* 004396BC 8E040000 */ lw $a0, ($s0) +/* 004396C0 0320F809 */ jalr $t9 +/* 004396C4 00000000 */ nop +/* 004396C8 8FBC0038 */ lw $gp, 0x38($sp) +/* 004396CC 8E100008 */ lw $s0, 8($s0) +.L004396D0: +/* 004396D0 92020020 */ lbu $v0, 0x20($s0) +/* 004396D4 2C4E00A0 */ sltiu $t6, $v0, 0xa0 +/* 004396D8 11C00009 */ beqz $t6, .L00439700 +/* 004396DC 00000000 */ nop +/* 004396E0 8F898038 */ lw $t1, %got(D_100162EC)($gp) +/* 004396E4 00027943 */ sra $t7, $v0, 5 +/* 004396E8 000FC880 */ sll $t9, $t7, 2 +/* 004396EC 252962EC */ addiu $t1, %lo(D_100162EC) # addiu $t1, $t1, 0x62ec +/* 004396F0 01394021 */ addu $t0, $t1, $t9 +/* 004396F4 8D0A0000 */ lw $t2, ($t0) +/* 004396F8 004A5804 */ sllv $t3, $t2, $v0 +/* 004396FC 296E0000 */ slti $t6, $t3, 0 +.L00439700: +/* 00439700 11C0FFEB */ beqz $t6, .L004396B0 +/* 00439704 00000000 */ nop +/* 00439708 00009025 */ move $s2, $zero +.L0043970C: +/* 0043970C 24160004 */ li $s6, 4 +/* 00439710 8F908AF0 */ lw $s0, %got(fix_amt)($gp) +/* 00439714 8F958A2C */ lw $s5, %got(unitsperaddr)($gp) +/* 00439718 2414FF1F */ li $s4, -225 +/* 0043971C 8F938A28 */ lw $s3, %got(addr_dtype)($gp) +.L00439720: +/* 00439720 920D0000 */ lbu $t5, ($s0) +/* 00439724 51A00033 */ beql $t5, $zero, .L004397F4 +/* 00439728 26520001 */ addiu $s2, $s2, 1 +/* 0043972C 8F998664 */ lw $t9, %call16(build_op)($gp) +/* 00439730 24040052 */ li $a0, 82 +/* 00439734 0320F809 */ jalr $t9 +/* 00439738 00000000 */ nop +/* 0043973C 90510021 */ lbu $s1, 0x21($v0) +/* 00439740 92780000 */ lbu $t8, ($s3) +/* 00439744 8FBC0038 */ lw $gp, 0x38($sp) +/* 00439748 00117EC0 */ sll $t7, $s1, 0x1b +/* 0043974C 000F4EC2 */ srl $t1, $t7, 0x1b +/* 00439750 0309C826 */ xor $t9, $t8, $t1 +/* 00439754 3328001F */ andi $t0, $t9, 0x1f +/* 00439758 01115826 */ xor $t3, $t0, $s1 +/* 0043975C 01746024 */ and $t4, $t3, $s4 +/* 00439760 A04B0021 */ sb $t3, 0x21($v0) +/* 00439764 358E0060 */ ori $t6, $t4, 0x60 +/* 00439768 A04E0021 */ sb $t6, 0x21($v0) +/* 0043976C 8EA30000 */ lw $v1, ($s5) +/* 00439770 264D0004 */ addiu $t5, $s2, 4 +/* 00439774 A4400022 */ sh $zero, 0x22($v0) +/* 00439778 01A30019 */ multu $t5, $v1 +/* 0043977C AC430028 */ sw $v1, 0x28($v0) +/* 00439780 2404007B */ li $a0, 123 +/* 00439784 00402825 */ move $a1, $v0 +/* 00439788 00007812 */ mflo $t7 +/* 0043978C AC4F002C */ sw $t7, 0x2c($v0) +/* 00439790 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00439794 0320F809 */ jalr $t9 +/* 00439798 00000000 */ nop +/* 0043979C 90510021 */ lbu $s1, 0x21($v0) +/* 004397A0 92780000 */ lbu $t8, ($s3) +/* 004397A4 8FBC0038 */ lw $gp, 0x38($sp) +/* 004397A8 00114EC0 */ sll $t1, $s1, 0x1b +/* 004397AC 0009CEC2 */ srl $t9, $t1, 0x1b +/* 004397B0 03194026 */ xor $t0, $t8, $t9 +/* 004397B4 310A001F */ andi $t2, $t0, 0x1f +/* 004397B8 01516026 */ xor $t4, $t2, $s1 +/* 004397BC 01947024 */ and $t6, $t4, $s4 +/* 004397C0 A04C0021 */ sb $t4, 0x21($v0) +/* 004397C4 35CD00A0 */ ori $t5, $t6, 0xa0 +/* 004397C8 A04D0021 */ sb $t5, 0x21($v0) +/* 004397CC 8EA30000 */ lw $v1, ($s5) +/* 004397D0 A4400022 */ sh $zero, 0x22($v0) +/* 004397D4 02430019 */ multu $s2, $v1 +/* 004397D8 AC430028 */ sw $v1, 0x28($v0) +/* 004397DC 00007812 */ mflo $t7 +/* 004397E0 AC4F002C */ sw $t7, 0x2c($v0) +/* 004397E4 8EE90008 */ lw $t1, 8($s7) +/* 004397E8 AC490008 */ sw $t1, 8($v0) +/* 004397EC AEE20008 */ sw $v0, 8($s7) +/* 004397F0 26520001 */ addiu $s2, $s2, 1 +.L004397F4: +/* 004397F4 1656FFCA */ bne $s2, $s6, .L00439720 +/* 004397F8 26100001 */ addiu $s0, $s0, 1 +/* 004397FC 8FBF003C */ lw $ra, 0x3c($sp) +/* 00439800 8FB00018 */ lw $s0, 0x18($sp) +/* 00439804 8FB1001C */ lw $s1, 0x1c($sp) +/* 00439808 8FB20020 */ lw $s2, 0x20($sp) +/* 0043980C 8FB30024 */ lw $s3, 0x24($sp) +/* 00439810 8FB40028 */ lw $s4, 0x28($sp) +/* 00439814 8FB5002C */ lw $s5, 0x2c($sp) +/* 00439818 8FB60030 */ lw $s6, 0x30($sp) +/* 0043981C 8FB70034 */ lw $s7, 0x34($sp) +/* 00439820 03E00008 */ jr $ra +/* 00439824 27BD0040 */ addiu $sp, $sp, 0x40 + .type fix_amt_ref, @function + .size fix_amt_ref, .-fix_amt_ref + .end fix_amt_ref +)""); diff --git a/src/ugen/reg_mgr.c b/src/ugen/reg_mgr.c new file mode 100644 index 0000000..99960dc --- /dev/null +++ b/src/ugen/reg_mgr.c @@ -0,0 +1,4993 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000B770: + # 00439910 find_non_special_reg + .ascii "Needed register: all permantently allocated: impossible " + +RO_1000B7C0: + # 00439910 find_non_special_reg + .ascii "reg_mgr.p " + +RO_1000B810: + # 0043A020 dump_reg + .ascii ", usage " + +RO_1000B818: + # 0043A020 dump_reg + .ascii ": kind " + +RO_1000B820: + # 0043A020 dump_reg + .ascii "register " + +RO_1000B829: + # 0043A1B8 print_regs + .ascii "reg_list: " + +RO_1000B833: + # 0043A5E8 spill + .ascii "register content is empty " + +RO_1000B883: + # 0043A5E8 spill + .ascii "reg_mgr.p " + +RO_1000B8D3: + # 0043A888 spill_reg + .ascii " illegal register type " + +RO_1000B923: + # 0043A888 spill_reg + .ascii "reg_mgr.p " + +RO_1000B973: + # 0043A888 spill_reg + .ascii " register kind = " + +RO_1000B985: + # 0043A888 spill_reg + .asciz "reg = " + + .balign 4 +jtbl_1000B98C: + # 0043A888 spill_reg + .gpword .L0043A914 + .gpword .L0043A938 + .gpword .L0043A95C + .gpword .L0043A980 + .gpword .L0043A980 + .gpword .L0043A914 + .gpword .L0043A914 + +RO_1000B9A8: + # 0043AB48 get_one_reg + .ascii "register not on used/free list " + +RO_1000B9F8: + # 0043AB48 get_one_reg + .ascii "reg_mgr.p " + +RO_1000BA48: + # 0043B0F8 get_fp_reg + .ascii "fp register not on used/free list " + +RO_1000BA98: + # 0043B0F8 get_fp_reg + .ascii "reg_mgr.p " + +RO_1000BAE8: + # 0043B478 spill_two_regs + .ascii "register not on used/free list " + +RO_1000BB38: + # 0043B478 spill_two_regs + .ascii "reg_mgr.p " + +RO_1000BB88: + # 0043BC80 content_of + .ascii "register content is empty " + +RO_1000BBD8: + # 0043BC80 content_of + .ascii "reg_mgr.p " + +RO_1000BC28: + # 0043BE04 dec_usage + .ascii "usage count is 0, cannot decrement " + +RO_1000BC78: + # 0043BE04 dec_usage + .ascii "reg_mgr.p " + +RO_1000BCC8: + # 0043BE04 dec_usage + .ascii "usage count is 0, cannot decrement " + +RO_1000BD18: + # 0043BE04 dec_usage + .ascii "reg_mgr.p " + +RO_1000BD68: + # 0043C098 free_reg + .ascii "register to be removed not on free list " + +RO_1000BDB8: + # 0043C098 free_reg + .ascii "reg_mgr.p " + +RO_1000BE08: + # 0043C098 free_reg + .ascii "register to be removed not on used list " + +RO_1000BE58: + # 0043C098 free_reg + .ascii "reg_mgr.p " + +RO_1000BEA8: + # 0043C410 free_fp_reg + .ascii "fp register to be removed not on free list " + +RO_1000BEF8: + # 0043C410 free_fp_reg + .ascii "reg_mgr.p " + +RO_1000BF48: + # 0043C674 add_to_free_list + .ascii "register not free " + +RO_1000BF98: + # 0043C674 add_to_free_list + .ascii "reg_mgr.p " + +RO_1000BFE8: + # 0043C804 add_to_fp_free_list + .ascii "fp register not free " + +RO_1000C038: + # 0043C804 add_to_fp_free_list + .ascii "reg_mgr.p " + +RO_1000C088: + # 0043C994 remove_from_free_list + .ascii "register not free " + +RO_1000C0D8: + # 0043C994 remove_from_free_list + .ascii "reg_mgr.p " + +RO_1000C128: + # 0043C994 remove_from_free_list + .ascii "register not free " + +RO_1000C178: + # 0043C994 remove_from_free_list + .ascii "reg_mgr.p " + +RO_1000C1C8: + # 0043CCA0 remove_from_fp_free_list + .ascii "fp register not free " + +RO_1000C218: + # 0043CCA0 remove_from_fp_free_list + .ascii "reg_mgr.p " + +RO_1000C268: + # 0043CE54 check_no_used + .ascii "fp registers left in use at bb boundary " + +RO_1000C2B8: + # 0043CE54 check_no_used + .ascii "reg_mgr.p " + +RO_1000C308: + # 0043CE54 check_no_used + .ascii "gp registers left in use at bb boundary " + +RO_1000C358: + # 0043CE54 check_no_used + .ascii "reg_mgr.p " + +RO_1000C3A8: + # 0043D1A4 get_free_fp_reg_special + .ascii "could not remove register from fp_regs_used list! " + +RO_1000C3F8: + # 0043D1A4 get_free_fp_reg_special + .ascii "reg_mgr.p " + +RO_1000C448: + # 0043D3F8 get_free_reg_special + .ascii "could not remove register from regs_used list! " + +RO_1000C498: + # 0043D3F8 get_free_reg_special + .asciz "reg_mgr.p " + +.data +# 10016300 +glabel kind_tab + # 00439A94 get_reg_kind + .byte 0x01,0x00,0x01,0x01,0x01,0x06,0x01,0x06,0x01,0x00,0x01,0x00,0x03,0x02,0x01,0x06,0x04,0x00 + .type kind_tab, @object + .size kind_tab, .-kind_tab # 18 + .space 2 + +# 10016314 +glabel size_tab + # 0043A888 spill_reg + # 0043B478 spill_two_regs + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special + .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x04 + .type size_tab, @object + .size size_tab, .-size_tab # 32 + +# 10016334 +glabel size_tab2 + # 0043A888 spill_reg + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x08 + .type size_tab2, @object + .size size_tab2, .-size_tab2 # 32 + +# 10016354 +glabel mips_cg_regs + # 00439AE0 init_regs + .byte 0x0e,0x0f,0x18,0x19 + .type mips_cg_regs, @object + .size mips_cg_regs, .-mips_cg_regs # 4 + +# 10016358 +glabel name_tab + .ascii "$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $gp $sp $30 $31 $f0 $f1 $f2 $f3 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 $f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 $fcc0$fcc1$fcc2$fcc3$fcc4$fcc5$fcc6$fcc7none \0\0\0" + .type name_tab, @object + .size name_tab, .-name_tab # 368 + +D_100164C8: + # 0043A020 dump_reg + # 0043A1B8 print_regs + # 0043A888 spill_reg + .ascii "xr0\0xr1\0xr2\0xr3\0xr4\0xr5\0xr6\0xr7\0xr8\0xr9\0xr10\0 xr11\0 xr12\0 xr13\0 xr14\0 xr15\0 xr16\0 xr17\0 xr18\0 xr19\0 xr20\0 xr21\0 xr22\0 xr23\0 xr24\0 xr25\0 xr26\0 xr27\0 xr28\0 xr29\0 xr30\0 xr31\0 xfr0\0 xfr1\0 xfr2\0 xfr3\0 xfr4\0 xfr5\0 xfr6\0 xfr7\0 xfr8\0 xfr9\0 xfr10\0 xfr11\0 xfr12\0 xfr13\0 xfr14\0 xfr15\0 xfr16\0 xfr17\0 xfr18\0 xfr19\0 xfr20\0 xfr21\0 xfr22\0 xfr23\0 xfr24\0 xfr25\0 xfr26\0 xfr27\0 xfr28\0 xfr29\0 xfr30\0 xfr31\0 xfcc0\0 xfcc1\0 xfcc2\0 xfcc3\0 xfcc4\0 xfcc5\0 xfcc6\0 xfcc7\0 xnoreg\0\0" + +D_100166E8: + # 0043A020 dump_reg + # 0043A888 spill_reg + .ascii "no_reg\0 i_reg\0 f_reg\0 d_reg\0 x_reg\0 q_reg\0 di_reg\0 di_s_reg\0\0 \0\0\0\0" + + + +.bss + .balign 4 +# 100213D4 +glabel gp_regs_free + # 00439AE0 init_regs + # 0043A5E8 spill + # 0043A888 spill_reg + # 0043AB48 get_one_reg + # 0043AE78 get_reg1 + # 0043B3D4 free_reg_is_available + # 0043B478 spill_two_regs + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043C098 free_reg + # 0043C5D4 force_free_reg + # 0043C674 add_to_free_list + # 0043C994 remove_from_free_list + # 0043D3F8 get_free_reg_special + .space 4 + .size gp_regs_free, 4 + .type gp_regs_free, @object + + .balign 4 +# 100213D8 +glabel gp_regs_used + # 00439AE0 init_regs + # 0043A5E8 spill + # 0043A888 spill_reg + # 0043AB48 get_one_reg + # 0043AE78 get_reg1 + # 0043B478 spill_two_regs + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043C098 free_reg + # 0043C5D4 force_free_reg + # 0043CE54 check_no_used + # 0043D148 move_to_end_gp_list + # 0043D3F8 get_free_reg_special + .space 4 + .size gp_regs_used, 4 + .type gp_regs_used, @object + + .balign 4 +# 100213DC +glabel fp_regs_free + # 00439AE0 init_regs + # 0043A888 spill_reg + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043BAA8 get_free_fp_reg + # 0043C410 free_fp_reg + # 0043C804 add_to_fp_free_list + # 0043CCA0 remove_from_fp_free_list + # 0043D1A4 get_free_fp_reg_special + .space 4 + .size fp_regs_free, 4 + .type fp_regs_free, @object + + .balign 4 +# 100213E0 +glabel fp_regs_used + # 00439AE0 init_regs + # 0043A888 spill_reg + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043BAA8 get_free_fp_reg + # 0043C410 free_fp_reg + # 0043CE54 check_no_used + # 0043D0EC move_to_end_fp_list + # 0043D1A4 get_free_fp_reg_special + .space 4 + .size fp_regs_used, 4 + .type fp_regs_used, @object + + .balign 16 +# 10021920 +glabel restricted_regs + # 00439850 clear_restricted_regs + # 004398B8 add_restricted_reg + # 0043D3F8 get_free_reg_special + .space 292 + .size restricted_regs, 292 + .type restricted_regs, @object + + .balign 16 +# 10021A48 +glabel restricted_fp_regs + # 00439850 clear_restricted_regs + # 004398E4 add_restricted_fp_reg + # 0043D1A4 get_free_fp_reg_special + .space 292 + .size restricted_fp_regs, 292 + .type restricted_fp_regs, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel clear_restricted_regs + .ent clear_restricted_regs +/* 00439850 3C1C0FBE */ .cpload $t9 +/* 00439854 279C6200 */ +/* 00439858 0399E021 */ +/* 0043985C 8F818BC4 */ lw $at, %got(restricted_regs)($gp) +/* 00439860 8F838BC4 */ lw $v1, %got(restricted_regs)($gp) +/* 00439864 8F848BC8 */ lw $a0, %got(restricted_fp_regs)($gp) +/* 00439868 AC200000 */ sw $zero, ($at) +/* 0043986C 8F818BC8 */ lw $at, %got(restricted_fp_regs)($gp) +/* 00439870 8F828BC8 */ lw $v0, %got(restricted_fp_regs)($gp) +/* 00439874 24630004 */ addiu $v1, $v1, 4 +/* 00439878 24840004 */ addiu $a0, $a0, 4 +/* 0043987C AC200000 */ sw $zero, ($at) +/* 00439880 24420124 */ addiu $v0, $v0, 0x124 +.L00439884: +/* 00439884 24840010 */ addiu $a0, $a0, 0x10 +/* 00439888 AC600000 */ sw $zero, ($v1) +/* 0043988C AC80FFF0 */ sw $zero, -0x10($a0) +/* 00439890 AC600004 */ sw $zero, 4($v1) +/* 00439894 AC80FFF4 */ sw $zero, -0xc($a0) +/* 00439898 AC600008 */ sw $zero, 8($v1) +/* 0043989C AC80FFF8 */ sw $zero, -8($a0) +/* 004398A0 AC60000C */ sw $zero, 0xc($v1) +/* 004398A4 AC80FFFC */ sw $zero, -4($a0) +/* 004398A8 1482FFF6 */ bne $a0, $v0, .L00439884 +/* 004398AC 24630010 */ addiu $v1, $v1, 0x10 +/* 004398B0 03E00008 */ jr $ra +/* 004398B4 00000000 */ nop + .type clear_restricted_regs, @function + .size clear_restricted_regs, .-clear_restricted_regs + .end clear_restricted_regs + +glabel add_restricted_reg + .ent add_restricted_reg +/* 004398B8 3C1C0FBE */ .cpload $t9 +/* 004398BC 279C6198 */ +/* 004398C0 0399E021 */ +/* 004398C4 8F8F8BC4 */ lw $t7, %got(restricted_regs)($gp) +/* 004398C8 00047080 */ sll $t6, $a0, 2 +/* 004398CC AFA40000 */ sw $a0, ($sp) +/* 004398D0 01CF1021 */ addu $v0, $t6, $t7 +/* 004398D4 8C580000 */ lw $t8, ($v0) +/* 004398D8 27190001 */ addiu $t9, $t8, 1 +/* 004398DC 03E00008 */ jr $ra +/* 004398E0 AC590000 */ sw $t9, ($v0) + .type add_restricted_reg, @function + .size add_restricted_reg, .-add_restricted_reg + .end add_restricted_reg + +glabel add_restricted_fp_reg + .ent add_restricted_fp_reg +/* 004398E4 3C1C0FBE */ .cpload $t9 +/* 004398E8 279C616C */ +/* 004398EC 0399E021 */ +/* 004398F0 8F8F8BC8 */ lw $t7, %got(restricted_fp_regs)($gp) +/* 004398F4 00047080 */ sll $t6, $a0, 2 +/* 004398F8 AFA40000 */ sw $a0, ($sp) +/* 004398FC 01CF1021 */ addu $v0, $t6, $t7 +/* 00439900 8C580000 */ lw $t8, ($v0) +/* 00439904 27190001 */ addiu $t9, $t8, 1 +/* 00439908 03E00008 */ jr $ra +/* 0043990C AC590000 */ sw $t9, ($v0) + .type add_restricted_fp_reg, @function + .size add_restricted_fp_reg, .-add_restricted_fp_reg + .end add_restricted_fp_reg + +glabel find_non_special_reg + .ent find_non_special_reg + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 00439910 3C1C0FBE */ .cpload $t9 +/* 00439914 279C6140 */ +/* 00439918 0399E021 */ +/* 0043991C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00439920 AFA400C0 */ sw $a0, 0xc0($sp) +/* 00439924 8FA401E4 */ lw $a0, 0x1e4($sp) +/* 00439928 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043992C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00439930 AFA500C4 */ sw $a1, 0xc4($sp) +/* 00439934 AFA600C8 */ sw $a2, 0xc8($sp) +/* 00439938 AFA700CC */ sw $a3, 0xcc($sp) +/* 0043993C 90830000 */ lbu $v1, ($a0) +/* 00439940 90820001 */ lbu $v0, 1($a0) +/* 00439944 27A400C0 */ addiu $a0, $sp, 0xc0 +/* 00439948 2406000C */ li $a2, 12 +/* 0043994C 1062000F */ beq $v1, $v0, .L0043998C +/* 00439950 03A06025 */ move $t4, $sp +/* 00439954 8F858BCC */ lw $a1, %got(regs)($gp) +/* 00439958 00037080 */ sll $t6, $v1, 2 +.L0043995C: +/* 0043995C 008E7821 */ addu $t7, $a0, $t6 +/* 00439960 8DF80000 */ lw $t8, ($t7) +/* 00439964 17000003 */ bnez $t8, .L00439974 +/* 00439968 00000000 */ nop +/* 0043996C 10000045 */ b .L00439A84 +/* 00439970 00601025 */ move $v0, $v1 +.L00439974: +/* 00439974 00660019 */ multu $v1, $a2 +/* 00439978 0000C812 */ mflo $t9 +/* 0043997C 00B94021 */ addu $t0, $a1, $t9 +/* 00439980 91030006 */ lbu $v1, 6($t0) +/* 00439984 5462FFF5 */ bnel $v1, $v0, .L0043995C +/* 00439988 00037080 */ sll $t6, $v1, 2 +.L0043998C: +/* 0043998C 8F898038 */ lw $t1, %got(RO_1000B7C0)($gp) +/* 00439990 24040004 */ li $a0, 4 +/* 00439994 24050118 */ li $a1, 280 +/* 00439998 2529B7C0 */ addiu $t1, %lo(RO_1000B7C0) # addiu $t1, $t1, -0x4840 +/* 0043999C 252D0048 */ addiu $t5, $t1, 0x48 +.L004399A0: +/* 004399A0 892B0000 */ lwl $t3, ($t1) +/* 004399A4 992B0003 */ lwr $t3, 3($t1) +/* 004399A8 2529000C */ addiu $t1, $t1, 0xc +/* 004399AC 258C000C */ addiu $t4, $t4, 0xc +/* 004399B0 A98BFFFC */ swl $t3, -4($t4) +/* 004399B4 B98BFFFF */ swr $t3, -1($t4) +/* 004399B8 892AFFF8 */ lwl $t2, -8($t1) +/* 004399BC 992AFFFB */ lwr $t2, -5($t1) +/* 004399C0 A98A0000 */ swl $t2, ($t4) +/* 004399C4 B98A0003 */ swr $t2, 3($t4) +/* 004399C8 892BFFFC */ lwl $t3, -4($t1) +/* 004399CC 992BFFFF */ lwr $t3, -1($t1) +/* 004399D0 A98B0004 */ swl $t3, 4($t4) +/* 004399D4 152DFFF2 */ bne $t1, $t5, .L004399A0 +/* 004399D8 B98B0007 */ swr $t3, 7($t4) +/* 004399DC 892B0000 */ lwl $t3, ($t1) +/* 004399E0 992B0003 */ lwr $t3, 3($t1) +/* 004399E4 8F8E8038 */ lw $t6, %got(RO_1000B770)($gp) +/* 004399E8 03A0C825 */ move $t9, $sp +/* 004399EC A98B0008 */ swl $t3, 8($t4) +/* 004399F0 B98B000B */ swr $t3, 0xb($t4) +/* 004399F4 892A0004 */ lwl $t2, 4($t1) +/* 004399F8 992A0007 */ lwr $t2, 7($t1) +/* 004399FC 25CEB770 */ addiu $t6, %lo(RO_1000B770) # addiu $t6, $t6, -0x4890 +/* 00439A00 25C80048 */ addiu $t0, $t6, 0x48 +/* 00439A04 A98A000C */ swl $t2, 0xc($t4) +/* 00439A08 B98A000F */ swr $t2, 0xf($t4) +.L00439A0C: +/* 00439A0C 89D80000 */ lwl $t8, ($t6) +/* 00439A10 99D80003 */ lwr $t8, 3($t6) +/* 00439A14 25CE000C */ addiu $t6, $t6, 0xc +/* 00439A18 2739000C */ addiu $t9, $t9, 0xc +/* 00439A1C AB38004C */ swl $t8, 0x4c($t9) +/* 00439A20 BB38004F */ swr $t8, 0x4f($t9) +/* 00439A24 89CFFFF8 */ lwl $t7, -8($t6) +/* 00439A28 99CFFFFB */ lwr $t7, -5($t6) +/* 00439A2C AB2F0050 */ swl $t7, 0x50($t9) +/* 00439A30 BB2F0053 */ swr $t7, 0x53($t9) +/* 00439A34 89D8FFFC */ lwl $t8, -4($t6) +/* 00439A38 99D8FFFF */ lwr $t8, -1($t6) +/* 00439A3C AB380054 */ swl $t8, 0x54($t9) +/* 00439A40 15C8FFF2 */ bne $t6, $t0, .L00439A0C +/* 00439A44 BB380057 */ swr $t8, 0x57($t9) +/* 00439A48 89D80000 */ lwl $t8, ($t6) +/* 00439A4C 99D80003 */ lwr $t8, 3($t6) +/* 00439A50 AB380058 */ swl $t8, 0x58($t9) +/* 00439A54 BB38005B */ swr $t8, 0x5b($t9) +/* 00439A58 89CF0004 */ lwl $t7, 4($t6) +/* 00439A5C 99CF0007 */ lwr $t7, 7($t6) +/* 00439A60 AB2F005C */ swl $t7, 0x5c($t9) +/* 00439A64 BB2F005F */ swr $t7, 0x5f($t9) +/* 00439A68 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00439A6C 8FA7000C */ lw $a3, 0xc($sp) +/* 00439A70 8FA60008 */ lw $a2, 8($sp) +/* 00439A74 0320F809 */ jalr $t9 +/* 00439A78 00000000 */ nop +/* 00439A7C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00439A80 93A200BF */ lbu $v0, 0xbf($sp) +.L00439A84: +/* 00439A84 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00439A88 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00439A8C 03E00008 */ jr $ra +/* 00439A90 00000000 */ nop + .type find_non_special_reg, @function + .size find_non_special_reg, .-find_non_special_reg + .end find_non_special_reg + +glabel get_reg_kind + .ent get_reg_kind +/* 00439A94 3C1C0FBE */ .cpload $t9 +/* 00439A98 279C5FBC */ +/* 00439A9C 0399E021 */ +/* 00439AA0 8F8E88F0 */ lw $t6, %got(kind_tab)($gp) +/* 00439AA4 AFA40000 */ sw $a0, ($sp) +/* 00439AA8 008E7821 */ addu $t7, $a0, $t6 +/* 00439AAC 03E00008 */ jr $ra +/* 00439AB0 91E20000 */ lbu $v0, ($t7) + .type get_reg_kind, @function + .size get_reg_kind, .-get_reg_kind + .end get_reg_kind + +glabel kind_of_register + .ent kind_of_register + # 00441308 spill_to_temp +/* 00439AB4 3C1C0FBE */ .cpload $t9 +/* 00439AB8 279C5F9C */ +/* 00439ABC 0399E021 */ +/* 00439AC0 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 00439AC4 00047080 */ sll $t6, $a0, 2 +/* 00439AC8 01C47023 */ subu $t6, $t6, $a0 +/* 00439ACC 000E7080 */ sll $t6, $t6, 2 +/* 00439AD0 AFA40000 */ sw $a0, ($sp) +/* 00439AD4 01CFC021 */ addu $t8, $t6, $t7 +/* 00439AD8 03E00008 */ jr $ra +/* 00439ADC 93020008 */ lbu $v0, 8($t8) + .type kind_of_register, @function + .size kind_of_register, .-kind_of_register + .end kind_of_register + +glabel init_regs + .ent init_regs + # 0042BDAC eval +/* 00439AE0 3C1C0FBE */ .cpload $t9 +/* 00439AE4 279C5F70 */ +/* 00439AE8 0399E021 */ +/* 00439AEC 8F818BCC */ lw $at, %got(regs)($gp) +/* 00439AF0 240E0048 */ li $t6, 72 +/* 00439AF4 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 00439AF8 AC200000 */ sw $zero, ($at) +/* 00439AFC 8F818BCC */ lw $at, %got(regs)($gp) +/* 00439B00 8F828BCC */ lw $v0, %got(regs)($gp) +/* 00439B04 8F838BCC */ lw $v1, %got(regs)($gp) +/* 00439B08 A4200004 */ sh $zero, 4($at) +/* 00439B0C 8F818BCC */ lw $at, %got(regs)($gp) +/* 00439B10 AFB30024 */ sw $s3, 0x24($sp) +/* 00439B14 AFBF002C */ sw $ra, 0x2c($sp) +/* 00439B18 A02E0006 */ sb $t6, 6($at) +/* 00439B1C 8F818BCC */ lw $at, %got(regs)($gp) +/* 00439B20 AFBC0028 */ sw $gp, 0x28($sp) +/* 00439B24 AFB20020 */ sw $s2, 0x20($sp) +/* 00439B28 A0200007 */ sb $zero, 7($at) +/* 00439B2C 8F818BCC */ lw $at, %got(regs)($gp) +/* 00439B30 AFB1001C */ sw $s1, 0x1c($sp) +/* 00439B34 AFB00018 */ sw $s0, 0x18($sp) +/* 00439B38 24130048 */ li $s3, 72 +/* 00439B3C 2442000C */ addiu $v0, $v0, 0xc +/* 00439B40 2463036C */ addiu $v1, $v1, 0x36c +/* 00439B44 A0200008 */ sb $zero, 8($at) +.L00439B48: +/* 00439B48 24420030 */ addiu $v0, $v0, 0x30 +/* 00439B4C AC40FFD0 */ sw $zero, -0x30($v0) +/* 00439B50 A440FFD4 */ sh $zero, -0x2c($v0) +/* 00439B54 A053FFD6 */ sb $s3, -0x2a($v0) +/* 00439B58 A040FFD7 */ sb $zero, -0x29($v0) +/* 00439B5C A040FFD8 */ sb $zero, -0x28($v0) +/* 00439B60 AC40FFDC */ sw $zero, -0x24($v0) +/* 00439B64 A440FFE0 */ sh $zero, -0x20($v0) +/* 00439B68 A053FFE2 */ sb $s3, -0x1e($v0) +/* 00439B6C A040FFE3 */ sb $zero, -0x1d($v0) +/* 00439B70 A040FFE4 */ sb $zero, -0x1c($v0) +/* 00439B74 AC40FFE8 */ sw $zero, -0x18($v0) +/* 00439B78 A440FFEC */ sh $zero, -0x14($v0) +/* 00439B7C A053FFEE */ sb $s3, -0x12($v0) +/* 00439B80 A040FFEF */ sb $zero, -0x11($v0) +/* 00439B84 A040FFF0 */ sb $zero, -0x10($v0) +/* 00439B88 AC40FFF4 */ sw $zero, -0xc($v0) +/* 00439B8C A440FFF8 */ sh $zero, -8($v0) +/* 00439B90 A053FFFA */ sb $s3, -6($v0) +/* 00439B94 A040FFFB */ sb $zero, -5($v0) +/* 00439B98 1443FFEB */ bne $v0, $v1, .L00439B48 +/* 00439B9C A040FFFC */ sb $zero, -4($v0) +/* 00439BA0 8F828AF4 */ lw $v0, %got(gp_regs_free)($gp) +/* 00439BA4 8F928A14 */ lw $s2, %got(n_cg_regs)($gp) +/* 00439BA8 A0530000 */ sb $s3, ($v0) +/* 00439BAC A0530001 */ sb $s3, 1($v0) +/* 00439BB0 8E520000 */ lw $s2, ($s2) +/* 00439BB4 1240000F */ beqz $s2, .L00439BF4 +/* 00439BB8 00000000 */ nop +/* 00439BBC 8F9088FC */ lw $s0, %got(mips_cg_regs)($gp) +/* 00439BC0 26520001 */ addiu $s2, $s2, 1 +/* 00439BC4 260FFFFF */ addiu $t7, $s0, -1 +/* 00439BC8 024F1021 */ addu $v0, $s2, $t7 +.L00439BCC: +/* 00439BCC 8F99851C */ lw $t9, %call16(add_to_free_list)($gp) +/* 00439BD0 92040000 */ lbu $a0, ($s0) +/* 00439BD4 AFA20034 */ sw $v0, 0x34($sp) +/* 00439BD8 0320F809 */ jalr $t9 +/* 00439BDC 00000000 */ nop +/* 00439BE0 8FA20034 */ lw $v0, 0x34($sp) +/* 00439BE4 26100001 */ addiu $s0, $s0, 1 +/* 00439BE8 8FBC0028 */ lw $gp, 0x28($sp) +/* 00439BEC 1602FFF7 */ bne $s0, $v0, .L00439BCC +/* 00439BF0 00000000 */ nop +.L00439BF4: +/* 00439BF4 8F918A0C */ lw $s1, %got(n_unsaved_regs)($gp) +/* 00439BF8 24100008 */ li $s0, 8 +/* 00439BFC 8E310000 */ lw $s1, ($s1) +/* 00439C00 26310007 */ addiu $s1, $s1, 7 +/* 00439C04 2E210008 */ sltiu $at, $s1, 8 +/* 00439C08 14200008 */ bnez $at, .L00439C2C +/* 00439C0C 26310001 */ addiu $s1, $s1, 1 +.L00439C10: +/* 00439C10 8F99851C */ lw $t9, %call16(add_to_free_list)($gp) +/* 00439C14 02002025 */ move $a0, $s0 +/* 00439C18 0320F809 */ jalr $t9 +/* 00439C1C 00000000 */ nop +/* 00439C20 26100001 */ addiu $s0, $s0, 1 +/* 00439C24 1611FFFA */ bne $s0, $s1, .L00439C10 +/* 00439C28 8FBC0028 */ lw $gp, 0x28($sp) +.L00439C2C: +/* 00439C2C 8F828AFC */ lw $v0, %got(fp_regs_free)($gp) +/* 00439C30 8F928A18 */ lw $s2, %got(n_fp_cg_regs)($gp) +/* 00439C34 24100024 */ li $s0, 36 +/* 00439C38 A0530000 */ sb $s3, ($v0) +/* 00439C3C A0530001 */ sb $s3, 1($v0) +/* 00439C40 8E520000 */ lw $s2, ($s2) +/* 00439C44 24110001 */ li $s1, 1 +/* 00439C48 1240000B */ beqz $s2, .L00439C78 +/* 00439C4C 26520001 */ addiu $s2, $s2, 1 +.L00439C50: +/* 00439C50 8F998520 */ lw $t9, %call16(add_to_fp_free_list)($gp) +/* 00439C54 02002025 */ move $a0, $s0 +/* 00439C58 00002825 */ move $a1, $zero +/* 00439C5C 0320F809 */ jalr $t9 +/* 00439C60 00000000 */ nop +/* 00439C64 26100002 */ addiu $s0, $s0, 2 +/* 00439C68 26310001 */ addiu $s1, $s1, 1 +/* 00439C6C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00439C70 1632FFF7 */ bne $s1, $s2, .L00439C50 +/* 00439C74 321000FF */ andi $s0, $s0, 0xff +.L00439C78: +/* 00439C78 8F928A10 */ lw $s2, %got(n_unsaved_fp_regs)($gp) +/* 00439C7C 24100030 */ li $s0, 48 +/* 00439C80 24110001 */ li $s1, 1 +/* 00439C84 8E520000 */ lw $s2, ($s2) +/* 00439C88 1240000B */ beqz $s2, .L00439CB8 +/* 00439C8C 26520001 */ addiu $s2, $s2, 1 +.L00439C90: +/* 00439C90 8F998520 */ lw $t9, %call16(add_to_fp_free_list)($gp) +/* 00439C94 02002025 */ move $a0, $s0 +/* 00439C98 00002825 */ move $a1, $zero +/* 00439C9C 0320F809 */ jalr $t9 +/* 00439CA0 00000000 */ nop +/* 00439CA4 26100002 */ addiu $s0, $s0, 2 +/* 00439CA8 26310001 */ addiu $s1, $s1, 1 +/* 00439CAC 8FBC0028 */ lw $gp, 0x28($sp) +/* 00439CB0 1632FFF7 */ bne $s1, $s2, .L00439C90 +/* 00439CB4 321000FF */ andi $s0, $s0, 0xff +.L00439CB8: +/* 00439CB8 8F988A24 */ lw $t8, %got(fp32regs)($gp) +/* 00439CBC 24100021 */ li $s0, 33 +/* 00439CC0 24110001 */ li $s1, 1 +/* 00439CC4 93180000 */ lbu $t8, ($t8) +/* 00439CC8 24120011 */ li $s2, 17 +/* 00439CCC 1300000B */ beqz $t8, .L00439CFC +/* 00439CD0 00000000 */ nop +.L00439CD4: +/* 00439CD4 8F998520 */ lw $t9, %call16(add_to_fp_free_list)($gp) +/* 00439CD8 02002025 */ move $a0, $s0 +/* 00439CDC 00002825 */ move $a1, $zero +/* 00439CE0 0320F809 */ jalr $t9 +/* 00439CE4 00000000 */ nop +/* 00439CE8 26100002 */ addiu $s0, $s0, 2 +/* 00439CEC 26310001 */ addiu $s1, $s1, 1 +/* 00439CF0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00439CF4 1632FFF7 */ bne $s1, $s2, .L00439CD4 +/* 00439CF8 321000FF */ andi $s0, $s0, 0xff +.L00439CFC: +/* 00439CFC 8F9189FC */ lw $s1, %got(n_parm_regs)($gp) +/* 00439D00 8E310000 */ lw $s1, ($s1) +/* 00439D04 26310003 */ addiu $s1, $s1, 3 +/* 00439D08 2E210004 */ sltiu $at, $s1, 4 +/* 00439D0C 14200025 */ bnez $at, .L00439DA4 +/* 00439D10 26310001 */ addiu $s1, $s1, 1 +/* 00439D14 2624FFFC */ addiu $a0, $s1, -4 +/* 00439D18 30840003 */ andi $a0, $a0, 3 +/* 00439D1C 1080000E */ beqz $a0, .L00439D58 +/* 00439D20 24100004 */ li $s0, 4 +/* 00439D24 8F888BCC */ lw $t0, %got(regs)($gp) +/* 00439D28 0010C880 */ sll $t9, $s0, 2 +/* 00439D2C 0330C823 */ subu $t9, $t9, $s0 +/* 00439D30 0019C880 */ sll $t9, $t9, 2 +/* 00439D34 24830004 */ addiu $v1, $a0, 4 +/* 00439D38 03281021 */ addu $v0, $t9, $t0 +.L00439D3C: +/* 00439D3C 26100001 */ addiu $s0, $s0, 1 +/* 00439D40 A0400007 */ sb $zero, 7($v0) +/* 00439D44 A4400004 */ sh $zero, 4($v0) +/* 00439D48 1470FFFC */ bne $v1, $s0, .L00439D3C +/* 00439D4C 2442000C */ addiu $v0, $v0, 0xc +/* 00439D50 12110014 */ beq $s0, $s1, .L00439DA4 +/* 00439D54 00000000 */ nop +.L00439D58: +/* 00439D58 8F8A8BCC */ lw $t2, %got(regs)($gp) +/* 00439D5C 00104880 */ sll $t1, $s0, 2 +/* 00439D60 00115880 */ sll $t3, $s1, 2 +/* 00439D64 01715823 */ subu $t3, $t3, $s1 +/* 00439D68 01304823 */ subu $t1, $t1, $s0 +/* 00439D6C 00094880 */ sll $t1, $t1, 2 +/* 00439D70 000B5880 */ sll $t3, $t3, 2 +/* 00439D74 016A1821 */ addu $v1, $t3, $t2 +/* 00439D78 012A1021 */ addu $v0, $t1, $t2 +.L00439D7C: +/* 00439D7C 24420030 */ addiu $v0, $v0, 0x30 +/* 00439D80 A040FFD7 */ sb $zero, -0x29($v0) +/* 00439D84 A440FFD4 */ sh $zero, -0x2c($v0) +/* 00439D88 A040FFE3 */ sb $zero, -0x1d($v0) +/* 00439D8C A440FFE0 */ sh $zero, -0x20($v0) +/* 00439D90 A040FFEF */ sb $zero, -0x11($v0) +/* 00439D94 A440FFEC */ sh $zero, -0x14($v0) +/* 00439D98 A040FFFB */ sb $zero, -5($v0) +/* 00439D9C 1443FFF7 */ bne $v0, $v1, .L00439D7C +/* 00439DA0 A440FFF8 */ sh $zero, -8($v0) +.L00439DA4: +/* 00439DA4 8F838A00 */ lw $v1, %got(n_fp_parm_regs)($gp) +/* 00439DA8 2410002C */ li $s0, 44 +/* 00439DAC 8C630000 */ lw $v1, ($v1) +/* 00439DB0 00031840 */ sll $v1, $v1, 1 +/* 00439DB4 2463002A */ addiu $v1, $v1, 0x2a +/* 00439DB8 2C61002C */ sltiu $at, $v1, 0x2c +/* 00439DBC 1420000A */ bnez $at, .L00439DE8 +/* 00439DC0 00000000 */ nop +/* 00439DC4 8F828BCC */ lw $v0, %got(regs)($gp) +/* 00439DC8 24420210 */ addiu $v0, $v0, 0x210 +.L00439DCC: +/* 00439DCC 26100002 */ addiu $s0, $s0, 2 +/* 00439DD0 321000FF */ andi $s0, $s0, 0xff +/* 00439DD4 0070082B */ sltu $at, $v1, $s0 +/* 00439DD8 A0400007 */ sb $zero, 7($v0) +/* 00439DDC A4400004 */ sh $zero, 4($v0) +/* 00439DE0 1020FFFA */ beqz $at, .L00439DCC +/* 00439DE4 24420018 */ addiu $v0, $v0, 0x18 +.L00439DE8: +/* 00439DE8 8F918A04 */ lw $s1, %got(n_saved_regs)($gp) +/* 00439DEC 8E310000 */ lw $s1, ($s1) +/* 00439DF0 2631000F */ addiu $s1, $s1, 0xf +/* 00439DF4 2E210010 */ sltiu $at, $s1, 0x10 +/* 00439DF8 14200025 */ bnez $at, .L00439E90 +/* 00439DFC 26310001 */ addiu $s1, $s1, 1 +/* 00439E00 2624FFF0 */ addiu $a0, $s1, -0x10 +/* 00439E04 30840003 */ andi $a0, $a0, 3 +/* 00439E08 1080000E */ beqz $a0, .L00439E44 +/* 00439E0C 24100010 */ li $s0, 16 +/* 00439E10 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 00439E14 00106080 */ sll $t4, $s0, 2 +/* 00439E18 01906023 */ subu $t4, $t4, $s0 +/* 00439E1C 000C6080 */ sll $t4, $t4, 2 +/* 00439E20 24830010 */ addiu $v1, $a0, 0x10 +/* 00439E24 018D1021 */ addu $v0, $t4, $t5 +.L00439E28: +/* 00439E28 26100001 */ addiu $s0, $s0, 1 +/* 00439E2C A0400007 */ sb $zero, 7($v0) +/* 00439E30 A4400004 */ sh $zero, 4($v0) +/* 00439E34 1470FFFC */ bne $v1, $s0, .L00439E28 +/* 00439E38 2442000C */ addiu $v0, $v0, 0xc +/* 00439E3C 12110014 */ beq $s0, $s1, .L00439E90 +/* 00439E40 00000000 */ nop +.L00439E44: +/* 00439E44 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 00439E48 00107080 */ sll $t6, $s0, 2 +/* 00439E4C 0011C080 */ sll $t8, $s1, 2 +/* 00439E50 0311C023 */ subu $t8, $t8, $s1 +/* 00439E54 01D07023 */ subu $t6, $t6, $s0 +/* 00439E58 000E7080 */ sll $t6, $t6, 2 +/* 00439E5C 0018C080 */ sll $t8, $t8, 2 +/* 00439E60 030F1821 */ addu $v1, $t8, $t7 +/* 00439E64 01CF1021 */ addu $v0, $t6, $t7 +.L00439E68: +/* 00439E68 24420030 */ addiu $v0, $v0, 0x30 +/* 00439E6C A040FFD7 */ sb $zero, -0x29($v0) +/* 00439E70 A440FFD4 */ sh $zero, -0x2c($v0) +/* 00439E74 A040FFE3 */ sb $zero, -0x1d($v0) +/* 00439E78 A440FFE0 */ sh $zero, -0x20($v0) +/* 00439E7C A040FFEF */ sb $zero, -0x11($v0) +/* 00439E80 A440FFEC */ sh $zero, -0x14($v0) +/* 00439E84 A040FFFB */ sb $zero, -5($v0) +/* 00439E88 1443FFF7 */ bne $v0, $v1, .L00439E68 +/* 00439E8C A440FFF8 */ sh $zero, -8($v0) +.L00439E90: +/* 00439E90 8F838A08 */ lw $v1, %got(n_saved_fp_regs)($gp) +/* 00439E94 24100034 */ li $s0, 52 +/* 00439E98 8C630000 */ lw $v1, ($v1) +/* 00439E9C 00031840 */ sll $v1, $v1, 1 +/* 00439EA0 24630032 */ addiu $v1, $v1, 0x32 +/* 00439EA4 2C610034 */ sltiu $at, $v1, 0x34 +/* 00439EA8 1420001B */ bnez $at, .L00439F18 +/* 00439EAC 00000000 */ nop +/* 00439EB0 8F928BCC */ lw $s2, %got(regs)($gp) +/* 00439EB4 8F918A20 */ lw $s1, %got(ufsm)($gp) +/* 00439EB8 92390000 */ lbu $t9, ($s1) +.L00439EBC: +/* 00439EBC 00104080 */ sll $t0, $s0, 2 +/* 00439EC0 01104023 */ subu $t0, $t0, $s0 +/* 00439EC4 1320000C */ beqz $t9, .L00439EF8 +/* 00439EC8 00084080 */ sll $t0, $t0, 2 +/* 00439ECC 8F998520 */ lw $t9, %call16(add_to_fp_free_list)($gp) +/* 00439ED0 02002025 */ move $a0, $s0 +/* 00439ED4 00002825 */ move $a1, $zero +/* 00439ED8 0320F809 */ jalr $t9 +/* 00439EDC 00000000 */ nop +/* 00439EE0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00439EE4 8F838A08 */ lw $v1, %got(n_saved_fp_regs)($gp) +/* 00439EE8 8C630000 */ lw $v1, ($v1) +/* 00439EEC 00031840 */ sll $v1, $v1, 1 +/* 00439EF0 10000004 */ b .L00439F04 +/* 00439EF4 24630032 */ addiu $v1, $v1, 0x32 +.L00439EF8: +/* 00439EF8 02481021 */ addu $v0, $s2, $t0 +/* 00439EFC A0400007 */ sb $zero, 7($v0) +/* 00439F00 A4400004 */ sh $zero, 4($v0) +.L00439F04: +/* 00439F04 26100002 */ addiu $s0, $s0, 2 +/* 00439F08 321000FF */ andi $s0, $s0, 0xff +/* 00439F0C 0070082B */ sltu $at, $v1, $s0 +/* 00439F10 5020FFEA */ beql $at, $zero, .L00439EBC +/* 00439F14 92390000 */ lbu $t9, ($s1) +.L00439F18: +/* 00439F18 8F828AF8 */ lw $v0, %got(gp_regs_used)($gp) +/* 00439F1C 8F838B00 */ lw $v1, %got(fp_regs_used)($gp) +/* 00439F20 8FBF002C */ lw $ra, 0x2c($sp) +/* 00439F24 A0530000 */ sb $s3, ($v0) +/* 00439F28 A0530001 */ sb $s3, 1($v0) +/* 00439F2C A0730000 */ sb $s3, ($v1) +/* 00439F30 A0730001 */ sb $s3, 1($v1) +/* 00439F34 8FB30024 */ lw $s3, 0x24($sp) +/* 00439F38 8FB00018 */ lw $s0, 0x18($sp) +/* 00439F3C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00439F40 8FB20020 */ lw $s2, 0x20($sp) +/* 00439F44 03E00008 */ jr $ra +/* 00439F48 27BD0058 */ addiu $sp, $sp, 0x58 + .type init_regs, @function + .size init_regs, .-init_regs + .end init_regs + +glabel fill_reg + .ent fill_reg + # 0042BDAC eval + # 0043A5E8 spill + # 0043AB48 get_one_reg + # 0043AE78 get_reg1 + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043C098 free_reg + # 0043C410 free_fp_reg + # 0043C5D4 force_free_reg + # 0043C674 add_to_free_list + # 0043C804 add_to_fp_free_list + # 0043C994 remove_from_free_list + # 0043CCA0 remove_from_fp_free_list + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 00439F4C 3C1C0FBE */ .cpload $t9 +/* 00439F50 279C5B04 */ +/* 00439F54 0399E021 */ +/* 00439F58 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 00439F5C 00047080 */ sll $t6, $a0, 2 +/* 00439F60 01C47023 */ subu $t6, $t6, $a0 +/* 00439F64 000E7080 */ sll $t6, $t6, 2 +/* 00439F68 01CF1021 */ addu $v0, $t6, $t7 +/* 00439F6C AFA40000 */ sw $a0, ($sp) +/* 00439F70 AFA60008 */ sw $a2, 8($sp) +/* 00439F74 AFA7000C */ sw $a3, 0xc($sp) +/* 00439F78 AC450000 */ sw $a1, ($v0) +/* 00439F7C A4460004 */ sh $a2, 4($v0) +/* 00439F80 03E00008 */ jr $ra +/* 00439F84 A0470008 */ sb $a3, 8($v0) + .type fill_reg, @function + .size fill_reg, .-fill_reg + .end fill_reg + +glabel copy_reg + .ent copy_reg + # 0043A5E8 spill +/* 00439F88 3C1C0FBE */ .cpload $t9 +/* 00439F8C 279C5AC8 */ +/* 00439F90 0399E021 */ +/* 00439F94 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00439F98 8F998210 */ lw $t9, %call16(emit_rr)($gp) +/* 00439F9C AFBF001C */ sw $ra, 0x1c($sp) +/* 00439FA0 AFA50024 */ sw $a1, 0x24($sp) +/* 00439FA4 AFA60028 */ sw $a2, 0x28($sp) +/* 00439FA8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00439FAC AFA40020 */ sw $a0, 0x20($sp) +/* 00439FB0 93A5002B */ lbu $a1, 0x2b($sp) +/* 00439FB4 0320F809 */ jalr $t9 +/* 00439FB8 93A60027 */ lbu $a2, 0x27($sp) +/* 00439FBC 93AE002B */ lbu $t6, 0x2b($sp) +/* 00439FC0 2405000C */ li $a1, 12 +/* 00439FC4 93B80027 */ lbu $t8, 0x27($sp) +/* 00439FC8 01C50019 */ multu $t6, $a1 +/* 00439FCC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00439FD0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00439FD4 8F848BCC */ lw $a0, %got(regs)($gp) +/* 00439FD8 00007812 */ mflo $t7 +/* 00439FDC 008F1021 */ addu $v0, $a0, $t7 +/* 00439FE0 00000000 */ nop +/* 00439FE4 03050019 */ multu $t8, $a1 +/* 00439FE8 0000C812 */ mflo $t9 +/* 00439FEC 00991821 */ addu $v1, $a0, $t9 +/* 00439FF0 8C680000 */ lw $t0, ($v1) +/* 00439FF4 AC480000 */ sw $t0, ($v0) +/* 00439FF8 94690004 */ lhu $t1, 4($v1) +/* 00439FFC A4490004 */ sh $t1, 4($v0) +/* 0043A000 906A0008 */ lbu $t2, 8($v1) +/* 0043A004 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043A008 03E00008 */ jr $ra +/* 0043A00C A04A0008 */ sb $t2, 8($v0) + .type copy_reg, @function + .size copy_reg, .-copy_reg + .end copy_reg + +glabel list_is_empty + .ent list_is_empty + # 0043A45C append_to_list + # 0043A5E8 spill + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043CE54 check_no_used + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 0043A010 90820000 */ lbu $v0, ($a0) +/* 0043A014 38420048 */ xori $v0, $v0, 0x48 +/* 0043A018 03E00008 */ jr $ra +/* 0043A01C 2C420001 */ sltiu $v0, $v0, 1 + .type list_is_empty, @function + .size list_is_empty, .-list_is_empty + .end list_is_empty + +glabel dump_reg + .ent dump_reg +/* 0043A020 3C1C0FBE */ .cpload $t9 +/* 0043A024 279C5A30 */ +/* 0043A028 0399E021 */ +/* 0043A02C 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0043A030 AFB70038 */ sw $s7, 0x38($sp) +/* 0043A034 AFB4002C */ sw $s4, 0x2c($sp) +/* 0043A038 8F948038 */ lw $s4, %got(D_100164C8)($gp) +/* 0043A03C 8F978038 */ lw $s7, %got(D_100166E8)($gp) +/* 0043A040 AFBE0040 */ sw $fp, 0x40($sp) +/* 0043A044 AFB60034 */ sw $s6, 0x34($sp) +/* 0043A048 AFB50030 */ sw $s5, 0x30($sp) +/* 0043A04C AFB30028 */ sw $s3, 0x28($sp) +/* 0043A050 AFB20024 */ sw $s2, 0x24($sp) +/* 0043A054 8F928954 */ lw $s2, %got(output)($gp) +/* 0043A058 309300FF */ andi $s3, $a0, 0xff +/* 0043A05C 8F958BCC */ lw $s5, %got(regs)($gp) +/* 0043A060 2416000C */ li $s6, 12 +/* 0043A064 241E0006 */ li $fp, 6 +/* 0043A068 AFBF0044 */ sw $ra, 0x44($sp) +/* 0043A06C AFBC003C */ sw $gp, 0x3c($sp) +/* 0043A070 AFB10020 */ sw $s1, 0x20($sp) +/* 0043A074 AFB0001C */ sw $s0, 0x1c($sp) +/* 0043A078 AFA40048 */ sw $a0, 0x48($sp) +/* 0043A07C 269464C8 */ addiu $s4, %lo(D_100164C8) # addiu $s4, $s4, 0x64c8 +/* 0043A080 26F766E8 */ addiu $s7, %lo(D_100166E8) # addiu $s7, $s7, 0x66e8 +.L0043A084: +/* 0043A084 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A088 8F858038 */ lw $a1, %got(RO_1000B820)($gp) +/* 0043A08C 8E440000 */ lw $a0, ($s2) +/* 0043A090 24060009 */ li $a2, 9 +/* 0043A094 24070009 */ li $a3, 9 +/* 0043A098 0320F809 */ jalr $t9 +/* 0043A09C 24A5B820 */ addiu $a1, %lo(RO_1000B820) # addiu $a1, $a1, -0x47e0 +/* 0043A0A0 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A0A4 8E500000 */ lw $s0, ($s2) +/* 0043A0A8 240E000A */ li $t6, 10 +/* 0043A0AC 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043A0B0 AFAE0010 */ sw $t6, 0x10($sp) +/* 0043A0B4 02602825 */ move $a1, $s3 +/* 0043A0B8 02803025 */ move $a2, $s4 +/* 0043A0BC 00003825 */ move $a3, $zero +/* 0043A0C0 0320F809 */ jalr $t9 +/* 0043A0C4 02002025 */ move $a0, $s0 +/* 0043A0C8 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A0CC 02002025 */ move $a0, $s0 +/* 0043A0D0 24060008 */ li $a2, 8 +/* 0043A0D4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A0D8 8F858038 */ lw $a1, %got(RO_1000B818)($gp) +/* 0043A0DC 24070008 */ li $a3, 8 +/* 0043A0E0 0320F809 */ jalr $t9 +/* 0043A0E4 24A5B818 */ addiu $a1, %lo(RO_1000B818) # addiu $a1, $a1, -0x47e8 +/* 0043A0E8 02760019 */ multu $s3, $s6 +/* 0043A0EC 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A0F0 8E500000 */ lw $s0, ($s2) +/* 0043A0F4 2418000A */ li $t8, 10 +/* 0043A0F8 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043A0FC AFB80010 */ sw $t8, 0x10($sp) +/* 0043A100 02E03025 */ move $a2, $s7 +/* 0043A104 00003825 */ move $a3, $zero +/* 0043A108 02002025 */ move $a0, $s0 +/* 0043A10C 00007812 */ mflo $t7 +/* 0043A110 02AF8821 */ addu $s1, $s5, $t7 +/* 0043A114 0320F809 */ jalr $t9 +/* 0043A118 92250008 */ lbu $a1, 8($s1) +/* 0043A11C 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A120 02002025 */ move $a0, $s0 +/* 0043A124 24060008 */ li $a2, 8 +/* 0043A128 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A12C 8F858038 */ lw $a1, %got(RO_1000B810)($gp) +/* 0043A130 24070008 */ li $a3, 8 +/* 0043A134 0320F809 */ jalr $t9 +/* 0043A138 24A5B810 */ addiu $a1, %lo(RO_1000B810) # addiu $a1, $a1, -0x47f0 +/* 0043A13C 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A140 8E440000 */ lw $a0, ($s2) +/* 0043A144 96250004 */ lhu $a1, 4($s1) +/* 0043A148 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0043A14C 02C03025 */ move $a2, $s6 +/* 0043A150 2407000A */ li $a3, 10 +/* 0043A154 0320F809 */ jalr $t9 +/* 0043A158 00000000 */ nop +/* 0043A15C 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A160 8E440000 */ lw $a0, ($s2) +/* 0043A164 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043A168 0320F809 */ jalr $t9 +/* 0043A16C 00000000 */ nop +/* 0043A170 92390008 */ lbu $t9, 8($s1) +/* 0043A174 8FBC003C */ lw $gp, 0x3c($sp) +/* 0043A178 57D90004 */ bnel $fp, $t9, .L0043A18C +/* 0043A17C 8FBF0044 */ lw $ra, 0x44($sp) +/* 0043A180 1000FFC0 */ b .L0043A084 +/* 0043A184 92330009 */ lbu $s3, 9($s1) +/* 0043A188 8FBF0044 */ lw $ra, 0x44($sp) +.L0043A18C: +/* 0043A18C 8FB0001C */ lw $s0, 0x1c($sp) +/* 0043A190 8FB10020 */ lw $s1, 0x20($sp) +/* 0043A194 8FB20024 */ lw $s2, 0x24($sp) +/* 0043A198 8FB30028 */ lw $s3, 0x28($sp) +/* 0043A19C 8FB4002C */ lw $s4, 0x2c($sp) +/* 0043A1A0 8FB50030 */ lw $s5, 0x30($sp) +/* 0043A1A4 8FB60034 */ lw $s6, 0x34($sp) +/* 0043A1A8 8FB70038 */ lw $s7, 0x38($sp) +/* 0043A1AC 8FBE0040 */ lw $fp, 0x40($sp) +/* 0043A1B0 03E00008 */ jr $ra +/* 0043A1B4 27BD0048 */ addiu $sp, $sp, 0x48 + .type dump_reg, @function + .size dump_reg, .-dump_reg + .end dump_reg + +glabel print_regs + .ent print_regs + # 0043CE54 check_no_used +/* 0043A1B8 3C1C0FBE */ .cpload $t9 +/* 0043A1BC 279C5898 */ +/* 0043A1C0 0399E021 */ +/* 0043A1C4 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 0043A1C8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A1CC AFB7003C */ sw $s7, 0x3c($sp) +/* 0043A1D0 AFB60038 */ sw $s6, 0x38($sp) +/* 0043A1D4 8F978950 */ lw $s7, %got(err)($gp) +/* 0043A1D8 8F858038 */ lw $a1, %got(RO_1000B829)($gp) +/* 0043A1DC AFBF0044 */ sw $ra, 0x44($sp) +/* 0043A1E0 AFBC0040 */ sw $gp, 0x40($sp) +/* 0043A1E4 AFB50034 */ sw $s5, 0x34($sp) +/* 0043A1E8 AFB40030 */ sw $s4, 0x30($sp) +/* 0043A1EC AFB3002C */ sw $s3, 0x2c($sp) +/* 0043A1F0 AFB20028 */ sw $s2, 0x28($sp) +/* 0043A1F4 AFB10024 */ sw $s1, 0x24($sp) +/* 0043A1F8 AFB00020 */ sw $s0, 0x20($sp) +/* 0043A1FC 0080B025 */ move $s6, $a0 +/* 0043A200 90910000 */ lbu $s1, ($a0) +/* 0043A204 2406000A */ li $a2, 10 +/* 0043A208 2407000A */ li $a3, 10 +/* 0043A20C 8EE40000 */ lw $a0, ($s7) +/* 0043A210 0320F809 */ jalr $t9 +/* 0043A214 24A5B829 */ addiu $a1, %lo(RO_1000B829) # addiu $a1, $a1, -0x47d7 +/* 0043A218 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A21C 8EE40000 */ lw $a0, ($s7) +/* 0043A220 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043A224 0320F809 */ jalr $t9 +/* 0043A228 00000000 */ nop +/* 0043A22C 92CE0001 */ lbu $t6, 1($s6) +/* 0043A230 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A234 24140048 */ li $s4, 72 +/* 0043A238 122E001F */ beq $s1, $t6, .L0043A2B8 +/* 0043A23C 00000000 */ nop +/* 0043A240 1234001D */ beq $s1, $s4, .L0043A2B8 +/* 0043A244 00000000 */ nop +/* 0043A248 8F958038 */ lw $s5, %got(D_100164C8)($gp) +/* 0043A24C 2413000C */ li $s3, 12 +/* 0043A250 8F928BCC */ lw $s2, %got(regs)($gp) +/* 0043A254 26B564C8 */ addiu $s5, %lo(D_100164C8) # addiu $s5, $s5, 0x64c8 +.L0043A258: +/* 0043A258 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043A25C 8EF00000 */ lw $s0, ($s7) +/* 0043A260 240F000A */ li $t7, 10 +/* 0043A264 AFAF0010 */ sw $t7, 0x10($sp) +/* 0043A268 02202825 */ move $a1, $s1 +/* 0043A26C 02A03025 */ move $a2, $s5 +/* 0043A270 00003825 */ move $a3, $zero +/* 0043A274 0320F809 */ jalr $t9 +/* 0043A278 02002025 */ move $a0, $s0 +/* 0043A27C 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A280 02002025 */ move $a0, $s0 +/* 0043A284 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043A288 0320F809 */ jalr $t9 +/* 0043A28C 00000000 */ nop +/* 0043A290 02330019 */ multu $s1, $s3 +/* 0043A294 92C80001 */ lbu $t0, 1($s6) +/* 0043A298 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A29C 0000C012 */ mflo $t8 +/* 0043A2A0 0258C821 */ addu $t9, $s2, $t8 +/* 0043A2A4 93310006 */ lbu $s1, 6($t9) +/* 0043A2A8 12280003 */ beq $s1, $t0, .L0043A2B8 +/* 0043A2AC 00000000 */ nop +/* 0043A2B0 1634FFE9 */ bne $s1, $s4, .L0043A258 +/* 0043A2B4 00000000 */ nop +.L0043A2B8: +/* 0043A2B8 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043A2BC 8F958038 */ lw $s5, -0x7fc8($gp) +/* 0043A2C0 8EF00000 */ lw $s0, ($s7) +/* 0043A2C4 2409000A */ li $t1, 10 +/* 0043A2C8 AFA90010 */ sw $t1, 0x10($sp) +/* 0043A2CC 02202825 */ move $a1, $s1 +/* 0043A2D0 00003825 */ move $a3, $zero +/* 0043A2D4 26A664C8 */ addiu $a2, $s5, 0x64c8 +/* 0043A2D8 0320F809 */ jalr $t9 +/* 0043A2DC 02002025 */ move $a0, $s0 +/* 0043A2E0 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A2E4 02002025 */ move $a0, $s0 +/* 0043A2E8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043A2EC 0320F809 */ jalr $t9 +/* 0043A2F0 00000000 */ nop +/* 0043A2F4 92CA0001 */ lbu $t2, 1($s6) +/* 0043A2F8 8FBC0040 */ lw $gp, 0x40($sp) +/* 0043A2FC 8FB00020 */ lw $s0, 0x20($sp) +/* 0043A300 022A02B6 */ tne $s1, $t2, 0xa +/* 0043A304 8FBF0044 */ lw $ra, 0x44($sp) +/* 0043A308 8FB10024 */ lw $s1, 0x24($sp) +/* 0043A30C 8FB20028 */ lw $s2, 0x28($sp) +/* 0043A310 8FB3002C */ lw $s3, 0x2c($sp) +/* 0043A314 8FB40030 */ lw $s4, 0x30($sp) +/* 0043A318 8FB50034 */ lw $s5, 0x34($sp) +/* 0043A31C 8FB60038 */ lw $s6, 0x38($sp) +/* 0043A320 8FB7003C */ lw $s7, 0x3c($sp) +/* 0043A324 03E00008 */ jr $ra +/* 0043A328 27BD0048 */ addiu $sp, $sp, 0x48 + .type print_regs, @function + .size print_regs, .-print_regs + .end print_regs + +glabel remove_direg + .ent remove_direg + # 0043B478 spill_two_regs + # 0043B6AC get_two_free_regs +/* 0043A32C 3C1C0FBE */ .cpload $t9 +/* 0043A330 279C5724 */ +/* 0043A334 0399E021 */ +/* 0043A338 90820000 */ lbu $v0, ($a0) +/* 0043A33C 24060048 */ li $a2, 72 +/* 0043A340 2408000C */ li $t0, 12 +/* 0043A344 00C202B4 */ teq $a2, $v0, 0xa +/* 0043A348 304E0001 */ andi $t6, $v0, 1 +/* 0043A34C 304300FF */ andi $v1, $v0, 0xff +/* 0043A350 11C0000A */ beqz $t6, .L0043A37C +/* 0043A354 304500FF */ andi $a1, $v0, 0xff +/* 0043A358 8F878BCC */ lw $a3, %got(regs)($gp) +.L0043A35C: +/* 0043A35C 00680019 */ multu $v1, $t0 +/* 0043A360 306500FF */ andi $a1, $v1, 0xff +/* 0043A364 00007812 */ mflo $t7 +/* 0043A368 00EFC021 */ addu $t8, $a3, $t7 +/* 0043A36C 93030006 */ lbu $v1, 6($t8) +/* 0043A370 30790001 */ andi $t9, $v1, 1 +/* 0043A374 1720FFF9 */ bnez $t9, .L0043A35C +/* 0043A378 00000000 */ nop +.L0043A37C: +/* 0043A37C 8F878BCC */ lw $a3, %got(regs)($gp) +/* 0043A380 14620007 */ bne $v1, $v0, .L0043A3A0 +/* 0043A384 2408000C */ li $t0, 12 +/* 0043A388 00680019 */ multu $v1, $t0 +/* 0043A38C 00004812 */ mflo $t1 +/* 0043A390 00E95021 */ addu $t2, $a3, $t1 +/* 0043A394 914B0006 */ lbu $t3, 6($t2) +/* 0043A398 10000009 */ b .L0043A3C0 +/* 0043A39C A08B0000 */ sb $t3, ($a0) +.L0043A3A0: +/* 0043A3A0 00680019 */ multu $v1, $t0 +/* 0043A3A4 00006012 */ mflo $t4 +/* 0043A3A8 00EC6821 */ addu $t5, $a3, $t4 +/* 0043A3AC 91AE0006 */ lbu $t6, 6($t5) +/* 0043A3B0 00A80019 */ multu $a1, $t0 +/* 0043A3B4 00007812 */ mflo $t7 +/* 0043A3B8 00EFC021 */ addu $t8, $a3, $t7 +/* 0043A3BC A30E0006 */ sb $t6, 6($t8) +.L0043A3C0: +/* 0043A3C0 90990001 */ lbu $t9, 1($a0) +/* 0043A3C4 14790008 */ bne $v1, $t9, .L0043A3E8 +/* 0043A3C8 00000000 */ nop +/* 0043A3CC 90890000 */ lbu $t1, ($a0) +/* 0043A3D0 00601025 */ move $v0, $v1 +/* 0043A3D4 54C90004 */ bnel $a2, $t1, .L0043A3E8 +/* 0043A3D8 A0850001 */ sb $a1, 1($a0) +/* 0043A3DC 03E00008 */ jr $ra +/* 0043A3E0 A0860001 */ sb $a2, 1($a0) + +/* 0043A3E4 A0850001 */ sb $a1, 1($a0) +.L0043A3E8: +/* 0043A3E8 03E00008 */ jr $ra +/* 0043A3EC 00601025 */ move $v0, $v1 + .type remove_direg, @function + .size remove_direg, .-remove_direg + .end remove_direg + +glabel get_head + .ent get_head + # 0043B854 get_one_free_reg +/* 0043A3F0 AFA40000 */ sw $a0, ($sp) +/* 0043A3F4 93A40000 */ lbu $a0, ($sp) +/* 0043A3F8 240E0048 */ li $t6, 72 +/* 0043A3FC 008E02B4 */ teq $a0, $t6, 0xa +/* 0043A400 03E00008 */ jr $ra +/* 0043A404 00801025 */ move $v0, $a0 + .type get_head, @function + .size get_head, .-get_head + .end get_head + +glabel remove_head + .ent remove_head + # 0043A5E8 spill + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg +/* 0043A408 3C1C0FBE */ .cpload $t9 +/* 0043A40C 279C5648 */ +/* 0043A410 0399E021 */ +/* 0043A414 90820000 */ lbu $v0, ($a0) +/* 0043A418 24050048 */ li $a1, 72 +/* 0043A41C 00A202B4 */ teq $a1, $v0, 0xa +/* 0043A420 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043A424 00027080 */ sll $t6, $v0, 2 +/* 0043A428 01C27023 */ subu $t6, $t6, $v0 +/* 0043A42C 000E7080 */ sll $t6, $t6, 2 +/* 0043A430 90880001 */ lbu $t0, 1($a0) +/* 0043A434 01CFC021 */ addu $t8, $t6, $t7 +/* 0043A438 93190006 */ lbu $t9, 6($t8) +/* 0043A43C 304300FF */ andi $v1, $v0, 0xff +/* 0043A440 14680004 */ bne $v1, $t0, .L0043A454 +/* 0043A444 A0990000 */ sb $t9, ($a0) +/* 0043A448 332900FF */ andi $t1, $t9, 0xff +/* 0043A44C 00A902B6 */ tne $a1, $t1, 0xa +/* 0043A450 A0850001 */ sb $a1, 1($a0) +.L0043A454: +/* 0043A454 03E00008 */ jr $ra +/* 0043A458 00601025 */ move $v0, $v1 + .type remove_head, @function + .size remove_head, .-remove_head + .end remove_head + +glabel append_to_list + .ent append_to_list + # 0043A5E8 spill + # 0043AB48 get_one_reg + # 0043AE78 get_reg1 + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043C098 free_reg + # 0043C410 free_fp_reg + # 0043C5D4 force_free_reg + # 0043C674 add_to_free_list + # 0043C804 add_to_fp_free_list + # 0043D0EC move_to_end_fp_list + # 0043D148 move_to_end_gp_list + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 0043A45C 3C1C0FBE */ .cpload $t9 +/* 0043A460 279C55F4 */ +/* 0043A464 0399E021 */ +/* 0043A468 308600FF */ andi $a2, $a0, 0xff +/* 0043A46C 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043A470 00067080 */ sll $t6, $a2, 2 +/* 0043A474 01C67023 */ subu $t6, $t6, $a2 +/* 0043A478 000E7080 */ sll $t6, $t6, 2 +/* 0043A47C 01CF1021 */ addu $v0, $t6, $t7 +/* 0043A480 90580007 */ lbu $t8, 7($v0) +/* 0043A484 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043A488 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043A48C AFBC0018 */ sw $gp, 0x18($sp) +/* 0043A490 AFA40020 */ sw $a0, 0x20($sp) +/* 0043A494 030002B4 */ teq $t8, $zero, 0xa +/* 0043A498 24190048 */ li $t9, 72 +/* 0043A49C A0590006 */ sb $t9, 6($v0) +/* 0043A4A0 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043A4A4 00A02025 */ move $a0, $a1 +/* 0043A4A8 AFA50024 */ sw $a1, 0x24($sp) +/* 0043A4AC 0320F809 */ jalr $t9 +/* 0043A4B0 A3A60023 */ sb $a2, 0x23($sp) +/* 0043A4B4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043A4B8 8FA50024 */ lw $a1, 0x24($sp) +/* 0043A4BC 10400004 */ beqz $v0, .L0043A4D0 +/* 0043A4C0 93A60023 */ lbu $a2, 0x23($sp) +/* 0043A4C4 A0A60000 */ sb $a2, ($a1) +/* 0043A4C8 10000009 */ b .L0043A4F0 +/* 0043A4CC A0A60001 */ sb $a2, 1($a1) +.L0043A4D0: +/* 0043A4D0 90A80001 */ lbu $t0, 1($a1) +/* 0043A4D4 8F8A8BCC */ lw $t2, %got(regs)($gp) +/* 0043A4D8 00084880 */ sll $t1, $t0, 2 +/* 0043A4DC 01284823 */ subu $t1, $t1, $t0 +/* 0043A4E0 00094880 */ sll $t1, $t1, 2 +/* 0043A4E4 012A5821 */ addu $t3, $t1, $t2 +/* 0043A4E8 A1660006 */ sb $a2, 6($t3) +/* 0043A4EC A0A60001 */ sb $a2, 1($a1) +.L0043A4F0: +/* 0043A4F0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043A4F4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043A4F8 03E00008 */ jr $ra +/* 0043A4FC 00000000 */ nop + .type append_to_list, @function + .size append_to_list, .-append_to_list + .end append_to_list + +glabel remove_from_list + .ent remove_from_list + # 0043A5E8 spill + # 0043AB48 get_one_reg + # 0043AE78 get_reg1 + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043B478 spill_two_regs + # 0043C098 free_reg + # 0043C410 free_fp_reg + # 0043C5D4 force_free_reg + # 0043C994 remove_from_free_list + # 0043CCA0 remove_from_fp_free_list + # 0043D0EC move_to_end_fp_list + # 0043D148 move_to_end_gp_list + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 0043A500 3C1C0FBE */ .cpload $t9 +/* 0043A504 279C5550 */ +/* 0043A508 0399E021 */ +/* 0043A50C AFA40000 */ sw $a0, ($sp) +/* 0043A510 90A20000 */ lbu $v0, ($a1) +/* 0043A514 54820012 */ bnel $a0, $v0, .L0043A560 +/* 0043A518 90A30001 */ lbu $v1, 1($a1) +/* 0043A51C 90AE0001 */ lbu $t6, 1($a1) +/* 0043A520 24080048 */ li $t0, 72 +/* 0043A524 240A000C */ li $t2, 12 +/* 0043A528 148E0004 */ bne $a0, $t6, .L0043A53C +/* 0043A52C 24020001 */ li $v0, 1 +/* 0043A530 A0A80000 */ sb $t0, ($a1) +/* 0043A534 03E00008 */ jr $ra +/* 0043A538 A0A80001 */ sb $t0, 1($a1) + +.L0043A53C: +/* 0043A53C 008A0019 */ multu $a0, $t2 +/* 0043A540 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0043A544 00007812 */ mflo $t7 +/* 0043A548 012FC021 */ addu $t8, $t1, $t7 +/* 0043A54C 93190006 */ lbu $t9, 6($t8) +/* 0043A550 A0B90000 */ sb $t9, ($a1) +/* 0043A554 03E00008 */ jr $ra +/* 0043A558 24020001 */ li $v0, 1 + +/* 0043A55C 90A30001 */ lbu $v1, 1($a1) +.L0043A560: +/* 0043A560 304600FF */ andi $a2, $v0, 0xff +/* 0043A564 24080048 */ li $t0, 72 +/* 0043A568 50C3001D */ beql $a2, $v1, .L0043A5E0 +/* 0043A56C 00001025 */ move $v0, $zero +/* 0043A570 10C8001A */ beq $a2, $t0, .L0043A5DC +/* 0043A574 240A000C */ li $t2, 12 +/* 0043A578 8F898BCC */ lw $t1, %got(regs)($gp) +.L0043A57C: +/* 0043A57C 00CA0019 */ multu $a2, $t2 +/* 0043A580 00005812 */ mflo $t3 +/* 0043A584 012B1021 */ addu $v0, $t1, $t3 +/* 0043A588 90470006 */ lbu $a3, 6($v0) +/* 0043A58C 5487000F */ bnel $a0, $a3, .L0043A5CC +/* 0043A590 30E600FF */ andi $a2, $a3, 0xff +/* 0043A594 14670005 */ bne $v1, $a3, .L0043A5AC +/* 0043A598 00000000 */ nop +/* 0043A59C A0A60001 */ sb $a2, 1($a1) +/* 0043A5A0 A0480006 */ sb $t0, 6($v0) +/* 0043A5A4 03E00008 */ jr $ra +/* 0043A5A8 24020001 */ li $v0, 1 + +.L0043A5AC: +/* 0043A5AC 008A0019 */ multu $a0, $t2 +/* 0043A5B0 00006012 */ mflo $t4 +/* 0043A5B4 012C6821 */ addu $t5, $t1, $t4 +/* 0043A5B8 91AE0006 */ lbu $t6, 6($t5) +/* 0043A5BC A04E0006 */ sb $t6, 6($v0) +/* 0043A5C0 03E00008 */ jr $ra +/* 0043A5C4 24020001 */ li $v0, 1 + +/* 0043A5C8 30E600FF */ andi $a2, $a3, 0xff +.L0043A5CC: +/* 0043A5CC 50C30004 */ beql $a2, $v1, .L0043A5E0 +/* 0043A5D0 00001025 */ move $v0, $zero +/* 0043A5D4 14C8FFE9 */ bne $a2, $t0, .L0043A57C +/* 0043A5D8 00000000 */ nop +.L0043A5DC: +/* 0043A5DC 00001025 */ move $v0, $zero +.L0043A5E0: +/* 0043A5E0 03E00008 */ jr $ra +/* 0043A5E4 00000000 */ nop + .type remove_from_list, @function + .size remove_from_list, .-remove_from_list + .end remove_from_list + +glabel spill + .ent spill + # 0043A888 spill_reg +/* 0043A5E8 3C1C0FBE */ .cpload $t9 +/* 0043A5EC 279C5468 */ +/* 0043A5F0 0399E021 */ +/* 0043A5F4 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0043A5F8 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043A5FC AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043A600 91CE0000 */ lbu $t6, ($t6) +/* 0043A604 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043A608 AFB000AC */ sw $s0, 0xac($sp) +/* 0043A60C AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043A610 AFA600C8 */ sw $a2, 0xc8($sp) +/* 0043A614 15C00026 */ bnez $t6, .L0043A6B0 +/* 0043A618 AFA700CC */ sw $a3, 0xcc($sp) +/* 0043A61C 93AF00C3 */ lbu $t7, 0xc3($sp) +/* 0043A620 8F998BCC */ lw $t9, %got(regs)($gp) +/* 0043A624 24010006 */ li $at, 6 +/* 0043A628 000FC080 */ sll $t8, $t7, 2 +/* 0043A62C 030FC023 */ subu $t8, $t8, $t7 +/* 0043A630 0018C080 */ sll $t8, $t8, 2 +/* 0043A634 03198021 */ addu $s0, $t8, $t9 +/* 0043A638 92080008 */ lbu $t0, 8($s0) +/* 0043A63C 1501001C */ bne $t0, $at, .L0043A6B0 +/* 0043A640 00000000 */ nop +/* 0043A644 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043A648 01E02025 */ move $a0, $t7 +/* 0043A64C 0320F809 */ jalr $t9 +/* 0043A650 00000000 */ nop +/* 0043A654 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A658 92040009 */ lbu $a0, 9($s0) +/* 0043A65C 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043A660 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043A664 0320F809 */ jalr $t9 +/* 0043A668 00000000 */ nop +/* 0043A66C 10400081 */ beqz $v0, .L0043A874 +/* 0043A670 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A674 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043A678 92040009 */ lbu $a0, 9($s0) +/* 0043A67C 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043A680 0320F809 */ jalr $t9 +/* 0043A684 00000000 */ nop +/* 0043A688 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A68C 92040009 */ lbu $a0, 9($s0) +/* 0043A690 00002825 */ move $a1, $zero +/* 0043A694 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043A698 00003025 */ move $a2, $zero +/* 0043A69C 24070001 */ li $a3, 1 +/* 0043A6A0 0320F809 */ jalr $t9 +/* 0043A6A4 00000000 */ nop +/* 0043A6A8 10000072 */ b .L0043A874 +/* 0043A6AC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A6B0: +/* 0043A6B0 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043A6B4 8FA400C8 */ lw $a0, 0xc8($sp) +/* 0043A6B8 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043A6BC 0320F809 */ jalr $t9 +/* 0043A6C0 00000000 */ nop +/* 0043A6C4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A6C8 10400007 */ beqz $v0, .L0043A6E8 +/* 0043A6CC 8FA500C4 */ lw $a1, 0xc4($sp) +/* 0043A6D0 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043A6D4 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043A6D8 0320F809 */ jalr $t9 +/* 0043A6DC 00000000 */ nop +/* 0043A6E0 10000064 */ b .L0043A874 +/* 0043A6E4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A6E8: +/* 0043A6E8 93A900C3 */ lbu $t1, 0xc3($sp) +/* 0043A6EC 8F9984BC */ lw $t9, %call16(remove_head)($gp) +/* 0043A6F0 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 0043A6F4 00095080 */ sll $t2, $t1, 2 +/* 0043A6F8 01495023 */ subu $t2, $t2, $t1 +/* 0043A6FC 000A5080 */ sll $t2, $t2, 2 +/* 0043A700 8FA400C8 */ lw $a0, 0xc8($sp) +/* 0043A704 0320F809 */ jalr $t9 +/* 0043A708 014B8021 */ addu $s0, $t2, $t3 +/* 0043A70C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A710 A3A200BF */ sb $v0, 0xbf($sp) +/* 0043A714 97A400D2 */ lhu $a0, 0xd2($sp) +/* 0043A718 8F9984A8 */ lw $t9, %call16(copy_reg)($gp) +/* 0043A71C 93A500C3 */ lbu $a1, 0xc3($sp) +/* 0043A720 304600FF */ andi $a2, $v0, 0xff +/* 0043A724 0320F809 */ jalr $t9 +/* 0043A728 00000000 */ nop +/* 0043A72C 8E040000 */ lw $a0, ($s0) +/* 0043A730 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A734 24050221 */ li $a1, 545 +/* 0043A738 54800040 */ bnel $a0, $zero, .L0043A83C +/* 0043A73C 90830019 */ lbu $v1, 0x19($a0) +/* 0043A740 8F8C8038 */ lw $t4, %got(RO_1000B883)($gp) +/* 0043A744 24040004 */ li $a0, 4 +/* 0043A748 03A0C025 */ move $t8, $sp +/* 0043A74C 258CB883 */ addiu $t4, %lo(RO_1000B883) # addiu $t4, $t4, -0x477d +/* 0043A750 25990048 */ addiu $t9, $t4, 0x48 +.L0043A754: +/* 0043A754 898E0000 */ lwl $t6, ($t4) +/* 0043A758 998E0003 */ lwr $t6, 3($t4) +/* 0043A75C 258C000C */ addiu $t4, $t4, 0xc +/* 0043A760 2718000C */ addiu $t8, $t8, 0xc +/* 0043A764 AB0EFFFC */ swl $t6, -4($t8) +/* 0043A768 BB0EFFFF */ swr $t6, -1($t8) +/* 0043A76C 898DFFF8 */ lwl $t5, -8($t4) +/* 0043A770 998DFFFB */ lwr $t5, -5($t4) +/* 0043A774 AB0D0000 */ swl $t5, ($t8) +/* 0043A778 BB0D0003 */ swr $t5, 3($t8) +/* 0043A77C 898EFFFC */ lwl $t6, -4($t4) +/* 0043A780 998EFFFF */ lwr $t6, -1($t4) +/* 0043A784 AB0E0004 */ swl $t6, 4($t8) +/* 0043A788 1599FFF2 */ bne $t4, $t9, .L0043A754 +/* 0043A78C BB0E0007 */ swr $t6, 7($t8) +/* 0043A790 898E0000 */ lwl $t6, ($t4) +/* 0043A794 998E0003 */ lwr $t6, 3($t4) +/* 0043A798 8F888038 */ lw $t0, %got(RO_1000B833)($gp) +/* 0043A79C 03A05025 */ move $t2, $sp +/* 0043A7A0 AB0E0008 */ swl $t6, 8($t8) +/* 0043A7A4 BB0E000B */ swr $t6, 0xb($t8) +/* 0043A7A8 898D0004 */ lwl $t5, 4($t4) +/* 0043A7AC 998D0007 */ lwr $t5, 7($t4) +/* 0043A7B0 2508B833 */ addiu $t0, %lo(RO_1000B833) # addiu $t0, $t0, -0x47cd +/* 0043A7B4 250B0048 */ addiu $t3, $t0, 0x48 +/* 0043A7B8 AB0D000C */ swl $t5, 0xc($t8) +/* 0043A7BC BB0D000F */ swr $t5, 0xf($t8) +.L0043A7C0: +/* 0043A7C0 89090000 */ lwl $t1, ($t0) +/* 0043A7C4 99090003 */ lwr $t1, 3($t0) +/* 0043A7C8 2508000C */ addiu $t0, $t0, 0xc +/* 0043A7CC 254A000C */ addiu $t2, $t2, 0xc +/* 0043A7D0 A949004C */ swl $t1, 0x4c($t2) +/* 0043A7D4 B949004F */ swr $t1, 0x4f($t2) +/* 0043A7D8 890FFFF8 */ lwl $t7, -8($t0) +/* 0043A7DC 990FFFFB */ lwr $t7, -5($t0) +/* 0043A7E0 A94F0050 */ swl $t7, 0x50($t2) +/* 0043A7E4 B94F0053 */ swr $t7, 0x53($t2) +/* 0043A7E8 8909FFFC */ lwl $t1, -4($t0) +/* 0043A7EC 9909FFFF */ lwr $t1, -1($t0) +/* 0043A7F0 A9490054 */ swl $t1, 0x54($t2) +/* 0043A7F4 150BFFF2 */ bne $t0, $t3, .L0043A7C0 +/* 0043A7F8 B9490057 */ swr $t1, 0x57($t2) +/* 0043A7FC 89090000 */ lwl $t1, ($t0) +/* 0043A800 99090003 */ lwr $t1, 3($t0) +/* 0043A804 A9490058 */ swl $t1, 0x58($t2) +/* 0043A808 B949005B */ swr $t1, 0x5b($t2) +/* 0043A80C 890F0004 */ lwl $t7, 4($t0) +/* 0043A810 990F0007 */ lwr $t7, 7($t0) +/* 0043A814 A94F005C */ swl $t7, 0x5c($t2) +/* 0043A818 B94F005F */ swr $t7, 0x5f($t2) +/* 0043A81C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043A820 8FA7000C */ lw $a3, 0xc($sp) +/* 0043A824 8FA60008 */ lw $a2, 8($sp) +/* 0043A828 0320F809 */ jalr $t9 +/* 0043A82C 00000000 */ nop +/* 0043A830 1000000A */ b .L0043A85C +/* 0043A834 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A838 90830019 */ lbu $v1, 0x19($a0) +.L0043A83C: +/* 0043A83C 93B900BF */ lbu $t9, 0xbf($sp) +/* 0043A840 00036600 */ sll $t4, $v1, 0x18 +/* 0043A844 000CC642 */ srl $t8, $t4, 0x19 +/* 0043A848 03386826 */ xor $t5, $t9, $t8 +/* 0043A84C 000D7640 */ sll $t6, $t5, 0x19 +/* 0043A850 000E5E02 */ srl $t3, $t6, 0x18 +/* 0043A854 01634026 */ xor $t0, $t3, $v1 +/* 0043A858 A0880019 */ sb $t0, 0x19($a0) +.L0043A85C: +/* 0043A85C 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043A860 93A400BF */ lbu $a0, 0xbf($sp) +/* 0043A864 8FA500CC */ lw $a1, 0xcc($sp) +/* 0043A868 0320F809 */ jalr $t9 +/* 0043A86C 00000000 */ nop +/* 0043A870 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A874: +/* 0043A874 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043A878 8FB000AC */ lw $s0, 0xac($sp) +/* 0043A87C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043A880 03E00008 */ jr $ra +/* 0043A884 00000000 */ nop + .type spill, @function + .size spill, .-spill + .end spill + +glabel spill_reg + .ent spill_reg + # 0043AB48 get_one_reg + # 0043B0F8 get_fp_reg +/* 0043A888 3C1C0FBE */ .cpload $t9 +/* 0043A88C 279C51C8 */ +/* 0043A890 0399E021 */ +/* 0043A894 8F8E89B8 */ lw $t6, %got(isa)($gp) +/* 0043A898 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0043A89C AFB000AC */ sw $s0, 0xac($sp) +/* 0043A8A0 91CE0000 */ lbu $t6, ($t6) +/* 0043A8A4 30B000FF */ andi $s0, $a1, 0xff +/* 0043A8A8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043A8AC 2DC10002 */ sltiu $at, $t6, 2 +/* 0043A8B0 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043A8B4 AFA400B8 */ sw $a0, 0xb8($sp) +/* 0043A8B8 14200006 */ bnez $at, .L0043A8D4 +/* 0043A8BC AFA500BC */ sw $a1, 0xbc($sp) +/* 0043A8C0 8F9888F8 */ lw $t8, %got(size_tab2)($gp) +/* 0043A8C4 00107880 */ sll $t7, $s0, 2 +/* 0043A8C8 01F8C821 */ addu $t9, $t7, $t8 +/* 0043A8CC 10000005 */ b .L0043A8E4 +/* 0043A8D0 8F250000 */ lw $a1, ($t9) +.L0043A8D4: +/* 0043A8D4 8F8988F4 */ lw $t1, %got(size_tab)($gp) +/* 0043A8D8 00104080 */ sll $t0, $s0, 2 +/* 0043A8DC 01095021 */ addu $t2, $t0, $t1 +/* 0043A8E0 8D450000 */ lw $a1, ($t2) +.L0043A8E4: +/* 0043A8E4 320200FF */ andi $v0, $s0, 0xff +/* 0043A8E8 244BFFFF */ addiu $t3, $v0, -1 +/* 0043A8EC 2D610007 */ sltiu $at, $t3, 7 +/* 0043A8F0 10200023 */ beqz $at, .L0043A980 +/* 0043A8F4 00000000 */ nop +/* 0043A8F8 8F818038 */ lw $at, %got(jtbl_1000B98C)($gp) +/* 0043A8FC 000B5880 */ sll $t3, $t3, 2 +/* 0043A900 002B0821 */ addu $at, $at, $t3 +/* 0043A904 8C2BB98C */ lw $t3, %lo(jtbl_1000B98C)($at) +/* 0043A908 017C5821 */ addu $t3, $t3, $gp +/* 0043A90C 01600008 */ jr $t3 +/* 0043A910 00000000 */ nop +.L0043A914: +/* 0043A914 8F9984C8 */ lw $t9, %call16(spill)($gp) +/* 0043A918 240C0031 */ li $t4, 49 +/* 0043A91C AFAC0010 */ sw $t4, 0x10($sp) +/* 0043A920 93A400BB */ lbu $a0, 0xbb($sp) +/* 0043A924 8F868AF4 */ lw $a2, %got(gp_regs_free)($gp) +/* 0043A928 0320F809 */ jalr $t9 +/* 0043A92C 8F878AF8 */ lw $a3, %got(gp_regs_used)($gp) +/* 0043A930 10000080 */ b .L0043AB34 +/* 0043A934 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A938: +/* 0043A938 8F9984C8 */ lw $t9, %call16(spill)($gp) +/* 0043A93C 240D008B */ li $t5, 139 +/* 0043A940 AFAD0010 */ sw $t5, 0x10($sp) +/* 0043A944 93A400BB */ lbu $a0, 0xbb($sp) +/* 0043A948 8F868AFC */ lw $a2, %got(fp_regs_free)($gp) +/* 0043A94C 0320F809 */ jalr $t9 +/* 0043A950 8F878B00 */ lw $a3, %got(fp_regs_used)($gp) +/* 0043A954 10000077 */ b .L0043AB34 +/* 0043A958 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A95C: +/* 0043A95C 8F9984C8 */ lw $t9, %call16(spill)($gp) +/* 0043A960 240E008C */ li $t6, 140 +/* 0043A964 AFAE0010 */ sw $t6, 0x10($sp) +/* 0043A968 93A400BB */ lbu $a0, 0xbb($sp) +/* 0043A96C 8F868AFC */ lw $a2, %got(fp_regs_free)($gp) +/* 0043A970 0320F809 */ jalr $t9 +/* 0043A974 8F878B00 */ lw $a3, %got(fp_regs_used)($gp) +/* 0043A978 1000006E */ b .L0043AB34 +/* 0043A97C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043A980: +/* 0043A980 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A984 8F848950 */ lw $a0, %got(err)($gp) +/* 0043A988 8F858038 */ lw $a1, %got(RO_1000B985)($gp) +/* 0043A98C 24060006 */ li $a2, 6 +/* 0043A990 24070006 */ li $a3, 6 +/* 0043A994 A3B000BF */ sb $s0, 0xbf($sp) +/* 0043A998 8C840000 */ lw $a0, ($a0) +/* 0043A99C 0320F809 */ jalr $t9 +/* 0043A9A0 24A5B985 */ addiu $a1, %lo(RO_1000B985) # addiu $a1, $a1, -0x467b +/* 0043A9A4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A9A8 240F000A */ li $t7, 10 +/* 0043A9AC AFAF0010 */ sw $t7, 0x10($sp) +/* 0043A9B0 8F908950 */ lw $s0, %got(err)($gp) +/* 0043A9B4 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043A9B8 8F868038 */ lw $a2, %got(D_100164C8)($gp) +/* 0043A9BC 8E100000 */ lw $s0, ($s0) +/* 0043A9C0 93A500BB */ lbu $a1, 0xbb($sp) +/* 0043A9C4 00003825 */ move $a3, $zero +/* 0043A9C8 24C664C8 */ addiu $a2, %lo(D_100164C8) # addiu $a2, $a2, 0x64c8 +/* 0043A9CC 0320F809 */ jalr $t9 +/* 0043A9D0 02002025 */ move $a0, $s0 +/* 0043A9D4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A9D8 02002025 */ move $a0, $s0 +/* 0043A9DC 24060012 */ li $a2, 18 +/* 0043A9E0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043A9E4 8F858038 */ lw $a1, %got(RO_1000B973)($gp) +/* 0043A9E8 24070012 */ li $a3, 18 +/* 0043A9EC 0320F809 */ jalr $t9 +/* 0043A9F0 24A5B973 */ addiu $a1, %lo(RO_1000B973) # addiu $a1, $a1, -0x468d +/* 0043A9F4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043A9F8 2418000A */ li $t8, 10 +/* 0043A9FC AFB80010 */ sw $t8, 0x10($sp) +/* 0043AA00 8F908950 */ lw $s0, %got(err)($gp) +/* 0043AA04 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 0043AA08 8F868038 */ lw $a2, %got(D_100166E8)($gp) +/* 0043AA0C 8E100000 */ lw $s0, ($s0) +/* 0043AA10 93A500BF */ lbu $a1, 0xbf($sp) +/* 0043AA14 00003825 */ move $a3, $zero +/* 0043AA18 24C666E8 */ addiu $a2, %lo(D_100166E8) # addiu $a2, $a2, 0x66e8 +/* 0043AA1C 0320F809 */ jalr $t9 +/* 0043AA20 02002025 */ move $a0, $s0 +/* 0043AA24 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043AA28 02002025 */ move $a0, $s0 +/* 0043AA2C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043AA30 0320F809 */ jalr $t9 +/* 0043AA34 00000000 */ nop +/* 0043AA38 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043AA3C 24040004 */ li $a0, 4 +/* 0043AA40 24050240 */ li $a1, 576 +/* 0043AA44 8F998038 */ lw $t9, %got(RO_1000B923)($gp) +/* 0043AA48 03A05025 */ move $t2, $sp +/* 0043AA4C 2739B923 */ addiu $t9, %lo(RO_1000B923) # addiu $t9, $t9, -0x46dd +/* 0043AA50 272B0048 */ addiu $t3, $t9, 0x48 +.L0043AA54: +/* 0043AA54 8B290000 */ lwl $t1, ($t9) +/* 0043AA58 9B290003 */ lwr $t1, 3($t9) +/* 0043AA5C 2739000C */ addiu $t9, $t9, 0xc +/* 0043AA60 254A000C */ addiu $t2, $t2, 0xc +/* 0043AA64 A949FFFC */ swl $t1, -4($t2) +/* 0043AA68 B949FFFF */ swr $t1, -1($t2) +/* 0043AA6C 8B28FFF8 */ lwl $t0, -8($t9) +/* 0043AA70 9B28FFFB */ lwr $t0, -5($t9) +/* 0043AA74 A9480000 */ swl $t0, ($t2) +/* 0043AA78 B9480003 */ swr $t0, 3($t2) +/* 0043AA7C 8B29FFFC */ lwl $t1, -4($t9) +/* 0043AA80 9B29FFFF */ lwr $t1, -1($t9) +/* 0043AA84 A9490004 */ swl $t1, 4($t2) +/* 0043AA88 172BFFF2 */ bne $t9, $t3, .L0043AA54 +/* 0043AA8C B9490007 */ swr $t1, 7($t2) +/* 0043AA90 8B290000 */ lwl $t1, ($t9) +/* 0043AA94 9B290003 */ lwr $t1, 3($t9) +/* 0043AA98 8F8C8038 */ lw $t4, %got(RO_1000B8D3)($gp) +/* 0043AA9C 03A07825 */ move $t7, $sp +/* 0043AAA0 A9490008 */ swl $t1, 8($t2) +/* 0043AAA4 B949000B */ swr $t1, 0xb($t2) +/* 0043AAA8 8B280004 */ lwl $t0, 4($t9) +/* 0043AAAC 9B280007 */ lwr $t0, 7($t9) +/* 0043AAB0 258CB8D3 */ addiu $t4, %lo(RO_1000B8D3) # addiu $t4, $t4, -0x472d +/* 0043AAB4 25980048 */ addiu $t8, $t4, 0x48 +/* 0043AAB8 A948000C */ swl $t0, 0xc($t2) +/* 0043AABC B948000F */ swr $t0, 0xf($t2) +.L0043AAC0: +/* 0043AAC0 898E0000 */ lwl $t6, ($t4) +/* 0043AAC4 998E0003 */ lwr $t6, 3($t4) +/* 0043AAC8 258C000C */ addiu $t4, $t4, 0xc +/* 0043AACC 25EF000C */ addiu $t7, $t7, 0xc +/* 0043AAD0 A9EE004C */ swl $t6, 0x4c($t7) +/* 0043AAD4 B9EE004F */ swr $t6, 0x4f($t7) +/* 0043AAD8 898DFFF8 */ lwl $t5, -8($t4) +/* 0043AADC 998DFFFB */ lwr $t5, -5($t4) +/* 0043AAE0 A9ED0050 */ swl $t5, 0x50($t7) +/* 0043AAE4 B9ED0053 */ swr $t5, 0x53($t7) +/* 0043AAE8 898EFFFC */ lwl $t6, -4($t4) +/* 0043AAEC 998EFFFF */ lwr $t6, -1($t4) +/* 0043AAF0 A9EE0054 */ swl $t6, 0x54($t7) +/* 0043AAF4 1598FFF2 */ bne $t4, $t8, .L0043AAC0 +/* 0043AAF8 B9EE0057 */ swr $t6, 0x57($t7) +/* 0043AAFC 898E0000 */ lwl $t6, ($t4) +/* 0043AB00 998E0003 */ lwr $t6, 3($t4) +/* 0043AB04 A9EE0058 */ swl $t6, 0x58($t7) +/* 0043AB08 B9EE005B */ swr $t6, 0x5b($t7) +/* 0043AB0C 898D0004 */ lwl $t5, 4($t4) +/* 0043AB10 998D0007 */ lwr $t5, 7($t4) +/* 0043AB14 A9ED005C */ swl $t5, 0x5c($t7) +/* 0043AB18 B9ED005F */ swr $t5, 0x5f($t7) +/* 0043AB1C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043AB20 8FA7000C */ lw $a3, 0xc($sp) +/* 0043AB24 8FA60008 */ lw $a2, 8($sp) +/* 0043AB28 0320F809 */ jalr $t9 +/* 0043AB2C 00000000 */ nop +/* 0043AB30 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043AB34: +/* 0043AB34 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043AB38 8FB000AC */ lw $s0, 0xac($sp) +/* 0043AB3C 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0043AB40 03E00008 */ jr $ra +/* 0043AB44 00000000 */ nop + .type spill_reg, @function + .size spill_reg, .-spill_reg + .end spill_reg + +glabel get_one_reg + .ent get_one_reg + # 0043AD54 get_two_regs + # 0043ADE8 get_reg + # 0043B6AC get_two_free_regs +/* 0043AB48 3C1C0FBE */ .cpload $t9 +/* 0043AB4C 279C4F08 */ +/* 0043AB50 0399E021 */ +/* 0043AB54 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0043AB58 AFB000AC */ sw $s0, 0xac($sp) +/* 0043AB5C 309000FF */ andi $s0, $a0, 0xff +/* 0043AB60 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043AB64 00107080 */ sll $t6, $s0, 2 +/* 0043AB68 01D07023 */ subu $t6, $t6, $s0 +/* 0043AB6C 000E7080 */ sll $t6, $t6, 2 +/* 0043AB70 01CF1021 */ addu $v0, $t6, $t7 +/* 0043AB74 90580007 */ lbu $t8, 7($v0) +/* 0043AB78 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043AB7C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043AB80 AFA400B8 */ sw $a0, 0xb8($sp) +/* 0043AB84 AFA500BC */ sw $a1, 0xbc($sp) +/* 0043AB88 AFA600C0 */ sw $a2, 0xc0($sp) +/* 0043AB8C 1700000B */ bnez $t8, .L0043ABBC +/* 0043AB90 AFA700C4 */ sw $a3, 0xc4($sp) +/* 0043AB94 94590004 */ lhu $t9, 4($v0) +/* 0043AB98 13200062 */ beqz $t9, .L0043AD24 +/* 0043AB9C 00000000 */ nop +/* 0043ABA0 8F9984CC */ lw $t9, %call16(spill_reg)($gp) +/* 0043ABA4 02002025 */ move $a0, $s0 +/* 0043ABA8 93A500C7 */ lbu $a1, 0xc7($sp) +/* 0043ABAC 0320F809 */ jalr $t9 +/* 0043ABB0 00000000 */ nop +/* 0043ABB4 1000005B */ b .L0043AD24 +/* 0043ABB8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043ABBC: +/* 0043ABBC 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043ABC0 02002025 */ move $a0, $s0 +/* 0043ABC4 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043ABC8 0320F809 */ jalr $t9 +/* 0043ABCC 00000000 */ nop +/* 0043ABD0 1440004E */ bnez $v0, .L0043AD0C +/* 0043ABD4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043ABD8 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043ABDC 02002025 */ move $a0, $s0 +/* 0043ABE0 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043ABE4 0320F809 */ jalr $t9 +/* 0043ABE8 00000000 */ nop +/* 0043ABEC 10400008 */ beqz $v0, .L0043AC10 +/* 0043ABF0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043ABF4 8F9984CC */ lw $t9, %call16(spill_reg)($gp) +/* 0043ABF8 02002025 */ move $a0, $s0 +/* 0043ABFC 93A500C7 */ lbu $a1, 0xc7($sp) +/* 0043AC00 0320F809 */ jalr $t9 +/* 0043AC04 00000000 */ nop +/* 0043AC08 10000040 */ b .L0043AD0C +/* 0043AC0C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043AC10: +/* 0043AC10 8F888038 */ lw $t0, %got(RO_1000B9F8)($gp) +/* 0043AC14 24040004 */ li $a0, 4 +/* 0043AC18 24050252 */ li $a1, 594 +/* 0043AC1C 2508B9F8 */ addiu $t0, %lo(RO_1000B9F8) # addiu $t0, $t0, -0x4608 +/* 0043AC20 250C0048 */ addiu $t4, $t0, 0x48 +/* 0043AC24 03A05825 */ move $t3, $sp +.L0043AC28: +/* 0043AC28 890A0000 */ lwl $t2, ($t0) +/* 0043AC2C 990A0003 */ lwr $t2, 3($t0) +/* 0043AC30 2508000C */ addiu $t0, $t0, 0xc +/* 0043AC34 256B000C */ addiu $t3, $t3, 0xc +/* 0043AC38 A96AFFFC */ swl $t2, -4($t3) +/* 0043AC3C B96AFFFF */ swr $t2, -1($t3) +/* 0043AC40 8909FFF8 */ lwl $t1, -8($t0) +/* 0043AC44 9909FFFB */ lwr $t1, -5($t0) +/* 0043AC48 A9690000 */ swl $t1, ($t3) +/* 0043AC4C B9690003 */ swr $t1, 3($t3) +/* 0043AC50 890AFFFC */ lwl $t2, -4($t0) +/* 0043AC54 990AFFFF */ lwr $t2, -1($t0) +/* 0043AC58 A96A0004 */ swl $t2, 4($t3) +/* 0043AC5C 150CFFF2 */ bne $t0, $t4, .L0043AC28 +/* 0043AC60 B96A0007 */ swr $t2, 7($t3) +/* 0043AC64 890A0000 */ lwl $t2, ($t0) +/* 0043AC68 990A0003 */ lwr $t2, 3($t0) +/* 0043AC6C 8F8D8038 */ lw $t5, %got(RO_1000B9A8)($gp) +/* 0043AC70 03A0C025 */ move $t8, $sp +/* 0043AC74 A96A0008 */ swl $t2, 8($t3) +/* 0043AC78 B96A000B */ swr $t2, 0xb($t3) +/* 0043AC7C 89090004 */ lwl $t1, 4($t0) +/* 0043AC80 99090007 */ lwr $t1, 7($t0) +/* 0043AC84 25ADB9A8 */ addiu $t5, %lo(RO_1000B9A8) # addiu $t5, $t5, -0x4658 +/* 0043AC88 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043AC8C A969000C */ swl $t1, 0xc($t3) +/* 0043AC90 B969000F */ swr $t1, 0xf($t3) +.L0043AC94: +/* 0043AC94 89AF0000 */ lwl $t7, ($t5) +/* 0043AC98 99AF0003 */ lwr $t7, 3($t5) +/* 0043AC9C 25AD000C */ addiu $t5, $t5, 0xc +/* 0043ACA0 2718000C */ addiu $t8, $t8, 0xc +/* 0043ACA4 AB0F004C */ swl $t7, 0x4c($t8) +/* 0043ACA8 BB0F004F */ swr $t7, 0x4f($t8) +/* 0043ACAC 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043ACB0 99AEFFFB */ lwr $t6, -5($t5) +/* 0043ACB4 AB0E0050 */ swl $t6, 0x50($t8) +/* 0043ACB8 BB0E0053 */ swr $t6, 0x53($t8) +/* 0043ACBC 89AFFFFC */ lwl $t7, -4($t5) +/* 0043ACC0 99AFFFFF */ lwr $t7, -1($t5) +/* 0043ACC4 AB0F0054 */ swl $t7, 0x54($t8) +/* 0043ACC8 15B9FFF2 */ bne $t5, $t9, .L0043AC94 +/* 0043ACCC BB0F0057 */ swr $t7, 0x57($t8) +/* 0043ACD0 89AF0000 */ lwl $t7, ($t5) +/* 0043ACD4 99AF0003 */ lwr $t7, 3($t5) +/* 0043ACD8 AB0F0058 */ swl $t7, 0x58($t8) +/* 0043ACDC BB0F005B */ swr $t7, 0x5b($t8) +/* 0043ACE0 89AE0004 */ lwl $t6, 4($t5) +/* 0043ACE4 99AE0007 */ lwr $t6, 7($t5) +/* 0043ACE8 AB0E005C */ swl $t6, 0x5c($t8) +/* 0043ACEC BB0E005F */ swr $t6, 0x5f($t8) +/* 0043ACF0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043ACF4 8FA7000C */ lw $a3, 0xc($sp) +/* 0043ACF8 8FA60008 */ lw $a2, 8($sp) +/* 0043ACFC 0320F809 */ jalr $t9 +/* 0043AD00 00000000 */ nop +/* 0043AD04 1000000E */ b .L0043AD40 +/* 0043AD08 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043AD0C: +/* 0043AD0C 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043AD10 02002025 */ move $a0, $s0 +/* 0043AD14 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043AD18 0320F809 */ jalr $t9 +/* 0043AD1C 00000000 */ nop +/* 0043AD20 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043AD24: +/* 0043AD24 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043AD28 02002025 */ move $a0, $s0 +/* 0043AD2C 8FA500BC */ lw $a1, 0xbc($sp) +/* 0043AD30 97A600C2 */ lhu $a2, 0xc2($sp) +/* 0043AD34 0320F809 */ jalr $t9 +/* 0043AD38 93A700C7 */ lbu $a3, 0xc7($sp) +/* 0043AD3C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043AD40: +/* 0043AD40 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043AD44 8FB000AC */ lw $s0, 0xac($sp) +/* 0043AD48 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0043AD4C 03E00008 */ jr $ra +/* 0043AD50 00000000 */ nop + .type get_one_reg, @function + .size get_one_reg, .-get_one_reg + .end get_one_reg + +glabel get_two_regs + .ent get_two_regs + # 0043ADE8 get_reg +/* 0043AD54 3C1C0FBE */ .cpload $t9 +/* 0043AD58 279C4CFC */ +/* 0043AD5C 0399E021 */ +/* 0043AD60 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043AD64 308E0001 */ andi $t6, $a0, 1 +/* 0043AD68 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043AD6C AFBC0018 */ sw $gp, 0x18($sp) +/* 0043AD70 AFA40020 */ sw $a0, 0x20($sp) +/* 0043AD74 AFA50024 */ sw $a1, 0x24($sp) +/* 0043AD78 AFA60028 */ sw $a2, 0x28($sp) +/* 0043AD7C 01C002B6 */ tne $t6, $zero, 0xa +/* 0043AD80 8F9984D0 */ lw $t9, %call16(get_one_reg)($gp) +/* 0043AD84 8FA50024 */ lw $a1, 0x24($sp) +/* 0043AD88 97A6002A */ lhu $a2, 0x2a($sp) +/* 0043AD8C 24070006 */ li $a3, 6 +/* 0043AD90 0320F809 */ jalr $t9 +/* 0043AD94 A3A40023 */ sb $a0, 0x23($sp) +/* 0043AD98 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043AD9C 93A20023 */ lbu $v0, 0x23($sp) +/* 0043ADA0 24070007 */ li $a3, 7 +/* 0043ADA4 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043ADA8 00027880 */ sll $t7, $v0, 2 +/* 0043ADAC 01E27823 */ subu $t7, $t7, $v0 +/* 0043ADB0 000F7880 */ sll $t7, $t7, 2 +/* 0043ADB4 24440001 */ addiu $a0, $v0, 1 +/* 0043ADB8 01F8C821 */ addu $t9, $t7, $t8 +/* 0043ADBC A3240009 */ sb $a0, 9($t9) +/* 0043ADC0 8F9984D0 */ lw $t9, %call16(get_one_reg)($gp) +/* 0043ADC4 97A6002A */ lhu $a2, 0x2a($sp) +/* 0043ADC8 8FA50024 */ lw $a1, 0x24($sp) +/* 0043ADCC 0320F809 */ jalr $t9 +/* 0043ADD0 00000000 */ nop +/* 0043ADD4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043ADD8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043ADDC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043ADE0 03E00008 */ jr $ra +/* 0043ADE4 00000000 */ nop + .type get_two_regs, @function + .size get_two_regs, .-get_two_regs + .end get_two_regs + +glabel get_reg + .ent get_reg + # 00420810 gen_entry_exit + # 004258CC get_dest + # 00428C38 copy + # 0042BDAC eval +/* 0043ADE8 3C1C0FBE */ .cpload $t9 +/* 0043ADEC 279C4C68 */ +/* 0043ADF0 0399E021 */ +/* 0043ADF4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043ADF8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043ADFC AFBC0018 */ sw $gp, 0x18($sp) +/* 0043AE00 AFA40020 */ sw $a0, 0x20($sp) +/* 0043AE04 10A00013 */ beqz $a1, .L0043AE54 +/* 0043AE08 AFA60028 */ sw $a2, 0x28($sp) +/* 0043AE0C 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0043AE10 91CE0000 */ lbu $t6, ($t6) +/* 0043AE14 15C0000F */ bnez $t6, .L0043AE54 +/* 0043AE18 00000000 */ nop +/* 0043AE1C 90AF0021 */ lbu $t7, 0x21($a1) +/* 0043AE20 3C010501 */ lui $at, 0x501 +/* 0043AE24 31F8001F */ andi $t8, $t7, 0x1f +/* 0043AE28 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0043AE2C 00194023 */ negu $t0, $t9 +/* 0043AE30 01014824 */ and $t1, $t0, $at +/* 0043AE34 03095004 */ sllv $t2, $t1, $t8 +/* 0043AE38 05410006 */ bgez $t2, .L0043AE54 +/* 0043AE3C 00000000 */ nop +/* 0043AE40 8F9984D4 */ lw $t9, %call16(get_two_regs)($gp) +/* 0043AE44 0320F809 */ jalr $t9 +/* 0043AE48 00000000 */ nop +/* 0043AE4C 10000006 */ b .L0043AE68 +/* 0043AE50 8FBC0018 */ lw $gp, 0x18($sp) +.L0043AE54: +/* 0043AE54 8F9984D0 */ lw $t9, %call16(get_one_reg)($gp) +/* 0043AE58 24070001 */ li $a3, 1 +/* 0043AE5C 0320F809 */ jalr $t9 +/* 0043AE60 00000000 */ nop +/* 0043AE64 8FBC0018 */ lw $gp, 0x18($sp) +.L0043AE68: +/* 0043AE68 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043AE6C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043AE70 03E00008 */ jr $ra +/* 0043AE74 00000000 */ nop + .type get_reg, @function + .size get_reg, .-get_reg + .end get_reg + +glabel get_reg1 + .ent get_reg1 + # 0042BDAC eval +/* 0043AE78 3C1C0FBE */ .cpload $t9 +/* 0043AE7C 279C4BD8 */ +/* 0043AE80 0399E021 */ +/* 0043AE84 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043AE88 00047080 */ sll $t6, $a0, 2 +/* 0043AE8C 01C47023 */ subu $t6, $t6, $a0 +/* 0043AE90 000E7080 */ sll $t6, $t6, 2 +/* 0043AE94 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0043AE98 01CF1821 */ addu $v1, $t6, $t7 +/* 0043AE9C 90780007 */ lbu $t8, 7($v1) +/* 0043AEA0 AFB00014 */ sw $s0, 0x14($sp) +/* 0043AEA4 00A08025 */ move $s0, $a1 +/* 0043AEA8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043AEAC AFBC0018 */ sw $gp, 0x18($sp) +/* 0043AEB0 AFA40028 */ sw $a0, 0x28($sp) +/* 0043AEB4 1300002C */ beqz $t8, .L0043AF68 +/* 0043AEB8 AFA60030 */ sw $a2, 0x30($sp) +/* 0043AEBC 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043AEC0 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043AEC4 AFA30020 */ sw $v1, 0x20($sp) +/* 0043AEC8 0320F809 */ jalr $t9 +/* 0043AECC A3A4002B */ sb $a0, 0x2b($sp) +/* 0043AED0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043AED4 8FA30020 */ lw $v1, 0x20($sp) +/* 0043AED8 10400023 */ beqz $v0, .L0043AF68 +/* 0043AEDC 93A4002B */ lbu $a0, 0x2b($sp) +/* 0043AEE0 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043AEE4 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043AEE8 A3A4002B */ sb $a0, 0x2b($sp) +/* 0043AEEC 0320F809 */ jalr $t9 +/* 0043AEF0 00000000 */ nop +/* 0043AEF4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043AEF8 93A4002B */ lbu $a0, 0x2b($sp) +/* 0043AEFC 8F9989D8 */ lw $t9, %got(opcode_arch)($gp) +/* 0043AF00 93390000 */ lbu $t9, ($t9) +/* 0043AF04 17200011 */ bnez $t9, .L0043AF4C +/* 0043AF08 00000000 */ nop +/* 0043AF0C 92080021 */ lbu $t0, 0x21($s0) +/* 0043AF10 3C010501 */ lui $at, 0x501 +/* 0043AF14 3109001F */ andi $t1, $t0, 0x1f +/* 0043AF18 2D2A0020 */ sltiu $t2, $t1, 0x20 +/* 0043AF1C 000A5823 */ negu $t3, $t2 +/* 0043AF20 01616024 */ and $t4, $t3, $at +/* 0043AF24 012C6804 */ sllv $t5, $t4, $t1 +/* 0043AF28 05A10008 */ bgez $t5, .L0043AF4C +/* 0043AF2C 00000000 */ nop +/* 0043AF30 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043AF34 02002825 */ move $a1, $s0 +/* 0043AF38 97A60032 */ lhu $a2, 0x32($sp) +/* 0043AF3C 0320F809 */ jalr $t9 +/* 0043AF40 24070006 */ li $a3, 6 +/* 0043AF44 10000067 */ b .L0043B0E4 +/* 0043AF48 8FBC0018 */ lw $gp, 0x18($sp) +.L0043AF4C: +/* 0043AF4C 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043AF50 02002825 */ move $a1, $s0 +/* 0043AF54 97A60032 */ lhu $a2, 0x32($sp) +/* 0043AF58 0320F809 */ jalr $t9 +/* 0043AF5C 24070001 */ li $a3, 1 +/* 0043AF60 10000060 */ b .L0043B0E4 +/* 0043AF64 8FBC0018 */ lw $gp, 0x18($sp) +.L0043AF68: +/* 0043AF68 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 0043AF6C 97A50032 */ lhu $a1, 0x32($sp) +/* 0043AF70 AFA30020 */ sw $v1, 0x20($sp) +/* 0043AF74 0320F809 */ jalr $t9 +/* 0043AF78 A3A4002B */ sb $a0, 0x2b($sp) +/* 0043AF7C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043AF80 8FA30020 */ lw $v1, 0x20($sp) +/* 0043AF84 93A4002B */ lbu $a0, 0x2b($sp) +/* 0043AF88 8F8289D8 */ lw $v0, %got(opcode_arch)($gp) +/* 0043AF8C 90420000 */ lbu $v0, ($v0) +/* 0043AF90 1440000C */ bnez $v0, .L0043AFC4 +/* 0043AF94 00000000 */ nop +/* 0043AF98 920E0021 */ lbu $t6, 0x21($s0) +/* 0043AF9C 3C010501 */ lui $at, 0x501 +/* 0043AFA0 240B0006 */ li $t3, 6 +/* 0043AFA4 31CF001F */ andi $t7, $t6, 0x1f +/* 0043AFA8 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0043AFAC 0018C823 */ negu $t9, $t8 +/* 0043AFB0 03214024 */ and $t0, $t9, $at +/* 0043AFB4 01E85004 */ sllv $t2, $t0, $t7 +/* 0043AFB8 05410002 */ bgez $t2, .L0043AFC4 +/* 0043AFBC 00000000 */ nop +/* 0043AFC0 A06B0008 */ sb $t3, 8($v1) +.L0043AFC4: +/* 0043AFC4 52000048 */ beql $s0, $zero, .L0043B0E8 +/* 0043AFC8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043AFCC 54400046 */ bnel $v0, $zero, .L0043B0E8 +/* 0043AFD0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043AFD4 920C0021 */ lbu $t4, 0x21($s0) +/* 0043AFD8 3C010501 */ lui $at, 0x501 +/* 0043AFDC 24820001 */ addiu $v0, $a0, 1 +/* 0043AFE0 3189001F */ andi $t1, $t4, 0x1f +/* 0043AFE4 2D2D0020 */ sltiu $t5, $t1, 0x20 +/* 0043AFE8 000D7023 */ negu $t6, $t5 +/* 0043AFEC 01C1C024 */ and $t8, $t6, $at +/* 0043AFF0 0138C804 */ sllv $t9, $t8, $t1 +/* 0043AFF4 0721003B */ bgez $t9, .L0043B0E4 +/* 0043AFF8 304800FF */ andi $t0, $v0, 0xff +/* 0043AFFC 8F8A8BCC */ lw $t2, %got(regs)($gp) +/* 0043B000 00087880 */ sll $t7, $t0, 2 +/* 0043B004 01E87823 */ subu $t7, $t7, $t0 +/* 0043B008 000F7880 */ sll $t7, $t7, 2 +/* 0043B00C A3A20027 */ sb $v0, 0x27($sp) +/* 0043B010 A0620009 */ sb $v0, 9($v1) +/* 0043B014 01EA5821 */ addu $t3, $t7, $t2 +/* 0043B018 916C0007 */ lbu $t4, 7($t3) +/* 0043B01C 11800017 */ beqz $t4, .L0043B07C +/* 0043B020 00000000 */ nop +/* 0043B024 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B028 304400FF */ andi $a0, $v0, 0xff +/* 0043B02C 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043B030 0320F809 */ jalr $t9 +/* 0043B034 00000000 */ nop +/* 0043B038 10400010 */ beqz $v0, .L0043B07C +/* 0043B03C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B040 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B044 93A40027 */ lbu $a0, 0x27($sp) +/* 0043B048 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B04C 0320F809 */ jalr $t9 +/* 0043B050 00000000 */ nop +/* 0043B054 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B058 93A40027 */ lbu $a0, 0x27($sp) +/* 0043B05C 02002825 */ move $a1, $s0 +/* 0043B060 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B064 97A60032 */ lhu $a2, 0x32($sp) +/* 0043B068 24070007 */ li $a3, 7 +/* 0043B06C 0320F809 */ jalr $t9 +/* 0043B070 00000000 */ nop +/* 0043B074 1000001B */ b .L0043B0E4 +/* 0043B078 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B07C: +/* 0043B07C 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 0043B080 93A40027 */ lbu $a0, 0x27($sp) +/* 0043B084 97A50032 */ lhu $a1, 0x32($sp) +/* 0043B088 0320F809 */ jalr $t9 +/* 0043B08C 00000000 */ nop +/* 0043B090 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B094 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 0043B098 91AD0000 */ lbu $t5, ($t5) +/* 0043B09C 55A00012 */ bnel $t5, $zero, .L0043B0E8 +/* 0043B0A0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043B0A4 920E0021 */ lbu $t6, 0x21($s0) +/* 0043B0A8 3C010501 */ lui $at, 0x501 +/* 0043B0AC 93AB0027 */ lbu $t3, 0x27($sp) +/* 0043B0B0 31D8001F */ andi $t8, $t6, 0x1f +/* 0043B0B4 2F090020 */ sltiu $t1, $t8, 0x20 +/* 0043B0B8 0009C823 */ negu $t9, $t1 +/* 0043B0BC 03214024 */ and $t0, $t9, $at +/* 0043B0C0 03087804 */ sllv $t7, $t0, $t8 +/* 0043B0C4 05E10007 */ bgez $t7, .L0043B0E4 +/* 0043B0C8 000B6080 */ sll $t4, $t3, 2 +/* 0043B0CC 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0043B0D0 018B6023 */ subu $t4, $t4, $t3 +/* 0043B0D4 000C6080 */ sll $t4, $t4, 2 +/* 0043B0D8 240A0007 */ li $t2, 7 +/* 0043B0DC 018D7021 */ addu $t6, $t4, $t5 +/* 0043B0E0 A1CA0008 */ sb $t2, 8($t6) +.L0043B0E4: +/* 0043B0E4 8FBF001C */ lw $ra, 0x1c($sp) +.L0043B0E8: +/* 0043B0E8 8FB00014 */ lw $s0, 0x14($sp) +/* 0043B0EC 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0043B0F0 03E00008 */ jr $ra +/* 0043B0F4 00000000 */ nop + .type get_reg1, @function + .size get_reg1, .-get_reg1 + .end get_reg1 + +glabel get_fp_reg + .ent get_fp_reg + # 004258CC get_dest + # 004287AC eval_fp_min_max +/* 0043B0F8 3C1C0FBE */ .cpload $t9 +/* 0043B0FC 279C4958 */ +/* 0043B100 0399E021 */ +/* 0043B104 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043B108 AFB000AC */ sw $s0, 0xac($sp) +/* 0043B10C 309000FF */ andi $s0, $a0, 0xff +/* 0043B110 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043B114 00107080 */ sll $t6, $s0, 2 +/* 0043B118 01D07023 */ subu $t6, $t6, $s0 +/* 0043B11C 000E7080 */ sll $t6, $t6, 2 +/* 0043B120 01CF1821 */ addu $v1, $t6, $t7 +/* 0043B124 90780007 */ lbu $t8, 7($v1) +/* 0043B128 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043B12C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043B130 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043B134 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043B138 AFA600C8 */ sw $a2, 0xc8($sp) +/* 0043B13C 1700000B */ bnez $t8, .L0043B16C +/* 0043B140 AFA700CC */ sw $a3, 0xcc($sp) +/* 0043B144 94790004 */ lhu $t9, 4($v1) +/* 0043B148 13200064 */ beqz $t9, .L0043B2DC +/* 0043B14C 00000000 */ nop +/* 0043B150 8F9984CC */ lw $t9, %call16(spill_reg)($gp) +/* 0043B154 02002025 */ move $a0, $s0 +/* 0043B158 90650008 */ lbu $a1, 8($v1) +/* 0043B15C 0320F809 */ jalr $t9 +/* 0043B160 00000000 */ nop +/* 0043B164 1000005D */ b .L0043B2DC +/* 0043B168 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043B16C: +/* 0043B16C 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B170 02002025 */ move $a0, $s0 +/* 0043B174 8F858AFC */ lw $a1, %got(fp_regs_free)($gp) +/* 0043B178 0320F809 */ jalr $t9 +/* 0043B17C AFA300BC */ sw $v1, 0xbc($sp) +/* 0043B180 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043B184 1440004F */ bnez $v0, .L0043B2C4 +/* 0043B188 8FA300BC */ lw $v1, 0xbc($sp) +/* 0043B18C 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B190 02002025 */ move $a0, $s0 +/* 0043B194 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043B198 0320F809 */ jalr $t9 +/* 0043B19C AFA300BC */ sw $v1, 0xbc($sp) +/* 0043B1A0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043B1A4 10400008 */ beqz $v0, .L0043B1C8 +/* 0043B1A8 8FA300BC */ lw $v1, 0xbc($sp) +/* 0043B1AC 8F9984CC */ lw $t9, %call16(spill_reg)($gp) +/* 0043B1B0 02002025 */ move $a0, $s0 +/* 0043B1B4 90650008 */ lbu $a1, 8($v1) +/* 0043B1B8 0320F809 */ jalr $t9 +/* 0043B1BC 00000000 */ nop +/* 0043B1C0 10000040 */ b .L0043B2C4 +/* 0043B1C4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043B1C8: +/* 0043B1C8 8F888038 */ lw $t0, %got(RO_1000BA98)($gp) +/* 0043B1CC 24040004 */ li $a0, 4 +/* 0043B1D0 240502A6 */ li $a1, 678 +/* 0043B1D4 2508BA98 */ addiu $t0, %lo(RO_1000BA98) # addiu $t0, $t0, -0x4568 +/* 0043B1D8 250C0048 */ addiu $t4, $t0, 0x48 +/* 0043B1DC 03A05825 */ move $t3, $sp +.L0043B1E0: +/* 0043B1E0 890A0000 */ lwl $t2, ($t0) +/* 0043B1E4 990A0003 */ lwr $t2, 3($t0) +/* 0043B1E8 2508000C */ addiu $t0, $t0, 0xc +/* 0043B1EC 256B000C */ addiu $t3, $t3, 0xc +/* 0043B1F0 A96AFFFC */ swl $t2, -4($t3) +/* 0043B1F4 B96AFFFF */ swr $t2, -1($t3) +/* 0043B1F8 8909FFF8 */ lwl $t1, -8($t0) +/* 0043B1FC 9909FFFB */ lwr $t1, -5($t0) +/* 0043B200 A9690000 */ swl $t1, ($t3) +/* 0043B204 B9690003 */ swr $t1, 3($t3) +/* 0043B208 890AFFFC */ lwl $t2, -4($t0) +/* 0043B20C 990AFFFF */ lwr $t2, -1($t0) +/* 0043B210 A96A0004 */ swl $t2, 4($t3) +/* 0043B214 150CFFF2 */ bne $t0, $t4, .L0043B1E0 +/* 0043B218 B96A0007 */ swr $t2, 7($t3) +/* 0043B21C 890A0000 */ lwl $t2, ($t0) +/* 0043B220 990A0003 */ lwr $t2, 3($t0) +/* 0043B224 8F8D8038 */ lw $t5, %got(RO_1000BA48)($gp) +/* 0043B228 03A0C025 */ move $t8, $sp +/* 0043B22C A96A0008 */ swl $t2, 8($t3) +/* 0043B230 B96A000B */ swr $t2, 0xb($t3) +/* 0043B234 89090004 */ lwl $t1, 4($t0) +/* 0043B238 99090007 */ lwr $t1, 7($t0) +/* 0043B23C 25ADBA48 */ addiu $t5, %lo(RO_1000BA48) # addiu $t5, $t5, -0x45b8 +/* 0043B240 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043B244 A969000C */ swl $t1, 0xc($t3) +/* 0043B248 B969000F */ swr $t1, 0xf($t3) +.L0043B24C: +/* 0043B24C 89AF0000 */ lwl $t7, ($t5) +/* 0043B250 99AF0003 */ lwr $t7, 3($t5) +/* 0043B254 25AD000C */ addiu $t5, $t5, 0xc +/* 0043B258 2718000C */ addiu $t8, $t8, 0xc +/* 0043B25C AB0F004C */ swl $t7, 0x4c($t8) +/* 0043B260 BB0F004F */ swr $t7, 0x4f($t8) +/* 0043B264 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043B268 99AEFFFB */ lwr $t6, -5($t5) +/* 0043B26C AB0E0050 */ swl $t6, 0x50($t8) +/* 0043B270 BB0E0053 */ swr $t6, 0x53($t8) +/* 0043B274 89AFFFFC */ lwl $t7, -4($t5) +/* 0043B278 99AFFFFF */ lwr $t7, -1($t5) +/* 0043B27C AB0F0054 */ swl $t7, 0x54($t8) +/* 0043B280 15B9FFF2 */ bne $t5, $t9, .L0043B24C +/* 0043B284 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043B288 89AF0000 */ lwl $t7, ($t5) +/* 0043B28C 99AF0003 */ lwr $t7, 3($t5) +/* 0043B290 AB0F0058 */ swl $t7, 0x58($t8) +/* 0043B294 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043B298 89AE0004 */ lwl $t6, 4($t5) +/* 0043B29C 99AE0007 */ lwr $t6, 7($t5) +/* 0043B2A0 AB0E005C */ swl $t6, 0x5c($t8) +/* 0043B2A4 BB0E005F */ swr $t6, 0x5f($t8) +/* 0043B2A8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043B2AC 8FA7000C */ lw $a3, 0xc($sp) +/* 0043B2B0 8FA60008 */ lw $a2, 8($sp) +/* 0043B2B4 0320F809 */ jalr $t9 +/* 0043B2B8 00000000 */ nop +/* 0043B2BC 1000000E */ b .L0043B2F8 +/* 0043B2C0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043B2C4: +/* 0043B2C4 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B2C8 02002025 */ move $a0, $s0 +/* 0043B2CC 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043B2D0 0320F809 */ jalr $t9 +/* 0043B2D4 00000000 */ nop +/* 0043B2D8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043B2DC: +/* 0043B2DC 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B2E0 02002025 */ move $a0, $s0 +/* 0043B2E4 8FA500C4 */ lw $a1, 0xc4($sp) +/* 0043B2E8 97A600CE */ lhu $a2, 0xce($sp) +/* 0043B2EC 0320F809 */ jalr $t9 +/* 0043B2F0 93A700CB */ lbu $a3, 0xcb($sp) +/* 0043B2F4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043B2F8: +/* 0043B2F8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043B2FC 8FB000AC */ lw $s0, 0xac($sp) +/* 0043B300 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043B304 03E00008 */ jr $ra +/* 0043B308 00000000 */ nop + .type get_fp_reg, @function + .size get_fp_reg, .-get_fp_reg + .end get_fp_reg + +glabel get_fp_reg1 + .ent get_fp_reg1 + # 0042BDAC eval +/* 0043B30C 3C1C0FBE */ .cpload $t9 +/* 0043B310 279C4744 */ +/* 0043B314 0399E021 */ +/* 0043B318 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043B31C 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043B320 00047080 */ sll $t6, $a0, 2 +/* 0043B324 01C47023 */ subu $t6, $t6, $a0 +/* 0043B328 000E7080 */ sll $t6, $t6, 2 +/* 0043B32C AFBF001C */ sw $ra, 0x1c($sp) +/* 0043B330 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043B334 AFA40020 */ sw $a0, 0x20($sp) +/* 0043B338 AFA50024 */ sw $a1, 0x24($sp) +/* 0043B33C AFA60028 */ sw $a2, 0x28($sp) +/* 0043B340 AFA7002C */ sw $a3, 0x2c($sp) +/* 0043B344 01CFC021 */ addu $t8, $t6, $t7 +/* 0043B348 93190007 */ lbu $t9, 7($t8) +/* 0043B34C 13200018 */ beqz $t9, .L0043B3B0 +/* 0043B350 00000000 */ nop +/* 0043B354 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B358 8F858AFC */ lw $a1, %got(fp_regs_free)($gp) +/* 0043B35C A3A40023 */ sb $a0, 0x23($sp) +/* 0043B360 0320F809 */ jalr $t9 +/* 0043B364 00000000 */ nop +/* 0043B368 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B36C 10400010 */ beqz $v0, .L0043B3B0 +/* 0043B370 93A40023 */ lbu $a0, 0x23($sp) +/* 0043B374 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B378 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043B37C A3A40023 */ sb $a0, 0x23($sp) +/* 0043B380 0320F809 */ jalr $t9 +/* 0043B384 00000000 */ nop +/* 0043B388 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B38C 93A40023 */ lbu $a0, 0x23($sp) +/* 0043B390 8FA50024 */ lw $a1, 0x24($sp) +/* 0043B394 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B398 97A6002E */ lhu $a2, 0x2e($sp) +/* 0043B39C 93A7002B */ lbu $a3, 0x2b($sp) +/* 0043B3A0 0320F809 */ jalr $t9 +/* 0043B3A4 00000000 */ nop +/* 0043B3A8 10000006 */ b .L0043B3C4 +/* 0043B3AC 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B3B0: +/* 0043B3B0 8F998508 */ lw $t9, %call16(inc_usage)($gp) +/* 0043B3B4 97A5002E */ lhu $a1, 0x2e($sp) +/* 0043B3B8 0320F809 */ jalr $t9 +/* 0043B3BC 00000000 */ nop +/* 0043B3C0 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B3C4: +/* 0043B3C4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043B3C8 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043B3CC 03E00008 */ jr $ra +/* 0043B3D0 00000000 */ nop + .type get_fp_reg1, @function + .size get_fp_reg1, .-get_fp_reg1 + .end get_fp_reg1 + +glabel free_reg_is_available + .ent free_reg_is_available + # 00428D14 eval_mov +/* 0043B3D4 3C1C0FBE */ .cpload $t9 +/* 0043B3D8 279C467C */ +/* 0043B3DC 0399E021 */ +/* 0043B3E0 8F8E8AF4 */ lw $t6, %got(gp_regs_free)($gp) +/* 0043B3E4 24010048 */ li $at, 72 +/* 0043B3E8 24020001 */ li $v0, 1 +/* 0043B3EC 91CE0000 */ lbu $t6, ($t6) +/* 0043B3F0 15C10003 */ bne $t6, $at, .L0043B400 +/* 0043B3F4 00000000 */ nop +/* 0043B3F8 03E00008 */ jr $ra +/* 0043B3FC 00001025 */ move $v0, $zero + +.L0043B400: +/* 0043B400 03E00008 */ jr $ra +/* 0043B404 00000000 */ nop + .type free_reg_is_available, @function + .size free_reg_is_available, .-free_reg_is_available + .end free_reg_is_available + +glabel can_get_two_regs + .ent can_get_two_regs + # 0043B6AC get_two_free_regs +/* 0043B408 3C1C0FBE */ .cpload $t9 +/* 0043B40C 279C4648 */ +/* 0043B410 0399E021 */ +/* 0043B414 AFA40000 */ sw $a0, ($sp) +/* 0043B418 93A40000 */ lbu $a0, ($sp) +/* 0043B41C 24030048 */ li $v1, 72 +/* 0043B420 14830003 */ bne $a0, $v1, .L0043B430 +/* 0043B424 308E0001 */ andi $t6, $a0, 1 +/* 0043B428 03E00008 */ jr $ra +/* 0043B42C 00001025 */ move $v0, $zero + +.L0043B430: +/* 0043B430 11C0000A */ beqz $t6, .L0043B45C +/* 0043B434 308200FF */ andi $v0, $a0, 0xff +/* 0043B438 2405000C */ li $a1, 12 +/* 0043B43C 8F848BCC */ lw $a0, %got(regs)($gp) +.L0043B440: +/* 0043B440 00450019 */ multu $v0, $a1 +/* 0043B444 00007812 */ mflo $t7 +/* 0043B448 008FC021 */ addu $t8, $a0, $t7 +/* 0043B44C 93020006 */ lbu $v0, 6($t8) +/* 0043B450 30590001 */ andi $t9, $v0, 1 +/* 0043B454 1720FFFA */ bnez $t9, .L0043B440 +/* 0043B458 00000000 */ nop +.L0043B45C: +/* 0043B45C 54430004 */ bnel $v0, $v1, .L0043B470 +/* 0043B460 24020001 */ li $v0, 1 +/* 0043B464 03E00008 */ jr $ra +/* 0043B468 00001025 */ move $v0, $zero + +/* 0043B46C 24020001 */ li $v0, 1 +.L0043B470: +/* 0043B470 03E00008 */ jr $ra +/* 0043B474 00000000 */ nop + .type can_get_two_regs, @function + .size can_get_two_regs, .-can_get_two_regs + .end can_get_two_regs + +glabel spill_two_regs + .ent spill_two_regs + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg +/* 0043B478 3C1C0FBE */ .cpload $t9 +/* 0043B47C 279C45D8 */ +/* 0043B480 0399E021 */ +/* 0043B484 8F9984B4 */ lw $t9, %call16(remove_direg)($gp) +/* 0043B488 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043B48C AFBF00BC */ sw $ra, 0xbc($sp) +/* 0043B490 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 0043B494 AFB100B4 */ sw $s1, 0xb4($sp) +/* 0043B498 AFB000B0 */ sw $s0, 0xb0($sp) +/* 0043B49C 0320F809 */ jalr $t9 +/* 0043B4A0 8F848AF8 */ lw $a0, %got(gp_regs_used)($gp) +/* 0043B4A4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B4A8 304E00FF */ andi $t6, $v0, 0xff +/* 0043B4AC 000E7880 */ sll $t7, $t6, 2 +/* 0043B4B0 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043B4B4 01EE7823 */ subu $t7, $t7, $t6 +/* 0043B4B8 000F7880 */ sll $t7, $t7, 2 +/* 0043B4BC 01F8C821 */ addu $t9, $t7, $t8 +/* 0043B4C0 93280008 */ lbu $t0, 8($t9) +/* 0043B4C4 24010006 */ li $at, 6 +/* 0043B4C8 305100FF */ andi $s1, $v0, 0xff +/* 0043B4CC 15010011 */ bne $t0, $at, .L0043B514 +/* 0043B4D0 00000000 */ nop +/* 0043B4D4 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043B4D8 8F8588F4 */ lw $a1, %got(size_tab)($gp) +/* 0043B4DC 02202025 */ move $a0, $s1 +/* 0043B4E0 0320F809 */ jalr $t9 +/* 0043B4E4 8CA50018 */ lw $a1, 0x18($a1) +/* 0043B4E8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B4EC 26300001 */ addiu $s0, $s1, 1 +/* 0043B4F0 02002025 */ move $a0, $s0 +/* 0043B4F4 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B4F8 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B4FC 0320F809 */ jalr $t9 +/* 0043B500 00000000 */ nop +/* 0043B504 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B508 004002B4 */ teq $v0, $zero, 0xa +/* 0043B50C 1000005B */ b .L0043B67C +/* 0043B510 00000000 */ nop +.L0043B514: +/* 0043B514 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043B518 8F8588F4 */ lw $a1, %got(size_tab)($gp) +/* 0043B51C 02202025 */ move $a0, $s1 +/* 0043B520 0320F809 */ jalr $t9 +/* 0043B524 8CA50004 */ lw $a1, 4($a1) +/* 0043B528 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B52C 26300001 */ addiu $s0, $s1, 1 +/* 0043B530 02002025 */ move $a0, $s0 +/* 0043B534 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B538 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B53C 0320F809 */ jalr $t9 +/* 0043B540 00000000 */ nop +/* 0043B544 10400008 */ beqz $v0, .L0043B568 +/* 0043B548 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B54C 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043B550 8F8588F4 */ lw $a1, %got(size_tab)($gp) +/* 0043B554 02002025 */ move $a0, $s0 +/* 0043B558 0320F809 */ jalr $t9 +/* 0043B55C 8CA50004 */ lw $a1, 4($a1) +/* 0043B560 10000046 */ b .L0043B67C +/* 0043B564 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0043B568: +/* 0043B568 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043B56C 02002025 */ move $a0, $s0 +/* 0043B570 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043B574 0320F809 */ jalr $t9 +/* 0043B578 00000000 */ nop +/* 0043B57C 1440003F */ bnez $v0, .L0043B67C +/* 0043B580 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043B584 8F898038 */ lw $t1, %got(RO_1000BB38)($gp) +/* 0043B588 24040004 */ li $a0, 4 +/* 0043B58C 24050305 */ li $a1, 773 +/* 0043B590 2529BB38 */ addiu $t1, %lo(RO_1000BB38) # addiu $t1, $t1, -0x44c8 +/* 0043B594 252D0048 */ addiu $t5, $t1, 0x48 +/* 0043B598 03A06025 */ move $t4, $sp +.L0043B59C: +/* 0043B59C 892B0000 */ lwl $t3, ($t1) +/* 0043B5A0 992B0003 */ lwr $t3, 3($t1) +/* 0043B5A4 2529000C */ addiu $t1, $t1, 0xc +/* 0043B5A8 258C000C */ addiu $t4, $t4, 0xc +/* 0043B5AC A98BFFFC */ swl $t3, -4($t4) +/* 0043B5B0 B98BFFFF */ swr $t3, -1($t4) +/* 0043B5B4 892AFFF8 */ lwl $t2, -8($t1) +/* 0043B5B8 992AFFFB */ lwr $t2, -5($t1) +/* 0043B5BC A98A0000 */ swl $t2, ($t4) +/* 0043B5C0 B98A0003 */ swr $t2, 3($t4) +/* 0043B5C4 892BFFFC */ lwl $t3, -4($t1) +/* 0043B5C8 992BFFFF */ lwr $t3, -1($t1) +/* 0043B5CC A98B0004 */ swl $t3, 4($t4) +/* 0043B5D0 152DFFF2 */ bne $t1, $t5, .L0043B59C +/* 0043B5D4 B98B0007 */ swr $t3, 7($t4) +/* 0043B5D8 892B0000 */ lwl $t3, ($t1) +/* 0043B5DC 992B0003 */ lwr $t3, 3($t1) +/* 0043B5E0 8F8E8038 */ lw $t6, %got(RO_1000BAE8)($gp) +/* 0043B5E4 03A0C825 */ move $t9, $sp +/* 0043B5E8 A98B0008 */ swl $t3, 8($t4) +/* 0043B5EC B98B000B */ swr $t3, 0xb($t4) +/* 0043B5F0 892A0004 */ lwl $t2, 4($t1) +/* 0043B5F4 992A0007 */ lwr $t2, 7($t1) +/* 0043B5F8 25CEBAE8 */ addiu $t6, %lo(RO_1000BAE8) # addiu $t6, $t6, -0x4518 +/* 0043B5FC 25C80048 */ addiu $t0, $t6, 0x48 +/* 0043B600 A98A000C */ swl $t2, 0xc($t4) +/* 0043B604 B98A000F */ swr $t2, 0xf($t4) +.L0043B608: +/* 0043B608 89D80000 */ lwl $t8, ($t6) +/* 0043B60C 99D80003 */ lwr $t8, 3($t6) +/* 0043B610 25CE000C */ addiu $t6, $t6, 0xc +/* 0043B614 2739000C */ addiu $t9, $t9, 0xc +/* 0043B618 AB38004C */ swl $t8, 0x4c($t9) +/* 0043B61C BB38004F */ swr $t8, 0x4f($t9) +/* 0043B620 89CFFFF8 */ lwl $t7, -8($t6) +/* 0043B624 99CFFFFB */ lwr $t7, -5($t6) +/* 0043B628 AB2F0050 */ swl $t7, 0x50($t9) +/* 0043B62C BB2F0053 */ swr $t7, 0x53($t9) +/* 0043B630 89D8FFFC */ lwl $t8, -4($t6) +/* 0043B634 99D8FFFF */ lwr $t8, -1($t6) +/* 0043B638 AB380054 */ swl $t8, 0x54($t9) +/* 0043B63C 15C8FFF2 */ bne $t6, $t0, .L0043B608 +/* 0043B640 BB380057 */ swr $t8, 0x57($t9) +/* 0043B644 89D80000 */ lwl $t8, ($t6) +/* 0043B648 99D80003 */ lwr $t8, 3($t6) +/* 0043B64C AB380058 */ swl $t8, 0x58($t9) +/* 0043B650 BB38005B */ swr $t8, 0x5b($t9) +/* 0043B654 89CF0004 */ lwl $t7, 4($t6) +/* 0043B658 99CF0007 */ lwr $t7, 7($t6) +/* 0043B65C AB2F005C */ swl $t7, 0x5c($t9) +/* 0043B660 BB2F005F */ swr $t7, 0x5f($t9) +/* 0043B664 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043B668 8FA7000C */ lw $a3, 0xc($sp) +/* 0043B66C 8FA60008 */ lw $a2, 8($sp) +/* 0043B670 0320F809 */ jalr $t9 +/* 0043B674 00000000 */ nop +/* 0043B678 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0043B67C: +/* 0043B67C 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0043B680 00116880 */ sll $t5, $s1, 2 +/* 0043B684 01B16823 */ subu $t5, $t5, $s1 +/* 0043B688 000D6880 */ sll $t5, $t5, 2 +/* 0043B68C 01A96021 */ addu $t4, $t5, $t1 +/* 0043B690 A1900009 */ sb $s0, 9($t4) +/* 0043B694 8FBF00BC */ lw $ra, 0xbc($sp) +/* 0043B698 02201025 */ move $v0, $s1 +/* 0043B69C 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0043B6A0 8FB000B0 */ lw $s0, 0xb0($sp) +/* 0043B6A4 03E00008 */ jr $ra +/* 0043B6A8 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type spill_two_regs, @function + .size spill_two_regs, .-spill_two_regs + .end spill_two_regs + +glabel get_two_free_regs + .ent get_two_free_regs + # 0043BA20 get_free_reg +/* 0043B6AC 3C1C0FBE */ .cpload $t9 +/* 0043B6B0 279C43A4 */ +/* 0043B6B4 0399E021 */ +/* 0043B6B8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0043B6BC AFB1001C */ sw $s1, 0x1c($sp) +/* 0043B6C0 0004182B */ sltu $v1, $zero, $a0 +/* 0043B6C4 00808825 */ move $s1, $a0 +/* 0043B6C8 AFBF0024 */ sw $ra, 0x24($sp) +/* 0043B6CC AFBC0020 */ sw $gp, 0x20($sp) +/* 0043B6D0 AFB00018 */ sw $s0, 0x18($sp) +/* 0043B6D4 1060000E */ beqz $v1, .L0043B710 +/* 0043B6D8 AFA5002C */ sw $a1, 0x2c($sp) +/* 0043B6DC 8F8389D8 */ lw $v1, %got(opcode_arch)($gp) +/* 0043B6E0 90630000 */ lbu $v1, ($v1) +/* 0043B6E4 2C630001 */ sltiu $v1, $v1, 1 +/* 0043B6E8 10600009 */ beqz $v1, .L0043B710 +/* 0043B6EC 00000000 */ nop +/* 0043B6F0 908E0021 */ lbu $t6, 0x21($a0) +/* 0043B6F4 3C010501 */ lui $at, 0x501 +/* 0043B6F8 31CF001F */ andi $t7, $t6, 0x1f +/* 0043B6FC 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0043B700 0018C823 */ negu $t9, $t8 +/* 0043B704 03214824 */ and $t1, $t9, $at +/* 0043B708 01E91804 */ sllv $v1, $t1, $t7 +/* 0043B70C 28630000 */ slti $v1, $v1, 0 +.L0043B710: +/* 0043B710 8F908AF4 */ lw $s0, %got(gp_regs_free)($gp) +/* 0043B714 006002B4 */ teq $v1, $zero, 0xa +/* 0043B718 920B0000 */ lbu $t3, ($s0) +/* 0043B71C 8F9984EC */ lw $t9, %call16(can_get_two_regs)($gp) +/* 0043B720 A3AB0000 */ sb $t3, ($sp) +/* 0043B724 920A0001 */ lbu $t2, 1($s0) +/* 0043B728 A3AA0001 */ sb $t2, 1($sp) +/* 0043B72C 0320F809 */ jalr $t9 +/* 0043B730 8FA40000 */ lw $a0, ($sp) +/* 0043B734 10400017 */ beqz $v0, .L0043B794 +/* 0043B738 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B73C 8F9984B4 */ lw $t9, %call16(remove_direg)($gp) +/* 0043B740 02002025 */ move $a0, $s0 +/* 0043B744 0320F809 */ jalr $t9 +/* 0043B748 00000000 */ nop +/* 0043B74C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B750 304300FF */ andi $v1, $v0, 0xff +/* 0043B754 00036080 */ sll $t4, $v1, 2 +/* 0043B758 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0043B75C 01836023 */ subu $t4, $t4, $v1 +/* 0043B760 000C6080 */ sll $t4, $t4, 2 +/* 0043B764 246E0001 */ addiu $t6, $v1, 1 +/* 0043B768 018D4021 */ addu $t0, $t4, $t5 +/* 0043B76C A10E0009 */ sb $t6, 9($t0) +/* 0043B770 8F9984D0 */ lw $t9, %call16(get_one_reg)($gp) +/* 0043B774 305000FF */ andi $s0, $v0, 0xff +/* 0043B778 31C400FF */ andi $a0, $t6, 0xff +/* 0043B77C 02202825 */ move $a1, $s1 +/* 0043B780 97A6002E */ lhu $a2, 0x2e($sp) +/* 0043B784 0320F809 */ jalr $t9 +/* 0043B788 24070007 */ li $a3, 7 +/* 0043B78C 1000001D */ b .L0043B804 +/* 0043B790 8FBC0020 */ lw $gp, 0x20($sp) +.L0043B794: +/* 0043B794 8F9984F0 */ lw $t9, %call16(spill_two_regs)($gp) +/* 0043B798 0320F809 */ jalr $t9 +/* 0043B79C 00000000 */ nop +/* 0043B7A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B7A4 305800FF */ andi $t8, $v0, 0xff +/* 0043B7A8 0018C880 */ sll $t9, $t8, 2 +/* 0043B7AC 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0043B7B0 0338C823 */ subu $t9, $t9, $t8 +/* 0043B7B4 0019C880 */ sll $t9, $t9, 2 +/* 0043B7B8 03297821 */ addu $t7, $t9, $t1 +/* 0043B7BC 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B7C0 305000FF */ andi $s0, $v0, 0xff +/* 0043B7C4 91E40009 */ lbu $a0, 9($t7) +/* 0043B7C8 0320F809 */ jalr $t9 +/* 0043B7CC 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B7D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B7D4 00105080 */ sll $t2, $s0, 2 +/* 0043B7D8 01505023 */ subu $t2, $t2, $s0 +/* 0043B7DC 8F8B8BCC */ lw $t3, %got(regs)($gp) +/* 0043B7E0 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B7E4 000A5080 */ sll $t2, $t2, 2 +/* 0043B7E8 014B6021 */ addu $t4, $t2, $t3 +/* 0043B7EC 91840009 */ lbu $a0, 9($t4) +/* 0043B7F0 02202825 */ move $a1, $s1 +/* 0043B7F4 97A6002E */ lhu $a2, 0x2e($sp) +/* 0043B7F8 0320F809 */ jalr $t9 +/* 0043B7FC 24070007 */ li $a3, 7 +/* 0043B800 8FBC0020 */ lw $gp, 0x20($sp) +.L0043B804: +/* 0043B804 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B808 02002025 */ move $a0, $s0 +/* 0043B80C 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B810 0320F809 */ jalr $t9 +/* 0043B814 00000000 */ nop +/* 0043B818 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B81C 02002025 */ move $a0, $s0 +/* 0043B820 02202825 */ move $a1, $s1 +/* 0043B824 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B828 97A6002E */ lhu $a2, 0x2e($sp) +/* 0043B82C 24070006 */ li $a3, 6 +/* 0043B830 0320F809 */ jalr $t9 +/* 0043B834 00000000 */ nop +/* 0043B838 8FBF0024 */ lw $ra, 0x24($sp) +/* 0043B83C 02001025 */ move $v0, $s0 +/* 0043B840 8FBC0020 */ lw $gp, 0x20($sp) +/* 0043B844 8FB00018 */ lw $s0, 0x18($sp) +/* 0043B848 8FB1001C */ lw $s1, 0x1c($sp) +/* 0043B84C 03E00008 */ jr $ra +/* 0043B850 27BD0028 */ addiu $sp, $sp, 0x28 + .type get_two_free_regs, @function + .size get_two_free_regs, .-get_two_free_regs + .end get_two_free_regs + +glabel get_one_free_reg + .ent get_one_free_reg + # 0043BA20 get_free_reg +/* 0043B854 3C1C0FBE */ .cpload $t9 +/* 0043B858 279C41FC */ +/* 0043B85C 0399E021 */ +/* 0043B860 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043B864 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043B868 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043B86C AFA40020 */ sw $a0, 0x20($sp) +/* 0043B870 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043B874 AFB00014 */ sw $s0, 0x14($sp) +/* 0043B878 AFA50024 */ sw $a1, 0x24($sp) +/* 0043B87C 0320F809 */ jalr $t9 +/* 0043B880 8F848AF4 */ lw $a0, %got(gp_regs_free)($gp) +/* 0043B884 1040004D */ beqz $v0, .L0043B9BC +/* 0043B888 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B88C 8F8E8AF8 */ lw $t6, %got(gp_regs_used)($gp) +/* 0043B890 8F9984B8 */ lw $t9, %call16(get_head)($gp) +/* 0043B894 91D80000 */ lbu $t8, ($t6) +/* 0043B898 A3B80000 */ sb $t8, ($sp) +/* 0043B89C 91CF0001 */ lbu $t7, 1($t6) +/* 0043B8A0 A3AF0001 */ sb $t7, 1($sp) +/* 0043B8A4 0320F809 */ jalr $t9 +/* 0043B8A8 8FA40000 */ lw $a0, ($sp) +/* 0043B8AC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B8B0 305900FF */ andi $t9, $v0, 0xff +/* 0043B8B4 00194080 */ sll $t0, $t9, 2 +/* 0043B8B8 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0043B8BC 01194023 */ subu $t0, $t0, $t9 +/* 0043B8C0 00084080 */ sll $t0, $t0, 2 +/* 0043B8C4 01095021 */ addu $t2, $t0, $t1 +/* 0043B8C8 91430008 */ lbu $v1, 8($t2) +/* 0043B8CC 24010006 */ li $at, 6 +/* 0043B8D0 10610003 */ beq $v1, $at, .L0043B8E0 +/* 0043B8D4 24010007 */ li $at, 7 +/* 0043B8D8 1461001F */ bne $v1, $at, .L0043B958 +/* 0043B8DC 00000000 */ nop +.L0043B8E0: +/* 0043B8E0 8F9984F0 */ lw $t9, %call16(spill_two_regs)($gp) +/* 0043B8E4 0320F809 */ jalr $t9 +/* 0043B8E8 00000000 */ nop +/* 0043B8EC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B8F0 304B00FF */ andi $t3, $v0, 0xff +/* 0043B8F4 000B6080 */ sll $t4, $t3, 2 +/* 0043B8F8 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0043B8FC 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B900 018B6023 */ subu $t4, $t4, $t3 +/* 0043B904 000C6080 */ sll $t4, $t4, 2 +/* 0043B908 018D7021 */ addu $t6, $t4, $t5 +/* 0043B90C 305000FF */ andi $s0, $v0, 0xff +/* 0043B910 91C40009 */ lbu $a0, 9($t6) +/* 0043B914 0320F809 */ jalr $t9 +/* 0043B918 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043B91C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B920 00107880 */ sll $t7, $s0, 2 +/* 0043B924 01F07823 */ subu $t7, $t7, $s0 +/* 0043B928 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043B92C 000F7880 */ sll $t7, $t7, 2 +/* 0043B930 00002825 */ move $a1, $zero +/* 0043B934 01F8C821 */ addu $t9, $t7, $t8 +/* 0043B938 93240009 */ lbu $a0, 9($t9) +/* 0043B93C 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B940 00003025 */ move $a2, $zero +/* 0043B944 24070001 */ li $a3, 1 +/* 0043B948 0320F809 */ jalr $t9 +/* 0043B94C 00000000 */ nop +/* 0043B950 10000020 */ b .L0043B9D4 +/* 0043B954 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B958: +/* 0043B958 8F9984BC */ lw $t9, %call16(remove_head)($gp) +/* 0043B95C 8F848AF8 */ lw $a0, %got(gp_regs_used)($gp) +/* 0043B960 0320F809 */ jalr $t9 +/* 0043B964 00000000 */ nop +/* 0043B968 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B96C 24010001 */ li $at, 1 +/* 0043B970 305000FF */ andi $s0, $v0, 0xff +/* 0043B974 8F8889D8 */ lw $t0, %got(opcode_arch)($gp) +/* 0043B978 91080000 */ lbu $t0, ($t0) +/* 0043B97C 15010008 */ bne $t0, $at, .L0043B9A0 +/* 0043B980 00000000 */ nop +/* 0043B984 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043B988 8F8588F8 */ lw $a1, %got(size_tab2)($gp) +/* 0043B98C 02002025 */ move $a0, $s0 +/* 0043B990 0320F809 */ jalr $t9 +/* 0043B994 8CA50004 */ lw $a1, 4($a1) +/* 0043B998 1000000E */ b .L0043B9D4 +/* 0043B99C 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B9A0: +/* 0043B9A0 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043B9A4 8F8588F4 */ lw $a1, %got(size_tab)($gp) +/* 0043B9A8 02002025 */ move $a0, $s0 +/* 0043B9AC 0320F809 */ jalr $t9 +/* 0043B9B0 8CA50004 */ lw $a1, 4($a1) +/* 0043B9B4 10000007 */ b .L0043B9D4 +/* 0043B9B8 8FBC0018 */ lw $gp, 0x18($sp) +.L0043B9BC: +/* 0043B9BC 8F9984BC */ lw $t9, %call16(remove_head)($gp) +/* 0043B9C0 8F848AF4 */ lw $a0, %got(gp_regs_free)($gp) +/* 0043B9C4 0320F809 */ jalr $t9 +/* 0043B9C8 00000000 */ nop +/* 0043B9CC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B9D0 305000FF */ andi $s0, $v0, 0xff +.L0043B9D4: +/* 0043B9D4 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043B9D8 02002025 */ move $a0, $s0 +/* 0043B9DC 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043B9E0 0320F809 */ jalr $t9 +/* 0043B9E4 00000000 */ nop +/* 0043B9E8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043B9EC 02002025 */ move $a0, $s0 +/* 0043B9F0 8FA50020 */ lw $a1, 0x20($sp) +/* 0043B9F4 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043B9F8 97A60026 */ lhu $a2, 0x26($sp) +/* 0043B9FC 24070001 */ li $a3, 1 +/* 0043BA00 0320F809 */ jalr $t9 +/* 0043BA04 00000000 */ nop +/* 0043BA08 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043BA0C 02001025 */ move $v0, $s0 +/* 0043BA10 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BA14 8FB00014 */ lw $s0, 0x14($sp) +/* 0043BA18 03E00008 */ jr $ra +/* 0043BA1C 27BD0020 */ addiu $sp, $sp, 0x20 + .type get_one_free_reg, @function + .size get_one_free_reg, .-get_one_free_reg + .end get_one_free_reg + +glabel get_free_reg + .ent get_free_reg + # 0041C388 emit_branch_rill + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041FC98 dw_emit_rri + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00424934 restore_from_temp + # 004258CC get_dest + # 0042670C loadstore + # 00426B44 func_00426B44 + # 00426C54 func_00426C54 + # 00427BFC unaligned_loadstore_for_fp_word + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 00428C38 copy + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + # 0043D3F8 get_free_reg_special +/* 0043BA20 3C1C0FBE */ .cpload $t9 +/* 0043BA24 279C4030 */ +/* 0043BA28 0399E021 */ +/* 0043BA2C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043BA30 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043BA34 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043BA38 10800013 */ beqz $a0, .L0043BA88 +/* 0043BA3C AFA50024 */ sw $a1, 0x24($sp) +/* 0043BA40 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 0043BA44 91CE0000 */ lbu $t6, ($t6) +/* 0043BA48 15C0000F */ bnez $t6, .L0043BA88 +/* 0043BA4C 00000000 */ nop +/* 0043BA50 908F0021 */ lbu $t7, 0x21($a0) +/* 0043BA54 3C010501 */ lui $at, 0x501 +/* 0043BA58 31F8001F */ andi $t8, $t7, 0x1f +/* 0043BA5C 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0043BA60 00194023 */ negu $t0, $t9 +/* 0043BA64 01014824 */ and $t1, $t0, $at +/* 0043BA68 03095004 */ sllv $t2, $t1, $t8 +/* 0043BA6C 05410006 */ bgez $t2, .L0043BA88 +/* 0043BA70 00000000 */ nop +/* 0043BA74 8F9984F4 */ lw $t9, %call16(get_two_free_regs)($gp) +/* 0043BA78 0320F809 */ jalr $t9 +/* 0043BA7C 00000000 */ nop +/* 0043BA80 10000005 */ b .L0043BA98 +/* 0043BA84 8FBC0018 */ lw $gp, 0x18($sp) +.L0043BA88: +/* 0043BA88 8F9984F8 */ lw $t9, %call16(get_one_free_reg)($gp) +/* 0043BA8C 0320F809 */ jalr $t9 +/* 0043BA90 00000000 */ nop +/* 0043BA94 8FBC0018 */ lw $gp, 0x18($sp) +.L0043BA98: +/* 0043BA98 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043BA9C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043BAA0 03E00008 */ jr $ra +/* 0043BAA4 00000000 */ nop + .type get_free_reg, @function + .size get_free_reg, .-get_free_reg + .end get_free_reg + +glabel get_free_fp_reg + .ent get_free_fp_reg + # 00424934 restore_from_temp + # 004254B8 flt_reg + # 0042567C func_0042567C + # 004258CC get_dest + # 004287AC eval_fp_min_max + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt + # 0043D1A4 get_free_fp_reg_special +/* 0043BAA8 3C1C0FBE */ .cpload $t9 +/* 0043BAAC 279C3FA8 */ +/* 0043BAB0 0399E021 */ +/* 0043BAB4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043BAB8 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043BABC AFB00014 */ sw $s0, 0x14($sp) +/* 0043BAC0 8F908AFC */ lw $s0, %got(fp_regs_free)($gp) +/* 0043BAC4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043BAC8 AFA40020 */ sw $a0, 0x20($sp) +/* 0043BACC AFBC0018 */ sw $gp, 0x18($sp) +/* 0043BAD0 AFA50024 */ sw $a1, 0x24($sp) +/* 0043BAD4 AFA60028 */ sw $a2, 0x28($sp) +/* 0043BAD8 0320F809 */ jalr $t9 +/* 0043BADC 02002025 */ move $a0, $s0 +/* 0043BAE0 1040002B */ beqz $v0, .L0043BB90 +/* 0043BAE4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BAE8 8F9984BC */ lw $t9, %call16(remove_head)($gp) +/* 0043BAEC 8F848B00 */ lw $a0, %got(fp_regs_used)($gp) +/* 0043BAF0 0320F809 */ jalr $t9 +/* 0043BAF4 00000000 */ nop +/* 0043BAF8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BAFC 305000FF */ andi $s0, $v0, 0xff +/* 0043BB00 02002025 */ move $a0, $s0 +/* 0043BB04 8F8E89B8 */ lw $t6, %got(isa)($gp) +/* 0043BB08 00107880 */ sll $t7, $s0, 2 +/* 0043BB0C 00106080 */ sll $t4, $s0, 2 +/* 0043BB10 91CE0000 */ lbu $t6, ($t6) +/* 0043BB14 2DC10002 */ sltiu $at, $t6, 2 +/* 0043BB18 1420000E */ bnez $at, .L0043BB54 +/* 0043BB1C 00000000 */ nop +/* 0043BB20 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043BB24 01F07823 */ subu $t7, $t7, $s0 +/* 0043BB28 000F7880 */ sll $t7, $t7, 2 +/* 0043BB2C 01F8C821 */ addu $t9, $t7, $t8 +/* 0043BB30 93280008 */ lbu $t0, 8($t9) +/* 0043BB34 8F8A88F8 */ lw $t2, %got(size_tab2)($gp) +/* 0043BB38 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043BB3C 00084880 */ sll $t1, $t0, 2 +/* 0043BB40 012A5821 */ addu $t3, $t1, $t2 +/* 0043BB44 0320F809 */ jalr $t9 +/* 0043BB48 8D650000 */ lw $a1, ($t3) +/* 0043BB4C 10000039 */ b .L0043BC34 +/* 0043BB50 8FBC0018 */ lw $gp, 0x18($sp) +.L0043BB54: +/* 0043BB54 8F8D8BCC */ lw $t5, %got(regs)($gp) +/* 0043BB58 01906023 */ subu $t4, $t4, $s0 +/* 0043BB5C 000C6080 */ sll $t4, $t4, 2 +/* 0043BB60 018D7021 */ addu $t6, $t4, $t5 +/* 0043BB64 91CF0008 */ lbu $t7, 8($t6) +/* 0043BB68 8F9988F4 */ lw $t9, %got(size_tab)($gp) +/* 0043BB6C 02002025 */ move $a0, $s0 +/* 0043BB70 000FC080 */ sll $t8, $t7, 2 +/* 0043BB74 03194021 */ addu $t0, $t8, $t9 +/* 0043BB78 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043BB7C 8D050000 */ lw $a1, ($t0) +/* 0043BB80 0320F809 */ jalr $t9 +/* 0043BB84 00000000 */ nop +/* 0043BB88 1000002A */ b .L0043BC34 +/* 0043BB8C 8FBC0018 */ lw $gp, 0x18($sp) +.L0043BB90: +/* 0043BB90 8F9984BC */ lw $t9, %call16(remove_head)($gp) +/* 0043BB94 02002025 */ move $a0, $s0 +/* 0043BB98 0320F809 */ jalr $t9 +/* 0043BB9C 00000000 */ nop +/* 0043BBA0 304300FF */ andi $v1, $v0, 0xff +/* 0043BBA4 2C690060 */ sltiu $t1, $v1, 0x60 +/* 0043BBA8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BBAC 11200008 */ beqz $t1, .L0043BBD0 +/* 0043BBB0 305000FF */ andi $s0, $v0, 0xff +/* 0043BBB4 8F8C8B8C */ lw $t4, %got(ugen_fp_callee_saved)($gp) +/* 0043BBB8 00035143 */ sra $t2, $v1, 5 +/* 0043BBBC 000A5880 */ sll $t3, $t2, 2 +/* 0043BBC0 016C6821 */ addu $t5, $t3, $t4 +/* 0043BBC4 8DAE0000 */ lw $t6, ($t5) +/* 0043BBC8 006E7804 */ sllv $t7, $t6, $v1 +/* 0043BBCC 29E90000 */ slti $t1, $t7, 0 +.L0043BBD0: +/* 0043BBD0 11200018 */ beqz $t1, .L0043BC34 +/* 0043BBD4 2C790020 */ sltiu $t9, $v1, 0x20 +/* 0043BBD8 8F8B8B90 */ lw $t3, %got(saved_regs)($gp) +/* 0043BBDC 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0043BBE0 00604027 */ not $t0, $v1 +/* 0043BBE4 8D6B0000 */ lw $t3, ($t3) +/* 0043BBE8 8F988B90 */ lw $t8, %got(saved_regs)($gp) +/* 0043BBEC 01195004 */ sllv $t2, $t9, $t0 +/* 0043BBF0 016A6025 */ or $t4, $t3, $t2 +/* 0043BBF4 AC2C0000 */ sw $t4, ($at) +/* 0043BBF8 8F180004 */ lw $t8, 4($t8) +/* 0043BBFC 246DFFE0 */ addiu $t5, $v1, -0x20 +/* 0043BC00 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0043BC04 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 0043BC08 8F8C8B90 */ lw $t4, %got(saved_regs)($gp) +/* 0043BC0C 010E7804 */ sllv $t7, $t6, $t0 +/* 0043BC10 030F4825 */ or $t1, $t8, $t7 +/* 0043BC14 AC290004 */ sw $t1, 4($at) +/* 0043BC18 8D8C0008 */ lw $t4, 8($t4) +/* 0043BC1C 2479FFC0 */ addiu $t9, $v1, -0x40 +/* 0043BC20 8F818B90 */ lw $at, %got(saved_regs)($gp) +/* 0043BC24 2F2B0020 */ sltiu $t3, $t9, 0x20 +/* 0043BC28 010B5004 */ sllv $t2, $t3, $t0 +/* 0043BC2C 018A6825 */ or $t5, $t4, $t2 +/* 0043BC30 AC2D0008 */ sw $t5, 8($at) +.L0043BC34: +/* 0043BC34 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043BC38 02002025 */ move $a0, $s0 +/* 0043BC3C 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043BC40 0320F809 */ jalr $t9 +/* 0043BC44 00000000 */ nop +/* 0043BC48 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BC4C 02002025 */ move $a0, $s0 +/* 0043BC50 8FA50020 */ lw $a1, 0x20($sp) +/* 0043BC54 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043BC58 97A6002A */ lhu $a2, 0x2a($sp) +/* 0043BC5C 93A70027 */ lbu $a3, 0x27($sp) +/* 0043BC60 0320F809 */ jalr $t9 +/* 0043BC64 00000000 */ nop +/* 0043BC68 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043BC6C 02001025 */ move $v0, $s0 +/* 0043BC70 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043BC74 8FB00014 */ lw $s0, 0x14($sp) +/* 0043BC78 03E00008 */ jr $ra +/* 0043BC7C 27BD0020 */ addiu $sp, $sp, 0x20 + .type get_free_fp_reg, @function + .size get_free_fp_reg, .-get_free_fp_reg + .end get_free_fp_reg + +glabel content_of + .ent content_of + # 00441308 spill_to_temp +/* 0043BC80 3C1C0FBE */ .cpload $t9 +/* 0043BC84 279C3DD0 */ +/* 0043BC88 0399E021 */ +/* 0043BC8C 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043BC90 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043BC94 00047080 */ sll $t6, $a0, 2 +/* 0043BC98 01C47023 */ subu $t6, $t6, $a0 +/* 0043BC9C 000E7080 */ sll $t6, $t6, 2 +/* 0043BCA0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043BCA4 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043BCA8 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043BCAC 01CFC021 */ addu $t8, $t6, $t7 +/* 0043BCB0 8F030000 */ lw $v1, ($t8) +/* 0043BCB4 24040004 */ li $a0, 4 +/* 0043BCB8 14600040 */ bnez $v1, .L0043BDBC +/* 0043BCBC 00601025 */ move $v0, $v1 +/* 0043BCC0 8F998038 */ lw $t9, %got(RO_1000BBD8)($gp) +/* 0043BCC4 24050363 */ li $a1, 867 +/* 0043BCC8 03A05025 */ move $t2, $sp +/* 0043BCCC 2739BBD8 */ addiu $t9, %lo(RO_1000BBD8) # addiu $t9, $t9, -0x4428 +/* 0043BCD0 272B0048 */ addiu $t3, $t9, 0x48 +.L0043BCD4: +/* 0043BCD4 8B290000 */ lwl $t1, ($t9) +/* 0043BCD8 9B290003 */ lwr $t1, 3($t9) +/* 0043BCDC 2739000C */ addiu $t9, $t9, 0xc +/* 0043BCE0 254A000C */ addiu $t2, $t2, 0xc +/* 0043BCE4 A949FFFC */ swl $t1, -4($t2) +/* 0043BCE8 B949FFFF */ swr $t1, -1($t2) +/* 0043BCEC 8B28FFF8 */ lwl $t0, -8($t9) +/* 0043BCF0 9B28FFFB */ lwr $t0, -5($t9) +/* 0043BCF4 A9480000 */ swl $t0, ($t2) +/* 0043BCF8 B9480003 */ swr $t0, 3($t2) +/* 0043BCFC 8B29FFFC */ lwl $t1, -4($t9) +/* 0043BD00 9B29FFFF */ lwr $t1, -1($t9) +/* 0043BD04 A9490004 */ swl $t1, 4($t2) +/* 0043BD08 172BFFF2 */ bne $t9, $t3, .L0043BCD4 +/* 0043BD0C B9490007 */ swr $t1, 7($t2) +/* 0043BD10 8B290000 */ lwl $t1, ($t9) +/* 0043BD14 9B290003 */ lwr $t1, 3($t9) +/* 0043BD18 8F8C8038 */ lw $t4, %got(RO_1000BB88)($gp) +/* 0043BD1C 03A07825 */ move $t7, $sp +/* 0043BD20 A9490008 */ swl $t1, 8($t2) +/* 0043BD24 B949000B */ swr $t1, 0xb($t2) +/* 0043BD28 8B280004 */ lwl $t0, 4($t9) +/* 0043BD2C 9B280007 */ lwr $t0, 7($t9) +/* 0043BD30 258CBB88 */ addiu $t4, %lo(RO_1000BB88) # addiu $t4, $t4, -0x4478 +/* 0043BD34 25980048 */ addiu $t8, $t4, 0x48 +/* 0043BD38 A948000C */ swl $t0, 0xc($t2) +/* 0043BD3C B948000F */ swr $t0, 0xf($t2) +.L0043BD40: +/* 0043BD40 898E0000 */ lwl $t6, ($t4) +/* 0043BD44 998E0003 */ lwr $t6, 3($t4) +/* 0043BD48 258C000C */ addiu $t4, $t4, 0xc +/* 0043BD4C 25EF000C */ addiu $t7, $t7, 0xc +/* 0043BD50 A9EE004C */ swl $t6, 0x4c($t7) +/* 0043BD54 B9EE004F */ swr $t6, 0x4f($t7) +/* 0043BD58 898DFFF8 */ lwl $t5, -8($t4) +/* 0043BD5C 998DFFFB */ lwr $t5, -5($t4) +/* 0043BD60 A9ED0050 */ swl $t5, 0x50($t7) +/* 0043BD64 B9ED0053 */ swr $t5, 0x53($t7) +/* 0043BD68 898EFFFC */ lwl $t6, -4($t4) +/* 0043BD6C 998EFFFF */ lwr $t6, -1($t4) +/* 0043BD70 A9EE0054 */ swl $t6, 0x54($t7) +/* 0043BD74 1598FFF2 */ bne $t4, $t8, .L0043BD40 +/* 0043BD78 B9EE0057 */ swr $t6, 0x57($t7) +/* 0043BD7C 898E0000 */ lwl $t6, ($t4) +/* 0043BD80 998E0003 */ lwr $t6, 3($t4) +/* 0043BD84 A9EE0058 */ swl $t6, 0x58($t7) +/* 0043BD88 B9EE005B */ swr $t6, 0x5b($t7) +/* 0043BD8C 898D0004 */ lwl $t5, 4($t4) +/* 0043BD90 998D0007 */ lwr $t5, 7($t4) +/* 0043BD94 A9ED005C */ swl $t5, 0x5c($t7) +/* 0043BD98 B9ED005F */ swr $t5, 0x5f($t7) +/* 0043BD9C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043BDA0 8FA7000C */ lw $a3, 0xc($sp) +/* 0043BDA4 8FA60008 */ lw $a2, 8($sp) +/* 0043BDA8 0320F809 */ jalr $t9 +/* 0043BDAC 00000000 */ nop +/* 0043BDB0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043BDB4 10000001 */ b .L0043BDBC +/* 0043BDB8 8FA200BC */ lw $v0, 0xbc($sp) +.L0043BDBC: +/* 0043BDBC 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043BDC0 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043BDC4 03E00008 */ jr $ra +/* 0043BDC8 00000000 */ nop + .type content_of, @function + .size content_of, .-content_of + .end content_of + +glabel inc_usage + .ent inc_usage + # 0042BDAC eval + # 0043AE78 get_reg1 + # 0043B30C get_fp_reg1 +/* 0043BDCC 3C1C0FBE */ .cpload $t9 +/* 0043BDD0 279C3C84 */ +/* 0043BDD4 0399E021 */ +/* 0043BDD8 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043BDDC 00047080 */ sll $t6, $a0, 2 +/* 0043BDE0 01C47023 */ subu $t6, $t6, $a0 +/* 0043BDE4 000E7080 */ sll $t6, $t6, 2 +/* 0043BDE8 01CF1021 */ addu $v0, $t6, $t7 +/* 0043BDEC 94580004 */ lhu $t8, 4($v0) +/* 0043BDF0 AFA40000 */ sw $a0, ($sp) +/* 0043BDF4 AFA50004 */ sw $a1, 4($sp) +/* 0043BDF8 0305C821 */ addu $t9, $t8, $a1 +/* 0043BDFC 03E00008 */ jr $ra +/* 0043BE00 A4590004 */ sh $t9, 4($v0) + .type inc_usage, @function + .size inc_usage, .-inc_usage + .end inc_usage + +glabel dec_usage + .ent dec_usage + # 0043C098 free_reg + # 0043C410 free_fp_reg +/* 0043BE04 3C1C0FBE */ .cpload $t9 +/* 0043BE08 279C3C4C */ +/* 0043BE0C 0399E021 */ +/* 0043BE10 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043BE14 00047080 */ sll $t6, $a0, 2 +/* 0043BE18 01C47023 */ subu $t6, $t6, $a0 +/* 0043BE1C 000E7080 */ sll $t6, $t6, 2 +/* 0043BE20 01CF1821 */ addu $v1, $t6, $t7 +/* 0043BE24 94620004 */ lhu $v0, 4($v1) +/* 0043BE28 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043BE2C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043BE30 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043BE34 14400041 */ bnez $v0, .L0043BF3C +/* 0043BE38 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043BE3C 8F988038 */ lw $t8, %got(RO_1000BD18)($gp) +/* 0043BE40 24040004 */ li $a0, 4 +/* 0043BE44 24050374 */ li $a1, 884 +/* 0043BE48 2718BD18 */ addiu $t8, %lo(RO_1000BD18) # addiu $t8, $t8, -0x42e8 +/* 0043BE4C 270A0048 */ addiu $t2, $t8, 0x48 +/* 0043BE50 03A04825 */ move $t1, $sp +.L0043BE54: +/* 0043BE54 8B080000 */ lwl $t0, ($t8) +/* 0043BE58 9B080003 */ lwr $t0, 3($t8) +/* 0043BE5C 2718000C */ addiu $t8, $t8, 0xc +/* 0043BE60 2529000C */ addiu $t1, $t1, 0xc +/* 0043BE64 A928FFFC */ swl $t0, -4($t1) +/* 0043BE68 B928FFFF */ swr $t0, -1($t1) +/* 0043BE6C 8B19FFF8 */ lwl $t9, -8($t8) +/* 0043BE70 9B19FFFB */ lwr $t9, -5($t8) +/* 0043BE74 A9390000 */ swl $t9, ($t1) +/* 0043BE78 B9390003 */ swr $t9, 3($t1) +/* 0043BE7C 8B08FFFC */ lwl $t0, -4($t8) +/* 0043BE80 9B08FFFF */ lwr $t0, -1($t8) +/* 0043BE84 A9280004 */ swl $t0, 4($t1) +/* 0043BE88 170AFFF2 */ bne $t8, $t2, .L0043BE54 +/* 0043BE8C B9280007 */ swr $t0, 7($t1) +/* 0043BE90 8B080000 */ lwl $t0, ($t8) +/* 0043BE94 9B080003 */ lwr $t0, 3($t8) +/* 0043BE98 8F8B8038 */ lw $t3, %got(RO_1000BCC8)($gp) +/* 0043BE9C 03A07025 */ move $t6, $sp +/* 0043BEA0 A9280008 */ swl $t0, 8($t1) +/* 0043BEA4 B928000B */ swr $t0, 0xb($t1) +/* 0043BEA8 8B190004 */ lwl $t9, 4($t8) +/* 0043BEAC 9B190007 */ lwr $t9, 7($t8) +/* 0043BEB0 256BBCC8 */ addiu $t3, %lo(RO_1000BCC8) # addiu $t3, $t3, -0x4338 +/* 0043BEB4 256F0048 */ addiu $t7, $t3, 0x48 +/* 0043BEB8 A939000C */ swl $t9, 0xc($t1) +/* 0043BEBC B939000F */ swr $t9, 0xf($t1) +.L0043BEC0: +/* 0043BEC0 896D0000 */ lwl $t5, ($t3) +/* 0043BEC4 996D0003 */ lwr $t5, 3($t3) +/* 0043BEC8 256B000C */ addiu $t3, $t3, 0xc +/* 0043BECC 25CE000C */ addiu $t6, $t6, 0xc +/* 0043BED0 A9CD004C */ swl $t5, 0x4c($t6) +/* 0043BED4 B9CD004F */ swr $t5, 0x4f($t6) +/* 0043BED8 896CFFF8 */ lwl $t4, -8($t3) +/* 0043BEDC 996CFFFB */ lwr $t4, -5($t3) +/* 0043BEE0 A9CC0050 */ swl $t4, 0x50($t6) +/* 0043BEE4 B9CC0053 */ swr $t4, 0x53($t6) +/* 0043BEE8 896DFFFC */ lwl $t5, -4($t3) +/* 0043BEEC 996DFFFF */ lwr $t5, -1($t3) +/* 0043BEF0 A9CD0054 */ swl $t5, 0x54($t6) +/* 0043BEF4 156FFFF2 */ bne $t3, $t7, .L0043BEC0 +/* 0043BEF8 B9CD0057 */ swr $t5, 0x57($t6) +/* 0043BEFC 896D0000 */ lwl $t5, ($t3) +/* 0043BF00 996D0003 */ lwr $t5, 3($t3) +/* 0043BF04 A9CD0058 */ swl $t5, 0x58($t6) +/* 0043BF08 B9CD005B */ swr $t5, 0x5b($t6) +/* 0043BF0C 896C0004 */ lwl $t4, 4($t3) +/* 0043BF10 996C0007 */ lwr $t4, 7($t3) +/* 0043BF14 A9CC005C */ swl $t4, 0x5c($t6) +/* 0043BF18 B9CC005F */ swr $t4, 0x5f($t6) +/* 0043BF1C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043BF20 8FA7000C */ lw $a3, 0xc($sp) +/* 0043BF24 8FA60008 */ lw $a2, 8($sp) +/* 0043BF28 0320F809 */ jalr $t9 +/* 0043BF2C AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043BF30 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043BF34 10000003 */ b .L0043BF44 +/* 0043BF38 8FA300B8 */ lw $v1, 0xb8($sp) +.L0043BF3C: +/* 0043BF3C 244AFFFF */ addiu $t2, $v0, -1 +/* 0043BF40 A46A0004 */ sh $t2, 4($v1) +.L0043BF44: +/* 0043BF44 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 0043BF48 93180000 */ lbu $t8, ($t8) +/* 0043BF4C 5700004F */ bnel $t8, $zero, .L0043C08C +/* 0043BF50 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043BF54 90690008 */ lbu $t1, 8($v1) +/* 0043BF58 24010006 */ li $at, 6 +/* 0043BF5C 5521004B */ bnel $t1, $at, .L0043C08C +/* 0043BF60 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043BF64 90620009 */ lbu $v0, 9($v1) +/* 0043BF68 8F888BCC */ lw $t0, %got(regs)($gp) +/* 0043BF6C 03A06025 */ move $t4, $sp +/* 0043BF70 0002C880 */ sll $t9, $v0, 2 +/* 0043BF74 0322C823 */ subu $t9, $t9, $v0 +/* 0043BF78 0019C880 */ sll $t9, $t9, 2 +/* 0043BF7C 03282021 */ addu $a0, $t9, $t0 +/* 0043BF80 94850004 */ lhu $a1, 4($a0) +/* 0043BF84 14A0003F */ bnez $a1, .L0043C084 +/* 0043BF88 24ADFFFF */ addiu $t5, $a1, -1 +/* 0043BF8C 8F8F8038 */ lw $t7, %got(RO_1000BC78)($gp) +/* 0043BF90 24040004 */ li $a0, 4 +/* 0043BF94 2405037B */ li $a1, 891 +/* 0043BF98 25EFBC78 */ addiu $t7, %lo(RO_1000BC78) # addiu $t7, $t7, -0x4388 +/* 0043BF9C 25ED0048 */ addiu $t5, $t7, 0x48 +.L0043BFA0: +/* 0043BFA0 89EE0000 */ lwl $t6, ($t7) +/* 0043BFA4 99EE0003 */ lwr $t6, 3($t7) +/* 0043BFA8 25EF000C */ addiu $t7, $t7, 0xc +/* 0043BFAC 258C000C */ addiu $t4, $t4, 0xc +/* 0043BFB0 A98EFFFC */ swl $t6, -4($t4) +/* 0043BFB4 B98EFFFF */ swr $t6, -1($t4) +/* 0043BFB8 89EBFFF8 */ lwl $t3, -8($t7) +/* 0043BFBC 99EBFFFB */ lwr $t3, -5($t7) +/* 0043BFC0 A98B0000 */ swl $t3, ($t4) +/* 0043BFC4 B98B0003 */ swr $t3, 3($t4) +/* 0043BFC8 89EEFFFC */ lwl $t6, -4($t7) +/* 0043BFCC 99EEFFFF */ lwr $t6, -1($t7) +/* 0043BFD0 A98E0004 */ swl $t6, 4($t4) +/* 0043BFD4 15EDFFF2 */ bne $t7, $t5, .L0043BFA0 +/* 0043BFD8 B98E0007 */ swr $t6, 7($t4) +/* 0043BFDC 89EE0000 */ lwl $t6, ($t7) +/* 0043BFE0 99EE0003 */ lwr $t6, 3($t7) +/* 0043BFE4 8F8A8038 */ lw $t2, %got(RO_1000BC28)($gp) +/* 0043BFE8 03A0C825 */ move $t9, $sp +/* 0043BFEC A98E0008 */ swl $t6, 8($t4) +/* 0043BFF0 B98E000B */ swr $t6, 0xb($t4) +/* 0043BFF4 89EB0004 */ lwl $t3, 4($t7) +/* 0043BFF8 99EB0007 */ lwr $t3, 7($t7) +/* 0043BFFC 254ABC28 */ addiu $t2, %lo(RO_1000BC28) # addiu $t2, $t2, -0x43d8 +/* 0043C000 25480048 */ addiu $t0, $t2, 0x48 +/* 0043C004 A98B000C */ swl $t3, 0xc($t4) +/* 0043C008 B98B000F */ swr $t3, 0xf($t4) +.L0043C00C: +/* 0043C00C 89490000 */ lwl $t1, ($t2) +/* 0043C010 99490003 */ lwr $t1, 3($t2) +/* 0043C014 254A000C */ addiu $t2, $t2, 0xc +/* 0043C018 2739000C */ addiu $t9, $t9, 0xc +/* 0043C01C AB29004C */ swl $t1, 0x4c($t9) +/* 0043C020 BB29004F */ swr $t1, 0x4f($t9) +/* 0043C024 8958FFF8 */ lwl $t8, -8($t2) +/* 0043C028 9958FFFB */ lwr $t8, -5($t2) +/* 0043C02C AB380050 */ swl $t8, 0x50($t9) +/* 0043C030 BB380053 */ swr $t8, 0x53($t9) +/* 0043C034 8949FFFC */ lwl $t1, -4($t2) +/* 0043C038 9949FFFF */ lwr $t1, -1($t2) +/* 0043C03C AB290054 */ swl $t1, 0x54($t9) +/* 0043C040 1548FFF2 */ bne $t2, $t0, .L0043C00C +/* 0043C044 BB290057 */ swr $t1, 0x57($t9) +/* 0043C048 89490000 */ lwl $t1, ($t2) +/* 0043C04C 99490003 */ lwr $t1, 3($t2) +/* 0043C050 AB290058 */ swl $t1, 0x58($t9) +/* 0043C054 BB29005B */ swr $t1, 0x5b($t9) +/* 0043C058 89580004 */ lwl $t8, 4($t2) +/* 0043C05C 99580007 */ lwr $t8, 7($t2) +/* 0043C060 AB38005C */ swl $t8, 0x5c($t9) +/* 0043C064 BB38005F */ swr $t8, 0x5f($t9) +/* 0043C068 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C06C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C070 8FA60008 */ lw $a2, 8($sp) +/* 0043C074 0320F809 */ jalr $t9 +/* 0043C078 00000000 */ nop +/* 0043C07C 10000002 */ b .L0043C088 +/* 0043C080 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C084: +/* 0043C084 A48D0004 */ sh $t5, 4($a0) +.L0043C088: +/* 0043C088 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043C08C: +/* 0043C08C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043C090 03E00008 */ jr $ra +/* 0043C094 00000000 */ nop + .type dec_usage, @function + .size dec_usage, .-dec_usage + .end dec_usage + +glabel free_reg + .ent free_reg + # 0041C388 emit_branch_rill + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041FC98 dw_emit_rri + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00424F70 reg + # 00425140 binary_regs + # 0042670C loadstore + # 00426B44 func_00426B44 + # 00426C54 func_00426C54 + # 00427BFC unaligned_loadstore_for_fp_word + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 00433494 eval_flt_int_cvt +/* 0043C098 3C1C0FBE */ .cpload $t9 +/* 0043C09C 279C39B8 */ +/* 0043C0A0 0399E021 */ +/* 0043C0A4 8F99850C */ lw $t9, %call16(dec_usage)($gp) +/* 0043C0A8 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043C0AC AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043C0B0 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043C0B4 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043C0B8 0320F809 */ jalr $t9 +/* 0043C0BC 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C0C0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C0C4 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C0C8 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043C0CC 00047080 */ sll $t6, $a0, 2 +/* 0043C0D0 01C47023 */ subu $t6, $t6, $a0 +/* 0043C0D4 000E7080 */ sll $t6, $t6, 2 +/* 0043C0D8 01CF1821 */ addu $v1, $t6, $t7 +/* 0043C0DC 94780004 */ lhu $t8, 4($v1) +/* 0043C0E0 570000C8 */ bnel $t8, $zero, .L0043C404 +/* 0043C0E4 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043C0E8 90790007 */ lbu $t9, 7($v1) +/* 0043C0EC 13200050 */ beqz $t9, .L0043C230 +/* 0043C0F0 00000000 */ nop +/* 0043C0F4 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043C0F8 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043C0FC AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043C100 0320F809 */ jalr $t9 +/* 0043C104 00000000 */ nop +/* 0043C108 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C10C 14400040 */ bnez $v0, .L0043C210 +/* 0043C110 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0043C114 8F888038 */ lw $t0, %got(RO_1000BE58)($gp) +/* 0043C118 24040004 */ li $a0, 4 +/* 0043C11C 2405038B */ li $a1, 907 +/* 0043C120 2508BE58 */ addiu $t0, %lo(RO_1000BE58) # addiu $t0, $t0, -0x41a8 +/* 0043C124 250C0048 */ addiu $t4, $t0, 0x48 +/* 0043C128 03A05825 */ move $t3, $sp +.L0043C12C: +/* 0043C12C 890A0000 */ lwl $t2, ($t0) +/* 0043C130 990A0003 */ lwr $t2, 3($t0) +/* 0043C134 2508000C */ addiu $t0, $t0, 0xc +/* 0043C138 256B000C */ addiu $t3, $t3, 0xc +/* 0043C13C A96AFFFC */ swl $t2, -4($t3) +/* 0043C140 B96AFFFF */ swr $t2, -1($t3) +/* 0043C144 8909FFF8 */ lwl $t1, -8($t0) +/* 0043C148 9909FFFB */ lwr $t1, -5($t0) +/* 0043C14C A9690000 */ swl $t1, ($t3) +/* 0043C150 B9690003 */ swr $t1, 3($t3) +/* 0043C154 890AFFFC */ lwl $t2, -4($t0) +/* 0043C158 990AFFFF */ lwr $t2, -1($t0) +/* 0043C15C A96A0004 */ swl $t2, 4($t3) +/* 0043C160 150CFFF2 */ bne $t0, $t4, .L0043C12C +/* 0043C164 B96A0007 */ swr $t2, 7($t3) +/* 0043C168 890A0000 */ lwl $t2, ($t0) +/* 0043C16C 990A0003 */ lwr $t2, 3($t0) +/* 0043C170 8F8D8038 */ lw $t5, %got(RO_1000BE08)($gp) +/* 0043C174 03A0C025 */ move $t8, $sp +/* 0043C178 A96A0008 */ swl $t2, 8($t3) +/* 0043C17C B96A000B */ swr $t2, 0xb($t3) +/* 0043C180 89090004 */ lwl $t1, 4($t0) +/* 0043C184 99090007 */ lwr $t1, 7($t0) +/* 0043C188 25ADBE08 */ addiu $t5, %lo(RO_1000BE08) # addiu $t5, $t5, -0x41f8 +/* 0043C18C 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043C190 A969000C */ swl $t1, 0xc($t3) +/* 0043C194 B969000F */ swr $t1, 0xf($t3) +.L0043C198: +/* 0043C198 89AF0000 */ lwl $t7, ($t5) +/* 0043C19C 99AF0003 */ lwr $t7, 3($t5) +/* 0043C1A0 25AD000C */ addiu $t5, $t5, 0xc +/* 0043C1A4 2718000C */ addiu $t8, $t8, 0xc +/* 0043C1A8 AB0F004C */ swl $t7, 0x4c($t8) +/* 0043C1AC BB0F004F */ swr $t7, 0x4f($t8) +/* 0043C1B0 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043C1B4 99AEFFFB */ lwr $t6, -5($t5) +/* 0043C1B8 AB0E0050 */ swl $t6, 0x50($t8) +/* 0043C1BC BB0E0053 */ swr $t6, 0x53($t8) +/* 0043C1C0 89AFFFFC */ lwl $t7, -4($t5) +/* 0043C1C4 99AFFFFF */ lwr $t7, -1($t5) +/* 0043C1C8 AB0F0054 */ swl $t7, 0x54($t8) +/* 0043C1CC 15B9FFF2 */ bne $t5, $t9, .L0043C198 +/* 0043C1D0 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043C1D4 89AF0000 */ lwl $t7, ($t5) +/* 0043C1D8 99AF0003 */ lwr $t7, 3($t5) +/* 0043C1DC AB0F0058 */ swl $t7, 0x58($t8) +/* 0043C1E0 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043C1E4 89AE0004 */ lwl $t6, 4($t5) +/* 0043C1E8 99AE0007 */ lwr $t6, 7($t5) +/* 0043C1EC AB0E005C */ swl $t6, 0x5c($t8) +/* 0043C1F0 BB0E005F */ swr $t6, 0x5f($t8) +/* 0043C1F4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C1F8 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C1FC 8FA60008 */ lw $a2, 8($sp) +/* 0043C200 0320F809 */ jalr $t9 +/* 0043C204 00000000 */ nop +/* 0043C208 1000007D */ b .L0043C400 +/* 0043C20C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C210: +/* 0043C210 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C214 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C218 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043C21C 0320F809 */ jalr $t9 +/* 0043C220 AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043C224 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C228 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0043C22C 93A400C3 */ lbu $a0, 0xc3($sp) +.L0043C230: +/* 0043C230 8F8C89D8 */ lw $t4, %got(opcode_arch)($gp) +/* 0043C234 918C0000 */ lbu $t4, ($t4) +/* 0043C238 1580006B */ bnez $t4, .L0043C3E8 +/* 0043C23C 00000000 */ nop +/* 0043C240 90680008 */ lbu $t0, 8($v1) +/* 0043C244 24010006 */ li $at, 6 +/* 0043C248 00002825 */ move $a1, $zero +/* 0043C24C 15010066 */ bne $t0, $at, .L0043C3E8 +/* 0043C250 00000000 */ nop +/* 0043C254 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C258 00003025 */ move $a2, $zero +/* 0043C25C 24070001 */ li $a3, 1 +/* 0043C260 0320F809 */ jalr $t9 +/* 0043C264 AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043C268 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0043C26C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C270 90640009 */ lbu $a0, 9($v1) +/* 0043C274 8F898BCC */ lw $t1, %got(regs)($gp) +/* 0043C278 00045880 */ sll $t3, $a0, 2 +/* 0043C27C 01645823 */ subu $t3, $t3, $a0 +/* 0043C280 000B5880 */ sll $t3, $t3, 2 +/* 0043C284 01695021 */ addu $t2, $t3, $t1 +/* 0043C288 91590007 */ lbu $t9, 7($t2) +/* 0043C28C 1320004F */ beqz $t9, .L0043C3CC +/* 0043C290 00000000 */ nop +/* 0043C294 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043C298 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043C29C A3A400BF */ sb $a0, 0xbf($sp) +/* 0043C2A0 0320F809 */ jalr $t9 +/* 0043C2A4 00000000 */ nop +/* 0043C2A8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C2AC 14400040 */ bnez $v0, .L0043C3B0 +/* 0043C2B0 93A400BF */ lbu $a0, 0xbf($sp) +/* 0043C2B4 8F8D8038 */ lw $t5, %got(RO_1000BDB8)($gp) +/* 0043C2B8 24040004 */ li $a0, 4 +/* 0043C2BC 24050395 */ li $a1, 917 +/* 0043C2C0 25ADBDB8 */ addiu $t5, %lo(RO_1000BDB8) # addiu $t5, $t5, -0x4248 +/* 0043C2C4 25AC0048 */ addiu $t4, $t5, 0x48 +/* 0043C2C8 03A07825 */ move $t7, $sp +.L0043C2CC: +/* 0043C2CC 89AE0000 */ lwl $t6, ($t5) +/* 0043C2D0 99AE0003 */ lwr $t6, 3($t5) +/* 0043C2D4 25AD000C */ addiu $t5, $t5, 0xc +/* 0043C2D8 25EF000C */ addiu $t7, $t7, 0xc +/* 0043C2DC A9EEFFFC */ swl $t6, -4($t7) +/* 0043C2E0 B9EEFFFF */ swr $t6, -1($t7) +/* 0043C2E4 89B8FFF8 */ lwl $t8, -8($t5) +/* 0043C2E8 99B8FFFB */ lwr $t8, -5($t5) +/* 0043C2EC A9F80000 */ swl $t8, ($t7) +/* 0043C2F0 B9F80003 */ swr $t8, 3($t7) +/* 0043C2F4 89AEFFFC */ lwl $t6, -4($t5) +/* 0043C2F8 99AEFFFF */ lwr $t6, -1($t5) +/* 0043C2FC A9EE0004 */ swl $t6, 4($t7) +/* 0043C300 15ACFFF2 */ bne $t5, $t4, .L0043C2CC +/* 0043C304 B9EE0007 */ swr $t6, 7($t7) +/* 0043C308 89AE0000 */ lwl $t6, ($t5) +/* 0043C30C 99AE0003 */ lwr $t6, 3($t5) +/* 0043C310 8F888038 */ lw $t0, %got(RO_1000BD68)($gp) +/* 0043C314 03A05025 */ move $t2, $sp +/* 0043C318 A9EE0008 */ swl $t6, 8($t7) +/* 0043C31C B9EE000B */ swr $t6, 0xb($t7) +/* 0043C320 89B80004 */ lwl $t8, 4($t5) +/* 0043C324 99B80007 */ lwr $t8, 7($t5) +/* 0043C328 2508BD68 */ addiu $t0, %lo(RO_1000BD68) # addiu $t0, $t0, -0x4298 +/* 0043C32C 25190048 */ addiu $t9, $t0, 0x48 +/* 0043C330 A9F8000C */ swl $t8, 0xc($t7) +/* 0043C334 B9F8000F */ swr $t8, 0xf($t7) +.L0043C338: +/* 0043C338 89090000 */ lwl $t1, ($t0) +/* 0043C33C 99090003 */ lwr $t1, 3($t0) +/* 0043C340 2508000C */ addiu $t0, $t0, 0xc +/* 0043C344 254A000C */ addiu $t2, $t2, 0xc +/* 0043C348 A949004C */ swl $t1, 0x4c($t2) +/* 0043C34C B949004F */ swr $t1, 0x4f($t2) +/* 0043C350 890BFFF8 */ lwl $t3, -8($t0) +/* 0043C354 990BFFFB */ lwr $t3, -5($t0) +/* 0043C358 A94B0050 */ swl $t3, 0x50($t2) +/* 0043C35C B94B0053 */ swr $t3, 0x53($t2) +/* 0043C360 8909FFFC */ lwl $t1, -4($t0) +/* 0043C364 9909FFFF */ lwr $t1, -1($t0) +/* 0043C368 A9490054 */ swl $t1, 0x54($t2) +/* 0043C36C 1519FFF2 */ bne $t0, $t9, .L0043C338 +/* 0043C370 B9490057 */ swr $t1, 0x57($t2) +/* 0043C374 89090000 */ lwl $t1, ($t0) +/* 0043C378 99090003 */ lwr $t1, 3($t0) +/* 0043C37C A9490058 */ swl $t1, 0x58($t2) +/* 0043C380 B949005B */ swr $t1, 0x5b($t2) +/* 0043C384 890B0004 */ lwl $t3, 4($t0) +/* 0043C388 990B0007 */ lwr $t3, 7($t0) +/* 0043C38C A94B005C */ swl $t3, 0x5c($t2) +/* 0043C390 B94B005F */ swr $t3, 0x5f($t2) +/* 0043C394 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C398 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C39C 8FA60008 */ lw $a2, 8($sp) +/* 0043C3A0 0320F809 */ jalr $t9 +/* 0043C3A4 00000000 */ nop +/* 0043C3A8 10000015 */ b .L0043C400 +/* 0043C3AC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C3B0: +/* 0043C3B0 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C3B4 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043C3B8 A3A400BF */ sb $a0, 0xbf($sp) +/* 0043C3BC 0320F809 */ jalr $t9 +/* 0043C3C0 00000000 */ nop +/* 0043C3C4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C3C8 93A400BF */ lbu $a0, 0xbf($sp) +.L0043C3CC: +/* 0043C3CC 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C3D0 00002825 */ move $a1, $zero +/* 0043C3D4 00003025 */ move $a2, $zero +/* 0043C3D8 0320F809 */ jalr $t9 +/* 0043C3DC 24070001 */ li $a3, 1 +/* 0043C3E0 10000007 */ b .L0043C400 +/* 0043C3E4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C3E8: +/* 0043C3E8 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C3EC 00002825 */ move $a1, $zero +/* 0043C3F0 00003025 */ move $a2, $zero +/* 0043C3F4 0320F809 */ jalr $t9 +/* 0043C3F8 24070001 */ li $a3, 1 +/* 0043C3FC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C400: +/* 0043C400 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043C404: +/* 0043C404 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043C408 03E00008 */ jr $ra +/* 0043C40C 00000000 */ nop + .type free_reg, @function + .size free_reg, .-free_reg + .end free_reg + +glabel free_fp_reg + .ent free_fp_reg + # 00424F70 reg + # 00425140 binary_regs + # 004254B8 flt_reg + # 0042567C func_0042567C + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434878 eval_flt_flt_cvt +/* 0043C410 3C1C0FBE */ .cpload $t9 +/* 0043C414 279C3640 */ +/* 0043C418 0399E021 */ +/* 0043C41C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0043C420 8F99850C */ lw $t9, %call16(dec_usage)($gp) +/* 0043C424 AFB000AC */ sw $s0, 0xac($sp) +/* 0043C428 309000FF */ andi $s0, $a0, 0xff +/* 0043C42C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043C430 AFA400B8 */ sw $a0, 0xb8($sp) +/* 0043C434 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043C438 AFA500BC */ sw $a1, 0xbc($sp) +/* 0043C43C 0320F809 */ jalr $t9 +/* 0043C440 02002025 */ move $a0, $s0 +/* 0043C444 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C448 00107080 */ sll $t6, $s0, 2 +/* 0043C44C 01D07023 */ subu $t6, $t6, $s0 +/* 0043C450 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043C454 000E7080 */ sll $t6, $t6, 2 +/* 0043C458 01CF1021 */ addu $v0, $t6, $t7 +/* 0043C45C 94580004 */ lhu $t8, 4($v0) +/* 0043C460 57000058 */ bnel $t8, $zero, .L0043C5C4 +/* 0043C464 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043C468 90590007 */ lbu $t9, 7($v0) +/* 0043C46C 1320004D */ beqz $t9, .L0043C5A4 +/* 0043C470 00000000 */ nop +/* 0043C474 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043C478 02002025 */ move $a0, $s0 +/* 0043C47C 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043C480 0320F809 */ jalr $t9 +/* 0043C484 00000000 */ nop +/* 0043C488 14400040 */ bnez $v0, .L0043C58C +/* 0043C48C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C490 8F888038 */ lw $t0, %got(RO_1000BEF8)($gp) +/* 0043C494 24040004 */ li $a0, 4 +/* 0043C498 240503A9 */ li $a1, 937 +/* 0043C49C 2508BEF8 */ addiu $t0, %lo(RO_1000BEF8) # addiu $t0, $t0, -0x4108 +/* 0043C4A0 250C0048 */ addiu $t4, $t0, 0x48 +/* 0043C4A4 03A05825 */ move $t3, $sp +.L0043C4A8: +/* 0043C4A8 890A0000 */ lwl $t2, ($t0) +/* 0043C4AC 990A0003 */ lwr $t2, 3($t0) +/* 0043C4B0 2508000C */ addiu $t0, $t0, 0xc +/* 0043C4B4 256B000C */ addiu $t3, $t3, 0xc +/* 0043C4B8 A96AFFFC */ swl $t2, -4($t3) +/* 0043C4BC B96AFFFF */ swr $t2, -1($t3) +/* 0043C4C0 8909FFF8 */ lwl $t1, -8($t0) +/* 0043C4C4 9909FFFB */ lwr $t1, -5($t0) +/* 0043C4C8 A9690000 */ swl $t1, ($t3) +/* 0043C4CC B9690003 */ swr $t1, 3($t3) +/* 0043C4D0 890AFFFC */ lwl $t2, -4($t0) +/* 0043C4D4 990AFFFF */ lwr $t2, -1($t0) +/* 0043C4D8 A96A0004 */ swl $t2, 4($t3) +/* 0043C4DC 150CFFF2 */ bne $t0, $t4, .L0043C4A8 +/* 0043C4E0 B96A0007 */ swr $t2, 7($t3) +/* 0043C4E4 890A0000 */ lwl $t2, ($t0) +/* 0043C4E8 990A0003 */ lwr $t2, 3($t0) +/* 0043C4EC 8F8D8038 */ lw $t5, %got(RO_1000BEA8)($gp) +/* 0043C4F0 03A0C025 */ move $t8, $sp +/* 0043C4F4 A96A0008 */ swl $t2, 8($t3) +/* 0043C4F8 B96A000B */ swr $t2, 0xb($t3) +/* 0043C4FC 89090004 */ lwl $t1, 4($t0) +/* 0043C500 99090007 */ lwr $t1, 7($t0) +/* 0043C504 25ADBEA8 */ addiu $t5, %lo(RO_1000BEA8) # addiu $t5, $t5, -0x4158 +/* 0043C508 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043C50C A969000C */ swl $t1, 0xc($t3) +/* 0043C510 B969000F */ swr $t1, 0xf($t3) +.L0043C514: +/* 0043C514 89AF0000 */ lwl $t7, ($t5) +/* 0043C518 99AF0003 */ lwr $t7, 3($t5) +/* 0043C51C 25AD000C */ addiu $t5, $t5, 0xc +/* 0043C520 2718000C */ addiu $t8, $t8, 0xc +/* 0043C524 AB0F004C */ swl $t7, 0x4c($t8) +/* 0043C528 BB0F004F */ swr $t7, 0x4f($t8) +/* 0043C52C 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043C530 99AEFFFB */ lwr $t6, -5($t5) +/* 0043C534 AB0E0050 */ swl $t6, 0x50($t8) +/* 0043C538 BB0E0053 */ swr $t6, 0x53($t8) +/* 0043C53C 89AFFFFC */ lwl $t7, -4($t5) +/* 0043C540 99AFFFFF */ lwr $t7, -1($t5) +/* 0043C544 AB0F0054 */ swl $t7, 0x54($t8) +/* 0043C548 15B9FFF2 */ bne $t5, $t9, .L0043C514 +/* 0043C54C BB0F0057 */ swr $t7, 0x57($t8) +/* 0043C550 89AF0000 */ lwl $t7, ($t5) +/* 0043C554 99AF0003 */ lwr $t7, 3($t5) +/* 0043C558 AB0F0058 */ swl $t7, 0x58($t8) +/* 0043C55C BB0F005B */ swr $t7, 0x5b($t8) +/* 0043C560 89AE0004 */ lwl $t6, 4($t5) +/* 0043C564 99AE0007 */ lwr $t6, 7($t5) +/* 0043C568 AB0E005C */ swl $t6, 0x5c($t8) +/* 0043C56C BB0E005F */ swr $t6, 0x5f($t8) +/* 0043C570 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C574 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C578 8FA60008 */ lw $a2, 8($sp) +/* 0043C57C 0320F809 */ jalr $t9 +/* 0043C580 00000000 */ nop +/* 0043C584 1000000E */ b .L0043C5C0 +/* 0043C588 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C58C: +/* 0043C58C 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C590 02002025 */ move $a0, $s0 +/* 0043C594 8F858AFC */ lw $a1, %got(fp_regs_free)($gp) +/* 0043C598 0320F809 */ jalr $t9 +/* 0043C59C 00000000 */ nop +/* 0043C5A0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C5A4: +/* 0043C5A4 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C5A8 02002025 */ move $a0, $s0 +/* 0043C5AC 00002825 */ move $a1, $zero +/* 0043C5B0 00003025 */ move $a2, $zero +/* 0043C5B4 0320F809 */ jalr $t9 +/* 0043C5B8 93A700BF */ lbu $a3, 0xbf($sp) +/* 0043C5BC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043C5C0: +/* 0043C5C0 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043C5C4: +/* 0043C5C4 8FB000AC */ lw $s0, 0xac($sp) +/* 0043C5C8 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0043C5CC 03E00008 */ jr $ra +/* 0043C5D0 00000000 */ nop + .type free_fp_reg, @function + .size free_fp_reg, .-free_fp_reg + .end free_fp_reg + +glabel force_free_reg + .ent force_free_reg + # 004254B8 flt_reg + # 0042567C func_0042567C +/* 0043C5D4 3C1C0FBE */ .cpload $t9 +/* 0043C5D8 279C347C */ +/* 0043C5DC 0399E021 */ +/* 0043C5E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043C5E4 AFA40020 */ sw $a0, 0x20($sp) +/* 0043C5E8 93AE0023 */ lbu $t6, 0x23($sp) +/* 0043C5EC 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043C5F0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043C5F4 000E7880 */ sll $t7, $t6, 2 +/* 0043C5F8 01EE7823 */ subu $t7, $t7, $t6 +/* 0043C5FC 000F7880 */ sll $t7, $t7, 2 +/* 0043C600 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043C604 01F8C821 */ addu $t9, $t7, $t8 +/* 0043C608 93280007 */ lbu $t0, 7($t9) +/* 0043C60C 1100000E */ beqz $t0, .L0043C648 +/* 0043C610 00000000 */ nop +/* 0043C614 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043C618 01C02025 */ move $a0, $t6 +/* 0043C61C 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043C620 0320F809 */ jalr $t9 +/* 0043C624 00000000 */ nop +/* 0043C628 1040000E */ beqz $v0, .L0043C664 +/* 0043C62C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043C630 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C634 93A40023 */ lbu $a0, 0x23($sp) +/* 0043C638 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043C63C 0320F809 */ jalr $t9 +/* 0043C640 00000000 */ nop +/* 0043C644 8FBC0018 */ lw $gp, 0x18($sp) +.L0043C648: +/* 0043C648 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C64C 93A40023 */ lbu $a0, 0x23($sp) +/* 0043C650 00002825 */ move $a1, $zero +/* 0043C654 00003025 */ move $a2, $zero +/* 0043C658 0320F809 */ jalr $t9 +/* 0043C65C 24070001 */ li $a3, 1 +/* 0043C660 8FBC0018 */ lw $gp, 0x18($sp) +.L0043C664: +/* 0043C664 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043C668 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043C66C 03E00008 */ jr $ra +/* 0043C670 00000000 */ nop + .type force_free_reg, @function + .size force_free_reg, .-force_free_reg + .end force_free_reg + +glabel add_to_free_list + .ent add_to_free_list + # 0042BDAC eval + # 00439AE0 init_regs +/* 0043C674 3C1C0FBE */ .cpload $t9 +/* 0043C678 279C33DC */ +/* 0043C67C 0399E021 */ +/* 0043C680 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043C684 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043C688 93AE00C3 */ lbu $t6, 0xc3($sp) +/* 0043C68C 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043C690 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043C694 000E7880 */ sll $t7, $t6, 2 +/* 0043C698 01EE7823 */ subu $t7, $t7, $t6 +/* 0043C69C 000F7880 */ sll $t7, $t7, 2 +/* 0043C6A0 01F81021 */ addu $v0, $t7, $t8 +/* 0043C6A4 94590004 */ lhu $t9, 4($v0) +/* 0043C6A8 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043C6AC 24040004 */ li $a0, 4 +/* 0043C6B0 1320003F */ beqz $t9, .L0043C7B0 +/* 0043C6B4 00000000 */ nop +/* 0043C6B8 8F888038 */ lw $t0, %got(RO_1000BF98)($gp) +/* 0043C6BC 240503C7 */ li $a1, 967 +/* 0043C6C0 03A05825 */ move $t3, $sp +/* 0043C6C4 2508BF98 */ addiu $t0, %lo(RO_1000BF98) # addiu $t0, $t0, -0x4068 +/* 0043C6C8 250C0048 */ addiu $t4, $t0, 0x48 +.L0043C6CC: +/* 0043C6CC 890A0000 */ lwl $t2, ($t0) +/* 0043C6D0 990A0003 */ lwr $t2, 3($t0) +/* 0043C6D4 2508000C */ addiu $t0, $t0, 0xc +/* 0043C6D8 256B000C */ addiu $t3, $t3, 0xc +/* 0043C6DC A96AFFFC */ swl $t2, -4($t3) +/* 0043C6E0 B96AFFFF */ swr $t2, -1($t3) +/* 0043C6E4 8909FFF8 */ lwl $t1, -8($t0) +/* 0043C6E8 9909FFFB */ lwr $t1, -5($t0) +/* 0043C6EC A9690000 */ swl $t1, ($t3) +/* 0043C6F0 B9690003 */ swr $t1, 3($t3) +/* 0043C6F4 890AFFFC */ lwl $t2, -4($t0) +/* 0043C6F8 990AFFFF */ lwr $t2, -1($t0) +/* 0043C6FC A96A0004 */ swl $t2, 4($t3) +/* 0043C700 150CFFF2 */ bne $t0, $t4, .L0043C6CC +/* 0043C704 B96A0007 */ swr $t2, 7($t3) +/* 0043C708 890A0000 */ lwl $t2, ($t0) +/* 0043C70C 990A0003 */ lwr $t2, 3($t0) +/* 0043C710 8F8D8038 */ lw $t5, %got(RO_1000BF48)($gp) +/* 0043C714 03A0C025 */ move $t8, $sp +/* 0043C718 A96A0008 */ swl $t2, 8($t3) +/* 0043C71C B96A000B */ swr $t2, 0xb($t3) +/* 0043C720 89090004 */ lwl $t1, 4($t0) +/* 0043C724 99090007 */ lwr $t1, 7($t0) +/* 0043C728 25ADBF48 */ addiu $t5, %lo(RO_1000BF48) # addiu $t5, $t5, -0x40b8 +/* 0043C72C 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043C730 A969000C */ swl $t1, 0xc($t3) +/* 0043C734 B969000F */ swr $t1, 0xf($t3) +.L0043C738: +/* 0043C738 89AF0000 */ lwl $t7, ($t5) +/* 0043C73C 99AF0003 */ lwr $t7, 3($t5) +/* 0043C740 25AD000C */ addiu $t5, $t5, 0xc +/* 0043C744 2718000C */ addiu $t8, $t8, 0xc +/* 0043C748 AB0F004C */ swl $t7, 0x4c($t8) +/* 0043C74C BB0F004F */ swr $t7, 0x4f($t8) +/* 0043C750 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043C754 99AEFFFB */ lwr $t6, -5($t5) +/* 0043C758 AB0E0050 */ swl $t6, 0x50($t8) +/* 0043C75C BB0E0053 */ swr $t6, 0x53($t8) +/* 0043C760 89AFFFFC */ lwl $t7, -4($t5) +/* 0043C764 99AFFFFF */ lwr $t7, -1($t5) +/* 0043C768 AB0F0054 */ swl $t7, 0x54($t8) +/* 0043C76C 15B9FFF2 */ bne $t5, $t9, .L0043C738 +/* 0043C770 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043C774 89AF0000 */ lwl $t7, ($t5) +/* 0043C778 99AF0003 */ lwr $t7, 3($t5) +/* 0043C77C AB0F0058 */ swl $t7, 0x58($t8) +/* 0043C780 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043C784 89AE0004 */ lwl $t6, 4($t5) +/* 0043C788 99AE0007 */ lwr $t6, 7($t5) +/* 0043C78C AB0E005C */ swl $t6, 0x5c($t8) +/* 0043C790 BB0E005F */ swr $t6, 0x5f($t8) +/* 0043C794 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C798 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C79C 8FA60008 */ lw $a2, 8($sp) +/* 0043C7A0 0320F809 */ jalr $t9 +/* 0043C7A4 AFA200BC */ sw $v0, 0xbc($sp) +/* 0043C7A8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C7AC 8FA200BC */ lw $v0, 0xbc($sp) +.L0043C7B0: +/* 0043C7B0 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C7B4 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C7B8 00002825 */ move $a1, $zero +/* 0043C7BC 00003025 */ move $a2, $zero +/* 0043C7C0 24070001 */ li $a3, 1 +/* 0043C7C4 0320F809 */ jalr $t9 +/* 0043C7C8 AFA200BC */ sw $v0, 0xbc($sp) +/* 0043C7CC 8FA200BC */ lw $v0, 0xbc($sp) +/* 0043C7D0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C7D4 240C0001 */ li $t4, 1 +/* 0043C7D8 A04C0007 */ sb $t4, 7($v0) +/* 0043C7DC 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C7E0 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C7E4 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043C7E8 0320F809 */ jalr $t9 +/* 0043C7EC 00000000 */ nop +/* 0043C7F0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043C7F4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C7F8 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043C7FC 03E00008 */ jr $ra +/* 0043C800 00000000 */ nop + .type add_to_free_list, @function + .size add_to_free_list, .-add_to_free_list + .end add_to_free_list + +glabel add_to_fp_free_list + .ent add_to_fp_free_list + # 00439AE0 init_regs +/* 0043C804 3C1C0FBE */ .cpload $t9 +/* 0043C808 279C324C */ +/* 0043C80C 0399E021 */ +/* 0043C810 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043C814 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043C818 93AE00C3 */ lbu $t6, 0xc3($sp) +/* 0043C81C 8F988BCC */ lw $t8, %got(regs)($gp) +/* 0043C820 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043C824 000E7880 */ sll $t7, $t6, 2 +/* 0043C828 01EE7823 */ subu $t7, $t7, $t6 +/* 0043C82C 000F7880 */ sll $t7, $t7, 2 +/* 0043C830 01F81021 */ addu $v0, $t7, $t8 +/* 0043C834 94590004 */ lhu $t9, 4($v0) +/* 0043C838 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043C83C AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043C840 1320003F */ beqz $t9, .L0043C940 +/* 0043C844 24040004 */ li $a0, 4 +/* 0043C848 8F888038 */ lw $t0, %got(RO_1000C038)($gp) +/* 0043C84C 240503D1 */ li $a1, 977 +/* 0043C850 03A05825 */ move $t3, $sp +/* 0043C854 2508C038 */ addiu $t0, %lo(RO_1000C038) # addiu $t0, $t0, -0x3fc8 +/* 0043C858 250C0048 */ addiu $t4, $t0, 0x48 +.L0043C85C: +/* 0043C85C 890A0000 */ lwl $t2, ($t0) +/* 0043C860 990A0003 */ lwr $t2, 3($t0) +/* 0043C864 2508000C */ addiu $t0, $t0, 0xc +/* 0043C868 256B000C */ addiu $t3, $t3, 0xc +/* 0043C86C A96AFFFC */ swl $t2, -4($t3) +/* 0043C870 B96AFFFF */ swr $t2, -1($t3) +/* 0043C874 8909FFF8 */ lwl $t1, -8($t0) +/* 0043C878 9909FFFB */ lwr $t1, -5($t0) +/* 0043C87C A9690000 */ swl $t1, ($t3) +/* 0043C880 B9690003 */ swr $t1, 3($t3) +/* 0043C884 890AFFFC */ lwl $t2, -4($t0) +/* 0043C888 990AFFFF */ lwr $t2, -1($t0) +/* 0043C88C A96A0004 */ swl $t2, 4($t3) +/* 0043C890 150CFFF2 */ bne $t0, $t4, .L0043C85C +/* 0043C894 B96A0007 */ swr $t2, 7($t3) +/* 0043C898 890A0000 */ lwl $t2, ($t0) +/* 0043C89C 990A0003 */ lwr $t2, 3($t0) +/* 0043C8A0 8F8D8038 */ lw $t5, %got(RO_1000BFE8)($gp) +/* 0043C8A4 03A0C025 */ move $t8, $sp +/* 0043C8A8 A96A0008 */ swl $t2, 8($t3) +/* 0043C8AC B96A000B */ swr $t2, 0xb($t3) +/* 0043C8B0 89090004 */ lwl $t1, 4($t0) +/* 0043C8B4 99090007 */ lwr $t1, 7($t0) +/* 0043C8B8 25ADBFE8 */ addiu $t5, %lo(RO_1000BFE8) # addiu $t5, $t5, -0x4018 +/* 0043C8BC 25B90048 */ addiu $t9, $t5, 0x48 +/* 0043C8C0 A969000C */ swl $t1, 0xc($t3) +/* 0043C8C4 B969000F */ swr $t1, 0xf($t3) +.L0043C8C8: +/* 0043C8C8 89AF0000 */ lwl $t7, ($t5) +/* 0043C8CC 99AF0003 */ lwr $t7, 3($t5) +/* 0043C8D0 25AD000C */ addiu $t5, $t5, 0xc +/* 0043C8D4 2718000C */ addiu $t8, $t8, 0xc +/* 0043C8D8 AB0F004C */ swl $t7, 0x4c($t8) +/* 0043C8DC BB0F004F */ swr $t7, 0x4f($t8) +/* 0043C8E0 89AEFFF8 */ lwl $t6, -8($t5) +/* 0043C8E4 99AEFFFB */ lwr $t6, -5($t5) +/* 0043C8E8 AB0E0050 */ swl $t6, 0x50($t8) +/* 0043C8EC BB0E0053 */ swr $t6, 0x53($t8) +/* 0043C8F0 89AFFFFC */ lwl $t7, -4($t5) +/* 0043C8F4 99AFFFFF */ lwr $t7, -1($t5) +/* 0043C8F8 AB0F0054 */ swl $t7, 0x54($t8) +/* 0043C8FC 15B9FFF2 */ bne $t5, $t9, .L0043C8C8 +/* 0043C900 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043C904 89AF0000 */ lwl $t7, ($t5) +/* 0043C908 99AF0003 */ lwr $t7, 3($t5) +/* 0043C90C AB0F0058 */ swl $t7, 0x58($t8) +/* 0043C910 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043C914 89AE0004 */ lwl $t6, 4($t5) +/* 0043C918 99AE0007 */ lwr $t6, 7($t5) +/* 0043C91C AB0E005C */ swl $t6, 0x5c($t8) +/* 0043C920 BB0E005F */ swr $t6, 0x5f($t8) +/* 0043C924 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043C928 8FA7000C */ lw $a3, 0xc($sp) +/* 0043C92C 8FA60008 */ lw $a2, 8($sp) +/* 0043C930 0320F809 */ jalr $t9 +/* 0043C934 AFA200BC */ sw $v0, 0xbc($sp) +/* 0043C938 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C93C 8FA200BC */ lw $v0, 0xbc($sp) +.L0043C940: +/* 0043C940 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043C944 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C948 00002825 */ move $a1, $zero +/* 0043C94C 00003025 */ move $a2, $zero +/* 0043C950 93A700C7 */ lbu $a3, 0xc7($sp) +/* 0043C954 0320F809 */ jalr $t9 +/* 0043C958 AFA200BC */ sw $v0, 0xbc($sp) +/* 0043C95C 8FA200BC */ lw $v0, 0xbc($sp) +/* 0043C960 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C964 240C0001 */ li $t4, 1 +/* 0043C968 A04C0007 */ sb $t4, 7($v0) +/* 0043C96C 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043C970 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043C974 8F858AFC */ lw $a1, %got(fp_regs_free)($gp) +/* 0043C978 0320F809 */ jalr $t9 +/* 0043C97C 00000000 */ nop +/* 0043C980 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043C984 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C988 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043C98C 03E00008 */ jr $ra +/* 0043C990 00000000 */ nop + .type add_to_fp_free_list, @function + .size add_to_fp_free_list, .-add_to_fp_free_list + .end add_to_fp_free_list + +glabel remove_from_free_list + .ent remove_from_free_list + # 0042A64C save_vreg + # 0042AB88 gen_regs + # 0042BDAC eval +/* 0043C994 3C1C0FBE */ .cpload $t9 +/* 0043C998 279C30BC */ +/* 0043C99C 0399E021 */ +/* 0043C9A0 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043C9A4 00047080 */ sll $t6, $a0, 2 +/* 0043C9A8 01C47023 */ subu $t6, $t6, $a0 +/* 0043C9AC 000E7080 */ sll $t6, $t6, 2 +/* 0043C9B0 01CF1821 */ addu $v1, $t6, $t7 +/* 0043C9B4 90780007 */ lbu $t8, 7($v1) +/* 0043C9B8 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0043C9BC AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043C9C0 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043C9C4 1300004A */ beqz $t8, .L0043CAF0 +/* 0043C9C8 AFA400C8 */ sw $a0, 0xc8($sp) +/* 0043C9CC 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043C9D0 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043C9D4 AFA300C0 */ sw $v1, 0xc0($sp) +/* 0043C9D8 0320F809 */ jalr $t9 +/* 0043C9DC A3A400CB */ sb $a0, 0xcb($sp) +/* 0043C9E0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043C9E4 8FA300C0 */ lw $v1, 0xc0($sp) +/* 0043C9E8 14400040 */ bnez $v0, .L0043CAEC +/* 0043C9EC 93A400CB */ lbu $a0, 0xcb($sp) +/* 0043C9F0 8F998038 */ lw $t9, %got(RO_1000C178)($gp) +/* 0043C9F4 24040004 */ li $a0, 4 +/* 0043C9F8 240503DE */ li $a1, 990 +/* 0043C9FC 2739C178 */ addiu $t9, %lo(RO_1000C178) # addiu $t9, $t9, -0x3e88 +/* 0043CA00 272B0048 */ addiu $t3, $t9, 0x48 +/* 0043CA04 03A05025 */ move $t2, $sp +.L0043CA08: +/* 0043CA08 8B290000 */ lwl $t1, ($t9) +/* 0043CA0C 9B290003 */ lwr $t1, 3($t9) +/* 0043CA10 2739000C */ addiu $t9, $t9, 0xc +/* 0043CA14 254A000C */ addiu $t2, $t2, 0xc +/* 0043CA18 A949FFFC */ swl $t1, -4($t2) +/* 0043CA1C B949FFFF */ swr $t1, -1($t2) +/* 0043CA20 8B28FFF8 */ lwl $t0, -8($t9) +/* 0043CA24 9B28FFFB */ lwr $t0, -5($t9) +/* 0043CA28 A9480000 */ swl $t0, ($t2) +/* 0043CA2C B9480003 */ swr $t0, 3($t2) +/* 0043CA30 8B29FFFC */ lwl $t1, -4($t9) +/* 0043CA34 9B29FFFF */ lwr $t1, -1($t9) +/* 0043CA38 A9490004 */ swl $t1, 4($t2) +/* 0043CA3C 172BFFF2 */ bne $t9, $t3, .L0043CA08 +/* 0043CA40 B9490007 */ swr $t1, 7($t2) +/* 0043CA44 8B290000 */ lwl $t1, ($t9) +/* 0043CA48 9B290003 */ lwr $t1, 3($t9) +/* 0043CA4C 8F8C8038 */ lw $t4, %got(RO_1000C128)($gp) +/* 0043CA50 03A07825 */ move $t7, $sp +/* 0043CA54 A9490008 */ swl $t1, 8($t2) +/* 0043CA58 B949000B */ swr $t1, 0xb($t2) +/* 0043CA5C 8B280004 */ lwl $t0, 4($t9) +/* 0043CA60 9B280007 */ lwr $t0, 7($t9) +/* 0043CA64 258CC128 */ addiu $t4, %lo(RO_1000C128) # addiu $t4, $t4, -0x3ed8 +/* 0043CA68 25980048 */ addiu $t8, $t4, 0x48 +/* 0043CA6C A948000C */ swl $t0, 0xc($t2) +/* 0043CA70 B948000F */ swr $t0, 0xf($t2) +.L0043CA74: +/* 0043CA74 898E0000 */ lwl $t6, ($t4) +/* 0043CA78 998E0003 */ lwr $t6, 3($t4) +/* 0043CA7C 258C000C */ addiu $t4, $t4, 0xc +/* 0043CA80 25EF000C */ addiu $t7, $t7, 0xc +/* 0043CA84 A9EE004C */ swl $t6, 0x4c($t7) +/* 0043CA88 B9EE004F */ swr $t6, 0x4f($t7) +/* 0043CA8C 898DFFF8 */ lwl $t5, -8($t4) +/* 0043CA90 998DFFFB */ lwr $t5, -5($t4) +/* 0043CA94 A9ED0050 */ swl $t5, 0x50($t7) +/* 0043CA98 B9ED0053 */ swr $t5, 0x53($t7) +/* 0043CA9C 898EFFFC */ lwl $t6, -4($t4) +/* 0043CAA0 998EFFFF */ lwr $t6, -1($t4) +/* 0043CAA4 A9EE0054 */ swl $t6, 0x54($t7) +/* 0043CAA8 1598FFF2 */ bne $t4, $t8, .L0043CA74 +/* 0043CAAC B9EE0057 */ swr $t6, 0x57($t7) +/* 0043CAB0 898E0000 */ lwl $t6, ($t4) +/* 0043CAB4 998E0003 */ lwr $t6, 3($t4) +/* 0043CAB8 A9EE0058 */ swl $t6, 0x58($t7) +/* 0043CABC B9EE005B */ swr $t6, 0x5b($t7) +/* 0043CAC0 898D0004 */ lwl $t5, 4($t4) +/* 0043CAC4 998D0007 */ lwr $t5, 7($t4) +/* 0043CAC8 A9ED005C */ swl $t5, 0x5c($t7) +/* 0043CACC B9ED005F */ swr $t5, 0x5f($t7) +/* 0043CAD0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043CAD4 8FA7000C */ lw $a3, 0xc($sp) +/* 0043CAD8 8FA60008 */ lw $a2, 8($sp) +/* 0043CADC 0320F809 */ jalr $t9 +/* 0043CAE0 00000000 */ nop +/* 0043CAE4 1000006A */ b .L0043CC90 +/* 0043CAE8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CAEC: +/* 0043CAEC A0600007 */ sb $zero, 7($v1) +.L0043CAF0: +/* 0043CAF0 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043CAF4 00002825 */ move $a1, $zero +/* 0043CAF8 00003025 */ move $a2, $zero +/* 0043CAFC 24070001 */ li $a3, 1 +/* 0043CB00 0320F809 */ jalr $t9 +/* 0043CB04 AFA300C0 */ sw $v1, 0xc0($sp) +/* 0043CB08 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CB0C 8FA300C0 */ lw $v1, 0xc0($sp) +/* 0043CB10 8F8B89D8 */ lw $t3, %got(opcode_arch)($gp) +/* 0043CB14 916B0000 */ lbu $t3, ($t3) +/* 0043CB18 5560005E */ bnel $t3, $zero, .L0043CC94 +/* 0043CB1C 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043CB20 90790008 */ lbu $t9, 8($v1) +/* 0043CB24 24010006 */ li $at, 6 +/* 0043CB28 5721005A */ bnel $t9, $at, .L0043CC94 +/* 0043CB2C 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043CB30 90640009 */ lbu $a0, 9($v1) +/* 0043CB34 8F888BCC */ lw $t0, %got(regs)($gp) +/* 0043CB38 00045080 */ sll $t2, $a0, 2 +/* 0043CB3C 01445023 */ subu $t2, $t2, $a0 +/* 0043CB40 000A5080 */ sll $t2, $t2, 2 +/* 0043CB44 01483021 */ addu $a2, $t2, $t0 +/* 0043CB48 90C90007 */ lbu $t1, 7($a2) +/* 0043CB4C 1120004A */ beqz $t1, .L0043CC78 +/* 0043CB50 00000000 */ nop +/* 0043CB54 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043CB58 8F858AF4 */ lw $a1, %got(gp_regs_free)($gp) +/* 0043CB5C A3A400C7 */ sb $a0, 0xc7($sp) +/* 0043CB60 0320F809 */ jalr $t9 +/* 0043CB64 AFA600BC */ sw $a2, 0xbc($sp) +/* 0043CB68 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CB6C 93A400C7 */ lbu $a0, 0xc7($sp) +/* 0043CB70 14400040 */ bnez $v0, .L0043CC74 +/* 0043CB74 8FA600BC */ lw $a2, 0xbc($sp) +/* 0043CB78 8F988038 */ lw $t8, %got(RO_1000C0D8)($gp) +/* 0043CB7C 24040004 */ li $a0, 4 +/* 0043CB80 240503E8 */ li $a1, 1000 +/* 0043CB84 2718C0D8 */ addiu $t8, %lo(RO_1000C0D8) # addiu $t8, $t8, -0x3f28 +/* 0043CB88 270E0048 */ addiu $t6, $t8, 0x48 +/* 0043CB8C 03A06825 */ move $t5, $sp +.L0043CB90: +/* 0043CB90 8B0F0000 */ lwl $t7, ($t8) +/* 0043CB94 9B0F0003 */ lwr $t7, 3($t8) +/* 0043CB98 2718000C */ addiu $t8, $t8, 0xc +/* 0043CB9C 25AD000C */ addiu $t5, $t5, 0xc +/* 0043CBA0 A9AFFFFC */ swl $t7, -4($t5) +/* 0043CBA4 B9AFFFFF */ swr $t7, -1($t5) +/* 0043CBA8 8B0CFFF8 */ lwl $t4, -8($t8) +/* 0043CBAC 9B0CFFFB */ lwr $t4, -5($t8) +/* 0043CBB0 A9AC0000 */ swl $t4, ($t5) +/* 0043CBB4 B9AC0003 */ swr $t4, 3($t5) +/* 0043CBB8 8B0FFFFC */ lwl $t7, -4($t8) +/* 0043CBBC 9B0FFFFF */ lwr $t7, -1($t8) +/* 0043CBC0 A9AF0004 */ swl $t7, 4($t5) +/* 0043CBC4 170EFFF2 */ bne $t8, $t6, .L0043CB90 +/* 0043CBC8 B9AF0007 */ swr $t7, 7($t5) +/* 0043CBCC 8B0F0000 */ lwl $t7, ($t8) +/* 0043CBD0 9B0F0003 */ lwr $t7, 3($t8) +/* 0043CBD4 8F8B8038 */ lw $t3, %got(RO_1000C088)($gp) +/* 0043CBD8 03A04025 */ move $t0, $sp +/* 0043CBDC A9AF0008 */ swl $t7, 8($t5) +/* 0043CBE0 B9AF000B */ swr $t7, 0xb($t5) +/* 0043CBE4 8B0C0004 */ lwl $t4, 4($t8) +/* 0043CBE8 9B0C0007 */ lwr $t4, 7($t8) +/* 0043CBEC 256BC088 */ addiu $t3, %lo(RO_1000C088) # addiu $t3, $t3, -0x3f78 +/* 0043CBF0 25690048 */ addiu $t1, $t3, 0x48 +/* 0043CBF4 A9AC000C */ swl $t4, 0xc($t5) +/* 0043CBF8 B9AC000F */ swr $t4, 0xf($t5) +.L0043CBFC: +/* 0043CBFC 896A0000 */ lwl $t2, ($t3) +/* 0043CC00 996A0003 */ lwr $t2, 3($t3) +/* 0043CC04 256B000C */ addiu $t3, $t3, 0xc +/* 0043CC08 2508000C */ addiu $t0, $t0, 0xc +/* 0043CC0C A90A004C */ swl $t2, 0x4c($t0) +/* 0043CC10 B90A004F */ swr $t2, 0x4f($t0) +/* 0043CC14 8979FFF8 */ lwl $t9, -8($t3) +/* 0043CC18 9979FFFB */ lwr $t9, -5($t3) +/* 0043CC1C A9190050 */ swl $t9, 0x50($t0) +/* 0043CC20 B9190053 */ swr $t9, 0x53($t0) +/* 0043CC24 896AFFFC */ lwl $t2, -4($t3) +/* 0043CC28 996AFFFF */ lwr $t2, -1($t3) +/* 0043CC2C A90A0054 */ swl $t2, 0x54($t0) +/* 0043CC30 1569FFF2 */ bne $t3, $t1, .L0043CBFC +/* 0043CC34 B90A0057 */ swr $t2, 0x57($t0) +/* 0043CC38 896A0000 */ lwl $t2, ($t3) +/* 0043CC3C 996A0003 */ lwr $t2, 3($t3) +/* 0043CC40 A90A0058 */ swl $t2, 0x58($t0) +/* 0043CC44 B90A005B */ swr $t2, 0x5b($t0) +/* 0043CC48 89790004 */ lwl $t9, 4($t3) +/* 0043CC4C 99790007 */ lwr $t9, 7($t3) +/* 0043CC50 A919005C */ swl $t9, 0x5c($t0) +/* 0043CC54 B919005F */ swr $t9, 0x5f($t0) +/* 0043CC58 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043CC5C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043CC60 8FA60008 */ lw $a2, 8($sp) +/* 0043CC64 0320F809 */ jalr $t9 +/* 0043CC68 00000000 */ nop +/* 0043CC6C 10000008 */ b .L0043CC90 +/* 0043CC70 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CC74: +/* 0043CC74 A0C00007 */ sb $zero, 7($a2) +.L0043CC78: +/* 0043CC78 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043CC7C 00002825 */ move $a1, $zero +/* 0043CC80 00003025 */ move $a2, $zero +/* 0043CC84 0320F809 */ jalr $t9 +/* 0043CC88 24070001 */ li $a3, 1 +/* 0043CC8C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CC90: +/* 0043CC90 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043CC94: +/* 0043CC94 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 0043CC98 03E00008 */ jr $ra +/* 0043CC9C 00000000 */ nop + .type remove_from_free_list, @function + .size remove_from_free_list, .-remove_from_free_list + .end remove_from_free_list + +glabel remove_from_fp_free_list + .ent remove_from_fp_free_list + # 0042A64C save_vreg + # 0042AB88 gen_regs +/* 0043CCA0 3C1C0FBE */ .cpload $t9 +/* 0043CCA4 279C2DB0 */ +/* 0043CCA8 0399E021 */ +/* 0043CCAC 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043CCB0 00047080 */ sll $t6, $a0, 2 +/* 0043CCB4 01C47023 */ subu $t6, $t6, $a0 +/* 0043CCB8 000E7080 */ sll $t6, $t6, 2 +/* 0043CCBC 01CF1821 */ addu $v1, $t6, $t7 +/* 0043CCC0 90780007 */ lbu $t8, 7($v1) +/* 0043CCC4 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043CCC8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043CCCC AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043CCD0 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043CCD4 1300004A */ beqz $t8, .L0043CE00 +/* 0043CCD8 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043CCDC 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043CCE0 8F858AFC */ lw $a1, %got(fp_regs_free)($gp) +/* 0043CCE4 AFA300BC */ sw $v1, 0xbc($sp) +/* 0043CCE8 0320F809 */ jalr $t9 +/* 0043CCEC A3A400C3 */ sb $a0, 0xc3($sp) +/* 0043CCF0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CCF4 8FA300BC */ lw $v1, 0xbc($sp) +/* 0043CCF8 14400040 */ bnez $v0, .L0043CDFC +/* 0043CCFC 93A400C3 */ lbu $a0, 0xc3($sp) +/* 0043CD00 8F998038 */ lw $t9, %got(RO_1000C218)($gp) +/* 0043CD04 24040004 */ li $a0, 4 +/* 0043CD08 240503F5 */ li $a1, 1013 +/* 0043CD0C 2739C218 */ addiu $t9, %lo(RO_1000C218) # addiu $t9, $t9, -0x3de8 +/* 0043CD10 272B0048 */ addiu $t3, $t9, 0x48 +/* 0043CD14 03A05025 */ move $t2, $sp +.L0043CD18: +/* 0043CD18 8B290000 */ lwl $t1, ($t9) +/* 0043CD1C 9B290003 */ lwr $t1, 3($t9) +/* 0043CD20 2739000C */ addiu $t9, $t9, 0xc +/* 0043CD24 254A000C */ addiu $t2, $t2, 0xc +/* 0043CD28 A949FFFC */ swl $t1, -4($t2) +/* 0043CD2C B949FFFF */ swr $t1, -1($t2) +/* 0043CD30 8B28FFF8 */ lwl $t0, -8($t9) +/* 0043CD34 9B28FFFB */ lwr $t0, -5($t9) +/* 0043CD38 A9480000 */ swl $t0, ($t2) +/* 0043CD3C B9480003 */ swr $t0, 3($t2) +/* 0043CD40 8B29FFFC */ lwl $t1, -4($t9) +/* 0043CD44 9B29FFFF */ lwr $t1, -1($t9) +/* 0043CD48 A9490004 */ swl $t1, 4($t2) +/* 0043CD4C 172BFFF2 */ bne $t9, $t3, .L0043CD18 +/* 0043CD50 B9490007 */ swr $t1, 7($t2) +/* 0043CD54 8B290000 */ lwl $t1, ($t9) +/* 0043CD58 9B290003 */ lwr $t1, 3($t9) +/* 0043CD5C 8F8C8038 */ lw $t4, %got(RO_1000C1C8)($gp) +/* 0043CD60 03A07825 */ move $t7, $sp +/* 0043CD64 A9490008 */ swl $t1, 8($t2) +/* 0043CD68 B949000B */ swr $t1, 0xb($t2) +/* 0043CD6C 8B280004 */ lwl $t0, 4($t9) +/* 0043CD70 9B280007 */ lwr $t0, 7($t9) +/* 0043CD74 258CC1C8 */ addiu $t4, %lo(RO_1000C1C8) # addiu $t4, $t4, -0x3e38 +/* 0043CD78 25980048 */ addiu $t8, $t4, 0x48 +/* 0043CD7C A948000C */ swl $t0, 0xc($t2) +/* 0043CD80 B948000F */ swr $t0, 0xf($t2) +.L0043CD84: +/* 0043CD84 898E0000 */ lwl $t6, ($t4) +/* 0043CD88 998E0003 */ lwr $t6, 3($t4) +/* 0043CD8C 258C000C */ addiu $t4, $t4, 0xc +/* 0043CD90 25EF000C */ addiu $t7, $t7, 0xc +/* 0043CD94 A9EE004C */ swl $t6, 0x4c($t7) +/* 0043CD98 B9EE004F */ swr $t6, 0x4f($t7) +/* 0043CD9C 898DFFF8 */ lwl $t5, -8($t4) +/* 0043CDA0 998DFFFB */ lwr $t5, -5($t4) +/* 0043CDA4 A9ED0050 */ swl $t5, 0x50($t7) +/* 0043CDA8 B9ED0053 */ swr $t5, 0x53($t7) +/* 0043CDAC 898EFFFC */ lwl $t6, -4($t4) +/* 0043CDB0 998EFFFF */ lwr $t6, -1($t4) +/* 0043CDB4 A9EE0054 */ swl $t6, 0x54($t7) +/* 0043CDB8 1598FFF2 */ bne $t4, $t8, .L0043CD84 +/* 0043CDBC B9EE0057 */ swr $t6, 0x57($t7) +/* 0043CDC0 898E0000 */ lwl $t6, ($t4) +/* 0043CDC4 998E0003 */ lwr $t6, 3($t4) +/* 0043CDC8 A9EE0058 */ swl $t6, 0x58($t7) +/* 0043CDCC B9EE005B */ swr $t6, 0x5b($t7) +/* 0043CDD0 898D0004 */ lwl $t5, 4($t4) +/* 0043CDD4 998D0007 */ lwr $t5, 7($t4) +/* 0043CDD8 A9ED005C */ swl $t5, 0x5c($t7) +/* 0043CDDC B9ED005F */ swr $t5, 0x5f($t7) +/* 0043CDE0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043CDE4 8FA7000C */ lw $a3, 0xc($sp) +/* 0043CDE8 8FA60008 */ lw $a2, 8($sp) +/* 0043CDEC 0320F809 */ jalr $t9 +/* 0043CDF0 00000000 */ nop +/* 0043CDF4 10000008 */ b .L0043CE18 +/* 0043CDF8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CDFC: +/* 0043CDFC A0600007 */ sb $zero, 7($v1) +.L0043CE00: +/* 0043CE00 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043CE04 00002825 */ move $a1, $zero +/* 0043CE08 00003025 */ move $a2, $zero +/* 0043CE0C 0320F809 */ jalr $t9 +/* 0043CE10 93A700C7 */ lbu $a3, 0xc7($sp) +/* 0043CE14 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CE18: +/* 0043CE18 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043CE1C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043CE20 03E00008 */ jr $ra +/* 0043CE24 00000000 */ nop + .type remove_from_fp_free_list, @function + .size remove_from_fp_free_list, .-remove_from_fp_free_list + .end remove_from_fp_free_list + +glabel is_available + .ent is_available + # 004287AC eval_fp_min_max + # 00428C38 copy + # 0042BDAC eval +/* 0043CE28 3C1C0FBE */ .cpload $t9 +/* 0043CE2C 279C2C28 */ +/* 0043CE30 0399E021 */ +/* 0043CE34 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043CE38 00047080 */ sll $t6, $a0, 2 +/* 0043CE3C 01C47023 */ subu $t6, $t6, $a0 +/* 0043CE40 000E7080 */ sll $t6, $t6, 2 +/* 0043CE44 AFA40000 */ sw $a0, ($sp) +/* 0043CE48 01CFC021 */ addu $t8, $t6, $t7 +/* 0043CE4C 03E00008 */ jr $ra +/* 0043CE50 93020007 */ lbu $v0, 7($t8) + .type is_available, @function + .size is_available, .-is_available + .end is_available + +glabel check_no_used + .ent check_no_used + # 0042BDAC eval +/* 0043CE54 3C1C0FBE */ .cpload $t9 +/* 0043CE58 279C2BFC */ +/* 0043CE5C 0399E021 */ +/* 0043CE60 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043CE64 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0043CE68 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043CE6C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043CE70 0320F809 */ jalr $t9 +/* 0043CE74 8F848AF8 */ lw $a0, %got(gp_regs_used)($gp) +/* 0043CE78 14400044 */ bnez $v0, .L0043CF8C +/* 0043CE7C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CE80 8F9984B0 */ lw $t9, %call16(print_regs)($gp) +/* 0043CE84 8F848AF8 */ lw $a0, %got(gp_regs_used)($gp) +/* 0043CE88 0320F809 */ jalr $t9 +/* 0043CE8C 00000000 */ nop +/* 0043CE90 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CE94 24040004 */ li $a0, 4 +/* 0043CE98 24050407 */ li $a1, 1031 +/* 0043CE9C 8F8E8038 */ lw $t6, %got(RO_1000C358)($gp) +/* 0043CEA0 03A0C825 */ move $t9, $sp +/* 0043CEA4 25CEC358 */ addiu $t6, %lo(RO_1000C358) # addiu $t6, $t6, -0x3ca8 +/* 0043CEA8 25C80048 */ addiu $t0, $t6, 0x48 +.L0043CEAC: +/* 0043CEAC 89D80000 */ lwl $t8, ($t6) +/* 0043CEB0 99D80003 */ lwr $t8, 3($t6) +/* 0043CEB4 25CE000C */ addiu $t6, $t6, 0xc +/* 0043CEB8 2739000C */ addiu $t9, $t9, 0xc +/* 0043CEBC AB38FFFC */ swl $t8, -4($t9) +/* 0043CEC0 BB38FFFF */ swr $t8, -1($t9) +/* 0043CEC4 89CFFFF8 */ lwl $t7, -8($t6) +/* 0043CEC8 99CFFFFB */ lwr $t7, -5($t6) +/* 0043CECC AB2F0000 */ swl $t7, ($t9) +/* 0043CED0 BB2F0003 */ swr $t7, 3($t9) +/* 0043CED4 89D8FFFC */ lwl $t8, -4($t6) +/* 0043CED8 99D8FFFF */ lwr $t8, -1($t6) +/* 0043CEDC AB380004 */ swl $t8, 4($t9) +/* 0043CEE0 15C8FFF2 */ bne $t6, $t0, .L0043CEAC +/* 0043CEE4 BB380007 */ swr $t8, 7($t9) +/* 0043CEE8 89D80000 */ lwl $t8, ($t6) +/* 0043CEEC 99D80003 */ lwr $t8, 3($t6) +/* 0043CEF0 8F898038 */ lw $t1, %got(RO_1000C308)($gp) +/* 0043CEF4 03A06025 */ move $t4, $sp +/* 0043CEF8 AB380008 */ swl $t8, 8($t9) +/* 0043CEFC BB38000B */ swr $t8, 0xb($t9) +/* 0043CF00 89CF0004 */ lwl $t7, 4($t6) +/* 0043CF04 99CF0007 */ lwr $t7, 7($t6) +/* 0043CF08 2529C308 */ addiu $t1, %lo(RO_1000C308) # addiu $t1, $t1, -0x3cf8 +/* 0043CF0C 252D0048 */ addiu $t5, $t1, 0x48 +/* 0043CF10 AB2F000C */ swl $t7, 0xc($t9) +/* 0043CF14 BB2F000F */ swr $t7, 0xf($t9) +.L0043CF18: +/* 0043CF18 892B0000 */ lwl $t3, ($t1) +/* 0043CF1C 992B0003 */ lwr $t3, 3($t1) +/* 0043CF20 2529000C */ addiu $t1, $t1, 0xc +/* 0043CF24 258C000C */ addiu $t4, $t4, 0xc +/* 0043CF28 A98B004C */ swl $t3, 0x4c($t4) +/* 0043CF2C B98B004F */ swr $t3, 0x4f($t4) +/* 0043CF30 892AFFF8 */ lwl $t2, -8($t1) +/* 0043CF34 992AFFFB */ lwr $t2, -5($t1) +/* 0043CF38 A98A0050 */ swl $t2, 0x50($t4) +/* 0043CF3C B98A0053 */ swr $t2, 0x53($t4) +/* 0043CF40 892BFFFC */ lwl $t3, -4($t1) +/* 0043CF44 992BFFFF */ lwr $t3, -1($t1) +/* 0043CF48 A98B0054 */ swl $t3, 0x54($t4) +/* 0043CF4C 152DFFF2 */ bne $t1, $t5, .L0043CF18 +/* 0043CF50 B98B0057 */ swr $t3, 0x57($t4) +/* 0043CF54 892B0000 */ lwl $t3, ($t1) +/* 0043CF58 992B0003 */ lwr $t3, 3($t1) +/* 0043CF5C A98B0058 */ swl $t3, 0x58($t4) +/* 0043CF60 B98B005B */ swr $t3, 0x5b($t4) +/* 0043CF64 892A0004 */ lwl $t2, 4($t1) +/* 0043CF68 992A0007 */ lwr $t2, 7($t1) +/* 0043CF6C A98A005C */ swl $t2, 0x5c($t4) +/* 0043CF70 B98A005F */ swr $t2, 0x5f($t4) +/* 0043CF74 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043CF78 8FA7000C */ lw $a3, 0xc($sp) +/* 0043CF7C 8FA60008 */ lw $a2, 8($sp) +/* 0043CF80 0320F809 */ jalr $t9 +/* 0043CF84 00000000 */ nop +/* 0043CF88 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043CF8C: +/* 0043CF8C 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043CF90 8F848B00 */ lw $a0, %got(fp_regs_used)($gp) +/* 0043CF94 0320F809 */ jalr $t9 +/* 0043CF98 00000000 */ nop +/* 0043CF9C 14400044 */ bnez $v0, .L0043D0B0 +/* 0043CFA0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043CFA4 8F888038 */ lw $t0, %got(RO_1000C2B8)($gp) +/* 0043CFA8 24040004 */ li $a0, 4 +/* 0043CFAC 2405040A */ li $a1, 1034 +/* 0043CFB0 2508C2B8 */ addiu $t0, %lo(RO_1000C2B8) # addiu $t0, $t0, -0x3d48 +/* 0043CFB4 25180048 */ addiu $t8, $t0, 0x48 +/* 0043CFB8 03A07825 */ move $t7, $sp +.L0043CFBC: +/* 0043CFBC 89190000 */ lwl $t9, ($t0) +/* 0043CFC0 99190003 */ lwr $t9, 3($t0) +/* 0043CFC4 2508000C */ addiu $t0, $t0, 0xc +/* 0043CFC8 25EF000C */ addiu $t7, $t7, 0xc +/* 0043CFCC A9F9FFFC */ swl $t9, -4($t7) +/* 0043CFD0 B9F9FFFF */ swr $t9, -1($t7) +/* 0043CFD4 890EFFF8 */ lwl $t6, -8($t0) +/* 0043CFD8 990EFFFB */ lwr $t6, -5($t0) +/* 0043CFDC A9EE0000 */ swl $t6, ($t7) +/* 0043CFE0 B9EE0003 */ swr $t6, 3($t7) +/* 0043CFE4 8919FFFC */ lwl $t9, -4($t0) +/* 0043CFE8 9919FFFF */ lwr $t9, -1($t0) +/* 0043CFEC A9F90004 */ swl $t9, 4($t7) +/* 0043CFF0 1518FFF2 */ bne $t0, $t8, .L0043CFBC +/* 0043CFF4 B9F90007 */ swr $t9, 7($t7) +/* 0043CFF8 89190000 */ lwl $t9, ($t0) +/* 0043CFFC 99190003 */ lwr $t9, 3($t0) +/* 0043D000 8F8D8038 */ lw $t5, %got(RO_1000C268)($gp) +/* 0043D004 03A05025 */ move $t2, $sp +/* 0043D008 A9F90008 */ swl $t9, 8($t7) +/* 0043D00C B9F9000B */ swr $t9, 0xb($t7) +/* 0043D010 890E0004 */ lwl $t6, 4($t0) +/* 0043D014 990E0007 */ lwr $t6, 7($t0) +/* 0043D018 25ADC268 */ addiu $t5, %lo(RO_1000C268) # addiu $t5, $t5, -0x3d98 +/* 0043D01C 25AB0048 */ addiu $t3, $t5, 0x48 +/* 0043D020 A9EE000C */ swl $t6, 0xc($t7) +/* 0043D024 B9EE000F */ swr $t6, 0xf($t7) +.L0043D028: +/* 0043D028 89AC0000 */ lwl $t4, ($t5) +/* 0043D02C 99AC0003 */ lwr $t4, 3($t5) +/* 0043D030 25AD000C */ addiu $t5, $t5, 0xc +/* 0043D034 254A000C */ addiu $t2, $t2, 0xc +/* 0043D038 A94C004C */ swl $t4, 0x4c($t2) +/* 0043D03C B94C004F */ swr $t4, 0x4f($t2) +/* 0043D040 89A9FFF8 */ lwl $t1, -8($t5) +/* 0043D044 99A9FFFB */ lwr $t1, -5($t5) +/* 0043D048 A9490050 */ swl $t1, 0x50($t2) +/* 0043D04C B9490053 */ swr $t1, 0x53($t2) +/* 0043D050 89ACFFFC */ lwl $t4, -4($t5) +/* 0043D054 99ACFFFF */ lwr $t4, -1($t5) +/* 0043D058 A94C0054 */ swl $t4, 0x54($t2) +/* 0043D05C 15ABFFF2 */ bne $t5, $t3, .L0043D028 +/* 0043D060 B94C0057 */ swr $t4, 0x57($t2) +/* 0043D064 89AC0000 */ lwl $t4, ($t5) +/* 0043D068 99AC0003 */ lwr $t4, 3($t5) +/* 0043D06C A94C0058 */ swl $t4, 0x58($t2) +/* 0043D070 B94C005B */ swr $t4, 0x5b($t2) +/* 0043D074 89A90004 */ lwl $t1, 4($t5) +/* 0043D078 99A90007 */ lwr $t1, 7($t5) +/* 0043D07C A949005C */ swl $t1, 0x5c($t2) +/* 0043D080 B949005F */ swr $t1, 0x5f($t2) +/* 0043D084 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043D088 8FA7000C */ lw $a3, 0xc($sp) +/* 0043D08C 8FA60008 */ lw $a2, 8($sp) +/* 0043D090 0320F809 */ jalr $t9 +/* 0043D094 00000000 */ nop +/* 0043D098 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043D09C 8F9984B0 */ lw $t9, %call16(print_regs)($gp) +/* 0043D0A0 8F848B00 */ lw $a0, %got(fp_regs_used)($gp) +/* 0043D0A4 0320F809 */ jalr $t9 +/* 0043D0A8 00000000 */ nop +/* 0043D0AC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043D0B0: +/* 0043D0B0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043D0B4 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0043D0B8 03E00008 */ jr $ra +/* 0043D0BC 00000000 */ nop + .type check_no_used, @function + .size check_no_used, .-check_no_used + .end check_no_used + +glabel usage_count + .ent usage_count + # 004254B8 flt_reg + # 0042567C func_0042567C + # 004287AC eval_fp_min_max + # 00428C38 copy + # 0042BDAC eval + # 00441308 spill_to_temp +/* 0043D0C0 3C1C0FBE */ .cpload $t9 +/* 0043D0C4 279C2990 */ +/* 0043D0C8 0399E021 */ +/* 0043D0CC 8F8F8BCC */ lw $t7, %got(regs)($gp) +/* 0043D0D0 00047080 */ sll $t6, $a0, 2 +/* 0043D0D4 01C47023 */ subu $t6, $t6, $a0 +/* 0043D0D8 000E7080 */ sll $t6, $t6, 2 +/* 0043D0DC AFA40000 */ sw $a0, ($sp) +/* 0043D0E0 01CFC021 */ addu $t8, $t6, $t7 +/* 0043D0E4 03E00008 */ jr $ra +/* 0043D0E8 97020004 */ lhu $v0, 4($t8) + .type usage_count, @function + .size usage_count, .-usage_count + .end usage_count + +glabel move_to_end_fp_list + .ent move_to_end_fp_list + # 0042BDAC eval +/* 0043D0EC 3C1C0FBE */ .cpload $t9 +/* 0043D0F0 279C2964 */ +/* 0043D0F4 0399E021 */ +/* 0043D0F8 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043D0FC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043D100 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043D104 AFA40020 */ sw $a0, 0x20($sp) +/* 0043D108 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043D10C 93A40023 */ lbu $a0, 0x23($sp) +/* 0043D110 0320F809 */ jalr $t9 +/* 0043D114 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043D118 10400007 */ beqz $v0, .L0043D138 +/* 0043D11C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D120 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043D124 93A40023 */ lbu $a0, 0x23($sp) +/* 0043D128 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043D12C 0320F809 */ jalr $t9 +/* 0043D130 00000000 */ nop +/* 0043D134 8FBC0018 */ lw $gp, 0x18($sp) +.L0043D138: +/* 0043D138 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043D13C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043D140 03E00008 */ jr $ra +/* 0043D144 00000000 */ nop + .type move_to_end_fp_list, @function + .size move_to_end_fp_list, .-move_to_end_fp_list + .end move_to_end_fp_list + +glabel move_to_end_gp_list + .ent move_to_end_gp_list + # 0042BDAC eval +/* 0043D148 3C1C0FBE */ .cpload $t9 +/* 0043D14C 279C2908 */ +/* 0043D150 0399E021 */ +/* 0043D154 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043D158 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043D15C AFBF001C */ sw $ra, 0x1c($sp) +/* 0043D160 AFA40020 */ sw $a0, 0x20($sp) +/* 0043D164 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043D168 93A40023 */ lbu $a0, 0x23($sp) +/* 0043D16C 0320F809 */ jalr $t9 +/* 0043D170 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043D174 10400007 */ beqz $v0, .L0043D194 +/* 0043D178 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D17C 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043D180 93A40023 */ lbu $a0, 0x23($sp) +/* 0043D184 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043D188 0320F809 */ jalr $t9 +/* 0043D18C 00000000 */ nop +/* 0043D190 8FBC0018 */ lw $gp, 0x18($sp) +.L0043D194: +/* 0043D194 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043D198 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043D19C 03E00008 */ jr $ra +/* 0043D1A0 00000000 */ nop + .type move_to_end_gp_list, @function + .size move_to_end_gp_list, .-move_to_end_gp_list + .end move_to_end_gp_list + +glabel get_free_fp_reg_special + .ent get_free_fp_reg_special +/* 0043D1A4 3C1C0FBE */ .cpload $t9 +/* 0043D1A8 279C28AC */ +/* 0043D1AC 0399E021 */ +/* 0043D1B0 27BDFEC8 */ addiu $sp, $sp, -0x138 +/* 0043D1B4 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043D1B8 AFBF0134 */ sw $ra, 0x134($sp) +/* 0043D1BC AFA40138 */ sw $a0, 0x138($sp) +/* 0043D1C0 AFBC0130 */ sw $gp, 0x130($sp) +/* 0043D1C4 AFB0012C */ sw $s0, 0x12c($sp) +/* 0043D1C8 AFA5013C */ sw $a1, 0x13c($sp) +/* 0043D1CC AFA60140 */ sw $a2, 0x140($sp) +/* 0043D1D0 0320F809 */ jalr $t9 +/* 0043D1D4 8F848AFC */ lw $a0, %got(fp_regs_free)($gp) +/* 0043D1D8 14400008 */ bnez $v0, .L0043D1FC +/* 0043D1DC 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D1E0 8F998500 */ lw $t9, %call16(get_free_fp_reg)($gp) +/* 0043D1E4 8FA40138 */ lw $a0, 0x138($sp) +/* 0043D1E8 93A5013F */ lbu $a1, 0x13f($sp) +/* 0043D1EC 0320F809 */ jalr $t9 +/* 0043D1F0 97A60142 */ lhu $a2, 0x142($sp) +/* 0043D1F4 1000007B */ b .L0043D3E4 +/* 0043D1F8 8FBC0130 */ lw $gp, 0x130($sp) +.L0043D1FC: +/* 0043D1FC 8F8E8BC8 */ lw $t6, %got(restricted_fp_regs)($gp) +/* 0043D200 03A0C825 */ move $t9, $sp +/* 0043D204 25C80120 */ addiu $t0, $t6, 0x120 +.L0043D208: +/* 0043D208 8DD80000 */ lw $t8, ($t6) +/* 0043D20C 25CE000C */ addiu $t6, $t6, 0xc +/* 0043D210 2739000C */ addiu $t9, $t9, 0xc +/* 0043D214 AF38FFF4 */ sw $t8, -0xc($t9) +/* 0043D218 8DCFFFF8 */ lw $t7, -8($t6) +/* 0043D21C AF2FFFF8 */ sw $t7, -8($t9) +/* 0043D220 8DD8FFFC */ lw $t8, -4($t6) +/* 0043D224 15C8FFF8 */ bne $t6, $t0, .L0043D208 +/* 0043D228 AF38FFFC */ sw $t8, -4($t9) +/* 0043D22C 8DD80000 */ lw $t8, ($t6) +/* 0043D230 8F898B00 */ lw $t1, %got(fp_regs_used)($gp) +/* 0043D234 AF380000 */ sw $t8, ($t9) +/* 0043D238 8F998498 */ lw $t9, %call16(find_non_special_reg)($gp) +/* 0043D23C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043D240 8FA60008 */ lw $a2, 8($sp) +/* 0043D244 8FA50004 */ lw $a1, 4($sp) +/* 0043D248 8FA40000 */ lw $a0, ($sp) +/* 0043D24C 0320F809 */ jalr $t9 +/* 0043D250 AFA90124 */ sw $t1, 0x124($sp) +/* 0043D254 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D258 305000FF */ andi $s0, $v0, 0xff +/* 0043D25C 304400FF */ andi $a0, $v0, 0xff +/* 0043D260 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043D264 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043D268 0320F809 */ jalr $t9 +/* 0043D26C 00000000 */ nop +/* 0043D270 1440003F */ bnez $v0, .L0043D370 +/* 0043D274 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D278 8F8A8038 */ lw $t2, %got(RO_1000C3F8)($gp) +/* 0043D27C 24040004 */ li $a0, 4 +/* 0043D280 24050433 */ li $a1, 1075 +/* 0043D284 254AC3F8 */ addiu $t2, %lo(RO_1000C3F8) # addiu $t2, $t2, -0x3c08 +/* 0043D288 25480048 */ addiu $t0, $t2, 0x48 +/* 0043D28C 03A06825 */ move $t5, $sp +.L0043D290: +/* 0043D290 894C0000 */ lwl $t4, ($t2) +/* 0043D294 994C0003 */ lwr $t4, 3($t2) +/* 0043D298 254A000C */ addiu $t2, $t2, 0xc +/* 0043D29C 25AD000C */ addiu $t5, $t5, 0xc +/* 0043D2A0 A9ACFFFC */ swl $t4, -4($t5) +/* 0043D2A4 B9ACFFFF */ swr $t4, -1($t5) +/* 0043D2A8 894BFFF8 */ lwl $t3, -8($t2) +/* 0043D2AC 994BFFFB */ lwr $t3, -5($t2) +/* 0043D2B0 A9AB0000 */ swl $t3, ($t5) +/* 0043D2B4 B9AB0003 */ swr $t3, 3($t5) +/* 0043D2B8 894CFFFC */ lwl $t4, -4($t2) +/* 0043D2BC 994CFFFF */ lwr $t4, -1($t2) +/* 0043D2C0 A9AC0004 */ swl $t4, 4($t5) +/* 0043D2C4 1548FFF2 */ bne $t2, $t0, .L0043D290 +/* 0043D2C8 B9AC0007 */ swr $t4, 7($t5) +/* 0043D2CC 894C0000 */ lwl $t4, ($t2) +/* 0043D2D0 994C0003 */ lwr $t4, 3($t2) +/* 0043D2D4 8F8E8038 */ lw $t6, %got(RO_1000C3A8)($gp) +/* 0043D2D8 03A0C025 */ move $t8, $sp +/* 0043D2DC A9AC0008 */ swl $t4, 8($t5) +/* 0043D2E0 B9AC000B */ swr $t4, 0xb($t5) +/* 0043D2E4 894B0004 */ lwl $t3, 4($t2) +/* 0043D2E8 994B0007 */ lwr $t3, 7($t2) +/* 0043D2EC 25CEC3A8 */ addiu $t6, %lo(RO_1000C3A8) # addiu $t6, $t6, -0x3c58 +/* 0043D2F0 25C90048 */ addiu $t1, $t6, 0x48 +/* 0043D2F4 A9AB000C */ swl $t3, 0xc($t5) +/* 0043D2F8 B9AB000F */ swr $t3, 0xf($t5) +.L0043D2FC: +/* 0043D2FC 89CF0000 */ lwl $t7, ($t6) +/* 0043D300 99CF0003 */ lwr $t7, 3($t6) +/* 0043D304 25CE000C */ addiu $t6, $t6, 0xc +/* 0043D308 2718000C */ addiu $t8, $t8, 0xc +/* 0043D30C AB0F004C */ swl $t7, 0x4c($t8) +/* 0043D310 BB0F004F */ swr $t7, 0x4f($t8) +/* 0043D314 89D9FFF8 */ lwl $t9, -8($t6) +/* 0043D318 99D9FFFB */ lwr $t9, -5($t6) +/* 0043D31C AB190050 */ swl $t9, 0x50($t8) +/* 0043D320 BB190053 */ swr $t9, 0x53($t8) +/* 0043D324 89CFFFFC */ lwl $t7, -4($t6) +/* 0043D328 99CFFFFF */ lwr $t7, -1($t6) +/* 0043D32C AB0F0054 */ swl $t7, 0x54($t8) +/* 0043D330 15C9FFF2 */ bne $t6, $t1, .L0043D2FC +/* 0043D334 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043D338 89CF0000 */ lwl $t7, ($t6) +/* 0043D33C 99CF0003 */ lwr $t7, 3($t6) +/* 0043D340 AB0F0058 */ swl $t7, 0x58($t8) +/* 0043D344 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043D348 89D90004 */ lwl $t9, 4($t6) +/* 0043D34C 99D90007 */ lwr $t9, 7($t6) +/* 0043D350 AB19005C */ swl $t9, 0x5c($t8) +/* 0043D354 BB19005F */ swr $t9, 0x5f($t8) +/* 0043D358 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043D35C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043D360 8FA60008 */ lw $a2, 8($sp) +/* 0043D364 0320F809 */ jalr $t9 +/* 0043D368 00000000 */ nop +/* 0043D36C 8FBC0130 */ lw $gp, 0x130($sp) +.L0043D370: +/* 0043D370 8F8A8BCC */ lw $t2, %got(regs)($gp) +/* 0043D374 00104080 */ sll $t0, $s0, 2 +/* 0043D378 01104023 */ subu $t0, $t0, $s0 +/* 0043D37C 00084080 */ sll $t0, $t0, 2 +/* 0043D380 010A6821 */ addu $t5, $t0, $t2 +/* 0043D384 91AB0008 */ lbu $t3, 8($t5) +/* 0043D388 8F8988F4 */ lw $t1, %got(size_tab)($gp) +/* 0043D38C 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043D390 000B6080 */ sll $t4, $t3, 2 +/* 0043D394 01897021 */ addu $t6, $t4, $t1 +/* 0043D398 8DC50000 */ lw $a1, ($t6) +/* 0043D39C 0320F809 */ jalr $t9 +/* 0043D3A0 02002025 */ move $a0, $s0 +/* 0043D3A4 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D3A8 02002025 */ move $a0, $s0 +/* 0043D3AC 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043D3B0 8F858B00 */ lw $a1, %got(fp_regs_used)($gp) +/* 0043D3B4 0320F809 */ jalr $t9 +/* 0043D3B8 00000000 */ nop +/* 0043D3BC 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D3C0 02002025 */ move $a0, $s0 +/* 0043D3C4 8FA50138 */ lw $a1, 0x138($sp) +/* 0043D3C8 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043D3CC 97A60142 */ lhu $a2, 0x142($sp) +/* 0043D3D0 93A7013F */ lbu $a3, 0x13f($sp) +/* 0043D3D4 0320F809 */ jalr $t9 +/* 0043D3D8 00000000 */ nop +/* 0043D3DC 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D3E0 02001025 */ move $v0, $s0 +.L0043D3E4: +/* 0043D3E4 8FBF0134 */ lw $ra, 0x134($sp) +/* 0043D3E8 8FB0012C */ lw $s0, 0x12c($sp) +/* 0043D3EC 27BD0138 */ addiu $sp, $sp, 0x138 +/* 0043D3F0 03E00008 */ jr $ra +/* 0043D3F4 00000000 */ nop + .type get_free_fp_reg_special, @function + .size get_free_fp_reg_special, .-get_free_fp_reg_special + .end get_free_fp_reg_special + +glabel get_free_reg_special + .ent get_free_reg_special +/* 0043D3F8 3C1C0FBE */ .cpload $t9 +/* 0043D3FC 279C2658 */ +/* 0043D400 0399E021 */ +/* 0043D404 27BDFEC8 */ addiu $sp, $sp, -0x138 +/* 0043D408 8F9984AC */ lw $t9, %call16(list_is_empty)($gp) +/* 0043D40C AFBF0134 */ sw $ra, 0x134($sp) +/* 0043D410 AFA40138 */ sw $a0, 0x138($sp) +/* 0043D414 AFBC0130 */ sw $gp, 0x130($sp) +/* 0043D418 AFB0012C */ sw $s0, 0x12c($sp) +/* 0043D41C AFA5013C */ sw $a1, 0x13c($sp) +/* 0043D420 0320F809 */ jalr $t9 +/* 0043D424 8F848AF4 */ lw $a0, %got(gp_regs_free)($gp) +/* 0043D428 14400008 */ bnez $v0, .L0043D44C +/* 0043D42C 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D430 8F9984FC */ lw $t9, %call16(get_free_reg)($gp) +/* 0043D434 8FA40138 */ lw $a0, 0x138($sp) +/* 0043D438 97A5013E */ lhu $a1, 0x13e($sp) +/* 0043D43C 0320F809 */ jalr $t9 +/* 0043D440 00000000 */ nop +/* 0043D444 1000007B */ b .L0043D634 +/* 0043D448 8FBC0130 */ lw $gp, 0x130($sp) +.L0043D44C: +/* 0043D44C 8F8E8BC4 */ lw $t6, %got(restricted_regs)($gp) +/* 0043D450 03A0C825 */ move $t9, $sp +/* 0043D454 25C80120 */ addiu $t0, $t6, 0x120 +.L0043D458: +/* 0043D458 8DD80000 */ lw $t8, ($t6) +/* 0043D45C 25CE000C */ addiu $t6, $t6, 0xc +/* 0043D460 2739000C */ addiu $t9, $t9, 0xc +/* 0043D464 AF38FFF4 */ sw $t8, -0xc($t9) +/* 0043D468 8DCFFFF8 */ lw $t7, -8($t6) +/* 0043D46C AF2FFFF8 */ sw $t7, -8($t9) +/* 0043D470 8DD8FFFC */ lw $t8, -4($t6) +/* 0043D474 15C8FFF8 */ bne $t6, $t0, .L0043D458 +/* 0043D478 AF38FFFC */ sw $t8, -4($t9) +/* 0043D47C 8DD80000 */ lw $t8, ($t6) +/* 0043D480 8F898AF8 */ lw $t1, %got(gp_regs_used)($gp) +/* 0043D484 AF380000 */ sw $t8, ($t9) +/* 0043D488 8F998498 */ lw $t9, %call16(find_non_special_reg)($gp) +/* 0043D48C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043D490 8FA60008 */ lw $a2, 8($sp) +/* 0043D494 8FA50004 */ lw $a1, 4($sp) +/* 0043D498 8FA40000 */ lw $a0, ($sp) +/* 0043D49C 0320F809 */ jalr $t9 +/* 0043D4A0 AFA90124 */ sw $t1, 0x124($sp) +/* 0043D4A4 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D4A8 305000FF */ andi $s0, $v0, 0xff +/* 0043D4AC 304400FF */ andi $a0, $v0, 0xff +/* 0043D4B0 8F9984C4 */ lw $t9, %call16(remove_from_list)($gp) +/* 0043D4B4 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043D4B8 0320F809 */ jalr $t9 +/* 0043D4BC 00000000 */ nop +/* 0043D4C0 1440003F */ bnez $v0, .L0043D5C0 +/* 0043D4C4 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D4C8 8F8A8038 */ lw $t2, %got(RO_1000C498)($gp) +/* 0043D4CC 24040004 */ li $a0, 4 +/* 0043D4D0 24050446 */ li $a1, 1094 +/* 0043D4D4 254AC498 */ addiu $t2, %lo(RO_1000C498) # addiu $t2, $t2, -0x3b68 +/* 0043D4D8 25480048 */ addiu $t0, $t2, 0x48 +/* 0043D4DC 03A06825 */ move $t5, $sp +.L0043D4E0: +/* 0043D4E0 894C0000 */ lwl $t4, ($t2) +/* 0043D4E4 994C0003 */ lwr $t4, 3($t2) +/* 0043D4E8 254A000C */ addiu $t2, $t2, 0xc +/* 0043D4EC 25AD000C */ addiu $t5, $t5, 0xc +/* 0043D4F0 A9ACFFFC */ swl $t4, -4($t5) +/* 0043D4F4 B9ACFFFF */ swr $t4, -1($t5) +/* 0043D4F8 894BFFF8 */ lwl $t3, -8($t2) +/* 0043D4FC 994BFFFB */ lwr $t3, -5($t2) +/* 0043D500 A9AB0000 */ swl $t3, ($t5) +/* 0043D504 B9AB0003 */ swr $t3, 3($t5) +/* 0043D508 894CFFFC */ lwl $t4, -4($t2) +/* 0043D50C 994CFFFF */ lwr $t4, -1($t2) +/* 0043D510 A9AC0004 */ swl $t4, 4($t5) +/* 0043D514 1548FFF2 */ bne $t2, $t0, .L0043D4E0 +/* 0043D518 B9AC0007 */ swr $t4, 7($t5) +/* 0043D51C 894C0000 */ lwl $t4, ($t2) +/* 0043D520 994C0003 */ lwr $t4, 3($t2) +/* 0043D524 8F8E8038 */ lw $t6, %got(RO_1000C448)($gp) +/* 0043D528 03A0C025 */ move $t8, $sp +/* 0043D52C A9AC0008 */ swl $t4, 8($t5) +/* 0043D530 B9AC000B */ swr $t4, 0xb($t5) +/* 0043D534 894B0004 */ lwl $t3, 4($t2) +/* 0043D538 994B0007 */ lwr $t3, 7($t2) +/* 0043D53C 25CEC448 */ addiu $t6, %lo(RO_1000C448) # addiu $t6, $t6, -0x3bb8 +/* 0043D540 25C90048 */ addiu $t1, $t6, 0x48 +/* 0043D544 A9AB000C */ swl $t3, 0xc($t5) +/* 0043D548 B9AB000F */ swr $t3, 0xf($t5) +.L0043D54C: +/* 0043D54C 89CF0000 */ lwl $t7, ($t6) +/* 0043D550 99CF0003 */ lwr $t7, 3($t6) +/* 0043D554 25CE000C */ addiu $t6, $t6, 0xc +/* 0043D558 2718000C */ addiu $t8, $t8, 0xc +/* 0043D55C AB0F004C */ swl $t7, 0x4c($t8) +/* 0043D560 BB0F004F */ swr $t7, 0x4f($t8) +/* 0043D564 89D9FFF8 */ lwl $t9, -8($t6) +/* 0043D568 99D9FFFB */ lwr $t9, -5($t6) +/* 0043D56C AB190050 */ swl $t9, 0x50($t8) +/* 0043D570 BB190053 */ swr $t9, 0x53($t8) +/* 0043D574 89CFFFFC */ lwl $t7, -4($t6) +/* 0043D578 99CFFFFF */ lwr $t7, -1($t6) +/* 0043D57C AB0F0054 */ swl $t7, 0x54($t8) +/* 0043D580 15C9FFF2 */ bne $t6, $t1, .L0043D54C +/* 0043D584 BB0F0057 */ swr $t7, 0x57($t8) +/* 0043D588 89CF0000 */ lwl $t7, ($t6) +/* 0043D58C 99CF0003 */ lwr $t7, 3($t6) +/* 0043D590 AB0F0058 */ swl $t7, 0x58($t8) +/* 0043D594 BB0F005B */ swr $t7, 0x5b($t8) +/* 0043D598 89D90004 */ lwl $t9, 4($t6) +/* 0043D59C 99D90007 */ lwr $t9, 7($t6) +/* 0043D5A0 AB19005C */ swl $t9, 0x5c($t8) +/* 0043D5A4 BB19005F */ swr $t9, 0x5f($t8) +/* 0043D5A8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043D5AC 8FA7000C */ lw $a3, 0xc($sp) +/* 0043D5B0 8FA60008 */ lw $a2, 8($sp) +/* 0043D5B4 0320F809 */ jalr $t9 +/* 0043D5B8 00000000 */ nop +/* 0043D5BC 8FBC0130 */ lw $gp, 0x130($sp) +.L0043D5C0: +/* 0043D5C0 8F8A8BCC */ lw $t2, %got(regs)($gp) +/* 0043D5C4 00104080 */ sll $t0, $s0, 2 +/* 0043D5C8 01104023 */ subu $t0, $t0, $s0 +/* 0043D5CC 00084080 */ sll $t0, $t0, 2 +/* 0043D5D0 010A6821 */ addu $t5, $t0, $t2 +/* 0043D5D4 91AB0008 */ lbu $t3, 8($t5) +/* 0043D5D8 8F8988F4 */ lw $t1, %got(size_tab)($gp) +/* 0043D5DC 8F9985B8 */ lw $t9, %call16(spill_to_temp)($gp) +/* 0043D5E0 000B6080 */ sll $t4, $t3, 2 +/* 0043D5E4 01897021 */ addu $t6, $t4, $t1 +/* 0043D5E8 8DC50000 */ lw $a1, ($t6) +/* 0043D5EC 0320F809 */ jalr $t9 +/* 0043D5F0 02002025 */ move $a0, $s0 +/* 0043D5F4 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D5F8 02002025 */ move $a0, $s0 +/* 0043D5FC 8F9984C0 */ lw $t9, %call16(append_to_list)($gp) +/* 0043D600 8F858AF8 */ lw $a1, %got(gp_regs_used)($gp) +/* 0043D604 0320F809 */ jalr $t9 +/* 0043D608 00000000 */ nop +/* 0043D60C 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D610 02002025 */ move $a0, $s0 +/* 0043D614 8FA50138 */ lw $a1, 0x138($sp) +/* 0043D618 8F9984A4 */ lw $t9, %call16(fill_reg)($gp) +/* 0043D61C 97A6013E */ lhu $a2, 0x13e($sp) +/* 0043D620 24070001 */ li $a3, 1 +/* 0043D624 0320F809 */ jalr $t9 +/* 0043D628 00000000 */ nop +/* 0043D62C 8FBC0130 */ lw $gp, 0x130($sp) +/* 0043D630 02001025 */ move $v0, $s0 +.L0043D634: +/* 0043D634 8FBF0134 */ lw $ra, 0x134($sp) +/* 0043D638 8FB0012C */ lw $s0, 0x12c($sp) +/* 0043D63C 27BD0138 */ addiu $sp, $sp, 0x138 +/* 0043D640 03E00008 */ jr $ra +/* 0043D644 00000000 */ nop + .type get_free_reg_special, @function + .size get_free_reg_special, .-get_free_reg_special + .end get_free_reg_special +)""); diff --git a/src/ugen/report.c b/src/ugen/report.c new file mode 100644 index 0000000..fcda067 --- /dev/null +++ b/src/ugen/report.c @@ -0,0 +1,438 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000C4F0: + # 0043D690 report_error + .ascii " " + +RO_1000C500: + # 0043D690 report_error + .ascii ", line " + +RO_1000C507: + # 0043D690 report_error + .ascii " : (ugen internal file " + +RO_1000C51F: + # 0043D690 report_error + .ascii ": at your source line " + +RO_1000C535: + # 0043D690 report_error + .ascii "ugen: " + +RO_1000C53B: + # 0043D968 assertion_error + .ascii "Assertion failed " + +RO_1000C58B: + # 0043D968 assertion_error + .asciz "report.p " + +.data +# 10016730 +glabel err_tab + # 0043D690 report_error + .ascii "fix info warning error internal \0\0\0\0\0\0\0\0\0\0\0\0\0\0" + .type err_tab, @object + .size err_tab, .-err_tab # 64 + + + +.bss + .balign 16 +# 100214D0 +glabel errors + # 0043D650 reset_errors + # 0043D690 report_error + # 0043D8F4 has_errors + .space 20 + .size errors, 20 + .type errors, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel reset_errors + .ent reset_errors +/* 0043D650 3C1C0FBE */ .cpload $t9 +/* 0043D654 279C2400 */ +/* 0043D658 0399E021 */ +/* 0043D65C 8F818968 */ lw $at, %got(current_line)($gp) +/* 0043D660 8F8F8B9C */ lw $t7, %got(errors)($gp) +/* 0043D664 24020001 */ li $v0, 1 +/* 0043D668 AC200000 */ sw $zero, ($at) +/* 0043D66C 8F818B9C */ lw $at, %got(errors)($gp) +/* 0043D670 00027080 */ sll $t6, $v0, 2 +/* 0043D674 01CF1821 */ addu $v1, $t6, $t7 +/* 0043D678 AC200000 */ sw $zero, ($at) +/* 0043D67C AC60000C */ sw $zero, 0xc($v1) +/* 0043D680 AC600008 */ sw $zero, 8($v1) +/* 0043D684 AC600004 */ sw $zero, 4($v1) +/* 0043D688 03E00008 */ jr $ra +/* 0043D68C AC600000 */ sw $zero, ($v1) + .type reset_errors, @function + .size reset_errors, .-reset_errors + .end reset_errors + +glabel report_error + .ent report_error + # 0040C210 write_instruction + # 0040CF50 print_source + # 0040F4C8 build_tree + # 00414040 init_ibuffer + # 004141CC grow_ibuffer + # 0041462C create_local_label + # 00420810 gen_entry_exit + # 00422DB8 emit_file + # 004235C4 fasm + # 00423828 fop + # 00424934 restore_from_temp + # 00424F70 reg + # 00425140 binary_regs + # 00425AA0 move_to_dest + # 00425D78 lsopc + # 0042670C loadstore + # 00428D14 eval_mov + # 00429EE0 get_ops + # 0042BDAC eval + # 004357C4 func_004357C4 + # 0043698C new_lit + # 00436D00 add_to_pool + # 00437010 cmp_tree + # 00437D40 cmp_tree_again + # 00439910 find_non_special_reg + # 0043A5E8 spill + # 0043A888 spill_reg + # 0043AB48 get_one_reg + # 0043B0F8 get_fp_reg + # 0043B478 spill_two_regs + # 0043BC80 content_of + # 0043BE04 dec_usage + # 0043C098 free_reg + # 0043C410 free_fp_reg + # 0043C674 add_to_free_list + # 0043C804 add_to_fp_free_list + # 0043C994 remove_from_free_list + # 0043CCA0 remove_from_fp_free_list + # 0043CE54 check_no_used + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special + # 0043D968 assertion_error + # 0043DA98 get_data_area + # 0043DD04 make_new_sym + # 0043DFB0 gen_sym + # 0043EA6C complex_insert_init + # 0043F460 append_init + # 0043FBF8 emit_init + # 00440398 emit_symbol + # 00440800 output_entry_point + # 004409C0 change_label_number + # 00440C8C make_new_temp + # 00440EA0 gen_store + # 004413F8 free_temp + # 00441538 temp_offset + # 00441680 temp_usage_count + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 00446368 cse_equ + # 00447150 check_vreg + # 0044747C find_vreg_mtag + # 00447884 assign_vreg + # 004481CC uses + # 0044A740 dup_tree + # 0044AA84 rvalue + # 0044B384 func_0044B384 + # 0044B640 func_0044B640 + # 0044BC78 func_0044BC78 + # 0044BF18 main + # 0044EC1C emit_val + # 0044F160 find_val_type +/* 0043D690 3C1C0FBE */ .cpload $t9 +/* 0043D694 279C23C0 */ +/* 0043D698 0399E021 */ +/* 0043D69C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0043D6A0 AFA40028 */ sw $a0, 0x28($sp) +/* 0043D6A4 93AE002B */ lbu $t6, 0x2b($sp) +/* 0043D6A8 8F988B9C */ lw $t8, %got(errors)($gp) +/* 0043D6AC 93A9002B */ lbu $t1, 0x2b($sp) +/* 0043D6B0 000E7880 */ sll $t7, $t6, 2 +/* 0043D6B4 01F81021 */ addu $v0, $t7, $t8 +/* 0043D6B8 8C590000 */ lw $t9, ($v0) +/* 0043D6BC 24010002 */ li $at, 2 +/* 0043D6C0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043D6C4 27280001 */ addiu $t0, $t9, 1 +/* 0043D6C8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043D6CC AFB00014 */ sw $s0, 0x14($sp) +/* 0043D6D0 AFA5002C */ sw $a1, 0x2c($sp) +/* 0043D6D4 AFA60030 */ sw $a2, 0x30($sp) +/* 0043D6D8 AFA70034 */ sw $a3, 0x34($sp) +/* 0043D6DC 15210005 */ bne $t1, $at, .L0043D6F4 +/* 0043D6E0 AC480000 */ sw $t0, ($v0) +/* 0043D6E4 8F8A8964 */ lw $t2, %got(print_warnings)($gp) +/* 0043D6E8 914A0000 */ lbu $t2, ($t2) +/* 0043D6EC 1140006F */ beqz $t2, .L0043D8AC +/* 0043D6F0 00000000 */ nop +.L0043D6F4: +/* 0043D6F4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D6F8 8F908950 */ lw $s0, %got(err)($gp) +/* 0043D6FC 8F858038 */ lw $a1, %got(RO_1000C535)($gp) +/* 0043D700 24060006 */ li $a2, 6 +/* 0043D704 24070006 */ li $a3, 6 +/* 0043D708 AFA20024 */ sw $v0, 0x24($sp) +/* 0043D70C 8E040000 */ lw $a0, ($s0) +/* 0043D710 0320F809 */ jalr $t9 +/* 0043D714 24A5C535 */ addiu $a1, %lo(RO_1000C535) # addiu $a1, $a1, -0x3acb +/* 0043D718 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D71C 93AB002B */ lbu $t3, 0x2b($sp) +/* 0043D720 8E040000 */ lw $a0, ($s0) +/* 0043D724 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D728 000B6080 */ sll $t4, $t3, 2 +/* 0043D72C 8F8D8900 */ lw $t5, %got(err_tab)($gp) +/* 0043D730 018B6021 */ addu $t4, $t4, $t3 +/* 0043D734 000C6040 */ sll $t4, $t4, 1 +/* 0043D738 2406000A */ li $a2, 10 +/* 0043D73C 2407000A */ li $a3, 10 +/* 0043D740 0320F809 */ jalr $t9 +/* 0043D744 018D2821 */ addu $a1, $t4, $t5 +/* 0043D748 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D74C 8E040000 */ lw $a0, ($s0) +/* 0043D750 24060016 */ li $a2, 22 +/* 0043D754 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D758 8F858038 */ lw $a1, %got(RO_1000C51F)($gp) +/* 0043D75C 24070016 */ li $a3, 22 +/* 0043D760 0320F809 */ jalr $t9 +/* 0043D764 24A5C51F */ addiu $a1, %lo(RO_1000C51F) # addiu $a1, $a1, -0x3ae1 +/* 0043D768 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D76C 8E040000 */ lw $a0, ($s0) +/* 0043D770 00003025 */ move $a2, $zero +/* 0043D774 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0043D778 8F858968 */ lw $a1, %got(current_line)($gp) +/* 0043D77C 2407000A */ li $a3, 10 +/* 0043D780 0320F809 */ jalr $t9 +/* 0043D784 8CA50000 */ lw $a1, ($a1) +/* 0043D788 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D78C 8E040000 */ lw $a0, ($s0) +/* 0043D790 24060018 */ li $a2, 24 +/* 0043D794 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D798 8F858038 */ lw $a1, %got(RO_1000C507)($gp) +/* 0043D79C 24070018 */ li $a3, 24 +/* 0043D7A0 0320F809 */ jalr $t9 +/* 0043D7A4 24A5C507 */ addiu $a1, %lo(RO_1000C507) # addiu $a1, $a1, -0x3af9 +/* 0043D7A8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D7AC 8E040000 */ lw $a0, ($s0) +/* 0043D7B0 27A50030 */ addiu $a1, $sp, 0x30 +/* 0043D7B4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D7B8 24060050 */ li $a2, 80 +/* 0043D7BC 00003825 */ move $a3, $zero +/* 0043D7C0 0320F809 */ jalr $t9 +/* 0043D7C4 00000000 */ nop +/* 0043D7C8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D7CC 8E040000 */ lw $a0, ($s0) +/* 0043D7D0 24060007 */ li $a2, 7 +/* 0043D7D4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D7D8 8F858038 */ lw $a1, %got(RO_1000C500)($gp) +/* 0043D7DC 24070007 */ li $a3, 7 +/* 0043D7E0 0320F809 */ jalr $t9 +/* 0043D7E4 24A5C500 */ addiu $a1, %lo(RO_1000C500) # addiu $a1, $a1, -0x3b00 +/* 0043D7E8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D7EC 8E040000 */ lw $a0, ($s0) +/* 0043D7F0 8FA5002C */ lw $a1, 0x2c($sp) +/* 0043D7F4 8F9987E0 */ lw $t9, %call16(write_cardinal)($gp) +/* 0043D7F8 00003025 */ move $a2, $zero +/* 0043D7FC 2407000A */ li $a3, 10 +/* 0043D800 0320F809 */ jalr $t9 +/* 0043D804 00000000 */ nop +/* 0043D808 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D80C 8E040000 */ lw $a0, ($s0) +/* 0043D810 24050029 */ li $a1, 41 +/* 0043D814 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0043D818 24060001 */ li $a2, 1 +/* 0043D81C 2407000A */ li $a3, 10 +/* 0043D820 0320F809 */ jalr $t9 +/* 0043D824 AFA40020 */ sw $a0, 0x20($sp) +/* 0043D828 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D82C 8FA40020 */ lw $a0, 0x20($sp) +/* 0043D830 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043D834 0320F809 */ jalr $t9 +/* 0043D838 00000000 */ nop +/* 0043D83C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D840 8E040000 */ lw $a0, ($s0) +/* 0043D844 24060010 */ li $a2, 16 +/* 0043D848 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D84C 8F858038 */ lw $a1, %got(RO_1000C4F0)($gp) +/* 0043D850 24070010 */ li $a3, 16 +/* 0043D854 0320F809 */ jalr $t9 +/* 0043D858 24A5C4F0 */ addiu $a1, %lo(RO_1000C4F0) # addiu $a1, $a1, -0x3b10 +/* 0043D85C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D860 8E040000 */ lw $a0, ($s0) +/* 0043D864 27A50080 */ addiu $a1, $sp, 0x80 +/* 0043D868 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0043D86C 24060050 */ li $a2, 80 +/* 0043D870 00003825 */ move $a3, $zero +/* 0043D874 0320F809 */ jalr $t9 +/* 0043D878 00000000 */ nop +/* 0043D87C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D880 8E040000 */ lw $a0, ($s0) +/* 0043D884 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0043D888 0320F809 */ jalr $t9 +/* 0043D88C 00000000 */ nop +/* 0043D890 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D894 8E040000 */ lw $a0, ($s0) +/* 0043D898 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 0043D89C 0320F809 */ jalr $t9 +/* 0043D8A0 00000000 */ nop +/* 0043D8A4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D8A8 8FA20024 */ lw $v0, 0x24($sp) +.L0043D8AC: +/* 0043D8AC 8F8E8B9C */ lw $t6, %got(errors)($gp) +/* 0043D8B0 25CE0010 */ addiu $t6, $t6, 0x10 +/* 0043D8B4 544E000B */ bnel $v0, $t6, .L0043D8E4 +/* 0043D8B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043D8BC 8F8F89E0 */ lw $t7, %got(debug_ugen)($gp) +/* 0043D8C0 91EF0000 */ lbu $t7, ($t7) +/* 0043D8C4 55E00007 */ bnel $t7, $zero, .L0043D8E4 +/* 0043D8C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043D8CC 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0043D8D0 24040001 */ li $a0, 1 +/* 0043D8D4 0320F809 */ jalr $t9 +/* 0043D8D8 00000000 */ nop +/* 0043D8DC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043D8E0 8FBF001C */ lw $ra, 0x1c($sp) +.L0043D8E4: +/* 0043D8E4 8FB00014 */ lw $s0, 0x14($sp) +/* 0043D8E8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0043D8EC 03E00008 */ jr $ra +/* 0043D8F0 00000000 */ nop + .type report_error, @function + .size report_error, .-report_error + .end report_error + +glabel has_errors + .ent has_errors + # 0044BF18 main +/* 0043D8F4 3C1C0FBE */ .cpload $t9 +/* 0043D8F8 279C215C */ +/* 0043D8FC 0399E021 */ +/* 0043D900 2C810002 */ sltiu $at, $a0, 2 +/* 0043D904 1420000E */ bnez $at, .L0043D940 +/* 0043D908 00000000 */ nop +/* 0043D90C 8F828B9C */ lw $v0, %got(errors)($gp) +/* 0043D910 8C430010 */ lw $v1, 0x10($v0) +/* 0043D914 0003182B */ sltu $v1, $zero, $v1 +/* 0043D918 10600007 */ beqz $v1, .L0043D938 +/* 0043D91C 00000000 */ nop +/* 0043D920 8C430008 */ lw $v1, 8($v0) +/* 0043D924 0003182B */ sltu $v1, $zero, $v1 +/* 0043D928 10600003 */ beqz $v1, .L0043D938 +/* 0043D92C 00000000 */ nop +/* 0043D930 8C43000C */ lw $v1, 0xc($v0) +/* 0043D934 0003182B */ sltu $v1, $zero, $v1 +.L0043D938: +/* 0043D938 03E00008 */ jr $ra +/* 0043D93C 00601025 */ move $v0, $v1 + +.L0043D940: +/* 0043D940 8F828B9C */ lw $v0, %got(errors)($gp) +/* 0043D944 8C430010 */ lw $v1, 0x10($v0) +/* 0043D948 0003182B */ sltu $v1, $zero, $v1 +/* 0043D94C 50600004 */ beql $v1, $zero, .L0043D960 +/* 0043D950 00601025 */ move $v0, $v1 +/* 0043D954 8C43000C */ lw $v1, 0xc($v0) +/* 0043D958 0003182B */ sltu $v1, $zero, $v1 +/* 0043D95C 00601025 */ move $v0, $v1 +.L0043D960: +/* 0043D960 03E00008 */ jr $ra +/* 0043D964 00000000 */ nop + .type has_errors, @function + .size has_errors, .-has_errors + .end has_errors + +glabel assertion_error + .ent assertion_error +/* 0043D968 3C1C0FBE */ .cpload $t9 +/* 0043D96C 279C20E8 */ +/* 0043D970 0399E021 */ +/* 0043D974 8F8E8038 */ lw $t6, %got(RO_1000C58B)($gp) +/* 0043D978 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0043D97C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043D980 25CEC58B */ addiu $t6, %lo(RO_1000C58B) # addiu $t6, $t6, -0x3a75 +/* 0043D984 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043D988 25C80048 */ addiu $t0, $t6, 0x48 +/* 0043D98C 03A0C825 */ move $t9, $sp +/* 0043D990 24040004 */ li $a0, 4 +/* 0043D994 2405004F */ li $a1, 79 +.L0043D998: +/* 0043D998 89D80000 */ lwl $t8, ($t6) +/* 0043D99C 99D80003 */ lwr $t8, 3($t6) +/* 0043D9A0 25CE000C */ addiu $t6, $t6, 0xc +/* 0043D9A4 2739000C */ addiu $t9, $t9, 0xc +/* 0043D9A8 AB38FFFC */ swl $t8, -4($t9) +/* 0043D9AC BB38FFFF */ swr $t8, -1($t9) +/* 0043D9B0 89CFFFF8 */ lwl $t7, -8($t6) +/* 0043D9B4 99CFFFFB */ lwr $t7, -5($t6) +/* 0043D9B8 AB2F0000 */ swl $t7, ($t9) +/* 0043D9BC BB2F0003 */ swr $t7, 3($t9) +/* 0043D9C0 89D8FFFC */ lwl $t8, -4($t6) +/* 0043D9C4 99D8FFFF */ lwr $t8, -1($t6) +/* 0043D9C8 AB380004 */ swl $t8, 4($t9) +/* 0043D9CC 15C8FFF2 */ bne $t6, $t0, .L0043D998 +/* 0043D9D0 BB380007 */ swr $t8, 7($t9) +/* 0043D9D4 89D80000 */ lwl $t8, ($t6) +/* 0043D9D8 99D80003 */ lwr $t8, 3($t6) +/* 0043D9DC 8F898038 */ lw $t1, %got(RO_1000C53B)($gp) +/* 0043D9E0 03A06025 */ move $t4, $sp +/* 0043D9E4 AB380008 */ swl $t8, 8($t9) +/* 0043D9E8 BB38000B */ swr $t8, 0xb($t9) +/* 0043D9EC 89CF0004 */ lwl $t7, 4($t6) +/* 0043D9F0 99CF0007 */ lwr $t7, 7($t6) +/* 0043D9F4 2529C53B */ addiu $t1, %lo(RO_1000C53B) # addiu $t1, $t1, -0x3ac5 +/* 0043D9F8 252D0048 */ addiu $t5, $t1, 0x48 +/* 0043D9FC AB2F000C */ swl $t7, 0xc($t9) +/* 0043DA00 BB2F000F */ swr $t7, 0xf($t9) +.L0043DA04: +/* 0043DA04 892B0000 */ lwl $t3, ($t1) +/* 0043DA08 992B0003 */ lwr $t3, 3($t1) +/* 0043DA0C 2529000C */ addiu $t1, $t1, 0xc +/* 0043DA10 258C000C */ addiu $t4, $t4, 0xc +/* 0043DA14 A98B004C */ swl $t3, 0x4c($t4) +/* 0043DA18 B98B004F */ swr $t3, 0x4f($t4) +/* 0043DA1C 892AFFF8 */ lwl $t2, -8($t1) +/* 0043DA20 992AFFFB */ lwr $t2, -5($t1) +/* 0043DA24 A98A0050 */ swl $t2, 0x50($t4) +/* 0043DA28 B98A0053 */ swr $t2, 0x53($t4) +/* 0043DA2C 892BFFFC */ lwl $t3, -4($t1) +/* 0043DA30 992BFFFF */ lwr $t3, -1($t1) +/* 0043DA34 A98B0054 */ swl $t3, 0x54($t4) +/* 0043DA38 152DFFF2 */ bne $t1, $t5, .L0043DA04 +/* 0043DA3C B98B0057 */ swr $t3, 0x57($t4) +/* 0043DA40 892B0000 */ lwl $t3, ($t1) +/* 0043DA44 992B0003 */ lwr $t3, 3($t1) +/* 0043DA48 A98B0058 */ swl $t3, 0x58($t4) +/* 0043DA4C B98B005B */ swr $t3, 0x5b($t4) +/* 0043DA50 892A0004 */ lwl $t2, 4($t1) +/* 0043DA54 992A0007 */ lwr $t2, 7($t1) +/* 0043DA58 A98A005C */ swl $t2, 0x5c($t4) +/* 0043DA5C B98A005F */ swr $t2, 0x5f($t4) +/* 0043DA60 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043DA64 8FA7000C */ lw $a3, 0xc($sp) +/* 0043DA68 8FA60008 */ lw $a2, 8($sp) +/* 0043DA6C 0320F809 */ jalr $t9 +/* 0043DA70 00000000 */ nop +/* 0043DA74 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043DA78 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043DA7C 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0043DA80 03E00008 */ jr $ra +/* 0043DA84 00000000 */ nop + .type assertion_error, @function + .size assertion_error, .-assertion_error + .end assertion_error +)""); diff --git a/src/ugen/swap.c b/src/ugen/swap.c new file mode 100644 index 0000000..4f4cfcf --- /dev/null +++ b/src/ugen/swap.c @@ -0,0 +1,39 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel swap_tree + .ent swap_tree + # 0040F4C8 build_tree + # 004432FC translate +/* 00435190 8CAE0000 */ lw $t6, ($a1) +/* 00435194 8C820000 */ lw $v0, ($a0) +/* 00435198 AC8E0000 */ sw $t6, ($a0) +/* 0043519C 03E00008 */ jr $ra +/* 004351A0 ACA20000 */ sw $v0, ($a1) + .type swap_tree, @function + .size swap_tree, .-swap_tree + .end swap_tree + +glabel swap_int + .ent swap_int + # 0040F4C8 build_tree +/* 004351A4 8CAE0000 */ lw $t6, ($a1) +/* 004351A8 8C820000 */ lw $v0, ($a0) +/* 004351AC AC8E0000 */ sw $t6, ($a0) +/* 004351B0 03E00008 */ jr $ra +/* 004351B4 ACA20000 */ sw $v0, ($a1) + .type swap_int, @function + .size swap_int, .-swap_int + .end swap_int +)""); diff --git a/src/ugen/symbol.c b/src/ugen/symbol.c new file mode 100644 index 0000000..71572db --- /dev/null +++ b/src/ugen/symbol.c @@ -0,0 +1,3869 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000C5E0: + # 0043DA98 get_data_area + .ascii "illegal data area specified for symbol " + +RO_1000C630: + # 0043DA98 get_data_area + .ascii "symbol.p " + +RO_1000C680: + # 0043DD04 make_new_sym + .ascii "Insufficiant memory " + +RO_1000C6D0: + # 0043DD04 make_new_sym + .ascii "symbol.p " + +RO_1000C720: + # 0043DFB0 gen_sym + .ascii "illegal symbol type " + +RO_1000C770: + # 0043DFB0 gen_sym + .ascii "symbol.p " + +RO_1000C7C0: + # 0043DFB0 gen_sym + .ascii "Exception variable symbol not found " + +RO_1000C810: + # 0043DFB0 gen_sym + .ascii "symbol.p " + +RO_1000C860: + # 0043DFB0 gen_sym + .ascii "Insufficiant memory " + +RO_1000C8B0: + # 0043DFB0 gen_sym + .ascii "symbol.p " + +RO_1000C900: + # 0043DFB0 gen_sym + .ascii "aliased symbol not found " + +RO_1000C950: + # 0043DFB0 gen_sym + .ascii "symbol.p " + + .balign 4 +jtbl_1000C9A0: + # 0043DFB0 gen_sym + .gpword .L0043E010 + .gpword .L0043E5E0 + .gpword .L0043E5E0 + .gpword .L0043E2DC + .gpword .L0043E5E0 + .gpword .L0043E5E0 + .gpword .L0043E2DC + .gpword .L0043E5E0 + .gpword .L0043E5E0 + .gpword .L0043E2DC + .gpword .L0043E4A0 + + .balign 4 +jtbl_1000C9CC: + # 0043DFB0 gen_sym + .gpword .L0043E424 + .gpword .L0043E5E0 + .gpword .L0043E2DC + .gpword .L0043E71C + +RO_1000C9DC: + # 0043EA6C complex_insert_init + .ascii "initialization of overlapping data. Not handled correctly " + +RO_1000CA2C: + # 0043EA6C complex_insert_init + .ascii "symbol.p " + +RO_1000CA7C: + # 0043EA6C complex_insert_init + .ascii "Initialization of overlapping data. Not handled correctly " + +RO_1000CACC: + # 0043EA6C complex_insert_init + .ascii "symbol.p " + +RO_1000CB1C: + # 0043EA6C complex_insert_init + .ascii "Illegal complex_init: illegal overlapping FORTRAN DATA statements? " + +RO_1000CB6C: + # 0043EA6C complex_insert_init + .ascii "symbol.p " + +RO_1000CBBC: + # 0043F460 append_init + .ascii "illegal inits " + +RO_1000CC0C: + # 0043F460 append_init + .ascii "symbol.p " + +RO_1000CC5C: + # 0043F460 append_init + .ascii "Insufficiant memory " + +RO_1000CCAC: + # 0043F460 append_init + .ascii "symbol.p " + + .balign 4 +jtbl_1000CCFC: + # 0043F460 append_init + .gpword .L0043F4C0 + .gpword .L0043F528 + .gpword .L0043F4C0 + .gpword .L0043F4C0 + .gpword .L0043F528 + .gpword .L0043F528 + .gpword .L0043F4C0 + .gpword .L0043F4C0 + .gpword .L0043F528 + .gpword .L0043F528 + .gpword .L0043F4C0 + +RO_1000CD28: + # 0043FA38 choose_area + .ascii "symbol.p" + + .balign 4 +jtbl_1000CD30: + # 0043FA38 choose_area + .gpword .L0043FA7C + .gpword .L0043FAC8 + .gpword .L0043FAE4 + .gpword .L0043FB00 + .gpword .L0043FB1C + .gpword .L0043FB38 + +RO_1000CD48: + # 0043FBF8 emit_init + .ascii "illegal value in .space - illegal initialization bounds " + +RO_1000CD98: + # 0043FBF8 emit_init + .ascii "symbol.p " + +RO_1000CDE8: + # 0043FBF8 emit_init + .ascii "Fortran error - Duplicate initialization -- illegal DATA statements " + +RO_1000CE38: + # 0043FBF8 emit_init + .ascii "symbol.p " + +RO_1000CE88: + # 0043FBF8 emit_init + .ascii "Illegal shift in INIT. Shift ignored " + +RO_1000CED8: + # 0043FBF8 emit_init + .ascii "symbol.p " + +RO_1000CF28: + # 0043FBF8 emit_init + .ascii "illegal value in .space - illegal initialization bounds " + +RO_1000CF78: + # 0043FBF8 emit_init + .ascii "symbol.p " + +RO_1000CFC8: + # 0043FBF8 emit_init + .ascii "Fortran error - Duplicate initialization (ovelapping DATA statements) " + +RO_1000D018: + # 0043FBF8 emit_init + .ascii "symbol.p " + +RO_1000D068: + # 00440398 emit_symbol + .ascii "illegal symbol type " + +RO_1000D0B8: + # 00440398 emit_symbol + .ascii "symbol.p " + + .balign 4 +jtbl_1000D108: + # 00440398 emit_symbol + .gpword .L004403EC + .gpword .L00440444 + .gpword .L00440710 + .gpword .L00440444 + .gpword .L00440710 + .gpword .L00440710 + .gpword .L00440510 + .gpword .L00440618 + .gpword .L00440710 + .gpword .L004405D0 + +RO_1000D130: + # 00440800 output_entry_point + .ascii "symbol not found " + +RO_1000D180: + # 00440800 output_entry_point + .ascii "symbol.p " + +RO_1000D1D0: + # 004409C0 change_label_number + .ascii "label not found in symbol table " + +RO_1000D220: + # 004409C0 change_label_number + .ascii "symbol.p " + +.data +# 10016770 +glabel headof_inordered_inits + # 0043F460 append_init + # 00440724 output_decls + .byte 0x00,0x00,0x00,0x00 + .type headof_inordered_inits, @object + .size headof_inordered_inits, .-headof_inordered_inits # 4 + +# 10016774 +glabel tailof_inordered_inits + # 0043F460 append_init + # 00440724 output_decls + .byte 0x00,0x00,0x00,0x00 + .type tailof_inordered_inits, @object + .size tailof_inordered_inits, .-tailof_inordered_inits # 4 + +# 10016778 +glabel last_inits_handled + # 0043E7D8 some_init_overlap + # 0043E938 complex_init_duplicate_p + # 0043F460 append_init + .byte 0x00,0x00,0x00,0x00 + .type last_inits_handled, @object + .size last_inits_handled, .-last_inits_handled # 4 + +# 1001677C +glabel last_inits_handled_blkno + # 0043E7D8 some_init_overlap + # 0043E938 complex_init_duplicate_p + # 0043F460 append_init + .byte 0x00,0x00,0x00,0x00 + .type last_inits_handled_blkno, @object + .size last_inits_handled_blkno, .-last_inits_handled_blkno # 4 + + + +.bss + .balign 16 +# 100226D8 +glabel sym_hash_tab + # 0043DD04 make_new_sym + # 0043DF04 lookup_sym + # 0043DF7C clear_sym_tab + # 00440724 output_decls + .space 1024 + .size sym_hash_tab, 1024 + .type sym_hash_tab, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel sym_hash + .ent sym_hash + # 0043DD04 make_new_sym + # 0043DF04 lookup_sym +/* 0043DA90 03E00008 */ jr $ra +/* 0043DA94 308200FF */ andi $v0, $a0, 0xff + .type sym_hash, @function + .size sym_hash, .-sym_hash + .end sym_hash + +glabel get_data_area + .ent get_data_area + # 0043DFB0 gen_sym +/* 0043DA98 3C1C0FBE */ .cpload $t9 +/* 0043DA9C 279C1FB8 */ +/* 0043DAA0 0399E021 */ +/* 0043DAA4 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043DAA8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043DAAC AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043DAB0 94820002 */ lhu $v0, 2($a0) +/* 0043DAB4 24010001 */ li $at, 1 +/* 0043DAB8 304200F0 */ andi $v0, $v0, 0xf0 +/* 0043DABC 00021102 */ srl $v0, $v0, 4 +/* 0043DAC0 14400003 */ bnez $v0, .L0043DAD0 +/* 0043DAC4 00000000 */ nop +/* 0043DAC8 10000057 */ b .L0043DC28 +/* 0043DACC 00001025 */ move $v0, $zero +.L0043DAD0: +/* 0043DAD0 54410004 */ bnel $v0, $at, .L0043DAE4 +/* 0043DAD4 24010002 */ li $at, 2 +/* 0043DAD8 10000053 */ b .L0043DC28 +/* 0043DADC 24020001 */ li $v0, 1 +/* 0043DAE0 24010002 */ li $at, 2 +.L0043DAE4: +/* 0043DAE4 54410004 */ bnel $v0, $at, .L0043DAF8 +/* 0043DAE8 24010003 */ li $at, 3 +/* 0043DAEC 1000004E */ b .L0043DC28 +/* 0043DAF0 24020002 */ li $v0, 2 +/* 0043DAF4 24010003 */ li $at, 3 +.L0043DAF8: +/* 0043DAF8 54410004 */ bnel $v0, $at, .L0043DB0C +/* 0043DAFC 24010004 */ li $at, 4 +/* 0043DB00 10000049 */ b .L0043DC28 +/* 0043DB04 24020003 */ li $v0, 3 +/* 0043DB08 24010004 */ li $at, 4 +.L0043DB0C: +/* 0043DB0C 54410004 */ bnel $v0, $at, .L0043DB20 +/* 0043DB10 24010005 */ li $at, 5 +/* 0043DB14 10000044 */ b .L0043DC28 +/* 0043DB18 24020004 */ li $v0, 4 +/* 0043DB1C 24010005 */ li $at, 5 +.L0043DB20: +/* 0043DB20 14410003 */ bne $v0, $at, .L0043DB30 +/* 0043DB24 24040004 */ li $a0, 4 +/* 0043DB28 1000003F */ b .L0043DC28 +/* 0043DB2C 24020005 */ li $v0, 5 +.L0043DB30: +/* 0043DB30 8F8E8038 */ lw $t6, %got(RO_1000C630)($gp) +/* 0043DB34 24050088 */ li $a1, 136 +/* 0043DB38 03A0C825 */ move $t9, $sp +/* 0043DB3C 25CEC630 */ addiu $t6, %lo(RO_1000C630) # addiu $t6, $t6, -0x39d0 +/* 0043DB40 25C80048 */ addiu $t0, $t6, 0x48 +.L0043DB44: +/* 0043DB44 89D80000 */ lwl $t8, ($t6) +/* 0043DB48 99D80003 */ lwr $t8, 3($t6) +/* 0043DB4C 25CE000C */ addiu $t6, $t6, 0xc +/* 0043DB50 2739000C */ addiu $t9, $t9, 0xc +/* 0043DB54 AB38FFFC */ swl $t8, -4($t9) +/* 0043DB58 BB38FFFF */ swr $t8, -1($t9) +/* 0043DB5C 89CFFFF8 */ lwl $t7, -8($t6) +/* 0043DB60 99CFFFFB */ lwr $t7, -5($t6) +/* 0043DB64 AB2F0000 */ swl $t7, ($t9) +/* 0043DB68 BB2F0003 */ swr $t7, 3($t9) +/* 0043DB6C 89D8FFFC */ lwl $t8, -4($t6) +/* 0043DB70 99D8FFFF */ lwr $t8, -1($t6) +/* 0043DB74 AB380004 */ swl $t8, 4($t9) +/* 0043DB78 15C8FFF2 */ bne $t6, $t0, .L0043DB44 +/* 0043DB7C BB380007 */ swr $t8, 7($t9) +/* 0043DB80 89D80000 */ lwl $t8, ($t6) +/* 0043DB84 99D80003 */ lwr $t8, 3($t6) +/* 0043DB88 8F898038 */ lw $t1, %got(RO_1000C5E0)($gp) +/* 0043DB8C 03A06025 */ move $t4, $sp +/* 0043DB90 AB380008 */ swl $t8, 8($t9) +/* 0043DB94 BB38000B */ swr $t8, 0xb($t9) +/* 0043DB98 89CF0004 */ lwl $t7, 4($t6) +/* 0043DB9C 99CF0007 */ lwr $t7, 7($t6) +/* 0043DBA0 2529C5E0 */ addiu $t1, %lo(RO_1000C5E0) # addiu $t1, $t1, -0x3a20 +/* 0043DBA4 252D0048 */ addiu $t5, $t1, 0x48 +/* 0043DBA8 AB2F000C */ swl $t7, 0xc($t9) +/* 0043DBAC BB2F000F */ swr $t7, 0xf($t9) +.L0043DBB0: +/* 0043DBB0 892B0000 */ lwl $t3, ($t1) +/* 0043DBB4 992B0003 */ lwr $t3, 3($t1) +/* 0043DBB8 2529000C */ addiu $t1, $t1, 0xc +/* 0043DBBC 258C000C */ addiu $t4, $t4, 0xc +/* 0043DBC0 A98B004C */ swl $t3, 0x4c($t4) +/* 0043DBC4 B98B004F */ swr $t3, 0x4f($t4) +/* 0043DBC8 892AFFF8 */ lwl $t2, -8($t1) +/* 0043DBCC 992AFFFB */ lwr $t2, -5($t1) +/* 0043DBD0 A98A0050 */ swl $t2, 0x50($t4) +/* 0043DBD4 B98A0053 */ swr $t2, 0x53($t4) +/* 0043DBD8 892BFFFC */ lwl $t3, -4($t1) +/* 0043DBDC 992BFFFF */ lwr $t3, -1($t1) +/* 0043DBE0 A98B0054 */ swl $t3, 0x54($t4) +/* 0043DBE4 152DFFF2 */ bne $t1, $t5, .L0043DBB0 +/* 0043DBE8 B98B0057 */ swr $t3, 0x57($t4) +/* 0043DBEC 892B0000 */ lwl $t3, ($t1) +/* 0043DBF0 992B0003 */ lwr $t3, 3($t1) +/* 0043DBF4 A98B0058 */ swl $t3, 0x58($t4) +/* 0043DBF8 B98B005B */ swr $t3, 0x5b($t4) +/* 0043DBFC 892A0004 */ lwl $t2, 4($t1) +/* 0043DC00 992A0007 */ lwr $t2, 7($t1) +/* 0043DC04 A98A005C */ swl $t2, 0x5c($t4) +/* 0043DC08 B98A005F */ swr $t2, 0x5f($t4) +/* 0043DC0C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043DC10 8FA7000C */ lw $a3, 0xc($sp) +/* 0043DC14 8FA60008 */ lw $a2, 8($sp) +/* 0043DC18 0320F809 */ jalr $t9 +/* 0043DC1C 00000000 */ nop +/* 0043DC20 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043DC24 93A200BF */ lbu $v0, 0xbf($sp) +.L0043DC28: +/* 0043DC28 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043DC2C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043DC30 03E00008 */ jr $ra +/* 0043DC34 00000000 */ nop + .type get_data_area, @function + .size get_data_area, .-get_data_area + .end get_data_area + +glabel get_sym_type + .ent get_sym_type + # 0043DFB0 gen_sym +/* 0043DC38 90820000 */ lbu $v0, ($a0) +/* 0043DC3C 24010053 */ li $at, 83 +/* 0043DC40 10410003 */ beq $v0, $at, .L0043DC50 +/* 0043DC44 24010027 */ li $at, 39 +/* 0043DC48 54410004 */ bnel $v0, $at, .L0043DC5C +/* 0043DC4C 2401002A */ li $at, 42 +.L0043DC50: +/* 0043DC50 03E00008 */ jr $ra +/* 0043DC54 24020004 */ li $v0, 4 + +/* 0043DC58 2401002A */ li $at, 42 +.L0043DC5C: +/* 0043DC5C 54410004 */ bnel $v0, $at, .L0043DC70 +/* 0043DC60 24010098 */ li $at, 152 +/* 0043DC64 03E00008 */ jr $ra +/* 0043DC68 24020002 */ li $v0, 2 + +/* 0043DC6C 24010098 */ li $at, 152 +.L0043DC70: +/* 0043DC70 54410004 */ bnel $v0, $at, .L0043DC84 +/* 0043DC74 24010099 */ li $at, 153 +/* 0043DC78 03E00008 */ jr $ra +/* 0043DC7C 24020003 */ li $v0, 3 + +/* 0043DC80 24010099 */ li $at, 153 +.L0043DC84: +/* 0043DC84 54410004 */ bnel $v0, $at, .L0043DC98 +/* 0043DC88 24010096 */ li $at, 150 +/* 0043DC8C 03E00008 */ jr $ra +/* 0043DC90 24020006 */ li $v0, 6 + +/* 0043DC94 24010096 */ li $at, 150 +.L0043DC98: +/* 0043DC98 54410004 */ bnel $v0, $at, .L0043DCAC +/* 0043DC9C 24010024 */ li $at, 36 +/* 0043DCA0 03E00008 */ jr $ra +/* 0043DCA4 24020005 */ li $v0, 5 + +/* 0043DCA8 24010024 */ li $at, 36 +.L0043DCAC: +/* 0043DCAC 54410004 */ bnel $v0, $at, .L0043DCC0 +/* 0043DCB0 24010006 */ li $at, 6 +/* 0043DCB4 03E00008 */ jr $ra +/* 0043DCB8 24020001 */ li $v0, 1 + +/* 0043DCBC 24010006 */ li $at, 6 +.L0043DCC0: +/* 0043DCC0 54410004 */ bnel $v0, $at, .L0043DCD4 +/* 0043DCC4 24010014 */ li $at, 20 +/* 0043DCC8 03E00008 */ jr $ra +/* 0043DCCC 24020008 */ li $v0, 8 + +/* 0043DCD0 24010014 */ li $at, 20 +.L0043DCD4: +/* 0043DCD4 54410004 */ bnel $v0, $at, .L0043DCE8 +/* 0043DCD8 24010021 */ li $at, 33 +/* 0043DCDC 03E00008 */ jr $ra +/* 0043DCE0 24020007 */ li $v0, 7 + +/* 0043DCE4 24010021 */ li $at, 33 +.L0043DCE8: +/* 0043DCE8 54410004 */ bnel $v0, $at, .L0043DCFC +/* 0043DCEC 00001025 */ move $v0, $zero +/* 0043DCF0 03E00008 */ jr $ra +/* 0043DCF4 24020009 */ li $v0, 9 + +/* 0043DCF8 00001025 */ move $v0, $zero +.L0043DCFC: +/* 0043DCFC 03E00008 */ jr $ra +/* 0043DD00 00000000 */ nop + .type get_sym_type, @function + .size get_sym_type, .-get_sym_type + .end get_sym_type + +glabel make_new_sym + .ent make_new_sym + # 0043DFB0 gen_sym +/* 0043DD04 3C1C0FBE */ .cpload $t9 +/* 0043DD08 279C1D4C */ +/* 0043DD0C 0399E021 */ +/* 0043DD10 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043DD14 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043DD18 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043DD1C AFA400C0 */ sw $a0, 0xc0($sp) +/* 0043DD20 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043DD24 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043DD28 AFA600C8 */ sw $a2, 0xc8($sp) +/* 0043DD2C 24050001 */ li $a1, 1 +/* 0043DD30 0320F809 */ jalr $t9 +/* 0043DD34 2404002C */ li $a0, 44 +/* 0043DD38 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043DD3C 14400041 */ bnez $v0, .L0043DE44 +/* 0043DD40 00401825 */ move $v1, $v0 +/* 0043DD44 8F8E8038 */ lw $t6, %got(RO_1000C6D0)($gp) +/* 0043DD48 24040004 */ li $a0, 4 +/* 0043DD4C 240500AE */ li $a1, 174 +/* 0043DD50 25CEC6D0 */ addiu $t6, %lo(RO_1000C6D0) # addiu $t6, $t6, -0x3930 +/* 0043DD54 25C80048 */ addiu $t0, $t6, 0x48 +/* 0043DD58 03A0C825 */ move $t9, $sp +.L0043DD5C: +/* 0043DD5C 89D80000 */ lwl $t8, ($t6) +/* 0043DD60 99D80003 */ lwr $t8, 3($t6) +/* 0043DD64 25CE000C */ addiu $t6, $t6, 0xc +/* 0043DD68 2739000C */ addiu $t9, $t9, 0xc +/* 0043DD6C AB38FFFC */ swl $t8, -4($t9) +/* 0043DD70 BB38FFFF */ swr $t8, -1($t9) +/* 0043DD74 89CFFFF8 */ lwl $t7, -8($t6) +/* 0043DD78 99CFFFFB */ lwr $t7, -5($t6) +/* 0043DD7C AB2F0000 */ swl $t7, ($t9) +/* 0043DD80 BB2F0003 */ swr $t7, 3($t9) +/* 0043DD84 89D8FFFC */ lwl $t8, -4($t6) +/* 0043DD88 99D8FFFF */ lwr $t8, -1($t6) +/* 0043DD8C AB380004 */ swl $t8, 4($t9) +/* 0043DD90 15C8FFF2 */ bne $t6, $t0, .L0043DD5C +/* 0043DD94 BB380007 */ swr $t8, 7($t9) +/* 0043DD98 89D80000 */ lwl $t8, ($t6) +/* 0043DD9C 99D80003 */ lwr $t8, 3($t6) +/* 0043DDA0 8F898038 */ lw $t1, %got(RO_1000C680)($gp) +/* 0043DDA4 03A06025 */ move $t4, $sp +/* 0043DDA8 AB380008 */ swl $t8, 8($t9) +/* 0043DDAC BB38000B */ swr $t8, 0xb($t9) +/* 0043DDB0 89CF0004 */ lwl $t7, 4($t6) +/* 0043DDB4 99CF0007 */ lwr $t7, 7($t6) +/* 0043DDB8 2529C680 */ addiu $t1, %lo(RO_1000C680) # addiu $t1, $t1, -0x3980 +/* 0043DDBC 252D0048 */ addiu $t5, $t1, 0x48 +/* 0043DDC0 AB2F000C */ swl $t7, 0xc($t9) +/* 0043DDC4 BB2F000F */ swr $t7, 0xf($t9) +.L0043DDC8: +/* 0043DDC8 892B0000 */ lwl $t3, ($t1) +/* 0043DDCC 992B0003 */ lwr $t3, 3($t1) +/* 0043DDD0 2529000C */ addiu $t1, $t1, 0xc +/* 0043DDD4 258C000C */ addiu $t4, $t4, 0xc +/* 0043DDD8 A98B004C */ swl $t3, 0x4c($t4) +/* 0043DDDC B98B004F */ swr $t3, 0x4f($t4) +/* 0043DDE0 892AFFF8 */ lwl $t2, -8($t1) +/* 0043DDE4 992AFFFB */ lwr $t2, -5($t1) +/* 0043DDE8 A98A0050 */ swl $t2, 0x50($t4) +/* 0043DDEC B98A0053 */ swr $t2, 0x53($t4) +/* 0043DDF0 892BFFFC */ lwl $t3, -4($t1) +/* 0043DDF4 992BFFFF */ lwr $t3, -1($t1) +/* 0043DDF8 A98B0054 */ swl $t3, 0x54($t4) +/* 0043DDFC 152DFFF2 */ bne $t1, $t5, .L0043DDC8 +/* 0043DE00 B98B0057 */ swr $t3, 0x57($t4) +/* 0043DE04 892B0000 */ lwl $t3, ($t1) +/* 0043DE08 992B0003 */ lwr $t3, 3($t1) +/* 0043DE0C A98B0058 */ swl $t3, 0x58($t4) +/* 0043DE10 B98B005B */ swr $t3, 0x5b($t4) +/* 0043DE14 892A0004 */ lwl $t2, 4($t1) +/* 0043DE18 992A0007 */ lwr $t2, 7($t1) +/* 0043DE1C A98A005C */ swl $t2, 0x5c($t4) +/* 0043DE20 B98A005F */ swr $t2, 0x5f($t4) +/* 0043DE24 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043DE28 8FA7000C */ lw $a3, 0xc($sp) +/* 0043DE2C 8FA60008 */ lw $a2, 8($sp) +/* 0043DE30 0320F809 */ jalr $t9 +/* 0043DE34 AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043DE38 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043DE3C 1000001F */ b .L0043DEBC +/* 0043DE40 8FA200B8 */ lw $v0, 0xb8($sp) +.L0043DE44: +/* 0043DE44 8F998548 */ lw $t9, %call16(sym_hash)($gp) +/* 0043DE48 8FA400C0 */ lw $a0, 0xc0($sp) +/* 0043DE4C AFA300B8 */ sw $v1, 0xb8($sp) +/* 0043DE50 0320F809 */ jalr $t9 +/* 0043DE54 00000000 */ nop +/* 0043DE58 8FA300B8 */ lw $v1, 0xb8($sp) +/* 0043DE5C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043DE60 304800FF */ andi $t0, $v0, 0xff +/* 0043DE64 00087080 */ sll $t6, $t0, 2 +/* 0043DE68 8F998BD8 */ lw $t9, %got(sym_hash_tab)($gp) +/* 0043DE6C 93B800C7 */ lbu $t8, 0xc7($sp) +/* 0043DE70 8FAD00C0 */ lw $t5, 0xc0($sp) +/* 0043DE74 01D92021 */ addu $a0, $t6, $t9 +/* 0043DE78 8C8F0000 */ lw $t7, ($a0) +/* 0043DE7C 93A900CB */ lbu $t1, 0xcb($sp) +/* 0043DE80 A060000D */ sb $zero, 0xd($v1) +/* 0043DE84 A060000E */ sb $zero, 0xe($v1) +/* 0043DE88 AC600010 */ sw $zero, 0x10($v1) +/* 0043DE8C AC600014 */ sw $zero, 0x14($v1) +/* 0043DE90 AC60001C */ sw $zero, 0x1c($v1) +/* 0043DE94 AC600020 */ sw $zero, 0x20($v1) +/* 0043DE98 AC600024 */ sw $zero, 0x24($v1) +/* 0043DE9C AC600028 */ sw $zero, 0x28($v1) +/* 0043DEA0 AC600004 */ sw $zero, 4($v1) +/* 0043DEA4 AC830000 */ sw $v1, ($a0) +/* 0043DEA8 00601025 */ move $v0, $v1 +/* 0043DEAC A078000C */ sb $t8, 0xc($v1) +/* 0043DEB0 AC6D0000 */ sw $t5, ($v1) +/* 0043DEB4 AC6F0008 */ sw $t7, 8($v1) +/* 0043DEB8 A0690018 */ sb $t1, 0x18($v1) +.L0043DEBC: +/* 0043DEBC 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043DEC0 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0043DEC4 03E00008 */ jr $ra +/* 0043DEC8 00000000 */ nop + .type make_new_sym, @function + .size make_new_sym, .-make_new_sym + .end make_new_sym + +glabel change_sym_type + .ent change_sym_type + # 0043DFB0 gen_sym +/* 0043DECC 24010001 */ li $at, 1 +/* 0043DED0 AFA40000 */ sw $a0, ($sp) +/* 0043DED4 10810007 */ beq $a0, $at, .L0043DEF4 +/* 0043DED8 AFA50004 */ sw $a1, 4($sp) +/* 0043DEDC 24010004 */ li $at, 4 +/* 0043DEE0 14810006 */ bne $a0, $at, .L0043DEFC +/* 0043DEE4 00801025 */ move $v0, $a0 +/* 0043DEE8 24010007 */ li $at, 7 +/* 0043DEEC 14A10003 */ bne $a1, $at, .L0043DEFC +/* 0043DEF0 00000000 */ nop +.L0043DEF4: +/* 0043DEF4 03E00008 */ jr $ra +/* 0043DEF8 00A01025 */ move $v0, $a1 + +.L0043DEFC: +/* 0043DEFC 03E00008 */ jr $ra +/* 0043DF00 00000000 */ nop + .type change_sym_type, @function + .size change_sym_type, .-change_sym_type + .end change_sym_type + +glabel lookup_sym + .ent lookup_sym + # 0043DFB0 gen_sym + # 0043E730 set_lex_level + # 0043E784 set_size + # 0043F9E4 add_init + # 00440800 output_entry_point + # 004409C0 change_label_number + # 00440B04 set_mtag + # 00440B60 get_mtag + # 00440BAC get_sym_kind +/* 0043DF04 3C1C0FBE */ .cpload $t9 +/* 0043DF08 279C1B4C */ +/* 0043DF0C 0399E021 */ +/* 0043DF10 8F998548 */ lw $t9, %call16(sym_hash)($gp) +/* 0043DF14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043DF18 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043DF1C AFBC0018 */ sw $gp, 0x18($sp) +/* 0043DF20 0320F809 */ jalr $t9 +/* 0043DF24 AFA40020 */ sw $a0, 0x20($sp) +/* 0043DF28 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043DF2C 304E00FF */ andi $t6, $v0, 0xff +/* 0043DF30 000E7880 */ sll $t7, $t6, 2 +/* 0043DF34 8F988BD8 */ lw $t8, %got(sym_hash_tab)($gp) +/* 0043DF38 8FA40020 */ lw $a0, 0x20($sp) +/* 0043DF3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043DF40 01F8C821 */ addu $t9, $t7, $t8 +/* 0043DF44 8F230000 */ lw $v1, ($t9) +/* 0043DF48 5060000A */ beql $v1, $zero, .L0043DF74 +/* 0043DF4C 00601025 */ move $v0, $v1 +/* 0043DF50 8C680000 */ lw $t0, ($v1) +.L0043DF54: +/* 0043DF54 54880004 */ bnel $a0, $t0, .L0043DF68 +/* 0043DF58 8C630008 */ lw $v1, 8($v1) +/* 0043DF5C 10000005 */ b .L0043DF74 +/* 0043DF60 00601025 */ move $v0, $v1 +/* 0043DF64 8C630008 */ lw $v1, 8($v1) +.L0043DF68: +/* 0043DF68 5460FFFA */ bnel $v1, $zero, .L0043DF54 +/* 0043DF6C 8C680000 */ lw $t0, ($v1) +/* 0043DF70 00601025 */ move $v0, $v1 +.L0043DF74: +/* 0043DF74 03E00008 */ jr $ra +/* 0043DF78 27BD0020 */ addiu $sp, $sp, 0x20 + .type lookup_sym, @function + .size lookup_sym, .-lookup_sym + .end lookup_sym + +glabel clear_sym_tab + .ent clear_sym_tab + # 0044BF18 main +/* 0043DF7C 3C1C0FBE */ .cpload $t9 +/* 0043DF80 279C1AD4 */ +/* 0043DF84 0399E021 */ +/* 0043DF88 8F838BD8 */ lw $v1, %got(sym_hash_tab)($gp) +/* 0043DF8C 24620400 */ addiu $v0, $v1, 0x400 +.L0043DF90: +/* 0043DF90 24630010 */ addiu $v1, $v1, 0x10 +/* 0043DF94 AC60FFF0 */ sw $zero, -0x10($v1) +/* 0043DF98 AC60FFF4 */ sw $zero, -0xc($v1) +/* 0043DF9C AC60FFF8 */ sw $zero, -8($v1) +/* 0043DFA0 1462FFFB */ bne $v1, $v0, .L0043DF90 +/* 0043DFA4 AC60FFFC */ sw $zero, -4($v1) +/* 0043DFA8 03E00008 */ jr $ra +/* 0043DFAC 00000000 */ nop + .type clear_sym_tab, @function + .size clear_sym_tab, .-clear_sym_tab + .end clear_sym_tab + +glabel gen_sym + .ent gen_sym + # 0040F4C8 build_tree +/* 0043DFB0 3C1C0FBE */ .cpload $t9 +/* 0043DFB4 279C1AA0 */ +/* 0043DFB8 0399E021 */ +/* 0043DFBC 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0043DFC0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0043DFC4 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0043DFC8 AFB000AC */ sw $s0, 0xac($sp) +/* 0043DFCC 90820000 */ lbu $v0, ($a0) +/* 0043DFD0 00808025 */ move $s0, $a0 +/* 0043DFD4 2C41002C */ sltiu $at, $v0, 0x2c +/* 0043DFD8 142001C0 */ bnez $at, .L0043E6DC +/* 0043DFDC 24010053 */ li $at, 83 +/* 0043DFE0 104100BE */ beq $v0, $at, .L0043E2DC +/* 0043DFE4 244EFF6A */ addiu $t6, $v0, -0x96 +/* 0043DFE8 2DC10004 */ sltiu $at, $t6, 4 +/* 0043DFEC 1020017C */ beqz $at, .L0043E5E0 +/* 0043DFF0 00000000 */ nop +/* 0043DFF4 8F818038 */ lw $at, %got(jtbl_1000C9CC)($gp) +/* 0043DFF8 000E7080 */ sll $t6, $t6, 2 +/* 0043DFFC 002E0821 */ addu $at, $at, $t6 +/* 0043E000 8C2EC9CC */ lw $t6, %lo(jtbl_1000C9CC)($at) +/* 0043E004 01DC7021 */ addu $t6, $t6, $gp +/* 0043E008 01C00008 */ jr $t6 +/* 0043E00C 00000000 */ nop +.L0043E010: +/* 0043E010 8E0F000C */ lw $t7, 0xc($s0) +/* 0043E014 24070009 */ li $a3, 9 +/* 0043E018 31F80001 */ andi $t8, $t7, 1 +/* 0043E01C 13000003 */ beqz $t8, .L0043E02C +/* 0043E020 00000000 */ nop +/* 0043E024 10000001 */ b .L0043E02C +/* 0043E028 2407000A */ li $a3, 10 +.L0043E02C: +/* 0043E02C 8F998554 */ lw $t9, %call16(make_new_sym)($gp) +/* 0043E030 8E040004 */ lw $a0, 4($s0) +/* 0043E034 00E02825 */ move $a1, $a3 +/* 0043E038 0320F809 */ jalr $t9 +/* 0043E03C 00003025 */ move $a2, $zero +/* 0043E040 100001B6 */ b .L0043E71C +/* 0043E044 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E048 96190002 */ lhu $t9, 2($s0) +.L0043E04C: +/* 0043E04C 24030001 */ li $v1, 1 +/* 0043E050 33280001 */ andi $t0, $t9, 1 +/* 0043E054 1468000B */ bne $v1, $t0, .L0043E084 +/* 0043E058 00000000 */ nop +/* 0043E05C 8E090008 */ lw $t1, 8($s0) +/* 0043E060 15200008 */ bnez $t1, .L0043E084 +/* 0043E064 00000000 */ nop +/* 0043E068 8F99823C */ lw $t9, %call16(emit_dir0)($gp) +/* 0043E06C 24040012 */ li $a0, 18 +/* 0043E070 8E050004 */ lw $a1, 4($s0) +/* 0043E074 0320F809 */ jalr $t9 +/* 0043E078 00000000 */ nop +/* 0043E07C 100001A7 */ b .L0043E71C +/* 0043E080 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E084: +/* 0043E084 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E088 8E040008 */ lw $a0, 8($s0) +/* 0043E08C 0320F809 */ jalr $t9 +/* 0043E090 00000000 */ nop +/* 0043E094 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E098 14400040 */ bnez $v0, .L0043E19C +/* 0043E09C 00401825 */ move $v1, $v0 +/* 0043E0A0 8F8A8038 */ lw $t2, %got(RO_1000C950)($gp) +/* 0043E0A4 24040004 */ li $a0, 4 +/* 0043E0A8 24050101 */ li $a1, 257 +/* 0043E0AC 254AC950 */ addiu $t2, %lo(RO_1000C950) # addiu $t2, $t2, -0x36b0 +/* 0043E0B0 254E0048 */ addiu $t6, $t2, 0x48 +/* 0043E0B4 03A06825 */ move $t5, $sp +.L0043E0B8: +/* 0043E0B8 894C0000 */ lwl $t4, ($t2) +/* 0043E0BC 994C0003 */ lwr $t4, 3($t2) +/* 0043E0C0 254A000C */ addiu $t2, $t2, 0xc +/* 0043E0C4 25AD000C */ addiu $t5, $t5, 0xc +/* 0043E0C8 A9ACFFFC */ swl $t4, -4($t5) +/* 0043E0CC B9ACFFFF */ swr $t4, -1($t5) +/* 0043E0D0 894BFFF8 */ lwl $t3, -8($t2) +/* 0043E0D4 994BFFFB */ lwr $t3, -5($t2) +/* 0043E0D8 A9AB0000 */ swl $t3, ($t5) +/* 0043E0DC B9AB0003 */ swr $t3, 3($t5) +/* 0043E0E0 894CFFFC */ lwl $t4, -4($t2) +/* 0043E0E4 994CFFFF */ lwr $t4, -1($t2) +/* 0043E0E8 A9AC0004 */ swl $t4, 4($t5) +/* 0043E0EC 154EFFF2 */ bne $t2, $t6, .L0043E0B8 +/* 0043E0F0 B9AC0007 */ swr $t4, 7($t5) +/* 0043E0F4 894C0000 */ lwl $t4, ($t2) +/* 0043E0F8 994C0003 */ lwr $t4, 3($t2) +/* 0043E0FC 8F8F8038 */ lw $t7, %got(RO_1000C900)($gp) +/* 0043E100 03A04025 */ move $t0, $sp +/* 0043E104 A9AC0008 */ swl $t4, 8($t5) +/* 0043E108 B9AC000B */ swr $t4, 0xb($t5) +/* 0043E10C 894B0004 */ lwl $t3, 4($t2) +/* 0043E110 994B0007 */ lwr $t3, 7($t2) +/* 0043E114 25EFC900 */ addiu $t7, %lo(RO_1000C900) # addiu $t7, $t7, -0x3700 +/* 0043E118 25E90048 */ addiu $t1, $t7, 0x48 +/* 0043E11C A9AB000C */ swl $t3, 0xc($t5) +/* 0043E120 B9AB000F */ swr $t3, 0xf($t5) +.L0043E124: +/* 0043E124 89F90000 */ lwl $t9, ($t7) +/* 0043E128 99F90003 */ lwr $t9, 3($t7) +/* 0043E12C 25EF000C */ addiu $t7, $t7, 0xc +/* 0043E130 2508000C */ addiu $t0, $t0, 0xc +/* 0043E134 A919004C */ swl $t9, 0x4c($t0) +/* 0043E138 B919004F */ swr $t9, 0x4f($t0) +/* 0043E13C 89F8FFF8 */ lwl $t8, -8($t7) +/* 0043E140 99F8FFFB */ lwr $t8, -5($t7) +/* 0043E144 A9180050 */ swl $t8, 0x50($t0) +/* 0043E148 B9180053 */ swr $t8, 0x53($t0) +/* 0043E14C 89F9FFFC */ lwl $t9, -4($t7) +/* 0043E150 99F9FFFF */ lwr $t9, -1($t7) +/* 0043E154 A9190054 */ swl $t9, 0x54($t0) +/* 0043E158 15E9FFF2 */ bne $t7, $t1, .L0043E124 +/* 0043E15C B9190057 */ swr $t9, 0x57($t0) +/* 0043E160 89F90000 */ lwl $t9, ($t7) +/* 0043E164 99F90003 */ lwr $t9, 3($t7) +/* 0043E168 A9190058 */ swl $t9, 0x58($t0) +/* 0043E16C B919005B */ swr $t9, 0x5b($t0) +/* 0043E170 89F80004 */ lwl $t8, 4($t7) +/* 0043E174 99F80007 */ lwr $t8, 7($t7) +/* 0043E178 A918005C */ swl $t8, 0x5c($t0) +/* 0043E17C B918005F */ swr $t8, 0x5f($t0) +/* 0043E180 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043E184 8FA7000C */ lw $a3, 0xc($sp) +/* 0043E188 8FA60008 */ lw $a2, 8($sp) +/* 0043E18C 0320F809 */ jalr $t9 +/* 0043E190 00000000 */ nop +/* 0043E194 10000161 */ b .L0043E71C +/* 0043E198 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E19C: +/* 0043E19C 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043E1A0 2404000C */ li $a0, 12 +/* 0043E1A4 00002825 */ move $a1, $zero +/* 0043E1A8 0320F809 */ jalr $t9 +/* 0043E1AC AFA300C4 */ sw $v1, 0xc4($sp) +/* 0043E1B0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E1B4 14400040 */ bnez $v0, .L0043E2B8 +/* 0043E1B8 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0043E1BC 8F8E8038 */ lw $t6, %got(RO_1000C8B0)($gp) +/* 0043E1C0 24040004 */ li $a0, 4 +/* 0043E1C4 24050106 */ li $a1, 262 +/* 0043E1C8 25CEC8B0 */ addiu $t6, %lo(RO_1000C8B0) # addiu $t6, $t6, -0x3750 +/* 0043E1CC 25CC0048 */ addiu $t4, $t6, 0x48 +/* 0043E1D0 03A05825 */ move $t3, $sp +.L0043E1D4: +/* 0043E1D4 89CD0000 */ lwl $t5, ($t6) +/* 0043E1D8 99CD0003 */ lwr $t5, 3($t6) +/* 0043E1DC 25CE000C */ addiu $t6, $t6, 0xc +/* 0043E1E0 256B000C */ addiu $t3, $t3, 0xc +/* 0043E1E4 A96DFFFC */ swl $t5, -4($t3) +/* 0043E1E8 B96DFFFF */ swr $t5, -1($t3) +/* 0043E1EC 89CAFFF8 */ lwl $t2, -8($t6) +/* 0043E1F0 99CAFFFB */ lwr $t2, -5($t6) +/* 0043E1F4 A96A0000 */ swl $t2, ($t3) +/* 0043E1F8 B96A0003 */ swr $t2, 3($t3) +/* 0043E1FC 89CDFFFC */ lwl $t5, -4($t6) +/* 0043E200 99CDFFFF */ lwr $t5, -1($t6) +/* 0043E204 A96D0004 */ swl $t5, 4($t3) +/* 0043E208 15CCFFF2 */ bne $t6, $t4, .L0043E1D4 +/* 0043E20C B96D0007 */ swr $t5, 7($t3) +/* 0043E210 89CD0000 */ lwl $t5, ($t6) +/* 0043E214 99CD0003 */ lwr $t5, 3($t6) +/* 0043E218 8F898038 */ lw $t1, %got(RO_1000C860)($gp) +/* 0043E21C 03A0C025 */ move $t8, $sp +/* 0043E220 A96D0008 */ swl $t5, 8($t3) +/* 0043E224 B96D000B */ swr $t5, 0xb($t3) +/* 0043E228 89CA0004 */ lwl $t2, 4($t6) +/* 0043E22C 99CA0007 */ lwr $t2, 7($t6) +/* 0043E230 2529C860 */ addiu $t1, %lo(RO_1000C860) # addiu $t1, $t1, -0x37a0 +/* 0043E234 25390048 */ addiu $t9, $t1, 0x48 +/* 0043E238 A96A000C */ swl $t2, 0xc($t3) +/* 0043E23C B96A000F */ swr $t2, 0xf($t3) +.L0043E240: +/* 0043E240 89280000 */ lwl $t0, ($t1) +/* 0043E244 99280003 */ lwr $t0, 3($t1) +/* 0043E248 2529000C */ addiu $t1, $t1, 0xc +/* 0043E24C 2718000C */ addiu $t8, $t8, 0xc +/* 0043E250 AB08004C */ swl $t0, 0x4c($t8) +/* 0043E254 BB08004F */ swr $t0, 0x4f($t8) +/* 0043E258 892FFFF8 */ lwl $t7, -8($t1) +/* 0043E25C 992FFFFB */ lwr $t7, -5($t1) +/* 0043E260 AB0F0050 */ swl $t7, 0x50($t8) +/* 0043E264 BB0F0053 */ swr $t7, 0x53($t8) +/* 0043E268 8928FFFC */ lwl $t0, -4($t1) +/* 0043E26C 9928FFFF */ lwr $t0, -1($t1) +/* 0043E270 AB080054 */ swl $t0, 0x54($t8) +/* 0043E274 1539FFF2 */ bne $t1, $t9, .L0043E240 +/* 0043E278 BB080057 */ swr $t0, 0x57($t8) +/* 0043E27C 89280000 */ lwl $t0, ($t1) +/* 0043E280 99280003 */ lwr $t0, 3($t1) +/* 0043E284 AB080058 */ swl $t0, 0x58($t8) +/* 0043E288 BB08005B */ swr $t0, 0x5b($t8) +/* 0043E28C 892F0004 */ lwl $t7, 4($t1) +/* 0043E290 992F0007 */ lwr $t7, 7($t1) +/* 0043E294 AB0F005C */ swl $t7, 0x5c($t8) +/* 0043E298 BB0F005F */ swr $t7, 0x5f($t8) +/* 0043E29C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043E2A0 8FA7000C */ lw $a3, 0xc($sp) +/* 0043E2A4 8FA60008 */ lw $a2, 8($sp) +/* 0043E2A8 0320F809 */ jalr $t9 +/* 0043E2AC 00000000 */ nop +/* 0043E2B0 1000011A */ b .L0043E71C +/* 0043E2B4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E2B8: +/* 0043E2B8 8E0C0004 */ lw $t4, 4($s0) +/* 0043E2BC AC4C0000 */ sw $t4, ($v0) +/* 0043E2C0 960E0002 */ lhu $t6, 2($s0) +/* 0043E2C4 31CB0001 */ andi $t3, $t6, 1 +/* 0043E2C8 AC4B0004 */ sw $t3, 4($v0) +/* 0043E2CC 8C6A0028 */ lw $t2, 0x28($v1) +/* 0043E2D0 AC4A0008 */ sw $t2, 8($v0) +/* 0043E2D4 10000111 */ b .L0043E71C +/* 0043E2D8 AC620028 */ sw $v0, 0x28($v1) +.L0043E2DC: +/* 0043E2DC 960D0002 */ lhu $t5, 2($s0) +/* 0043E2E0 241900F4 */ li $t9, 244 +/* 0043E2E4 01B902B0 */ tge $t5, $t9, 0xa +/* 0043E2E8 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E2EC 8E040004 */ lw $a0, 4($s0) +/* 0043E2F0 0320F809 */ jalr $t9 +/* 0043E2F4 00000000 */ nop +/* 0043E2F8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E2FC 02002025 */ move $a0, $s0 +/* 0043E300 AFA200C4 */ sw $v0, 0xc4($sp) +/* 0043E304 8F998550 */ lw $t9, %call16(get_sym_type)($gp) +/* 0043E308 0320F809 */ jalr $t9 +/* 0043E30C 00000000 */ nop +/* 0043E310 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0043E314 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E318 304700FF */ andi $a3, $v0, 0xff +/* 0043E31C 14600026 */ bnez $v1, .L0043E3B8 +/* 0043E320 00000000 */ nop +/* 0043E324 8F99854C */ lw $t9, %call16(get_data_area)($gp) +/* 0043E328 02002025 */ move $a0, $s0 +/* 0043E32C A3A700BF */ sb $a3, 0xbf($sp) +/* 0043E330 0320F809 */ jalr $t9 +/* 0043E334 00000000 */ nop +/* 0043E338 93A700BF */ lbu $a3, 0xbf($sp) +/* 0043E33C 24030001 */ li $v1, 1 +/* 0043E340 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E344 14E30004 */ bne $a3, $v1, .L0043E358 +/* 0043E348 304600FF */ andi $a2, $v0, 0xff +/* 0043E34C 304900FF */ andi $t1, $v0, 0xff +/* 0043E350 512300F3 */ beql $t1, $v1, .L0043E720 +/* 0043E354 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043E358: +/* 0043E358 8F998554 */ lw $t9, %call16(make_new_sym)($gp) +/* 0043E35C 8E040004 */ lw $a0, 4($s0) +/* 0043E360 00E02825 */ move $a1, $a3 +/* 0043E364 0320F809 */ jalr $t9 +/* 0043E368 00000000 */ nop +/* 0043E36C 92040000 */ lbu $a0, ($s0) +/* 0043E370 24010053 */ li $at, 83 +/* 0043E374 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E378 10810006 */ beq $a0, $at, .L0043E394 +/* 0043E37C 00401825 */ move $v1, $v0 +/* 0043E380 24010027 */ li $at, 39 +/* 0043E384 10810003 */ beq $a0, $at, .L0043E394 +/* 0043E388 2401002A */ li $at, 42 +/* 0043E38C 5481001C */ bnel $a0, $at, .L0043E400 +/* 0043E390 8E020008 */ lw $v0, 8($s0) +.L0043E394: +/* 0043E394 96180002 */ lhu $t8, 2($s0) +/* 0043E398 2401FF0F */ li $at, -241 +/* 0043E39C 03017824 */ and $t7, $t8, $at +/* 0043E3A0 2DE10002 */ sltiu $at, $t7, 2 +/* 0043E3A4 10200002 */ beqz $at, .L0043E3B0 +/* 0043E3A8 00000000 */ nop +/* 0043E3AC 240F0002 */ li $t7, 2 +.L0043E3B0: +/* 0043E3B0 10000012 */ b .L0043E3FC +/* 0043E3B4 A04F000E */ sb $t7, 0xe($v0) +.L0043E3B8: +/* 0043E3B8 8F998558 */ lw $t9, %call16(change_sym_type)($gp) +/* 0043E3BC 00E02025 */ move $a0, $a3 +/* 0043E3C0 9065000C */ lbu $a1, 0xc($v1) +/* 0043E3C4 0320F809 */ jalr $t9 +/* 0043E3C8 AFA300C4 */ sw $v1, 0xc4($sp) +/* 0043E3CC 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0043E3D0 2401FF0F */ li $at, -241 +/* 0043E3D4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E3D8 A062000C */ sb $v0, 0xc($v1) +/* 0043E3DC 96080002 */ lhu $t0, 2($s0) +/* 0043E3E0 906E000E */ lbu $t6, 0xe($v1) +/* 0043E3E4 01016024 */ and $t4, $t0, $at +/* 0043E3E8 01CC082B */ sltu $at, $t6, $t4 +/* 0043E3EC 50200003 */ beql $at, $zero, .L0043E3FC +/* 0043E3F0 A06E000E */ sb $t6, 0xe($v1) +/* 0043E3F4 01807025 */ move $t6, $t4 +/* 0043E3F8 A06E000E */ sb $t6, 0xe($v1) +.L0043E3FC: +/* 0043E3FC 8E020008 */ lw $v0, 8($s0) +.L0043E400: +/* 0043E400 504000C7 */ beql $v0, $zero, .L0043E720 +/* 0043E404 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043E408 8C6B0010 */ lw $t3, 0x10($v1) +/* 0043E40C 0162082A */ slt $at, $t3, $v0 +/* 0043E410 10200002 */ beqz $at, .L0043E41C +/* 0043E414 00000000 */ nop +/* 0043E418 00405825 */ move $t3, $v0 +.L0043E41C: +/* 0043E41C 100000BF */ b .L0043E71C +/* 0043E420 AC6B0010 */ sw $t3, 0x10($v1) +.L0043E424: +/* 0043E424 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E428 8E040004 */ lw $a0, 4($s0) +/* 0043E42C 0320F809 */ jalr $t9 +/* 0043E430 00000000 */ nop +/* 0043E434 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E438 02002025 */ move $a0, $s0 +/* 0043E43C AFA200C4 */ sw $v0, 0xc4($sp) +/* 0043E440 8F998550 */ lw $t9, %call16(get_sym_type)($gp) +/* 0043E444 0320F809 */ jalr $t9 +/* 0043E448 00000000 */ nop +/* 0043E44C 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0043E450 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E454 304700FF */ andi $a3, $v0, 0xff +/* 0043E458 14600008 */ bnez $v1, .L0043E47C +/* 0043E45C 00000000 */ nop +/* 0043E460 8F998554 */ lw $t9, %call16(make_new_sym)($gp) +/* 0043E464 8E040004 */ lw $a0, 4($s0) +/* 0043E468 00E02825 */ move $a1, $a3 +/* 0043E46C 0320F809 */ jalr $t9 +/* 0043E470 00003025 */ move $a2, $zero +/* 0043E474 100000A9 */ b .L0043E71C +/* 0043E478 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E47C: +/* 0043E47C 8F998558 */ lw $t9, %call16(change_sym_type)($gp) +/* 0043E480 00E02025 */ move $a0, $a3 +/* 0043E484 9065000C */ lbu $a1, 0xc($v1) +/* 0043E488 0320F809 */ jalr $t9 +/* 0043E48C AFA300C4 */ sw $v1, 0xc4($sp) +/* 0043E490 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0043E494 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E498 100000A0 */ b .L0043E71C +/* 0043E49C A062000C */ sb $v0, 0xc($v1) +.L0043E4A0: +/* 0043E4A0 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E4A4 8E040004 */ lw $a0, 4($s0) +/* 0043E4A8 0320F809 */ jalr $t9 +/* 0043E4AC 00000000 */ nop +/* 0043E4B0 14400040 */ bnez $v0, .L0043E5B4 +/* 0043E4B4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0043E4B8 8F8A8038 */ lw $t2, %got(RO_1000C810)($gp) +/* 0043E4BC 24040004 */ li $a0, 4 +/* 0043E4C0 24050136 */ li $a1, 310 +/* 0043E4C4 254AC810 */ addiu $t2, %lo(RO_1000C810) # addiu $t2, $t2, -0x37f0 +/* 0043E4C8 25580048 */ addiu $t8, $t2, 0x48 +/* 0043E4CC 03A04825 */ move $t1, $sp +.L0043E4D0: +/* 0043E4D0 89590000 */ lwl $t9, ($t2) +/* 0043E4D4 99590003 */ lwr $t9, 3($t2) +/* 0043E4D8 254A000C */ addiu $t2, $t2, 0xc +/* 0043E4DC 2529000C */ addiu $t1, $t1, 0xc +/* 0043E4E0 A939FFFC */ swl $t9, -4($t1) +/* 0043E4E4 B939FFFF */ swr $t9, -1($t1) +/* 0043E4E8 894DFFF8 */ lwl $t5, -8($t2) +/* 0043E4EC 994DFFFB */ lwr $t5, -5($t2) +/* 0043E4F0 A92D0000 */ swl $t5, ($t1) +/* 0043E4F4 B92D0003 */ swr $t5, 3($t1) +/* 0043E4F8 8959FFFC */ lwl $t9, -4($t2) +/* 0043E4FC 9959FFFF */ lwr $t9, -1($t2) +/* 0043E500 A9390004 */ swl $t9, 4($t1) +/* 0043E504 1558FFF2 */ bne $t2, $t8, .L0043E4D0 +/* 0043E508 B9390007 */ swr $t9, 7($t1) +/* 0043E50C 89590000 */ lwl $t9, ($t2) +/* 0043E510 99590003 */ lwr $t9, 3($t2) +/* 0043E514 8F8F8038 */ lw $t7, %got(RO_1000C7C0)($gp) +/* 0043E518 03A07025 */ move $t6, $sp +/* 0043E51C A9390008 */ swl $t9, 8($t1) +/* 0043E520 B939000B */ swr $t9, 0xb($t1) +/* 0043E524 894D0004 */ lwl $t5, 4($t2) +/* 0043E528 994D0007 */ lwr $t5, 7($t2) +/* 0043E52C 25EFC7C0 */ addiu $t7, %lo(RO_1000C7C0) # addiu $t7, $t7, -0x3840 +/* 0043E530 25EB0048 */ addiu $t3, $t7, 0x48 +/* 0043E534 A92D000C */ swl $t5, 0xc($t1) +/* 0043E538 B92D000F */ swr $t5, 0xf($t1) +.L0043E53C: +/* 0043E53C 89EC0000 */ lwl $t4, ($t7) +/* 0043E540 99EC0003 */ lwr $t4, 3($t7) +/* 0043E544 25EF000C */ addiu $t7, $t7, 0xc +/* 0043E548 25CE000C */ addiu $t6, $t6, 0xc +/* 0043E54C A9CC004C */ swl $t4, 0x4c($t6) +/* 0043E550 B9CC004F */ swr $t4, 0x4f($t6) +/* 0043E554 89E8FFF8 */ lwl $t0, -8($t7) +/* 0043E558 99E8FFFB */ lwr $t0, -5($t7) +/* 0043E55C A9C80050 */ swl $t0, 0x50($t6) +/* 0043E560 B9C80053 */ swr $t0, 0x53($t6) +/* 0043E564 89ECFFFC */ lwl $t4, -4($t7) +/* 0043E568 99ECFFFF */ lwr $t4, -1($t7) +/* 0043E56C A9CC0054 */ swl $t4, 0x54($t6) +/* 0043E570 15EBFFF2 */ bne $t7, $t3, .L0043E53C +/* 0043E574 B9CC0057 */ swr $t4, 0x57($t6) +/* 0043E578 89EC0000 */ lwl $t4, ($t7) +/* 0043E57C 99EC0003 */ lwr $t4, 3($t7) +/* 0043E580 A9CC0058 */ swl $t4, 0x58($t6) +/* 0043E584 B9CC005B */ swr $t4, 0x5b($t6) +/* 0043E588 89E80004 */ lwl $t0, 4($t7) +/* 0043E58C 99E80007 */ lwr $t0, 7($t7) +/* 0043E590 A9C8005C */ swl $t0, 0x5c($t6) +/* 0043E594 B9C8005F */ swr $t0, 0x5f($t6) +/* 0043E598 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043E59C 8FA7000C */ lw $a3, 0xc($sp) +/* 0043E5A0 8FA60008 */ lw $a2, 8($sp) +/* 0043E5A4 0320F809 */ jalr $t9 +/* 0043E5A8 00000000 */ nop +/* 0043E5AC 1000005B */ b .L0043E71C +/* 0043E5B0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E5B4: +/* 0043E5B4 8F98896C */ lw $t8, %got(excpt)($gp) +/* 0043E5B8 93180000 */ lbu $t8, ($t8) +/* 0043E5BC 53000058 */ beql $t8, $zero, .L0043E720 +/* 0043E5C0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0043E5C4 8F99828C */ lw $t9, %call16(demit_edata)($gp) +/* 0043E5C8 8E040008 */ lw $a0, 8($s0) +/* 0043E5CC 24050001 */ li $a1, 1 +/* 0043E5D0 0320F809 */ jalr $t9 +/* 0043E5D4 8E060004 */ lw $a2, 4($s0) +/* 0043E5D8 10000050 */ b .L0043E71C +/* 0043E5DC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E5E0: +/* 0043E5E0 8F8A8038 */ lw $t2, %got(RO_1000C770)($gp) +/* 0043E5E4 24040004 */ li $a0, 4 +/* 0043E5E8 24050147 */ li $a1, 327 +/* 0043E5EC 254AC770 */ addiu $t2, %lo(RO_1000C770) # addiu $t2, $t2, -0x3890 +/* 0043E5F0 254B0048 */ addiu $t3, $t2, 0x48 +/* 0043E5F4 03A0C825 */ move $t9, $sp +.L0043E5F8: +/* 0043E5F8 894D0000 */ lwl $t5, ($t2) +/* 0043E5FC 994D0003 */ lwr $t5, 3($t2) +/* 0043E600 254A000C */ addiu $t2, $t2, 0xc +/* 0043E604 2739000C */ addiu $t9, $t9, 0xc +/* 0043E608 AB2DFFFC */ swl $t5, -4($t9) +/* 0043E60C BB2DFFFF */ swr $t5, -1($t9) +/* 0043E610 8949FFF8 */ lwl $t1, -8($t2) +/* 0043E614 9949FFFB */ lwr $t1, -5($t2) +/* 0043E618 AB290000 */ swl $t1, ($t9) +/* 0043E61C BB290003 */ swr $t1, 3($t9) +/* 0043E620 894DFFFC */ lwl $t5, -4($t2) +/* 0043E624 994DFFFF */ lwr $t5, -1($t2) +/* 0043E628 AB2D0004 */ swl $t5, 4($t9) +/* 0043E62C 154BFFF2 */ bne $t2, $t3, .L0043E5F8 +/* 0043E630 BB2D0007 */ swr $t5, 7($t9) +/* 0043E634 894D0000 */ lwl $t5, ($t2) +/* 0043E638 994D0003 */ lwr $t5, 3($t2) +/* 0043E63C 8F8F8038 */ lw $t7, %got(RO_1000C720)($gp) +/* 0043E640 03A06025 */ move $t4, $sp +/* 0043E644 AB2D0008 */ swl $t5, 8($t9) +/* 0043E648 BB2D000B */ swr $t5, 0xb($t9) +/* 0043E64C 89490004 */ lwl $t1, 4($t2) +/* 0043E650 99490007 */ lwr $t1, 7($t2) +/* 0043E654 25EFC720 */ addiu $t7, %lo(RO_1000C720) # addiu $t7, $t7, -0x38e0 +/* 0043E658 25F80048 */ addiu $t8, $t7, 0x48 +/* 0043E65C AB29000C */ swl $t1, 0xc($t9) +/* 0043E660 BB29000F */ swr $t1, 0xf($t9) +.L0043E664: +/* 0043E664 89E80000 */ lwl $t0, ($t7) +/* 0043E668 99E80003 */ lwr $t0, 3($t7) +/* 0043E66C 25EF000C */ addiu $t7, $t7, 0xc +/* 0043E670 258C000C */ addiu $t4, $t4, 0xc +/* 0043E674 A988004C */ swl $t0, 0x4c($t4) +/* 0043E678 B988004F */ swr $t0, 0x4f($t4) +/* 0043E67C 89EEFFF8 */ lwl $t6, -8($t7) +/* 0043E680 99EEFFFB */ lwr $t6, -5($t7) +/* 0043E684 A98E0050 */ swl $t6, 0x50($t4) +/* 0043E688 B98E0053 */ swr $t6, 0x53($t4) +/* 0043E68C 89E8FFFC */ lwl $t0, -4($t7) +/* 0043E690 99E8FFFF */ lwr $t0, -1($t7) +/* 0043E694 A9880054 */ swl $t0, 0x54($t4) +/* 0043E698 15F8FFF2 */ bne $t7, $t8, .L0043E664 +/* 0043E69C B9880057 */ swr $t0, 0x57($t4) +/* 0043E6A0 89E80000 */ lwl $t0, ($t7) +/* 0043E6A4 99E80003 */ lwr $t0, 3($t7) +/* 0043E6A8 A9880058 */ swl $t0, 0x58($t4) +/* 0043E6AC B988005B */ swr $t0, 0x5b($t4) +/* 0043E6B0 89EE0004 */ lwl $t6, 4($t7) +/* 0043E6B4 99EE0007 */ lwr $t6, 7($t7) +/* 0043E6B8 A98E005C */ swl $t6, 0x5c($t4) +/* 0043E6BC B98E005F */ swr $t6, 0x5f($t4) +/* 0043E6C0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043E6C4 8FA7000C */ lw $a3, 0xc($sp) +/* 0043E6C8 8FA60008 */ lw $a2, 8($sp) +/* 0043E6CC 0320F809 */ jalr $t9 +/* 0043E6D0 00000000 */ nop +/* 0043E6D4 10000011 */ b .L0043E71C +/* 0043E6D8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0043E6DC: +/* 0043E6DC 24010006 */ li $at, 6 +/* 0043E6E0 5041FE5A */ beql $v0, $at, .L0043E04C +/* 0043E6E4 96190002 */ lhu $t9, 2($s0) +/* 0043E6E8 24010014 */ li $at, 20 +/* 0043E6EC 1041FEFB */ beq $v0, $at, .L0043E2DC +/* 0043E6F0 244BFFDF */ addiu $t3, $v0, -0x21 +/* 0043E6F4 2D61000B */ sltiu $at, $t3, 0xb +/* 0043E6F8 1020FFB9 */ beqz $at, .L0043E5E0 +/* 0043E6FC 00000000 */ nop +/* 0043E700 8F818038 */ lw $at, %got(jtbl_1000C9A0)($gp) +/* 0043E704 000B5880 */ sll $t3, $t3, 2 +/* 0043E708 002B0821 */ addu $at, $at, $t3 +/* 0043E70C 8C2BC9A0 */ lw $t3, %lo(jtbl_1000C9A0)($at) +/* 0043E710 017C5821 */ addu $t3, $t3, $gp +/* 0043E714 01600008 */ jr $t3 +/* 0043E718 00000000 */ nop +.L0043E71C: +/* 0043E71C 8FBF00B4 */ lw $ra, 0xb4($sp) +.L0043E720: +/* 0043E720 8FB000AC */ lw $s0, 0xac($sp) +/* 0043E724 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 0043E728 03E00008 */ jr $ra +/* 0043E72C 00000000 */ nop + .type gen_sym, @function + .size gen_sym, .-gen_sym + .end gen_sym + +glabel set_lex_level + .ent set_lex_level +/* 0043E730 3C1C0FBE */ .cpload $t9 +/* 0043E734 279C1320 */ +/* 0043E738 0399E021 */ +/* 0043E73C 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E740 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043E744 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043E748 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043E74C 0320F809 */ jalr $t9 +/* 0043E750 AFA50024 */ sw $a1, 0x24($sp) +/* 0043E754 904E000D */ lbu $t6, 0xd($v0) +/* 0043E758 8FAF0024 */ lw $t7, 0x24($sp) +/* 0043E75C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043E760 01EE082B */ sltu $at, $t7, $t6 +/* 0043E764 50200003 */ beql $at, $zero, .L0043E774 +/* 0043E768 A04F000D */ sb $t7, 0xd($v0) +/* 0043E76C 01C07825 */ move $t7, $t6 +/* 0043E770 A04F000D */ sb $t7, 0xd($v0) +.L0043E774: +/* 0043E774 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043E778 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043E77C 03E00008 */ jr $ra +/* 0043E780 00000000 */ nop + .type set_lex_level, @function + .size set_lex_level, .-set_lex_level + .end set_lex_level + +glabel set_size + .ent set_size + # 0040F4C8 build_tree +/* 0043E784 3C1C0FBE */ .cpload $t9 +/* 0043E788 279C12CC */ +/* 0043E78C 0399E021 */ +/* 0043E790 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043E794 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043E798 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043E79C AFBC0018 */ sw $gp, 0x18($sp) +/* 0043E7A0 0320F809 */ jalr $t9 +/* 0043E7A4 AFA50024 */ sw $a1, 0x24($sp) +/* 0043E7A8 8C4E0010 */ lw $t6, 0x10($v0) +/* 0043E7AC 8FAF0024 */ lw $t7, 0x24($sp) +/* 0043E7B0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043E7B4 01EE082B */ sltu $at, $t7, $t6 +/* 0043E7B8 50200003 */ beql $at, $zero, .L0043E7C8 +/* 0043E7BC AC4F0010 */ sw $t7, 0x10($v0) +/* 0043E7C0 01C07825 */ move $t7, $t6 +/* 0043E7C4 AC4F0010 */ sw $t7, 0x10($v0) +.L0043E7C8: +/* 0043E7C8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043E7CC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043E7D0 03E00008 */ jr $ra +/* 0043E7D4 00000000 */ nop + .type set_size, @function + .size set_size, .-set_size + .end set_size + +glabel some_init_overlap + .ent some_init_overlap + # 0043F460 append_init +/* 0043E7D8 3C1C0FBE */ .cpload $t9 +/* 0043E7DC 279C1278 */ +/* 0043E7E0 0399E021 */ +/* 0043E7E4 8C83001C */ lw $v1, 0x1c($a0) +/* 0043E7E8 AFA60008 */ sw $a2, 8($sp) +/* 0043E7EC AFA7000C */ sw $a3, 0xc($sp) +/* 0043E7F0 54600004 */ bnel $v1, $zero, .L0043E804 +/* 0043E7F4 8C850020 */ lw $a1, 0x20($a0) +/* 0043E7F8 03E00008 */ jr $ra +/* 0043E7FC 00001025 */ move $v0, $zero + +/* 0043E800 8C850020 */ lw $a1, 0x20($a0) +.L0043E804: +/* 0043E804 8FA60014 */ lw $a2, 0x14($sp) +/* 0043E808 24080002 */ li $t0, 2 +/* 0043E80C 8CAE0010 */ lw $t6, 0x10($a1) +/* 0043E810 8CAF0008 */ lw $t7, 8($a1) +/* 0043E814 00A01025 */ move $v0, $a1 +/* 0043E818 01CFC021 */ addu $t8, $t6, $t7 +/* 0043E81C 00D8082A */ slt $at, $a2, $t8 +/* 0043E820 14200004 */ bnez $at, .L0043E834 +/* 0043E824 00000000 */ nop +/* 0043E828 00401825 */ move $v1, $v0 +/* 0043E82C 1000001E */ b .L0043E8A8 +/* 0043E830 8F8989A4 */ lw $t1, %got(source_language)($gp) +.L0043E834: +/* 0043E834 8F8989A4 */ lw $t1, %got(source_language)($gp) +/* 0043E838 24080002 */ li $t0, 2 +/* 0043E83C 8D390000 */ lw $t9, ($t1) +/* 0043E840 15190015 */ bne $t0, $t9, .L0043E898 +/* 0043E844 00000000 */ nop +/* 0043E848 8F82890C */ lw $v0, %got(last_inits_handled)($gp) +/* 0043E84C 8C420000 */ lw $v0, ($v0) +/* 0043E850 10400011 */ beqz $v0, .L0043E898 +/* 0043E854 00000000 */ nop +/* 0043E858 8C4A0020 */ lw $t2, 0x20($v0) +/* 0043E85C 1140000E */ beqz $t2, .L0043E898 +/* 0043E860 00000000 */ nop +/* 0043E864 8F8C8910 */ lw $t4, %got(last_inits_handled_blkno)($gp) +/* 0043E868 8FAB000C */ lw $t3, 0xc($sp) +/* 0043E86C 8D8C0000 */ lw $t4, ($t4) +/* 0043E870 156C0009 */ bne $t3, $t4, .L0043E898 +/* 0043E874 00000000 */ nop +/* 0043E878 8C4D0010 */ lw $t5, 0x10($v0) +/* 0043E87C 8C4E0008 */ lw $t6, 8($v0) +/* 0043E880 01AE7821 */ addu $t7, $t5, $t6 +/* 0043E884 00CF082A */ slt $at, $a2, $t7 +/* 0043E888 14200003 */ bnez $at, .L0043E898 +/* 0043E88C 00000000 */ nop +/* 0043E890 10000005 */ b .L0043E8A8 +/* 0043E894 00401825 */ move $v1, $v0 +.L0043E898: +/* 0043E898 8F818910 */ lw $at, %got(last_inits_handled_blkno)($gp) +/* 0043E89C AC200000 */ sw $zero, ($at) +/* 0043E8A0 8F81890C */ lw $at, %got(last_inits_handled)($gp) +/* 0043E8A4 AC200000 */ sw $zero, ($at) +.L0043E8A8: +/* 0043E8A8 00001025 */ move $v0, $zero +/* 0043E8AC 8FA70010 */ lw $a3, 0x10($sp) +/* 0043E8B0 8FA40018 */ lw $a0, 0x18($sp) +/* 0043E8B4 8C780010 */ lw $t8, 0x10($v1) +.L0043E8B8: +/* 0043E8B8 8C790008 */ lw $t9, 8($v1) +/* 0043E8BC 03195021 */ addu $t2, $t8, $t9 +/* 0043E8C0 00CA082A */ slt $at, $a2, $t2 +/* 0043E8C4 50200007 */ beql $at, $zero, .L0043E8E4 +/* 0043E8C8 8D2D0000 */ lw $t5, ($t1) +/* 0043E8CC 8C6B000C */ lw $t3, 0xc($v1) +/* 0043E8D0 00876021 */ addu $t4, $a0, $a3 +/* 0043E8D4 016C082A */ slt $at, $t3, $t4 +/* 0043E8D8 1420000B */ bnez $at, .L0043E908 +/* 0043E8DC 00000000 */ nop +/* 0043E8E0 8D2D0000 */ lw $t5, ($t1) +.L0043E8E4: +/* 0043E8E4 150D000A */ bne $t0, $t5, .L0043E910 +/* 0043E8E8 00000000 */ nop +/* 0043E8EC 8C6E000C */ lw $t6, 0xc($v1) +/* 0043E8F0 00877821 */ addu $t7, $a0, $a3 +/* 0043E8F4 01CF082A */ slt $at, $t6, $t7 +/* 0043E8F8 14200005 */ bnez $at, .L0043E910 +/* 0043E8FC 00000000 */ nop +/* 0043E900 10000003 */ b .L0043E910 +/* 0043E904 24020001 */ li $v0, 1 +.L0043E908: +/* 0043E908 03E00008 */ jr $ra +/* 0043E90C 00601025 */ move $v0, $v1 + +.L0043E910: +/* 0043E910 54650004 */ bnel $v1, $a1, .L0043E924 +/* 0043E914 8C630020 */ lw $v1, 0x20($v1) +/* 0043E918 10000002 */ b .L0043E924 +/* 0043E91C 24020001 */ li $v0, 1 +/* 0043E920 8C630020 */ lw $v1, 0x20($v1) +.L0043E924: +/* 0043E924 5040FFE4 */ beql $v0, $zero, .L0043E8B8 +/* 0043E928 8C780010 */ lw $t8, 0x10($v1) +/* 0043E92C 00001025 */ move $v0, $zero +/* 0043E930 03E00008 */ jr $ra +/* 0043E934 00000000 */ nop + .type some_init_overlap, @function + .size some_init_overlap, .-some_init_overlap + .end some_init_overlap + +glabel complex_init_duplicate_p + .ent complex_init_duplicate_p + # 0043EA6C complex_insert_init +/* 0043E938 3C1C0FBE */ .cpload $t9 +/* 0043E93C 279C1118 */ +/* 0043E940 0399E021 */ +/* 0043E944 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043E948 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043E94C AFBF001C */ sw $ra, 0x1c($sp) +/* 0043E950 AFA50024 */ sw $a1, 0x24($sp) +/* 0043E954 00803025 */ move $a2, $a0 +/* 0043E958 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043E95C AFA60020 */ sw $a2, 0x20($sp) +/* 0043E960 24040028 */ li $a0, 40 +/* 0043E964 0320F809 */ jalr $t9 +/* 0043E968 24050001 */ li $a1, 1 +/* 0043E96C 8FA60020 */ lw $a2, 0x20($sp) +/* 0043E970 8FA30024 */ lw $v1, 0x24($sp) +/* 0043E974 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043E978 8CCE0020 */ lw $t6, 0x20($a2) +/* 0043E97C AC4E0020 */ sw $t6, 0x20($v0) +/* 0043E980 8CD80000 */ lw $t8, ($a2) +/* 0043E984 AC580000 */ sw $t8, ($v0) +/* 0043E988 8CCF0004 */ lw $t7, 4($a2) +/* 0043E98C AC4F0004 */ sw $t7, 4($v0) +/* 0043E990 8CD80008 */ lw $t8, 8($a2) +/* 0043E994 AC580008 */ sw $t8, 8($v0) +/* 0043E998 8CCF000C */ lw $t7, 0xc($a2) +/* 0043E99C AC4F000C */ sw $t7, 0xc($v0) +/* 0043E9A0 8CD80010 */ lw $t8, 0x10($a2) +/* 0043E9A4 AC580010 */ sw $t8, 0x10($v0) +/* 0043E9A8 8CCF0014 */ lw $t7, 0x14($a2) +/* 0043E9AC AC4F0014 */ sw $t7, 0x14($v0) +/* 0043E9B0 8CD80018 */ lw $t8, 0x18($a2) +/* 0043E9B4 AC580018 */ sw $t8, 0x18($v0) +/* 0043E9B8 8CCF001C */ lw $t7, 0x1c($a2) +/* 0043E9BC AC4F001C */ sw $t7, 0x1c($v0) +/* 0043E9C0 ACC20020 */ sw $v0, 0x20($a2) +/* 0043E9C4 8C790020 */ lw $t9, 0x20($v1) +/* 0043E9C8 14D90002 */ bne $a2, $t9, .L0043E9D4 +/* 0043E9CC 00000000 */ nop +/* 0043E9D0 AC620020 */ sw $v0, 0x20($v1) +.L0043E9D4: +/* 0043E9D4 8F8889A4 */ lw $t0, %got(source_language)($gp) +/* 0043E9D8 24010002 */ li $at, 2 +/* 0043E9DC 8D080000 */ lw $t0, ($t0) +/* 0043E9E0 55010007 */ bnel $t0, $at, .L0043EA00 +/* 0043E9E4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043E9E8 8F81890C */ lw $at, %got(last_inits_handled)($gp) +/* 0043E9EC AC220000 */ sw $v0, ($at) +/* 0043E9F0 8C490004 */ lw $t1, 4($v0) +/* 0043E9F4 8F818910 */ lw $at, %got(last_inits_handled_blkno)($gp) +/* 0043E9F8 AC290000 */ sw $t1, ($at) +/* 0043E9FC 8FBF001C */ lw $ra, 0x1c($sp) +.L0043EA00: +/* 0043EA00 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043EA04 03E00008 */ jr $ra +/* 0043EA08 00000000 */ nop + .type complex_init_duplicate_p, @function + .size complex_init_duplicate_p, .-complex_init_duplicate_p + .end complex_init_duplicate_p + +glabel integral_type + .ent integral_type +/* 0043EA0C AFA40000 */ sw $a0, ($sp) +/* 0043EA10 93A20001 */ lbu $v0, 1($sp) +/* 0043EA14 AFA50004 */ sw $a1, 4($sp) +/* 0043EA18 AFA60008 */ sw $a2, 8($sp) +/* 0043EA1C 3042001F */ andi $v0, $v0, 0x1f +/* 0043EA20 1040000E */ beqz $v0, .L0043EA5C +/* 0043EA24 AFA7000C */ sw $a3, 0xc($sp) +/* 0043EA28 24010004 */ li $at, 4 +/* 0043EA2C 1041000B */ beq $v0, $at, .L0043EA5C +/* 0043EA30 24010008 */ li $at, 8 +/* 0043EA34 10410009 */ beq $v0, $at, .L0043EA5C +/* 0043EA38 24010006 */ li $at, 6 +/* 0043EA3C 10410007 */ beq $v0, $at, .L0043EA5C +/* 0043EA40 24010002 */ li $at, 2 +/* 0043EA44 10410005 */ beq $v0, $at, .L0043EA5C +/* 0043EA48 24010003 */ li $at, 3 +/* 0043EA4C 10410003 */ beq $v0, $at, .L0043EA5C +/* 0043EA50 2401000A */ li $at, 10 +/* 0043EA54 14410003 */ bne $v0, $at, .L0043EA64 +/* 0043EA58 00001825 */ move $v1, $zero +.L0043EA5C: +/* 0043EA5C 03E00008 */ jr $ra +/* 0043EA60 24020001 */ li $v0, 1 + +.L0043EA64: +/* 0043EA64 03E00008 */ jr $ra +/* 0043EA68 00601025 */ move $v0, $v1 + .type integral_type, @function + .size integral_type, .-integral_type + .end integral_type + +glabel complex_insert_init + .ent complex_insert_init + # 0043F460 append_init +/* 0043EA6C 3C1C0FBE */ .cpload $t9 +/* 0043EA70 279C0FE4 */ +/* 0043EA74 0399E021 */ +/* 0043EA78 27BDFEB0 */ addiu $sp, $sp, -0x150 +/* 0043EA7C AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0043EA80 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 0043EA84 AFBC00CC */ sw $gp, 0xcc($sp) +/* 0043EA88 AFB700C8 */ sw $s7, 0xc8($sp) +/* 0043EA8C AFB600C4 */ sw $s6, 0xc4($sp) +/* 0043EA90 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0043EA94 AFB400BC */ sw $s4, 0xbc($sp) +/* 0043EA98 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0043EA9C AFB200B4 */ sw $s2, 0xb4($sp) +/* 0043EAA0 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0043EAA4 AFB000AC */ sw $s0, 0xac($sp) +/* 0043EAA8 AFA60158 */ sw $a2, 0x158($sp) +/* 0043EAAC AFA7015C */ sw $a3, 0x15c($sp) +/* 0043EAB0 AFA00130 */ sw $zero, 0x130($sp) +/* 0043EAB4 AFA00134 */ sw $zero, 0x134($sp) +/* 0043EAB8 AFA00138 */ sw $zero, 0x138($sp) +/* 0043EABC AFA0013C */ sw $zero, 0x13c($sp) +/* 0043EAC0 AFA00140 */ sw $zero, 0x140($sp) +/* 0043EAC4 AFA00144 */ sw $zero, 0x144($sp) +/* 0043EAC8 AFA00148 */ sw $zero, 0x148($sp) +/* 0043EACC AFA0014C */ sw $zero, 0x14c($sp) +/* 0043EAD0 AFA00110 */ sw $zero, 0x110($sp) +/* 0043EAD4 AFA00118 */ sw $zero, 0x118($sp) +/* 0043EAD8 AFA0011C */ sw $zero, 0x11c($sp) +/* 0043EADC AFA00120 */ sw $zero, 0x120($sp) +/* 0043EAE0 27AF0158 */ addiu $t7, $sp, 0x158 +/* 0043EAE4 8DF90000 */ lw $t9, ($t7) +/* 0043EAE8 27AE0130 */ addiu $t6, $sp, 0x130 +/* 0043EAEC 27AA0110 */ addiu $t2, $sp, 0x110 +/* 0043EAF0 ADD90000 */ sw $t9, ($t6) +/* 0043EAF4 8DF80004 */ lw $t8, 4($t7) +/* 0043EAF8 00809025 */ move $s2, $a0 +/* 0043EAFC 00A0B025 */ move $s6, $a1 +/* 0043EB00 ADD80004 */ sw $t8, 4($t6) +/* 0043EB04 8DF90008 */ lw $t9, 8($t7) +/* 0043EB08 ADD90008 */ sw $t9, 8($t6) +/* 0043EB0C 8DF8000C */ lw $t8, 0xc($t7) +/* 0043EB10 ADD8000C */ sw $t8, 0xc($t6) +/* 0043EB14 8DF90010 */ lw $t9, 0x10($t7) +/* 0043EB18 ADD90010 */ sw $t9, 0x10($t6) +/* 0043EB1C 8DF80014 */ lw $t8, 0x14($t7) +/* 0043EB20 ADD80014 */ sw $t8, 0x14($t6) +/* 0043EB24 8DF90018 */ lw $t9, 0x18($t7) +/* 0043EB28 ADD90018 */ sw $t9, 0x18($t6) +/* 0043EB2C 8DF8001C */ lw $t8, 0x1c($t7) +/* 0043EB30 ADD8001C */ sw $t8, 0x1c($t6) +/* 0043EB34 8C8C0000 */ lw $t4, ($a0) +/* 0043EB38 AD4C0000 */ sw $t4, ($t2) +/* 0043EB3C 8C8B0004 */ lw $t3, 4($a0) +/* 0043EB40 AD4B0004 */ sw $t3, 4($t2) +/* 0043EB44 8C8C0008 */ lw $t4, 8($a0) +/* 0043EB48 AD4C0008 */ sw $t4, 8($t2) +/* 0043EB4C 8C8B000C */ lw $t3, 0xc($a0) +/* 0043EB50 AD4B000C */ sw $t3, 0xc($t2) +/* 0043EB54 8C8C0010 */ lw $t4, 0x10($a0) +/* 0043EB58 AD4C0010 */ sw $t4, 0x10($t2) +/* 0043EB5C 8C8B0014 */ lw $t3, 0x14($a0) +/* 0043EB60 AD4B0014 */ sw $t3, 0x14($t2) +/* 0043EB64 8C8C0018 */ lw $t4, 0x18($a0) +/* 0043EB68 AD4C0018 */ sw $t4, 0x18($t2) +/* 0043EB6C 8C8B001C */ lw $t3, 0x1c($a0) +/* 0043EB70 AD4B001C */ sw $t3, 0x1c($t2) +/* 0043EB74 8FAE0118 */ lw $t6, 0x118($sp) +/* 0043EB78 8FAD0138 */ lw $t5, 0x138($sp) +/* 0043EB7C 93AF0131 */ lbu $t7, 0x131($sp) +/* 0043EB80 51AE0045 */ beql $t5, $t6, .L0043EC98 +/* 0043EB84 8FA30140 */ lw $v1, 0x140($sp) +/* 0043EB88 93B90111 */ lbu $t9, 0x111($sp) +/* 0043EB8C 31F8001F */ andi $t8, $t7, 0x1f +/* 0043EB90 24040004 */ li $a0, 4 +/* 0043EB94 332A001F */ andi $t2, $t9, 0x1f +/* 0043EB98 530A003F */ beql $t8, $t2, .L0043EC98 +/* 0043EB9C 8FA30140 */ lw $v1, 0x140($sp) +/* 0043EBA0 8F8B8038 */ lw $t3, %got(RO_1000CB6C)($gp) +/* 0043EBA4 240501CF */ li $a1, 463 +/* 0043EBA8 03A07025 */ move $t6, $sp +/* 0043EBAC 256BCB6C */ addiu $t3, %lo(RO_1000CB6C) # addiu $t3, $t3, -0x3494 +/* 0043EBB0 256F0048 */ addiu $t7, $t3, 0x48 +.L0043EBB4: +/* 0043EBB4 896D0000 */ lwl $t5, ($t3) +/* 0043EBB8 996D0003 */ lwr $t5, 3($t3) +/* 0043EBBC 256B000C */ addiu $t3, $t3, 0xc +/* 0043EBC0 25CE000C */ addiu $t6, $t6, 0xc +/* 0043EBC4 A9CDFFFC */ swl $t5, -4($t6) +/* 0043EBC8 B9CDFFFF */ swr $t5, -1($t6) +/* 0043EBCC 896CFFF8 */ lwl $t4, -8($t3) +/* 0043EBD0 996CFFFB */ lwr $t4, -5($t3) +/* 0043EBD4 A9CC0000 */ swl $t4, ($t6) +/* 0043EBD8 B9CC0003 */ swr $t4, 3($t6) +/* 0043EBDC 896DFFFC */ lwl $t5, -4($t3) +/* 0043EBE0 996DFFFF */ lwr $t5, -1($t3) +/* 0043EBE4 A9CD0004 */ swl $t5, 4($t6) +/* 0043EBE8 156FFFF2 */ bne $t3, $t7, .L0043EBB4 +/* 0043EBEC B9CD0007 */ swr $t5, 7($t6) +/* 0043EBF0 896D0000 */ lwl $t5, ($t3) +/* 0043EBF4 996D0003 */ lwr $t5, 3($t3) +/* 0043EBF8 8F998038 */ lw $t9, %got(RO_1000CB1C)($gp) +/* 0043EBFC 03A07825 */ move $t7, $sp +/* 0043EC00 A9CD0008 */ swl $t5, 8($t6) +/* 0043EC04 B9CD000B */ swr $t5, 0xb($t6) +/* 0043EC08 896C0004 */ lwl $t4, 4($t3) +/* 0043EC0C 996C0007 */ lwr $t4, 7($t3) +/* 0043EC10 2739CB1C */ addiu $t9, %lo(RO_1000CB1C) # addiu $t9, $t9, -0x34e4 +/* 0043EC14 272B0048 */ addiu $t3, $t9, 0x48 +/* 0043EC18 A9CC000C */ swl $t4, 0xc($t6) +/* 0043EC1C B9CC000F */ swr $t4, 0xf($t6) +.L0043EC20: +/* 0043EC20 8B2A0000 */ lwl $t2, ($t9) +/* 0043EC24 9B2A0003 */ lwr $t2, 3($t9) +/* 0043EC28 2739000C */ addiu $t9, $t9, 0xc +/* 0043EC2C 25EF000C */ addiu $t7, $t7, 0xc +/* 0043EC30 A9EA004C */ swl $t2, 0x4c($t7) +/* 0043EC34 B9EA004F */ swr $t2, 0x4f($t7) +/* 0043EC38 8B38FFF8 */ lwl $t8, -8($t9) +/* 0043EC3C 9B38FFFB */ lwr $t8, -5($t9) +/* 0043EC40 A9F80050 */ swl $t8, 0x50($t7) +/* 0043EC44 B9F80053 */ swr $t8, 0x53($t7) +/* 0043EC48 8B2AFFFC */ lwl $t2, -4($t9) +/* 0043EC4C 9B2AFFFF */ lwr $t2, -1($t9) +/* 0043EC50 A9EA0054 */ swl $t2, 0x54($t7) +/* 0043EC54 172BFFF2 */ bne $t9, $t3, .L0043EC20 +/* 0043EC58 B9EA0057 */ swr $t2, 0x57($t7) +/* 0043EC5C 8B2A0000 */ lwl $t2, ($t9) +/* 0043EC60 9B2A0003 */ lwr $t2, 3($t9) +/* 0043EC64 A9EA0058 */ swl $t2, 0x58($t7) +/* 0043EC68 B9EA005B */ swr $t2, 0x5b($t7) +/* 0043EC6C 8B380004 */ lwl $t8, 4($t9) +/* 0043EC70 9B380007 */ lwr $t8, 7($t9) +/* 0043EC74 A9F8005C */ swl $t8, 0x5c($t7) +/* 0043EC78 B9F8005F */ swr $t8, 0x5f($t7) +/* 0043EC7C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043EC80 8FA7000C */ lw $a3, 0xc($sp) +/* 0043EC84 8FA60008 */ lw $a2, 8($sp) +/* 0043EC88 0320F809 */ jalr $t9 +/* 0043EC8C 00000000 */ nop +/* 0043EC90 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043EC94 8FA30140 */ lw $v1, 0x140($sp) +.L0043EC98: +/* 0043EC98 8FBE0138 */ lw $fp, 0x138($sp) +/* 0043EC9C 8FB3013C */ lw $s3, 0x13c($sp) +/* 0043ECA0 24150009 */ li $s5, 9 +/* 0043ECA4 007E8021 */ addu $s0, $v1, $fp +/* 0043ECA8 0270082A */ slt $at, $s3, $s0 +/* 0043ECAC 502001E1 */ beql $at, $zero, .L0043F434 +/* 0043ECB0 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 0043ECB4 8E4D0000 */ lw $t5, ($s2) +.L0043ECB8: +/* 0043ECB8 27AE0110 */ addiu $t6, $sp, 0x110 +/* 0043ECBC ADCD0000 */ sw $t5, ($t6) +/* 0043ECC0 8E4C0004 */ lw $t4, 4($s2) +/* 0043ECC4 ADCC0004 */ sw $t4, 4($t6) +/* 0043ECC8 8E4D0008 */ lw $t5, 8($s2) +/* 0043ECCC ADCD0008 */ sw $t5, 8($t6) +/* 0043ECD0 8E4C000C */ lw $t4, 0xc($s2) +/* 0043ECD4 ADCC000C */ sw $t4, 0xc($t6) +/* 0043ECD8 8E4D0010 */ lw $t5, 0x10($s2) +/* 0043ECDC ADCD0010 */ sw $t5, 0x10($t6) +/* 0043ECE0 8E4C0014 */ lw $t4, 0x14($s2) +/* 0043ECE4 ADCC0014 */ sw $t4, 0x14($t6) +/* 0043ECE8 8E4D0018 */ lw $t5, 0x18($s2) +/* 0043ECEC ADCD0018 */ sw $t5, 0x18($t6) +/* 0043ECF0 8E4C001C */ lw $t4, 0x1c($s2) +/* 0043ECF4 ADCC001C */ sw $t4, 0x1c($t6) +/* 0043ECF8 8FAB011C */ lw $t3, 0x11c($sp) +/* 0043ECFC 8FB70118 */ lw $s7, 0x118($sp) +/* 0043ED00 8FB4011C */ lw $s4, 0x11c($sp) +/* 0043ED04 0173082A */ slt $at, $t3, $s3 +/* 0043ED08 10200075 */ beqz $at, .L0043EEE0 +/* 0043ED0C 00000000 */ nop +/* 0043ED10 8F998570 */ lw $t9, %call16(complex_init_duplicate_p)($gp) +/* 0043ED14 0160A025 */ move $s4, $t3 +/* 0043ED18 02402025 */ move $a0, $s2 +/* 0043ED1C 0320F809 */ jalr $t9 +/* 0043ED20 02C02825 */ move $a1, $s6 +/* 0043ED24 93B90131 */ lbu $t9, 0x131($sp) +/* 0043ED28 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043ED2C 332F001F */ andi $t7, $t9, 0x1f +/* 0043ED30 56AF0013 */ bnel $s5, $t7, .L0043ED80 +/* 0043ED34 0274C823 */ subu $t9, $s3, $s4 +/* 0043ED38 93B80111 */ lbu $t8, 0x111($sp) +/* 0043ED3C 330A001F */ andi $t2, $t8, 0x1f +/* 0043ED40 56AA000F */ bnel $s5, $t2, .L0043ED80 +/* 0043ED44 0274C823 */ subu $t9, $s3, $s4 +/* 0043ED48 8E510020 */ lw $s1, 0x20($s2) +/* 0043ED4C 02741023 */ subu $v0, $s3, $s4 +/* 0043ED50 AE33000C */ sw $s3, 0xc($s1) +/* 0043ED54 AE330010 */ sw $s3, 0x10($s1) +/* 0043ED58 8E4E0008 */ lw $t6, 8($s2) +/* 0043ED5C 01C26023 */ subu $t4, $t6, $v0 +/* 0043ED60 AE2C0008 */ sw $t4, 8($s1) +/* 0043ED64 8E4D0008 */ lw $t5, 8($s2) +/* 0043ED68 01A25823 */ subu $t3, $t5, $v0 +/* 0043ED6C AE2B0018 */ sw $t3, 0x18($s1) +/* 0043ED70 AE420008 */ sw $v0, 8($s2) +/* 0043ED74 10000057 */ b .L0043EED4 +/* 0043ED78 AE420018 */ sw $v0, 0x18($s2) +/* 0043ED7C 0274C823 */ subu $t9, $s3, $s4 +.L0043ED80: +/* 0043ED80 0337001A */ div $zero, $t9, $s7 +/* 0043ED84 00001012 */ mflo $v0 +/* 0043ED88 244FFFFF */ addiu $t7, $v0, -1 +/* 0043ED8C 8E4E0020 */ lw $t6, 0x20($s2) +/* 0043ED90 01F70019 */ multu $t7, $s7 +/* 0043ED94 16E00002 */ bnez $s7, .L0043EDA0 +/* 0043ED98 00000000 */ nop +/* 0043ED9C 0007000D */ break 7 +.L0043EDA0: +/* 0043EDA0 2401FFFF */ li $at, -1 +/* 0043EDA4 16E10004 */ bne $s7, $at, .L0043EDB8 +/* 0043EDA8 3C018000 */ lui $at, 0x8000 +/* 0043EDAC 17210002 */ bne $t9, $at, .L0043EDB8 +/* 0043EDB0 00000000 */ nop +/* 0043EDB4 0006000D */ break 6 +.L0043EDB8: +/* 0043EDB8 0000C012 */ mflo $t8 +/* 0043EDBC 02985021 */ addu $t2, $s4, $t8 +/* 0043EDC0 AE4A0010 */ sw $t2, 0x10($s2) +/* 0043EDC4 00570019 */ multu $v0, $s7 +/* 0043EDC8 ADD3000C */ sw $s3, 0xc($t6) +/* 0043EDCC 00006012 */ mflo $t4 +/* 0043EDD0 01946821 */ addu $t5, $t4, $s4 +/* 0043EDD4 526D0040 */ beql $s3, $t5, .L0043EED8 +/* 0043EDD8 8E520020 */ lw $s2, 0x20($s2) +/* 0043EDDC 8F8B8038 */ lw $t3, %got(RO_1000CACC)($gp) +/* 0043EDE0 24040002 */ li $a0, 2 +/* 0043EDE4 240501EB */ li $a1, 491 +/* 0043EDE8 256BCACC */ addiu $t3, %lo(RO_1000CACC) # addiu $t3, $t3, -0x3534 +/* 0043EDEC 256A0048 */ addiu $t2, $t3, 0x48 +/* 0043EDF0 03A0C025 */ move $t8, $sp +.L0043EDF4: +/* 0043EDF4 896F0000 */ lwl $t7, ($t3) +/* 0043EDF8 996F0003 */ lwr $t7, 3($t3) +/* 0043EDFC 256B000C */ addiu $t3, $t3, 0xc +/* 0043EE00 2718000C */ addiu $t8, $t8, 0xc +/* 0043EE04 AB0FFFFC */ swl $t7, -4($t8) +/* 0043EE08 BB0FFFFF */ swr $t7, -1($t8) +/* 0043EE0C 8979FFF8 */ lwl $t9, -8($t3) +/* 0043EE10 9979FFFB */ lwr $t9, -5($t3) +/* 0043EE14 AB190000 */ swl $t9, ($t8) +/* 0043EE18 BB190003 */ swr $t9, 3($t8) +/* 0043EE1C 896FFFFC */ lwl $t7, -4($t3) +/* 0043EE20 996FFFFF */ lwr $t7, -1($t3) +/* 0043EE24 AB0F0004 */ swl $t7, 4($t8) +/* 0043EE28 156AFFF2 */ bne $t3, $t2, .L0043EDF4 +/* 0043EE2C BB0F0007 */ swr $t7, 7($t8) +/* 0043EE30 896F0000 */ lwl $t7, ($t3) +/* 0043EE34 996F0003 */ lwr $t7, 3($t3) +/* 0043EE38 8F8E8038 */ lw $t6, %got(RO_1000CA7C)($gp) +/* 0043EE3C 03A05025 */ move $t2, $sp +/* 0043EE40 AB0F0008 */ swl $t7, 8($t8) +/* 0043EE44 BB0F000B */ swr $t7, 0xb($t8) +/* 0043EE48 89790004 */ lwl $t9, 4($t3) +/* 0043EE4C 99790007 */ lwr $t9, 7($t3) +/* 0043EE50 25CECA7C */ addiu $t6, %lo(RO_1000CA7C) # addiu $t6, $t6, -0x3584 +/* 0043EE54 25CB0048 */ addiu $t3, $t6, 0x48 +/* 0043EE58 AB19000C */ swl $t9, 0xc($t8) +/* 0043EE5C BB19000F */ swr $t9, 0xf($t8) +.L0043EE60: +/* 0043EE60 89CD0000 */ lwl $t5, ($t6) +/* 0043EE64 99CD0003 */ lwr $t5, 3($t6) +/* 0043EE68 25CE000C */ addiu $t6, $t6, 0xc +/* 0043EE6C 254A000C */ addiu $t2, $t2, 0xc +/* 0043EE70 A94D004C */ swl $t5, 0x4c($t2) +/* 0043EE74 B94D004F */ swr $t5, 0x4f($t2) +/* 0043EE78 89CCFFF8 */ lwl $t4, -8($t6) +/* 0043EE7C 99CCFFFB */ lwr $t4, -5($t6) +/* 0043EE80 A94C0050 */ swl $t4, 0x50($t2) +/* 0043EE84 B94C0053 */ swr $t4, 0x53($t2) +/* 0043EE88 89CDFFFC */ lwl $t5, -4($t6) +/* 0043EE8C 99CDFFFF */ lwr $t5, -1($t6) +/* 0043EE90 A94D0054 */ swl $t5, 0x54($t2) +/* 0043EE94 15CBFFF2 */ bne $t6, $t3, .L0043EE60 +/* 0043EE98 B94D0057 */ swr $t5, 0x57($t2) +/* 0043EE9C 89CD0000 */ lwl $t5, ($t6) +/* 0043EEA0 99CD0003 */ lwr $t5, 3($t6) +/* 0043EEA4 A94D0058 */ swl $t5, 0x58($t2) +/* 0043EEA8 B94D005B */ swr $t5, 0x5b($t2) +/* 0043EEAC 89CC0004 */ lwl $t4, 4($t6) +/* 0043EEB0 99CC0007 */ lwr $t4, 7($t6) +/* 0043EEB4 A94C005C */ swl $t4, 0x5c($t2) +/* 0043EEB8 B94C005F */ swr $t4, 0x5f($t2) +/* 0043EEBC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043EEC0 8FA7000C */ lw $a3, 0xc($sp) +/* 0043EEC4 8FA60008 */ lw $a2, 8($sp) +/* 0043EEC8 0320F809 */ jalr $t9 +/* 0043EECC 00000000 */ nop +/* 0043EED0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043EED4: +/* 0043EED4 8E520020 */ lw $s2, 0x20($s2) +.L0043EED8: +/* 0043EED8 10000152 */ b .L0043F424 +/* 0043EEDC 8FA30140 */ lw $v1, 0x140($sp) +.L0043EEE0: +/* 0043EEE0 1693009F */ bne $s4, $s3, .L0043F160 +/* 0043EEE4 8FB70118 */ lw $s7, 0x118($sp) +/* 0043EEE8 8FA20120 */ lw $v0, 0x120($sp) +/* 0043EEEC AFB3013C */ sw $s3, 0x13c($sp) +/* 0043EEF0 27B80148 */ addiu $t8, $sp, 0x148 +/* 0043EEF4 0043082A */ slt $at, $v0, $v1 +/* 0043EEF8 1020000D */ beqz $at, .L0043EF30 +/* 0043EEFC 00000000 */ nop +/* 0043EF00 8F0F0000 */ lw $t7, ($t8) +/* 0043EF04 00579821 */ addu $s3, $v0, $s7 +/* 0043EF08 AE4F0018 */ sw $t7, 0x18($s2) +/* 0043EF0C 8F190004 */ lw $t9, 4($t8) +/* 0043EF10 AE59001C */ sw $t9, 0x1c($s2) +/* 0043EF14 8ECB0020 */ lw $t3, 0x20($s6) +/* 0043EF18 164B0003 */ bne $s2, $t3, .L0043EF28 +/* 0043EF1C 00000000 */ nop +/* 0043EF20 10000143 */ b .L0043F430 +/* 0043EF24 AE430010 */ sw $v1, 0x10($s2) +.L0043EF28: +/* 0043EF28 1000013E */ b .L0043F424 +/* 0043EF2C 8E520020 */ lw $s2, 0x20($s2) +.L0043EF30: +/* 0043EF30 14430071 */ bne $v0, $v1, .L0043F0F8 +/* 0043EF34 00000000 */ nop +/* 0043EF38 93AE0131 */ lbu $t6, 0x131($sp) +/* 0043EF3C AFBE0138 */ sw $fp, 0x138($sp) +/* 0043EF40 31CA001F */ andi $t2, $t6, 0x1f +/* 0043EF44 56AA005B */ bnel $s5, $t2, .L0043F0B4 +/* 0043EF48 27AC0130 */ addiu $t4, $sp, 0x130 +/* 0043EF4C 93AC0111 */ lbu $t4, 0x111($sp) +/* 0043EF50 AFBE0138 */ sw $fp, 0x138($sp) +/* 0043EF54 03D7082A */ slt $at, $fp, $s7 +/* 0043EF58 318D001F */ andi $t5, $t4, 0x1f +/* 0043EF5C 56AD0055 */ bnel $s5, $t5, .L0043F0B4 +/* 0043EF60 27AC0130 */ addiu $t4, $sp, 0x130 +/* 0043EF64 10200052 */ beqz $at, .L0043F0B0 +/* 0043EF68 AFBE0138 */ sw $fp, 0x138($sp) +/* 0043EF6C 8F998570 */ lw $t9, %call16(complex_init_duplicate_p)($gp) +/* 0043EF70 02402025 */ move $a0, $s2 +/* 0043EF74 02C02825 */ move $a1, $s6 +/* 0043EF78 0320F809 */ jalr $t9 +/* 0043EF7C 24100001 */ li $s0, 1 +/* 0043EF80 8E58000C */ lw $t8, 0xc($s2) +/* 0043EF84 8E510020 */ lw $s1, 0x20($s2) +/* 0043EF88 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043EF8C 031EC821 */ addu $t9, $t8, $fp +/* 0043EF90 AE39000C */ sw $t9, 0xc($s1) +/* 0043EF94 AE390010 */ sw $t9, 0x10($s1) +/* 0043EF98 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043EF9C 24040400 */ li $a0, 1024 +/* 0043EFA0 00002825 */ move $a1, $zero +/* 0043EFA4 0320F809 */ jalr $t9 +/* 0043EFA8 00000000 */ nop +/* 0043EFAC 8E270018 */ lw $a3, 0x18($s1) +/* 0043EFB0 27C40001 */ addiu $a0, $fp, 1 +/* 0043EFB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043EFB8 00E4082B */ sltu $at, $a3, $a0 +/* 0043EFBC 14200025 */ bnez $at, .L0043F054 +/* 0043EFC0 AFBE0138 */ sw $fp, 0x138($sp) +/* 0043EFC4 24E70001 */ addiu $a3, $a3, 1 +/* 0043EFC8 00E44023 */ subu $t0, $a3, $a0 +/* 0043EFCC 31080003 */ andi $t0, $t0, 3 +/* 0043EFD0 1100000C */ beqz $t0, .L0043F004 +/* 0043EFD4 00802825 */ move $a1, $a0 +/* 0043EFD8 01043021 */ addu $a2, $t0, $a0 +/* 0043EFDC 00501821 */ addu $v1, $v0, $s0 +.L0043EFE0: +/* 0043EFE0 8E2B001C */ lw $t3, 0x1c($s1) +/* 0043EFE4 26100001 */ addiu $s0, $s0, 1 +/* 0043EFE8 24630001 */ addiu $v1, $v1, 1 +/* 0043EFEC 01657021 */ addu $t6, $t3, $a1 +/* 0043EFF0 91CAFFFF */ lbu $t2, -1($t6) +/* 0043EFF4 24A50001 */ addiu $a1, $a1, 1 +/* 0043EFF8 14C5FFF9 */ bne $a2, $a1, .L0043EFE0 +/* 0043EFFC A06AFFFE */ sb $t2, -2($v1) +/* 0043F000 10A70014 */ beq $a1, $a3, .L0043F054 +.L0043F004: +/* 0043F004 00501821 */ addu $v1, $v0, $s0 +.L0043F008: +/* 0043F008 8E2C001C */ lw $t4, 0x1c($s1) +/* 0043F00C 24630004 */ addiu $v1, $v1, 4 +/* 0043F010 01856821 */ addu $t5, $t4, $a1 +/* 0043F014 91B8FFFF */ lbu $t8, -1($t5) +/* 0043F018 A078FFFB */ sb $t8, -5($v1) +/* 0043F01C 8E39001C */ lw $t9, 0x1c($s1) +/* 0043F020 03257821 */ addu $t7, $t9, $a1 +/* 0043F024 91EB0000 */ lbu $t3, ($t7) +/* 0043F028 A06BFFFC */ sb $t3, -4($v1) +/* 0043F02C 8E2E001C */ lw $t6, 0x1c($s1) +/* 0043F030 01C55021 */ addu $t2, $t6, $a1 +/* 0043F034 914C0001 */ lbu $t4, 1($t2) +/* 0043F038 A06CFFFD */ sb $t4, -3($v1) +/* 0043F03C 8E2D001C */ lw $t5, 0x1c($s1) +/* 0043F040 01A5C021 */ addu $t8, $t5, $a1 +/* 0043F044 93190002 */ lbu $t9, 2($t8) +/* 0043F048 24A50004 */ addiu $a1, $a1, 4 +/* 0043F04C 14A7FFEE */ bne $a1, $a3, .L0043F008 +/* 0043F050 A079FFFE */ sb $t9, -2($v1) +.L0043F054: +/* 0043F054 AE22001C */ sw $v0, 0x1c($s1) +/* 0043F058 27AF0130 */ addiu $t7, $sp, 0x130 +/* 0043F05C 8DEE0000 */ lw $t6, ($t7) +/* 0043F060 8FAA0138 */ lw $t2, 0x138($sp) +/* 0043F064 AE4E0000 */ sw $t6, ($s2) +/* 0043F068 8DEB0004 */ lw $t3, 4($t7) +/* 0043F06C 02EA1823 */ subu $v1, $s7, $t2 +/* 0043F070 AE4B0004 */ sw $t3, 4($s2) +/* 0043F074 8DEE0008 */ lw $t6, 8($t7) +/* 0043F078 AE4E0008 */ sw $t6, 8($s2) +/* 0043F07C 8DEB000C */ lw $t3, 0xc($t7) +/* 0043F080 AE4B000C */ sw $t3, 0xc($s2) +/* 0043F084 8DEE0010 */ lw $t6, 0x10($t7) +/* 0043F088 AE4E0010 */ sw $t6, 0x10($s2) +/* 0043F08C 8DEB0014 */ lw $t3, 0x14($t7) +/* 0043F090 AE4B0014 */ sw $t3, 0x14($s2) +/* 0043F094 8DEE0018 */ lw $t6, 0x18($t7) +/* 0043F098 AE4E0018 */ sw $t6, 0x18($s2) +/* 0043F09C 8DEB001C */ lw $t3, 0x1c($t7) +/* 0043F0A0 AE4B001C */ sw $t3, 0x1c($s2) +/* 0043F0A4 AE230008 */ sw $v1, 8($s1) +/* 0043F0A8 100000E1 */ b .L0043F430 +/* 0043F0AC AE230018 */ sw $v1, 0x18($s1) +.L0043F0B0: +/* 0043F0B0 27AC0130 */ addiu $t4, $sp, 0x130 +.L0043F0B4: +/* 0043F0B4 8D980000 */ lw $t8, ($t4) +/* 0043F0B8 AE580000 */ sw $t8, ($s2) +/* 0043F0BC 8D8D0004 */ lw $t5, 4($t4) +/* 0043F0C0 AE4D0004 */ sw $t5, 4($s2) +/* 0043F0C4 8D980008 */ lw $t8, 8($t4) +/* 0043F0C8 AE580008 */ sw $t8, 8($s2) +/* 0043F0CC 8D8D000C */ lw $t5, 0xc($t4) +/* 0043F0D0 AE4D000C */ sw $t5, 0xc($s2) +/* 0043F0D4 8D980010 */ lw $t8, 0x10($t4) +/* 0043F0D8 AE580010 */ sw $t8, 0x10($s2) +/* 0043F0DC 8D8D0014 */ lw $t5, 0x14($t4) +/* 0043F0E0 AE4D0014 */ sw $t5, 0x14($s2) +/* 0043F0E4 8D980018 */ lw $t8, 0x18($t4) +/* 0043F0E8 AE580018 */ sw $t8, 0x18($s2) +/* 0043F0EC 8D8D001C */ lw $t5, 0x1c($t4) +/* 0043F0F0 100000CF */ b .L0043F430 +/* 0043F0F4 AE4D001C */ sw $t5, 0x1c($s2) +.L0043F0F8: +/* 0043F0F8 8F998570 */ lw $t9, %call16(complex_init_duplicate_p)($gp) +/* 0043F0FC AFBE0138 */ sw $fp, 0x138($sp) +/* 0043F100 02402025 */ move $a0, $s2 +/* 0043F104 0320F809 */ jalr $t9 +/* 0043F108 02C02825 */ move $a1, $s6 +/* 0043F10C 27B90130 */ addiu $t9, $sp, 0x130 +/* 0043F110 8F2B0000 */ lw $t3, ($t9) +/* 0043F114 8E4E0020 */ lw $t6, 0x20($s2) +/* 0043F118 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043F11C AE4B0000 */ sw $t3, ($s2) +/* 0043F120 8F2F0004 */ lw $t7, 4($t9) +/* 0043F124 AE4F0004 */ sw $t7, 4($s2) +/* 0043F128 8F2B0008 */ lw $t3, 8($t9) +/* 0043F12C AE4B0008 */ sw $t3, 8($s2) +/* 0043F130 8F2F000C */ lw $t7, 0xc($t9) +/* 0043F134 AE4F000C */ sw $t7, 0xc($s2) +/* 0043F138 8F2B0010 */ lw $t3, 0x10($t9) +/* 0043F13C AE4B0010 */ sw $t3, 0x10($s2) +/* 0043F140 8F2F0014 */ lw $t7, 0x14($t9) +/* 0043F144 AE4F0014 */ sw $t7, 0x14($s2) +/* 0043F148 8F2B0018 */ lw $t3, 0x18($t9) +/* 0043F14C AE4B0018 */ sw $t3, 0x18($s2) +/* 0043F150 8F2F001C */ lw $t7, 0x1c($t9) +/* 0043F154 AE4F001C */ sw $t7, 0x1c($s2) +/* 0043F158 100000B5 */ b .L0043F430 +/* 0043F15C ADD0000C */ sw $s0, 0xc($t6) +.L0043F160: +/* 0043F160 8F998570 */ lw $t9, %call16(complex_init_duplicate_p)($gp) +/* 0043F164 02402025 */ move $a0, $s2 +/* 0043F168 02C02825 */ move $a1, $s6 +/* 0043F16C AFB3013C */ sw $s3, 0x13c($sp) +/* 0043F170 0320F809 */ jalr $t9 +/* 0043F174 AFBE0138 */ sw $fp, 0x138($sp) +/* 0043F178 27AA0130 */ addiu $t2, $sp, 0x130 +/* 0043F17C 8D4D0000 */ lw $t5, ($t2) +/* 0043F180 93B80131 */ lbu $t8, 0x131($sp) +/* 0043F184 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043F188 AE4D0000 */ sw $t5, ($s2) +/* 0043F18C 8D4C0004 */ lw $t4, 4($t2) +/* 0043F190 3319001F */ andi $t9, $t8, 0x1f +/* 0043F194 AE4C0004 */ sw $t4, 4($s2) +/* 0043F198 8D4D0008 */ lw $t5, 8($t2) +/* 0043F19C AE4D0008 */ sw $t5, 8($s2) +/* 0043F1A0 8D4C000C */ lw $t4, 0xc($t2) +/* 0043F1A4 AE4C000C */ sw $t4, 0xc($s2) +/* 0043F1A8 8D4D0010 */ lw $t5, 0x10($t2) +/* 0043F1AC AE4D0010 */ sw $t5, 0x10($s2) +/* 0043F1B0 8D4C0014 */ lw $t4, 0x14($t2) +/* 0043F1B4 AE4C0014 */ sw $t4, 0x14($s2) +/* 0043F1B8 8D4D0018 */ lw $t5, 0x18($t2) +/* 0043F1BC AE4D0018 */ sw $t5, 0x18($s2) +/* 0043F1C0 8D4C001C */ lw $t4, 0x1c($t2) +/* 0043F1C4 16B9003E */ bne $s5, $t9, .L0043F2C0 +/* 0043F1C8 AE4C001C */ sw $t4, 0x1c($s2) +/* 0043F1CC 93AF0111 */ lbu $t7, 0x111($sp) +/* 0043F1D0 8FB3013C */ lw $s3, 0x13c($sp) +/* 0043F1D4 8FBE0138 */ lw $fp, 0x138($sp) +/* 0043F1D8 31EB001F */ andi $t3, $t7, 0x1f +/* 0043F1DC 56AB0039 */ bnel $s5, $t3, .L0043F2C4 +/* 0043F1E0 8FB3013C */ lw $s3, 0x13c($sp) +/* 0043F1E4 02931023 */ subu $v0, $s4, $s3 +/* 0043F1E8 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043F1EC 02629821 */ addu $s3, $s3, $v0 +/* 0043F1F0 00408825 */ move $s1, $v0 +/* 0043F1F4 AE420008 */ sw $v0, 8($s2) +/* 0043F1F8 AE420018 */ sw $v0, 0x18($s2) +/* 0043F1FC 03C2F023 */ subu $fp, $fp, $v0 +/* 0043F200 AFB30140 */ sw $s3, 0x140($sp) +/* 0043F204 24040400 */ li $a0, 1024 +/* 0043F208 00002825 */ move $a1, $zero +/* 0043F20C 0320F809 */ jalr $t9 +/* 0043F210 24100001 */ li $s0, 1 +/* 0043F214 8FAE0148 */ lw $t6, 0x148($sp) +/* 0043F218 26280001 */ addiu $t0, $s1, 1 +/* 0043F21C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0043F220 01C8082B */ sltu $at, $t6, $t0 +/* 0043F224 14200021 */ bnez $at, .L0043F2AC +/* 0043F228 25C70001 */ addiu $a3, $t6, 1 +/* 0043F22C 00E84823 */ subu $t1, $a3, $t0 +/* 0043F230 31290003 */ andi $t1, $t1, 3 +/* 0043F234 1120000E */ beqz $t1, .L0043F270 +/* 0043F238 01002825 */ move $a1, $t0 +/* 0043F23C 8FAA014C */ lw $t2, 0x14c($sp) +/* 0043F240 01283021 */ addu $a2, $t1, $t0 +/* 0043F244 00501821 */ addu $v1, $v0, $s0 +/* 0043F248 01482021 */ addu $a0, $t2, $t0 +.L0043F24C: +/* 0043F24C 908CFFFF */ lbu $t4, -1($a0) +/* 0043F250 24A50001 */ addiu $a1, $a1, 1 +/* 0043F254 26100001 */ addiu $s0, $s0, 1 +/* 0043F258 24630001 */ addiu $v1, $v1, 1 +/* 0043F25C 24840001 */ addiu $a0, $a0, 1 +/* 0043F260 14C5FFFA */ bne $a2, $a1, .L0043F24C +/* 0043F264 A06CFFFE */ sb $t4, -2($v1) +/* 0043F268 50A70011 */ beql $a1, $a3, .L0043F2B0 +/* 0043F26C 8FAE0140 */ lw $t6, 0x140($sp) +.L0043F270: +/* 0043F270 8FAD014C */ lw $t5, 0x14c($sp) +/* 0043F274 00501821 */ addu $v1, $v0, $s0 +/* 0043F278 01A52021 */ addu $a0, $t5, $a1 +.L0043F27C: +/* 0043F27C 9098FFFF */ lbu $t8, -1($a0) +/* 0043F280 24A50004 */ addiu $a1, $a1, 4 +/* 0043F284 24630004 */ addiu $v1, $v1, 4 +/* 0043F288 A078FFFB */ sb $t8, -5($v1) +/* 0043F28C 90990000 */ lbu $t9, ($a0) +/* 0043F290 24840004 */ addiu $a0, $a0, 4 +/* 0043F294 A079FFFC */ sb $t9, -4($v1) +/* 0043F298 908FFFFD */ lbu $t7, -3($a0) +/* 0043F29C A06FFFFD */ sb $t7, -3($v1) +/* 0043F2A0 908BFFFE */ lbu $t3, -2($a0) +/* 0043F2A4 14A7FFF5 */ bne $a1, $a3, .L0043F27C +/* 0043F2A8 A06BFFFE */ sb $t3, -2($v1) +.L0043F2AC: +/* 0043F2AC 8FAE0140 */ lw $t6, 0x140($sp) +.L0043F2B0: +/* 0043F2B0 AFA2014C */ sw $v0, 0x14c($sp) +/* 0043F2B4 AFBE0148 */ sw $fp, 0x148($sp) +/* 0043F2B8 10000058 */ b .L0043F41C +/* 0043F2BC 01DE8021 */ addu $s0, $t6, $fp +.L0043F2C0: +/* 0043F2C0 8FB3013C */ lw $s3, 0x13c($sp) +.L0043F2C4: +/* 0043F2C4 8FBE0138 */ lw $fp, 0x138($sp) +/* 0043F2C8 8E4F0020 */ lw $t7, 0x20($s2) +/* 0043F2CC 02935023 */ subu $t2, $s4, $s3 +/* 0043F2D0 015E001A */ div $zero, $t2, $fp +/* 0043F2D4 00006012 */ mflo $t4 +/* 0043F2D8 258DFFFF */ addiu $t5, $t4, -1 +/* 0043F2DC 17C00002 */ bnez $fp, .L0043F2E8 +/* 0043F2E0 00000000 */ nop +/* 0043F2E4 0007000D */ break 7 +.L0043F2E8: +/* 0043F2E8 2401FFFF */ li $at, -1 +/* 0043F2EC 17C10004 */ bne $fp, $at, .L0043F300 +/* 0043F2F0 3C018000 */ lui $at, 0x8000 +/* 0043F2F4 15410002 */ bne $t2, $at, .L0043F300 +/* 0043F2F8 00000000 */ nop +/* 0043F2FC 0006000D */ break 6 +.L0043F300: +/* 0043F300 01BE0019 */ multu $t5, $fp +/* 0043F304 24040002 */ li $a0, 2 +/* 0043F308 0000C012 */ mflo $t8 +/* 0043F30C 0278C821 */ addu $t9, $s3, $t8 +/* 0043F310 AE590010 */ sw $t9, 0x10($s2) +/* 0043F314 ADF4000C */ sw $s4, 0xc($t7) +/* 0043F318 8E4B0010 */ lw $t3, 0x10($s2) +/* 0043F31C 017E9821 */ addu $s3, $t3, $fp +/* 0043F320 5274003F */ beql $s3, $s4, .L0043F420 +/* 0043F324 8E520020 */ lw $s2, 0x20($s2) +/* 0043F328 8F8E8038 */ lw $t6, %got(RO_1000CA2C)($gp) +/* 0043F32C 2405024F */ li $a1, 591 +/* 0043F330 03A06825 */ move $t5, $sp +/* 0043F334 25CECA2C */ addiu $t6, %lo(RO_1000CA2C) # addiu $t6, $t6, -0x35d4 +/* 0043F338 25D80048 */ addiu $t8, $t6, 0x48 +.L0043F33C: +/* 0043F33C 89CC0000 */ lwl $t4, ($t6) +/* 0043F340 99CC0003 */ lwr $t4, 3($t6) +/* 0043F344 25CE000C */ addiu $t6, $t6, 0xc +/* 0043F348 25AD000C */ addiu $t5, $t5, 0xc +/* 0043F34C A9ACFFFC */ swl $t4, -4($t5) +/* 0043F350 B9ACFFFF */ swr $t4, -1($t5) +/* 0043F354 89CAFFF8 */ lwl $t2, -8($t6) +/* 0043F358 99CAFFFB */ lwr $t2, -5($t6) +/* 0043F35C A9AA0000 */ swl $t2, ($t5) +/* 0043F360 B9AA0003 */ swr $t2, 3($t5) +/* 0043F364 89CCFFFC */ lwl $t4, -4($t6) +/* 0043F368 99CCFFFF */ lwr $t4, -1($t6) +/* 0043F36C A9AC0004 */ swl $t4, 4($t5) +/* 0043F370 15D8FFF2 */ bne $t6, $t8, .L0043F33C +/* 0043F374 B9AC0007 */ swr $t4, 7($t5) +/* 0043F378 89CC0000 */ lwl $t4, ($t6) +/* 0043F37C 99CC0003 */ lwr $t4, 3($t6) +/* 0043F380 8F998038 */ lw $t9, %got(RO_1000C9DC)($gp) +/* 0043F384 03A0C025 */ move $t8, $sp +/* 0043F388 A9AC0008 */ swl $t4, 8($t5) +/* 0043F38C B9AC000B */ swr $t4, 0xb($t5) +/* 0043F390 89CA0004 */ lwl $t2, 4($t6) +/* 0043F394 99CA0007 */ lwr $t2, 7($t6) +/* 0043F398 2739C9DC */ addiu $t9, %lo(RO_1000C9DC) # addiu $t9, $t9, -0x3624 +/* 0043F39C 272E0048 */ addiu $t6, $t9, 0x48 +/* 0043F3A0 A9AA000C */ swl $t2, 0xc($t5) +/* 0043F3A4 B9AA000F */ swr $t2, 0xf($t5) +.L0043F3A8: +/* 0043F3A8 8B2B0000 */ lwl $t3, ($t9) +/* 0043F3AC 9B2B0003 */ lwr $t3, 3($t9) +/* 0043F3B0 2739000C */ addiu $t9, $t9, 0xc +/* 0043F3B4 2718000C */ addiu $t8, $t8, 0xc +/* 0043F3B8 AB0B004C */ swl $t3, 0x4c($t8) +/* 0043F3BC BB0B004F */ swr $t3, 0x4f($t8) +/* 0043F3C0 8B2FFFF8 */ lwl $t7, -8($t9) +/* 0043F3C4 9B2FFFFB */ lwr $t7, -5($t9) +/* 0043F3C8 AB0F0050 */ swl $t7, 0x50($t8) +/* 0043F3CC BB0F0053 */ swr $t7, 0x53($t8) +/* 0043F3D0 8B2BFFFC */ lwl $t3, -4($t9) +/* 0043F3D4 9B2BFFFF */ lwr $t3, -1($t9) +/* 0043F3D8 AB0B0054 */ swl $t3, 0x54($t8) +/* 0043F3DC 172EFFF2 */ bne $t9, $t6, .L0043F3A8 +/* 0043F3E0 BB0B0057 */ swr $t3, 0x57($t8) +/* 0043F3E4 8B2B0000 */ lwl $t3, ($t9) +/* 0043F3E8 9B2B0003 */ lwr $t3, 3($t9) +/* 0043F3EC AB0B0058 */ swl $t3, 0x58($t8) +/* 0043F3F0 BB0B005B */ swr $t3, 0x5b($t8) +/* 0043F3F4 8B2F0004 */ lwl $t7, 4($t9) +/* 0043F3F8 9B2F0007 */ lwr $t7, 7($t9) +/* 0043F3FC AB0F005C */ swl $t7, 0x5c($t8) +/* 0043F400 BB0F005F */ swr $t7, 0x5f($t8) +/* 0043F404 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043F408 8FA7000C */ lw $a3, 0xc($sp) +/* 0043F40C 8FA60008 */ lw $a2, 8($sp) +/* 0043F410 0320F809 */ jalr $t9 +/* 0043F414 00000000 */ nop +/* 0043F418 8FBC00CC */ lw $gp, 0xcc($sp) +.L0043F41C: +/* 0043F41C 8E520020 */ lw $s2, 0x20($s2) +.L0043F420: +/* 0043F420 8FA30140 */ lw $v1, 0x140($sp) +.L0043F424: +/* 0043F424 0270082A */ slt $at, $s3, $s0 +/* 0043F428 5420FE23 */ bnel $at, $zero, .L0043ECB8 +/* 0043F42C 8E4D0000 */ lw $t5, ($s2) +.L0043F430: +/* 0043F430 8FBF00D4 */ lw $ra, 0xd4($sp) +.L0043F434: +/* 0043F434 8FB000AC */ lw $s0, 0xac($sp) +/* 0043F438 8FB100B0 */ lw $s1, 0xb0($sp) +/* 0043F43C 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0043F440 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0043F444 8FB400BC */ lw $s4, 0xbc($sp) +/* 0043F448 8FB500C0 */ lw $s5, 0xc0($sp) +/* 0043F44C 8FB600C4 */ lw $s6, 0xc4($sp) +/* 0043F450 8FB700C8 */ lw $s7, 0xc8($sp) +/* 0043F454 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 0043F458 03E00008 */ jr $ra +/* 0043F45C 27BD0150 */ addiu $sp, $sp, 0x150 + .type complex_insert_init, @function + .size complex_insert_init, .-complex_insert_init + .end complex_insert_init + +glabel append_init + .ent append_init + # 0043F9E4 add_init +/* 0043F460 3C1C0FBE */ .cpload $t9 +/* 0043F464 279C05F0 */ +/* 0043F468 0399E021 */ +/* 0043F46C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0043F470 AFBF00BC */ sw $ra, 0xbc($sp) +/* 0043F474 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 0043F478 AFB100B4 */ sw $s1, 0xb4($sp) +/* 0043F47C AFB000B0 */ sw $s0, 0xb0($sp) +/* 0043F480 AFA500C4 */ sw $a1, 0xc4($sp) +/* 0043F484 90A20001 */ lbu $v0, 1($a1) +/* 0043F488 00808825 */ move $s1, $a0 +/* 0043F48C 3042001F */ andi $v0, $v0, 0x1f +/* 0043F490 304200FF */ andi $v0, $v0, 0xff +/* 0043F494 244FFFFA */ addiu $t7, $v0, -6 +/* 0043F498 2DE1000B */ sltiu $at, $t7, 0xb +/* 0043F49C 50200023 */ beql $at, $zero, .L0043F52C +/* 0043F4A0 00008025 */ move $s0, $zero +/* 0043F4A4 8F818038 */ lw $at, %got(jtbl_1000CCFC)($gp) +/* 0043F4A8 000F7880 */ sll $t7, $t7, 2 +/* 0043F4AC 002F0821 */ addu $at, $at, $t7 +/* 0043F4B0 8C2FCCFC */ lw $t7, %lo(jtbl_1000CCFC)($at) +/* 0043F4B4 01FC7821 */ addu $t7, $t7, $gp +/* 0043F4B8 01E00008 */ jr $t7 +/* 0043F4BC 00000000 */ nop +.L0043F4C0: +/* 0043F4C0 8FB800C4 */ lw $t8, 0xc4($sp) +/* 0043F4C4 02202025 */ move $a0, $s1 +/* 0043F4C8 8F0D0000 */ lw $t5, ($t8) +/* 0043F4CC AFAD0008 */ sw $t5, 8($sp) +/* 0043F4D0 8F190004 */ lw $t9, 4($t8) +/* 0043F4D4 8FA60008 */ lw $a2, 8($sp) +/* 0043F4D8 AFB9000C */ sw $t9, 0xc($sp) +/* 0043F4DC 8F0D0008 */ lw $t5, 8($t8) +/* 0043F4E0 8FA7000C */ lw $a3, 0xc($sp) +/* 0043F4E4 AFAD0010 */ sw $t5, 0x10($sp) +/* 0043F4E8 8F19000C */ lw $t9, 0xc($t8) +/* 0043F4EC AFB90014 */ sw $t9, 0x14($sp) +/* 0043F4F0 8F0D0010 */ lw $t5, 0x10($t8) +/* 0043F4F4 AFAD0018 */ sw $t5, 0x18($sp) +/* 0043F4F8 8F190014 */ lw $t9, 0x14($t8) +/* 0043F4FC AFB9001C */ sw $t9, 0x1c($sp) +/* 0043F500 8F0D0018 */ lw $t5, 0x18($t8) +/* 0043F504 AFAD0020 */ sw $t5, 0x20($sp) +/* 0043F508 8F19001C */ lw $t9, 0x1c($t8) +/* 0043F50C AFB90024 */ sw $t9, 0x24($sp) +/* 0043F510 8F99856C */ lw $t9, %call16(some_init_overlap)($gp) +/* 0043F514 0320F809 */ jalr $t9 +/* 0043F518 00000000 */ nop +/* 0043F51C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043F520 10000002 */ b .L0043F52C +/* 0043F524 00408025 */ move $s0, $v0 +.L0043F528: +/* 0043F528 00008025 */ move $s0, $zero +.L0043F52C: +/* 0043F52C 12000019 */ beqz $s0, .L0043F594 +/* 0043F530 8FAE00C4 */ lw $t6, 0xc4($sp) +/* 0043F534 8DD80000 */ lw $t8, ($t6) +/* 0043F538 8F998574 */ lw $t9, %call16(complex_insert_init)($gp) +/* 0043F53C 02002025 */ move $a0, $s0 +/* 0043F540 AFB80008 */ sw $t8, 8($sp) +/* 0043F544 8DCF0004 */ lw $t7, 4($t6) +/* 0043F548 8FA60008 */ lw $a2, 8($sp) +/* 0043F54C 02202825 */ move $a1, $s1 +/* 0043F550 AFAF000C */ sw $t7, 0xc($sp) +/* 0043F554 8DD80008 */ lw $t8, 8($t6) +/* 0043F558 8FA7000C */ lw $a3, 0xc($sp) +/* 0043F55C AFB80010 */ sw $t8, 0x10($sp) +/* 0043F560 8DCF000C */ lw $t7, 0xc($t6) +/* 0043F564 AFAF0014 */ sw $t7, 0x14($sp) +/* 0043F568 8DD80010 */ lw $t8, 0x10($t6) +/* 0043F56C AFB80018 */ sw $t8, 0x18($sp) +/* 0043F570 8DCF0014 */ lw $t7, 0x14($t6) +/* 0043F574 AFAF001C */ sw $t7, 0x1c($sp) +/* 0043F578 8DD80018 */ lw $t8, 0x18($t6) +/* 0043F57C AFB80020 */ sw $t8, 0x20($sp) +/* 0043F580 8DCF001C */ lw $t7, 0x1c($t6) +/* 0043F584 0320F809 */ jalr $t9 +/* 0043F588 AFAF0024 */ sw $t7, 0x24($sp) +/* 0043F58C 10000110 */ b .L0043F9D0 +/* 0043F590 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0043F594: +/* 0043F594 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0043F598 24040028 */ li $a0, 40 +/* 0043F59C 24050001 */ li $a1, 1 +/* 0043F5A0 0320F809 */ jalr $t9 +/* 0043F5A4 00000000 */ nop +/* 0043F5A8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0043F5AC 14400040 */ bnez $v0, .L0043F6B0 +/* 0043F5B0 8FA700C4 */ lw $a3, 0xc4($sp) +/* 0043F5B4 8F998038 */ lw $t9, %got(RO_1000CCAC)($gp) +/* 0043F5B8 24040004 */ li $a0, 4 +/* 0043F5BC 24050275 */ li $a1, 629 +/* 0043F5C0 2739CCAC */ addiu $t9, %lo(RO_1000CCAC) # addiu $t9, $t9, -0x3354 +/* 0043F5C4 27380048 */ addiu $t8, $t9, 0x48 +/* 0043F5C8 03A07825 */ move $t7, $sp +.L0043F5CC: +/* 0043F5CC 8B2E0000 */ lwl $t6, ($t9) +/* 0043F5D0 9B2E0003 */ lwr $t6, 3($t9) +/* 0043F5D4 2739000C */ addiu $t9, $t9, 0xc +/* 0043F5D8 25EF000C */ addiu $t7, $t7, 0xc +/* 0043F5DC A9EEFFFC */ swl $t6, -4($t7) +/* 0043F5E0 B9EEFFFF */ swr $t6, -1($t7) +/* 0043F5E4 8B2DFFF8 */ lwl $t5, -8($t9) +/* 0043F5E8 9B2DFFFB */ lwr $t5, -5($t9) +/* 0043F5EC A9ED0000 */ swl $t5, ($t7) +/* 0043F5F0 B9ED0003 */ swr $t5, 3($t7) +/* 0043F5F4 8B2EFFFC */ lwl $t6, -4($t9) +/* 0043F5F8 9B2EFFFF */ lwr $t6, -1($t9) +/* 0043F5FC A9EE0004 */ swl $t6, 4($t7) +/* 0043F600 1738FFF2 */ bne $t9, $t8, .L0043F5CC +/* 0043F604 B9EE0007 */ swr $t6, 7($t7) +/* 0043F608 8B2E0000 */ lwl $t6, ($t9) +/* 0043F60C 9B2E0003 */ lwr $t6, 3($t9) +/* 0043F610 8F988038 */ lw $t8, %got(RO_1000CC5C)($gp) +/* 0043F614 A9EE0008 */ swl $t6, 8($t7) +/* 0043F618 B9EE000B */ swr $t6, 0xb($t7) +/* 0043F61C 8B2D0004 */ lwl $t5, 4($t9) +/* 0043F620 9B2D0007 */ lwr $t5, 7($t9) +/* 0043F624 2718CC5C */ addiu $t8, %lo(RO_1000CC5C) # addiu $t8, $t8, -0x33a4 +/* 0043F628 270E0048 */ addiu $t6, $t8, 0x48 +/* 0043F62C A9ED000C */ swl $t5, 0xc($t7) +/* 0043F630 B9ED000F */ swr $t5, 0xf($t7) +/* 0043F634 03A06825 */ move $t5, $sp +.L0043F638: +/* 0043F638 8B0F0000 */ lwl $t7, ($t8) +/* 0043F63C 9B0F0003 */ lwr $t7, 3($t8) +/* 0043F640 2718000C */ addiu $t8, $t8, 0xc +/* 0043F644 25AD000C */ addiu $t5, $t5, 0xc +/* 0043F648 A9AF004C */ swl $t7, 0x4c($t5) +/* 0043F64C B9AF004F */ swr $t7, 0x4f($t5) +/* 0043F650 8B19FFF8 */ lwl $t9, -8($t8) +/* 0043F654 9B19FFFB */ lwr $t9, -5($t8) +/* 0043F658 A9B90050 */ swl $t9, 0x50($t5) +/* 0043F65C B9B90053 */ swr $t9, 0x53($t5) +/* 0043F660 8B0FFFFC */ lwl $t7, -4($t8) +/* 0043F664 9B0FFFFF */ lwr $t7, -1($t8) +/* 0043F668 A9AF0054 */ swl $t7, 0x54($t5) +/* 0043F66C 170EFFF2 */ bne $t8, $t6, .L0043F638 +/* 0043F670 B9AF0057 */ swr $t7, 0x57($t5) +/* 0043F674 8B0F0000 */ lwl $t7, ($t8) +/* 0043F678 9B0F0003 */ lwr $t7, 3($t8) +/* 0043F67C A9AF0058 */ swl $t7, 0x58($t5) +/* 0043F680 B9AF005B */ swr $t7, 0x5b($t5) +/* 0043F684 8B190004 */ lwl $t9, 4($t8) +/* 0043F688 9B190007 */ lwr $t9, 7($t8) +/* 0043F68C A9B9005C */ swl $t9, 0x5c($t5) +/* 0043F690 B9B9005F */ swr $t9, 0x5f($t5) +/* 0043F694 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043F698 8FA7000C */ lw $a3, 0xc($sp) +/* 0043F69C 8FA60008 */ lw $a2, 8($sp) +/* 0043F6A0 0320F809 */ jalr $t9 +/* 0043F6A4 00000000 */ nop +/* 0043F6A8 100000C9 */ b .L0043F9D0 +/* 0043F6AC 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0043F6B0: +/* 0043F6B0 8F838904 */ lw $v1, %got(headof_inordered_inits)($gp) +/* 0043F6B4 8C6E0000 */ lw $t6, ($v1) +/* 0043F6B8 55C00006 */ bnel $t6, $zero, .L0043F6D4 +/* 0043F6BC 8E380024 */ lw $t8, 0x24($s1) +/* 0043F6C0 8F848908 */ lw $a0, %got(tailof_inordered_inits)($gp) +/* 0043F6C4 AC710000 */ sw $s1, ($v1) +/* 0043F6C8 1000000A */ b .L0043F6F4 +/* 0043F6CC AC910000 */ sw $s1, ($a0) +/* 0043F6D0 8E380024 */ lw $t8, 0x24($s1) +.L0043F6D4: +/* 0043F6D4 57000008 */ bnel $t8, $zero, .L0043F6F8 +/* 0043F6D8 8CF90000 */ lw $t9, ($a3) +/* 0043F6DC 8F848908 */ lw $a0, %got(tailof_inordered_inits)($gp) +/* 0043F6E0 8C830000 */ lw $v1, ($a0) +/* 0043F6E4 52230004 */ beql $s1, $v1, .L0043F6F8 +/* 0043F6E8 8CF90000 */ lw $t9, ($a3) +/* 0043F6EC AC710024 */ sw $s1, 0x24($v1) +/* 0043F6F0 AC910000 */ sw $s1, ($a0) +.L0043F6F4: +/* 0043F6F4 8CF90000 */ lw $t9, ($a3) +.L0043F6F8: +/* 0043F6F8 8F8689A4 */ lw $a2, %got(source_language)($gp) +/* 0043F6FC 240A0002 */ li $t2, 2 +/* 0043F700 AC590000 */ sw $t9, ($v0) +/* 0043F704 8CED0004 */ lw $t5, 4($a3) +/* 0043F708 AC4D0004 */ sw $t5, 4($v0) +/* 0043F70C 8CF90008 */ lw $t9, 8($a3) +/* 0043F710 AC590008 */ sw $t9, 8($v0) +/* 0043F714 8CED000C */ lw $t5, 0xc($a3) +/* 0043F718 AC4D000C */ sw $t5, 0xc($v0) +/* 0043F71C 8CF90010 */ lw $t9, 0x10($a3) +/* 0043F720 AC590010 */ sw $t9, 0x10($v0) +/* 0043F724 8CED0014 */ lw $t5, 0x14($a3) +/* 0043F728 AC4D0014 */ sw $t5, 0x14($v0) +/* 0043F72C 8CF90018 */ lw $t9, 0x18($a3) +/* 0043F730 AC590018 */ sw $t9, 0x18($v0) +/* 0043F734 8CED001C */ lw $t5, 0x1c($a3) +/* 0043F738 AC400020 */ sw $zero, 0x20($v0) +/* 0043F73C AC4D001C */ sw $t5, 0x1c($v0) +/* 0043F740 8CC60000 */ lw $a2, ($a2) +/* 0043F744 15460019 */ bne $t2, $a2, .L0043F7AC +/* 0043F748 00000000 */ nop +/* 0043F74C 8E2B001C */ lw $t3, 0x1c($s1) +/* 0043F750 11600016 */ beqz $t3, .L0043F7AC +/* 0043F754 00000000 */ nop +/* 0043F758 8F83890C */ lw $v1, %got(last_inits_handled)($gp) +/* 0043F75C 01608025 */ move $s0, $t3 +/* 0043F760 8C630000 */ lw $v1, ($v1) +/* 0043F764 10600011 */ beqz $v1, .L0043F7AC +/* 0043F768 00000000 */ nop +/* 0043F76C 8C6F0020 */ lw $t7, 0x20($v1) +/* 0043F770 11E0000E */ beqz $t7, .L0043F7AC +/* 0043F774 00000000 */ nop +/* 0043F778 8F988910 */ lw $t8, %got(last_inits_handled_blkno)($gp) +/* 0043F77C 8CEE0004 */ lw $t6, 4($a3) +/* 0043F780 8F180000 */ lw $t8, ($t8) +/* 0043F784 15D80009 */ bne $t6, $t8, .L0043F7AC +/* 0043F788 00000000 */ nop +/* 0043F78C 8C790010 */ lw $t9, 0x10($v1) +/* 0043F790 8C6F0008 */ lw $t7, 8($v1) +/* 0043F794 8CED000C */ lw $t5, 0xc($a3) +/* 0043F798 032F7021 */ addu $t6, $t9, $t7 +/* 0043F79C 01AE082A */ slt $at, $t5, $t6 +/* 0043F7A0 14200002 */ bnez $at, .L0043F7AC +/* 0043F7A4 00000000 */ nop +/* 0043F7A8 00608025 */ move $s0, $v1 +.L0043F7AC: +/* 0043F7AC 8F81890C */ lw $at, %got(last_inits_handled)($gp) +/* 0043F7B0 AC220000 */ sw $v0, ($at) +/* 0043F7B4 8C580004 */ lw $t8, 4($v0) +/* 0043F7B8 8F818910 */ lw $at, %got(last_inits_handled_blkno)($gp) +/* 0043F7BC AC380000 */ sw $t8, ($at) +/* 0043F7C0 8E2B001C */ lw $t3, 0x1c($s1) +/* 0043F7C4 55600005 */ bnel $t3, $zero, .L0043F7DC +/* 0043F7C8 8E290020 */ lw $t1, 0x20($s1) +/* 0043F7CC AE22001C */ sw $v0, 0x1c($s1) +/* 0043F7D0 1000007F */ b .L0043F9D0 +/* 0043F7D4 AE220020 */ sw $v0, 0x20($s1) +/* 0043F7D8 8E290020 */ lw $t1, 0x20($s1) +.L0043F7DC: +/* 0043F7DC 8CE5000C */ lw $a1, 0xc($a3) +/* 0043F7E0 8D39000C */ lw $t9, 0xc($t1) +/* 0043F7E4 0325082A */ slt $at, $t9, $a1 +/* 0043F7E8 50200005 */ beql $at, $zero, .L0043F800 +/* 0043F7EC 8D6C000C */ lw $t4, 0xc($t3) +/* 0043F7F0 AD220020 */ sw $v0, 0x20($t1) +/* 0043F7F4 10000076 */ b .L0043F9D0 +/* 0043F7F8 AE220020 */ sw $v0, 0x20($s1) +/* 0043F7FC 8D6C000C */ lw $t4, 0xc($t3) +.L0043F800: +/* 0043F800 00AC082A */ slt $at, $a1, $t4 +/* 0043F804 10200004 */ beqz $at, .L0043F818 +/* 0043F808 00000000 */ nop +/* 0043F80C AC4B0020 */ sw $t3, 0x20($v0) +/* 0043F810 1000006F */ b .L0043F9D0 +/* 0043F814 AE22001C */ sw $v0, 0x1c($s1) +.L0043F818: +/* 0043F818 51460003 */ beql $t2, $a2, .L0043F828 +/* 0043F81C 8E0F000C */ lw $t7, 0xc($s0) +/* 0043F820 01608025 */ move $s0, $t3 +/* 0043F824 8E0F000C */ lw $t7, 0xc($s0) +.L0043F828: +/* 0043F828 50AF0021 */ beql $a1, $t7, .L0043F8B0 +/* 0043F82C 24070001 */ li $a3, 1 +/* 0043F830 1209001E */ beq $s0, $t1, .L0043F8AC +/* 0043F834 24070001 */ li $a3, 1 +/* 0043F838 8F8889BC */ lw $t0, %got(apc)($gp) +.L0043F83C: +/* 0043F83C 8E040020 */ lw $a0, 0x20($s0) +/* 0043F840 8C83000C */ lw $v1, 0xc($a0) +/* 0043F844 00A3082A */ slt $at, $a1, $v1 +/* 0043F848 10200004 */ beqz $at, .L0043F85C +/* 0043F84C 00000000 */ nop +/* 0043F850 AC440020 */ sw $a0, 0x20($v0) +/* 0043F854 1000005E */ b .L0043F9D0 +/* 0043F858 AE020020 */ sw $v0, 0x20($s0) +.L0043F85C: +/* 0043F85C 14A30011 */ bne $a1, $v1, .L0043F8A4 +/* 0043F860 00000000 */ nop +/* 0043F864 14E60004 */ bne $a3, $a2, .L0043F878 +/* 0043F868 00000000 */ nop +/* 0043F86C 910D0000 */ lbu $t5, ($t0) +/* 0043F870 15A00003 */ bnez $t5, .L0043F880 +/* 0043F874 00000000 */ nop +.L0043F878: +/* 0043F878 1546000A */ bne $t2, $a2, .L0043F8A4 +/* 0043F87C 00000000 */ nop +.L0043F880: +/* 0043F880 55240005 */ bnel $t1, $a0, .L0043F898 +/* 0043F884 8C8E0020 */ lw $t6, 0x20($a0) +/* 0043F888 AE020020 */ sw $v0, 0x20($s0) +/* 0043F88C 10000050 */ b .L0043F9D0 +/* 0043F890 AE220020 */ sw $v0, 0x20($s1) +/* 0043F894 8C8E0020 */ lw $t6, 0x20($a0) +.L0043F898: +/* 0043F898 AC4E0020 */ sw $t6, 0x20($v0) +/* 0043F89C 1000004C */ b .L0043F9D0 +/* 0043F8A0 AE020020 */ sw $v0, 0x20($s0) +.L0043F8A4: +/* 0043F8A4 1489FFE5 */ bne $a0, $t1, .L0043F83C +/* 0043F8A8 00808025 */ move $s0, $a0 +.L0043F8AC: +/* 0043F8AC 24070001 */ li $a3, 1 +.L0043F8B0: +/* 0043F8B0 10E60003 */ beq $a3, $a2, .L0043F8C0 +/* 0043F8B4 00000000 */ nop +/* 0043F8B8 15460007 */ bne $t2, $a2, .L0043F8D8 +/* 0043F8BC 00000000 */ nop +.L0043F8C0: +/* 0043F8C0 15850005 */ bne $t4, $a1, .L0043F8D8 +/* 0043F8C4 00000000 */ nop +/* 0043F8C8 8D780020 */ lw $t8, 0x20($t3) +/* 0043F8CC AC580020 */ sw $t8, 0x20($v0) +/* 0043F8D0 1000003F */ b .L0043F9D0 +/* 0043F8D4 AE22001C */ sw $v0, 0x1c($s1) +.L0043F8D8: +/* 0043F8D8 8F998038 */ lw $t9, %got(RO_1000CC0C)($gp) +/* 0043F8DC 24040004 */ li $a0, 4 +/* 0043F8E0 240502CB */ li $a1, 715 +/* 0043F8E4 2739CC0C */ addiu $t9, %lo(RO_1000CC0C) # addiu $t9, $t9, -0x33f4 +/* 0043F8E8 27380048 */ addiu $t8, $t9, 0x48 +/* 0043F8EC 03A07025 */ move $t6, $sp +.L0043F8F0: +/* 0043F8F0 8B2D0000 */ lwl $t5, ($t9) +/* 0043F8F4 9B2D0003 */ lwr $t5, 3($t9) +/* 0043F8F8 2739000C */ addiu $t9, $t9, 0xc +/* 0043F8FC 25CE000C */ addiu $t6, $t6, 0xc +/* 0043F900 A9CDFFFC */ swl $t5, -4($t6) +/* 0043F904 B9CDFFFF */ swr $t5, -1($t6) +/* 0043F908 8B2FFFF8 */ lwl $t7, -8($t9) +/* 0043F90C 9B2FFFFB */ lwr $t7, -5($t9) +/* 0043F910 A9CF0000 */ swl $t7, ($t6) +/* 0043F914 B9CF0003 */ swr $t7, 3($t6) +/* 0043F918 8B2DFFFC */ lwl $t5, -4($t9) +/* 0043F91C 9B2DFFFF */ lwr $t5, -1($t9) +/* 0043F920 A9CD0004 */ swl $t5, 4($t6) +/* 0043F924 1738FFF2 */ bne $t9, $t8, .L0043F8F0 +/* 0043F928 B9CD0007 */ swr $t5, 7($t6) +/* 0043F92C 8B2D0000 */ lwl $t5, ($t9) +/* 0043F930 9B2D0003 */ lwr $t5, 3($t9) +/* 0043F934 8F988038 */ lw $t8, %got(RO_1000CBBC)($gp) +/* 0043F938 A9CD0008 */ swl $t5, 8($t6) +/* 0043F93C B9CD000B */ swr $t5, 0xb($t6) +/* 0043F940 8B2F0004 */ lwl $t7, 4($t9) +/* 0043F944 9B2F0007 */ lwr $t7, 7($t9) +/* 0043F948 2718CBBC */ addiu $t8, %lo(RO_1000CBBC) # addiu $t8, $t8, -0x3444 +/* 0043F94C 270D0048 */ addiu $t5, $t8, 0x48 +/* 0043F950 A9CF000C */ swl $t7, 0xc($t6) +/* 0043F954 B9CF000F */ swr $t7, 0xf($t6) +/* 0043F958 03A07825 */ move $t7, $sp +.L0043F95C: +/* 0043F95C 8B0E0000 */ lwl $t6, ($t8) +/* 0043F960 9B0E0003 */ lwr $t6, 3($t8) +/* 0043F964 2718000C */ addiu $t8, $t8, 0xc +/* 0043F968 25EF000C */ addiu $t7, $t7, 0xc +/* 0043F96C A9EE004C */ swl $t6, 0x4c($t7) +/* 0043F970 B9EE004F */ swr $t6, 0x4f($t7) +/* 0043F974 8B19FFF8 */ lwl $t9, -8($t8) +/* 0043F978 9B19FFFB */ lwr $t9, -5($t8) +/* 0043F97C A9F90050 */ swl $t9, 0x50($t7) +/* 0043F980 B9F90053 */ swr $t9, 0x53($t7) +/* 0043F984 8B0EFFFC */ lwl $t6, -4($t8) +/* 0043F988 9B0EFFFF */ lwr $t6, -1($t8) +/* 0043F98C A9EE0054 */ swl $t6, 0x54($t7) +/* 0043F990 170DFFF2 */ bne $t8, $t5, .L0043F95C +/* 0043F994 B9EE0057 */ swr $t6, 0x57($t7) +/* 0043F998 8B0E0000 */ lwl $t6, ($t8) +/* 0043F99C 9B0E0003 */ lwr $t6, 3($t8) +/* 0043F9A0 A9EE0058 */ swl $t6, 0x58($t7) +/* 0043F9A4 B9EE005B */ swr $t6, 0x5b($t7) +/* 0043F9A8 8B190004 */ lwl $t9, 4($t8) +/* 0043F9AC 9B190007 */ lwr $t9, 7($t8) +/* 0043F9B0 A9F9005C */ swl $t9, 0x5c($t7) +/* 0043F9B4 B9F9005F */ swr $t9, 0x5f($t7) +/* 0043F9B8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043F9BC 8FA7000C */ lw $a3, 0xc($sp) +/* 0043F9C0 8FA60008 */ lw $a2, 8($sp) +/* 0043F9C4 0320F809 */ jalr $t9 +/* 0043F9C8 00000000 */ nop +/* 0043F9CC 8FBC00B8 */ lw $gp, 0xb8($sp) +.L0043F9D0: +/* 0043F9D0 8FBF00BC */ lw $ra, 0xbc($sp) +/* 0043F9D4 8FB000B0 */ lw $s0, 0xb0($sp) +/* 0043F9D8 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0043F9DC 03E00008 */ jr $ra +/* 0043F9E0 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type append_init, @function + .size append_init, .-append_init + .end append_init + +glabel add_init + .ent add_init + # 0040F4C8 build_tree +/* 0043F9E4 3C1C0FBE */ .cpload $t9 +/* 0043F9E8 279C006C */ +/* 0043F9EC 0399E021 */ +/* 0043F9F0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043F9F4 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 0043F9F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043F9FC AFBC0018 */ sw $gp, 0x18($sp) +/* 0043FA00 AFA40020 */ sw $a0, 0x20($sp) +/* 0043FA04 0320F809 */ jalr $t9 +/* 0043FA08 8C840004 */ lw $a0, 4($a0) +/* 0043FA0C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043FA10 00402025 */ move $a0, $v0 +/* 0043FA14 8FA50020 */ lw $a1, 0x20($sp) +/* 0043FA18 8F998578 */ lw $t9, %call16(append_init)($gp) +/* 0043FA1C 0320F809 */ jalr $t9 +/* 0043FA20 00000000 */ nop +/* 0043FA24 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043FA28 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043FA2C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043FA30 03E00008 */ jr $ra +/* 0043FA34 00000000 */ nop + .type add_init, @function + .size add_init, .-add_init + .end add_init + +glabel choose_area + .ent choose_area + # 00440398 emit_symbol +/* 0043FA38 3C1C0FBE */ .cpload $t9 +/* 0043FA3C 279C0018 */ +/* 0043FA40 0399E021 */ +/* 0043FA44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043FA48 308200FF */ andi $v0, $a0, 0xff +/* 0043FA4C 2C410006 */ sltiu $at, $v0, 6 +/* 0043FA50 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043FA54 AFBC0018 */ sw $gp, 0x18($sp) +/* 0043FA58 10200042 */ beqz $at, .L0043FB64 +/* 0043FA5C AFA40020 */ sw $a0, 0x20($sp) +/* 0043FA60 8F818038 */ lw $at, %got(jtbl_1000CD30)($gp) +/* 0043FA64 00027080 */ sll $t6, $v0, 2 +/* 0043FA68 002E0821 */ addu $at, $at, $t6 +/* 0043FA6C 8C2ECD30 */ lw $t6, %lo(jtbl_1000CD30)($at) +/* 0043FA70 01DC7021 */ addu $t6, $t6, $gp +/* 0043FA74 01C00008 */ jr $t6 +/* 0043FA78 00000000 */ nop +.L0043FA7C: +/* 0043FA7C 8F8F8990 */ lw $t7, %got(sdata_max)($gp) +/* 0043FA80 8DEF0000 */ lw $t7, ($t7) +/* 0043FA84 01E5082A */ slt $at, $t7, $a1 +/* 0043FA88 10200008 */ beqz $at, .L0043FAAC +/* 0043FA8C 00000000 */ nop +/* 0043FA90 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FA94 2404000A */ li $a0, 10 +/* 0043FA98 00002825 */ move $a1, $zero +/* 0043FA9C 0320F809 */ jalr $t9 +/* 0043FAA0 00000000 */ nop +/* 0043FAA4 10000037 */ b .L0043FB84 +/* 0043FAA8 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FAAC: +/* 0043FAAC 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FAB0 24040019 */ li $a0, 25 +/* 0043FAB4 00002825 */ move $a1, $zero +/* 0043FAB8 0320F809 */ jalr $t9 +/* 0043FABC 00000000 */ nop +/* 0043FAC0 10000030 */ b .L0043FB84 +/* 0043FAC4 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FAC8: +/* 0043FAC8 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FACC 2404001A */ li $a0, 26 +/* 0043FAD0 00002825 */ move $a1, $zero +/* 0043FAD4 0320F809 */ jalr $t9 +/* 0043FAD8 00000000 */ nop +/* 0043FADC 10000029 */ b .L0043FB84 +/* 0043FAE0 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FAE4: +/* 0043FAE4 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FAE8 24040019 */ li $a0, 25 +/* 0043FAEC 00002825 */ move $a1, $zero +/* 0043FAF0 0320F809 */ jalr $t9 +/* 0043FAF4 00000000 */ nop +/* 0043FAF8 10000022 */ b .L0043FB84 +/* 0043FAFC 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FB00: +/* 0043FB00 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FB04 2404000A */ li $a0, 10 +/* 0043FB08 00002825 */ move $a1, $zero +/* 0043FB0C 0320F809 */ jalr $t9 +/* 0043FB10 00000000 */ nop +/* 0043FB14 1000001B */ b .L0043FB84 +/* 0043FB18 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FB1C: +/* 0043FB1C 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FB20 24040015 */ li $a0, 21 +/* 0043FB24 00002825 */ move $a1, $zero +/* 0043FB28 0320F809 */ jalr $t9 +/* 0043FB2C 00000000 */ nop +/* 0043FB30 10000014 */ b .L0043FB84 +/* 0043FB34 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FB38: +/* 0043FB38 8F98896C */ lw $t8, %got(excpt)($gp) +/* 0043FB3C 93180000 */ lbu $t8, ($t8) +/* 0043FB40 53000011 */ beql $t8, $zero, .L0043FB88 +/* 0043FB44 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043FB48 8F99828C */ lw $t9, %call16(demit_edata)($gp) +/* 0043FB4C 00002025 */ move $a0, $zero +/* 0043FB50 00002825 */ move $a1, $zero +/* 0043FB54 0320F809 */ jalr $t9 +/* 0043FB58 00003025 */ move $a2, $zero +/* 0043FB5C 10000009 */ b .L0043FB84 +/* 0043FB60 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FB64: +/* 0043FB64 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0043FB68 8F868038 */ lw $a2, %got(RO_1000CD28)($gp) +/* 0043FB6C 24040001 */ li $a0, 1 +/* 0043FB70 240502DA */ li $a1, 730 +/* 0043FB74 24070008 */ li $a3, 8 +/* 0043FB78 0320F809 */ jalr $t9 +/* 0043FB7C 24C6CD28 */ addiu $a2, %lo(RO_1000CD28) # addiu $a2, $a2, -0x32d8 +/* 0043FB80 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FB84: +/* 0043FB84 8FBF001C */ lw $ra, 0x1c($sp) +.L0043FB88: +/* 0043FB88 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043FB8C 03E00008 */ jr $ra +/* 0043FB90 00000000 */ nop + .type choose_area, @function + .size choose_area, .-choose_area + .end choose_area + +glabel force_alignment + .ent force_alignment + # 00440398 emit_symbol +/* 0043FB94 3C1C0FBE */ .cpload $t9 +/* 0043FB98 279CFEBC */ +/* 0043FB9C 0399E021 */ +/* 0043FBA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0043FBA4 308700FF */ andi $a3, $a0, 0xff +/* 0043FBA8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0043FBAC AFBC0018 */ sw $gp, 0x18($sp) +/* 0043FBB0 10E00007 */ beqz $a3, .L0043FBD0 +/* 0043FBB4 AFA40020 */ sw $a0, 0x20($sp) +/* 0043FBB8 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0043FBBC 24040004 */ li $a0, 4 +/* 0043FBC0 00002825 */ move $a1, $zero +/* 0043FBC4 0320F809 */ jalr $t9 +/* 0043FBC8 00E03025 */ move $a2, $a3 +/* 0043FBCC 8FBC0018 */ lw $gp, 0x18($sp) +.L0043FBD0: +/* 0043FBD0 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0043FBD4 24040004 */ li $a0, 4 +/* 0043FBD8 00002825 */ move $a1, $zero +/* 0043FBDC 0320F809 */ jalr $t9 +/* 0043FBE0 00003025 */ move $a2, $zero +/* 0043FBE4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0043FBE8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0043FBEC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0043FBF0 03E00008 */ jr $ra +/* 0043FBF4 00000000 */ nop + .type force_alignment, @function + .size force_alignment, .-force_alignment + .end force_alignment + +glabel emit_init + .ent emit_init + # 00440398 emit_symbol +/* 0043FBF8 3C1C0FBE */ .cpload $t9 +/* 0043FBFC 279CFE58 */ +/* 0043FC00 0399E021 */ +/* 0043FC04 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 0043FC08 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FC0C AFA400D8 */ sw $a0, 0xd8($sp) +/* 0043FC10 8FAE00D8 */ lw $t6, 0xd8($sp) +/* 0043FC14 AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0043FC18 AFBC00D0 */ sw $gp, 0xd0($sp) +/* 0043FC1C AFB700CC */ sw $s7, 0xcc($sp) +/* 0043FC20 AFB600C8 */ sw $s6, 0xc8($sp) +/* 0043FC24 AFB500C4 */ sw $s5, 0xc4($sp) +/* 0043FC28 AFB400C0 */ sw $s4, 0xc0($sp) +/* 0043FC2C AFB300BC */ sw $s3, 0xbc($sp) +/* 0043FC30 AFB200B8 */ sw $s2, 0xb8($sp) +/* 0043FC34 AFB100B4 */ sw $s1, 0xb4($sp) +/* 0043FC38 AFB000B0 */ sw $s0, 0xb0($sp) +/* 0043FC3C 00002025 */ move $a0, $zero +/* 0043FC40 0320F809 */ jalr $t9 +/* 0043FC44 8DC50000 */ lw $a1, ($t6) +/* 0043FC48 8FAF00D8 */ lw $t7, 0xd8($sp) +/* 0043FC4C 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 0043FC50 8DF00028 */ lw $s0, 0x28($t7) +/* 0043FC54 52000015 */ beql $s0, $zero, .L0043FCAC +/* 0043FC58 8FB900D8 */ lw $t9, 0xd8($sp) +/* 0043FC5C 24110001 */ li $s1, 1 +/* 0043FC60 8E180004 */ lw $t8, 4($s0) +.L0043FC64: +/* 0043FC64 16380007 */ bne $s1, $t8, .L0043FC84 +/* 0043FC68 00000000 */ nop +/* 0043FC6C 8F998290 */ lw $t9, %call16(demit_weakext)($gp) +/* 0043FC70 8E040000 */ lw $a0, ($s0) +/* 0043FC74 00002825 */ move $a1, $zero +/* 0043FC78 0320F809 */ jalr $t9 +/* 0043FC7C 00000000 */ nop +/* 0043FC80 8FBC00D0 */ lw $gp, 0xd0($sp) +.L0043FC84: +/* 0043FC84 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0043FC88 00002025 */ move $a0, $zero +/* 0043FC8C 8E050000 */ lw $a1, ($s0) +/* 0043FC90 0320F809 */ jalr $t9 +/* 0043FC94 00000000 */ nop +/* 0043FC98 8E100008 */ lw $s0, 8($s0) +/* 0043FC9C 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 0043FCA0 5600FFF0 */ bnel $s0, $zero, .L0043FC64 +/* 0043FCA4 8E180004 */ lw $t8, 4($s0) +/* 0043FCA8 8FB900D8 */ lw $t9, 0xd8($sp) +.L0043FCAC: +/* 0043FCAC 3C15FFFF */ lui $s5, 0xffff +/* 0043FCB0 00008025 */ move $s0, $zero +/* 0043FCB4 8F33001C */ lw $s3, 0x1c($t9) +/* 0043FCB8 36B50001 */ ori $s5, $s5, 1 +/* 0043FCBC 24170002 */ li $s7, 2 +/* 0043FCC0 1260011A */ beqz $s3, .L0044012C +/* 0043FCC4 3C140001 */ lui $s4, 1 +.L0043FCC8: +/* 0043FCC8 8F9986B0 */ lw $t9, %call16(find_val_type)($gp) +/* 0043FCCC 8E760008 */ lw $s6, 8($s3) +/* 0043FCD0 92640001 */ lbu $a0, 1($s3) +/* 0043FCD4 02C02825 */ move $a1, $s6 +/* 0043FCD8 0320F809 */ jalr $t9 +/* 0043FCDC 3084001F */ andi $a0, $a0, 0x1f +/* 0043FCE0 8E68000C */ lw $t0, 0xc($s3) +/* 0043FCE4 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 0043FCE8 305200FF */ andi $s2, $v0, 0xff +/* 0043FCEC 01103023 */ subu $a2, $t0, $s0 +/* 0043FCF0 50C0008C */ beql $a2, $zero, .L0043FF24 +/* 0043FCF4 24010008 */ li $at, 8 +/* 0043FCF8 04C10083 */ bgez $a2, .L0043FF08 +/* 0043FCFC 00000000 */ nop +/* 0043FD00 8F8989A4 */ lw $t1, %got(source_language)($gp) +/* 0043FD04 24050325 */ li $a1, 805 +/* 0043FD08 24040004 */ li $a0, 4 +/* 0043FD0C 8D290000 */ lw $t1, ($t1) +/* 0043FD10 16E9003F */ bne $s7, $t1, .L0043FE10 +/* 0043FD14 00000000 */ nop +/* 0043FD18 8F8A8038 */ lw $t2, %got(RO_1000D018)($gp) +/* 0043FD1C 24040002 */ li $a0, 2 +/* 0043FD20 03A06825 */ move $t5, $sp +/* 0043FD24 254AD018 */ addiu $t2, %lo(RO_1000D018) # addiu $t2, $t2, -0x2fe8 +/* 0043FD28 254E0048 */ addiu $t6, $t2, 0x48 +.L0043FD2C: +/* 0043FD2C 894C0000 */ lwl $t4, ($t2) +/* 0043FD30 994C0003 */ lwr $t4, 3($t2) +/* 0043FD34 254A000C */ addiu $t2, $t2, 0xc +/* 0043FD38 25AD000C */ addiu $t5, $t5, 0xc +/* 0043FD3C A9ACFFFC */ swl $t4, -4($t5) +/* 0043FD40 B9ACFFFF */ swr $t4, -1($t5) +/* 0043FD44 894BFFF8 */ lwl $t3, -8($t2) +/* 0043FD48 994BFFFB */ lwr $t3, -5($t2) +/* 0043FD4C A9AB0000 */ swl $t3, ($t5) +/* 0043FD50 B9AB0003 */ swr $t3, 3($t5) +/* 0043FD54 894CFFFC */ lwl $t4, -4($t2) +/* 0043FD58 994CFFFF */ lwr $t4, -1($t2) +/* 0043FD5C A9AC0004 */ swl $t4, 4($t5) +/* 0043FD60 154EFFF2 */ bne $t2, $t6, .L0043FD2C +/* 0043FD64 B9AC0007 */ swr $t4, 7($t5) +/* 0043FD68 894C0000 */ lwl $t4, ($t2) +/* 0043FD6C 994C0003 */ lwr $t4, 3($t2) +/* 0043FD70 8F8F8038 */ lw $t7, %got(RO_1000CFC8)($gp) +/* 0043FD74 03A04025 */ move $t0, $sp +/* 0043FD78 A9AC0008 */ swl $t4, 8($t5) +/* 0043FD7C B9AC000B */ swr $t4, 0xb($t5) +/* 0043FD80 894B0004 */ lwl $t3, 4($t2) +/* 0043FD84 994B0007 */ lwr $t3, 7($t2) +/* 0043FD88 25EFCFC8 */ addiu $t7, %lo(RO_1000CFC8) # addiu $t7, $t7, -0x3038 +/* 0043FD8C 25E90048 */ addiu $t1, $t7, 0x48 +/* 0043FD90 A9AB000C */ swl $t3, 0xc($t5) +/* 0043FD94 B9AB000F */ swr $t3, 0xf($t5) +.L0043FD98: +/* 0043FD98 89F90000 */ lwl $t9, ($t7) +/* 0043FD9C 99F90003 */ lwr $t9, 3($t7) +/* 0043FDA0 25EF000C */ addiu $t7, $t7, 0xc +/* 0043FDA4 2508000C */ addiu $t0, $t0, 0xc +/* 0043FDA8 A919004C */ swl $t9, 0x4c($t0) +/* 0043FDAC B919004F */ swr $t9, 0x4f($t0) +/* 0043FDB0 89F8FFF8 */ lwl $t8, -8($t7) +/* 0043FDB4 99F8FFFB */ lwr $t8, -5($t7) +/* 0043FDB8 A9180050 */ swl $t8, 0x50($t0) +/* 0043FDBC B9180053 */ swr $t8, 0x53($t0) +/* 0043FDC0 89F9FFFC */ lwl $t9, -4($t7) +/* 0043FDC4 99F9FFFF */ lwr $t9, -1($t7) +/* 0043FDC8 A9190054 */ swl $t9, 0x54($t0) +/* 0043FDCC 15E9FFF2 */ bne $t7, $t1, .L0043FD98 +/* 0043FDD0 B9190057 */ swr $t9, 0x57($t0) +/* 0043FDD4 89F90000 */ lwl $t9, ($t7) +/* 0043FDD8 99F90003 */ lwr $t9, 3($t7) +/* 0043FDDC A9190058 */ swl $t9, 0x58($t0) +/* 0043FDE0 B919005B */ swr $t9, 0x5b($t0) +/* 0043FDE4 89F80004 */ lwl $t8, 4($t7) +/* 0043FDE8 99F80007 */ lwr $t8, 7($t7) +/* 0043FDEC A918005C */ swl $t8, 0x5c($t0) +/* 0043FDF0 B918005F */ swr $t8, 0x5f($t0) +/* 0043FDF4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043FDF8 8FA7000C */ lw $a3, 0xc($sp) +/* 0043FDFC 8FA60008 */ lw $a2, 8($sp) +/* 0043FE00 0320F809 */ jalr $t9 +/* 0043FE04 00000000 */ nop +/* 0043FE08 1000003E */ b .L0043FF04 +/* 0043FE0C 8FBC00D0 */ lw $gp, 0xd0($sp) +.L0043FE10: +/* 0043FE10 8F8E8038 */ lw $t6, %got(RO_1000CF78)($gp) +/* 0043FE14 2405032A */ li $a1, 810 +/* 0043FE18 03A05825 */ move $t3, $sp +/* 0043FE1C 25CECF78 */ addiu $t6, %lo(RO_1000CF78) # addiu $t6, $t6, -0x3088 +/* 0043FE20 25CC0048 */ addiu $t4, $t6, 0x48 +.L0043FE24: +/* 0043FE24 89CD0000 */ lwl $t5, ($t6) +/* 0043FE28 99CD0003 */ lwr $t5, 3($t6) +/* 0043FE2C 25CE000C */ addiu $t6, $t6, 0xc +/* 0043FE30 256B000C */ addiu $t3, $t3, 0xc +/* 0043FE34 A96DFFFC */ swl $t5, -4($t3) +/* 0043FE38 B96DFFFF */ swr $t5, -1($t3) +/* 0043FE3C 89CAFFF8 */ lwl $t2, -8($t6) +/* 0043FE40 99CAFFFB */ lwr $t2, -5($t6) +/* 0043FE44 A96A0000 */ swl $t2, ($t3) +/* 0043FE48 B96A0003 */ swr $t2, 3($t3) +/* 0043FE4C 89CDFFFC */ lwl $t5, -4($t6) +/* 0043FE50 99CDFFFF */ lwr $t5, -1($t6) +/* 0043FE54 A96D0004 */ swl $t5, 4($t3) +/* 0043FE58 15CCFFF2 */ bne $t6, $t4, .L0043FE24 +/* 0043FE5C B96D0007 */ swr $t5, 7($t3) +/* 0043FE60 89CD0000 */ lwl $t5, ($t6) +/* 0043FE64 99CD0003 */ lwr $t5, 3($t6) +/* 0043FE68 8F898038 */ lw $t1, %got(RO_1000CF28)($gp) +/* 0043FE6C 03A0C025 */ move $t8, $sp +/* 0043FE70 A96D0008 */ swl $t5, 8($t3) +/* 0043FE74 B96D000B */ swr $t5, 0xb($t3) +/* 0043FE78 89CA0004 */ lwl $t2, 4($t6) +/* 0043FE7C 99CA0007 */ lwr $t2, 7($t6) +/* 0043FE80 2529CF28 */ addiu $t1, %lo(RO_1000CF28) # addiu $t1, $t1, -0x30d8 +/* 0043FE84 25390048 */ addiu $t9, $t1, 0x48 +/* 0043FE88 A96A000C */ swl $t2, 0xc($t3) +/* 0043FE8C B96A000F */ swr $t2, 0xf($t3) +.L0043FE90: +/* 0043FE90 89280000 */ lwl $t0, ($t1) +/* 0043FE94 99280003 */ lwr $t0, 3($t1) +/* 0043FE98 2529000C */ addiu $t1, $t1, 0xc +/* 0043FE9C 2718000C */ addiu $t8, $t8, 0xc +/* 0043FEA0 AB08004C */ swl $t0, 0x4c($t8) +/* 0043FEA4 BB08004F */ swr $t0, 0x4f($t8) +/* 0043FEA8 892FFFF8 */ lwl $t7, -8($t1) +/* 0043FEAC 992FFFFB */ lwr $t7, -5($t1) +/* 0043FEB0 AB0F0050 */ swl $t7, 0x50($t8) +/* 0043FEB4 BB0F0053 */ swr $t7, 0x53($t8) +/* 0043FEB8 8928FFFC */ lwl $t0, -4($t1) +/* 0043FEBC 9928FFFF */ lwr $t0, -1($t1) +/* 0043FEC0 AB080054 */ swl $t0, 0x54($t8) +/* 0043FEC4 1539FFF2 */ bne $t1, $t9, .L0043FE90 +/* 0043FEC8 BB080057 */ swr $t0, 0x57($t8) +/* 0043FECC 89280000 */ lwl $t0, ($t1) +/* 0043FED0 99280003 */ lwr $t0, 3($t1) +/* 0043FED4 AB080058 */ swl $t0, 0x58($t8) +/* 0043FED8 BB08005B */ swr $t0, 0x5b($t8) +/* 0043FEDC 892F0004 */ lwl $t7, 4($t1) +/* 0043FEE0 992F0007 */ lwr $t7, 7($t1) +/* 0043FEE4 AB0F005C */ swl $t7, 0x5c($t8) +/* 0043FEE8 BB0F005F */ swr $t7, 0x5f($t8) +/* 0043FEEC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0043FEF0 8FA7000C */ lw $a3, 0xc($sp) +/* 0043FEF4 8FA60008 */ lw $a2, 8($sp) +/* 0043FEF8 0320F809 */ jalr $t9 +/* 0043FEFC 00000000 */ nop +/* 0043FF00 8FBC00D0 */ lw $gp, 0xd0($sp) +.L0043FF04: +/* 0043FF04 00003025 */ move $a2, $zero +.L0043FF08: +/* 0043FF08 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0043FF0C 24040014 */ li $a0, 20 +/* 0043FF10 00002825 */ move $a1, $zero +/* 0043FF14 0320F809 */ jalr $t9 +/* 0043FF18 00000000 */ nop +/* 0043FF1C 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 0043FF20 24010008 */ li $at, 8 +.L0043FF24: +/* 0043FF24 56410053 */ bnel $s2, $at, .L00440074 +/* 0043FF28 8E630010 */ lw $v1, 0x10($s3) +/* 0043FF2C 96620002 */ lhu $v0, 2($s3) +/* 0043FF30 10400047 */ beqz $v0, .L00440050 +/* 0043FF34 00000000 */ nop +/* 0043FF38 16D70008 */ bne $s6, $s7, .L0043FF5C +/* 0043FF3C 24040002 */ li $a0, 2 +/* 0043FF40 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 0043FF44 24040039 */ li $a0, 57 +/* 0043FF48 00002825 */ move $a1, $zero +/* 0043FF4C 0320F809 */ jalr $t9 +/* 0043FF50 00403025 */ move $a2, $v0 +/* 0043FF54 1000003E */ b .L00440050 +/* 0043FF58 8FBC00D0 */ lw $gp, 0xd0($sp) +.L0043FF5C: +/* 0043FF5C 8F8C8038 */ lw $t4, %got(RO_1000CED8)($gp) +/* 0043FF60 24050339 */ li $a1, 825 +/* 0043FF64 03A05025 */ move $t2, $sp +/* 0043FF68 258CCED8 */ addiu $t4, %lo(RO_1000CED8) # addiu $t4, $t4, -0x3128 +/* 0043FF6C 258D0048 */ addiu $t5, $t4, 0x48 +.L0043FF70: +/* 0043FF70 898B0000 */ lwl $t3, ($t4) +/* 0043FF74 998B0003 */ lwr $t3, 3($t4) +/* 0043FF78 258C000C */ addiu $t4, $t4, 0xc +/* 0043FF7C 254A000C */ addiu $t2, $t2, 0xc +/* 0043FF80 A94BFFFC */ swl $t3, -4($t2) +/* 0043FF84 B94BFFFF */ swr $t3, -1($t2) +/* 0043FF88 898EFFF8 */ lwl $t6, -8($t4) +/* 0043FF8C 998EFFFB */ lwr $t6, -5($t4) +/* 0043FF90 A94E0000 */ swl $t6, ($t2) +/* 0043FF94 B94E0003 */ swr $t6, 3($t2) +/* 0043FF98 898BFFFC */ lwl $t3, -4($t4) +/* 0043FF9C 998BFFFF */ lwr $t3, -1($t4) +/* 0043FFA0 A94B0004 */ swl $t3, 4($t2) +/* 0043FFA4 158DFFF2 */ bne $t4, $t5, .L0043FF70 +/* 0043FFA8 B94B0007 */ swr $t3, 7($t2) +/* 0043FFAC 898B0000 */ lwl $t3, ($t4) +/* 0043FFB0 998B0003 */ lwr $t3, 3($t4) +/* 0043FFB4 8F998038 */ lw $t9, %got(RO_1000CE88)($gp) +/* 0043FFB8 03A07825 */ move $t7, $sp +/* 0043FFBC A94B0008 */ swl $t3, 8($t2) +/* 0043FFC0 B94B000B */ swr $t3, 0xb($t2) +/* 0043FFC4 898E0004 */ lwl $t6, 4($t4) +/* 0043FFC8 998E0007 */ lwr $t6, 7($t4) +/* 0043FFCC 2739CE88 */ addiu $t9, %lo(RO_1000CE88) # addiu $t9, $t9, -0x3178 +/* 0043FFD0 27280048 */ addiu $t0, $t9, 0x48 +/* 0043FFD4 A94E000C */ swl $t6, 0xc($t2) +/* 0043FFD8 B94E000F */ swr $t6, 0xf($t2) +.L0043FFDC: +/* 0043FFDC 8B380000 */ lwl $t8, ($t9) +/* 0043FFE0 9B380003 */ lwr $t8, 3($t9) +/* 0043FFE4 2739000C */ addiu $t9, $t9, 0xc +/* 0043FFE8 25EF000C */ addiu $t7, $t7, 0xc +/* 0043FFEC A9F8004C */ swl $t8, 0x4c($t7) +/* 0043FFF0 B9F8004F */ swr $t8, 0x4f($t7) +/* 0043FFF4 8B29FFF8 */ lwl $t1, -8($t9) +/* 0043FFF8 9B29FFFB */ lwr $t1, -5($t9) +/* 0043FFFC A9E90050 */ swl $t1, 0x50($t7) +/* 00440000 B9E90053 */ swr $t1, 0x53($t7) +/* 00440004 8B38FFFC */ lwl $t8, -4($t9) +/* 00440008 9B38FFFF */ lwr $t8, -1($t9) +/* 0044000C A9F80054 */ swl $t8, 0x54($t7) +/* 00440010 1728FFF2 */ bne $t9, $t0, .L0043FFDC +/* 00440014 B9F80057 */ swr $t8, 0x57($t7) +/* 00440018 8B380000 */ lwl $t8, ($t9) +/* 0044001C 9B380003 */ lwr $t8, 3($t9) +/* 00440020 A9F80058 */ swl $t8, 0x58($t7) +/* 00440024 B9F8005B */ swr $t8, 0x5b($t7) +/* 00440028 8B290004 */ lwl $t1, 4($t9) +/* 0044002C 9B290007 */ lwr $t1, 7($t9) +/* 00440030 A9E9005C */ swl $t1, 0x5c($t7) +/* 00440034 B9E9005F */ swr $t1, 0x5f($t7) +/* 00440038 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044003C 8FA7000C */ lw $a3, 0xc($sp) +/* 00440040 8FA60008 */ lw $a2, 8($sp) +/* 00440044 0320F809 */ jalr $t9 +/* 00440048 00000000 */ nop +/* 0044004C 8FBC00D0 */ lw $gp, 0xd0($sp) +.L00440050: +/* 00440050 8F9986AC */ lw $t9, %call16(emit_label_val)($gp) +/* 00440054 00002025 */ move $a0, $zero +/* 00440058 8E650018 */ lw $a1, 0x18($s3) +/* 0044005C 8E660014 */ lw $a2, 0x14($s3) +/* 00440060 0320F809 */ jalr $t9 +/* 00440064 02C03825 */ move $a3, $s6 +/* 00440068 1000002B */ b .L00440118 +/* 0044006C 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 00440070 8E630010 */ lw $v1, 0x10($s3) +.L00440074: +/* 00440074 8E62000C */ lw $v0, 0xc($s3) +/* 00440078 1062001F */ beq $v1, $v0, .L004400F8 +/* 0044007C 00626823 */ subu $t5, $v1, $v0 +/* 00440080 01B6001A */ div $zero, $t5, $s6 +/* 00440084 16C00002 */ bnez $s6, .L00440090 +/* 00440088 00000000 */ nop +/* 0044008C 0007000D */ break 7 +.L00440090: +/* 00440090 2401FFFF */ li $at, -1 +/* 00440094 16C10004 */ bne $s6, $at, .L004400A8 +/* 00440098 3C018000 */ lui $at, 0x8000 +/* 0044009C 15A10002 */ bne $t5, $at, .L004400A8 +/* 004400A0 00000000 */ nop +/* 004400A4 0006000D */ break 6 +.L004400A8: +/* 004400A8 00008012 */ mflo $s0 +/* 004400AC 26100001 */ addiu $s0, $s0, 1 +/* 004400B0 0214082A */ slt $at, $s0, $s4 +/* 004400B4 1420000D */ bnez $at, .L004400EC +/* 004400B8 0214082A */ slt $at, $s0, $s4 +/* 004400BC 1420000B */ bnez $at, .L004400EC +/* 004400C0 26710018 */ addiu $s1, $s3, 0x18 +.L004400C4: +/* 004400C4 8F9986A8 */ lw $t9, %call16(emit_val)($gp) +/* 004400C8 00002025 */ move $a0, $zero +/* 004400CC 02402825 */ move $a1, $s2 +/* 004400D0 02203025 */ move $a2, $s1 +/* 004400D4 0320F809 */ jalr $t9 +/* 004400D8 3407FFFF */ li $a3, 65535 +/* 004400DC 02158021 */ addu $s0, $s0, $s5 +/* 004400E0 0214082A */ slt $at, $s0, $s4 +/* 004400E4 1020FFF7 */ beqz $at, .L004400C4 +/* 004400E8 8FBC00D0 */ lw $gp, 0xd0($sp) +.L004400EC: +/* 004400EC 02003825 */ move $a3, $s0 +/* 004400F0 10000003 */ b .L00440100 +/* 004400F4 26710018 */ addiu $s1, $s3, 0x18 +.L004400F8: +/* 004400F8 24070001 */ li $a3, 1 +/* 004400FC 26710018 */ addiu $s1, $s3, 0x18 +.L00440100: +/* 00440100 8F9986A8 */ lw $t9, %call16(emit_val)($gp) +/* 00440104 00002025 */ move $a0, $zero +/* 00440108 02402825 */ move $a1, $s2 +/* 0044010C 0320F809 */ jalr $t9 +/* 00440110 02203025 */ move $a2, $s1 +/* 00440114 8FBC00D0 */ lw $gp, 0xd0($sp) +.L00440118: +/* 00440118 8E6C0010 */ lw $t4, 0x10($s3) +/* 0044011C 8E730020 */ lw $s3, 0x20($s3) +/* 00440120 01968021 */ addu $s0, $t4, $s6 +/* 00440124 1660FEE8 */ bnez $s3, .L0043FCC8 +/* 00440128 00000000 */ nop +.L0044012C: +/* 0044012C 8FAA00D8 */ lw $t2, 0xd8($sp) +/* 00440130 24170002 */ li $s7, 2 +/* 00440134 8D4E0010 */ lw $t6, 0x10($t2) +/* 00440138 01D03023 */ subu $a2, $t6, $s0 +/* 0044013C 50C0008C */ beql $a2, $zero, .L00440370 +/* 00440140 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 00440144 04C10083 */ bgez $a2, .L00440354 +/* 00440148 00000000 */ nop +/* 0044014C 8F8B89A4 */ lw $t3, %got(source_language)($gp) +/* 00440150 24050364 */ li $a1, 868 +/* 00440154 24040002 */ li $a0, 2 +/* 00440158 8D6B0000 */ lw $t3, ($t3) +/* 0044015C 16EB003F */ bne $s7, $t3, .L0044025C +/* 00440160 00000000 */ nop +/* 00440164 8F888038 */ lw $t0, %got(RO_1000CE38)($gp) +/* 00440168 24040002 */ li $a0, 2 +/* 0044016C 03A04825 */ move $t1, $sp +/* 00440170 2508CE38 */ addiu $t0, %lo(RO_1000CE38) # addiu $t0, $t0, -0x31c8 +/* 00440174 25180048 */ addiu $t8, $t0, 0x48 +.L00440178: +/* 00440178 890F0000 */ lwl $t7, ($t0) +/* 0044017C 990F0003 */ lwr $t7, 3($t0) +/* 00440180 2508000C */ addiu $t0, $t0, 0xc +/* 00440184 2529000C */ addiu $t1, $t1, 0xc +/* 00440188 A92FFFFC */ swl $t7, -4($t1) +/* 0044018C B92FFFFF */ swr $t7, -1($t1) +/* 00440190 8919FFF8 */ lwl $t9, -8($t0) +/* 00440194 9919FFFB */ lwr $t9, -5($t0) +/* 00440198 A9390000 */ swl $t9, ($t1) +/* 0044019C B9390003 */ swr $t9, 3($t1) +/* 004401A0 890FFFFC */ lwl $t7, -4($t0) +/* 004401A4 990FFFFF */ lwr $t7, -1($t0) +/* 004401A8 A92F0004 */ swl $t7, 4($t1) +/* 004401AC 1518FFF2 */ bne $t0, $t8, .L00440178 +/* 004401B0 B92F0007 */ swr $t7, 7($t1) +/* 004401B4 890F0000 */ lwl $t7, ($t0) +/* 004401B8 990F0003 */ lwr $t7, 3($t0) +/* 004401BC 8F8D8038 */ lw $t5, %got(RO_1000CDE8)($gp) +/* 004401C0 03A07025 */ move $t6, $sp +/* 004401C4 A92F0008 */ swl $t7, 8($t1) +/* 004401C8 B92F000B */ swr $t7, 0xb($t1) +/* 004401CC 89190004 */ lwl $t9, 4($t0) +/* 004401D0 99190007 */ lwr $t9, 7($t0) +/* 004401D4 25ADCDE8 */ addiu $t5, %lo(RO_1000CDE8) # addiu $t5, $t5, -0x3218 +/* 004401D8 25AB0048 */ addiu $t3, $t5, 0x48 +/* 004401DC A939000C */ swl $t9, 0xc($t1) +/* 004401E0 B939000F */ swr $t9, 0xf($t1) +.L004401E4: +/* 004401E4 89AA0000 */ lwl $t2, ($t5) +/* 004401E8 99AA0003 */ lwr $t2, 3($t5) +/* 004401EC 25AD000C */ addiu $t5, $t5, 0xc +/* 004401F0 25CE000C */ addiu $t6, $t6, 0xc +/* 004401F4 A9CA004C */ swl $t2, 0x4c($t6) +/* 004401F8 B9CA004F */ swr $t2, 0x4f($t6) +/* 004401FC 89ACFFF8 */ lwl $t4, -8($t5) +/* 00440200 99ACFFFB */ lwr $t4, -5($t5) +/* 00440204 A9CC0050 */ swl $t4, 0x50($t6) +/* 00440208 B9CC0053 */ swr $t4, 0x53($t6) +/* 0044020C 89AAFFFC */ lwl $t2, -4($t5) +/* 00440210 99AAFFFF */ lwr $t2, -1($t5) +/* 00440214 A9CA0054 */ swl $t2, 0x54($t6) +/* 00440218 15ABFFF2 */ bne $t5, $t3, .L004401E4 +/* 0044021C B9CA0057 */ swr $t2, 0x57($t6) +/* 00440220 89AA0000 */ lwl $t2, ($t5) +/* 00440224 99AA0003 */ lwr $t2, 3($t5) +/* 00440228 A9CA0058 */ swl $t2, 0x58($t6) +/* 0044022C B9CA005B */ swr $t2, 0x5b($t6) +/* 00440230 89AC0004 */ lwl $t4, 4($t5) +/* 00440234 99AC0007 */ lwr $t4, 7($t5) +/* 00440238 A9CC005C */ swl $t4, 0x5c($t6) +/* 0044023C B9CC005F */ swr $t4, 0x5f($t6) +/* 00440240 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00440244 8FA7000C */ lw $a3, 0xc($sp) +/* 00440248 8FA60008 */ lw $a2, 8($sp) +/* 0044024C 0320F809 */ jalr $t9 +/* 00440250 00000000 */ nop +/* 00440254 1000003E */ b .L00440350 +/* 00440258 8FBC00D0 */ lw $gp, 0xd0($sp) +.L0044025C: +/* 0044025C 8F988038 */ lw $t8, %got(RO_1000CD98)($gp) +/* 00440260 24050369 */ li $a1, 873 +/* 00440264 03A0C825 */ move $t9, $sp +/* 00440268 2718CD98 */ addiu $t8, %lo(RO_1000CD98) # addiu $t8, $t8, -0x3268 +/* 0044026C 270F0048 */ addiu $t7, $t8, 0x48 +.L00440270: +/* 00440270 8B090000 */ lwl $t1, ($t8) +/* 00440274 9B090003 */ lwr $t1, 3($t8) +/* 00440278 2718000C */ addiu $t8, $t8, 0xc +/* 0044027C 2739000C */ addiu $t9, $t9, 0xc +/* 00440280 AB29FFFC */ swl $t1, -4($t9) +/* 00440284 BB29FFFF */ swr $t1, -1($t9) +/* 00440288 8B08FFF8 */ lwl $t0, -8($t8) +/* 0044028C 9B08FFFB */ lwr $t0, -5($t8) +/* 00440290 AB280000 */ swl $t0, ($t9) +/* 00440294 BB280003 */ swr $t0, 3($t9) +/* 00440298 8B09FFFC */ lwl $t1, -4($t8) +/* 0044029C 9B09FFFF */ lwr $t1, -1($t8) +/* 004402A0 AB290004 */ swl $t1, 4($t9) +/* 004402A4 170FFFF2 */ bne $t8, $t7, .L00440270 +/* 004402A8 BB290007 */ swr $t1, 7($t9) +/* 004402AC 8B090000 */ lwl $t1, ($t8) +/* 004402B0 9B090003 */ lwr $t1, 3($t8) +/* 004402B4 8F8B8038 */ lw $t3, %got(RO_1000CD48)($gp) +/* 004402B8 03A06025 */ move $t4, $sp +/* 004402BC AB290008 */ swl $t1, 8($t9) +/* 004402C0 BB29000B */ swr $t1, 0xb($t9) +/* 004402C4 8B080004 */ lwl $t0, 4($t8) +/* 004402C8 9B080007 */ lwr $t0, 7($t8) +/* 004402CC 256BCD48 */ addiu $t3, %lo(RO_1000CD48) # addiu $t3, $t3, -0x32b8 +/* 004402D0 256A0048 */ addiu $t2, $t3, 0x48 +/* 004402D4 AB28000C */ swl $t0, 0xc($t9) +/* 004402D8 BB28000F */ swr $t0, 0xf($t9) +.L004402DC: +/* 004402DC 896E0000 */ lwl $t6, ($t3) +/* 004402E0 996E0003 */ lwr $t6, 3($t3) +/* 004402E4 256B000C */ addiu $t3, $t3, 0xc +/* 004402E8 258C000C */ addiu $t4, $t4, 0xc +/* 004402EC A98E004C */ swl $t6, 0x4c($t4) +/* 004402F0 B98E004F */ swr $t6, 0x4f($t4) +/* 004402F4 896DFFF8 */ lwl $t5, -8($t3) +/* 004402F8 996DFFFB */ lwr $t5, -5($t3) +/* 004402FC A98D0050 */ swl $t5, 0x50($t4) +/* 00440300 B98D0053 */ swr $t5, 0x53($t4) +/* 00440304 896EFFFC */ lwl $t6, -4($t3) +/* 00440308 996EFFFF */ lwr $t6, -1($t3) +/* 0044030C A98E0054 */ swl $t6, 0x54($t4) +/* 00440310 156AFFF2 */ bne $t3, $t2, .L004402DC +/* 00440314 B98E0057 */ swr $t6, 0x57($t4) +/* 00440318 896E0000 */ lwl $t6, ($t3) +/* 0044031C 996E0003 */ lwr $t6, 3($t3) +/* 00440320 A98E0058 */ swl $t6, 0x58($t4) +/* 00440324 B98E005B */ swr $t6, 0x5b($t4) +/* 00440328 896D0004 */ lwl $t5, 4($t3) +/* 0044032C 996D0007 */ lwr $t5, 7($t3) +/* 00440330 A98D005C */ swl $t5, 0x5c($t4) +/* 00440334 B98D005F */ swr $t5, 0x5f($t4) +/* 00440338 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044033C 8FA7000C */ lw $a3, 0xc($sp) +/* 00440340 8FA60008 */ lw $a2, 8($sp) +/* 00440344 0320F809 */ jalr $t9 +/* 00440348 00000000 */ nop +/* 0044034C 8FBC00D0 */ lw $gp, 0xd0($sp) +.L00440350: +/* 00440350 00003025 */ move $a2, $zero +.L00440354: +/* 00440354 8F998284 */ lw $t9, %call16(demit_dir1)($gp) +/* 00440358 24040014 */ li $a0, 20 +/* 0044035C 00002825 */ move $a1, $zero +/* 00440360 0320F809 */ jalr $t9 +/* 00440364 00000000 */ nop +/* 00440368 8FBC00D0 */ lw $gp, 0xd0($sp) +/* 0044036C 8FBF00D4 */ lw $ra, 0xd4($sp) +.L00440370: +/* 00440370 8FB000B0 */ lw $s0, 0xb0($sp) +/* 00440374 8FB100B4 */ lw $s1, 0xb4($sp) +/* 00440378 8FB200B8 */ lw $s2, 0xb8($sp) +/* 0044037C 8FB300BC */ lw $s3, 0xbc($sp) +/* 00440380 8FB400C0 */ lw $s4, 0xc0($sp) +/* 00440384 8FB500C4 */ lw $s5, 0xc4($sp) +/* 00440388 8FB600C8 */ lw $s6, 0xc8($sp) +/* 0044038C 8FB700CC */ lw $s7, 0xcc($sp) +/* 00440390 03E00008 */ jr $ra +/* 00440394 27BD00D8 */ addiu $sp, $sp, 0xd8 + .type emit_init, @function + .size emit_init, .-emit_init + .end emit_init + +glabel emit_symbol + .ent emit_symbol + # 00440724 output_decls +/* 00440398 3C1C0FBE */ .cpload $t9 +/* 0044039C 279CF6B8 */ +/* 004403A0 0399E021 */ +/* 004403A4 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 004403A8 AFBF00BC */ sw $ra, 0xbc($sp) +/* 004403AC AFBC00B8 */ sw $gp, 0xb8($sp) +/* 004403B0 AFB100B4 */ sw $s1, 0xb4($sp) +/* 004403B4 AFB000B0 */ sw $s0, 0xb0($sp) +/* 004403B8 9083000C */ lbu $v1, 0xc($a0) +/* 004403BC 00808825 */ move $s1, $a0 +/* 004403C0 246EFFFF */ addiu $t6, $v1, -1 +/* 004403C4 2DC1000A */ sltiu $at, $t6, 0xa +/* 004403C8 10200093 */ beqz $at, .L00440618 +/* 004403CC 00000000 */ nop +/* 004403D0 8F818038 */ lw $at, %got(jtbl_1000D108)($gp) +/* 004403D4 000E7080 */ sll $t6, $t6, 2 +/* 004403D8 002E0821 */ addu $at, $at, $t6 +/* 004403DC 8C2ED108 */ lw $t6, %lo(jtbl_1000D108)($at) +/* 004403E0 01DC7021 */ addu $t6, $t6, $gp +/* 004403E4 01C00008 */ jr $t6 +/* 004403E8 00000000 */ nop +.L004403EC: +/* 004403EC 8E300010 */ lw $s0, 0x10($s1) +/* 004403F0 520000C8 */ beql $s0, $zero, .L00440714 +/* 004403F4 8FBF00BC */ lw $ra, 0xbc($sp) +/* 004403F8 922F0018 */ lbu $t7, 0x18($s1) +/* 004403FC 24010002 */ li $at, 2 +/* 00440400 02003025 */ move $a2, $s0 +/* 00440404 15E10008 */ bne $t7, $at, .L00440428 +/* 00440408 2404002D */ li $a0, 45 +/* 0044040C 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 00440410 2404002D */ li $a0, 45 +/* 00440414 8E250000 */ lw $a1, ($s1) +/* 00440418 0320F809 */ jalr $t9 +/* 0044041C 24070001 */ li $a3, 1 +/* 00440420 100000BB */ b .L00440710 +/* 00440424 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440428: +/* 00440428 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 0044042C 8E250000 */ lw $a1, ($s1) +/* 00440430 02003025 */ move $a2, $s0 +/* 00440434 0320F809 */ jalr $t9 +/* 00440438 00003825 */ move $a3, $zero +/* 0044043C 100000B4 */ b .L00440710 +/* 00440440 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440444: +/* 00440444 24010002 */ li $at, 2 +/* 00440448 54610008 */ bnel $v1, $at, .L0044046C +/* 0044044C 8E300010 */ lw $s0, 0x10($s1) +/* 00440450 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00440454 24040002 */ li $a0, 2 +/* 00440458 8E250000 */ lw $a1, ($s1) +/* 0044045C 0320F809 */ jalr $t9 +/* 00440460 00000000 */ nop +/* 00440464 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00440468 8E300010 */ lw $s0, 0x10($s1) +.L0044046C: +/* 0044046C 520000A9 */ beql $s0, $zero, .L00440714 +/* 00440470 8FBF00BC */ lw $ra, 0xbc($sp) +/* 00440474 8E38001C */ lw $t8, 0x1c($s1) +/* 00440478 17000014 */ bnez $t8, .L004404CC +/* 0044047C 00000000 */ nop +/* 00440480 92390018 */ lbu $t9, 0x18($s1) +/* 00440484 24010002 */ li $at, 2 +/* 00440488 02003025 */ move $a2, $s0 +/* 0044048C 17210008 */ bne $t9, $at, .L004404B0 +/* 00440490 24040009 */ li $a0, 9 +/* 00440494 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 00440498 24040009 */ li $a0, 9 +/* 0044049C 8E250000 */ lw $a1, ($s1) +/* 004404A0 0320F809 */ jalr $t9 +/* 004404A4 24070001 */ li $a3, 1 +/* 004404A8 10000099 */ b .L00440710 +/* 004404AC 8FBC00B8 */ lw $gp, 0xb8($sp) +.L004404B0: +/* 004404B0 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 004404B4 8E250000 */ lw $a1, ($s1) +/* 004404B8 02003025 */ move $a2, $s0 +/* 004404BC 0320F809 */ jalr $t9 +/* 004404C0 00003825 */ move $a3, $zero +/* 004404C4 10000092 */ b .L00440710 +/* 004404C8 8FBC00B8 */ lw $gp, 0xb8($sp) +.L004404CC: +/* 004404CC 8F998580 */ lw $t9, %call16(choose_area)($gp) +/* 004404D0 92240018 */ lbu $a0, 0x18($s1) +/* 004404D4 02002825 */ move $a1, $s0 +/* 004404D8 0320F809 */ jalr $t9 +/* 004404DC 00000000 */ nop +/* 004404E0 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004404E4 9224000E */ lbu $a0, 0xe($s1) +/* 004404E8 8F998584 */ lw $t9, %call16(force_alignment)($gp) +/* 004404EC 0320F809 */ jalr $t9 +/* 004404F0 00000000 */ nop +/* 004404F4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004404F8 02202025 */ move $a0, $s1 +/* 004404FC 8F998588 */ lw $t9, %call16(emit_init)($gp) +/* 00440500 0320F809 */ jalr $t9 +/* 00440504 00000000 */ nop +/* 00440508 10000081 */ b .L00440710 +/* 0044050C 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440510: +/* 00440510 8E28001C */ lw $t0, 0x1c($s1) +/* 00440514 15000017 */ bnez $t0, .L00440574 +/* 00440518 00000000 */ nop +/* 0044051C 8E300010 */ lw $s0, 0x10($s1) +/* 00440520 5200007C */ beql $s0, $zero, .L00440714 +/* 00440524 8FBF00BC */ lw $ra, 0xbc($sp) +/* 00440528 92290018 */ lbu $t1, 0x18($s1) +/* 0044052C 24010002 */ li $at, 2 +/* 00440530 02003025 */ move $a2, $s0 +/* 00440534 15210008 */ bne $t1, $at, .L00440558 +/* 00440538 24040008 */ li $a0, 8 +/* 0044053C 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 00440540 24040008 */ li $a0, 8 +/* 00440544 8E250000 */ lw $a1, ($s1) +/* 00440548 0320F809 */ jalr $t9 +/* 0044054C 24070001 */ li $a3, 1 +/* 00440550 1000006F */ b .L00440710 +/* 00440554 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440558: +/* 00440558 8F998288 */ lw $t9, %call16(demit_dir2)($gp) +/* 0044055C 8E250000 */ lw $a1, ($s1) +/* 00440560 02003025 */ move $a2, $s0 +/* 00440564 0320F809 */ jalr $t9 +/* 00440568 00003825 */ move $a3, $zero +/* 0044056C 10000068 */ b .L00440710 +/* 00440570 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440574: +/* 00440574 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00440578 24040002 */ li $a0, 2 +/* 0044057C 8E250000 */ lw $a1, ($s1) +/* 00440580 0320F809 */ jalr $t9 +/* 00440584 00000000 */ nop +/* 00440588 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044058C 92240018 */ lbu $a0, 0x18($s1) +/* 00440590 8E250010 */ lw $a1, 0x10($s1) +/* 00440594 8F998580 */ lw $t9, %call16(choose_area)($gp) +/* 00440598 0320F809 */ jalr $t9 +/* 0044059C 00000000 */ nop +/* 004405A0 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004405A4 24040003 */ li $a0, 3 +/* 004405A8 8F998584 */ lw $t9, %call16(force_alignment)($gp) +/* 004405AC 0320F809 */ jalr $t9 +/* 004405B0 00000000 */ nop +/* 004405B4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004405B8 02202025 */ move $a0, $s1 +/* 004405BC 8F998588 */ lw $t9, %call16(emit_init)($gp) +/* 004405C0 0320F809 */ jalr $t9 +/* 004405C4 00000000 */ nop +/* 004405C8 10000051 */ b .L00440710 +/* 004405CC 8FBC00B8 */ lw $gp, 0xb8($sp) +.L004405D0: +/* 004405D0 8E300028 */ lw $s0, 0x28($s1) +/* 004405D4 5200004F */ beql $s0, $zero, .L00440714 +/* 004405D8 8FBF00BC */ lw $ra, 0xbc($sp) +/* 004405DC 8E0A0004 */ lw $t2, 4($s0) +.L004405E0: +/* 004405E0 24010001 */ li $at, 1 +/* 004405E4 55410008 */ bnel $t2, $at, .L00440608 +/* 004405E8 8E100008 */ lw $s0, 8($s0) +/* 004405EC 8F998290 */ lw $t9, %call16(demit_weakext)($gp) +/* 004405F0 8E040000 */ lw $a0, ($s0) +/* 004405F4 8E250000 */ lw $a1, ($s1) +/* 004405F8 0320F809 */ jalr $t9 +/* 004405FC 00000000 */ nop +/* 00440600 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00440604 8E100008 */ lw $s0, 8($s0) +.L00440608: +/* 00440608 5600FFF5 */ bnel $s0, $zero, .L004405E0 +/* 0044060C 8E0A0004 */ lw $t2, 4($s0) +/* 00440610 10000040 */ b .L00440714 +/* 00440614 8FBF00BC */ lw $ra, 0xbc($sp) +.L00440618: +/* 00440618 8F8B8038 */ lw $t3, %got(RO_1000D0B8)($gp) +/* 0044061C 24040004 */ li $a0, 4 +/* 00440620 240503BC */ li $a1, 956 +/* 00440624 256BD0B8 */ addiu $t3, %lo(RO_1000D0B8) # addiu $t3, $t3, -0x2f48 +/* 00440628 256F0048 */ addiu $t7, $t3, 0x48 +/* 0044062C 03A07025 */ move $t6, $sp +.L00440630: +/* 00440630 896D0000 */ lwl $t5, ($t3) +/* 00440634 996D0003 */ lwr $t5, 3($t3) +/* 00440638 256B000C */ addiu $t3, $t3, 0xc +/* 0044063C 25CE000C */ addiu $t6, $t6, 0xc +/* 00440640 A9CDFFFC */ swl $t5, -4($t6) +/* 00440644 B9CDFFFF */ swr $t5, -1($t6) +/* 00440648 896CFFF8 */ lwl $t4, -8($t3) +/* 0044064C 996CFFFB */ lwr $t4, -5($t3) +/* 00440650 A9CC0000 */ swl $t4, ($t6) +/* 00440654 B9CC0003 */ swr $t4, 3($t6) +/* 00440658 896DFFFC */ lwl $t5, -4($t3) +/* 0044065C 996DFFFF */ lwr $t5, -1($t3) +/* 00440660 A9CD0004 */ swl $t5, 4($t6) +/* 00440664 156FFFF2 */ bne $t3, $t7, .L00440630 +/* 00440668 B9CD0007 */ swr $t5, 7($t6) +/* 0044066C 896D0000 */ lwl $t5, ($t3) +/* 00440670 996D0003 */ lwr $t5, 3($t3) +/* 00440674 8F988038 */ lw $t8, %got(RO_1000D068)($gp) +/* 00440678 03A04825 */ move $t1, $sp +/* 0044067C A9CD0008 */ swl $t5, 8($t6) +/* 00440680 B9CD000B */ swr $t5, 0xb($t6) +/* 00440684 896C0004 */ lwl $t4, 4($t3) +/* 00440688 996C0007 */ lwr $t4, 7($t3) +/* 0044068C 2718D068 */ addiu $t8, %lo(RO_1000D068) # addiu $t8, $t8, -0x2f98 +/* 00440690 270A0048 */ addiu $t2, $t8, 0x48 +/* 00440694 A9CC000C */ swl $t4, 0xc($t6) +/* 00440698 B9CC000F */ swr $t4, 0xf($t6) +.L0044069C: +/* 0044069C 8B080000 */ lwl $t0, ($t8) +/* 004406A0 9B080003 */ lwr $t0, 3($t8) +/* 004406A4 2718000C */ addiu $t8, $t8, 0xc +/* 004406A8 2529000C */ addiu $t1, $t1, 0xc +/* 004406AC A928004C */ swl $t0, 0x4c($t1) +/* 004406B0 B928004F */ swr $t0, 0x4f($t1) +/* 004406B4 8B19FFF8 */ lwl $t9, -8($t8) +/* 004406B8 9B19FFFB */ lwr $t9, -5($t8) +/* 004406BC A9390050 */ swl $t9, 0x50($t1) +/* 004406C0 B9390053 */ swr $t9, 0x53($t1) +/* 004406C4 8B08FFFC */ lwl $t0, -4($t8) +/* 004406C8 9B08FFFF */ lwr $t0, -1($t8) +/* 004406CC A9280054 */ swl $t0, 0x54($t1) +/* 004406D0 170AFFF2 */ bne $t8, $t2, .L0044069C +/* 004406D4 B9280057 */ swr $t0, 0x57($t1) +/* 004406D8 8B080000 */ lwl $t0, ($t8) +/* 004406DC 9B080003 */ lwr $t0, 3($t8) +/* 004406E0 A9280058 */ swl $t0, 0x58($t1) +/* 004406E4 B928005B */ swr $t0, 0x5b($t1) +/* 004406E8 8B190004 */ lwl $t9, 4($t8) +/* 004406EC 9B190007 */ lwr $t9, 7($t8) +/* 004406F0 A939005C */ swl $t9, 0x5c($t1) +/* 004406F4 B939005F */ swr $t9, 0x5f($t1) +/* 004406F8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004406FC 8FA7000C */ lw $a3, 0xc($sp) +/* 00440700 8FA60008 */ lw $a2, 8($sp) +/* 00440704 0320F809 */ jalr $t9 +/* 00440708 00000000 */ nop +/* 0044070C 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440710: +/* 00440710 8FBF00BC */ lw $ra, 0xbc($sp) +.L00440714: +/* 00440714 8FB000B0 */ lw $s0, 0xb0($sp) +/* 00440718 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0044071C 03E00008 */ jr $ra +/* 00440720 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type emit_symbol, @function + .size emit_symbol, .-emit_symbol + .end emit_symbol + +glabel output_decls + .ent output_decls + # 0044BF18 main +/* 00440724 3C1C0FBE */ .cpload $t9 +/* 00440728 279CF32C */ +/* 0044072C 0399E021 */ +/* 00440730 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00440734 AFB30024 */ sw $s3, 0x24($sp) +/* 00440738 8F938904 */ lw $s3, %got(headof_inordered_inits)($gp) +/* 0044073C AFB00018 */ sw $s0, 0x18($sp) +/* 00440740 AFBF002C */ sw $ra, 0x2c($sp) +/* 00440744 8E700000 */ lw $s0, ($s3) +/* 00440748 AFBC0028 */ sw $gp, 0x28($sp) +/* 0044074C AFB20020 */ sw $s2, 0x20($sp) +/* 00440750 1200000B */ beqz $s0, .L00440780 +/* 00440754 AFB1001C */ sw $s1, 0x1c($sp) +/* 00440758 2411FFFF */ li $s1, -1 +.L0044075C: +/* 0044075C 8F99858C */ lw $t9, %call16(emit_symbol)($gp) +/* 00440760 02002025 */ move $a0, $s0 +/* 00440764 0320F809 */ jalr $t9 +/* 00440768 00000000 */ nop +/* 0044076C AE110000 */ sw $s1, ($s0) +/* 00440770 8E100024 */ lw $s0, 0x24($s0) +/* 00440774 8FBC0028 */ lw $gp, 0x28($sp) +/* 00440778 1600FFF8 */ bnez $s0, .L0044075C +/* 0044077C 00000000 */ nop +.L00440780: +/* 00440780 8F818908 */ lw $at, %got(tailof_inordered_inits)($gp) +/* 00440784 8F928BD8 */ lw $s2, %got(sym_hash_tab)($gp) +/* 00440788 AE600000 */ sw $zero, ($s3) +/* 0044078C 2411FFFF */ li $s1, -1 +/* 00440790 AC200000 */ sw $zero, ($at) +/* 00440794 26530400 */ addiu $s3, $s2, 0x400 +/* 00440798 8E420000 */ lw $v0, ($s2) +.L0044079C: +/* 0044079C 5040000F */ beql $v0, $zero, .L004407DC +/* 004407A0 26520004 */ addiu $s2, $s2, 4 +/* 004407A4 1040000C */ beqz $v0, .L004407D8 +/* 004407A8 00408025 */ move $s0, $v0 +/* 004407AC 8E0E0000 */ lw $t6, ($s0) +.L004407B0: +/* 004407B0 522E0007 */ beql $s1, $t6, .L004407D0 +/* 004407B4 8E100008 */ lw $s0, 8($s0) +/* 004407B8 8F99858C */ lw $t9, %call16(emit_symbol)($gp) +/* 004407BC 02002025 */ move $a0, $s0 +/* 004407C0 0320F809 */ jalr $t9 +/* 004407C4 00000000 */ nop +/* 004407C8 8FBC0028 */ lw $gp, 0x28($sp) +/* 004407CC 8E100008 */ lw $s0, 8($s0) +.L004407D0: +/* 004407D0 5600FFF7 */ bnel $s0, $zero, .L004407B0 +/* 004407D4 8E0E0000 */ lw $t6, ($s0) +.L004407D8: +/* 004407D8 26520004 */ addiu $s2, $s2, 4 +.L004407DC: +/* 004407DC 5653FFEF */ bnel $s2, $s3, .L0044079C +/* 004407E0 8E420000 */ lw $v0, ($s2) +/* 004407E4 8FBF002C */ lw $ra, 0x2c($sp) +/* 004407E8 8FB00018 */ lw $s0, 0x18($sp) +/* 004407EC 8FB1001C */ lw $s1, 0x1c($sp) +/* 004407F0 8FB20020 */ lw $s2, 0x20($sp) +/* 004407F4 8FB30024 */ lw $s3, 0x24($sp) +/* 004407F8 03E00008 */ jr $ra +/* 004407FC 27BD0030 */ addiu $sp, $sp, 0x30 + .type output_decls, @function + .size output_decls, .-output_decls + .end output_decls + +glabel output_entry_point + .ent output_entry_point + # 00420810 gen_entry_exit +/* 00440800 3C1C0FBE */ .cpload $t9 +/* 00440804 279CF250 */ +/* 00440808 0399E021 */ +/* 0044080C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00440810 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 00440814 AFBF00BC */ sw $ra, 0xbc($sp) +/* 00440818 AFB000AC */ sw $s0, 0xac($sp) +/* 0044081C 00808025 */ move $s0, $a0 +/* 00440820 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 00440824 AFB200B4 */ sw $s2, 0xb4($sp) +/* 00440828 0320F809 */ jalr $t9 +/* 0044082C AFB100B0 */ sw $s1, 0xb0($sp) +/* 00440830 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00440834 14400040 */ bnez $v0, .L00440938 +/* 00440838 00409025 */ move $s2, $v0 +/* 0044083C 8F8E8038 */ lw $t6, %got(RO_1000D180)($gp) +/* 00440840 24040004 */ li $a0, 4 +/* 00440844 240503E7 */ li $a1, 999 +/* 00440848 25CED180 */ addiu $t6, %lo(RO_1000D180) # addiu $t6, $t6, -0x2e80 +/* 0044084C 25C80048 */ addiu $t0, $t6, 0x48 +/* 00440850 03A0C825 */ move $t9, $sp +.L00440854: +/* 00440854 89D80000 */ lwl $t8, ($t6) +/* 00440858 99D80003 */ lwr $t8, 3($t6) +/* 0044085C 25CE000C */ addiu $t6, $t6, 0xc +/* 00440860 2739000C */ addiu $t9, $t9, 0xc +/* 00440864 AB38FFFC */ swl $t8, -4($t9) +/* 00440868 BB38FFFF */ swr $t8, -1($t9) +/* 0044086C 89CFFFF8 */ lwl $t7, -8($t6) +/* 00440870 99CFFFFB */ lwr $t7, -5($t6) +/* 00440874 AB2F0000 */ swl $t7, ($t9) +/* 00440878 BB2F0003 */ swr $t7, 3($t9) +/* 0044087C 89D8FFFC */ lwl $t8, -4($t6) +/* 00440880 99D8FFFF */ lwr $t8, -1($t6) +/* 00440884 AB380004 */ swl $t8, 4($t9) +/* 00440888 15C8FFF2 */ bne $t6, $t0, .L00440854 +/* 0044088C BB380007 */ swr $t8, 7($t9) +/* 00440890 89D80000 */ lwl $t8, ($t6) +/* 00440894 99D80003 */ lwr $t8, 3($t6) +/* 00440898 8F898038 */ lw $t1, %got(RO_1000D130)($gp) +/* 0044089C 03A06025 */ move $t4, $sp +/* 004408A0 AB380008 */ swl $t8, 8($t9) +/* 004408A4 BB38000B */ swr $t8, 0xb($t9) +/* 004408A8 89CF0004 */ lwl $t7, 4($t6) +/* 004408AC 99CF0007 */ lwr $t7, 7($t6) +/* 004408B0 2529D130 */ addiu $t1, %lo(RO_1000D130) # addiu $t1, $t1, -0x2ed0 +/* 004408B4 252D0048 */ addiu $t5, $t1, 0x48 +/* 004408B8 AB2F000C */ swl $t7, 0xc($t9) +/* 004408BC BB2F000F */ swr $t7, 0xf($t9) +.L004408C0: +/* 004408C0 892B0000 */ lwl $t3, ($t1) +/* 004408C4 992B0003 */ lwr $t3, 3($t1) +/* 004408C8 2529000C */ addiu $t1, $t1, 0xc +/* 004408CC 258C000C */ addiu $t4, $t4, 0xc +/* 004408D0 A98B004C */ swl $t3, 0x4c($t4) +/* 004408D4 B98B004F */ swr $t3, 0x4f($t4) +/* 004408D8 892AFFF8 */ lwl $t2, -8($t1) +/* 004408DC 992AFFFB */ lwr $t2, -5($t1) +/* 004408E0 A98A0050 */ swl $t2, 0x50($t4) +/* 004408E4 B98A0053 */ swr $t2, 0x53($t4) +/* 004408E8 892BFFFC */ lwl $t3, -4($t1) +/* 004408EC 992BFFFF */ lwr $t3, -1($t1) +/* 004408F0 A98B0054 */ swl $t3, 0x54($t4) +/* 004408F4 152DFFF2 */ bne $t1, $t5, .L004408C0 +/* 004408F8 B98B0057 */ swr $t3, 0x57($t4) +/* 004408FC 892B0000 */ lwl $t3, ($t1) +/* 00440900 992B0003 */ lwr $t3, 3($t1) +/* 00440904 A98B0058 */ swl $t3, 0x58($t4) +/* 00440908 B98B005B */ swr $t3, 0x5b($t4) +/* 0044090C 892A0004 */ lwl $t2, 4($t1) +/* 00440910 992A0007 */ lwr $t2, 7($t1) +/* 00440914 A98A005C */ swl $t2, 0x5c($t4) +/* 00440918 B98A005F */ swr $t2, 0x5f($t4) +/* 0044091C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00440920 8FA7000C */ lw $a3, 0xc($sp) +/* 00440924 8FA60008 */ lw $a2, 8($sp) +/* 00440928 0320F809 */ jalr $t9 +/* 0044092C 00000000 */ nop +/* 00440930 1000001D */ b .L004409A8 +/* 00440934 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440938: +/* 00440938 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0044093C 00002025 */ move $a0, $zero +/* 00440940 02002825 */ move $a1, $s0 +/* 00440944 0320F809 */ jalr $t9 +/* 00440948 00000000 */ nop +/* 0044094C 8E500028 */ lw $s0, 0x28($s2) +/* 00440950 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00440954 2411000A */ li $s1, 10 +/* 00440958 52000014 */ beql $s0, $zero, .L004409AC +/* 0044095C 8FBF00BC */ lw $ra, 0xbc($sp) +/* 00440960 9248000C */ lbu $t0, 0xc($s2) +.L00440964: +/* 00440964 16280007 */ bne $s1, $t0, .L00440984 +/* 00440968 00000000 */ nop +/* 0044096C 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00440970 24040002 */ li $a0, 2 +/* 00440974 8E050000 */ lw $a1, ($s0) +/* 00440978 0320F809 */ jalr $t9 +/* 0044097C 00000000 */ nop +/* 00440980 8FBC00B8 */ lw $gp, 0xb8($sp) +.L00440984: +/* 00440984 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 00440988 00002025 */ move $a0, $zero +/* 0044098C 8E050000 */ lw $a1, ($s0) +/* 00440990 0320F809 */ jalr $t9 +/* 00440994 00000000 */ nop +/* 00440998 8E100008 */ lw $s0, 8($s0) +/* 0044099C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004409A0 5600FFF0 */ bnel $s0, $zero, .L00440964 +/* 004409A4 9248000C */ lbu $t0, 0xc($s2) +.L004409A8: +/* 004409A8 8FBF00BC */ lw $ra, 0xbc($sp) +.L004409AC: +/* 004409AC 8FB000AC */ lw $s0, 0xac($sp) +/* 004409B0 8FB100B0 */ lw $s1, 0xb0($sp) +/* 004409B4 8FB200B4 */ lw $s2, 0xb4($sp) +/* 004409B8 03E00008 */ jr $ra +/* 004409BC 27BD00C0 */ addiu $sp, $sp, 0xc0 + .type output_entry_point, @function + .size output_entry_point, .-output_entry_point + .end output_entry_point + +glabel change_label_number + .ent change_label_number +/* 004409C0 3C1C0FBE */ .cpload $t9 +/* 004409C4 279CF090 */ +/* 004409C8 0399E021 */ +/* 004409CC 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 004409D0 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 004409D4 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 004409D8 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 004409DC 0320F809 */ jalr $t9 +/* 004409E0 AFA500BC */ sw $a1, 0xbc($sp) +/* 004409E4 14400040 */ bnez $v0, .L00440AE8 +/* 004409E8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004409EC 8F8E8038 */ lw $t6, %got(RO_1000D220)($gp) +/* 004409F0 24040004 */ li $a0, 4 +/* 004409F4 240503FA */ li $a1, 1018 +/* 004409F8 25CED220 */ addiu $t6, %lo(RO_1000D220) # addiu $t6, $t6, -0x2de0 +/* 004409FC 25C80048 */ addiu $t0, $t6, 0x48 +/* 00440A00 03A0C825 */ move $t9, $sp +.L00440A04: +/* 00440A04 89D80000 */ lwl $t8, ($t6) +/* 00440A08 99D80003 */ lwr $t8, 3($t6) +/* 00440A0C 25CE000C */ addiu $t6, $t6, 0xc +/* 00440A10 2739000C */ addiu $t9, $t9, 0xc +/* 00440A14 AB38FFFC */ swl $t8, -4($t9) +/* 00440A18 BB38FFFF */ swr $t8, -1($t9) +/* 00440A1C 89CFFFF8 */ lwl $t7, -8($t6) +/* 00440A20 99CFFFFB */ lwr $t7, -5($t6) +/* 00440A24 AB2F0000 */ swl $t7, ($t9) +/* 00440A28 BB2F0003 */ swr $t7, 3($t9) +/* 00440A2C 89D8FFFC */ lwl $t8, -4($t6) +/* 00440A30 99D8FFFF */ lwr $t8, -1($t6) +/* 00440A34 AB380004 */ swl $t8, 4($t9) +/* 00440A38 15C8FFF2 */ bne $t6, $t0, .L00440A04 +/* 00440A3C BB380007 */ swr $t8, 7($t9) +/* 00440A40 89D80000 */ lwl $t8, ($t6) +/* 00440A44 99D80003 */ lwr $t8, 3($t6) +/* 00440A48 8F898038 */ lw $t1, %got(RO_1000D1D0)($gp) +/* 00440A4C 03A06025 */ move $t4, $sp +/* 00440A50 AB380008 */ swl $t8, 8($t9) +/* 00440A54 BB38000B */ swr $t8, 0xb($t9) +/* 00440A58 89CF0004 */ lwl $t7, 4($t6) +/* 00440A5C 99CF0007 */ lwr $t7, 7($t6) +/* 00440A60 2529D1D0 */ addiu $t1, %lo(RO_1000D1D0) # addiu $t1, $t1, -0x2e30 +/* 00440A64 252D0048 */ addiu $t5, $t1, 0x48 +/* 00440A68 AB2F000C */ swl $t7, 0xc($t9) +/* 00440A6C BB2F000F */ swr $t7, 0xf($t9) +.L00440A70: +/* 00440A70 892B0000 */ lwl $t3, ($t1) +/* 00440A74 992B0003 */ lwr $t3, 3($t1) +/* 00440A78 2529000C */ addiu $t1, $t1, 0xc +/* 00440A7C 258C000C */ addiu $t4, $t4, 0xc +/* 00440A80 A98B004C */ swl $t3, 0x4c($t4) +/* 00440A84 B98B004F */ swr $t3, 0x4f($t4) +/* 00440A88 892AFFF8 */ lwl $t2, -8($t1) +/* 00440A8C 992AFFFB */ lwr $t2, -5($t1) +/* 00440A90 A98A0050 */ swl $t2, 0x50($t4) +/* 00440A94 B98A0053 */ swr $t2, 0x53($t4) +/* 00440A98 892BFFFC */ lwl $t3, -4($t1) +/* 00440A9C 992BFFFF */ lwr $t3, -1($t1) +/* 00440AA0 A98B0054 */ swl $t3, 0x54($t4) +/* 00440AA4 152DFFF2 */ bne $t1, $t5, .L00440A70 +/* 00440AA8 B98B0057 */ swr $t3, 0x57($t4) +/* 00440AAC 892B0000 */ lwl $t3, ($t1) +/* 00440AB0 992B0003 */ lwr $t3, 3($t1) +/* 00440AB4 A98B0058 */ swl $t3, 0x58($t4) +/* 00440AB8 B98B005B */ swr $t3, 0x5b($t4) +/* 00440ABC 892A0004 */ lwl $t2, 4($t1) +/* 00440AC0 992A0007 */ lwr $t2, 7($t1) +/* 00440AC4 A98A005C */ swl $t2, 0x5c($t4) +/* 00440AC8 B98A005F */ swr $t2, 0x5f($t4) +/* 00440ACC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00440AD0 8FA7000C */ lw $a3, 0xc($sp) +/* 00440AD4 8FA60008 */ lw $a2, 8($sp) +/* 00440AD8 0320F809 */ jalr $t9 +/* 00440ADC 00000000 */ nop +/* 00440AE0 10000004 */ b .L00440AF4 +/* 00440AE4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00440AE8: +/* 00440AE8 8FA800BC */ lw $t0, 0xbc($sp) +/* 00440AEC 00087023 */ negu $t6, $t0 +/* 00440AF0 AC4E0004 */ sw $t6, 4($v0) +.L00440AF4: +/* 00440AF4 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00440AF8 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00440AFC 03E00008 */ jr $ra +/* 00440B00 00000000 */ nop + .type change_label_number, @function + .size change_label_number, .-change_label_number + .end change_label_number + +glabel set_mtag + .ent set_mtag + # 0040EFBC func_0040EFBC +/* 00440B04 3C1C0FBE */ .cpload $t9 +/* 00440B08 279CEF4C */ +/* 00440B0C 0399E021 */ +/* 00440B10 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 00440B14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00440B18 AFBF001C */ sw $ra, 0x1c($sp) +/* 00440B1C AFBC0018 */ sw $gp, 0x18($sp) +/* 00440B20 0320F809 */ jalr $t9 +/* 00440B24 AFA50024 */ sw $a1, 0x24($sp) +/* 00440B28 8FBC0018 */ lw $gp, 0x18($sp) +/* 00440B2C 10400008 */ beqz $v0, .L00440B50 +/* 00440B30 8FA50024 */ lw $a1, 0x24($sp) +/* 00440B34 8C4E0014 */ lw $t6, 0x14($v0) +/* 00440B38 55C00006 */ bnel $t6, $zero, .L00440B54 +/* 00440B3C 8FBF001C */ lw $ra, 0x1c($sp) +/* 00440B40 8CAF0000 */ lw $t7, ($a1) +/* 00440B44 25F90001 */ addiu $t9, $t7, 1 +/* 00440B48 ACB90000 */ sw $t9, ($a1) +/* 00440B4C AC590014 */ sw $t9, 0x14($v0) +.L00440B50: +/* 00440B50 8FBF001C */ lw $ra, 0x1c($sp) +.L00440B54: +/* 00440B54 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00440B58 03E00008 */ jr $ra +/* 00440B5C 00000000 */ nop + .type set_mtag, @function + .size set_mtag, .-set_mtag + .end set_mtag + +glabel get_mtag + .ent get_mtag + # 00447768 check_reg +/* 00440B60 3C1C0FBE */ .cpload $t9 +/* 00440B64 279CEEF0 */ +/* 00440B68 0399E021 */ +/* 00440B6C 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 00440B70 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00440B74 AFBF001C */ sw $ra, 0x1c($sp) +/* 00440B78 0320F809 */ jalr $t9 +/* 00440B7C AFBC0018 */ sw $gp, 0x18($sp) +/* 00440B80 10400003 */ beqz $v0, .L00440B90 +/* 00440B84 8FBC0018 */ lw $gp, 0x18($sp) +/* 00440B88 10000003 */ b .L00440B98 +/* 00440B8C 8C430014 */ lw $v1, 0x14($v0) +.L00440B90: +/* 00440B90 8F838970 */ lw $v1, %got(non_local_mtag)($gp) +/* 00440B94 8C630000 */ lw $v1, ($v1) +.L00440B98: +/* 00440B98 8FBF001C */ lw $ra, 0x1c($sp) +/* 00440B9C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00440BA0 00601025 */ move $v0, $v1 +/* 00440BA4 03E00008 */ jr $ra +/* 00440BA8 00000000 */ nop + .type get_mtag, @function + .size get_mtag, .-get_mtag + .end get_mtag + +glabel get_sym_kind + .ent get_sym_kind + # 0042670C loadstore + # 00428D14 eval_mov + # 0042BDAC eval +/* 00440BAC 3C1C0FBE */ .cpload $t9 +/* 00440BB0 279CEEA4 */ +/* 00440BB4 0399E021 */ +/* 00440BB8 8F99855C */ lw $t9, %call16(lookup_sym)($gp) +/* 00440BBC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00440BC0 AFBF001C */ sw $ra, 0x1c($sp) +/* 00440BC4 0320F809 */ jalr $t9 +/* 00440BC8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00440BCC 10400003 */ beqz $v0, .L00440BDC +/* 00440BD0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00440BD4 10000002 */ b .L00440BE0 +/* 00440BD8 9043000C */ lbu $v1, 0xc($v0) +.L00440BDC: +/* 00440BDC 00001825 */ move $v1, $zero +.L00440BE0: +/* 00440BE0 8FBF001C */ lw $ra, 0x1c($sp) +/* 00440BE4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00440BE8 00601025 */ move $v0, $v1 +/* 00440BEC 03E00008 */ jr $ra +/* 00440BF0 00000000 */ nop + .type get_sym_kind, @function + .size get_sym_kind, .-get_sym_kind + .end get_sym_kind +)""); diff --git a/src/ugen/tmp_mgr.c b/src/ugen/tmp_mgr.c new file mode 100644 index 0000000..bddcd92 --- /dev/null +++ b/src/ugen/tmp_mgr.c @@ -0,0 +1,998 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000D270: + # 00440C8C make_new_temp + .ascii "Insufficiant memory " + +RO_1000D2C0: + # 00440C8C make_new_temp + .ascii "temp_mgr.p " + +RO_1000D310: + # 00440EA0 gen_store + .ascii "illegal size temporary " + +RO_1000D360: + # 00440EA0 gen_store + .ascii "temp_mgr.p " + +RO_1000D3B0: + # 00440EA0 gen_store + .ascii "illegal size temporary " + +RO_1000D400: + # 00440EA0 gen_store + .ascii "temp_mgr.p " + +RO_1000D450: + # 004413F8 free_temp + .ascii "temporary not found " + +RO_1000D4A0: + # 004413F8 free_temp + .ascii "temp_mgr.p " + +RO_1000D4F0: + # 00441538 temp_offset + .ascii "temporary not found " + +RO_1000D540: + # 00441538 temp_offset + .ascii "temp_mgr.p " + +RO_1000D590: + # 00441680 temp_usage_count + .ascii "temporary not found " + +RO_1000D5E0: + # 00441680 temp_usage_count + .ascii "temp_mgr.p " + + + +.bss + .balign 4 +# 100213E8 +glabel temps + # 00440C10 init_temps + # 00440C34 lookup_temp + # 00440C8C make_new_temp + # 00440E48 find_free_temp + # 004417C8 get_temp_area_size + .space 4 + .size temps, 4 + .type temps, @object + + .balign 4 +# 100213EC +glabel temps_offset + # 00440C8C make_new_temp + # 00441804 set_temps_offset + .space 4 + .size temps_offset, 4 + .type temps_offset, @object + + .balign 4 +# 100213F0 +glabel current_temp_index + # 00440C10 init_temps + # 00440C8C make_new_temp + .space 4 + .size current_temp_index, 4 + .type current_temp_index, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel init_temps + .ent init_temps + # 0042BDAC eval +/* 00440C10 3C1C0FBE */ .cpload $t9 +/* 00440C14 279CEE40 */ +/* 00440C18 0399E021 */ +/* 00440C1C 8F818B04 */ lw $at, %got(temps)($gp) +/* 00440C20 240E0001 */ li $t6, 1 +/* 00440C24 AC200000 */ sw $zero, ($at) +/* 00440C28 8F818B0C */ lw $at, %got(current_temp_index)($gp) +/* 00440C2C 03E00008 */ jr $ra +/* 00440C30 A02E0000 */ sb $t6, ($at) + .type init_temps, @function + .size init_temps, .-init_temps + .end init_temps + +glabel lookup_temp + .ent lookup_temp + # 004413F8 free_temp + # 00441538 temp_offset + # 00441680 temp_usage_count +/* 00440C34 3C1C0FBE */ .cpload $t9 +/* 00440C38 279CEE1C */ +/* 00440C3C 0399E021 */ +/* 00440C40 8F838B04 */ lw $v1, %got(temps)($gp) +/* 00440C44 AFA40000 */ sw $a0, ($sp) +/* 00440C48 00001025 */ move $v0, $zero +/* 00440C4C 8C630000 */ lw $v1, ($v1) +/* 00440C50 1060000C */ beqz $v1, .L00440C84 +/* 00440C54 00000000 */ nop +/* 00440C58 906E0000 */ lbu $t6, ($v1) +.L00440C5C: +/* 00440C5C 548E0007 */ bnel $a0, $t6, .L00440C7C +/* 00440C60 8C630010 */ lw $v1, 0x10($v1) +/* 00440C64 906F0004 */ lbu $t7, 4($v1) +/* 00440C68 55E00004 */ bnel $t7, $zero, .L00440C7C +/* 00440C6C 8C630010 */ lw $v1, 0x10($v1) +/* 00440C70 03E00008 */ jr $ra +/* 00440C74 00601025 */ move $v0, $v1 + +/* 00440C78 8C630010 */ lw $v1, 0x10($v1) +.L00440C7C: +/* 00440C7C 5460FFF7 */ bnel $v1, $zero, .L00440C5C +/* 00440C80 906E0000 */ lbu $t6, ($v1) +.L00440C84: +/* 00440C84 03E00008 */ jr $ra +/* 00440C88 00000000 */ nop + .type lookup_temp, @function + .size lookup_temp, .-lookup_temp + .end lookup_temp + +glabel make_new_temp + .ent make_new_temp + # 00441308 spill_to_temp +/* 00440C8C 3C1C0FBE */ .cpload $t9 +/* 00440C90 279CEDC4 */ +/* 00440C94 0399E021 */ +/* 00440C98 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 00440C9C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00440CA0 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00440CA4 00803025 */ move $a2, $a0 +/* 00440CA8 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00440CAC AFA600C0 */ sw $a2, 0xc0($sp) +/* 00440CB0 24040014 */ li $a0, 20 +/* 00440CB4 0320F809 */ jalr $t9 +/* 00440CB8 24050001 */ li $a1, 1 +/* 00440CBC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00440CC0 8FA600C0 */ lw $a2, 0xc0($sp) +/* 00440CC4 14400041 */ bnez $v0, .L00440DCC +/* 00440CC8 00401825 */ move $v1, $v0 +/* 00440CCC 8F8E8038 */ lw $t6, %got(RO_1000D2C0)($gp) +/* 00440CD0 24040004 */ li $a0, 4 +/* 00440CD4 2405004C */ li $a1, 76 +/* 00440CD8 25CED2C0 */ addiu $t6, %lo(RO_1000D2C0) # addiu $t6, $t6, -0x2d40 +/* 00440CDC 25CA0048 */ addiu $t2, $t6, 0x48 +/* 00440CE0 03A0C825 */ move $t9, $sp +.L00440CE4: +/* 00440CE4 89D80000 */ lwl $t8, ($t6) +/* 00440CE8 99D80003 */ lwr $t8, 3($t6) +/* 00440CEC 25CE000C */ addiu $t6, $t6, 0xc +/* 00440CF0 2739000C */ addiu $t9, $t9, 0xc +/* 00440CF4 AB38FFFC */ swl $t8, -4($t9) +/* 00440CF8 BB38FFFF */ swr $t8, -1($t9) +/* 00440CFC 89CFFFF8 */ lwl $t7, -8($t6) +/* 00440D00 99CFFFFB */ lwr $t7, -5($t6) +/* 00440D04 AB2F0000 */ swl $t7, ($t9) +/* 00440D08 BB2F0003 */ swr $t7, 3($t9) +/* 00440D0C 89D8FFFC */ lwl $t8, -4($t6) +/* 00440D10 99D8FFFF */ lwr $t8, -1($t6) +/* 00440D14 AB380004 */ swl $t8, 4($t9) +/* 00440D18 15CAFFF2 */ bne $t6, $t2, .L00440CE4 +/* 00440D1C BB380007 */ swr $t8, 7($t9) +/* 00440D20 89D80000 */ lwl $t8, ($t6) +/* 00440D24 99D80003 */ lwr $t8, 3($t6) +/* 00440D28 8F8B8038 */ lw $t3, %got(RO_1000D270)($gp) +/* 00440D2C 03A05025 */ move $t2, $sp +/* 00440D30 AB380008 */ swl $t8, 8($t9) +/* 00440D34 BB38000B */ swr $t8, 0xb($t9) +/* 00440D38 89CF0004 */ lwl $t7, 4($t6) +/* 00440D3C 99CF0007 */ lwr $t7, 7($t6) +/* 00440D40 256BD270 */ addiu $t3, %lo(RO_1000D270) # addiu $t3, $t3, -0x2d90 +/* 00440D44 256E0048 */ addiu $t6, $t3, 0x48 +/* 00440D48 AB2F000C */ swl $t7, 0xc($t9) +/* 00440D4C BB2F000F */ swr $t7, 0xf($t9) +.L00440D50: +/* 00440D50 896D0000 */ lwl $t5, ($t3) +/* 00440D54 996D0003 */ lwr $t5, 3($t3) +/* 00440D58 256B000C */ addiu $t3, $t3, 0xc +/* 00440D5C 254A000C */ addiu $t2, $t2, 0xc +/* 00440D60 A94D004C */ swl $t5, 0x4c($t2) +/* 00440D64 B94D004F */ swr $t5, 0x4f($t2) +/* 00440D68 896CFFF8 */ lwl $t4, -8($t3) +/* 00440D6C 996CFFFB */ lwr $t4, -5($t3) +/* 00440D70 A94C0050 */ swl $t4, 0x50($t2) +/* 00440D74 B94C0053 */ swr $t4, 0x53($t2) +/* 00440D78 896DFFFC */ lwl $t5, -4($t3) +/* 00440D7C 996DFFFF */ lwr $t5, -1($t3) +/* 00440D80 A94D0054 */ swl $t5, 0x54($t2) +/* 00440D84 156EFFF2 */ bne $t3, $t6, .L00440D50 +/* 00440D88 B94D0057 */ swr $t5, 0x57($t2) +/* 00440D8C 896D0000 */ lwl $t5, ($t3) +/* 00440D90 996D0003 */ lwr $t5, 3($t3) +/* 00440D94 A94D0058 */ swl $t5, 0x58($t2) +/* 00440D98 B94D005B */ swr $t5, 0x5b($t2) +/* 00440D9C 896C0004 */ lwl $t4, 4($t3) +/* 00440DA0 996C0007 */ lwr $t4, 7($t3) +/* 00440DA4 A94C005C */ swl $t4, 0x5c($t2) +/* 00440DA8 B94C005F */ swr $t4, 0x5f($t2) +/* 00440DAC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00440DB0 8FA7000C */ lw $a3, 0xc($sp) +/* 00440DB4 8FA60008 */ lw $a2, 8($sp) +/* 00440DB8 0320F809 */ jalr $t9 +/* 00440DBC AFA300B8 */ sw $v1, 0xb8($sp) +/* 00440DC0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00440DC4 1000001C */ b .L00440E38 +/* 00440DC8 8FA200B8 */ lw $v0, 0xb8($sp) +.L00440DCC: +/* 00440DCC 28C10005 */ slti $at, $a2, 5 +/* 00440DD0 14200008 */ bnez $at, .L00440DF4 +/* 00440DD4 00000000 */ nop +/* 00440DD8 8F878B08 */ lw $a3, %got(temps_offset)($gp) +/* 00440DDC 8CE40000 */ lw $a0, ($a3) +/* 00440DE0 30820007 */ andi $v0, $a0, 7 +/* 00440DE4 10400003 */ beqz $v0, .L00440DF4 +/* 00440DE8 00000000 */ nop +/* 00440DEC 0082C821 */ addu $t9, $a0, $v0 +/* 00440DF0 ACF90000 */ sw $t9, ($a3) +.L00440DF4: +/* 00440DF4 8F878B08 */ lw $a3, %got(temps_offset)($gp) +/* 00440DF8 8F888B0C */ lw $t0, %got(current_temp_index)($gp) +/* 00440DFC 8F898B04 */ lw $t1, %got(temps)($gp) +/* 00440E00 8CE40000 */ lw $a0, ($a3) +/* 00440E04 91050000 */ lbu $a1, ($t0) +/* 00440E08 8D2E0000 */ lw $t6, ($t1) +/* 00440E0C 0086C021 */ addu $t8, $a0, $a2 +/* 00440E10 24AF0001 */ addiu $t7, $a1, 1 +/* 00440E14 A0600004 */ sb $zero, 4($v1) +/* 00440E18 AC660008 */ sw $a2, 8($v1) +/* 00440E1C 00601025 */ move $v0, $v1 +/* 00440E20 ACF80000 */ sw $t8, ($a3) +/* 00440E24 A10F0000 */ sb $t7, ($t0) +/* 00440E28 AD230000 */ sw $v1, ($t1) +/* 00440E2C AC64000C */ sw $a0, 0xc($v1) +/* 00440E30 A0650000 */ sb $a1, ($v1) +/* 00440E34 AC6E0010 */ sw $t6, 0x10($v1) +.L00440E38: +/* 00440E38 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00440E3C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00440E40 03E00008 */ jr $ra +/* 00440E44 00000000 */ nop + .type make_new_temp, @function + .size make_new_temp, .-make_new_temp + .end make_new_temp + +glabel find_free_temp + .ent find_free_temp + # 00441308 spill_to_temp +/* 00440E48 3C1C0FBE */ .cpload $t9 +/* 00440E4C 279CEC08 */ +/* 00440E50 0399E021 */ +/* 00440E54 8F838B04 */ lw $v1, %got(temps)($gp) +/* 00440E58 00001025 */ move $v0, $zero +/* 00440E5C 8C630000 */ lw $v1, ($v1) +/* 00440E60 1060000D */ beqz $v1, .L00440E98 +/* 00440E64 00000000 */ nop +/* 00440E68 906E0004 */ lbu $t6, 4($v1) +.L00440E6C: +/* 00440E6C 51C00008 */ beql $t6, $zero, .L00440E90 +/* 00440E70 8C630010 */ lw $v1, 0x10($v1) +/* 00440E74 8C6F0008 */ lw $t7, 8($v1) +/* 00440E78 548F0005 */ bnel $a0, $t7, .L00440E90 +/* 00440E7C 8C630010 */ lw $v1, 0x10($v1) +/* 00440E80 A0600004 */ sb $zero, 4($v1) +/* 00440E84 03E00008 */ jr $ra +/* 00440E88 00601025 */ move $v0, $v1 + +/* 00440E8C 8C630010 */ lw $v1, 0x10($v1) +.L00440E90: +/* 00440E90 5460FFF6 */ bnel $v1, $zero, .L00440E6C +/* 00440E94 906E0004 */ lbu $t6, 4($v1) +.L00440E98: +/* 00440E98 03E00008 */ jr $ra +/* 00440E9C 00000000 */ nop + .type find_free_temp, @function + .size find_free_temp, .-find_free_temp + .end find_free_temp + +glabel gen_store + .ent gen_store + # 00441308 spill_to_temp +/* 00440EA0 3C1C0FBE */ .cpload $t9 +/* 00440EA4 279CEBB0 */ +/* 00440EA8 0399E021 */ +/* 00440EAC 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 00440EB0 AFA400C8 */ sw $a0, 0xc8($sp) +/* 00440EB4 93AE00CB */ lbu $t6, 0xcb($sp) +/* 00440EB8 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00440EBC AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00440EC0 2DCF0020 */ sltiu $t7, $t6, 0x20 +/* 00440EC4 000FC023 */ negu $t8, $t7 +/* 00440EC8 01D8C804 */ sllv $t9, $t8, $t6 +/* 00440ECC 0721004A */ bgez $t9, .L00440FF8 +/* 00440ED0 28C10005 */ slti $at, $a2, 5 +/* 00440ED4 28C10005 */ slti $at, $a2, 5 +/* 00440ED8 10200003 */ beqz $at, .L00440EE8 +/* 00440EDC 24080057 */ li $t0, 87 +/* 00440EE0 1000008D */ b .L00441118 +/* 00440EE4 A7A800C6 */ sh $t0, 0xc6($sp) +.L00440EE8: +/* 00440EE8 28C10009 */ slti $at, $a2, 9 +/* 00440EEC 10200004 */ beqz $at, .L00440F00 +/* 00440EF0 24040004 */ li $a0, 4 +/* 00440EF4 2409006D */ li $t1, 109 +/* 00440EF8 10000087 */ b .L00441118 +/* 00440EFC A7A900C6 */ sh $t1, 0xc6($sp) +.L00440F00: +/* 00440F00 8F8A8038 */ lw $t2, %got(RO_1000D400)($gp) +/* 00440F04 2405007C */ li $a1, 124 +/* 00440F08 03A06825 */ move $t5, $sp +/* 00440F0C 254AD400 */ addiu $t2, %lo(RO_1000D400) # addiu $t2, $t2, -0x2c00 +/* 00440F10 254F0048 */ addiu $t7, $t2, 0x48 +.L00440F14: +/* 00440F14 894C0000 */ lwl $t4, ($t2) +/* 00440F18 994C0003 */ lwr $t4, 3($t2) +/* 00440F1C 254A000C */ addiu $t2, $t2, 0xc +/* 00440F20 25AD000C */ addiu $t5, $t5, 0xc +/* 00440F24 A9ACFFFC */ swl $t4, -4($t5) +/* 00440F28 B9ACFFFF */ swr $t4, -1($t5) +/* 00440F2C 894BFFF8 */ lwl $t3, -8($t2) +/* 00440F30 994BFFFB */ lwr $t3, -5($t2) +/* 00440F34 A9AB0000 */ swl $t3, ($t5) +/* 00440F38 B9AB0003 */ swr $t3, 3($t5) +/* 00440F3C 894CFFFC */ lwl $t4, -4($t2) +/* 00440F40 994CFFFF */ lwr $t4, -1($t2) +/* 00440F44 A9AC0004 */ swl $t4, 4($t5) +/* 00440F48 154FFFF2 */ bne $t2, $t7, .L00440F14 +/* 00440F4C B9AC0007 */ swr $t4, 7($t5) +/* 00440F50 894C0000 */ lwl $t4, ($t2) +/* 00440F54 994C0003 */ lwr $t4, 3($t2) +/* 00440F58 8F988038 */ lw $t8, %got(RO_1000D3B0)($gp) +/* 00440F5C 03A04025 */ move $t0, $sp +/* 00440F60 A9AC0008 */ swl $t4, 8($t5) +/* 00440F64 B9AC000B */ swr $t4, 0xb($t5) +/* 00440F68 894B0004 */ lwl $t3, 4($t2) +/* 00440F6C 994B0007 */ lwr $t3, 7($t2) +/* 00440F70 2718D3B0 */ addiu $t8, %lo(RO_1000D3B0) # addiu $t8, $t8, -0x2c50 +/* 00440F74 27090048 */ addiu $t1, $t8, 0x48 +/* 00440F78 A9AB000C */ swl $t3, 0xc($t5) +/* 00440F7C B9AB000F */ swr $t3, 0xf($t5) +.L00440F80: +/* 00440F80 8B190000 */ lwl $t9, ($t8) +/* 00440F84 9B190003 */ lwr $t9, 3($t8) +/* 00440F88 2718000C */ addiu $t8, $t8, 0xc +/* 00440F8C 2508000C */ addiu $t0, $t0, 0xc +/* 00440F90 A919004C */ swl $t9, 0x4c($t0) +/* 00440F94 B919004F */ swr $t9, 0x4f($t0) +/* 00440F98 8B0EFFF8 */ lwl $t6, -8($t8) +/* 00440F9C 9B0EFFFB */ lwr $t6, -5($t8) +/* 00440FA0 A90E0050 */ swl $t6, 0x50($t0) +/* 00440FA4 B90E0053 */ swr $t6, 0x53($t0) +/* 00440FA8 8B19FFFC */ lwl $t9, -4($t8) +/* 00440FAC 9B19FFFF */ lwr $t9, -1($t8) +/* 00440FB0 A9190054 */ swl $t9, 0x54($t0) +/* 00440FB4 1709FFF2 */ bne $t8, $t1, .L00440F80 +/* 00440FB8 B9190057 */ swr $t9, 0x57($t0) +/* 00440FBC 8B190000 */ lwl $t9, ($t8) +/* 00440FC0 9B190003 */ lwr $t9, 3($t8) +/* 00440FC4 A9190058 */ swl $t9, 0x58($t0) +/* 00440FC8 B919005B */ swr $t9, 0x5b($t0) +/* 00440FCC 8B0E0004 */ lwl $t6, 4($t8) +/* 00440FD0 9B0E0007 */ lwr $t6, 7($t8) +/* 00440FD4 A90E005C */ swl $t6, 0x5c($t0) +/* 00440FD8 B90E005F */ swr $t6, 0x5f($t0) +/* 00440FDC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00440FE0 8FA7000C */ lw $a3, 0xc($sp) +/* 00440FE4 8FA60008 */ lw $a2, 8($sp) +/* 00440FE8 0320F809 */ jalr $t9 +/* 00440FEC 00000000 */ nop +/* 00440FF0 100000C1 */ b .L004412F8 +/* 00440FF4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00440FF8: +/* 00440FF8 10200003 */ beqz $at, .L00441008 +/* 00440FFC 240F0079 */ li $t7, 121 +/* 00441000 10000045 */ b .L00441118 +/* 00441004 A7AF00C6 */ sh $t7, 0xc6($sp) +.L00441008: +/* 00441008 28C10009 */ slti $at, $a2, 9 +/* 0044100C 10200004 */ beqz $at, .L00441020 +/* 00441010 24040004 */ li $a0, 4 +/* 00441014 240A007A */ li $t2, 122 +/* 00441018 1000003F */ b .L00441118 +/* 0044101C A7AA00C6 */ sh $t2, 0xc6($sp) +.L00441020: +/* 00441020 8F8D8038 */ lw $t5, %got(RO_1000D360)($gp) +/* 00441024 24050085 */ li $a1, 133 +/* 00441028 03A04825 */ move $t1, $sp +/* 0044102C 25ADD360 */ addiu $t5, %lo(RO_1000D360) # addiu $t5, $t5, -0x2ca0 +/* 00441030 25B80048 */ addiu $t8, $t5, 0x48 +.L00441034: +/* 00441034 89AC0000 */ lwl $t4, ($t5) +/* 00441038 99AC0003 */ lwr $t4, 3($t5) +/* 0044103C 25AD000C */ addiu $t5, $t5, 0xc +/* 00441040 2529000C */ addiu $t1, $t1, 0xc +/* 00441044 A92CFFFC */ swl $t4, -4($t1) +/* 00441048 B92CFFFF */ swr $t4, -1($t1) +/* 0044104C 89ABFFF8 */ lwl $t3, -8($t5) +/* 00441050 99ABFFFB */ lwr $t3, -5($t5) +/* 00441054 A92B0000 */ swl $t3, ($t1) +/* 00441058 B92B0003 */ swr $t3, 3($t1) +/* 0044105C 89ACFFFC */ lwl $t4, -4($t5) +/* 00441060 99ACFFFF */ lwr $t4, -1($t5) +/* 00441064 A92C0004 */ swl $t4, 4($t1) +/* 00441068 15B8FFF2 */ bne $t5, $t8, .L00441034 +/* 0044106C B92C0007 */ swr $t4, 7($t1) +/* 00441070 89AC0000 */ lwl $t4, ($t5) +/* 00441074 99AC0003 */ lwr $t4, 3($t5) +/* 00441078 8F888038 */ lw $t0, %got(RO_1000D310)($gp) +/* 0044107C 03A07825 */ move $t7, $sp +/* 00441080 A92C0008 */ swl $t4, 8($t1) +/* 00441084 B92C000B */ swr $t4, 0xb($t1) +/* 00441088 89AB0004 */ lwl $t3, 4($t5) +/* 0044108C 99AB0007 */ lwr $t3, 7($t5) +/* 00441090 2508D310 */ addiu $t0, %lo(RO_1000D310) # addiu $t0, $t0, -0x2cf0 +/* 00441094 250A0048 */ addiu $t2, $t0, 0x48 +/* 00441098 A92B000C */ swl $t3, 0xc($t1) +/* 0044109C B92B000F */ swr $t3, 0xf($t1) +.L004410A0: +/* 004410A0 89190000 */ lwl $t9, ($t0) +/* 004410A4 99190003 */ lwr $t9, 3($t0) +/* 004410A8 2508000C */ addiu $t0, $t0, 0xc +/* 004410AC 25EF000C */ addiu $t7, $t7, 0xc +/* 004410B0 A9F9004C */ swl $t9, 0x4c($t7) +/* 004410B4 B9F9004F */ swr $t9, 0x4f($t7) +/* 004410B8 890EFFF8 */ lwl $t6, -8($t0) +/* 004410BC 990EFFFB */ lwr $t6, -5($t0) +/* 004410C0 A9EE0050 */ swl $t6, 0x50($t7) +/* 004410C4 B9EE0053 */ swr $t6, 0x53($t7) +/* 004410C8 8919FFFC */ lwl $t9, -4($t0) +/* 004410CC 9919FFFF */ lwr $t9, -1($t0) +/* 004410D0 A9F90054 */ swl $t9, 0x54($t7) +/* 004410D4 150AFFF2 */ bne $t0, $t2, .L004410A0 +/* 004410D8 B9F90057 */ swr $t9, 0x57($t7) +/* 004410DC 89190000 */ lwl $t9, ($t0) +/* 004410E0 99190003 */ lwr $t9, 3($t0) +/* 004410E4 A9F90058 */ swl $t9, 0x58($t7) +/* 004410E8 B9F9005B */ swr $t9, 0x5b($t7) +/* 004410EC 890E0004 */ lwl $t6, 4($t0) +/* 004410F0 990E0007 */ lwr $t6, 7($t0) +/* 004410F4 A9EE005C */ swl $t6, 0x5c($t7) +/* 004410F8 B9EE005F */ swr $t6, 0x5f($t7) +/* 004410FC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00441100 8FA7000C */ lw $a3, 0xc($sp) +/* 00441104 8FA60008 */ lw $a2, 8($sp) +/* 00441108 0320F809 */ jalr $t9 +/* 0044110C 00000000 */ nop +/* 00441110 10000079 */ b .L004412F8 +/* 00441114 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00441118: +/* 00441118 8F988A74 */ lw $t8, %got(reversed_stack)($gp) +/* 0044111C 97AD00C6 */ lhu $t5, 0xc6($sp) +/* 00441120 97B900C6 */ lhu $t9, 0xc6($sp) +/* 00441124 93180000 */ lbu $t8, ($t8) +/* 00441128 2401006D */ li $at, 109 +/* 0044112C 1300003F */ beqz $t8, .L0044122C +/* 00441130 00000000 */ nop +/* 00441134 2401006D */ li $at, 109 +/* 00441138 15A10029 */ bne $t5, $at, .L004411E0 +/* 0044113C 24C80003 */ addiu $t0, $a2, 3 +/* 00441140 8F8989D8 */ lw $t1, %got(opcode_arch)($gp) +/* 00441144 24CB0003 */ addiu $t3, $a2, 3 +/* 00441148 91290000 */ lbu $t1, ($t1) +/* 0044114C 15200024 */ bnez $t1, .L004411E0 +/* 00441150 00000000 */ nop +/* 00441154 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00441158 05610003 */ bgez $t3, .L00441168 +/* 0044115C 000B6083 */ sra $t4, $t3, 2 +/* 00441160 25610003 */ addiu $at, $t3, 3 +/* 00441164 00016083 */ sra $t4, $at, 2 +.L00441168: +/* 00441168 000C5080 */ sll $t2, $t4, 2 +/* 0044116C 00AA2021 */ addu $a0, $a1, $t2 +/* 00441170 0320F809 */ jalr $t9 +/* 00441174 AFA400BC */ sw $a0, 0xbc($sp) +/* 00441178 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044117C 24040057 */ li $a0, 87 +/* 00441180 93A500CB */ lbu $a1, 0xcb($sp) +/* 00441184 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00441188 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 0044118C 00403025 */ move $a2, $v0 +/* 00441190 AFA00010 */ sw $zero, 0x10($sp) +/* 00441194 0320F809 */ jalr $t9 +/* 00441198 90E70000 */ lbu $a3, ($a3) +/* 0044119C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004411A0 8FA400BC */ lw $a0, 0xbc($sp) +/* 004411A4 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 004411A8 0320F809 */ jalr $t9 +/* 004411AC 00000000 */ nop +/* 004411B0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004411B4 93A500CB */ lbu $a1, 0xcb($sp) +/* 004411B8 24040057 */ li $a0, 87 +/* 004411BC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004411C0 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004411C4 24460004 */ addiu $a2, $v0, 4 +/* 004411C8 AFA00010 */ sw $zero, 0x10($sp) +/* 004411CC 24A50001 */ addiu $a1, $a1, 1 +/* 004411D0 0320F809 */ jalr $t9 +/* 004411D4 90E70000 */ lbu $a3, ($a3) +/* 004411D8 10000047 */ b .L004412F8 +/* 004411DC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004411E0: +/* 004411E0 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 004411E4 05010003 */ bgez $t0, .L004411F4 +/* 004411E8 00087883 */ sra $t7, $t0, 2 +/* 004411EC 25010003 */ addiu $at, $t0, 3 +/* 004411F0 00017883 */ sra $t7, $at, 2 +.L004411F4: +/* 004411F4 000F7080 */ sll $t6, $t7, 2 +/* 004411F8 0320F809 */ jalr $t9 +/* 004411FC 00AE2021 */ addu $a0, $a1, $t6 +/* 00441200 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00441204 97A400C6 */ lhu $a0, 0xc6($sp) +/* 00441208 93A500CB */ lbu $a1, 0xcb($sp) +/* 0044120C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00441210 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 00441214 00403025 */ move $a2, $v0 +/* 00441218 AFA00010 */ sw $zero, 0x10($sp) +/* 0044121C 0320F809 */ jalr $t9 +/* 00441220 90E70000 */ lbu $a3, ($a3) +/* 00441224 10000034 */ b .L004412F8 +/* 00441228 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044122C: +/* 0044122C 17210024 */ bne $t9, $at, .L004412C0 +/* 00441230 00000000 */ nop +/* 00441234 8F9889D8 */ lw $t8, %got(opcode_arch)($gp) +/* 00441238 93180000 */ lbu $t8, ($t8) +/* 0044123C 17000020 */ bnez $t8, .L004412C0 +/* 00441240 00000000 */ nop +/* 00441244 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00441248 00A02025 */ move $a0, $a1 +/* 0044124C AFA500CC */ sw $a1, 0xcc($sp) +/* 00441250 0320F809 */ jalr $t9 +/* 00441254 00000000 */ nop +/* 00441258 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044125C 24040057 */ li $a0, 87 +/* 00441260 93A500CB */ lbu $a1, 0xcb($sp) +/* 00441264 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 00441268 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 0044126C 00403025 */ move $a2, $v0 +/* 00441270 AFA00010 */ sw $zero, 0x10($sp) +/* 00441274 0320F809 */ jalr $t9 +/* 00441278 90E70000 */ lbu $a3, ($a3) +/* 0044127C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00441280 8FA400CC */ lw $a0, 0xcc($sp) +/* 00441284 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 00441288 0320F809 */ jalr $t9 +/* 0044128C 00000000 */ nop +/* 00441290 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00441294 93A500CB */ lbu $a1, 0xcb($sp) +/* 00441298 24040057 */ li $a0, 87 +/* 0044129C 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004412A0 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004412A4 24460004 */ addiu $a2, $v0, 4 +/* 004412A8 AFA00010 */ sw $zero, 0x10($sp) +/* 004412AC 24A50001 */ addiu $a1, $a1, 1 +/* 004412B0 0320F809 */ jalr $t9 +/* 004412B4 90E70000 */ lbu $a3, ($a3) +/* 004412B8 1000000F */ b .L004412F8 +/* 004412BC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004412C0: +/* 004412C0 8F998408 */ lw $t9, %call16(frame_offset1)($gp) +/* 004412C4 00A02025 */ move $a0, $a1 +/* 004412C8 0320F809 */ jalr $t9 +/* 004412CC 00000000 */ nop +/* 004412D0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004412D4 97A400C6 */ lhu $a0, 0xc6($sp) +/* 004412D8 93A500CB */ lbu $a1, 0xcb($sp) +/* 004412DC 8F9981E0 */ lw $t9, %call16(emit_rob)($gp) +/* 004412E0 8F878A60 */ lw $a3, %got(frame_pointer)($gp) +/* 004412E4 00403025 */ move $a2, $v0 +/* 004412E8 AFA00010 */ sw $zero, 0x10($sp) +/* 004412EC 0320F809 */ jalr $t9 +/* 004412F0 90E70000 */ lbu $a3, ($a3) +/* 004412F4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004412F8: +/* 004412F8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004412FC 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 00441300 03E00008 */ jr $ra +/* 00441304 00000000 */ nop + .type gen_store, @function + .size gen_store, .-gen_store + .end gen_store + +glabel spill_to_temp + .ent spill_to_temp + # 0043A5E8 spill + # 0043B478 spill_two_regs + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special +/* 00441308 3C1C0FBE */ .cpload $t9 +/* 0044130C 279CE748 */ +/* 00441310 0399E021 */ +/* 00441314 8F8E89D8 */ lw $t6, %got(opcode_arch)($gp) +/* 00441318 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0044131C AFB00014 */ sw $s0, 0x14($sp) +/* 00441320 91CE0000 */ lbu $t6, ($t6) +/* 00441324 00A08025 */ move $s0, $a1 +/* 00441328 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044132C AFBC0018 */ sw $gp, 0x18($sp) +/* 00441330 15C00009 */ bnez $t6, .L00441358 +/* 00441334 AFA40028 */ sw $a0, 0x28($sp) +/* 00441338 8F99849C */ lw $t9, %call16(kind_of_register)($gp) +/* 0044133C 93A4002B */ lbu $a0, 0x2b($sp) +/* 00441340 0320F809 */ jalr $t9 +/* 00441344 00000000 */ nop +/* 00441348 24010006 */ li $at, 6 +/* 0044134C 14410002 */ bne $v0, $at, .L00441358 +/* 00441350 8FBC0018 */ lw $gp, 0x18($sp) +/* 00441354 24100008 */ li $s0, 8 +.L00441358: +/* 00441358 8F9985B0 */ lw $t9, %call16(find_free_temp)($gp) +/* 0044135C 02002025 */ move $a0, $s0 +/* 00441360 0320F809 */ jalr $t9 +/* 00441364 00000000 */ nop +/* 00441368 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044136C 14400007 */ bnez $v0, .L0044138C +/* 00441370 00401825 */ move $v1, $v0 +/* 00441374 8F9985AC */ lw $t9, %call16(make_new_temp)($gp) +/* 00441378 02002025 */ move $a0, $s0 +/* 0044137C 0320F809 */ jalr $t9 +/* 00441380 00000000 */ nop +/* 00441384 8FBC0018 */ lw $gp, 0x18($sp) +/* 00441388 00401825 */ move $v1, $v0 +.L0044138C: +/* 0044138C 8F998504 */ lw $t9, %call16(content_of)($gp) +/* 00441390 93A4002B */ lbu $a0, 0x2b($sp) +/* 00441394 AFA30024 */ sw $v1, 0x24($sp) +/* 00441398 0320F809 */ jalr $t9 +/* 0044139C 00000000 */ nop +/* 004413A0 8FA30024 */ lw $v1, 0x24($sp) +/* 004413A4 8FBC0018 */ lw $gp, 0x18($sp) +/* 004413A8 906F0000 */ lbu $t7, ($v1) +/* 004413AC A04F0018 */ sb $t7, 0x18($v0) +/* 004413B0 8F998534 */ lw $t9, %call16(usage_count)($gp) +/* 004413B4 93A4002B */ lbu $a0, 0x2b($sp) +/* 004413B8 0320F809 */ jalr $t9 +/* 004413BC 00000000 */ nop +/* 004413C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004413C4 8FA30024 */ lw $v1, 0x24($sp) +/* 004413C8 93A4002B */ lbu $a0, 0x2b($sp) +/* 004413CC 8F9985B4 */ lw $t9, %call16(gen_store)($gp) +/* 004413D0 02003025 */ move $a2, $s0 +/* 004413D4 A4620002 */ sh $v0, 2($v1) +/* 004413D8 AC700008 */ sw $s0, 8($v1) +/* 004413DC 0320F809 */ jalr $t9 +/* 004413E0 8C65000C */ lw $a1, 0xc($v1) +/* 004413E4 8FBF001C */ lw $ra, 0x1c($sp) +/* 004413E8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004413EC 8FB00014 */ lw $s0, 0x14($sp) +/* 004413F0 03E00008 */ jr $ra +/* 004413F4 27BD0028 */ addiu $sp, $sp, 0x28 + .type spill_to_temp, @function + .size spill_to_temp, .-spill_to_temp + .end spill_to_temp + +glabel free_temp + .ent free_temp + # 00424934 restore_from_temp + # 0042BDAC eval +/* 004413F8 3C1C0FBE */ .cpload $t9 +/* 004413FC 279CE658 */ +/* 00441400 0399E021 */ +/* 00441404 8F9985A8 */ lw $t9, %call16(lookup_temp)($gp) +/* 00441408 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0044140C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00441410 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00441414 0320F809 */ jalr $t9 +/* 00441418 AFA400B8 */ sw $a0, 0xb8($sp) +/* 0044141C 14400040 */ bnez $v0, .L00441520 +/* 00441420 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00441424 8F8E8038 */ lw $t6, %got(RO_1000D4A0)($gp) +/* 00441428 24040004 */ li $a0, 4 +/* 0044142C 240500C0 */ li $a1, 192 +/* 00441430 25CED4A0 */ addiu $t6, %lo(RO_1000D4A0) # addiu $t6, $t6, -0x2b60 +/* 00441434 25C80048 */ addiu $t0, $t6, 0x48 +/* 00441438 03A0C825 */ move $t9, $sp +.L0044143C: +/* 0044143C 89D80000 */ lwl $t8, ($t6) +/* 00441440 99D80003 */ lwr $t8, 3($t6) +/* 00441444 25CE000C */ addiu $t6, $t6, 0xc +/* 00441448 2739000C */ addiu $t9, $t9, 0xc +/* 0044144C AB38FFFC */ swl $t8, -4($t9) +/* 00441450 BB38FFFF */ swr $t8, -1($t9) +/* 00441454 89CFFFF8 */ lwl $t7, -8($t6) +/* 00441458 99CFFFFB */ lwr $t7, -5($t6) +/* 0044145C AB2F0000 */ swl $t7, ($t9) +/* 00441460 BB2F0003 */ swr $t7, 3($t9) +/* 00441464 89D8FFFC */ lwl $t8, -4($t6) +/* 00441468 99D8FFFF */ lwr $t8, -1($t6) +/* 0044146C AB380004 */ swl $t8, 4($t9) +/* 00441470 15C8FFF2 */ bne $t6, $t0, .L0044143C +/* 00441474 BB380007 */ swr $t8, 7($t9) +/* 00441478 89D80000 */ lwl $t8, ($t6) +/* 0044147C 99D80003 */ lwr $t8, 3($t6) +/* 00441480 8F898038 */ lw $t1, %got(RO_1000D450)($gp) +/* 00441484 03A06025 */ move $t4, $sp +/* 00441488 AB380008 */ swl $t8, 8($t9) +/* 0044148C BB38000B */ swr $t8, 0xb($t9) +/* 00441490 89CF0004 */ lwl $t7, 4($t6) +/* 00441494 99CF0007 */ lwr $t7, 7($t6) +/* 00441498 2529D450 */ addiu $t1, %lo(RO_1000D450) # addiu $t1, $t1, -0x2bb0 +/* 0044149C 252D0048 */ addiu $t5, $t1, 0x48 +/* 004414A0 AB2F000C */ swl $t7, 0xc($t9) +/* 004414A4 BB2F000F */ swr $t7, 0xf($t9) +.L004414A8: +/* 004414A8 892B0000 */ lwl $t3, ($t1) +/* 004414AC 992B0003 */ lwr $t3, 3($t1) +/* 004414B0 2529000C */ addiu $t1, $t1, 0xc +/* 004414B4 258C000C */ addiu $t4, $t4, 0xc +/* 004414B8 A98B004C */ swl $t3, 0x4c($t4) +/* 004414BC B98B004F */ swr $t3, 0x4f($t4) +/* 004414C0 892AFFF8 */ lwl $t2, -8($t1) +/* 004414C4 992AFFFB */ lwr $t2, -5($t1) +/* 004414C8 A98A0050 */ swl $t2, 0x50($t4) +/* 004414CC B98A0053 */ swr $t2, 0x53($t4) +/* 004414D0 892BFFFC */ lwl $t3, -4($t1) +/* 004414D4 992BFFFF */ lwr $t3, -1($t1) +/* 004414D8 A98B0054 */ swl $t3, 0x54($t4) +/* 004414DC 152DFFF2 */ bne $t1, $t5, .L004414A8 +/* 004414E0 B98B0057 */ swr $t3, 0x57($t4) +/* 004414E4 892B0000 */ lwl $t3, ($t1) +/* 004414E8 992B0003 */ lwr $t3, 3($t1) +/* 004414EC A98B0058 */ swl $t3, 0x58($t4) +/* 004414F0 B98B005B */ swr $t3, 0x5b($t4) +/* 004414F4 892A0004 */ lwl $t2, 4($t1) +/* 004414F8 992A0007 */ lwr $t2, 7($t1) +/* 004414FC A98A005C */ swl $t2, 0x5c($t4) +/* 00441500 B98A005F */ swr $t2, 0x5f($t4) +/* 00441504 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00441508 8FA7000C */ lw $a3, 0xc($sp) +/* 0044150C 8FA60008 */ lw $a2, 8($sp) +/* 00441510 0320F809 */ jalr $t9 +/* 00441514 00000000 */ nop +/* 00441518 10000003 */ b .L00441528 +/* 0044151C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00441520: +/* 00441520 24080001 */ li $t0, 1 +/* 00441524 A0480004 */ sb $t0, 4($v0) +.L00441528: +/* 00441528 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044152C 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00441530 03E00008 */ jr $ra +/* 00441534 00000000 */ nop + .type free_temp, @function + .size free_temp, .-free_temp + .end free_temp + +glabel temp_offset + .ent temp_offset + # 00424934 restore_from_temp +/* 00441538 3C1C0FBE */ .cpload $t9 +/* 0044153C 279CE518 */ +/* 00441540 0399E021 */ +/* 00441544 8F9985A8 */ lw $t9, %call16(lookup_temp)($gp) +/* 00441548 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0044154C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00441550 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00441554 0320F809 */ jalr $t9 +/* 00441558 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0044155C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00441560 14400040 */ bnez $v0, .L00441664 +/* 00441564 00401825 */ move $v1, $v0 +/* 00441568 8F8E8038 */ lw $t6, %got(RO_1000D540)($gp) +/* 0044156C 24040004 */ li $a0, 4 +/* 00441570 240500CC */ li $a1, 204 +/* 00441574 25CED540 */ addiu $t6, %lo(RO_1000D540) # addiu $t6, $t6, -0x2ac0 +/* 00441578 25C80048 */ addiu $t0, $t6, 0x48 +/* 0044157C 03A0C825 */ move $t9, $sp +.L00441580: +/* 00441580 89D80000 */ lwl $t8, ($t6) +/* 00441584 99D80003 */ lwr $t8, 3($t6) +/* 00441588 25CE000C */ addiu $t6, $t6, 0xc +/* 0044158C 2739000C */ addiu $t9, $t9, 0xc +/* 00441590 AB38FFFC */ swl $t8, -4($t9) +/* 00441594 BB38FFFF */ swr $t8, -1($t9) +/* 00441598 89CFFFF8 */ lwl $t7, -8($t6) +/* 0044159C 99CFFFFB */ lwr $t7, -5($t6) +/* 004415A0 AB2F0000 */ swl $t7, ($t9) +/* 004415A4 BB2F0003 */ swr $t7, 3($t9) +/* 004415A8 89D8FFFC */ lwl $t8, -4($t6) +/* 004415AC 99D8FFFF */ lwr $t8, -1($t6) +/* 004415B0 AB380004 */ swl $t8, 4($t9) +/* 004415B4 15C8FFF2 */ bne $t6, $t0, .L00441580 +/* 004415B8 BB380007 */ swr $t8, 7($t9) +/* 004415BC 89D80000 */ lwl $t8, ($t6) +/* 004415C0 99D80003 */ lwr $t8, 3($t6) +/* 004415C4 8F898038 */ lw $t1, %got(RO_1000D4F0)($gp) +/* 004415C8 03A06025 */ move $t4, $sp +/* 004415CC AB380008 */ swl $t8, 8($t9) +/* 004415D0 BB38000B */ swr $t8, 0xb($t9) +/* 004415D4 89CF0004 */ lwl $t7, 4($t6) +/* 004415D8 99CF0007 */ lwr $t7, 7($t6) +/* 004415DC 2529D4F0 */ addiu $t1, %lo(RO_1000D4F0) # addiu $t1, $t1, -0x2b10 +/* 004415E0 252D0048 */ addiu $t5, $t1, 0x48 +/* 004415E4 AB2F000C */ swl $t7, 0xc($t9) +/* 004415E8 BB2F000F */ swr $t7, 0xf($t9) +.L004415EC: +/* 004415EC 892B0000 */ lwl $t3, ($t1) +/* 004415F0 992B0003 */ lwr $t3, 3($t1) +/* 004415F4 2529000C */ addiu $t1, $t1, 0xc +/* 004415F8 258C000C */ addiu $t4, $t4, 0xc +/* 004415FC A98B004C */ swl $t3, 0x4c($t4) +/* 00441600 B98B004F */ swr $t3, 0x4f($t4) +/* 00441604 892AFFF8 */ lwl $t2, -8($t1) +/* 00441608 992AFFFB */ lwr $t2, -5($t1) +/* 0044160C A98A0050 */ swl $t2, 0x50($t4) +/* 00441610 B98A0053 */ swr $t2, 0x53($t4) +/* 00441614 892BFFFC */ lwl $t3, -4($t1) +/* 00441618 992BFFFF */ lwr $t3, -1($t1) +/* 0044161C A98B0054 */ swl $t3, 0x54($t4) +/* 00441620 152DFFF2 */ bne $t1, $t5, .L004415EC +/* 00441624 B98B0057 */ swr $t3, 0x57($t4) +/* 00441628 892B0000 */ lwl $t3, ($t1) +/* 0044162C 992B0003 */ lwr $t3, 3($t1) +/* 00441630 A98B0058 */ swl $t3, 0x58($t4) +/* 00441634 B98B005B */ swr $t3, 0x5b($t4) +/* 00441638 892A0004 */ lwl $t2, 4($t1) +/* 0044163C 992A0007 */ lwr $t2, 7($t1) +/* 00441640 A98A005C */ swl $t2, 0x5c($t4) +/* 00441644 B98A005F */ swr $t2, 0x5f($t4) +/* 00441648 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044164C 8FA7000C */ lw $a3, 0xc($sp) +/* 00441650 8FA60008 */ lw $a2, 8($sp) +/* 00441654 0320F809 */ jalr $t9 +/* 00441658 00000000 */ nop +/* 0044165C 10000003 */ b .L0044166C +/* 00441660 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00441664: +/* 00441664 10000002 */ b .L00441670 +/* 00441668 8C62000C */ lw $v0, 0xc($v1) +.L0044166C: +/* 0044166C 8FA200BC */ lw $v0, 0xbc($sp) +.L00441670: +/* 00441670 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00441674 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 00441678 03E00008 */ jr $ra +/* 0044167C 00000000 */ nop + .type temp_offset, @function + .size temp_offset, .-temp_offset + .end temp_offset + +glabel temp_usage_count + .ent temp_usage_count + # 00424934 restore_from_temp + # 0042BDAC eval +/* 00441680 3C1C0FBE */ .cpload $t9 +/* 00441684 279CE3D0 */ +/* 00441688 0399E021 */ +/* 0044168C 8F9985A8 */ lw $t9, %call16(lookup_temp)($gp) +/* 00441690 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 00441694 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00441698 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044169C 0320F809 */ jalr $t9 +/* 004416A0 AFA400C0 */ sw $a0, 0xc0($sp) +/* 004416A4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004416A8 14400040 */ bnez $v0, .L004417AC +/* 004416AC 00401825 */ move $v1, $v0 +/* 004416B0 8F8E8038 */ lw $t6, %got(RO_1000D5E0)($gp) +/* 004416B4 24040004 */ li $a0, 4 +/* 004416B8 240500D8 */ li $a1, 216 +/* 004416BC 25CED5E0 */ addiu $t6, %lo(RO_1000D5E0) # addiu $t6, $t6, -0x2a20 +/* 004416C0 25C80048 */ addiu $t0, $t6, 0x48 +/* 004416C4 03A0C825 */ move $t9, $sp +.L004416C8: +/* 004416C8 89D80000 */ lwl $t8, ($t6) +/* 004416CC 99D80003 */ lwr $t8, 3($t6) +/* 004416D0 25CE000C */ addiu $t6, $t6, 0xc +/* 004416D4 2739000C */ addiu $t9, $t9, 0xc +/* 004416D8 AB38FFFC */ swl $t8, -4($t9) +/* 004416DC BB38FFFF */ swr $t8, -1($t9) +/* 004416E0 89CFFFF8 */ lwl $t7, -8($t6) +/* 004416E4 99CFFFFB */ lwr $t7, -5($t6) +/* 004416E8 AB2F0000 */ swl $t7, ($t9) +/* 004416EC BB2F0003 */ swr $t7, 3($t9) +/* 004416F0 89D8FFFC */ lwl $t8, -4($t6) +/* 004416F4 99D8FFFF */ lwr $t8, -1($t6) +/* 004416F8 AB380004 */ swl $t8, 4($t9) +/* 004416FC 15C8FFF2 */ bne $t6, $t0, .L004416C8 +/* 00441700 BB380007 */ swr $t8, 7($t9) +/* 00441704 89D80000 */ lwl $t8, ($t6) +/* 00441708 99D80003 */ lwr $t8, 3($t6) +/* 0044170C 8F898038 */ lw $t1, %got(RO_1000D590)($gp) +/* 00441710 03A06025 */ move $t4, $sp +/* 00441714 AB380008 */ swl $t8, 8($t9) +/* 00441718 BB38000B */ swr $t8, 0xb($t9) +/* 0044171C 89CF0004 */ lwl $t7, 4($t6) +/* 00441720 99CF0007 */ lwr $t7, 7($t6) +/* 00441724 2529D590 */ addiu $t1, %lo(RO_1000D590) # addiu $t1, $t1, -0x2a70 +/* 00441728 252D0048 */ addiu $t5, $t1, 0x48 +/* 0044172C AB2F000C */ swl $t7, 0xc($t9) +/* 00441730 BB2F000F */ swr $t7, 0xf($t9) +.L00441734: +/* 00441734 892B0000 */ lwl $t3, ($t1) +/* 00441738 992B0003 */ lwr $t3, 3($t1) +/* 0044173C 2529000C */ addiu $t1, $t1, 0xc +/* 00441740 258C000C */ addiu $t4, $t4, 0xc +/* 00441744 A98B004C */ swl $t3, 0x4c($t4) +/* 00441748 B98B004F */ swr $t3, 0x4f($t4) +/* 0044174C 892AFFF8 */ lwl $t2, -8($t1) +/* 00441750 992AFFFB */ lwr $t2, -5($t1) +/* 00441754 A98A0050 */ swl $t2, 0x50($t4) +/* 00441758 B98A0053 */ swr $t2, 0x53($t4) +/* 0044175C 892BFFFC */ lwl $t3, -4($t1) +/* 00441760 992BFFFF */ lwr $t3, -1($t1) +/* 00441764 A98B0054 */ swl $t3, 0x54($t4) +/* 00441768 152DFFF2 */ bne $t1, $t5, .L00441734 +/* 0044176C B98B0057 */ swr $t3, 0x57($t4) +/* 00441770 892B0000 */ lwl $t3, ($t1) +/* 00441774 992B0003 */ lwr $t3, 3($t1) +/* 00441778 A98B0058 */ swl $t3, 0x58($t4) +/* 0044177C B98B005B */ swr $t3, 0x5b($t4) +/* 00441780 892A0004 */ lwl $t2, 4($t1) +/* 00441784 992A0007 */ lwr $t2, 7($t1) +/* 00441788 A98A005C */ swl $t2, 0x5c($t4) +/* 0044178C B98A005F */ swr $t2, 0x5f($t4) +/* 00441790 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00441794 8FA7000C */ lw $a3, 0xc($sp) +/* 00441798 8FA60008 */ lw $a2, 8($sp) +/* 0044179C 0320F809 */ jalr $t9 +/* 004417A0 00000000 */ nop +/* 004417A4 10000003 */ b .L004417B4 +/* 004417A8 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004417AC: +/* 004417AC 10000002 */ b .L004417B8 +/* 004417B0 94620002 */ lhu $v0, 2($v1) +.L004417B4: +/* 004417B4 97A200BC */ lhu $v0, 0xbc($sp) +.L004417B8: +/* 004417B8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004417BC 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 004417C0 03E00008 */ jr $ra +/* 004417C4 00000000 */ nop + .type temp_usage_count, @function + .size temp_usage_count, .-temp_usage_count + .end temp_usage_count + +glabel get_temp_area_size + .ent get_temp_area_size + # 0042BDAC eval +/* 004417C8 3C1C0FBE */ .cpload $t9 +/* 004417CC 279CE288 */ +/* 004417D0 0399E021 */ +/* 004417D4 8F828B04 */ lw $v0, %got(temps)($gp) +/* 004417D8 00001825 */ move $v1, $zero +/* 004417DC 8C420000 */ lw $v0, ($v0) +/* 004417E0 10400006 */ beqz $v0, .L004417FC +/* 004417E4 00000000 */ nop +/* 004417E8 8C4E0008 */ lw $t6, 8($v0) +.L004417EC: +/* 004417EC 8C420010 */ lw $v0, 0x10($v0) +/* 004417F0 006E1821 */ addu $v1, $v1, $t6 +/* 004417F4 5440FFFD */ bnel $v0, $zero, .L004417EC +/* 004417F8 8C4E0008 */ lw $t6, 8($v0) +.L004417FC: +/* 004417FC 03E00008 */ jr $ra +/* 00441800 00601025 */ move $v0, $v1 + .type get_temp_area_size, @function + .size get_temp_area_size, .-get_temp_area_size + .end get_temp_area_size + +glabel set_temps_offset + .ent set_temps_offset + # 0042BDAC eval +/* 00441804 3C1C0FBE */ .cpload $t9 +/* 00441808 279CE24C */ +/* 0044180C 0399E021 */ +/* 00441810 8F818B08 */ lw $at, %got(temps_offset)($gp) +/* 00441814 03E00008 */ jr $ra +/* 00441818 AC240000 */ sw $a0, ($at) + .type set_temps_offset, @function + .size set_temps_offset, .-set_temps_offset + .end set_temps_offset +)""); diff --git a/src/ugen/translate.c b/src/ugen/translate.c new file mode 100644 index 0000000..ddcb833 --- /dev/null +++ b/src/ugen/translate.c @@ -0,0 +1,9306 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000D630: + # 00441860 force_casting + .asciz "translate.p" + + .balign 4 +jtbl_1000D63C: + # 00441860 force_casting + .gpword .L004418D0 + .gpword .L004418C4 + .gpword .L004418DC + .gpword .L004418B8 + +RO_1000D64C: + # 0044202C set_rewrite + .ascii "illegal u-code " + +RO_1000D69C: + # 0044202C set_rewrite + .ascii "translate.p " + + .balign 4 +jtbl_1000D6EC: + # 0044202C set_rewrite + .gpword .L0044273C + .gpword .L00442754 + + .balign 4 +jtbl_1000D6F4: + # 0044202C set_rewrite + .gpword .L004421B8 + .gpword .L004427C0 + .gpword .L00442134 + +RO_1000D700: + # 00442968 set_rewrite_indexed + .ascii "illegal u-code " + +RO_1000D750: + # 00442968 set_rewrite_indexed + .ascii "translate.p " + + .balign 4 +jtbl_1000D7A0: + # 00442968 set_rewrite_indexed + .gpword .L0044302C + .gpword .L0044305C + + .balign 4 +jtbl_1000D7A8: + # 00442968 set_rewrite_indexed + .gpword .L00442B04 + .gpword .L004430E0 + .gpword .L00442A94 + +RO_1000D7B4: + # 004432FC translate + .ascii "illegal data type for sqrt instruction " + +RO_1000D804: + # 004432FC translate + .ascii "translate.p " + + .balign 4 +jtbl_1000D854: + # 004432FC translate + .gpword .L00443C48 + .gpword .L00443B74 + + .balign 4 +jtbl_1000D85C: + # 004432FC translate + .gpword .L00443AA0 + .gpword .L00443D18 + + .balign 4 +jtbl_1000D864: + # 004432FC translate + .gpword .L00443794 + .gpword .L00444E54 + .gpword .L00444B08 + .gpword .L004447A0 + .gpword .L00443924 + .gpword .L00445FFC + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00443924 + .gpword .L004434F0 + .gpword .L00443710 + .gpword .L00443710 + .gpword .L00443638 + .gpword .L004435B0 + .gpword .L004460D4 + + .balign 4 +jtbl_1000D8A8: + # 004432FC translate + .gpword .L00444230 + .gpword .L00443794 + .gpword .L00444B54 + .gpword .L00446200 + .gpword .L004448BC + .gpword .L00445120 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L0044407C + .gpword .L00446200 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00443508 + .gpword .L00446200 + .gpword .L00443924 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L004447BC + .gpword .L00446200 + .gpword .L00444AB8 + .gpword .L00444AB8 + .gpword .L00444AB8 + .gpword .L004434A0 + .gpword .L00444D28 + .gpword .L00446200 + .gpword .L00444AB8 + .gpword .L00444AB8 + .gpword .L00445B3C + .gpword .L00446200 + .gpword .L00444AB8 + .gpword .L00446200 + .gpword .L00445464 + .gpword .L004450F8 + .gpword .L00443924 + .gpword .L00445B3C + .gpword .L00445CA0 + .gpword .L00445CA0 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L004447A0 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00444DAC + .gpword .L00446058 + .gpword .L00444DCC + .gpword .L00446200 + .gpword .L0044601C + .gpword .L00446200 + .gpword .L00443924 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00443794 + .gpword .L00443424 + .gpword .L0044484C + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00443924 + .gpword .L00443924 + .gpword .L00443924 + .gpword .L00444AB8 + .gpword .L00446200 + .gpword .L00443794 + .gpword .L00443924 + .gpword .L00445800 + .gpword .L00445240 + .gpword .L00443794 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00443794 + .gpword .L00445054 + .gpword .L004441CC + .gpword .L0044580C + .gpword .L00446200 + .gpword .L00443794 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00443794 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00445170 + .gpword .L00443924 + .gpword .L00443924 + .gpword .L0044610C + .gpword .L00443794 + .gpword .L00443794 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L0044580C + .gpword .L00446084 + .gpword .L00443924 + .gpword .L00446200 + .gpword .L00443508 + + .balign 4 +jtbl_1000DA4C: + # 004432FC translate + .gpword .L00443794 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L00446200 + .gpword .L004450D0 + .gpword .L0044489C + .gpword .L00445FDC + .gpword .L00443924 + + .balign 4 +jtbl_1000DA6C: + # 004432FC translate + .gpword .L00445C54 + .gpword .L00445E5C + .gpword .L00444DCC + .gpword .L00446200 + .gpword .L00444230 + +RO_1000DA80: + # 00446368 cse_equ + .ascii "illegal u-code " + +RO_1000DAD0: + # 00446368 cse_equ + .ascii "translate.p " + + .balign 4 +jtbl_1000DB20: + # 00446368 cse_equ + .gpword .L00446470 + .gpword .L0044671C + .gpword .L004465E0 + .gpword .L00446A2C + .gpword .L004466B0 + + .balign 4 +jtbl_1000DB34: + # 00446368 cse_equ + .gpword .L004464C0 + .gpword .L004464C0 + .gpword .L00446438 + + .balign 4 +jtbl_1000DB40: + # 00446368 cse_equ + .gpword .L00446578 + .gpword .L00446510 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L004466B0 + .gpword .L0044671C + + .balign 4 +jtbl_1000DB58: + # 00446368 cse_equ + .gpword .L00446628 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446824 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L004466B0 + .gpword .L004467A0 + .gpword .L004466B0 + .gpword .L00446824 + + .balign 4 +jtbl_1000DB88: + # 00446368 cse_equ + .gpword .L004468F4 + .gpword .L004463C8 + + .balign 4 +jtbl_1000DB90: + # 00446368 cse_equ + .gpword .L004466B0 + .gpword .L004466B0 + .gpword .L00446A2C + .gpword .L00446438 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L004466B0 + .gpword .L004466B0 + .gpword .L0044671C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L0044671C + .gpword .L00446A2C + .gpword .L004466B0 + .gpword .L00446470 + .gpword .L004466B0 + .gpword .L00446A2C + .gpword .L00446438 + + .balign 4 +jtbl_1000DBE4: + # 00446368 cse_equ + .gpword .L004466B0 + .gpword .L004466B0 + .gpword .L00446A2C + .gpword .L00446438 + .gpword .L00446438 + + .balign 4 +jtbl_1000DBF8: + # 00446368 cse_equ + .gpword .L00446578 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L004467A0 + .gpword .L00446A2C + .gpword .L00446A2C + .gpword .L004466B0 + +RO_1000DC18: + # 00447150 check_vreg + .ascii "offset/length mismatch between vreg and reference " + +RO_1000DC68: + # 00447150 check_vreg + .ascii "translate.p " + +RO_1000DCB8: + # 00447150 check_vreg + .ascii "attempt to access undefined memory location " + +RO_1000DD08: + # 00447150 check_vreg + .ascii "translate.p " + +RO_1000DD58: + # 0044747C find_vreg_mtag + .ascii "offset/length mismatch between vreg and reference " + +RO_1000DDA8: + # 0044747C find_vreg_mtag + .ascii "translate.p " + +RO_1000DDF8: + # 0044747C find_vreg_mtag + .ascii "attempt to access undefined memory location " + +RO_1000DE48: + # 0044747C find_vreg_mtag + .ascii "translate.p " + +RO_1000DE98: + # 00447884 assign_vreg + .ascii "illegal vreg type " + +RO_1000DEE8: + # 00447884 assign_vreg + .ascii "translate.p " + +RO_1000DF38: + # 00447884 assign_vreg + .ascii "extended float not yet supported " + +RO_1000DF88: + # 00447884 assign_vreg + .ascii "translate.p " + + .balign 4 +jtbl_1000DFD8: + # 00447884 assign_vreg + .gpword .L004479B8 + .gpword .L00447D0C + .gpword .L004479B8 + .gpword .L004479B8 + .gpword .L004479B8 + .gpword .L00447BF4 + .gpword .L004479B8 + .gpword .L00447BF4 + .gpword .L004479B8 + .gpword .L004479B8 + .gpword .L004479B8 + .gpword .L00447D0C + .gpword .L004478D8 + .gpword .L004478D8 + .gpword .L004479B8 + .gpword .L00447BF4 + .gpword .L00447AF8 + +RO_1000E01C: + # 004481CC uses + .ascii "illegal u-code " + +RO_1000E06C: + # 004481CC uses + .ascii "translate.p " + + .balign 4 +jtbl_1000E0BC: + # 004481CC uses + .gpword .L004482DC + .gpword .L004482E4 + .gpword .L004482DC + .gpword .L00448328 + .gpword .L004482E4 + + .balign 4 +jtbl_1000E0D0: + # 004481CC uses + .gpword .L004482E4 + .gpword .L004482D4 + .gpword .L004482DC + .gpword .L004482DC + .gpword .L004482DC + .gpword .L004482DC + + .balign 4 +jtbl_1000E0E8: + # 004481CC uses + .gpword .L004482DC + .gpword .L004482DC + .gpword .L004482DC + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + + .balign 4 +jtbl_1000E100: + # 004481CC uses + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L004482DC + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482DC + .gpword .L004482DC + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482DC + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482D4 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482D4 + .gpword .L004482D4 + .gpword .L00448328 + .gpword .L004482D4 + .gpword .L00448328 + .gpword .L004482D4 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L004482DC + .gpword .L00448328 + .gpword .L00448270 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L004482DC + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L004482DC + .gpword .L004482DC + + .balign 4 +jtbl_1000E1EC: + # 004481CC uses + .gpword .L004482DC + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482DC + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482E4 + .gpword .L004482DC + .gpword .L004482DC + + .balign 4 +jtbl_1000E214: + # 004481CC uses + .gpword .L004482DC + .gpword .L00448328 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + .gpword .L00448328 + .gpword .L00448328 + .gpword .L004482E4 + + .balign 4 +jtbl_1000E234: + # 004481CC uses + .gpword .L004482DC + .gpword .L00448328 + .gpword .L004482D4 + +.data +# 10016780 +glabel expression_opcs + # 004432FC translate + .byte 0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + .type expression_opcs, @object + .size expression_opcs, .-expression_opcs # 156 + +# 1001681C +glabel h + # 0044196C get_set_const + .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + .type h, @object + .size h, .-h # 128 + +# 1001689C +glabel reverse + # 0040F4C8 build_tree + # 004432FC translate + .byte 0x60,0x01,0x60,0x60,0x04,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x23,0x60,0x60,0x60,0x60,0x4d,0x4e,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x3c,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x28,0x29,0x60,0x60,0x60,0x60,0x60,0x60,0x55,0x56,0x60,0x60,0x60,0x60,0x5b,0x60,0x60,0x60,0x5f,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x8d,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60 + .type reverse, @object + .size reverse, .-reverse # 156 + +# 10016938 +glabel no_cse_flag + # 004432FC translate + # 00446C08 cse + # 00447E14 load_cse + .byte 0x00,0x00,0x00,0x00 + .type no_cse_flag, @object + .size no_cse_flag, .-no_cse_flag # 4 + +D_1001693C: + # 00441E4C gen_set_equ + .byte 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01 + +D_10016944: + # 004432FC translate + .byte 0x00,0x00,0x20,0x06,0x01,0x00,0x20,0x20,0x0e,0x05,0x80,0x10 + +D_10016950: + # 004432FC translate + .byte 0x00,0x80,0x10,0x10,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x90,0x00,0x40,0x00 + +D_10016960: + # 004432FC translate + .byte 0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x01 + +D_10016968: + # 004432FC translate + .byte 0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x00 + +D_10016970: + # 00446E94 free_tree_and_cse + .byte 0x10,0x10,0x40,0x00,0x42,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016984: + # 00446E94 free_tree_and_cse + .byte 0x10,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00 + +D_10016994: + # 00446E94 free_tree_and_cse + .byte 0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x00 + +D_1001699C: + # 00447E14 load_cse + .byte 0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10 + +D_100169A8: + # 00447E14 load_cse + .byte 0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x00 + +D_100169B0: + # 00448584 add_store + .byte 0x00,0x00,0x02,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + +.bss + .balign 4 +# 100213F4 +glabel max_vreg_offset + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size max_vreg_offset, 4 + .type max_vreg_offset, @object + + .balign 4 +# 100213F8 +glabel max_fp_vreg_offset + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size max_fp_vreg_offset, 4 + .type max_fp_vreg_offset, @object + + .balign 4 +# 100213FC +glabel vreg_offset + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size vreg_offset, 4 + .type vreg_offset, @object + + .balign 4 +# 10021400 +glabel fp_vreg_offset + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size fp_vreg_offset, 4 + .type fp_vreg_offset, @object + + .balign 4 +# 10021404 +glabel vreg_count + # 004432FC translate + # 00447150 check_vreg + # 0044747C find_vreg_mtag + # 00447884 assign_vreg + .space 4 + .size vreg_count, 4 + .type vreg_count, @object + + .balign 4 +# 10021408 +glabel mst_node + # 004432FC translate + .space 4 + .size mst_node, 4 + .type mst_node, @object + + .balign 4 +# 1002140C +glabel expr_count + # 004432FC translate + # 00446C08 cse + # 00446E94 free_tree_and_cse + # 00448F78 check_loads_exprs + .space 4 + .size expr_count, 4 + .type expr_count, @object + + .balign 4 +# 10021410 +glabel load_count + # 004432FC translate + # 00446E94 free_tree_and_cse + # 00447E14 load_cse + # 00448584 add_store + # 00448F78 check_loads_exprs + .space 4 + .size load_count, 4 + .type load_count, @object + + .balign 4 +# 10021418 +glabel bb_size + # 004432FC translate + .space 4 + .size bb_size, 4 + .type bb_size, @object + + .balign 4 +# 1002141C +glabel leaf + # 004432FC translate + .space 4 + .size leaf, 4 + .type leaf, @object + + .balign 4 +# 10021420 +glabel has_entry + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size has_entry, 4 + .type has_entry, @object + + .balign 4 +# 10021424 +glabel varargs + # 004432FC translate + .space 4 + .size varargs, 4 + .type varargs, @object + + .balign 4 +# 10021428 +glabel calls + # 00443284 translate_tree + # 004432FC translate + .space 4 + .size calls, 4 + .type calls, @object + + .balign 16 +# 10021540 +glabel exprs + # 004432FC translate + # 00446C08 cse + # 00446E94 free_tree_and_cse + # 00448F78 check_loads_exprs + .space 40 + .size exprs, 40 + .type exprs, @object + + .balign 16 +# 10021568 +glabel loads + # 00446E94 free_tree_and_cse + # 00447E14 load_cse + # 00448584 add_store + # 00448F78 check_loads_exprs + .space 40 + .size loads, 40 + .type loads, @object + + .balign 16 +# 10021680 +glabel vregs + # 00447150 check_vreg + # 0044747C find_vreg_mtag + # 00447884 assign_vreg + .space 112 + .size vregs, 112 + .type vregs, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel force_casting + .ent force_casting + # 00446C08 cse +/* 00441860 3C1C0FBE */ .cpload $t9 +/* 00441864 279CE1F0 */ +/* 00441868 0399E021 */ +/* 0044186C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00441870 28A10005 */ slti $at, $a1, 5 +/* 00441874 AFBF001C */ sw $ra, 0x1c($sp) +/* 00441878 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044187C 10200022 */ beqz $at, .L00441908 +/* 00441880 AFA40028 */ sw $a0, 0x28($sp) +/* 00441884 AFA00020 */ sw $zero, 0x20($sp) +/* 00441888 8C8F0030 */ lw $t7, 0x30($a0) +/* 0044188C 24B8FFFF */ addiu $t8, $a1, -1 +/* 00441890 2F010004 */ sltiu $at, $t8, 4 +/* 00441894 10200011 */ beqz $at, .L004418DC +/* 00441898 AFAF0024 */ sw $t7, 0x24($sp) +/* 0044189C 8F818038 */ lw $at, %got(jtbl_1000D63C)($gp) +/* 004418A0 0018C080 */ sll $t8, $t8, 2 +/* 004418A4 00380821 */ addu $at, $at, $t8 +/* 004418A8 8C38D63C */ lw $t8, %lo(jtbl_1000D63C)($at) +/* 004418AC 031CC021 */ addu $t8, $t8, $gp +/* 004418B0 03000008 */ jr $t8 +/* 004418B4 00000000 */ nop +.L004418B8: +/* 004418B8 8FB90024 */ lw $t9, 0x24($sp) +/* 004418BC 1000000F */ b .L004418FC +/* 004418C0 AFB90020 */ sw $t9, 0x20($sp) +.L004418C4: +/* 004418C4 97A80026 */ lhu $t0, 0x26($sp) +/* 004418C8 1000000C */ b .L004418FC +/* 004418CC A7A80022 */ sh $t0, 0x22($sp) +.L004418D0: +/* 004418D0 93A90027 */ lbu $t1, 0x27($sp) +/* 004418D4 10000009 */ b .L004418FC +/* 004418D8 A3A90023 */ sb $t1, 0x23($sp) +.L004418DC: +/* 004418DC 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 004418E0 8F868038 */ lw $a2, %got(RO_1000D630)($gp) +/* 004418E4 24040001 */ li $a0, 1 +/* 004418E8 24050113 */ li $a1, 275 +/* 004418EC 2407000B */ li $a3, 11 +/* 004418F0 0320F809 */ jalr $t9 +/* 004418F4 24C6D630 */ addiu $a2, %lo(RO_1000D630) # addiu $a2, $a2, -0x29d0 +/* 004418F8 8FBC0018 */ lw $gp, 0x18($sp) +.L004418FC: +/* 004418FC 8FAA0020 */ lw $t2, 0x20($sp) +/* 00441900 8FAB0028 */ lw $t3, 0x28($sp) +/* 00441904 AD6A0030 */ sw $t2, 0x30($t3) +.L00441908: +/* 00441908 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044190C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00441910 03E00008 */ jr $ra +/* 00441914 00000000 */ nop + .type force_casting, @function + .size force_casting, .-force_casting + .end force_casting + +glabel is_power_of_two + .ent is_power_of_two + # 004432FC translate +/* 00441918 04810003 */ bgez $a0, .L00441928 +/* 0044191C 00001025 */ move $v0, $zero +/* 00441920 03E00008 */ jr $ra +/* 00441924 00001025 */ move $v0, $zero + +.L00441928: +/* 00441928 24050020 */ li $a1, 32 +/* 0044192C 24030001 */ li $v1, 1 +.L00441930: +/* 00441930 308E0001 */ andi $t6, $a0, 1 +/* 00441934 146E0008 */ bne $v1, $t6, .L00441958 +/* 00441938 24420001 */ addiu $v0, $v0, 1 +/* 0044193C 00047842 */ srl $t7, $a0, 1 +/* 00441940 15E00003 */ bnez $t7, .L00441950 +/* 00441944 00000000 */ nop +/* 00441948 03E00008 */ jr $ra +/* 0044194C 24020001 */ li $v0, 1 + +.L00441950: +/* 00441950 03E00008 */ jr $ra +/* 00441954 00001025 */ move $v0, $zero + +.L00441958: +/* 00441958 1445FFF5 */ bne $v0, $a1, .L00441930 +/* 0044195C 00042043 */ sra $a0, $a0, 1 +/* 00441960 24020001 */ li $v0, 1 +/* 00441964 03E00008 */ jr $ra +/* 00441968 00000000 */ nop + .type is_power_of_two, @function + .size is_power_of_two, .-is_power_of_two + .end is_power_of_two + +glabel get_set_const + .ent get_set_const + # 0044202C set_rewrite + # 004432FC translate +/* 0044196C 3C1C0FBE */ .cpload $t9 +/* 00441970 279CE0E4 */ +/* 00441974 0399E021 */ +/* 00441978 AFA60008 */ sw $a2, 8($sp) +/* 0044197C 00A61821 */ addu $v1, $a1, $a2 +/* 00441980 8C820000 */ lw $v0, ($a0) +/* 00441984 04610003 */ bgez $v1, .L00441994 +/* 00441988 00033883 */ sra $a3, $v1, 2 +/* 0044198C 24610003 */ addiu $at, $v1, 3 +/* 00441990 00013883 */ sra $a3, $at, 2 +.L00441994: +/* 00441994 004702B2 */ tlt $v0, $a3, 0xa +/* 00441998 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 0044199C 00004025 */ move $t0, $zero +/* 004419A0 00E04825 */ move $t1, $a3 +/* 004419A4 91CE0000 */ lbu $t6, ($t6) +/* 004419A8 55C00008 */ bnel $t6, $zero, .L004419CC +/* 004419AC 00023880 */ sll $a3, $v0, 2 +/* 004419B0 04A10003 */ bgez $a1, .L004419C0 +/* 004419B4 00053083 */ sra $a2, $a1, 2 +/* 004419B8 24A10003 */ addiu $at, $a1, 3 +/* 004419BC 00013083 */ sra $a2, $at, 2 +.L004419C0: +/* 004419C0 1000000D */ b .L004419F8 +/* 004419C4 24C60001 */ addiu $a2, $a2, 1 +/* 004419C8 00023880 */ sll $a3, $v0, 2 +.L004419CC: +/* 004419CC 00E54823 */ subu $t1, $a3, $a1 +/* 004419D0 05210002 */ bgez $t1, .L004419DC +/* 004419D4 01200821 */ move $at, $t1 +/* 004419D8 25210003 */ addiu $at, $t1, 3 +.L004419DC: +/* 004419DC 00014883 */ sra $t1, $at, 2 +/* 004419E0 00E33023 */ subu $a2, $a3, $v1 +/* 004419E4 04C10002 */ bgez $a2, .L004419F0 +/* 004419E8 00C00821 */ move $at, $a2 +/* 004419EC 24C10003 */ addiu $at, $a2, 3 +.L004419F0: +/* 004419F0 00013083 */ sra $a2, $at, 2 +/* 004419F4 24C60001 */ addiu $a2, $a2, 1 +.L004419F8: +/* 004419F8 0126082B */ sltu $at, $t1, $a2 +/* 004419FC 1420002D */ bnez $at, .L00441AB4 +/* 00441A00 25220001 */ addiu $v0, $t1, 1 +/* 00441A04 00464823 */ subu $t1, $v0, $a2 +/* 00441A08 31290003 */ andi $t1, $t1, 3 +/* 00441A0C 1120000F */ beqz $t1, .L00441A4C +/* 00441A10 00C01825 */ move $v1, $a2 +/* 00441A14 8C8F0004 */ lw $t7, 4($a0) +/* 00441A18 01263821 */ addu $a3, $t1, $a2 +/* 00441A1C 01E62821 */ addu $a1, $t7, $a2 +/* 00441A20 8F868918 */ lw $a2, %got(h)($gp) +.L00441A24: +/* 00441A24 90B9FFFF */ lbu $t9, -1($a1) +/* 00441A28 0008C100 */ sll $t8, $t0, 4 +/* 00441A2C 24630001 */ addiu $v1, $v1, 1 +/* 00441A30 00D95021 */ addu $t2, $a2, $t9 +/* 00441A34 914B0000 */ lbu $t3, ($t2) +/* 00441A38 24A50001 */ addiu $a1, $a1, 1 +/* 00441A3C 14E3FFF9 */ bne $a3, $v1, .L00441A24 +/* 00441A40 030B4021 */ addu $t0, $t8, $t3 +/* 00441A44 1062001B */ beq $v1, $v0, .L00441AB4 +/* 00441A48 00000000 */ nop +.L00441A4C: +/* 00441A4C 8C8C0004 */ lw $t4, 4($a0) +/* 00441A50 8F868918 */ lw $a2, %got(h)($gp) +/* 00441A54 01832821 */ addu $a1, $t4, $v1 +.L00441A58: +/* 00441A58 90AEFFFF */ lbu $t6, -1($a1) +/* 00441A5C 90B80000 */ lbu $t8, ($a1) +/* 00441A60 00086900 */ sll $t5, $t0, 4 +/* 00441A64 00CE7821 */ addu $t7, $a2, $t6 +/* 00441A68 91F90000 */ lbu $t9, ($t7) +/* 00441A6C 00D85821 */ addu $t3, $a2, $t8 +/* 00441A70 916C0000 */ lbu $t4, ($t3) +/* 00441A74 90AF0001 */ lbu $t7, 1($a1) +/* 00441A78 01B94021 */ addu $t0, $t5, $t9 +/* 00441A7C 00085100 */ sll $t2, $t0, 4 +/* 00441A80 90AB0002 */ lbu $t3, 2($a1) +/* 00441A84 014C4021 */ addu $t0, $t2, $t4 +/* 00441A88 00CF6821 */ addu $t5, $a2, $t7 +/* 00441A8C 91B90000 */ lbu $t9, ($t5) +/* 00441A90 00087100 */ sll $t6, $t0, 4 +/* 00441A94 00CB5021 */ addu $t2, $a2, $t3 +/* 00441A98 914C0000 */ lbu $t4, ($t2) +/* 00441A9C 01D94021 */ addu $t0, $t6, $t9 +/* 00441AA0 0008C100 */ sll $t8, $t0, 4 +/* 00441AA4 24630004 */ addiu $v1, $v1, 4 +/* 00441AA8 24A50004 */ addiu $a1, $a1, 4 +/* 00441AAC 1462FFEA */ bne $v1, $v0, .L00441A58 +/* 00441AB0 030C4021 */ addu $t0, $t8, $t4 +.L00441AB4: +/* 00441AB4 03E00008 */ jr $ra +/* 00441AB8 01001025 */ move $v0, $t0 + .type get_set_const, @function + .size get_set_const, .-get_set_const + .end get_set_const + +glabel gen_set_str + .ent gen_set_str + # 004432FC translate +/* 00441ABC 3C1C0FBE */ .cpload $t9 +/* 00441AC0 279CDF94 */ +/* 00441AC4 0399E021 */ +/* 00441AC8 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00441ACC AFBF003C */ sw $ra, 0x3c($sp) +/* 00441AD0 AFBE0038 */ sw $fp, 0x38($sp) +/* 00441AD4 AFBC0034 */ sw $gp, 0x34($sp) +/* 00441AD8 AFB70030 */ sw $s7, 0x30($sp) +/* 00441ADC AFB6002C */ sw $s6, 0x2c($sp) +/* 00441AE0 AFB50028 */ sw $s5, 0x28($sp) +/* 00441AE4 AFB40024 */ sw $s4, 0x24($sp) +/* 00441AE8 AFB30020 */ sw $s3, 0x20($sp) +/* 00441AEC AFB2001C */ sw $s2, 0x1c($sp) +/* 00441AF0 AFB10018 */ sw $s1, 0x18($sp) +/* 00441AF4 AFB00014 */ sw $s0, 0x14($sp) +/* 00441AF8 908E0020 */ lbu $t6, 0x20($a0) +/* 00441AFC 3C010800 */ lui $at, 0x800 +/* 00441B00 34210010 */ ori $at, $at, 0x10 +/* 00441B04 25CFFFA0 */ addiu $t7, $t6, -0x60 +/* 00441B08 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00441B0C 0018C823 */ negu $t9, $t8 +/* 00441B10 03214024 */ and $t0, $t9, $at +/* 00441B14 01E84804 */ sllv $t1, $t0, $t7 +/* 00441B18 00808825 */ move $s1, $a0 +/* 00441B1C 012002B0 */ tge $t1, $zero, 0xa +/* 00441B20 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441B24 8E2A0008 */ lw $t2, 8($s1) +/* 00441B28 8E3E0000 */ lw $fp, ($s1) +/* 00441B2C 0220A025 */ move $s4, $s1 +/* 00441B30 00002825 */ move $a1, $zero +/* 00441B34 24060020 */ li $a2, 32 +/* 00441B38 AFAA0048 */ sw $t2, 0x48($sp) +/* 00441B3C 0320F809 */ jalr $t9 +/* 00441B40 03C02025 */ move $a0, $fp +/* 00441B44 8E330028 */ lw $s3, 0x28($s1) +/* 00441B48 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441B4C AE220000 */ sw $v0, ($s1) +/* 00441B50 26730003 */ addiu $s3, $s3, 3 +/* 00441B54 06610002 */ bgez $s3, .L00441B60 +/* 00441B58 02600821 */ move $at, $s3 +/* 00441B5C 26610003 */ addiu $at, $s3, 3 +.L00441B60: +/* 00441B60 00019883 */ sra $s3, $at, 2 +/* 00441B64 2673FFFF */ addiu $s3, $s3, -1 +/* 00441B68 1260002D */ beqz $s3, .L00441C20 +/* 00441B6C 24120020 */ li $s2, 32 +/* 00441B70 26730001 */ addiu $s3, $s3, 1 +/* 00441B74 0013A880 */ sll $s5, $s3, 2 +/* 00441B78 24100004 */ li $s0, 4 +/* 00441B7C 24170004 */ li $s7, 4 +/* 00441B80 2416FFE0 */ li $s6, -32 +.L00441B84: +/* 00441B84 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441B88 03C02025 */ move $a0, $fp +/* 00441B8C 02402825 */ move $a1, $s2 +/* 00441B90 0320F809 */ jalr $t9 +/* 00441B94 24060020 */ li $a2, 32 +/* 00441B98 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441B9C 92240020 */ lbu $a0, 0x20($s1) +/* 00441BA0 00402825 */ move $a1, $v0 +/* 00441BA4 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00441BA8 0320F809 */ jalr $t9 +/* 00441BAC 00000000 */ nop +/* 00441BB0 904B0021 */ lbu $t3, 0x21($v0) +/* 00441BB4 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441BB8 26520020 */ addiu $s2, $s2, 0x20 +/* 00441BBC 01766024 */ and $t4, $t3, $s6 +/* 00441BC0 3583000E */ ori $v1, $t4, 0xe +/* 00441BC4 A0430021 */ sb $v1, 0x21($v0) +/* 00441BC8 922E0021 */ lbu $t6, 0x21($s1) +/* 00441BCC 00034600 */ sll $t0, $v1, 0x18 +/* 00441BD0 00087F42 */ srl $t7, $t0, 0x1d +/* 00441BD4 000EC600 */ sll $t8, $t6, 0x18 +/* 00441BD8 0018CF42 */ srl $t9, $t8, 0x1d +/* 00441BDC 032F4826 */ xor $t1, $t9, $t7 +/* 00441BE0 00095740 */ sll $t2, $t1, 0x1d +/* 00441BE4 000A5E02 */ srl $t3, $t2, 0x18 +/* 00441BE8 01636026 */ xor $t4, $t3, $v1 +/* 00441BEC A04C0021 */ sb $t4, 0x21($v0) +/* 00441BF0 8E2D0024 */ lw $t5, 0x24($s1) +/* 00441BF4 AC4D0024 */ sw $t5, 0x24($v0) +/* 00441BF8 8E2E002C */ lw $t6, 0x2c($s1) +/* 00441BFC AC570028 */ sw $s7, 0x28($v0) +/* 00441C00 A4400022 */ sh $zero, 0x22($v0) +/* 00441C04 01D0C021 */ addu $t8, $t6, $s0 +/* 00441C08 AC58002C */ sw $t8, 0x2c($v0) +/* 00441C0C AE820008 */ sw $v0, 8($s4) +/* 00441C10 26100004 */ addiu $s0, $s0, 4 +/* 00441C14 1615FFDB */ bne $s0, $s5, .L00441B84 +/* 00441C18 0040A025 */ move $s4, $v0 +/* 00441C1C AFA20044 */ sw $v0, 0x44($sp) +.L00441C20: +/* 00441C20 8FA50044 */ lw $a1, 0x44($sp) +/* 00441C24 8FA80048 */ lw $t0, 0x48($sp) +/* 00441C28 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00441C2C 24170004 */ li $s7, 4 +/* 00441C30 ACA80008 */ sw $t0, 8($a1) +/* 00441C34 AE370028 */ sw $s7, 0x28($s1) +/* 00441C38 A6200022 */ sh $zero, 0x22($s1) +/* 00441C3C 0320F809 */ jalr $t9 +/* 00441C40 03C02025 */ move $a0, $fp +/* 00441C44 8FBF003C */ lw $ra, 0x3c($sp) +/* 00441C48 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441C4C 8FB00014 */ lw $s0, 0x14($sp) +/* 00441C50 8FB10018 */ lw $s1, 0x18($sp) +/* 00441C54 8FB2001C */ lw $s2, 0x1c($sp) +/* 00441C58 8FB30020 */ lw $s3, 0x20($sp) +/* 00441C5C 8FB40024 */ lw $s4, 0x24($sp) +/* 00441C60 8FB50028 */ lw $s5, 0x28($sp) +/* 00441C64 8FB6002C */ lw $s6, 0x2c($sp) +/* 00441C68 8FB70030 */ lw $s7, 0x30($sp) +/* 00441C6C 8FBE0038 */ lw $fp, 0x38($sp) +/* 00441C70 03E00008 */ jr $ra +/* 00441C74 27BD0050 */ addiu $sp, $sp, 0x50 + .type gen_set_str, @function + .size gen_set_str, .-gen_set_str + .end gen_set_str + +glabel gen_set_istr + .ent gen_set_istr + # 004432FC translate +/* 00441C78 3C1C0FBE */ .cpload $t9 +/* 00441C7C 279CDDD8 */ +/* 00441C80 0399E021 */ +/* 00441C84 27BDFFB0 */ addiu $sp, $sp, -0x50 +/* 00441C88 AFBF003C */ sw $ra, 0x3c($sp) +/* 00441C8C AFBE0038 */ sw $fp, 0x38($sp) +/* 00441C90 AFBC0034 */ sw $gp, 0x34($sp) +/* 00441C94 AFB70030 */ sw $s7, 0x30($sp) +/* 00441C98 AFB6002C */ sw $s6, 0x2c($sp) +/* 00441C9C AFB50028 */ sw $s5, 0x28($sp) +/* 00441CA0 AFB40024 */ sw $s4, 0x24($sp) +/* 00441CA4 AFB30020 */ sw $s3, 0x20($sp) +/* 00441CA8 AFB2001C */ sw $s2, 0x1c($sp) +/* 00441CAC AFB10018 */ sw $s1, 0x18($sp) +/* 00441CB0 AFB00014 */ sw $s0, 0x14($sp) +/* 00441CB4 908E0020 */ lbu $t6, 0x20($a0) +/* 00441CB8 00808825 */ move $s1, $a0 +/* 00441CBC 0220A025 */ move $s4, $s1 +/* 00441CC0 25CFFFE0 */ addiu $t7, $t6, -0x20 +/* 00441CC4 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 00441CC8 0018C823 */ negu $t9, $t8 +/* 00441CCC 33280003 */ andi $t0, $t9, 3 +/* 00441CD0 01E84804 */ sllv $t1, $t0, $t7 +/* 00441CD4 012002B0 */ tge $t1, $zero, 0xa +/* 00441CD8 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441CDC 8E2A0008 */ lw $t2, 8($s1) +/* 00441CE0 8E3E0004 */ lw $fp, 4($s1) +/* 00441CE4 00002825 */ move $a1, $zero +/* 00441CE8 24060020 */ li $a2, 32 +/* 00441CEC AFAA0048 */ sw $t2, 0x48($sp) +/* 00441CF0 0320F809 */ jalr $t9 +/* 00441CF4 03C02025 */ move $a0, $fp +/* 00441CF8 8E360028 */ lw $s6, 0x28($s1) +/* 00441CFC 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441D00 AE220004 */ sw $v0, 4($s1) +/* 00441D04 26D60003 */ addiu $s6, $s6, 3 +/* 00441D08 06C10002 */ bgez $s6, .L00441D14 +/* 00441D0C 02C00821 */ move $at, $s6 +/* 00441D10 26C10003 */ addiu $at, $s6, 3 +.L00441D14: +/* 00441D14 0001B083 */ sra $s6, $at, 2 +/* 00441D18 26D6FFFF */ addiu $s6, $s6, -1 +/* 00441D1C 12C00034 */ beqz $s6, .L00441DF0 +/* 00441D20 24120020 */ li $s2, 32 +/* 00441D24 26D60001 */ addiu $s6, $s6, 1 +/* 00441D28 0016A880 */ sll $s5, $s6, 2 +/* 00441D2C 24100004 */ li $s0, 4 +/* 00441D30 2417FFE0 */ li $s7, -32 +.L00441D34: +/* 00441D34 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441D38 03C02025 */ move $a0, $fp +/* 00441D3C 02402825 */ move $a1, $s2 +/* 00441D40 0320F809 */ jalr $t9 +/* 00441D44 24060020 */ li $a2, 32 +/* 00441D48 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441D4C 00409825 */ move $s3, $v0 +/* 00441D50 8E240000 */ lw $a0, ($s1) +/* 00441D54 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00441D58 0320F809 */ jalr $t9 +/* 00441D5C 00000000 */ nop +/* 00441D60 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441D64 92240020 */ lbu $a0, 0x20($s1) +/* 00441D68 00402825 */ move $a1, $v0 +/* 00441D6C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00441D70 02603025 */ move $a2, $s3 +/* 00441D74 0320F809 */ jalr $t9 +/* 00441D78 00000000 */ nop +/* 00441D7C 904B0021 */ lbu $t3, 0x21($v0) +/* 00441D80 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441D84 26520020 */ addiu $s2, $s2, 0x20 +/* 00441D88 01776024 */ and $t4, $t3, $s7 +/* 00441D8C 3583000E */ ori $v1, $t4, 0xe +/* 00441D90 A0430021 */ sb $v1, 0x21($v0) +/* 00441D94 922E0021 */ lbu $t6, 0x21($s1) +/* 00441D98 00034600 */ sll $t0, $v1, 0x18 +/* 00441D9C 00087F42 */ srl $t7, $t0, 0x1d +/* 00441DA0 000EC600 */ sll $t8, $t6, 0x18 +/* 00441DA4 0018CF42 */ srl $t9, $t8, 0x1d +/* 00441DA8 032F4826 */ xor $t1, $t9, $t7 +/* 00441DAC 00095740 */ sll $t2, $t1, 0x1d +/* 00441DB0 000A5E02 */ srl $t3, $t2, 0x18 +/* 00441DB4 01636026 */ xor $t4, $t3, $v1 +/* 00441DB8 A04C0021 */ sb $t4, 0x21($v0) +/* 00441DBC 8E2D0024 */ lw $t5, 0x24($s1) +/* 00441DC0 24080004 */ li $t0, 4 +/* 00441DC4 AC4D0024 */ sw $t5, 0x24($v0) +/* 00441DC8 8E2E002C */ lw $t6, 0x2c($s1) +/* 00441DCC AC480028 */ sw $t0, 0x28($v0) +/* 00441DD0 A4400022 */ sh $zero, 0x22($v0) +/* 00441DD4 01D0C021 */ addu $t8, $t6, $s0 +/* 00441DD8 AC58002C */ sw $t8, 0x2c($v0) +/* 00441DDC AE820008 */ sw $v0, 8($s4) +/* 00441DE0 26100004 */ addiu $s0, $s0, 4 +/* 00441DE4 1615FFD3 */ bne $s0, $s5, .L00441D34 +/* 00441DE8 0040A025 */ move $s4, $v0 +/* 00441DEC AFA20044 */ sw $v0, 0x44($sp) +.L00441DF0: +/* 00441DF0 8FB30044 */ lw $s3, 0x44($sp) +/* 00441DF4 8FB90048 */ lw $t9, 0x48($sp) +/* 00441DF8 240F0004 */ li $t7, 4 +/* 00441DFC 03C02025 */ move $a0, $fp +/* 00441E00 AE790008 */ sw $t9, 8($s3) +/* 00441E04 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00441E08 AE2F0028 */ sw $t7, 0x28($s1) +/* 00441E0C A6200022 */ sh $zero, 0x22($s1) +/* 00441E10 0320F809 */ jalr $t9 +/* 00441E14 00000000 */ nop +/* 00441E18 8FBF003C */ lw $ra, 0x3c($sp) +/* 00441E1C 8FBC0034 */ lw $gp, 0x34($sp) +/* 00441E20 8FB00014 */ lw $s0, 0x14($sp) +/* 00441E24 8FB10018 */ lw $s1, 0x18($sp) +/* 00441E28 8FB2001C */ lw $s2, 0x1c($sp) +/* 00441E2C 8FB30020 */ lw $s3, 0x20($sp) +/* 00441E30 8FB40024 */ lw $s4, 0x24($sp) +/* 00441E34 8FB50028 */ lw $s5, 0x28($sp) +/* 00441E38 8FB6002C */ lw $s6, 0x2c($sp) +/* 00441E3C 8FB70030 */ lw $s7, 0x30($sp) +/* 00441E40 8FBE0038 */ lw $fp, 0x38($sp) +/* 00441E44 03E00008 */ jr $ra +/* 00441E48 27BD0050 */ addiu $sp, $sp, 0x50 + .type gen_set_istr, @function + .size gen_set_istr, .-gen_set_istr + .end gen_set_istr + +glabel gen_set_equ + .ent gen_set_equ + # 004432FC translate +/* 00441E4C 3C1C0FBE */ .cpload $t9 +/* 00441E50 279CDC04 */ +/* 00441E54 0399E021 */ +/* 00441E58 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00441E5C AFBF003C */ sw $ra, 0x3c($sp) +/* 00441E60 AFBC0038 */ sw $gp, 0x38($sp) +/* 00441E64 AFB70034 */ sw $s7, 0x34($sp) +/* 00441E68 AFB60030 */ sw $s6, 0x30($sp) +/* 00441E6C AFB5002C */ sw $s5, 0x2c($sp) +/* 00441E70 AFB40028 */ sw $s4, 0x28($sp) +/* 00441E74 AFB30024 */ sw $s3, 0x24($sp) +/* 00441E78 AFB20020 */ sw $s2, 0x20($sp) +/* 00441E7C AFB1001C */ sw $s1, 0x1c($sp) +/* 00441E80 AFB00018 */ sw $s0, 0x18($sp) +/* 00441E84 908E0020 */ lbu $t6, 0x20($a0) +/* 00441E88 0080A825 */ move $s5, $a0 +/* 00441E8C 25CFFFE0 */ addiu $t7, $t6, -0x20 +/* 00441E90 2DF80040 */ sltiu $t8, $t7, 0x40 +/* 00441E94 5300000A */ beql $t8, $zero, .L00441EC0 +/* 00441E98 030002B4 */ teq $t8, $zero, 0xa +/* 00441E9C 8F898038 */ lw $t1, %got(D_1001693C)($gp) +/* 00441EA0 000FC943 */ sra $t9, $t7, 5 +/* 00441EA4 00194080 */ sll $t0, $t9, 2 +/* 00441EA8 2529693C */ addiu $t1, %lo(D_1001693C) # addiu $t1, $t1, 0x693c +/* 00441EAC 01285021 */ addu $t2, $t1, $t0 +/* 00441EB0 8D4B0000 */ lw $t3, ($t2) +/* 00441EB4 01EB6004 */ sllv $t4, $t3, $t7 +/* 00441EB8 29980000 */ slti $t8, $t4, 0 +/* 00441EBC 030002B4 */ teq $t8, $zero, 0xa +.L00441EC0: +/* 00441EC0 8EA50000 */ lw $a1, ($s5) +/* 00441EC4 0000A025 */ move $s4, $zero +/* 00441EC8 2417FFFF */ li $s7, -1 +/* 00441ECC 8CA20028 */ lw $v0, 0x28($a1) +/* 00441ED0 2416FFE0 */ li $s6, -32 +/* 00441ED4 24420003 */ addiu $v0, $v0, 3 +/* 00441ED8 04410002 */ bgez $v0, .L00441EE4 +/* 00441EDC 00400821 */ move $at, $v0 +/* 00441EE0 24410003 */ addiu $at, $v0, 3 +.L00441EE4: +/* 00441EE4 00011083 */ sra $v0, $at, 2 +/* 00441EE8 2451FFFF */ addiu $s1, $v0, -1 +/* 00441EEC 00119140 */ sll $s2, $s1, 5 +.L00441EF0: +/* 00441EF0 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441EF4 8EA40000 */ lw $a0, ($s5) +/* 00441EF8 02408025 */ move $s0, $s2 +/* 00441EFC 02402825 */ move $a1, $s2 +/* 00441F00 0320F809 */ jalr $t9 +/* 00441F04 24060020 */ li $a2, 32 +/* 00441F08 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441F0C 00409825 */ move $s3, $v0 +/* 00441F10 8EA40004 */ lw $a0, 4($s5) +/* 00441F14 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00441F18 02002825 */ move $a1, $s0 +/* 00441F1C 24060020 */ li $a2, 32 +/* 00441F20 0320F809 */ jalr $t9 +/* 00441F24 00000000 */ nop +/* 00441F28 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441F2C 2404008D */ li $a0, 141 +/* 00441F30 02602825 */ move $a1, $s3 +/* 00441F34 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00441F38 00403025 */ move $a2, $v0 +/* 00441F3C 0320F809 */ jalr $t9 +/* 00441F40 00000000 */ nop +/* 00441F44 904E0021 */ lbu $t6, 0x21($v0) +/* 00441F48 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441F4C 00403025 */ move $a2, $v0 +/* 00441F50 01D6C824 */ and $t9, $t6, $s6 +/* 00441F54 37290008 */ ori $t1, $t9, 8 +/* 00441F58 16800003 */ bnez $s4, .L00441F68 +/* 00441F5C A0490021 */ sb $t1, 0x21($v0) +/* 00441F60 1000000C */ b .L00441F94 +/* 00441F64 0040A025 */ move $s4, $v0 +.L00441F68: +/* 00441F68 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00441F6C 2404003C */ li $a0, 60 +/* 00441F70 02802825 */ move $a1, $s4 +/* 00441F74 0320F809 */ jalr $t9 +/* 00441F78 00000000 */ nop +/* 00441F7C 90480021 */ lbu $t0, 0x21($v0) +/* 00441F80 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441F84 0040A025 */ move $s4, $v0 +/* 00441F88 01165024 */ and $t2, $t0, $s6 +/* 00441F8C 354B0008 */ ori $t3, $t2, 8 +/* 00441F90 A04B0021 */ sb $t3, 0x21($v0) +.L00441F94: +/* 00441F94 2631FFFF */ addiu $s1, $s1, -1 +/* 00441F98 1637FFD5 */ bne $s1, $s7, .L00441EF0 +/* 00441F9C 2652FFE0 */ addiu $s2, $s2, -0x20 +/* 00441FA0 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00441FA4 8EA40000 */ lw $a0, ($s5) +/* 00441FA8 2416FFE0 */ li $s6, -32 +/* 00441FAC 0320F809 */ jalr $t9 +/* 00441FB0 00000000 */ nop +/* 00441FB4 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441FB8 8EA40004 */ lw $a0, 4($s5) +/* 00441FBC 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00441FC0 0320F809 */ jalr $t9 +/* 00441FC4 00000000 */ nop +/* 00441FC8 8FBC0038 */ lw $gp, 0x38($sp) +/* 00441FCC 92AF0021 */ lbu $t7, 0x21($s5) +/* 00441FD0 AEB40000 */ sw $s4, ($s5) +/* 00441FD4 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00441FD8 01F66024 */ and $t4, $t7, $s6 +/* 00441FDC 358D0008 */ ori $t5, $t4, 8 +/* 00441FE0 A2AD0021 */ sb $t5, 0x21($s5) +/* 00441FE4 24040008 */ li $a0, 8 +/* 00441FE8 00002825 */ move $a1, $zero +/* 00441FEC 0320F809 */ jalr $t9 +/* 00441FF0 00003025 */ move $a2, $zero +/* 00441FF4 8FBF003C */ lw $ra, 0x3c($sp) +/* 00441FF8 AEA20004 */ sw $v0, 4($s5) +/* 00441FFC 02A01025 */ move $v0, $s5 +/* 00442000 8FBC0038 */ lw $gp, 0x38($sp) +/* 00442004 8FB5002C */ lw $s5, 0x2c($sp) +/* 00442008 8FB00018 */ lw $s0, 0x18($sp) +/* 0044200C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00442010 8FB20020 */ lw $s2, 0x20($sp) +/* 00442014 8FB30024 */ lw $s3, 0x24($sp) +/* 00442018 8FB40028 */ lw $s4, 0x28($sp) +/* 0044201C 8FB60030 */ lw $s6, 0x30($sp) +/* 00442020 8FB70034 */ lw $s7, 0x34($sp) +/* 00442024 03E00008 */ jr $ra +/* 00442028 27BD0040 */ addiu $sp, $sp, 0x40 + .type gen_set_equ, @function + .size gen_set_equ, .-gen_set_equ + .end gen_set_equ + +glabel set_rewrite + .ent set_rewrite + # 00441ABC gen_set_str + # 00441C78 gen_set_istr + # 00441E4C gen_set_equ + # 0044202C set_rewrite + # 004432FC translate +/* 0044202C 3C1C0FBE */ .cpload $t9 +/* 00442030 279CDA24 */ +/* 00442034 0399E021 */ +/* 00442038 27BDFF20 */ addiu $sp, $sp, -0xe0 +/* 0044203C AFB100B4 */ sw $s1, 0xb4($sp) +/* 00442040 AFB000B0 */ sw $s0, 0xb0($sp) +/* 00442044 00A03825 */ move $a3, $a1 +/* 00442048 24050002 */ li $a1, 2 +/* 0044204C 00808025 */ move $s0, $a0 +/* 00442050 30D100FF */ andi $s1, $a2, 0xff +/* 00442054 AFBF00BC */ sw $ra, 0xbc($sp) +/* 00442058 AFBC00B8 */ sw $gp, 0xb8($sp) +/* 0044205C AFA600E8 */ sw $a2, 0xe8($sp) +/* 00442060 2408000E */ li $t0, 14 +.L00442064: +/* 00442064 100001C1 */ b .L0044276C +/* 00442068 92020020 */ lbu $v0, 0x20($s0) +/* 0044206C 920E0021 */ lbu $t6, 0x21($s0) +.L00442070: +/* 00442070 31CF001F */ andi $t7, $t6, 0x1f +/* 00442074 010F02B6 */ tne $t0, $t7, 0xa +/* 00442078 8F9985D8 */ lw $t9, %call16(get_set_const)($gp) +/* 0044207C 26040030 */ addiu $a0, $s0, 0x30 +/* 00442080 00E02825 */ move $a1, $a3 +/* 00442084 0320F809 */ jalr $t9 +/* 00442088 02203025 */ move $a2, $s1 +/* 0044208C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442090 24040008 */ li $a0, 8 +/* 00442094 00002825 */ move $a1, $zero +/* 00442098 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044209C 00403025 */ move $a2, $v0 +/* 004420A0 0320F809 */ jalr $t9 +/* 004420A4 00000000 */ nop +/* 004420A8 26380007 */ addiu $t8, $s1, 7 +/* 004420AC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004420B0 AFA200D8 */ sw $v0, 0xd8($sp) +/* 004420B4 07010003 */ bgez $t8, .L004420C4 +/* 004420B8 0018C8C3 */ sra $t9, $t8, 3 +/* 004420BC 27010007 */ addiu $at, $t8, 7 +/* 004420C0 0001C8C3 */ sra $t9, $at, 3 +.L004420C4: +/* 004420C4 10000222 */ b .L00442950 +/* 004420C8 AC590028 */ sw $t9, 0x28($v0) +/* 004420CC 92090021 */ lbu $t1, 0x21($s0) +.L004420D0: +/* 004420D0 312A001F */ andi $t2, $t1, 0x1f +/* 004420D4 010A02B6 */ tne $t0, $t2, 0xa +/* 004420D8 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 004420DC 26040020 */ addiu $a0, $s0, 0x20 +/* 004420E0 AFA700E4 */ sw $a3, 0xe4($sp) +/* 004420E4 0320F809 */ jalr $t9 +/* 004420E8 00000000 */ nop +/* 004420EC 8FA700E4 */ lw $a3, 0xe4($sp) +/* 004420F0 AFA200D8 */ sw $v0, 0xd8($sp) +/* 004420F4 8C4B002C */ lw $t3, 0x2c($v0) +/* 004420F8 262E0007 */ addiu $t6, $s1, 7 +/* 004420FC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442100 04E10003 */ bgez $a3, .L00442110 +/* 00442104 000760C3 */ sra $t4, $a3, 3 +/* 00442108 24E10007 */ addiu $at, $a3, 7 +/* 0044210C 000160C3 */ sra $t4, $at, 3 +.L00442110: +/* 00442110 016C6821 */ addu $t5, $t3, $t4 +/* 00442114 AC4D002C */ sw $t5, 0x2c($v0) +/* 00442118 05C10003 */ bgez $t6, .L00442128 +/* 0044211C 000E78C3 */ sra $t7, $t6, 3 +/* 00442120 25C10007 */ addiu $at, $t6, 7 +/* 00442124 000178C3 */ sra $t7, $at, 3 +.L00442128: +/* 00442128 AC4F0028 */ sw $t7, 0x28($v0) +/* 0044212C 10000208 */ b .L00442950 +/* 00442130 A4400022 */ sh $zero, 0x22($v0) +.L00442134: +/* 00442134 92180021 */ lbu $t8, 0x21($s0) +.L00442138: +/* 00442138 3319001F */ andi $t9, $t8, 0x1f +/* 0044213C 011902B6 */ tne $t0, $t9, 0xa +/* 00442140 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00442144 26040020 */ addiu $a0, $s0, 0x20 +/* 00442148 AFA700E4 */ sw $a3, 0xe4($sp) +/* 0044214C 0320F809 */ jalr $t9 +/* 00442150 00000000 */ nop +/* 00442154 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442158 AFA200D8 */ sw $v0, 0xd8($sp) +/* 0044215C 8E040000 */ lw $a0, ($s0) +/* 00442160 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442164 0320F809 */ jalr $t9 +/* 00442168 00000000 */ nop +/* 0044216C 8FA700E4 */ lw $a3, 0xe4($sp) +/* 00442170 8FA300D8 */ lw $v1, 0xd8($sp) +/* 00442174 262C0007 */ addiu $t4, $s1, 7 +/* 00442178 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044217C 8C69002C */ lw $t1, 0x2c($v1) +/* 00442180 AC620000 */ sw $v0, ($v1) +/* 00442184 04E10003 */ bgez $a3, .L00442194 +/* 00442188 000750C3 */ sra $t2, $a3, 3 +/* 0044218C 24E10007 */ addiu $at, $a3, 7 +/* 00442190 000150C3 */ sra $t2, $at, 3 +.L00442194: +/* 00442194 012A5821 */ addu $t3, $t1, $t2 +/* 00442198 AC6B002C */ sw $t3, 0x2c($v1) +/* 0044219C 05810003 */ bgez $t4, .L004421AC +/* 004421A0 000C68C3 */ sra $t5, $t4, 3 +/* 004421A4 25810007 */ addiu $at, $t4, 7 +/* 004421A8 000168C3 */ sra $t5, $at, 3 +.L004421AC: +/* 004421AC AC6D0028 */ sw $t5, 0x28($v1) +/* 004421B0 100001E7 */ b .L00442950 +/* 004421B4 A4600022 */ sh $zero, 0x22($v1) +.L004421B8: +/* 004421B8 920E0021 */ lbu $t6, 0x21($s0) +.L004421BC: +/* 004421BC 00E02825 */ move $a1, $a3 +/* 004421C0 31CF001F */ andi $t7, $t6, 0x1f +/* 004421C4 010F02B6 */ tne $t0, $t7, 0xa +/* 004421C8 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 004421CC 8E040000 */ lw $a0, ($s0) +/* 004421D0 02203025 */ move $a2, $s1 +/* 004421D4 0320F809 */ jalr $t9 +/* 004421D8 AFA700E4 */ sw $a3, 0xe4($sp) +/* 004421DC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004421E0 8FA500E4 */ lw $a1, 0xe4($sp) +/* 004421E4 AFA200C0 */ sw $v0, 0xc0($sp) +/* 004421E8 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 004421EC 8E040004 */ lw $a0, 4($s0) +/* 004421F0 02203025 */ move $a2, $s1 +/* 004421F4 0320F809 */ jalr $t9 +/* 004421F8 00000000 */ nop +/* 004421FC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442200 92040020 */ lbu $a0, 0x20($s0) +/* 00442204 8FA500C0 */ lw $a1, 0xc0($sp) +/* 00442208 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 0044220C 00403025 */ move $a2, $v0 +/* 00442210 0320F809 */ jalr $t9 +/* 00442214 00000000 */ nop +/* 00442218 26380007 */ addiu $t8, $s1, 7 +/* 0044221C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442220 AFA200D8 */ sw $v0, 0xd8($sp) +/* 00442224 07010003 */ bgez $t8, .L00442234 +/* 00442228 0018C8C3 */ sra $t9, $t8, 3 +/* 0044222C 27010007 */ addiu $at, $t8, 7 +/* 00442230 0001C8C3 */ sra $t9, $at, 3 +.L00442234: +/* 00442234 100001C6 */ b .L00442950 +/* 00442238 AC590028 */ sw $t9, 0x28($v0) +.L0044223C: +/* 0044223C 8E02002C */ lw $v0, 0x2c($s0) +/* 00442240 323100FF */ andi $s1, $s1, 0xff +/* 00442244 000218C0 */ sll $v1, $v0, 3 +/* 00442248 00E3082A */ slt $at, $a3, $v1 +/* 0044224C 14200008 */ bnez $at, .L00442270 +/* 00442250 00000000 */ nop +/* 00442254 8E040000 */ lw $a0, ($s0) +/* 00442258 8C890028 */ lw $t1, 0x28($a0) +/* 0044225C 00495021 */ addu $t2, $v0, $t1 +/* 00442260 000A58C0 */ sll $t3, $t2, 3 +/* 00442264 00EB082A */ slt $at, $a3, $t3 +/* 00442268 14200009 */ bnez $at, .L00442290 +/* 0044226C 00E33823 */ subu $a3, $a3, $v1 +.L00442270: +/* 00442270 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442274 24040008 */ li $a0, 8 +/* 00442278 00002825 */ move $a1, $zero +/* 0044227C 0320F809 */ jalr $t9 +/* 00442280 00003025 */ move $a2, $zero +/* 00442284 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442288 100001B1 */ b .L00442950 +/* 0044228C AFA200D8 */ sw $v0, 0xd8($sp) +.L00442290: +/* 00442290 1000FF74 */ b .L00442064 +/* 00442294 00808025 */ move $s0, $a0 +/* 00442298 8E040000 */ lw $a0, ($s0) +.L0044229C: +/* 0044229C 24010049 */ li $at, 73 +/* 004422A0 908C0020 */ lbu $t4, 0x20($a0) +/* 004422A4 15810028 */ bne $t4, $at, .L00442348 +/* 004422A8 00000000 */ nop +/* 004422AC 8C820030 */ lw $v0, 0x30($a0) +/* 004422B0 00F16821 */ addu $t5, $a3, $s1 +/* 004422B4 0047082A */ slt $at, $v0, $a3 +/* 004422B8 14200003 */ bnez $at, .L004422C8 +/* 004422BC 004D082A */ slt $at, $v0, $t5 +/* 004422C0 14200009 */ bnez $at, .L004422E8 +/* 004422C4 00000000 */ nop +.L004422C8: +/* 004422C8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004422CC 24040008 */ li $a0, 8 +/* 004422D0 00002825 */ move $a1, $zero +/* 004422D4 0320F809 */ jalr $t9 +/* 004422D8 00003025 */ move $a2, $zero +/* 004422DC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004422E0 1000019B */ b .L00442950 +/* 004422E4 AFA200D8 */ sw $v0, 0xd8($sp) +.L004422E8: +/* 004422E8 8F8E898C */ lw $t6, %got(lsb_first)($gp) +/* 004422EC 0047C823 */ subu $t9, $v0, $a3 +/* 004422F0 3C098000 */ lui $t1, 0x8000 +/* 004422F4 91CE0000 */ lbu $t6, ($t6) +/* 004422F8 24040008 */ li $a0, 8 +/* 004422FC 00002825 */ move $a1, $zero +/* 00442300 11C00009 */ beqz $t6, .L00442328 +/* 00442304 03293006 */ srlv $a2, $t1, $t9 +/* 00442308 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044230C 00477823 */ subu $t7, $v0, $a3 +/* 00442310 24180001 */ li $t8, 1 +/* 00442314 0320F809 */ jalr $t9 +/* 00442318 01F83004 */ sllv $a2, $t8, $t7 +/* 0044231C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442320 1000018B */ b .L00442950 +/* 00442324 AFA200D8 */ sw $v0, 0xd8($sp) +.L00442328: +/* 00442328 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044232C 24040008 */ li $a0, 8 +/* 00442330 00002825 */ move $a1, $zero +/* 00442334 0320F809 */ jalr $t9 +/* 00442338 00000000 */ nop +/* 0044233C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442340 10000183 */ b .L00442950 +/* 00442344 AFA200D8 */ sw $v0, 0xd8($sp) +.L00442348: +/* 00442348 10E00018 */ beqz $a3, .L004423AC +/* 0044234C 00000000 */ nop +/* 00442350 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442354 AFA700E4 */ sw $a3, 0xe4($sp) +/* 00442358 0320F809 */ jalr $t9 +/* 0044235C 00000000 */ nop +/* 00442360 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442364 8FA700E4 */ lw $a3, 0xe4($sp) +/* 00442368 AFA200C0 */ sw $v0, 0xc0($sp) +/* 0044236C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442370 24040006 */ li $a0, 6 +/* 00442374 00002825 */ move $a1, $zero +/* 00442378 0320F809 */ jalr $t9 +/* 0044237C 00073023 */ negu $a2, $a3 +/* 00442380 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442384 24040001 */ li $a0, 1 +/* 00442388 8FA500C0 */ lw $a1, 0xc0($sp) +/* 0044238C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442390 00403025 */ move $a2, $v0 +/* 00442394 0320F809 */ jalr $t9 +/* 00442398 00000000 */ nop +/* 0044239C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004423A0 AFA200D8 */ sw $v0, 0xd8($sp) +/* 004423A4 10000006 */ b .L004423C0 +/* 004423A8 A4400022 */ sh $zero, 0x22($v0) +.L004423AC: +/* 004423AC 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004423B0 0320F809 */ jalr $t9 +/* 004423B4 00000000 */ nop +/* 004423B8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004423BC AFA200D8 */ sw $v0, 0xd8($sp) +.L004423C0: +/* 004423C0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004423C4 24040008 */ li $a0, 8 +/* 004423C8 00002825 */ move $a1, $zero +/* 004423CC 0320F809 */ jalr $t9 +/* 004423D0 02203025 */ move $a2, $s1 +/* 004423D4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004423D8 2404004E */ li $a0, 78 +/* 004423DC 8FA500D8 */ lw $a1, 0xd8($sp) +/* 004423E0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004423E4 00403025 */ move $a2, $v0 +/* 004423E8 0320F809 */ jalr $t9 +/* 004423EC 00000000 */ nop +/* 004423F0 AFA200D8 */ sw $v0, 0xd8($sp) +/* 004423F4 904A0021 */ lbu $t2, 0x21($v0) +/* 004423F8 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004423FC 314BFFE0 */ andi $t3, $t2, 0xffe0 +/* 00442400 356C0008 */ ori $t4, $t3, 8 +/* 00442404 A04C0021 */ sb $t4, 0x21($v0) +/* 00442408 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044240C 8E040000 */ lw $a0, ($s0) +/* 00442410 0320F809 */ jalr $t9 +/* 00442414 00000000 */ nop +/* 00442418 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044241C 00408025 */ move $s0, $v0 +/* 00442420 8F8D898C */ lw $t5, %got(lsb_first)($gp) +/* 00442424 91AD0000 */ lbu $t5, ($t5) +/* 00442428 15A00008 */ bnez $t5, .L0044244C +/* 0044242C 00000000 */ nop +/* 00442430 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00442434 24040061 */ li $a0, 97 +/* 00442438 00402825 */ move $a1, $v0 +/* 0044243C 0320F809 */ jalr $t9 +/* 00442440 00000000 */ nop +/* 00442444 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442448 00408025 */ move $s0, $v0 +.L0044244C: +/* 0044244C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442450 24040073 */ li $a0, 115 +/* 00442454 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00442458 0320F809 */ jalr $t9 +/* 0044245C 02003025 */ move $a2, $s0 +/* 00442460 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442464 1000013A */ b .L00442950 +/* 00442468 AFA200D8 */ sw $v0, 0xd8($sp) +.L0044246C: +/* 0044246C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442470 8E040000 */ lw $a0, ($s0) +/* 00442474 AFA700E4 */ sw $a3, 0xe4($sp) +/* 00442478 0320F809 */ jalr $t9 +/* 0044247C 00000000 */ nop +/* 00442480 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442484 AFA200D4 */ sw $v0, 0xd4($sp) +/* 00442488 8E040004 */ lw $a0, 4($s0) +/* 0044248C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442490 0320F809 */ jalr $t9 +/* 00442494 00000000 */ nop +/* 00442498 8FA700E4 */ lw $a3, 0xe4($sp) +/* 0044249C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004424A0 00408025 */ move $s0, $v0 +/* 004424A4 10E00011 */ beqz $a3, .L004424EC +/* 004424A8 24040006 */ li $a0, 6 +/* 004424AC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004424B0 00002825 */ move $a1, $zero +/* 004424B4 00073023 */ negu $a2, $a3 +/* 004424B8 0320F809 */ jalr $t9 +/* 004424BC AFA700E4 */ sw $a3, 0xe4($sp) +/* 004424C0 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004424C4 24040001 */ li $a0, 1 +/* 004424C8 8FA500D4 */ lw $a1, 0xd4($sp) +/* 004424CC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004424D0 00403025 */ move $a2, $v0 +/* 004424D4 0320F809 */ jalr $t9 +/* 004424D8 00000000 */ nop +/* 004424DC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004424E0 8FA700E4 */ lw $a3, 0xe4($sp) +/* 004424E4 AFA200D4 */ sw $v0, 0xd4($sp) +/* 004424E8 A4400022 */ sh $zero, 0x22($v0) +.L004424EC: +/* 004424EC 2401FFFF */ li $at, -1 +/* 004424F0 10E10010 */ beq $a3, $at, .L00442534 +/* 004424F4 24040006 */ li $a0, 6 +/* 004424F8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004424FC 240E0001 */ li $t6, 1 +/* 00442500 01C73023 */ subu $a2, $t6, $a3 +/* 00442504 0320F809 */ jalr $t9 +/* 00442508 00002825 */ move $a1, $zero +/* 0044250C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442510 24040001 */ li $a0, 1 +/* 00442514 02002825 */ move $a1, $s0 +/* 00442518 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 0044251C 00403025 */ move $a2, $v0 +/* 00442520 0320F809 */ jalr $t9 +/* 00442524 00000000 */ nop +/* 00442528 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044252C 00408025 */ move $s0, $v0 +/* 00442530 A4400022 */ sh $zero, 0x22($v0) +.L00442534: +/* 00442534 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442538 24040006 */ li $a0, 6 +/* 0044253C 00002825 */ move $a1, $zero +/* 00442540 0320F809 */ jalr $t9 +/* 00442544 00003025 */ move $a2, $zero +/* 00442548 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044254C 24040055 */ li $a0, 85 +/* 00442550 8FA500D4 */ lw $a1, 0xd4($sp) +/* 00442554 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442558 00403025 */ move $a2, $v0 +/* 0044255C 0320F809 */ jalr $t9 +/* 00442560 00000000 */ nop +/* 00442564 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442568 AFA200D4 */ sw $v0, 0xd4($sp) +/* 0044256C 24040006 */ li $a0, 6 +/* 00442570 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442574 00002825 */ move $a1, $zero +/* 00442578 02203025 */ move $a2, $s1 +/* 0044257C 0320F809 */ jalr $t9 +/* 00442580 00000000 */ nop +/* 00442584 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442588 24040056 */ li $a0, 86 +/* 0044258C 02002825 */ move $a1, $s0 +/* 00442590 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442594 00403025 */ move $a2, $v0 +/* 00442598 0320F809 */ jalr $t9 +/* 0044259C 00000000 */ nop +/* 004425A0 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004425A4 2404007D */ li $a0, 125 +/* 004425A8 8FA500D4 */ lw $a1, 0xd4($sp) +/* 004425AC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004425B0 00403025 */ move $a2, $v0 +/* 004425B4 0320F809 */ jalr $t9 +/* 004425B8 00000000 */ nop +/* 004425BC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004425C0 A4400022 */ sh $zero, 0x22($v0) +/* 004425C4 00408025 */ move $s0, $v0 +/* 004425C8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004425CC 24040008 */ li $a0, 8 +/* 004425D0 00002825 */ move $a1, $zero +/* 004425D4 0320F809 */ jalr $t9 +/* 004425D8 2406001F */ li $a2, 31 +/* 004425DC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004425E0 24040074 */ li $a0, 116 +/* 004425E4 02002825 */ move $a1, $s0 +/* 004425E8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004425EC 00403025 */ move $a2, $v0 +/* 004425F0 0320F809 */ jalr $t9 +/* 004425F4 00000000 */ nop +/* 004425F8 AFA200D8 */ sw $v0, 0xd8($sp) +/* 004425FC 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442600 90580021 */ lbu $t8, 0x21($v0) +/* 00442604 2411FFE0 */ li $s1, -32 +/* 00442608 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 0044260C 330FFFE0 */ andi $t7, $t8, 0xffe0 +/* 00442610 35E90006 */ ori $t1, $t7, 6 +/* 00442614 A0490021 */ sb $t1, 0x21($v0) +/* 00442618 93390000 */ lbu $t9, ($t9) +/* 0044261C 13200024 */ beqz $t9, .L004426B0 +/* 00442620 00000000 */ nop +/* 00442624 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442628 02002025 */ move $a0, $s0 +/* 0044262C 0320F809 */ jalr $t9 +/* 00442630 00000000 */ nop +/* 00442634 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442638 24040074 */ li $a0, 116 +/* 0044263C 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00442640 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442644 00403025 */ move $a2, $v0 +/* 00442648 0320F809 */ jalr $t9 +/* 0044264C 00000000 */ nop +/* 00442650 AFA200D8 */ sw $v0, 0xd8($sp) +/* 00442654 904A0021 */ lbu $t2, 0x21($v0) +/* 00442658 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044265C 01515824 */ and $t3, $t2, $s1 +/* 00442660 356C0008 */ ori $t4, $t3, 8 +/* 00442664 A04C0021 */ sb $t4, 0x21($v0) +/* 00442668 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044266C 8FA400D4 */ lw $a0, 0xd4($sp) +/* 00442670 0320F809 */ jalr $t9 +/* 00442674 00000000 */ nop +/* 00442678 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044267C 24040073 */ li $a0, 115 +/* 00442680 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00442684 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442688 00403025 */ move $a2, $v0 +/* 0044268C 0320F809 */ jalr $t9 +/* 00442690 00000000 */ nop +/* 00442694 AFA200D8 */ sw $v0, 0xd8($sp) +/* 00442698 904D0021 */ lbu $t5, 0x21($v0) +/* 0044269C 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004426A0 01B17024 */ and $t6, $t5, $s1 +/* 004426A4 35D80008 */ ori $t8, $t6, 8 +/* 004426A8 100000A9 */ b .L00442950 +/* 004426AC A0580021 */ sb $t8, 0x21($v0) +.L004426B0: +/* 004426B0 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004426B4 02002025 */ move $a0, $s0 +/* 004426B8 0320F809 */ jalr $t9 +/* 004426BC 00000000 */ nop +/* 004426C0 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004426C4 24040073 */ li $a0, 115 +/* 004426C8 8FA500D8 */ lw $a1, 0xd8($sp) +/* 004426CC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004426D0 00403025 */ move $a2, $v0 +/* 004426D4 0320F809 */ jalr $t9 +/* 004426D8 00000000 */ nop +/* 004426DC AFA200D8 */ sw $v0, 0xd8($sp) +/* 004426E0 904F0021 */ lbu $t7, 0x21($v0) +/* 004426E4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004426E8 01F14824 */ and $t1, $t7, $s1 +/* 004426EC 35390008 */ ori $t9, $t1, 8 +/* 004426F0 A0590021 */ sb $t9, 0x21($v0) +/* 004426F4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004426F8 8FA400D4 */ lw $a0, 0xd4($sp) +/* 004426FC 0320F809 */ jalr $t9 +/* 00442700 00000000 */ nop +/* 00442704 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 00442708 24040074 */ li $a0, 116 +/* 0044270C 8FA500D8 */ lw $a1, 0xd8($sp) +/* 00442710 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442714 00403025 */ move $a2, $v0 +/* 00442718 0320F809 */ jalr $t9 +/* 0044271C 00000000 */ nop +/* 00442720 AFA200D8 */ sw $v0, 0xd8($sp) +/* 00442724 904A0021 */ lbu $t2, 0x21($v0) +/* 00442728 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 0044272C 01515824 */ and $t3, $t2, $s1 +/* 00442730 356C0008 */ ori $t4, $t3, 8 +/* 00442734 10000086 */ b .L00442950 +/* 00442738 A04C0021 */ sb $t4, 0x21($v0) +.L0044273C: +/* 0044273C 920D0021 */ lbu $t5, 0x21($s0) +/* 00442740 323100FF */ andi $s1, $s1, 0xff +/* 00442744 31AE001F */ andi $t6, $t5, 0x1f +/* 00442748 010E02B6 */ tne $t0, $t6, 0xa +/* 0044274C 1000FE45 */ b .L00442064 +/* 00442750 8E100000 */ lw $s0, ($s0) +.L00442754: +/* 00442754 92180021 */ lbu $t8, 0x21($s0) +/* 00442758 323100FF */ andi $s1, $s1, 0xff +/* 0044275C 330F001F */ andi $t7, $t8, 0x1f +/* 00442760 010F02B6 */ tne $t0, $t7, 0xa +/* 00442764 1000FE3F */ b .L00442064 +/* 00442768 8E100000 */ lw $s0, ($s0) +.L0044276C: +/* 0044276C 2C41003E */ sltiu $at, $v0, 0x3e +/* 00442770 14200058 */ bnez $at, .L004428D4 +/* 00442774 2C41005E */ sltiu $at, $v0, 0x5e +/* 00442778 14200008 */ bnez $at, .L0044279C +/* 0044277C 24010072 */ li $at, 114 +/* 00442780 5041FEC6 */ beql $v0, $at, .L0044229C +/* 00442784 8E040000 */ lw $a0, ($s0) +/* 00442788 2401008A */ li $at, 138 +/* 0044278C 5041FE8B */ beql $v0, $at, .L004421BC +/* 00442790 920E0021 */ lbu $t6, 0x21($s0) +/* 00442794 1000000A */ b .L004427C0 +/* 00442798 00000000 */ nop +.L0044279C: +/* 0044279C 24010049 */ li $at, 73 +/* 004427A0 5041FE33 */ beql $v0, $at, .L00442070 +/* 004427A4 920E0021 */ lbu $t6, 0x21($s0) +/* 004427A8 24010052 */ li $at, 82 +/* 004427AC 5041FE48 */ beql $v0, $at, .L004420D0 +/* 004427B0 92090021 */ lbu $t1, 0x21($s0) +/* 004427B4 2401005D */ li $at, 93 +/* 004427B8 1041FF2C */ beq $v0, $at, .L0044246C +/* 004427BC 00000000 */ nop +.L004427C0: +/* 004427C0 8F898038 */ lw $t1, %got(RO_1000D69C)($gp) +/* 004427C4 24040004 */ li $a0, 4 +/* 004427C8 24050230 */ li $a1, 560 +/* 004427CC 2529D69C */ addiu $t1, %lo(RO_1000D69C) # addiu $t1, $t1, -0x2964 +/* 004427D0 252C0048 */ addiu $t4, $t1, 0x48 +/* 004427D4 03A05825 */ move $t3, $sp +.L004427D8: +/* 004427D8 892A0000 */ lwl $t2, ($t1) +/* 004427DC 992A0003 */ lwr $t2, 3($t1) +/* 004427E0 2529000C */ addiu $t1, $t1, 0xc +/* 004427E4 256B000C */ addiu $t3, $t3, 0xc +/* 004427E8 A96AFFFC */ swl $t2, -4($t3) +/* 004427EC B96AFFFF */ swr $t2, -1($t3) +/* 004427F0 8939FFF8 */ lwl $t9, -8($t1) +/* 004427F4 9939FFFB */ lwr $t9, -5($t1) +/* 004427F8 A9790000 */ swl $t9, ($t3) +/* 004427FC B9790003 */ swr $t9, 3($t3) +/* 00442800 892AFFFC */ lwl $t2, -4($t1) +/* 00442804 992AFFFF */ lwr $t2, -1($t1) +/* 00442808 A96A0004 */ swl $t2, 4($t3) +/* 0044280C 152CFFF2 */ bne $t1, $t4, .L004427D8 +/* 00442810 B96A0007 */ swr $t2, 7($t3) +/* 00442814 892A0000 */ lwl $t2, ($t1) +/* 00442818 992A0003 */ lwr $t2, 3($t1) +/* 0044281C 8F8D8038 */ lw $t5, %got(RO_1000D64C)($gp) +/* 00442820 03A07825 */ move $t7, $sp +/* 00442824 A96A0008 */ swl $t2, 8($t3) +/* 00442828 B96A000B */ swr $t2, 0xb($t3) +/* 0044282C 89390004 */ lwl $t9, 4($t1) +/* 00442830 99390007 */ lwr $t9, 7($t1) +/* 00442834 25ADD64C */ addiu $t5, %lo(RO_1000D64C) # addiu $t5, $t5, -0x29b4 +/* 00442838 25AC0048 */ addiu $t4, $t5, 0x48 +/* 0044283C A979000C */ swl $t9, 0xc($t3) +/* 00442840 B979000F */ swr $t9, 0xf($t3) +.L00442844: +/* 00442844 89B80000 */ lwl $t8, ($t5) +/* 00442848 99B80003 */ lwr $t8, 3($t5) +/* 0044284C 25AD000C */ addiu $t5, $t5, 0xc +/* 00442850 25EF000C */ addiu $t7, $t7, 0xc +/* 00442854 A9F8004C */ swl $t8, 0x4c($t7) +/* 00442858 B9F8004F */ swr $t8, 0x4f($t7) +/* 0044285C 89AEFFF8 */ lwl $t6, -8($t5) +/* 00442860 99AEFFFB */ lwr $t6, -5($t5) +/* 00442864 A9EE0050 */ swl $t6, 0x50($t7) +/* 00442868 B9EE0053 */ swr $t6, 0x53($t7) +/* 0044286C 89B8FFFC */ lwl $t8, -4($t5) +/* 00442870 99B8FFFF */ lwr $t8, -1($t5) +/* 00442874 A9F80054 */ swl $t8, 0x54($t7) +/* 00442878 15ACFFF2 */ bne $t5, $t4, .L00442844 +/* 0044287C B9F80057 */ swr $t8, 0x57($t7) +/* 00442880 89B80000 */ lwl $t8, ($t5) +/* 00442884 99B80003 */ lwr $t8, 3($t5) +/* 00442888 A9F80058 */ swl $t8, 0x58($t7) +/* 0044288C B9F8005B */ swr $t8, 0x5b($t7) +/* 00442890 89AE0004 */ lwl $t6, 4($t5) +/* 00442894 99AE0007 */ lwr $t6, 7($t5) +/* 00442898 A9EE005C */ swl $t6, 0x5c($t7) +/* 0044289C B9EE005F */ swr $t6, 0x5f($t7) +/* 004428A0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004428A4 8FA7000C */ lw $a3, 0xc($sp) +/* 004428A8 8FA60008 */ lw $a2, 8($sp) +/* 004428AC 0320F809 */ jalr $t9 +/* 004428B0 00000000 */ nop +/* 004428B4 8FBC00B8 */ lw $gp, 0xb8($sp) +/* 004428B8 02002825 */ move $a1, $s0 +/* 004428BC 8F998644 */ lw $t9, %call16(print_node)($gp) +/* 004428C0 8F848950 */ lw $a0, %got(err)($gp) +/* 004428C4 0320F809 */ jalr $t9 +/* 004428C8 00000000 */ nop +/* 004428CC 10000020 */ b .L00442950 +/* 004428D0 8FBC00B8 */ lw $gp, 0xb8($sp) +.L004428D4: +/* 004428D4 2C41000E */ sltiu $at, $v0, 0xe +/* 004428D8 14200011 */ bnez $at, .L00442920 +/* 004428DC 2449FFC5 */ addiu $t1, $v0, -0x3b +/* 004428E0 2401001C */ li $at, 28 +/* 004428E4 5041FE35 */ beql $v0, $at, .L004421BC +/* 004428E8 920E0021 */ lbu $t6, 0x21($s0) +/* 004428EC 24010036 */ li $at, 54 +/* 004428F0 5041FE11 */ beql $v0, $at, .L00442138 +/* 004428F4 92180021 */ lbu $t8, 0x21($s0) +/* 004428F8 2D210003 */ sltiu $at, $t1, 3 +/* 004428FC 1020FFB0 */ beqz $at, .L004427C0 +/* 00442900 00000000 */ nop +/* 00442904 8F818038 */ lw $at, %got(jtbl_1000D6F4)($gp) +/* 00442908 00094880 */ sll $t1, $t1, 2 +/* 0044290C 00290821 */ addu $at, $at, $t1 +/* 00442910 8C29D6F4 */ lw $t1, %lo(jtbl_1000D6F4)($at) +/* 00442914 013C4821 */ addu $t1, $t1, $gp +/* 00442918 01200008 */ jr $t1 +/* 0044291C 00000000 */ nop +.L00442920: +/* 00442920 1045FE46 */ beq $v0, $a1, .L0044223C +/* 00442924 244BFFF4 */ addiu $t3, $v0, -0xc +/* 00442928 2D610002 */ sltiu $at, $t3, 2 +/* 0044292C 1020FFA4 */ beqz $at, .L004427C0 +/* 00442930 00000000 */ nop +/* 00442934 8F818038 */ lw $at, %got(jtbl_1000D6EC)($gp) +/* 00442938 000B5880 */ sll $t3, $t3, 2 +/* 0044293C 002B0821 */ addu $at, $at, $t3 +/* 00442940 8C2BD6EC */ lw $t3, %lo(jtbl_1000D6EC)($at) +/* 00442944 017C5821 */ addu $t3, $t3, $gp +/* 00442948 01600008 */ jr $t3 +/* 0044294C 00000000 */ nop +.L00442950: +/* 00442950 8FBF00BC */ lw $ra, 0xbc($sp) +/* 00442954 8FA200D8 */ lw $v0, 0xd8($sp) +/* 00442958 8FB000B0 */ lw $s0, 0xb0($sp) +/* 0044295C 8FB100B4 */ lw $s1, 0xb4($sp) +/* 00442960 03E00008 */ jr $ra +/* 00442964 27BD00E0 */ addiu $sp, $sp, 0xe0 + .type set_rewrite, @function + .size set_rewrite, .-set_rewrite + .end set_rewrite + +glabel set_rewrite_indexed + .ent set_rewrite_indexed + # 00442968 set_rewrite_indexed + # 004432FC translate +/* 00442968 3C1C0FBE */ .cpload $t9 +/* 0044296C 279CD0E8 */ +/* 00442970 0399E021 */ +/* 00442974 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 00442978 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044297C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00442980 AFB000AC */ sw $s0, 0xac($sp) +/* 00442984 AFA600E0 */ sw $a2, 0xe0($sp) +/* 00442988 90830020 */ lbu $v1, 0x20($a0) +/* 0044298C 00808025 */ move $s0, $a0 +/* 00442990 00A03825 */ move $a3, $a1 +/* 00442994 100001BD */ b .L0044308C +/* 00442998 00601025 */ move $v0, $v1 +/* 0044299C 92020021 */ lbu $v0, 0x21($s0) +.L004429A0: +/* 004429A0 240F000E */ li $t7, 14 +/* 004429A4 24010052 */ li $at, 82 +/* 004429A8 304E001F */ andi $t6, $v0, 0x1f +/* 004429AC 01CF02B6 */ tne $t6, $t7, 0xa +/* 004429B0 1461000B */ bne $v1, $at, .L004429E0 +/* 004429B4 00000000 */ nop +/* 004429B8 8F998A28 */ lw $t9, %got(addr_dtype)($gp) +/* 004429BC 24180047 */ li $t8, 71 +/* 004429C0 A2180020 */ sb $t8, 0x20($s0) +/* 004429C4 93390000 */ lbu $t9, ($t9) +/* 004429C8 000246C0 */ sll $t0, $v0, 0x1b +/* 004429CC 00084EC2 */ srl $t1, $t0, 0x1b +/* 004429D0 03295026 */ xor $t2, $t9, $t1 +/* 004429D4 314B001F */ andi $t3, $t2, 0x1f +/* 004429D8 01626026 */ xor $t4, $t3, $v0 +/* 004429DC A20C0021 */ sb $t4, 0x21($s0) +.L004429E0: +/* 004429E0 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004429E4 00E02025 */ move $a0, $a3 +/* 004429E8 0320F809 */ jalr $t9 +/* 004429EC 00000000 */ nop +/* 004429F0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004429F4 24040001 */ li $a0, 1 +/* 004429F8 02002825 */ move $a1, $s0 +/* 004429FC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442A00 00403025 */ move $a2, $v0 +/* 00442A04 0320F809 */ jalr $t9 +/* 00442A08 00000000 */ nop +/* 00442A0C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442A10 90430021 */ lbu $v1, 0x21($v0) +/* 00442A14 A4400022 */ sh $zero, 0x22($v0) +/* 00442A18 8F8D8A28 */ lw $t5, %got(addr_dtype)($gp) +/* 00442A1C 000376C0 */ sll $t6, $v1, 0x1b +/* 00442A20 000E7EC2 */ srl $t7, $t6, 0x1b +/* 00442A24 91AD0000 */ lbu $t5, ($t5) +/* 00442A28 24040036 */ li $a0, 54 +/* 00442A2C 00402825 */ move $a1, $v0 +/* 00442A30 01AFC026 */ xor $t8, $t5, $t7 +/* 00442A34 3308001F */ andi $t0, $t8, 0x1f +/* 00442A38 0103C826 */ xor $t9, $t0, $v1 +/* 00442A3C A0590021 */ sb $t9, 0x21($v0) +/* 00442A40 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00442A44 0320F809 */ jalr $t9 +/* 00442A48 00000000 */ nop +/* 00442A4C AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442A50 90490021 */ lbu $t1, 0x21($v0) +/* 00442A54 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442A58 2410FFE0 */ li $s0, -32 +/* 00442A5C 312AFFE0 */ andi $t2, $t1, 0xffe0 +/* 00442A60 354B000E */ ori $t3, $t2, 0xe +/* 00442A64 A04B0021 */ sb $t3, 0x21($v0) +/* 00442A68 93AC00E3 */ lbu $t4, 0xe3($sp) +/* 00442A6C AC40002C */ sw $zero, 0x2c($v0) +/* 00442A70 AC400030 */ sw $zero, 0x30($v0) +/* 00442A74 258E0007 */ addiu $t6, $t4, 7 +/* 00442A78 05C10003 */ bgez $t6, .L00442A88 +/* 00442A7C 000E68C3 */ sra $t5, $t6, 3 +/* 00442A80 25C10007 */ addiu $at, $t6, 7 +/* 00442A84 000168C3 */ sra $t5, $at, 3 +.L00442A88: +/* 00442A88 AC4D0028 */ sw $t5, 0x28($v0) +/* 00442A8C 100001F8 */ b .L00443270 +/* 00442A90 A4400022 */ sh $zero, 0x22($v0) +.L00442A94: +/* 00442A94 920F0021 */ lbu $t7, 0x21($s0) +/* 00442A98 2408000E */ li $t0, 14 +/* 00442A9C 31F8001F */ andi $t8, $t7, 0x1f +/* 00442AA0 030802B6 */ tne $t8, $t0, 0xa +/* 00442AA4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442AA8 00E02025 */ move $a0, $a3 +/* 00442AAC 0320F809 */ jalr $t9 +/* 00442AB0 00000000 */ nop +/* 00442AB4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442AB8 24040001 */ li $a0, 1 +/* 00442ABC 8E050000 */ lw $a1, ($s0) +/* 00442AC0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442AC4 00403025 */ move $a2, $v0 +/* 00442AC8 0320F809 */ jalr $t9 +/* 00442ACC 00000000 */ nop +/* 00442AD0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442AD4 AE020000 */ sw $v0, ($s0) +/* 00442AD8 A4400022 */ sh $zero, 0x22($v0) +/* 00442ADC 93B900E3 */ lbu $t9, 0xe3($sp) +/* 00442AE0 A6000022 */ sh $zero, 0x22($s0) +/* 00442AE4 AFB000D0 */ sw $s0, 0xd0($sp) +/* 00442AE8 27290007 */ addiu $t1, $t9, 7 +/* 00442AEC 05210003 */ bgez $t1, .L00442AFC +/* 00442AF0 000950C3 */ sra $t2, $t1, 3 +/* 00442AF4 25210007 */ addiu $at, $t1, 7 +/* 00442AF8 000150C3 */ sra $t2, $at, 3 +.L00442AFC: +/* 00442AFC 100001DC */ b .L00443270 +/* 00442B00 AE0A0028 */ sw $t2, 0x28($s0) +.L00442B04: +/* 00442B04 920B0021 */ lbu $t3, 0x21($s0) +.L00442B08: +/* 00442B08 240E000E */ li $t6, 14 +/* 00442B0C 00E02825 */ move $a1, $a3 +/* 00442B10 316C001F */ andi $t4, $t3, 0x1f +/* 00442B14 018E02B6 */ tne $t4, $t6, 0xa +/* 00442B18 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 00442B1C 8E040000 */ lw $a0, ($s0) +/* 00442B20 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00442B24 0320F809 */ jalr $t9 +/* 00442B28 AFA700DC */ sw $a3, 0xdc($sp) +/* 00442B2C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442B30 8FA500DC */ lw $a1, 0xdc($sp) +/* 00442B34 AFA200B8 */ sw $v0, 0xb8($sp) +/* 00442B38 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 00442B3C 8E040004 */ lw $a0, 4($s0) +/* 00442B40 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00442B44 0320F809 */ jalr $t9 +/* 00442B48 00000000 */ nop +/* 00442B4C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442B50 92040020 */ lbu $a0, 0x20($s0) +/* 00442B54 8FA500B8 */ lw $a1, 0xb8($sp) +/* 00442B58 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442B5C 00403025 */ move $a2, $v0 +/* 00442B60 0320F809 */ jalr $t9 +/* 00442B64 00000000 */ nop +/* 00442B68 93AD00E3 */ lbu $t5, 0xe3($sp) +/* 00442B6C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442B70 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442B74 25AF0007 */ addiu $t7, $t5, 7 +/* 00442B78 05E10003 */ bgez $t7, .L00442B88 +/* 00442B7C 000FC0C3 */ sra $t8, $t7, 3 +/* 00442B80 25E10007 */ addiu $at, $t7, 7 +/* 00442B84 0001C0C3 */ sra $t8, $at, 3 +.L00442B88: +/* 00442B88 100001B9 */ b .L00443270 +/* 00442B8C AC580028 */ sw $t8, 0x28($v0) +.L00442B90: +/* 00442B90 8E040000 */ lw $a0, ($s0) +/* 00442B94 24010049 */ li $at, 73 +/* 00442B98 90880020 */ lbu $t0, 0x20($a0) +/* 00442B9C 1501000C */ bne $t0, $at, .L00442BD0 +/* 00442BA0 00000000 */ nop +/* 00442BA4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442BA8 0320F809 */ jalr $t9 +/* 00442BAC 00000000 */ nop +/* 00442BB0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442BB4 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442BB8 02002025 */ move $a0, $s0 +/* 00442BBC 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00442BC0 0320F809 */ jalr $t9 +/* 00442BC4 00000000 */ nop +/* 00442BC8 100001A9 */ b .L00443270 +/* 00442BCC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00442BD0: +/* 00442BD0 8F998630 */ lw $t9, %call16(build_ucond0)($gp) +/* 00442BD4 00E02025 */ move $a0, $a3 +/* 00442BD8 8E050028 */ lw $a1, 0x28($s0) +/* 00442BDC 0320F809 */ jalr $t9 +/* 00442BE0 AFA700DC */ sw $a3, 0xdc($sp) +/* 00442BE4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442BE8 8FA500DC */ lw $a1, 0xdc($sp) +/* 00442BEC AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442BF0 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 00442BF4 8E040000 */ lw $a0, ($s0) +/* 00442BF8 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00442BFC 0320F809 */ jalr $t9 +/* 00442C00 00000000 */ nop +/* 00442C04 8FB900D0 */ lw $t9, 0xd0($sp) +/* 00442C08 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442C0C 10000198 */ b .L00443270 +/* 00442C10 AF220004 */ sw $v0, 4($t9) +.L00442C14: +/* 00442C14 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442C18 00E02025 */ move $a0, $a3 +/* 00442C1C 0320F809 */ jalr $t9 +/* 00442C20 00000000 */ nop +/* 00442C24 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442C28 AFA200B8 */ sw $v0, 0xb8($sp) +/* 00442C2C 24040008 */ li $a0, 8 +/* 00442C30 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442C34 00002825 */ move $a1, $zero +/* 00442C38 24060008 */ li $a2, 8 +/* 00442C3C 0320F809 */ jalr $t9 +/* 00442C40 00000000 */ nop +/* 00442C44 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442C48 2404005B */ li $a0, 91 +/* 00442C4C 8FA500B8 */ lw $a1, 0xb8($sp) +/* 00442C50 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442C54 00403025 */ move $a2, $v0 +/* 00442C58 0320F809 */ jalr $t9 +/* 00442C5C 00000000 */ nop +/* 00442C60 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442C64 A4400022 */ sh $zero, 0x22($v0) +/* 00442C68 8E050000 */ lw $a1, ($s0) +/* 00442C6C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442C70 2404007D */ li $a0, 125 +/* 00442C74 00403025 */ move $a2, $v0 +/* 00442C78 0320F809 */ jalr $t9 +/* 00442C7C 00000000 */ nop +/* 00442C80 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442C84 AFA200CC */ sw $v0, 0xcc($sp) +/* 00442C88 A4400022 */ sh $zero, 0x22($v0) +/* 00442C8C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442C90 00402025 */ move $a0, $v0 +/* 00442C94 0320F809 */ jalr $t9 +/* 00442C98 00000000 */ nop +/* 00442C9C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442CA0 00408025 */ move $s0, $v0 +/* 00442CA4 8F89898C */ lw $t1, %got(lsb_first)($gp) +/* 00442CA8 91290000 */ lbu $t1, ($t1) +/* 00442CAC 15200008 */ bnez $t1, .L00442CD0 +/* 00442CB0 00000000 */ nop +/* 00442CB4 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00442CB8 24040061 */ li $a0, 97 +/* 00442CBC 00402825 */ move $a1, $v0 +/* 00442CC0 0320F809 */ jalr $t9 +/* 00442CC4 00000000 */ nop +/* 00442CC8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442CCC 00408025 */ move $s0, $v0 +.L00442CD0: +/* 00442CD0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442CD4 24040008 */ li $a0, 8 +/* 00442CD8 00002825 */ move $a1, $zero +/* 00442CDC 0320F809 */ jalr $t9 +/* 00442CE0 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00442CE4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442CE8 2404004E */ li $a0, 78 +/* 00442CEC 8FA500CC */ lw $a1, 0xcc($sp) +/* 00442CF0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442CF4 00403025 */ move $a2, $v0 +/* 00442CF8 0320F809 */ jalr $t9 +/* 00442CFC 00000000 */ nop +/* 00442D00 904A0021 */ lbu $t2, 0x21($v0) +/* 00442D04 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442D08 24040073 */ li $a0, 115 +/* 00442D0C 314BFFE0 */ andi $t3, $t2, 0xffe0 +/* 00442D10 356C0008 */ ori $t4, $t3, 8 +/* 00442D14 A04C0021 */ sb $t4, 0x21($v0) +/* 00442D18 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442D1C 00402825 */ move $a1, $v0 +/* 00442D20 02003025 */ move $a2, $s0 +/* 00442D24 0320F809 */ jalr $t9 +/* 00442D28 00000000 */ nop +/* 00442D2C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442D30 1000014F */ b .L00443270 +/* 00442D34 AFA200D0 */ sw $v0, 0xd0($sp) +.L00442D38: +/* 00442D38 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442D3C 00E02025 */ move $a0, $a3 +/* 00442D40 0320F809 */ jalr $t9 +/* 00442D44 00000000 */ nop +/* 00442D48 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442D4C AFA200B8 */ sw $v0, 0xb8($sp) +/* 00442D50 24040008 */ li $a0, 8 +/* 00442D54 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442D58 00002825 */ move $a1, $zero +/* 00442D5C 24060008 */ li $a2, 8 +/* 00442D60 0320F809 */ jalr $t9 +/* 00442D64 00000000 */ nop +/* 00442D68 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442D6C 2404005B */ li $a0, 91 +/* 00442D70 8FA500B8 */ lw $a1, 0xb8($sp) +/* 00442D74 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442D78 00403025 */ move $a2, $v0 +/* 00442D7C 0320F809 */ jalr $t9 +/* 00442D80 00000000 */ nop +/* 00442D84 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442D88 AFA200C4 */ sw $v0, 0xc4($sp) +/* 00442D8C A4400022 */ sh $zero, 0x22($v0) +/* 00442D90 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442D94 00402025 */ move $a0, $v0 +/* 00442D98 0320F809 */ jalr $t9 +/* 00442D9C 00000000 */ nop +/* 00442DA0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442DA4 2404007D */ li $a0, 125 +/* 00442DA8 8E050000 */ lw $a1, ($s0) +/* 00442DAC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442DB0 00403025 */ move $a2, $v0 +/* 00442DB4 0320F809 */ jalr $t9 +/* 00442DB8 00000000 */ nop +/* 00442DBC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442DC0 AFA200CC */ sw $v0, 0xcc($sp) +/* 00442DC4 A4400022 */ sh $zero, 0x22($v0) +/* 00442DC8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442DCC 24040008 */ li $a0, 8 +/* 00442DD0 00002825 */ move $a1, $zero +/* 00442DD4 0320F809 */ jalr $t9 +/* 00442DD8 24060001 */ li $a2, 1 +/* 00442DDC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442DE0 24040001 */ li $a0, 1 +/* 00442DE4 8E050004 */ lw $a1, 4($s0) +/* 00442DE8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442DEC 00403025 */ move $a2, $v0 +/* 00442DF0 0320F809 */ jalr $t9 +/* 00442DF4 00000000 */ nop +/* 00442DF8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442DFC A4400022 */ sh $zero, 0x22($v0) +/* 00442E00 8FA600C4 */ lw $a2, 0xc4($sp) +/* 00442E04 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442E08 2404007D */ li $a0, 125 +/* 00442E0C 00402825 */ move $a1, $v0 +/* 00442E10 0320F809 */ jalr $t9 +/* 00442E14 00000000 */ nop +/* 00442E18 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442E1C A4400022 */ sh $zero, 0x22($v0) +/* 00442E20 00408025 */ move $s0, $v0 +/* 00442E24 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442E28 24040006 */ li $a0, 6 +/* 00442E2C 00002825 */ move $a1, $zero +/* 00442E30 0320F809 */ jalr $t9 +/* 00442E34 00003025 */ move $a2, $zero +/* 00442E38 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442E3C 24040055 */ li $a0, 85 +/* 00442E40 8FA500CC */ lw $a1, 0xcc($sp) +/* 00442E44 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442E48 00403025 */ move $a2, $v0 +/* 00442E4C 0320F809 */ jalr $t9 +/* 00442E50 00000000 */ nop +/* 00442E54 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442E58 AFA200CC */ sw $v0, 0xcc($sp) +/* 00442E5C 24040006 */ li $a0, 6 +/* 00442E60 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442E64 00002825 */ move $a1, $zero +/* 00442E68 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00442E6C 0320F809 */ jalr $t9 +/* 00442E70 00000000 */ nop +/* 00442E74 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442E78 24040056 */ li $a0, 86 +/* 00442E7C 02002825 */ move $a1, $s0 +/* 00442E80 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442E84 00403025 */ move $a2, $v0 +/* 00442E88 0320F809 */ jalr $t9 +/* 00442E8C 00000000 */ nop +/* 00442E90 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442E94 2404007D */ li $a0, 125 +/* 00442E98 8FA500CC */ lw $a1, 0xcc($sp) +/* 00442E9C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442EA0 00403025 */ move $a2, $v0 +/* 00442EA4 0320F809 */ jalr $t9 +/* 00442EA8 00000000 */ nop +/* 00442EAC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442EB0 AFA200C4 */ sw $v0, 0xc4($sp) +/* 00442EB4 A4400022 */ sh $zero, 0x22($v0) +/* 00442EB8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00442EBC 24040008 */ li $a0, 8 +/* 00442EC0 00002825 */ move $a1, $zero +/* 00442EC4 0320F809 */ jalr $t9 +/* 00442EC8 2406001F */ li $a2, 31 +/* 00442ECC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442ED0 24040074 */ li $a0, 116 +/* 00442ED4 8FA500C4 */ lw $a1, 0xc4($sp) +/* 00442ED8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442EDC 00403025 */ move $a2, $v0 +/* 00442EE0 0320F809 */ jalr $t9 +/* 00442EE4 00000000 */ nop +/* 00442EE8 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442EEC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442EF0 904E0021 */ lbu $t6, 0x21($v0) +/* 00442EF4 2410FFE0 */ li $s0, -32 +/* 00442EF8 8F98898C */ lw $t8, %got(lsb_first)($gp) +/* 00442EFC 31CDFFE0 */ andi $t5, $t6, 0xffe0 +/* 00442F00 35AF0006 */ ori $t7, $t5, 6 +/* 00442F04 A04F0021 */ sb $t7, 0x21($v0) +/* 00442F08 93180000 */ lbu $t8, ($t8) +/* 00442F0C 13000024 */ beqz $t8, .L00442FA0 +/* 00442F10 00000000 */ nop +/* 00442F14 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442F18 8FA400C4 */ lw $a0, 0xc4($sp) +/* 00442F1C 0320F809 */ jalr $t9 +/* 00442F20 00000000 */ nop +/* 00442F24 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442F28 24040074 */ li $a0, 116 +/* 00442F2C 8FA500D0 */ lw $a1, 0xd0($sp) +/* 00442F30 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442F34 00403025 */ move $a2, $v0 +/* 00442F38 0320F809 */ jalr $t9 +/* 00442F3C 00000000 */ nop +/* 00442F40 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442F44 90480021 */ lbu $t0, 0x21($v0) +/* 00442F48 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442F4C 0110C824 */ and $t9, $t0, $s0 +/* 00442F50 37290008 */ ori $t1, $t9, 8 +/* 00442F54 A0490021 */ sb $t1, 0x21($v0) +/* 00442F58 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442F5C 8FA400CC */ lw $a0, 0xcc($sp) +/* 00442F60 0320F809 */ jalr $t9 +/* 00442F64 00000000 */ nop +/* 00442F68 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442F6C 24040073 */ li $a0, 115 +/* 00442F70 8FA500D0 */ lw $a1, 0xd0($sp) +/* 00442F74 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442F78 00403025 */ move $a2, $v0 +/* 00442F7C 0320F809 */ jalr $t9 +/* 00442F80 00000000 */ nop +/* 00442F84 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442F88 904A0021 */ lbu $t2, 0x21($v0) +/* 00442F8C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442F90 01505824 */ and $t3, $t2, $s0 +/* 00442F94 356C0008 */ ori $t4, $t3, 8 +/* 00442F98 100000B5 */ b .L00443270 +/* 00442F9C A04C0021 */ sb $t4, 0x21($v0) +.L00442FA0: +/* 00442FA0 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442FA4 8FA400C4 */ lw $a0, 0xc4($sp) +/* 00442FA8 0320F809 */ jalr $t9 +/* 00442FAC 00000000 */ nop +/* 00442FB0 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442FB4 24040073 */ li $a0, 115 +/* 00442FB8 8FA500D0 */ lw $a1, 0xd0($sp) +/* 00442FBC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00442FC0 00403025 */ move $a2, $v0 +/* 00442FC4 0320F809 */ jalr $t9 +/* 00442FC8 00000000 */ nop +/* 00442FCC AFA200D0 */ sw $v0, 0xd0($sp) +/* 00442FD0 904E0021 */ lbu $t6, 0x21($v0) +/* 00442FD4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442FD8 01D06824 */ and $t5, $t6, $s0 +/* 00442FDC 35AF0008 */ ori $t7, $t5, 8 +/* 00442FE0 A04F0021 */ sb $t7, 0x21($v0) +/* 00442FE4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00442FE8 8FA400CC */ lw $a0, 0xcc($sp) +/* 00442FEC 0320F809 */ jalr $t9 +/* 00442FF0 00000000 */ nop +/* 00442FF4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00442FF8 24040074 */ li $a0, 116 +/* 00442FFC 8FA500D0 */ lw $a1, 0xd0($sp) +/* 00443000 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00443004 00403025 */ move $a2, $v0 +/* 00443008 0320F809 */ jalr $t9 +/* 0044300C 00000000 */ nop +/* 00443010 AFA200D0 */ sw $v0, 0xd0($sp) +/* 00443014 90580021 */ lbu $t8, 0x21($v0) +/* 00443018 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044301C 03104024 */ and $t0, $t8, $s0 +/* 00443020 35190008 */ ori $t9, $t0, 8 +/* 00443024 10000092 */ b .L00443270 +/* 00443028 A0590021 */ sb $t9, 0x21($v0) +.L0044302C: +/* 0044302C 92090021 */ lbu $t1, 0x21($s0) +/* 00443030 240B000E */ li $t3, 14 +/* 00443034 312A001F */ andi $t2, $t1, 0x1f +/* 00443038 014B02B6 */ tne $t2, $t3, 0xa +/* 0044303C 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 00443040 8E040000 */ lw $a0, ($s0) +/* 00443044 00E02825 */ move $a1, $a3 +/* 00443048 0320F809 */ jalr $t9 +/* 0044304C 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00443050 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00443054 10000086 */ b .L00443270 +/* 00443058 AFA200D0 */ sw $v0, 0xd0($sp) +.L0044305C: +/* 0044305C 920C0021 */ lbu $t4, 0x21($s0) +/* 00443060 240D000E */ li $t5, 14 +/* 00443064 318E001F */ andi $t6, $t4, 0x1f +/* 00443068 01CD02B6 */ tne $t6, $t5, 0xa +/* 0044306C 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 00443070 8E040000 */ lw $a0, ($s0) +/* 00443074 00E02825 */ move $a1, $a3 +/* 00443078 0320F809 */ jalr $t9 +/* 0044307C 93A600E3 */ lbu $a2, 0xe3($sp) +/* 00443080 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00443084 1000007A */ b .L00443270 +/* 00443088 AFA200D0 */ sw $v0, 0xd0($sp) +.L0044308C: +/* 0044308C 2C41003E */ sltiu $at, $v0, 0x3e +/* 00443090 14200058 */ bnez $at, .L004431F4 +/* 00443094 2C41005E */ sltiu $at, $v0, 0x5e +/* 00443098 14200008 */ bnez $at, .L004430BC +/* 0044309C 24010072 */ li $at, 114 +/* 004430A0 1041FEDC */ beq $v0, $at, .L00442C14 +/* 004430A4 00000000 */ nop +/* 004430A8 2401008A */ li $at, 138 +/* 004430AC 5041FE96 */ beql $v0, $at, .L00442B08 +/* 004430B0 920B0021 */ lbu $t3, 0x21($s0) +/* 004430B4 1000000A */ b .L004430E0 +/* 004430B8 00000000 */ nop +.L004430BC: +/* 004430BC 24010049 */ li $at, 73 +/* 004430C0 5041FE37 */ beql $v0, $at, .L004429A0 +/* 004430C4 92020021 */ lbu $v0, 0x21($s0) +/* 004430C8 24010052 */ li $at, 82 +/* 004430CC 5041FE34 */ beql $v0, $at, .L004429A0 +/* 004430D0 92020021 */ lbu $v0, 0x21($s0) +/* 004430D4 2401005D */ li $at, 93 +/* 004430D8 1041FF17 */ beq $v0, $at, .L00442D38 +/* 004430DC 00000000 */ nop +.L004430E0: +/* 004430E0 8F8F8038 */ lw $t7, %got(RO_1000D750)($gp) +/* 004430E4 24040004 */ li $a0, 4 +/* 004430E8 240502B1 */ li $a1, 689 +/* 004430EC 25EFD750 */ addiu $t7, %lo(RO_1000D750) # addiu $t7, $t7, -0x28b0 +/* 004430F0 25E90048 */ addiu $t1, $t7, 0x48 +/* 004430F4 03A0C825 */ move $t9, $sp +.L004430F8: +/* 004430F8 89E80000 */ lwl $t0, ($t7) +/* 004430FC 99E80003 */ lwr $t0, 3($t7) +/* 00443100 25EF000C */ addiu $t7, $t7, 0xc +/* 00443104 2739000C */ addiu $t9, $t9, 0xc +/* 00443108 AB28FFFC */ swl $t0, -4($t9) +/* 0044310C BB28FFFF */ swr $t0, -1($t9) +/* 00443110 89F8FFF8 */ lwl $t8, -8($t7) +/* 00443114 99F8FFFB */ lwr $t8, -5($t7) +/* 00443118 AB380000 */ swl $t8, ($t9) +/* 0044311C BB380003 */ swr $t8, 3($t9) +/* 00443120 89E8FFFC */ lwl $t0, -4($t7) +/* 00443124 99E8FFFF */ lwr $t0, -1($t7) +/* 00443128 AB280004 */ swl $t0, 4($t9) +/* 0044312C 15E9FFF2 */ bne $t7, $t1, .L004430F8 +/* 00443130 BB280007 */ swr $t0, 7($t9) +/* 00443134 89E80000 */ lwl $t0, ($t7) +/* 00443138 99E80003 */ lwr $t0, 3($t7) +/* 0044313C 8F8A8038 */ lw $t2, %got(RO_1000D700)($gp) +/* 00443140 03A07025 */ move $t6, $sp +/* 00443144 AB280008 */ swl $t0, 8($t9) +/* 00443148 BB28000B */ swr $t0, 0xb($t9) +/* 0044314C 89F80004 */ lwl $t8, 4($t7) +/* 00443150 99F80007 */ lwr $t8, 7($t7) +/* 00443154 254AD700 */ addiu $t2, %lo(RO_1000D700) # addiu $t2, $t2, -0x2900 +/* 00443158 254D0048 */ addiu $t5, $t2, 0x48 +/* 0044315C AB38000C */ swl $t8, 0xc($t9) +/* 00443160 BB38000F */ swr $t8, 0xf($t9) +.L00443164: +/* 00443164 894C0000 */ lwl $t4, ($t2) +/* 00443168 994C0003 */ lwr $t4, 3($t2) +/* 0044316C 254A000C */ addiu $t2, $t2, 0xc +/* 00443170 25CE000C */ addiu $t6, $t6, 0xc +/* 00443174 A9CC004C */ swl $t4, 0x4c($t6) +/* 00443178 B9CC004F */ swr $t4, 0x4f($t6) +/* 0044317C 894BFFF8 */ lwl $t3, -8($t2) +/* 00443180 994BFFFB */ lwr $t3, -5($t2) +/* 00443184 A9CB0050 */ swl $t3, 0x50($t6) +/* 00443188 B9CB0053 */ swr $t3, 0x53($t6) +/* 0044318C 894CFFFC */ lwl $t4, -4($t2) +/* 00443190 994CFFFF */ lwr $t4, -1($t2) +/* 00443194 A9CC0054 */ swl $t4, 0x54($t6) +/* 00443198 154DFFF2 */ bne $t2, $t5, .L00443164 +/* 0044319C B9CC0057 */ swr $t4, 0x57($t6) +/* 004431A0 894C0000 */ lwl $t4, ($t2) +/* 004431A4 994C0003 */ lwr $t4, 3($t2) +/* 004431A8 A9CC0058 */ swl $t4, 0x58($t6) +/* 004431AC B9CC005B */ swr $t4, 0x5b($t6) +/* 004431B0 894B0004 */ lwl $t3, 4($t2) +/* 004431B4 994B0007 */ lwr $t3, 7($t2) +/* 004431B8 A9CB005C */ swl $t3, 0x5c($t6) +/* 004431BC B9CB005F */ swr $t3, 0x5f($t6) +/* 004431C0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004431C4 8FA7000C */ lw $a3, 0xc($sp) +/* 004431C8 8FA60008 */ lw $a2, 8($sp) +/* 004431CC 0320F809 */ jalr $t9 +/* 004431D0 00000000 */ nop +/* 004431D4 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 004431D8 02002825 */ move $a1, $s0 +/* 004431DC 8F998644 */ lw $t9, %call16(print_node)($gp) +/* 004431E0 8F848950 */ lw $a0, %got(err)($gp) +/* 004431E4 0320F809 */ jalr $t9 +/* 004431E8 00000000 */ nop +/* 004431EC 10000020 */ b .L00443270 +/* 004431F0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L004431F4: +/* 004431F4 2C41000E */ sltiu $at, $v0, 0xe +/* 004431F8 14200010 */ bnez $at, .L0044323C +/* 004431FC 2401001C */ li $at, 28 +/* 00443200 5041FE41 */ beql $v0, $at, .L00442B08 +/* 00443204 920B0021 */ lbu $t3, 0x21($s0) +/* 00443208 24010036 */ li $at, 54 +/* 0044320C 1041FE21 */ beq $v0, $at, .L00442A94 +/* 00443210 2449FFC5 */ addiu $t1, $v0, -0x3b +/* 00443214 2D210003 */ sltiu $at, $t1, 3 +/* 00443218 1020FFB1 */ beqz $at, .L004430E0 +/* 0044321C 00000000 */ nop +/* 00443220 8F818038 */ lw $at, %got(jtbl_1000D7A8)($gp) +/* 00443224 00094880 */ sll $t1, $t1, 2 +/* 00443228 00290821 */ addu $at, $at, $t1 +/* 0044322C 8C29D7A8 */ lw $t1, %lo(jtbl_1000D7A8)($at) +/* 00443230 013C4821 */ addu $t1, $t1, $gp +/* 00443234 01200008 */ jr $t1 +/* 00443238 00000000 */ nop +.L0044323C: +/* 0044323C 24010002 */ li $at, 2 +/* 00443240 1041FE53 */ beq $v0, $at, .L00442B90 +/* 00443244 244FFFF4 */ addiu $t7, $v0, -0xc +/* 00443248 2DE10002 */ sltiu $at, $t7, 2 +/* 0044324C 1020FFA4 */ beqz $at, .L004430E0 +/* 00443250 00000000 */ nop +/* 00443254 8F818038 */ lw $at, %got(jtbl_1000D7A0)($gp) +/* 00443258 000F7880 */ sll $t7, $t7, 2 +/* 0044325C 002F0821 */ addu $at, $at, $t7 +/* 00443260 8C2FD7A0 */ lw $t7, %lo(jtbl_1000D7A0)($at) +/* 00443264 01FC7821 */ addu $t7, $t7, $gp +/* 00443268 01E00008 */ jr $t7 +/* 0044326C 00000000 */ nop +.L00443270: +/* 00443270 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00443274 8FA200D0 */ lw $v0, 0xd0($sp) +/* 00443278 8FB000AC */ lw $s0, 0xac($sp) +/* 0044327C 03E00008 */ jr $ra +/* 00443280 27BD00D8 */ addiu $sp, $sp, 0xd8 + .type set_rewrite_indexed, @function + .size set_rewrite_indexed, .-set_rewrite_indexed + .end set_rewrite_indexed + +glabel translate_tree + .ent translate_tree + # 0044BF18 main +/* 00443284 3C1C0FBE */ .cpload $t9 +/* 00443288 279CC7CC */ +/* 0044328C 0399E021 */ +/* 00443290 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00443294 AFB00014 */ sw $s0, 0x14($sp) +/* 00443298 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044329C AFBC0018 */ sw $gp, 0x18($sp) +/* 004432A0 AFA40020 */ sw $a0, 0x20($sp) +/* 004432A4 10800009 */ beqz $a0, .L004432CC +/* 004432A8 00808025 */ move $s0, $a0 +.L004432AC: +/* 004432AC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004432B0 02002025 */ move $a0, $s0 +/* 004432B4 0320F809 */ jalr $t9 +/* 004432B8 00000000 */ nop +/* 004432BC 8C500008 */ lw $s0, 8($v0) +/* 004432C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004432C4 1600FFF9 */ bnez $s0, .L004432AC +/* 004432C8 00000000 */ nop +.L004432CC: +/* 004432CC 8F8F8B40 */ lw $t7, %got(calls)($gp) +/* 004432D0 8DEF0000 */ lw $t7, ($t7) +/* 004432D4 55E00005 */ bnel $t7, $zero, .L004432EC +/* 004432D8 8FBF001C */ lw $ra, 0x1c($sp) +/* 004432DC 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 004432E0 24180001 */ li $t8, 1 +/* 004432E4 A0380000 */ sb $t8, ($at) +/* 004432E8 8FBF001C */ lw $ra, 0x1c($sp) +.L004432EC: +/* 004432EC 8FA20020 */ lw $v0, 0x20($sp) +/* 004432F0 8FB00014 */ lw $s0, 0x14($sp) +/* 004432F4 03E00008 */ jr $ra +/* 004432F8 27BD0020 */ addiu $sp, $sp, 0x20 + .type translate_tree, @function + .size translate_tree, .-translate_tree + .end translate_tree + +glabel translate + .ent translate + # 00443284 translate_tree + # 004432FC translate +/* 004432FC 3C1C0FBE */ .cpload $t9 +/* 00443300 279CC754 */ +/* 00443304 0399E021 */ +/* 00443308 27BDFEF8 */ addiu $sp, $sp, -0x108 +/* 0044330C AFBF00C4 */ sw $ra, 0xc4($sp) +/* 00443310 AFBC00C0 */ sw $gp, 0xc0($sp) +/* 00443314 AFB400BC */ sw $s4, 0xbc($sp) +/* 00443318 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0044331C AFB200B4 */ sw $s2, 0xb4($sp) +/* 00443320 AFB100B0 */ sw $s1, 0xb0($sp) +/* 00443324 AFB000AC */ sw $s0, 0xac($sp) +/* 00443328 AFA40108 */ sw $a0, 0x108($sp) +/* 0044332C 90830019 */ lbu $v1, 0x19($a0) +/* 00443330 00809825 */ move $s3, $a0 +/* 00443334 306E0001 */ andi $t6, $v1, 1 +/* 00443338 51C00024 */ beql $t6, $zero, .L004433CC +/* 0044333C 92640020 */ lbu $a0, 0x20($s3) +/* 00443340 90840020 */ lbu $a0, 0x20($a0) +/* 00443344 8F8F8914 */ lw $t7, %got(expression_opcs)($gp) +/* 00443348 248DFFE0 */ addiu $t5, $a0, -0x20 +/* 0044334C 008FC021 */ addu $t8, $a0, $t7 +/* 00443350 93190000 */ lbu $t9, ($t8) +/* 00443354 2DAE0040 */ sltiu $t6, $t5, 0x40 +/* 00443358 13200007 */ beqz $t9, .L00443378 +/* 0044335C 00000000 */ nop +/* 00443360 8F9985FC */ lw $t9, %call16(cse)($gp) +/* 00443364 02602025 */ move $a0, $s3 +/* 00443368 0320F809 */ jalr $t9 +/* 0044336C 00000000 */ nop +/* 00443370 10000BF5 */ b .L00446348 +/* 00443374 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00443378: +/* 00443378 11C00009 */ beqz $t6, .L004433A0 +/* 0044337C 00000000 */ nop +/* 00443380 8F998038 */ lw $t9, %got(D_10016968)($gp) +/* 00443384 000D7943 */ sra $t7, $t5, 5 +/* 00443388 000FC080 */ sll $t8, $t7, 2 +/* 0044338C 27396968 */ addiu $t9, %lo(D_10016968) # addiu $t9, $t9, 0x6968 +/* 00443390 03387821 */ addu $t7, $t9, $t8 +/* 00443394 8DF90000 */ lw $t9, ($t7) +/* 00443398 01B9C004 */ sllv $t8, $t9, $t5 +/* 0044339C 2B0E0000 */ slti $t6, $t8, 0 +.L004433A0: +/* 004433A0 11C00007 */ beqz $t6, .L004433C0 +/* 004433A4 00000000 */ nop +/* 004433A8 8F998618 */ lw $t9, %call16(load_cse)($gp) +/* 004433AC 02602025 */ move $a0, $s3 +/* 004433B0 0320F809 */ jalr $t9 +/* 004433B4 00000000 */ nop +/* 004433B8 10000BE3 */ b .L00446348 +/* 004433BC 8FBC00C0 */ lw $gp, 0xc0($sp) +.L004433C0: +/* 004433C0 10000BE1 */ b .L00446348 +/* 004433C4 02601025 */ move $v0, $s3 +.L004433C8: +/* 004433C8 92640020 */ lbu $a0, 0x20($s3) +.L004433CC: +/* 004433CC 34790001 */ ori $t9, $v1, 1 +/* 004433D0 24070004 */ li $a3, 4 +/* 004433D4 00801025 */ move $v0, $a0 +/* 004433D8 2C410080 */ sltiu $at, $v0, 0x80 +/* 004433DC 2408003C */ li $t0, 60 +/* 004433E0 2414FFE0 */ li $s4, -32 +/* 004433E4 14200B65 */ bnez $at, .L0044617C +/* 004433E8 A2790019 */ sb $t9, 0x19($s3) +/* 004433EC 2C41008E */ sltiu $at, $v0, 0x8e +/* 004433F0 14200B79 */ bnez $at, .L004461D8 +/* 004433F4 2458FF7A */ addiu $t8, $v0, -0x86 +/* 004433F8 244DFF6D */ addiu $t5, $v0, -0x93 +/* 004433FC 2DA10005 */ sltiu $at, $t5, 5 +/* 00443400 10200B7F */ beqz $at, .L00446200 +/* 00443404 00000000 */ nop +/* 00443408 8F818038 */ lw $at, %got(jtbl_1000DA6C)($gp) +/* 0044340C 000D6880 */ sll $t5, $t5, 2 +/* 00443410 002D0821 */ addu $at, $at, $t5 +/* 00443414 8C2DDA6C */ lw $t5, %lo(jtbl_1000DA6C)($at) +/* 00443418 01BC6821 */ addu $t5, $t5, $gp +/* 0044341C 01A00008 */ jr $t5 +/* 00443420 00000000 */ nop +.L00443424: +/* 00443424 8F8F8A30 */ lw $t7, %got(opt_cse)($gp) +/* 00443428 8E780024 */ lw $t8, 0x24($s3) +/* 0044342C 8F818968 */ lw $at, %got(current_line)($gp) +/* 00443430 91EF0000 */ lbu $t7, ($t7) +/* 00443434 240B0001 */ li $t3, 1 +/* 00443438 AC380000 */ sw $t8, ($at) +/* 0044343C 156F0009 */ bne $t3, $t7, .L00443464 +/* 00443440 00000000 */ nop +/* 00443444 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00443448 00001025 */ move $v0, $zero +/* 0044344C A0200000 */ sb $zero, ($at) +/* 00443450 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00443454 A0200000 */ sb $zero, ($at) +/* 00443458 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 0044345C 1000000C */ b .L00443490 +/* 00443460 AC200000 */ sw $zero, ($at) +.L00443464: +/* 00443464 8F838B30 */ lw $v1, %got(bb_size)($gp) +/* 00443468 8C620000 */ lw $v0, ($v1) +/* 0044346C 2841004C */ slti $at, $v0, 0x4c +/* 00443470 14200007 */ bnez $at, .L00443490 +/* 00443474 00000000 */ nop +/* 00443478 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 0044347C 00001025 */ move $v0, $zero +/* 00443480 A0200000 */ sb $zero, ($at) +/* 00443484 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00443488 A0200000 */ sb $zero, ($at) +/* 0044348C AC600000 */ sw $zero, ($v1) +.L00443490: +/* 00443490 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00443494 244E0001 */ addiu $t6, $v0, 1 +/* 00443498 10000B59 */ b .L00446200 +/* 0044349C AC2E0000 */ sw $t6, ($at) +.L004434A0: +/* 004434A0 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004434A4 8E640000 */ lw $a0, ($s3) +/* 004434A8 0320F809 */ jalr $t9 +/* 004434AC 00000000 */ nop +/* 004434B0 AE620000 */ sw $v0, ($s3) +/* 004434B4 90590020 */ lbu $t9, 0x20($v0) +/* 004434B8 2401000B */ li $at, 11 +/* 004434BC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004434C0 17210009 */ bne $t9, $at, .L004434E8 +/* 004434C4 240D0088 */ li $t5, 136 +/* 004434C8 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 004434CC A26D0020 */ sb $t5, 0x20($s3) +/* 004434D0 8C580000 */ lw $t8, ($v0) +/* 004434D4 00402025 */ move $a0, $v0 +/* 004434D8 0320F809 */ jalr $t9 +/* 004434DC AE780004 */ sw $t8, 4($s3) +/* 004434E0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004434E4 AE600000 */ sw $zero, ($s3) +.L004434E8: +/* 004434E8 10000B45 */ b .L00446200 +/* 004434EC 92640020 */ lbu $a0, 0x20($s3) +.L004434F0: +/* 004434F0 8E700000 */ lw $s0, ($s3) +/* 004434F4 960F0022 */ lhu $t7, 0x22($s0) +/* 004434F8 35EE0004 */ ori $t6, $t7, 4 +/* 004434FC A60E0022 */ sh $t6, 0x22($s0) +/* 00443500 10000B3F */ b .L00446200 +/* 00443504 92640020 */ lbu $a0, 0x20($s3) +.L00443508: +/* 00443508 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 0044350C 8E640000 */ lw $a0, ($s3) +/* 00443510 0320F809 */ jalr $t9 +/* 00443514 00000000 */ nop +/* 00443518 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044351C AE620000 */ sw $v0, ($s3) +/* 00443520 00402025 */ move $a0, $v0 +/* 00443524 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00443528 0320F809 */ jalr $t9 +/* 0044352C 00000000 */ nop +/* 00443530 1040001D */ beqz $v0, .L004435A8 +/* 00443534 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443538 8E700000 */ lw $s0, ($s3) +/* 0044353C 3C010501 */ lui $at, 0x501 +/* 00443540 92190021 */ lbu $t9, 0x21($s0) +/* 00443544 332D001F */ andi $t5, $t9, 0x1f +/* 00443548 2DB80020 */ sltiu $t8, $t5, 0x20 +/* 0044354C 00187823 */ negu $t7, $t8 +/* 00443550 01E17024 */ and $t6, $t7, $at +/* 00443554 01AEC804 */ sllv $t9, $t6, $t5 +/* 00443558 07210003 */ bgez $t9, .L00443568 +/* 0044355C 24180088 */ li $t8, 136 +/* 00443560 10000002 */ b .L0044356C +/* 00443564 8E070034 */ lw $a3, 0x34($s0) +.L00443568: +/* 00443568 8E070030 */ lw $a3, 0x30($s0) +.L0044356C: +/* 0044356C 926F0020 */ lbu $t7, 0x20($s3) +/* 00443570 0007682B */ sltu $t5, $zero, $a3 +/* 00443574 39EE007F */ xori $t6, $t7, 0x7f +/* 00443578 2DCE0001 */ sltiu $t6, $t6, 1 +/* 0044357C 51CD0009 */ beql $t6, $t5, .L004435A4 +/* 00443580 A2780020 */ sb $t8, 0x20($s3) +/* 00443584 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00443588 02602025 */ move $a0, $s3 +/* 0044358C 0320F809 */ jalr $t9 +/* 00443590 00000000 */ nop +/* 00443594 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443598 10000B6B */ b .L00446348 +/* 0044359C 02601025 */ move $v0, $s3 +/* 004435A0 A2780020 */ sb $t8, 0x20($s3) +.L004435A4: +/* 004435A4 AE600000 */ sw $zero, ($s3) +.L004435A8: +/* 004435A8 10000B15 */ b .L00446200 +/* 004435AC 92640020 */ lbu $a0, 0x20($s3) +.L004435B0: +/* 004435B0 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004435B4 8E640000 */ lw $a0, ($s3) +/* 004435B8 0320F809 */ jalr $t9 +/* 004435BC 00000000 */ nop +/* 004435C0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004435C4 AE620000 */ sw $v0, ($s3) +/* 004435C8 00402025 */ move $a0, $v0 +/* 004435CC 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 004435D0 0320F809 */ jalr $t9 +/* 004435D4 00000000 */ nop +/* 004435D8 10400015 */ beqz $v0, .L00443630 +/* 004435DC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004435E0 8E700000 */ lw $s0, ($s3) +/* 004435E4 3C010501 */ lui $at, 0x501 +/* 004435E8 92190021 */ lbu $t9, 0x21($s0) +/* 004435EC 332F001F */ andi $t7, $t9, 0x1f +/* 004435F0 2DEE0020 */ sltiu $t6, $t7, 0x20 +/* 004435F4 000E6823 */ negu $t5, $t6 +/* 004435F8 01A1C024 */ and $t8, $t5, $at +/* 004435FC 01F8C804 */ sllv $t9, $t8, $t7 +/* 00443600 07230004 */ bgezl $t9, .L00443614 +/* 00443604 8E070030 */ lw $a3, 0x30($s0) +/* 00443608 10000002 */ b .L00443614 +/* 0044360C 8E070034 */ lw $a3, 0x34($s0) +/* 00443610 8E070030 */ lw $a3, 0x30($s0) +.L00443614: +/* 00443614 10E00006 */ beqz $a3, .L00443630 +/* 00443618 00000000 */ nop +/* 0044361C 8F998678 */ lw $t9, %call16(delete_statement)($gp) +/* 00443620 02602025 */ move $a0, $s3 +/* 00443624 0320F809 */ jalr $t9 +/* 00443628 00000000 */ nop +/* 0044362C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00443630: +/* 00443630 10000AF3 */ b .L00446200 +/* 00443634 92640020 */ lbu $a0, 0x20($s3) +.L00443638: +/* 00443638 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 0044363C 8E640000 */ lw $a0, ($s3) +/* 00443640 0320F809 */ jalr $t9 +/* 00443644 00000000 */ nop +/* 00443648 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044364C AE620000 */ sw $v0, ($s3) +/* 00443650 00402025 */ move $a0, $v0 +/* 00443654 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00443658 0320F809 */ jalr $t9 +/* 0044365C 00000000 */ nop +/* 00443660 10400023 */ beqz $v0, .L004436F0 +/* 00443664 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443668 8E700000 */ lw $s0, ($s3) +/* 0044366C 3C010501 */ lui $at, 0x501 +/* 00443670 920D0021 */ lbu $t5, 0x21($s0) +/* 00443674 31B8001F */ andi $t8, $t5, 0x1f +/* 00443678 2F190020 */ sltiu $t9, $t8, 0x20 +/* 0044367C 00197023 */ negu $t6, $t9 +/* 00443680 01C17824 */ and $t7, $t6, $at +/* 00443684 030F6804 */ sllv $t5, $t7, $t8 +/* 00443688 05A30004 */ bgezl $t5, .L0044369C +/* 0044368C 8E070030 */ lw $a3, 0x30($s0) +/* 00443690 10000002 */ b .L0044369C +/* 00443694 8E070034 */ lw $a3, 0x34($s0) +/* 00443698 8E070030 */ lw $a3, 0x30($s0) +.L0044369C: +/* 0044369C 50E0000F */ beql $a3, $zero, .L004436DC +/* 004436A0 92190016 */ lbu $t9, 0x16($s0) +/* 004436A4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004436A8 02608825 */ move $s1, $s3 +/* 004436AC 02002025 */ move $a0, $s0 +/* 004436B0 0320F809 */ jalr $t9 +/* 004436B4 00000000 */ nop +/* 004436B8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004436BC 00409825 */ move $s3, $v0 +/* 004436C0 02202025 */ move $a0, $s1 +/* 004436C4 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 004436C8 0320F809 */ jalr $t9 +/* 004436CC 00000000 */ nop +/* 004436D0 1000000D */ b .L00443708 +/* 004436D4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004436D8 92190016 */ lbu $t9, 0x16($s0) +.L004436DC: +/* 004436DC 17200002 */ bnez $t9, .L004436E8 +/* 004436E0 00000000 */ nop +/* 004436E4 24190001 */ li $t9, 1 +.L004436E8: +/* 004436E8 10000007 */ b .L00443708 +/* 004436EC A2790016 */ sb $t9, 0x16($s3) +.L004436F0: +/* 004436F0 8E780000 */ lw $t8, ($s3) +/* 004436F4 930D0016 */ lbu $t5, 0x16($t8) +/* 004436F8 55A00003 */ bnel $t5, $zero, .L00443708 +/* 004436FC A26D0016 */ sb $t5, 0x16($s3) +/* 00443700 240D0001 */ li $t5, 1 +/* 00443704 A26D0016 */ sb $t5, 0x16($s3) +.L00443708: +/* 00443708 10000ABD */ b .L00446200 +/* 0044370C 92640020 */ lbu $a0, 0x20($s3) +.L00443710: +/* 00443710 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00443714 8E640000 */ lw $a0, ($s3) +/* 00443718 0320F809 */ jalr $t9 +/* 0044371C 00000000 */ nop +/* 00443720 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443724 AE620000 */ sw $v0, ($s3) +/* 00443728 02602025 */ move $a0, $s3 +/* 0044372C 8F99862C */ lw $t9, %call16(need_check_hl)($gp) +/* 00443730 0320F809 */ jalr $t9 +/* 00443734 00000000 */ nop +/* 00443738 1440000E */ bnez $v0, .L00443774 +/* 0044373C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443740 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00443744 02608825 */ move $s1, $s3 +/* 00443748 8E640000 */ lw $a0, ($s3) +/* 0044374C 0320F809 */ jalr $t9 +/* 00443750 00000000 */ nop +/* 00443754 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443758 00409825 */ move $s3, $v0 +/* 0044375C 02202025 */ move $a0, $s1 +/* 00443760 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443764 0320F809 */ jalr $t9 +/* 00443768 00000000 */ nop +/* 0044376C 10000007 */ b .L0044378C +/* 00443770 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00443774: +/* 00443774 8E6E0000 */ lw $t6, ($s3) +/* 00443778 91CF0016 */ lbu $t7, 0x16($t6) +/* 0044377C 55E00003 */ bnel $t7, $zero, .L0044378C +/* 00443780 A26F0016 */ sb $t7, 0x16($s3) +/* 00443784 240F0001 */ li $t7, 1 +/* 00443788 A26F0016 */ sb $t7, 0x16($s3) +.L0044378C: +/* 0044378C 10000A9C */ b .L00446200 +/* 00443790 92640020 */ lbu $a0, 0x20($s3) +.L00443794: +/* 00443794 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00443798 8E640000 */ lw $a0, ($s3) +/* 0044379C 0320F809 */ jalr $t9 +/* 004437A0 00000000 */ nop +/* 004437A4 92640020 */ lbu $a0, 0x20($s3) +/* 004437A8 24010076 */ li $at, 118 +/* 004437AC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004437B0 1481000A */ bne $a0, $at, .L004437DC +/* 004437B4 AE620000 */ sw $v0, ($s3) +/* 004437B8 2419005B */ li $t9, 91 +/* 004437BC A2790020 */ sb $t9, 0x20($s3) +/* 004437C0 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004437C4 00402025 */ move $a0, $v0 +/* 004437C8 0320F809 */ jalr $t9 +/* 004437CC 00000000 */ nop +/* 004437D0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004437D4 AE620004 */ sw $v0, 4($s3) +/* 004437D8 92640020 */ lbu $a0, 0x20($s3) +.L004437DC: +/* 004437DC 24010077 */ li $at, 119 +/* 004437E0 54810049 */ bnel $a0, $at, .L00443908 +/* 004437E4 8E790000 */ lw $t9, ($s3) +/* 004437E8 92780021 */ lbu $t8, 0x21($s3) +/* 004437EC 3C01000C */ lui $at, 0xc +/* 004437F0 24040004 */ li $a0, 4 +/* 004437F4 330D001F */ andi $t5, $t8, 0x1f +/* 004437F8 2DAE0020 */ sltiu $t6, $t5, 0x20 +/* 004437FC 000E7823 */ negu $t7, $t6 +/* 00443800 01E1C824 */ and $t9, $t7, $at +/* 00443804 01B9C004 */ sllv $t8, $t9, $t5 +/* 00443808 0702003F */ bltzl $t8, .L00443908 +/* 0044380C 8E790000 */ lw $t9, ($s3) +/* 00443810 8F8E8038 */ lw $t6, %got(RO_1000D804)($gp) +/* 00443814 24050358 */ li $a1, 856 +/* 00443818 03A06825 */ move $t5, $sp +/* 0044381C 25CED804 */ addiu $t6, %lo(RO_1000D804) # addiu $t6, $t6, -0x27fc +/* 00443820 25D80048 */ addiu $t8, $t6, 0x48 +.L00443824: +/* 00443824 89D90000 */ lwl $t9, ($t6) +/* 00443828 99D90003 */ lwr $t9, 3($t6) +/* 0044382C 25CE000C */ addiu $t6, $t6, 0xc +/* 00443830 25AD000C */ addiu $t5, $t5, 0xc +/* 00443834 A9B9FFFC */ swl $t9, -4($t5) +/* 00443838 B9B9FFFF */ swr $t9, -1($t5) +/* 0044383C 89CFFFF8 */ lwl $t7, -8($t6) +/* 00443840 99CFFFFB */ lwr $t7, -5($t6) +/* 00443844 A9AF0000 */ swl $t7, ($t5) +/* 00443848 B9AF0003 */ swr $t7, 3($t5) +/* 0044384C 89D9FFFC */ lwl $t9, -4($t6) +/* 00443850 99D9FFFF */ lwr $t9, -1($t6) +/* 00443854 A9B90004 */ swl $t9, 4($t5) +/* 00443858 15D8FFF2 */ bne $t6, $t8, .L00443824 +/* 0044385C B9B90007 */ swr $t9, 7($t5) +/* 00443860 89D90000 */ lwl $t9, ($t6) +/* 00443864 99D90003 */ lwr $t9, 3($t6) +/* 00443868 8F988038 */ lw $t8, %got(RO_1000D7B4)($gp) +/* 0044386C A9B90008 */ swl $t9, 8($t5) +/* 00443870 B9B9000B */ swr $t9, 0xb($t5) +/* 00443874 89CF0004 */ lwl $t7, 4($t6) +/* 00443878 99CF0007 */ lwr $t7, 7($t6) +/* 0044387C 2718D7B4 */ addiu $t8, %lo(RO_1000D7B4) # addiu $t8, $t8, -0x284c +/* 00443880 27190048 */ addiu $t9, $t8, 0x48 +/* 00443884 A9AF000C */ swl $t7, 0xc($t5) +/* 00443888 B9AF000F */ swr $t7, 0xf($t5) +/* 0044388C 03A07825 */ move $t7, $sp +.L00443890: +/* 00443890 8B0D0000 */ lwl $t5, ($t8) +/* 00443894 9B0D0003 */ lwr $t5, 3($t8) +/* 00443898 2718000C */ addiu $t8, $t8, 0xc +/* 0044389C 25EF000C */ addiu $t7, $t7, 0xc +/* 004438A0 A9ED004C */ swl $t5, 0x4c($t7) +/* 004438A4 B9ED004F */ swr $t5, 0x4f($t7) +/* 004438A8 8B0EFFF8 */ lwl $t6, -8($t8) +/* 004438AC 9B0EFFFB */ lwr $t6, -5($t8) +/* 004438B0 A9EE0050 */ swl $t6, 0x50($t7) +/* 004438B4 B9EE0053 */ swr $t6, 0x53($t7) +/* 004438B8 8B0DFFFC */ lwl $t5, -4($t8) +/* 004438BC 9B0DFFFF */ lwr $t5, -1($t8) +/* 004438C0 A9ED0054 */ swl $t5, 0x54($t7) +/* 004438C4 1719FFF2 */ bne $t8, $t9, .L00443890 +/* 004438C8 B9ED0057 */ swr $t5, 0x57($t7) +/* 004438CC 8B0D0000 */ lwl $t5, ($t8) +/* 004438D0 9B0D0003 */ lwr $t5, 3($t8) +/* 004438D4 A9ED0058 */ swl $t5, 0x58($t7) +/* 004438D8 B9ED005B */ swr $t5, 0x5b($t7) +/* 004438DC 8B0E0004 */ lwl $t6, 4($t8) +/* 004438E0 9B0E0007 */ lwr $t6, 7($t8) +/* 004438E4 A9EE005C */ swl $t6, 0x5c($t7) +/* 004438E8 B9EE005F */ swr $t6, 0x5f($t7) +/* 004438EC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004438F0 8FA7000C */ lw $a3, 0xc($sp) +/* 004438F4 8FA60008 */ lw $a2, 8($sp) +/* 004438F8 0320F809 */ jalr $t9 +/* 004438FC 00000000 */ nop +/* 00443900 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443904 8E790000 */ lw $t9, ($s3) +.L00443908: +/* 00443908 93380016 */ lbu $t8, 0x16($t9) +/* 0044390C 57000003 */ bnel $t8, $zero, .L0044391C +/* 00443910 A2780016 */ sb $t8, 0x16($s3) +/* 00443914 24180001 */ li $t8, 1 +/* 00443918 A2780016 */ sb $t8, 0x16($s3) +.L0044391C: +/* 0044391C 10000A38 */ b .L00446200 +/* 00443920 92640020 */ lbu $a0, 0x20($s3) +.L00443924: +/* 00443924 248FFFE0 */ addiu $t7, $a0, -0x20 +/* 00443928 2DEE0040 */ sltiu $t6, $t7, 0x40 +/* 0044392C 11C00009 */ beqz $t6, .L00443954 +/* 00443930 00000000 */ nop +/* 00443934 8F988038 */ lw $t8, %got(D_10016960)($gp) +/* 00443938 000F6943 */ sra $t5, $t7, 5 +/* 0044393C 000DC880 */ sll $t9, $t5, 2 +/* 00443940 27186960 */ addiu $t8, %lo(D_10016960) # addiu $t8, $t8, 0x6960 +/* 00443944 03196821 */ addu $t5, $t8, $t9 +/* 00443948 8DB80000 */ lw $t8, ($t5) +/* 0044394C 01F8C804 */ sllv $t9, $t8, $t7 +/* 00443950 2B2E0000 */ slti $t6, $t9, 0 +.L00443954: +/* 00443954 11C00019 */ beqz $t6, .L004439BC +/* 00443958 00000000 */ nop +/* 0044395C 92630021 */ lbu $v1, 0x21($s3) +/* 00443960 2401000E */ li $at, 14 +/* 00443964 3078001F */ andi $t8, $v1, 0x1f +/* 00443968 17010014 */ bne $t8, $at, .L004439BC +/* 0044396C 0074C824 */ and $t9, $v1, $s4 +/* 00443970 8E6F0000 */ lw $t7, ($s3) +/* 00443974 372D0008 */ ori $t5, $t9, 8 +/* 00443978 8DE20028 */ lw $v0, 0x28($t7) +/* 0044397C 28410005 */ slti $at, $v0, 5 +/* 00443980 50200004 */ beql $at, $zero, .L00443994 +/* 00443984 8E6E0004 */ lw $t6, 4($s3) +/* 00443988 1000000C */ b .L004439BC +/* 0044398C A26D0021 */ sb $t5, 0x21($s3) +/* 00443990 8E6E0004 */ lw $t6, 4($s3) +.L00443994: +/* 00443994 8DD80028 */ lw $t8, 0x28($t6) +/* 00443998 030202B6 */ tne $t8, $v0, 0xa +/* 0044399C 8F9985E4 */ lw $t9, %call16(gen_set_equ)($gp) +/* 004439A0 02602025 */ move $a0, $s3 +/* 004439A4 0320F809 */ jalr $t9 +/* 004439A8 00000000 */ nop +/* 004439AC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004439B0 00409825 */ move $s3, $v0 +/* 004439B4 1000FE84 */ b .L004433C8 +/* 004439B8 90430019 */ lbu $v1, 0x19($v0) +.L004439BC: +/* 004439BC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004439C0 8E640000 */ lw $a0, ($s3) +/* 004439C4 0320F809 */ jalr $t9 +/* 004439C8 00000000 */ nop +/* 004439CC 926F0020 */ lbu $t7, 0x20($s3) +/* 004439D0 2411000A */ li $s1, 10 +/* 004439D4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004439D8 162F0005 */ bne $s1, $t7, .L004439F0 +/* 004439DC AE620000 */ sw $v0, ($s3) +/* 004439E0 8F908920 */ lw $s0, %got(no_cse_flag)($gp) +/* 004439E4 8E190000 */ lw $t9, ($s0) +/* 004439E8 272D0001 */ addiu $t5, $t9, 1 +/* 004439EC AE0D0000 */ sw $t5, ($s0) +.L004439F0: +/* 004439F0 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004439F4 8F908920 */ lw $s0, %got(no_cse_flag)($gp) +/* 004439F8 8E640004 */ lw $a0, 4($s3) +/* 004439FC 0320F809 */ jalr $t9 +/* 00443A00 00000000 */ nop +/* 00443A04 92640020 */ lbu $a0, 0x20($s3) +/* 00443A08 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443A0C AE620004 */ sw $v0, 4($s3) +/* 00443A10 16240004 */ bne $s1, $a0, .L00443A24 +/* 00443A14 24010073 */ li $at, 115 +/* 00443A18 8E0E0000 */ lw $t6, ($s0) +/* 00443A1C 25D8FFFF */ addiu $t8, $t6, -1 +/* 00443A20 AE180000 */ sw $t8, ($s0) +.L00443A24: +/* 00443A24 10810003 */ beq $a0, $at, .L00443A34 +/* 00443A28 24010074 */ li $at, 116 +/* 00443A2C 5481000C */ bnel $a0, $at, .L00443A60 +/* 00443A30 8E6E0000 */ lw $t6, ($s3) +.L00443A34: +/* 00443A34 8E660004 */ lw $a2, 4($s3) +/* 00443A38 24050049 */ li $a1, 73 +/* 00443A3C 90CF0020 */ lbu $t7, 0x20($a2) +/* 00443A40 54AF0007 */ bnel $a1, $t7, .L00443A60 +/* 00443A44 8E6E0000 */ lw $t6, ($s3) +/* 00443A48 8CC30030 */ lw $v1, 0x30($a2) +/* 00443A4C 28610020 */ slti $at, $v1, 0x20 +/* 00443A50 14200002 */ bnez $at, .L00443A5C +/* 00443A54 3079001F */ andi $t9, $v1, 0x1f +/* 00443A58 ACD90030 */ sw $t9, 0x30($a2) +.L00443A5C: +/* 00443A5C 8E6E0000 */ lw $t6, ($s3) +.L00443A60: +/* 00443A60 8E6D0004 */ lw $t5, 4($s3) +/* 00443A64 24050049 */ li $a1, 73 +/* 00443A68 91C30016 */ lbu $v1, 0x16($t6) +/* 00443A6C 91A20016 */ lbu $v0, 0x16($t5) +/* 00443A70 24780001 */ addiu $t8, $v1, 1 +/* 00443A74 14430003 */ bne $v0, $v1, .L00443A84 +/* 00443A78 0062082B */ sltu $at, $v1, $v0 +/* 00443A7C 10000005 */ b .L00443A94 +/* 00443A80 A2780016 */ sb $t8, 0x16($s3) +.L00443A84: +/* 00443A84 10200002 */ beqz $at, .L00443A90 +/* 00443A88 00607825 */ move $t7, $v1 +/* 00443A8C 00407825 */ move $t7, $v0 +.L00443A90: +/* 00443A90 A26F0016 */ sb $t7, 0x16($s3) +.L00443A94: +/* 00443A94 92640020 */ lbu $a0, 0x20($s3) +/* 00443A98 10000155 */ b .L00443FF0 +/* 00443A9C 00801025 */ move $v0, $a0 +.L00443AA0: +/* 00443AA0 8E660004 */ lw $a2, 4($s3) +/* 00443AA4 90D90020 */ lbu $t9, 0x20($a2) +/* 00443AA8 14B909D5 */ bne $a1, $t9, .L00446200 +/* 00443AAC 00000000 */ nop +/* 00443AB0 92630021 */ lbu $v1, 0x21($s3) +/* 00443AB4 3C010200 */ lui $at, 0x200 +/* 00443AB8 3063001F */ andi $v1, $v1, 0x1f +/* 00443ABC 2C6D0020 */ sltiu $t5, $v1, 0x20 +/* 00443AC0 000D7023 */ negu $t6, $t5 +/* 00443AC4 01C1C024 */ and $t8, $t6, $at +/* 00443AC8 00787804 */ sllv $t7, $t8, $v1 +/* 00443ACC 05E10014 */ bgez $t7, .L00443B20 +/* 00443AD0 24010008 */ li $at, 8 +/* 00443AD4 8CD90030 */ lw $t9, 0x30($a2) +/* 00443AD8 3C017FFF */ lui $at, 0x7fff +/* 00443ADC 3421FFFF */ ori $at, $at, 0xffff +/* 00443AE0 172109C7 */ bne $t9, $at, .L00446200 +/* 00443AE4 02608825 */ move $s1, $s3 +/* 00443AE8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443AEC 24040008 */ li $a0, 8 +/* 00443AF0 00002825 */ move $a1, $zero +/* 00443AF4 0320F809 */ jalr $t9 +/* 00443AF8 24060001 */ li $a2, 1 +/* 00443AFC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443B00 00409825 */ move $s3, $v0 +/* 00443B04 02202025 */ move $a0, $s1 +/* 00443B08 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443B0C 0320F809 */ jalr $t9 +/* 00443B10 00000000 */ nop +/* 00443B14 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443B18 100009B9 */ b .L00446200 +/* 00443B1C 92640020 */ lbu $a0, 0x20($s3) +.L00443B20: +/* 00443B20 146109B7 */ bne $v1, $at, .L00446200 +/* 00443B24 00000000 */ nop +/* 00443B28 8CCD0030 */ lw $t5, 0x30($a2) +/* 00443B2C 2414FFFF */ li $s4, -1 +/* 00443B30 02608825 */ move $s1, $s3 +/* 00443B34 168D09B2 */ bne $s4, $t5, .L00446200 +/* 00443B38 00000000 */ nop +/* 00443B3C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443B40 24040008 */ li $a0, 8 +/* 00443B44 00002825 */ move $a1, $zero +/* 00443B48 0320F809 */ jalr $t9 +/* 00443B4C 24060001 */ li $a2, 1 +/* 00443B50 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443B54 00409825 */ move $s3, $v0 +/* 00443B58 02202025 */ move $a0, $s1 +/* 00443B5C 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443B60 0320F809 */ jalr $t9 +/* 00443B64 00000000 */ nop +/* 00443B68 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443B6C 100009A4 */ b .L00446200 +/* 00443B70 92640020 */ lbu $a0, 0x20($s3) +.L00443B74: +/* 00443B74 8E660004 */ lw $a2, 4($s3) +/* 00443B78 90CE0020 */ lbu $t6, 0x20($a2) +/* 00443B7C 14AE09A0 */ bne $a1, $t6, .L00446200 +/* 00443B80 00000000 */ nop +/* 00443B84 92630021 */ lbu $v1, 0x21($s3) +/* 00443B88 3C010200 */ lui $at, 0x200 +/* 00443B8C 3063001F */ andi $v1, $v1, 0x1f +/* 00443B90 2C780020 */ sltiu $t8, $v1, 0x20 +/* 00443B94 00187823 */ negu $t7, $t8 +/* 00443B98 01E1C824 */ and $t9, $t7, $at +/* 00443B9C 00796804 */ sllv $t5, $t9, $v1 +/* 00443BA0 05A10014 */ bgez $t5, .L00443BF4 +/* 00443BA4 24010008 */ li $at, 8 +/* 00443BA8 8CCE0030 */ lw $t6, 0x30($a2) +/* 00443BAC 3C017FFF */ lui $at, 0x7fff +/* 00443BB0 3421FFFF */ ori $at, $at, 0xffff +/* 00443BB4 15C10992 */ bne $t6, $at, .L00446200 +/* 00443BB8 02608825 */ move $s1, $s3 +/* 00443BBC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443BC0 24040008 */ li $a0, 8 +/* 00443BC4 00002825 */ move $a1, $zero +/* 00443BC8 0320F809 */ jalr $t9 +/* 00443BCC 00003025 */ move $a2, $zero +/* 00443BD0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443BD4 00409825 */ move $s3, $v0 +/* 00443BD8 02202025 */ move $a0, $s1 +/* 00443BDC 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443BE0 0320F809 */ jalr $t9 +/* 00443BE4 00000000 */ nop +/* 00443BE8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443BEC 10000984 */ b .L00446200 +/* 00443BF0 92640020 */ lbu $a0, 0x20($s3) +.L00443BF4: +/* 00443BF4 14610982 */ bne $v1, $at, .L00446200 +/* 00443BF8 00000000 */ nop +/* 00443BFC 8CD80030 */ lw $t8, 0x30($a2) +/* 00443C00 2414FFFF */ li $s4, -1 +/* 00443C04 02608825 */ move $s1, $s3 +/* 00443C08 1698097D */ bne $s4, $t8, .L00446200 +/* 00443C0C 00000000 */ nop +/* 00443C10 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443C14 24040008 */ li $a0, 8 +/* 00443C18 00002825 */ move $a1, $zero +/* 00443C1C 0320F809 */ jalr $t9 +/* 00443C20 00003025 */ move $a2, $zero +/* 00443C24 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443C28 00409825 */ move $s3, $v0 +/* 00443C2C 02202025 */ move $a0, $s1 +/* 00443C30 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443C34 0320F809 */ jalr $t9 +/* 00443C38 00000000 */ nop +/* 00443C3C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443C40 1000096F */ b .L00446200 +/* 00443C44 92640020 */ lbu $a0, 0x20($s3) +.L00443C48: +/* 00443C48 8E660004 */ lw $a2, 4($s3) +/* 00443C4C 90CF0020 */ lbu $t7, 0x20($a2) +/* 00443C50 14AF096B */ bne $a1, $t7, .L00446200 +/* 00443C54 00000000 */ nop +/* 00443C58 92630021 */ lbu $v1, 0x21($s3) +/* 00443C5C 3C010200 */ lui $at, 0x200 +/* 00443C60 3063001F */ andi $v1, $v1, 0x1f +/* 00443C64 2C790020 */ sltiu $t9, $v1, 0x20 +/* 00443C68 00196823 */ negu $t5, $t9 +/* 00443C6C 01A17024 */ and $t6, $t5, $at +/* 00443C70 006EC004 */ sllv $t8, $t6, $v1 +/* 00443C74 07010014 */ bgez $t8, .L00443CC8 +/* 00443C78 24010008 */ li $at, 8 +/* 00443C7C 8CCF0030 */ lw $t7, 0x30($a2) +/* 00443C80 3C018000 */ lui $at, 0x8000 +/* 00443C84 02608825 */ move $s1, $s3 +/* 00443C88 15E1095D */ bne $t7, $at, .L00446200 +/* 00443C8C 00000000 */ nop +/* 00443C90 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443C94 24040008 */ li $a0, 8 +/* 00443C98 00002825 */ move $a1, $zero +/* 00443C9C 0320F809 */ jalr $t9 +/* 00443CA0 24060001 */ li $a2, 1 +/* 00443CA4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443CA8 00409825 */ move $s3, $v0 +/* 00443CAC 02202025 */ move $a0, $s1 +/* 00443CB0 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443CB4 0320F809 */ jalr $t9 +/* 00443CB8 00000000 */ nop +/* 00443CBC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443CC0 1000094F */ b .L00446200 +/* 00443CC4 92640020 */ lbu $a0, 0x20($s3) +.L00443CC8: +/* 00443CC8 1461094D */ bne $v1, $at, .L00446200 +/* 00443CCC 00000000 */ nop +/* 00443CD0 8CD90030 */ lw $t9, 0x30($a2) +/* 00443CD4 02608825 */ move $s1, $s3 +/* 00443CD8 17200949 */ bnez $t9, .L00446200 +/* 00443CDC 00000000 */ nop +/* 00443CE0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443CE4 24040008 */ li $a0, 8 +/* 00443CE8 00002825 */ move $a1, $zero +/* 00443CEC 0320F809 */ jalr $t9 +/* 00443CF0 24060001 */ li $a2, 1 +/* 00443CF4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443CF8 00409825 */ move $s3, $v0 +/* 00443CFC 02202025 */ move $a0, $s1 +/* 00443D00 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443D04 0320F809 */ jalr $t9 +/* 00443D08 00000000 */ nop +/* 00443D0C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443D10 1000093B */ b .L00446200 +/* 00443D14 92640020 */ lbu $a0, 0x20($s3) +.L00443D18: +/* 00443D18 8E660004 */ lw $a2, 4($s3) +/* 00443D1C 90CD0020 */ lbu $t5, 0x20($a2) +/* 00443D20 14AD0937 */ bne $a1, $t5, .L00446200 +/* 00443D24 00000000 */ nop +/* 00443D28 92630021 */ lbu $v1, 0x21($s3) +/* 00443D2C 3C010200 */ lui $at, 0x200 +/* 00443D30 3063001F */ andi $v1, $v1, 0x1f +/* 00443D34 2C6E0020 */ sltiu $t6, $v1, 0x20 +/* 00443D38 000EC023 */ negu $t8, $t6 +/* 00443D3C 03017824 */ and $t7, $t8, $at +/* 00443D40 006FC804 */ sllv $t9, $t7, $v1 +/* 00443D44 07210014 */ bgez $t9, .L00443D98 +/* 00443D48 24010008 */ li $at, 8 +/* 00443D4C 8CCD0030 */ lw $t5, 0x30($a2) +/* 00443D50 3C018000 */ lui $at, 0x8000 +/* 00443D54 02608825 */ move $s1, $s3 +/* 00443D58 15A10929 */ bne $t5, $at, .L00446200 +/* 00443D5C 00000000 */ nop +/* 00443D60 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443D64 24040008 */ li $a0, 8 +/* 00443D68 00002825 */ move $a1, $zero +/* 00443D6C 0320F809 */ jalr $t9 +/* 00443D70 00003025 */ move $a2, $zero +/* 00443D74 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443D78 00409825 */ move $s3, $v0 +/* 00443D7C 02202025 */ move $a0, $s1 +/* 00443D80 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443D84 0320F809 */ jalr $t9 +/* 00443D88 00000000 */ nop +/* 00443D8C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443D90 1000091B */ b .L00446200 +/* 00443D94 92640020 */ lbu $a0, 0x20($s3) +.L00443D98: +/* 00443D98 14610919 */ bne $v1, $at, .L00446200 +/* 00443D9C 00000000 */ nop +/* 00443DA0 8CCE0030 */ lw $t6, 0x30($a2) +/* 00443DA4 02608825 */ move $s1, $s3 +/* 00443DA8 15C00915 */ bnez $t6, .L00446200 +/* 00443DAC 00000000 */ nop +/* 00443DB0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00443DB4 24040008 */ li $a0, 8 +/* 00443DB8 00002825 */ move $a1, $zero +/* 00443DBC 0320F809 */ jalr $t9 +/* 00443DC0 00003025 */ move $a2, $zero +/* 00443DC4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443DC8 00409825 */ move $s3, $v0 +/* 00443DCC 02202025 */ move $a0, $s1 +/* 00443DD0 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00443DD4 0320F809 */ jalr $t9 +/* 00443DD8 00000000 */ nop +/* 00443DDC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443DE0 10000907 */ b .L00446200 +/* 00443DE4 92640020 */ lbu $a0, 0x20($s3) +.L00443DE8: +/* 00443DE8 8E660004 */ lw $a2, 4($s3) +/* 00443DEC 90D80020 */ lbu $t8, 0x20($a2) +/* 00443DF0 14B80903 */ bne $a1, $t8, .L00446200 +/* 00443DF4 00000000 */ nop +/* 00443DF8 966F0014 */ lhu $t7, 0x14($s3) +/* 00443DFC 240B0001 */ li $t3, 1 +/* 00443E00 156F08FF */ bne $t3, $t7, .L00446200 +/* 00443E04 00000000 */ nop +/* 00443E08 8F998A48 */ lw $t9, %got(olevel)($gp) +/* 00443E0C 24020001 */ li $v0, 1 +/* 00443E10 00003825 */ move $a3, $zero +/* 00443E14 93390000 */ lbu $t9, ($t9) +/* 00443E18 24110020 */ li $s1, 32 +/* 00443E1C 240E0004 */ li $t6, 4 +/* 00443E20 132008F7 */ beqz $t9, .L00446200 +/* 00443E24 00000000 */ nop +/* 00443E28 8CC30030 */ lw $v1, 0x30($a2) +.L00443E2C: +/* 00443E2C 14430006 */ bne $v0, $v1, .L00443E48 +/* 00443E30 24E70001 */ addiu $a3, $a3, 1 +/* 00443E34 246DFFFF */ addiu $t5, $v1, -1 +/* 00443E38 ACCD0030 */ sw $t5, 0x30($a2) +/* 00443E3C A26E0020 */ sb $t6, 0x20($s3) +/* 00443E40 100008EF */ b .L00446200 +/* 00443E44 31C400FF */ andi $a0, $t6, 0xff +.L00443E48: +/* 00443E48 14F1FFF8 */ bne $a3, $s1, .L00443E2C +/* 00443E4C 00021040 */ sll $v0, $v0, 1 +/* 00443E50 100008EB */ b .L00446200 +/* 00443E54 00000000 */ nop +.L00443E58: +/* 00443E58 8F988A48 */ lw $t8, %got(olevel)($gp) +/* 00443E5C 24110057 */ li $s1, 87 +/* 00443E60 93180000 */ lbu $t8, ($t8) +/* 00443E64 13000060 */ beqz $t8, .L00443FE8 +/* 00443E68 00000000 */ nop +/* 00443E6C 8F998690 */ lw $t9, %call16(is_zero)($gp) +/* 00443E70 8E640004 */ lw $a0, 4($s3) +/* 00443E74 0320F809 */ jalr $t9 +/* 00443E78 00000000 */ nop +/* 00443E7C 1040002C */ beqz $v0, .L00443F30 +/* 00443E80 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443E84 8E700000 */ lw $s0, ($s3) +/* 00443E88 240B0001 */ li $t3, 1 +/* 00443E8C 24010069 */ li $at, 105 +/* 00443E90 960F0014 */ lhu $t7, 0x14($s0) +/* 00443E94 156F0026 */ bne $t3, $t7, .L00443F30 +/* 00443E98 00000000 */ nop +/* 00443E9C 92030020 */ lbu $v1, 0x20($s0) +/* 00443EA0 24190069 */ li $t9, 105 +/* 00443EA4 16230004 */ bne $s1, $v1, .L00443EB8 +/* 00443EA8 00000000 */ nop +/* 00443EAC A2190020 */ sb $t9, 0x20($s0) +/* 00443EB0 8E700000 */ lw $s0, ($s3) +/* 00443EB4 92030020 */ lbu $v1, 0x20($s0) +.L00443EB8: +/* 00443EB8 1461001B */ bne $v1, $at, .L00443F28 +/* 00443EBC AFB30108 */ sw $s3, 0x108($sp) +/* 00443EC0 920D0021 */ lbu $t5, 0x21($s0) +/* 00443EC4 24010006 */ li $at, 6 +/* 00443EC8 AFB30108 */ sw $s3, 0x108($sp) +/* 00443ECC 31AE001F */ andi $t6, $t5, 0x1f +/* 00443ED0 15C10015 */ bne $t6, $at, .L00443F28 +/* 00443ED4 00000000 */ nop +/* 00443ED8 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00443EDC 8E040004 */ lw $a0, 4($s0) +/* 00443EE0 0320F809 */ jalr $t9 +/* 00443EE4 00000000 */ nop +/* 00443EE8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443EEC 1040000E */ beqz $v0, .L00443F28 +/* 00443EF0 AFB30108 */ sw $s3, 0x108($sp) +/* 00443EF4 8E780000 */ lw $t8, ($s3) +/* 00443EF8 8F9985D4 */ lw $t9, %call16(is_power_of_two)($gp) +/* 00443EFC 8F0F0004 */ lw $t7, 4($t8) +/* 00443F00 0320F809 */ jalr $t9 +/* 00443F04 8DE40030 */ lw $a0, 0x30($t7) +/* 00443F08 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443F0C 10400006 */ beqz $v0, .L00443F28 +/* 00443F10 AFB30108 */ sw $s3, 0x108($sp) +/* 00443F14 8E620000 */ lw $v0, ($s3) +/* 00443F18 904D0021 */ lbu $t5, 0x21($v0) +/* 00443F1C 01B47024 */ and $t6, $t5, $s4 +/* 00443F20 35D80008 */ ori $t8, $t6, 8 +/* 00443F24 A0580021 */ sb $t8, 0x21($v0) +.L00443F28: +/* 00443F28 1000002F */ b .L00443FE8 +/* 00443F2C 8FB30108 */ lw $s3, 0x108($sp) +.L00443F30: +/* 00443F30 8F998690 */ lw $t9, %call16(is_zero)($gp) +/* 00443F34 8E640000 */ lw $a0, ($s3) +/* 00443F38 0320F809 */ jalr $t9 +/* 00443F3C 00000000 */ nop +/* 00443F40 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443F44 10400028 */ beqz $v0, .L00443FE8 +/* 00443F48 240B0001 */ li $t3, 1 +/* 00443F4C 8E660004 */ lw $a2, 4($s3) +/* 00443F50 24010069 */ li $at, 105 +/* 00443F54 94CF0014 */ lhu $t7, 0x14($a2) +/* 00443F58 156F0023 */ bne $t3, $t7, .L00443FE8 +/* 00443F5C 00000000 */ nop +/* 00443F60 90C20020 */ lbu $v0, 0x20($a2) +/* 00443F64 24190069 */ li $t9, 105 +/* 00443F68 16220004 */ bne $s1, $v0, .L00443F7C +/* 00443F6C 00000000 */ nop +/* 00443F70 A0D90020 */ sb $t9, 0x20($a2) +/* 00443F74 8E660004 */ lw $a2, 4($s3) +/* 00443F78 90C20020 */ lbu $v0, 0x20($a2) +.L00443F7C: +/* 00443F7C 1441001A */ bne $v0, $at, .L00443FE8 +/* 00443F80 00000000 */ nop +/* 00443F84 90CD0021 */ lbu $t5, 0x21($a2) +/* 00443F88 24010006 */ li $at, 6 +/* 00443F8C 31AE001F */ andi $t6, $t5, 0x1f +/* 00443F90 15C10015 */ bne $t6, $at, .L00443FE8 +/* 00443F94 00000000 */ nop +/* 00443F98 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00443F9C 8CC40004 */ lw $a0, 4($a2) +/* 00443FA0 0320F809 */ jalr $t9 +/* 00443FA4 00000000 */ nop +/* 00443FA8 1040000F */ beqz $v0, .L00443FE8 +/* 00443FAC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443FB0 8E780004 */ lw $t8, 4($s3) +/* 00443FB4 8F9985D4 */ lw $t9, %call16(is_power_of_two)($gp) +/* 00443FB8 8F0F0004 */ lw $t7, 4($t8) +/* 00443FBC 0320F809 */ jalr $t9 +/* 00443FC0 8DE40030 */ lw $a0, 0x30($t7) +/* 00443FC4 10400008 */ beqz $v0, .L00443FE8 +/* 00443FC8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00443FCC AFB30108 */ sw $s3, 0x108($sp) +/* 00443FD0 8E620004 */ lw $v0, 4($s3) +/* 00443FD4 904D0021 */ lbu $t5, 0x21($v0) +/* 00443FD8 01B47024 */ and $t6, $t5, $s4 +/* 00443FDC 35D80008 */ ori $t8, $t6, 8 +/* 00443FE0 A0580021 */ sb $t8, 0x21($v0) +/* 00443FE4 8FB30108 */ lw $s3, 0x108($sp) +.L00443FE8: +/* 00443FE8 10000885 */ b .L00446200 +/* 00443FEC 92640020 */ lbu $a0, 0x20($s3) +.L00443FF0: +/* 00443FF0 2C41004F */ sltiu $at, $v0, 0x4f +/* 00443FF4 14200008 */ bnez $at, .L00444018 +/* 00443FF8 2459FFB3 */ addiu $t9, $v0, -0x4d +/* 00443FFC 24110057 */ li $s1, 87 +/* 00444000 1051FF79 */ beq $v0, $s1, .L00443DE8 +/* 00444004 2401005F */ li $at, 95 +/* 00444008 1041FF93 */ beq $v0, $at, .L00443E58 +/* 0044400C 00000000 */ nop +/* 00444010 1000087B */ b .L00446200 +/* 00444014 00000000 */ nop +.L00444018: +/* 00444018 24010023 */ li $at, 35 +/* 0044401C 1041FF8E */ beq $v0, $at, .L00443E58 +/* 00444020 244FFFD8 */ addiu $t7, $v0, -0x28 +/* 00444024 2C41002A */ sltiu $at, $v0, 0x2a +/* 00444028 1020000A */ beqz $at, .L00444054 +/* 0044402C 2DE10002 */ sltiu $at, $t7, 2 +/* 00444030 10200873 */ beqz $at, .L00446200 +/* 00444034 00000000 */ nop +/* 00444038 8F818038 */ lw $at, %got(jtbl_1000D854)($gp) +/* 0044403C 000F7880 */ sll $t7, $t7, 2 +/* 00444040 002F0821 */ addu $at, $at, $t7 +/* 00444044 8C2FD854 */ lw $t7, %lo(jtbl_1000D854)($at) +/* 00444048 01FC7821 */ addu $t7, $t7, $gp +/* 0044404C 01E00008 */ jr $t7 +/* 00444050 00000000 */ nop +.L00444054: +/* 00444054 2F210002 */ sltiu $at, $t9, 2 +/* 00444058 10200869 */ beqz $at, .L00446200 +/* 0044405C 00000000 */ nop +/* 00444060 8F818038 */ lw $at, %got(jtbl_1000D85C)($gp) +/* 00444064 0019C880 */ sll $t9, $t9, 2 +/* 00444068 00390821 */ addu $at, $at, $t9 +/* 0044406C 8C39D85C */ lw $t9, %lo(jtbl_1000D85C)($at) +/* 00444070 033CC821 */ addu $t9, $t9, $gp +/* 00444074 03200008 */ jr $t9 +/* 00444078 00000000 */ nop +.L0044407C: +/* 0044407C 8F818B34 */ lw $at, %got(leaf)($gp) +/* 00444080 240B0001 */ li $t3, 1 +/* 00444084 8F9189FC */ lw $s1, %got(n_parm_regs)($gp) +/* 00444088 A02B0000 */ sb $t3, ($at) +/* 0044408C 8F818B38 */ lw $at, %got(has_entry)($gp) +/* 00444090 A0200000 */ sb $zero, ($at) +/* 00444094 8E220000 */ lw $v0, ($s1) +/* 00444098 24010004 */ li $at, 4 +/* 0044409C 1441000C */ bne $v0, $at, .L004440D0 +/* 004440A0 00000000 */ nop +/* 004440A4 8F908B18 */ lw $s0, %got(vreg_offset)($gp) +/* 004440A8 8F988A0C */ lw $t8, %got(n_unsaved_regs)($gp) +/* 004440AC 240D0010 */ li $t5, 16 +/* 004440B0 AE0D0000 */ sw $t5, ($s0) +/* 004440B4 8F180000 */ lw $t8, ($t8) +/* 004440B8 8F818B10 */ lw $at, %got(max_vreg_offset)($gp) +/* 004440BC 00587821 */ addu $t7, $v0, $t8 +/* 004440C0 000FC880 */ sll $t9, $t7, 2 +/* 004440C4 01B96821 */ addu $t5, $t5, $t9 +/* 004440C8 1000000A */ b .L004440F4 +/* 004440CC AC2D0000 */ sw $t5, ($at) +.L004440D0: +/* 004440D0 8F908B18 */ lw $s0, %got(vreg_offset)($gp) +/* 004440D4 8F8F8A0C */ lw $t7, %got(n_unsaved_regs)($gp) +/* 004440D8 24110020 */ li $s1, 32 +/* 004440DC AE110000 */ sw $s1, ($s0) +/* 004440E0 8DEF0000 */ lw $t7, ($t7) +/* 004440E4 8F818B10 */ lw $at, %got(max_vreg_offset)($gp) +/* 004440E8 000F7080 */ sll $t6, $t7, 2 +/* 004440EC 022EC821 */ addu $t9, $s1, $t6 +/* 004440F0 AC390000 */ sw $t9, ($at) +.L004440F4: +/* 004440F4 8F828A00 */ lw $v0, %got(n_fp_parm_regs)($gp) +/* 004440F8 8F818B20 */ lw $at, %got(vreg_count)($gp) +/* 004440FC 8C420000 */ lw $v0, ($v0) +/* 00444100 AC200000 */ sw $zero, ($at) +/* 00444104 24010004 */ li $at, 4 +/* 00444108 00026840 */ sll $t5, $v0, 1 +/* 0044410C 15A1000C */ bne $t5, $at, .L00444140 +/* 00444110 00000000 */ nop +/* 00444114 8F928B1C */ lw $s2, %got(fp_vreg_offset)($gp) +/* 00444118 8F8E8A10 */ lw $t6, %got(n_unsaved_fp_regs)($gp) +/* 0044411C 241800B0 */ li $t8, 176 +/* 00444120 AE580000 */ sw $t8, ($s2) +/* 00444124 8DCE0000 */ lw $t6, ($t6) +/* 00444128 8F818B14 */ lw $at, %got(max_fp_vreg_offset)($gp) +/* 0044412C 01C26821 */ addu $t5, $t6, $v0 +/* 00444130 000D78C0 */ sll $t7, $t5, 3 +/* 00444134 030F7021 */ addu $t6, $t8, $t7 +/* 00444138 1000000A */ b .L00444164 +/* 0044413C AC2E0000 */ sw $t6, ($at) +.L00444140: +/* 00444140 8F928B1C */ lw $s2, %got(fp_vreg_offset)($gp) +/* 00444144 8F988A10 */ lw $t8, %got(n_unsaved_fp_regs)($gp) +/* 00444148 241900C0 */ li $t9, 192 +/* 0044414C AE590000 */ sw $t9, ($s2) +/* 00444150 8F0F0000 */ lw $t7, ($t8) +/* 00444154 8F818B14 */ lw $at, %got(max_fp_vreg_offset)($gp) +/* 00444158 000F70C0 */ sll $t6, $t7, 3 +/* 0044415C 032EC821 */ addu $t9, $t9, $t6 +/* 00444160 AC390000 */ sw $t9, ($at) +.L00444164: +/* 00444164 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00444168 8F838B40 */ lw $v1, %got(calls)($gp) +/* 0044416C 8F828A68 */ lw $v0, %got(use_real_fp_for_all)($gp) +/* 00444170 A0200000 */ sb $zero, ($at) +/* 00444174 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00444178 A0200000 */ sb $zero, ($at) +/* 0044417C 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00444180 AC200000 */ sw $zero, ($at) +/* 00444184 8F818AD4 */ lw $at, %got(pdefs)($gp) +/* 00444188 AC200000 */ sw $zero, ($at) +/* 0044418C 8F818B3C */ lw $at, %got(varargs)($gp) +/* 00444190 A0200000 */ sb $zero, ($at) +/* 00444194 AC600000 */ sw $zero, ($v1) +/* 00444198 90420000 */ lbu $v0, ($v0) +/* 0044419C 14400008 */ bnez $v0, .L004441C0 +/* 004441A0 00000000 */ nop +/* 004441A4 8F8289A8 */ lw $v0, %got(use_fp)($gp) +/* 004441A8 90420000 */ lbu $v0, ($v0) +/* 004441AC 14400004 */ bnez $v0, .L004441C0 +/* 004441B0 00000000 */ nop +/* 004441B4 8E62002C */ lw $v0, 0x2c($s3) +/* 004441B8 30420002 */ andi $v0, $v0, 2 +/* 004441BC 0002102B */ sltu $v0, $zero, $v0 +.L004441C0: +/* 004441C0 8F818A6C */ lw $at, %got(use_real_fp_for_proc)($gp) +/* 004441C4 1000080E */ b .L00446200 +/* 004441C8 A0220000 */ sb $v0, ($at) +.L004441CC: +/* 004441CC 8E780024 */ lw $t8, 0x24($s3) +/* 004441D0 24010001 */ li $at, 1 +/* 004441D4 240B0001 */ li $t3, 1 +/* 004441D8 17010809 */ bne $t8, $at, .L00446200 +/* 004441DC 24110020 */ li $s1, 32 +/* 004441E0 8F818B3C */ lw $at, %got(varargs)($gp) +/* 004441E4 8F908B18 */ lw $s0, %got(vreg_offset)($gp) +/* 004441E8 8F8D8A0C */ lw $t5, %got(n_unsaved_regs)($gp) +/* 004441EC A02B0000 */ sb $t3, ($at) +/* 004441F0 AE110000 */ sw $s1, ($s0) +/* 004441F4 8DAD0000 */ lw $t5, ($t5) +/* 004441F8 8F818B10 */ lw $at, %got(max_vreg_offset)($gp) +/* 004441FC 8F928B1C */ lw $s2, %got(fp_vreg_offset)($gp) +/* 00444200 000D7080 */ sll $t6, $t5, 2 +/* 00444204 8F8F8A10 */ lw $t7, %got(n_unsaved_fp_regs)($gp) +/* 00444208 022EC821 */ addu $t9, $s1, $t6 +/* 0044420C 241800C0 */ li $t8, 192 +/* 00444210 AC390000 */ sw $t9, ($at) +/* 00444214 AE580000 */ sw $t8, ($s2) +/* 00444218 8DEE0000 */ lw $t6, ($t7) +/* 0044421C 8F818B14 */ lw $at, %got(max_fp_vreg_offset)($gp) +/* 00444220 000EC8C0 */ sll $t9, $t6, 3 +/* 00444224 0319C021 */ addu $t8, $t8, $t9 +/* 00444228 100007F5 */ b .L00446200 +/* 0044422C AC380000 */ sw $t8, ($at) +.L00444230: +/* 00444230 92670029 */ lbu $a3, 0x29($s3) +/* 00444234 30E700E0 */ andi $a3, $a3, 0xe0 +/* 00444238 00073942 */ srl $a3, $a3, 5 +/* 0044423C 18E00008 */ blez $a3, .L00444260 +/* 00444240 00000000 */ nop +/* 00444244 8F998488 */ lw $t9, %call16(map_pars_to_regs)($gp) +/* 00444248 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 0044424C 00E02825 */ move $a1, $a3 +/* 00444250 0320F809 */ jalr $t9 +/* 00444254 8E040000 */ lw $a0, ($s0) +/* 00444258 10000007 */ b .L00444278 +/* 0044425C 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00444260: +/* 00444260 8F998488 */ lw $t9, %call16(map_pars_to_regs)($gp) +/* 00444264 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 00444268 2405FFFF */ li $a1, -1 +/* 0044426C 0320F809 */ jalr $t9 +/* 00444270 8E040000 */ lw $a0, ($s0) +/* 00444274 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00444278: +/* 00444278 8F998494 */ lw $t9, %call16(fix_amt_ref)($gp) +/* 0044427C 8E040000 */ lw $a0, ($s0) +/* 00444280 0320F809 */ jalr $t9 +/* 00444284 00000000 */ nop +/* 00444288 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044428C 926F0021 */ lbu $t7, 0x21($s3) +/* 00444290 8F8D8A40 */ lw $t5, %got(tail_call_opt)($gp) +/* 00444294 31EEFF1F */ andi $t6, $t7, 0xff1f +/* 00444298 A26E0021 */ sb $t6, 0x21($s3) +/* 0044429C 91AD0000 */ lbu $t5, ($t5) +/* 004442A0 51A00121 */ beql $t5, $zero, .L00444728 +/* 004442A4 926D0021 */ lbu $t5, 0x21($s3) +/* 004442A8 8E62002C */ lw $v0, 0x2c($s3) +/* 004442AC 30590002 */ andi $t9, $v0, 2 +/* 004442B0 1720011C */ bnez $t9, .L00444724 +/* 004442B4 30580008 */ andi $t8, $v0, 8 +/* 004442B8 1700011A */ bnez $t8, .L00444724 +/* 004442BC 304F0010 */ andi $t7, $v0, 0x10 +/* 004442C0 15E00118 */ bnez $t7, .L00444724 +/* 004442C4 304E0020 */ andi $t6, $v0, 0x20 +/* 004442C8 55C00117 */ bnel $t6, $zero, .L00444728 +/* 004442CC 926D0021 */ lbu $t5, 0x21($s3) +/* 004442D0 92790021 */ lbu $t9, 0x21($s3) +/* 004442D4 93AD00CF */ lbu $t5, 0xcf($sp) +/* 004442D8 8FAF00D0 */ lw $t7, 0xd0($sp) +/* 004442DC 3338001F */ andi $t8, $t9, 0x1f +/* 004442E0 55B80111 */ bnel $t5, $t8, .L00444728 +/* 004442E4 926D0021 */ lbu $t5, 0x21($s3) +/* 004442E8 966E0022 */ lhu $t6, 0x22($s3) +/* 004442EC 55EE010E */ bnel $t7, $t6, .L00444728 +/* 004442F0 926D0021 */ lbu $t5, 0x21($s3) +/* 004442F4 8E650008 */ lw $a1, 8($s3) +/* 004442F8 24010088 */ li $at, 136 +/* 004442FC 24140052 */ li $s4, 82 +/* 00444300 90A20020 */ lbu $v0, 0x20($a1) +/* 00444304 24120002 */ li $s2, 2 +/* 00444308 24110020 */ li $s1, 32 +/* 0044430C 1041002F */ beq $v0, $at, .L004443CC +/* 00444310 240A007B */ li $t2, 123 +/* 00444314 2C590080 */ sltiu $t9, $v0, 0x80 +.L00444318: +/* 00444318 13200009 */ beqz $t9, .L00444340 +/* 0044431C 00000000 */ nop +/* 00444320 8F8F8038 */ lw $t7, %got(D_10016950)($gp) +/* 00444324 00026943 */ sra $t5, $v0, 5 +/* 00444328 000DC080 */ sll $t8, $t5, 2 +/* 0044432C 25EF6950 */ addiu $t7, %lo(D_10016950) # addiu $t7, $t7, 0x6950 +/* 00444330 01F87021 */ addu $t6, $t7, $t8 +/* 00444334 8DCD0000 */ lw $t5, ($t6) +/* 00444338 004D7804 */ sllv $t7, $t5, $v0 +/* 0044433C 29F90000 */ slti $t9, $t7, 0 +.L00444340: +/* 00444340 5720001E */ bnel $t9, $zero, .L004443BC +/* 00444344 8CA50008 */ lw $a1, 8($a1) +/* 00444348 554200F7 */ bnel $t2, $v0, .L00444728 +/* 0044434C 926D0021 */ lbu $t5, 0x21($s3) +/* 00444350 8F998384 */ lw $t9, %call16(ureg)($gp) +/* 00444354 24B00020 */ addiu $s0, $a1, 0x20 +/* 00444358 02002025 */ move $a0, $s0 +/* 0044435C 0320F809 */ jalr $t9 +/* 00444360 AFA500E4 */ sw $a1, 0xe4($sp) +/* 00444364 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444368 8FA500E4 */ lw $a1, 0xe4($sp) +/* 0044436C 1052000A */ beq $v0, $s2, .L00444398 +/* 00444370 240A007B */ li $t2, 123 +/* 00444374 8F998384 */ lw $t9, %call16(ureg)($gp) +/* 00444378 02002025 */ move $a0, $s0 +/* 0044437C AFA500E4 */ sw $a1, 0xe4($sp) +/* 00444380 0320F809 */ jalr $t9 +/* 00444384 00000000 */ nop +/* 00444388 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044438C 8FA500E4 */ lw $a1, 0xe4($sp) +/* 00444390 145100E4 */ bne $v0, $s1, .L00444724 +/* 00444394 240A007B */ li $t2, 123 +.L00444398: +/* 00444398 8CA30000 */ lw $v1, ($a1) +/* 0044439C 906E0020 */ lbu $t6, 0x20($v1) +/* 004443A0 568E00E1 */ bnel $s4, $t6, .L00444728 +/* 004443A4 926D0021 */ lbu $t5, 0x21($s3) +/* 004443A8 8CAD002C */ lw $t5, 0x2c($a1) +/* 004443AC 8C6F002C */ lw $t7, 0x2c($v1) +/* 004443B0 55AF00DD */ bnel $t5, $t7, .L00444728 +/* 004443B4 926D0021 */ lbu $t5, 0x21($s3) +/* 004443B8 8CA50008 */ lw $a1, 8($a1) +.L004443BC: +/* 004443BC 24010088 */ li $at, 136 +/* 004443C0 90A20020 */ lbu $v0, 0x20($a1) +/* 004443C4 5441FFD4 */ bnel $v0, $at, .L00444318 +/* 004443C8 2C590080 */ sltiu $t9, $v0, 0x80 +.L004443CC: +/* 004443CC 8CB80004 */ lw $t8, 4($a1) +/* 004443D0 240A007B */ li $t2, 123 +/* 004443D4 24120002 */ li $s2, 2 +/* 004443D8 8F100008 */ lw $s0, 8($t8) +/* 004443DC 24140052 */ li $s4, 82 +/* 004443E0 2403001F */ li $v1, 31 +/* 004443E4 92020020 */ lbu $v0, 0x20($s0) +/* 004443E8 2C590080 */ sltiu $t9, $v0, 0x80 +/* 004443EC 13200009 */ beqz $t9, .L00444414 +/* 004443F0 00000000 */ nop +/* 004443F4 8F8F8038 */ lw $t7, %got(D_10016950)($gp) +/* 004443F8 00027143 */ sra $t6, $v0, 5 +/* 004443FC 000E6880 */ sll $t5, $t6, 2 +/* 00444400 25EF6950 */ addiu $t7, %lo(D_10016950) # addiu $t7, $t7, 0x6950 +/* 00444404 01EDC021 */ addu $t8, $t7, $t5 +/* 00444408 8F0E0000 */ lw $t6, ($t8) +/* 0044440C 004E7804 */ sllv $t7, $t6, $v0 +/* 00444410 29F90000 */ slti $t9, $t7, 0 +.L00444414: +/* 00444414 13200010 */ beqz $t9, .L00444458 +/* 00444418 00000000 */ nop +/* 0044441C 8E100008 */ lw $s0, 8($s0) +.L00444420: +/* 00444420 92020020 */ lbu $v0, 0x20($s0) +/* 00444424 2C580080 */ sltiu $t8, $v0, 0x80 +/* 00444428 13000009 */ beqz $t8, .L00444450 +/* 0044442C 00000000 */ nop +/* 00444430 8F8D8038 */ lw $t5, %got(D_10016950)($gp) +/* 00444434 00027143 */ sra $t6, $v0, 5 +/* 00444438 000E7880 */ sll $t7, $t6, 2 +/* 0044443C 25AD6950 */ addiu $t5, %lo(D_10016950) # addiu $t5, $t5, 0x6950 +/* 00444440 01AFC821 */ addu $t9, $t5, $t7 +/* 00444444 8F2E0000 */ lw $t6, ($t9) +/* 00444448 004E6804 */ sllv $t5, $t6, $v0 +/* 0044444C 29B80000 */ slti $t8, $t5, 0 +.L00444450: +/* 00444450 5700FFF3 */ bnel $t8, $zero, .L00444420 +/* 00444454 8E100008 */ lw $s0, 8($s0) +.L00444458: +/* 00444458 546200B3 */ bnel $v1, $v0, .L00444728 +/* 0044445C 926D0021 */ lbu $t5, 0x21($s3) +/* 00444460 8CB00008 */ lw $s0, 8($a1) +/* 00444464 92020020 */ lbu $v0, 0x20($s0) +/* 00444468 2C590080 */ sltiu $t9, $v0, 0x80 +/* 0044446C 13200009 */ beqz $t9, .L00444494 +/* 00444470 00000000 */ nop +/* 00444474 8F8F8038 */ lw $t7, %got(D_10016950)($gp) +/* 00444478 00027143 */ sra $t6, $v0, 5 +/* 0044447C 000E6880 */ sll $t5, $t6, 2 +/* 00444480 25EF6950 */ addiu $t7, %lo(D_10016950) # addiu $t7, $t7, 0x6950 +/* 00444484 01EDC021 */ addu $t8, $t7, $t5 +/* 00444488 8F0E0000 */ lw $t6, ($t8) +/* 0044448C 004E7804 */ sllv $t7, $t6, $v0 +/* 00444490 29F90000 */ slti $t9, $t7, 0 +.L00444494: +/* 00444494 13200010 */ beqz $t9, .L004444D8 +/* 00444498 00000000 */ nop +/* 0044449C 8E100008 */ lw $s0, 8($s0) +.L004444A0: +/* 004444A0 92020020 */ lbu $v0, 0x20($s0) +/* 004444A4 2C580080 */ sltiu $t8, $v0, 0x80 +/* 004444A8 13000009 */ beqz $t8, .L004444D0 +/* 004444AC 00000000 */ nop +/* 004444B0 8F8D8038 */ lw $t5, %got(D_10016950)($gp) +/* 004444B4 00027143 */ sra $t6, $v0, 5 +/* 004444B8 000E7880 */ sll $t7, $t6, 2 +/* 004444BC 25AD6950 */ addiu $t5, %lo(D_10016950) # addiu $t5, $t5, 0x6950 +/* 004444C0 01AFC821 */ addu $t9, $t5, $t7 +/* 004444C4 8F2E0000 */ lw $t6, ($t9) +/* 004444C8 004E6804 */ sllv $t5, $t6, $v0 +/* 004444CC 29B80000 */ slti $t8, $t5, 0 +.L004444D0: +/* 004444D0 5700FFF3 */ bnel $t8, $zero, .L004444A0 +/* 004444D4 8E100008 */ lw $s0, 8($s0) +.L004444D8: +/* 004444D8 54620093 */ bnel $v1, $v0, .L00444728 +/* 004444DC 926D0021 */ lbu $t5, 0x21($s3) +/* 004444E0 8E6C000C */ lw $t4, 0xc($s3) +/* 004444E4 2408005C */ li $t0, 92 +/* 004444E8 2409006F */ li $t1, 111 +/* 004444EC 91820020 */ lbu $v0, 0x20($t4) +/* 004444F0 01802825 */ move $a1, $t4 +/* 004444F4 5102000E */ beql $t0, $v0, .L00444530 +/* 004444F8 2409006F */ li $t1, 111 +/* 004444FC 5122000C */ beql $t1, $v0, .L00444530 +/* 00444500 2409006F */ li $t1, 111 +/* 00444504 5142000A */ beql $t2, $v0, .L00444530 +/* 00444508 2409006F */ li $t1, 111 +/* 0044450C 8CA5000C */ lw $a1, 0xc($a1) +.L00444510: +/* 00444510 90A20020 */ lbu $v0, 0x20($a1) +/* 00444514 51020006 */ beql $t0, $v0, .L00444530 +/* 00444518 2409006F */ li $t1, 111 +/* 0044451C 51220004 */ beql $t1, $v0, .L00444530 +/* 00444520 2409006F */ li $t1, 111 +/* 00444524 5542FFFA */ bnel $t2, $v0, .L00444510 +/* 00444528 8CA5000C */ lw $a1, 0xc($a1) +/* 0044452C 2409006F */ li $t1, 111 +.L00444530: +/* 00444530 51220004 */ beql $t1, $v0, .L00444544 +/* 00444534 8CB9002C */ lw $t9, 0x2c($a1) +/* 00444538 15420015 */ bne $t2, $v0, .L00444590 +/* 0044453C 00000000 */ nop +/* 00444540 8CB9002C */ lw $t9, 0x2c($a1) +.L00444544: +/* 00444544 8CAE0028 */ lw $t6, 0x28($a1) +/* 00444548 8FAD00C8 */ lw $t5, 0xc8($sp) +/* 0044454C 032E3821 */ addu $a3, $t9, $t6 +/* 00444550 24E70003 */ addiu $a3, $a3, 3 +/* 00444554 04E10002 */ bgez $a3, .L00444560 +/* 00444558 00E00821 */ move $at, $a3 +/* 0044455C 24E10003 */ addiu $at, $a3, 3 +.L00444560: +/* 00444560 00013883 */ sra $a3, $at, 2 +/* 00444564 29A10004 */ slti $at, $t5, 4 +/* 00444568 50200003 */ beql $at, $zero, .L00444578 +/* 0044456C 28E10004 */ slti $at, $a3, 4 +/* 00444570 240D0004 */ li $t5, 4 +/* 00444574 28E10004 */ slti $at, $a3, 4 +.L00444578: +/* 00444578 10200002 */ beqz $at, .L00444584 +/* 0044457C 00E07825 */ move $t7, $a3 +/* 00444580 240F0004 */ li $t7, 4 +.L00444584: +/* 00444584 01AF082A */ slt $at, $t5, $t7 +/* 00444588 54200067 */ bnel $at, $zero, .L00444728 +/* 0044458C 926D0021 */ lbu $t5, 0x21($s3) +.L00444590: +/* 00444590 1102001F */ beq $t0, $v0, .L00444610 +/* 00444594 240B0001 */ li $t3, 1 +/* 00444598 24070047 */ li $a3, 71 +/* 0044459C 8F868A28 */ lw $a2, %got(addr_dtype)($gp) +.L004445A0: +/* 004445A0 55220018 */ bnel $t1, $v0, .L00444604 +/* 004445A4 8CA5000C */ lw $a1, 0xc($a1) +/* 004445A8 90B90021 */ lbu $t9, 0x21($a1) +/* 004445AC 90D80000 */ lbu $t8, ($a2) +/* 004445B0 332E001F */ andi $t6, $t9, 0x1f +/* 004445B4 570E0013 */ bnel $t8, $t6, .L00444604 +/* 004445B8 8CA5000C */ lw $a1, 0xc($a1) +/* 004445BC 8CA2000C */ lw $v0, 0xc($a1) +/* 004445C0 904D0020 */ lbu $t5, 0x20($v0) +/* 004445C4 554D000F */ bnel $t2, $t5, .L00444604 +/* 004445C8 8CA5000C */ lw $a1, 0xc($a1) +/* 004445CC 8C430000 */ lw $v1, ($v0) +/* 004445D0 90640020 */ lbu $a0, 0x20($v1) +/* 004445D4 52840004 */ beql $s4, $a0, .L004445E8 +/* 004445D8 90620021 */ lbu $v0, 0x21($v1) +/* 004445DC 54E40009 */ bnel $a3, $a0, .L00444604 +/* 004445E0 8CA5000C */ lw $a1, 0xc($a1) +/* 004445E4 90620021 */ lbu $v0, 0x21($v1) +.L004445E8: +/* 004445E8 00021600 */ sll $v0, $v0, 0x18 +/* 004445EC 00021742 */ srl $v0, $v0, 0x1d +/* 004445F0 5162004D */ beql $t3, $v0, .L00444728 +/* 004445F4 926D0021 */ lbu $t5, 0x21($s3) +/* 004445F8 5242004B */ beql $s2, $v0, .L00444728 +/* 004445FC 926D0021 */ lbu $t5, 0x21($s3) +/* 00444600 8CA5000C */ lw $a1, 0xc($a1) +.L00444604: +/* 00444604 90A20020 */ lbu $v0, 0x20($a1) +/* 00444608 1502FFE5 */ bne $t0, $v0, .L004445A0 +/* 0044460C 00000000 */ nop +.L00444610: +/* 00444610 91820020 */ lbu $v0, 0x20($t4) +/* 00444614 01802825 */ move $a1, $t4 +/* 00444618 5102003F */ beql $t0, $v0, .L00444718 +/* 0044461C 92790021 */ lbu $t9, 0x21($s3) +/* 00444620 5122003D */ beql $t1, $v0, .L00444718 +/* 00444624 92790021 */ lbu $t9, 0x21($s3) +.L00444628: +/* 00444628 55420035 */ bnel $t2, $v0, .L00444700 +/* 0044462C 8CA5000C */ lw $a1, 0xc($a1) +/* 00444630 90AF0021 */ lbu $t7, 0x21($a1) +/* 00444634 000FCE00 */ sll $t9, $t7, 0x18 +/* 00444638 0019C742 */ srl $t8, $t9, 0x1d +/* 0044463C 56580030 */ bnel $s2, $t8, .L00444700 +/* 00444640 8CA5000C */ lw $a1, 0xc($a1) +/* 00444644 8CA30000 */ lw $v1, ($a1) +/* 00444648 906E0020 */ lbu $t6, 0x20($v1) +/* 0044464C 568E000C */ bnel $s4, $t6, .L00444680 +/* 00444650 8C620000 */ lw $v0, ($v1) +/* 00444654 906D0021 */ lbu $t5, 0x21($v1) +/* 00444658 000D7E00 */ sll $t7, $t5, 0x18 +/* 0044465C 000FCF42 */ srl $t9, $t7, 0x1d +/* 00444660 56590007 */ bnel $s2, $t9, .L00444680 +/* 00444664 8C620000 */ lw $v0, ($v1) +/* 00444668 8C78002C */ lw $t8, 0x2c($v1) +/* 0044466C 8CAE002C */ lw $t6, 0x2c($a1) +/* 00444670 030E082A */ slt $at, $t8, $t6 +/* 00444674 5420002C */ bnel $at, $zero, .L00444728 +/* 00444678 926D0021 */ lbu $t5, 0x21($s3) +/* 0044467C 8C620000 */ lw $v0, ($v1) +.L00444680: +/* 00444680 5040000F */ beql $v0, $zero, .L004446C0 +/* 00444684 8C620004 */ lw $v0, 4($v1) +/* 00444688 904D0020 */ lbu $t5, 0x20($v0) +/* 0044468C 568D000C */ bnel $s4, $t5, .L004446C0 +/* 00444690 8C620004 */ lw $v0, 4($v1) +/* 00444694 904F0021 */ lbu $t7, 0x21($v0) +/* 00444698 000FCE00 */ sll $t9, $t7, 0x18 +/* 0044469C 0019C742 */ srl $t8, $t9, 0x1d +/* 004446A0 56580007 */ bnel $s2, $t8, .L004446C0 +/* 004446A4 8C620004 */ lw $v0, 4($v1) +/* 004446A8 8C4E002C */ lw $t6, 0x2c($v0) +/* 004446AC 8CAD002C */ lw $t5, 0x2c($a1) +/* 004446B0 01CD082A */ slt $at, $t6, $t5 +/* 004446B4 5420001C */ bnel $at, $zero, .L00444728 +/* 004446B8 926D0021 */ lbu $t5, 0x21($s3) +/* 004446BC 8C620004 */ lw $v0, 4($v1) +.L004446C0: +/* 004446C0 5040000F */ beql $v0, $zero, .L00444700 +/* 004446C4 8CA5000C */ lw $a1, 0xc($a1) +/* 004446C8 904F0020 */ lbu $t7, 0x20($v0) +/* 004446CC 568F000C */ bnel $s4, $t7, .L00444700 +/* 004446D0 8CA5000C */ lw $a1, 0xc($a1) +/* 004446D4 90590021 */ lbu $t9, 0x21($v0) +/* 004446D8 0019C600 */ sll $t8, $t9, 0x18 +/* 004446DC 00187742 */ srl $t6, $t8, 0x1d +/* 004446E0 564E0007 */ bnel $s2, $t6, .L00444700 +/* 004446E4 8CA5000C */ lw $a1, 0xc($a1) +/* 004446E8 8C4D002C */ lw $t5, 0x2c($v0) +/* 004446EC 8CAF002C */ lw $t7, 0x2c($a1) +/* 004446F0 01AF082A */ slt $at, $t5, $t7 +/* 004446F4 5420000C */ bnel $at, $zero, .L00444728 +/* 004446F8 926D0021 */ lbu $t5, 0x21($s3) +/* 004446FC 8CA5000C */ lw $a1, 0xc($a1) +.L00444700: +/* 00444700 90A20020 */ lbu $v0, 0x20($a1) +/* 00444704 51020004 */ beql $t0, $v0, .L00444718 +/* 00444708 92790021 */ lbu $t9, 0x21($s3) +/* 0044470C 1522FFC6 */ bne $t1, $v0, .L00444628 +/* 00444710 00000000 */ nop +/* 00444714 92790021 */ lbu $t9, 0x21($s3) +.L00444718: +/* 00444718 3338FF1F */ andi $t8, $t9, 0xff1f +/* 0044471C 370E00A0 */ ori $t6, $t8, 0xa0 +/* 00444720 A26E0021 */ sb $t6, 0x21($s3) +.L00444724: +/* 00444724 926D0021 */ lbu $t5, 0x21($s3) +.L00444728: +/* 00444728 24010005 */ li $at, 5 +/* 0044472C 000D7E00 */ sll $t7, $t5, 0x18 +/* 00444730 000FCF42 */ srl $t9, $t7, 0x1d +/* 00444734 13210012 */ beq $t9, $at, .L00444780 +/* 00444738 00000000 */ nop +/* 0044473C 8E62002C */ lw $v0, 0x2c($s3) +/* 00444740 30580002 */ andi $t8, $v0, 2 +/* 00444744 1300000A */ beqz $t8, .L00444770 +/* 00444748 304E0010 */ andi $t6, $v0, 0x10 +/* 0044474C 11C0000C */ beqz $t6, .L00444780 +/* 00444750 00000000 */ nop +/* 00444754 8F838B40 */ lw $v1, %got(calls)($gp) +/* 00444758 8F8189B4 */ lw $at, %got(pseudo_leaf)($gp) +/* 0044475C 8C6D0000 */ lw $t5, ($v1) +/* 00444760 25AF0001 */ addiu $t7, $t5, 1 +/* 00444764 AC6F0000 */ sw $t7, ($v1) +/* 00444768 10000005 */ b .L00444780 +/* 0044476C A0200000 */ sb $zero, ($at) +.L00444770: +/* 00444770 8F838B40 */ lw $v1, %got(calls)($gp) +/* 00444774 8C790000 */ lw $t9, ($v1) +/* 00444778 27380001 */ addiu $t8, $t9, 1 +/* 0044477C AC780000 */ sw $t8, ($v1) +.L00444780: +/* 00444780 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00444784 A0200000 */ sb $zero, ($at) +/* 00444788 8F818B2C */ lw $at, %got(load_count)($gp) +/* 0044478C A0200000 */ sb $zero, ($at) +/* 00444790 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00444794 AC200000 */ sw $zero, ($at) +/* 00444798 10000699 */ b .L00446200 +/* 0044479C 92640020 */ lbu $a0, 0x20($s3) +.L004447A0: +/* 004447A0 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 004447A4 A0200000 */ sb $zero, ($at) +/* 004447A8 8F818B2C */ lw $at, %got(load_count)($gp) +/* 004447AC A0200000 */ sb $zero, ($at) +/* 004447B0 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 004447B4 10000692 */ b .L00446200 +/* 004447B8 AC200000 */ sw $zero, ($at) +.L004447BC: +/* 004447BC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 004447C0 8E640000 */ lw $a0, ($s3) +/* 004447C4 0320F809 */ jalr $t9 +/* 004447C8 00000000 */ nop +/* 004447CC 92670029 */ lbu $a3, 0x29($s3) +/* 004447D0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004447D4 AE620000 */ sw $v0, ($s3) +/* 004447D8 30E700E0 */ andi $a3, $a3, 0xe0 +/* 004447DC 00073942 */ srl $a3, $a3, 5 +/* 004447E0 18E00008 */ blez $a3, .L00444804 +/* 004447E4 00000000 */ nop +/* 004447E8 8F998488 */ lw $t9, %call16(map_pars_to_regs)($gp) +/* 004447EC 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 004447F0 00E02825 */ move $a1, $a3 +/* 004447F4 0320F809 */ jalr $t9 +/* 004447F8 8E040000 */ lw $a0, ($s0) +/* 004447FC 10000007 */ b .L0044481C +/* 00444800 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00444804: +/* 00444804 8F998488 */ lw $t9, %call16(map_pars_to_regs)($gp) +/* 00444808 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 0044480C 2405FFFF */ li $a1, -1 +/* 00444810 0320F809 */ jalr $t9 +/* 00444814 8E040000 */ lw $a0, ($s0) +/* 00444818 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0044481C: +/* 0044481C 8F838B40 */ lw $v1, %got(calls)($gp) +/* 00444820 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00444824 8C6E0000 */ lw $t6, ($v1) +/* 00444828 25CD0001 */ addiu $t5, $t6, 1 +/* 0044482C AC6D0000 */ sw $t5, ($v1) +/* 00444830 A0200000 */ sb $zero, ($at) +/* 00444834 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00444838 A0200000 */ sb $zero, ($at) +/* 0044483C 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00444840 AC200000 */ sw $zero, ($at) +/* 00444844 1000066E */ b .L00446200 +/* 00444848 92640020 */ lbu $a0, 0x20($s3) +.L0044484C: +/* 0044484C 8F998610 */ lw $t9, %call16(check_reg)($gp) +/* 00444850 02602025 */ move $a0, $s3 +/* 00444854 0320F809 */ jalr $t9 +/* 00444858 00000000 */ nop +/* 0044485C 926F0021 */ lbu $t7, 0x21($s3) +/* 00444860 24010003 */ li $at, 3 +/* 00444864 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444868 000FCE00 */ sll $t9, $t7, 0x18 +/* 0044486C 0019C742 */ srl $t8, $t9, 0x1d +/* 00444870 13010003 */ beq $t8, $at, .L00444880 +/* 00444874 240B0001 */ li $t3, 1 +/* 00444878 10000002 */ b .L00444884 +/* 0044487C A26B0016 */ sb $t3, 0x16($s3) +.L00444880: +/* 00444880 A2600016 */ sb $zero, 0x16($s3) +.L00444884: +/* 00444884 8F998618 */ lw $t9, %call16(load_cse)($gp) +/* 00444888 02602025 */ move $a0, $s3 +/* 0044488C 0320F809 */ jalr $t9 +/* 00444890 00000000 */ nop +/* 00444894 100006AC */ b .L00446348 +/* 00444898 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0044489C: +/* 0044489C 8F998614 */ lw $t9, %call16(assign_vreg)($gp) +/* 004448A0 8F858B34 */ lw $a1, %got(leaf)($gp) +/* 004448A4 02602025 */ move $a0, $s3 +/* 004448A8 0320F809 */ jalr $t9 +/* 004448AC 90A50000 */ lbu $a1, ($a1) +/* 004448B0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004448B4 10000652 */ b .L00446200 +/* 004448B8 92640020 */ lbu $a0, 0x20($s3) +.L004448BC: +/* 004448BC 92620021 */ lbu $v0, 0x21($s3) +/* 004448C0 24010006 */ li $at, 6 +/* 004448C4 00021600 */ sll $v0, $v0, 0x18 +/* 004448C8 00021742 */ srl $v0, $v0, 0x1d +/* 004448CC 54410025 */ bnel $v0, $at, .L00444964 +/* 004448D0 24120002 */ li $s2, 2 +/* 004448D4 8F8E89B4 */ lw $t6, %got(pseudo_leaf)($gp) +/* 004448D8 24190040 */ li $t9, 64 +/* 004448DC 91CE0000 */ lbu $t6, ($t6) +/* 004448E0 55C00020 */ bnel $t6, $zero, .L00444964 +/* 004448E4 24120002 */ li $s2, 2 +/* 004448E8 8F8D8B20 */ lw $t5, %got(vreg_count)($gp) +/* 004448EC 8DAD0000 */ lw $t5, ($t5) +/* 004448F0 01A002B6 */ tne $t5, $zero, 0xa +/* 004448F4 8F818B34 */ lw $at, %got(leaf)($gp) +/* 004448F8 A0200000 */ sb $zero, ($at) +/* 004448FC 8E6F0024 */ lw $t7, 0x24($s3) +/* 00444900 24010001 */ li $at, 1 +/* 00444904 15E10004 */ bne $t7, $at, .L00444918 +/* 00444908 00000000 */ nop +/* 0044490C 8F818B38 */ lw $at, %got(has_entry)($gp) +/* 00444910 240B0001 */ li $t3, 1 +/* 00444914 A02B0000 */ sb $t3, ($at) +.L00444918: +/* 00444918 8F908B18 */ lw $s0, %got(vreg_offset)($gp) +/* 0044491C 8F8E8A04 */ lw $t6, %got(n_saved_regs)($gp) +/* 00444920 8F818B10 */ lw $at, %got(max_vreg_offset)($gp) +/* 00444924 AE190000 */ sw $t9, ($s0) +/* 00444928 8DCE0000 */ lw $t6, ($t6) +/* 0044492C 8F928B1C */ lw $s2, %got(fp_vreg_offset)($gp) +/* 00444930 8F988A08 */ lw $t8, %got(n_saved_fp_regs)($gp) +/* 00444934 000E6880 */ sll $t5, $t6, 2 +/* 00444938 032D7821 */ addu $t7, $t9, $t5 +/* 0044493C 241900D0 */ li $t9, 208 +/* 00444940 AC2F0000 */ sw $t7, ($at) +/* 00444944 AE590000 */ sw $t9, ($s2) +/* 00444948 8F0D0000 */ lw $t5, ($t8) +/* 0044494C 8F818B14 */ lw $at, %got(max_fp_vreg_offset)($gp) +/* 00444950 000D78C0 */ sll $t7, $t5, 3 +/* 00444954 032FC821 */ addu $t9, $t9, $t7 +/* 00444958 10000629 */ b .L00446200 +/* 0044495C AC390000 */ sw $t9, ($at) +/* 00444960 24120002 */ li $s2, 2 +.L00444964: +/* 00444964 16420626 */ bne $s2, $v0, .L00446200 +/* 00444968 00000000 */ nop +/* 0044496C 8F828AD4 */ lw $v0, %got(pdefs)($gp) +/* 00444970 8E780000 */ lw $t8, ($s3) +/* 00444974 8F8D8B34 */ lw $t5, %got(leaf)($gp) +/* 00444978 AC580000 */ sw $t8, ($v0) +/* 0044497C 91AD0000 */ lbu $t5, ($t5) +/* 00444980 11A00041 */ beqz $t5, .L00444A88 +/* 00444984 00000000 */ nop +/* 00444988 8F8E8B3C */ lw $t6, %got(varargs)($gp) +/* 0044498C 91CE0000 */ lbu $t6, ($t6) +/* 00444990 15C0003D */ bnez $t6, .L00444A88 +/* 00444994 00000000 */ nop +/* 00444998 1300003B */ beqz $t8, .L00444A88 +/* 0044499C 03002825 */ move $a1, $t8 +/* 004449A0 8F0F0030 */ lw $t7, 0x30($t8) +/* 004449A4 2414FFFF */ li $s4, -1 +/* 004449A8 128F0037 */ beq $s4, $t7, .L00444A88 +/* 004449AC 00000000 */ nop +/* 004449B0 8F928B1C */ lw $s2, %got(fp_vreg_offset)($gp) +/* 004449B4 8F9189FC */ lw $s1, %got(n_parm_regs)($gp) +/* 004449B8 8F908B18 */ lw $s0, %got(vreg_offset)($gp) +.L004449BC: +/* 004449BC 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 004449C0 00A02025 */ move $a0, $a1 +/* 004449C4 AFA500E4 */ sw $a1, 0xe4($sp) +/* 004449C8 0320F809 */ jalr $t9 +/* 004449CC 00000000 */ nop +/* 004449D0 304300FF */ andi $v1, $v0, 0xff +/* 004449D4 2C610004 */ sltiu $at, $v1, 4 +/* 004449D8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004449DC 14200015 */ bnez $at, .L00444A34 +/* 004449E0 8FA500E4 */ lw $a1, 0xe4($sp) +/* 004449E4 8E390000 */ lw $t9, ($s1) +/* 004449E8 27380003 */ addiu $t8, $t9, 3 +/* 004449EC 0303082B */ sltu $at, $t8, $v1 +/* 004449F0 54200011 */ bnel $at, $zero, .L00444A38 +/* 004449F4 8CAE0030 */ lw $t6, 0x30($a1) +/* 004449F8 8CAD0030 */ lw $t5, 0x30($a1) +/* 004449FC 8CAE0028 */ lw $t6, 0x28($a1) +/* 00444A00 01AE7821 */ addu $t7, $t5, $t6 +/* 00444A04 25F90003 */ addiu $t9, $t7, 3 +/* 00444A08 07210003 */ bgez $t9, .L00444A18 +/* 00444A0C 0019C083 */ sra $t8, $t9, 2 +/* 00444A10 27210003 */ addiu $at, $t9, 3 +/* 00444A14 0001C083 */ sra $t8, $at, 2 +.L00444A18: +/* 00444A18 2B010009 */ slti $at, $t8, 9 +/* 00444A1C 54200003 */ bnel $at, $zero, .L00444A2C +/* 00444A20 00186880 */ sll $t5, $t8, 2 +/* 00444A24 24180008 */ li $t8, 8 +/* 00444A28 00186880 */ sll $t5, $t8, 2 +.L00444A2C: +/* 00444A2C 10000010 */ b .L00444A70 +/* 00444A30 AE0D0000 */ sw $t5, ($s0) +.L00444A34: +/* 00444A34 8CAE0030 */ lw $t6, 0x30($a1) +.L00444A38: +/* 00444A38 8CAF0028 */ lw $t7, 0x28($a1) +/* 00444A3C 01CFC821 */ addu $t9, $t6, $t7 +/* 00444A40 27380007 */ addiu $t8, $t9, 7 +/* 00444A44 07010003 */ bgez $t8, .L00444A54 +/* 00444A48 001868C3 */ sra $t5, $t8, 3 +/* 00444A4C 27010007 */ addiu $at, $t8, 7 +/* 00444A50 000168C3 */ sra $t5, $at, 3 +.L00444A54: +/* 00444A54 000D7040 */ sll $t6, $t5, 1 +/* 00444A58 29C10031 */ slti $at, $t6, 0x31 +/* 00444A5C 54200003 */ bnel $at, $zero, .L00444A6C +/* 00444A60 000E7880 */ sll $t7, $t6, 2 +/* 00444A64 240E0030 */ li $t6, 48 +/* 00444A68 000E7880 */ sll $t7, $t6, 2 +.L00444A6C: +/* 00444A6C AE4F0000 */ sw $t7, ($s2) +.L00444A70: +/* 00444A70 8CA50008 */ lw $a1, 8($a1) +/* 00444A74 10A00004 */ beqz $a1, .L00444A88 +/* 00444A78 00000000 */ nop +/* 00444A7C 8CB90030 */ lw $t9, 0x30($a1) +/* 00444A80 1699FFCE */ bne $s4, $t9, .L004449BC +/* 00444A84 00000000 */ nop +.L00444A88: +/* 00444A88 8F828AD4 */ lw $v0, %got(pdefs)($gp) +/* 00444A8C 92640020 */ lbu $a0, 0x20($s3) +/* 00444A90 8C500000 */ lw $s0, ($v0) +/* 00444A94 12000004 */ beqz $s0, .L00444AA8 +/* 00444A98 00000000 */ nop +/* 00444A9C 8E100008 */ lw $s0, 8($s0) +.L00444AA0: +/* 00444AA0 5600FFFF */ bnel $s0, $zero, .L00444AA0 +/* 00444AA4 8E100008 */ lw $s0, 8($s0) +.L00444AA8: +/* 00444AA8 120005D5 */ beqz $s0, .L00446200 +/* 00444AAC 00000000 */ nop +/* 00444AB0 100005D3 */ b .L00446200 +/* 00444AB4 00000000 */ nop +.L00444AB8: +/* 00444AB8 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444ABC 8E640000 */ lw $a0, ($s3) +/* 00444AC0 0320F809 */ jalr $t9 +/* 00444AC4 00000000 */ nop +/* 00444AC8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444ACC AE620000 */ sw $v0, ($s3) +/* 00444AD0 8E640004 */ lw $a0, 4($s3) +/* 00444AD4 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444AD8 0320F809 */ jalr $t9 +/* 00444ADC 00000000 */ nop +/* 00444AE0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444AE4 AE620004 */ sw $v0, 4($s3) +/* 00444AE8 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00444AEC A0200000 */ sb $zero, ($at) +/* 00444AF0 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00444AF4 A0200000 */ sb $zero, ($at) +/* 00444AF8 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00444AFC AC200000 */ sw $zero, ($at) +/* 00444B00 100005BF */ b .L00446200 +/* 00444B04 92640020 */ lbu $a0, 0x20($s3) +.L00444B08: +/* 00444B08 8E620028 */ lw $v0, 0x28($s3) +/* 00444B0C 24180021 */ li $t8, 33 +/* 00444B10 02608825 */ move $s1, $s3 +/* 00444B14 005802B0 */ tge $v0, $t8, 0xa +/* 00444B18 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00444B1C 8E65002C */ lw $a1, 0x2c($s3) +/* 00444B20 8E640000 */ lw $a0, ($s3) +/* 00444B24 000230C0 */ sll $a2, $v0, 3 +/* 00444B28 0320F809 */ jalr $t9 +/* 00444B2C 00052823 */ negu $a1, $a1 +/* 00444B30 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444B34 00409825 */ move $s3, $v0 +/* 00444B38 02202025 */ move $a0, $s1 +/* 00444B3C 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444B40 0320F809 */ jalr $t9 +/* 00444B44 00000000 */ nop +/* 00444B48 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444B4C 1000FA1E */ b .L004433C8 +/* 00444B50 92630019 */ lbu $v1, 0x19($s3) +.L00444B54: +/* 00444B54 966D0022 */ lhu $t5, 0x22($s3) +/* 00444B58 31AE0002 */ andi $t6, $t5, 2 +/* 00444B5C 11C00008 */ beqz $t6, .L00444B80 +/* 00444B60 00000000 */ nop +/* 00444B64 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444B68 8E640000 */ lw $a0, ($s3) +/* 00444B6C 0320F809 */ jalr $t9 +/* 00444B70 00000000 */ nop +/* 00444B74 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444B78 10000069 */ b .L00444D20 +/* 00444B7C AE620000 */ sw $v0, ($s3) +.L00444B80: +/* 00444B80 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00444B84 8E640000 */ lw $a0, ($s3) +/* 00444B88 0320F809 */ jalr $t9 +/* 00444B8C 00000000 */ nop +/* 00444B90 10400008 */ beqz $v0, .L00444BB4 +/* 00444B94 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444B98 8F9983FC */ lw $t9, %call16(fold)($gp) +/* 00444B9C 02602025 */ move $a0, $s3 +/* 00444BA0 0320F809 */ jalr $t9 +/* 00444BA4 00000000 */ nop +/* 00444BA8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444BAC 1000005C */ b .L00444D20 +/* 00444BB0 00409825 */ move $s3, $v0 +.L00444BB4: +/* 00444BB4 8E700000 */ lw $s0, ($s3) +/* 00444BB8 24010019 */ li $at, 25 +/* 00444BBC 92030020 */ lbu $v1, 0x20($s0) +/* 00444BC0 5461002B */ bnel $v1, $at, .L00444C70 +/* 00444BC4 24010019 */ li $at, 25 +/* 00444BC8 8E0F0024 */ lw $t7, 0x24($s0) +/* 00444BCC 8E790024 */ lw $t9, 0x24($s3) +/* 00444BD0 01F9082A */ slt $at, $t7, $t9 +/* 00444BD4 54200026 */ bnel $at, $zero, .L00444C70 +/* 00444BD8 24010019 */ li $at, 25 +/* 00444BDC 96180022 */ lhu $t8, 0x22($s0) +/* 00444BE0 330D0002 */ andi $t5, $t8, 2 +/* 00444BE4 11A00014 */ beqz $t5, .L00444C38 +/* 00444BE8 00000000 */ nop +/* 00444BEC 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00444BF0 02608825 */ move $s1, $s3 +/* 00444BF4 02002025 */ move $a0, $s0 +/* 00444BF8 0320F809 */ jalr $t9 +/* 00444BFC 00000000 */ nop +/* 00444C00 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444C04 00402025 */ move $a0, $v0 +/* 00444C08 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444C0C 0320F809 */ jalr $t9 +/* 00444C10 00000000 */ nop +/* 00444C14 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444C18 00409825 */ move $s3, $v0 +/* 00444C1C 02202025 */ move $a0, $s1 +/* 00444C20 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444C24 0320F809 */ jalr $t9 +/* 00444C28 00000000 */ nop +/* 00444C2C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444C30 100005C5 */ b .L00446348 +/* 00444C34 02601025 */ move $v0, $s3 +.L00444C38: +/* 00444C38 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00444C3C 02008825 */ move $s1, $s0 +/* 00444C40 8E040000 */ lw $a0, ($s0) +/* 00444C44 0320F809 */ jalr $t9 +/* 00444C48 00000000 */ nop +/* 00444C4C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444C50 AE620000 */ sw $v0, ($s3) +/* 00444C54 02202025 */ move $a0, $s1 +/* 00444C58 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444C5C 0320F809 */ jalr $t9 +/* 00444C60 00000000 */ nop +/* 00444C64 10000026 */ b .L00444D00 +/* 00444C68 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444C6C 24010019 */ li $at, 25 +.L00444C70: +/* 00444C70 14610023 */ bne $v1, $at, .L00444D00 +/* 00444C74 00000000 */ nop +/* 00444C78 92020021 */ lbu $v0, 0x21($s0) +/* 00444C7C 926E0021 */ lbu $t6, 0x21($s3) +/* 00444C80 24010006 */ li $at, 6 +/* 00444C84 3042001F */ andi $v0, $v0, 0x1f +/* 00444C88 31CF001F */ andi $t7, $t6, 0x1f +/* 00444C8C 104F0003 */ beq $v0, $t7, .L00444C9C +/* 00444C90 00000000 */ nop +/* 00444C94 1041001A */ beq $v0, $at, .L00444D00 +/* 00444C98 00000000 */ nop +.L00444C9C: +/* 00444C9C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00444CA0 02608825 */ move $s1, $s3 +/* 00444CA4 02002025 */ move $a0, $s0 +/* 00444CA8 0320F809 */ jalr $t9 +/* 00444CAC 00000000 */ nop +/* 00444CB0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444CB4 00402025 */ move $a0, $v0 +/* 00444CB8 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444CBC 0320F809 */ jalr $t9 +/* 00444CC0 00000000 */ nop +/* 00444CC4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444CC8 00409825 */ move $s3, $v0 +/* 00444CCC 02202025 */ move $a0, $s1 +/* 00444CD0 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444CD4 0320F809 */ jalr $t9 +/* 00444CD8 00000000 */ nop +/* 00444CDC 8E390000 */ lw $t9, ($s1) +/* 00444CE0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444CE4 02601025 */ move $v0, $s3 +/* 00444CE8 93380016 */ lbu $t8, 0x16($t9) +/* 00444CEC 17000002 */ bnez $t8, .L00444CF8 +/* 00444CF0 00000000 */ nop +/* 00444CF4 24180001 */ li $t8, 1 +.L00444CF8: +/* 00444CF8 10000593 */ b .L00446348 +/* 00444CFC A2780016 */ sb $t8, 0x16($s3) +.L00444D00: +/* 00444D00 8F998628 */ lw $t9, %call16(translate_cvtl)($gp) +/* 00444D04 02602025 */ move $a0, $s3 +/* 00444D08 0320F809 */ jalr $t9 +/* 00444D0C 00000000 */ nop +/* 00444D10 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444D14 00409825 */ move $s3, $v0 +/* 00444D18 1000F9AB */ b .L004433C8 +/* 00444D1C 90430019 */ lbu $v1, 0x19($v0) +.L00444D20: +/* 00444D20 10000537 */ b .L00446200 +/* 00444D24 92640020 */ lbu $a0, 0x20($s3) +.L00444D28: +/* 00444D28 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444D2C 8E640000 */ lw $a0, ($s3) +/* 00444D30 0320F809 */ jalr $t9 +/* 00444D34 00000000 */ nop +/* 00444D38 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444D3C AE620000 */ sw $v0, ($s3) +/* 00444D40 24040006 */ li $a0, 6 +/* 00444D44 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00444D48 00002825 */ move $a1, $zero +/* 00444D4C 8E66002C */ lw $a2, 0x2c($s3) +/* 00444D50 0320F809 */ jalr $t9 +/* 00444D54 00000000 */ nop +/* 00444D58 8E6D0000 */ lw $t5, ($s3) +/* 00444D5C 240B0001 */ li $t3, 1 +/* 00444D60 AE620004 */ sw $v0, 4($s3) +/* 00444D64 A26B0020 */ sb $t3, 0x20($s3) +/* 00444D68 A6600022 */ sh $zero, 0x22($s3) +/* 00444D6C 904E0016 */ lbu $t6, 0x16($v0) +/* 00444D70 91A30016 */ lbu $v1, 0x16($t5) +/* 00444D74 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444D78 15C30003 */ bne $t6, $v1, .L00444D88 +/* 00444D7C 246F0001 */ addiu $t7, $v1, 1 +/* 00444D80 10000008 */ b .L00444DA4 +/* 00444D84 A26F0016 */ sb $t7, 0x16($s3) +.L00444D88: +/* 00444D88 8E790004 */ lw $t9, 4($s3) +/* 00444D8C 93380016 */ lbu $t8, 0x16($t9) +/* 00444D90 0303082B */ sltu $at, $t8, $v1 +/* 00444D94 50200003 */ beql $at, $zero, .L00444DA4 +/* 00444D98 A2780016 */ sb $t8, 0x16($s3) +/* 00444D9C 0060C025 */ move $t8, $v1 +/* 00444DA0 A2780016 */ sb $t8, 0x16($s3) +.L00444DA4: +/* 00444DA4 10000516 */ b .L00446200 +/* 00444DA8 92640020 */ lbu $a0, 0x20($s3) +.L00444DAC: +/* 00444DAC 8F9985FC */ lw $t9, %call16(cse)($gp) +/* 00444DB0 02602025 */ move $a0, $s3 +/* 00444DB4 0320F809 */ jalr $t9 +/* 00444DB8 00000000 */ nop +/* 00444DBC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444DC0 00409825 */ move $s3, $v0 +/* 00444DC4 1000050E */ b .L00446200 +/* 00444DC8 90440020 */ lbu $a0, 0x20($v0) +.L00444DCC: +/* 00444DCC 92630021 */ lbu $v1, 0x21($s3) +/* 00444DD0 2401000E */ li $at, 14 +/* 00444DD4 3063001F */ andi $v1, $v1, 0x1f +/* 00444DD8 54610012 */ bnel $v1, $at, .L00444E24 +/* 00444DDC 2C790020 */ sltiu $t9, $v1, 0x20 +/* 00444DE0 8E620028 */ lw $v0, 0x28($s3) +/* 00444DE4 28410005 */ slti $at, $v0, 5 +/* 00444DE8 5020000E */ beql $at, $zero, .L00444E24 +/* 00444DEC 2C790020 */ sltiu $t9, $v1, 0x20 +/* 00444DF0 8F9985D8 */ lw $t9, %call16(get_set_const)($gp) +/* 00444DF4 26640030 */ addiu $a0, $s3, 0x30 +/* 00444DF8 00002825 */ move $a1, $zero +/* 00444DFC 0320F809 */ jalr $t9 +/* 00444E00 000230C0 */ sll $a2, $v0, 3 +/* 00444E04 926D0021 */ lbu $t5, 0x21($s3) +/* 00444E08 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444E0C AE620030 */ sw $v0, 0x30($s3) +/* 00444E10 01B47024 */ and $t6, $t5, $s4 +/* 00444E14 35C30008 */ ori $v1, $t6, 8 +/* 00444E18 A2630021 */ sb $v1, 0x21($s3) +/* 00444E1C 3063001F */ andi $v1, $v1, 0x1f +/* 00444E20 2C790020 */ sltiu $t9, $v1, 0x20 +.L00444E24: +/* 00444E24 3C01000C */ lui $at, 0xc +/* 00444E28 34218000 */ ori $at, $at, 0x8000 +/* 00444E2C 0019C023 */ negu $t8, $t9 +/* 00444E30 03016824 */ and $t5, $t8, $at +/* 00444E34 006D7004 */ sllv $t6, $t5, $v1 +/* 00444E38 05C10003 */ bgez $t6, .L00444E48 +/* 00444E3C 240B0001 */ li $t3, 1 +/* 00444E40 10000002 */ b .L00444E4C +/* 00444E44 A26B0016 */ sb $t3, 0x16($s3) +.L00444E48: +/* 00444E48 A2600016 */ sb $zero, 0x16($s3) +.L00444E4C: +/* 00444E4C 100004EC */ b .L00446200 +/* 00444E50 92640020 */ lbu $a0, 0x20($s3) +.L00444E54: +/* 00444E54 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444E58 8E640000 */ lw $a0, ($s3) +/* 00444E5C 0320F809 */ jalr $t9 +/* 00444E60 00000000 */ nop +/* 00444E64 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444E68 AE620000 */ sw $v0, ($s3) +/* 00444E6C 8E640004 */ lw $a0, 4($s3) +/* 00444E70 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00444E74 0320F809 */ jalr $t9 +/* 00444E78 00000000 */ nop +/* 00444E7C 8E700000 */ lw $s0, ($s3) +/* 00444E80 AE620004 */ sw $v0, 4($s3) +/* 00444E84 24070047 */ li $a3, 71 +/* 00444E88 92030020 */ lbu $v1, 0x20($s0) +/* 00444E8C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444E90 2404005E */ li $a0, 94 +/* 00444E94 14E3000A */ bne $a3, $v1, .L00444EC0 +/* 00444E98 00000000 */ nop +/* 00444E9C 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00444EA0 02602025 */ move $a0, $s3 +/* 00444EA4 26650004 */ addiu $a1, $s3, 4 +/* 00444EA8 0320F809 */ jalr $t9 +/* 00444EAC 00000000 */ nop +/* 00444EB0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444EB4 8E700000 */ lw $s0, ($s3) +/* 00444EB8 10000059 */ b .L00445020 +/* 00444EBC 8E660004 */ lw $a2, 4($s3) +.L00444EC0: +/* 00444EC0 54830019 */ bnel $a0, $v1, .L00444F28 +/* 00444EC4 8E660004 */ lw $a2, 4($s3) +/* 00444EC8 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00444ECC 02008825 */ move $s1, $s0 +/* 00444ED0 8E040000 */ lw $a0, ($s0) +/* 00444ED4 0320F809 */ jalr $t9 +/* 00444ED8 00000000 */ nop +/* 00444EDC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444EE0 AE620000 */ sw $v0, ($s3) +/* 00444EE4 02202025 */ move $a0, $s1 +/* 00444EE8 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444EEC 0320F809 */ jalr $t9 +/* 00444EF0 00000000 */ nop +/* 00444EF4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444EF8 02602025 */ move $a0, $s3 +/* 00444EFC 26650004 */ addiu $a1, $s3, 4 +/* 00444F00 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00444F04 0320F809 */ jalr $t9 +/* 00444F08 00000000 */ nop +/* 00444F0C 240F007D */ li $t7, 125 +/* 00444F10 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444F14 A26F0020 */ sb $t7, 0x20($s3) +/* 00444F18 8E700000 */ lw $s0, ($s3) +/* 00444F1C 10000040 */ b .L00445020 +/* 00444F20 8E660004 */ lw $a2, 4($s3) +/* 00444F24 8E660004 */ lw $a2, 4($s3) +.L00444F28: +/* 00444F28 90C20020 */ lbu $v0, 0x20($a2) +/* 00444F2C 54820013 */ bnel $a0, $v0, .L00444F7C +/* 00444F30 96180014 */ lhu $t8, 0x14($s0) +/* 00444F34 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00444F38 00C08825 */ move $s1, $a2 +/* 00444F3C 8CC40000 */ lw $a0, ($a2) +/* 00444F40 0320F809 */ jalr $t9 +/* 00444F44 00000000 */ nop +/* 00444F48 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444F4C AE620004 */ sw $v0, 4($s3) +/* 00444F50 02202025 */ move $a0, $s1 +/* 00444F54 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00444F58 0320F809 */ jalr $t9 +/* 00444F5C 00000000 */ nop +/* 00444F60 2419007D */ li $t9, 125 +/* 00444F64 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444F68 A2790020 */ sb $t9, 0x20($s3) +/* 00444F6C 8E700000 */ lw $s0, ($s3) +/* 00444F70 1000002B */ b .L00445020 +/* 00444F74 8E660004 */ lw $a2, 4($s3) +/* 00444F78 96180014 */ lhu $t8, 0x14($s0) +.L00444F7C: +/* 00444F7C 240B0001 */ li $t3, 1 +/* 00444F80 55780011 */ bnel $t3, $t8, .L00444FC8 +/* 00444F84 94CF0014 */ lhu $t7, 0x14($a2) +/* 00444F88 5563000F */ bnel $t3, $v1, .L00444FC8 +/* 00444F8C 94CF0014 */ lhu $t7, 0x14($a2) +/* 00444F90 8E0D0004 */ lw $t5, 4($s0) +/* 00444F94 91AE0020 */ lbu $t6, 0x20($t5) +/* 00444F98 54EE000B */ bnel $a3, $t6, .L00444FC8 +/* 00444F9C 94CF0014 */ lhu $t7, 0x14($a2) +/* 00444FA0 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00444FA4 26640004 */ addiu $a0, $s3, 4 +/* 00444FA8 26050004 */ addiu $a1, $s0, 4 +/* 00444FAC 0320F809 */ jalr $t9 +/* 00444FB0 00000000 */ nop +/* 00444FB4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00444FB8 8E700000 */ lw $s0, ($s3) +/* 00444FBC 10000018 */ b .L00445020 +/* 00444FC0 8E660004 */ lw $a2, 4($s3) +/* 00444FC4 94CF0014 */ lhu $t7, 0x14($a2) +.L00444FC8: +/* 00444FC8 556F0016 */ bnel $t3, $t7, .L00445024 +/* 00444FCC 92030016 */ lbu $v1, 0x16($s0) +/* 00444FD0 55620014 */ bnel $t3, $v0, .L00445024 +/* 00444FD4 92030016 */ lbu $v1, 0x16($s0) +/* 00444FD8 8CD90004 */ lw $t9, 4($a2) +/* 00444FDC 93380020 */ lbu $t8, 0x20($t9) +/* 00444FE0 54F80010 */ bnel $a3, $t8, .L00445024 +/* 00444FE4 92030016 */ lbu $v1, 0x16($s0) +/* 00444FE8 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00444FEC 02602025 */ move $a0, $s3 +/* 00444FF0 24C50004 */ addiu $a1, $a2, 4 +/* 00444FF4 0320F809 */ jalr $t9 +/* 00444FF8 00000000 */ nop +/* 00444FFC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445000 02602025 */ move $a0, $s3 +/* 00445004 26650004 */ addiu $a1, $s3, 4 +/* 00445008 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 0044500C 0320F809 */ jalr $t9 +/* 00445010 00000000 */ nop +/* 00445014 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445018 8E700000 */ lw $s0, ($s3) +/* 0044501C 8E660004 */ lw $a2, 4($s3) +.L00445020: +/* 00445020 92030016 */ lbu $v1, 0x16($s0) +.L00445024: +/* 00445024 90C20016 */ lbu $v0, 0x16($a2) +/* 00445028 246D0001 */ addiu $t5, $v1, 1 +/* 0044502C 14430003 */ bne $v0, $v1, .L0044503C +/* 00445030 0062082B */ sltu $at, $v1, $v0 +/* 00445034 10000005 */ b .L0044504C +/* 00445038 A26D0016 */ sb $t5, 0x16($s3) +.L0044503C: +/* 0044503C 10200002 */ beqz $at, .L00445048 +/* 00445040 00607025 */ move $t6, $v1 +/* 00445044 00407025 */ move $t6, $v0 +.L00445048: +/* 00445048 A26E0016 */ sb $t6, 0x16($s3) +.L0044504C: +/* 0044504C 1000046C */ b .L00446200 +/* 00445050 92640020 */ lbu $a0, 0x20($s3) +.L00445054: +/* 00445054 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445058 8E640000 */ lw $a0, ($s3) +/* 0044505C 0320F809 */ jalr $t9 +/* 00445060 00000000 */ nop +/* 00445064 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445068 240F0004 */ li $t7, 4 +/* 0044506C AE620000 */ sw $v0, ($s3) +/* 00445070 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00445074 A26F0020 */ sb $t7, 0x20($s3) +/* 00445078 24040008 */ li $a0, 8 +/* 0044507C 00002825 */ move $a1, $zero +/* 00445080 0320F809 */ jalr $t9 +/* 00445084 24060001 */ li $a2, 1 +/* 00445088 8E790000 */ lw $t9, ($s3) +/* 0044508C AE620004 */ sw $v0, 4($s3) +/* 00445090 90580016 */ lbu $t8, 0x16($v0) +/* 00445094 93230016 */ lbu $v1, 0x16($t9) +/* 00445098 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044509C 17030003 */ bne $t8, $v1, .L004450AC +/* 004450A0 246D0001 */ addiu $t5, $v1, 1 +/* 004450A4 10000008 */ b .L004450C8 +/* 004450A8 A26D0016 */ sb $t5, 0x16($s3) +.L004450AC: +/* 004450AC 8E6E0004 */ lw $t6, 4($s3) +/* 004450B0 91CF0016 */ lbu $t7, 0x16($t6) +/* 004450B4 01E3082B */ sltu $at, $t7, $v1 +/* 004450B8 50200003 */ beql $at, $zero, .L004450C8 +/* 004450BC A26F0016 */ sb $t7, 0x16($s3) +/* 004450C0 00607825 */ move $t7, $v1 +/* 004450C4 A26F0016 */ sb $t7, 0x16($s3) +.L004450C8: +/* 004450C8 1000044D */ b .L00446200 +/* 004450CC 92640020 */ lbu $a0, 0x20($s3) +.L004450D0: +/* 004450D0 8E790028 */ lw $t9, 0x28($s3) +/* 004450D4 24180005 */ li $t8, 5 +/* 004450D8 033802B0 */ tge $t9, $t8, 0xa +/* 004450DC 926D0021 */ lbu $t5, 0x21($s3) +/* 004450E0 A2680020 */ sb $t0, 0x20($s3) +/* 004450E4 92630019 */ lbu $v1, 0x19($s3) +/* 004450E8 01B47024 */ and $t6, $t5, $s4 +/* 004450EC 35CF0008 */ ori $t7, $t6, 8 +/* 004450F0 1000F8B5 */ b .L004433C8 +/* 004450F4 A26F0021 */ sb $t7, 0x21($s3) +.L004450F8: +/* 004450F8 8E790028 */ lw $t9, 0x28($s3) +/* 004450FC 24180005 */ li $t8, 5 +/* 00445100 033802B0 */ tge $t9, $t8, 0xa +/* 00445104 926D0021 */ lbu $t5, 0x21($s3) +/* 00445108 A2670020 */ sb $a3, 0x20($s3) +/* 0044510C 92630019 */ lbu $v1, 0x19($s3) +/* 00445110 01B47024 */ and $t6, $t5, $s4 +/* 00445114 35CF0008 */ ori $t7, $t6, 8 +/* 00445118 1000F8AB */ b .L004433C8 +/* 0044511C A26F0021 */ sb $t7, 0x21($s3) +.L00445120: +/* 00445120 8E790028 */ lw $t9, 0x28($s3) +/* 00445124 24180005 */ li $t8, 5 +/* 00445128 24040061 */ li $a0, 97 +/* 0044512C 033802B0 */ tge $t9, $t8, 0xa +/* 00445130 926D0021 */ lbu $t5, 0x21($s3) +/* 00445134 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00445138 A2670020 */ sb $a3, 0x20($s3) +/* 0044513C 01B47024 */ and $t6, $t5, $s4 +/* 00445140 35CF0008 */ ori $t7, $t6, 8 +/* 00445144 A26F0021 */ sb $t7, 0x21($s3) +/* 00445148 0320F809 */ jalr $t9 +/* 0044514C 8E650004 */ lw $a1, 4($s3) +/* 00445150 AE620004 */ sw $v0, 4($s3) +/* 00445154 90590021 */ lbu $t9, 0x21($v0) +/* 00445158 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044515C 0334C024 */ and $t8, $t9, $s4 +/* 00445160 370D0008 */ ori $t5, $t8, 8 +/* 00445164 A04D0021 */ sb $t5, 0x21($v0) +/* 00445168 1000F897 */ b .L004433C8 +/* 0044516C 92630019 */ lbu $v1, 0x19($s3) +.L00445170: +/* 00445170 8E6E0028 */ lw $t6, 0x28($s3) +/* 00445174 240F0005 */ li $t7, 5 +/* 00445178 24040008 */ li $a0, 8 +/* 0044517C 01CF02B0 */ tge $t6, $t7, 0xa +/* 00445180 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 00445184 24180073 */ li $t8, 115 +/* 00445188 00002825 */ move $a1, $zero +/* 0044518C 93390000 */ lbu $t9, ($t9) +/* 00445190 5320001D */ beql $t9, $zero, .L00445208 +/* 00445194 24190074 */ li $t9, 116 +/* 00445198 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044519C 8E640000 */ lw $a0, ($s3) +/* 004451A0 A2780020 */ sb $t8, 0x20($s3) +/* 004451A4 0320F809 */ jalr $t9 +/* 004451A8 AE640004 */ sw $a0, 4($s3) +/* 004451AC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004451B0 8E660028 */ lw $a2, 0x28($s3) +/* 004451B4 00408025 */ move $s0, $v0 +/* 004451B8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004451BC 24040008 */ li $a0, 8 +/* 004451C0 00002825 */ move $a1, $zero +/* 004451C4 0320F809 */ jalr $t9 +/* 004451C8 00063140 */ sll $a2, $a2, 5 +/* 004451CC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004451D0 2404004E */ li $a0, 78 +/* 004451D4 02002825 */ move $a1, $s0 +/* 004451D8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004451DC 00403025 */ move $a2, $v0 +/* 004451E0 0320F809 */ jalr $t9 +/* 004451E4 00000000 */ nop +/* 004451E8 AE620000 */ sw $v0, ($s3) +/* 004451EC 904D0021 */ lbu $t5, 0x21($v0) +/* 004451F0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004451F4 01B47024 */ and $t6, $t5, $s4 +/* 004451F8 35CF0008 */ ori $t7, $t6, 8 +/* 004451FC 1000000A */ b .L00445228 +/* 00445200 A04F0021 */ sb $t7, 0x21($v0) +/* 00445204 24190074 */ li $t9, 116 +.L00445208: +/* 00445208 A2790020 */ sb $t9, 0x20($s3) +/* 0044520C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00445210 8E780000 */ lw $t8, ($s3) +/* 00445214 3C068000 */ lui $a2, 0x8000 +/* 00445218 0320F809 */ jalr $t9 +/* 0044521C AE780004 */ sw $t8, 4($s3) +/* 00445220 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445224 AE620000 */ sw $v0, ($s3) +.L00445228: +/* 00445228 926D0021 */ lbu $t5, 0x21($s3) +/* 0044522C 92630019 */ lbu $v1, 0x19($s3) +/* 00445230 01B47024 */ and $t6, $t5, $s4 +/* 00445234 35CF0008 */ ori $t7, $t6, 8 +/* 00445238 1000F863 */ b .L004433C8 +/* 0044523C A26F0021 */ sb $t7, 0x21($s3) +.L00445240: +/* 00445240 8E790028 */ lw $t9, 0x28($s3) +/* 00445244 24180005 */ li $t8, 5 +/* 00445248 033802B0 */ tge $t9, $t8, 0xa +/* 0044524C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445250 8E640000 */ lw $a0, ($s3) +/* 00445254 0320F809 */ jalr $t9 +/* 00445258 00000000 */ nop +/* 0044525C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445260 00408825 */ move $s1, $v0 +/* 00445264 8E640004 */ lw $a0, 4($s3) +/* 00445268 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044526C 0320F809 */ jalr $t9 +/* 00445270 00000000 */ nop +/* 00445274 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445278 00408025 */ move $s0, $v0 +/* 0044527C 02602025 */ move $a0, $s3 +/* 00445280 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445284 0320F809 */ jalr $t9 +/* 00445288 00000000 */ nop +/* 0044528C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445290 24040006 */ li $a0, 6 +/* 00445294 00002825 */ move $a1, $zero +/* 00445298 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044529C 24060001 */ li $a2, 1 +/* 004452A0 0320F809 */ jalr $t9 +/* 004452A4 00000000 */ nop +/* 004452A8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004452AC 24040001 */ li $a0, 1 +/* 004452B0 02002825 */ move $a1, $s0 +/* 004452B4 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004452B8 00403025 */ move $a2, $v0 +/* 004452BC 0320F809 */ jalr $t9 +/* 004452C0 00000000 */ nop +/* 004452C4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004452C8 A4400022 */ sh $zero, 0x22($v0) +/* 004452CC 2404007D */ li $a0, 125 +/* 004452D0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004452D4 02202825 */ move $a1, $s1 +/* 004452D8 00403025 */ move $a2, $v0 +/* 004452DC 0320F809 */ jalr $t9 +/* 004452E0 00000000 */ nop +/* 004452E4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004452E8 A4400022 */ sh $zero, 0x22($v0) +/* 004452EC 00408025 */ move $s0, $v0 +/* 004452F0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004452F4 24040008 */ li $a0, 8 +/* 004452F8 00002825 */ move $a1, $zero +/* 004452FC 0320F809 */ jalr $t9 +/* 00445300 2406001F */ li $a2, 31 +/* 00445304 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445308 24040074 */ li $a0, 116 +/* 0044530C 02002825 */ move $a1, $s0 +/* 00445310 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00445314 00403025 */ move $a2, $v0 +/* 00445318 0320F809 */ jalr $t9 +/* 0044531C 00000000 */ nop +/* 00445320 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445324 904D0021 */ lbu $t5, 0x21($v0) +/* 00445328 00409825 */ move $s3, $v0 +/* 0044532C 8F99898C */ lw $t9, %got(lsb_first)($gp) +/* 00445330 01B47024 */ and $t6, $t5, $s4 +/* 00445334 35CF0006 */ ori $t7, $t6, 6 +/* 00445338 A04F0021 */ sb $t7, 0x21($v0) +/* 0044533C 93390000 */ lbu $t9, ($t9) +/* 00445340 13200024 */ beqz $t9, .L004453D4 +/* 00445344 00000000 */ nop +/* 00445348 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044534C 02002025 */ move $a0, $s0 +/* 00445350 0320F809 */ jalr $t9 +/* 00445354 00000000 */ nop +/* 00445358 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044535C 24040074 */ li $a0, 116 +/* 00445360 02602825 */ move $a1, $s3 +/* 00445364 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00445368 00403025 */ move $a2, $v0 +/* 0044536C 0320F809 */ jalr $t9 +/* 00445370 00000000 */ nop +/* 00445374 90580021 */ lbu $t8, 0x21($v0) +/* 00445378 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044537C 00409825 */ move $s3, $v0 +/* 00445380 03146824 */ and $t5, $t8, $s4 +/* 00445384 35AE0008 */ ori $t6, $t5, 8 +/* 00445388 A04E0021 */ sb $t6, 0x21($v0) +/* 0044538C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445390 02202025 */ move $a0, $s1 +/* 00445394 0320F809 */ jalr $t9 +/* 00445398 00000000 */ nop +/* 0044539C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004453A0 24040073 */ li $a0, 115 +/* 004453A4 02602825 */ move $a1, $s3 +/* 004453A8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004453AC 00403025 */ move $a2, $v0 +/* 004453B0 0320F809 */ jalr $t9 +/* 004453B4 00000000 */ nop +/* 004453B8 904F0021 */ lbu $t7, 0x21($v0) +/* 004453BC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004453C0 00409825 */ move $s3, $v0 +/* 004453C4 01F4C824 */ and $t9, $t7, $s4 +/* 004453C8 37380008 */ ori $t8, $t9, 8 +/* 004453CC 10000023 */ b .L0044545C +/* 004453D0 A0580021 */ sb $t8, 0x21($v0) +.L004453D4: +/* 004453D4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004453D8 02002025 */ move $a0, $s0 +/* 004453DC 0320F809 */ jalr $t9 +/* 004453E0 00000000 */ nop +/* 004453E4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004453E8 24040073 */ li $a0, 115 +/* 004453EC 02602825 */ move $a1, $s3 +/* 004453F0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004453F4 00403025 */ move $a2, $v0 +/* 004453F8 0320F809 */ jalr $t9 +/* 004453FC 00000000 */ nop +/* 00445400 904D0021 */ lbu $t5, 0x21($v0) +/* 00445404 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445408 00409825 */ move $s3, $v0 +/* 0044540C 01B47024 */ and $t6, $t5, $s4 +/* 00445410 35CF0008 */ ori $t7, $t6, 8 +/* 00445414 A04F0021 */ sb $t7, 0x21($v0) +/* 00445418 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 0044541C 02202025 */ move $a0, $s1 +/* 00445420 0320F809 */ jalr $t9 +/* 00445424 00000000 */ nop +/* 00445428 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044542C 24040074 */ li $a0, 116 +/* 00445430 02602825 */ move $a1, $s3 +/* 00445434 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00445438 00403025 */ move $a2, $v0 +/* 0044543C 0320F809 */ jalr $t9 +/* 00445440 00000000 */ nop +/* 00445444 90590021 */ lbu $t9, 0x21($v0) +/* 00445448 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044544C 00409825 */ move $s3, $v0 +/* 00445450 0334C024 */ and $t8, $t9, $s4 +/* 00445454 370D0008 */ ori $t5, $t8, 8 +/* 00445458 A04D0021 */ sb $t5, 0x21($v0) +.L0044545C: +/* 0044545C 1000F7DA */ b .L004433C8 +/* 00445460 92630019 */ lbu $v1, 0x19($s3) +.L00445464: +/* 00445464 8E710004 */ lw $s1, 4($s3) +/* 00445468 AFA000F4 */ sw $zero, 0xf4($sp) +/* 0044546C 8E2E0028 */ lw $t6, 0x28($s1) +/* 00445470 29C10005 */ slti $at, $t6, 5 +/* 00445474 1020001B */ beqz $at, .L004454E4 +/* 00445478 00000000 */ nop +/* 0044547C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445480 8E640000 */ lw $a0, ($s3) +/* 00445484 0320F809 */ jalr $t9 +/* 00445488 00000000 */ nop +/* 0044548C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445490 8E660028 */ lw $a2, 0x28($s3) +/* 00445494 00408025 */ move $s0, $v0 +/* 00445498 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044549C 24040008 */ li $a0, 8 +/* 004454A0 00002825 */ move $a1, $zero +/* 004454A4 0320F809 */ jalr $t9 +/* 004454A8 000630C0 */ sll $a2, $a2, 3 +/* 004454AC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004454B0 2404004E */ li $a0, 78 +/* 004454B4 02002825 */ move $a1, $s0 +/* 004454B8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004454BC 00403025 */ move $a2, $v0 +/* 004454C0 0320F809 */ jalr $t9 +/* 004454C4 00000000 */ nop +/* 004454C8 904F0021 */ lbu $t7, 0x21($v0) +/* 004454CC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004454D0 00409025 */ move $s2, $v0 +/* 004454D4 01F4C824 */ and $t9, $t7, $s4 +/* 004454D8 37380008 */ ori $t8, $t9, 8 +/* 004454DC 10000060 */ b .L00445660 +/* 004454E0 A0580021 */ sb $t8, 0x21($v0) +.L004454E4: +/* 004454E4 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004454E8 24040008 */ li $a0, 8 +/* 004454EC 00002825 */ move $a1, $zero +/* 004454F0 0320F809 */ jalr $t9 +/* 004454F4 24060001 */ li $a2, 1 +/* 004454F8 8E700000 */ lw $s0, ($s3) +/* 004454FC 24010049 */ li $at, 73 +/* 00445500 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445504 920D0020 */ lbu $t5, 0x20($s0) +/* 00445508 00409025 */ move $s2, $v0 +/* 0044550C 02202025 */ move $a0, $s1 +/* 00445510 15A10012 */ bne $t5, $at, .L0044555C +/* 00445514 00000000 */ nop +/* 00445518 8E070030 */ lw $a3, 0x30($s0) +/* 0044551C 8F9985E8 */ lw $t9, %call16(set_rewrite)($gp) +/* 00445520 24060020 */ li $a2, 32 +/* 00445524 04E10003 */ bgez $a3, .L00445534 +/* 00445528 00072943 */ sra $a1, $a3, 5 +/* 0044552C 24E1001F */ addiu $at, $a3, 0x1f +/* 00445530 00012943 */ sra $a1, $at, 5 +.L00445534: +/* 00445534 0320F809 */ jalr $t9 +/* 00445538 00052940 */ sll $a1, $a1, 5 +/* 0044553C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445540 AE620004 */ sw $v0, 4($s3) +/* 00445544 02202025 */ move $a0, $s1 +/* 00445548 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 0044554C 0320F809 */ jalr $t9 +/* 00445550 00000000 */ nop +/* 00445554 10000042 */ b .L00445660 +/* 00445558 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0044555C: +/* 0044555C 8F998630 */ lw $t9, %call16(build_ucond0)($gp) +/* 00445560 8E250028 */ lw $a1, 0x28($s1) +/* 00445564 02002025 */ move $a0, $s0 +/* 00445568 0320F809 */ jalr $t9 +/* 0044556C 000528C0 */ sll $a1, $a1, 3 +/* 00445570 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445574 AFA200F4 */ sw $v0, 0xf4($sp) +/* 00445578 02002025 */ move $a0, $s0 +/* 0044557C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445580 0320F809 */ jalr $t9 +/* 00445584 00000000 */ nop +/* 00445588 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044558C 00408025 */ move $s0, $v0 +/* 00445590 24040008 */ li $a0, 8 +/* 00445594 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00445598 00002825 */ move $a1, $zero +/* 0044559C 24060005 */ li $a2, 5 +/* 004455A0 0320F809 */ jalr $t9 +/* 004455A4 00000000 */ nop +/* 004455A8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004455AC 24040074 */ li $a0, 116 +/* 004455B0 02002825 */ move $a1, $s0 +/* 004455B4 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004455B8 00403025 */ move $a2, $v0 +/* 004455BC 0320F809 */ jalr $t9 +/* 004455C0 00000000 */ nop +/* 004455C4 904E0021 */ lbu $t6, 0x21($v0) +/* 004455C8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004455CC 00408025 */ move $s0, $v0 +/* 004455D0 01D47824 */ and $t7, $t6, $s4 +/* 004455D4 35F90006 */ ori $t9, $t7, 6 +/* 004455D8 A0590021 */ sb $t9, 0x21($v0) +/* 004455DC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004455E0 24040008 */ li $a0, 8 +/* 004455E4 00002825 */ move $a1, $zero +/* 004455E8 0320F809 */ jalr $t9 +/* 004455EC 24060004 */ li $a2, 4 +/* 004455F0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004455F4 2404005B */ li $a0, 91 +/* 004455F8 02002825 */ move $a1, $s0 +/* 004455FC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00445600 00403025 */ move $a2, $v0 +/* 00445604 0320F809 */ jalr $t9 +/* 00445608 00000000 */ nop +/* 0044560C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445610 A4400022 */ sh $zero, 0x22($v0) +/* 00445614 00408025 */ move $s0, $v0 +/* 00445618 8F9985EC */ lw $t9, %call16(set_rewrite_indexed)($gp) +/* 0044561C 02202025 */ move $a0, $s1 +/* 00445620 00402825 */ move $a1, $v0 +/* 00445624 0320F809 */ jalr $t9 +/* 00445628 24060020 */ li $a2, 32 +/* 0044562C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445630 AE620004 */ sw $v0, 4($s3) +/* 00445634 02002025 */ move $a0, $s0 +/* 00445638 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 0044563C 0320F809 */ jalr $t9 +/* 00445640 00000000 */ nop +/* 00445644 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445648 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 0044564C A0200000 */ sb $zero, ($at) +/* 00445650 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00445654 A0200000 */ sb $zero, ($at) +/* 00445658 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 0044565C AC200000 */ sw $zero, ($at) +.L00445660: +/* 00445660 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00445664 02602025 */ move $a0, $s3 +/* 00445668 26650004 */ addiu $a1, $s3, 4 +/* 0044566C 0320F809 */ jalr $t9 +/* 00445670 00000000 */ nop +/* 00445674 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445678 8F98898C */ lw $t8, %got(lsb_first)($gp) +/* 0044567C 93180000 */ lbu $t8, ($t8) +/* 00445680 53000023 */ beql $t8, $zero, .L00445710 +/* 00445684 926D0019 */ lbu $t5, 0x19($s3) +/* 00445688 8E6D0000 */ lw $t5, ($s3) +/* 0044568C 24040008 */ li $a0, 8 +/* 00445690 8DA20028 */ lw $v0, 0x28($t5) +/* 00445694 28410004 */ slti $at, $v0, 4 +/* 00445698 50200010 */ beql $at, $zero, .L004456DC +/* 0044569C 926F0019 */ lbu $t7, 0x19($s3) +/* 004456A0 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004456A4 000230C0 */ sll $a2, $v0, 3 +/* 004456A8 24C6FFFF */ addiu $a2, $a2, -1 +/* 004456AC 0320F809 */ jalr $t9 +/* 004456B0 00002825 */ move $a1, $zero +/* 004456B4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004456B8 24040004 */ li $a0, 4 +/* 004456BC 8E650004 */ lw $a1, 4($s3) +/* 004456C0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004456C4 00403025 */ move $a2, $v0 +/* 004456C8 0320F809 */ jalr $t9 +/* 004456CC 00000000 */ nop +/* 004456D0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004456D4 AE620004 */ sw $v0, 4($s3) +/* 004456D8 926F0019 */ lbu $t7, 0x19($s3) +.L004456DC: +/* 004456DC 240E0074 */ li $t6, 116 +/* 004456E0 A26E0020 */ sb $t6, 0x20($s3) +/* 004456E4 31F9FFFE */ andi $t9, $t7, 0xfffe +/* 004456E8 A2790019 */ sb $t9, 0x19($s3) +/* 004456EC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004456F0 24040004 */ li $a0, 4 +/* 004456F4 02602825 */ move $a1, $s3 +/* 004456F8 0320F809 */ jalr $t9 +/* 004456FC 02403025 */ move $a2, $s2 +/* 00445700 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445704 10000037 */ b .L004457E4 +/* 00445708 00409825 */ move $s3, $v0 +/* 0044570C 926D0019 */ lbu $t5, 0x19($s3) +.L00445710: +/* 00445710 24180073 */ li $t8, 115 +/* 00445714 A2780020 */ sb $t8, 0x20($s3) +/* 00445718 31AEFFFE */ andi $t6, $t5, 0xfffe +/* 0044571C A26E0019 */ sb $t6, 0x19($s3) +/* 00445720 924F0020 */ lbu $t7, 0x20($s2) +/* 00445724 24010049 */ li $at, 73 +/* 00445728 15E10005 */ bne $t7, $at, .L00445740 +/* 0044572C 00000000 */ nop +/* 00445730 8E590030 */ lw $t9, 0x30($s2) +/* 00445734 24010001 */ li $at, 1 +/* 00445738 13210013 */ beq $t9, $at, .L00445788 +/* 0044573C 00000000 */ nop +.L00445740: +/* 00445740 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00445744 2404005E */ li $a0, 94 +/* 00445748 02402825 */ move $a1, $s2 +/* 0044574C 0320F809 */ jalr $t9 +/* 00445750 00000000 */ nop +/* 00445754 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445758 24040004 */ li $a0, 4 +/* 0044575C 8E650000 */ lw $a1, ($s3) +/* 00445760 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00445764 00403025 */ move $a2, $v0 +/* 00445768 0320F809 */ jalr $t9 +/* 0044576C 00000000 */ nop +/* 00445770 AE620000 */ sw $v0, ($s3) +/* 00445774 8C580004 */ lw $t8, 4($v0) +/* 00445778 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044577C 8F0D0000 */ lw $t5, ($t8) +/* 00445780 10000006 */ b .L0044579C +/* 00445784 A5A00022 */ sh $zero, 0x22($t5) +.L00445788: +/* 00445788 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 0044578C 02402025 */ move $a0, $s2 +/* 00445790 0320F809 */ jalr $t9 +/* 00445794 00000000 */ nop +/* 00445798 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0044579C: +/* 0044579C 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 004457A0 24040006 */ li $a0, 6 +/* 004457A4 00002825 */ move $a1, $zero +/* 004457A8 0320F809 */ jalr $t9 +/* 004457AC 00003025 */ move $a2, $zero +/* 004457B0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004457B4 2404004E */ li $a0, 78 +/* 004457B8 02602825 */ move $a1, $s3 +/* 004457BC 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 004457C0 00403025 */ move $a2, $v0 +/* 004457C4 0320F809 */ jalr $t9 +/* 004457C8 00000000 */ nop +/* 004457CC 904E0021 */ lbu $t6, 0x21($v0) +/* 004457D0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004457D4 00409825 */ move $s3, $v0 +/* 004457D8 01D47824 */ and $t7, $t6, $s4 +/* 004457DC 35F90006 */ ori $t9, $t7, 6 +/* 004457E0 A0590021 */ sb $t9, 0x21($v0) +.L004457E4: +/* 004457E4 8FB800F4 */ lw $t8, 0xf4($sp) +/* 004457E8 13000003 */ beqz $t8, .L004457F8 +/* 004457EC 00000000 */ nop +/* 004457F0 AF020004 */ sw $v0, 4($t8) +/* 004457F4 8FB300F4 */ lw $s3, 0xf4($sp) +.L004457F8: +/* 004457F8 1000F6F3 */ b .L004433C8 +/* 004457FC 92630019 */ lbu $v1, 0x19($s3) +.L00445800: +/* 00445800 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 00445804 1000027E */ b .L00446200 +/* 00445808 AE130000 */ sw $s3, ($s0) +.L0044580C: +/* 0044580C 966D0014 */ lhu $t5, 0x14($s3) +/* 00445810 240B0001 */ li $t3, 1 +/* 00445814 016D02B6 */ tne $t3, $t5, 0xa +/* 00445818 926E0021 */ lbu $t6, 0x21($s3) +/* 0044581C 2401000E */ li $at, 14 +/* 00445820 31CF001F */ andi $t7, $t6, 0x1f +/* 00445824 55E1000C */ bnel $t7, $at, .L00445858 +/* 00445828 240A007B */ li $t2, 123 +/* 0044582C 8E790028 */ lw $t9, 0x28($s3) +/* 00445830 2B210005 */ slti $at, $t9, 5 +/* 00445834 54200008 */ bnel $at, $zero, .L00445858 +/* 00445838 240A007B */ li $t2, 123 +/* 0044583C 8F9985DC */ lw $t9, %call16(gen_set_str)($gp) +/* 00445840 02602025 */ move $a0, $s3 +/* 00445844 0320F809 */ jalr $t9 +/* 00445848 00000000 */ nop +/* 0044584C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445850 92640020 */ lbu $a0, 0x20($s3) +/* 00445854 240A007B */ li $t2, 123 +.L00445858: +/* 00445858 55440010 */ bnel $t2, $a0, .L0044589C +/* 0044585C 8E620028 */ lw $v0, 0x28($s3) +/* 00445860 92780021 */ lbu $t8, 0x21($s3) +/* 00445864 24120002 */ li $s2, 2 +/* 00445868 00186E00 */ sll $t5, $t8, 0x18 +/* 0044586C 000D7742 */ srl $t6, $t5, 0x1d +/* 00445870 164E0004 */ bne $s2, $t6, .L00445884 +/* 00445874 00000000 */ nop +/* 00445878 8E6F0024 */ lw $t7, 0x24($s3) +/* 0044587C 51E00007 */ beql $t7, $zero, .L0044589C +/* 00445880 8E620028 */ lw $v0, 0x28($s3) +.L00445884: +/* 00445884 8F998610 */ lw $t9, %call16(check_reg)($gp) +/* 00445888 02602025 */ move $a0, $s3 +/* 0044588C 0320F809 */ jalr $t9 +/* 00445890 00000000 */ nop +/* 00445894 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445898 8E620028 */ lw $v0, 0x28($s3) +.L0044589C: +/* 0044589C 28410005 */ slti $at, $v0, 5 +/* 004458A0 10200020 */ beqz $at, .L00445924 +/* 004458A4 00000000 */ nop +/* 004458A8 8E700000 */ lw $s0, ($s3) +/* 004458AC 24010019 */ li $at, 25 +/* 004458B0 92190020 */ lbu $t9, 0x20($s0) +/* 004458B4 1721001B */ bne $t9, $at, .L00445924 +/* 004458B8 00000000 */ nop +/* 004458BC 8E180024 */ lw $t8, 0x24($s0) +/* 004458C0 000268C0 */ sll $t5, $v0, 3 +/* 004458C4 170D0017 */ bne $t8, $t5, .L00445924 +/* 004458C8 00000000 */ nop +/* 004458CC 960E0022 */ lhu $t6, 0x22($s0) +/* 004458D0 31CF0002 */ andi $t7, $t6, 2 +/* 004458D4 15E00013 */ bnez $t7, .L00445924 +/* 004458D8 00000000 */ nop +/* 004458DC 92790021 */ lbu $t9, 0x21($s3) +/* 004458E0 24010003 */ li $at, 3 +/* 004458E4 0019C600 */ sll $t8, $t9, 0x18 +/* 004458E8 00186F42 */ srl $t5, $t8, 0x1d +/* 004458EC 11A1000D */ beq $t5, $at, .L00445924 +/* 004458F0 00000000 */ nop +/* 004458F4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 004458F8 02008825 */ move $s1, $s0 +/* 004458FC 8E040000 */ lw $a0, ($s0) +/* 00445900 0320F809 */ jalr $t9 +/* 00445904 00000000 */ nop +/* 00445908 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 0044590C AE620000 */ sw $v0, ($s3) +/* 00445910 02202025 */ move $a0, $s1 +/* 00445914 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445918 0320F809 */ jalr $t9 +/* 0044591C 00000000 */ nop +/* 00445920 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00445924: +/* 00445924 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445928 8E640000 */ lw $a0, ($s3) +/* 0044592C 0320F809 */ jalr $t9 +/* 00445930 90910020 */ lbu $s1, 0x20($a0) +/* 00445934 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445938 AE620000 */ sw $v0, ($s3) +/* 0044593C 24010003 */ li $at, 3 +/* 00445940 8F8E89A4 */ lw $t6, %got(source_language)($gp) +/* 00445944 240A007B */ li $t2, 123 +/* 00445948 8DCE0000 */ lw $t6, ($t6) +/* 0044594C 55C10026 */ bnel $t6, $at, .L004459E8 +/* 00445950 92640020 */ lbu $a0, 0x20($s3) +/* 00445954 8E6F0028 */ lw $t7, 0x28($s3) +/* 00445958 29E10004 */ slti $at, $t7, 4 +/* 0044595C 10200021 */ beqz $at, .L004459E4 +/* 00445960 24010019 */ li $at, 25 +/* 00445964 52210020 */ beql $s1, $at, .L004459E8 +/* 00445968 92640020 */ lbu $a0, 0x20($s3) +/* 0044596C 92790021 */ lbu $t9, 0x21($s3) +/* 00445970 24010003 */ li $at, 3 +/* 00445974 0019C600 */ sll $t8, $t9, 0x18 +/* 00445978 00186F42 */ srl $t5, $t8, 0x1d +/* 0044597C 55A1001A */ bnel $t5, $at, .L004459E8 +/* 00445980 92640020 */ lbu $a0, 0x20($s3) +/* 00445984 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 00445988 24040019 */ li $a0, 25 +/* 0044598C 00402825 */ move $a1, $v0 +/* 00445990 0320F809 */ jalr $t9 +/* 00445994 00000000 */ nop +/* 00445998 8E6E0028 */ lw $t6, 0x28($s3) +/* 0044599C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004459A0 90430021 */ lbu $v1, 0x21($v0) +/* 004459A4 000E78C0 */ sll $t7, $t6, 3 +/* 004459A8 AC4F0024 */ sw $t7, 0x24($v0) +/* 004459AC 92780021 */ lbu $t8, 0x21($s3) +/* 004459B0 00036EC0 */ sll $t5, $v1, 0x1b +/* 004459B4 000D76C2 */ srl $t6, $t5, 0x1b +/* 004459B8 030E7826 */ xor $t7, $t8, $t6 +/* 004459BC 31F9001F */ andi $t9, $t7, 0x1f +/* 004459C0 03236826 */ xor $t5, $t9, $v1 +/* 004459C4 A04D0021 */ sb $t5, 0x21($v0) +/* 004459C8 8F998628 */ lw $t9, %call16(translate_cvtl)($gp) +/* 004459CC 00402025 */ move $a0, $v0 +/* 004459D0 0320F809 */ jalr $t9 +/* 004459D4 00000000 */ nop +/* 004459D8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004459DC 240A007B */ li $t2, 123 +/* 004459E0 AE620000 */ sw $v0, ($s3) +.L004459E4: +/* 004459E4 92640020 */ lbu $a0, 0x20($s3) +.L004459E8: +/* 004459E8 15440205 */ bne $t2, $a0, .L00446200 +/* 004459EC 00000000 */ nop +/* 004459F0 8F998620 */ lw $t9, %call16(add_store)($gp) +/* 004459F4 02602025 */ move $a0, $s3 +/* 004459F8 0320F809 */ jalr $t9 +/* 004459FC 00000000 */ nop +/* 00445A00 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445A04 8F898B28 */ lw $t1, %got(expr_count)($gp) +/* 00445A08 91290000 */ lbu $t1, ($t1) +/* 00445A0C 19200049 */ blez $t1, .L00445B34 +/* 00445A10 25290001 */ addiu $t1, $t1, 1 +/* 00445A14 2522FFFF */ addiu $v0, $t1, -1 +/* 00445A18 30420003 */ andi $v0, $v0, 3 +/* 00445A1C 10400016 */ beqz $v0, .L00445A78 +/* 00445A20 24070001 */ li $a3, 1 +/* 00445A24 8F8E8BAC */ lw $t6, %got(exprs)($gp) +/* 00445A28 0007C080 */ sll $t8, $a3, 2 +/* 00445A2C 24480001 */ addiu $t0, $v0, 1 +/* 00445A30 25CEFFFC */ addiu $t6, $t6, -4 +/* 00445A34 030E2021 */ addu $a0, $t8, $t6 +/* 00445A38 24060036 */ li $a2, 54 +/* 00445A3C 2405003F */ li $a1, 63 +.L00445A40: +/* 00445A40 8C820000 */ lw $v0, ($a0) +/* 00445A44 24E70001 */ addiu $a3, $a3, 1 +/* 00445A48 10400007 */ beqz $v0, .L00445A68 +/* 00445A4C 00000000 */ nop +/* 00445A50 90430020 */ lbu $v1, 0x20($v0) +/* 00445A54 50C30004 */ beql $a2, $v1, .L00445A68 +/* 00445A58 AC800000 */ sw $zero, ($a0) +/* 00445A5C 14A30002 */ bne $a1, $v1, .L00445A68 +/* 00445A60 00000000 */ nop +/* 00445A64 AC800000 */ sw $zero, ($a0) +.L00445A68: +/* 00445A68 1507FFF5 */ bne $t0, $a3, .L00445A40 +/* 00445A6C 24840004 */ addiu $a0, $a0, 4 +/* 00445A70 10E90030 */ beq $a3, $t1, .L00445B34 +/* 00445A74 00000000 */ nop +.L00445A78: +/* 00445A78 8F998BAC */ lw $t9, %got(exprs)($gp) +/* 00445A7C 00077880 */ sll $t7, $a3, 2 +/* 00445A80 00096880 */ sll $t5, $t1, 2 +/* 00445A84 2739FFFC */ addiu $t9, $t9, -4 +/* 00445A88 01F92021 */ addu $a0, $t7, $t9 +/* 00445A8C 01B94021 */ addu $t0, $t5, $t9 +/* 00445A90 2405003F */ li $a1, 63 +/* 00445A94 24060036 */ li $a2, 54 +/* 00445A98 8C820000 */ lw $v0, ($a0) +.L00445A9C: +/* 00445A9C 50400008 */ beql $v0, $zero, .L00445AC0 +/* 00445AA0 8C820004 */ lw $v0, 4($a0) +/* 00445AA4 90430020 */ lbu $v1, 0x20($v0) +/* 00445AA8 50C30004 */ beql $a2, $v1, .L00445ABC +/* 00445AAC AC800000 */ sw $zero, ($a0) +/* 00445AB0 54A30003 */ bnel $a1, $v1, .L00445AC0 +/* 00445AB4 8C820004 */ lw $v0, 4($a0) +/* 00445AB8 AC800000 */ sw $zero, ($a0) +.L00445ABC: +/* 00445ABC 8C820004 */ lw $v0, 4($a0) +.L00445AC0: +/* 00445AC0 50400008 */ beql $v0, $zero, .L00445AE4 +/* 00445AC4 8C820008 */ lw $v0, 8($a0) +/* 00445AC8 90430020 */ lbu $v1, 0x20($v0) +/* 00445ACC 50C30004 */ beql $a2, $v1, .L00445AE0 +/* 00445AD0 AC800004 */ sw $zero, 4($a0) +/* 00445AD4 54A30003 */ bnel $a1, $v1, .L00445AE4 +/* 00445AD8 8C820008 */ lw $v0, 8($a0) +/* 00445ADC AC800004 */ sw $zero, 4($a0) +.L00445AE0: +/* 00445AE0 8C820008 */ lw $v0, 8($a0) +.L00445AE4: +/* 00445AE4 50400008 */ beql $v0, $zero, .L00445B08 +/* 00445AE8 8C82000C */ lw $v0, 0xc($a0) +/* 00445AEC 90430020 */ lbu $v1, 0x20($v0) +/* 00445AF0 50C30004 */ beql $a2, $v1, .L00445B04 +/* 00445AF4 AC800008 */ sw $zero, 8($a0) +/* 00445AF8 54A30003 */ bnel $a1, $v1, .L00445B08 +/* 00445AFC 8C82000C */ lw $v0, 0xc($a0) +/* 00445B00 AC800008 */ sw $zero, 8($a0) +.L00445B04: +/* 00445B04 8C82000C */ lw $v0, 0xc($a0) +.L00445B08: +/* 00445B08 50400008 */ beql $v0, $zero, .L00445B2C +/* 00445B0C 24840010 */ addiu $a0, $a0, 0x10 +/* 00445B10 90430020 */ lbu $v1, 0x20($v0) +/* 00445B14 50C30004 */ beql $a2, $v1, .L00445B28 +/* 00445B18 AC80000C */ sw $zero, 0xc($a0) +/* 00445B1C 54A30003 */ bnel $a1, $v1, .L00445B2C +/* 00445B20 24840010 */ addiu $a0, $a0, 0x10 +/* 00445B24 AC80000C */ sw $zero, 0xc($a0) +.L00445B28: +/* 00445B28 24840010 */ addiu $a0, $a0, 0x10 +.L00445B2C: +/* 00445B2C 5488FFDB */ bnel $a0, $t0, .L00445A9C +/* 00445B30 8C820000 */ lw $v0, ($a0) +.L00445B34: +/* 00445B34 100001B2 */ b .L00446200 +/* 00445B38 92640020 */ lbu $a0, 0x20($s3) +.L00445B3C: +/* 00445B3C 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445B40 8E640000 */ lw $a0, ($s3) +/* 00445B44 0320F809 */ jalr $t9 +/* 00445B48 00000000 */ nop +/* 00445B4C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445B50 AE620000 */ sw $v0, ($s3) +/* 00445B54 00408825 */ move $s1, $v0 +/* 00445B58 8F988A50 */ lw $t8, %got(nooffsetopt)($gp) +/* 00445B5C 93180000 */ lbu $t8, ($t8) +/* 00445B60 57000022 */ bnel $t8, $zero, .L00445BEC +/* 00445B64 8E6E0000 */ lw $t6, ($s3) +/* 00445B68 904E0020 */ lbu $t6, 0x20($v0) +/* 00445B6C 240B0001 */ li $t3, 1 +/* 00445B70 556E001E */ bnel $t3, $t6, .L00445BEC +/* 00445B74 8E6E0000 */ lw $t6, ($s3) +/* 00445B78 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00445B7C 8C440004 */ lw $a0, 4($v0) +/* 00445B80 0320F809 */ jalr $t9 +/* 00445B84 00000000 */ nop +/* 00445B88 10400017 */ beqz $v0, .L00445BE8 +/* 00445B8C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445B90 8F998634 */ lw $t9, %call16(check_loads_exprs)($gp) +/* 00445B94 8E240000 */ lw $a0, ($s1) +/* 00445B98 0320F809 */ jalr $t9 +/* 00445B9C 00000000 */ nop +/* 00445BA0 10400011 */ beqz $v0, .L00445BE8 +/* 00445BA4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445BA8 8E2D0004 */ lw $t5, 4($s1) +/* 00445BAC 8E6F002C */ lw $t7, 0x2c($s3) +/* 00445BB0 8DB90030 */ lw $t9, 0x30($t5) +/* 00445BB4 01F9C021 */ addu $t8, $t7, $t9 +/* 00445BB8 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445BBC AE78002C */ sw $t8, 0x2c($s3) +/* 00445BC0 8E240000 */ lw $a0, ($s1) +/* 00445BC4 0320F809 */ jalr $t9 +/* 00445BC8 00000000 */ nop +/* 00445BCC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445BD0 AE620000 */ sw $v0, ($s3) +/* 00445BD4 02202025 */ move $a0, $s1 +/* 00445BD8 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445BDC 0320F809 */ jalr $t9 +/* 00445BE0 00000000 */ nop +/* 00445BE4 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00445BE8: +/* 00445BE8 8E6E0000 */ lw $t6, ($s3) +.L00445BEC: +/* 00445BEC 24060036 */ li $a2, 54 +/* 00445BF0 91CD0016 */ lbu $t5, 0x16($t6) +/* 00445BF4 55A00003 */ bnel $t5, $zero, .L00445C04 +/* 00445BF8 92640020 */ lbu $a0, 0x20($s3) +/* 00445BFC 240D0001 */ li $t5, 1 +/* 00445C00 92640020 */ lbu $a0, 0x20($s3) +.L00445C04: +/* 00445C04 2401003D */ li $at, 61 +/* 00445C08 A26D0016 */ sb $t5, 0x16($s3) +/* 00445C0C 14810007 */ bne $a0, $at, .L00445C2C +/* 00445C10 00000000 */ nop +/* 00445C14 8F998618 */ lw $t9, %call16(load_cse)($gp) +/* 00445C18 02602025 */ move $a0, $s3 +/* 00445C1C 0320F809 */ jalr $t9 +/* 00445C20 00000000 */ nop +/* 00445C24 100001C8 */ b .L00446348 +/* 00445C28 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00445C2C: +/* 00445C2C 14C40174 */ bne $a2, $a0, .L00446200 +/* 00445C30 00000000 */ nop +/* 00445C34 8F9985FC */ lw $t9, %call16(cse)($gp) +/* 00445C38 02602025 */ move $a0, $s3 +/* 00445C3C 0320F809 */ jalr $t9 +/* 00445C40 00000000 */ nop +/* 00445C44 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445C48 00409825 */ move $s3, $v0 +/* 00445C4C 1000016C */ b .L00446200 +/* 00445C50 90440020 */ lbu $a0, 0x20($v0) +.L00445C54: +/* 00445C54 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445C58 8E640000 */ lw $a0, ($s3) +/* 00445C5C 0320F809 */ jalr $t9 +/* 00445C60 00000000 */ nop +/* 00445C64 AE620000 */ sw $v0, ($s3) +/* 00445C68 904F0016 */ lbu $t7, 0x16($v0) +/* 00445C6C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445C70 15E00002 */ bnez $t7, .L00445C7C +/* 00445C74 00000000 */ nop +/* 00445C78 240F0001 */ li $t7, 1 +.L00445C7C: +/* 00445C7C 8F9985FC */ lw $t9, %call16(cse)($gp) +/* 00445C80 A26F0016 */ sb $t7, 0x16($s3) +/* 00445C84 02602025 */ move $a0, $s3 +/* 00445C88 0320F809 */ jalr $t9 +/* 00445C8C 00000000 */ nop +/* 00445C90 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445C94 00409825 */ move $s3, $v0 +/* 00445C98 10000159 */ b .L00446200 +/* 00445C9C 90440020 */ lbu $a0, 0x20($v0) +.L00445CA0: +/* 00445CA0 96790014 */ lhu $t9, 0x14($s3) +/* 00445CA4 240B0001 */ li $t3, 1 +/* 00445CA8 017902B6 */ tne $t3, $t9, 0xa +/* 00445CAC 92780021 */ lbu $t8, 0x21($s3) +/* 00445CB0 2401000E */ li $at, 14 +/* 00445CB4 330E001F */ andi $t6, $t8, 0x1f +/* 00445CB8 55C1000B */ bnel $t6, $at, .L00445CE8 +/* 00445CBC 8E620028 */ lw $v0, 0x28($s3) +/* 00445CC0 8E6D0028 */ lw $t5, 0x28($s3) +/* 00445CC4 29A10005 */ slti $at, $t5, 5 +/* 00445CC8 54200007 */ bnel $at, $zero, .L00445CE8 +/* 00445CCC 8E620028 */ lw $v0, 0x28($s3) +/* 00445CD0 8F9985E0 */ lw $t9, %call16(gen_set_istr)($gp) +/* 00445CD4 02602025 */ move $a0, $s3 +/* 00445CD8 0320F809 */ jalr $t9 +/* 00445CDC 00000000 */ nop +/* 00445CE0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445CE4 8E620028 */ lw $v0, 0x28($s3) +.L00445CE8: +/* 00445CE8 28410005 */ slti $at, $v0, 5 +/* 00445CEC 10200016 */ beqz $at, .L00445D48 +/* 00445CF0 00000000 */ nop +/* 00445CF4 8E660004 */ lw $a2, 4($s3) +/* 00445CF8 24010019 */ li $at, 25 +/* 00445CFC 90CF0020 */ lbu $t7, 0x20($a2) +/* 00445D00 15E10011 */ bne $t7, $at, .L00445D48 +/* 00445D04 00000000 */ nop +/* 00445D08 8CD90024 */ lw $t9, 0x24($a2) +/* 00445D0C 0002C0C0 */ sll $t8, $v0, 3 +/* 00445D10 1738000D */ bne $t9, $t8, .L00445D48 +/* 00445D14 00000000 */ nop +/* 00445D18 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445D1C 00C08825 */ move $s1, $a2 +/* 00445D20 8CC40000 */ lw $a0, ($a2) +/* 00445D24 0320F809 */ jalr $t9 +/* 00445D28 00000000 */ nop +/* 00445D2C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445D30 AE620004 */ sw $v0, 4($s3) +/* 00445D34 02202025 */ move $a0, $s1 +/* 00445D38 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445D3C 0320F809 */ jalr $t9 +/* 00445D40 00000000 */ nop +/* 00445D44 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00445D48: +/* 00445D48 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445D4C 8E640000 */ lw $a0, ($s3) +/* 00445D50 0320F809 */ jalr $t9 +/* 00445D54 00000000 */ nop +/* 00445D58 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445D5C AE620000 */ sw $v0, ($s3) +/* 00445D60 8E640004 */ lw $a0, 4($s3) +/* 00445D64 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445D68 0320F809 */ jalr $t9 +/* 00445D6C 00000000 */ nop +/* 00445D70 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445D74 AE620004 */ sw $v0, 4($s3) +/* 00445D78 240B0001 */ li $t3, 1 +/* 00445D7C 8F8E8A50 */ lw $t6, %got(nooffsetopt)($gp) +/* 00445D80 8E710000 */ lw $s1, ($s3) +/* 00445D84 91CE0000 */ lbu $t6, ($t6) +/* 00445D88 55C00021 */ bnel $t6, $zero, .L00445E10 +/* 00445D8C 92640020 */ lbu $a0, 0x20($s3) +/* 00445D90 922D0020 */ lbu $t5, 0x20($s1) +/* 00445D94 556D001E */ bnel $t3, $t5, .L00445E10 +/* 00445D98 92640020 */ lbu $a0, 0x20($s3) +/* 00445D9C 8E2F0004 */ lw $t7, 4($s1) +/* 00445DA0 24010049 */ li $at, 73 +/* 00445DA4 91F90020 */ lbu $t9, 0x20($t7) +/* 00445DA8 57210019 */ bnel $t9, $at, .L00445E10 +/* 00445DAC 92640020 */ lbu $a0, 0x20($s3) +/* 00445DB0 8F998634 */ lw $t9, %call16(check_loads_exprs)($gp) +/* 00445DB4 8E240000 */ lw $a0, ($s1) +/* 00445DB8 0320F809 */ jalr $t9 +/* 00445DBC 00000000 */ nop +/* 00445DC0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445DC4 10400011 */ beqz $v0, .L00445E0C +/* 00445DC8 240B0001 */ li $t3, 1 +/* 00445DCC 8E2E0004 */ lw $t6, 4($s1) +/* 00445DD0 8E78002C */ lw $t8, 0x2c($s3) +/* 00445DD4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445DD8 8DCD0030 */ lw $t5, 0x30($t6) +/* 00445DDC 030D7821 */ addu $t7, $t8, $t5 +/* 00445DE0 AE6F002C */ sw $t7, 0x2c($s3) +/* 00445DE4 0320F809 */ jalr $t9 +/* 00445DE8 8E240000 */ lw $a0, ($s1) +/* 00445DEC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445DF0 AE620000 */ sw $v0, ($s3) +/* 00445DF4 02202025 */ move $a0, $s1 +/* 00445DF8 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445DFC 0320F809 */ jalr $t9 +/* 00445E00 00000000 */ nop +/* 00445E04 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445E08 240B0001 */ li $t3, 1 +.L00445E0C: +/* 00445E0C 92640020 */ lbu $a0, 0x20($s3) +.L00445E10: +/* 00445E10 2401003E */ li $at, 62 +/* 00445E14 14810008 */ bne $a0, $at, .L00445E38 +/* 00445E18 00000000 */ nop +/* 00445E1C 8F998620 */ lw $t9, %call16(add_store)($gp) +/* 00445E20 02602025 */ move $a0, $s3 +/* 00445E24 0320F809 */ jalr $t9 +/* 00445E28 00000000 */ nop +/* 00445E2C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445E30 100000F3 */ b .L00446200 +/* 00445E34 92640020 */ lbu $a0, 0x20($s3) +.L00445E38: +/* 00445E38 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00445E3C A0200000 */ sb $zero, ($at) +/* 00445E40 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00445E44 A02B0000 */ sb $t3, ($at) +/* 00445E48 8F818BAC */ lw $at, %got(exprs)($gp) +/* 00445E4C AC330000 */ sw $s3, ($at) +/* 00445E50 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00445E54 100000EA */ b .L00446200 +/* 00445E58 AC200000 */ sw $zero, ($at) +.L00445E5C: +/* 00445E5C 96790014 */ lhu $t9, 0x14($s3) +/* 00445E60 240B0001 */ li $t3, 1 +/* 00445E64 017902B6 */ tne $t3, $t9, 0xa +/* 00445E68 926E0021 */ lbu $t6, 0x21($s3) +/* 00445E6C 240D000E */ li $t5, 14 +/* 00445E70 31D8001F */ andi $t8, $t6, 0x1f +/* 00445E74 030D02B4 */ teq $t8, $t5, 0xa +/* 00445E78 8E620028 */ lw $v0, 0x28($s3) +/* 00445E7C 28410005 */ slti $at, $v0, 5 +/* 00445E80 10200016 */ beqz $at, .L00445EDC +/* 00445E84 00000000 */ nop +/* 00445E88 8E660004 */ lw $a2, 4($s3) +/* 00445E8C 24010019 */ li $at, 25 +/* 00445E90 90CF0020 */ lbu $t7, 0x20($a2) +/* 00445E94 15E10011 */ bne $t7, $at, .L00445EDC +/* 00445E98 00000000 */ nop +/* 00445E9C 8CD90024 */ lw $t9, 0x24($a2) +/* 00445EA0 000270C0 */ sll $t6, $v0, 3 +/* 00445EA4 172E000D */ bne $t9, $t6, .L00445EDC +/* 00445EA8 00000000 */ nop +/* 00445EAC 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00445EB0 00C08825 */ move $s1, $a2 +/* 00445EB4 8CC40000 */ lw $a0, ($a2) +/* 00445EB8 0320F809 */ jalr $t9 +/* 00445EBC 00000000 */ nop +/* 00445EC0 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445EC4 AE620004 */ sw $v0, 4($s3) +/* 00445EC8 02202025 */ move $a0, $s1 +/* 00445ECC 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00445ED0 0320F809 */ jalr $t9 +/* 00445ED4 00000000 */ nop +/* 00445ED8 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00445EDC: +/* 00445EDC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445EE0 8E640000 */ lw $a0, ($s3) +/* 00445EE4 0320F809 */ jalr $t9 +/* 00445EE8 00000000 */ nop +/* 00445EEC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445EF0 AE620000 */ sw $v0, ($s3) +/* 00445EF4 8E640004 */ lw $a0, 4($s3) +/* 00445EF8 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445EFC 0320F809 */ jalr $t9 +/* 00445F00 00000000 */ nop +/* 00445F04 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445F08 AE620004 */ sw $v0, 4($s3) +/* 00445F0C 240B0001 */ li $t3, 1 +/* 00445F10 8F988A3C */ lw $t8, %got(ignore_vreg)($gp) +/* 00445F14 93180000 */ lbu $t8, ($t8) +/* 00445F18 13000026 */ beqz $t8, .L00445FB4 +/* 00445F1C 00000000 */ nop +/* 00445F20 8E700000 */ lw $s0, ($s3) +/* 00445F24 3C016000 */ lui $at, 0x6000 +/* 00445F28 920D0021 */ lbu $t5, 0x21($s0) +/* 00445F2C 000D7E00 */ sll $t7, $t5, 0x18 +/* 00445F30 000FCF42 */ srl $t9, $t7, 0x1d +/* 00445F34 2F2E0020 */ sltiu $t6, $t9, 0x20 +/* 00445F38 000EC023 */ negu $t8, $t6 +/* 00445F3C 03016824 */ and $t5, $t8, $at +/* 00445F40 032D7804 */ sllv $t7, $t5, $t9 +/* 00445F44 05E1001B */ bgez $t7, .L00445FB4 +/* 00445F48 00000000 */ nop +/* 00445F4C 920E0020 */ lbu $t6, 0x20($s0) +/* 00445F50 25D8FFE0 */ addiu $t8, $t6, -0x20 +/* 00445F54 2F0D0060 */ sltiu $t5, $t8, 0x60 +/* 00445F58 11A00009 */ beqz $t5, .L00445F80 +/* 00445F5C 00000000 */ nop +/* 00445F60 8F8E8038 */ lw $t6, %got(D_10016944)($gp) +/* 00445F64 0018C943 */ sra $t9, $t8, 5 +/* 00445F68 00197880 */ sll $t7, $t9, 2 +/* 00445F6C 25CE6944 */ addiu $t6, %lo(D_10016944) # addiu $t6, $t6, 0x6944 +/* 00445F70 01CFC821 */ addu $t9, $t6, $t7 +/* 00445F74 8F2E0000 */ lw $t6, ($t9) +/* 00445F78 030E7804 */ sllv $t7, $t6, $t8 +/* 00445F7C 29ED0000 */ slti $t5, $t7, 0 +.L00445F80: +/* 00445F80 11A0000E */ beqz $t5, .L00445FBC +/* 00445F84 00000000 */ nop +/* 00445F88 8F998608 */ lw $t9, %call16(check_vreg)($gp) +/* 00445F8C 02002025 */ move $a0, $s0 +/* 00445F90 01602825 */ move $a1, $t3 +/* 00445F94 0320F809 */ jalr $t9 +/* 00445F98 00000000 */ nop +/* 00445F9C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445FA0 14400006 */ bnez $v0, .L00445FBC +/* 00445FA4 240B0001 */ li $t3, 1 +/* 00445FA8 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00445FAC 10000003 */ b .L00445FBC +/* 00445FB0 A0200000 */ sb $zero, ($at) +.L00445FB4: +/* 00445FB4 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00445FB8 A0200000 */ sb $zero, ($at) +.L00445FBC: +/* 00445FBC 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00445FC0 A02B0000 */ sb $t3, ($at) +/* 00445FC4 8F818BAC */ lw $at, %got(exprs)($gp) +/* 00445FC8 AC330000 */ sw $s3, ($at) +/* 00445FCC 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00445FD0 AC200000 */ sw $zero, ($at) +/* 00445FD4 1000008A */ b .L00446200 +/* 00445FD8 92640020 */ lbu $a0, 0x20($s3) +.L00445FDC: +/* 00445FDC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00445FE0 8E640000 */ lw $a0, ($s3) +/* 00445FE4 0320F809 */ jalr $t9 +/* 00445FE8 00000000 */ nop +/* 00445FEC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00445FF0 AE620000 */ sw $v0, ($s3) +/* 00445FF4 10000082 */ b .L00446200 +/* 00445FF8 92640020 */ lbu $a0, 0x20($s3) +.L00445FFC: +/* 00445FFC 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00446000 8E640000 */ lw $a0, ($s3) +/* 00446004 0320F809 */ jalr $t9 +/* 00446008 00000000 */ nop +/* 0044600C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446010 AE620000 */ sw $v0, ($s3) +/* 00446014 1000007A */ b .L00446200 +/* 00446018 92640020 */ lbu $a0, 0x20($s3) +.L0044601C: +/* 0044601C 8F8E8B34 */ lw $t6, %got(leaf)($gp) +/* 00446020 24140052 */ li $s4, 82 +/* 00446024 240D0074 */ li $t5, 116 +/* 00446028 91CE0000 */ lbu $t6, ($t6) +/* 0044602C 11C00074 */ beqz $t6, .L00446200 +/* 00446030 00000000 */ nop +/* 00446034 92780021 */ lbu $t8, 0x21($s3) +/* 00446038 A2740020 */ sb $s4, 0x20($s3) +/* 0044603C AE6D002C */ sw $t5, 0x2c($s3) +/* 00446040 330FFF1F */ andi $t7, $t8, 0xff1f +/* 00446044 35F90060 */ ori $t9, $t7, 0x60 +/* 00446048 A2790021 */ sb $t9, 0x21($s3) +/* 0044604C A2600016 */ sb $zero, 0x16($s3) +/* 00446050 1000006B */ b .L00446200 +/* 00446054 328400FF */ andi $a0, $s4, 0xff +.L00446058: +/* 00446058 926E0021 */ lbu $t6, 0x21($s3) +/* 0044605C 24140052 */ li $s4, 82 +/* 00446060 24190074 */ li $t9, 116 +/* 00446064 31D8FF1F */ andi $t8, $t6, 0xff1f +/* 00446068 370F0060 */ ori $t7, $t8, 0x60 +/* 0044606C A2740020 */ sb $s4, 0x20($s3) +/* 00446070 A26F0021 */ sb $t7, 0x21($s3) +/* 00446074 AE79002C */ sw $t9, 0x2c($s3) +/* 00446078 328400FF */ andi $a0, $s4, 0xff +/* 0044607C 10000060 */ b .L00446200 +/* 00446080 A2600016 */ sb $zero, 0x16($s3) +.L00446084: +/* 00446084 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00446088 8E640000 */ lw $a0, ($s3) +/* 0044608C 0320F809 */ jalr $t9 +/* 00446090 00000000 */ nop +/* 00446094 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446098 AE620000 */ sw $v0, ($s3) +/* 0044609C 240A007B */ li $t2, 123 +/* 004460A0 8F8D8B34 */ lw $t5, %got(leaf)($gp) +/* 004460A4 24190074 */ li $t9, 116 +/* 004460A8 91AD0000 */ lbu $t5, ($t5) +/* 004460AC 11A00007 */ beqz $t5, .L004460CC +/* 004460B0 00000000 */ nop +/* 004460B4 926E0021 */ lbu $t6, 0x21($s3) +/* 004460B8 A26A0020 */ sb $t2, 0x20($s3) +/* 004460BC AE79002C */ sw $t9, 0x2c($s3) +/* 004460C0 31D8FF1F */ andi $t8, $t6, 0xff1f +/* 004460C4 370F0060 */ ori $t7, $t8, 0x60 +/* 004460C8 A26F0021 */ sb $t7, 0x21($s3) +.L004460CC: +/* 004460CC 1000004C */ b .L00446200 +/* 004460D0 92640020 */ lbu $a0, 0x20($s3) +.L004460D4: +/* 004460D4 8F998488 */ lw $t9, %call16(map_pars_to_regs)($gp) +/* 004460D8 8F908B24 */ lw $s0, %got(mst_node)($gp) +/* 004460DC 2405FFFF */ li $a1, -1 +/* 004460E0 0320F809 */ jalr $t9 +/* 004460E4 8E040000 */ lw $a0, ($s0) +/* 004460E8 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004460EC 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 004460F0 A0200000 */ sb $zero, ($at) +/* 004460F4 8F818B2C */ lw $at, %got(load_count)($gp) +/* 004460F8 A0200000 */ sb $zero, ($at) +/* 004460FC 8F818B30 */ lw $at, %got(bb_size)($gp) +/* 00446100 AC200000 */ sw $zero, ($at) +/* 00446104 1000003E */ b .L00446200 +/* 00446108 92640020 */ lbu $a0, 0x20($s3) +.L0044610C: +/* 0044610C 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 00446110 8E640000 */ lw $a0, ($s3) +/* 00446114 0320F809 */ jalr $t9 +/* 00446118 00000000 */ nop +/* 0044611C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446120 AE620000 */ sw $v0, ($s3) +/* 00446124 8E640004 */ lw $a0, 4($s3) +/* 00446128 8F9985F4 */ lw $t9, %call16(translate)($gp) +/* 0044612C 0320F809 */ jalr $t9 +/* 00446130 00000000 */ nop +/* 00446134 8E6D0000 */ lw $t5, ($s3) +/* 00446138 AE620004 */ sw $v0, 4($s3) +/* 0044613C 904E0016 */ lbu $t6, 0x16($v0) +/* 00446140 91A30016 */ lbu $v1, 0x16($t5) +/* 00446144 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446148 15C30003 */ bne $t6, $v1, .L00446158 +/* 0044614C 24780001 */ addiu $t8, $v1, 1 +/* 00446150 10000008 */ b .L00446174 +/* 00446154 A2780016 */ sb $t8, 0x16($s3) +.L00446158: +/* 00446158 8E6F0004 */ lw $t7, 4($s3) +/* 0044615C 91F90016 */ lbu $t9, 0x16($t7) +/* 00446160 0323082B */ sltu $at, $t9, $v1 +/* 00446164 50200003 */ beql $at, $zero, .L00446174 +/* 00446168 A2790016 */ sb $t9, 0x16($s3) +/* 0044616C 0060C825 */ move $t9, $v1 +/* 00446170 A2790016 */ sb $t9, 0x16($s3) +.L00446174: +/* 00446174 10000022 */ b .L00446200 +/* 00446178 92640020 */ lbu $a0, 0x20($s3) +.L0044617C: +/* 0044617C 2C410011 */ sltiu $at, $v0, 0x11 +/* 00446180 1020000B */ beqz $at, .L004461B0 +/* 00446184 244EFFE9 */ addiu $t6, $v0, -0x17 +/* 00446188 2C410011 */ sltiu $at, $v0, 0x11 +/* 0044618C 1020001C */ beqz $at, .L00446200 +/* 00446190 00000000 */ nop +/* 00446194 8F818038 */ lw $at, %got(jtbl_1000D864)($gp) +/* 00446198 00026880 */ sll $t5, $v0, 2 +/* 0044619C 002D0821 */ addu $at, $at, $t5 +/* 004461A0 8C2DD864 */ lw $t5, %lo(jtbl_1000D864)($at) +/* 004461A4 01BC6821 */ addu $t5, $t5, $gp +/* 004461A8 01A00008 */ jr $t5 +/* 004461AC 00000000 */ nop +.L004461B0: +/* 004461B0 2DC10069 */ sltiu $at, $t6, 0x69 +/* 004461B4 10200012 */ beqz $at, .L00446200 +/* 004461B8 00000000 */ nop +/* 004461BC 8F818038 */ lw $at, %got(jtbl_1000D8A8)($gp) +/* 004461C0 000E7080 */ sll $t6, $t6, 2 +/* 004461C4 002E0821 */ addu $at, $at, $t6 +/* 004461C8 8C2ED8A8 */ lw $t6, %lo(jtbl_1000D8A8)($at) +/* 004461CC 01DC7021 */ addu $t6, $t6, $gp +/* 004461D0 01C00008 */ jr $t6 +/* 004461D4 00000000 */ nop +.L004461D8: +/* 004461D8 2F010008 */ sltiu $at, $t8, 8 +/* 004461DC 10200008 */ beqz $at, .L00446200 +/* 004461E0 00000000 */ nop +/* 004461E4 8F818038 */ lw $at, %got(jtbl_1000DA4C)($gp) +/* 004461E8 0018C080 */ sll $t8, $t8, 2 +/* 004461EC 00380821 */ addu $at, $at, $t8 +/* 004461F0 8C38DA4C */ lw $t8, %lo(jtbl_1000DA4C)($at) +/* 004461F4 031CC021 */ addu $t8, $t8, $gp +/* 004461F8 03000008 */ jr $t8 +/* 004461FC 00000000 */ nop +.L00446200: +/* 00446200 8F8F8914 */ lw $t7, %got(expression_opcs)($gp) +/* 00446204 008FC821 */ addu $t9, $a0, $t7 +/* 00446208 932D0000 */ lbu $t5, ($t9) +/* 0044620C 51A0004E */ beql $t5, $zero, .L00446348 +/* 00446210 02601025 */ move $v0, $s3 +/* 00446214 8E700000 */ lw $s0, ($s3) +/* 00446218 52000032 */ beql $s0, $zero, .L004462E4 +/* 0044621C 8E660004 */ lw $a2, 4($s3) +/* 00446220 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00446224 02002025 */ move $a0, $s0 +/* 00446228 0320F809 */ jalr $t9 +/* 0044622C 00000000 */ nop +/* 00446230 1040002B */ beqz $v0, .L004462E0 +/* 00446234 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446238 8E660004 */ lw $a2, 4($s3) +/* 0044623C 10C00007 */ beqz $a2, .L0044625C +/* 00446240 00000000 */ nop +/* 00446244 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00446248 00C02025 */ move $a0, $a2 +/* 0044624C 0320F809 */ jalr $t9 +/* 00446250 00000000 */ nop +/* 00446254 10400007 */ beqz $v0, .L00446274 +/* 00446258 8FBC00C0 */ lw $gp, 0xc0($sp) +.L0044625C: +/* 0044625C 8F9983FC */ lw $t9, %call16(fold)($gp) +/* 00446260 02602025 */ move $a0, $s3 +/* 00446264 0320F809 */ jalr $t9 +/* 00446268 00000000 */ nop +/* 0044626C 10000036 */ b .L00446348 +/* 00446270 8FBC00C0 */ lw $gp, 0xc0($sp) +.L00446274: +/* 00446274 8F90891C */ lw $s0, %got(reverse)($gp) +/* 00446278 926E0020 */ lbu $t6, 0x20($s3) +/* 0044627C 24010060 */ li $at, 96 +/* 00446280 AFB30108 */ sw $s3, 0x108($sp) +/* 00446284 020EC021 */ addu $t8, $s0, $t6 +/* 00446288 930F0000 */ lbu $t7, ($t8) +/* 0044628C 11E1000C */ beq $t7, $at, .L004462C0 +/* 00446290 00000000 */ nop +/* 00446294 8F998410 */ lw $t9, %call16(swap_tree)($gp) +/* 00446298 02602025 */ move $a0, $s3 +/* 0044629C 26650004 */ addiu $a1, $s3, 4 +/* 004462A0 0320F809 */ jalr $t9 +/* 004462A4 00000000 */ nop +/* 004462A8 92790020 */ lbu $t9, 0x20($s3) +/* 004462AC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004462B0 02196821 */ addu $t5, $s0, $t9 +/* 004462B4 91AE0000 */ lbu $t6, ($t5) +/* 004462B8 AFB30108 */ sw $s3, 0x108($sp) +/* 004462BC A26E0020 */ sb $t6, 0x20($s3) +.L004462C0: +/* 004462C0 8F998400 */ lw $t9, %call16(fold1)($gp) +/* 004462C4 27A40108 */ addiu $a0, $sp, 0x108 +/* 004462C8 0320F809 */ jalr $t9 +/* 004462CC 00000000 */ nop +/* 004462D0 10400016 */ beqz $v0, .L0044632C +/* 004462D4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004462D8 1000001B */ b .L00446348 +/* 004462DC 8FA20108 */ lw $v0, 0x108($sp) +.L004462E0: +/* 004462E0 8E660004 */ lw $a2, 4($s3) +.L004462E4: +/* 004462E4 AFB30108 */ sw $s3, 0x108($sp) +/* 004462E8 10C00010 */ beqz $a2, .L0044632C +/* 004462EC 00000000 */ nop +/* 004462F0 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 004462F4 00C02025 */ move $a0, $a2 +/* 004462F8 0320F809 */ jalr $t9 +/* 004462FC 00000000 */ nop +/* 00446300 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446304 10400009 */ beqz $v0, .L0044632C +/* 00446308 AFB30108 */ sw $s3, 0x108($sp) +/* 0044630C 8F998400 */ lw $t9, %call16(fold1)($gp) +/* 00446310 27A40108 */ addiu $a0, $sp, 0x108 +/* 00446314 0320F809 */ jalr $t9 +/* 00446318 00000000 */ nop +/* 0044631C 10400003 */ beqz $v0, .L0044632C +/* 00446320 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446324 10000008 */ b .L00446348 +/* 00446328 8FA20108 */ lw $v0, 0x108($sp) +.L0044632C: +/* 0044632C 8F9985FC */ lw $t9, %call16(cse)($gp) +/* 00446330 8FA40108 */ lw $a0, 0x108($sp) +/* 00446334 0320F809 */ jalr $t9 +/* 00446338 00000000 */ nop +/* 0044633C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00446340 00409825 */ move $s3, $v0 +/* 00446344 02601025 */ move $v0, $s3 +.L00446348: +/* 00446348 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 0044634C 8FB000AC */ lw $s0, 0xac($sp) +/* 00446350 8FB100B0 */ lw $s1, 0xb0($sp) +/* 00446354 8FB200B4 */ lw $s2, 0xb4($sp) +/* 00446358 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0044635C 8FB400BC */ lw $s4, 0xbc($sp) +/* 00446360 03E00008 */ jr $ra +/* 00446364 27BD0108 */ addiu $sp, $sp, 0x108 + .type translate, @function + .size translate, .-translate + .end translate + +glabel cse_equ + .ent cse_equ + # 00446C08 cse +/* 00446368 3C1C0FBE */ .cpload $t9 +/* 0044636C 279C96E8 */ +/* 00446370 0399E021 */ +/* 00446374 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00446378 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044637C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 00446380 00803025 */ move $a2, $a0 +/* 00446384 14850003 */ bne $a0, $a1, .L00446394 +/* 00446388 00A03825 */ move $a3, $a1 +/* 0044638C 1000021A */ b .L00446BF8 +/* 00446390 24020001 */ li $v0, 1 +.L00446394: +/* 00446394 90E20020 */ lbu $v0, 0x20($a3) +/* 00446398 90C30020 */ lbu $v1, 0x20($a2) +/* 0044639C 24010036 */ li $at, 54 +/* 004463A0 10430007 */ beq $v0, $v1, .L004463C0 +/* 004463A4 00000000 */ nop +/* 004463A8 14610003 */ bne $v1, $at, .L004463B8 +/* 004463AC 2401003F */ li $at, 63 +/* 004463B0 10410003 */ beq $v0, $at, .L004463C0 +/* 004463B4 00000000 */ nop +.L004463B8: +/* 004463B8 1000020F */ b .L00446BF8 +/* 004463BC 00001025 */ move $v0, $zero +.L004463C0: +/* 004463C0 1000014E */ b .L004468FC +/* 004463C4 306200FF */ andi $v0, $v1, 0xff +.L004463C8: +/* 004463C8 90EE0021 */ lbu $t6, 0x21($a3) +/* 004463CC 90D90021 */ lbu $t9, 0x21($a2) +/* 004463D0 000E7E00 */ sll $t7, $t6, 0x18 +/* 004463D4 00194600 */ sll $t0, $t9, 0x18 +/* 004463D8 00084F42 */ srl $t1, $t0, 0x1d +/* 004463DC 000FC742 */ srl $t8, $t7, 0x1d +/* 004463E0 03091826 */ xor $v1, $t8, $t1 +/* 004463E4 2C630001 */ sltiu $v1, $v1, 1 +/* 004463E8 10600011 */ beqz $v1, .L00446430 +/* 004463EC 00000000 */ nop +/* 004463F0 8CEA0024 */ lw $t2, 0x24($a3) +/* 004463F4 8CCB0024 */ lw $t3, 0x24($a2) +/* 004463F8 014B1826 */ xor $v1, $t2, $t3 +/* 004463FC 2C630001 */ sltiu $v1, $v1, 1 +/* 00446400 1060000B */ beqz $v1, .L00446430 +/* 00446404 00000000 */ nop +/* 00446408 8CEC002C */ lw $t4, 0x2c($a3) +/* 0044640C 8CCD002C */ lw $t5, 0x2c($a2) +/* 00446410 018D1826 */ xor $v1, $t4, $t5 +/* 00446414 2C630001 */ sltiu $v1, $v1, 1 +/* 00446418 10600005 */ beqz $v1, .L00446430 +/* 0044641C 00000000 */ nop +/* 00446420 8CEE0028 */ lw $t6, 0x28($a3) +/* 00446424 8CCF0028 */ lw $t7, 0x28($a2) +/* 00446428 01CF1826 */ xor $v1, $t6, $t7 +/* 0044642C 2C630001 */ sltiu $v1, $v1, 1 +.L00446430: +/* 00446430 100001F1 */ b .L00446BF8 +/* 00446434 00601025 */ move $v0, $v1 +.L00446438: +/* 00446438 90F90021 */ lbu $t9, 0x21($a3) +/* 0044643C 90D80021 */ lbu $t8, 0x21($a2) +/* 00446440 3328001F */ andi $t0, $t9, 0x1f +/* 00446444 3309001F */ andi $t1, $t8, 0x1f +/* 00446448 01091826 */ xor $v1, $t0, $t1 +/* 0044644C 2C630001 */ sltiu $v1, $v1, 1 +/* 00446450 10600005 */ beqz $v1, .L00446468 +/* 00446454 00000000 */ nop +/* 00446458 8CEA0000 */ lw $t2, ($a3) +/* 0044645C 8CCB0000 */ lw $t3, ($a2) +/* 00446460 014B1826 */ xor $v1, $t2, $t3 +/* 00446464 2C630001 */ sltiu $v1, $v1, 1 +.L00446468: +/* 00446468 100001E3 */ b .L00446BF8 +/* 0044646C 00601025 */ move $v0, $v1 +.L00446470: +/* 00446470 90EC0021 */ lbu $t4, 0x21($a3) +/* 00446474 90CE0021 */ lbu $t6, 0x21($a2) +/* 00446478 318D001F */ andi $t5, $t4, 0x1f +/* 0044647C 31CF001F */ andi $t7, $t6, 0x1f +/* 00446480 01AF1826 */ xor $v1, $t5, $t7 +/* 00446484 2C630001 */ sltiu $v1, $v1, 1 +/* 00446488 1060000B */ beqz $v1, .L004464B8 +/* 0044648C 00000000 */ nop +/* 00446490 94F90022 */ lhu $t9, 0x22($a3) +/* 00446494 94D80022 */ lhu $t8, 0x22($a2) +/* 00446498 03381826 */ xor $v1, $t9, $t8 +/* 0044649C 2C630001 */ sltiu $v1, $v1, 1 +/* 004464A0 10600005 */ beqz $v1, .L004464B8 +/* 004464A4 00000000 */ nop +/* 004464A8 8CE80000 */ lw $t0, ($a3) +/* 004464AC 8CC90000 */ lw $t1, ($a2) +/* 004464B0 01091826 */ xor $v1, $t0, $t1 +/* 004464B4 2C630001 */ sltiu $v1, $v1, 1 +.L004464B8: +/* 004464B8 100001CF */ b .L00446BF8 +/* 004464BC 00601025 */ move $v0, $v1 +.L004464C0: +/* 004464C0 90EA0021 */ lbu $t2, 0x21($a3) +/* 004464C4 90CC0021 */ lbu $t4, 0x21($a2) +/* 004464C8 314B001F */ andi $t3, $t2, 0x1f +/* 004464CC 318E001F */ andi $t6, $t4, 0x1f +/* 004464D0 016E1826 */ xor $v1, $t3, $t6 +/* 004464D4 2C630001 */ sltiu $v1, $v1, 1 +/* 004464D8 1060000B */ beqz $v1, .L00446508 +/* 004464DC 00000000 */ nop +/* 004464E0 8CED0024 */ lw $t5, 0x24($a3) +/* 004464E4 8CCF0024 */ lw $t7, 0x24($a2) +/* 004464E8 01AF1826 */ xor $v1, $t5, $t7 +/* 004464EC 2C630001 */ sltiu $v1, $v1, 1 +/* 004464F0 10600005 */ beqz $v1, .L00446508 +/* 004464F4 00000000 */ nop +/* 004464F8 8CF90000 */ lw $t9, ($a3) +/* 004464FC 8CD80000 */ lw $t8, ($a2) +/* 00446500 03381826 */ xor $v1, $t9, $t8 +/* 00446504 2C630001 */ sltiu $v1, $v1, 1 +.L00446508: +/* 00446508 100001BB */ b .L00446BF8 +/* 0044650C 00601025 */ move $v0, $v1 +.L00446510: +/* 00446510 90E80021 */ lbu $t0, 0x21($a3) +/* 00446514 90CA0021 */ lbu $t2, 0x21($a2) +/* 00446518 3109001F */ andi $t1, $t0, 0x1f +/* 0044651C 314C001F */ andi $t4, $t2, 0x1f +/* 00446520 012C1826 */ xor $v1, $t1, $t4 +/* 00446524 2C630001 */ sltiu $v1, $v1, 1 +/* 00446528 10600011 */ beqz $v1, .L00446570 +/* 0044652C 00000000 */ nop +/* 00446530 8CEB0024 */ lw $t3, 0x24($a3) +/* 00446534 8CCE0024 */ lw $t6, 0x24($a2) +/* 00446538 016E1826 */ xor $v1, $t3, $t6 +/* 0044653C 2C630001 */ sltiu $v1, $v1, 1 +/* 00446540 1060000B */ beqz $v1, .L00446570 +/* 00446544 00000000 */ nop +/* 00446548 94ED0022 */ lhu $t5, 0x22($a3) +/* 0044654C 94CF0022 */ lhu $t7, 0x22($a2) +/* 00446550 01AF1826 */ xor $v1, $t5, $t7 +/* 00446554 2C630001 */ sltiu $v1, $v1, 1 +/* 00446558 10600005 */ beqz $v1, .L00446570 +/* 0044655C 00000000 */ nop +/* 00446560 8CF90000 */ lw $t9, ($a3) +/* 00446564 8CD80000 */ lw $t8, ($a2) +/* 00446568 03381826 */ xor $v1, $t9, $t8 +/* 0044656C 2C630001 */ sltiu $v1, $v1, 1 +.L00446570: +/* 00446570 100001A1 */ b .L00446BF8 +/* 00446574 00601025 */ move $v0, $v1 +.L00446578: +/* 00446578 90E80021 */ lbu $t0, 0x21($a3) +/* 0044657C 90C90021 */ lbu $t1, 0x21($a2) +/* 00446580 310A001F */ andi $t2, $t0, 0x1f +/* 00446584 312C001F */ andi $t4, $t1, 0x1f +/* 00446588 014C1826 */ xor $v1, $t2, $t4 +/* 0044658C 2C630001 */ sltiu $v1, $v1, 1 +/* 00446590 10600011 */ beqz $v1, .L004465D8 +/* 00446594 00000000 */ nop +/* 00446598 90EB0028 */ lbu $t3, 0x28($a3) +/* 0044659C 90CE0028 */ lbu $t6, 0x28($a2) +/* 004465A0 016E1826 */ xor $v1, $t3, $t6 +/* 004465A4 2C630001 */ sltiu $v1, $v1, 1 +/* 004465A8 1060000B */ beqz $v1, .L004465D8 +/* 004465AC 00000000 */ nop +/* 004465B0 94ED0022 */ lhu $t5, 0x22($a3) +/* 004465B4 94CF0022 */ lhu $t7, 0x22($a2) +/* 004465B8 01AF1826 */ xor $v1, $t5, $t7 +/* 004465BC 2C630001 */ sltiu $v1, $v1, 1 +/* 004465C0 10600005 */ beqz $v1, .L004465D8 +/* 004465C4 00000000 */ nop +/* 004465C8 8CF90000 */ lw $t9, ($a3) +/* 004465CC 8CD80000 */ lw $t8, ($a2) +/* 004465D0 03381826 */ xor $v1, $t9, $t8 +/* 004465D4 2C630001 */ sltiu $v1, $v1, 1 +.L004465D8: +/* 004465D8 10000187 */ b .L00446BF8 +/* 004465DC 00601025 */ move $v0, $v1 +.L004465E0: +/* 004465E0 8CE8002C */ lw $t0, 0x2c($a3) +/* 004465E4 8CC9002C */ lw $t1, 0x2c($a2) +/* 004465E8 01091826 */ xor $v1, $t0, $t1 +/* 004465EC 2C630001 */ sltiu $v1, $v1, 1 +/* 004465F0 1060000B */ beqz $v1, .L00446620 +/* 004465F4 00000000 */ nop +/* 004465F8 8CEA0028 */ lw $t2, 0x28($a3) +/* 004465FC 8CCC0028 */ lw $t4, 0x28($a2) +/* 00446600 014C1826 */ xor $v1, $t2, $t4 +/* 00446604 2C630001 */ sltiu $v1, $v1, 1 +/* 00446608 10600005 */ beqz $v1, .L00446620 +/* 0044660C 00000000 */ nop +/* 00446610 8CEB0000 */ lw $t3, ($a3) +/* 00446614 8CCE0000 */ lw $t6, ($a2) +/* 00446618 016E1826 */ xor $v1, $t3, $t6 +/* 0044661C 2C630001 */ sltiu $v1, $v1, 1 +.L00446620: +/* 00446620 10000175 */ b .L00446BF8 +/* 00446624 00601025 */ move $v0, $v1 +.L00446628: +/* 00446628 90ED0021 */ lbu $t5, 0x21($a3) +/* 0044662C 90D80021 */ lbu $t8, 0x21($a2) +/* 00446630 000D7E00 */ sll $t7, $t5, 0x18 +/* 00446634 00184600 */ sll $t0, $t8, 0x18 +/* 00446638 00084F42 */ srl $t1, $t0, 0x1d +/* 0044663C 000FCF42 */ srl $t9, $t7, 0x1d +/* 00446640 03291826 */ xor $v1, $t9, $t1 +/* 00446644 2C630001 */ sltiu $v1, $v1, 1 +/* 00446648 10600017 */ beqz $v1, .L004466A8 +/* 0044664C 00000000 */ nop +/* 00446650 8CEA0024 */ lw $t2, 0x24($a3) +/* 00446654 8CCC0024 */ lw $t4, 0x24($a2) +/* 00446658 014C1826 */ xor $v1, $t2, $t4 +/* 0044665C 2C630001 */ sltiu $v1, $v1, 1 +/* 00446660 10600011 */ beqz $v1, .L004466A8 +/* 00446664 00000000 */ nop +/* 00446668 8CEB002C */ lw $t3, 0x2c($a3) +/* 0044666C 8CCE002C */ lw $t6, 0x2c($a2) +/* 00446670 016E1826 */ xor $v1, $t3, $t6 +/* 00446674 2C630001 */ sltiu $v1, $v1, 1 +/* 00446678 1060000B */ beqz $v1, .L004466A8 +/* 0044667C 00000000 */ nop +/* 00446680 8CED0028 */ lw $t5, 0x28($a3) +/* 00446684 8CCF0028 */ lw $t7, 0x28($a2) +/* 00446688 01AF1826 */ xor $v1, $t5, $t7 +/* 0044668C 2C630001 */ sltiu $v1, $v1, 1 +/* 00446690 10600005 */ beqz $v1, .L004466A8 +/* 00446694 00000000 */ nop +/* 00446698 8CF80000 */ lw $t8, ($a3) +/* 0044669C 8CC80000 */ lw $t0, ($a2) +/* 004466A0 03081826 */ xor $v1, $t8, $t0 +/* 004466A4 2C630001 */ sltiu $v1, $v1, 1 +.L004466A8: +/* 004466A8 10000153 */ b .L00446BF8 +/* 004466AC 00601025 */ move $v0, $v1 +.L004466B0: +/* 004466B0 90F90021 */ lbu $t9, 0x21($a3) +.L004466B4: +/* 004466B4 90CA0021 */ lbu $t2, 0x21($a2) +/* 004466B8 3329001F */ andi $t1, $t9, 0x1f +/* 004466BC 314C001F */ andi $t4, $t2, 0x1f +/* 004466C0 012C1826 */ xor $v1, $t1, $t4 +/* 004466C4 2C630001 */ sltiu $v1, $v1, 1 +/* 004466C8 10600012 */ beqz $v1, .L00446714 +/* 004466CC 00000000 */ nop +/* 004466D0 8CEB0000 */ lw $t3, ($a3) +/* 004466D4 8CCE0000 */ lw $t6, ($a2) +/* 004466D8 016E1826 */ xor $v1, $t3, $t6 +/* 004466DC 2C630001 */ sltiu $v1, $v1, 1 +/* 004466E0 1060000C */ beqz $v1, .L00446714 +/* 004466E4 00000000 */ nop +/* 004466E8 8CE50004 */ lw $a1, 4($a3) +/* 004466EC 8CC40004 */ lw $a0, 4($a2) +/* 004466F0 00A41826 */ xor $v1, $a1, $a0 +/* 004466F4 2C630001 */ sltiu $v1, $v1, 1 +/* 004466F8 14600006 */ bnez $v1, .L00446714 +/* 004466FC 00000000 */ nop +/* 00446700 8F998698 */ lw $t9, %call16(const_equal)($gp) +/* 00446704 0320F809 */ jalr $t9 +/* 00446708 00000000 */ nop +/* 0044670C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00446710 00401825 */ move $v1, $v0 +.L00446714: +/* 00446714 10000138 */ b .L00446BF8 +/* 00446718 00601025 */ move $v0, $v1 +.L0044671C: +/* 0044671C 90ED0021 */ lbu $t5, 0x21($a3) +.L00446720: +/* 00446720 90D80021 */ lbu $t8, 0x21($a2) +/* 00446724 31AF001F */ andi $t7, $t5, 0x1f +/* 00446728 3308001F */ andi $t0, $t8, 0x1f +/* 0044672C 01E81826 */ xor $v1, $t7, $t0 +/* 00446730 2C630001 */ sltiu $v1, $v1, 1 +/* 00446734 10600018 */ beqz $v1, .L00446798 +/* 00446738 00000000 */ nop +/* 0044673C 8CF90000 */ lw $t9, ($a3) +/* 00446740 8CCA0000 */ lw $t2, ($a2) +/* 00446744 032A1826 */ xor $v1, $t9, $t2 +/* 00446748 2C630001 */ sltiu $v1, $v1, 1 +/* 0044674C 10600012 */ beqz $v1, .L00446798 +/* 00446750 00000000 */ nop +/* 00446754 94E90022 */ lhu $t1, 0x22($a3) +/* 00446758 94CC0022 */ lhu $t4, 0x22($a2) +/* 0044675C 012C1826 */ xor $v1, $t1, $t4 +/* 00446760 2C630001 */ sltiu $v1, $v1, 1 +/* 00446764 1060000C */ beqz $v1, .L00446798 +/* 00446768 00000000 */ nop +/* 0044676C 8CE50004 */ lw $a1, 4($a3) +/* 00446770 8CC40004 */ lw $a0, 4($a2) +/* 00446774 00A41826 */ xor $v1, $a1, $a0 +/* 00446778 2C630001 */ sltiu $v1, $v1, 1 +/* 0044677C 14600006 */ bnez $v1, .L00446798 +/* 00446780 00000000 */ nop +/* 00446784 8F998698 */ lw $t9, %call16(const_equal)($gp) +/* 00446788 0320F809 */ jalr $t9 +/* 0044678C 00000000 */ nop +/* 00446790 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00446794 00401825 */ move $v1, $v0 +.L00446798: +/* 00446798 10000117 */ b .L00446BF8 +/* 0044679C 00601025 */ move $v0, $v1 +.L004467A0: +/* 004467A0 90EB0021 */ lbu $t3, 0x21($a3) +/* 004467A4 90CD0021 */ lbu $t5, 0x21($a2) +/* 004467A8 316E001F */ andi $t6, $t3, 0x1f +/* 004467AC 31B8001F */ andi $t8, $t5, 0x1f +/* 004467B0 01D81826 */ xor $v1, $t6, $t8 +/* 004467B4 2C630001 */ sltiu $v1, $v1, 1 +/* 004467B8 10600018 */ beqz $v1, .L0044681C +/* 004467BC 00000000 */ nop +/* 004467C0 8CEF0028 */ lw $t7, 0x28($a3) +/* 004467C4 8CC80028 */ lw $t0, 0x28($a2) +/* 004467C8 01E81826 */ xor $v1, $t7, $t0 +/* 004467CC 2C630001 */ sltiu $v1, $v1, 1 +/* 004467D0 10600012 */ beqz $v1, .L0044681C +/* 004467D4 00000000 */ nop +/* 004467D8 8CF90000 */ lw $t9, ($a3) +/* 004467DC 8CCA0000 */ lw $t2, ($a2) +/* 004467E0 032A1826 */ xor $v1, $t9, $t2 +/* 004467E4 2C630001 */ sltiu $v1, $v1, 1 +/* 004467E8 1060000C */ beqz $v1, .L0044681C +/* 004467EC 00000000 */ nop +/* 004467F0 8CE50004 */ lw $a1, 4($a3) +/* 004467F4 8CC40004 */ lw $a0, 4($a2) +/* 004467F8 00A41826 */ xor $v1, $a1, $a0 +/* 004467FC 2C630001 */ sltiu $v1, $v1, 1 +/* 00446800 14600006 */ bnez $v1, .L0044681C +/* 00446804 00000000 */ nop +/* 00446808 8F998698 */ lw $t9, %call16(const_equal)($gp) +/* 0044680C 0320F809 */ jalr $t9 +/* 00446810 00000000 */ nop +/* 00446814 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00446818 00401825 */ move $v1, $v0 +.L0044681C: +/* 0044681C 100000F6 */ b .L00446BF8 +/* 00446820 00601025 */ move $v0, $v1 +.L00446824: +/* 00446824 90E90021 */ lbu $t1, 0x21($a3) +/* 00446828 90CB0021 */ lbu $t3, 0x21($a2) +/* 0044682C 312C001F */ andi $t4, $t1, 0x1f +/* 00446830 316D001F */ andi $t5, $t3, 0x1f +/* 00446834 018D1826 */ xor $v1, $t4, $t5 +/* 00446838 2C630001 */ sltiu $v1, $v1, 1 +/* 0044683C 10600011 */ beqz $v1, .L00446884 +/* 00446840 00000000 */ nop +/* 00446844 8CEE002C */ lw $t6, 0x2c($a3) +/* 00446848 8CD8002C */ lw $t8, 0x2c($a2) +/* 0044684C 01D81826 */ xor $v1, $t6, $t8 +/* 00446850 2C630001 */ sltiu $v1, $v1, 1 +/* 00446854 1060000B */ beqz $v1, .L00446884 +/* 00446858 00000000 */ nop +/* 0044685C 8CEF0028 */ lw $t7, 0x28($a3) +/* 00446860 8CC80028 */ lw $t0, 0x28($a2) +/* 00446864 01E81826 */ xor $v1, $t7, $t0 +/* 00446868 2C630001 */ sltiu $v1, $v1, 1 +/* 0044686C 10600005 */ beqz $v1, .L00446884 +/* 00446870 00000000 */ nop +/* 00446874 8CF90000 */ lw $t9, ($a3) +/* 00446878 8CCA0000 */ lw $t2, ($a2) +/* 0044687C 032A1826 */ xor $v1, $t9, $t2 +/* 00446880 2C630001 */ sltiu $v1, $v1, 1 +.L00446884: +/* 00446884 100000DC */ b .L00446BF8 +/* 00446888 00601025 */ move $v0, $v1 +/* 0044688C 90E90021 */ lbu $t1, 0x21($a3) +.L00446890: +/* 00446890 90CC0021 */ lbu $t4, 0x21($a2) +/* 00446894 312B001F */ andi $t3, $t1, 0x1f +/* 00446898 318D001F */ andi $t5, $t4, 0x1f +/* 0044689C 016D1826 */ xor $v1, $t3, $t5 +/* 004468A0 2C630001 */ sltiu $v1, $v1, 1 +/* 004468A4 10600011 */ beqz $v1, .L004468EC +/* 004468A8 00000000 */ nop +/* 004468AC 8CEE0024 */ lw $t6, 0x24($a3) +/* 004468B0 8CD80024 */ lw $t8, 0x24($a2) +/* 004468B4 01D81826 */ xor $v1, $t6, $t8 +/* 004468B8 2C630001 */ sltiu $v1, $v1, 1 +/* 004468BC 1060000B */ beqz $v1, .L004468EC +/* 004468C0 00000000 */ nop +/* 004468C4 8CEF0028 */ lw $t7, 0x28($a3) +/* 004468C8 8CC80028 */ lw $t0, 0x28($a2) +/* 004468CC 01E81826 */ xor $v1, $t7, $t0 +/* 004468D0 2C630001 */ sltiu $v1, $v1, 1 +/* 004468D4 10600005 */ beqz $v1, .L004468EC +/* 004468D8 00000000 */ nop +/* 004468DC 8CF90000 */ lw $t9, ($a3) +/* 004468E0 8CCA0000 */ lw $t2, ($a2) +/* 004468E4 032A1826 */ xor $v1, $t9, $t2 +/* 004468E8 2C630001 */ sltiu $v1, $v1, 1 +.L004468EC: +/* 004468EC 100000C2 */ b .L00446BF8 +/* 004468F0 00601025 */ move $v0, $v1 +.L004468F4: +/* 004468F4 100000C0 */ b .L00446BF8 +/* 004468F8 00001025 */ move $v0, $zero +.L004468FC: +/* 004468FC 2C410048 */ sltiu $at, $v0, 0x48 +/* 00446900 14200032 */ bnez $at, .L004469CC +/* 00446904 2C410078 */ sltiu $at, $v0, 0x78 +/* 00446908 14200014 */ bnez $at, .L0044695C +/* 0044690C 2C41008E */ sltiu $at, $v0, 0x8e +/* 00446910 14200005 */ bnez $at, .L00446928 +/* 00446914 24010093 */ li $at, 147 +/* 00446918 5041FFDD */ beql $v0, $at, .L00446890 +/* 0044691C 90E90021 */ lbu $t1, 0x21($a3) +/* 00446920 10000042 */ b .L00446A2C +/* 00446924 00000000 */ nop +.L00446928: +/* 00446928 2401007D */ li $at, 125 +/* 0044692C 1041FF7B */ beq $v0, $at, .L0044671C +/* 00446930 2449FF7A */ addiu $t1, $v0, -0x86 +/* 00446934 2D210008 */ sltiu $at, $t1, 8 +/* 00446938 1020003C */ beqz $at, .L00446A2C +/* 0044693C 00000000 */ nop +/* 00446940 8F818038 */ lw $at, %got(jtbl_1000DBF8)($gp) +/* 00446944 00094880 */ sll $t1, $t1, 2 +/* 00446948 00290821 */ addu $at, $at, $t1 +/* 0044694C 8C29DBF8 */ lw $t1, %lo(jtbl_1000DBF8)($at) +/* 00446950 013C4821 */ addu $t1, $t1, $gp +/* 00446954 01200008 */ jr $t1 +/* 00446958 00000000 */ nop +.L0044695C: +/* 0044695C 2C41006A */ sltiu $at, $v0, 0x6a +/* 00446960 1420000D */ bnez $at, .L00446998 +/* 00446964 2401006E */ li $at, 110 +/* 00446968 1041FF03 */ beq $v0, $at, .L00446578 +/* 0044696C 244CFF8D */ addiu $t4, $v0, -0x73 +/* 00446970 2D810005 */ sltiu $at, $t4, 5 +/* 00446974 1020002D */ beqz $at, .L00446A2C +/* 00446978 00000000 */ nop +/* 0044697C 8F818038 */ lw $at, %got(jtbl_1000DBE4)($gp) +/* 00446980 000C6080 */ sll $t4, $t4, 2 +/* 00446984 002C0821 */ addu $at, $at, $t4 +/* 00446988 8C2CDBE4 */ lw $t4, %lo(jtbl_1000DBE4)($at) +/* 0044698C 019C6021 */ addu $t4, $t4, $gp +/* 00446990 01800008 */ jr $t4 +/* 00446994 00000000 */ nop +.L00446998: +/* 00446998 2C410062 */ sltiu $at, $v0, 0x62 +/* 0044699C 10200091 */ beqz $at, .L00446BE4 +/* 004469A0 244BFFB3 */ addiu $t3, $v0, -0x4d +/* 004469A4 2D610015 */ sltiu $at, $t3, 0x15 +/* 004469A8 10200020 */ beqz $at, .L00446A2C +/* 004469AC 00000000 */ nop +/* 004469B0 8F818038 */ lw $at, %got(jtbl_1000DB90)($gp) +/* 004469B4 000B5880 */ sll $t3, $t3, 2 +/* 004469B8 002B0821 */ addu $at, $at, $t3 +/* 004469BC 8C2BDB90 */ lw $t3, %lo(jtbl_1000DB90)($at) +/* 004469C0 017C5821 */ addu $t3, $t3, $gp +/* 004469C4 01600008 */ jr $t3 +/* 004469C8 00000000 */ nop +.L004469CC: +/* 004469CC 2C41001E */ sltiu $at, $v0, 0x1e +/* 004469D0 14200056 */ bnez $at, .L00446B2C +/* 004469D4 2C41002A */ sltiu $at, $v0, 0x2a +/* 004469D8 1420000E */ bnez $at, .L00446A14 +/* 004469DC 2C41003E */ sltiu $at, $v0, 0x3e +/* 004469E0 10200076 */ beqz $at, .L00446BBC +/* 004469E4 2458FFBA */ addiu $t8, $v0, -0x46 +/* 004469E8 244DFFCE */ addiu $t5, $v0, -0x32 +/* 004469EC 2DA1000C */ sltiu $at, $t5, 0xc +/* 004469F0 1020000E */ beqz $at, .L00446A2C +/* 004469F4 00000000 */ nop +/* 004469F8 8F818038 */ lw $at, %got(jtbl_1000DB58)($gp) +/* 004469FC 000D6880 */ sll $t5, $t5, 2 +/* 00446A00 002D0821 */ addu $at, $at, $t5 +/* 00446A04 8C2DDB58 */ lw $t5, %lo(jtbl_1000DB58)($at) +/* 00446A08 01BC6821 */ addu $t5, $t5, $gp +/* 00446A0C 01A00008 */ jr $t5 +/* 00446A10 00000000 */ nop +.L00446A14: +/* 00446A14 24010023 */ li $at, 35 +/* 00446A18 5041FF26 */ beql $v0, $at, .L004466B4 +/* 00446A1C 90F90021 */ lbu $t9, 0x21($a3) +/* 00446A20 2C410028 */ sltiu $at, $v0, 0x28 +/* 00446A24 5020FF23 */ beql $at, $zero, .L004466B4 +/* 00446A28 90F90021 */ lbu $t9, 0x21($a3) +.L00446A2C: +/* 00446A2C 8F8E8038 */ lw $t6, %got(RO_1000DAD0)($gp) +/* 00446A30 24040004 */ li $a0, 4 +/* 00446A34 24050842 */ li $a1, 2114 +/* 00446A38 25CEDAD0 */ addiu $t6, %lo(RO_1000DAD0) # addiu $t6, $t6, -0x2530 +/* 00446A3C 25D90048 */ addiu $t9, $t6, 0x48 +/* 00446A40 03A04025 */ move $t0, $sp +.L00446A44: +/* 00446A44 89CF0000 */ lwl $t7, ($t6) +/* 00446A48 99CF0003 */ lwr $t7, 3($t6) +/* 00446A4C 25CE000C */ addiu $t6, $t6, 0xc +/* 00446A50 2508000C */ addiu $t0, $t0, 0xc +/* 00446A54 A90FFFFC */ swl $t7, -4($t0) +/* 00446A58 B90FFFFF */ swr $t7, -1($t0) +/* 00446A5C 89D8FFF8 */ lwl $t8, -8($t6) +/* 00446A60 99D8FFFB */ lwr $t8, -5($t6) +/* 00446A64 A9180000 */ swl $t8, ($t0) +/* 00446A68 B9180003 */ swr $t8, 3($t0) +/* 00446A6C 89CFFFFC */ lwl $t7, -4($t6) +/* 00446A70 99CFFFFF */ lwr $t7, -1($t6) +/* 00446A74 A90F0004 */ swl $t7, 4($t0) +/* 00446A78 15D9FFF2 */ bne $t6, $t9, .L00446A44 +/* 00446A7C B90F0007 */ swr $t7, 7($t0) +/* 00446A80 89CF0000 */ lwl $t7, ($t6) +/* 00446A84 99CF0003 */ lwr $t7, 3($t6) +/* 00446A88 8F8A8038 */ lw $t2, %got(RO_1000DA80)($gp) +/* 00446A8C 03A05825 */ move $t3, $sp +/* 00446A90 A90F0008 */ swl $t7, 8($t0) +/* 00446A94 B90F000B */ swr $t7, 0xb($t0) +/* 00446A98 89D80004 */ lwl $t8, 4($t6) +/* 00446A9C 99D80007 */ lwr $t8, 7($t6) +/* 00446AA0 254ADA80 */ addiu $t2, %lo(RO_1000DA80) # addiu $t2, $t2, -0x2580 +/* 00446AA4 254D0048 */ addiu $t5, $t2, 0x48 +/* 00446AA8 A918000C */ swl $t8, 0xc($t0) +/* 00446AAC B918000F */ swr $t8, 0xf($t0) +.L00446AB0: +/* 00446AB0 894C0000 */ lwl $t4, ($t2) +/* 00446AB4 994C0003 */ lwr $t4, 3($t2) +/* 00446AB8 254A000C */ addiu $t2, $t2, 0xc +/* 00446ABC 256B000C */ addiu $t3, $t3, 0xc +/* 00446AC0 A96C004C */ swl $t4, 0x4c($t3) +/* 00446AC4 B96C004F */ swr $t4, 0x4f($t3) +/* 00446AC8 8949FFF8 */ lwl $t1, -8($t2) +/* 00446ACC 9949FFFB */ lwr $t1, -5($t2) +/* 00446AD0 A9690050 */ swl $t1, 0x50($t3) +/* 00446AD4 B9690053 */ swr $t1, 0x53($t3) +/* 00446AD8 894CFFFC */ lwl $t4, -4($t2) +/* 00446ADC 994CFFFF */ lwr $t4, -1($t2) +/* 00446AE0 A96C0054 */ swl $t4, 0x54($t3) +/* 00446AE4 154DFFF2 */ bne $t2, $t5, .L00446AB0 +/* 00446AE8 B96C0057 */ swr $t4, 0x57($t3) +/* 00446AEC 894C0000 */ lwl $t4, ($t2) +/* 00446AF0 994C0003 */ lwr $t4, 3($t2) +/* 00446AF4 A96C0058 */ swl $t4, 0x58($t3) +/* 00446AF8 B96C005B */ swr $t4, 0x5b($t3) +/* 00446AFC 89490004 */ lwl $t1, 4($t2) +/* 00446B00 99490007 */ lwr $t1, 7($t2) +/* 00446B04 A969005C */ swl $t1, 0x5c($t3) +/* 00446B08 B969005F */ swr $t1, 0x5f($t3) +/* 00446B0C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00446B10 8FA7000C */ lw $a3, 0xc($sp) +/* 00446B14 8FA60008 */ lw $a2, 8($sp) +/* 00446B18 0320F809 */ jalr $t9 +/* 00446B1C 00000000 */ nop +/* 00446B20 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00446B24 10000034 */ b .L00446BF8 +/* 00446B28 00001025 */ move $v0, $zero +.L00446B2C: +/* 00446B2C 2C410005 */ sltiu $at, $v0, 5 +/* 00446B30 1420000E */ bnez $at, .L00446B6C +/* 00446B34 2C41000F */ sltiu $at, $v0, 0xf +/* 00446B38 10200016 */ beqz $at, .L00446B94 +/* 00446B3C 2448FFE8 */ addiu $t0, $v0, -0x18 +/* 00446B40 2459FFF4 */ addiu $t9, $v0, -0xc +/* 00446B44 2F210003 */ sltiu $at, $t9, 3 +/* 00446B48 1020FFB8 */ beqz $at, .L00446A2C +/* 00446B4C 00000000 */ nop +/* 00446B50 8F818038 */ lw $at, %got(jtbl_1000DB34)($gp) +/* 00446B54 0019C880 */ sll $t9, $t9, 2 +/* 00446B58 00390821 */ addu $at, $at, $t9 +/* 00446B5C 8C39DB34 */ lw $t9, %lo(jtbl_1000DB34)($at) +/* 00446B60 033CC821 */ addu $t9, $t9, $gp +/* 00446B64 03200008 */ jr $t9 +/* 00446B68 00000000 */ nop +.L00446B6C: +/* 00446B6C 2C410005 */ sltiu $at, $v0, 5 +/* 00446B70 1020FFAE */ beqz $at, .L00446A2C +/* 00446B74 00000000 */ nop +/* 00446B78 8F818038 */ lw $at, %got(jtbl_1000DB20)($gp) +/* 00446B7C 00027080 */ sll $t6, $v0, 2 +/* 00446B80 002E0821 */ addu $at, $at, $t6 +/* 00446B84 8C2EDB20 */ lw $t6, %lo(jtbl_1000DB20)($at) +/* 00446B88 01DC7021 */ addu $t6, $t6, $gp +/* 00446B8C 01C00008 */ jr $t6 +/* 00446B90 00000000 */ nop +.L00446B94: +/* 00446B94 2D010006 */ sltiu $at, $t0, 6 +/* 00446B98 1020FFA4 */ beqz $at, .L00446A2C +/* 00446B9C 00000000 */ nop +/* 00446BA0 8F818038 */ lw $at, %got(jtbl_1000DB40)($gp) +/* 00446BA4 00084080 */ sll $t0, $t0, 2 +/* 00446BA8 00280821 */ addu $at, $at, $t0 +/* 00446BAC 8C28DB40 */ lw $t0, %lo(jtbl_1000DB40)($at) +/* 00446BB0 011C4021 */ addu $t0, $t0, $gp +/* 00446BB4 01000008 */ jr $t0 +/* 00446BB8 00000000 */ nop +.L00446BBC: +/* 00446BBC 2F010002 */ sltiu $at, $t8, 2 +/* 00446BC0 1020FF9A */ beqz $at, .L00446A2C +/* 00446BC4 00000000 */ nop +/* 00446BC8 8F818038 */ lw $at, %got(jtbl_1000DB88)($gp) +/* 00446BCC 0018C080 */ sll $t8, $t8, 2 +/* 00446BD0 00380821 */ addu $at, $at, $t8 +/* 00446BD4 8C38DB88 */ lw $t8, %lo(jtbl_1000DB88)($at) +/* 00446BD8 031CC021 */ addu $t8, $t8, $gp +/* 00446BDC 03000008 */ jr $t8 +/* 00446BE0 00000000 */ nop +.L00446BE4: +/* 00446BE4 24010069 */ li $at, 105 +/* 00446BE8 5041FECD */ beql $v0, $at, .L00446720 +/* 00446BEC 90ED0021 */ lbu $t5, 0x21($a3) +/* 00446BF0 1000FF8E */ b .L00446A2C +/* 00446BF4 00000000 */ nop +.L00446BF8: +/* 00446BF8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00446BFC 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00446C00 03E00008 */ jr $ra +/* 00446C04 00000000 */ nop + .type cse_equ, @function + .size cse_equ, .-cse_equ + .end cse_equ + +glabel cse + .ent cse + # 004432FC translate +/* 00446C08 3C1C0FBE */ .cpload $t9 +/* 00446C0C 279C8E48 */ +/* 00446C10 0399E021 */ +/* 00446C14 8F8E8920 */ lw $t6, %got(no_cse_flag)($gp) +/* 00446C18 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00446C1C AFB30024 */ sw $s3, 0x24($sp) +/* 00446C20 8DCE0000 */ lw $t6, ($t6) +/* 00446C24 00809825 */ move $s3, $a0 +/* 00446C28 AFBF002C */ sw $ra, 0x2c($sp) +/* 00446C2C AFBC0028 */ sw $gp, 0x28($sp) +/* 00446C30 AFB20020 */ sw $s2, 0x20($sp) +/* 00446C34 AFB1001C */ sw $s1, 0x1c($sp) +/* 00446C38 19C00003 */ blez $t6, .L00446C48 +/* 00446C3C AFB00018 */ sw $s0, 0x18($sp) +/* 00446C40 10000072 */ b .L00446E0C +/* 00446C44 00801025 */ move $v0, $a0 +.L00446C48: +/* 00446C48 92620020 */ lbu $v0, 0x20($s3) +/* 00446C4C 24010036 */ li $at, 54 +/* 00446C50 10410003 */ beq $v0, $at, .L00446C60 +/* 00446C54 24010093 */ li $at, 147 +/* 00446C58 54410008 */ bnel $v0, $at, .L00446C7C +/* 00446C5C 8E620000 */ lw $v0, ($s3) +.L00446C60: +/* 00446C60 966F0022 */ lhu $t7, 0x22($s3) +/* 00446C64 31F80001 */ andi $t8, $t7, 1 +/* 00446C68 53000004 */ beql $t8, $zero, .L00446C7C +/* 00446C6C 8E620000 */ lw $v0, ($s3) +/* 00446C70 10000066 */ b .L00446E0C +/* 00446C74 02601025 */ move $v0, $s3 +/* 00446C78 8E620000 */ lw $v0, ($s3) +.L00446C7C: +/* 00446C7C 5040000A */ beql $v0, $zero, .L00446CA8 +/* 00446C80 8E620004 */ lw $v0, 4($s3) +/* 00446C84 94590014 */ lhu $t9, 0x14($v0) +/* 00446C88 2F210002 */ sltiu $at, $t9, 2 +/* 00446C8C 50200006 */ beql $at, $zero, .L00446CA8 +/* 00446C90 8E620004 */ lw $v0, 4($s3) +/* 00446C94 90480020 */ lbu $t0, 0x20($v0) +/* 00446C98 24010049 */ li $at, 73 +/* 00446C9C 1501004C */ bne $t0, $at, .L00446DD0 +/* 00446CA0 00000000 */ nop +/* 00446CA4 8E620004 */ lw $v0, 4($s3) +.L00446CA8: +/* 00446CA8 10400009 */ beqz $v0, .L00446CD0 +/* 00446CAC 00000000 */ nop +/* 00446CB0 94490014 */ lhu $t1, 0x14($v0) +/* 00446CB4 2D210002 */ sltiu $at, $t1, 2 +/* 00446CB8 10200005 */ beqz $at, .L00446CD0 +/* 00446CBC 00000000 */ nop +/* 00446CC0 904A0020 */ lbu $t2, 0x20($v0) +/* 00446CC4 24010049 */ li $at, 73 +/* 00446CC8 15410041 */ bne $t2, $at, .L00446DD0 +/* 00446CCC 00000000 */ nop +.L00446CD0: +/* 00446CD0 8F838B28 */ lw $v1, %got(expr_count)($gp) +/* 00446CD4 90630000 */ lbu $v1, ($v1) +/* 00446CD8 1060003D */ beqz $v1, .L00446DD0 +/* 00446CDC 306200FF */ andi $v0, $v1, 0xff +/* 00446CE0 8F8C8BAC */ lw $t4, %got(exprs)($gp) +/* 00446CE4 8F928BAC */ lw $s2, %got(exprs)($gp) +/* 00446CE8 00025880 */ sll $t3, $v0, 2 +/* 00446CEC 258CFFFC */ addiu $t4, $t4, -4 +/* 00446CF0 016C8021 */ addu $s0, $t3, $t4 +/* 00446CF4 2652FFFC */ addiu $s2, $s2, -4 +/* 00446CF8 8E110000 */ lw $s1, ($s0) +.L00446CFC: +/* 00446CFC 52200032 */ beql $s1, $zero, .L00446DC8 +/* 00446D00 2610FFFC */ addiu $s0, $s0, -4 +/* 00446D04 8F9985F8 */ lw $t9, %call16(cse_equ)($gp) +/* 00446D08 02602025 */ move $a0, $s3 +/* 00446D0C 02202825 */ move $a1, $s1 +/* 00446D10 0320F809 */ jalr $t9 +/* 00446D14 00000000 */ nop +/* 00446D18 1040002A */ beqz $v0, .L00446DC4 +/* 00446D1C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00446D20 16710003 */ bne $s3, $s1, .L00446D30 +/* 00446D24 00000000 */ nop +/* 00446D28 10000038 */ b .L00446E0C +/* 00446D2C 02601025 */ move $v0, $s3 +.L00446D30: +/* 00446D30 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00446D34 02602025 */ move $a0, $s3 +/* 00446D38 0320F809 */ jalr $t9 +/* 00446D3C 00000000 */ nop +/* 00446D40 92220020 */ lbu $v0, 0x20($s1) +/* 00446D44 2401003F */ li $at, 63 +/* 00446D48 8FBC0028 */ lw $gp, 0x28($sp) +/* 00446D4C 10410003 */ beq $v0, $at, .L00446D5C +/* 00446D50 24010094 */ li $at, 148 +/* 00446D54 14410015 */ bne $v0, $at, .L00446DAC +/* 00446D58 00000000 */ nop +.L00446D5C: +/* 00446D5C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00446D60 8E240004 */ lw $a0, 4($s1) +/* 00446D64 0320F809 */ jalr $t9 +/* 00446D68 00000000 */ nop +/* 00446D6C 904D0020 */ lbu $t5, 0x20($v0) +/* 00446D70 24010049 */ li $at, 73 +/* 00446D74 8FBC0028 */ lw $gp, 0x28($sp) +/* 00446D78 15A1000A */ bne $t5, $at, .L00446DA4 +/* 00446D7C 00408825 */ move $s1, $v0 +/* 00446D80 8E650028 */ lw $a1, 0x28($s3) +/* 00446D84 8C4E0028 */ lw $t6, 0x28($v0) +/* 00446D88 10AE0006 */ beq $a1, $t6, .L00446DA4 +/* 00446D8C 00000000 */ nop +/* 00446D90 8F9985D0 */ lw $t9, %call16(force_casting)($gp) +/* 00446D94 00402025 */ move $a0, $v0 +/* 00446D98 0320F809 */ jalr $t9 +/* 00446D9C 00000000 */ nop +/* 00446DA0 8FBC0028 */ lw $gp, 0x28($sp) +.L00446DA4: +/* 00446DA4 10000019 */ b .L00446E0C +/* 00446DA8 02201025 */ move $v0, $s1 +.L00446DAC: +/* 00446DAC 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00446DB0 02202025 */ move $a0, $s1 +/* 00446DB4 0320F809 */ jalr $t9 +/* 00446DB8 00000000 */ nop +/* 00446DBC 10000013 */ b .L00446E0C +/* 00446DC0 8FBC0028 */ lw $gp, 0x28($sp) +.L00446DC4: +/* 00446DC4 2610FFFC */ addiu $s0, $s0, -4 +.L00446DC8: +/* 00446DC8 5612FFCC */ bnel $s0, $s2, .L00446CFC +/* 00446DCC 8E110000 */ lw $s1, ($s0) +.L00446DD0: +/* 00446DD0 8F828B28 */ lw $v0, %got(expr_count)($gp) +/* 00446DD4 90420000 */ lbu $v0, ($v0) +/* 00446DD8 2841000A */ slti $at, $v0, 0xa +/* 00446DDC 1020000A */ beqz $at, .L00446E08 +/* 00446DE0 244F0001 */ addiu $t7, $v0, 1 +/* 00446DE4 8F818B28 */ lw $at, %got(expr_count)($gp) +/* 00446DE8 8F988B28 */ lw $t8, %got(expr_count)($gp) +/* 00446DEC 8F888BAC */ lw $t0, %got(exprs)($gp) +/* 00446DF0 A02F0000 */ sb $t7, ($at) +/* 00446DF4 93180000 */ lbu $t8, ($t8) +/* 00446DF8 2508FFFC */ addiu $t0, $t0, -4 +/* 00446DFC 0018C880 */ sll $t9, $t8, 2 +/* 00446E00 03284821 */ addu $t1, $t9, $t0 +/* 00446E04 AD330000 */ sw $s3, ($t1) +.L00446E08: +/* 00446E08 02601025 */ move $v0, $s3 +.L00446E0C: +/* 00446E0C 8FBF002C */ lw $ra, 0x2c($sp) +/* 00446E10 8FB00018 */ lw $s0, 0x18($sp) +/* 00446E14 8FB1001C */ lw $s1, 0x1c($sp) +/* 00446E18 8FB20020 */ lw $s2, 0x20($sp) +/* 00446E1C 8FB30024 */ lw $s3, 0x24($sp) +/* 00446E20 03E00008 */ jr $ra +/* 00446E24 27BD0030 */ addiu $sp, $sp, 0x30 + .type cse, @function + .size cse, .-cse + .end cse + +glabel overlap + .ent overlap + # 0040EC54 func_0040EC54 + # 0042A91C pass_in_register + # 00447150 check_vreg + # 0044747C find_vreg_mtag + # 004481CC uses + # 00448584 add_store +/* 00446E28 908E0020 */ lbu $t6, 0x20($a0) +/* 00446E2C 24030047 */ li $v1, 71 +/* 00446E30 546E0004 */ bnel $v1, $t6, .L00446E44 +/* 00446E34 8C82002C */ lw $v0, 0x2c($a0) +/* 00446E38 10000002 */ b .L00446E44 +/* 00446E3C 8C820030 */ lw $v0, 0x30($a0) +/* 00446E40 8C82002C */ lw $v0, 0x2c($a0) +.L00446E44: +/* 00446E44 90AF0020 */ lbu $t7, 0x20($a1) +/* 00446E48 546F0004 */ bnel $v1, $t7, .L00446E5C +/* 00446E4C 8CA3002C */ lw $v1, 0x2c($a1) +/* 00446E50 10000002 */ b .L00446E5C +/* 00446E54 8CA30030 */ lw $v1, 0x30($a1) +/* 00446E58 8CA3002C */ lw $v1, 0x2c($a1) +.L00446E5C: +/* 00446E5C 8CB80028 */ lw $t8, 0x28($a1) +/* 00446E60 0078C821 */ addu $t9, $v1, $t8 +/* 00446E64 0059302A */ slt $a2, $v0, $t9 +/* 00446E68 38C60001 */ xori $a2, $a2, 1 +/* 00446E6C 2CC60001 */ sltiu $a2, $a2, 1 +/* 00446E70 10C00006 */ beqz $a2, .L00446E8C +/* 00446E74 00000000 */ nop +/* 00446E78 8C880028 */ lw $t0, 0x28($a0) +/* 00446E7C 00484821 */ addu $t1, $v0, $t0 +/* 00446E80 0069302A */ slt $a2, $v1, $t1 +/* 00446E84 38C60001 */ xori $a2, $a2, 1 +/* 00446E88 2CC60001 */ sltiu $a2, $a2, 1 +.L00446E8C: +/* 00446E8C 03E00008 */ jr $ra +/* 00446E90 00C01025 */ move $v0, $a2 + .type overlap, @function + .size overlap, .-overlap + .end overlap + +glabel free_tree_and_cse + .ent free_tree_and_cse + # 00434E4C fold1 + # 004432FC translate + # 00446C08 cse + # 00446E94 free_tree_and_cse +/* 00446E94 3C1C0FBE */ .cpload $t9 +/* 00446E98 279C8BBC */ +/* 00446E9C 0399E021 */ +/* 00446EA0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00446EA4 AFBF001C */ sw $ra, 0x1c($sp) +/* 00446EA8 AFBC0018 */ sw $gp, 0x18($sp) +/* 00446EAC 948E0014 */ lhu $t6, 0x14($a0) +/* 00446EB0 00802825 */ move $a1, $a0 +/* 00446EB4 25CFFFFF */ addiu $t7, $t6, -1 +/* 00446EB8 31F8FFFF */ andi $t8, $t7, 0xffff +/* 00446EBC 170000A0 */ bnez $t8, .L00447140 +/* 00446EC0 A48F0014 */ sh $t7, 0x14($a0) +/* 00446EC4 90880020 */ lbu $t0, 0x20($a0) +/* 00446EC8 2519FFE0 */ addiu $t9, $t0, -0x20 +/* 00446ECC 2F290040 */ sltiu $t1, $t9, 0x40 +/* 00446ED0 11200009 */ beqz $t1, .L00446EF8 +/* 00446ED4 00000000 */ nop +/* 00446ED8 8F8C8038 */ lw $t4, %got(D_10016994)($gp) +/* 00446EDC 00195143 */ sra $t2, $t9, 5 +/* 00446EE0 000A5880 */ sll $t3, $t2, 2 +/* 00446EE4 258C6994 */ addiu $t4, %lo(D_10016994) # addiu $t4, $t4, 0x6994 +/* 00446EE8 018B6821 */ addu $t5, $t4, $t3 +/* 00446EEC 8DAE0000 */ lw $t6, ($t5) +/* 00446EF0 032E7804 */ sllv $t7, $t6, $t9 +/* 00446EF4 29E90000 */ slti $t1, $t7, 0 +.L00446EF8: +/* 00446EF8 11200031 */ beqz $t1, .L00446FC0 +/* 00446EFC 00000000 */ nop +/* 00446F00 8F868B2C */ lw $a2, %got(load_count)($gp) +/* 00446F04 90C60000 */ lbu $a2, ($a2) +/* 00446F08 10C0005B */ beqz $a2, .L00447078 +/* 00446F0C 30C70003 */ andi $a3, $a2, 3 +/* 00446F10 00073823 */ negu $a3, $a3 +/* 00446F14 10E0000F */ beqz $a3, .L00446F54 +/* 00446F18 00C01825 */ move $v1, $a2 +/* 00446F1C 8F8C8BB0 */ lw $t4, %got(loads)($gp) +/* 00446F20 00065080 */ sll $t2, $a2, 2 +/* 00446F24 00E62021 */ addu $a0, $a3, $a2 +/* 00446F28 258CFFFC */ addiu $t4, $t4, -4 +/* 00446F2C 014C1021 */ addu $v0, $t2, $t4 +.L00446F30: +/* 00446F30 8C4B0000 */ lw $t3, ($v0) +/* 00446F34 2463FFFF */ addiu $v1, $v1, -1 +/* 00446F38 14AB0002 */ bne $a1, $t3, .L00446F44 +/* 00446F3C 00000000 */ nop +/* 00446F40 AC400000 */ sw $zero, ($v0) +.L00446F44: +/* 00446F44 1483FFFA */ bne $a0, $v1, .L00446F30 +/* 00446F48 2442FFFC */ addiu $v0, $v0, -4 +/* 00446F4C 5060004B */ beql $v1, $zero, .L0044707C +/* 00446F50 8CA40000 */ lw $a0, ($a1) +.L00446F54: +/* 00446F54 8F8E8BB0 */ lw $t6, %got(loads)($gp) +/* 00446F58 00036880 */ sll $t5, $v1, 2 +/* 00446F5C 8F838BB0 */ lw $v1, %got(loads)($gp) +/* 00446F60 25CEFFFC */ addiu $t6, $t6, -4 +/* 00446F64 01AE1021 */ addu $v0, $t5, $t6 +/* 00446F68 2463FFFC */ addiu $v1, $v1, -4 +/* 00446F6C 8C590000 */ lw $t9, ($v0) +.L00446F70: +/* 00446F70 54B90003 */ bnel $a1, $t9, .L00446F80 +/* 00446F74 8C4FFFFC */ lw $t7, -4($v0) +/* 00446F78 AC400000 */ sw $zero, ($v0) +/* 00446F7C 8C4FFFFC */ lw $t7, -4($v0) +.L00446F80: +/* 00446F80 54AF0003 */ bnel $a1, $t7, .L00446F90 +/* 00446F84 8C58FFF8 */ lw $t8, -8($v0) +/* 00446F88 AC40FFFC */ sw $zero, -4($v0) +/* 00446F8C 8C58FFF8 */ lw $t8, -8($v0) +.L00446F90: +/* 00446F90 54B80003 */ bnel $a1, $t8, .L00446FA0 +/* 00446F94 8C49FFF4 */ lw $t1, -0xc($v0) +/* 00446F98 AC40FFF8 */ sw $zero, -8($v0) +/* 00446F9C 8C49FFF4 */ lw $t1, -0xc($v0) +.L00446FA0: +/* 00446FA0 54A90003 */ bnel $a1, $t1, .L00446FB0 +/* 00446FA4 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00446FA8 AC40FFF4 */ sw $zero, -0xc($v0) +/* 00446FAC 2442FFF0 */ addiu $v0, $v0, -0x10 +.L00446FB0: +/* 00446FB0 5443FFEF */ bnel $v0, $v1, .L00446F70 +/* 00446FB4 8C590000 */ lw $t9, ($v0) +/* 00446FB8 10000030 */ b .L0044707C +/* 00446FBC 8CA40000 */ lw $a0, ($a1) +.L00446FC0: +/* 00446FC0 8F868B28 */ lw $a2, %got(expr_count)($gp) +/* 00446FC4 90C60000 */ lbu $a2, ($a2) +/* 00446FC8 10C0002B */ beqz $a2, .L00447078 +/* 00446FCC 30C70003 */ andi $a3, $a2, 3 +/* 00446FD0 00073823 */ negu $a3, $a3 +/* 00446FD4 10E0000F */ beqz $a3, .L00447014 +/* 00446FD8 00C01825 */ move $v1, $a2 +/* 00446FDC 8F8C8BAC */ lw $t4, %got(exprs)($gp) +/* 00446FE0 00065080 */ sll $t2, $a2, 2 +/* 00446FE4 00E62021 */ addu $a0, $a3, $a2 +/* 00446FE8 258CFFFC */ addiu $t4, $t4, -4 +/* 00446FEC 014C1021 */ addu $v0, $t2, $t4 +.L00446FF0: +/* 00446FF0 8C4B0000 */ lw $t3, ($v0) +/* 00446FF4 2463FFFF */ addiu $v1, $v1, -1 +/* 00446FF8 14AB0002 */ bne $a1, $t3, .L00447004 +/* 00446FFC 00000000 */ nop +/* 00447000 AC400000 */ sw $zero, ($v0) +.L00447004: +/* 00447004 1483FFFA */ bne $a0, $v1, .L00446FF0 +/* 00447008 2442FFFC */ addiu $v0, $v0, -4 +/* 0044700C 5060001B */ beql $v1, $zero, .L0044707C +/* 00447010 8CA40000 */ lw $a0, ($a1) +.L00447014: +/* 00447014 8F8E8BAC */ lw $t6, %got(exprs)($gp) +/* 00447018 00036880 */ sll $t5, $v1, 2 +/* 0044701C 8F838BAC */ lw $v1, %got(exprs)($gp) +/* 00447020 25CEFFFC */ addiu $t6, $t6, -4 +/* 00447024 01AE1021 */ addu $v0, $t5, $t6 +/* 00447028 2463FFFC */ addiu $v1, $v1, -4 +/* 0044702C 8C590000 */ lw $t9, ($v0) +.L00447030: +/* 00447030 54B90003 */ bnel $a1, $t9, .L00447040 +/* 00447034 8C4FFFFC */ lw $t7, -4($v0) +/* 00447038 AC400000 */ sw $zero, ($v0) +/* 0044703C 8C4FFFFC */ lw $t7, -4($v0) +.L00447040: +/* 00447040 54AF0003 */ bnel $a1, $t7, .L00447050 +/* 00447044 8C58FFF8 */ lw $t8, -8($v0) +/* 00447048 AC40FFFC */ sw $zero, -4($v0) +/* 0044704C 8C58FFF8 */ lw $t8, -8($v0) +.L00447050: +/* 00447050 54B80003 */ bnel $a1, $t8, .L00447060 +/* 00447054 8C49FFF4 */ lw $t1, -0xc($v0) +/* 00447058 AC40FFF8 */ sw $zero, -8($v0) +/* 0044705C 8C49FFF4 */ lw $t1, -0xc($v0) +.L00447060: +/* 00447060 54A90003 */ bnel $a1, $t1, .L00447070 +/* 00447064 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 00447068 AC40FFF4 */ sw $zero, -0xc($v0) +/* 0044706C 2442FFF0 */ addiu $v0, $v0, -0x10 +.L00447070: +/* 00447070 5443FFEF */ bnel $v0, $v1, .L00447030 +/* 00447074 8C590000 */ lw $t9, ($v0) +.L00447078: +/* 00447078 8CA40000 */ lw $a0, ($a1) +.L0044707C: +/* 0044707C 2D0A0080 */ sltiu $t2, $t0, 0x80 +/* 00447080 50800014 */ beql $a0, $zero, .L004470D4 +/* 00447084 8CA40004 */ lw $a0, 4($a1) +/* 00447088 11400009 */ beqz $t2, .L004470B0 +/* 0044708C 00000000 */ nop +/* 00447090 8F8D8038 */ lw $t5, %got(D_10016984)($gp) +/* 00447094 00086143 */ sra $t4, $t0, 5 +/* 00447098 000C5880 */ sll $t3, $t4, 2 +/* 0044709C 25AD6984 */ addiu $t5, %lo(D_10016984) # addiu $t5, $t5, 0x6984 +/* 004470A0 01AB7021 */ addu $t6, $t5, $t3 +/* 004470A4 8DD90000 */ lw $t9, ($t6) +/* 004470A8 01197804 */ sllv $t7, $t9, $t0 +/* 004470AC 29EA0000 */ slti $t2, $t7, 0 +.L004470B0: +/* 004470B0 55400008 */ bnel $t2, $zero, .L004470D4 +/* 004470B4 8CA40004 */ lw $a0, 4($a1) +/* 004470B8 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 004470BC AFA50020 */ sw $a1, 0x20($sp) +/* 004470C0 0320F809 */ jalr $t9 +/* 004470C4 00000000 */ nop +/* 004470C8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004470CC 8FA50020 */ lw $a1, 0x20($sp) +/* 004470D0 8CA40004 */ lw $a0, 4($a1) +.L004470D4: +/* 004470D4 10800015 */ beqz $a0, .L0044712C +/* 004470D8 00000000 */ nop +/* 004470DC 90A90020 */ lbu $t1, 0x20($a1) +/* 004470E0 2D2C00A0 */ sltiu $t4, $t1, 0xa0 +/* 004470E4 11800009 */ beqz $t4, .L0044710C +/* 004470E8 00000000 */ nop +/* 004470EC 8F8E8038 */ lw $t6, %got(D_10016970)($gp) +/* 004470F0 00096943 */ sra $t5, $t1, 5 +/* 004470F4 000D5880 */ sll $t3, $t5, 2 +/* 004470F8 25CE6970 */ addiu $t6, %lo(D_10016970) # addiu $t6, $t6, 0x6970 +/* 004470FC 01CBC821 */ addu $t9, $t6, $t3 +/* 00447100 8F2F0000 */ lw $t7, ($t9) +/* 00447104 012FC004 */ sllv $t8, $t7, $t1 +/* 00447108 2B0C0000 */ slti $t4, $t8, 0 +.L0044710C: +/* 0044710C 15800007 */ bnez $t4, .L0044712C +/* 00447110 00000000 */ nop +/* 00447114 8F998604 */ lw $t9, %call16(free_tree_and_cse)($gp) +/* 00447118 AFA50020 */ sw $a1, 0x20($sp) +/* 0044711C 0320F809 */ jalr $t9 +/* 00447120 00000000 */ nop +/* 00447124 8FBC0018 */ lw $gp, 0x18($sp) +/* 00447128 8FA50020 */ lw $a1, 0x20($sp) +.L0044712C: +/* 0044712C 8F998670 */ lw $t9, %call16(free_node)($gp) +/* 00447130 00A02025 */ move $a0, $a1 +/* 00447134 0320F809 */ jalr $t9 +/* 00447138 00000000 */ nop +/* 0044713C 8FBC0018 */ lw $gp, 0x18($sp) +.L00447140: +/* 00447140 8FBF001C */ lw $ra, 0x1c($sp) +/* 00447144 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00447148 03E00008 */ jr $ra +/* 0044714C 00000000 */ nop + .type free_tree_and_cse, @function + .size free_tree_and_cse, .-free_tree_and_cse + .end free_tree_and_cse + +glabel check_vreg + .ent check_vreg + # 004432FC translate + # 00447768 check_reg +/* 00447150 3C1C0FBE */ .cpload $t9 +/* 00447154 279C8900 */ +/* 00447158 0399E021 */ +/* 0044715C 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 00447160 AFB400BC */ sw $s4, 0xbc($sp) +/* 00447164 8F948B20 */ lw $s4, %got(vreg_count)($gp) +/* 00447168 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0044716C 00809825 */ move $s3, $a0 +/* 00447170 8E940000 */ lw $s4, ($s4) +/* 00447174 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 00447178 AFBC00C0 */ sw $gp, 0xc0($sp) +/* 0044717C 2694FFFF */ addiu $s4, $s4, -1 +/* 00447180 AFB200B4 */ sw $s2, 0xb4($sp) +/* 00447184 AFB100B0 */ sw $s1, 0xb0($sp) +/* 00447188 AFB000AC */ sw $s0, 0xac($sp) +/* 0044718C 068000B2 */ bltz $s4, .L00447458 +/* 00447190 AFA500CC */ sw $a1, 0xcc($sp) +/* 00447194 00008025 */ move $s0, $zero +/* 00447198 26940001 */ addiu $s4, $s4, 1 +/* 0044719C 8F928BBC */ lw $s2, %got(vregs)($gp) +.L004471A0: +/* 004471A0 8E510000 */ lw $s1, ($s2) +/* 004471A4 522000AA */ beql $s1, $zero, .L00447450 +/* 004471A8 26100001 */ addiu $s0, $s0, 1 +/* 004471AC 8E2E0024 */ lw $t6, 0x24($s1) +/* 004471B0 8E6F0024 */ lw $t7, 0x24($s3) +/* 004471B4 55CF00A6 */ bnel $t6, $t7, .L00447450 +/* 004471B8 26100001 */ addiu $s0, $s0, 1 +/* 004471BC 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 004471C0 02602025 */ move $a0, $s3 +/* 004471C4 02202825 */ move $a1, $s1 +/* 004471C8 0320F809 */ jalr $t9 +/* 004471CC 00000000 */ nop +/* 004471D0 1040009E */ beqz $v0, .L0044744C +/* 004471D4 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004471D8 92380021 */ lbu $t8, 0x21($s1) +/* 004471DC 92690021 */ lbu $t1, 0x21($s3) +/* 004471E0 24040004 */ li $a0, 4 +/* 004471E4 0018CE00 */ sll $t9, $t8, 0x18 +/* 004471E8 00095600 */ sll $t2, $t1, 0x18 +/* 004471EC 000A5F42 */ srl $t3, $t2, 0x1d +/* 004471F0 00194742 */ srl $t0, $t9, 0x1d +/* 004471F4 510B003F */ beql $t0, $t3, .L004472F4 +/* 004471F8 8E38002C */ lw $t8, 0x2c($s1) +/* 004471FC 8F8C8038 */ lw $t4, %got(RO_1000DD08)($gp) +/* 00447200 240508D0 */ li $a1, 2256 +/* 00447204 03A07825 */ move $t7, $sp +/* 00447208 258CDD08 */ addiu $t4, %lo(RO_1000DD08) # addiu $t4, $t4, -0x22f8 +/* 0044720C 25980048 */ addiu $t8, $t4, 0x48 +.L00447210: +/* 00447210 898E0000 */ lwl $t6, ($t4) +/* 00447214 998E0003 */ lwr $t6, 3($t4) +/* 00447218 258C000C */ addiu $t4, $t4, 0xc +/* 0044721C 25EF000C */ addiu $t7, $t7, 0xc +/* 00447220 A9EEFFFC */ swl $t6, -4($t7) +/* 00447224 B9EEFFFF */ swr $t6, -1($t7) +/* 00447228 898DFFF8 */ lwl $t5, -8($t4) +/* 0044722C 998DFFFB */ lwr $t5, -5($t4) +/* 00447230 A9ED0000 */ swl $t5, ($t7) +/* 00447234 B9ED0003 */ swr $t5, 3($t7) +/* 00447238 898EFFFC */ lwl $t6, -4($t4) +/* 0044723C 998EFFFF */ lwr $t6, -1($t4) +/* 00447240 A9EE0004 */ swl $t6, 4($t7) +/* 00447244 1598FFF2 */ bne $t4, $t8, .L00447210 +/* 00447248 B9EE0007 */ swr $t6, 7($t7) +/* 0044724C 898E0000 */ lwl $t6, ($t4) +/* 00447250 998E0003 */ lwr $t6, 3($t4) +/* 00447254 8F998038 */ lw $t9, %got(RO_1000DCB8)($gp) +/* 00447258 03A04025 */ move $t0, $sp +/* 0044725C A9EE0008 */ swl $t6, 8($t7) +/* 00447260 B9EE000B */ swr $t6, 0xb($t7) +/* 00447264 898D0004 */ lwl $t5, 4($t4) +/* 00447268 998D0007 */ lwr $t5, 7($t4) +/* 0044726C 2739DCB8 */ addiu $t9, %lo(RO_1000DCB8) # addiu $t9, $t9, -0x2348 +/* 00447270 272B0048 */ addiu $t3, $t9, 0x48 +/* 00447274 A9ED000C */ swl $t5, 0xc($t7) +/* 00447278 B9ED000F */ swr $t5, 0xf($t7) +.L0044727C: +/* 0044727C 8B2A0000 */ lwl $t2, ($t9) +/* 00447280 9B2A0003 */ lwr $t2, 3($t9) +/* 00447284 2739000C */ addiu $t9, $t9, 0xc +/* 00447288 2508000C */ addiu $t0, $t0, 0xc +/* 0044728C A90A004C */ swl $t2, 0x4c($t0) +/* 00447290 B90A004F */ swr $t2, 0x4f($t0) +/* 00447294 8B29FFF8 */ lwl $t1, -8($t9) +/* 00447298 9B29FFFB */ lwr $t1, -5($t9) +/* 0044729C A9090050 */ swl $t1, 0x50($t0) +/* 004472A0 B9090053 */ swr $t1, 0x53($t0) +/* 004472A4 8B2AFFFC */ lwl $t2, -4($t9) +/* 004472A8 9B2AFFFF */ lwr $t2, -1($t9) +/* 004472AC A90A0054 */ swl $t2, 0x54($t0) +/* 004472B0 172BFFF2 */ bne $t9, $t3, .L0044727C +/* 004472B4 B90A0057 */ swr $t2, 0x57($t0) +/* 004472B8 8B2A0000 */ lwl $t2, ($t9) +/* 004472BC 9B2A0003 */ lwr $t2, 3($t9) +/* 004472C0 A90A0058 */ swl $t2, 0x58($t0) +/* 004472C4 B90A005B */ swr $t2, 0x5b($t0) +/* 004472C8 8B290004 */ lwl $t1, 4($t9) +/* 004472CC 9B290007 */ lwr $t1, 7($t9) +/* 004472D0 A909005C */ swl $t1, 0x5c($t0) +/* 004472D4 B909005F */ swr $t1, 0x5f($t0) +/* 004472D8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004472DC 8FA7000C */ lw $a3, 0xc($sp) +/* 004472E0 8FA60008 */ lw $a2, 8($sp) +/* 004472E4 0320F809 */ jalr $t9 +/* 004472E8 00000000 */ nop +/* 004472EC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 004472F0 8E38002C */ lw $t8, 0x2c($s1) +.L004472F4: +/* 004472F4 8E6C002C */ lw $t4, 0x2c($s3) +/* 004472F8 24040004 */ li $a0, 4 +/* 004472FC 170C0005 */ bne $t8, $t4, .L00447314 +/* 00447300 00000000 */ nop +/* 00447304 8E2F0028 */ lw $t7, 0x28($s1) +/* 00447308 8E6D0028 */ lw $t5, 0x28($s3) +/* 0044730C 51ED003F */ beql $t7, $t5, .L0044740C +/* 00447310 93A900CF */ lbu $t1, 0xcf($sp) +.L00447314: +/* 00447314 8F8E8038 */ lw $t6, %got(RO_1000DC68)($gp) +/* 00447318 240508D5 */ li $a1, 2261 +/* 0044731C 03A04025 */ move $t0, $sp +/* 00447320 25CEDC68 */ addiu $t6, %lo(RO_1000DC68) # addiu $t6, $t6, -0x2398 +/* 00447324 25C90048 */ addiu $t1, $t6, 0x48 +.L00447328: +/* 00447328 89D90000 */ lwl $t9, ($t6) +/* 0044732C 99D90003 */ lwr $t9, 3($t6) +/* 00447330 25CE000C */ addiu $t6, $t6, 0xc +/* 00447334 2508000C */ addiu $t0, $t0, 0xc +/* 00447338 A919FFFC */ swl $t9, -4($t0) +/* 0044733C B919FFFF */ swr $t9, -1($t0) +/* 00447340 89CBFFF8 */ lwl $t3, -8($t6) +/* 00447344 99CBFFFB */ lwr $t3, -5($t6) +/* 00447348 A90B0000 */ swl $t3, ($t0) +/* 0044734C B90B0003 */ swr $t3, 3($t0) +/* 00447350 89D9FFFC */ lwl $t9, -4($t6) +/* 00447354 99D9FFFF */ lwr $t9, -1($t6) +/* 00447358 A9190004 */ swl $t9, 4($t0) +/* 0044735C 15C9FFF2 */ bne $t6, $t1, .L00447328 +/* 00447360 B9190007 */ swr $t9, 7($t0) +/* 00447364 89D90000 */ lwl $t9, ($t6) +/* 00447368 99D90003 */ lwr $t9, 3($t6) +/* 0044736C 8F8A8038 */ lw $t2, %got(RO_1000DC18)($gp) +/* 00447370 03A07825 */ move $t7, $sp +/* 00447374 A9190008 */ swl $t9, 8($t0) +/* 00447378 B919000B */ swr $t9, 0xb($t0) +/* 0044737C 89CB0004 */ lwl $t3, 4($t6) +/* 00447380 99CB0007 */ lwr $t3, 7($t6) +/* 00447384 254ADC18 */ addiu $t2, %lo(RO_1000DC18) # addiu $t2, $t2, -0x23e8 +/* 00447388 254D0048 */ addiu $t5, $t2, 0x48 +/* 0044738C A90B000C */ swl $t3, 0xc($t0) +/* 00447390 B90B000F */ swr $t3, 0xf($t0) +.L00447394: +/* 00447394 894C0000 */ lwl $t4, ($t2) +/* 00447398 994C0003 */ lwr $t4, 3($t2) +/* 0044739C 254A000C */ addiu $t2, $t2, 0xc +/* 004473A0 25EF000C */ addiu $t7, $t7, 0xc +/* 004473A4 A9EC004C */ swl $t4, 0x4c($t7) +/* 004473A8 B9EC004F */ swr $t4, 0x4f($t7) +/* 004473AC 8958FFF8 */ lwl $t8, -8($t2) +/* 004473B0 9958FFFB */ lwr $t8, -5($t2) +/* 004473B4 A9F80050 */ swl $t8, 0x50($t7) +/* 004473B8 B9F80053 */ swr $t8, 0x53($t7) +/* 004473BC 894CFFFC */ lwl $t4, -4($t2) +/* 004473C0 994CFFFF */ lwr $t4, -1($t2) +/* 004473C4 A9EC0054 */ swl $t4, 0x54($t7) +/* 004473C8 154DFFF2 */ bne $t2, $t5, .L00447394 +/* 004473CC B9EC0057 */ swr $t4, 0x57($t7) +/* 004473D0 894C0000 */ lwl $t4, ($t2) +/* 004473D4 994C0003 */ lwr $t4, 3($t2) +/* 004473D8 A9EC0058 */ swl $t4, 0x58($t7) +/* 004473DC B9EC005B */ swr $t4, 0x5b($t7) +/* 004473E0 89580004 */ lwl $t8, 4($t2) +/* 004473E4 99580007 */ lwr $t8, 7($t2) +/* 004473E8 A9F8005C */ swl $t8, 0x5c($t7) +/* 004473EC B9F8005F */ swr $t8, 0x5f($t7) +/* 004473F0 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 004473F4 8FA7000C */ lw $a3, 0xc($sp) +/* 004473F8 8FA60008 */ lw $a2, 8($sp) +/* 004473FC 0320F809 */ jalr $t9 +/* 00447400 00000000 */ nop +/* 00447404 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00447408 93A900CF */ lbu $t1, 0xcf($sp) +.L0044740C: +/* 0044740C 1520000D */ bnez $t1, .L00447444 +/* 00447410 00000000 */ nop +/* 00447414 926E0021 */ lbu $t6, 0x21($s3) +/* 00447418 8E420000 */ lw $v0, ($s2) +/* 0044741C 240A0001 */ li $t2, 1 +/* 00447420 31C8FF1F */ andi $t0, $t6, 0xff1f +/* 00447424 350B0060 */ ori $t3, $t0, 0x60 +/* 00447428 A26B0021 */ sb $t3, 0x21($s3) +/* 0044742C 8E390030 */ lw $t9, 0x30($s1) +/* 00447430 AE79002C */ sw $t9, 0x2c($s3) +/* 00447434 904D001A */ lbu $t5, 0x1a($v0) +/* 00447438 15A00002 */ bnez $t5, .L00447444 +/* 0044743C 00000000 */ nop +/* 00447440 A04A001A */ sb $t2, 0x1a($v0) +.L00447444: +/* 00447444 10000005 */ b .L0044745C +/* 00447448 24020001 */ li $v0, 1 +.L0044744C: +/* 0044744C 26100001 */ addiu $s0, $s0, 1 +.L00447450: +/* 00447450 1614FF53 */ bne $s0, $s4, .L004471A0 +/* 00447454 26520004 */ addiu $s2, $s2, 4 +.L00447458: +/* 00447458 00001025 */ move $v0, $zero +.L0044745C: +/* 0044745C 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 00447460 8FB000AC */ lw $s0, 0xac($sp) +/* 00447464 8FB100B0 */ lw $s1, 0xb0($sp) +/* 00447468 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0044746C 8FB300B8 */ lw $s3, 0xb8($sp) +/* 00447470 8FB400BC */ lw $s4, 0xbc($sp) +/* 00447474 03E00008 */ jr $ra +/* 00447478 27BD00C8 */ addiu $sp, $sp, 0xc8 + .type check_vreg, @function + .size check_vreg, .-check_vreg + .end check_vreg + +glabel find_vreg_mtag + .ent find_vreg_mtag + # 00447768 check_reg +/* 0044747C 3C1C0FBE */ .cpload $t9 +/* 00447480 279C85D4 */ +/* 00447484 0399E021 */ +/* 00447488 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0044748C AFB400BC */ sw $s4, 0xbc($sp) +/* 00447490 8F948B20 */ lw $s4, %got(vreg_count)($gp) +/* 00447494 AFB300B8 */ sw $s3, 0xb8($sp) +/* 00447498 00809825 */ move $s3, $a0 +/* 0044749C 8E940000 */ lw $s4, ($s4) +/* 004474A0 AFBF00C4 */ sw $ra, 0xc4($sp) +/* 004474A4 AFBC00C0 */ sw $gp, 0xc0($sp) +/* 004474A8 2694FFFF */ addiu $s4, $s4, -1 +/* 004474AC AFB200B4 */ sw $s2, 0xb4($sp) +/* 004474B0 AFB100B0 */ sw $s1, 0xb0($sp) +/* 004474B4 068000A4 */ bltz $s4, .L00447748 +/* 004474B8 AFB000AC */ sw $s0, 0xac($sp) +/* 004474BC 00008825 */ move $s1, $zero +/* 004474C0 26940001 */ addiu $s4, $s4, 1 +/* 004474C4 8F928BBC */ lw $s2, %got(vregs)($gp) +.L004474C8: +/* 004474C8 8E500000 */ lw $s0, ($s2) +/* 004474CC 5200009C */ beql $s0, $zero, .L00447740 +/* 004474D0 26310001 */ addiu $s1, $s1, 1 +/* 004474D4 8E0E0024 */ lw $t6, 0x24($s0) +/* 004474D8 8E6F0024 */ lw $t7, 0x24($s3) +/* 004474DC 55CF0098 */ bnel $t6, $t7, .L00447740 +/* 004474E0 26310001 */ addiu $s1, $s1, 1 +/* 004474E4 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 004474E8 02602025 */ move $a0, $s3 +/* 004474EC 02002825 */ move $a1, $s0 +/* 004474F0 0320F809 */ jalr $t9 +/* 004474F4 00000000 */ nop +/* 004474F8 10400090 */ beqz $v0, .L0044773C +/* 004474FC 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00447500 92180021 */ lbu $t8, 0x21($s0) +/* 00447504 92690021 */ lbu $t1, 0x21($s3) +/* 00447508 24040004 */ li $a0, 4 +/* 0044750C 0018CE00 */ sll $t9, $t8, 0x18 +/* 00447510 00095600 */ sll $t2, $t1, 0x18 +/* 00447514 000A5F42 */ srl $t3, $t2, 0x1d +/* 00447518 00194742 */ srl $t0, $t9, 0x1d +/* 0044751C 510B003F */ beql $t0, $t3, .L0044761C +/* 00447520 8E18002C */ lw $t8, 0x2c($s0) +/* 00447524 8F8C8038 */ lw $t4, %got(RO_1000DE48)($gp) +/* 00447528 240508F4 */ li $a1, 2292 +/* 0044752C 03A07825 */ move $t7, $sp +/* 00447530 258CDE48 */ addiu $t4, %lo(RO_1000DE48) # addiu $t4, $t4, -0x21b8 +/* 00447534 25980048 */ addiu $t8, $t4, 0x48 +.L00447538: +/* 00447538 898E0000 */ lwl $t6, ($t4) +/* 0044753C 998E0003 */ lwr $t6, 3($t4) +/* 00447540 258C000C */ addiu $t4, $t4, 0xc +/* 00447544 25EF000C */ addiu $t7, $t7, 0xc +/* 00447548 A9EEFFFC */ swl $t6, -4($t7) +/* 0044754C B9EEFFFF */ swr $t6, -1($t7) +/* 00447550 898DFFF8 */ lwl $t5, -8($t4) +/* 00447554 998DFFFB */ lwr $t5, -5($t4) +/* 00447558 A9ED0000 */ swl $t5, ($t7) +/* 0044755C B9ED0003 */ swr $t5, 3($t7) +/* 00447560 898EFFFC */ lwl $t6, -4($t4) +/* 00447564 998EFFFF */ lwr $t6, -1($t4) +/* 00447568 A9EE0004 */ swl $t6, 4($t7) +/* 0044756C 1598FFF2 */ bne $t4, $t8, .L00447538 +/* 00447570 B9EE0007 */ swr $t6, 7($t7) +/* 00447574 898E0000 */ lwl $t6, ($t4) +/* 00447578 998E0003 */ lwr $t6, 3($t4) +/* 0044757C 8F998038 */ lw $t9, %got(RO_1000DDF8)($gp) +/* 00447580 03A04025 */ move $t0, $sp +/* 00447584 A9EE0008 */ swl $t6, 8($t7) +/* 00447588 B9EE000B */ swr $t6, 0xb($t7) +/* 0044758C 898D0004 */ lwl $t5, 4($t4) +/* 00447590 998D0007 */ lwr $t5, 7($t4) +/* 00447594 2739DDF8 */ addiu $t9, %lo(RO_1000DDF8) # addiu $t9, $t9, -0x2208 +/* 00447598 272B0048 */ addiu $t3, $t9, 0x48 +/* 0044759C A9ED000C */ swl $t5, 0xc($t7) +/* 004475A0 B9ED000F */ swr $t5, 0xf($t7) +.L004475A4: +/* 004475A4 8B2A0000 */ lwl $t2, ($t9) +/* 004475A8 9B2A0003 */ lwr $t2, 3($t9) +/* 004475AC 2739000C */ addiu $t9, $t9, 0xc +/* 004475B0 2508000C */ addiu $t0, $t0, 0xc +/* 004475B4 A90A004C */ swl $t2, 0x4c($t0) +/* 004475B8 B90A004F */ swr $t2, 0x4f($t0) +/* 004475BC 8B29FFF8 */ lwl $t1, -8($t9) +/* 004475C0 9B29FFFB */ lwr $t1, -5($t9) +/* 004475C4 A9090050 */ swl $t1, 0x50($t0) +/* 004475C8 B9090053 */ swr $t1, 0x53($t0) +/* 004475CC 8B2AFFFC */ lwl $t2, -4($t9) +/* 004475D0 9B2AFFFF */ lwr $t2, -1($t9) +/* 004475D4 A90A0054 */ swl $t2, 0x54($t0) +/* 004475D8 172BFFF2 */ bne $t9, $t3, .L004475A4 +/* 004475DC B90A0057 */ swr $t2, 0x57($t0) +/* 004475E0 8B2A0000 */ lwl $t2, ($t9) +/* 004475E4 9B2A0003 */ lwr $t2, 3($t9) +/* 004475E8 A90A0058 */ swl $t2, 0x58($t0) +/* 004475EC B90A005B */ swr $t2, 0x5b($t0) +/* 004475F0 8B290004 */ lwl $t1, 4($t9) +/* 004475F4 9B290007 */ lwr $t1, 7($t9) +/* 004475F8 A909005C */ swl $t1, 0x5c($t0) +/* 004475FC B909005F */ swr $t1, 0x5f($t0) +/* 00447600 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00447604 8FA7000C */ lw $a3, 0xc($sp) +/* 00447608 8FA60008 */ lw $a2, 8($sp) +/* 0044760C 0320F809 */ jalr $t9 +/* 00447610 00000000 */ nop +/* 00447614 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00447618 8E18002C */ lw $t8, 0x2c($s0) +.L0044761C: +/* 0044761C 8E6C002C */ lw $t4, 0x2c($s3) +/* 00447620 24040004 */ li $a0, 4 +/* 00447624 170C0005 */ bne $t8, $t4, .L0044763C +/* 00447628 00000000 */ nop +/* 0044762C 8E0F0028 */ lw $t7, 0x28($s0) +/* 00447630 8E6D0028 */ lw $t5, 0x28($s3) +/* 00447634 51ED003F */ beql $t7, $t5, .L00447734 +/* 00447638 8E090034 */ lw $t1, 0x34($s0) +.L0044763C: +/* 0044763C 8F8E8038 */ lw $t6, %got(RO_1000DDA8)($gp) +/* 00447640 240508F9 */ li $a1, 2297 +/* 00447644 03A04025 */ move $t0, $sp +/* 00447648 25CEDDA8 */ addiu $t6, %lo(RO_1000DDA8) # addiu $t6, $t6, -0x2258 +/* 0044764C 25C90048 */ addiu $t1, $t6, 0x48 +.L00447650: +/* 00447650 89D90000 */ lwl $t9, ($t6) +/* 00447654 99D90003 */ lwr $t9, 3($t6) +/* 00447658 25CE000C */ addiu $t6, $t6, 0xc +/* 0044765C 2508000C */ addiu $t0, $t0, 0xc +/* 00447660 A919FFFC */ swl $t9, -4($t0) +/* 00447664 B919FFFF */ swr $t9, -1($t0) +/* 00447668 89CBFFF8 */ lwl $t3, -8($t6) +/* 0044766C 99CBFFFB */ lwr $t3, -5($t6) +/* 00447670 A90B0000 */ swl $t3, ($t0) +/* 00447674 B90B0003 */ swr $t3, 3($t0) +/* 00447678 89D9FFFC */ lwl $t9, -4($t6) +/* 0044767C 99D9FFFF */ lwr $t9, -1($t6) +/* 00447680 A9190004 */ swl $t9, 4($t0) +/* 00447684 15C9FFF2 */ bne $t6, $t1, .L00447650 +/* 00447688 B9190007 */ swr $t9, 7($t0) +/* 0044768C 89D90000 */ lwl $t9, ($t6) +/* 00447690 99D90003 */ lwr $t9, 3($t6) +/* 00447694 8F8A8038 */ lw $t2, %got(RO_1000DD58)($gp) +/* 00447698 03A07825 */ move $t7, $sp +/* 0044769C A9190008 */ swl $t9, 8($t0) +/* 004476A0 B919000B */ swr $t9, 0xb($t0) +/* 004476A4 89CB0004 */ lwl $t3, 4($t6) +/* 004476A8 99CB0007 */ lwr $t3, 7($t6) +/* 004476AC 254ADD58 */ addiu $t2, %lo(RO_1000DD58) # addiu $t2, $t2, -0x22a8 +/* 004476B0 254D0048 */ addiu $t5, $t2, 0x48 +/* 004476B4 A90B000C */ swl $t3, 0xc($t0) +/* 004476B8 B90B000F */ swr $t3, 0xf($t0) +.L004476BC: +/* 004476BC 894C0000 */ lwl $t4, ($t2) +/* 004476C0 994C0003 */ lwr $t4, 3($t2) +/* 004476C4 254A000C */ addiu $t2, $t2, 0xc +/* 004476C8 25EF000C */ addiu $t7, $t7, 0xc +/* 004476CC A9EC004C */ swl $t4, 0x4c($t7) +/* 004476D0 B9EC004F */ swr $t4, 0x4f($t7) +/* 004476D4 8958FFF8 */ lwl $t8, -8($t2) +/* 004476D8 9958FFFB */ lwr $t8, -5($t2) +/* 004476DC A9F80050 */ swl $t8, 0x50($t7) +/* 004476E0 B9F80053 */ swr $t8, 0x53($t7) +/* 004476E4 894CFFFC */ lwl $t4, -4($t2) +/* 004476E8 994CFFFF */ lwr $t4, -1($t2) +/* 004476EC A9EC0054 */ swl $t4, 0x54($t7) +/* 004476F0 154DFFF2 */ bne $t2, $t5, .L004476BC +/* 004476F4 B9EC0057 */ swr $t4, 0x57($t7) +/* 004476F8 894C0000 */ lwl $t4, ($t2) +/* 004476FC 994C0003 */ lwr $t4, 3($t2) +/* 00447700 A9EC0058 */ swl $t4, 0x58($t7) +/* 00447704 B9EC005B */ swr $t4, 0x5b($t7) +/* 00447708 89580004 */ lwl $t8, 4($t2) +/* 0044770C 99580007 */ lwr $t8, 7($t2) +/* 00447710 A9F8005C */ swl $t8, 0x5c($t7) +/* 00447714 B9F8005F */ swr $t8, 0x5f($t7) +/* 00447718 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044771C 8FA7000C */ lw $a3, 0xc($sp) +/* 00447720 8FA60008 */ lw $a2, 8($sp) +/* 00447724 0320F809 */ jalr $t9 +/* 00447728 00000000 */ nop +/* 0044772C 8FBC00C0 */ lw $gp, 0xc0($sp) +/* 00447730 8E090034 */ lw $t1, 0x34($s0) +.L00447734: +/* 00447734 10000004 */ b .L00447748 +/* 00447738 AE690030 */ sw $t1, 0x30($s3) +.L0044773C: +/* 0044773C 26310001 */ addiu $s1, $s1, 1 +.L00447740: +/* 00447740 1634FF61 */ bne $s1, $s4, .L004474C8 +/* 00447744 26520004 */ addiu $s2, $s2, 4 +.L00447748: +/* 00447748 8FBF00C4 */ lw $ra, 0xc4($sp) +/* 0044774C 8FB000AC */ lw $s0, 0xac($sp) +/* 00447750 8FB100B0 */ lw $s1, 0xb0($sp) +/* 00447754 8FB200B4 */ lw $s2, 0xb4($sp) +/* 00447758 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0044775C 8FB400BC */ lw $s4, 0xbc($sp) +/* 00447760 03E00008 */ jr $ra +/* 00447764 27BD00C8 */ addiu $sp, $sp, 0xc8 + .type find_vreg_mtag, @function + .size find_vreg_mtag, .-find_vreg_mtag + .end find_vreg_mtag + +glabel check_reg + .ent check_reg + # 004432FC translate + # 00448880 is_reg +/* 00447768 3C1C0FBE */ .cpload $t9 +/* 0044776C 279C82E8 */ +/* 00447770 0399E021 */ +/* 00447774 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00447778 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044777C AFBC0018 */ sw $gp, 0x18($sp) +/* 00447780 AFB00014 */ sw $s0, 0x14($sp) +/* 00447784 90820021 */ lbu $v0, 0x21($a0) +/* 00447788 240E0006 */ li $t6, 6 +/* 0044778C 00808025 */ move $s0, $a0 +/* 00447790 00021600 */ sll $v0, $v0, 0x18 +/* 00447794 00021742 */ srl $v0, $v0, 0x1d +/* 00447798 004E02B4 */ teq $v0, $t6, 0xa +/* 0044779C 24010005 */ li $at, 5 +/* 004477A0 1441000F */ bne $v0, $at, .L004477E0 +/* 004477A4 2C480020 */ sltiu $t0, $v0, 0x20 +/* 004477A8 8F99848C */ lw $t9, %call16(check_amt)($gp) +/* 004477AC 02002025 */ move $a0, $s0 +/* 004477B0 0320F809 */ jalr $t9 +/* 004477B4 00000000 */ nop +/* 004477B8 2401FFFF */ li $at, -1 +/* 004477BC 1041002C */ beq $v0, $at, .L00447870 +/* 004477C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004477C4 920F0021 */ lbu $t7, 0x21($s0) +/* 004477C8 2401FF1F */ li $at, -225 +/* 004477CC AE02002C */ sw $v0, 0x2c($s0) +/* 004477D0 01E1C024 */ and $t8, $t7, $at +/* 004477D4 37190060 */ ori $t9, $t8, 0x60 +/* 004477D8 10000025 */ b .L00447870 +/* 004477DC A2190021 */ sb $t9, 0x21($s0) +.L004477E0: +/* 004477E0 00084823 */ negu $t1, $t0 +/* 004477E4 3C016000 */ lui $at, 0x6000 +/* 004477E8 01215024 */ and $t2, $t1, $at +/* 004477EC 004A5804 */ sllv $t3, $t2, $v0 +/* 004477F0 05610017 */ bgez $t3, .L00447850 +/* 004477F4 24010004 */ li $at, 4 +/* 004477F8 8F8C8A3C */ lw $t4, %got(ignore_vreg)($gp) +/* 004477FC 918C0000 */ lbu $t4, ($t4) +/* 00447800 15800008 */ bnez $t4, .L00447824 +/* 00447804 00000000 */ nop +/* 00447808 8F998608 */ lw $t9, %call16(check_vreg)($gp) +/* 0044780C 02002025 */ move $a0, $s0 +/* 00447810 00002825 */ move $a1, $zero +/* 00447814 0320F809 */ jalr $t9 +/* 00447818 00000000 */ nop +/* 0044781C 10000014 */ b .L00447870 +/* 00447820 8FBC0018 */ lw $gp, 0x18($sp) +.L00447824: +/* 00447824 8F9981B4 */ lw $t9, %call16(get_domtag)($gp) +/* 00447828 0320F809 */ jalr $t9 +/* 0044782C 00000000 */ nop +/* 00447830 1040000F */ beqz $v0, .L00447870 +/* 00447834 8FBC0018 */ lw $gp, 0x18($sp) +/* 00447838 8F99860C */ lw $t9, %call16(find_vreg_mtag)($gp) +/* 0044783C 02002025 */ move $a0, $s0 +/* 00447840 0320F809 */ jalr $t9 +/* 00447844 00000000 */ nop +/* 00447848 10000009 */ b .L00447870 +/* 0044784C 8FBC0018 */ lw $gp, 0x18($sp) +.L00447850: +/* 00447850 54410008 */ bnel $v0, $at, .L00447874 +/* 00447854 8FBF001C */ lw $ra, 0x1c($sp) +/* 00447858 8F99859C */ lw $t9, %call16(get_mtag)($gp) +/* 0044785C 8E040024 */ lw $a0, 0x24($s0) +/* 00447860 0320F809 */ jalr $t9 +/* 00447864 00000000 */ nop +/* 00447868 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044786C AE020030 */ sw $v0, 0x30($s0) +.L00447870: +/* 00447870 8FBF001C */ lw $ra, 0x1c($sp) +.L00447874: +/* 00447874 8FB00014 */ lw $s0, 0x14($sp) +/* 00447878 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044787C 03E00008 */ jr $ra +/* 00447880 00000000 */ nop + .type check_reg, @function + .size check_reg, .-check_reg + .end check_reg + +glabel assign_vreg + .ent assign_vreg + # 004432FC translate +/* 00447884 3C1C0FBE */ .cpload $t9 +/* 00447888 279C81CC */ +/* 0044788C 0399E021 */ +/* 00447890 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 00447894 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 00447898 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044789C AFA500BC */ sw $a1, 0xbc($sp) +/* 004478A0 90870021 */ lbu $a3, 0x21($a0) +/* 004478A4 00803025 */ move $a2, $a0 +/* 004478A8 00E01025 */ move $v0, $a3 +/* 004478AC 3042001F */ andi $v0, $v0, 0x1f +/* 004478B0 2C410011 */ sltiu $at, $v0, 0x11 +/* 004478B4 10200115 */ beqz $at, .L00447D0C +/* 004478B8 00000000 */ nop +/* 004478BC 8F818038 */ lw $at, %got(jtbl_1000DFD8)($gp) +/* 004478C0 00027080 */ sll $t6, $v0, 2 +/* 004478C4 002E0821 */ addu $at, $at, $t6 +/* 004478C8 8C2EDFD8 */ lw $t6, %lo(jtbl_1000DFD8)($at) +/* 004478CC 01DC7021 */ addu $t6, $t6, $gp +/* 004478D0 01C00008 */ jr $t6 +/* 004478D4 00000000 */ nop +.L004478D8: +/* 004478D8 8F888B1C */ lw $t0, %got(fp_vreg_offset)($gp) +/* 004478DC 8F8F8B14 */ lw $t7, %got(max_fp_vreg_offset)($gp) +/* 004478E0 8D030000 */ lw $v1, ($t0) +/* 004478E4 8DEF0000 */ lw $t7, ($t7) +/* 004478E8 006F082B */ sltu $at, $v1, $t7 +/* 004478EC 50200146 */ beql $at, $zero, .L00447E08 +/* 004478F0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004478F4 8F848B20 */ lw $a0, %got(vreg_count)($gp) +/* 004478F8 8F998BBC */ lw $t9, %got(vregs)($gp) +/* 004478FC 00075E00 */ sll $t3, $a3, 0x18 +/* 00447900 8C820000 */ lw $v0, ($a0) +/* 00447904 000B6742 */ srl $t4, $t3, 0x1d +/* 00447908 24010002 */ li $at, 2 +/* 0044790C 0002C080 */ sll $t8, $v0, 2 +/* 00447910 03194821 */ addu $t1, $t8, $t9 +/* 00447914 AD260000 */ sw $a2, ($t1) +/* 00447918 244A0001 */ addiu $t2, $v0, 1 +/* 0044791C 10A0001E */ beqz $a1, .L00447998 +/* 00447920 AC8A0000 */ sw $t2, ($a0) +/* 00447924 5581001D */ bnel $t4, $at, .L0044799C +/* 00447928 8CD90030 */ lw $t9, 0x30($a2) +/* 0044792C 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 00447930 00C02025 */ move $a0, $a2 +/* 00447934 AFA600B8 */ sw $a2, 0xb8($sp) +/* 00447938 0320F809 */ jalr $t9 +/* 0044793C 00000000 */ nop +/* 00447940 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00447944 304300FF */ andi $v1, $v0, 0xff +/* 00447948 24010048 */ li $at, 72 +/* 0044794C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 00447950 1061000E */ beq $v1, $at, .L0044798C +/* 00447954 8F888B1C */ lw $t0, %got(fp_vreg_offset)($gp) +/* 00447958 2C61002C */ sltiu $at, $v1, 0x2c +/* 0044795C 5420000C */ bnel $at, $zero, .L00447990 +/* 00447960 8D020000 */ lw $v0, ($t0) +/* 00447964 8F8D8A00 */ lw $t5, %got(n_fp_parm_regs)($gp) +/* 00447968 0003C080 */ sll $t8, $v1, 2 +/* 0044796C 8DAD0000 */ lw $t5, ($t5) +/* 00447970 000D7040 */ sll $t6, $t5, 1 +/* 00447974 25CF002A */ addiu $t7, $t6, 0x2a +/* 00447978 01E3082B */ sltu $at, $t7, $v1 +/* 0044797C 54200004 */ bnel $at, $zero, .L00447990 +/* 00447980 8D020000 */ lw $v0, ($t0) +/* 00447984 1000011F */ b .L00447E04 +/* 00447988 ACD80030 */ sw $t8, 0x30($a2) +.L0044798C: +/* 0044798C 8D020000 */ lw $v0, ($t0) +.L00447990: +/* 00447990 10000006 */ b .L004479AC +/* 00447994 ACC20030 */ sw $v0, 0x30($a2) +.L00447998: +/* 00447998 8CD90030 */ lw $t9, 0x30($a2) +.L0044799C: +/* 0044799C 2409FFFF */ li $t1, -1 +/* 004479A0 00601025 */ move $v0, $v1 +/* 004479A4 032902B6 */ tne $t9, $t1, 0xa +/* 004479A8 ACC30030 */ sw $v1, 0x30($a2) +.L004479AC: +/* 004479AC 244A0008 */ addiu $t2, $v0, 8 +/* 004479B0 10000114 */ b .L00447E04 +/* 004479B4 AD0A0000 */ sw $t2, ($t0) +.L004479B8: +/* 004479B8 8CCB0028 */ lw $t3, 0x28($a2) +/* 004479BC 240C0005 */ li $t4, 5 +/* 004479C0 8F888B18 */ lw $t0, %got(vreg_offset)($gp) +/* 004479C4 016C02B0 */ tge $t3, $t4, 0xa +/* 004479C8 8F8D8B10 */ lw $t5, %got(max_vreg_offset)($gp) +/* 004479CC 8D030000 */ lw $v1, ($t0) +/* 004479D0 8DAD0000 */ lw $t5, ($t5) +/* 004479D4 006D082B */ sltu $at, $v1, $t5 +/* 004479D8 5020010B */ beql $at, $zero, .L00447E08 +/* 004479DC 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 004479E0 8F848B20 */ lw $a0, %got(vreg_count)($gp) +/* 004479E4 8F8F8BBC */ lw $t7, %got(vregs)($gp) +/* 004479E8 00075600 */ sll $t2, $a3, 0x18 +/* 004479EC 8C820000 */ lw $v0, ($a0) +/* 004479F0 000A5F42 */ srl $t3, $t2, 0x1d +/* 004479F4 24010002 */ li $at, 2 +/* 004479F8 00027080 */ sll $t6, $v0, 2 +/* 004479FC 01CFC021 */ addu $t8, $t6, $t7 +/* 00447A00 AF060000 */ sw $a2, ($t8) +/* 00447A04 24590001 */ addiu $t9, $v0, 1 +/* 00447A08 14A00005 */ bnez $a1, .L00447A20 +/* 00447A0C AC990000 */ sw $t9, ($a0) +/* 00447A10 8F898B38 */ lw $t1, %got(has_entry)($gp) +/* 00447A14 91290000 */ lbu $t1, ($t1) +/* 00447A18 51200021 */ beql $t1, $zero, .L00447AA0 +/* 00447A1C 8CD80030 */ lw $t8, 0x30($a2) +.L00447A20: +/* 00447A20 5561001F */ bnel $t3, $at, .L00447AA0 +/* 00447A24 8CD80030 */ lw $t8, 0x30($a2) +/* 00447A28 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 00447A2C 00C02025 */ move $a0, $a2 +/* 00447A30 A3A500BF */ sb $a1, 0xbf($sp) +/* 00447A34 0320F809 */ jalr $t9 +/* 00447A38 AFA600B8 */ sw $a2, 0xb8($sp) +/* 00447A3C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00447A40 304300FF */ andi $v1, $v0, 0xff +/* 00447A44 24010048 */ li $at, 72 +/* 00447A48 93A500BF */ lbu $a1, 0xbf($sp) +/* 00447A4C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 00447A50 14610007 */ bne $v1, $at, .L00447A70 +/* 00447A54 8F888B18 */ lw $t0, %got(vreg_offset)($gp) +/* 00447A58 8CCC0030 */ lw $t4, 0x30($a2) +/* 00447A5C 240DFFFF */ li $t5, -1 +/* 00447A60 018D02B6 */ tne $t4, $t5, 0xa +/* 00447A64 8D020000 */ lw $v0, ($t0) +/* 00447A68 10000011 */ b .L00447AB0 +/* 00447A6C ACC20030 */ sw $v0, 0x30($a2) +.L00447A70: +/* 00447A70 8CC20030 */ lw $v0, 0x30($a2) +/* 00447A74 00037880 */ sll $t7, $v1, 2 +/* 00447A78 24440001 */ addiu $a0, $v0, 1 +/* 00447A7C 2C840001 */ sltiu $a0, $a0, 1 +/* 00447A80 14800003 */ bnez $a0, .L00447A90 +/* 00447A84 00037080 */ sll $t6, $v1, 2 +/* 00447A88 01C22026 */ xor $a0, $t6, $v0 +/* 00447A8C 2C840001 */ sltiu $a0, $a0, 1 +.L00447A90: +/* 00447A90 008002B4 */ teq $a0, $zero, 0xa +/* 00447A94 100000DB */ b .L00447E04 +/* 00447A98 ACCF0030 */ sw $t7, 0x30($a2) +/* 00447A9C 8CD80030 */ lw $t8, 0x30($a2) +.L00447AA0: +/* 00447AA0 2419FFFF */ li $t9, -1 +/* 00447AA4 00601025 */ move $v0, $v1 +/* 00447AA8 031902B6 */ tne $t8, $t9, 0xa +/* 00447AAC ACC30030 */ sw $v1, 0x30($a2) +.L00447AB0: +/* 00447AB0 8F8A8A6C */ lw $t2, %got(use_real_fp_for_proc)($gp) +/* 00447AB4 24490004 */ addiu $t1, $v0, 4 +/* 00447AB8 AD090000 */ sw $t1, ($t0) +/* 00447ABC 914A0000 */ lbu $t2, ($t2) +/* 00447AC0 11400003 */ beqz $t2, .L00447AD0 +/* 00447AC4 00000000 */ nop +/* 00447AC8 54A00006 */ bnel $a1, $zero, .L00447AE4 +/* 00447ACC 8D020000 */ lw $v0, ($t0) +.L00447AD0: +/* 00447AD0 8F8B8B38 */ lw $t3, %got(has_entry)($gp) +/* 00447AD4 916B0000 */ lbu $t3, ($t3) +/* 00447AD8 516000CB */ beql $t3, $zero, .L00447E08 +/* 00447ADC 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00447AE0 8D020000 */ lw $v0, ($t0) +.L00447AE4: +/* 00447AE4 24010034 */ li $at, 52 +/* 00447AE8 144100C6 */ bne $v0, $at, .L00447E04 +/* 00447AEC 244C0004 */ addiu $t4, $v0, 4 +/* 00447AF0 100000C4 */ b .L00447E04 +/* 00447AF4 AD0C0000 */ sw $t4, ($t0) +.L00447AF8: +/* 00447AF8 8F8D8038 */ lw $t5, %got(RO_1000DF88)($gp) +/* 00447AFC 24040004 */ li $a0, 4 +/* 00447B00 24050953 */ li $a1, 2387 +/* 00447B04 25ADDF88 */ addiu $t5, %lo(RO_1000DF88) # addiu $t5, $t5, -0x2078 +/* 00447B08 25B90048 */ addiu $t9, $t5, 0x48 +/* 00447B0C 03A0C025 */ move $t8, $sp +.L00447B10: +/* 00447B10 89AF0000 */ lwl $t7, ($t5) +/* 00447B14 99AF0003 */ lwr $t7, 3($t5) +/* 00447B18 25AD000C */ addiu $t5, $t5, 0xc +/* 00447B1C 2718000C */ addiu $t8, $t8, 0xc +/* 00447B20 AB0FFFFC */ swl $t7, -4($t8) +/* 00447B24 BB0FFFFF */ swr $t7, -1($t8) +/* 00447B28 89AEFFF8 */ lwl $t6, -8($t5) +/* 00447B2C 99AEFFFB */ lwr $t6, -5($t5) +/* 00447B30 AB0E0000 */ swl $t6, ($t8) +/* 00447B34 BB0E0003 */ swr $t6, 3($t8) +/* 00447B38 89AFFFFC */ lwl $t7, -4($t5) +/* 00447B3C 99AFFFFF */ lwr $t7, -1($t5) +/* 00447B40 AB0F0004 */ swl $t7, 4($t8) +/* 00447B44 15B9FFF2 */ bne $t5, $t9, .L00447B10 +/* 00447B48 BB0F0007 */ swr $t7, 7($t8) +/* 00447B4C 89AF0000 */ lwl $t7, ($t5) +/* 00447B50 99AF0003 */ lwr $t7, 3($t5) +/* 00447B54 8F898038 */ lw $t1, %got(RO_1000DF38)($gp) +/* 00447B58 03A06025 */ move $t4, $sp +/* 00447B5C AB0F0008 */ swl $t7, 8($t8) +/* 00447B60 BB0F000B */ swr $t7, 0xb($t8) +/* 00447B64 89AE0004 */ lwl $t6, 4($t5) +/* 00447B68 99AE0007 */ lwr $t6, 7($t5) +/* 00447B6C 2529DF38 */ addiu $t1, %lo(RO_1000DF38) # addiu $t1, $t1, -0x20c8 +/* 00447B70 25390048 */ addiu $t9, $t1, 0x48 +/* 00447B74 AB0E000C */ swl $t6, 0xc($t8) +/* 00447B78 BB0E000F */ swr $t6, 0xf($t8) +.L00447B7C: +/* 00447B7C 892B0000 */ lwl $t3, ($t1) +/* 00447B80 992B0003 */ lwr $t3, 3($t1) +/* 00447B84 2529000C */ addiu $t1, $t1, 0xc +/* 00447B88 258C000C */ addiu $t4, $t4, 0xc +/* 00447B8C A98B004C */ swl $t3, 0x4c($t4) +/* 00447B90 B98B004F */ swr $t3, 0x4f($t4) +/* 00447B94 892AFFF8 */ lwl $t2, -8($t1) +/* 00447B98 992AFFFB */ lwr $t2, -5($t1) +/* 00447B9C A98A0050 */ swl $t2, 0x50($t4) +/* 00447BA0 B98A0053 */ swr $t2, 0x53($t4) +/* 00447BA4 892BFFFC */ lwl $t3, -4($t1) +/* 00447BA8 992BFFFF */ lwr $t3, -1($t1) +/* 00447BAC A98B0054 */ swl $t3, 0x54($t4) +/* 00447BB0 1539FFF2 */ bne $t1, $t9, .L00447B7C +/* 00447BB4 B98B0057 */ swr $t3, 0x57($t4) +/* 00447BB8 892B0000 */ lwl $t3, ($t1) +/* 00447BBC 992B0003 */ lwr $t3, 3($t1) +/* 00447BC0 A98B0058 */ swl $t3, 0x58($t4) +/* 00447BC4 B98B005B */ swr $t3, 0x5b($t4) +/* 00447BC8 892A0004 */ lwl $t2, 4($t1) +/* 00447BCC 992A0007 */ lwr $t2, 7($t1) +/* 00447BD0 A98A005C */ swl $t2, 0x5c($t4) +/* 00447BD4 B98A005F */ swr $t2, 0x5f($t4) +/* 00447BD8 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00447BDC 8FA7000C */ lw $a3, 0xc($sp) +/* 00447BE0 8FA60008 */ lw $a2, 8($sp) +/* 00447BE4 0320F809 */ jalr $t9 +/* 00447BE8 00000000 */ nop +/* 00447BEC 10000085 */ b .L00447E04 +/* 00447BF0 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00447BF4: +/* 00447BF4 8F8D89D8 */ lw $t5, %got(opcode_arch)($gp) +/* 00447BF8 24010001 */ li $at, 1 +/* 00447BFC 91AD0000 */ lbu $t5, ($t5) +/* 00447C00 55A10081 */ bnel $t5, $at, .L00447E08 +/* 00447C04 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00447C08 8CD80028 */ lw $t8, 0x28($a2) +/* 00447C0C 240E0009 */ li $t6, 9 +/* 00447C10 8F888B18 */ lw $t0, %got(vreg_offset)($gp) +/* 00447C14 030E02B0 */ tge $t8, $t6, 0xa +/* 00447C18 8F8F8B10 */ lw $t7, %got(max_vreg_offset)($gp) +/* 00447C1C 8D030000 */ lw $v1, ($t0) +/* 00447C20 8DEF0000 */ lw $t7, ($t7) +/* 00447C24 006F082B */ sltu $at, $v1, $t7 +/* 00447C28 50200077 */ beql $at, $zero, .L00447E08 +/* 00447C2C 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 00447C30 8F848B20 */ lw $a0, %got(vreg_count)($gp) +/* 00447C34 8F898BBC */ lw $t1, %got(vregs)($gp) +/* 00447C38 00076E00 */ sll $t5, $a3, 0x18 +/* 00447C3C 8C820000 */ lw $v0, ($a0) +/* 00447C40 000DC742 */ srl $t8, $t5, 0x1d +/* 00447C44 24010002 */ li $at, 2 +/* 00447C48 0002C880 */ sll $t9, $v0, 2 +/* 00447C4C 03296021 */ addu $t4, $t9, $t1 +/* 00447C50 AD860000 */ sw $a2, ($t4) +/* 00447C54 244A0001 */ addiu $t2, $v0, 1 +/* 00447C58 14A00005 */ bnez $a1, .L00447C70 +/* 00447C5C AC8A0000 */ sw $t2, ($a0) +/* 00447C60 8F8B8B38 */ lw $t3, %got(has_entry)($gp) +/* 00447C64 916B0000 */ lbu $t3, ($t3) +/* 00447C68 51600021 */ beql $t3, $zero, .L00447CF0 +/* 00447C6C 8CCC0030 */ lw $t4, 0x30($a2) +.L00447C70: +/* 00447C70 5701001F */ bnel $t8, $at, .L00447CF0 +/* 00447C74 8CCC0030 */ lw $t4, 0x30($a2) +/* 00447C78 8F998480 */ lw $t9, %call16(parm_reg)($gp) +/* 00447C7C 00C02025 */ move $a0, $a2 +/* 00447C80 AFA600B8 */ sw $a2, 0xb8($sp) +/* 00447C84 0320F809 */ jalr $t9 +/* 00447C88 00000000 */ nop +/* 00447C8C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 00447C90 304300FF */ andi $v1, $v0, 0xff +/* 00447C94 24010048 */ li $at, 72 +/* 00447C98 8FA600B8 */ lw $a2, 0xb8($sp) +/* 00447C9C 14610007 */ bne $v1, $at, .L00447CBC +/* 00447CA0 8F888B18 */ lw $t0, %got(vreg_offset)($gp) +/* 00447CA4 8CCE0030 */ lw $t6, 0x30($a2) +/* 00447CA8 240FFFFF */ li $t7, -1 +/* 00447CAC 01CF02B6 */ tne $t6, $t7, 0xa +/* 00447CB0 8D020000 */ lw $v0, ($t0) +/* 00447CB4 10000012 */ b .L00447D00 +/* 00447CB8 ACC20030 */ sw $v0, 0x30($a2) +.L00447CBC: +/* 00447CBC 8CC20030 */ lw $v0, 0x30($a2) +/* 00447CC0 00034880 */ sll $t1, $v1, 2 +/* 00447CC4 24440001 */ addiu $a0, $v0, 1 +/* 00447CC8 2C840001 */ sltiu $a0, $a0, 1 +/* 00447CCC 54800005 */ bnel $a0, $zero, .L00447CE4 +/* 00447CD0 008002B4 */ teq $a0, $zero, 0xa +/* 00447CD4 0003C880 */ sll $t9, $v1, 2 +/* 00447CD8 03222026 */ xor $a0, $t9, $v0 +/* 00447CDC 2C840001 */ sltiu $a0, $a0, 1 +/* 00447CE0 008002B4 */ teq $a0, $zero, 0xa +.L00447CE4: +/* 00447CE4 10000047 */ b .L00447E04 +/* 00447CE8 ACC90030 */ sw $t1, 0x30($a2) +/* 00447CEC 8CCC0030 */ lw $t4, 0x30($a2) +.L00447CF0: +/* 00447CF0 240AFFFF */ li $t2, -1 +/* 00447CF4 00601025 */ move $v0, $v1 +/* 00447CF8 018A02B6 */ tne $t4, $t2, 0xa +/* 00447CFC ACC30030 */ sw $v1, 0x30($a2) +.L00447D00: +/* 00447D00 244B0008 */ addiu $t3, $v0, 8 +/* 00447D04 1000003F */ b .L00447E04 +/* 00447D08 AD0B0000 */ sw $t3, ($t0) +.L00447D0C: +/* 00447D0C 8F8D8038 */ lw $t5, %got(RO_1000DEE8)($gp) +/* 00447D10 24040004 */ li $a0, 4 +/* 00447D14 24050971 */ li $a1, 2417 +/* 00447D18 25ADDEE8 */ addiu $t5, %lo(RO_1000DEE8) # addiu $t5, $t5, -0x2118 +/* 00447D1C 25B90048 */ addiu $t9, $t5, 0x48 +/* 00447D20 03A07825 */ move $t7, $sp +.L00447D24: +/* 00447D24 89AE0000 */ lwl $t6, ($t5) +/* 00447D28 99AE0003 */ lwr $t6, 3($t5) +/* 00447D2C 25AD000C */ addiu $t5, $t5, 0xc +/* 00447D30 25EF000C */ addiu $t7, $t7, 0xc +/* 00447D34 A9EEFFFC */ swl $t6, -4($t7) +/* 00447D38 B9EEFFFF */ swr $t6, -1($t7) +/* 00447D3C 89B8FFF8 */ lwl $t8, -8($t5) +/* 00447D40 99B8FFFB */ lwr $t8, -5($t5) +/* 00447D44 A9F80000 */ swl $t8, ($t7) +/* 00447D48 B9F80003 */ swr $t8, 3($t7) +/* 00447D4C 89AEFFFC */ lwl $t6, -4($t5) +/* 00447D50 99AEFFFF */ lwr $t6, -1($t5) +/* 00447D54 A9EE0004 */ swl $t6, 4($t7) +/* 00447D58 15B9FFF2 */ bne $t5, $t9, .L00447D24 +/* 00447D5C B9EE0007 */ swr $t6, 7($t7) +/* 00447D60 89AE0000 */ lwl $t6, ($t5) +/* 00447D64 99AE0003 */ lwr $t6, 3($t5) +/* 00447D68 8F898038 */ lw $t1, %got(RO_1000DE98)($gp) +/* 00447D6C 03A05825 */ move $t3, $sp +/* 00447D70 A9EE0008 */ swl $t6, 8($t7) +/* 00447D74 B9EE000B */ swr $t6, 0xb($t7) +/* 00447D78 89B80004 */ lwl $t8, 4($t5) +/* 00447D7C 99B80007 */ lwr $t8, 7($t5) +/* 00447D80 2529DE98 */ addiu $t1, %lo(RO_1000DE98) # addiu $t1, $t1, -0x2168 +/* 00447D84 25390048 */ addiu $t9, $t1, 0x48 +/* 00447D88 A9F8000C */ swl $t8, 0xc($t7) +/* 00447D8C B9F8000F */ swr $t8, 0xf($t7) +.L00447D90: +/* 00447D90 892A0000 */ lwl $t2, ($t1) +/* 00447D94 992A0003 */ lwr $t2, 3($t1) +/* 00447D98 2529000C */ addiu $t1, $t1, 0xc +/* 00447D9C 256B000C */ addiu $t3, $t3, 0xc +/* 00447DA0 A96A004C */ swl $t2, 0x4c($t3) +/* 00447DA4 B96A004F */ swr $t2, 0x4f($t3) +/* 00447DA8 892CFFF8 */ lwl $t4, -8($t1) +/* 00447DAC 992CFFFB */ lwr $t4, -5($t1) +/* 00447DB0 A96C0050 */ swl $t4, 0x50($t3) +/* 00447DB4 B96C0053 */ swr $t4, 0x53($t3) +/* 00447DB8 892AFFFC */ lwl $t2, -4($t1) +/* 00447DBC 992AFFFF */ lwr $t2, -1($t1) +/* 00447DC0 A96A0054 */ swl $t2, 0x54($t3) +/* 00447DC4 1539FFF2 */ bne $t1, $t9, .L00447D90 +/* 00447DC8 B96A0057 */ swr $t2, 0x57($t3) +/* 00447DCC 892A0000 */ lwl $t2, ($t1) +/* 00447DD0 992A0003 */ lwr $t2, 3($t1) +/* 00447DD4 A96A0058 */ swl $t2, 0x58($t3) +/* 00447DD8 B96A005B */ swr $t2, 0x5b($t3) +/* 00447DDC 892C0004 */ lwl $t4, 4($t1) +/* 00447DE0 992C0007 */ lwr $t4, 7($t1) +/* 00447DE4 A96C005C */ swl $t4, 0x5c($t3) +/* 00447DE8 B96C005F */ swr $t4, 0x5f($t3) +/* 00447DEC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 00447DF0 8FA7000C */ lw $a3, 0xc($sp) +/* 00447DF4 8FA60008 */ lw $a2, 8($sp) +/* 00447DF8 0320F809 */ jalr $t9 +/* 00447DFC 00000000 */ nop +/* 00447E00 8FBC00B0 */ lw $gp, 0xb0($sp) +.L00447E04: +/* 00447E04 8FBF00B4 */ lw $ra, 0xb4($sp) +.L00447E08: +/* 00447E08 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 00447E0C 03E00008 */ jr $ra +/* 00447E10 00000000 */ nop + .type assign_vreg, @function + .size assign_vreg, .-assign_vreg + .end assign_vreg + +glabel load_cse + .ent load_cse + # 004432FC translate +/* 00447E14 3C1C0FBD */ .cpload $t9 +/* 00447E18 279C7C3C */ +/* 00447E1C 0399E021 */ +/* 00447E20 8F8E8920 */ lw $t6, %got(no_cse_flag)($gp) +/* 00447E24 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00447E28 AFBF001C */ sw $ra, 0x1c($sp) +/* 00447E2C 8DCE0000 */ lw $t6, ($t6) +/* 00447E30 AFBC0018 */ sw $gp, 0x18($sp) +/* 00447E34 00803025 */ move $a2, $a0 +/* 00447E38 59C00004 */ blezl $t6, .L00447E4C +/* 00447E3C 90CF0020 */ lbu $t7, 0x20($a2) +/* 00447E40 100000DE */ b .L004481BC +/* 00447E44 00801025 */ move $v0, $a0 +/* 00447E48 90CF0020 */ lbu $t7, 0x20($a2) +.L00447E4C: +/* 00447E4C 25F8FFE0 */ addiu $t8, $t7, -0x20 +/* 00447E50 2F190040 */ sltiu $t9, $t8, 0x40 +/* 00447E54 13200009 */ beqz $t9, .L00447E7C +/* 00447E58 00000000 */ nop +/* 00447E5C 8F8F8038 */ lw $t7, %got(D_100169A8)($gp) +/* 00447E60 00186943 */ sra $t5, $t8, 5 +/* 00447E64 000D7080 */ sll $t6, $t5, 2 +/* 00447E68 25EF69A8 */ addiu $t7, %lo(D_100169A8) # addiu $t7, $t7, 0x69a8 +/* 00447E6C 01EE6821 */ addu $t5, $t7, $t6 +/* 00447E70 8DAF0000 */ lw $t7, ($t5) +/* 00447E74 030F7004 */ sllv $t6, $t7, $t8 +/* 00447E78 29D90000 */ slti $t9, $t6, 0 +.L00447E7C: +/* 00447E7C 1320001D */ beqz $t9, .L00447EF4 +/* 00447E80 00000000 */ nop +/* 00447E84 90C20021 */ lbu $v0, 0x21($a2) +/* 00447E88 3C016C00 */ lui $at, 0x6c00 +/* 00447E8C 00025600 */ sll $t2, $v0, 0x18 +/* 00447E90 000A5742 */ srl $t2, $t2, 0x1d +/* 00447E94 2D4F0020 */ sltiu $t7, $t2, 0x20 +/* 00447E98 000FC023 */ negu $t8, $t7 +/* 00447E9C 03017024 */ and $t6, $t8, $at +/* 00447EA0 014E6804 */ sllv $t5, $t6, $t2 +/* 00447EA4 05A10013 */ bgez $t5, .L00447EF4 +/* 00447EA8 00000000 */ nop +/* 00447EAC 94D90022 */ lhu $t9, 0x22($a2) +/* 00447EB0 2403000E */ li $v1, 14 +/* 00447EB4 3047001F */ andi $a3, $v0, 0x1f +/* 00447EB8 332F0001 */ andi $t7, $t9, 1 +/* 00447EBC 15E0000D */ bnez $t7, .L00447EF4 +/* 00447EC0 00000000 */ nop +/* 00447EC4 14670005 */ bne $v1, $a3, .L00447EDC +/* 00447EC8 00000000 */ nop +/* 00447ECC 8CC40028 */ lw $a0, 0x28($a2) +/* 00447ED0 28810005 */ slti $at, $a0, 5 +/* 00447ED4 14200009 */ bnez $at, .L00447EFC +/* 00447ED8 00000000 */ nop +.L00447EDC: +/* 00447EDC 10670005 */ beq $v1, $a3, .L00447EF4 +/* 00447EE0 00000000 */ nop +/* 00447EE4 8CC40028 */ lw $a0, 0x28($a2) +/* 00447EE8 28810009 */ slti $at, $a0, 9 +/* 00447EEC 14200003 */ bnez $at, .L00447EFC +/* 00447EF0 00000000 */ nop +.L00447EF4: +/* 00447EF4 100000B1 */ b .L004481BC +/* 00447EF8 00C01025 */ move $v0, $a2 +.L00447EFC: +/* 00447EFC 8F8C8B2C */ lw $t4, %got(load_count)($gp) +/* 00447F00 918B0000 */ lbu $t3, ($t4) +/* 00447F04 01602825 */ move $a1, $t3 +/* 00447F08 10A000A1 */ beqz $a1, .L00448190 +/* 00447F0C 30A200FF */ andi $v0, $a1, 0xff +/* 00447F10 8F8E8BB0 */ lw $t6, %got(loads)($gp) +/* 00447F14 8F898BB0 */ lw $t1, %got(loads)($gp) +/* 00447F18 0002C080 */ sll $t8, $v0, 2 +/* 00447F1C 25CEFFFC */ addiu $t6, $t6, -4 +/* 00447F20 030E1821 */ addu $v1, $t8, $t6 +/* 00447F24 8F88898C */ lw $t0, %got(lsb_first)($gp) +/* 00447F28 2529FFFC */ addiu $t1, $t1, -4 +/* 00447F2C 8C650000 */ lw $a1, ($v1) +.L00447F30: +/* 00447F30 2463FFFC */ addiu $v1, $v1, -4 +/* 00447F34 10A00094 */ beqz $a1, .L00448188 +/* 00447F38 00000000 */ nop +/* 00447F3C 90A20021 */ lbu $v0, 0x21($a1) +/* 00447F40 304D001F */ andi $t5, $v0, 0x1f +/* 00447F44 14ED0090 */ bne $a3, $t5, .L00448188 +/* 00447F48 00000000 */ nop +/* 00447F4C 0002CE00 */ sll $t9, $v0, 0x18 +/* 00447F50 00197F42 */ srl $t7, $t9, 0x1d +/* 00447F54 154F008C */ bne $t2, $t7, .L00448188 +/* 00447F58 00000000 */ nop +/* 00447F5C 8CD80024 */ lw $t8, 0x24($a2) +/* 00447F60 8CAE0024 */ lw $t6, 0x24($a1) +/* 00447F64 170E0088 */ bne $t8, $t6, .L00448188 +/* 00447F68 00000000 */ nop +/* 00447F6C 91020000 */ lbu $v0, ($t0) +/* 00447F70 10400005 */ beqz $v0, .L00447F88 +/* 00447F74 00000000 */ nop +/* 00447F78 8CCD002C */ lw $t5, 0x2c($a2) +/* 00447F7C 8CB9002C */ lw $t9, 0x2c($a1) +/* 00447F80 51B9000B */ beql $t5, $t9, .L00447FB0 +/* 00447F84 8CAF0028 */ lw $t7, 0x28($a1) +.L00447F88: +/* 00447F88 1440007F */ bnez $v0, .L00448188 +/* 00447F8C 00000000 */ nop +/* 00447F90 8CCF002C */ lw $t7, 0x2c($a2) +/* 00447F94 8CAE002C */ lw $t6, 0x2c($a1) +/* 00447F98 8CAD0028 */ lw $t5, 0x28($a1) +/* 00447F9C 01E4C021 */ addu $t8, $t7, $a0 +/* 00447FA0 01CDC821 */ addu $t9, $t6, $t5 +/* 00447FA4 17190078 */ bne $t8, $t9, .L00448188 +/* 00447FA8 00000000 */ nop +/* 00447FAC 8CAF0028 */ lw $t7, 0x28($a1) +.L00447FB0: +/* 00447FB0 148F0075 */ bne $a0, $t7, .L00448188 +/* 00447FB4 00000000 */ nop +/* 00447FB8 90A20020 */ lbu $v0, 0x20($a1) +/* 00447FBC 2401007B */ li $at, 123 +/* 00447FC0 5441000C */ bnel $v0, $at, .L00447FF4 +/* 00447FC4 2401003E */ li $at, 62 +/* 00447FC8 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00447FCC 8CA40000 */ lw $a0, ($a1) +/* 00447FD0 AFA50024 */ sw $a1, 0x24($sp) +/* 00447FD4 0320F809 */ jalr $t9 +/* 00447FD8 AFA60030 */ sw $a2, 0x30($sp) +/* 00447FDC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00447FE0 8FA50024 */ lw $a1, 0x24($sp) +/* 00447FE4 8FA60030 */ lw $a2, 0x30($sp) +/* 00447FE8 1000001B */ b .L00448058 +/* 00447FEC AFA20020 */ sw $v0, 0x20($sp) +/* 00447FF0 2401003E */ li $at, 62 +.L00447FF4: +/* 00447FF4 1441000B */ bne $v0, $at, .L00448024 +/* 00447FF8 00000000 */ nop +/* 00447FFC 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00448000 8CA40004 */ lw $a0, 4($a1) +/* 00448004 AFA50024 */ sw $a1, 0x24($sp) +/* 00448008 0320F809 */ jalr $t9 +/* 0044800C AFA60030 */ sw $a2, 0x30($sp) +/* 00448010 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448014 8FA50024 */ lw $a1, 0x24($sp) +/* 00448018 8FA60030 */ lw $a2, 0x30($sp) +/* 0044801C 1000000E */ b .L00448058 +/* 00448020 AFA20020 */ sw $v0, 0x20($sp) +.L00448024: +/* 00448024 14C50003 */ bne $a2, $a1, .L00448034 +/* 00448028 00000000 */ nop +/* 0044802C 10000063 */ b .L004481BC +/* 00448030 00C01025 */ move $v0, $a2 +.L00448034: +/* 00448034 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00448038 00A02025 */ move $a0, $a1 +/* 0044803C AFA50024 */ sw $a1, 0x24($sp) +/* 00448040 0320F809 */ jalr $t9 +/* 00448044 AFA60030 */ sw $a2, 0x30($sp) +/* 00448048 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044804C 8FA50024 */ lw $a1, 0x24($sp) +/* 00448050 8FA60030 */ lw $a2, 0x30($sp) +/* 00448054 AFA20020 */ sw $v0, 0x20($sp) +.L00448058: +/* 00448058 8F8E89A4 */ lw $t6, %got(source_language)($gp) +/* 0044805C 24010003 */ li $at, 3 +/* 00448060 8DCE0000 */ lw $t6, ($t6) +/* 00448064 55C10007 */ bnel $t6, $at, .L00448084 +/* 00448068 8CD90028 */ lw $t9, 0x28($a2) +/* 0044806C 8CCD0028 */ lw $t5, 0x28($a2) +/* 00448070 8CB80028 */ lw $t8, 0x28($a1) +/* 00448074 01B8082A */ slt $at, $t5, $t8 +/* 00448078 14200014 */ bnez $at, .L004480CC +/* 0044807C 00000000 */ nop +/* 00448080 8CD90028 */ lw $t9, 0x28($a2) +.L00448084: +/* 00448084 2B210004 */ slti $at, $t9, 4 +/* 00448088 5020002A */ beql $at, $zero, .L00448134 +/* 0044808C 904D0020 */ lbu $t5, 0x20($v0) +/* 00448090 90AF0020 */ lbu $t7, 0x20($a1) +/* 00448094 25EEFFE0 */ addiu $t6, $t7, -0x20 +/* 00448098 2DCD0060 */ sltiu $t5, $t6, 0x60 +/* 0044809C 11A00009 */ beqz $t5, .L004480C4 +/* 004480A0 00000000 */ nop +/* 004480A4 8F8F8038 */ lw $t7, %got(D_1001699C)($gp) +/* 004480A8 000EC143 */ sra $t8, $t6, 5 +/* 004480AC 0018C880 */ sll $t9, $t8, 2 +/* 004480B0 25EF699C */ addiu $t7, %lo(D_1001699C) # addiu $t7, $t7, 0x699c +/* 004480B4 01F9C021 */ addu $t8, $t7, $t9 +/* 004480B8 8F0F0000 */ lw $t7, ($t8) +/* 004480BC 01CFC804 */ sllv $t9, $t7, $t6 +/* 004480C0 2B2D0000 */ slti $t5, $t9, 0 +.L004480C4: +/* 004480C4 51A0001B */ beql $t5, $zero, .L00448134 +/* 004480C8 904D0020 */ lbu $t5, 0x20($v0) +.L004480CC: +/* 004480CC 8F998668 */ lw $t9, %call16(build_1op)($gp) +/* 004480D0 24040019 */ li $a0, 25 +/* 004480D4 8FA50020 */ lw $a1, 0x20($sp) +/* 004480D8 0320F809 */ jalr $t9 +/* 004480DC AFA60030 */ sw $a2, 0x30($sp) +/* 004480E0 8FA60030 */ lw $a2, 0x30($sp) +/* 004480E4 90430021 */ lbu $v1, 0x21($v0) +/* 004480E8 8FBC0018 */ lw $gp, 0x18($sp) +/* 004480EC 90CE0021 */ lbu $t6, 0x21($a2) +/* 004480F0 0003CEC0 */ sll $t9, $v1, 0x1b +/* 004480F4 0019C6C2 */ srl $t8, $t9, 0x1b +/* 004480F8 01D86826 */ xor $t5, $t6, $t8 +/* 004480FC 31AF001F */ andi $t7, $t5, 0x1f +/* 00448100 01E3C826 */ xor $t9, $t7, $v1 +/* 00448104 A0590021 */ sb $t9, 0x21($v0) +/* 00448108 8CCE0028 */ lw $t6, 0x28($a2) +/* 0044810C 00402025 */ move $a0, $v0 +/* 00448110 000EC0C0 */ sll $t8, $t6, 3 +/* 00448114 AC580024 */ sw $t8, 0x24($v0) +/* 00448118 8F998628 */ lw $t9, %call16(translate_cvtl)($gp) +/* 0044811C 0320F809 */ jalr $t9 +/* 00448120 00000000 */ nop +/* 00448124 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448128 8FA60030 */ lw $a2, 0x30($sp) +/* 0044812C AFA20020 */ sw $v0, 0x20($sp) +/* 00448130 904D0020 */ lbu $t5, 0x20($v0) +.L00448134: +/* 00448134 24010049 */ li $at, 73 +/* 00448138 15A1000C */ bne $t5, $at, .L0044816C +/* 0044813C 00000000 */ nop +/* 00448140 90C70021 */ lbu $a3, 0x21($a2) +/* 00448144 90430021 */ lbu $v1, 0x21($v0) +/* 00448148 30E7001F */ andi $a3, $a3, 0x1f +/* 0044814C 306F001F */ andi $t7, $v1, 0x1f +/* 00448150 10EF0006 */ beq $a3, $t7, .L0044816C +/* 00448154 0003CEC0 */ sll $t9, $v1, 0x1b +/* 00448158 001976C2 */ srl $t6, $t9, 0x1b +/* 0044815C 00EEC026 */ xor $t8, $a3, $t6 +/* 00448160 330D001F */ andi $t5, $t8, 0x1f +/* 00448164 01A37826 */ xor $t7, $t5, $v1 +/* 00448168 A04F0021 */ sb $t7, 0x21($v0) +.L0044816C: +/* 0044816C 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00448170 00C02025 */ move $a0, $a2 +/* 00448174 0320F809 */ jalr $t9 +/* 00448178 00000000 */ nop +/* 0044817C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448180 1000000E */ b .L004481BC +/* 00448184 8FA20020 */ lw $v0, 0x20($sp) +.L00448188: +/* 00448188 5469FF69 */ bnel $v1, $t1, .L00447F30 +/* 0044818C 8C650000 */ lw $a1, ($v1) +.L00448190: +/* 00448190 2961000A */ slti $at, $t3, 0xa +/* 00448194 10200009 */ beqz $at, .L004481BC +/* 00448198 00C01025 */ move $v0, $a2 +/* 0044819C 8F8D8BB0 */ lw $t5, %got(loads)($gp) +/* 004481A0 25790001 */ addiu $t9, $t3, 1 +/* 004481A4 332E00FF */ andi $t6, $t9, 0xff +/* 004481A8 000EC080 */ sll $t8, $t6, 2 +/* 004481AC 25ADFFFC */ addiu $t5, $t5, -4 +/* 004481B0 A1990000 */ sb $t9, ($t4) +/* 004481B4 030D7821 */ addu $t7, $t8, $t5 +/* 004481B8 ADE60000 */ sw $a2, ($t7) +.L004481BC: +/* 004481BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 004481C0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 004481C4 03E00008 */ jr $ra +/* 004481C8 00000000 */ nop + .type load_cse, @function + .size load_cse, .-load_cse + .end load_cse + +glabel uses + .ent uses + # 004481CC uses + # 00448584 add_store +/* 004481CC 3C1C0FBD */ .cpload $t9 +/* 004481D0 279C7884 */ +/* 004481D4 0399E021 */ +/* 004481D8 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 004481DC AFB200B8 */ sw $s2, 0xb8($sp) +/* 004481E0 AFB100B4 */ sw $s1, 0xb4($sp) +/* 004481E4 AFB000B0 */ sw $s0, 0xb0($sp) +/* 004481E8 2CC10010 */ sltiu $at, $a2, 0x10 +/* 004481EC 00808025 */ move $s0, $a0 +/* 004481F0 00A08825 */ move $s1, $a1 +/* 004481F4 00C09025 */ move $s2, $a2 +/* 004481F8 AFBF00CC */ sw $ra, 0xcc($sp) +/* 004481FC AFBC00C8 */ sw $gp, 0xc8($sp) +/* 00448200 AFB500C4 */ sw $s5, 0xc4($sp) +/* 00448204 AFB400C0 */ sw $s4, 0xc0($sp) +/* 00448208 14200003 */ bnez $at, .L00448218 +/* 0044820C AFB300BC */ sw $s3, 0xbc($sp) +/* 00448210 100000D3 */ b .L00448560 +/* 00448214 24020001 */ li $v0, 1 +.L00448218: +/* 00448218 92020020 */ lbu $v0, 0x20($s0) +/* 0044821C 24130069 */ li $s3, 105 +/* 00448220 2414007D */ li $s4, 125 +/* 00448224 2C410063 */ sltiu $at, $v0, 0x63 +/* 00448228 1420008C */ bnez $at, .L0044845C +/* 0044822C 24150023 */ li $s5, 35 +/* 00448230 2C41007E */ sltiu $at, $v0, 0x7e +/* 00448234 1420007B */ bnez $at, .L00448424 +/* 00448238 2C41008E */ sltiu $at, $v0, 0x8e +/* 0044823C 142000BD */ bnez $at, .L00448534 +/* 00448240 244DFF7A */ addiu $t5, $v0, -0x86 +/* 00448244 244EFF6D */ addiu $t6, $v0, -0x93 +/* 00448248 2DC10003 */ sltiu $at, $t6, 3 +/* 0044824C 10200036 */ beqz $at, .L00448328 +/* 00448250 00000000 */ nop +/* 00448254 8F818038 */ lw $at, %got(jtbl_1000E234)($gp) +/* 00448258 000E7080 */ sll $t6, $t6, 2 +/* 0044825C 002E0821 */ addu $at, $at, $t6 +/* 00448260 8C2EE234 */ lw $t6, %lo(jtbl_1000E234)($at) +/* 00448264 01DC7021 */ addu $t6, $t6, $gp +/* 00448268 01C00008 */ jr $t6 +/* 0044826C 00000000 */ nop +.L00448270: +/* 00448270 922F0021 */ lbu $t7, 0x21($s1) +/* 00448274 92080021 */ lbu $t0, 0x21($s0) +/* 00448278 000FC600 */ sll $t8, $t7, 0x18 +/* 0044827C 00084E00 */ sll $t1, $t0, 0x18 +/* 00448280 00095742 */ srl $t2, $t1, 0x1d +/* 00448284 0018CF42 */ srl $t9, $t8, 0x1d +/* 00448288 032A1826 */ xor $v1, $t9, $t2 +/* 0044828C 2C630001 */ sltiu $v1, $v1, 1 +/* 00448290 1060000E */ beqz $v1, .L004482CC +/* 00448294 00000000 */ nop +/* 00448298 8E2B0024 */ lw $t3, 0x24($s1) +/* 0044829C 8E0C0024 */ lw $t4, 0x24($s0) +/* 004482A0 016C1826 */ xor $v1, $t3, $t4 +/* 004482A4 2C630001 */ sltiu $v1, $v1, 1 +/* 004482A8 10600008 */ beqz $v1, .L004482CC +/* 004482AC 00000000 */ nop +/* 004482B0 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 004482B4 02002025 */ move $a0, $s0 +/* 004482B8 02202825 */ move $a1, $s1 +/* 004482BC 0320F809 */ jalr $t9 +/* 004482C0 00000000 */ nop +/* 004482C4 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 004482C8 00401825 */ move $v1, $v0 +.L004482CC: +/* 004482CC 100000A4 */ b .L00448560 +/* 004482D0 00601025 */ move $v0, $v1 +.L004482D4: +/* 004482D4 100000A2 */ b .L00448560 +/* 004482D8 00001025 */ move $v0, $zero +.L004482DC: +/* 004482DC 1000FFCE */ b .L00448218 +/* 004482E0 8E100000 */ lw $s0, ($s0) +.L004482E4: +/* 004482E4 8F99861C */ lw $t9, %call16(uses)($gp) +/* 004482E8 8E040000 */ lw $a0, ($s0) +/* 004482EC 02202825 */ move $a1, $s1 +/* 004482F0 0320F809 */ jalr $t9 +/* 004482F4 26460001 */ addiu $a2, $s2, 1 +/* 004482F8 10400003 */ beqz $v0, .L00448308 +/* 004482FC 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 00448300 10000097 */ b .L00448560 +/* 00448304 24020001 */ li $v0, 1 +.L00448308: +/* 00448308 8E020004 */ lw $v0, 4($s0) +/* 0044830C 8E0D0000 */ lw $t5, ($s0) +/* 00448310 144D0003 */ bne $v0, $t5, .L00448320 +/* 00448314 00000000 */ nop +/* 00448318 10000091 */ b .L00448560 +/* 0044831C 00001025 */ move $v0, $zero +.L00448320: +/* 00448320 1000FFBD */ b .L00448218 +/* 00448324 00408025 */ move $s0, $v0 +.L00448328: +/* 00448328 8F8E8038 */ lw $t6, %got(RO_1000E06C)($gp) +/* 0044832C 24040004 */ li $a0, 4 +/* 00448330 240509F6 */ li $a1, 2550 +/* 00448334 25CEE06C */ addiu $t6, %lo(RO_1000E06C) # addiu $t6, $t6, -0x1f94 +/* 00448338 25C90048 */ addiu $t1, $t6, 0x48 +/* 0044833C 03A04025 */ move $t0, $sp +.L00448340: +/* 00448340 89D80000 */ lwl $t8, ($t6) +/* 00448344 99D80003 */ lwr $t8, 3($t6) +/* 00448348 25CE000C */ addiu $t6, $t6, 0xc +/* 0044834C 2508000C */ addiu $t0, $t0, 0xc +/* 00448350 A918FFFC */ swl $t8, -4($t0) +/* 00448354 B918FFFF */ swr $t8, -1($t0) +/* 00448358 89CFFFF8 */ lwl $t7, -8($t6) +/* 0044835C 99CFFFFB */ lwr $t7, -5($t6) +/* 00448360 A90F0000 */ swl $t7, ($t0) +/* 00448364 B90F0003 */ swr $t7, 3($t0) +/* 00448368 89D8FFFC */ lwl $t8, -4($t6) +/* 0044836C 99D8FFFF */ lwr $t8, -1($t6) +/* 00448370 A9180004 */ swl $t8, 4($t0) +/* 00448374 15C9FFF2 */ bne $t6, $t1, .L00448340 +/* 00448378 B9180007 */ swr $t8, 7($t0) +/* 0044837C 89D80000 */ lwl $t8, ($t6) +/* 00448380 99D80003 */ lwr $t8, 3($t6) +/* 00448384 8F998038 */ lw $t9, %got(RO_1000E01C)($gp) +/* 00448388 03A06025 */ move $t4, $sp +/* 0044838C A9180008 */ swl $t8, 8($t0) +/* 00448390 B918000B */ swr $t8, 0xb($t0) +/* 00448394 89CF0004 */ lwl $t7, 4($t6) +/* 00448398 99CF0007 */ lwr $t7, 7($t6) +/* 0044839C 2739E01C */ addiu $t9, %lo(RO_1000E01C) # addiu $t9, $t9, -0x1fe4 +/* 004483A0 272D0048 */ addiu $t5, $t9, 0x48 +/* 004483A4 A90F000C */ swl $t7, 0xc($t0) +/* 004483A8 B90F000F */ swr $t7, 0xf($t0) +.L004483AC: +/* 004483AC 8B2B0000 */ lwl $t3, ($t9) +/* 004483B0 9B2B0003 */ lwr $t3, 3($t9) +/* 004483B4 2739000C */ addiu $t9, $t9, 0xc +/* 004483B8 258C000C */ addiu $t4, $t4, 0xc +/* 004483BC A98B004C */ swl $t3, 0x4c($t4) +/* 004483C0 B98B004F */ swr $t3, 0x4f($t4) +/* 004483C4 8B2AFFF8 */ lwl $t2, -8($t9) +/* 004483C8 9B2AFFFB */ lwr $t2, -5($t9) +/* 004483CC A98A0050 */ swl $t2, 0x50($t4) +/* 004483D0 B98A0053 */ swr $t2, 0x53($t4) +/* 004483D4 8B2BFFFC */ lwl $t3, -4($t9) +/* 004483D8 9B2BFFFF */ lwr $t3, -1($t9) +/* 004483DC A98B0054 */ swl $t3, 0x54($t4) +/* 004483E0 172DFFF2 */ bne $t9, $t5, .L004483AC +/* 004483E4 B98B0057 */ swr $t3, 0x57($t4) +/* 004483E8 8B2B0000 */ lwl $t3, ($t9) +/* 004483EC 9B2B0003 */ lwr $t3, 3($t9) +/* 004483F0 A98B0058 */ swl $t3, 0x58($t4) +/* 004483F4 B98B005B */ swr $t3, 0x5b($t4) +/* 004483F8 8B2A0004 */ lwl $t2, 4($t9) +/* 004483FC 9B2A0007 */ lwr $t2, 7($t9) +/* 00448400 A98A005C */ swl $t2, 0x5c($t4) +/* 00448404 B98A005F */ swr $t2, 0x5f($t4) +/* 00448408 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044840C 8FA7000C */ lw $a3, 0xc($sp) +/* 00448410 8FA60008 */ lw $a2, 8($sp) +/* 00448414 0320F809 */ jalr $t9 +/* 00448418 00000000 */ nop +/* 0044841C 1000004F */ b .L0044855C +/* 00448420 8FBC00C8 */ lw $gp, 0xc8($sp) +.L00448424: +/* 00448424 1053FFAF */ beq $v0, $s3, .L004482E4 +/* 00448428 2C410078 */ sltiu $at, $v0, 0x78 +/* 0044842C 1020003D */ beqz $at, .L00448524 +/* 00448430 2449FF92 */ addiu $t1, $v0, -0x6e +/* 00448434 2D21000A */ sltiu $at, $t1, 0xa +/* 00448438 1020FFBB */ beqz $at, .L00448328 +/* 0044843C 00000000 */ nop +/* 00448440 8F818038 */ lw $at, %got(jtbl_1000E1EC)($gp) +/* 00448444 00094880 */ sll $t1, $t1, 2 +/* 00448448 00290821 */ addu $at, $at, $t1 +/* 0044844C 8C29E1EC */ lw $t1, %lo(jtbl_1000E1EC)($at) +/* 00448450 013C4821 */ addu $t1, $t1, $gp +/* 00448454 01200008 */ jr $t1 +/* 00448458 00000000 */ nop +.L0044845C: +/* 0044845C 2C410010 */ sltiu $at, $v0, 0x10 +/* 00448460 1420000F */ bnez $at, .L004484A0 +/* 00448464 2C41001E */ sltiu $at, $v0, 0x1e +/* 00448468 14200024 */ bnez $at, .L004484FC +/* 0044846C 2458FFE8 */ addiu $t8, $v0, -0x18 +/* 00448470 1055FF9C */ beq $v0, $s5, .L004482E4 +/* 00448474 244EFFD8 */ addiu $t6, $v0, -0x28 +/* 00448478 2DC1003B */ sltiu $at, $t6, 0x3b +/* 0044847C 1020FFAA */ beqz $at, .L00448328 +/* 00448480 00000000 */ nop +/* 00448484 8F818038 */ lw $at, %got(jtbl_1000E100)($gp) +/* 00448488 000E7080 */ sll $t6, $t6, 2 +/* 0044848C 002E0821 */ addu $at, $at, $t6 +/* 00448490 8C2EE100 */ lw $t6, %lo(jtbl_1000E100)($at) +/* 00448494 01DC7021 */ addu $t6, $t6, $gp +/* 00448498 01C00008 */ jr $t6 +/* 0044849C 00000000 */ nop +.L004484A0: +/* 004484A0 2C410005 */ sltiu $at, $v0, 5 +/* 004484A4 1020000B */ beqz $at, .L004484D4 +/* 004484A8 244FFFF6 */ addiu $t7, $v0, -0xa +/* 004484AC 2C410005 */ sltiu $at, $v0, 5 +/* 004484B0 1020FF9D */ beqz $at, .L00448328 +/* 004484B4 00000000 */ nop +/* 004484B8 8F818038 */ lw $at, %got(jtbl_1000E0BC)($gp) +/* 004484BC 00024080 */ sll $t0, $v0, 2 +/* 004484C0 00280821 */ addu $at, $at, $t0 +/* 004484C4 8C28E0BC */ lw $t0, %lo(jtbl_1000E0BC)($at) +/* 004484C8 011C4021 */ addu $t0, $t0, $gp +/* 004484CC 01000008 */ jr $t0 +/* 004484D0 00000000 */ nop +.L004484D4: +/* 004484D4 2DE10006 */ sltiu $at, $t7, 6 +/* 004484D8 1020FF93 */ beqz $at, .L00448328 +/* 004484DC 00000000 */ nop +/* 004484E0 8F818038 */ lw $at, %got(jtbl_1000E0D0)($gp) +/* 004484E4 000F7880 */ sll $t7, $t7, 2 +/* 004484E8 002F0821 */ addu $at, $at, $t7 +/* 004484EC 8C2FE0D0 */ lw $t7, %lo(jtbl_1000E0D0)($at) +/* 004484F0 01FC7821 */ addu $t7, $t7, $gp +/* 004484F4 01E00008 */ jr $t7 +/* 004484F8 00000000 */ nop +.L004484FC: +/* 004484FC 2F010006 */ sltiu $at, $t8, 6 +/* 00448500 1020FF89 */ beqz $at, .L00448328 +/* 00448504 00000000 */ nop +/* 00448508 8F818038 */ lw $at, %got(jtbl_1000E0E8)($gp) +/* 0044850C 0018C080 */ sll $t8, $t8, 2 +/* 00448510 00380821 */ addu $at, $at, $t8 +/* 00448514 8C38E0E8 */ lw $t8, %lo(jtbl_1000E0E8)($at) +/* 00448518 031CC021 */ addu $t8, $t8, $gp +/* 0044851C 03000008 */ jr $t8 +/* 00448520 00000000 */ nop +.L00448524: +/* 00448524 1054FF6F */ beq $v0, $s4, .L004482E4 +/* 00448528 00000000 */ nop +/* 0044852C 1000FF7E */ b .L00448328 +/* 00448530 00000000 */ nop +.L00448534: +/* 00448534 2DA10008 */ sltiu $at, $t5, 8 +/* 00448538 1020FF7B */ beqz $at, .L00448328 +/* 0044853C 00000000 */ nop +/* 00448540 8F818038 */ lw $at, %got(jtbl_1000E214)($gp) +/* 00448544 000D6880 */ sll $t5, $t5, 2 +/* 00448548 002D0821 */ addu $at, $at, $t5 +/* 0044854C 8C2DE214 */ lw $t5, %lo(jtbl_1000E214)($at) +/* 00448550 01BC6821 */ addu $t5, $t5, $gp +/* 00448554 01A00008 */ jr $t5 +/* 00448558 00000000 */ nop +.L0044855C: +/* 0044855C 93A200D7 */ lbu $v0, 0xd7($sp) +.L00448560: +/* 00448560 8FBF00CC */ lw $ra, 0xcc($sp) +/* 00448564 8FB000B0 */ lw $s0, 0xb0($sp) +/* 00448568 8FB100B4 */ lw $s1, 0xb4($sp) +/* 0044856C 8FB200B8 */ lw $s2, 0xb8($sp) +/* 00448570 8FB300BC */ lw $s3, 0xbc($sp) +/* 00448574 8FB400C0 */ lw $s4, 0xc0($sp) +/* 00448578 8FB500C4 */ lw $s5, 0xc4($sp) +/* 0044857C 03E00008 */ jr $ra +/* 00448580 27BD00D8 */ addiu $sp, $sp, 0xd8 + .type uses, @function + .size uses, .-uses + .end uses + +glabel add_store + .ent add_store + # 004432FC translate +/* 00448584 3C1C0FBD */ .cpload $t9 +/* 00448588 279C74CC */ +/* 0044858C 0399E021 */ +/* 00448590 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00448594 AFBF002C */ sw $ra, 0x2c($sp) +/* 00448598 AFBC0028 */ sw $gp, 0x28($sp) +/* 0044859C AFB30024 */ sw $s3, 0x24($sp) +/* 004485A0 AFB20020 */ sw $s2, 0x20($sp) +/* 004485A4 AFB1001C */ sw $s1, 0x1c($sp) +/* 004485A8 AFB00018 */ sw $s0, 0x18($sp) +/* 004485AC 90820021 */ lbu $v0, 0x21($a0) +/* 004485B0 3C016C00 */ lui $at, 0x6c00 +/* 004485B4 00809025 */ move $s2, $a0 +/* 004485B8 00027600 */ sll $t6, $v0, 0x18 +/* 004485BC 000E7F42 */ srl $t7, $t6, 0x1d +/* 004485C0 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 004485C4 0018C823 */ negu $t9, $t8 +/* 004485C8 03214024 */ and $t0, $t9, $at +/* 004485CC 01E84804 */ sllv $t1, $t0, $t7 +/* 004485D0 052100A4 */ bgez $t1, .L00448864 +/* 004485D4 2404000E */ li $a0, 14 +/* 004485D8 3043001F */ andi $v1, $v0, 0x1f +/* 004485DC 14830005 */ bne $a0, $v1, .L004485F4 +/* 004485E0 00000000 */ nop +/* 004485E4 8E4A0028 */ lw $t2, 0x28($s2) +/* 004485E8 29410005 */ slti $at, $t2, 5 +/* 004485EC 54200008 */ bnel $at, $zero, .L00448610 +/* 004485F0 92440020 */ lbu $a0, 0x20($s2) +.L004485F4: +/* 004485F4 5083009C */ beql $a0, $v1, .L00448868 +/* 004485F8 8FBF002C */ lw $ra, 0x2c($sp) +/* 004485FC 8E4B0028 */ lw $t3, 0x28($s2) +/* 00448600 29610009 */ slti $at, $t3, 9 +/* 00448604 50200098 */ beql $at, $zero, .L00448868 +/* 00448608 8FBF002C */ lw $ra, 0x2c($sp) +/* 0044860C 92440020 */ lbu $a0, 0x20($s2) +.L00448610: +/* 00448610 2401007B */ li $at, 123 +/* 00448614 02409825 */ move $s3, $s2 +/* 00448618 54810032 */ bnel $a0, $at, .L004486E4 +/* 0044861C 2401003E */ li $at, 62 +/* 00448620 8E420000 */ lw $v0, ($s2) +/* 00448624 904C0020 */ lbu $t4, 0x20($v0) +/* 00448628 258DFFE0 */ addiu $t5, $t4, -0x20 +/* 0044862C 2DAE0040 */ sltiu $t6, $t5, 0x40 +/* 00448630 11C00009 */ beqz $t6, .L00448658 +/* 00448634 00000000 */ nop +/* 00448638 8F888038 */ lw $t0, %got(D_100169B0)($gp) +/* 0044863C 000DC143 */ sra $t8, $t5, 5 +/* 00448640 0018C880 */ sll $t9, $t8, 2 +/* 00448644 250869B0 */ addiu $t0, %lo(D_100169B0) # addiu $t0, $t0, 0x69b0 +/* 00448648 01197821 */ addu $t7, $t0, $t9 +/* 0044864C 8DE90000 */ lw $t1, ($t7) +/* 00448650 01A95004 */ sllv $t2, $t1, $t5 +/* 00448654 294E0000 */ slti $t6, $t2, 0 +.L00448658: +/* 00448658 51C00008 */ beql $t6, $zero, .L0044867C +/* 0044865C 8C430000 */ lw $v1, ($v0) +/* 00448660 904C0021 */ lbu $t4, 0x21($v0) +/* 00448664 24010003 */ li $at, 3 +/* 00448668 000CC600 */ sll $t8, $t4, 0x18 +/* 0044866C 00184742 */ srl $t0, $t8, 0x1d +/* 00448670 11010019 */ beq $t0, $at, .L004486D8 +/* 00448674 00000000 */ nop +/* 00448678 8C430000 */ lw $v1, ($v0) +.L0044867C: +/* 0044867C 50600019 */ beql $v1, $zero, .L004486E4 +/* 00448680 2401003E */ li $at, 62 +/* 00448684 90790020 */ lbu $t9, 0x20($v1) +/* 00448688 272FFFE0 */ addiu $t7, $t9, -0x20 +/* 0044868C 2DE90040 */ sltiu $t1, $t7, 0x40 +/* 00448690 11200009 */ beqz $t1, .L004486B8 +/* 00448694 00000000 */ nop +/* 00448698 8F8B8038 */ lw $t3, %got(D_100169B0)($gp) +/* 0044869C 000F6943 */ sra $t5, $t7, 5 +/* 004486A0 000D5080 */ sll $t2, $t5, 2 +/* 004486A4 256B69B0 */ addiu $t3, %lo(D_100169B0) # addiu $t3, $t3, 0x69b0 +/* 004486A8 016A7021 */ addu $t6, $t3, $t2 +/* 004486AC 8DCC0000 */ lw $t4, ($t6) +/* 004486B0 01ECC004 */ sllv $t8, $t4, $t7 +/* 004486B4 2B090000 */ slti $t1, $t8, 0 +.L004486B8: +/* 004486B8 5120000A */ beql $t1, $zero, .L004486E4 +/* 004486BC 2401003E */ li $at, 62 +/* 004486C0 90790021 */ lbu $t9, 0x21($v1) +/* 004486C4 24010003 */ li $at, 3 +/* 004486C8 00196E00 */ sll $t5, $t9, 0x18 +/* 004486CC 000D5F42 */ srl $t3, $t5, 0x1d +/* 004486D0 55610004 */ bnel $t3, $at, .L004486E4 +/* 004486D4 2401003E */ li $at, 62 +.L004486D8: +/* 004486D8 1000001B */ b .L00448748 +/* 004486DC 00009825 */ move $s3, $zero +/* 004486E0 2401003E */ li $at, 62 +.L004486E4: +/* 004486E4 14810018 */ bne $a0, $at, .L00448748 +/* 004486E8 00000000 */ nop +/* 004486EC 8E420004 */ lw $v0, 4($s2) +/* 004486F0 904A0020 */ lbu $t2, 0x20($v0) +/* 004486F4 254EFFE0 */ addiu $t6, $t2, -0x20 +/* 004486F8 2DCC0040 */ sltiu $t4, $t6, 0x40 +/* 004486FC 11800009 */ beqz $t4, .L00448724 +/* 00448700 00000000 */ nop +/* 00448704 8F888038 */ lw $t0, %got(D_100169B0)($gp) +/* 00448708 000E7943 */ sra $t7, $t6, 5 +/* 0044870C 000FC080 */ sll $t8, $t7, 2 +/* 00448710 250869B0 */ addiu $t0, %lo(D_100169B0) # addiu $t0, $t0, 0x69b0 +/* 00448714 01184821 */ addu $t1, $t0, $t8 +/* 00448718 8D390000 */ lw $t9, ($t1) +/* 0044871C 01D96804 */ sllv $t5, $t9, $t6 +/* 00448720 29AC0000 */ slti $t4, $t5, 0 +.L00448724: +/* 00448724 11800008 */ beqz $t4, .L00448748 +/* 00448728 00000000 */ nop +/* 0044872C 904A0021 */ lbu $t2, 0x21($v0) +/* 00448730 24010003 */ li $at, 3 +/* 00448734 000A7E00 */ sll $t7, $t2, 0x18 +/* 00448738 000F4742 */ srl $t0, $t7, 0x1d +/* 0044873C 15010002 */ bne $t0, $at, .L00448748 +/* 00448740 00000000 */ nop +/* 00448744 00009825 */ move $s3, $zero +.L00448748: +/* 00448748 8F838B2C */ lw $v1, %got(load_count)($gp) +/* 0044874C 90630000 */ lbu $v1, ($v1) +/* 00448750 10600033 */ beqz $v1, .L00448820 +/* 00448754 00000000 */ nop +/* 00448758 8F898BB0 */ lw $t1, %got(loads)($gp) +/* 0044875C 306200FF */ andi $v0, $v1, 0xff +/* 00448760 0002C080 */ sll $t8, $v0, 2 +/* 00448764 2529FFFC */ addiu $t1, $t1, -4 +/* 00448768 03098821 */ addu $s1, $t8, $t1 +/* 0044876C 8E300000 */ lw $s0, ($s1) +.L00448770: +/* 00448770 56000005 */ bnel $s0, $zero, .L00448788 +/* 00448774 92590021 */ lbu $t9, 0x21($s2) +/* 00448778 AE330000 */ sw $s3, ($s1) +/* 0044877C 10000023 */ b .L0044880C +/* 00448780 00009825 */ move $s3, $zero +/* 00448784 92590021 */ lbu $t9, 0x21($s2) +.L00448788: +/* 00448788 920B0021 */ lbu $t3, 0x21($s0) +/* 0044878C 00197600 */ sll $t6, $t9, 0x18 +/* 00448790 000B6600 */ sll $t4, $t3, 0x18 +/* 00448794 000C5742 */ srl $t2, $t4, 0x1d +/* 00448798 000E6F42 */ srl $t5, $t6, 0x1d +/* 0044879C 55AA0010 */ bnel $t5, $t2, .L004487E0 +/* 004487A0 92180020 */ lbu $t8, 0x20($s0) +/* 004487A4 8E4F0024 */ lw $t7, 0x24($s2) +/* 004487A8 8E080024 */ lw $t0, 0x24($s0) +/* 004487AC 55E8000C */ bnel $t7, $t0, .L004487E0 +/* 004487B0 92180020 */ lbu $t8, 0x20($s0) +/* 004487B4 8F998600 */ lw $t9, %call16(overlap)($gp) +/* 004487B8 02002025 */ move $a0, $s0 +/* 004487BC 02402825 */ move $a1, $s2 +/* 004487C0 0320F809 */ jalr $t9 +/* 004487C4 00000000 */ nop +/* 004487C8 10400004 */ beqz $v0, .L004487DC +/* 004487CC 8FBC0028 */ lw $gp, 0x28($sp) +/* 004487D0 AE330000 */ sw $s3, ($s1) +/* 004487D4 1000000D */ b .L0044880C +/* 004487D8 00009825 */ move $s3, $zero +.L004487DC: +/* 004487DC 92180020 */ lbu $t8, 0x20($s0) +.L004487E0: +/* 004487E0 2401007B */ li $at, 123 +/* 004487E4 17010009 */ bne $t8, $at, .L0044880C +/* 004487E8 00000000 */ nop +/* 004487EC 8F99861C */ lw $t9, %call16(uses)($gp) +/* 004487F0 8E040000 */ lw $a0, ($s0) +/* 004487F4 02402825 */ move $a1, $s2 +/* 004487F8 0320F809 */ jalr $t9 +/* 004487FC 00003025 */ move $a2, $zero +/* 00448800 10400002 */ beqz $v0, .L0044880C +/* 00448804 8FBC0028 */ lw $gp, 0x28($sp) +/* 00448808 AE200000 */ sw $zero, ($s1) +.L0044880C: +/* 0044880C 8F898BB0 */ lw $t1, %got(loads)($gp) +/* 00448810 2631FFFC */ addiu $s1, $s1, -4 +/* 00448814 2529FFFC */ addiu $t1, $t1, -4 +/* 00448818 5629FFD5 */ bnel $s1, $t1, .L00448770 +/* 0044881C 8E300000 */ lw $s0, ($s1) +.L00448820: +/* 00448820 52600011 */ beql $s3, $zero, .L00448868 +/* 00448824 8FBF002C */ lw $ra, 0x2c($sp) +/* 00448828 8F828B2C */ lw $v0, %got(load_count)($gp) +/* 0044882C 90420000 */ lbu $v0, ($v0) +/* 00448830 2841000A */ slti $at, $v0, 0xa +/* 00448834 5020000C */ beql $at, $zero, .L00448868 +/* 00448838 8FBF002C */ lw $ra, 0x2c($sp) +/* 0044883C 8F818B2C */ lw $at, %got(load_count)($gp) +/* 00448840 8F8E8B2C */ lw $t6, %got(load_count)($gp) +/* 00448844 24590001 */ addiu $t9, $v0, 1 +/* 00448848 A0390000 */ sb $t9, ($at) +/* 0044884C 8F8C8BB0 */ lw $t4, %got(loads)($gp) +/* 00448850 91CE0000 */ lbu $t6, ($t6) +/* 00448854 258CFFFC */ addiu $t4, $t4, -4 +/* 00448858 000E5880 */ sll $t3, $t6, 2 +/* 0044885C 016C6821 */ addu $t5, $t3, $t4 +/* 00448860 ADB30000 */ sw $s3, ($t5) +.L00448864: +/* 00448864 8FBF002C */ lw $ra, 0x2c($sp) +.L00448868: +/* 00448868 8FB00018 */ lw $s0, 0x18($sp) +/* 0044886C 8FB1001C */ lw $s1, 0x1c($sp) +/* 00448870 8FB20020 */ lw $s2, 0x20($sp) +/* 00448874 8FB30024 */ lw $s3, 0x24($sp) +/* 00448878 03E00008 */ jr $ra +/* 0044887C 27BD0030 */ addiu $sp, $sp, 0x30 + .type add_store, @function + .size add_store, .-add_store + .end add_store + +glabel is_reg + .ent is_reg + # 004488F4 translate_cvtl +/* 00448880 3C1C0FBD */ .cpload $t9 +/* 00448884 279C71D0 */ +/* 00448888 0399E021 */ +/* 0044888C 90830021 */ lbu $v1, 0x21($a0) +/* 00448890 3C016600 */ lui $at, 0x6600 +/* 00448894 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00448898 00031E00 */ sll $v1, $v1, 0x18 +/* 0044889C 00031F42 */ srl $v1, $v1, 0x1d +/* 004488A0 2C6E0020 */ sltiu $t6, $v1, 0x20 +/* 004488A4 000E7823 */ negu $t7, $t6 +/* 004488A8 01E1C024 */ and $t8, $t7, $at +/* 004488AC 0078C804 */ sllv $t9, $t8, $v1 +/* 004488B0 AFBF001C */ sw $ra, 0x1c($sp) +/* 004488B4 0721000A */ bgez $t9, .L004488E0 +/* 004488B8 AFBC0018 */ sw $gp, 0x18($sp) +/* 004488BC 8F998610 */ lw $t9, %call16(check_reg)($gp) +/* 004488C0 AFA40020 */ sw $a0, 0x20($sp) +/* 004488C4 0320F809 */ jalr $t9 +/* 004488C8 00000000 */ nop +/* 004488CC 8FA40020 */ lw $a0, 0x20($sp) +/* 004488D0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004488D4 90830021 */ lbu $v1, 0x21($a0) +/* 004488D8 00031E00 */ sll $v1, $v1, 0x18 +/* 004488DC 00031F42 */ srl $v1, $v1, 0x1d +.L004488E0: +/* 004488E0 8FBF001C */ lw $ra, 0x1c($sp) +/* 004488E4 38620003 */ xori $v0, $v1, 3 +/* 004488E8 2C420001 */ sltiu $v0, $v0, 1 +/* 004488EC 03E00008 */ jr $ra +/* 004488F0 27BD0020 */ addiu $sp, $sp, 0x20 + .type is_reg, @function + .size is_reg, .-is_reg + .end is_reg + +glabel translate_cvtl + .ent translate_cvtl + # 004432FC translate + # 00447E14 load_cse +/* 004488F4 3C1C0FBD */ .cpload $t9 +/* 004488F8 279C715C */ +/* 004488FC 0399E021 */ +/* 00448900 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 00448904 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00448908 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044890C AFBC0018 */ sw $gp, 0x18($sp) +/* 00448910 AFB00014 */ sw $s0, 0x14($sp) +/* 00448914 00802825 */ move $a1, $a0 +/* 00448918 8C840000 */ lw $a0, ($a0) +/* 0044891C 0320F809 */ jalr $t9 +/* 00448920 AFA50040 */ sw $a1, 0x40($sp) +/* 00448924 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448928 10400007 */ beqz $v0, .L00448948 +/* 0044892C 8FA50040 */ lw $a1, 0x40($sp) +/* 00448930 8F9983FC */ lw $t9, %call16(fold)($gp) +/* 00448934 00A02025 */ move $a0, $a1 +/* 00448938 0320F809 */ jalr $t9 +/* 0044893C 00000000 */ nop +/* 00448940 1000012C */ b .L00448DF4 +/* 00448944 8FBC0018 */ lw $gp, 0x18($sp) +.L00448948: +/* 00448948 90AE0021 */ lbu $t6, 0x21($a1) +/* 0044894C 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00448950 8CA30024 */ lw $v1, 0x24($a1) +/* 00448954 31CF001F */ andi $t7, $t6, 0x1f +/* 00448958 A3AF0037 */ sb $t7, 0x37($sp) +/* 0044895C 8CA40000 */ lw $a0, ($a1) +/* 00448960 AFA50040 */ sw $a1, 0x40($sp) +/* 00448964 0320F809 */ jalr $t9 +/* 00448968 AFA30038 */ sw $v1, 0x38($sp) +/* 0044896C 8FA40040 */ lw $a0, 0x40($sp) +/* 00448970 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448974 00408025 */ move $s0, $v0 +/* 00448978 90980019 */ lbu $t8, 0x19($a0) +/* 0044897C 3319FFFE */ andi $t9, $t8, 0xfffe +/* 00448980 A0990019 */ sb $t9, 0x19($a0) +/* 00448984 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00448988 0320F809 */ jalr $t9 +/* 0044898C 00000000 */ nop +/* 00448990 8FA30038 */ lw $v1, 0x38($sp) +/* 00448994 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448998 28610040 */ slti $at, $v1, 0x40 +/* 0044899C 54200004 */ bnel $at, $zero, .L004489B0 +/* 004489A0 92020020 */ lbu $v0, 0x20($s0) +/* 004489A4 10000113 */ b .L00448DF4 +/* 004489A8 02001025 */ move $v0, $s0 +/* 004489AC 92020020 */ lbu $v0, 0x20($s0) +.L004489B0: +/* 004489B0 24010052 */ li $at, 82 +/* 004489B4 5441000B */ bnel $v0, $at, .L004489E4 +/* 004489B8 24010036 */ li $at, 54 +/* 004489BC 8F998624 */ lw $t9, %call16(is_reg)($gp) +/* 004489C0 02002025 */ move $a0, $s0 +/* 004489C4 AFA30038 */ sw $v1, 0x38($sp) +/* 004489C8 0320F809 */ jalr $t9 +/* 004489CC 00000000 */ nop +/* 004489D0 8FBC0018 */ lw $gp, 0x18($sp) +/* 004489D4 10400007 */ beqz $v0, .L004489F4 +/* 004489D8 8FA30038 */ lw $v1, 0x38($sp) +/* 004489DC 92020020 */ lbu $v0, 0x20($s0) +/* 004489E0 24010036 */ li $at, 54 +.L004489E4: +/* 004489E4 10410003 */ beq $v0, $at, .L004489F4 +/* 004489E8 2401003D */ li $at, 61 +/* 004489EC 54410082 */ bnel $v0, $at, .L00448BF8 +/* 004489F0 93A20037 */ lbu $v0, 0x37($sp) +.L004489F4: +/* 004489F4 8E020028 */ lw $v0, 0x28($s0) +/* 004489F8 000210C0 */ sll $v0, $v0, 3 +/* 004489FC 0043082A */ slt $at, $v0, $v1 +/* 00448A00 10200012 */ beqz $at, .L00448A4C +/* 00448A04 00000000 */ nop +/* 00448A08 92080021 */ lbu $t0, 0x21($s0) +/* 00448A0C 24040006 */ li $a0, 6 +/* 00448A10 93A20037 */ lbu $v0, 0x37($sp) +/* 00448A14 3109001F */ andi $t1, $t0, 0x1f +/* 00448A18 1489000A */ bne $a0, $t1, .L00448A44 +/* 00448A1C 00000000 */ nop +/* 00448A20 10440008 */ beq $v0, $a0, .L00448A44 +/* 00448A24 24010005 */ li $at, 5 +/* 00448A28 54410073 */ bnel $v0, $at, .L00448BF8 +/* 00448A2C 93A20037 */ lbu $v0, 0x37($sp) +/* 00448A30 8F8A89B8 */ lw $t2, %got(isa)($gp) +/* 00448A34 914A0000 */ lbu $t2, ($t2) +/* 00448A38 2D410002 */ sltiu $at, $t2, 2 +/* 00448A3C 5420006E */ bnel $at, $zero, .L00448BF8 +/* 00448A40 93A20037 */ lbu $v0, 0x37($sp) +.L00448A44: +/* 00448A44 100000EB */ b .L00448DF4 +/* 00448A48 02001025 */ move $v0, $s0 +.L00448A4C: +/* 00448A4C 54620009 */ bnel $v1, $v0, .L00448A74 +/* 00448A50 960E0022 */ lhu $t6, 0x22($s0) +/* 00448A54 920C0021 */ lbu $t4, 0x21($s0) +/* 00448A58 93AB0037 */ lbu $t3, 0x37($sp) +/* 00448A5C 318D001F */ andi $t5, $t4, 0x1f +/* 00448A60 556D0004 */ bnel $t3, $t5, .L00448A74 +/* 00448A64 960E0022 */ lhu $t6, 0x22($s0) +/* 00448A68 100000E2 */ b .L00448DF4 +/* 00448A6C 02001025 */ move $v0, $s0 +/* 00448A70 960E0022 */ lhu $t6, 0x22($s0) +.L00448A74: +/* 00448A74 31CF0001 */ andi $t7, $t6, 1 +/* 00448A78 55E0005F */ bnel $t7, $zero, .L00448BF8 +/* 00448A7C 93A20037 */ lbu $v0, 0x37($sp) +/* 00448A80 96180014 */ lhu $t8, 0x14($s0) +/* 00448A84 30790007 */ andi $t9, $v1, 7 +/* 00448A88 2F010002 */ sltiu $at, $t8, 2 +/* 00448A8C 5020005A */ beql $at, $zero, .L00448BF8 +/* 00448A90 93A20037 */ lbu $v0, 0x37($sp) +/* 00448A94 57200058 */ bnel $t9, $zero, .L00448BF8 +/* 00448A98 93A20037 */ lbu $v0, 0x37($sp) +/* 00448A9C 04610003 */ bgez $v1, .L00448AAC +/* 00448AA0 000330C3 */ sra $a2, $v1, 3 +/* 00448AA4 24610007 */ addiu $at, $v1, 7 +/* 00448AA8 000130C3 */ sra $a2, $at, 3 +.L00448AAC: +/* 00448AAC 24010001 */ li $at, 1 +/* 00448AB0 10C10007 */ beq $a2, $at, .L00448AD0 +/* 00448AB4 24010002 */ li $at, 2 +/* 00448AB8 10C10005 */ beq $a2, $at, .L00448AD0 +/* 00448ABC 24010004 */ li $at, 4 +/* 00448AC0 10C10003 */ beq $a2, $at, .L00448AD0 +/* 00448AC4 24010008 */ li $at, 8 +/* 00448AC8 54C1004B */ bnel $a2, $at, .L00448BF8 +/* 00448ACC 93A20037 */ lbu $v0, 0x37($sp) +.L00448AD0: +/* 00448AD0 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00448AD4 26040020 */ addiu $a0, $s0, 0x20 +/* 00448AD8 AFA60020 */ sw $a2, 0x20($sp) +/* 00448ADC 0320F809 */ jalr $t9 +/* 00448AE0 00000000 */ nop +/* 00448AE4 92080020 */ lbu $t0, 0x20($s0) +/* 00448AE8 24010052 */ li $at, 82 +/* 00448AEC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448AF0 8FA60020 */ lw $a2, 0x20($sp) +/* 00448AF4 11010023 */ beq $t0, $at, .L00448B84 +/* 00448AF8 00402825 */ move $a1, $v0 +/* 00448AFC 8E040000 */ lw $a0, ($s0) +/* 00448B00 24010052 */ li $at, 82 +/* 00448B04 90890020 */ lbu $t1, 0x20($a0) +/* 00448B08 15210015 */ bne $t1, $at, .L00448B60 +/* 00448B0C 00000000 */ nop +/* 00448B10 8F998624 */ lw $t9, %call16(is_reg)($gp) +/* 00448B14 AFA2002C */ sw $v0, 0x2c($sp) +/* 00448B18 AFA60020 */ sw $a2, 0x20($sp) +/* 00448B1C 0320F809 */ jalr $t9 +/* 00448B20 00000000 */ nop +/* 00448B24 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448B28 8FA5002C */ lw $a1, 0x2c($sp) +/* 00448B2C 1040000C */ beqz $v0, .L00448B60 +/* 00448B30 8FA60020 */ lw $a2, 0x20($sp) +/* 00448B34 8F998658 */ lw $t9, %call16(build_u)($gp) +/* 00448B38 8E040000 */ lw $a0, ($s0) +/* 00448B3C AFA5002C */ sw $a1, 0x2c($sp) +/* 00448B40 AFA60020 */ sw $a2, 0x20($sp) +/* 00448B44 0320F809 */ jalr $t9 +/* 00448B48 24840020 */ addiu $a0, $a0, 0x20 +/* 00448B4C 8FA5002C */ lw $a1, 0x2c($sp) +/* 00448B50 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448B54 8FA60020 */ lw $a2, 0x20($sp) +/* 00448B58 1000000A */ b .L00448B84 +/* 00448B5C ACA20000 */ sw $v0, ($a1) +.L00448B60: +/* 00448B60 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00448B64 8E040000 */ lw $a0, ($s0) +/* 00448B68 AFA5002C */ sw $a1, 0x2c($sp) +/* 00448B6C 0320F809 */ jalr $t9 +/* 00448B70 AFA60020 */ sw $a2, 0x20($sp) +/* 00448B74 8FA5002C */ lw $a1, 0x2c($sp) +/* 00448B78 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448B7C 8FA60020 */ lw $a2, 0x20($sp) +/* 00448B80 ACA20000 */ sw $v0, ($a1) +.L00448B84: +/* 00448B84 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 00448B88 02002025 */ move $a0, $s0 +/* 00448B8C AFA5002C */ sw $a1, 0x2c($sp) +/* 00448B90 0320F809 */ jalr $t9 +/* 00448B94 AFA60020 */ sw $a2, 0x20($sp) +/* 00448B98 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448B9C 8FA5002C */ lw $a1, 0x2c($sp) +/* 00448BA0 8FA60020 */ lw $a2, 0x20($sp) +/* 00448BA4 8F8A898C */ lw $t2, %got(lsb_first)($gp) +/* 00448BA8 00A01025 */ move $v0, $a1 +/* 00448BAC 914A0000 */ lbu $t2, ($t2) +/* 00448BB0 55400007 */ bnel $t2, $zero, .L00448BD0 +/* 00448BB4 90A30021 */ lbu $v1, 0x21($a1) +/* 00448BB8 8CAC002C */ lw $t4, 0x2c($a1) +/* 00448BBC 8CAB0028 */ lw $t3, 0x28($a1) +/* 00448BC0 018B6821 */ addu $t5, $t4, $t3 +/* 00448BC4 01A67023 */ subu $t6, $t5, $a2 +/* 00448BC8 ACAE002C */ sw $t6, 0x2c($a1) +/* 00448BCC 90A30021 */ lbu $v1, 0x21($a1) +.L00448BD0: +/* 00448BD0 93AF0037 */ lbu $t7, 0x37($sp) +/* 00448BD4 ACA60028 */ sw $a2, 0x28($a1) +/* 00448BD8 0003C6C0 */ sll $t8, $v1, 0x1b +/* 00448BDC 0018CEC2 */ srl $t9, $t8, 0x1b +/* 00448BE0 01F94026 */ xor $t0, $t7, $t9 +/* 00448BE4 3109001F */ andi $t1, $t0, 0x1f +/* 00448BE8 01235026 */ xor $t2, $t1, $v1 +/* 00448BEC 10000081 */ b .L00448DF4 +/* 00448BF0 A0AA0021 */ sb $t2, 0x21($a1) +/* 00448BF4 93A20037 */ lbu $v0, 0x37($sp) +.L00448BF8: +/* 00448BF8 24040006 */ li $a0, 6 +/* 00448BFC 54440029 */ bnel $v0, $a0, .L00448CA4 +/* 00448C00 24010005 */ li $at, 5 +/* 00448C04 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448C08 240C0020 */ li $t4, 32 +/* 00448C0C 01833023 */ subu $a2, $t4, $v1 +/* 00448C10 AFA60020 */ sw $a2, 0x20($sp) +/* 00448C14 24040008 */ li $a0, 8 +/* 00448C18 0320F809 */ jalr $t9 +/* 00448C1C 00002825 */ move $a1, $zero +/* 00448C20 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448C24 24040073 */ li $a0, 115 +/* 00448C28 02002825 */ move $a1, $s0 +/* 00448C2C 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448C30 00403025 */ move $a2, $v0 +/* 00448C34 0320F809 */ jalr $t9 +/* 00448C38 00000000 */ nop +/* 00448C3C 90430021 */ lbu $v1, 0x21($v0) +/* 00448C40 93AB0037 */ lbu $t3, 0x37($sp) +/* 00448C44 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448C48 00036EC0 */ sll $t5, $v1, 0x1b +/* 00448C4C 000D76C2 */ srl $t6, $t5, 0x1b +/* 00448C50 016EC026 */ xor $t8, $t3, $t6 +/* 00448C54 330F001F */ andi $t7, $t8, 0x1f +/* 00448C58 01E3C826 */ xor $t9, $t7, $v1 +/* 00448C5C A0590021 */ sb $t9, 0x21($v0) +/* 00448C60 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448C64 00408025 */ move $s0, $v0 +/* 00448C68 8FA60020 */ lw $a2, 0x20($sp) +/* 00448C6C 24040008 */ li $a0, 8 +/* 00448C70 0320F809 */ jalr $t9 +/* 00448C74 00002825 */ move $a1, $zero +/* 00448C78 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448C7C 24040074 */ li $a0, 116 +/* 00448C80 02002825 */ move $a1, $s0 +/* 00448C84 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448C88 00403025 */ move $a2, $v0 +/* 00448C8C 0320F809 */ jalr $t9 +/* 00448C90 00000000 */ nop +/* 00448C94 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448C98 10000055 */ b .L00448DF0 +/* 00448C9C 00408025 */ move $s0, $v0 +/* 00448CA0 24010005 */ li $at, 5 +.L00448CA4: +/* 00448CA4 14410027 */ bne $v0, $at, .L00448D44 +/* 00448CA8 24040007 */ li $a0, 7 +/* 00448CAC 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448CB0 24080040 */ li $t0, 64 +/* 00448CB4 01033023 */ subu $a2, $t0, $v1 +/* 00448CB8 AFA60020 */ sw $a2, 0x20($sp) +/* 00448CBC 0320F809 */ jalr $t9 +/* 00448CC0 00002825 */ move $a1, $zero +/* 00448CC4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448CC8 24040073 */ li $a0, 115 +/* 00448CCC 02002825 */ move $a1, $s0 +/* 00448CD0 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448CD4 00403025 */ move $a2, $v0 +/* 00448CD8 0320F809 */ jalr $t9 +/* 00448CDC 00000000 */ nop +/* 00448CE0 90430021 */ lbu $v1, 0x21($v0) +/* 00448CE4 93A90037 */ lbu $t1, 0x37($sp) +/* 00448CE8 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448CEC 000356C0 */ sll $t2, $v1, 0x1b +/* 00448CF0 000A66C2 */ srl $t4, $t2, 0x1b +/* 00448CF4 012C6826 */ xor $t5, $t1, $t4 +/* 00448CF8 31AB001F */ andi $t3, $t5, 0x1f +/* 00448CFC 01637026 */ xor $t6, $t3, $v1 +/* 00448D00 A04E0021 */ sb $t6, 0x21($v0) +/* 00448D04 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448D08 00408025 */ move $s0, $v0 +/* 00448D0C 8FA60020 */ lw $a2, 0x20($sp) +/* 00448D10 24040007 */ li $a0, 7 +/* 00448D14 0320F809 */ jalr $t9 +/* 00448D18 00002825 */ move $a1, $zero +/* 00448D1C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448D20 24040074 */ li $a0, 116 +/* 00448D24 02002825 */ move $a1, $s0 +/* 00448D28 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448D2C 00403025 */ move $a2, $v0 +/* 00448D30 0320F809 */ jalr $t9 +/* 00448D34 00000000 */ nop +/* 00448D38 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448D3C 1000002C */ b .L00448DF0 +/* 00448D40 00408025 */ move $s0, $v0 +.L00448D44: +/* 00448D44 28610020 */ slti $at, $v1, 0x20 +/* 00448D48 14200012 */ bnez $at, .L00448D94 +/* 00448D4C 24040008 */ li $a0, 8 +/* 00448D50 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448D54 24180001 */ li $t8, 1 +/* 00448D58 00782804 */ sllv $a1, $t8, $v1 +/* 00448D5C 24A5FFFF */ addiu $a1, $a1, -1 +/* 00448D60 24040007 */ li $a0, 7 +/* 00448D64 0320F809 */ jalr $t9 +/* 00448D68 2406FFFF */ li $a2, -1 +/* 00448D6C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448D70 24040004 */ li $a0, 4 +/* 00448D74 02002825 */ move $a1, $s0 +/* 00448D78 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448D7C 00403025 */ move $a2, $v0 +/* 00448D80 0320F809 */ jalr $t9 +/* 00448D84 00000000 */ nop +/* 00448D88 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448D8C 10000010 */ b .L00448DD0 +/* 00448D90 00408025 */ move $s0, $v0 +.L00448D94: +/* 00448D94 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448D98 240F0001 */ li $t7, 1 +/* 00448D9C 006F3004 */ sllv $a2, $t7, $v1 +/* 00448DA0 24C6FFFF */ addiu $a2, $a2, -1 +/* 00448DA4 0320F809 */ jalr $t9 +/* 00448DA8 00002825 */ move $a1, $zero +/* 00448DAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448DB0 24040004 */ li $a0, 4 +/* 00448DB4 02002825 */ move $a1, $s0 +/* 00448DB8 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448DBC 00403025 */ move $a2, $v0 +/* 00448DC0 0320F809 */ jalr $t9 +/* 00448DC4 00000000 */ nop +/* 00448DC8 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448DCC 00408025 */ move $s0, $v0 +.L00448DD0: +/* 00448DD0 90430021 */ lbu $v1, 0x21($v0) +/* 00448DD4 93B90037 */ lbu $t9, 0x37($sp) +/* 00448DD8 000346C0 */ sll $t0, $v1, 0x1b +/* 00448DDC 000856C2 */ srl $t2, $t0, 0x1b +/* 00448DE0 032A4826 */ xor $t1, $t9, $t2 +/* 00448DE4 312C001F */ andi $t4, $t1, 0x1f +/* 00448DE8 01836826 */ xor $t5, $t4, $v1 +/* 00448DEC A04D0021 */ sb $t5, 0x21($v0) +.L00448DF0: +/* 00448DF0 02001025 */ move $v0, $s0 +.L00448DF4: +/* 00448DF4 8FBF001C */ lw $ra, 0x1c($sp) +/* 00448DF8 8FB00014 */ lw $s0, 0x14($sp) +/* 00448DFC 27BD0040 */ addiu $sp, $sp, 0x40 +/* 00448E00 03E00008 */ jr $ra +/* 00448E04 00000000 */ nop + .type translate_cvtl, @function + .size translate_cvtl, .-translate_cvtl + .end translate_cvtl + +glabel need_check_hl + .ent need_check_hl + # 004432FC translate +/* 00448E08 3C1C0FBD */ .cpload $t9 +/* 00448E0C 279C6C48 */ +/* 00448E10 0399E021 */ +/* 00448E14 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00448E18 AFBF001C */ sw $ra, 0x1c($sp) +/* 00448E1C AFBC0018 */ sw $gp, 0x18($sp) +/* 00448E20 908E0021 */ lbu $t6, 0x21($a0) +/* 00448E24 2401000E */ li $at, 14 +/* 00448E28 00802825 */ move $a1, $a0 +/* 00448E2C 31CF001F */ andi $t7, $t6, 0x1f +/* 00448E30 15E10003 */ bne $t7, $at, .L00448E40 +/* 00448E34 00000000 */ nop +/* 00448E38 1000001F */ b .L00448EB8 +/* 00448E3C 00001025 */ move $v0, $zero +.L00448E40: +/* 00448E40 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 00448E44 8CA40000 */ lw $a0, ($a1) +/* 00448E48 AFA50020 */ sw $a1, 0x20($sp) +/* 00448E4C 0320F809 */ jalr $t9 +/* 00448E50 00000000 */ nop +/* 00448E54 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448E58 10400016 */ beqz $v0, .L00448EB4 +/* 00448E5C 8FA50020 */ lw $a1, 0x20($sp) +/* 00448E60 90A20020 */ lbu $v0, 0x20($a1) +/* 00448E64 3843000C */ xori $v1, $v0, 0xc +/* 00448E68 2C630001 */ sltiu $v1, $v1, 1 +/* 00448E6C 10600005 */ beqz $v1, .L00448E84 +/* 00448E70 00000000 */ nop +/* 00448E74 8CB90000 */ lw $t9, ($a1) +/* 00448E78 8CB80024 */ lw $t8, 0x24($a1) +/* 00448E7C 8F280030 */ lw $t0, 0x30($t9) +/* 00448E80 0308182A */ slt $v1, $t8, $t0 +.L00448E84: +/* 00448E84 14600009 */ bnez $v1, .L00448EAC +/* 00448E88 00000000 */ nop +/* 00448E8C 3843000D */ xori $v1, $v0, 0xd +/* 00448E90 2C630001 */ sltiu $v1, $v1, 1 +/* 00448E94 10600005 */ beqz $v1, .L00448EAC +/* 00448E98 00000000 */ nop +/* 00448E9C 8CA90000 */ lw $t1, ($a1) +/* 00448EA0 8CAB0024 */ lw $t3, 0x24($a1) +/* 00448EA4 8D2A0030 */ lw $t2, 0x30($t1) +/* 00448EA8 014B182A */ slt $v1, $t2, $t3 +.L00448EAC: +/* 00448EAC 10000002 */ b .L00448EB8 +/* 00448EB0 00601025 */ move $v0, $v1 +.L00448EB4: +/* 00448EB4 24020001 */ li $v0, 1 +.L00448EB8: +/* 00448EB8 8FBF001C */ lw $ra, 0x1c($sp) +/* 00448EBC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00448EC0 03E00008 */ jr $ra +/* 00448EC4 00000000 */ nop + .type need_check_hl, @function + .size need_check_hl, .-need_check_hl + .end need_check_hl + +glabel build_ucond0 + .ent build_ucond0 + # 00442968 set_rewrite_indexed + # 004432FC translate +/* 00448EC8 3C1C0FBD */ .cpload $t9 +/* 00448ECC 279C6B88 */ +/* 00448ED0 0399E021 */ +/* 00448ED4 8F99867C */ lw $t9, %call16(dup_tree)($gp) +/* 00448ED8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00448EDC AFBF001C */ sw $ra, 0x1c($sp) +/* 00448EE0 AFBC0018 */ sw $gp, 0x18($sp) +/* 00448EE4 0320F809 */ jalr $t9 +/* 00448EE8 AFA50034 */ sw $a1, 0x34($sp) +/* 00448EEC 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448EF0 AFA20020 */ sw $v0, 0x20($sp) +/* 00448EF4 24040008 */ li $a0, 8 +/* 00448EF8 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 00448EFC 00002825 */ move $a1, $zero +/* 00448F00 8FA60034 */ lw $a2, 0x34($sp) +/* 00448F04 0320F809 */ jalr $t9 +/* 00448F08 00000000 */ nop +/* 00448F0C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448F10 2404004E */ li $a0, 78 +/* 00448F14 8FA50020 */ lw $a1, 0x20($sp) +/* 00448F18 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448F1C 00403025 */ move $a2, $v0 +/* 00448F20 0320F809 */ jalr $t9 +/* 00448F24 00000000 */ nop +/* 00448F28 904E0021 */ lbu $t6, 0x21($v0) +/* 00448F2C 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448F30 2404000A */ li $a0, 10 +/* 00448F34 31CFFFE0 */ andi $t7, $t6, 0xffe0 +/* 00448F38 35F80008 */ ori $t8, $t7, 8 +/* 00448F3C A0580021 */ sb $t8, 0x21($v0) +/* 00448F40 8F99866C */ lw $t9, %call16(build_2op)($gp) +/* 00448F44 00402825 */ move $a1, $v0 +/* 00448F48 00003025 */ move $a2, $zero +/* 00448F4C 0320F809 */ jalr $t9 +/* 00448F50 00000000 */ nop +/* 00448F54 90590021 */ lbu $t9, 0x21($v0) +/* 00448F58 8FBC0018 */ lw $gp, 0x18($sp) +/* 00448F5C 3328FFE0 */ andi $t0, $t9, 0xffe0 +/* 00448F60 35090008 */ ori $t1, $t0, 8 +/* 00448F64 A0490021 */ sb $t1, 0x21($v0) +/* 00448F68 8FBF001C */ lw $ra, 0x1c($sp) +/* 00448F6C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 00448F70 03E00008 */ jr $ra +/* 00448F74 00000000 */ nop + .type build_ucond0, @function + .size build_ucond0, .-build_ucond0 + .end build_ucond0 + +glabel check_loads_exprs + .ent check_loads_exprs + # 004432FC translate +/* 00448F78 3C1C0FBD */ .cpload $t9 +/* 00448F7C 279C6AD8 */ +/* 00448F80 0399E021 */ +/* 00448F84 8F828B2C */ lw $v0, %got(load_count)($gp) +/* 00448F88 90420000 */ lbu $v0, ($v0) +/* 00448F8C 18400030 */ blez $v0, .L00449050 +/* 00448F90 30470003 */ andi $a3, $v0, 3 +/* 00448F94 00073823 */ negu $a3, $a3 +/* 00448F98 10E00010 */ beqz $a3, .L00448FDC +/* 00448F9C 00401825 */ move $v1, $v0 +/* 00448FA0 8F8F8BB0 */ lw $t7, %got(loads)($gp) +/* 00448FA4 00027080 */ sll $t6, $v0, 2 +/* 00448FA8 00E23021 */ addu $a2, $a3, $v0 +/* 00448FAC 25EFFFFC */ addiu $t7, $t7, -4 +/* 00448FB0 01CF2821 */ addu $a1, $t6, $t7 +.L00448FB4: +/* 00448FB4 8CB80000 */ lw $t8, ($a1) +/* 00448FB8 2463FFFF */ addiu $v1, $v1, -1 +/* 00448FBC 14980003 */ bne $a0, $t8, .L00448FCC +/* 00448FC0 00000000 */ nop +/* 00448FC4 03E00008 */ jr $ra +/* 00448FC8 24020001 */ li $v0, 1 + +.L00448FCC: +/* 00448FCC 14C3FFF9 */ bne $a2, $v1, .L00448FB4 +/* 00448FD0 24A5FFFC */ addiu $a1, $a1, -4 +/* 00448FD4 1060001E */ beqz $v1, .L00449050 +/* 00448FD8 00000000 */ nop +.L00448FDC: +/* 00448FDC 8F888BB0 */ lw $t0, %got(loads)($gp) +/* 00448FE0 8F828BB0 */ lw $v0, %got(loads)($gp) +/* 00448FE4 0003C880 */ sll $t9, $v1, 2 +/* 00448FE8 2508FFFC */ addiu $t0, $t0, -4 +/* 00448FEC 03282821 */ addu $a1, $t9, $t0 +/* 00448FF0 2442FFFC */ addiu $v0, $v0, -4 +/* 00448FF4 8CA90000 */ lw $t1, ($a1) +.L00448FF8: +/* 00448FF8 54890004 */ bnel $a0, $t1, .L0044900C +/* 00448FFC 8CAAFFFC */ lw $t2, -4($a1) +/* 00449000 03E00008 */ jr $ra +/* 00449004 24020001 */ li $v0, 1 + +/* 00449008 8CAAFFFC */ lw $t2, -4($a1) +.L0044900C: +/* 0044900C 548A0004 */ bnel $a0, $t2, .L00449020 +/* 00449010 8CABFFF8 */ lw $t3, -8($a1) +/* 00449014 03E00008 */ jr $ra +/* 00449018 24020001 */ li $v0, 1 + +/* 0044901C 8CABFFF8 */ lw $t3, -8($a1) +.L00449020: +/* 00449020 548B0004 */ bnel $a0, $t3, .L00449034 +/* 00449024 8CACFFF4 */ lw $t4, -0xc($a1) +/* 00449028 03E00008 */ jr $ra +/* 0044902C 24020001 */ li $v0, 1 + +/* 00449030 8CACFFF4 */ lw $t4, -0xc($a1) +.L00449034: +/* 00449034 24A5FFF0 */ addiu $a1, $a1, -0x10 +/* 00449038 148C0003 */ bne $a0, $t4, .L00449048 +/* 0044903C 00000000 */ nop +/* 00449040 03E00008 */ jr $ra +/* 00449044 24020001 */ li $v0, 1 + +.L00449048: +/* 00449048 54A2FFEB */ bnel $a1, $v0, .L00448FF8 +/* 0044904C 8CA90000 */ lw $t1, ($a1) +.L00449050: +/* 00449050 8F828B28 */ lw $v0, %got(expr_count)($gp) +/* 00449054 90420000 */ lbu $v0, ($v0) +/* 00449058 18400030 */ blez $v0, .L0044911C +/* 0044905C 30470003 */ andi $a3, $v0, 3 +/* 00449060 00073823 */ negu $a3, $a3 +/* 00449064 10E00010 */ beqz $a3, .L004490A8 +/* 00449068 00401825 */ move $v1, $v0 +/* 0044906C 8F8E8BAC */ lw $t6, %got(exprs)($gp) +/* 00449070 00026880 */ sll $t5, $v0, 2 +/* 00449074 00E23021 */ addu $a2, $a3, $v0 +/* 00449078 25CEFFFC */ addiu $t6, $t6, -4 +/* 0044907C 01AE2821 */ addu $a1, $t5, $t6 +.L00449080: +/* 00449080 8CAF0000 */ lw $t7, ($a1) +/* 00449084 2463FFFF */ addiu $v1, $v1, -1 +/* 00449088 148F0003 */ bne $a0, $t7, .L00449098 +/* 0044908C 00000000 */ nop +/* 00449090 03E00008 */ jr $ra +/* 00449094 24020001 */ li $v0, 1 + +.L00449098: +/* 00449098 14C3FFF9 */ bne $a2, $v1, .L00449080 +/* 0044909C 24A5FFFC */ addiu $a1, $a1, -4 +/* 004490A0 5060001F */ beql $v1, $zero, .L00449120 +/* 004490A4 00001025 */ move $v0, $zero +.L004490A8: +/* 004490A8 8F998BAC */ lw $t9, %got(exprs)($gp) +/* 004490AC 8F828BAC */ lw $v0, %got(exprs)($gp) +/* 004490B0 0003C080 */ sll $t8, $v1, 2 +/* 004490B4 2739FFFC */ addiu $t9, $t9, -4 +/* 004490B8 03192821 */ addu $a1, $t8, $t9 +/* 004490BC 2442FFFC */ addiu $v0, $v0, -4 +/* 004490C0 8CA80000 */ lw $t0, ($a1) +.L004490C4: +/* 004490C4 54880004 */ bnel $a0, $t0, .L004490D8 +/* 004490C8 8CA9FFFC */ lw $t1, -4($a1) +/* 004490CC 03E00008 */ jr $ra +/* 004490D0 24020001 */ li $v0, 1 + +/* 004490D4 8CA9FFFC */ lw $t1, -4($a1) +.L004490D8: +/* 004490D8 54890004 */ bnel $a0, $t1, .L004490EC +/* 004490DC 8CAAFFF8 */ lw $t2, -8($a1) +/* 004490E0 03E00008 */ jr $ra +/* 004490E4 24020001 */ li $v0, 1 + +/* 004490E8 8CAAFFF8 */ lw $t2, -8($a1) +.L004490EC: +/* 004490EC 548A0004 */ bnel $a0, $t2, .L00449100 +/* 004490F0 8CABFFF4 */ lw $t3, -0xc($a1) +/* 004490F4 03E00008 */ jr $ra +/* 004490F8 24020001 */ li $v0, 1 + +/* 004490FC 8CABFFF4 */ lw $t3, -0xc($a1) +.L00449100: +/* 00449100 24A5FFF0 */ addiu $a1, $a1, -0x10 +/* 00449104 148B0003 */ bne $a0, $t3, .L00449114 +/* 00449108 00000000 */ nop +/* 0044910C 03E00008 */ jr $ra +/* 00449110 24020001 */ li $v0, 1 + +.L00449114: +/* 00449114 54A2FFEB */ bnel $a1, $v0, .L004490C4 +/* 00449118 8CA80000 */ lw $t0, ($a1) +.L0044911C: +/* 0044911C 00001025 */ move $v0, $zero +.L00449120: +/* 00449120 03E00008 */ jr $ra +/* 00449124 00000000 */ nop + .type check_loads_exprs, @function + .size check_loads_exprs, .-check_loads_exprs + .end check_loads_exprs +)""); diff --git a/src/ugen/tree_print.c b/src/ugen/tree_print.c new file mode 100644 index 0000000..faf8d8f --- /dev/null +++ b/src/ugen/tree_print.c @@ -0,0 +1,1185 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000E240: + # 004491BC print_ucode + .ascii " ival=" + +RO_1000E246: + # 004491BC print_ucode + .ascii " 64-bit-ival= " + +RO_1000E254: + # 004491BC print_ucode + .ascii " ival=" + +RO_1000E25A: + # 004491BC print_ucode + .ascii " external=" + +RO_1000E264: + # 004491BC print_ucode + .ascii " pop=" + +RO_1000E269: + # 004491BC print_ucode + .ascii " push=" + +RO_1000E26F: + # 004491BC print_ucode + .ascii " offset2=" + +RO_1000E278: + # 004491BC print_ucode + .ascii " offset=" + +RO_1000E280: + # 004491BC print_ucode + .ascii " length=" + +RO_1000E288: + # 004491BC print_ucode + .ascii " blockno=" + +RO_1000E291: + # 004491BC print_ucode + .ascii " i1=" + +RO_1000E295: + # 004491BC print_ucode + .ascii " lexlev=" + +RO_1000E29D: + # 004491BC print_ucode + .ascii " mtype=" + +RO_1000E2A4: + # 004491BC print_ucode + .ascii " dtype2=" + +RO_1000E2AC: + # 004491BC print_ucode + .ascii " dtype=" + +RO_1000E2B3: + # 00449990 print_node_1 + .ascii " prior=" + +RO_1000E2BA: + # 00449990 print_node_1 + .ascii " next=" + +RO_1000E2C0: + # 00449990 print_node_1 + .ascii " op2=" + +RO_1000E2C5: + # 00449990 print_node_1 + .ascii " op1=" + +RO_1000E2CA: + # 00449990 print_node_1 + .ascii " reg=" + +RO_1000E2CF: + # 00449990 print_node_1 + .ascii " Not visited" + +RO_1000E2DB: + # 00449990 print_node_1 + .ascii " ref_count2=" + +RO_1000E2E7: + # 00449990 print_node_1 + .asciz " ref_count=" + +.data +# 100169C0 +glabel opc_name + # 004491BC print_ucode + .ascii "abs add adj aentand aos asymbgn bgnbfoo condlvarchkhchklchknchktcia clabfoo commcsymfoo foo cup cvt cvtldec def dif div dup end endbent eof equ esymfoo fjp fsymgeq grt gsymhsymicufidx iequigeqigrtijp ildafoo ileqilesilodinc ineqinitinn int ior isldisstistrfoo ixa lab foo lbdyfoo lca lda ldapldc foo ldspfoo leq les lex lnotloc lod lsymfoo max min mod mov foo mpmvmpy mst mus neg neq nop not odd optnpar pdefpmovpop regsrem ret rldarldcrlodrnd rparrstrsdefsgs shl shr signsqr sqrtfoo foo stp str stspsub swp tjp foo foo foo foo foo foo typ foo ujp foo uni vregxjp xor foo mtagaliafoo foo irldirstldrcmsymrcufksymfoo foo foo " + .type opc_name, @object + .size opc_name, .-opc_name # 624 + +# 10016C30 +glabel dtype_name + # 004491BC print_ucode + .ascii "ACFGHIJKLMNPQRSWXZ" + .type dtype_name, @object + .size dtype_name, .-dtype_name # 18 + .space 2 + +# 10016C44 +glabel mtype_name + # 004491BC print_ucode + .ascii "ZMPRSATK" + .type mtype_name, @object + .size mtype_name, .-mtype_name # 8 + .space 4 + +D_10016C50: + # 00449990 print_node_1 + .ascii "xr0\0xr1\0xr2\0xr3\0xr4\0xr5\0xr6\0xr7\0xr8\0xr9\0xr10\0 xr11\0 xr12\0 xr13\0 xr14\0 xr15\0 xr16\0 xr17\0 xr18\0 xr19\0 xr20\0 xr21\0 xr22\0 xr23\0 xr24\0 xr25\0 xr26\0 xr27\0 xr28\0 xr29\0 xr30\0 xr31\0 xfr0\0 xfr1\0 xfr2\0 xfr3\0 xfr4\0 xfr5\0 xfr6\0 xfr7\0 xfr8\0 xfr9\0 xfr10\0 xfr11\0 xfr12\0 xfr13\0 xfr14\0 xfr15\0 xfr16\0 xfr17\0 xfr18\0 xfr19\0 xfr20\0 xfr21\0 xfr22\0 xfr23\0 xfr24\0 xfr25\0 xfr26\0 xfr27\0 xfr28\0 xfr29\0 xfr30\0 xfr31\0 xfcc0\0 xfcc1\0 xfcc2\0 xfcc3\0 xfcc4\0 xfcc5\0 xfcc6\0 xfcc7\0 xnoreg\0\0" + +D_10016E70: + # 004491BC print_ucode + .byte 0x10,0x00,0x00,0x00,0x40,0x00,0x00,0x00 + +D_10016E78: + # 004491BC print_ucode + .byte 0x10,0x00,0x01,0x00,0x40,0x08,0x00,0x00 + +D_10016E80: + # 004491BC print_ucode + .byte 0x00,0x00,0x20,0x40,0x01,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x10,0x00,0x00 + +D_10016E90: + # 004491BC print_ucode + .byte 0x21,0x00,0x00,0x00,0x00,0x00,0x22,0x47,0x01,0x00,0x20,0x20,0x0e,0x85,0x80,0x10,0x00,0x10,0x18,0x00 + +D_10016EA4: + # 004491BC print_ucode + .byte 0x21,0x00,0xc8,0x38,0x01,0x23,0xaf,0xf7,0x23,0x40,0x30,0xa4,0x1e,0x85,0xe0,0x10,0x00,0x38,0x1c,0x00 + +D_10016EB8: + # 004491BC print_ucode + .byte 0x11,0x8c,0x09,0x40,0xc9,0x20,0x22,0x67,0x43,0x01,0x70,0x20,0x0e,0x85,0xc0,0x10,0x00,0x11,0x9b,0x80 + +D_10016ECC: + # 004491BC print_ucode + .byte 0x00,0x00,0x40,0x00,0x02,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x00,0x00 + +D_10016EE0: + # 004491BC print_ucode + .byte 0x10,0x00,0x81,0x00,0x40,0x00,0x02,0x01,0x28,0x01,0x60,0xa8,0x02,0x85,0x80,0x10,0x00,0x01,0x98,0x00 + +D_10016EF4: + # 004491BC print_ucode + .byte 0x00,0x00,0x00,0x10,0x00,0x00,0x20,0x46,0x01,0x00,0x20,0x20,0x0e,0x05,0x80,0x10,0x00,0x10,0x00,0x00 + +D_10016F08: + # 004491BC print_ucode + .byte 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x02,0x02,0x00,0x00,0x00 + +D_10016F1C: + # 004491BC print_ucode + .byte 0xf8,0x0c,0x81,0xee,0x50,0xcf,0xaf,0xff,0x42,0xd6,0xa7,0xb7,0x6f,0x47,0xbe,0x16,0x02,0x3c,0x1d,0x00 + +D_10016F30: + # 00449D24 func_00449D24 + .byte 0x10,0x00,0x40,0x00,0x42,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016F44: + # 00449D24 func_00449D24 + .byte 0x10,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel indent_tree + .ent indent_tree + # 00449990 print_node_1 +/* 00449130 3C1C0FBD */ .cpload $t9 +/* 00449134 279C6920 */ +/* 00449138 0399E021 */ +/* 0044913C 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00449140 AFB1001C */ sw $s1, 0x1c($sp) +/* 00449144 000510C2 */ srl $v0, $a1, 3 +/* 00449148 00808825 */ move $s1, $a0 +/* 0044914C AFBF0024 */ sw $ra, 0x24($sp) +/* 00449150 AFBC0020 */ sw $gp, 0x20($sp) +/* 00449154 AFB00018 */ sw $s0, 0x18($sp) +/* 00449158 1040000B */ beqz $v0, .L00449188 +/* 0044915C AFA5002C */ sw $a1, 0x2c($sp) +/* 00449160 00408025 */ move $s0, $v0 +.L00449164: +/* 00449164 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 00449168 8E240000 */ lw $a0, ($s1) +/* 0044916C 24050009 */ li $a1, 9 +/* 00449170 24060001 */ li $a2, 1 +/* 00449174 0320F809 */ jalr $t9 +/* 00449178 2407000A */ li $a3, 10 +/* 0044917C 2610FFFF */ addiu $s0, $s0, -1 +/* 00449180 1600FFF8 */ bnez $s0, .L00449164 +/* 00449184 8FBC0020 */ lw $gp, 0x20($sp) +.L00449188: +/* 00449188 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0044918C 8FA6002C */ lw $a2, 0x2c($sp) +/* 00449190 8E240000 */ lw $a0, ($s1) +/* 00449194 24050020 */ li $a1, 32 +/* 00449198 2407000A */ li $a3, 10 +/* 0044919C 0320F809 */ jalr $t9 +/* 004491A0 30C60007 */ andi $a2, $a2, 7 +/* 004491A4 8FBF0024 */ lw $ra, 0x24($sp) +/* 004491A8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004491AC 8FB00018 */ lw $s0, 0x18($sp) +/* 004491B0 8FB1001C */ lw $s1, 0x1c($sp) +/* 004491B4 03E00008 */ jr $ra +/* 004491B8 27BD0028 */ addiu $sp, $sp, 0x28 + .type indent_tree, @function + .size indent_tree, .-indent_tree + .end indent_tree + +glabel print_ucode + .ent print_ucode + # 0040F4C8 build_tree + # 00449990 print_node_1 +/* 004491BC 3C1C0FBD */ .cpload $t9 +/* 004491C0 279C6894 */ +/* 004491C4 0399E021 */ +/* 004491C8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 004491CC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004491D0 AFBF0024 */ sw $ra, 0x24($sp) +/* 004491D4 AFBC0020 */ sw $gp, 0x20($sp) +/* 004491D8 AFB1001C */ sw $s1, 0x1c($sp) +/* 004491DC AFB00018 */ sw $s0, 0x18($sp) +/* 004491E0 AFA40028 */ sw $a0, 0x28($sp) +/* 004491E4 8C900000 */ lw $s0, ($a0) +/* 004491E8 00A08825 */ move $s1, $a1 +/* 004491EC 24050020 */ li $a1, 32 +/* 004491F0 24060001 */ li $a2, 1 +/* 004491F4 2407000A */ li $a3, 10 +/* 004491F8 0320F809 */ jalr $t9 +/* 004491FC 02002025 */ move $a0, $s0 +/* 00449200 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449204 922F0000 */ lbu $t7, ($s1) +/* 00449208 02002025 */ move $a0, $s0 +/* 0044920C 8F998924 */ lw $t9, %got(opc_name)($gp) +/* 00449210 000FC080 */ sll $t8, $t7, 2 +/* 00449214 24060004 */ li $a2, 4 +/* 00449218 03192821 */ addu $a1, $t8, $t9 +/* 0044921C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449220 00003825 */ move $a3, $zero +/* 00449224 0320F809 */ jalr $t9 +/* 00449228 00000000 */ nop +/* 0044922C 92220000 */ lbu $v0, ($s1) +/* 00449230 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449234 2C4800A0 */ sltiu $t0, $v0, 0xa0 +/* 00449238 11000009 */ beqz $t0, .L00449260 +/* 0044923C 00000000 */ nop +/* 00449240 8F8B8038 */ lw $t3, %got(D_10016F1C)($gp) +/* 00449244 00024943 */ sra $t1, $v0, 5 +/* 00449248 00095080 */ sll $t2, $t1, 2 +/* 0044924C 256B6F1C */ addiu $t3, %lo(D_10016F1C) # addiu $t3, $t3, 0x6f1c +/* 00449250 016A6021 */ addu $t4, $t3, $t2 +/* 00449254 8D8D0000 */ lw $t5, ($t4) +/* 00449258 004D7004 */ sllv $t6, $t5, $v0 +/* 0044925C 29C80000 */ slti $t0, $t6, 0 +.L00449260: +/* 00449260 51000018 */ beql $t0, $zero, .L004492C4 +/* 00449264 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +/* 00449268 8FB80028 */ lw $t8, 0x28($sp) +/* 0044926C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449270 8F858038 */ lw $a1, %got(RO_1000E2AC)($gp) +/* 00449274 8F100000 */ lw $s0, ($t8) +/* 00449278 24060007 */ li $a2, 7 +/* 0044927C 24070007 */ li $a3, 7 +/* 00449280 24A5E2AC */ addiu $a1, %lo(RO_1000E2AC) # addiu $a1, $a1, -0x1d54 +/* 00449284 0320F809 */ jalr $t9 +/* 00449288 02002025 */ move $a0, $s0 +/* 0044928C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449290 92390001 */ lbu $t9, 1($s1) +/* 00449294 02002025 */ move $a0, $s0 +/* 00449298 8F8B8928 */ lw $t3, %got(dtype_name)($gp) +/* 0044929C 3329001F */ andi $t1, $t9, 0x1f +/* 004492A0 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004492A4 012B5021 */ addu $t2, $t1, $t3 +/* 004492A8 91450000 */ lbu $a1, ($t2) +/* 004492AC 24060001 */ li $a2, 1 +/* 004492B0 0320F809 */ jalr $t9 +/* 004492B4 2407000A */ li $a3, 10 +/* 004492B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004492BC 92220000 */ lbu $v0, ($s1) +/* 004492C0 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +.L004492C4: +/* 004492C4 11800009 */ beqz $t4, .L004492EC +/* 004492C8 00000000 */ nop +/* 004492CC 8F8F8038 */ lw $t7, %got(D_10016F08)($gp) +/* 004492D0 00026943 */ sra $t5, $v0, 5 +/* 004492D4 000D7080 */ sll $t6, $t5, 2 +/* 004492D8 25EF6F08 */ addiu $t7, %lo(D_10016F08) # addiu $t7, $t7, 0x6f08 +/* 004492DC 01EE4021 */ addu $t0, $t7, $t6 +/* 004492E0 8D180000 */ lw $t8, ($t0) +/* 004492E4 0058C804 */ sllv $t9, $t8, $v0 +/* 004492E8 2B2C0000 */ slti $t4, $t9, 0 +.L004492EC: +/* 004492EC 51800017 */ beql $t4, $zero, .L0044934C +/* 004492F0 2C4E00A0 */ sltiu $t6, $v0, 0xa0 +/* 004492F4 8FAB0028 */ lw $t3, 0x28($sp) +/* 004492F8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004492FC 8F858038 */ lw $a1, %got(RO_1000E2A4)($gp) +/* 00449300 8D700000 */ lw $s0, ($t3) +/* 00449304 24060008 */ li $a2, 8 +/* 00449308 24070008 */ li $a3, 8 +/* 0044930C 24A5E2A4 */ addiu $a1, %lo(RO_1000E2A4) # addiu $a1, $a1, -0x1d5c +/* 00449310 0320F809 */ jalr $t9 +/* 00449314 02002025 */ move $a0, $s0 +/* 00449318 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044931C 922A0008 */ lbu $t2, 8($s1) +/* 00449320 02002025 */ move $a0, $s0 +/* 00449324 8F8D8928 */ lw $t5, %got(dtype_name)($gp) +/* 00449328 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 0044932C 24060001 */ li $a2, 1 +/* 00449330 014D7821 */ addu $t7, $t2, $t5 +/* 00449334 91E50000 */ lbu $a1, ($t7) +/* 00449338 0320F809 */ jalr $t9 +/* 0044933C 2407000A */ li $a3, 10 +/* 00449340 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449344 92220000 */ lbu $v0, ($s1) +/* 00449348 2C4E00A0 */ sltiu $t6, $v0, 0xa0 +.L0044934C: +/* 0044934C 11C00009 */ beqz $t6, .L00449374 +/* 00449350 00000000 */ nop +/* 00449354 8F998038 */ lw $t9, %got(D_10016EF4)($gp) +/* 00449358 00024143 */ sra $t0, $v0, 5 +/* 0044935C 0008C080 */ sll $t8, $t0, 2 +/* 00449360 27396EF4 */ addiu $t9, %lo(D_10016EF4) # addiu $t9, $t9, 0x6ef4 +/* 00449364 03384821 */ addu $t1, $t9, $t8 +/* 00449368 8D2C0000 */ lw $t4, ($t1) +/* 0044936C 004C5804 */ sllv $t3, $t4, $v0 +/* 00449370 296E0000 */ slti $t6, $t3, 0 +.L00449374: +/* 00449374 51C00019 */ beql $t6, $zero, .L004493DC +/* 00449378 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +/* 0044937C 8FAD0028 */ lw $t5, 0x28($sp) +/* 00449380 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449384 8F858038 */ lw $a1, %got(RO_1000E29D)($gp) +/* 00449388 8DB00000 */ lw $s0, ($t5) +/* 0044938C 24060007 */ li $a2, 7 +/* 00449390 24070007 */ li $a3, 7 +/* 00449394 24A5E29D */ addiu $a1, %lo(RO_1000E29D) # addiu $a1, $a1, -0x1d63 +/* 00449398 0320F809 */ jalr $t9 +/* 0044939C 02002025 */ move $a0, $s0 +/* 004493A0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004493A4 922F0001 */ lbu $t7, 1($s1) +/* 004493A8 02002025 */ move $a0, $s0 +/* 004493AC 8F98892C */ lw $t8, %got(mtype_name)($gp) +/* 004493B0 000F4600 */ sll $t0, $t7, 0x18 +/* 004493B4 0008CF42 */ srl $t9, $t0, 0x1d +/* 004493B8 03384821 */ addu $t1, $t9, $t8 +/* 004493BC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004493C0 91250000 */ lbu $a1, ($t1) +/* 004493C4 24060001 */ li $a2, 1 +/* 004493C8 0320F809 */ jalr $t9 +/* 004493CC 2407000A */ li $a3, 10 +/* 004493D0 8FBC0020 */ lw $gp, 0x20($sp) +/* 004493D4 92220000 */ lbu $v0, ($s1) +/* 004493D8 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +.L004493DC: +/* 004493DC 1180000A */ beqz $t4, .L00449408 +/* 004493E0 00000000 */ nop +/* 004493E4 8F8E8038 */ lw $t6, %got(D_10016EE0)($gp) +/* 004493E8 00025943 */ sra $t3, $v0, 5 +/* 004493EC 000B5080 */ sll $t2, $t3, 2 +/* 004493F0 25CE6EE0 */ addiu $t6, %lo(D_10016EE0) # addiu $t6, $t6, 0x6ee0 +/* 004493F4 01CA6821 */ addu $t5, $t6, $t2 +/* 004493F8 8DAF0000 */ lw $t7, ($t5) +/* 004493FC 004F4004 */ sllv $t0, $t7, $v0 +/* 00449400 29190000 */ slti $t9, $t0, 0 +/* 00449404 03206025 */ move $t4, $t9 +.L00449408: +/* 00449408 51800015 */ beql $t4, $zero, .L00449460 +/* 0044940C 2C4900A0 */ sltiu $t1, $v0, 0xa0 +/* 00449410 8FB80028 */ lw $t8, 0x28($sp) +/* 00449414 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449418 8F858038 */ lw $a1, %got(RO_1000E295)($gp) +/* 0044941C 8F100000 */ lw $s0, ($t8) +/* 00449420 24060008 */ li $a2, 8 +/* 00449424 24070008 */ li $a3, 8 +/* 00449428 24A5E295 */ addiu $a1, %lo(RO_1000E295) # addiu $a1, $a1, -0x1d6b +/* 0044942C 0320F809 */ jalr $t9 +/* 00449430 02002025 */ move $a0, $s0 +/* 00449434 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449438 02002025 */ move $a0, $s0 +/* 0044943C 96250002 */ lhu $a1, 2($s1) +/* 00449440 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449444 24060001 */ li $a2, 1 +/* 00449448 2407000A */ li $a3, 10 +/* 0044944C 0320F809 */ jalr $t9 +/* 00449450 00000000 */ nop +/* 00449454 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449458 92220000 */ lbu $v0, ($s1) +/* 0044945C 2C4900A0 */ sltiu $t1, $v0, 0xa0 +.L00449460: +/* 00449460 1120000A */ beqz $t1, .L0044948C +/* 00449464 00000000 */ nop +/* 00449468 8F8A8038 */ lw $t2, %got(D_10016ECC)($gp) +/* 0044946C 00025943 */ sra $t3, $v0, 5 +/* 00449470 000B7080 */ sll $t6, $t3, 2 +/* 00449474 254A6ECC */ addiu $t2, %lo(D_10016ECC) # addiu $t2, $t2, 0x6ecc +/* 00449478 014E6821 */ addu $t5, $t2, $t6 +/* 0044947C 8DAF0000 */ lw $t7, ($t5) +/* 00449480 004F4004 */ sllv $t0, $t7, $v0 +/* 00449484 29190000 */ slti $t9, $t0, 0 +/* 00449488 03204825 */ move $t1, $t9 +.L0044948C: +/* 0044948C 51200015 */ beql $t1, $zero, .L004494E4 +/* 00449490 2C5800A0 */ sltiu $t8, $v0, 0xa0 +/* 00449494 8FAC0028 */ lw $t4, 0x28($sp) +/* 00449498 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044949C 8F858038 */ lw $a1, %got(RO_1000E291)($gp) +/* 004494A0 8D900000 */ lw $s0, ($t4) +/* 004494A4 24060004 */ li $a2, 4 +/* 004494A8 24070004 */ li $a3, 4 +/* 004494AC 24A5E291 */ addiu $a1, %lo(RO_1000E291) # addiu $a1, $a1, -0x1d6f +/* 004494B0 0320F809 */ jalr $t9 +/* 004494B4 02002025 */ move $a0, $s0 +/* 004494B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004494BC 02002025 */ move $a0, $s0 +/* 004494C0 8E250004 */ lw $a1, 4($s1) +/* 004494C4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004494C8 24060001 */ li $a2, 1 +/* 004494CC 2407000A */ li $a3, 10 +/* 004494D0 0320F809 */ jalr $t9 +/* 004494D4 00000000 */ nop +/* 004494D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004494DC 92220000 */ lbu $v0, ($s1) +/* 004494E0 2C5800A0 */ sltiu $t8, $v0, 0xa0 +.L004494E4: +/* 004494E4 1300000A */ beqz $t8, .L00449510 +/* 004494E8 00000000 */ nop +/* 004494EC 8F8E8038 */ lw $t6, %got(D_10016EB8)($gp) +/* 004494F0 00025943 */ sra $t3, $v0, 5 +/* 004494F4 000B5080 */ sll $t2, $t3, 2 +/* 004494F8 25CE6EB8 */ addiu $t6, %lo(D_10016EB8) # addiu $t6, $t6, 0x6eb8 +/* 004494FC 01CA6821 */ addu $t5, $t6, $t2 +/* 00449500 8DAF0000 */ lw $t7, ($t5) +/* 00449504 004F4004 */ sllv $t0, $t7, $v0 +/* 00449508 29190000 */ slti $t9, $t0, 0 +/* 0044950C 0320C025 */ move $t8, $t9 +.L00449510: +/* 00449510 13000013 */ beqz $t8, .L00449560 +/* 00449514 8FA90028 */ lw $t1, 0x28($sp) +/* 00449518 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044951C 8D300000 */ lw $s0, ($t1) +/* 00449520 8F858038 */ lw $a1, %got(RO_1000E288)($gp) +/* 00449524 24060009 */ li $a2, 9 +/* 00449528 24070009 */ li $a3, 9 +/* 0044952C 02002025 */ move $a0, $s0 +/* 00449530 0320F809 */ jalr $t9 +/* 00449534 24A5E288 */ addiu $a1, %lo(RO_1000E288) # addiu $a1, $a1, -0x1d78 +/* 00449538 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044953C 02002025 */ move $a0, $s0 +/* 00449540 8E250004 */ lw $a1, 4($s1) +/* 00449544 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449548 24060001 */ li $a2, 1 +/* 0044954C 2407000A */ li $a3, 10 +/* 00449550 0320F809 */ jalr $t9 +/* 00449554 00000000 */ nop +/* 00449558 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044955C 92220000 */ lbu $v0, ($s1) +.L00449560: +/* 00449560 2C4C00A0 */ sltiu $t4, $v0, 0xa0 +/* 00449564 1180000A */ beqz $t4, .L00449590 +/* 00449568 8FB80028 */ lw $t8, 0x28($sp) +/* 0044956C 8F8A8038 */ lw $t2, %got(D_10016EA4)($gp) +/* 00449570 00025943 */ sra $t3, $v0, 5 +/* 00449574 000B7080 */ sll $t6, $t3, 2 +/* 00449578 254A6EA4 */ addiu $t2, %lo(D_10016EA4) # addiu $t2, $t2, 0x6ea4 +/* 0044957C 014E6821 */ addu $t5, $t2, $t6 +/* 00449580 8DAF0000 */ lw $t7, ($t5) +/* 00449584 004F4004 */ sllv $t0, $t7, $v0 +/* 00449588 29190000 */ slti $t9, $t0, 0 +/* 0044958C 03206025 */ move $t4, $t9 +.L00449590: +/* 00449590 11800012 */ beqz $t4, .L004495DC +/* 00449594 24060008 */ li $a2, 8 +/* 00449598 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044959C 8F100000 */ lw $s0, ($t8) +/* 004495A0 8F858038 */ lw $a1, %got(RO_1000E280)($gp) +/* 004495A4 24070008 */ li $a3, 8 +/* 004495A8 02002025 */ move $a0, $s0 +/* 004495AC 0320F809 */ jalr $t9 +/* 004495B0 24A5E280 */ addiu $a1, %lo(RO_1000E280) # addiu $a1, $a1, -0x1d80 +/* 004495B4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004495B8 02002025 */ move $a0, $s0 +/* 004495BC 8E250008 */ lw $a1, 8($s1) +/* 004495C0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004495C4 24060001 */ li $a2, 1 +/* 004495C8 2407000A */ li $a3, 10 +/* 004495CC 0320F809 */ jalr $t9 +/* 004495D0 00000000 */ nop +/* 004495D4 8FBC0020 */ lw $gp, 0x20($sp) +/* 004495D8 92220000 */ lbu $v0, ($s1) +.L004495DC: +/* 004495DC 2C4900A0 */ sltiu $t1, $v0, 0xa0 +/* 004495E0 1120000A */ beqz $t1, .L0044960C +/* 004495E4 8FAC0028 */ lw $t4, 0x28($sp) +/* 004495E8 8F8E8038 */ lw $t6, %got(D_10016E90)($gp) +/* 004495EC 00025943 */ sra $t3, $v0, 5 +/* 004495F0 000B5080 */ sll $t2, $t3, 2 +/* 004495F4 25CE6E90 */ addiu $t6, %lo(D_10016E90) # addiu $t6, $t6, 0x6e90 +/* 004495F8 01CA6821 */ addu $t5, $t6, $t2 +/* 004495FC 8DAF0000 */ lw $t7, ($t5) +/* 00449600 004F4004 */ sllv $t0, $t7, $v0 +/* 00449604 29190000 */ slti $t9, $t0, 0 +/* 00449608 03204825 */ move $t1, $t9 +.L0044960C: +/* 0044960C 11200012 */ beqz $t1, .L00449658 +/* 00449610 24060008 */ li $a2, 8 +/* 00449614 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449618 8D900000 */ lw $s0, ($t4) +/* 0044961C 8F858038 */ lw $a1, %got(RO_1000E278)($gp) +/* 00449620 24070008 */ li $a3, 8 +/* 00449624 02002025 */ move $a0, $s0 +/* 00449628 0320F809 */ jalr $t9 +/* 0044962C 24A5E278 */ addiu $a1, %lo(RO_1000E278) # addiu $a1, $a1, -0x1d88 +/* 00449630 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449634 02002025 */ move $a0, $s0 +/* 00449638 8E25000C */ lw $a1, 0xc($s1) +/* 0044963C 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449640 24060001 */ li $a2, 1 +/* 00449644 2407000A */ li $a3, 10 +/* 00449648 0320F809 */ jalr $t9 +/* 0044964C 00000000 */ nop +/* 00449650 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449654 92220000 */ lbu $v0, ($s1) +.L00449658: +/* 00449658 2458FFE0 */ addiu $t8, $v0, -0x20 +/* 0044965C 2F0B0080 */ sltiu $t3, $t8, 0x80 +/* 00449660 11600009 */ beqz $t3, .L00449688 +/* 00449664 8FAC0028 */ lw $t4, 0x28($sp) +/* 00449668 8F8D8038 */ lw $t5, %got(D_10016E80)($gp) +/* 0044966C 00187143 */ sra $t6, $t8, 5 +/* 00449670 000E5080 */ sll $t2, $t6, 2 +/* 00449674 25AD6E80 */ addiu $t5, %lo(D_10016E80) # addiu $t5, $t5, 0x6e80 +/* 00449678 01AA7821 */ addu $t7, $t5, $t2 +/* 0044967C 8DE80000 */ lw $t0, ($t7) +/* 00449680 0308C804 */ sllv $t9, $t0, $t8 +/* 00449684 2B2B0000 */ slti $t3, $t9, 0 +.L00449688: +/* 00449688 11600012 */ beqz $t3, .L004496D4 +/* 0044968C 24060009 */ li $a2, 9 +/* 00449690 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449694 8D900000 */ lw $s0, ($t4) +/* 00449698 8F858038 */ lw $a1, %got(RO_1000E26F)($gp) +/* 0044969C 24070009 */ li $a3, 9 +/* 004496A0 02002025 */ move $a0, $s0 +/* 004496A4 0320F809 */ jalr $t9 +/* 004496A8 24A5E26F */ addiu $a1, %lo(RO_1000E26F) # addiu $a1, $a1, -0x1d91 +/* 004496AC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004496B0 02002025 */ move $a0, $s0 +/* 004496B4 8E250010 */ lw $a1, 0x10($s1) +/* 004496B8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004496BC 24060001 */ li $a2, 1 +/* 004496C0 2407000A */ li $a3, 10 +/* 004496C4 0320F809 */ jalr $t9 +/* 004496C8 00000000 */ nop +/* 004496CC 8FBC0020 */ lw $gp, 0x20($sp) +/* 004496D0 92220000 */ lbu $v0, ($s1) +.L004496D4: +/* 004496D4 2C4E0040 */ sltiu $t6, $v0, 0x40 +/* 004496D8 11C00009 */ beqz $t6, .L00449700 +/* 004496DC 8FAB0028 */ lw $t3, 0x28($sp) +/* 004496E0 8F8F8038 */ lw $t7, %got(D_10016E78)($gp) +/* 004496E4 00026943 */ sra $t5, $v0, 5 +/* 004496E8 000D5080 */ sll $t2, $t5, 2 +/* 004496EC 25EF6E78 */ addiu $t7, %lo(D_10016E78) # addiu $t7, $t7, 0x6e78 +/* 004496F0 01EA4021 */ addu $t0, $t7, $t2 +/* 004496F4 8D180000 */ lw $t8, ($t0) +/* 004496F8 0058C804 */ sllv $t9, $t8, $v0 +/* 004496FC 2B2E0000 */ slti $t6, $t9, 0 +.L00449700: +/* 00449700 11C00043 */ beqz $t6, .L00449810 +/* 00449704 24060006 */ li $a2, 6 +/* 00449708 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044970C 8D700000 */ lw $s0, ($t3) +/* 00449710 8F858038 */ lw $a1, %got(RO_1000E269)($gp) +/* 00449714 24070006 */ li $a3, 6 +/* 00449718 02002025 */ move $a0, $s0 +/* 0044971C 0320F809 */ jalr $t9 +/* 00449720 24A5E269 */ addiu $a1, %lo(RO_1000E269) # addiu $a1, $a1, -0x1d97 +/* 00449724 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449728 02002025 */ move $a0, $s0 +/* 0044972C 92250009 */ lbu $a1, 9($s1) +/* 00449730 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449734 24060001 */ li $a2, 1 +/* 00449738 2407000A */ li $a3, 10 +/* 0044973C 0320F809 */ jalr $t9 +/* 00449740 00000000 */ nop +/* 00449744 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449748 8FAC0028 */ lw $t4, 0x28($sp) +/* 0044974C 24060005 */ li $a2, 5 +/* 00449750 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449754 8F858038 */ lw $a1, %got(RO_1000E264)($gp) +/* 00449758 8D900000 */ lw $s0, ($t4) +/* 0044975C 24070005 */ li $a3, 5 +/* 00449760 24A5E264 */ addiu $a1, %lo(RO_1000E264) # addiu $a1, $a1, -0x1d9c +/* 00449764 0320F809 */ jalr $t9 +/* 00449768 02002025 */ move $a0, $s0 +/* 0044976C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449770 02002025 */ move $a0, $s0 +/* 00449774 92250008 */ lbu $a1, 8($s1) +/* 00449778 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0044977C 24060001 */ li $a2, 1 +/* 00449780 2407000A */ li $a3, 10 +/* 00449784 0320F809 */ jalr $t9 +/* 00449788 00000000 */ nop +/* 0044978C 92220000 */ lbu $v0, ($s1) +/* 00449790 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449794 8FAB0028 */ lw $t3, 0x28($sp) +/* 00449798 2C4D0040 */ sltiu $t5, $v0, 0x40 +/* 0044979C 11A00009 */ beqz $t5, .L004497C4 +/* 004497A0 2406000A */ li $a2, 10 +/* 004497A4 8F888038 */ lw $t0, %got(D_10016E70)($gp) +/* 004497A8 00027943 */ sra $t7, $v0, 5 +/* 004497AC 000F5080 */ sll $t2, $t7, 2 +/* 004497B0 25086E70 */ addiu $t0, %lo(D_10016E70) # addiu $t0, $t0, 0x6e70 +/* 004497B4 010AC021 */ addu $t8, $t0, $t2 +/* 004497B8 8F190000 */ lw $t9, ($t8) +/* 004497BC 00594804 */ sllv $t1, $t9, $v0 +/* 004497C0 292D0000 */ slti $t5, $t1, 0 +.L004497C4: +/* 004497C4 51A00013 */ beql $t5, $zero, .L00449814 +/* 004497C8 304300FF */ andi $v1, $v0, 0xff +/* 004497CC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 004497D0 8D700000 */ lw $s0, ($t3) +/* 004497D4 8F858038 */ lw $a1, %got(RO_1000E25A)($gp) +/* 004497D8 2407000A */ li $a3, 10 +/* 004497DC 02002025 */ move $a0, $s0 +/* 004497E0 0320F809 */ jalr $t9 +/* 004497E4 24A5E25A */ addiu $a1, %lo(RO_1000E25A) # addiu $a1, $a1, -0x1da6 +/* 004497E8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004497EC 02002025 */ move $a0, $s0 +/* 004497F0 8E25000C */ lw $a1, 0xc($s1) +/* 004497F4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004497F8 24060001 */ li $a2, 1 +/* 004497FC 2407000A */ li $a3, 10 +/* 00449800 0320F809 */ jalr $t9 +/* 00449804 00000000 */ nop +/* 00449808 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044980C 92220000 */ lbu $v0, ($s1) +.L00449810: +/* 00449810 304300FF */ andi $v1, $v0, 0xff +.L00449814: +/* 00449814 24010010 */ li $at, 16 +/* 00449818 54610056 */ bnel $v1, $at, .L00449974 +/* 0044981C 24010049 */ li $at, 73 +/* 00449820 8FAC0028 */ lw $t4, 0x28($sp) +.L00449824: +/* 00449824 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449828 8F858038 */ lw $a1, %got(RO_1000E254)($gp) +/* 0044982C 8D900000 */ lw $s0, ($t4) +/* 00449830 24060006 */ li $a2, 6 +/* 00449834 24070006 */ li $a3, 6 +/* 00449838 24A5E254 */ addiu $a1, %lo(RO_1000E254) # addiu $a1, $a1, -0x1dac +/* 0044983C 0320F809 */ jalr $t9 +/* 00449840 02002025 */ move $a0, $s0 +/* 00449844 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449848 02002025 */ move $a0, $s0 +/* 0044984C 8E250010 */ lw $a1, 0x10($s1) +/* 00449850 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449854 24060001 */ li $a2, 1 +/* 00449858 2407000A */ li $a3, 10 +/* 0044985C 0320F809 */ jalr $t9 +/* 00449860 00000000 */ nop +/* 00449864 10000045 */ b .L0044997C +/* 00449868 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044986C 922F0001 */ lbu $t7, 1($s1) +.L00449870: +/* 00449870 3C010500 */ lui $at, 0x500 +/* 00449874 8FAD0028 */ lw $t5, 0x28($sp) +/* 00449878 31E8001F */ andi $t0, $t7, 0x1f +/* 0044987C 2D0A0020 */ sltiu $t2, $t0, 0x20 +/* 00449880 000AC023 */ negu $t8, $t2 +/* 00449884 0301C824 */ and $t9, $t8, $at +/* 00449888 01194804 */ sllv $t1, $t9, $t0 +/* 0044988C 05210024 */ bgez $t1, .L00449920 +/* 00449890 24060006 */ li $a2, 6 +/* 00449894 8FAE0028 */ lw $t6, 0x28($sp) +/* 00449898 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044989C 8F858038 */ lw $a1, %got(RO_1000E246)($gp) +/* 004498A0 8DD00000 */ lw $s0, ($t6) +/* 004498A4 2406000E */ li $a2, 14 +/* 004498A8 2407000E */ li $a3, 14 +/* 004498AC 24A5E246 */ addiu $a1, %lo(RO_1000E246) # addiu $a1, $a1, -0x1dba +/* 004498B0 0320F809 */ jalr $t9 +/* 004498B4 02002025 */ move $a0, $s0 +/* 004498B8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004498BC 02002025 */ move $a0, $s0 +/* 004498C0 8E250010 */ lw $a1, 0x10($s1) +/* 004498C4 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004498C8 24060001 */ li $a2, 1 +/* 004498CC 2407000A */ li $a3, 10 +/* 004498D0 0320F809 */ jalr $t9 +/* 004498D4 00000000 */ nop +/* 004498D8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004498DC 02002025 */ move $a0, $s0 +/* 004498E0 24050020 */ li $a1, 32 +/* 004498E4 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004498E8 24060001 */ li $a2, 1 +/* 004498EC 2407000A */ li $a3, 10 +/* 004498F0 0320F809 */ jalr $t9 +/* 004498F4 00000000 */ nop +/* 004498F8 8FBC0020 */ lw $gp, 0x20($sp) +/* 004498FC 02002025 */ move $a0, $s0 +/* 00449900 8E250014 */ lw $a1, 0x14($s1) +/* 00449904 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449908 24060001 */ li $a2, 1 +/* 0044990C 2407000A */ li $a3, 10 +/* 00449910 0320F809 */ jalr $t9 +/* 00449914 00000000 */ nop +/* 00449918 10000018 */ b .L0044997C +/* 0044991C 8FBC0020 */ lw $gp, 0x20($sp) +.L00449920: +/* 00449920 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449924 8DB00000 */ lw $s0, ($t5) +/* 00449928 8F858038 */ lw $a1, %got(RO_1000E240)($gp) +/* 0044992C 24070006 */ li $a3, 6 +/* 00449930 02002025 */ move $a0, $s0 +/* 00449934 0320F809 */ jalr $t9 +/* 00449938 24A5E240 */ addiu $a1, %lo(RO_1000E240) # addiu $a1, $a1, -0x1dc0 +/* 0044993C 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449940 02002025 */ move $a0, $s0 +/* 00449944 8E250010 */ lw $a1, 0x10($s1) +/* 00449948 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 0044994C 24060001 */ li $a2, 1 +/* 00449950 2407000A */ li $a3, 10 +/* 00449954 0320F809 */ jalr $t9 +/* 00449958 00000000 */ nop +/* 0044995C 10000007 */ b .L0044997C +/* 00449960 8FBC0020 */ lw $gp, 0x20($sp) +/* 00449964 24010010 */ li $at, 16 +/* 00449968 5061FFAE */ beql $v1, $at, .L00449824 +/* 0044996C 8FAC0028 */ lw $t4, 0x28($sp) +/* 00449970 24010049 */ li $at, 73 +.L00449974: +/* 00449974 5061FFBE */ beql $v1, $at, .L00449870 +/* 00449978 922F0001 */ lbu $t7, 1($s1) +.L0044997C: +/* 0044997C 8FBF0024 */ lw $ra, 0x24($sp) +/* 00449980 8FB00018 */ lw $s0, 0x18($sp) +/* 00449984 8FB1001C */ lw $s1, 0x1c($sp) +/* 00449988 03E00008 */ jr $ra +/* 0044998C 27BD0028 */ addiu $sp, $sp, 0x28 + .type print_ucode, @function + .size print_ucode, .-print_ucode + .end print_ucode + +glabel print_node_1 + .ent print_node_1 + # 00449CEC print_node + # 00449D24 func_00449D24 +/* 00449990 3C1C0FBD */ .cpload $t9 +/* 00449994 279C60C0 */ +/* 00449998 0399E021 */ +/* 0044999C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004499A0 AFB10020 */ sw $s1, 0x20($sp) +/* 004499A4 AFBF002C */ sw $ra, 0x2c($sp) +/* 004499A8 AFBC0028 */ sw $gp, 0x28($sp) +/* 004499AC AFB20024 */ sw $s2, 0x24($sp) +/* 004499B0 AFB0001C */ sw $s0, 0x1c($sp) +/* 004499B4 AFA60038 */ sw $a2, 0x38($sp) +/* 004499B8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 004499BC 00A08825 */ move $s1, $a1 +/* 004499C0 8CA50010 */ lw $a1, 0x10($a1) +/* 004499C4 8C900000 */ lw $s0, ($a0) +/* 004499C8 00809025 */ move $s2, $a0 +/* 004499CC 24060006 */ li $a2, 6 +/* 004499D0 2407000A */ li $a3, 10 +/* 004499D4 00052A02 */ srl $a1, $a1, 8 +/* 004499D8 0320F809 */ jalr $t9 +/* 004499DC 02002025 */ move $a0, $s0 +/* 004499E0 8FBC0028 */ lw $gp, 0x28($sp) +/* 004499E4 02002025 */ move $a0, $s0 +/* 004499E8 24050009 */ li $a1, 9 +/* 004499EC 8F9987D0 */ lw $t9, %call16(write_char)($gp) +/* 004499F0 24060001 */ li $a2, 1 +/* 004499F4 2407000A */ li $a3, 10 +/* 004499F8 0320F809 */ jalr $t9 +/* 004499FC 00000000 */ nop +/* 00449A00 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449A04 8FA50038 */ lw $a1, 0x38($sp) +/* 00449A08 02402025 */ move $a0, $s2 +/* 00449A0C 8F998638 */ lw $t9, %call16(indent_tree)($gp) +/* 00449A10 00052840 */ sll $a1, $a1, 1 +/* 00449A14 0320F809 */ jalr $t9 +/* 00449A18 00000000 */ nop +/* 00449A1C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449A20 02402025 */ move $a0, $s2 +/* 00449A24 26250020 */ addiu $a1, $s1, 0x20 +/* 00449A28 8F99863C */ lw $t9, %call16(print_ucode)($gp) +/* 00449A2C 0320F809 */ jalr $t9 +/* 00449A30 00000000 */ nop +/* 00449A34 962E0014 */ lhu $t6, 0x14($s1) +/* 00449A38 24010001 */ li $at, 1 +/* 00449A3C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449A40 11C10011 */ beq $t6, $at, .L00449A88 +/* 00449A44 2406000B */ li $a2, 11 +/* 00449A48 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449A4C 8E500000 */ lw $s0, ($s2) +/* 00449A50 8F858038 */ lw $a1, %got(RO_1000E2E7)($gp) +/* 00449A54 2407000B */ li $a3, 11 +/* 00449A58 02002025 */ move $a0, $s0 +/* 00449A5C 0320F809 */ jalr $t9 +/* 00449A60 24A5E2E7 */ addiu $a1, %lo(RO_1000E2E7) # addiu $a1, $a1, -0x1d19 +/* 00449A64 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449A68 02002025 */ move $a0, $s0 +/* 00449A6C 96250014 */ lhu $a1, 0x14($s1) +/* 00449A70 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449A74 24060001 */ li $a2, 1 +/* 00449A78 2407000A */ li $a3, 10 +/* 00449A7C 0320F809 */ jalr $t9 +/* 00449A80 00000000 */ nop +/* 00449A84 8FBC0028 */ lw $gp, 0x28($sp) +.L00449A88: +/* 00449A88 922F001A */ lbu $t7, 0x1a($s1) +/* 00449A8C 2406000C */ li $a2, 12 +/* 00449A90 51E00012 */ beql $t7, $zero, .L00449ADC +/* 00449A94 92220019 */ lbu $v0, 0x19($s1) +/* 00449A98 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449A9C 8E500000 */ lw $s0, ($s2) +/* 00449AA0 8F858038 */ lw $a1, %got(RO_1000E2DB)($gp) +/* 00449AA4 2407000C */ li $a3, 12 +/* 00449AA8 02002025 */ move $a0, $s0 +/* 00449AAC 0320F809 */ jalr $t9 +/* 00449AB0 24A5E2DB */ addiu $a1, %lo(RO_1000E2DB) # addiu $a1, $a1, -0x1d25 +/* 00449AB4 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449AB8 02002025 */ move $a0, $s0 +/* 00449ABC 9225001A */ lbu $a1, 0x1a($s1) +/* 00449AC0 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449AC4 24060001 */ li $a2, 1 +/* 00449AC8 2407000A */ li $a3, 10 +/* 00449ACC 0320F809 */ jalr $t9 +/* 00449AD0 00000000 */ nop +/* 00449AD4 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449AD8 92220019 */ lbu $v0, 0x19($s1) +.L00449ADC: +/* 00449ADC 2406000C */ li $a2, 12 +/* 00449AE0 2407000C */ li $a3, 12 +/* 00449AE4 30580001 */ andi $t8, $v0, 1 +/* 00449AE8 57000009 */ bnel $t8, $zero, .L00449B10 +/* 00449AEC 0002CE00 */ sll $t9, $v0, 0x18 +/* 00449AF0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449AF4 8F858038 */ lw $a1, %got(RO_1000E2CF)($gp) +/* 00449AF8 8E440000 */ lw $a0, ($s2) +/* 00449AFC 0320F809 */ jalr $t9 +/* 00449B00 24A5E2CF */ addiu $a1, %lo(RO_1000E2CF) # addiu $a1, $a1, -0x1d31 +/* 00449B04 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449B08 92220019 */ lbu $v0, 0x19($s1) +/* 00449B0C 0002CE00 */ sll $t9, $v0, 0x18 +.L00449B10: +/* 00449B10 00194642 */ srl $t0, $t9, 0x19 +/* 00449B14 24010048 */ li $at, 72 +/* 00449B18 11010015 */ beq $t0, $at, .L00449B70 +/* 00449B1C 24060005 */ li $a2, 5 +/* 00449B20 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449B24 8E500000 */ lw $s0, ($s2) +/* 00449B28 8F858038 */ lw $a1, %got(RO_1000E2CA)($gp) +/* 00449B2C 24070005 */ li $a3, 5 +/* 00449B30 02002025 */ move $a0, $s0 +/* 00449B34 0320F809 */ jalr $t9 +/* 00449B38 24A5E2CA */ addiu $a1, %lo(RO_1000E2CA) # addiu $a1, $a1, -0x1d36 +/* 00449B3C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449B40 92250019 */ lbu $a1, 0x19($s1) +/* 00449B44 2409000A */ li $t1, 10 +/* 00449B48 8F9987D8 */ lw $t9, %call16(write_enum)($gp) +/* 00449B4C 8F868038 */ lw $a2, %got(D_10016C50)($gp) +/* 00449B50 00052E00 */ sll $a1, $a1, 0x18 +/* 00449B54 00052E42 */ srl $a1, $a1, 0x19 +/* 00449B58 AFA90010 */ sw $t1, 0x10($sp) +/* 00449B5C 02002025 */ move $a0, $s0 +/* 00449B60 00003825 */ move $a3, $zero +/* 00449B64 0320F809 */ jalr $t9 +/* 00449B68 24C66C50 */ addiu $a2, %lo(D_10016C50) # addiu $a2, $a2, 0x6c50 +/* 00449B6C 8FBC0028 */ lw $gp, 0x28($sp) +.L00449B70: +/* 00449B70 8E2A0000 */ lw $t2, ($s1) +/* 00449B74 24060005 */ li $a2, 5 +/* 00449B78 51400013 */ beql $t2, $zero, .L00449BC8 +/* 00449B7C 8E2C0004 */ lw $t4, 4($s1) +/* 00449B80 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449B84 8E500000 */ lw $s0, ($s2) +/* 00449B88 8F858038 */ lw $a1, %got(RO_1000E2C5)($gp) +/* 00449B8C 24070005 */ li $a3, 5 +/* 00449B90 02002025 */ move $a0, $s0 +/* 00449B94 0320F809 */ jalr $t9 +/* 00449B98 24A5E2C5 */ addiu $a1, %lo(RO_1000E2C5) # addiu $a1, $a1, -0x1d3b +/* 00449B9C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449BA0 8E2B0000 */ lw $t3, ($s1) +/* 00449BA4 02002025 */ move $a0, $s0 +/* 00449BA8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449BAC 8D650010 */ lw $a1, 0x10($t3) +/* 00449BB0 24060001 */ li $a2, 1 +/* 00449BB4 2407000A */ li $a3, 10 +/* 00449BB8 0320F809 */ jalr $t9 +/* 00449BBC 00052A02 */ srl $a1, $a1, 8 +/* 00449BC0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449BC4 8E2C0004 */ lw $t4, 4($s1) +.L00449BC8: +/* 00449BC8 24060005 */ li $a2, 5 +/* 00449BCC 51800013 */ beql $t4, $zero, .L00449C1C +/* 00449BD0 8E2E0008 */ lw $t6, 8($s1) +/* 00449BD4 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449BD8 8E500000 */ lw $s0, ($s2) +/* 00449BDC 8F858038 */ lw $a1, %got(RO_1000E2C0)($gp) +/* 00449BE0 24070005 */ li $a3, 5 +/* 00449BE4 02002025 */ move $a0, $s0 +/* 00449BE8 0320F809 */ jalr $t9 +/* 00449BEC 24A5E2C0 */ addiu $a1, %lo(RO_1000E2C0) # addiu $a1, $a1, -0x1d40 +/* 00449BF0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449BF4 8E2D0004 */ lw $t5, 4($s1) +/* 00449BF8 02002025 */ move $a0, $s0 +/* 00449BFC 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449C00 8DA50010 */ lw $a1, 0x10($t5) +/* 00449C04 24060001 */ li $a2, 1 +/* 00449C08 2407000A */ li $a3, 10 +/* 00449C0C 0320F809 */ jalr $t9 +/* 00449C10 00052A02 */ srl $a1, $a1, 8 +/* 00449C14 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449C18 8E2E0008 */ lw $t6, 8($s1) +.L00449C1C: +/* 00449C1C 24060006 */ li $a2, 6 +/* 00449C20 51C00013 */ beql $t6, $zero, .L00449C70 +/* 00449C24 8E38000C */ lw $t8, 0xc($s1) +/* 00449C28 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449C2C 8E500000 */ lw $s0, ($s2) +/* 00449C30 8F858038 */ lw $a1, %got(RO_1000E2BA)($gp) +/* 00449C34 24070006 */ li $a3, 6 +/* 00449C38 02002025 */ move $a0, $s0 +/* 00449C3C 0320F809 */ jalr $t9 +/* 00449C40 24A5E2BA */ addiu $a1, %lo(RO_1000E2BA) # addiu $a1, $a1, -0x1d46 +/* 00449C44 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449C48 8E2F0008 */ lw $t7, 8($s1) +/* 00449C4C 02002025 */ move $a0, $s0 +/* 00449C50 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449C54 8DE50010 */ lw $a1, 0x10($t7) +/* 00449C58 24060001 */ li $a2, 1 +/* 00449C5C 2407000A */ li $a3, 10 +/* 00449C60 0320F809 */ jalr $t9 +/* 00449C64 00052A02 */ srl $a1, $a1, 8 +/* 00449C68 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449C6C 8E38000C */ lw $t8, 0xc($s1) +.L00449C70: +/* 00449C70 24060007 */ li $a2, 7 +/* 00449C74 13000012 */ beqz $t8, .L00449CC0 +/* 00449C78 00000000 */ nop +/* 00449C7C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 00449C80 8E500000 */ lw $s0, ($s2) +/* 00449C84 8F858038 */ lw $a1, %got(RO_1000E2B3)($gp) +/* 00449C88 24070007 */ li $a3, 7 +/* 00449C8C 02002025 */ move $a0, $s0 +/* 00449C90 0320F809 */ jalr $t9 +/* 00449C94 24A5E2B3 */ addiu $a1, %lo(RO_1000E2B3) # addiu $a1, $a1, -0x1d4d +/* 00449C98 8E39000C */ lw $t9, 0xc($s1) +/* 00449C9C 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449CA0 02002025 */ move $a0, $s0 +/* 00449CA4 8F250010 */ lw $a1, 0x10($t9) +/* 00449CA8 8F9987DC */ lw $t9, %call16(write_integer)($gp) +/* 00449CAC 24060001 */ li $a2, 1 +/* 00449CB0 2407000A */ li $a3, 10 +/* 00449CB4 0320F809 */ jalr $t9 +/* 00449CB8 00052A02 */ srl $a1, $a1, 8 +/* 00449CBC 8FBC0028 */ lw $gp, 0x28($sp) +.L00449CC0: +/* 00449CC0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 00449CC4 8E440000 */ lw $a0, ($s2) +/* 00449CC8 0320F809 */ jalr $t9 +/* 00449CCC 00000000 */ nop +/* 00449CD0 8FBF002C */ lw $ra, 0x2c($sp) +/* 00449CD4 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449CD8 8FB0001C */ lw $s0, 0x1c($sp) +/* 00449CDC 8FB10020 */ lw $s1, 0x20($sp) +/* 00449CE0 8FB20024 */ lw $s2, 0x24($sp) +/* 00449CE4 03E00008 */ jr $ra +/* 00449CE8 27BD0030 */ addiu $sp, $sp, 0x30 + .type print_node_1, @function + .size print_node_1, .-print_node_1 + .end print_node_1 + +glabel print_node + .ent print_node + # 0042BDAC eval + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed +/* 00449CEC 3C1C0FBD */ .cpload $t9 +/* 00449CF0 279C5D64 */ +/* 00449CF4 0399E021 */ +/* 00449CF8 8F998640 */ lw $t9, %call16(print_node_1)($gp) +/* 00449CFC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00449D00 AFBF001C */ sw $ra, 0x1c($sp) +/* 00449D04 AFBC0018 */ sw $gp, 0x18($sp) +/* 00449D08 0320F809 */ jalr $t9 +/* 00449D0C 00003025 */ move $a2, $zero +/* 00449D10 8FBF001C */ lw $ra, 0x1c($sp) +/* 00449D14 8FBC0018 */ lw $gp, 0x18($sp) +/* 00449D18 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00449D1C 03E00008 */ jr $ra +/* 00449D20 00000000 */ nop + .type print_node, @function + .size print_node, .-print_node + .end print_node + + .type func_00449D24, @function +func_00449D24: + # 00449D24 func_00449D24 + # 00449E98 print_tree +/* 00449D24 3C1C0FBD */ .cpload $t9 +/* 00449D28 279C5D2C */ +/* 00449D2C 0399E021 */ +/* 00449D30 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 00449D34 AFB30024 */ sw $s3, 0x24($sp) +/* 00449D38 AFB1001C */ sw $s1, 0x1c($sp) +/* 00449D3C AFB00018 */ sw $s0, 0x18($sp) +/* 00449D40 00808025 */ move $s0, $a0 +/* 00449D44 00408825 */ move $s1, $v0 +/* 00449D48 00A09825 */ move $s3, $a1 +/* 00449D4C AFBF002C */ sw $ra, 0x2c($sp) +/* 00449D50 AFBC0028 */ sw $gp, 0x28($sp) +/* 00449D54 10800049 */ beqz $a0, .L00449E7C +/* 00449D58 AFB20020 */ sw $s2, 0x20($sp) +/* 00449D5C 8E22FFFC */ lw $v0, -4($s1) +.L00449D60: +/* 00449D60 920E0017 */ lbu $t6, 0x17($s0) +/* 00449D64 02002825 */ move $a1, $s0 +/* 00449D68 02603025 */ move $a2, $s3 +/* 00449D6C 504E0044 */ beql $v0, $t6, .L00449E80 +/* 00449D70 8FBF002C */ lw $ra, 0x2c($sp) +/* 00449D74 8F998640 */ lw $t9, %call16(print_node_1)($gp) +/* 00449D78 A2020017 */ sb $v0, 0x17($s0) +/* 00449D7C 8E320008 */ lw $s2, 8($s1) +/* 00449D80 0320F809 */ jalr $t9 +/* 00449D84 8E240000 */ lw $a0, ($s1) +/* 00449D88 0272082B */ sltu $at, $s3, $s2 +/* 00449D8C 10200031 */ beqz $at, .L00449E54 +/* 00449D90 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449D94 8E040000 */ lw $a0, ($s0) +/* 00449D98 50800017 */ beql $a0, $zero, .L00449DF8 +/* 00449D9C 8E040004 */ lw $a0, 4($s0) +/* 00449DA0 920F0020 */ lbu $t7, 0x20($s0) +/* 00449DA4 2DF80080 */ sltiu $t8, $t7, 0x80 +/* 00449DA8 13000009 */ beqz $t8, .L00449DD0 +/* 00449DAC 00000000 */ nop +/* 00449DB0 8F898038 */ lw $t1, %got(D_10016F44)($gp) +/* 00449DB4 000FC943 */ sra $t9, $t7, 5 +/* 00449DB8 00194080 */ sll $t0, $t9, 2 +/* 00449DBC 25296F44 */ addiu $t1, %lo(D_10016F44) # addiu $t1, $t1, 0x6f44 +/* 00449DC0 01285021 */ addu $t2, $t1, $t0 +/* 00449DC4 8D4B0000 */ lw $t3, ($t2) +/* 00449DC8 01EB6004 */ sllv $t4, $t3, $t7 +/* 00449DCC 29980000 */ slti $t8, $t4, 0 +.L00449DD0: +/* 00449DD0 57000009 */ bnel $t8, $zero, .L00449DF8 +/* 00449DD4 8E040004 */ lw $a0, 4($s0) +/* 00449DD8 8F998028 */ lw $t9, %got(func_00449D24)($gp) +/* 00449DDC 26650001 */ addiu $a1, $s3, 1 +/* 00449DE0 02201025 */ move $v0, $s1 +/* 00449DE4 27399D24 */ addiu $t9, %lo(func_00449D24) # addiu $t9, $t9, -0x62dc +/* 00449DE8 0320F809 */ jalr $t9 +/* 00449DEC 00000000 */ nop +/* 00449DF0 8FBC0028 */ lw $gp, 0x28($sp) +/* 00449DF4 8E040004 */ lw $a0, 4($s0) +.L00449DF8: +/* 00449DF8 50800017 */ beql $a0, $zero, .L00449E58 +/* 00449DFC 8E22FFF8 */ lw $v0, -8($s1) +/* 00449E00 920E0020 */ lbu $t6, 0x20($s0) +/* 00449E04 2DD900A0 */ sltiu $t9, $t6, 0xa0 +/* 00449E08 13200009 */ beqz $t9, .L00449E30 +/* 00449E0C 00000000 */ nop +/* 00449E10 8F8A8038 */ lw $t2, %got(D_10016F30)($gp) +/* 00449E14 000E4943 */ sra $t1, $t6, 5 +/* 00449E18 00094080 */ sll $t0, $t1, 2 +/* 00449E1C 254A6F30 */ addiu $t2, %lo(D_10016F30) # addiu $t2, $t2, 0x6f30 +/* 00449E20 01485821 */ addu $t3, $t2, $t0 +/* 00449E24 8D6F0000 */ lw $t7, ($t3) +/* 00449E28 01CF6004 */ sllv $t4, $t7, $t6 +/* 00449E2C 29990000 */ slti $t9, $t4, 0 +.L00449E30: +/* 00449E30 57200009 */ bnel $t9, $zero, .L00449E58 +/* 00449E34 8E22FFF8 */ lw $v0, -8($s1) +/* 00449E38 8F998028 */ lw $t9, %got(func_00449D24)($gp) +/* 00449E3C 26650001 */ addiu $a1, $s3, 1 +/* 00449E40 02201025 */ move $v0, $s1 +/* 00449E44 27399D24 */ addiu $t9, %lo(func_00449D24) # addiu $t9, $t9, -0x62dc +/* 00449E48 0320F809 */ jalr $t9 +/* 00449E4C 00000000 */ nop +/* 00449E50 8FBC0028 */ lw $gp, 0x28($sp) +.L00449E54: +/* 00449E54 8E22FFF8 */ lw $v0, -8($s1) +.L00449E58: +/* 00449E58 8E38000C */ lw $t8, 0xc($s1) +/* 00449E5C 24490001 */ addiu $t1, $v0, 1 +/* 00449E60 0058082B */ sltu $at, $v0, $t8 +/* 00449E64 50200006 */ beql $at, $zero, .L00449E80 +/* 00449E68 8FBF002C */ lw $ra, 0x2c($sp) +/* 00449E6C AE29FFF8 */ sw $t1, -8($s1) +/* 00449E70 8E100008 */ lw $s0, 8($s0) +/* 00449E74 5600FFBA */ bnel $s0, $zero, .L00449D60 +/* 00449E78 8E22FFFC */ lw $v0, -4($s1) +.L00449E7C: +/* 00449E7C 8FBF002C */ lw $ra, 0x2c($sp) +.L00449E80: +/* 00449E80 8FB00018 */ lw $s0, 0x18($sp) +/* 00449E84 8FB1001C */ lw $s1, 0x1c($sp) +/* 00449E88 8FB20020 */ lw $s2, 0x20($sp) +/* 00449E8C 8FB30024 */ lw $s3, 0x24($sp) +/* 00449E90 03E00008 */ jr $ra +/* 00449E94 27BD0030 */ addiu $sp, $sp, 0x30 + +glabel print_tree + .ent print_tree + # 004362FC labelopt + # 00449F00 debug_tree + # 0044BA38 func_0044BA38 +/* 00449E98 3C1C0FBD */ .cpload $t9 +/* 00449E9C 279C5BB8 */ +/* 00449EA0 0399E021 */ +/* 00449EA4 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00449EA8 8F998680 */ lw $t9, %call16(next_mark)($gp) +/* 00449EAC AFBF001C */ sw $ra, 0x1c($sp) +/* 00449EB0 AFBC0018 */ sw $gp, 0x18($sp) +/* 00449EB4 AFA40028 */ sw $a0, 0x28($sp) +/* 00449EB8 AFA5002C */ sw $a1, 0x2c($sp) +/* 00449EBC AFA60030 */ sw $a2, 0x30($sp) +/* 00449EC0 0320F809 */ jalr $t9 +/* 00449EC4 AFA70034 */ sw $a3, 0x34($sp) +/* 00449EC8 8FBC0018 */ lw $gp, 0x18($sp) +/* 00449ECC AFA20024 */ sw $v0, 0x24($sp) +/* 00449ED0 AFA00020 */ sw $zero, 0x20($sp) +/* 00449ED4 8F998028 */ lw $t9, %got(func_00449D24)($gp) +/* 00449ED8 27A20028 */ addiu $v0, $sp, 0x28 +/* 00449EDC 8FA4002C */ lw $a0, 0x2c($sp) +/* 00449EE0 27399D24 */ addiu $t9, %lo(func_00449D24) # addiu $t9, $t9, -0x62dc +/* 00449EE4 0320F809 */ jalr $t9 +/* 00449EE8 00002825 */ move $a1, $zero +/* 00449EEC 8FBF001C */ lw $ra, 0x1c($sp) +/* 00449EF0 8FBC0018 */ lw $gp, 0x18($sp) +/* 00449EF4 27BD0028 */ addiu $sp, $sp, 0x28 +/* 00449EF8 03E00008 */ jr $ra +/* 00449EFC 00000000 */ nop + .type print_tree, @function + .size print_tree, .-print_tree + .end print_tree + +glabel debug_tree + .ent debug_tree +/* 00449F00 3C1C0FBD */ .cpload $t9 +/* 00449F04 279C5B50 */ +/* 00449F08 0399E021 */ +/* 00449F0C 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 00449F10 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 00449F14 AFBF001C */ sw $ra, 0x1c($sp) +/* 00449F18 00802825 */ move $a1, $a0 +/* 00449F1C AFBC0018 */ sw $gp, 0x18($sp) +/* 00449F20 8F848954 */ lw $a0, %got(output)($gp) +/* 00449F24 24060014 */ li $a2, 20 +/* 00449F28 0320F809 */ jalr $t9 +/* 00449F2C 00003825 */ move $a3, $zero +/* 00449F30 8FBF001C */ lw $ra, 0x1c($sp) +/* 00449F34 8FBC0018 */ lw $gp, 0x18($sp) +/* 00449F38 27BD0020 */ addiu $sp, $sp, 0x20 +/* 00449F3C 03E00008 */ jr $ra +/* 00449F40 00000000 */ nop + .type debug_tree, @function + .size debug_tree, .-debug_tree + .end debug_tree +)""); diff --git a/src/ugen/tree_utils.c b/src/ugen/tree_utils.c new file mode 100644 index 0000000..0d789fd --- /dev/null +++ b/src/ugen/tree_utils.c @@ -0,0 +1,1702 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000E300: + # 00449F9C new_tree + .ascii "BPT here" + + .balign 4 +jtbl_1000E308: + # 0044A28C build_1op + .gpword .L0044A2D0 + .gpword .L0044A2D0 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A2D0 + .gpword .L0044A2D0 + .gpword .L0044A2D0 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A2D0 + .gpword .L0044A2D0 + .gpword .L0044A380 + .gpword .L0044A380 + .gpword .L0044A2D0 + .gpword .L0044A380 + .gpword .L0044A2D0 + + .balign 4 +jtbl_1000E354: + # 0044A3D4 build_2op + .gpword .L0044A424 + .gpword .L0044A424 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A424 + .gpword .L0044A424 + .gpword .L0044A424 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A424 + .gpword .L0044A424 + .gpword .L0044A4D0 + .gpword .L0044A4D0 + .gpword .L0044A424 + .gpword .L0044A4D0 + .gpword .L0044A424 + +RO_1000E3A0: + # 0044A740 dup_tree + .ascii "ref_count overflow " + +RO_1000E3F0: + # 0044A740 dup_tree + .ascii "tree_utils.p " + +RO_1000E440: + # 0044AA84 rvalue + .ascii "Insufficiant memory " + +RO_1000E490: + # 0044AA84 rvalue + .ascii "tree_utils.p " + + .balign 4 +jtbl_1000E4E0: + # 0044ADF4 result_type + .gpword .L0044AE14 + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE14 + .gpword .L0044AE14 + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE14 + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE14 + + .balign 4 +jtbl_1000E52C: + # 0044ADF4 result_type + .gpword .L0044AE08 + .gpword .L0044AE08 + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE08 + .gpword .L0044AE1C + .gpword .L0044AE14 + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE14 + + .balign 4 +jtbl_1000E558: + # 0044ADF4 result_type + .gpword .L0044AE14 + .gpword .L0044AE1C + .gpword .L0044AE1C + .gpword .L0044AE14 + +.data +# 10016F60 +glabel tree_break + # 00449F9C new_tree + .byte 0x00,0x00,0x00,0x00 + .type tree_break, @object + .size tree_break, .-tree_break # 4 + +D_10016F64: + # 0044A538 free_tree + .byte 0x10,0x10,0x40,0x00,0x42,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016F78: + # 0044A538 free_tree + .byte 0x10,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00 + +D_10016F88: + # 0044A64C delete_statement + .byte 0x10,0x10,0x40,0x00,0x42,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016F9C: + # 0044A64C delete_statement + .byte 0x10,0x10,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + + + +.bss + .balign 4 +# 1002142C +glabel tree_mark + # 00449F50 initialize_tree + # 00449F9C new_tree + # 0044A8FC next_mark + .space 4 + .size tree_mark, 4 + .type tree_mark, @object + + .balign 4 +# 10021430 +glabel tree_counter + # 00449F50 initialize_tree + # 00449F9C new_tree + .space 4 + .size tree_counter, 4 + .type tree_counter, @object + + .balign 4 +# 10021434 +glabel label_id_counter + # 00449F50 initialize_tree + # 00449F7C gen_label_id + .space 4 + .size label_id_counter, 4 + .type label_id_counter, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel initialize_tree + .ent initialize_tree + # 0044BF18 main +/* 00449F50 3C1C0FBD */ .cpload $t9 +/* 00449F54 279C5B00 */ +/* 00449F58 0399E021 */ +/* 00449F5C 8F818B44 */ lw $at, %got(tree_mark)($gp) +/* 00449F60 240E001F */ li $t6, 31 +/* 00449F64 AC200000 */ sw $zero, ($at) +/* 00449F68 8F818B48 */ lw $at, %got(tree_counter)($gp) +/* 00449F6C AC200000 */ sw $zero, ($at) +/* 00449F70 8F818B4C */ lw $at, %got(label_id_counter)($gp) +/* 00449F74 03E00008 */ jr $ra +/* 00449F78 AC2E0000 */ sw $t6, ($at) + .type initialize_tree, @function + .size initialize_tree, .-initialize_tree + .end initialize_tree + +glabel gen_label_id + .ent gen_label_id + # 0041AFE4 func_0041AFE4 + # 0041B07C func_0041B07C + # 0041B1BC func_0041B1BC + # 0041B2FC func_0041B2FC + # 0041B43C func_0041B43C + # 0041B57C func_0041B57C + # 0041B6BC func_0041B6BC + # 0041B7FC func_0041B7FC + # 0041B93C func_0041B93C + # 0041BD30 func_0041BD30 + # 0041BDC8 func_0041BDC8 + # 0041BE80 func_0041BE80 + # 0041BF38 func_0041BF38 + # 0041BFF0 func_0041BFF0 + # 0041C0A8 func_0041C0A8 + # 0041C160 func_0041C160 + # 0041C218 func_0041C218 + # 0041C2D0 func_0041C2D0 + # 0041C710 func_0041C710 + # 0041C7AC func_0041C7AC + # 0041C86C func_0041C86C + # 0041C92C func_0041C92C + # 0041C9EC func_0041C9EC + # 0041CCD0 func_0041CCD0 + # 0041CD64 func_0041CD64 + # 0041CE18 func_0041CE18 + # 0041CECC func_0041CECC + # 0041CF80 func_0041CF80 + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041DF18 func_0041DF18 + # 0041E05C func_0041E05C + # 0041E1C0 func_0041E1C0 + # 0041E304 func_0041E304 + # 0041EE78 func_0041EE78 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 00420590 func_00420590 + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00424240 trap + # 004285F0 eval_fp_cond + # 004287AC eval_fp_min_max + # 00428D14 eval_mov + # 0042A1AC eval_irel + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00436F74 make_new_label + # 0044B2EC func_0044B2EC +/* 00449F7C 3C1C0FBD */ .cpload $t9 +/* 00449F80 279C5AD4 */ +/* 00449F84 0399E021 */ +/* 00449F88 8F848B4C */ lw $a0, %got(label_id_counter)($gp) +/* 00449F8C 8C8E0000 */ lw $t6, ($a0) +/* 00449F90 25C20001 */ addiu $v0, $t6, 1 +/* 00449F94 03E00008 */ jr $ra +/* 00449F98 AC820000 */ sw $v0, ($a0) + .type gen_label_id, @function + .size gen_label_id, .-gen_label_id + .end gen_label_id + +glabel new_tree + .ent new_tree + # 0040EFBC func_0040EFBC + # 0040F4C8 build_tree + # 0044A0B4 build_u + # 0044A130 build_u1 + # 0044A1B8 build_u2 + # 0044A24C build_op + # 0044A28C build_1op + # 0044A3D4 build_2op + # 0044A920 ivalue + # 0044A9D0 dwvalue + # 0044AA84 rvalue +/* 00449F9C 3C1C0FBD */ .cpload $t9 +/* 00449FA0 279C5AB4 */ +/* 00449FA4 0399E021 */ +/* 00449FA8 8F99881C */ lw $t9, %call16(alloc_new)($gp) +/* 00449FAC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 00449FB0 AFBF001C */ sw $ra, 0x1c($sp) +/* 00449FB4 AFBC0018 */ sw $gp, 0x18($sp) +/* 00449FB8 24040040 */ li $a0, 64 +/* 00449FBC 0320F809 */ jalr $t9 +/* 00449FC0 8F858A58 */ lw $a1, %got(tree_heap)($gp) +/* 00449FC4 8FBC0018 */ lw $gp, 0x18($sp) +/* 00449FC8 AFA20020 */ sw $v0, 0x20($sp) +/* 00449FCC 240B0001 */ li $t3, 1 +/* 00449FD0 8F848B48 */ lw $a0, %got(tree_counter)($gp) +/* 00449FD4 2401FFFE */ li $at, -2 +/* 00449FD8 24060008 */ li $a2, 8 +/* 00449FDC 8C8E0000 */ lw $t6, ($a0) +/* 00449FE0 25CF0001 */ addiu $t7, $t6, 1 +/* 00449FE4 AC8F0000 */ sw $t7, ($a0) +/* 00449FE8 8C430010 */ lw $v1, 0x10($v0) +/* 00449FEC 904C0019 */ lbu $t4, 0x19($v0) +/* 00449FF0 AC400008 */ sw $zero, 8($v0) +/* 00449FF4 0003CA02 */ srl $t9, $v1, 8 +/* 00449FF8 01F94026 */ xor $t0, $t7, $t9 +/* 00449FFC 8F8F8B44 */ lw $t7, %got(tree_mark)($gp) +/* 0044A000 00084A00 */ sll $t1, $t0, 8 +/* 0044A004 318DFF01 */ andi $t5, $t4, 0xff01 +/* 0044A008 35AE0090 */ ori $t6, $t5, 0x90 +/* 0044A00C 01235026 */ xor $t2, $t1, $v1 +/* 0044A010 AC4A0010 */ sw $t2, 0x10($v0) +/* 0044A014 AC40000C */ sw $zero, 0xc($v0) +/* 0044A018 AC400000 */ sw $zero, ($v0) +/* 0044A01C AC400004 */ sw $zero, 4($v0) +/* 0044A020 A44B0014 */ sh $t3, 0x14($v0) +/* 0044A024 A040001A */ sb $zero, 0x1a($v0) +/* 0044A028 A04E0019 */ sb $t6, 0x19($v0) +/* 0044A02C A0400018 */ sb $zero, 0x18($v0) +/* 0044A030 A0400016 */ sb $zero, 0x16($v0) +/* 0044A034 8DEF0000 */ lw $t7, ($t7) +/* 0044A038 8F898930 */ lw $t1, %got(tree_break)($gp) +/* 0044A03C 31D800FF */ andi $t8, $t6, 0xff +/* 0044A040 0301C824 */ and $t9, $t8, $at +/* 0044A044 24080060 */ li $t0, 96 +/* 0044A048 A0590019 */ sb $t9, 0x19($v0) +/* 0044A04C A0480020 */ sb $t0, 0x20($v0) +/* 0044A050 A4400022 */ sh $zero, 0x22($v0) +/* 0044A054 AC400030 */ sw $zero, 0x30($v0) +/* 0044A058 A04F0017 */ sb $t7, 0x17($v0) +/* 0044A05C 8D290000 */ lw $t1, ($t1) +/* 0044A060 000A5A02 */ srl $t3, $t2, 8 +/* 0044A064 552B000F */ bnel $t1, $t3, .L0044A0A4 +/* 0044A068 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A06C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044A070 8F848950 */ lw $a0, %got(err)($gp) +/* 0044A074 8F858038 */ lw $a1, %got(RO_1000E300)($gp) +/* 0044A078 24070008 */ li $a3, 8 +/* 0044A07C 8C840000 */ lw $a0, ($a0) +/* 0044A080 0320F809 */ jalr $t9 +/* 0044A084 24A5E300 */ addiu $a1, %lo(RO_1000E300) # addiu $a1, $a1, -0x1d00 +/* 0044A088 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A08C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044A090 8F848950 */ lw $a0, %got(err)($gp) +/* 0044A094 0320F809 */ jalr $t9 +/* 0044A098 8C840000 */ lw $a0, ($a0) +/* 0044A09C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A0A0 8FBF001C */ lw $ra, 0x1c($sp) +.L0044A0A4: +/* 0044A0A4 8FA20020 */ lw $v0, 0x20($sp) +/* 0044A0A8 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0044A0AC 03E00008 */ jr $ra +/* 0044A0B0 00000000 */ nop + .type new_tree, @function + .size new_tree, .-new_tree + .end new_tree + +glabel build_u + .ent build_u + # 0040EED4 func_0040EED4 + # 0040F328 func_0040F328 + # 0040F4C8 build_tree + # 0044202C set_rewrite + # 004488F4 translate_cvtl +/* 0044A0B4 3C1C0FBD */ .cpload $t9 +/* 0044A0B8 279C599C */ +/* 0044A0BC 0399E021 */ +/* 0044A0C0 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A0C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A0C8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A0CC AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A0D0 0320F809 */ jalr $t9 +/* 0044A0D4 AFA40020 */ sw $a0, 0x20($sp) +/* 0044A0D8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0044A0DC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A0E0 8DD80000 */ lw $t8, ($t6) +/* 0044A0E4 AC580020 */ sw $t8, 0x20($v0) +/* 0044A0E8 8DCF0004 */ lw $t7, 4($t6) +/* 0044A0EC AC4F0024 */ sw $t7, 0x24($v0) +/* 0044A0F0 8DD80008 */ lw $t8, 8($t6) +/* 0044A0F4 AC580028 */ sw $t8, 0x28($v0) +/* 0044A0F8 8DCF000C */ lw $t7, 0xc($t6) +/* 0044A0FC AC4F002C */ sw $t7, 0x2c($v0) +/* 0044A100 8DD80010 */ lw $t8, 0x10($t6) +/* 0044A104 AC580030 */ sw $t8, 0x30($v0) +/* 0044A108 8DCF0014 */ lw $t7, 0x14($t6) +/* 0044A10C AC4F0034 */ sw $t7, 0x34($v0) +/* 0044A110 8DD80018 */ lw $t8, 0x18($t6) +/* 0044A114 AC580038 */ sw $t8, 0x38($v0) +/* 0044A118 8DCF001C */ lw $t7, 0x1c($t6) +/* 0044A11C AC4F003C */ sw $t7, 0x3c($v0) +/* 0044A120 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A124 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A128 03E00008 */ jr $ra +/* 0044A12C 00000000 */ nop + .type build_u, @function + .size build_u, .-build_u + .end build_u + +glabel build_u1 + .ent build_u1 + # 0040F328 func_0040F328 + # 0040F4C8 build_tree +/* 0044A130 3C1C0FBD */ .cpload $t9 +/* 0044A134 279C5920 */ +/* 0044A138 0399E021 */ +/* 0044A13C 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A140 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A144 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A148 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A14C AFA40020 */ sw $a0, 0x20($sp) +/* 0044A150 0320F809 */ jalr $t9 +/* 0044A154 AFA50024 */ sw $a1, 0x24($sp) +/* 0044A158 8FAE0020 */ lw $t6, 0x20($sp) +/* 0044A15C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A160 8DD80000 */ lw $t8, ($t6) +/* 0044A164 AC580020 */ sw $t8, 0x20($v0) +/* 0044A168 8DCF0004 */ lw $t7, 4($t6) +/* 0044A16C AC4F0024 */ sw $t7, 0x24($v0) +/* 0044A170 8DD80008 */ lw $t8, 8($t6) +/* 0044A174 AC580028 */ sw $t8, 0x28($v0) +/* 0044A178 8DCF000C */ lw $t7, 0xc($t6) +/* 0044A17C AC4F002C */ sw $t7, 0x2c($v0) +/* 0044A180 8DD80010 */ lw $t8, 0x10($t6) +/* 0044A184 AC580030 */ sw $t8, 0x30($v0) +/* 0044A188 8DCF0014 */ lw $t7, 0x14($t6) +/* 0044A18C AC4F0034 */ sw $t7, 0x34($v0) +/* 0044A190 8DD80018 */ lw $t8, 0x18($t6) +/* 0044A194 AC580038 */ sw $t8, 0x38($v0) +/* 0044A198 8DCF001C */ lw $t7, 0x1c($t6) +/* 0044A19C AC4F003C */ sw $t7, 0x3c($v0) +/* 0044A1A0 8FB90024 */ lw $t9, 0x24($sp) +/* 0044A1A4 AC590000 */ sw $t9, ($v0) +/* 0044A1A8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A1AC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A1B0 03E00008 */ jr $ra +/* 0044A1B4 00000000 */ nop + .type build_u1, @function + .size build_u1, .-build_u1 + .end build_u1 + +glabel build_u2 + .ent build_u2 + # 0040F4C8 build_tree +/* 0044A1B8 3C1C0FBD */ .cpload $t9 +/* 0044A1BC 279C5898 */ +/* 0044A1C0 0399E021 */ +/* 0044A1C4 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A1C8 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A1CC AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A1D0 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A1D4 AFA40020 */ sw $a0, 0x20($sp) +/* 0044A1D8 AFA50024 */ sw $a1, 0x24($sp) +/* 0044A1DC 0320F809 */ jalr $t9 +/* 0044A1E0 AFA60028 */ sw $a2, 0x28($sp) +/* 0044A1E4 8FAE0020 */ lw $t6, 0x20($sp) +/* 0044A1E8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A1EC 8DD80000 */ lw $t8, ($t6) +/* 0044A1F0 AC580020 */ sw $t8, 0x20($v0) +/* 0044A1F4 8DCF0004 */ lw $t7, 4($t6) +/* 0044A1F8 AC4F0024 */ sw $t7, 0x24($v0) +/* 0044A1FC 8DD80008 */ lw $t8, 8($t6) +/* 0044A200 AC580028 */ sw $t8, 0x28($v0) +/* 0044A204 8DCF000C */ lw $t7, 0xc($t6) +/* 0044A208 AC4F002C */ sw $t7, 0x2c($v0) +/* 0044A20C 8DD80010 */ lw $t8, 0x10($t6) +/* 0044A210 AC580030 */ sw $t8, 0x30($v0) +/* 0044A214 8DCF0014 */ lw $t7, 0x14($t6) +/* 0044A218 AC4F0034 */ sw $t7, 0x34($v0) +/* 0044A21C 8DD80018 */ lw $t8, 0x18($t6) +/* 0044A220 AC580038 */ sw $t8, 0x38($v0) +/* 0044A224 8DCF001C */ lw $t7, 0x1c($t6) +/* 0044A228 AC4F003C */ sw $t7, 0x3c($v0) +/* 0044A22C 8FB90024 */ lw $t9, 0x24($sp) +/* 0044A230 AC590000 */ sw $t9, ($v0) +/* 0044A234 8FA80028 */ lw $t0, 0x28($sp) +/* 0044A238 AC480004 */ sw $t0, 4($v0) +/* 0044A23C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A240 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A244 03E00008 */ jr $ra +/* 0044A248 00000000 */ nop + .type build_u2, @function + .size build_u2, .-build_u2 + .end build_u2 + +glabel build_op + .ent build_op + # 0040E144 find_label + # 0040F1BC func_0040F1BC + # 0040F4C8 build_tree + # 00436F74 make_new_label + # 004395DC fix_amt_ref +/* 0044A24C 3C1C0FBD */ .cpload $t9 +/* 0044A250 279C5804 */ +/* 0044A254 0399E021 */ +/* 0044A258 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A25C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A260 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A264 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A268 0320F809 */ jalr $t9 +/* 0044A26C AFA40020 */ sw $a0, 0x20($sp) +/* 0044A270 93AE0023 */ lbu $t6, 0x23($sp) +/* 0044A274 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A278 A04E0020 */ sb $t6, 0x20($v0) +/* 0044A27C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A280 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A284 03E00008 */ jr $ra +/* 0044A288 00000000 */ nop + .type build_op, @function + .size build_op, .-build_op + .end build_op + +glabel build_1op + .ent build_1op + # 0040F4C8 build_tree + # 004395DC fix_amt_ref + # 00441ABC gen_set_str + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 00447E14 load_cse +/* 0044A28C 3C1C0FBD */ .cpload $t9 +/* 0044A290 279C57C4 */ +/* 0044A294 0399E021 */ +/* 0044A298 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A29C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A2A0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A2A4 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A2A8 AFA40020 */ sw $a0, 0x20($sp) +/* 0044A2AC 0320F809 */ jalr $t9 +/* 0044A2B0 AFA50024 */ sw $a1, 0x24($sp) +/* 0044A2B4 93AE0023 */ lbu $t6, 0x23($sp) +/* 0044A2B8 8FA50024 */ lw $a1, 0x24($sp) +/* 0044A2BC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A2C0 A04E0020 */ sb $t6, 0x20($v0) +/* 0044A2C4 00402025 */ move $a0, $v0 +/* 0044A2C8 10000011 */ b .L0044A310 +/* 0044A2CC 90A30020 */ lbu $v1, 0x20($a1) +.L0044A2D0: +/* 0044A2D0 904F0021 */ lbu $t7, 0x21($v0) +.L0044A2D4: +/* 0044A2D4 2401FFE0 */ li $at, -32 +/* 0044A2D8 01E1C024 */ and $t8, $t7, $at +/* 0044A2DC 37190008 */ ori $t9, $t8, 8 +/* 0044A2E0 10000035 */ b .L0044A3B8 +/* 0044A2E4 A0590021 */ sb $t9, 0x21($v0) +.L0044A2E8: +/* 0044A2E8 8F888A28 */ lw $t0, %got(addr_dtype)($gp) +/* 0044A2EC 90430021 */ lbu $v1, 0x21($v0) +/* 0044A2F0 91080000 */ lbu $t0, ($t0) +/* 0044A2F4 00034EC0 */ sll $t1, $v1, 0x1b +/* 0044A2F8 000956C2 */ srl $t2, $t1, 0x1b +/* 0044A2FC 010A5826 */ xor $t3, $t0, $t2 +/* 0044A300 316C001F */ andi $t4, $t3, 0x1f +/* 0044A304 01836826 */ xor $t5, $t4, $v1 +/* 0044A308 1000002B */ b .L0044A3B8 +/* 0044A30C A04D0021 */ sb $t5, 0x21($v0) +.L0044A310: +/* 0044A310 2C610048 */ sltiu $at, $v1, 0x48 +/* 0044A314 14200007 */ bnez $at, .L0044A334 +/* 0044A318 2C61004F */ sltiu $at, $v1, 0x4f +/* 0044A31C 14200021 */ bnez $at, .L0044A3A4 +/* 0044A320 2401005F */ li $at, 95 +/* 0044A324 5061FFEB */ beql $v1, $at, .L0044A2D4 +/* 0044A328 904F0021 */ lbu $t7, 0x21($v0) +/* 0044A32C 10000015 */ b .L0044A384 +/* 0044A330 90430021 */ lbu $v1, 0x21($v0) +.L0044A334: +/* 0044A334 24010023 */ li $at, 35 +/* 0044A338 5061FFE6 */ beql $v1, $at, .L0044A2D4 +/* 0044A33C 904F0021 */ lbu $t7, 0x21($v0) +/* 0044A340 2C61003B */ sltiu $at, $v1, 0x3b +/* 0044A344 1020000B */ beqz $at, .L0044A374 +/* 0044A348 246EFFD8 */ addiu $t6, $v1, -0x28 +/* 0044A34C 2DC10013 */ sltiu $at, $t6, 0x13 +/* 0044A350 5020000C */ beql $at, $zero, .L0044A384 +/* 0044A354 90430021 */ lbu $v1, 0x21($v0) +/* 0044A358 8F818038 */ lw $at, %got(jtbl_1000E308)($gp) +/* 0044A35C 000E7080 */ sll $t6, $t6, 2 +/* 0044A360 002E0821 */ addu $at, $at, $t6 +/* 0044A364 8C2EE308 */ lw $t6, %lo(jtbl_1000E308)($at) +/* 0044A368 01DC7021 */ addu $t6, $t6, $gp +/* 0044A36C 01C00008 */ jr $t6 +/* 0044A370 00000000 */ nop +.L0044A374: +/* 0044A374 24010047 */ li $at, 71 +/* 0044A378 1061FFDB */ beq $v1, $at, .L0044A2E8 +/* 0044A37C 00000000 */ nop +.L0044A380: +/* 0044A380 90430021 */ lbu $v1, 0x21($v0) +.L0044A384: +/* 0044A384 90B80021 */ lbu $t8, 0x21($a1) +/* 0044A388 0003CEC0 */ sll $t9, $v1, 0x1b +/* 0044A38C 00194EC2 */ srl $t1, $t9, 0x1b +/* 0044A390 03094026 */ xor $t0, $t8, $t1 +/* 0044A394 310A001F */ andi $t2, $t0, 0x1f +/* 0044A398 01435826 */ xor $t3, $t2, $v1 +/* 0044A39C 10000006 */ b .L0044A3B8 +/* 0044A3A0 A04B0021 */ sb $t3, 0x21($v0) +.L0044A3A4: +/* 0044A3A4 2C61004D */ sltiu $at, $v1, 0x4d +/* 0044A3A8 5020FFCA */ beql $at, $zero, .L0044A2D4 +/* 0044A3AC 904F0021 */ lbu $t7, 0x21($v0) +/* 0044A3B0 1000FFF4 */ b .L0044A384 +/* 0044A3B4 90430021 */ lbu $v1, 0x21($v0) +.L0044A3B8: +/* 0044A3B8 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A3BC AC850000 */ sw $a1, ($a0) +/* 0044A3C0 8CAC0028 */ lw $t4, 0x28($a1) +/* 0044A3C4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A3C8 00801025 */ move $v0, $a0 +/* 0044A3CC 03E00008 */ jr $ra +/* 0044A3D0 AC8C0028 */ sw $t4, 0x28($a0) + .type build_1op, @function + .size build_1op, .-build_1op + .end build_1op + +glabel build_2op + .ent build_2op + # 0040E2AC func_0040E2AC + # 0040F4C8 build_tree + # 00436FD0 make_new_jump + # 00441C78 gen_set_istr + # 00441E4C gen_set_equ + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 004488F4 translate_cvtl + # 00448EC8 build_ucond0 +/* 0044A3D4 3C1C0FBD */ .cpload $t9 +/* 0044A3D8 279C567C */ +/* 0044A3DC 0399E021 */ +/* 0044A3E0 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A3E4 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A3E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A3EC AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A3F0 AFA40020 */ sw $a0, 0x20($sp) +/* 0044A3F4 AFA60028 */ sw $a2, 0x28($sp) +/* 0044A3F8 0320F809 */ jalr $t9 +/* 0044A3FC AFA50024 */ sw $a1, 0x24($sp) +/* 0044A400 93A30023 */ lbu $v1, 0x23($sp) +/* 0044A404 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A408 8FA50024 */ lw $a1, 0x24($sp) +/* 0044A40C 24010088 */ li $at, 136 +/* 0044A410 00402025 */ move $a0, $v0 +/* 0044A414 1061003F */ beq $v1, $at, .L0044A514 +/* 0044A418 A0430020 */ sb $v1, 0x20($v0) +/* 0044A41C 10000010 */ b .L0044A460 +/* 0044A420 90A30020 */ lbu $v1, 0x20($a1) +.L0044A424: +/* 0044A424 904E0021 */ lbu $t6, 0x21($v0) +.L0044A428: +/* 0044A428 31CFFFE0 */ andi $t7, $t6, 0xffe0 +/* 0044A42C 35F80008 */ ori $t8, $t7, 8 +/* 0044A430 10000036 */ b .L0044A50C +/* 0044A434 A0580021 */ sb $t8, 0x21($v0) +.L0044A438: +/* 0044A438 8F998A28 */ lw $t9, %got(addr_dtype)($gp) +/* 0044A43C 90430021 */ lbu $v1, 0x21($v0) +/* 0044A440 93390000 */ lbu $t9, ($t9) +/* 0044A444 000346C0 */ sll $t0, $v1, 0x1b +/* 0044A448 00084EC2 */ srl $t1, $t0, 0x1b +/* 0044A44C 03295026 */ xor $t2, $t9, $t1 +/* 0044A450 314B001F */ andi $t3, $t2, 0x1f +/* 0044A454 01636026 */ xor $t4, $t3, $v1 +/* 0044A458 1000002C */ b .L0044A50C +/* 0044A45C A04C0021 */ sb $t4, 0x21($v0) +.L0044A460: +/* 0044A460 2C610048 */ sltiu $at, $v1, 0x48 +/* 0044A464 14200007 */ bnez $at, .L0044A484 +/* 0044A468 2C61004F */ sltiu $at, $v1, 0x4f +/* 0044A46C 14200022 */ bnez $at, .L0044A4F8 +/* 0044A470 2401005F */ li $at, 95 +/* 0044A474 5061FFEC */ beql $v1, $at, .L0044A428 +/* 0044A478 904E0021 */ lbu $t6, 0x21($v0) +/* 0044A47C 10000015 */ b .L0044A4D4 +/* 0044A480 90430021 */ lbu $v1, 0x21($v0) +.L0044A484: +/* 0044A484 24010023 */ li $at, 35 +/* 0044A488 5061FFE7 */ beql $v1, $at, .L0044A428 +/* 0044A48C 904E0021 */ lbu $t6, 0x21($v0) +/* 0044A490 2C61003B */ sltiu $at, $v1, 0x3b +/* 0044A494 1020000B */ beqz $at, .L0044A4C4 +/* 0044A498 246DFFD8 */ addiu $t5, $v1, -0x28 +/* 0044A49C 2DA10013 */ sltiu $at, $t5, 0x13 +/* 0044A4A0 5020000C */ beql $at, $zero, .L0044A4D4 +/* 0044A4A4 90430021 */ lbu $v1, 0x21($v0) +/* 0044A4A8 8F818038 */ lw $at, %got(jtbl_1000E354)($gp) +/* 0044A4AC 000D6880 */ sll $t5, $t5, 2 +/* 0044A4B0 002D0821 */ addu $at, $at, $t5 +/* 0044A4B4 8C2DE354 */ lw $t5, %lo(jtbl_1000E354)($at) +/* 0044A4B8 01BC6821 */ addu $t5, $t5, $gp +/* 0044A4BC 01A00008 */ jr $t5 +/* 0044A4C0 00000000 */ nop +.L0044A4C4: +/* 0044A4C4 24010047 */ li $at, 71 +/* 0044A4C8 1061FFDB */ beq $v1, $at, .L0044A438 +/* 0044A4CC 00000000 */ nop +.L0044A4D0: +/* 0044A4D0 90430021 */ lbu $v1, 0x21($v0) +.L0044A4D4: +/* 0044A4D4 90AE0021 */ lbu $t6, 0x21($a1) +/* 0044A4D8 0003C6C0 */ sll $t8, $v1, 0x1b +/* 0044A4DC 001846C2 */ srl $t0, $t8, 0x1b +/* 0044A4E0 31CF001F */ andi $t7, $t6, 0x1f +/* 0044A4E4 01E8C826 */ xor $t9, $t7, $t0 +/* 0044A4E8 3329001F */ andi $t1, $t9, 0x1f +/* 0044A4EC 01235026 */ xor $t2, $t1, $v1 +/* 0044A4F0 10000006 */ b .L0044A50C +/* 0044A4F4 A04A0021 */ sb $t2, 0x21($v0) +.L0044A4F8: +/* 0044A4F8 2C61004D */ sltiu $at, $v1, 0x4d +/* 0044A4FC 5020FFCA */ beql $at, $zero, .L0044A428 +/* 0044A500 904E0021 */ lbu $t6, 0x21($v0) +/* 0044A504 1000FFF3 */ b .L0044A4D4 +/* 0044A508 90430021 */ lbu $v1, 0x21($v0) +.L0044A50C: +/* 0044A50C 8CAB0028 */ lw $t3, 0x28($a1) +/* 0044A510 AC4B0028 */ sw $t3, 0x28($v0) +.L0044A514: +/* 0044A514 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A518 8FAC0028 */ lw $t4, 0x28($sp) +/* 0044A51C AC850000 */ sw $a1, ($a0) +/* 0044A520 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A524 00801025 */ move $v0, $a0 +/* 0044A528 03E00008 */ jr $ra +/* 0044A52C AC8C0004 */ sw $t4, 4($a0) + .type build_2op, @function + .size build_2op, .-build_2op + .end build_2op + +glabel free_node + .ent free_node + # 00446E94 free_tree_and_cse + # 0044A538 free_tree +/* 0044A530 03E00008 */ jr $ra +/* 0044A534 AFA40000 */ sw $a0, ($sp) + .type free_node, @function + .size free_node, .-free_node + .end free_node + +glabel free_tree + .ent free_tree + # 0040F4C8 build_tree + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt + # 00434B28 fold + # 00434E4C fold1 + # 00441ABC gen_set_str + # 00441C78 gen_set_istr + # 00441E4C gen_set_equ + # 00442968 set_rewrite_indexed + # 00447E14 load_cse + # 004488F4 translate_cvtl + # 0044A538 free_tree + # 0044A64C delete_statement +/* 0044A538 3C1C0FBD */ .cpload $t9 +/* 0044A53C 279C5518 */ +/* 0044A540 0399E021 */ +/* 0044A544 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0044A548 AFB00018 */ sw $s0, 0x18($sp) +/* 0044A54C 00808025 */ move $s0, $a0 +/* 0044A550 AFBF0024 */ sw $ra, 0x24($sp) +/* 0044A554 AFBC0020 */ sw $gp, 0x20($sp) +/* 0044A558 AFB1001C */ sw $s1, 0x1c($sp) +.L0044A55C: +/* 0044A55C 960E0014 */ lhu $t6, 0x14($s0) +/* 0044A560 25CFFFFF */ addiu $t7, $t6, -1 +/* 0044A564 31F8FFFF */ andi $t8, $t7, 0xffff +/* 0044A568 17000033 */ bnez $t8, .L0044A638 +/* 0044A56C A60F0014 */ sh $t7, 0x14($s0) +/* 0044A570 8E040000 */ lw $a0, ($s0) +/* 0044A574 50800014 */ beql $a0, $zero, .L0044A5C8 +/* 0044A578 8E040004 */ lw $a0, 4($s0) +/* 0044A57C 92190020 */ lbu $t9, 0x20($s0) +/* 0044A580 2F280080 */ sltiu $t0, $t9, 0x80 +/* 0044A584 11000009 */ beqz $t0, .L0044A5AC +/* 0044A588 00000000 */ nop +/* 0044A58C 8F8B8038 */ lw $t3, %got(D_10016F78)($gp) +/* 0044A590 00194943 */ sra $t1, $t9, 5 +/* 0044A594 00095080 */ sll $t2, $t1, 2 +/* 0044A598 256B6F78 */ addiu $t3, %lo(D_10016F78) # addiu $t3, $t3, 0x6f78 +/* 0044A59C 016A6021 */ addu $t4, $t3, $t2 +/* 0044A5A0 8D8D0000 */ lw $t5, ($t4) +/* 0044A5A4 032D7004 */ sllv $t6, $t5, $t9 +/* 0044A5A8 29C80000 */ slti $t0, $t6, 0 +.L0044A5AC: +/* 0044A5AC 55000006 */ bnel $t0, $zero, .L0044A5C8 +/* 0044A5B0 8E040004 */ lw $a0, 4($s0) +/* 0044A5B4 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 0044A5B8 0320F809 */ jalr $t9 +/* 0044A5BC 00000000 */ nop +/* 0044A5C0 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044A5C4 8E040004 */ lw $a0, 4($s0) +.L0044A5C8: +/* 0044A5C8 10800013 */ beqz $a0, .L0044A618 +/* 0044A5CC 00000000 */ nop +/* 0044A5D0 92180020 */ lbu $t8, 0x20($s0) +/* 0044A5D4 2F0900A0 */ sltiu $t1, $t8, 0xa0 +/* 0044A5D8 11200009 */ beqz $t1, .L0044A600 +/* 0044A5DC 00000000 */ nop +/* 0044A5E0 8F8C8038 */ lw $t4, %got(D_10016F64)($gp) +/* 0044A5E4 00185943 */ sra $t3, $t8, 5 +/* 0044A5E8 000B5080 */ sll $t2, $t3, 2 +/* 0044A5EC 258C6F64 */ addiu $t4, %lo(D_10016F64) # addiu $t4, $t4, 0x6f64 +/* 0044A5F0 018A6821 */ addu $t5, $t4, $t2 +/* 0044A5F4 8DB90000 */ lw $t9, ($t5) +/* 0044A5F8 03197004 */ sllv $t6, $t9, $t8 +/* 0044A5FC 29C90000 */ slti $t1, $t6, 0 +.L0044A600: +/* 0044A600 15200005 */ bnez $t1, .L0044A618 +/* 0044A604 00000000 */ nop +/* 0044A608 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 0044A60C 0320F809 */ jalr $t9 +/* 0044A610 00000000 */ nop +/* 0044A614 8FBC0020 */ lw $gp, 0x20($sp) +.L0044A618: +/* 0044A618 8F998670 */ lw $t9, %call16(free_node)($gp) +/* 0044A61C 8E110008 */ lw $s1, 8($s0) +/* 0044A620 02002025 */ move $a0, $s0 +/* 0044A624 0320F809 */ jalr $t9 +/* 0044A628 00000000 */ nop +/* 0044A62C 8FBC0020 */ lw $gp, 0x20($sp) +/* 0044A630 1620FFCA */ bnez $s1, .L0044A55C +/* 0044A634 02208025 */ move $s0, $s1 +.L0044A638: +/* 0044A638 8FBF0024 */ lw $ra, 0x24($sp) +/* 0044A63C 8FB00018 */ lw $s0, 0x18($sp) +/* 0044A640 8FB1001C */ lw $s1, 0x1c($sp) +/* 0044A644 03E00008 */ jr $ra +/* 0044A648 27BD0028 */ addiu $sp, $sp, 0x28 + .type free_tree, @function + .size free_tree, .-free_tree + .end free_tree + +glabel delete_statement + .ent delete_statement + # 004351C0 func_004351C0 + # 004352AC func_004352AC + # 0043595C func_0043595C + # 00436148 func_00436148 + # 00438320 match_uconds + # 004387D8 match_conds + # 004432FC translate +/* 0044A64C 3C1C0FBD */ .cpload $t9 +/* 0044A650 279C5404 */ +/* 0044A654 0399E021 */ +/* 0044A658 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A65C AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A660 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A664 8C860000 */ lw $a2, ($a0) +/* 0044A668 00802825 */ move $a1, $a0 +/* 0044A66C 50C00017 */ beql $a2, $zero, .L0044A6CC +/* 0044A670 8CA40004 */ lw $a0, 4($a1) +/* 0044A674 908E0020 */ lbu $t6, 0x20($a0) +/* 0044A678 2DCF0080 */ sltiu $t7, $t6, 0x80 +/* 0044A67C 11E00009 */ beqz $t7, .L0044A6A4 +/* 0044A680 00000000 */ nop +/* 0044A684 8F888038 */ lw $t0, %got(D_10016F9C)($gp) +/* 0044A688 000EC143 */ sra $t8, $t6, 5 +/* 0044A68C 0018C880 */ sll $t9, $t8, 2 +/* 0044A690 25086F9C */ addiu $t0, %lo(D_10016F9C) # addiu $t0, $t0, 0x6f9c +/* 0044A694 01194821 */ addu $t1, $t0, $t9 +/* 0044A698 8D2A0000 */ lw $t2, ($t1) +/* 0044A69C 01CA5804 */ sllv $t3, $t2, $t6 +/* 0044A6A0 296F0000 */ slti $t7, $t3, 0 +.L0044A6A4: +/* 0044A6A4 55E00009 */ bnel $t7, $zero, .L0044A6CC +/* 0044A6A8 8CA40004 */ lw $a0, 4($a1) +/* 0044A6AC 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 0044A6B0 00C02025 */ move $a0, $a2 +/* 0044A6B4 AFA50020 */ sw $a1, 0x20($sp) +/* 0044A6B8 0320F809 */ jalr $t9 +/* 0044A6BC 00000000 */ nop +/* 0044A6C0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A6C4 8FA50020 */ lw $a1, 0x20($sp) +/* 0044A6C8 8CA40004 */ lw $a0, 4($a1) +.L0044A6CC: +/* 0044A6CC 50800016 */ beql $a0, $zero, .L0044A728 +/* 0044A6D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A6D4 90AD0020 */ lbu $t5, 0x20($a1) +/* 0044A6D8 2DB800A0 */ sltiu $t8, $t5, 0xa0 +/* 0044A6DC 13000009 */ beqz $t8, .L0044A704 +/* 0044A6E0 00000000 */ nop +/* 0044A6E4 8F898038 */ lw $t1, %got(D_10016F88)($gp) +/* 0044A6E8 000D4143 */ sra $t0, $t5, 5 +/* 0044A6EC 0008C880 */ sll $t9, $t0, 2 +/* 0044A6F0 25296F88 */ addiu $t1, %lo(D_10016F88) # addiu $t1, $t1, 0x6f88 +/* 0044A6F4 01395021 */ addu $t2, $t1, $t9 +/* 0044A6F8 8D4E0000 */ lw $t6, ($t2) +/* 0044A6FC 01AE5804 */ sllv $t3, $t6, $t5 +/* 0044A700 29780000 */ slti $t8, $t3, 0 +.L0044A704: +/* 0044A704 57000008 */ bnel $t8, $zero, .L0044A728 +/* 0044A708 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A70C 8F998674 */ lw $t9, %call16(free_tree)($gp) +/* 0044A710 AFA50020 */ sw $a1, 0x20($sp) +/* 0044A714 0320F809 */ jalr $t9 +/* 0044A718 00000000 */ nop +/* 0044A71C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A720 8FA50020 */ lw $a1, 0x20($sp) +/* 0044A724 8FBF001C */ lw $ra, 0x1c($sp) +.L0044A728: +/* 0044A728 240F0060 */ li $t7, 96 +/* 0044A72C ACA00000 */ sw $zero, ($a1) +/* 0044A730 ACA00004 */ sw $zero, 4($a1) +/* 0044A734 A0AF0020 */ sb $t7, 0x20($a1) +/* 0044A738 03E00008 */ jr $ra +/* 0044A73C 27BD0020 */ addiu $sp, $sp, 0x20 + .type delete_statement, @function + .size delete_statement, .-delete_statement + .end delete_statement + +glabel dup_tree + .ent dup_tree + # 0040F4C8 build_tree + # 00434E4C fold1 + # 00441C78 gen_set_istr + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 00446C08 cse + # 00447E14 load_cse + # 004488F4 translate_cvtl + # 00448EC8 build_ucond0 +/* 0044A740 3C1C0FBD */ .cpload $t9 +/* 0044A744 279C5310 */ +/* 0044A748 0399E021 */ +/* 0044A74C 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 0044A750 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0044A754 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044A758 AFB000AC */ sw $s0, 0xac($sp) +/* 0044A75C 00808025 */ move $s0, $a0 +/* 0044A760 0320F809 */ jalr $t9 +/* 0044A764 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044A768 1040001A */ beqz $v0, .L0044A7D4 +/* 0044A76C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044A770 92040021 */ lbu $a0, 0x21($s0) +/* 0044A774 3C010501 */ lui $at, 0x501 +/* 0044A778 3084001F */ andi $a0, $a0, 0x1f +/* 0044A77C 2C8E0020 */ sltiu $t6, $a0, 0x20 +/* 0044A780 000E7823 */ negu $t7, $t6 +/* 0044A784 01E1C024 */ and $t8, $t7, $at +/* 0044A788 0098C804 */ sllv $t9, $t8, $a0 +/* 0044A78C 07210009 */ bgez $t9, .L0044A7B4 +/* 0044A790 00000000 */ nop +/* 0044A794 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044A798 8E050030 */ lw $a1, 0x30($s0) +/* 0044A79C 8E060034 */ lw $a2, 0x34($s0) +/* 0044A7A0 0320F809 */ jalr $t9 +/* 0044A7A4 00000000 */ nop +/* 0044A7A8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044A7AC 1000004E */ b .L0044A8E8 +/* 0044A7B0 00401825 */ move $v1, $v0 +.L0044A7B4: +/* 0044A7B4 8F998684 */ lw $t9, %call16(ivalue)($gp) +/* 0044A7B8 00002825 */ move $a1, $zero +/* 0044A7BC 8E060030 */ lw $a2, 0x30($s0) +/* 0044A7C0 0320F809 */ jalr $t9 +/* 0044A7C4 00000000 */ nop +/* 0044A7C8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044A7CC 10000046 */ b .L0044A8E8 +/* 0044A7D0 00401825 */ move $v1, $v0 +.L0044A7D4: +/* 0044A7D4 96020014 */ lhu $v0, 0x14($s0) +/* 0044A7D8 3401FFFF */ li $at, 65535 +/* 0044A7DC 24040004 */ li $a0, 4 +/* 0044A7E0 1441003F */ bne $v0, $at, .L0044A8E0 +/* 0044A7E4 244C0001 */ addiu $t4, $v0, 1 +/* 0044A7E8 8F888038 */ lw $t0, %got(RO_1000E3F0)($gp) +/* 0044A7EC 2405012C */ li $a1, 300 +/* 0044A7F0 03A05825 */ move $t3, $sp +/* 0044A7F4 2508E3F0 */ addiu $t0, %lo(RO_1000E3F0) # addiu $t0, $t0, -0x1c10 +/* 0044A7F8 250C0048 */ addiu $t4, $t0, 0x48 +.L0044A7FC: +/* 0044A7FC 890A0000 */ lwl $t2, ($t0) +/* 0044A800 990A0003 */ lwr $t2, 3($t0) +/* 0044A804 2508000C */ addiu $t0, $t0, 0xc +/* 0044A808 256B000C */ addiu $t3, $t3, 0xc +/* 0044A80C A96AFFFC */ swl $t2, -4($t3) +/* 0044A810 B96AFFFF */ swr $t2, -1($t3) +/* 0044A814 8909FFF8 */ lwl $t1, -8($t0) +/* 0044A818 9909FFFB */ lwr $t1, -5($t0) +/* 0044A81C A9690000 */ swl $t1, ($t3) +/* 0044A820 B9690003 */ swr $t1, 3($t3) +/* 0044A824 890AFFFC */ lwl $t2, -4($t0) +/* 0044A828 990AFFFF */ lwr $t2, -1($t0) +/* 0044A82C A96A0004 */ swl $t2, 4($t3) +/* 0044A830 150CFFF2 */ bne $t0, $t4, .L0044A7FC +/* 0044A834 B96A0007 */ swr $t2, 7($t3) +/* 0044A838 890A0000 */ lwl $t2, ($t0) +/* 0044A83C 990A0003 */ lwr $t2, 3($t0) +/* 0044A840 8F8D8038 */ lw $t5, %got(RO_1000E3A0)($gp) +/* 0044A844 03A0C025 */ move $t8, $sp +/* 0044A848 A96A0008 */ swl $t2, 8($t3) +/* 0044A84C B96A000B */ swr $t2, 0xb($t3) +/* 0044A850 89090004 */ lwl $t1, 4($t0) +/* 0044A854 99090007 */ lwr $t1, 7($t0) +/* 0044A858 25ADE3A0 */ addiu $t5, %lo(RO_1000E3A0) # addiu $t5, $t5, -0x1c60 +/* 0044A85C 25B90048 */ addiu $t9, $t5, 0x48 +/* 0044A860 A969000C */ swl $t1, 0xc($t3) +/* 0044A864 B969000F */ swr $t1, 0xf($t3) +.L0044A868: +/* 0044A868 89AF0000 */ lwl $t7, ($t5) +/* 0044A86C 99AF0003 */ lwr $t7, 3($t5) +/* 0044A870 25AD000C */ addiu $t5, $t5, 0xc +/* 0044A874 2718000C */ addiu $t8, $t8, 0xc +/* 0044A878 AB0F004C */ swl $t7, 0x4c($t8) +/* 0044A87C BB0F004F */ swr $t7, 0x4f($t8) +/* 0044A880 89AEFFF8 */ lwl $t6, -8($t5) +/* 0044A884 99AEFFFB */ lwr $t6, -5($t5) +/* 0044A888 AB0E0050 */ swl $t6, 0x50($t8) +/* 0044A88C BB0E0053 */ swr $t6, 0x53($t8) +/* 0044A890 89AFFFFC */ lwl $t7, -4($t5) +/* 0044A894 99AFFFFF */ lwr $t7, -1($t5) +/* 0044A898 AB0F0054 */ swl $t7, 0x54($t8) +/* 0044A89C 15B9FFF2 */ bne $t5, $t9, .L0044A868 +/* 0044A8A0 BB0F0057 */ swr $t7, 0x57($t8) +/* 0044A8A4 89AF0000 */ lwl $t7, ($t5) +/* 0044A8A8 99AF0003 */ lwr $t7, 3($t5) +/* 0044A8AC AB0F0058 */ swl $t7, 0x58($t8) +/* 0044A8B0 BB0F005B */ swr $t7, 0x5b($t8) +/* 0044A8B4 89AE0004 */ lwl $t6, 4($t5) +/* 0044A8B8 99AE0007 */ lwr $t6, 7($t5) +/* 0044A8BC AB0E005C */ swl $t6, 0x5c($t8) +/* 0044A8C0 BB0E005F */ swr $t6, 0x5f($t8) +/* 0044A8C4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044A8C8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044A8CC 8FA60008 */ lw $a2, 8($sp) +/* 0044A8D0 0320F809 */ jalr $t9 +/* 0044A8D4 00000000 */ nop +/* 0044A8D8 10000002 */ b .L0044A8E4 +/* 0044A8DC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044A8E0: +/* 0044A8E0 A60C0014 */ sh $t4, 0x14($s0) +.L0044A8E4: +/* 0044A8E4 02001825 */ move $v1, $s0 +.L0044A8E8: +/* 0044A8E8 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044A8EC 8FB000AC */ lw $s0, 0xac($sp) +/* 0044A8F0 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0044A8F4 03E00008 */ jr $ra +/* 0044A8F8 00601025 */ move $v0, $v1 + .type dup_tree, @function + .size dup_tree, .-dup_tree + .end dup_tree + +glabel next_mark + .ent next_mark + # 004362FC labelopt + # 00449E98 print_tree +/* 0044A8FC 3C1C0FBD */ .cpload $t9 +/* 0044A900 279C5154 */ +/* 0044A904 0399E021 */ +/* 0044A908 8F848B44 */ lw $a0, %got(tree_mark)($gp) +/* 0044A90C 8C8E0000 */ lw $t6, ($a0) +/* 0044A910 25CF0001 */ addiu $t7, $t6, 1 +/* 0044A914 31E200FF */ andi $v0, $t7, 0xff +/* 0044A918 03E00008 */ jr $ra +/* 0044A91C AC820000 */ sw $v0, ($a0) + .type next_mark, @function + .size next_mark, .-next_mark + .end next_mark + +glabel ivalue + .ent ivalue + # 0040E2AC func_0040E2AC + # 0040F4C8 build_tree + # 00424240 trap + # 00434B28 fold + # 00434E4C fold1 + # 00441E4C gen_set_equ + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 004488F4 translate_cvtl + # 00448EC8 build_ucond0 + # 0044A740 dup_tree +/* 0044A920 3C1C0FBD */ .cpload $t9 +/* 0044A924 279C5130 */ +/* 0044A928 0399E021 */ +/* 0044A92C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A930 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A934 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A938 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A93C AFA40020 */ sw $a0, 0x20($sp) +/* 0044A940 AFA50024 */ sw $a1, 0x24($sp) +/* 0044A944 0320F809 */ jalr $t9 +/* 0044A948 AFA60028 */ sw $a2, 0x28($sp) +/* 0044A94C 90430021 */ lbu $v1, 0x21($v0) +/* 0044A950 93A50023 */ lbu $a1, 0x23($sp) +/* 0044A954 3C010501 */ lui $at, 0x501 +/* 0044A958 00037EC0 */ sll $t7, $v1, 0x1b +/* 0044A95C 000FC6C2 */ srl $t8, $t7, 0x1b +/* 0044A960 2CAA0020 */ sltiu $t2, $a1, 0x20 +/* 0044A964 000A5823 */ negu $t3, $t2 +/* 0044A968 00B8C826 */ xor $t9, $a1, $t8 +/* 0044A96C 3328001F */ andi $t0, $t9, 0x1f +/* 0044A970 01616024 */ and $t4, $t3, $at +/* 0044A974 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044A978 8FA60028 */ lw $a2, 0x28($sp) +/* 0044A97C 240E0049 */ li $t6, 73 +/* 0044A980 01034826 */ xor $t1, $t0, $v1 +/* 0044A984 00AC6804 */ sllv $t5, $t4, $a1 +/* 0044A988 00402025 */ move $a0, $v0 +/* 0044A98C A04E0020 */ sb $t6, 0x20($v0) +/* 0044A990 05A10007 */ bgez $t5, .L0044A9B0 +/* 0044A994 A0490021 */ sb $t1, 0x21($v0) +/* 0044A998 AC460034 */ sw $a2, 0x34($v0) +/* 0044A99C 8FAE0024 */ lw $t6, 0x24($sp) +/* 0044A9A0 240F0008 */ li $t7, 8 +/* 0044A9A4 AC4F0028 */ sw $t7, 0x28($v0) +/* 0044A9A8 10000004 */ b .L0044A9BC +/* 0044A9AC AC4E0030 */ sw $t6, 0x30($v0) +.L0044A9B0: +/* 0044A9B0 24180004 */ li $t8, 4 +/* 0044A9B4 AC460030 */ sw $a2, 0x30($v0) +/* 0044A9B8 AC580028 */ sw $t8, 0x28($v0) +.L0044A9BC: +/* 0044A9BC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044A9C0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044A9C4 00801025 */ move $v0, $a0 +/* 0044A9C8 03E00008 */ jr $ra +/* 0044A9CC 00000000 */ nop + .type ivalue, @function + .size ivalue, .-ivalue + .end ivalue + +glabel dwvalue + .ent dwvalue + # 0040F4C8 build_tree + # 00433494 eval_flt_int_cvt + # 00434B28 fold + # 00434E4C fold1 +/* 0044A9D0 3C1C0FBD */ .cpload $t9 +/* 0044A9D4 279C5080 */ +/* 0044A9D8 0399E021 */ +/* 0044A9DC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044A9E0 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044A9E4 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044A9E8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044A9EC AFA40020 */ sw $a0, 0x20($sp) +/* 0044A9F0 AFA60028 */ sw $a2, 0x28($sp) +/* 0044A9F4 0320F809 */ jalr $t9 +/* 0044A9F8 AFA7002C */ sw $a3, 0x2c($sp) +/* 0044A9FC 90430021 */ lbu $v1, 0x21($v0) +/* 0044AA00 93A50023 */ lbu $a1, 0x23($sp) +/* 0044AA04 3C010501 */ lui $at, 0x501 +/* 0044AA08 00037EC0 */ sll $t7, $v1, 0x1b +/* 0044AA0C 000FC6C2 */ srl $t8, $t7, 0x1b +/* 0044AA10 2CAA0020 */ sltiu $t2, $a1, 0x20 +/* 0044AA14 000A5823 */ negu $t3, $t2 +/* 0044AA18 00B8C826 */ xor $t9, $a1, $t8 +/* 0044AA1C 3328001F */ andi $t0, $t9, 0x1f +/* 0044AA20 01616024 */ and $t4, $t3, $at +/* 0044AA24 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044AA28 240E0049 */ li $t6, 73 +/* 0044AA2C 01034826 */ xor $t1, $t0, $v1 +/* 0044AA30 00AC6804 */ sllv $t5, $t4, $a1 +/* 0044AA34 00402025 */ move $a0, $v0 +/* 0044AA38 A04E0020 */ sb $t6, 0x20($v0) +/* 0044AA3C 05A10008 */ bgez $t5, .L0044AA60 +/* 0044AA40 A0490021 */ sb $t1, 0x21($v0) +/* 0044AA44 8FAE0028 */ lw $t6, 0x28($sp) +/* 0044AA48 8FAF002C */ lw $t7, 0x2c($sp) +/* 0044AA4C 24180008 */ li $t8, 8 +/* 0044AA50 AC580028 */ sw $t8, 0x28($v0) +/* 0044AA54 AC4E0030 */ sw $t6, 0x30($v0) +/* 0044AA58 10000005 */ b .L0044AA70 +/* 0044AA5C AC4F0034 */ sw $t7, 0x34($v0) +.L0044AA60: +/* 0044AA60 8FB9002C */ lw $t9, 0x2c($sp) +/* 0044AA64 240A0004 */ li $t2, 4 +/* 0044AA68 AC4A0028 */ sw $t2, 0x28($v0) +/* 0044AA6C AC590030 */ sw $t9, 0x30($v0) +.L0044AA70: +/* 0044AA70 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044AA74 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044AA78 00801025 */ move $v0, $a0 +/* 0044AA7C 03E00008 */ jr $ra +/* 0044AA80 00000000 */ nop + .type dwvalue, @function + .size dwvalue, .-dwvalue + .end dwvalue + +glabel rvalue + .ent rvalue + # 0042BDAC eval + # 004330EC eval_int_flt_cvt + # 00433494 eval_flt_int_cvt +/* 0044AA84 3C1C0FBD */ .cpload $t9 +/* 0044AA88 279C4FCC */ +/* 0044AA8C 0399E021 */ +/* 0044AA90 27BDFF28 */ addiu $sp, $sp, -0xd8 +/* 0044AA94 8F998654 */ lw $t9, %call16(new_tree)($gp) +/* 0044AA98 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044AA9C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044AAA0 AFA400D8 */ sw $a0, 0xd8($sp) +/* 0044AAA4 AFA500DC */ sw $a1, 0xdc($sp) +/* 0044AAA8 AFA600E0 */ sw $a2, 0xe0($sp) +/* 0044AAAC 0320F809 */ jalr $t9 +/* 0044AAB0 AFA700E4 */ sw $a3, 0xe4($sp) +/* 0044AAB4 90430021 */ lbu $v1, 0x21($v0) +/* 0044AAB8 93A400DB */ lbu $a0, 0xdb($sp) +/* 0044AABC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044AAC0 00037EC0 */ sll $t7, $v1, 0x1b +/* 0044AAC4 000FC6C2 */ srl $t8, $t7, 0x1b +/* 0044AAC8 0098C826 */ xor $t9, $a0, $t8 +/* 0044AACC 3329001F */ andi $t1, $t9, 0x1f +/* 0044AAD0 240E0049 */ li $t6, 73 +/* 0044AAD4 240B0004 */ li $t3, 4 +/* 0044AAD8 2401000C */ li $at, 12 +/* 0044AADC 01235026 */ xor $t2, $t1, $v1 +/* 0044AAE0 00404025 */ move $t0, $v0 +/* 0044AAE4 A04E0020 */ sb $t6, 0x20($v0) +/* 0044AAE8 A04A0021 */ sb $t2, 0x21($v0) +/* 0044AAEC 14810003 */ bne $a0, $at, .L0044AAFC +/* 0044AAF0 AC4B0028 */ sw $t3, 0x28($v0) +/* 0044AAF4 240C0008 */ li $t4, 8 +/* 0044AAF8 AC4C0028 */ sw $t4, 0x28($v0) +.L0044AAFC: +/* 0044AAFC 93AD00DC */ lbu $t5, 0xdc($sp) +/* 0044AB00 24040020 */ li $a0, 32 +/* 0044AB04 24030001 */ li $v1, 1 +/* 0044AB08 108D0007 */ beq $a0, $t5, .L0044AB28 +/* 0044AB0C 00002825 */ move $a1, $zero +/* 0044AB10 27A200DC */ addiu $v0, $sp, 0xdc +/* 0044AB14 904E0001 */ lbu $t6, 1($v0) +.L0044AB18: +/* 0044AB18 24630001 */ addiu $v1, $v1, 1 +/* 0044AB1C 24420001 */ addiu $v0, $v0, 1 +/* 0044AB20 548EFFFD */ bnel $a0, $t6, .L0044AB18 +/* 0044AB24 904E0001 */ lbu $t6, 1($v0) +.L0044AB28: +/* 0044AB28 8F9987E8 */ lw $t9, %call16(new)($gp) +/* 0044AB2C 2466FFFF */ addiu $a2, $v1, -1 +/* 0044AB30 AD060030 */ sw $a2, 0x30($t0) +/* 0044AB34 AFA600B8 */ sw $a2, 0xb8($sp) +/* 0044AB38 24040400 */ li $a0, 1024 +/* 0044AB3C 0320F809 */ jalr $t9 +/* 0044AB40 AFA800D0 */ sw $t0, 0xd0($sp) +/* 0044AB44 8FA800D0 */ lw $t0, 0xd0($sp) +/* 0044AB48 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044AB4C 8FA600B8 */ lw $a2, 0xb8($sp) +/* 0044AB50 14400041 */ bnez $v0, .L0044AC58 +/* 0044AB54 AD020034 */ sw $v0, 0x34($t0) +/* 0044AB58 8F8F8038 */ lw $t7, %got(RO_1000E490)($gp) +/* 0044AB5C 24040004 */ li $a0, 4 +/* 0044AB60 24050179 */ li $a1, 377 +/* 0044AB64 25EFE490 */ addiu $t7, %lo(RO_1000E490) # addiu $t7, $t7, -0x1b70 +/* 0044AB68 25EA0048 */ addiu $t2, $t7, 0x48 +/* 0044AB6C 03A04825 */ move $t1, $sp +.L0044AB70: +/* 0044AB70 89F90000 */ lwl $t9, ($t7) +/* 0044AB74 99F90003 */ lwr $t9, 3($t7) +/* 0044AB78 25EF000C */ addiu $t7, $t7, 0xc +/* 0044AB7C 2529000C */ addiu $t1, $t1, 0xc +/* 0044AB80 A939FFFC */ swl $t9, -4($t1) +/* 0044AB84 B939FFFF */ swr $t9, -1($t1) +/* 0044AB88 89F8FFF8 */ lwl $t8, -8($t7) +/* 0044AB8C 99F8FFFB */ lwr $t8, -5($t7) +/* 0044AB90 A9380000 */ swl $t8, ($t1) +/* 0044AB94 B9380003 */ swr $t8, 3($t1) +/* 0044AB98 89F9FFFC */ lwl $t9, -4($t7) +/* 0044AB9C 99F9FFFF */ lwr $t9, -1($t7) +/* 0044ABA0 A9390004 */ swl $t9, 4($t1) +/* 0044ABA4 15EAFFF2 */ bne $t7, $t2, .L0044AB70 +/* 0044ABA8 B9390007 */ swr $t9, 7($t1) +/* 0044ABAC 89F90000 */ lwl $t9, ($t7) +/* 0044ABB0 99F90003 */ lwr $t9, 3($t7) +/* 0044ABB4 8F8B8038 */ lw $t3, %got(RO_1000E440)($gp) +/* 0044ABB8 03A07025 */ move $t6, $sp +/* 0044ABBC A9390008 */ swl $t9, 8($t1) +/* 0044ABC0 B939000B */ swr $t9, 0xb($t1) +/* 0044ABC4 89F80004 */ lwl $t8, 4($t7) +/* 0044ABC8 99F80007 */ lwr $t8, 7($t7) +/* 0044ABCC 256BE440 */ addiu $t3, %lo(RO_1000E440) # addiu $t3, $t3, -0x1bc0 +/* 0044ABD0 256A0048 */ addiu $t2, $t3, 0x48 +/* 0044ABD4 A938000C */ swl $t8, 0xc($t1) +/* 0044ABD8 B938000F */ swr $t8, 0xf($t1) +.L0044ABDC: +/* 0044ABDC 896D0000 */ lwl $t5, ($t3) +/* 0044ABE0 996D0003 */ lwr $t5, 3($t3) +/* 0044ABE4 256B000C */ addiu $t3, $t3, 0xc +/* 0044ABE8 25CE000C */ addiu $t6, $t6, 0xc +/* 0044ABEC A9CD004C */ swl $t5, 0x4c($t6) +/* 0044ABF0 B9CD004F */ swr $t5, 0x4f($t6) +/* 0044ABF4 896CFFF8 */ lwl $t4, -8($t3) +/* 0044ABF8 996CFFFB */ lwr $t4, -5($t3) +/* 0044ABFC A9CC0050 */ swl $t4, 0x50($t6) +/* 0044AC00 B9CC0053 */ swr $t4, 0x53($t6) +/* 0044AC04 896DFFFC */ lwl $t5, -4($t3) +/* 0044AC08 996DFFFF */ lwr $t5, -1($t3) +/* 0044AC0C A9CD0054 */ swl $t5, 0x54($t6) +/* 0044AC10 156AFFF2 */ bne $t3, $t2, .L0044ABDC +/* 0044AC14 B9CD0057 */ swr $t5, 0x57($t6) +/* 0044AC18 896D0000 */ lwl $t5, ($t3) +/* 0044AC1C 996D0003 */ lwr $t5, 3($t3) +/* 0044AC20 A9CD0058 */ swl $t5, 0x58($t6) +/* 0044AC24 B9CD005B */ swr $t5, 0x5b($t6) +/* 0044AC28 896C0004 */ lwl $t4, 4($t3) +/* 0044AC2C 996C0007 */ lwr $t4, 7($t3) +/* 0044AC30 A9CC005C */ swl $t4, 0x5c($t6) +/* 0044AC34 B9CC005F */ swr $t4, 0x5f($t6) +/* 0044AC38 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044AC3C 8FA7000C */ lw $a3, 0xc($sp) +/* 0044AC40 8FA60008 */ lw $a2, 8($sp) +/* 0044AC44 0320F809 */ jalr $t9 +/* 0044AC48 AFA800D0 */ sw $t0, 0xd0($sp) +/* 0044AC4C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044AC50 10000027 */ b .L0044ACF0 +/* 0044AC54 8FA800D0 */ lw $t0, 0xd0($sp) +.L0044AC58: +/* 0044AC58 10C00025 */ beqz $a2, .L0044ACF0 +/* 0044AC5C 24C50001 */ addiu $a1, $a2, 1 +/* 0044AC60 24A6FFFF */ addiu $a2, $a1, -1 +/* 0044AC64 30C60003 */ andi $a2, $a2, 3 +/* 0044AC68 10C0000C */ beqz $a2, .L0044AC9C +/* 0044AC6C 24030001 */ li $v1, 1 +/* 0044AC70 27AF00DB */ addiu $t7, $sp, 0xdb +/* 0044AC74 006F1021 */ addu $v0, $v1, $t7 +/* 0044AC78 24C40001 */ addiu $a0, $a2, 1 +.L0044AC7C: +/* 0044AC7C 8D180034 */ lw $t8, 0x34($t0) +/* 0044AC80 90490000 */ lbu $t1, ($v0) +/* 0044AC84 24420001 */ addiu $v0, $v0, 1 +/* 0044AC88 0303C821 */ addu $t9, $t8, $v1 +/* 0044AC8C 24630001 */ addiu $v1, $v1, 1 +/* 0044AC90 1483FFFA */ bne $a0, $v1, .L0044AC7C +/* 0044AC94 A329FFFF */ sb $t1, -1($t9) +/* 0044AC98 10650015 */ beq $v1, $a1, .L0044ACF0 +.L0044AC9C: +/* 0044AC9C 27AA00DB */ addiu $t2, $sp, 0xdb +/* 0044ACA0 006A1021 */ addu $v0, $v1, $t2 +.L0044ACA4: +/* 0044ACA4 8D0E0034 */ lw $t6, 0x34($t0) +/* 0044ACA8 904B0000 */ lbu $t3, ($v0) +/* 0044ACAC 24420004 */ addiu $v0, $v0, 4 +/* 0044ACB0 01C36021 */ addu $t4, $t6, $v1 +/* 0044ACB4 A18BFFFF */ sb $t3, -1($t4) +/* 0044ACB8 8D0F0034 */ lw $t7, 0x34($t0) +/* 0044ACBC 904DFFFD */ lbu $t5, -3($v0) +/* 0044ACC0 01E3C021 */ addu $t8, $t7, $v1 +/* 0044ACC4 A30D0000 */ sb $t5, ($t8) +/* 0044ACC8 8D190034 */ lw $t9, 0x34($t0) +/* 0044ACCC 9049FFFE */ lbu $t1, -2($v0) +/* 0044ACD0 03235021 */ addu $t2, $t9, $v1 +/* 0044ACD4 A1490001 */ sb $t1, 1($t2) +/* 0044ACD8 8D0B0034 */ lw $t3, 0x34($t0) +/* 0044ACDC 904EFFFF */ lbu $t6, -1($v0) +/* 0044ACE0 01636021 */ addu $t4, $t3, $v1 +/* 0044ACE4 24630004 */ addiu $v1, $v1, 4 +/* 0044ACE8 1465FFEE */ bne $v1, $a1, .L0044ACA4 +/* 0044ACEC A18E0002 */ sb $t6, 2($t4) +.L0044ACF0: +/* 0044ACF0 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044ACF4 27BD00D8 */ addiu $sp, $sp, 0xd8 +/* 0044ACF8 01001025 */ move $v0, $t0 +/* 0044ACFC 03E00008 */ jr $ra +/* 0044AD00 00000000 */ nop + .type rvalue, @function + .size rvalue, .-rvalue + .end rvalue + +glabel is_zero + .ent is_zero + # 0040F4C8 build_tree + # 0042BDAC eval + # 004432FC translate +/* 0044AD04 908E0021 */ lbu $t6, 0x21($a0) +/* 0044AD08 3C010501 */ lui $at, 0x501 +/* 0044AD0C 31CF001F */ andi $t7, $t6, 0x1f +/* 0044AD10 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0044AD14 0018C823 */ negu $t9, $t8 +/* 0044AD18 03214024 */ and $t0, $t9, $at +/* 0044AD1C 01E84804 */ sllv $t1, $t0, $t7 +/* 0044AD20 0523000F */ bgezl $t1, .L0044AD60 +/* 0044AD24 90830020 */ lbu $v1, 0x20($a0) +/* 0044AD28 90830020 */ lbu $v1, 0x20($a0) +/* 0044AD2C 38630049 */ xori $v1, $v1, 0x49 +/* 0044AD30 2C630001 */ sltiu $v1, $v1, 1 +/* 0044AD34 10600010 */ beqz $v1, .L0044AD78 +/* 0044AD38 00000000 */ nop +/* 0044AD3C 8C830030 */ lw $v1, 0x30($a0) +/* 0044AD40 2C630001 */ sltiu $v1, $v1, 1 +/* 0044AD44 1060000C */ beqz $v1, .L0044AD78 +/* 0044AD48 00000000 */ nop +/* 0044AD4C 8C830034 */ lw $v1, 0x34($a0) +/* 0044AD50 2C630001 */ sltiu $v1, $v1, 1 +/* 0044AD54 03E00008 */ jr $ra +/* 0044AD58 306200FF */ andi $v0, $v1, 0xff + +/* 0044AD5C 90830020 */ lbu $v1, 0x20($a0) +.L0044AD60: +/* 0044AD60 38630049 */ xori $v1, $v1, 0x49 +/* 0044AD64 2C630001 */ sltiu $v1, $v1, 1 +/* 0044AD68 10600003 */ beqz $v1, .L0044AD78 +/* 0044AD6C 00000000 */ nop +/* 0044AD70 8C830030 */ lw $v1, 0x30($a0) +/* 0044AD74 2C630001 */ sltiu $v1, $v1, 1 +.L0044AD78: +/* 0044AD78 03E00008 */ jr $ra +/* 0044AD7C 306200FF */ andi $v0, $v1, 0xff + .type is_zero, @function + .size is_zero, .-is_zero + .end is_zero + +glabel is_ivalue + .ent is_ivalue +/* 0044AD80 3C1C0FBD */ .cpload $t9 +/* 0044AD84 279C4CD0 */ +/* 0044AD88 0399E021 */ +/* 0044AD8C 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044AD90 8F9983F4 */ lw $t9, %call16(is_constant)($gp) +/* 0044AD94 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044AD98 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044AD9C AFA40020 */ sw $a0, 0x20($sp) +/* 0044ADA0 AFA50024 */ sw $a1, 0x24($sp) +/* 0044ADA4 0320F809 */ jalr $t9 +/* 0044ADA8 AFA60028 */ sw $a2, 0x28($sp) +/* 0044ADAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044ADB0 1040000B */ beqz $v0, .L0044ADE0 +/* 0044ADB4 00401825 */ move $v1, $v0 +/* 0044ADB8 8FAE0020 */ lw $t6, 0x20($sp) +/* 0044ADBC 8FAF0024 */ lw $t7, 0x24($sp) +/* 0044ADC0 8FB80028 */ lw $t8, 0x28($sp) +/* 0044ADC4 8DC20030 */ lw $v0, 0x30($t6) +/* 0044ADC8 004F182A */ slt $v1, $v0, $t7 +/* 0044ADCC 38630001 */ xori $v1, $v1, 1 +/* 0044ADD0 50600004 */ beql $v1, $zero, .L0044ADE4 +/* 0044ADD4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044ADD8 0302182A */ slt $v1, $t8, $v0 +/* 0044ADDC 38630001 */ xori $v1, $v1, 1 +.L0044ADE0: +/* 0044ADE0 8FBF001C */ lw $ra, 0x1c($sp) +.L0044ADE4: +/* 0044ADE4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044ADE8 00601025 */ move $v0, $v1 +/* 0044ADEC 03E00008 */ jr $ra +/* 0044ADF0 00000000 */ nop + .type is_ivalue, @function + .size is_ivalue, .-is_ivalue + .end is_ivalue + +glabel result_type + .ent result_type + # 00423D28 jump + # 00424934 restore_from_temp + # 004254B8 flt_reg + # 0042567C func_0042567C + # 004258CC get_dest + # 0042BDAC eval + # 00434B28 fold +/* 0044ADF4 3C1C0FBD */ .cpload $t9 +/* 0044ADF8 279C4C5C */ +/* 0044ADFC 0399E021 */ +/* 0044AE00 1000000A */ b .L0044AE2C +/* 0044AE04 90820020 */ lbu $v0, 0x20($a0) +.L0044AE08: +/* 0044AE08 8F838A28 */ lw $v1, %got(addr_dtype)($gp) +/* 0044AE0C 03E00008 */ jr $ra +/* 0044AE10 90620000 */ lbu $v0, ($v1) + +.L0044AE14: +/* 0044AE14 03E00008 */ jr $ra +/* 0044AE18 24020008 */ li $v0, 8 + +.L0044AE1C: +/* 0044AE1C 90830021 */ lbu $v1, 0x21($a0) +.L0044AE20: +/* 0044AE20 3063001F */ andi $v1, $v1, 0x1f +/* 0044AE24 03E00008 */ jr $ra +/* 0044AE28 306200FF */ andi $v0, $v1, 0xff + +.L0044AE2C: +/* 0044AE2C 2C41003B */ sltiu $at, $v0, 0x3b +/* 0044AE30 1420000E */ bnez $at, .L0044AE6C +/* 0044AE34 2C410051 */ sltiu $at, $v0, 0x51 +/* 0044AE38 14200019 */ bnez $at, .L0044AEA0 +/* 0044AE3C 2458FFBA */ addiu $t8, $v0, -0x46 +/* 0044AE40 244EFFA1 */ addiu $t6, $v0, -0x5f +/* 0044AE44 2DC10004 */ sltiu $at, $t6, 4 +/* 0044AE48 5020FFF5 */ beql $at, $zero, .L0044AE20 +/* 0044AE4C 90830021 */ lbu $v1, 0x21($a0) +/* 0044AE50 8F818038 */ lw $at, %got(jtbl_1000E558)($gp) +/* 0044AE54 000E7080 */ sll $t6, $t6, 2 +/* 0044AE58 002E0821 */ addu $at, $at, $t6 +/* 0044AE5C 8C2EE558 */ lw $t6, %lo(jtbl_1000E558)($at) +/* 0044AE60 01DC7021 */ addu $t6, $t6, $gp +/* 0044AE64 01C00008 */ jr $t6 +/* 0044AE68 00000000 */ nop +.L0044AE6C: +/* 0044AE6C 24010023 */ li $at, 35 +/* 0044AE70 1041FFE8 */ beq $v0, $at, .L0044AE14 +/* 0044AE74 244FFFD8 */ addiu $t7, $v0, -0x28 +/* 0044AE78 2DE10013 */ sltiu $at, $t7, 0x13 +/* 0044AE7C 5020FFE8 */ beql $at, $zero, .L0044AE20 +/* 0044AE80 90830021 */ lbu $v1, 0x21($a0) +/* 0044AE84 8F818038 */ lw $at, %got(jtbl_1000E4E0)($gp) +/* 0044AE88 000F7880 */ sll $t7, $t7, 2 +/* 0044AE8C 002F0821 */ addu $at, $at, $t7 +/* 0044AE90 8C2FE4E0 */ lw $t7, %lo(jtbl_1000E4E0)($at) +/* 0044AE94 01FC7821 */ addu $t7, $t7, $gp +/* 0044AE98 01E00008 */ jr $t7 +/* 0044AE9C 00000000 */ nop +.L0044AEA0: +/* 0044AEA0 2F01000B */ sltiu $at, $t8, 0xb +/* 0044AEA4 5020FFDE */ beql $at, $zero, .L0044AE20 +/* 0044AEA8 90830021 */ lbu $v1, 0x21($a0) +/* 0044AEAC 8F818038 */ lw $at, %got(jtbl_1000E52C)($gp) +/* 0044AEB0 0018C080 */ sll $t8, $t8, 2 +/* 0044AEB4 00380821 */ addu $at, $at, $t8 +/* 0044AEB8 8C38E52C */ lw $t8, %lo(jtbl_1000E52C)($at) +/* 0044AEBC 031CC021 */ addu $t8, $t8, $gp +/* 0044AEC0 03000008 */ jr $t8 +/* 0044AEC4 00000000 */ nop +/* 0044AEC8 03E00008 */ jr $ra +/* 0044AECC 00601025 */ move $v0, $v1 + .type result_type, @function + .size result_type, .-result_type + .end result_type + + .type func_0044AED0, @function +func_0044AED0: + # 0044AFC8 const_equal +/* 0044AED0 8C440000 */ lw $a0, ($v0) +/* 0044AED4 8C830030 */ lw $v1, 0x30($a0) +/* 0044AED8 10600038 */ beqz $v1, .L0044AFBC +/* 0044AEDC 24630001 */ addiu $v1, $v1, 1 +/* 0044AEE0 2469FFFF */ addiu $t1, $v1, -1 +/* 0044AEE4 31290003 */ andi $t1, $t1, 3 +/* 0044AEE8 11200013 */ beqz $t1, .L0044AF38 +/* 0044AEEC 24050001 */ li $a1, 1 +/* 0044AEF0 8C4E0004 */ lw $t6, 4($v0) +/* 0044AEF4 8C980034 */ lw $t8, 0x34($a0) +/* 0044AEF8 25280001 */ addiu $t0, $t1, 1 +/* 0044AEFC 8DCF0034 */ lw $t7, 0x34($t6) +/* 0044AF00 03053821 */ addu $a3, $t8, $a1 +/* 0044AF04 01E53021 */ addu $a2, $t7, $a1 +.L0044AF08: +/* 0044AF08 90D9FFFF */ lbu $t9, -1($a2) +/* 0044AF0C 90EAFFFF */ lbu $t2, -1($a3) +/* 0044AF10 24A50001 */ addiu $a1, $a1, 1 +/* 0044AF14 24C60001 */ addiu $a2, $a2, 1 +/* 0044AF18 132A0003 */ beq $t9, $t2, .L0044AF28 +/* 0044AF1C 00000000 */ nop +/* 0044AF20 03E00008 */ jr $ra +/* 0044AF24 00001025 */ move $v0, $zero + +.L0044AF28: +/* 0044AF28 1505FFF7 */ bne $t0, $a1, .L0044AF08 +/* 0044AF2C 24E70001 */ addiu $a3, $a3, 1 +/* 0044AF30 50A30023 */ beql $a1, $v1, .L0044AFC0 +/* 0044AF34 24020001 */ li $v0, 1 +.L0044AF38: +/* 0044AF38 8C4B0004 */ lw $t3, 4($v0) +/* 0044AF3C 8C8D0034 */ lw $t5, 0x34($a0) +/* 0044AF40 8D6C0034 */ lw $t4, 0x34($t3) +/* 0044AF44 01A53821 */ addu $a3, $t5, $a1 +/* 0044AF48 01853021 */ addu $a2, $t4, $a1 +.L0044AF4C: +/* 0044AF4C 90CEFFFF */ lbu $t6, -1($a2) +/* 0044AF50 90EFFFFF */ lbu $t7, -1($a3) +/* 0044AF54 24A50004 */ addiu $a1, $a1, 4 +/* 0044AF58 51CF0004 */ beql $t6, $t7, .L0044AF6C +/* 0044AF5C 90D80000 */ lbu $t8, ($a2) +/* 0044AF60 03E00008 */ jr $ra +/* 0044AF64 00001025 */ move $v0, $zero + +/* 0044AF68 90D80000 */ lbu $t8, ($a2) +.L0044AF6C: +/* 0044AF6C 90F90000 */ lbu $t9, ($a3) +/* 0044AF70 53190004 */ beql $t8, $t9, .L0044AF84 +/* 0044AF74 90CA0001 */ lbu $t2, 1($a2) +/* 0044AF78 03E00008 */ jr $ra +/* 0044AF7C 00001025 */ move $v0, $zero + +/* 0044AF80 90CA0001 */ lbu $t2, 1($a2) +.L0044AF84: +/* 0044AF84 90EB0001 */ lbu $t3, 1($a3) +/* 0044AF88 514B0004 */ beql $t2, $t3, .L0044AF9C +/* 0044AF8C 90CC0002 */ lbu $t4, 2($a2) +/* 0044AF90 03E00008 */ jr $ra +/* 0044AF94 00001025 */ move $v0, $zero + +/* 0044AF98 90CC0002 */ lbu $t4, 2($a2) +.L0044AF9C: +/* 0044AF9C 90ED0002 */ lbu $t5, 2($a3) +/* 0044AFA0 24C60004 */ addiu $a2, $a2, 4 +/* 0044AFA4 118D0003 */ beq $t4, $t5, .L0044AFB4 +/* 0044AFA8 00000000 */ nop +/* 0044AFAC 03E00008 */ jr $ra +/* 0044AFB0 00001025 */ move $v0, $zero + +.L0044AFB4: +/* 0044AFB4 14A3FFE5 */ bne $a1, $v1, .L0044AF4C +/* 0044AFB8 24E70004 */ addiu $a3, $a3, 4 +.L0044AFBC: +/* 0044AFBC 24020001 */ li $v0, 1 +.L0044AFC0: +/* 0044AFC0 03E00008 */ jr $ra +/* 0044AFC4 00000000 */ nop + +glabel const_equal + .ent const_equal + # 00437010 cmp_tree + # 00446368 cse_equ +/* 0044AFC8 3C1C0FBD */ .cpload $t9 +/* 0044AFCC 279C4A88 */ +/* 0044AFD0 0399E021 */ +/* 0044AFD4 908E0020 */ lbu $t6, 0x20($a0) +/* 0044AFD8 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 0044AFDC 24020049 */ li $v0, 73 +/* 0044AFE0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044AFE4 144E0004 */ bne $v0, $t6, .L0044AFF8 +/* 0044AFE8 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044AFEC 90AF0020 */ lbu $t7, 0x20($a1) +/* 0044AFF0 504F0004 */ beql $v0, $t7, .L0044B004 +/* 0044AFF4 90820021 */ lbu $v0, 0x21($a0) +.L0044AFF8: +/* 0044AFF8 10000043 */ b .L0044B108 +/* 0044AFFC 00001025 */ move $v0, $zero +/* 0044B000 90820021 */ lbu $v0, 0x21($a0) +.L0044B004: +/* 0044B004 3C010501 */ lui $at, 0x501 +/* 0044B008 3042001F */ andi $v0, $v0, 0x1f +/* 0044B00C 2C580020 */ sltiu $t8, $v0, 0x20 +/* 0044B010 0018C823 */ negu $t9, $t8 +/* 0044B014 03214024 */ and $t0, $t9, $at +/* 0044B018 00484804 */ sllv $t1, $t0, $v0 +/* 0044B01C 0521000F */ bgez $t1, .L0044B05C +/* 0044B020 2C580020 */ sltiu $t8, $v0, 0x20 +/* 0044B024 90AA0021 */ lbu $t2, 0x21($a1) +/* 0044B028 314B001F */ andi $t3, $t2, 0x1f +/* 0044B02C 544B000C */ bnel $v0, $t3, .L0044B060 +/* 0044B030 0018C823 */ negu $t9, $t8 +/* 0044B034 8CAC0030 */ lw $t4, 0x30($a1) +/* 0044B038 8C8E0030 */ lw $t6, 0x30($a0) +/* 0044B03C 8CAD0034 */ lw $t5, 0x34($a1) +/* 0044B040 8C8F0034 */ lw $t7, 0x34($a0) +/* 0044B044 558E0006 */ bnel $t4, $t6, .L0044B060 +/* 0044B048 0018C823 */ negu $t9, $t8 +/* 0044B04C 55AF0004 */ bnel $t5, $t7, .L0044B060 +/* 0044B050 0018C823 */ negu $t9, $t8 +/* 0044B054 1000002C */ b .L0044B108 +/* 0044B058 24020001 */ li $v0, 1 +.L0044B05C: +/* 0044B05C 0018C823 */ negu $t9, $t8 +.L0044B060: +/* 0044B060 3C018A80 */ lui $at, 0x8a80 +/* 0044B064 03214024 */ and $t0, $t9, $at +/* 0044B068 00484804 */ sllv $t1, $t0, $v0 +/* 0044B06C 0521000B */ bgez $t1, .L0044B09C +/* 0044B070 2C4E0020 */ sltiu $t6, $v0, 0x20 +/* 0044B074 90AA0021 */ lbu $t2, 0x21($a1) +/* 0044B078 314B001F */ andi $t3, $t2, 0x1f +/* 0044B07C 544B0008 */ bnel $v0, $t3, .L0044B0A0 +/* 0044B080 3C01000C */ lui $at, 0xc +/* 0044B084 8CAC0030 */ lw $t4, 0x30($a1) +/* 0044B088 8C8D0030 */ lw $t5, 0x30($a0) +/* 0044B08C 558D0004 */ bnel $t4, $t5, .L0044B0A0 +/* 0044B090 3C01000C */ lui $at, 0xc +/* 0044B094 1000001C */ b .L0044B108 +/* 0044B098 24020001 */ li $v0, 1 +.L0044B09C: +/* 0044B09C 3C01000C */ lui $at, 0xc +.L0044B0A0: +/* 0044B0A0 34218000 */ ori $at, $at, 0x8000 +/* 0044B0A4 000E7823 */ negu $t7, $t6 +/* 0044B0A8 01E1C024 */ and $t8, $t7, $at +/* 0044B0AC 0058C804 */ sllv $t9, $t8, $v0 +/* 0044B0B0 07230015 */ bgezl $t9, .L0044B108 +/* 0044B0B4 00001025 */ move $v0, $zero +/* 0044B0B8 90A80021 */ lbu $t0, 0x21($a1) +/* 0044B0BC 3109001F */ andi $t1, $t0, 0x1f +/* 0044B0C0 54490011 */ bnel $v0, $t1, .L0044B108 +/* 0044B0C4 00001025 */ move $v0, $zero +/* 0044B0C8 8CAA0030 */ lw $t2, 0x30($a1) +/* 0044B0CC 8C8B0030 */ lw $t3, 0x30($a0) +/* 0044B0D0 AFA40028 */ sw $a0, 0x28($sp) +/* 0044B0D4 AFA5002C */ sw $a1, 0x2c($sp) +/* 0044B0D8 554B000B */ bnel $t2, $t3, .L0044B108 +/* 0044B0DC 00001025 */ move $v0, $zero +/* 0044B0E0 8F998028 */ lw $t9, %got(func_0044AED0)($gp) +/* 0044B0E4 27A20028 */ addiu $v0, $sp, 0x28 +/* 0044B0E8 2739AED0 */ addiu $t9, %lo(func_0044AED0) # addiu $t9, $t9, -0x5130 +/* 0044B0EC 0320F809 */ jalr $t9 +/* 0044B0F0 00000000 */ nop +/* 0044B0F4 10400003 */ beqz $v0, .L0044B104 +/* 0044B0F8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044B0FC 10000002 */ b .L0044B108 +/* 0044B100 24020001 */ li $v0, 1 +.L0044B104: +/* 0044B104 00001025 */ move $v0, $zero +.L0044B108: +/* 0044B108 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044B10C 27BD0028 */ addiu $sp, $sp, 0x28 +/* 0044B110 03E00008 */ jr $ra +/* 0044B114 00000000 */ nop + .type const_equal, @function + .size const_equal, .-const_equal + .end const_equal +)""); diff --git a/src/ugen/u_tree.c b/src/ugen/u_tree.c new file mode 100644 index 0000000..7ac9cd2 --- /dev/null +++ b/src/ugen/u_tree.c @@ -0,0 +1,127 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.data +D_10016FB0: + # 0044B120 u_tree + .byte 0x10,0x00,0x40,0x00,0x42,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x88,0x00,0x00 + +D_10016FC4: + # 0044B120 u_tree + .byte 0x10,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x20,0x00,0x00,0x00 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel u_tree + .ent u_tree + # 0044B120 u_tree + # 0044BF18 main +/* 0044B120 3C1C0FBD */ .cpload $t9 +/* 0044B124 279C4930 */ +/* 0044B128 0399E021 */ +/* 0044B12C 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 0044B130 AFB30024 */ sw $s3, 0x24($sp) +/* 0044B134 AFB20020 */ sw $s2, 0x20($sp) +/* 0044B138 AFB1001C */ sw $s1, 0x1c($sp) +/* 0044B13C AFB00018 */ sw $s0, 0x18($sp) +/* 0044B140 00808025 */ move $s0, $a0 +/* 0044B144 AFBF002C */ sw $ra, 0x2c($sp) +/* 0044B148 AFBC0028 */ sw $gp, 0x28($sp) +/* 0044B14C AFA00038 */ sw $zero, 0x38($sp) +/* 0044B150 AFA0003C */ sw $zero, 0x3c($sp) +/* 0044B154 AFA00040 */ sw $zero, 0x40($sp) +/* 0044B158 AFA00044 */ sw $zero, 0x44($sp) +/* 0044B15C AFA00048 */ sw $zero, 0x48($sp) +/* 0044B160 AFA0004C */ sw $zero, 0x4c($sp) +/* 0044B164 AFA00050 */ sw $zero, 0x50($sp) +/* 0044B168 AFA00054 */ sw $zero, 0x54($sp) +/* 0044B16C 24110060 */ li $s1, 96 +/* 0044B170 2412001F */ li $s2, 31 +/* 0044B174 27B30038 */ addiu $s3, $sp, 0x38 +/* 0044B178 92020020 */ lbu $v0, 0x20($s0) +.L0044B17C: +/* 0044B17C 52220039 */ beql $s1, $v0, .L0044B264 +/* 0044B180 8E100008 */ lw $s0, 8($s0) +/* 0044B184 8E040000 */ lw $a0, ($s0) +/* 0044B188 2C4E0060 */ sltiu $t6, $v0, 0x60 +/* 0044B18C 50800012 */ beql $a0, $zero, .L0044B1D8 +/* 0044B190 8E040004 */ lw $a0, 4($s0) +/* 0044B194 11C00009 */ beqz $t6, .L0044B1BC +/* 0044B198 00000000 */ nop +/* 0044B19C 8F998038 */ lw $t9, %got(D_10016FC4)($gp) +/* 0044B1A0 00027943 */ sra $t7, $v0, 5 +/* 0044B1A4 000FC080 */ sll $t8, $t7, 2 +/* 0044B1A8 27396FC4 */ addiu $t9, %lo(D_10016FC4) # addiu $t9, $t9, 0x6fc4 +/* 0044B1AC 03384021 */ addu $t0, $t9, $t8 +/* 0044B1B0 8D090000 */ lw $t1, ($t0) +/* 0044B1B4 00495004 */ sllv $t2, $t1, $v0 +/* 0044B1B8 294E0000 */ slti $t6, $t2, 0 +.L0044B1BC: +/* 0044B1BC 55C00006 */ bnel $t6, $zero, .L0044B1D8 +/* 0044B1C0 8E040004 */ lw $a0, 4($s0) +/* 0044B1C4 8F99869C */ lw $t9, %call16(u_tree)($gp) +/* 0044B1C8 0320F809 */ jalr $t9 +/* 0044B1CC 00000000 */ nop +/* 0044B1D0 8FBC0028 */ lw $gp, 0x28($sp) +/* 0044B1D4 8E040004 */ lw $a0, 4($s0) +.L0044B1D8: +/* 0044B1D8 10800013 */ beqz $a0, .L0044B228 +/* 0044B1DC 00000000 */ nop +/* 0044B1E0 920C0020 */ lbu $t4, 0x20($s0) +/* 0044B1E4 2D8D00A0 */ sltiu $t5, $t4, 0xa0 +/* 0044B1E8 11A00009 */ beqz $t5, .L0044B210 +/* 0044B1EC 00000000 */ nop +/* 0044B1F0 8F988038 */ lw $t8, %got(D_10016FB0)($gp) +/* 0044B1F4 000C7943 */ sra $t7, $t4, 5 +/* 0044B1F8 000FC880 */ sll $t9, $t7, 2 +/* 0044B1FC 27186FB0 */ addiu $t8, %lo(D_10016FB0) # addiu $t8, $t8, 0x6fb0 +/* 0044B200 03194021 */ addu $t0, $t8, $t9 +/* 0044B204 8D090000 */ lw $t1, ($t0) +/* 0044B208 01895004 */ sllv $t2, $t1, $t4 +/* 0044B20C 294D0000 */ slti $t5, $t2, 0 +.L0044B210: +/* 0044B210 15A00005 */ bnez $t5, .L0044B228 +/* 0044B214 00000000 */ nop +/* 0044B218 8F99869C */ lw $t9, %call16(u_tree)($gp) +/* 0044B21C 0320F809 */ jalr $t9 +/* 0044B220 00000000 */ nop +/* 0044B224 8FBC0028 */ lw $gp, 0x28($sp) +.L0044B228: +/* 0044B228 8F9986C0 */ lw $t9, %call16(uwrite)($gp) +/* 0044B22C 26040020 */ addiu $a0, $s0, 0x20 +/* 0044B230 0320F809 */ jalr $t9 +/* 0044B234 00000000 */ nop +/* 0044B238 920E0020 */ lbu $t6, 0x20($s0) +/* 0044B23C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0044B240 564E0008 */ bnel $s2, $t6, .L0044B264 +/* 0044B244 8E100008 */ lw $s0, 8($s0) +/* 0044B248 8F9986C0 */ lw $t9, %call16(uwrite)($gp) +/* 0044B24C 240F006A */ li $t7, 106 +/* 0044B250 A3AF0038 */ sb $t7, 0x38($sp) +/* 0044B254 0320F809 */ jalr $t9 +/* 0044B258 02602025 */ move $a0, $s3 +/* 0044B25C 8FBC0028 */ lw $gp, 0x28($sp) +/* 0044B260 8E100008 */ lw $s0, 8($s0) +.L0044B264: +/* 0044B264 5600FFC5 */ bnel $s0, $zero, .L0044B17C +/* 0044B268 92020020 */ lbu $v0, 0x20($s0) +/* 0044B26C 8FBF002C */ lw $ra, 0x2c($sp) +/* 0044B270 8FB00018 */ lw $s0, 0x18($sp) +/* 0044B274 8FB1001C */ lw $s1, 0x1c($sp) +/* 0044B278 8FB20020 */ lw $s2, 0x20($sp) +/* 0044B27C 8FB30024 */ lw $s3, 0x24($sp) +/* 0044B280 03E00008 */ jr $ra +/* 0044B284 27BD0058 */ addiu $sp, $sp, 0x58 + .type u_tree, @function + .size u_tree, .-u_tree + .end u_tree +)""); diff --git a/src/ugen/ugen.c b/src/ugen/ugen.c new file mode 100644 index 0000000..ae1b2c1 --- /dev/null +++ b/src/ugen/ugen.c @@ -0,0 +1,4097 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000E570: + # 0044B384 func_0044B384 + .ascii "illegal register type " + +RO_1000E5C0: + # 0044B384 func_0044B384 + .ascii "ugen.p " + +RO_1000E610: + # 0044B384 func_0044B384 + .ascii "insufficient code generator registers " + +RO_1000E660: + # 0044B384 func_0044B384 + .ascii "ugen.p " + + .balign 4 +jtbl_1000E6B0: + # 0044B384 func_0044B384 + .gpword .L0044B3A4 + .gpword .L0044B4E4 + .gpword .L0044B4E4 + .gpword .L0044B4E4 + .gpword .L0044B4D8 + .gpword .L0044B4E4 + .gpword .L0044B3B0 + +RO_1000E6CC: + # 0044B640 func_0044B640 + .ascii "illegal register type " + +RO_1000E71C: + # 0044B640 func_0044B640 + .ascii "ugen.p " + +RO_1000E76C: + # 0044B640 func_0044B640 + .ascii "insufficient code generator fp registers " + +RO_1000E7BC: + # 0044B640 func_0044B640 + .ascii "ugen.p " + +RO_1000E80C: + # 0044B640 func_0044B640 + .ascii "insufficient code generator fp registers " + +RO_1000E85C: + # 0044B640 func_0044B640 + .ascii "ugen.p " + + .balign 4 +jtbl_1000E8AC: + # 0044B640 func_0044B640 + .gpword .L0044B660 + .gpword .L0044B8DC + .gpword .L0044B8DC + .gpword .L0044B8DC + .gpword .L0044B794 + .gpword .L0044B8DC + .gpword .L0044B66C + +RO_1000E8C8: + # 0044BA38 func_0044BA38 + .ascii "Tree dump after " + +RO_1000E8D8: + # 0044BA38 func_0044BA38 + .ascii "Tree dump after " + +RO_1000E8E8: + # 0044BC78 func_0044BC78 + .ascii "No suitable file can be created " + +RO_1000E938: + # 0044BC78 func_0044BC78 + .ascii "ugen.p " + +RO_1000E988: + # 0044BC78 func_0044BC78 + .ascii "/tmp/ugentmpXXXXXX " + +RO_1000E9A8: + # 0044BF18 main1 + .ascii "Translate " + +RO_1000E9B4: + # 0044BF18 main1 + .ascii "Build " + +RO_1000E9C0: + # 0044BF18 main1 + .ascii "ugen:" + +RO_1000E9C5: + # 0044BF18 main1 + .ascii "Cannot read symbol table file" + +RO_1000E9E2: + # 0044BF18 main1 + .ascii "fp32regs is only legal for mips3 and future architectures " + +RO_1000EA32: + # 0044BF18 main1 + .ascii "ugen.p " + +RO_1000EA82: + # 0044BF18 main1 + .ascii "too many fp registers " + +RO_1000EAD2: + # 0044BF18 main1 + .ascii "ugen.p " + +RO_1000EB22: + # 0044BF18 main1 + .ascii "too many registers " + +RO_1000EB72: + # 0044BF18 main1 + .ascii "ugen.p " + +RO_1000EBC2: + # 0044BF18 main1 + .ascii "Must specify .F file" + +RO_1000EBD6: + # 0044BF18 main1 + .ascii " not understood" + +RO_1000EBE5: + # 0044BF18 main1 + .ascii " not understood" + +RO_1000EBF4: + # 0044BF18 main1 + .ascii "numeric argument required for -checkstack" + +RO_1000EC1D: + # 0044BF18 main1 + .ascii "-checkstack " + +RO_1000EC3D: + # 0044BF18 main1 + .ascii "-cpalias " + +RO_1000EC5D: + # 0044BF18 main1 + .ascii "-align64 " + +RO_1000EC7D: + # 0044BF18 main1 + .ascii "-align32 " + +RO_1000EC9D: + # 0044BF18 main1 + .ascii "-align16 " + +RO_1000ECBD: + # 0044BF18 main1 + .ascii "-align8 " + +RO_1000ECDD: + # 0044BF18 main1 + .ascii "-pic2 implies -G 0. -G option ignored" + +RO_1000ED02: + # 0044BF18 main1 + .ascii "-pic2 " + +RO_1000ED22: + # 0044BF18 main1 + .ascii "-pic " + +RO_1000ED42: + # 0044BF18 main1 + .ascii "-pic1 " + +RO_1000ED62: + # 0044BF18 main1 + .ascii "-pic0 " + +RO_1000ED82: + # 0044BF18 main1 + .ascii "-mscoff " + +RO_1000EDA2: + # 0044BF18 main1 + .ascii "-mips3 " + +RO_1000EDC2: + # 0044BF18 main1 + .ascii "-mips2 " + +RO_1000EDE2: + # 0044BF18 main1 + .ascii "-mips1 " + +RO_1000EE02: + # 0044BF18 main1 + .ascii "-nounsignedconv " + +RO_1000EE22: + # 0044BF18 main1 + .ascii "-notailopt " + +RO_1000EE42: + # 0044BF18 main1 + .ascii "-nocpalias " + +RO_1000EE62: + # 0044BF18 main1 + .ascii "-nooffsetopt " + +RO_1000EE82: + # 0044BF18 main1 + .ascii "-fp32regs " + +RO_1000EEA2: + # 0044BF18 main1 + .ascii "-pic2 implies -G 0. -G option ignored" + +RO_1000EEC7: + # 0044BF18 main1 + .ascii "numeric argument required for -G" + +RO_1000EEE7: + # 0044BF18 main1 + .ascii "numeric argument required for -O" + +RO_1000EF07: + # 0044BF18 main1 + .ascii "numeric argument required for -g" + +RO_1000EF27: + # 0044BF18 main1 + .ascii "-domtag " + +RO_1000EF47: + # 0044BF18 main1 + .ascii "-dwopcode " + +RO_1000EF67: + # 0044BF18 main1 + .ascii "filename required after -e" + +RO_1000EF81: + # 0044BF18 main1 + .ascii "filename required after -t" + +RO_1000EF9B: + # 0044BF18 main1 + .ascii "filename required after -temp" + +RO_1000EFB8: + # 0044BF18 main1 + .ascii "filename required after -l" + +RO_1000EFD2: + # 0044BF18 main1 + .ascii "filename required after -u" + +RO_1000EFEC: + # 0044BF18 main1 + .ascii "filename required after -o" + +RO_1000F006: + # 0044BF18 main1 + .ascii "Usage is: ugen [-o binfile] [-l listfile] [-e dumpfile] [-t symbolfilename] [-d] [-trapuv] [-G smallsize] [-p] file.F" + +RO_1000F07B: + # 0044BF18 main1 + .asciz "_XPG " + + .balign 4 +jtbl_1000F47C: + # 0044BF18 main1 + .gpword .L0044D928 + .gpword .L0044D938 + .gpword .L0044D944 + + .balign 4 +jtbl_1000F488: + # 0044BF18 main1 + .gpword .L0044C858 + .gpword .L0044CC40 + .gpword .L0044C954 + .gpword .L0044DD40 + .gpword .L0044DD40 + .gpword .L0044DD40 + .gpword .L0044DD40 + .gpword .L0044CC2C + .gpword .L0044DD40 + .gpword .L0044DD40 + .gpword .L0044C8F0 + + .balign 4 +jtbl_1000F4B4: + # 0044BF18 main1 + .gpword .L0044D5C0 + .gpword .L0044DD40 + .gpword .L0044D964 + .gpword .L0044C6B0 + .gpword .L0044C5E4 + .gpword .L0044CAE4 + .gpword .L0044C88C + .gpword .L0044DD40 + .gpword .L0044DD40 + .gpword .L0044C26C + .gpword .L0044DD40 + .gpword .L0044C3EC + .gpword .L0044CF68 + .gpword .L0044CC70 + .gpword .L0044C2A0 + .gpword .L0044D26C + .gpword .L0044DD40 + .gpword .L0044CA64 + .gpword .L0044DD40 + .gpword .L0044C47C + .gpword .L0044C324 + .gpword .L0044CC5C + .gpword .L0044D8F8 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text + .type func_0044B290, @function +func_0044B290: + # 0044BF18 main1 +/* 0044B290 908E0000 */ lbu $t6, ($a0) +/* 0044B294 24060020 */ li $a2, 32 +/* 0044B298 00001825 */ move $v1, $zero +/* 0044B29C 10CE0011 */ beq $a2, $t6, .L0044B2E4 +/* 0044B2A0 24820001 */ addiu $v0, $a0, 1 +/* 0044B2A4 9045FFFF */ lbu $a1, -1($v0) +/* 0044B2A8 2404000A */ li $a0, 10 +/* 0044B2AC 24AFFFE0 */ addiu $t7, $a1, -0x20 +.L0044B2B0: +/* 0044B2B0 2DF80020 */ sltiu $t8, $t7, 0x20 +/* 0044B2B4 0018C823 */ negu $t9, $t8 +/* 0044B2B8 3328FFC0 */ andi $t0, $t9, 0xffc0 +/* 0044B2BC 01E84804 */ sllv $t1, $t0, $t7 +/* 0044B2C0 012002B0 */ tge $t1, $zero, 0xa +/* 0044B2C4 00640019 */ multu $v1, $a0 +/* 0044B2C8 24420001 */ addiu $v0, $v0, 1 +/* 0044B2CC 00005012 */ mflo $t2 +/* 0044B2D0 01451821 */ addu $v1, $t2, $a1 +/* 0044B2D4 9045FFFF */ lbu $a1, -1($v0) +/* 0044B2D8 2463FFD0 */ addiu $v1, $v1, -0x30 +/* 0044B2DC 54C5FFF4 */ bnel $a2, $a1, .L0044B2B0 +/* 0044B2E0 24AFFFE0 */ addiu $t7, $a1, -0x20 +.L0044B2E4: +/* 0044B2E4 03E00008 */ jr $ra +/* 0044B2E8 00601025 */ move $v0, $v1 + + .type func_0044B2EC, @function +func_0044B2EC: + # 0044BF18 main1 +/* 0044B2EC 3C1C0FBD */ .cpload $t9 +/* 0044B2F0 279C4764 */ +/* 0044B2F4 0399E021 */ +/* 0044B2F8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0044B2FC AFB00018 */ sw $s0, 0x18($sp) +/* 0044B300 AFBF002C */ sw $ra, 0x2c($sp) +/* 0044B304 AFBC0028 */ sw $gp, 0x28($sp) +/* 0044B308 AFB30024 */ sw $s3, 0x24($sp) +/* 0044B30C AFB20020 */ sw $s2, 0x20($sp) +/* 0044B310 AFB1001C */ sw $s1, 0x1c($sp) +/* 0044B314 10800014 */ beqz $a0, .L0044B368 +/* 0044B318 00808025 */ move $s0, $a0 +/* 0044B31C 24130011 */ li $s3, 17 +/* 0044B320 24120001 */ li $s2, 1 +/* 0044B324 24110042 */ li $s1, 66 +/* 0044B328 92020020 */ lbu $v0, 0x20($s0) +.L0044B32C: +/* 0044B32C 16220004 */ bne $s1, $v0, .L0044B340 +/* 0044B330 00000000 */ nop +/* 0044B334 960E0022 */ lhu $t6, 0x22($s0) +/* 0044B338 164E0003 */ bne $s2, $t6, .L0044B348 +/* 0044B33C 00000000 */ nop +.L0044B340: +/* 0044B340 56620007 */ bnel $s3, $v0, .L0044B360 +/* 0044B344 8E100008 */ lw $s0, 8($s0) +.L0044B348: +/* 0044B348 8F998650 */ lw $t9, %call16(gen_label_id)($gp) +/* 0044B34C 0320F809 */ jalr $t9 +/* 0044B350 00000000 */ nop +/* 0044B354 8FBC0028 */ lw $gp, 0x28($sp) +/* 0044B358 AE020024 */ sw $v0, 0x24($s0) +/* 0044B35C 8E100008 */ lw $s0, 8($s0) +.L0044B360: +/* 0044B360 5600FFF2 */ bnel $s0, $zero, .L0044B32C +/* 0044B364 92020020 */ lbu $v0, 0x20($s0) +.L0044B368: +/* 0044B368 8FBF002C */ lw $ra, 0x2c($sp) +/* 0044B36C 8FB00018 */ lw $s0, 0x18($sp) +/* 0044B370 8FB1001C */ lw $s1, 0x1c($sp) +/* 0044B374 8FB20020 */ lw $s2, 0x20($sp) +/* 0044B378 8FB30024 */ lw $s3, 0x24($sp) +/* 0044B37C 03E00008 */ jr $ra +/* 0044B380 27BD0030 */ addiu $sp, $sp, 0x30 + + .type func_0044B384, @function +func_0044B384: + # 0044BF18 main1 +/* 0044B384 3C1C0FBD */ .cpload $t9 +/* 0044B388 279C46CC */ +/* 0044B38C 0399E021 */ +/* 0044B390 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0044B394 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044B398 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044B39C 10000090 */ b .L0044B5E0 +/* 0044B3A0 AFA400B8 */ sw $a0, 0xb8($sp) +.L0044B3A4: +/* 0044B3A4 8F8189FC */ lw $at, %got(n_parm_regs)($gp) +/* 0044B3A8 100000A1 */ b .L0044B630 +/* 0044B3AC AC250000 */ sw $a1, ($at) +.L0044B3B0: +/* 0044B3B0 28A10004 */ slti $at, $a1, 4 +/* 0044B3B4 10200042 */ beqz $at, .L0044B4C0 +/* 0044B3B8 24040004 */ li $a0, 4 +/* 0044B3BC 8F8E8038 */ lw $t6, %got(RO_1000E660)($gp) +/* 0044B3C0 2405008A */ li $a1, 138 +/* 0044B3C4 03A0C825 */ move $t9, $sp +/* 0044B3C8 25CEE660 */ addiu $t6, %lo(RO_1000E660) # addiu $t6, $t6, -0x19a0 +/* 0044B3CC 25C80048 */ addiu $t0, $t6, 0x48 +.L0044B3D0: +/* 0044B3D0 89D80000 */ lwl $t8, ($t6) +/* 0044B3D4 99D80003 */ lwr $t8, 3($t6) +/* 0044B3D8 25CE000C */ addiu $t6, $t6, 0xc +/* 0044B3DC 2739000C */ addiu $t9, $t9, 0xc +/* 0044B3E0 AB38FFFC */ swl $t8, -4($t9) +/* 0044B3E4 BB38FFFF */ swr $t8, -1($t9) +/* 0044B3E8 89CFFFF8 */ lwl $t7, -8($t6) +/* 0044B3EC 99CFFFFB */ lwr $t7, -5($t6) +/* 0044B3F0 AB2F0000 */ swl $t7, ($t9) +/* 0044B3F4 BB2F0003 */ swr $t7, 3($t9) +/* 0044B3F8 89D8FFFC */ lwl $t8, -4($t6) +/* 0044B3FC 99D8FFFF */ lwr $t8, -1($t6) +/* 0044B400 AB380004 */ swl $t8, 4($t9) +/* 0044B404 15C8FFF2 */ bne $t6, $t0, .L0044B3D0 +/* 0044B408 BB380007 */ swr $t8, 7($t9) +/* 0044B40C 89D80000 */ lwl $t8, ($t6) +/* 0044B410 99D80003 */ lwr $t8, 3($t6) +/* 0044B414 8F898038 */ lw $t1, %got(RO_1000E610)($gp) +/* 0044B418 03A06025 */ move $t4, $sp +/* 0044B41C AB380008 */ swl $t8, 8($t9) +/* 0044B420 BB38000B */ swr $t8, 0xb($t9) +/* 0044B424 89CF0004 */ lwl $t7, 4($t6) +/* 0044B428 99CF0007 */ lwr $t7, 7($t6) +/* 0044B42C 2529E610 */ addiu $t1, %lo(RO_1000E610) # addiu $t1, $t1, -0x19f0 +/* 0044B430 252D0048 */ addiu $t5, $t1, 0x48 +/* 0044B434 AB2F000C */ swl $t7, 0xc($t9) +/* 0044B438 BB2F000F */ swr $t7, 0xf($t9) +.L0044B43C: +/* 0044B43C 892B0000 */ lwl $t3, ($t1) +/* 0044B440 992B0003 */ lwr $t3, 3($t1) +/* 0044B444 2529000C */ addiu $t1, $t1, 0xc +/* 0044B448 258C000C */ addiu $t4, $t4, 0xc +/* 0044B44C A98B004C */ swl $t3, 0x4c($t4) +/* 0044B450 B98B004F */ swr $t3, 0x4f($t4) +/* 0044B454 892AFFF8 */ lwl $t2, -8($t1) +/* 0044B458 992AFFFB */ lwr $t2, -5($t1) +/* 0044B45C A98A0050 */ swl $t2, 0x50($t4) +/* 0044B460 B98A0053 */ swr $t2, 0x53($t4) +/* 0044B464 892BFFFC */ lwl $t3, -4($t1) +/* 0044B468 992BFFFF */ lwr $t3, -1($t1) +/* 0044B46C A98B0054 */ swl $t3, 0x54($t4) +/* 0044B470 152DFFF2 */ bne $t1, $t5, .L0044B43C +/* 0044B474 B98B0057 */ swr $t3, 0x57($t4) +/* 0044B478 892B0000 */ lwl $t3, ($t1) +/* 0044B47C 992B0003 */ lwr $t3, 3($t1) +/* 0044B480 A98B0058 */ swl $t3, 0x58($t4) +/* 0044B484 B98B005B */ swr $t3, 0x5b($t4) +/* 0044B488 892A0004 */ lwl $t2, 4($t1) +/* 0044B48C 992A0007 */ lwr $t2, 7($t1) +/* 0044B490 A98A005C */ swl $t2, 0x5c($t4) +/* 0044B494 B98A005F */ swr $t2, 0x5f($t4) +/* 0044B498 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044B49C 8FA7000C */ lw $a3, 0xc($sp) +/* 0044B4A0 8FA60008 */ lw $a2, 8($sp) +/* 0044B4A4 0320F809 */ jalr $t9 +/* 0044B4A8 00000000 */ nop +/* 0044B4AC 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044B4B0 24080004 */ li $t0, 4 +/* 0044B4B4 8F818A14 */ lw $at, %got(n_cg_regs)($gp) +/* 0044B4B8 1000005D */ b .L0044B630 +/* 0044B4BC AC280000 */ sw $t0, ($at) +.L0044B4C0: +/* 0044B4C0 8F818A14 */ lw $at, %got(n_cg_regs)($gp) +/* 0044B4C4 1000005A */ b .L0044B630 +/* 0044B4C8 AC250000 */ sw $a1, ($at) +.L0044B4CC: +/* 0044B4CC 8F818A0C */ lw $at, %got(n_unsaved_regs)($gp) +/* 0044B4D0 10000057 */ b .L0044B630 +/* 0044B4D4 AC250000 */ sw $a1, ($at) +.L0044B4D8: +/* 0044B4D8 8F818A04 */ lw $at, %got(n_saved_regs)($gp) +/* 0044B4DC 10000054 */ b .L0044B630 +/* 0044B4E0 AC250000 */ sw $a1, ($at) +.L0044B4E4: +/* 0044B4E4 8F8E8038 */ lw $t6, %got(RO_1000E5C0)($gp) +/* 0044B4E8 24040004 */ li $a0, 4 +/* 0044B4EC 2405009A */ li $a1, 154 +/* 0044B4F0 25CEE5C0 */ addiu $t6, %lo(RO_1000E5C0) # addiu $t6, $t6, -0x1a40 +/* 0044B4F4 25CD0048 */ addiu $t5, $t6, 0x48 +/* 0044B4F8 03A0C025 */ move $t8, $sp +.L0044B4FC: +/* 0044B4FC 89CF0000 */ lwl $t7, ($t6) +/* 0044B500 99CF0003 */ lwr $t7, 3($t6) +/* 0044B504 25CE000C */ addiu $t6, $t6, 0xc +/* 0044B508 2718000C */ addiu $t8, $t8, 0xc +/* 0044B50C AB0FFFFC */ swl $t7, -4($t8) +/* 0044B510 BB0FFFFF */ swr $t7, -1($t8) +/* 0044B514 89D9FFF8 */ lwl $t9, -8($t6) +/* 0044B518 99D9FFFB */ lwr $t9, -5($t6) +/* 0044B51C AB190000 */ swl $t9, ($t8) +/* 0044B520 BB190003 */ swr $t9, 3($t8) +/* 0044B524 89CFFFFC */ lwl $t7, -4($t6) +/* 0044B528 99CFFFFF */ lwr $t7, -1($t6) +/* 0044B52C AB0F0004 */ swl $t7, 4($t8) +/* 0044B530 15CDFFF2 */ bne $t6, $t5, .L0044B4FC +/* 0044B534 BB0F0007 */ swr $t7, 7($t8) +/* 0044B538 89CF0000 */ lwl $t7, ($t6) +/* 0044B53C 99CF0003 */ lwr $t7, 3($t6) +/* 0044B540 8F898038 */ lw $t1, %got(RO_1000E570)($gp) +/* 0044B544 03A05825 */ move $t3, $sp +/* 0044B548 AB0F0008 */ swl $t7, 8($t8) +/* 0044B54C BB0F000B */ swr $t7, 0xb($t8) +/* 0044B550 89D90004 */ lwl $t9, 4($t6) +/* 0044B554 99D90007 */ lwr $t9, 7($t6) +/* 0044B558 2529E570 */ addiu $t1, %lo(RO_1000E570) # addiu $t1, $t1, -0x1a90 +/* 0044B55C 25280048 */ addiu $t0, $t1, 0x48 +/* 0044B560 AB19000C */ swl $t9, 0xc($t8) +/* 0044B564 BB19000F */ swr $t9, 0xf($t8) +.L0044B568: +/* 0044B568 892A0000 */ lwl $t2, ($t1) +/* 0044B56C 992A0003 */ lwr $t2, 3($t1) +/* 0044B570 2529000C */ addiu $t1, $t1, 0xc +/* 0044B574 256B000C */ addiu $t3, $t3, 0xc +/* 0044B578 A96A004C */ swl $t2, 0x4c($t3) +/* 0044B57C B96A004F */ swr $t2, 0x4f($t3) +/* 0044B580 892CFFF8 */ lwl $t4, -8($t1) +/* 0044B584 992CFFFB */ lwr $t4, -5($t1) +/* 0044B588 A96C0050 */ swl $t4, 0x50($t3) +/* 0044B58C B96C0053 */ swr $t4, 0x53($t3) +/* 0044B590 892AFFFC */ lwl $t2, -4($t1) +/* 0044B594 992AFFFF */ lwr $t2, -1($t1) +/* 0044B598 A96A0054 */ swl $t2, 0x54($t3) +/* 0044B59C 1528FFF2 */ bne $t1, $t0, .L0044B568 +/* 0044B5A0 B96A0057 */ swr $t2, 0x57($t3) +/* 0044B5A4 892A0000 */ lwl $t2, ($t1) +/* 0044B5A8 992A0003 */ lwr $t2, 3($t1) +/* 0044B5AC A96A0058 */ swl $t2, 0x58($t3) +/* 0044B5B0 B96A005B */ swr $t2, 0x5b($t3) +/* 0044B5B4 892C0004 */ lwl $t4, 4($t1) +/* 0044B5B8 992C0007 */ lwr $t4, 7($t1) +/* 0044B5BC A96C005C */ swl $t4, 0x5c($t3) +/* 0044B5C0 B96C005F */ swr $t4, 0x5f($t3) +/* 0044B5C4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044B5C8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044B5CC 8FA60008 */ lw $a2, 8($sp) +/* 0044B5D0 0320F809 */ jalr $t9 +/* 0044B5D4 00000000 */ nop +/* 0044B5D8 10000015 */ b .L0044B630 +/* 0044B5DC 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044B5E0: +/* 0044B5E0 2C810068 */ sltiu $at, $a0, 0x68 +/* 0044B5E4 14200005 */ bnez $at, .L0044B5FC +/* 0044B5E8 24010072 */ li $at, 114 +/* 0044B5EC 1081FFB7 */ beq $a0, $at, .L0044B4CC +/* 0044B5F0 00000000 */ nop +/* 0044B5F4 1000FFBB */ b .L0044B4E4 +/* 0044B5F8 00000000 */ nop +.L0044B5FC: +/* 0044B5FC 24010020 */ li $at, 32 +/* 0044B600 1081000B */ beq $a0, $at, .L0044B630 +/* 0044B604 248DFF9F */ addiu $t5, $a0, -0x61 +/* 0044B608 2DA10007 */ sltiu $at, $t5, 7 +/* 0044B60C 1020FFB5 */ beqz $at, .L0044B4E4 +/* 0044B610 00000000 */ nop +/* 0044B614 8F818038 */ lw $at, %got(jtbl_1000E6B0)($gp) +/* 0044B618 000D6880 */ sll $t5, $t5, 2 +/* 0044B61C 002D0821 */ addu $at, $at, $t5 +/* 0044B620 8C2DE6B0 */ lw $t5, %lo(jtbl_1000E6B0)($at) +/* 0044B624 01BC6821 */ addu $t5, $t5, $gp +/* 0044B628 01A00008 */ jr $t5 +/* 0044B62C 00000000 */ nop +.L0044B630: +/* 0044B630 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044B634 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0044B638 03E00008 */ jr $ra +/* 0044B63C 00000000 */ nop + + .type func_0044B640, @function +func_0044B640: + # 0044BF18 main1 +/* 0044B640 3C1C0FBD */ .cpload $t9 +/* 0044B644 279C4410 */ +/* 0044B648 0399E021 */ +/* 0044B64C 27BDFF48 */ addiu $sp, $sp, -0xb8 +/* 0044B650 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044B654 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044B658 100000DF */ b .L0044B9D8 +/* 0044B65C AFA400B8 */ sw $a0, 0xb8($sp) +.L0044B660: +/* 0044B660 8F818A00 */ lw $at, %got(n_fp_parm_regs)($gp) +/* 0044B664 100000F0 */ b .L0044BA28 +/* 0044B668 AC250000 */ sw $a1, ($at) +.L0044B66C: +/* 0044B66C 28A10002 */ slti $at, $a1, 2 +/* 0044B670 10200042 */ beqz $at, .L0044B77C +/* 0044B674 24040004 */ li $a0, 4 +/* 0044B678 8F8E8038 */ lw $t6, %got(RO_1000E85C)($gp) +/* 0044B67C 240500A6 */ li $a1, 166 +/* 0044B680 03A0C825 */ move $t9, $sp +/* 0044B684 25CEE85C */ addiu $t6, %lo(RO_1000E85C) # addiu $t6, $t6, -0x17a4 +/* 0044B688 25C80048 */ addiu $t0, $t6, 0x48 +.L0044B68C: +/* 0044B68C 89D80000 */ lwl $t8, ($t6) +/* 0044B690 99D80003 */ lwr $t8, 3($t6) +/* 0044B694 25CE000C */ addiu $t6, $t6, 0xc +/* 0044B698 2739000C */ addiu $t9, $t9, 0xc +/* 0044B69C AB38FFFC */ swl $t8, -4($t9) +/* 0044B6A0 BB38FFFF */ swr $t8, -1($t9) +/* 0044B6A4 89CFFFF8 */ lwl $t7, -8($t6) +/* 0044B6A8 99CFFFFB */ lwr $t7, -5($t6) +/* 0044B6AC AB2F0000 */ swl $t7, ($t9) +/* 0044B6B0 BB2F0003 */ swr $t7, 3($t9) +/* 0044B6B4 89D8FFFC */ lwl $t8, -4($t6) +/* 0044B6B8 99D8FFFF */ lwr $t8, -1($t6) +/* 0044B6BC AB380004 */ swl $t8, 4($t9) +/* 0044B6C0 15C8FFF2 */ bne $t6, $t0, .L0044B68C +/* 0044B6C4 BB380007 */ swr $t8, 7($t9) +/* 0044B6C8 89D80000 */ lwl $t8, ($t6) +/* 0044B6CC 99D80003 */ lwr $t8, 3($t6) +/* 0044B6D0 8F898038 */ lw $t1, %got(RO_1000E80C)($gp) +/* 0044B6D4 03A06025 */ move $t4, $sp +/* 0044B6D8 AB380008 */ swl $t8, 8($t9) +/* 0044B6DC BB38000B */ swr $t8, 0xb($t9) +/* 0044B6E0 89CF0004 */ lwl $t7, 4($t6) +/* 0044B6E4 99CF0007 */ lwr $t7, 7($t6) +/* 0044B6E8 2529E80C */ addiu $t1, %lo(RO_1000E80C) # addiu $t1, $t1, -0x17f4 +/* 0044B6EC 252D0048 */ addiu $t5, $t1, 0x48 +/* 0044B6F0 AB2F000C */ swl $t7, 0xc($t9) +/* 0044B6F4 BB2F000F */ swr $t7, 0xf($t9) +.L0044B6F8: +/* 0044B6F8 892B0000 */ lwl $t3, ($t1) +/* 0044B6FC 992B0003 */ lwr $t3, 3($t1) +/* 0044B700 2529000C */ addiu $t1, $t1, 0xc +/* 0044B704 258C000C */ addiu $t4, $t4, 0xc +/* 0044B708 A98B004C */ swl $t3, 0x4c($t4) +/* 0044B70C B98B004F */ swr $t3, 0x4f($t4) +/* 0044B710 892AFFF8 */ lwl $t2, -8($t1) +/* 0044B714 992AFFFB */ lwr $t2, -5($t1) +/* 0044B718 A98A0050 */ swl $t2, 0x50($t4) +/* 0044B71C B98A0053 */ swr $t2, 0x53($t4) +/* 0044B720 892BFFFC */ lwl $t3, -4($t1) +/* 0044B724 992BFFFF */ lwr $t3, -1($t1) +/* 0044B728 A98B0054 */ swl $t3, 0x54($t4) +/* 0044B72C 152DFFF2 */ bne $t1, $t5, .L0044B6F8 +/* 0044B730 B98B0057 */ swr $t3, 0x57($t4) +/* 0044B734 892B0000 */ lwl $t3, ($t1) +/* 0044B738 992B0003 */ lwr $t3, 3($t1) +/* 0044B73C A98B0058 */ swl $t3, 0x58($t4) +/* 0044B740 B98B005B */ swr $t3, 0x5b($t4) +/* 0044B744 892A0004 */ lwl $t2, 4($t1) +/* 0044B748 992A0007 */ lwr $t2, 7($t1) +/* 0044B74C A98A005C */ swl $t2, 0x5c($t4) +/* 0044B750 B98A005F */ swr $t2, 0x5f($t4) +/* 0044B754 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044B758 8FA7000C */ lw $a3, 0xc($sp) +/* 0044B75C 8FA60008 */ lw $a2, 8($sp) +/* 0044B760 0320F809 */ jalr $t9 +/* 0044B764 00000000 */ nop +/* 0044B768 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044B76C 24080002 */ li $t0, 2 +/* 0044B770 8F818A18 */ lw $at, %got(n_fp_cg_regs)($gp) +/* 0044B774 100000AC */ b .L0044BA28 +/* 0044B778 AC280000 */ sw $t0, ($at) +.L0044B77C: +/* 0044B77C 8F818A18 */ lw $at, %got(n_fp_cg_regs)($gp) +/* 0044B780 100000A9 */ b .L0044BA28 +/* 0044B784 AC250000 */ sw $a1, ($at) +.L0044B788: +/* 0044B788 8F818A10 */ lw $at, %got(n_unsaved_fp_regs)($gp) +/* 0044B78C 100000A6 */ b .L0044BA28 +/* 0044B790 AC250000 */ sw $a1, ($at) +.L0044B794: +/* 0044B794 8F818A08 */ lw $at, %got(n_saved_fp_regs)($gp) +/* 0044B798 100000A3 */ b .L0044BA28 +/* 0044B79C AC250000 */ sw $a1, ($at) +.L0044B7A0: +/* 0044B7A0 8F818A00 */ lw $at, %got(n_fp_parm_regs)($gp) +/* 0044B7A4 24040004 */ li $a0, 4 +/* 0044B7A8 AC200000 */ sw $zero, ($at) +/* 0044B7AC 8F818A10 */ lw $at, %got(n_unsaved_fp_regs)($gp) +/* 0044B7B0 AC200000 */ sw $zero, ($at) +/* 0044B7B4 8F818A08 */ lw $at, %got(n_saved_fp_regs)($gp) +/* 0044B7B8 AC200000 */ sw $zero, ($at) +/* 0044B7BC 28A10002 */ slti $at, $a1, 2 +/* 0044B7C0 10200042 */ beqz $at, .L0044B8CC +/* 0044B7C4 00000000 */ nop +/* 0044B7C8 8F8E8038 */ lw $t6, %got(RO_1000E7BC)($gp) +/* 0044B7CC 240500B6 */ li $a1, 182 +/* 0044B7D0 03A0C025 */ move $t8, $sp +/* 0044B7D4 25CEE7BC */ addiu $t6, %lo(RO_1000E7BC) # addiu $t6, $t6, -0x1844 +/* 0044B7D8 25CD0048 */ addiu $t5, $t6, 0x48 +.L0044B7DC: +/* 0044B7DC 89CF0000 */ lwl $t7, ($t6) +/* 0044B7E0 99CF0003 */ lwr $t7, 3($t6) +/* 0044B7E4 25CE000C */ addiu $t6, $t6, 0xc +/* 0044B7E8 2718000C */ addiu $t8, $t8, 0xc +/* 0044B7EC AB0FFFFC */ swl $t7, -4($t8) +/* 0044B7F0 BB0FFFFF */ swr $t7, -1($t8) +/* 0044B7F4 89D9FFF8 */ lwl $t9, -8($t6) +/* 0044B7F8 99D9FFFB */ lwr $t9, -5($t6) +/* 0044B7FC AB190000 */ swl $t9, ($t8) +/* 0044B800 BB190003 */ swr $t9, 3($t8) +/* 0044B804 89CFFFFC */ lwl $t7, -4($t6) +/* 0044B808 99CFFFFF */ lwr $t7, -1($t6) +/* 0044B80C AB0F0004 */ swl $t7, 4($t8) +/* 0044B810 15CDFFF2 */ bne $t6, $t5, .L0044B7DC +/* 0044B814 BB0F0007 */ swr $t7, 7($t8) +/* 0044B818 89CF0000 */ lwl $t7, ($t6) +/* 0044B81C 99CF0003 */ lwr $t7, 3($t6) +/* 0044B820 8F898038 */ lw $t1, %got(RO_1000E76C)($gp) +/* 0044B824 03A05825 */ move $t3, $sp +/* 0044B828 AB0F0008 */ swl $t7, 8($t8) +/* 0044B82C BB0F000B */ swr $t7, 0xb($t8) +/* 0044B830 89D90004 */ lwl $t9, 4($t6) +/* 0044B834 99D90007 */ lwr $t9, 7($t6) +/* 0044B838 2529E76C */ addiu $t1, %lo(RO_1000E76C) # addiu $t1, $t1, -0x1894 +/* 0044B83C 25280048 */ addiu $t0, $t1, 0x48 +/* 0044B840 AB19000C */ swl $t9, 0xc($t8) +/* 0044B844 BB19000F */ swr $t9, 0xf($t8) +.L0044B848: +/* 0044B848 892A0000 */ lwl $t2, ($t1) +/* 0044B84C 992A0003 */ lwr $t2, 3($t1) +/* 0044B850 2529000C */ addiu $t1, $t1, 0xc +/* 0044B854 256B000C */ addiu $t3, $t3, 0xc +/* 0044B858 A96A004C */ swl $t2, 0x4c($t3) +/* 0044B85C B96A004F */ swr $t2, 0x4f($t3) +/* 0044B860 892CFFF8 */ lwl $t4, -8($t1) +/* 0044B864 992CFFFB */ lwr $t4, -5($t1) +/* 0044B868 A96C0050 */ swl $t4, 0x50($t3) +/* 0044B86C B96C0053 */ swr $t4, 0x53($t3) +/* 0044B870 892AFFFC */ lwl $t2, -4($t1) +/* 0044B874 992AFFFF */ lwr $t2, -1($t1) +/* 0044B878 A96A0054 */ swl $t2, 0x54($t3) +/* 0044B87C 1528FFF2 */ bne $t1, $t0, .L0044B848 +/* 0044B880 B96A0057 */ swr $t2, 0x57($t3) +/* 0044B884 892A0000 */ lwl $t2, ($t1) +/* 0044B888 992A0003 */ lwr $t2, 3($t1) +/* 0044B88C A96A0058 */ swl $t2, 0x58($t3) +/* 0044B890 B96A005B */ swr $t2, 0x5b($t3) +/* 0044B894 892C0004 */ lwl $t4, 4($t1) +/* 0044B898 992C0007 */ lwr $t4, 7($t1) +/* 0044B89C A96C005C */ swl $t4, 0x5c($t3) +/* 0044B8A0 B96C005F */ swr $t4, 0x5f($t3) +/* 0044B8A4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044B8A8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044B8AC 8FA60008 */ lw $a2, 8($sp) +/* 0044B8B0 0320F809 */ jalr $t9 +/* 0044B8B4 00000000 */ nop +/* 0044B8B8 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044B8BC 240D0002 */ li $t5, 2 +/* 0044B8C0 8F818A18 */ lw $at, %got(n_fp_cg_regs)($gp) +/* 0044B8C4 10000058 */ b .L0044BA28 +/* 0044B8C8 AC2D0000 */ sw $t5, ($at) +.L0044B8CC: +/* 0044B8CC 8F818A18 */ lw $at, %got(n_fp_cg_regs)($gp) +/* 0044B8D0 24AEFFFF */ addiu $t6, $a1, -1 +/* 0044B8D4 10000054 */ b .L0044BA28 +/* 0044B8D8 AC2E0000 */ sw $t6, ($at) +.L0044B8DC: +/* 0044B8DC 8F988038 */ lw $t8, %got(RO_1000E71C)($gp) +/* 0044B8E0 24040004 */ li $a0, 4 +/* 0044B8E4 240500C1 */ li $a1, 193 +/* 0044B8E8 2718E71C */ addiu $t8, %lo(RO_1000E71C) # addiu $t8, $t8, -0x18e4 +/* 0044B8EC 27090048 */ addiu $t1, $t8, 0x48 +/* 0044B8F0 03A04025 */ move $t0, $sp +.L0044B8F4: +/* 0044B8F4 8B0F0000 */ lwl $t7, ($t8) +/* 0044B8F8 9B0F0003 */ lwr $t7, 3($t8) +/* 0044B8FC 2718000C */ addiu $t8, $t8, 0xc +/* 0044B900 2508000C */ addiu $t0, $t0, 0xc +/* 0044B904 A90FFFFC */ swl $t7, -4($t0) +/* 0044B908 B90FFFFF */ swr $t7, -1($t0) +/* 0044B90C 8B19FFF8 */ lwl $t9, -8($t8) +/* 0044B910 9B19FFFB */ lwr $t9, -5($t8) +/* 0044B914 A9190000 */ swl $t9, ($t0) +/* 0044B918 B9190003 */ swr $t9, 3($t0) +/* 0044B91C 8B0FFFFC */ lwl $t7, -4($t8) +/* 0044B920 9B0FFFFF */ lwr $t7, -1($t8) +/* 0044B924 A90F0004 */ swl $t7, 4($t0) +/* 0044B928 1709FFF2 */ bne $t8, $t1, .L0044B8F4 +/* 0044B92C B90F0007 */ swr $t7, 7($t0) +/* 0044B930 8B0F0000 */ lwl $t7, ($t8) +/* 0044B934 9B0F0003 */ lwr $t7, 3($t8) +/* 0044B938 8F8B8038 */ lw $t3, %got(RO_1000E6CC)($gp) +/* 0044B93C 03A06825 */ move $t5, $sp +/* 0044B940 A90F0008 */ swl $t7, 8($t0) +/* 0044B944 B90F000B */ swr $t7, 0xb($t0) +/* 0044B948 8B190004 */ lwl $t9, 4($t8) +/* 0044B94C 9B190007 */ lwr $t9, 7($t8) +/* 0044B950 256BE6CC */ addiu $t3, %lo(RO_1000E6CC) # addiu $t3, $t3, -0x1934 +/* 0044B954 256E0048 */ addiu $t6, $t3, 0x48 +/* 0044B958 A919000C */ swl $t9, 0xc($t0) +/* 0044B95C B919000F */ swr $t9, 0xf($t0) +.L0044B960: +/* 0044B960 896A0000 */ lwl $t2, ($t3) +/* 0044B964 996A0003 */ lwr $t2, 3($t3) +/* 0044B968 256B000C */ addiu $t3, $t3, 0xc +/* 0044B96C 25AD000C */ addiu $t5, $t5, 0xc +/* 0044B970 A9AA004C */ swl $t2, 0x4c($t5) +/* 0044B974 B9AA004F */ swr $t2, 0x4f($t5) +/* 0044B978 896CFFF8 */ lwl $t4, -8($t3) +/* 0044B97C 996CFFFB */ lwr $t4, -5($t3) +/* 0044B980 A9AC0050 */ swl $t4, 0x50($t5) +/* 0044B984 B9AC0053 */ swr $t4, 0x53($t5) +/* 0044B988 896AFFFC */ lwl $t2, -4($t3) +/* 0044B98C 996AFFFF */ lwr $t2, -1($t3) +/* 0044B990 A9AA0054 */ swl $t2, 0x54($t5) +/* 0044B994 156EFFF2 */ bne $t3, $t6, .L0044B960 +/* 0044B998 B9AA0057 */ swr $t2, 0x57($t5) +/* 0044B99C 896A0000 */ lwl $t2, ($t3) +/* 0044B9A0 996A0003 */ lwr $t2, 3($t3) +/* 0044B9A4 A9AA0058 */ swl $t2, 0x58($t5) +/* 0044B9A8 B9AA005B */ swr $t2, 0x5b($t5) +/* 0044B9AC 896C0004 */ lwl $t4, 4($t3) +/* 0044B9B0 996C0007 */ lwr $t4, 7($t3) +/* 0044B9B4 A9AC005C */ swl $t4, 0x5c($t5) +/* 0044B9B8 B9AC005F */ swr $t4, 0x5f($t5) +/* 0044B9BC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044B9C0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044B9C4 8FA60008 */ lw $a2, 8($sp) +/* 0044B9C8 0320F809 */ jalr $t9 +/* 0044B9CC 00000000 */ nop +/* 0044B9D0 10000015 */ b .L0044BA28 +/* 0044B9D4 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044B9D8: +/* 0044B9D8 2C810068 */ sltiu $at, $a0, 0x68 +/* 0044B9DC 14200005 */ bnez $at, .L0044B9F4 +/* 0044B9E0 24010072 */ li $at, 114 +/* 0044B9E4 1081FF68 */ beq $a0, $at, .L0044B788 +/* 0044B9E8 00000000 */ nop +/* 0044B9EC 1000FFBB */ b .L0044B8DC +/* 0044B9F0 00000000 */ nop +.L0044B9F4: +/* 0044B9F4 24010020 */ li $at, 32 +/* 0044B9F8 1081FF69 */ beq $a0, $at, .L0044B7A0 +/* 0044B9FC 2489FF9F */ addiu $t1, $a0, -0x61 +/* 0044BA00 2D210007 */ sltiu $at, $t1, 7 +/* 0044BA04 1020FFB5 */ beqz $at, .L0044B8DC +/* 0044BA08 00000000 */ nop +/* 0044BA0C 8F818038 */ lw $at, %got(jtbl_1000E8AC)($gp) +/* 0044BA10 00094880 */ sll $t1, $t1, 2 +/* 0044BA14 00290821 */ addu $at, $at, $t1 +/* 0044BA18 8C29E8AC */ lw $t1, %lo(jtbl_1000E8AC)($at) +/* 0044BA1C 013C4821 */ addu $t1, $t1, $gp +/* 0044BA20 01200008 */ jr $t1 +/* 0044BA24 00000000 */ nop +.L0044BA28: +/* 0044BA28 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044BA2C 27BD00B8 */ addiu $sp, $sp, 0xb8 +/* 0044BA30 03E00008 */ jr $ra +/* 0044BA34 00000000 */ nop + + .type func_0044BA38, @function +func_0044BA38: + # 0044BF18 main1 +/* 0044BA38 3C1C0FBD */ .cpload $t9 +/* 0044BA3C 279C4018 */ +/* 0044BA40 0399E021 */ +/* 0044BA44 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044BA48 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044BA4C AFBC0018 */ sw $gp, 0x18($sp) +/* 0044BA50 AFB00014 */ sw $s0, 0x14($sp) +/* 0044BA54 AFA40020 */ sw $a0, 0x20($sp) +/* 0044BA58 AFA50024 */ sw $a1, 0x24($sp) +/* 0044BA5C AFA60028 */ sw $a2, 0x28($sp) +/* 0044BA60 AFA7002C */ sw $a3, 0x2c($sp) +/* 0044BA64 904EFC00 */ lbu $t6, -0x400($v0) +/* 0044BA68 00408025 */ move $s0, $v0 +/* 0044BA6C 24070010 */ li $a3, 16 +/* 0044BA70 11C0002D */ beqz $t6, .L0044BB28 +/* 0044BA74 24060010 */ li $a2, 16 +/* 0044BA78 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044BA7C 8F858038 */ lw $a1, %got(RO_1000E8D8)($gp) +/* 0044BA80 8C44FBF8 */ lw $a0, -0x408($v0) +/* 0044BA84 24060010 */ li $a2, 16 +/* 0044BA88 0320F809 */ jalr $t9 +/* 0044BA8C 24A5E8D8 */ addiu $a1, %lo(RO_1000E8D8) # addiu $a1, $a1, -0x1728 +/* 0044BA90 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BA94 8E04FBF8 */ lw $a0, -0x408($s0) +/* 0044BA98 27A50024 */ addiu $a1, $sp, 0x24 +/* 0044BA9C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044BAA0 2406000C */ li $a2, 12 +/* 0044BAA4 00003825 */ move $a3, $zero +/* 0044BAA8 0320F809 */ jalr $t9 +/* 0044BAAC 00000000 */ nop +/* 0044BAB0 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BAB4 8E04FBF8 */ lw $a0, -0x408($s0) +/* 0044BAB8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BABC 0320F809 */ jalr $t9 +/* 0044BAC0 00000000 */ nop +/* 0044BAC4 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BAC8 8E04FBF8 */ lw $a0, -0x408($s0) +/* 0044BACC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BAD0 0320F809 */ jalr $t9 +/* 0044BAD4 00000000 */ nop +/* 0044BAD8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BADC 3C067FFF */ lui $a2, 0x7fff +/* 0044BAE0 34C6FFFF */ ori $a2, $a2, 0xffff +/* 0044BAE4 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 0044BAE8 00C03825 */ move $a3, $a2 +/* 0044BAEC 2604FBF8 */ addiu $a0, $s0, -0x408 +/* 0044BAF0 0320F809 */ jalr $t9 +/* 0044BAF4 8FA50020 */ lw $a1, 0x20($sp) +/* 0044BAF8 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BAFC 8E04FBF8 */ lw $a0, -0x408($s0) +/* 0044BB00 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BB04 0320F809 */ jalr $t9 +/* 0044BB08 00000000 */ nop +/* 0044BB0C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BB10 8E04FBF8 */ lw $a0, -0x408($s0) +/* 0044BB14 8F998084 */ lw $t9, %call16(fflush)($gp) +/* 0044BB18 0320F809 */ jalr $t9 +/* 0044BB1C 00000000 */ nop +/* 0044BB20 10000028 */ b .L0044BBC4 +/* 0044BB24 8FBC0018 */ lw $gp, 0x18($sp) +.L0044BB28: +/* 0044BB28 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044BB2C 8F908950 */ lw $s0, %got(err)($gp) +/* 0044BB30 8F858038 */ lw $a1, %got(RO_1000E8C8)($gp) +/* 0044BB34 24070010 */ li $a3, 16 +/* 0044BB38 8E040000 */ lw $a0, ($s0) +/* 0044BB3C 0320F809 */ jalr $t9 +/* 0044BB40 24A5E8C8 */ addiu $a1, %lo(RO_1000E8C8) # addiu $a1, $a1, -0x1738 +/* 0044BB44 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BB48 8E040000 */ lw $a0, ($s0) +/* 0044BB4C 27A50024 */ addiu $a1, $sp, 0x24 +/* 0044BB50 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044BB54 2406000C */ li $a2, 12 +/* 0044BB58 00003825 */ move $a3, $zero +/* 0044BB5C 0320F809 */ jalr $t9 +/* 0044BB60 00000000 */ nop +/* 0044BB64 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BB68 8E040000 */ lw $a0, ($s0) +/* 0044BB6C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BB70 0320F809 */ jalr $t9 +/* 0044BB74 00000000 */ nop +/* 0044BB78 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BB7C 8E040000 */ lw $a0, ($s0) +/* 0044BB80 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BB84 0320F809 */ jalr $t9 +/* 0044BB88 00000000 */ nop +/* 0044BB8C 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BB90 3C067FFF */ lui $a2, 0x7fff +/* 0044BB94 34C6FFFF */ ori $a2, $a2, 0xffff +/* 0044BB98 8F998648 */ lw $t9, %call16(print_tree)($gp) +/* 0044BB9C 00C03825 */ move $a3, $a2 +/* 0044BBA0 02002025 */ move $a0, $s0 +/* 0044BBA4 0320F809 */ jalr $t9 +/* 0044BBA8 8FA50020 */ lw $a1, 0x20($sp) +/* 0044BBAC 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BBB0 8E040000 */ lw $a0, ($s0) +/* 0044BBB4 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044BBB8 0320F809 */ jalr $t9 +/* 0044BBBC 00000000 */ nop +/* 0044BBC0 8FBC0018 */ lw $gp, 0x18($sp) +.L0044BBC4: +/* 0044BBC4 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044BBC8 8FB00014 */ lw $s0, 0x14($sp) +/* 0044BBCC 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044BBD0 03E00008 */ jr $ra +/* 0044BBD4 00000000 */ nop + + .type func_0044BBD8, @function +func_0044BBD8: + # 0044BC78 func_0044BC78 +/* 0044BBD8 AFA50004 */ sw $a1, 4($sp) +/* 0044BBDC 93AE0004 */ lbu $t6, 4($sp) +/* 0044BBE0 24080020 */ li $t0, 32 +/* 0044BBE4 AFA60008 */ sw $a2, 8($sp) +/* 0044BBE8 AFA7000C */ sw $a3, 0xc($sp) +/* 0044BBEC 110E000A */ beq $t0, $t6, .L0044BC18 +/* 0044BBF0 24020001 */ li $v0, 1 +/* 0044BBF4 27A50004 */ addiu $a1, $sp, 4 +/* 0044BBF8 90A60000 */ lbu $a2, ($a1) +/* 0044BBFC 24830001 */ addiu $v1, $a0, 1 +.L0044BC00: +/* 0044BC00 A066FFFF */ sb $a2, -1($v1) +/* 0044BC04 90A60001 */ lbu $a2, 1($a1) +/* 0044BC08 24420001 */ addiu $v0, $v0, 1 +/* 0044BC0C 24630001 */ addiu $v1, $v1, 1 +/* 0044BC10 1506FFFB */ bne $t0, $a2, .L0044BC00 +/* 0044BC14 24A50001 */ addiu $a1, $a1, 1 +.L0044BC18: +/* 0044BC18 28410401 */ slti $at, $v0, 0x401 +/* 0044BC1C 10200014 */ beqz $at, .L0044BC70 +/* 0044BC20 00402825 */ move $a1, $v0 +/* 0044BC24 24090401 */ li $t1, 1025 +/* 0044BC28 01253823 */ subu $a3, $t1, $a1 +/* 0044BC2C 30E70003 */ andi $a3, $a3, 3 +/* 0044BC30 10E00007 */ beqz $a3, .L0044BC50 +/* 0044BC34 00E53021 */ addu $a2, $a3, $a1 +/* 0044BC38 00821821 */ addu $v1, $a0, $v0 +.L0044BC3C: +/* 0044BC3C 24420001 */ addiu $v0, $v0, 1 +/* 0044BC40 A068FFFF */ sb $t0, -1($v1) +/* 0044BC44 14C2FFFD */ bne $a2, $v0, .L0044BC3C +/* 0044BC48 24630001 */ addiu $v1, $v1, 1 +/* 0044BC4C 10490008 */ beq $v0, $t1, .L0044BC70 +.L0044BC50: +/* 0044BC50 00821821 */ addu $v1, $a0, $v0 +.L0044BC54: +/* 0044BC54 24420004 */ addiu $v0, $v0, 4 +/* 0044BC58 A068FFFF */ sb $t0, -1($v1) +/* 0044BC5C A0680000 */ sb $t0, ($v1) +/* 0044BC60 A0680001 */ sb $t0, 1($v1) +/* 0044BC64 A0680002 */ sb $t0, 2($v1) +/* 0044BC68 1449FFFA */ bne $v0, $t1, .L0044BC54 +/* 0044BC6C 24630004 */ addiu $v1, $v1, 4 +.L0044BC70: +/* 0044BC70 03E00008 */ jr $ra +/* 0044BC74 00000000 */ nop + + .type func_0044BC78, @function +func_0044BC78: + # 0044BF18 main1 +/* 0044BC78 3C1C0FBD */ .cpload $t9 +/* 0044BC7C 279C3DD8 */ +/* 0044BC80 0399E021 */ +/* 0044BC84 8F8E8038 */ lw $t6, %got(RO_1000E988)($gp) +/* 0044BC88 27BDFF38 */ addiu $sp, $sp, -0xc8 +/* 0044BC8C AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044BC90 AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044BC94 25CEE988 */ addiu $t6, %lo(RO_1000E988) # addiu $t6, $t6, -0x1678 +/* 0044BC98 89D80000 */ lwl $t8, ($t6) +/* 0044BC9C 99D80003 */ lwr $t8, 3($t6) +/* 0044BCA0 8F998028 */ lw $t9, %got(func_0044BBD8)($gp) +/* 0044BCA4 2444F7F8 */ addiu $a0, $v0, -0x808 +/* 0044BCA8 ABB80004 */ swl $t8, 4($sp) +/* 0044BCAC BBB80007 */ swr $t8, 7($sp) +/* 0044BCB0 89CF0004 */ lwl $t7, 4($t6) +/* 0044BCB4 99CF0007 */ lwr $t7, 7($t6) +/* 0044BCB8 2739BBD8 */ addiu $t9, %lo(func_0044BBD8) # addiu $t9, $t9, -0x4428 +/* 0044BCBC 8FA50004 */ lw $a1, 4($sp) +/* 0044BCC0 ABAF0008 */ swl $t7, 8($sp) +/* 0044BCC4 BBAF000B */ swr $t7, 0xb($sp) +/* 0044BCC8 89D80008 */ lwl $t8, 8($t6) +/* 0044BCCC 99D8000B */ lwr $t8, 0xb($t6) +/* 0044BCD0 8FA60008 */ lw $a2, 8($sp) +/* 0044BCD4 ABB8000C */ swl $t8, 0xc($sp) +/* 0044BCD8 BBB8000F */ swr $t8, 0xf($sp) +/* 0044BCDC 89CF000C */ lwl $t7, 0xc($t6) +/* 0044BCE0 99CF000F */ lwr $t7, 0xf($t6) +/* 0044BCE4 8FA7000C */ lw $a3, 0xc($sp) +/* 0044BCE8 ABAF0010 */ swl $t7, 0x10($sp) +/* 0044BCEC BBAF0013 */ swr $t7, 0x13($sp) +/* 0044BCF0 89D80010 */ lwl $t8, 0x10($t6) +/* 0044BCF4 99D80013 */ lwr $t8, 0x13($t6) +/* 0044BCF8 ABB80014 */ swl $t8, 0x14($sp) +/* 0044BCFC BBB80017 */ swr $t8, 0x17($sp) +/* 0044BD00 89CF0014 */ lwl $t7, 0x14($t6) +/* 0044BD04 99CF0017 */ lwr $t7, 0x17($t6) +/* 0044BD08 ABAF0018 */ swl $t7, 0x18($sp) +/* 0044BD0C BBAF001B */ swr $t7, 0x1b($sp) +/* 0044BD10 89D80018 */ lwl $t8, 0x18($t6) +/* 0044BD14 99D8001B */ lwr $t8, 0x1b($t6) +/* 0044BD18 ABB8001C */ swl $t8, 0x1c($sp) +/* 0044BD1C BBB8001F */ swr $t8, 0x1f($sp) +/* 0044BD20 89CF001C */ lwl $t7, 0x1c($t6) +/* 0044BD24 99CF001F */ lwr $t7, 0x1f($t6) +/* 0044BD28 AFA400BC */ sw $a0, 0xbc($sp) +/* 0044BD2C AFA200C4 */ sw $v0, 0xc4($sp) +/* 0044BD30 ABAF0020 */ swl $t7, 0x20($sp) +/* 0044BD34 0320F809 */ jalr $t9 +/* 0044BD38 BBAF0023 */ swr $t7, 0x23($sp) +/* 0044BD3C 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0044BD40 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044BD44 8FA400BC */ lw $a0, 0xbc($sp) +/* 0044BD48 A060F80A */ sb $zero, -0x7f6($v1) +/* 0044BD4C 8F9980C8 */ lw $t9, %call16(mktemp)($gp) +/* 0044BD50 0320F809 */ jalr $t9 +/* 0044BD54 00000000 */ nop +/* 0044BD58 8FA300C4 */ lw $v1, 0xc4($sp) +/* 0044BD5C 8FBC00B0 */ lw $gp, 0xb0($sp) +/* 0044BD60 1440003F */ bnez $v0, .L0044BE60 +/* 0044BD64 AC62F7F4 */ sw $v0, -0x80c($v1) +/* 0044BD68 8F998038 */ lw $t9, %got(RO_1000E938)($gp) +/* 0044BD6C 24040004 */ li $a0, 4 +/* 0044BD70 240500FE */ li $a1, 254 +/* 0044BD74 2739E938 */ addiu $t9, %lo(RO_1000E938) # addiu $t9, $t9, -0x16c8 +/* 0044BD78 272B0048 */ addiu $t3, $t9, 0x48 +/* 0044BD7C 03A05025 */ move $t2, $sp +.L0044BD80: +/* 0044BD80 8B290000 */ lwl $t1, ($t9) +/* 0044BD84 9B290003 */ lwr $t1, 3($t9) +/* 0044BD88 2739000C */ addiu $t9, $t9, 0xc +/* 0044BD8C 254A000C */ addiu $t2, $t2, 0xc +/* 0044BD90 A949FFFC */ swl $t1, -4($t2) +/* 0044BD94 B949FFFF */ swr $t1, -1($t2) +/* 0044BD98 8B28FFF8 */ lwl $t0, -8($t9) +/* 0044BD9C 9B28FFFB */ lwr $t0, -5($t9) +/* 0044BDA0 A9480000 */ swl $t0, ($t2) +/* 0044BDA4 B9480003 */ swr $t0, 3($t2) +/* 0044BDA8 8B29FFFC */ lwl $t1, -4($t9) +/* 0044BDAC 9B29FFFF */ lwr $t1, -1($t9) +/* 0044BDB0 A9490004 */ swl $t1, 4($t2) +/* 0044BDB4 172BFFF2 */ bne $t9, $t3, .L0044BD80 +/* 0044BDB8 B9490007 */ swr $t1, 7($t2) +/* 0044BDBC 8B290000 */ lwl $t1, ($t9) +/* 0044BDC0 9B290003 */ lwr $t1, 3($t9) +/* 0044BDC4 8F8C8038 */ lw $t4, %got(RO_1000E8E8)($gp) +/* 0044BDC8 03A07825 */ move $t7, $sp +/* 0044BDCC A9490008 */ swl $t1, 8($t2) +/* 0044BDD0 B949000B */ swr $t1, 0xb($t2) +/* 0044BDD4 8B280004 */ lwl $t0, 4($t9) +/* 0044BDD8 9B280007 */ lwr $t0, 7($t9) +/* 0044BDDC 258CE8E8 */ addiu $t4, %lo(RO_1000E8E8) # addiu $t4, $t4, -0x1718 +/* 0044BDE0 25980048 */ addiu $t8, $t4, 0x48 +/* 0044BDE4 A948000C */ swl $t0, 0xc($t2) +/* 0044BDE8 B948000F */ swr $t0, 0xf($t2) +.L0044BDEC: +/* 0044BDEC 898E0000 */ lwl $t6, ($t4) +/* 0044BDF0 998E0003 */ lwr $t6, 3($t4) +/* 0044BDF4 258C000C */ addiu $t4, $t4, 0xc +/* 0044BDF8 25EF000C */ addiu $t7, $t7, 0xc +/* 0044BDFC A9EE004C */ swl $t6, 0x4c($t7) +/* 0044BE00 B9EE004F */ swr $t6, 0x4f($t7) +/* 0044BE04 898DFFF8 */ lwl $t5, -8($t4) +/* 0044BE08 998DFFFB */ lwr $t5, -5($t4) +/* 0044BE0C A9ED0050 */ swl $t5, 0x50($t7) +/* 0044BE10 B9ED0053 */ swr $t5, 0x53($t7) +/* 0044BE14 898EFFFC */ lwl $t6, -4($t4) +/* 0044BE18 998EFFFF */ lwr $t6, -1($t4) +/* 0044BE1C A9EE0054 */ swl $t6, 0x54($t7) +/* 0044BE20 1598FFF2 */ bne $t4, $t8, .L0044BDEC +/* 0044BE24 B9EE0057 */ swr $t6, 0x57($t7) +/* 0044BE28 898E0000 */ lwl $t6, ($t4) +/* 0044BE2C 998E0003 */ lwr $t6, 3($t4) +/* 0044BE30 A9EE0058 */ swl $t6, 0x58($t7) +/* 0044BE34 B9EE005B */ swr $t6, 0x5b($t7) +/* 0044BE38 898D0004 */ lwl $t5, 4($t4) +/* 0044BE3C 998D0007 */ lwr $t5, 7($t4) +/* 0044BE40 A9ED005C */ swl $t5, 0x5c($t7) +/* 0044BE44 B9ED005F */ swr $t5, 0x5f($t7) +/* 0044BE48 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044BE4C 8FA7000C */ lw $a3, 0xc($sp) +/* 0044BE50 8FA60008 */ lw $a2, 8($sp) +/* 0044BE54 0320F809 */ jalr $t9 +/* 0044BE58 00000000 */ nop +/* 0044BE5C 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044BE60: +/* 0044BE60 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044BE64 27BD00C8 */ addiu $sp, $sp, 0xc8 +/* 0044BE68 03E00008 */ jr $ra +/* 0044BE6C 00000000 */ nop + + .type func_0044BE70, @function +func_0044BE70: + # 0044BF18 main1 +/* 0044BE70 3C1C0FBD */ .cpload $t9 +/* 0044BE74 279C3BE0 */ +/* 0044BE78 0399E021 */ +/* 0044BE7C 8F9980CC */ lw $t9, %call16(unlink)($gp) +/* 0044BE80 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0044BE84 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044BE88 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044BE8C 0320F809 */ jalr $t9 +/* 0044BE90 2444F7F8 */ addiu $a0, $v0, -0x808 +/* 0044BE94 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044BE98 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044BE9C 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0044BEA0 03E00008 */ jr $ra +/* 0044BEA4 00000000 */ nop + + .type func_0044BEA8, @function +func_0044BEA8: + # 0044BF18 main1 +/* 0044BEA8 AFA50004 */ sw $a1, 4($sp) +/* 0044BEAC 93AE0004 */ lbu $t6, 4($sp) +/* 0044BEB0 AFA7000C */ sw $a3, 0xc($sp) +/* 0044BEB4 24070020 */ li $a3, 32 +/* 0044BEB8 00802825 */ move $a1, $a0 +/* 0044BEBC AFA40000 */ sw $a0, ($sp) +/* 0044BEC0 AFA60008 */ sw $a2, 8($sp) +/* 0044BEC4 10EE000E */ beq $a3, $t6, .L0044BF00 +/* 0044BEC8 24030001 */ li $v1, 1 +/* 0044BECC 27A20004 */ addiu $v0, $sp, 4 +/* 0044BED0 90440000 */ lbu $a0, ($v0) +/* 0044BED4 24A60001 */ addiu $a2, $a1, 1 +.L0044BED8: +/* 0044BED8 90D8FFFF */ lbu $t8, -1($a2) +/* 0044BEDC 50980004 */ beql $a0, $t8, .L0044BEF0 +/* 0044BEE0 90440001 */ lbu $a0, 1($v0) +/* 0044BEE4 03E00008 */ jr $ra +/* 0044BEE8 00001025 */ move $v0, $zero + +/* 0044BEEC 90440001 */ lbu $a0, 1($v0) +.L0044BEF0: +/* 0044BEF0 24630001 */ addiu $v1, $v1, 1 +/* 0044BEF4 24420001 */ addiu $v0, $v0, 1 +/* 0044BEF8 14E4FFF7 */ bne $a3, $a0, .L0044BED8 +/* 0044BEFC 24C60001 */ addiu $a2, $a2, 1 +.L0044BF00: +/* 0044BF00 00A3C821 */ addu $t9, $a1, $v1 +/* 0044BF04 9328FFFF */ lbu $t0, -1($t9) +/* 0044BF08 00E81026 */ xor $v0, $a3, $t0 +/* 0044BF0C 2C420001 */ sltiu $v0, $v0, 1 +/* 0044BF10 03E00008 */ jr $ra +/* 0044BF14 00000000 */ nop + +glabel main1 + .ent main1 +/* 0044BF18 3C1C0FBD */ .cpload $t9 +/* 0044BF1C 279C3B38 */ +/* 0044BF20 0399E021 */ +/* 0044BF24 27BDDE30 */ addiu $sp, $sp, -0x21d0 +/* 0044BF28 8F8E8038 */ lw $t6, %got(RO_1000F07B)($gp) +/* 0044BF2C 27A40108 */ addiu $a0, $sp, 0x108 +/* 0044BF30 AFBF00D4 */ sw $ra, 0xd4($sp) +/* 0044BF34 25CEF07B */ addiu $t6, %lo(RO_1000F07B) # addiu $t6, $t6, -0xf85 +/* 0044BF38 AFBE00D0 */ sw $fp, 0xd0($sp) +/* 0044BF3C AFBC00CC */ sw $gp, 0xcc($sp) +/* 0044BF40 AFB700C8 */ sw $s7, 0xc8($sp) +/* 0044BF44 AFB600C4 */ sw $s6, 0xc4($sp) +/* 0044BF48 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0044BF4C AFB400BC */ sw $s4, 0xbc($sp) +/* 0044BF50 AFB300B8 */ sw $s3, 0xb8($sp) +/* 0044BF54 AFB200B4 */ sw $s2, 0xb4($sp) +/* 0044BF58 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0044BF5C AFB000AC */ sw $s0, 0xac($sp) +/* 0044BF60 AFA00534 */ sw $zero, 0x534($sp) +/* 0044BF64 AFA00538 */ sw $zero, 0x538($sp) +/* 0044BF68 AFA01DC8 */ sw $zero, 0x1dc8($sp) +/* 0044BF6C AFA01DCC */ sw $zero, 0x1dcc($sp) +/* 0044BF70 A3A0050F */ sb $zero, 0x50f($sp) +/* 0044BF74 25C803FC */ addiu $t0, $t6, 0x3fc +/* 0044BF78 0080C825 */ move $t9, $a0 +.L0044BF7C: +/* 0044BF7C 89D80000 */ lwl $t8, ($t6) +/* 0044BF80 99D80003 */ lwr $t8, 3($t6) +/* 0044BF84 25CE000C */ addiu $t6, $t6, 0xc +/* 0044BF88 2739000C */ addiu $t9, $t9, 0xc +/* 0044BF8C AB38FFF4 */ swl $t8, -0xc($t9) +/* 0044BF90 BB38FFF7 */ swr $t8, -9($t9) +/* 0044BF94 89CFFFF8 */ lwl $t7, -8($t6) +/* 0044BF98 99CFFFFB */ lwr $t7, -5($t6) +/* 0044BF9C AB2FFFF8 */ swl $t7, -8($t9) +/* 0044BFA0 BB2FFFFB */ swr $t7, -5($t9) +/* 0044BFA4 89D8FFFC */ lwl $t8, -4($t6) +/* 0044BFA8 99D8FFFF */ lwr $t8, -1($t6) +/* 0044BFAC AB38FFFC */ swl $t8, -4($t9) +/* 0044BFB0 15C8FFF2 */ bne $t6, $t0, .L0044BF7C +/* 0044BFB4 BB38FFFF */ swr $t8, -1($t9) +/* 0044BFB8 89D80000 */ lwl $t8, ($t6) +/* 0044BFBC 99D80003 */ lwr $t8, 3($t6) +/* 0044BFC0 AB380000 */ swl $t8, ($t9) +/* 0044BFC4 BB380003 */ swr $t8, 3($t9) +/* 0044BFC8 8F9980D0 */ lw $t9, %call16(getenv)($gp) +/* 0044BFCC A3A0010C */ sb $zero, 0x10c($sp) +/* 0044BFD0 0320F809 */ jalr $t9 +/* 0044BFD4 00000000 */ nop +/* 0044BFD8 10400003 */ beqz $v0, .L0044BFE8 +/* 0044BFDC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044BFE0 24090001 */ li $t1, 1 +/* 0044BFE4 A3A9050F */ sb $t1, 0x50f($sp) +.L0044BFE8: +/* 0044BFE8 8F8A8960 */ lw $t2, %got(__Argc)($gp) +/* 0044BFEC 24060075 */ li $a2, 117 +/* 0044BFF0 240B0008 */ li $t3, 8 +/* 0044BFF4 8D4A0000 */ lw $t2, ($t2) +/* 0044BFF8 00002025 */ move $a0, $zero +/* 0044BFFC 29410002 */ slti $at, $t2, 2 +/* 0044C000 10200010 */ beqz $at, .L0044C044 +/* 0044C004 00000000 */ nop +/* 0044C008 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C00C 8F968950 */ lw $s6, %got(err)($gp) +/* 0044C010 8F858038 */ lw $a1, %got(RO_1000F006)($gp) +/* 0044C014 24070075 */ li $a3, 117 +/* 0044C018 8EC40000 */ lw $a0, ($s6) +/* 0044C01C 0320F809 */ jalr $t9 +/* 0044C020 24A5F006 */ addiu $a1, %lo(RO_1000F006) # addiu $a1, $a1, -0xffa +/* 0044C024 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C028 8EC40000 */ lw $a0, ($s6) +/* 0044C02C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C030 0320F809 */ jalr $t9 +/* 0044C034 00000000 */ nop +/* 0044C038 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C03C 10000A56 */ b .L0044E998 +/* 0044C040 00001025 */ move $v0, $zero +.L0044C044: +/* 0044C044 8F818990 */ lw $at, %got(sdata_max)($gp) +/* 0044C048 8F9981B0 */ lw $t9, %call16(set_domtag)($gp) +/* 0044C04C A3A015C0 */ sb $zero, 0x15c0($sp) +/* 0044C050 AC2B0000 */ sw $t3, ($at) +/* 0044C054 8F81898C */ lw $at, %got(lsb_first)($gp) +/* 0044C058 A3A011C0 */ sb $zero, 0x11c0($sp) +/* 0044C05C A3A00DC0 */ sb $zero, 0xdc0($sp) +/* 0044C060 A0200000 */ sb $zero, ($at) +/* 0044C064 8F8189A0 */ lw $at, %got(fp_initialized)($gp) +/* 0044C068 A3A009C0 */ sb $zero, 0x9c0($sp) +/* 0044C06C A3A00940 */ sb $zero, 0x940($sp) +/* 0044C070 A0200000 */ sb $zero, ($at) +/* 0044C074 8F818994 */ lw $at, %got(ascii_out)($gp) +/* 0044C078 A3A019C8 */ sb $zero, 0x19c8($sp) +/* 0044C07C A3A01DD0 */ sb $zero, 0x1dd0($sp) +/* 0044C080 A0200000 */ sb $zero, ($at) +/* 0044C084 8F8189EC */ lw $at, %got(saw_cap_g)($gp) +/* 0044C088 A3A00515 */ sb $zero, 0x515($sp) +/* 0044C08C A3A0093F */ sb $zero, 0x93f($sp) +/* 0044C090 0320F809 */ jalr $t9 +/* 0044C094 A0200000 */ sb $zero, ($at) +/* 0044C098 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C09C 24020004 */ li $v0, 4 +/* 0044C0A0 24040002 */ li $a0, 2 +/* 0044C0A4 8F81896C */ lw $at, %got(excpt)($gp) +/* 0044C0A8 240C0008 */ li $t4, 8 +/* 0044C0AC 24030006 */ li $v1, 6 +/* 0044C0B0 A0200000 */ sb $zero, ($at) +/* 0044C0B4 8F818970 */ lw $at, %got(non_local_mtag)($gp) +/* 0044C0B8 24150001 */ li $s5, 1 +/* 0044C0BC 240DFFFF */ li $t5, -1 +/* 0044C0C0 AC200000 */ sw $zero, ($at) +/* 0044C0C4 8F818A88 */ lw $at, %got(init_dynmem)($gp) +/* 0044C0C8 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C0CC A3A0093E */ sb $zero, 0x93e($sp) +/* 0044C0D0 A0200000 */ sb $zero, ($at) +/* 0044C0D4 8F818A68 */ lw $at, %got(use_real_fp_for_all)($gp) +/* 0044C0D8 8E100000 */ lw $s0, ($s0) +/* 0044C0DC A3A00516 */ sb $zero, 0x516($sp) +/* 0044C0E0 A0200000 */ sb $zero, ($at) +/* 0044C0E4 8F8189E0 */ lw $at, %got(debug_ugen)($gp) +/* 0044C0E8 A3A0051C */ sb $zero, 0x51c($sp) +/* 0044C0EC A3B50518 */ sb $s5, 0x518($sp) +/* 0044C0F0 A0200000 */ sb $zero, ($at) +/* 0044C0F4 8F8189E4 */ lw $at, %got(pic_level)($gp) +/* 0044C0F8 AFA00510 */ sw $zero, 0x510($sp) +/* 0044C0FC 02A09025 */ move $s2, $s5 +/* 0044C100 AC200000 */ sw $zero, ($at) +/* 0044C104 8F8189E8 */ lw $at, %got(cpalias_ok)($gp) +/* 0044C108 27B721D0 */ addiu $s7, $sp, 0x21d0 +/* 0044C10C 24140020 */ li $s4, 32 +/* 0044C110 A0200000 */ sb $zero, ($at) +/* 0044C114 8F8189FC */ lw $at, %got(n_parm_regs)($gp) +/* 0044C118 27B3053E */ addiu $s3, $sp, 0x53e +/* 0044C11C 8FB10530 */ lw $s1, 0x530($sp) +/* 0044C120 AC220000 */ sw $v0, ($at) +/* 0044C124 8F818A00 */ lw $at, %got(n_fp_parm_regs)($gp) +/* 0044C128 AC240000 */ sw $a0, ($at) +/* 0044C12C 8F818A14 */ lw $at, %got(n_cg_regs)($gp) +/* 0044C130 AC220000 */ sw $v0, ($at) +/* 0044C134 8F818A18 */ lw $at, %got(n_fp_cg_regs)($gp) +/* 0044C138 AC220000 */ sw $v0, ($at) +/* 0044C13C 8F818A04 */ lw $at, %got(n_saved_regs)($gp) +/* 0044C140 AC2C0000 */ sw $t4, ($at) +/* 0044C144 8F818A08 */ lw $at, %got(n_saved_fp_regs)($gp) +/* 0044C148 AC230000 */ sw $v1, ($at) +/* 0044C14C 8F818A0C */ lw $at, %got(n_unsaved_regs)($gp) +/* 0044C150 AC230000 */ sw $v1, ($at) +/* 0044C154 8F818A10 */ lw $at, %got(n_unsaved_fp_regs)($gp) +/* 0044C158 AC240000 */ sw $a0, ($at) +/* 0044C15C 8F8189BC */ lw $at, %got(apc)($gp) +/* 0044C160 A0200000 */ sb $zero, ($at) +/* 0044C164 8F8189C0 */ lw $at, %got(align8)($gp) +/* 0044C168 A0200000 */ sb $zero, ($at) +/* 0044C16C 8F8189C4 */ lw $at, %got(align16)($gp) +/* 0044C170 A0200000 */ sb $zero, ($at) +/* 0044C174 8F8189C8 */ lw $at, %got(align32)($gp) +/* 0044C178 A0200000 */ sb $zero, ($at) +/* 0044C17C 8F8189CC */ lw $at, %got(align64)($gp) +/* 0044C180 A0200000 */ sb $zero, ($at) +/* 0044C184 8F818A1C */ lw $at, %got(ufsa)($gp) +/* 0044C188 A0200000 */ sb $zero, ($at) +/* 0044C18C 8F818A20 */ lw $at, %got(ufsm)($gp) +/* 0044C190 A0200000 */ sb $zero, ($at) +/* 0044C194 8F818A40 */ lw $at, %got(tail_call_opt)($gp) +/* 0044C198 A0350000 */ sb $s5, ($at) +/* 0044C19C 8F818A4C */ lw $at, %got(sgi_unsigned_conv)($gp) +/* 0044C1A0 A0350000 */ sb $s5, ($at) +/* 0044C1A4 8F8189B0 */ lw $at, %got(no_jal_use_jalr_only)($gp) +/* 0044C1A8 A0200000 */ sb $zero, ($at) +/* 0044C1AC 8F818A9C */ lw $at, %got(first_ent)($gp) +/* 0044C1B0 A0350000 */ sb $s5, ($at) +/* 0044C1B4 8F818964 */ lw $at, %got(print_warnings)($gp) +/* 0044C1B8 A0350000 */ sb $s5, ($at) +/* 0044C1BC 8F818A8C */ lw $at, %got(max_stack)($gp) +/* 0044C1C0 AC2D0000 */ sw $t5, ($at) +/* 0044C1C4 8F8189D8 */ lw $at, %got(opcode_arch)($gp) +/* 0044C1C8 A0200000 */ sb $zero, ($at) +/* 0044C1CC 8F8189DC */ lw $at, %got(basicint)($gp) +/* 0044C1D0 A0200000 */ sb $zero, ($at) +/* 0044C1D4 8F818A28 */ lw $at, %got(addr_dtype)($gp) +/* 0044C1D8 A0200000 */ sb $zero, ($at) +/* 0044C1DC 8F818A2C */ lw $at, %got(unitsperaddr)($gp) +/* 0044C1E0 AC220000 */ sw $v0, ($at) +/* 0044C1E4 8F818A24 */ lw $at, %got(fp32regs)($gp) +/* 0044C1E8 A0200000 */ sb $zero, ($at) +/* 0044C1EC 2A010002 */ slti $at, $s0, 2 +/* 0044C1F0 54200712 */ bnel $at, $zero, .L0044DE3C +/* 0044C1F4 93AB15C0 */ lbu $t3, 0x15c0($sp) +/* 0044C1F8 27BE0107 */ addiu $fp, $sp, 0x107 +/* 0044C1FC 8F968950 */ lw $s6, %got(err)($gp) +.L0044C200: +/* 0044C200 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C204 02402025 */ move $a0, $s2 +/* 0044C208 02602825 */ move $a1, $s3 +/* 0044C20C 0320F809 */ jalr $t9 +/* 0044C210 24060400 */ li $a2, 1024 +/* 0044C214 93A8053E */ lbu $t0, 0x53e($sp) +/* 0044C218 2401002D */ li $at, 45 +/* 0044C21C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C220 150106F0 */ bne $t0, $at, .L0044DDE4 +/* 0044C224 02402025 */ move $a0, $s2 +/* 0044C228 93A2053F */ lbu $v0, 0x53f($sp) +/* 0044C22C 2C410037 */ sltiu $at, $v0, 0x37 +/* 0044C230 142006DA */ bnez $at, .L0044DD9C +/* 0044C234 2C410050 */ sltiu $at, $v0, 0x50 +/* 0044C238 142006E0 */ bnez $at, .L0044DDBC +/* 0044C23C 2459FFBB */ addiu $t9, $v0, -0x45 +/* 0044C240 244EFF9F */ addiu $t6, $v0, -0x61 +/* 0044C244 2DC10017 */ sltiu $at, $t6, 0x17 +/* 0044C248 102006BD */ beqz $at, .L0044DD40 +/* 0044C24C 00000000 */ nop +/* 0044C250 8F818038 */ lw $at, %got(jtbl_1000F4B4)($gp) +/* 0044C254 000E7080 */ sll $t6, $t6, 2 +/* 0044C258 002E0821 */ addu $at, $at, $t6 +/* 0044C25C 8C2EF4B4 */ lw $t6, %lo(jtbl_1000F4B4)($at) +/* 0044C260 01DC7021 */ addu $t6, $t6, $gp +/* 0044C264 01C00008 */ jr $t6 +/* 0044C268 00000000 */ nop +.L0044C26C: +/* 0044C26C 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C270 24010061 */ li $at, 97 +/* 0044C274 93B90541 */ lbu $t9, 0x541($sp) +/* 0044C278 146106B1 */ bne $v1, $at, .L0044DD40 +/* 0044C27C 2401006C */ li $at, 108 +/* 0044C280 172106AF */ bne $t9, $at, .L0044DD40 +/* 0044C284 93A20542 */ lbu $v0, 0x542($sp) +/* 0044C288 24010072 */ li $at, 114 +/* 0044C28C 144106AC */ bne $v0, $at, .L0044DD40 +/* 0044C290 00000000 */ nop +/* 0044C294 8F8189B0 */ lw $at, %got(no_jal_use_jalr_only)($gp) +/* 0044C298 100006E2 */ b .L0044DE24 +/* 0044C29C A0350000 */ sb $s5, ($at) +.L0044C2A0: +/* 0044C2A0 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C2A4 264F0001 */ addiu $t7, $s2, 1 +/* 0044C2A8 147406A5 */ bne $v1, $s4, .L0044DD40 +/* 0044C2AC 00000000 */ nop +/* 0044C2B0 15F00014 */ bne $t7, $s0, .L0044C304 +/* 0044C2B4 2406001A */ li $a2, 26 +/* 0044C2B8 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C2BC 8F858038 */ lw $a1, %got(RO_1000EFEC)($gp) +/* 0044C2C0 8EC40000 */ lw $a0, ($s6) +/* 0044C2C4 2407001A */ li $a3, 26 +/* 0044C2C8 0320F809 */ jalr $t9 +/* 0044C2CC 24A5EFEC */ addiu $a1, %lo(RO_1000EFEC) # addiu $a1, $a1, -0x1014 +/* 0044C2D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C2D4 8EC40000 */ lw $a0, ($s6) +/* 0044C2D8 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C2DC 0320F809 */ jalr $t9 +/* 0044C2E0 00000000 */ nop +/* 0044C2E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C2E8 24040001 */ li $a0, 1 +/* 0044C2EC 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C2F0 0320F809 */ jalr $t9 +/* 0044C2F4 00000000 */ nop +/* 0044C2F8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C2FC 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C300 8E100000 */ lw $s0, ($s0) +.L0044C304: +/* 0044C304 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C308 26520001 */ addiu $s2, $s2, 1 +/* 0044C30C 02402025 */ move $a0, $s2 +/* 0044C310 27A511C0 */ addiu $a1, $sp, 0x11c0 +/* 0044C314 0320F809 */ jalr $t9 +/* 0044C318 24060400 */ li $a2, 1024 +/* 0044C31C 100006C1 */ b .L0044DE24 +/* 0044C320 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C324: +/* 0044C324 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C328 24010066 */ li $at, 102 +/* 0044C32C 93B80541 */ lbu $t8, 0x541($sp) +/* 0044C330 1461000F */ bne $v1, $at, .L0044C370 +/* 0044C334 24010073 */ li $at, 115 +/* 0044C338 1701000D */ bne $t8, $at, .L0044C370 +/* 0044C33C 93A20542 */ lbu $v0, 0x542($sp) +/* 0044C340 24010061 */ li $at, 97 +/* 0044C344 54410005 */ bnel $v0, $at, .L0044C35C +/* 0044C348 2401006D */ li $at, 109 +/* 0044C34C 8F818A1C */ lw $at, %got(ufsa)($gp) +/* 0044C350 100006B4 */ b .L0044DE24 +/* 0044C354 A0350000 */ sb $s5, ($at) +/* 0044C358 2401006D */ li $at, 109 +.L0044C35C: +/* 0044C35C 14410678 */ bne $v0, $at, .L0044DD40 +/* 0044C360 00000000 */ nop +/* 0044C364 8F818A20 */ lw $at, %got(ufsm)($gp) +/* 0044C368 100006AE */ b .L0044DE24 +/* 0044C36C A0350000 */ sb $s5, ($at) +.L0044C370: +/* 0044C370 14740673 */ bne $v1, $s4, .L0044DD40 +/* 0044C374 26490001 */ addiu $t1, $s2, 1 +/* 0044C378 15300014 */ bne $t1, $s0, .L0044C3CC +/* 0044C37C 2406001A */ li $a2, 26 +/* 0044C380 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C384 8F858038 */ lw $a1, %got(RO_1000EFD2)($gp) +/* 0044C388 8EC40000 */ lw $a0, ($s6) +/* 0044C38C 2407001A */ li $a3, 26 +/* 0044C390 0320F809 */ jalr $t9 +/* 0044C394 24A5EFD2 */ addiu $a1, %lo(RO_1000EFD2) # addiu $a1, $a1, -0x102e +/* 0044C398 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C39C 8EC40000 */ lw $a0, ($s6) +/* 0044C3A0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C3A4 0320F809 */ jalr $t9 +/* 0044C3A8 00000000 */ nop +/* 0044C3AC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C3B0 24040001 */ li $a0, 1 +/* 0044C3B4 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C3B8 0320F809 */ jalr $t9 +/* 0044C3BC 00000000 */ nop +/* 0044C3C0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C3C4 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C3C8 8E100000 */ lw $s0, ($s0) +.L0044C3CC: +/* 0044C3CC 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C3D0 26520001 */ addiu $s2, $s2, 1 +/* 0044C3D4 02402025 */ move $a0, $s2 +/* 0044C3D8 27A509C0 */ addiu $a1, $sp, 0x9c0 +/* 0044C3DC 0320F809 */ jalr $t9 +/* 0044C3E0 24060400 */ li $a2, 1024 +/* 0044C3E4 1000068F */ b .L0044DE24 +/* 0044C3E8 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C3EC: +/* 0044C3EC 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C3F0 264A0001 */ addiu $t2, $s2, 1 +/* 0044C3F4 14740652 */ bne $v1, $s4, .L0044DD40 +/* 0044C3F8 00000000 */ nop +/* 0044C3FC 15500014 */ bne $t2, $s0, .L0044C450 +/* 0044C400 2406001A */ li $a2, 26 +/* 0044C404 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C408 8F858038 */ lw $a1, %got(RO_1000EFB8)($gp) +/* 0044C40C 8EC40000 */ lw $a0, ($s6) +/* 0044C410 2407001A */ li $a3, 26 +/* 0044C414 0320F809 */ jalr $t9 +/* 0044C418 24A5EFB8 */ addiu $a1, %lo(RO_1000EFB8) # addiu $a1, $a1, -0x1048 +/* 0044C41C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C420 8EC40000 */ lw $a0, ($s6) +/* 0044C424 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C428 0320F809 */ jalr $t9 +/* 0044C42C 00000000 */ nop +/* 0044C430 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C434 24040001 */ li $a0, 1 +/* 0044C438 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C43C 0320F809 */ jalr $t9 +/* 0044C440 00000000 */ nop +/* 0044C444 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C448 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C44C 8E100000 */ lw $s0, ($s0) +.L0044C450: +/* 0044C450 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C454 8F818994 */ lw $at, %got(ascii_out)($gp) +/* 0044C458 26520001 */ addiu $s2, $s2, 1 +/* 0044C45C 240B0001 */ li $t3, 1 +/* 0044C460 02402025 */ move $a0, $s2 +/* 0044C464 27A50DC0 */ addiu $a1, $sp, 0xdc0 +/* 0044C468 24060400 */ li $a2, 1024 +/* 0044C46C 0320F809 */ jalr $t9 +/* 0044C470 A02B0000 */ sb $t3, ($at) +/* 0044C474 1000066B */ b .L0044DE24 +/* 0044C478 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C47C: +/* 0044C47C 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C480 24010065 */ li $at, 101 +/* 0044C484 93AC0541 */ lbu $t4, 0x541($sp) +/* 0044C488 14610025 */ bne $v1, $at, .L0044C520 +/* 0044C48C 2401006D */ li $at, 109 +/* 0044C490 15810023 */ bne $t4, $at, .L0044C520 +/* 0044C494 93A20542 */ lbu $v0, 0x542($sp) +/* 0044C498 24010070 */ li $at, 112 +/* 0044C49C 14410020 */ bne $v0, $at, .L0044C520 +/* 0044C4A0 240D0001 */ li $t5, 1 +/* 0044C4A4 26480001 */ addiu $t0, $s2, 1 +/* 0044C4A8 15100015 */ bne $t0, $s0, .L0044C500 +/* 0044C4AC A3AD0515 */ sb $t5, 0x515($sp) +/* 0044C4B0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C4B4 8F858038 */ lw $a1, %got(RO_1000EF9B)($gp) +/* 0044C4B8 8EC40000 */ lw $a0, ($s6) +/* 0044C4BC 2406001D */ li $a2, 29 +/* 0044C4C0 2407001D */ li $a3, 29 +/* 0044C4C4 0320F809 */ jalr $t9 +/* 0044C4C8 24A5EF9B */ addiu $a1, %lo(RO_1000EF9B) # addiu $a1, $a1, -0x1065 +/* 0044C4CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C4D0 8EC40000 */ lw $a0, ($s6) +/* 0044C4D4 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C4D8 0320F809 */ jalr $t9 +/* 0044C4DC 00000000 */ nop +/* 0044C4E0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C4E4 24040001 */ li $a0, 1 +/* 0044C4E8 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C4EC 0320F809 */ jalr $t9 +/* 0044C4F0 00000000 */ nop +/* 0044C4F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C4F8 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C4FC 8E100000 */ lw $s0, ($s0) +.L0044C500: +/* 0044C500 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C504 26520001 */ addiu $s2, $s2, 1 +/* 0044C508 02402025 */ move $a0, $s2 +/* 0044C50C 27A519C8 */ addiu $a1, $sp, 0x19c8 +/* 0044C510 0320F809 */ jalr $t9 +/* 0044C514 24060400 */ li $a2, 1024 +/* 0044C518 10000642 */ b .L0044DE24 +/* 0044C51C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C520: +/* 0044C520 24010072 */ li $at, 114 +/* 0044C524 14610010 */ bne $v1, $at, .L0044C568 +/* 0044C528 93A20542 */ lbu $v0, 0x542($sp) +/* 0044C52C 93AE0541 */ lbu $t6, 0x541($sp) +/* 0044C530 24010061 */ li $at, 97 +/* 0044C534 15C1000C */ bne $t6, $at, .L0044C568 +/* 0044C538 24010070 */ li $at, 112 +/* 0044C53C 1441000A */ bne $v0, $at, .L0044C568 +/* 0044C540 93B90543 */ lbu $t9, 0x543($sp) +/* 0044C544 24010075 */ li $at, 117 +/* 0044C548 17210007 */ bne $t9, $at, .L0044C568 +/* 0044C54C 93AF0544 */ lbu $t7, 0x544($sp) +/* 0044C550 24010076 */ li $at, 118 +/* 0044C554 15E10004 */ bne $t7, $at, .L0044C568 +/* 0044C558 00000000 */ nop +/* 0044C55C 8F818A88 */ lw $at, %got(init_dynmem)($gp) +/* 0044C560 10000630 */ b .L0044DE24 +/* 0044C564 A0350000 */ sb $s5, ($at) +.L0044C568: +/* 0044C568 147405F5 */ bne $v1, $s4, .L0044DD40 +/* 0044C56C 26580001 */ addiu $t8, $s2, 1 +/* 0044C570 17100014 */ bne $t8, $s0, .L0044C5C4 +/* 0044C574 2406001A */ li $a2, 26 +/* 0044C578 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C57C 8F858038 */ lw $a1, %got(RO_1000EF81)($gp) +/* 0044C580 8EC40000 */ lw $a0, ($s6) +/* 0044C584 2407001A */ li $a3, 26 +/* 0044C588 0320F809 */ jalr $t9 +/* 0044C58C 24A5EF81 */ addiu $a1, %lo(RO_1000EF81) # addiu $a1, $a1, -0x107f +/* 0044C590 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C594 8EC40000 */ lw $a0, ($s6) +/* 0044C598 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C59C 0320F809 */ jalr $t9 +/* 0044C5A0 00000000 */ nop +/* 0044C5A4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C5A8 24040001 */ li $a0, 1 +/* 0044C5AC 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C5B0 0320F809 */ jalr $t9 +/* 0044C5B4 00000000 */ nop +/* 0044C5B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C5BC 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C5C0 8E100000 */ lw $s0, ($s0) +.L0044C5C4: +/* 0044C5C4 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C5C8 26520001 */ addiu $s2, $s2, 1 +/* 0044C5CC 02402025 */ move $a0, $s2 +/* 0044C5D0 27A50940 */ addiu $a1, $sp, 0x940 +/* 0044C5D4 0320F809 */ jalr $t9 +/* 0044C5D8 24060080 */ li $a2, 128 +/* 0044C5DC 10000611 */ b .L0044DE24 +/* 0044C5E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C5E4: +/* 0044C5E4 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C5E8 24090001 */ li $t1, 1 +/* 0044C5EC 264A0001 */ addiu $t2, $s2, 1 +/* 0044C5F0 1474001F */ bne $v1, $s4, .L0044C670 +/* 0044C5F4 24010078 */ li $at, 120 +/* 0044C5F8 15500015 */ bne $t2, $s0, .L0044C650 +/* 0044C5FC A3A9093F */ sb $t1, 0x93f($sp) +/* 0044C600 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C604 8F858038 */ lw $a1, %got(RO_1000EF67)($gp) +/* 0044C608 8EC40000 */ lw $a0, ($s6) +/* 0044C60C 2406001A */ li $a2, 26 +/* 0044C610 2407001A */ li $a3, 26 +/* 0044C614 0320F809 */ jalr $t9 +/* 0044C618 24A5EF67 */ addiu $a1, %lo(RO_1000EF67) # addiu $a1, $a1, -0x1099 +/* 0044C61C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C620 8EC40000 */ lw $a0, ($s6) +/* 0044C624 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C628 0320F809 */ jalr $t9 +/* 0044C62C 00000000 */ nop +/* 0044C630 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C634 24040001 */ li $a0, 1 +/* 0044C638 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C63C 0320F809 */ jalr $t9 +/* 0044C640 00000000 */ nop +/* 0044C644 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C648 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C64C 8E100000 */ lw $s0, ($s0) +.L0044C650: +/* 0044C650 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C654 26520001 */ addiu $s2, $s2, 1 +/* 0044C658 02402025 */ move $a0, $s2 +/* 0044C65C 27A51DD0 */ addiu $a1, $sp, 0x1dd0 +/* 0044C660 0320F809 */ jalr $t9 +/* 0044C664 24060400 */ li $a2, 1024 +/* 0044C668 100005EE */ b .L0044DE24 +/* 0044C66C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C670: +/* 0044C670 146105B3 */ bne $v1, $at, .L0044DD40 +/* 0044C674 93AB0541 */ lbu $t3, 0x541($sp) +/* 0044C678 24010063 */ li $at, 99 +/* 0044C67C 156105B0 */ bne $t3, $at, .L0044DD40 +/* 0044C680 93A20542 */ lbu $v0, 0x542($sp) +/* 0044C684 24010070 */ li $at, 112 +/* 0044C688 144105AD */ bne $v0, $at, .L0044DD40 +/* 0044C68C 93AC0543 */ lbu $t4, 0x543($sp) +/* 0044C690 24010074 */ li $at, 116 +/* 0044C694 158105AA */ bne $t4, $at, .L0044DD40 +/* 0044C698 93AD0544 */ lbu $t5, 0x544($sp) +/* 0044C69C 15B405A8 */ bne $t5, $s4, .L0044DD40 +/* 0044C6A0 00000000 */ nop +/* 0044C6A4 8F81896C */ lw $at, %got(excpt)($gp) +/* 0044C6A8 100005DE */ b .L0044DE24 +/* 0044C6AC A0350000 */ sb $s5, ($at) +.L0044C6B0: +/* 0044C6B0 8F888038 */ lw $t0, %got(RO_1000EF47)($gp) +/* 0044C6B4 02602025 */ move $a0, $s3 +/* 0044C6B8 02E01025 */ move $v0, $s7 +/* 0044C6BC 2508EF47 */ addiu $t0, %lo(RO_1000EF47) # addiu $t0, $t0, -0x10b9 +/* 0044C6C0 89190000 */ lwl $t9, ($t0) +/* 0044C6C4 99190003 */ lwr $t9, 3($t0) +/* 0044C6C8 ABB90004 */ swl $t9, 4($sp) +/* 0044C6CC BBB90007 */ swr $t9, 7($sp) +/* 0044C6D0 890E0004 */ lwl $t6, 4($t0) +/* 0044C6D4 990E0007 */ lwr $t6, 7($t0) +/* 0044C6D8 8FA50004 */ lw $a1, 4($sp) +/* 0044C6DC ABAE0008 */ swl $t6, 8($sp) +/* 0044C6E0 BBAE000B */ swr $t6, 0xb($sp) +/* 0044C6E4 89190008 */ lwl $t9, 8($t0) +/* 0044C6E8 9919000B */ lwr $t9, 0xb($t0) +/* 0044C6EC 8FA60008 */ lw $a2, 8($sp) +/* 0044C6F0 ABB9000C */ swl $t9, 0xc($sp) +/* 0044C6F4 BBB9000F */ swr $t9, 0xf($sp) +/* 0044C6F8 890E000C */ lwl $t6, 0xc($t0) +/* 0044C6FC 990E000F */ lwr $t6, 0xf($t0) +/* 0044C700 8FA7000C */ lw $a3, 0xc($sp) +/* 0044C704 ABAE0010 */ swl $t6, 0x10($sp) +/* 0044C708 BBAE0013 */ swr $t6, 0x13($sp) +/* 0044C70C 89190010 */ lwl $t9, 0x10($t0) +/* 0044C710 99190013 */ lwr $t9, 0x13($t0) +/* 0044C714 ABB90014 */ swl $t9, 0x14($sp) +/* 0044C718 BBB90017 */ swr $t9, 0x17($sp) +/* 0044C71C 890E0014 */ lwl $t6, 0x14($t0) +/* 0044C720 990E0017 */ lwr $t6, 0x17($t0) +/* 0044C724 ABAE0018 */ swl $t6, 0x18($sp) +/* 0044C728 BBAE001B */ swr $t6, 0x1b($sp) +/* 0044C72C 89190018 */ lwl $t9, 0x18($t0) +/* 0044C730 9919001B */ lwr $t9, 0x1b($t0) +/* 0044C734 ABB9001C */ swl $t9, 0x1c($sp) +/* 0044C738 BBB9001F */ swr $t9, 0x1f($sp) +/* 0044C73C 890E001C */ lwl $t6, 0x1c($t0) +/* 0044C740 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044C744 990E001F */ lwr $t6, 0x1f($t0) +/* 0044C748 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044C74C ABAE0020 */ swl $t6, 0x20($sp) +/* 0044C750 0320F809 */ jalr $t9 +/* 0044C754 BBAE0023 */ swr $t6, 0x23($sp) +/* 0044C758 10400007 */ beqz $v0, .L0044C778 +/* 0044C75C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C760 8F8189B8 */ lw $at, %got(isa)($gp) +/* 0044C764 240F0002 */ li $t7, 2 +/* 0044C768 A02F0000 */ sb $t7, ($at) +/* 0044C76C 8F8189D8 */ lw $at, %got(opcode_arch)($gp) +/* 0044C770 10000036 */ b .L0044C84C +/* 0044C774 A0350000 */ sb $s5, ($at) +.L0044C778: +/* 0044C778 8F988038 */ lw $t8, %got(RO_1000EF27)($gp) +/* 0044C77C 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044C780 02602025 */ move $a0, $s3 +/* 0044C784 2718EF27 */ addiu $t8, %lo(RO_1000EF27) # addiu $t8, $t8, -0x10d9 +/* 0044C788 8B0A0000 */ lwl $t2, ($t8) +/* 0044C78C 9B0A0003 */ lwr $t2, 3($t8) +/* 0044C790 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044C794 02E01025 */ move $v0, $s7 +/* 0044C798 ABAA0004 */ swl $t2, 4($sp) +/* 0044C79C BBAA0007 */ swr $t2, 7($sp) +/* 0044C7A0 8B090004 */ lwl $t1, 4($t8) +/* 0044C7A4 9B090007 */ lwr $t1, 7($t8) +/* 0044C7A8 8FA50004 */ lw $a1, 4($sp) +/* 0044C7AC ABA90008 */ swl $t1, 8($sp) +/* 0044C7B0 BBA9000B */ swr $t1, 0xb($sp) +/* 0044C7B4 8B0A0008 */ lwl $t2, 8($t8) +/* 0044C7B8 9B0A000B */ lwr $t2, 0xb($t8) +/* 0044C7BC 8FA60008 */ lw $a2, 8($sp) +/* 0044C7C0 ABAA000C */ swl $t2, 0xc($sp) +/* 0044C7C4 BBAA000F */ swr $t2, 0xf($sp) +/* 0044C7C8 8B09000C */ lwl $t1, 0xc($t8) +/* 0044C7CC 9B09000F */ lwr $t1, 0xf($t8) +/* 0044C7D0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044C7D4 ABA90010 */ swl $t1, 0x10($sp) +/* 0044C7D8 BBA90013 */ swr $t1, 0x13($sp) +/* 0044C7DC 8B0A0010 */ lwl $t2, 0x10($t8) +/* 0044C7E0 9B0A0013 */ lwr $t2, 0x13($t8) +/* 0044C7E4 ABAA0014 */ swl $t2, 0x14($sp) +/* 0044C7E8 BBAA0017 */ swr $t2, 0x17($sp) +/* 0044C7EC 8B090014 */ lwl $t1, 0x14($t8) +/* 0044C7F0 9B090017 */ lwr $t1, 0x17($t8) +/* 0044C7F4 ABA90018 */ swl $t1, 0x18($sp) +/* 0044C7F8 BBA9001B */ swr $t1, 0x1b($sp) +/* 0044C7FC 8B0A0018 */ lwl $t2, 0x18($t8) +/* 0044C800 9B0A001B */ lwr $t2, 0x1b($t8) +/* 0044C804 ABAA001C */ swl $t2, 0x1c($sp) +/* 0044C808 BBAA001F */ swr $t2, 0x1f($sp) +/* 0044C80C 8B09001C */ lwl $t1, 0x1c($t8) +/* 0044C810 9B09001F */ lwr $t1, 0x1f($t8) +/* 0044C814 ABA90020 */ swl $t1, 0x20($sp) +/* 0044C818 0320F809 */ jalr $t9 +/* 0044C81C BBA90023 */ swr $t1, 0x23($sp) +/* 0044C820 10400007 */ beqz $v0, .L0044C840 +/* 0044C824 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C828 8F9981B0 */ lw $t9, %call16(set_domtag)($gp) +/* 0044C82C 02A02025 */ move $a0, $s5 +/* 0044C830 0320F809 */ jalr $t9 +/* 0044C834 00000000 */ nop +/* 0044C838 10000004 */ b .L0044C84C +/* 0044C83C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C840: +/* 0044C840 8F8189E0 */ lw $at, %got(debug_ugen)($gp) +/* 0044C844 A3B5093F */ sb $s5, 0x93f($sp) +/* 0044C848 A0350000 */ sb $s5, ($at) +.L0044C84C: +/* 0044C84C 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C850 10000574 */ b .L0044DE24 +/* 0044C854 8E100000 */ lw $s0, ($s0) +.L0044C858: +/* 0044C858 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C85C 2401004C */ li $at, 76 +/* 0044C860 54610005 */ bnel $v1, $at, .L0044C878 +/* 0044C864 24010042 */ li $at, 66 +/* 0044C868 8F81898C */ lw $at, %got(lsb_first)($gp) +/* 0044C86C 1000056D */ b .L0044DE24 +/* 0044C870 A0350000 */ sb $s5, ($at) +/* 0044C874 24010042 */ li $at, 66 +.L0044C878: +/* 0044C878 14610531 */ bne $v1, $at, .L0044DD40 +/* 0044C87C 00000000 */ nop +/* 0044C880 8F81898C */ lw $at, %got(lsb_first)($gp) +/* 0044C884 10000567 */ b .L0044DE24 +/* 0044C888 A0200000 */ sb $zero, ($at) +.L0044C88C: +/* 0044C88C 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C890 02803025 */ move $a2, $s4 +/* 0044C894 02803825 */ move $a3, $s4 +/* 0044C898 1474000F */ bne $v1, $s4, .L0044C8D8 +/* 0044C89C 2C610030 */ sltiu $at, $v1, 0x30 +/* 0044C8A0 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C8A4 8F858038 */ lw $a1, %got(RO_1000EF07)($gp) +/* 0044C8A8 8EC40000 */ lw $a0, ($s6) +/* 0044C8AC 0320F809 */ jalr $t9 +/* 0044C8B0 24A5EF07 */ addiu $a1, %lo(RO_1000EF07) # addiu $a1, $a1, -0x10f9 +/* 0044C8B4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C8B8 8EC40000 */ lw $a0, ($s6) +/* 0044C8BC 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C8C0 0320F809 */ jalr $t9 +/* 0044C8C4 00000000 */ nop +/* 0044C8C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C8CC 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C8D0 10000554 */ b .L0044DE24 +/* 0044C8D4 8E100000 */ lw $s0, ($s0) +.L0044C8D8: +/* 0044C8D8 14200519 */ bnez $at, .L0044DD40 +/* 0044C8DC 2C610035 */ sltiu $at, $v1, 0x35 +/* 0044C8E0 10200517 */ beqz $at, .L0044DD40 +/* 0044C8E4 246BFFD0 */ addiu $t3, $v1, -0x30 +/* 0044C8E8 1000054E */ b .L0044DE24 +/* 0044C8EC A3AB051C */ sb $t3, 0x51c($sp) +.L0044C8F0: +/* 0044C8F0 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C8F4 02803025 */ move $a2, $s4 +/* 0044C8F8 02803825 */ move $a3, $s4 +/* 0044C8FC 1474000F */ bne $v1, $s4, .L0044C93C +/* 0044C900 2C610030 */ sltiu $at, $v1, 0x30 +/* 0044C904 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C908 8F858038 */ lw $a1, %got(RO_1000EEE7)($gp) +/* 0044C90C 8EC40000 */ lw $a0, ($s6) +/* 0044C910 0320F809 */ jalr $t9 +/* 0044C914 24A5EEE7 */ addiu $a1, %lo(RO_1000EEE7) # addiu $a1, $a1, -0x1119 +/* 0044C918 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C91C 8EC40000 */ lw $a0, ($s6) +/* 0044C920 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C924 0320F809 */ jalr $t9 +/* 0044C928 00000000 */ nop +/* 0044C92C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C930 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044C934 1000053B */ b .L0044DE24 +/* 0044C938 8E100000 */ lw $s0, ($s0) +.L0044C93C: +/* 0044C93C 14200500 */ bnez $at, .L0044DD40 +/* 0044C940 2C610035 */ sltiu $at, $v1, 0x35 +/* 0044C944 102004FE */ beqz $at, .L0044DD40 +/* 0044C948 246CFFD0 */ addiu $t4, $v1, -0x30 +/* 0044C94C 10000535 */ b .L0044DE24 +/* 0044C950 A3AC0518 */ sb $t4, 0x518($sp) +.L0044C954: +/* 0044C954 93A30540 */ lbu $v1, 0x540($sp) +/* 0044C958 264D0001 */ addiu $t5, $s2, 1 +/* 0044C95C 147404F8 */ bne $v1, $s4, .L0044DD40 +/* 0044C960 00000000 */ nop +/* 0044C964 15B00012 */ bne $t5, $s0, .L0044C9B0 +/* 0044C968 02803025 */ move $a2, $s4 +/* 0044C96C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044C970 8F858038 */ lw $a1, %got(RO_1000EEC7)($gp) +/* 0044C974 8EC40000 */ lw $a0, ($s6) +/* 0044C978 02803825 */ move $a3, $s4 +/* 0044C97C 0320F809 */ jalr $t9 +/* 0044C980 24A5EEC7 */ addiu $a1, %lo(RO_1000EEC7) # addiu $a1, $a1, -0x1139 +/* 0044C984 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C988 8EC40000 */ lw $a0, ($s6) +/* 0044C98C 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044C990 0320F809 */ jalr $t9 +/* 0044C994 00000000 */ nop +/* 0044C998 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C99C 24040001 */ li $a0, 1 +/* 0044C9A0 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044C9A4 0320F809 */ jalr $t9 +/* 0044C9A8 00000000 */ nop +/* 0044C9AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044C9B0: +/* 0044C9B0 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044C9B4 26520001 */ addiu $s2, $s2, 1 +/* 0044C9B8 02402025 */ move $a0, $s2 +/* 0044C9BC 02602825 */ move $a1, $s3 +/* 0044C9C0 0320F809 */ jalr $t9 +/* 0044C9C4 24060400 */ li $a2, 1024 +/* 0044C9C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C9CC 02602025 */ move $a0, $s3 +/* 0044C9D0 02E01025 */ move $v0, $s7 +/* 0044C9D4 8F998028 */ lw $t9, %got(func_0044B290)($gp) +/* 0044C9D8 2739B290 */ addiu $t9, %lo(func_0044B290) # addiu $t9, $t9, -0x4d70 +/* 0044C9DC 0320F809 */ jalr $t9 +/* 0044C9E0 00000000 */ nop +/* 0044C9E4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044C9E8 8F8889E4 */ lw $t0, %got(pic_level)($gp) +/* 0044C9EC 8F818990 */ lw $at, %got(sdata_max)($gp) +/* 0044C9F0 8D080000 */ lw $t0, ($t0) +/* 0044C9F4 AC220000 */ sw $v0, ($at) +/* 0044C9F8 29010002 */ slti $at, $t0, 2 +/* 0044C9FC 14200016 */ bnez $at, .L0044CA58 +/* 0044CA00 00000000 */ nop +/* 0044CA04 8F8E8990 */ lw $t6, %got(sdata_max)($gp) +/* 0044CA08 24060025 */ li $a2, 37 +/* 0044CA0C 24070025 */ li $a3, 37 +/* 0044CA10 8DCE0000 */ lw $t6, ($t6) +/* 0044CA14 11C00010 */ beqz $t6, .L0044CA58 +/* 0044CA18 00000000 */ nop +/* 0044CA1C 8F8189EC */ lw $at, %got(saw_cap_g)($gp) +/* 0044CA20 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044CA24 8F858038 */ lw $a1, %got(RO_1000EEA2)($gp) +/* 0044CA28 A0350000 */ sb $s5, ($at) +/* 0044CA2C 8EC40000 */ lw $a0, ($s6) +/* 0044CA30 0320F809 */ jalr $t9 +/* 0044CA34 24A5EEA2 */ addiu $a1, %lo(RO_1000EEA2) # addiu $a1, $a1, -0x115e +/* 0044CA38 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CA3C 8EC40000 */ lw $a0, ($s6) +/* 0044CA40 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044CA44 0320F809 */ jalr $t9 +/* 0044CA48 00000000 */ nop +/* 0044CA4C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CA50 8F818990 */ lw $at, %got(sdata_max)($gp) +/* 0044CA54 AC200000 */ sw $zero, ($at) +.L0044CA58: +/* 0044CA58 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044CA5C 100004F1 */ b .L0044DE24 +/* 0044CA60 8E100000 */ lw $s0, ($s0) +.L0044CA64: +/* 0044CA64 93A30540 */ lbu $v1, 0x540($sp) +/* 0044CA68 24010065 */ li $at, 101 +/* 0044CA6C 93B90541 */ lbu $t9, 0x541($sp) +/* 0044CA70 146104B3 */ bne $v1, $at, .L0044DD40 +/* 0044CA74 24010067 */ li $at, 103 +/* 0044CA78 172104B1 */ bne $t9, $at, .L0044DD40 +/* 0044CA7C 93B00542 */ lbu $s0, 0x542($sp) +/* 0044CA80 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044CA84 26520001 */ addiu $s2, $s2, 1 +/* 0044CA88 02402025 */ move $a0, $s2 +/* 0044CA8C 02602825 */ move $a1, $s3 +/* 0044CA90 0320F809 */ jalr $t9 +/* 0044CA94 24060400 */ li $a2, 1024 +/* 0044CA98 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CA9C 02602025 */ move $a0, $s3 +/* 0044CAA0 02E01025 */ move $v0, $s7 +/* 0044CAA4 8F998028 */ lw $t9, %got(func_0044B290)($gp) +/* 0044CAA8 2739B290 */ addiu $t9, %lo(func_0044B290) # addiu $t9, $t9, -0x4d70 +/* 0044CAAC 0320F809 */ jalr $t9 +/* 0044CAB0 00000000 */ nop +/* 0044CAB4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CAB8 00402825 */ move $a1, $v0 +/* 0044CABC 02E01025 */ move $v0, $s7 +/* 0044CAC0 8F998028 */ lw $t9, %got(func_0044B384)($gp) +/* 0044CAC4 02002025 */ move $a0, $s0 +/* 0044CAC8 2739B384 */ addiu $t9, %lo(func_0044B384) # addiu $t9, $t9, -0x4c7c +/* 0044CACC 0320F809 */ jalr $t9 +/* 0044CAD0 00000000 */ nop +/* 0044CAD4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CAD8 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044CADC 100004D1 */ b .L0044DE24 +/* 0044CAE0 8E100000 */ lw $s0, ($s0) +.L0044CAE4: +/* 0044CAE4 93A30540 */ lbu $v1, 0x540($sp) +/* 0044CAE8 24010072 */ li $at, 114 +/* 0044CAEC 93AF0541 */ lbu $t7, 0x541($sp) +/* 0044CAF0 1461001D */ bne $v1, $at, .L0044CB68 +/* 0044CAF4 24010065 */ li $at, 101 +/* 0044CAF8 15E1001B */ bne $t7, $at, .L0044CB68 +/* 0044CAFC 93A20542 */ lbu $v0, 0x542($sp) +/* 0044CB00 24010067 */ li $at, 103 +/* 0044CB04 14410018 */ bne $v0, $at, .L0044CB68 +/* 0044CB08 93B00543 */ lbu $s0, 0x543($sp) +/* 0044CB0C 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044CB10 26520001 */ addiu $s2, $s2, 1 +/* 0044CB14 02402025 */ move $a0, $s2 +/* 0044CB18 02602825 */ move $a1, $s3 +/* 0044CB1C 0320F809 */ jalr $t9 +/* 0044CB20 24060400 */ li $a2, 1024 +/* 0044CB24 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CB28 02602025 */ move $a0, $s3 +/* 0044CB2C 02E01025 */ move $v0, $s7 +/* 0044CB30 8F998028 */ lw $t9, %got(func_0044B290)($gp) +/* 0044CB34 2739B290 */ addiu $t9, %lo(func_0044B290) # addiu $t9, $t9, -0x4d70 +/* 0044CB38 0320F809 */ jalr $t9 +/* 0044CB3C 00000000 */ nop +/* 0044CB40 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CB44 00402825 */ move $a1, $v0 +/* 0044CB48 02E01025 */ move $v0, $s7 +/* 0044CB4C 8F998028 */ lw $t9, %got(func_0044B640)($gp) +/* 0044CB50 02002025 */ move $a0, $s0 +/* 0044CB54 2739B640 */ addiu $t9, %lo(func_0044B640) # addiu $t9, $t9, -0x49c0 +/* 0044CB58 0320F809 */ jalr $t9 +/* 0044CB5C 00000000 */ nop +/* 0044CB60 1000002F */ b .L0044CC20 +/* 0044CB64 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044CB68: +/* 0044CB68 8F988038 */ lw $t8, %got(RO_1000EE82)($gp) +/* 0044CB6C 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CB70 02602025 */ move $a0, $s3 +/* 0044CB74 2718EE82 */ addiu $t8, %lo(RO_1000EE82) # addiu $t8, $t8, -0x117e +/* 0044CB78 8B0A0000 */ lwl $t2, ($t8) +/* 0044CB7C 9B0A0003 */ lwr $t2, 3($t8) +/* 0044CB80 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CB84 02E01025 */ move $v0, $s7 +/* 0044CB88 ABAA0004 */ swl $t2, 4($sp) +/* 0044CB8C BBAA0007 */ swr $t2, 7($sp) +/* 0044CB90 8B090004 */ lwl $t1, 4($t8) +/* 0044CB94 9B090007 */ lwr $t1, 7($t8) +/* 0044CB98 8FA50004 */ lw $a1, 4($sp) +/* 0044CB9C ABA90008 */ swl $t1, 8($sp) +/* 0044CBA0 BBA9000B */ swr $t1, 0xb($sp) +/* 0044CBA4 8B0A0008 */ lwl $t2, 8($t8) +/* 0044CBA8 9B0A000B */ lwr $t2, 0xb($t8) +/* 0044CBAC 8FA60008 */ lw $a2, 8($sp) +/* 0044CBB0 ABAA000C */ swl $t2, 0xc($sp) +/* 0044CBB4 BBAA000F */ swr $t2, 0xf($sp) +/* 0044CBB8 8B09000C */ lwl $t1, 0xc($t8) +/* 0044CBBC 9B09000F */ lwr $t1, 0xf($t8) +/* 0044CBC0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CBC4 ABA90010 */ swl $t1, 0x10($sp) +/* 0044CBC8 BBA90013 */ swr $t1, 0x13($sp) +/* 0044CBCC 8B0A0010 */ lwl $t2, 0x10($t8) +/* 0044CBD0 9B0A0013 */ lwr $t2, 0x13($t8) +/* 0044CBD4 ABAA0014 */ swl $t2, 0x14($sp) +/* 0044CBD8 BBAA0017 */ swr $t2, 0x17($sp) +/* 0044CBDC 8B090014 */ lwl $t1, 0x14($t8) +/* 0044CBE0 9B090017 */ lwr $t1, 0x17($t8) +/* 0044CBE4 ABA90018 */ swl $t1, 0x18($sp) +/* 0044CBE8 BBA9001B */ swr $t1, 0x1b($sp) +/* 0044CBEC 8B0A0018 */ lwl $t2, 0x18($t8) +/* 0044CBF0 9B0A001B */ lwr $t2, 0x1b($t8) +/* 0044CBF4 ABAA001C */ swl $t2, 0x1c($sp) +/* 0044CBF8 BBAA001F */ swr $t2, 0x1f($sp) +/* 0044CBFC 8B09001C */ lwl $t1, 0x1c($t8) +/* 0044CC00 9B09001F */ lwr $t1, 0x1f($t8) +/* 0044CC04 ABA90020 */ swl $t1, 0x20($sp) +/* 0044CC08 0320F809 */ jalr $t9 +/* 0044CC0C BBA90023 */ swr $t1, 0x23($sp) +/* 0044CC10 1040044B */ beqz $v0, .L0044DD40 +/* 0044CC14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CC18 8F818A24 */ lw $at, %got(fp32regs)($gp) +/* 0044CC1C A0350000 */ sb $s5, ($at) +.L0044CC20: +/* 0044CC20 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044CC24 1000047F */ b .L0044DE24 +/* 0044CC28 8E100000 */ lw $s0, ($s0) +.L0044CC2C: +/* 0044CC2C 93A30540 */ lbu $v1, 0x540($sp) +/* 0044CC30 14740443 */ bne $v1, $s4, .L0044DD40 +/* 0044CC34 00000000 */ nop +/* 0044CC38 1000047A */ b .L0044DE24 +/* 0044CC3C A3B50516 */ sb $s5, 0x516($sp) +.L0044CC40: +/* 0044CC40 93A30540 */ lbu $v1, 0x540($sp) +/* 0044CC44 24010050 */ li $at, 80 +/* 0044CC48 1461043D */ bne $v1, $at, .L0044DD40 +/* 0044CC4C 00000000 */ nop +/* 0044CC50 8F818A68 */ lw $at, %got(use_real_fp_for_all)($gp) +/* 0044CC54 10000473 */ b .L0044DE24 +/* 0044CC58 A0350000 */ sb $s5, ($at) +.L0044CC5C: +/* 0044CC5C 93A30540 */ lbu $v1, 0x540($sp) +/* 0044CC60 14740437 */ bne $v1, $s4, .L0044DD40 +/* 0044CC64 00000000 */ nop +/* 0044CC68 1000046E */ b .L0044DE24 +/* 0044CC6C A3B5093E */ sb $s5, 0x93e($sp) +.L0044CC70: +/* 0044CC70 8F8B8038 */ lw $t3, %got(RO_1000EE62)($gp) +/* 0044CC74 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CC78 02602025 */ move $a0, $s3 +/* 0044CC7C 256BEE62 */ addiu $t3, %lo(RO_1000EE62) # addiu $t3, $t3, -0x119e +/* 0044CC80 896D0000 */ lwl $t5, ($t3) +/* 0044CC84 996D0003 */ lwr $t5, 3($t3) +/* 0044CC88 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CC8C 02E01025 */ move $v0, $s7 +/* 0044CC90 ABAD0004 */ swl $t5, 4($sp) +/* 0044CC94 BBAD0007 */ swr $t5, 7($sp) +/* 0044CC98 896C0004 */ lwl $t4, 4($t3) +/* 0044CC9C 996C0007 */ lwr $t4, 7($t3) +/* 0044CCA0 8FA50004 */ lw $a1, 4($sp) +/* 0044CCA4 ABAC0008 */ swl $t4, 8($sp) +/* 0044CCA8 BBAC000B */ swr $t4, 0xb($sp) +/* 0044CCAC 896D0008 */ lwl $t5, 8($t3) +/* 0044CCB0 996D000B */ lwr $t5, 0xb($t3) +/* 0044CCB4 8FA60008 */ lw $a2, 8($sp) +/* 0044CCB8 ABAD000C */ swl $t5, 0xc($sp) +/* 0044CCBC BBAD000F */ swr $t5, 0xf($sp) +/* 0044CCC0 896C000C */ lwl $t4, 0xc($t3) +/* 0044CCC4 996C000F */ lwr $t4, 0xf($t3) +/* 0044CCC8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CCCC ABAC0010 */ swl $t4, 0x10($sp) +/* 0044CCD0 BBAC0013 */ swr $t4, 0x13($sp) +/* 0044CCD4 896D0010 */ lwl $t5, 0x10($t3) +/* 0044CCD8 996D0013 */ lwr $t5, 0x13($t3) +/* 0044CCDC ABAD0014 */ swl $t5, 0x14($sp) +/* 0044CCE0 BBAD0017 */ swr $t5, 0x17($sp) +/* 0044CCE4 896C0014 */ lwl $t4, 0x14($t3) +/* 0044CCE8 996C0017 */ lwr $t4, 0x17($t3) +/* 0044CCEC ABAC0018 */ swl $t4, 0x18($sp) +/* 0044CCF0 BBAC001B */ swr $t4, 0x1b($sp) +/* 0044CCF4 896D0018 */ lwl $t5, 0x18($t3) +/* 0044CCF8 996D001B */ lwr $t5, 0x1b($t3) +/* 0044CCFC ABAD001C */ swl $t5, 0x1c($sp) +/* 0044CD00 BBAD001F */ swr $t5, 0x1f($sp) +/* 0044CD04 896C001C */ lwl $t4, 0x1c($t3) +/* 0044CD08 996C001F */ lwr $t4, 0x1f($t3) +/* 0044CD0C ABAC0020 */ swl $t4, 0x20($sp) +/* 0044CD10 0320F809 */ jalr $t9 +/* 0044CD14 BBAC0023 */ swr $t4, 0x23($sp) +/* 0044CD18 10400004 */ beqz $v0, .L0044CD2C +/* 0044CD1C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CD20 8F818A50 */ lw $at, %got(nooffsetopt)($gp) +/* 0044CD24 1000008D */ b .L0044CF5C +/* 0044CD28 A0350000 */ sb $s5, ($at) +.L0044CD2C: +/* 0044CD2C 8F888038 */ lw $t0, %got(RO_1000EE42)($gp) +/* 0044CD30 02602025 */ move $a0, $s3 +/* 0044CD34 02E01025 */ move $v0, $s7 +/* 0044CD38 2508EE42 */ addiu $t0, %lo(RO_1000EE42) # addiu $t0, $t0, -0x11be +/* 0044CD3C 89190000 */ lwl $t9, ($t0) +/* 0044CD40 99190003 */ lwr $t9, 3($t0) +/* 0044CD44 ABB90004 */ swl $t9, 4($sp) +/* 0044CD48 BBB90007 */ swr $t9, 7($sp) +/* 0044CD4C 890E0004 */ lwl $t6, 4($t0) +/* 0044CD50 990E0007 */ lwr $t6, 7($t0) +/* 0044CD54 8FA50004 */ lw $a1, 4($sp) +/* 0044CD58 ABAE0008 */ swl $t6, 8($sp) +/* 0044CD5C BBAE000B */ swr $t6, 0xb($sp) +/* 0044CD60 89190008 */ lwl $t9, 8($t0) +/* 0044CD64 9919000B */ lwr $t9, 0xb($t0) +/* 0044CD68 8FA60008 */ lw $a2, 8($sp) +/* 0044CD6C ABB9000C */ swl $t9, 0xc($sp) +/* 0044CD70 BBB9000F */ swr $t9, 0xf($sp) +/* 0044CD74 890E000C */ lwl $t6, 0xc($t0) +/* 0044CD78 990E000F */ lwr $t6, 0xf($t0) +/* 0044CD7C 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CD80 ABAE0010 */ swl $t6, 0x10($sp) +/* 0044CD84 BBAE0013 */ swr $t6, 0x13($sp) +/* 0044CD88 89190010 */ lwl $t9, 0x10($t0) +/* 0044CD8C 99190013 */ lwr $t9, 0x13($t0) +/* 0044CD90 ABB90014 */ swl $t9, 0x14($sp) +/* 0044CD94 BBB90017 */ swr $t9, 0x17($sp) +/* 0044CD98 890E0014 */ lwl $t6, 0x14($t0) +/* 0044CD9C 990E0017 */ lwr $t6, 0x17($t0) +/* 0044CDA0 ABAE0018 */ swl $t6, 0x18($sp) +/* 0044CDA4 BBAE001B */ swr $t6, 0x1b($sp) +/* 0044CDA8 89190018 */ lwl $t9, 0x18($t0) +/* 0044CDAC 9919001B */ lwr $t9, 0x1b($t0) +/* 0044CDB0 ABB9001C */ swl $t9, 0x1c($sp) +/* 0044CDB4 BBB9001F */ swr $t9, 0x1f($sp) +/* 0044CDB8 890E001C */ lwl $t6, 0x1c($t0) +/* 0044CDBC 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CDC0 990E001F */ lwr $t6, 0x1f($t0) +/* 0044CDC4 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CDC8 ABAE0020 */ swl $t6, 0x20($sp) +/* 0044CDCC 0320F809 */ jalr $t9 +/* 0044CDD0 BBAE0023 */ swr $t6, 0x23($sp) +/* 0044CDD4 10400004 */ beqz $v0, .L0044CDE8 +/* 0044CDD8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CDDC 8F8189E8 */ lw $at, %got(cpalias_ok)($gp) +/* 0044CDE0 1000005E */ b .L0044CF5C +/* 0044CDE4 A0200000 */ sb $zero, ($at) +.L0044CDE8: +/* 0044CDE8 8F8F8038 */ lw $t7, %got(RO_1000EE22)($gp) +/* 0044CDEC 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CDF0 02602025 */ move $a0, $s3 +/* 0044CDF4 25EFEE22 */ addiu $t7, %lo(RO_1000EE22) # addiu $t7, $t7, -0x11de +/* 0044CDF8 89E90000 */ lwl $t1, ($t7) +/* 0044CDFC 99E90003 */ lwr $t1, 3($t7) +/* 0044CE00 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CE04 02E01025 */ move $v0, $s7 +/* 0044CE08 ABA90004 */ swl $t1, 4($sp) +/* 0044CE0C BBA90007 */ swr $t1, 7($sp) +/* 0044CE10 89F80004 */ lwl $t8, 4($t7) +/* 0044CE14 99F80007 */ lwr $t8, 7($t7) +/* 0044CE18 8FA50004 */ lw $a1, 4($sp) +/* 0044CE1C ABB80008 */ swl $t8, 8($sp) +/* 0044CE20 BBB8000B */ swr $t8, 0xb($sp) +/* 0044CE24 89E90008 */ lwl $t1, 8($t7) +/* 0044CE28 99E9000B */ lwr $t1, 0xb($t7) +/* 0044CE2C 8FA60008 */ lw $a2, 8($sp) +/* 0044CE30 ABA9000C */ swl $t1, 0xc($sp) +/* 0044CE34 BBA9000F */ swr $t1, 0xf($sp) +/* 0044CE38 89F8000C */ lwl $t8, 0xc($t7) +/* 0044CE3C 99F8000F */ lwr $t8, 0xf($t7) +/* 0044CE40 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CE44 ABB80010 */ swl $t8, 0x10($sp) +/* 0044CE48 BBB80013 */ swr $t8, 0x13($sp) +/* 0044CE4C 89E90010 */ lwl $t1, 0x10($t7) +/* 0044CE50 99E90013 */ lwr $t1, 0x13($t7) +/* 0044CE54 ABA90014 */ swl $t1, 0x14($sp) +/* 0044CE58 BBA90017 */ swr $t1, 0x17($sp) +/* 0044CE5C 89F80014 */ lwl $t8, 0x14($t7) +/* 0044CE60 99F80017 */ lwr $t8, 0x17($t7) +/* 0044CE64 ABB80018 */ swl $t8, 0x18($sp) +/* 0044CE68 BBB8001B */ swr $t8, 0x1b($sp) +/* 0044CE6C 89E90018 */ lwl $t1, 0x18($t7) +/* 0044CE70 99E9001B */ lwr $t1, 0x1b($t7) +/* 0044CE74 ABA9001C */ swl $t1, 0x1c($sp) +/* 0044CE78 BBA9001F */ swr $t1, 0x1f($sp) +/* 0044CE7C 89F8001C */ lwl $t8, 0x1c($t7) +/* 0044CE80 99F8001F */ lwr $t8, 0x1f($t7) +/* 0044CE84 ABB80020 */ swl $t8, 0x20($sp) +/* 0044CE88 0320F809 */ jalr $t9 +/* 0044CE8C BBB80023 */ swr $t8, 0x23($sp) +/* 0044CE90 10400004 */ beqz $v0, .L0044CEA4 +/* 0044CE94 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CE98 8F818A40 */ lw $at, %got(tail_call_opt)($gp) +/* 0044CE9C 1000002F */ b .L0044CF5C +/* 0044CEA0 A0200000 */ sb $zero, ($at) +.L0044CEA4: +/* 0044CEA4 8F8A8038 */ lw $t2, %got(RO_1000EE02)($gp) +/* 0044CEA8 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CEAC 02602025 */ move $a0, $s3 +/* 0044CEB0 254AEE02 */ addiu $t2, %lo(RO_1000EE02) # addiu $t2, $t2, -0x11fe +/* 0044CEB4 894C0000 */ lwl $t4, ($t2) +/* 0044CEB8 994C0003 */ lwr $t4, 3($t2) +/* 0044CEBC 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CEC0 02E01025 */ move $v0, $s7 +/* 0044CEC4 ABAC0004 */ swl $t4, 4($sp) +/* 0044CEC8 BBAC0007 */ swr $t4, 7($sp) +/* 0044CECC 894B0004 */ lwl $t3, 4($t2) +/* 0044CED0 994B0007 */ lwr $t3, 7($t2) +/* 0044CED4 8FA50004 */ lw $a1, 4($sp) +/* 0044CED8 ABAB0008 */ swl $t3, 8($sp) +/* 0044CEDC BBAB000B */ swr $t3, 0xb($sp) +/* 0044CEE0 894C0008 */ lwl $t4, 8($t2) +/* 0044CEE4 994C000B */ lwr $t4, 0xb($t2) +/* 0044CEE8 8FA60008 */ lw $a2, 8($sp) +/* 0044CEEC ABAC000C */ swl $t4, 0xc($sp) +/* 0044CEF0 BBAC000F */ swr $t4, 0xf($sp) +/* 0044CEF4 894B000C */ lwl $t3, 0xc($t2) +/* 0044CEF8 994B000F */ lwr $t3, 0xf($t2) +/* 0044CEFC 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CF00 ABAB0010 */ swl $t3, 0x10($sp) +/* 0044CF04 BBAB0013 */ swr $t3, 0x13($sp) +/* 0044CF08 894C0010 */ lwl $t4, 0x10($t2) +/* 0044CF0C 994C0013 */ lwr $t4, 0x13($t2) +/* 0044CF10 ABAC0014 */ swl $t4, 0x14($sp) +/* 0044CF14 BBAC0017 */ swr $t4, 0x17($sp) +/* 0044CF18 894B0014 */ lwl $t3, 0x14($t2) +/* 0044CF1C 994B0017 */ lwr $t3, 0x17($t2) +/* 0044CF20 ABAB0018 */ swl $t3, 0x18($sp) +/* 0044CF24 BBAB001B */ swr $t3, 0x1b($sp) +/* 0044CF28 894C0018 */ lwl $t4, 0x18($t2) +/* 0044CF2C 994C001B */ lwr $t4, 0x1b($t2) +/* 0044CF30 ABAC001C */ swl $t4, 0x1c($sp) +/* 0044CF34 BBAC001F */ swr $t4, 0x1f($sp) +/* 0044CF38 894B001C */ lwl $t3, 0x1c($t2) +/* 0044CF3C 994B001F */ lwr $t3, 0x1f($t2) +/* 0044CF40 ABAB0020 */ swl $t3, 0x20($sp) +/* 0044CF44 0320F809 */ jalr $t9 +/* 0044CF48 BBAB0023 */ swr $t3, 0x23($sp) +/* 0044CF4C 1040037C */ beqz $v0, .L0044DD40 +/* 0044CF50 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044CF54 8F818A4C */ lw $at, %got(sgi_unsigned_conv)($gp) +/* 0044CF58 A0200000 */ sb $zero, ($at) +.L0044CF5C: +/* 0044CF5C 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044CF60 100003B0 */ b .L0044DE24 +/* 0044CF64 8E100000 */ lw $s0, ($s0) +.L0044CF68: +/* 0044CF68 8F8D8038 */ lw $t5, %got(RO_1000EDE2)($gp) +/* 0044CF6C 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044CF70 02602025 */ move $a0, $s3 +/* 0044CF74 25ADEDE2 */ addiu $t5, %lo(RO_1000EDE2) # addiu $t5, $t5, -0x121e +/* 0044CF78 89AE0000 */ lwl $t6, ($t5) +/* 0044CF7C 99AE0003 */ lwr $t6, 3($t5) +/* 0044CF80 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044CF84 02E01025 */ move $v0, $s7 +/* 0044CF88 ABAE0004 */ swl $t6, 4($sp) +/* 0044CF8C BBAE0007 */ swr $t6, 7($sp) +/* 0044CF90 89A80004 */ lwl $t0, 4($t5) +/* 0044CF94 99A80007 */ lwr $t0, 7($t5) +/* 0044CF98 8FA50004 */ lw $a1, 4($sp) +/* 0044CF9C ABA80008 */ swl $t0, 8($sp) +/* 0044CFA0 BBA8000B */ swr $t0, 0xb($sp) +/* 0044CFA4 89AE0008 */ lwl $t6, 8($t5) +/* 0044CFA8 99AE000B */ lwr $t6, 0xb($t5) +/* 0044CFAC 8FA60008 */ lw $a2, 8($sp) +/* 0044CFB0 ABAE000C */ swl $t6, 0xc($sp) +/* 0044CFB4 BBAE000F */ swr $t6, 0xf($sp) +/* 0044CFB8 89A8000C */ lwl $t0, 0xc($t5) +/* 0044CFBC 99A8000F */ lwr $t0, 0xf($t5) +/* 0044CFC0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044CFC4 ABA80010 */ swl $t0, 0x10($sp) +/* 0044CFC8 BBA80013 */ swr $t0, 0x13($sp) +/* 0044CFCC 89AE0010 */ lwl $t6, 0x10($t5) +/* 0044CFD0 99AE0013 */ lwr $t6, 0x13($t5) +/* 0044CFD4 ABAE0014 */ swl $t6, 0x14($sp) +/* 0044CFD8 BBAE0017 */ swr $t6, 0x17($sp) +/* 0044CFDC 89A80014 */ lwl $t0, 0x14($t5) +/* 0044CFE0 99A80017 */ lwr $t0, 0x17($t5) +/* 0044CFE4 ABA80018 */ swl $t0, 0x18($sp) +/* 0044CFE8 BBA8001B */ swr $t0, 0x1b($sp) +/* 0044CFEC 89AE0018 */ lwl $t6, 0x18($t5) +/* 0044CFF0 99AE001B */ lwr $t6, 0x1b($t5) +/* 0044CFF4 ABAE001C */ swl $t6, 0x1c($sp) +/* 0044CFF8 BBAE001F */ swr $t6, 0x1f($sp) +/* 0044CFFC 89A8001C */ lwl $t0, 0x1c($t5) +/* 0044D000 99A8001F */ lwr $t0, 0x1f($t5) +/* 0044D004 ABA80020 */ swl $t0, 0x20($sp) +/* 0044D008 0320F809 */ jalr $t9 +/* 0044D00C BBA80023 */ swr $t0, 0x23($sp) +/* 0044D010 10400004 */ beqz $v0, .L0044D024 +/* 0044D014 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D018 8F8189B8 */ lw $at, %got(isa)($gp) +/* 0044D01C 10000090 */ b .L0044D260 +/* 0044D020 A0200000 */ sb $zero, ($at) +.L0044D024: +/* 0044D024 8F998038 */ lw $t9, %got(RO_1000EDC2)($gp) +/* 0044D028 02602025 */ move $a0, $s3 +/* 0044D02C 02E01025 */ move $v0, $s7 +/* 0044D030 2739EDC2 */ addiu $t9, %lo(RO_1000EDC2) # addiu $t9, $t9, -0x123e +/* 0044D034 8B380000 */ lwl $t8, ($t9) +/* 0044D038 9B380003 */ lwr $t8, 3($t9) +/* 0044D03C ABB80004 */ swl $t8, 4($sp) +/* 0044D040 BBB80007 */ swr $t8, 7($sp) +/* 0044D044 8B2F0004 */ lwl $t7, 4($t9) +/* 0044D048 9B2F0007 */ lwr $t7, 7($t9) +/* 0044D04C 8FA50004 */ lw $a1, 4($sp) +/* 0044D050 ABAF0008 */ swl $t7, 8($sp) +/* 0044D054 BBAF000B */ swr $t7, 0xb($sp) +/* 0044D058 8B380008 */ lwl $t8, 8($t9) +/* 0044D05C 9B38000B */ lwr $t8, 0xb($t9) +/* 0044D060 8FA60008 */ lw $a2, 8($sp) +/* 0044D064 ABB8000C */ swl $t8, 0xc($sp) +/* 0044D068 BBB8000F */ swr $t8, 0xf($sp) +/* 0044D06C 8B2F000C */ lwl $t7, 0xc($t9) +/* 0044D070 9B2F000F */ lwr $t7, 0xf($t9) +/* 0044D074 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D078 ABAF0010 */ swl $t7, 0x10($sp) +/* 0044D07C BBAF0013 */ swr $t7, 0x13($sp) +/* 0044D080 8B380010 */ lwl $t8, 0x10($t9) +/* 0044D084 9B380013 */ lwr $t8, 0x13($t9) +/* 0044D088 ABB80014 */ swl $t8, 0x14($sp) +/* 0044D08C BBB80017 */ swr $t8, 0x17($sp) +/* 0044D090 8B2F0014 */ lwl $t7, 0x14($t9) +/* 0044D094 9B2F0017 */ lwr $t7, 0x17($t9) +/* 0044D098 ABAF0018 */ swl $t7, 0x18($sp) +/* 0044D09C BBAF001B */ swr $t7, 0x1b($sp) +/* 0044D0A0 8B380018 */ lwl $t8, 0x18($t9) +/* 0044D0A4 9B38001B */ lwr $t8, 0x1b($t9) +/* 0044D0A8 ABB8001C */ swl $t8, 0x1c($sp) +/* 0044D0AC BBB8001F */ swr $t8, 0x1f($sp) +/* 0044D0B0 8B2F001C */ lwl $t7, 0x1c($t9) +/* 0044D0B4 9B2F001F */ lwr $t7, 0x1f($t9) +/* 0044D0B8 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D0BC ABAF0020 */ swl $t7, 0x20($sp) +/* 0044D0C0 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D0C4 0320F809 */ jalr $t9 +/* 0044D0C8 BBAF0023 */ swr $t7, 0x23($sp) +/* 0044D0CC 10400004 */ beqz $v0, .L0044D0E0 +/* 0044D0D0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D0D4 8F8189B8 */ lw $at, %got(isa)($gp) +/* 0044D0D8 10000061 */ b .L0044D260 +/* 0044D0DC A0350000 */ sb $s5, ($at) +.L0044D0E0: +/* 0044D0E0 8F898038 */ lw $t1, %got(RO_1000EDA2)($gp) +/* 0044D0E4 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D0E8 02602025 */ move $a0, $s3 +/* 0044D0EC 2529EDA2 */ addiu $t1, %lo(RO_1000EDA2) # addiu $t1, $t1, -0x125e +/* 0044D0F0 892B0000 */ lwl $t3, ($t1) +/* 0044D0F4 992B0003 */ lwr $t3, 3($t1) +/* 0044D0F8 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D0FC 02E01025 */ move $v0, $s7 +/* 0044D100 ABAB0004 */ swl $t3, 4($sp) +/* 0044D104 BBAB0007 */ swr $t3, 7($sp) +/* 0044D108 892A0004 */ lwl $t2, 4($t1) +/* 0044D10C 992A0007 */ lwr $t2, 7($t1) +/* 0044D110 8FA50004 */ lw $a1, 4($sp) +/* 0044D114 ABAA0008 */ swl $t2, 8($sp) +/* 0044D118 BBAA000B */ swr $t2, 0xb($sp) +/* 0044D11C 892B0008 */ lwl $t3, 8($t1) +/* 0044D120 992B000B */ lwr $t3, 0xb($t1) +/* 0044D124 8FA60008 */ lw $a2, 8($sp) +/* 0044D128 ABAB000C */ swl $t3, 0xc($sp) +/* 0044D12C BBAB000F */ swr $t3, 0xf($sp) +/* 0044D130 892A000C */ lwl $t2, 0xc($t1) +/* 0044D134 992A000F */ lwr $t2, 0xf($t1) +/* 0044D138 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D13C ABAA0010 */ swl $t2, 0x10($sp) +/* 0044D140 BBAA0013 */ swr $t2, 0x13($sp) +/* 0044D144 892B0010 */ lwl $t3, 0x10($t1) +/* 0044D148 992B0013 */ lwr $t3, 0x13($t1) +/* 0044D14C ABAB0014 */ swl $t3, 0x14($sp) +/* 0044D150 BBAB0017 */ swr $t3, 0x17($sp) +/* 0044D154 892A0014 */ lwl $t2, 0x14($t1) +/* 0044D158 992A0017 */ lwr $t2, 0x17($t1) +/* 0044D15C ABAA0018 */ swl $t2, 0x18($sp) +/* 0044D160 BBAA001B */ swr $t2, 0x1b($sp) +/* 0044D164 892B0018 */ lwl $t3, 0x18($t1) +/* 0044D168 992B001B */ lwr $t3, 0x1b($t1) +/* 0044D16C ABAB001C */ swl $t3, 0x1c($sp) +/* 0044D170 BBAB001F */ swr $t3, 0x1f($sp) +/* 0044D174 892A001C */ lwl $t2, 0x1c($t1) +/* 0044D178 992A001F */ lwr $t2, 0x1f($t1) +/* 0044D17C ABAA0020 */ swl $t2, 0x20($sp) +/* 0044D180 0320F809 */ jalr $t9 +/* 0044D184 BBAA0023 */ swr $t2, 0x23($sp) +/* 0044D188 10400007 */ beqz $v0, .L0044D1A8 +/* 0044D18C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D190 8F8189B8 */ lw $at, %got(isa)($gp) +/* 0044D194 240C0002 */ li $t4, 2 +/* 0044D198 A02C0000 */ sb $t4, ($at) +/* 0044D19C 8F8189D8 */ lw $at, %got(opcode_arch)($gp) +/* 0044D1A0 1000002F */ b .L0044D260 +/* 0044D1A4 A0350000 */ sb $s5, ($at) +.L0044D1A8: +/* 0044D1A8 8F8D8038 */ lw $t5, %got(RO_1000ED82)($gp) +/* 0044D1AC 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D1B0 02602025 */ move $a0, $s3 +/* 0044D1B4 25ADED82 */ addiu $t5, %lo(RO_1000ED82) # addiu $t5, $t5, -0x127e +/* 0044D1B8 89AE0000 */ lwl $t6, ($t5) +/* 0044D1BC 99AE0003 */ lwr $t6, 3($t5) +/* 0044D1C0 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D1C4 02E01025 */ move $v0, $s7 +/* 0044D1C8 ABAE0004 */ swl $t6, 4($sp) +/* 0044D1CC BBAE0007 */ swr $t6, 7($sp) +/* 0044D1D0 89A80004 */ lwl $t0, 4($t5) +/* 0044D1D4 99A80007 */ lwr $t0, 7($t5) +/* 0044D1D8 8FA50004 */ lw $a1, 4($sp) +/* 0044D1DC ABA80008 */ swl $t0, 8($sp) +/* 0044D1E0 BBA8000B */ swr $t0, 0xb($sp) +/* 0044D1E4 89AE0008 */ lwl $t6, 8($t5) +/* 0044D1E8 99AE000B */ lwr $t6, 0xb($t5) +/* 0044D1EC 8FA60008 */ lw $a2, 8($sp) +/* 0044D1F0 ABAE000C */ swl $t6, 0xc($sp) +/* 0044D1F4 BBAE000F */ swr $t6, 0xf($sp) +/* 0044D1F8 89A8000C */ lwl $t0, 0xc($t5) +/* 0044D1FC 99A8000F */ lwr $t0, 0xf($t5) +/* 0044D200 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D204 ABA80010 */ swl $t0, 0x10($sp) +/* 0044D208 BBA80013 */ swr $t0, 0x13($sp) +/* 0044D20C 89AE0010 */ lwl $t6, 0x10($t5) +/* 0044D210 99AE0013 */ lwr $t6, 0x13($t5) +/* 0044D214 ABAE0014 */ swl $t6, 0x14($sp) +/* 0044D218 BBAE0017 */ swr $t6, 0x17($sp) +/* 0044D21C 89A80014 */ lwl $t0, 0x14($t5) +/* 0044D220 99A80017 */ lwr $t0, 0x17($t5) +/* 0044D224 ABA80018 */ swl $t0, 0x18($sp) +/* 0044D228 BBA8001B */ swr $t0, 0x1b($sp) +/* 0044D22C 89AE0018 */ lwl $t6, 0x18($t5) +/* 0044D230 99AE001B */ lwr $t6, 0x1b($t5) +/* 0044D234 ABAE001C */ swl $t6, 0x1c($sp) +/* 0044D238 BBAE001F */ swr $t6, 0x1f($sp) +/* 0044D23C 89A8001C */ lwl $t0, 0x1c($t5) +/* 0044D240 99A8001F */ lwr $t0, 0x1f($t5) +/* 0044D244 ABA80020 */ swl $t0, 0x20($sp) +/* 0044D248 0320F809 */ jalr $t9 +/* 0044D24C BBA80023 */ swr $t0, 0x23($sp) +/* 0044D250 104002BB */ beqz $v0, .L0044DD40 +/* 0044D254 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D258 8F8189D0 */ lw $at, %got(mscoff)($gp) +/* 0044D25C A0350000 */ sb $s5, ($at) +.L0044D260: +/* 0044D260 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D264 100002EF */ b .L0044DE24 +/* 0044D268 8E100000 */ lw $s0, ($s0) +.L0044D26C: +/* 0044D26C 8F998038 */ lw $t9, %got(RO_1000ED62)($gp) +/* 0044D270 02602025 */ move $a0, $s3 +/* 0044D274 02E01025 */ move $v0, $s7 +/* 0044D278 2739ED62 */ addiu $t9, %lo(RO_1000ED62) # addiu $t9, $t9, -0x129e +/* 0044D27C 8B380000 */ lwl $t8, ($t9) +/* 0044D280 9B380003 */ lwr $t8, 3($t9) +/* 0044D284 ABB80004 */ swl $t8, 4($sp) +/* 0044D288 BBB80007 */ swr $t8, 7($sp) +/* 0044D28C 8B2F0004 */ lwl $t7, 4($t9) +/* 0044D290 9B2F0007 */ lwr $t7, 7($t9) +/* 0044D294 8FA50004 */ lw $a1, 4($sp) +/* 0044D298 ABAF0008 */ swl $t7, 8($sp) +/* 0044D29C BBAF000B */ swr $t7, 0xb($sp) +/* 0044D2A0 8B380008 */ lwl $t8, 8($t9) +/* 0044D2A4 9B38000B */ lwr $t8, 0xb($t9) +/* 0044D2A8 8FA60008 */ lw $a2, 8($sp) +/* 0044D2AC ABB8000C */ swl $t8, 0xc($sp) +/* 0044D2B0 BBB8000F */ swr $t8, 0xf($sp) +/* 0044D2B4 8B2F000C */ lwl $t7, 0xc($t9) +/* 0044D2B8 9B2F000F */ lwr $t7, 0xf($t9) +/* 0044D2BC 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D2C0 ABAF0010 */ swl $t7, 0x10($sp) +/* 0044D2C4 BBAF0013 */ swr $t7, 0x13($sp) +/* 0044D2C8 8B380010 */ lwl $t8, 0x10($t9) +/* 0044D2CC 9B380013 */ lwr $t8, 0x13($t9) +/* 0044D2D0 ABB80014 */ swl $t8, 0x14($sp) +/* 0044D2D4 BBB80017 */ swr $t8, 0x17($sp) +/* 0044D2D8 8B2F0014 */ lwl $t7, 0x14($t9) +/* 0044D2DC 9B2F0017 */ lwr $t7, 0x17($t9) +/* 0044D2E0 ABAF0018 */ swl $t7, 0x18($sp) +/* 0044D2E4 BBAF001B */ swr $t7, 0x1b($sp) +/* 0044D2E8 8B380018 */ lwl $t8, 0x18($t9) +/* 0044D2EC 9B38001B */ lwr $t8, 0x1b($t9) +/* 0044D2F0 ABB8001C */ swl $t8, 0x1c($sp) +/* 0044D2F4 BBB8001F */ swr $t8, 0x1f($sp) +/* 0044D2F8 8B2F001C */ lwl $t7, 0x1c($t9) +/* 0044D2FC 9B2F001F */ lwr $t7, 0x1f($t9) +/* 0044D300 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D304 ABAF0020 */ swl $t7, 0x20($sp) +/* 0044D308 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D30C 0320F809 */ jalr $t9 +/* 0044D310 BBAF0023 */ swr $t7, 0x23($sp) +/* 0044D314 10400004 */ beqz $v0, .L0044D328 +/* 0044D318 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D31C 8F8189E4 */ lw $at, %got(pic_level)($gp) +/* 0044D320 1000008C */ b .L0044D554 +/* 0044D324 AC200000 */ sw $zero, ($at) +.L0044D328: +/* 0044D328 8F898038 */ lw $t1, %got(RO_1000ED42)($gp) +/* 0044D32C 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D330 02602025 */ move $a0, $s3 +/* 0044D334 2529ED42 */ addiu $t1, %lo(RO_1000ED42) # addiu $t1, $t1, -0x12be +/* 0044D338 892B0000 */ lwl $t3, ($t1) +/* 0044D33C 992B0003 */ lwr $t3, 3($t1) +/* 0044D340 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D344 02E01025 */ move $v0, $s7 +/* 0044D348 ABAB0004 */ swl $t3, 4($sp) +/* 0044D34C BBAB0007 */ swr $t3, 7($sp) +/* 0044D350 892A0004 */ lwl $t2, 4($t1) +/* 0044D354 992A0007 */ lwr $t2, 7($t1) +/* 0044D358 8FA50004 */ lw $a1, 4($sp) +/* 0044D35C ABAA0008 */ swl $t2, 8($sp) +/* 0044D360 BBAA000B */ swr $t2, 0xb($sp) +/* 0044D364 892B0008 */ lwl $t3, 8($t1) +/* 0044D368 992B000B */ lwr $t3, 0xb($t1) +/* 0044D36C 8FA60008 */ lw $a2, 8($sp) +/* 0044D370 ABAB000C */ swl $t3, 0xc($sp) +/* 0044D374 BBAB000F */ swr $t3, 0xf($sp) +/* 0044D378 892A000C */ lwl $t2, 0xc($t1) +/* 0044D37C 992A000F */ lwr $t2, 0xf($t1) +/* 0044D380 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D384 ABAA0010 */ swl $t2, 0x10($sp) +/* 0044D388 BBAA0013 */ swr $t2, 0x13($sp) +/* 0044D38C 892B0010 */ lwl $t3, 0x10($t1) +/* 0044D390 992B0013 */ lwr $t3, 0x13($t1) +/* 0044D394 ABAB0014 */ swl $t3, 0x14($sp) +/* 0044D398 BBAB0017 */ swr $t3, 0x17($sp) +/* 0044D39C 892A0014 */ lwl $t2, 0x14($t1) +/* 0044D3A0 992A0017 */ lwr $t2, 0x17($t1) +/* 0044D3A4 ABAA0018 */ swl $t2, 0x18($sp) +/* 0044D3A8 BBAA001B */ swr $t2, 0x1b($sp) +/* 0044D3AC 892B0018 */ lwl $t3, 0x18($t1) +/* 0044D3B0 992B001B */ lwr $t3, 0x1b($t1) +/* 0044D3B4 ABAB001C */ swl $t3, 0x1c($sp) +/* 0044D3B8 BBAB001F */ swr $t3, 0x1f($sp) +/* 0044D3BC 892A001C */ lwl $t2, 0x1c($t1) +/* 0044D3C0 992A001F */ lwr $t2, 0x1f($t1) +/* 0044D3C4 ABAA0020 */ swl $t2, 0x20($sp) +/* 0044D3C8 0320F809 */ jalr $t9 +/* 0044D3CC BBAA0023 */ swr $t2, 0x23($sp) +/* 0044D3D0 1440002D */ bnez $v0, .L0044D488 +/* 0044D3D4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D3D8 8F8C8038 */ lw $t4, %got(RO_1000ED22)($gp) +/* 0044D3DC 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D3E0 02602025 */ move $a0, $s3 +/* 0044D3E4 258CED22 */ addiu $t4, %lo(RO_1000ED22) # addiu $t4, $t4, -0x12de +/* 0044D3E8 89880000 */ lwl $t0, ($t4) +/* 0044D3EC 99880003 */ lwr $t0, 3($t4) +/* 0044D3F0 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D3F4 02E01025 */ move $v0, $s7 +/* 0044D3F8 ABA80004 */ swl $t0, 4($sp) +/* 0044D3FC BBA80007 */ swr $t0, 7($sp) +/* 0044D400 898D0004 */ lwl $t5, 4($t4) +/* 0044D404 998D0007 */ lwr $t5, 7($t4) +/* 0044D408 8FA50004 */ lw $a1, 4($sp) +/* 0044D40C ABAD0008 */ swl $t5, 8($sp) +/* 0044D410 BBAD000B */ swr $t5, 0xb($sp) +/* 0044D414 89880008 */ lwl $t0, 8($t4) +/* 0044D418 9988000B */ lwr $t0, 0xb($t4) +/* 0044D41C 8FA60008 */ lw $a2, 8($sp) +/* 0044D420 ABA8000C */ swl $t0, 0xc($sp) +/* 0044D424 BBA8000F */ swr $t0, 0xf($sp) +/* 0044D428 898D000C */ lwl $t5, 0xc($t4) +/* 0044D42C 998D000F */ lwr $t5, 0xf($t4) +/* 0044D430 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D434 ABAD0010 */ swl $t5, 0x10($sp) +/* 0044D438 BBAD0013 */ swr $t5, 0x13($sp) +/* 0044D43C 89880010 */ lwl $t0, 0x10($t4) +/* 0044D440 99880013 */ lwr $t0, 0x13($t4) +/* 0044D444 ABA80014 */ swl $t0, 0x14($sp) +/* 0044D448 BBA80017 */ swr $t0, 0x17($sp) +/* 0044D44C 898D0014 */ lwl $t5, 0x14($t4) +/* 0044D450 998D0017 */ lwr $t5, 0x17($t4) +/* 0044D454 ABAD0018 */ swl $t5, 0x18($sp) +/* 0044D458 BBAD001B */ swr $t5, 0x1b($sp) +/* 0044D45C 89880018 */ lwl $t0, 0x18($t4) +/* 0044D460 9988001B */ lwr $t0, 0x1b($t4) +/* 0044D464 ABA8001C */ swl $t0, 0x1c($sp) +/* 0044D468 BBA8001F */ swr $t0, 0x1f($sp) +/* 0044D46C 898D001C */ lwl $t5, 0x1c($t4) +/* 0044D470 998D001F */ lwr $t5, 0x1f($t4) +/* 0044D474 ABAD0020 */ swl $t5, 0x20($sp) +/* 0044D478 0320F809 */ jalr $t9 +/* 0044D47C BBAD0023 */ swr $t5, 0x23($sp) +/* 0044D480 10400005 */ beqz $v0, .L0044D498 +/* 0044D484 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044D488: +/* 0044D488 8F8189E4 */ lw $at, %got(pic_level)($gp) +/* 0044D48C 240E0001 */ li $t6, 1 +/* 0044D490 10000030 */ b .L0044D554 +/* 0044D494 AC2E0000 */ sw $t6, ($at) +.L0044D498: +/* 0044D498 8F998038 */ lw $t9, %got(RO_1000ED02)($gp) +/* 0044D49C 02602025 */ move $a0, $s3 +/* 0044D4A0 02E01025 */ move $v0, $s7 +/* 0044D4A4 2739ED02 */ addiu $t9, %lo(RO_1000ED02) # addiu $t9, $t9, -0x12fe +/* 0044D4A8 8B380000 */ lwl $t8, ($t9) +/* 0044D4AC 9B380003 */ lwr $t8, 3($t9) +/* 0044D4B0 ABB80004 */ swl $t8, 4($sp) +/* 0044D4B4 BBB80007 */ swr $t8, 7($sp) +/* 0044D4B8 8B2F0004 */ lwl $t7, 4($t9) +/* 0044D4BC 9B2F0007 */ lwr $t7, 7($t9) +/* 0044D4C0 8FA50004 */ lw $a1, 4($sp) +/* 0044D4C4 ABAF0008 */ swl $t7, 8($sp) +/* 0044D4C8 BBAF000B */ swr $t7, 0xb($sp) +/* 0044D4CC 8B380008 */ lwl $t8, 8($t9) +/* 0044D4D0 9B38000B */ lwr $t8, 0xb($t9) +/* 0044D4D4 8FA60008 */ lw $a2, 8($sp) +/* 0044D4D8 ABB8000C */ swl $t8, 0xc($sp) +/* 0044D4DC BBB8000F */ swr $t8, 0xf($sp) +/* 0044D4E0 8B2F000C */ lwl $t7, 0xc($t9) +/* 0044D4E4 9B2F000F */ lwr $t7, 0xf($t9) +/* 0044D4E8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D4EC ABAF0010 */ swl $t7, 0x10($sp) +/* 0044D4F0 BBAF0013 */ swr $t7, 0x13($sp) +/* 0044D4F4 8B380010 */ lwl $t8, 0x10($t9) +/* 0044D4F8 9B380013 */ lwr $t8, 0x13($t9) +/* 0044D4FC ABB80014 */ swl $t8, 0x14($sp) +/* 0044D500 BBB80017 */ swr $t8, 0x17($sp) +/* 0044D504 8B2F0014 */ lwl $t7, 0x14($t9) +/* 0044D508 9B2F0017 */ lwr $t7, 0x17($t9) +/* 0044D50C ABAF0018 */ swl $t7, 0x18($sp) +/* 0044D510 BBAF001B */ swr $t7, 0x1b($sp) +/* 0044D514 8B380018 */ lwl $t8, 0x18($t9) +/* 0044D518 9B38001B */ lwr $t8, 0x1b($t9) +/* 0044D51C ABB8001C */ swl $t8, 0x1c($sp) +/* 0044D520 BBB8001F */ swr $t8, 0x1f($sp) +/* 0044D524 8B2F001C */ lwl $t7, 0x1c($t9) +/* 0044D528 9B2F001F */ lwr $t7, 0x1f($t9) +/* 0044D52C 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D530 ABAF0020 */ swl $t7, 0x20($sp) +/* 0044D534 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D538 0320F809 */ jalr $t9 +/* 0044D53C BBAF0023 */ swr $t7, 0x23($sp) +/* 0044D540 104001FF */ beqz $v0, .L0044DD40 +/* 0044D544 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D548 8F8189E4 */ lw $at, %got(pic_level)($gp) +/* 0044D54C 24090002 */ li $t1, 2 +/* 0044D550 AC290000 */ sw $t1, ($at) +.L0044D554: +/* 0044D554 8F8A89E4 */ lw $t2, %got(pic_level)($gp) +/* 0044D558 8D4A0000 */ lw $t2, ($t2) +/* 0044D55C 29410002 */ slti $at, $t2, 2 +/* 0044D560 14200014 */ bnez $at, .L0044D5B4 +/* 0044D564 00000000 */ nop +/* 0044D568 8F8B89EC */ lw $t3, %got(saw_cap_g)($gp) +/* 0044D56C 8F818990 */ lw $at, %got(sdata_max)($gp) +/* 0044D570 24060025 */ li $a2, 37 +/* 0044D574 916B0000 */ lbu $t3, ($t3) +/* 0044D578 24070025 */ li $a3, 37 +/* 0044D57C AC200000 */ sw $zero, ($at) +/* 0044D580 1160000C */ beqz $t3, .L0044D5B4 +/* 0044D584 00000000 */ nop +/* 0044D588 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044D58C 8F858038 */ lw $a1, %got(RO_1000ECDD)($gp) +/* 0044D590 8EC40000 */ lw $a0, ($s6) +/* 0044D594 0320F809 */ jalr $t9 +/* 0044D598 24A5ECDD */ addiu $a1, %lo(RO_1000ECDD) # addiu $a1, $a1, -0x1323 +/* 0044D59C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D5A0 8EC40000 */ lw $a0, ($s6) +/* 0044D5A4 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044D5A8 0320F809 */ jalr $t9 +/* 0044D5AC 00000000 */ nop +/* 0044D5B0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044D5B4: +/* 0044D5B4 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D5B8 1000021A */ b .L0044DE24 +/* 0044D5BC 8E100000 */ lw $s0, ($s0) +.L0044D5C0: +/* 0044D5C0 93A30540 */ lbu $v1, 0x540($sp) +/* 0044D5C4 24010070 */ li $at, 112 +/* 0044D5C8 93AC0541 */ lbu $t4, 0x541($sp) +/* 0044D5CC 14610006 */ bne $v1, $at, .L0044D5E8 +/* 0044D5D0 24010063 */ li $at, 99 +/* 0044D5D4 15810004 */ bne $t4, $at, .L0044D5E8 +/* 0044D5D8 00000000 */ nop +/* 0044D5DC 8F8189BC */ lw $at, %got(apc)($gp) +/* 0044D5E0 10000210 */ b .L0044DE24 +/* 0044D5E4 A0350000 */ sb $s5, ($at) +.L0044D5E8: +/* 0044D5E8 8F8D8038 */ lw $t5, %got(RO_1000ECBD)($gp) +/* 0044D5EC 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D5F0 02602025 */ move $a0, $s3 +/* 0044D5F4 25ADECBD */ addiu $t5, %lo(RO_1000ECBD) # addiu $t5, $t5, -0x1343 +/* 0044D5F8 89AE0000 */ lwl $t6, ($t5) +/* 0044D5FC 99AE0003 */ lwr $t6, 3($t5) +/* 0044D600 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D604 02E01025 */ move $v0, $s7 +/* 0044D608 ABAE0004 */ swl $t6, 4($sp) +/* 0044D60C BBAE0007 */ swr $t6, 7($sp) +/* 0044D610 89A80004 */ lwl $t0, 4($t5) +/* 0044D614 99A80007 */ lwr $t0, 7($t5) +/* 0044D618 8FA50004 */ lw $a1, 4($sp) +/* 0044D61C ABA80008 */ swl $t0, 8($sp) +/* 0044D620 BBA8000B */ swr $t0, 0xb($sp) +/* 0044D624 89AE0008 */ lwl $t6, 8($t5) +/* 0044D628 99AE000B */ lwr $t6, 0xb($t5) +/* 0044D62C 8FA60008 */ lw $a2, 8($sp) +/* 0044D630 ABAE000C */ swl $t6, 0xc($sp) +/* 0044D634 BBAE000F */ swr $t6, 0xf($sp) +/* 0044D638 89A8000C */ lwl $t0, 0xc($t5) +/* 0044D63C 99A8000F */ lwr $t0, 0xf($t5) +/* 0044D640 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D644 ABA80010 */ swl $t0, 0x10($sp) +/* 0044D648 BBA80013 */ swr $t0, 0x13($sp) +/* 0044D64C 89AE0010 */ lwl $t6, 0x10($t5) +/* 0044D650 99AE0013 */ lwr $t6, 0x13($t5) +/* 0044D654 ABAE0014 */ swl $t6, 0x14($sp) +/* 0044D658 BBAE0017 */ swr $t6, 0x17($sp) +/* 0044D65C 89A80014 */ lwl $t0, 0x14($t5) +/* 0044D660 99A80017 */ lwr $t0, 0x17($t5) +/* 0044D664 ABA80018 */ swl $t0, 0x18($sp) +/* 0044D668 BBA8001B */ swr $t0, 0x1b($sp) +/* 0044D66C 89AE0018 */ lwl $t6, 0x18($t5) +/* 0044D670 99AE001B */ lwr $t6, 0x1b($t5) +/* 0044D674 ABAE001C */ swl $t6, 0x1c($sp) +/* 0044D678 BBAE001F */ swr $t6, 0x1f($sp) +/* 0044D67C 89A8001C */ lwl $t0, 0x1c($t5) +/* 0044D680 99A8001F */ lwr $t0, 0x1f($t5) +/* 0044D684 ABA80020 */ swl $t0, 0x20($sp) +/* 0044D688 0320F809 */ jalr $t9 +/* 0044D68C BBA80023 */ swr $t0, 0x23($sp) +/* 0044D690 10400006 */ beqz $v0, .L0044D6AC +/* 0044D694 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D698 8F8189C0 */ lw $at, %got(align8)($gp) +/* 0044D69C 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D6A0 A0350000 */ sb $s5, ($at) +/* 0044D6A4 100001DF */ b .L0044DE24 +/* 0044D6A8 8E100000 */ lw $s0, ($s0) +.L0044D6AC: +/* 0044D6AC 8F998038 */ lw $t9, %got(RO_1000EC9D)($gp) +/* 0044D6B0 02602025 */ move $a0, $s3 +/* 0044D6B4 02E01025 */ move $v0, $s7 +/* 0044D6B8 2739EC9D */ addiu $t9, %lo(RO_1000EC9D) # addiu $t9, $t9, -0x1363 +/* 0044D6BC 8B380000 */ lwl $t8, ($t9) +/* 0044D6C0 9B380003 */ lwr $t8, 3($t9) +/* 0044D6C4 ABB80004 */ swl $t8, 4($sp) +/* 0044D6C8 BBB80007 */ swr $t8, 7($sp) +/* 0044D6CC 8B2F0004 */ lwl $t7, 4($t9) +/* 0044D6D0 9B2F0007 */ lwr $t7, 7($t9) +/* 0044D6D4 8FA50004 */ lw $a1, 4($sp) +/* 0044D6D8 ABAF0008 */ swl $t7, 8($sp) +/* 0044D6DC BBAF000B */ swr $t7, 0xb($sp) +/* 0044D6E0 8B380008 */ lwl $t8, 8($t9) +/* 0044D6E4 9B38000B */ lwr $t8, 0xb($t9) +/* 0044D6E8 8FA60008 */ lw $a2, 8($sp) +/* 0044D6EC ABB8000C */ swl $t8, 0xc($sp) +/* 0044D6F0 BBB8000F */ swr $t8, 0xf($sp) +/* 0044D6F4 8B2F000C */ lwl $t7, 0xc($t9) +/* 0044D6F8 9B2F000F */ lwr $t7, 0xf($t9) +/* 0044D6FC 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D700 ABAF0010 */ swl $t7, 0x10($sp) +/* 0044D704 BBAF0013 */ swr $t7, 0x13($sp) +/* 0044D708 8B380010 */ lwl $t8, 0x10($t9) +/* 0044D70C 9B380013 */ lwr $t8, 0x13($t9) +/* 0044D710 ABB80014 */ swl $t8, 0x14($sp) +/* 0044D714 BBB80017 */ swr $t8, 0x17($sp) +/* 0044D718 8B2F0014 */ lwl $t7, 0x14($t9) +/* 0044D71C 9B2F0017 */ lwr $t7, 0x17($t9) +/* 0044D720 ABAF0018 */ swl $t7, 0x18($sp) +/* 0044D724 BBAF001B */ swr $t7, 0x1b($sp) +/* 0044D728 8B380018 */ lwl $t8, 0x18($t9) +/* 0044D72C 9B38001B */ lwr $t8, 0x1b($t9) +/* 0044D730 ABB8001C */ swl $t8, 0x1c($sp) +/* 0044D734 BBB8001F */ swr $t8, 0x1f($sp) +/* 0044D738 8B2F001C */ lwl $t7, 0x1c($t9) +/* 0044D73C 9B2F001F */ lwr $t7, 0x1f($t9) +/* 0044D740 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D744 ABAF0020 */ swl $t7, 0x20($sp) +/* 0044D748 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D74C 0320F809 */ jalr $t9 +/* 0044D750 BBAF0023 */ swr $t7, 0x23($sp) +/* 0044D754 10400006 */ beqz $v0, .L0044D770 +/* 0044D758 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D75C 8F8189C4 */ lw $at, %got(align16)($gp) +/* 0044D760 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D764 A0350000 */ sb $s5, ($at) +/* 0044D768 100001AE */ b .L0044DE24 +/* 0044D76C 8E100000 */ lw $s0, ($s0) +.L0044D770: +/* 0044D770 8F898038 */ lw $t1, %got(RO_1000EC7D)($gp) +/* 0044D774 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D778 02602025 */ move $a0, $s3 +/* 0044D77C 2529EC7D */ addiu $t1, %lo(RO_1000EC7D) # addiu $t1, $t1, -0x1383 +/* 0044D780 892B0000 */ lwl $t3, ($t1) +/* 0044D784 992B0003 */ lwr $t3, 3($t1) +/* 0044D788 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D78C 02E01025 */ move $v0, $s7 +/* 0044D790 ABAB0004 */ swl $t3, 4($sp) +/* 0044D794 BBAB0007 */ swr $t3, 7($sp) +/* 0044D798 892A0004 */ lwl $t2, 4($t1) +/* 0044D79C 992A0007 */ lwr $t2, 7($t1) +/* 0044D7A0 8FA50004 */ lw $a1, 4($sp) +/* 0044D7A4 ABAA0008 */ swl $t2, 8($sp) +/* 0044D7A8 BBAA000B */ swr $t2, 0xb($sp) +/* 0044D7AC 892B0008 */ lwl $t3, 8($t1) +/* 0044D7B0 992B000B */ lwr $t3, 0xb($t1) +/* 0044D7B4 8FA60008 */ lw $a2, 8($sp) +/* 0044D7B8 ABAB000C */ swl $t3, 0xc($sp) +/* 0044D7BC BBAB000F */ swr $t3, 0xf($sp) +/* 0044D7C0 892A000C */ lwl $t2, 0xc($t1) +/* 0044D7C4 992A000F */ lwr $t2, 0xf($t1) +/* 0044D7C8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D7CC ABAA0010 */ swl $t2, 0x10($sp) +/* 0044D7D0 BBAA0013 */ swr $t2, 0x13($sp) +/* 0044D7D4 892B0010 */ lwl $t3, 0x10($t1) +/* 0044D7D8 992B0013 */ lwr $t3, 0x13($t1) +/* 0044D7DC ABAB0014 */ swl $t3, 0x14($sp) +/* 0044D7E0 BBAB0017 */ swr $t3, 0x17($sp) +/* 0044D7E4 892A0014 */ lwl $t2, 0x14($t1) +/* 0044D7E8 992A0017 */ lwr $t2, 0x17($t1) +/* 0044D7EC ABAA0018 */ swl $t2, 0x18($sp) +/* 0044D7F0 BBAA001B */ swr $t2, 0x1b($sp) +/* 0044D7F4 892B0018 */ lwl $t3, 0x18($t1) +/* 0044D7F8 992B001B */ lwr $t3, 0x1b($t1) +/* 0044D7FC ABAB001C */ swl $t3, 0x1c($sp) +/* 0044D800 BBAB001F */ swr $t3, 0x1f($sp) +/* 0044D804 892A001C */ lwl $t2, 0x1c($t1) +/* 0044D808 992A001F */ lwr $t2, 0x1f($t1) +/* 0044D80C ABAA0020 */ swl $t2, 0x20($sp) +/* 0044D810 0320F809 */ jalr $t9 +/* 0044D814 BBAA0023 */ swr $t2, 0x23($sp) +/* 0044D818 10400006 */ beqz $v0, .L0044D834 +/* 0044D81C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D820 8F8189C8 */ lw $at, %got(align32)($gp) +/* 0044D824 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D828 A0350000 */ sb $s5, ($at) +/* 0044D82C 1000017D */ b .L0044DE24 +/* 0044D830 8E100000 */ lw $s0, ($s0) +.L0044D834: +/* 0044D834 8F8C8038 */ lw $t4, %got(RO_1000EC5D)($gp) +/* 0044D838 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D83C 02602025 */ move $a0, $s3 +/* 0044D840 258CEC5D */ addiu $t4, %lo(RO_1000EC5D) # addiu $t4, $t4, -0x13a3 +/* 0044D844 89880000 */ lwl $t0, ($t4) +/* 0044D848 99880003 */ lwr $t0, 3($t4) +/* 0044D84C 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D850 02E01025 */ move $v0, $s7 +/* 0044D854 ABA80004 */ swl $t0, 4($sp) +/* 0044D858 BBA80007 */ swr $t0, 7($sp) +/* 0044D85C 898D0004 */ lwl $t5, 4($t4) +/* 0044D860 998D0007 */ lwr $t5, 7($t4) +/* 0044D864 8FA50004 */ lw $a1, 4($sp) +/* 0044D868 ABAD0008 */ swl $t5, 8($sp) +/* 0044D86C BBAD000B */ swr $t5, 0xb($sp) +/* 0044D870 89880008 */ lwl $t0, 8($t4) +/* 0044D874 9988000B */ lwr $t0, 0xb($t4) +/* 0044D878 8FA60008 */ lw $a2, 8($sp) +/* 0044D87C ABA8000C */ swl $t0, 0xc($sp) +/* 0044D880 BBA8000F */ swr $t0, 0xf($sp) +/* 0044D884 898D000C */ lwl $t5, 0xc($t4) +/* 0044D888 998D000F */ lwr $t5, 0xf($t4) +/* 0044D88C 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D890 ABAD0010 */ swl $t5, 0x10($sp) +/* 0044D894 BBAD0013 */ swr $t5, 0x13($sp) +/* 0044D898 89880010 */ lwl $t0, 0x10($t4) +/* 0044D89C 99880013 */ lwr $t0, 0x13($t4) +/* 0044D8A0 ABA80014 */ swl $t0, 0x14($sp) +/* 0044D8A4 BBA80017 */ swr $t0, 0x17($sp) +/* 0044D8A8 898D0014 */ lwl $t5, 0x14($t4) +/* 0044D8AC 998D0017 */ lwr $t5, 0x17($t4) +/* 0044D8B0 ABAD0018 */ swl $t5, 0x18($sp) +/* 0044D8B4 BBAD001B */ swr $t5, 0x1b($sp) +/* 0044D8B8 89880018 */ lwl $t0, 0x18($t4) +/* 0044D8BC 9988001B */ lwr $t0, 0x1b($t4) +/* 0044D8C0 ABA8001C */ swl $t0, 0x1c($sp) +/* 0044D8C4 BBA8001F */ swr $t0, 0x1f($sp) +/* 0044D8C8 898D001C */ lwl $t5, 0x1c($t4) +/* 0044D8CC 998D001F */ lwr $t5, 0x1f($t4) +/* 0044D8D0 ABAD0020 */ swl $t5, 0x20($sp) +/* 0044D8D4 0320F809 */ jalr $t9 +/* 0044D8D8 BBAD0023 */ swr $t5, 0x23($sp) +/* 0044D8DC 10400118 */ beqz $v0, .L0044DD40 +/* 0044D8E0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044D8E4 8F8189CC */ lw $at, %got(align64)($gp) +/* 0044D8E8 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044D8EC A0350000 */ sb $s5, ($at) +/* 0044D8F0 1000014C */ b .L0044DE24 +/* 0044D8F4 8E100000 */ lw $s0, ($s0) +.L0044D8F8: +/* 0044D8F8 93A20540 */ lbu $v0, 0x540($sp) +/* 0044D8FC 244EFFCF */ addiu $t6, $v0, -0x31 +/* 0044D900 2DC10003 */ sltiu $at, $t6, 3 +/* 0044D904 10200014 */ beqz $at, .L0044D958 +/* 0044D908 00000000 */ nop +/* 0044D90C 8F818038 */ lw $at, %got(jtbl_1000F47C)($gp) +/* 0044D910 000E7080 */ sll $t6, $t6, 2 +/* 0044D914 002E0821 */ addu $at, $at, $t6 +/* 0044D918 8C2EF47C */ lw $t6, %lo(jtbl_1000F47C)($at) +/* 0044D91C 01DC7021 */ addu $t6, $t6, $gp +/* 0044D920 01C00008 */ jr $t6 +/* 0044D924 00000000 */ nop +.L0044D928: +/* 0044D928 8F818964 */ lw $at, %got(print_warnings)($gp) +/* 0044D92C AFB50510 */ sw $s5, 0x510($sp) +/* 0044D930 1000013C */ b .L0044DE24 +/* 0044D934 A0200000 */ sb $zero, ($at) +.L0044D938: +/* 0044D938 24190002 */ li $t9, 2 +/* 0044D93C 10000139 */ b .L0044DE24 +/* 0044D940 AFB90510 */ sw $t9, 0x510($sp) +.L0044D944: +/* 0044D944 8F818964 */ lw $at, %got(print_warnings)($gp) +/* 0044D948 240F0003 */ li $t7, 3 +/* 0044D94C AFAF0510 */ sw $t7, 0x510($sp) +/* 0044D950 10000134 */ b .L0044DE24 +/* 0044D954 A0200000 */ sb $zero, ($at) +.L0044D958: +/* 0044D958 8F818964 */ lw $at, %got(print_warnings)($gp) +/* 0044D95C 10000131 */ b .L0044DE24 +/* 0044D960 A0200000 */ sb $zero, ($at) +.L0044D964: +/* 0044D964 8F988038 */ lw $t8, %got(RO_1000EC3D)($gp) +/* 0044D968 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044D96C 02602025 */ move $a0, $s3 +/* 0044D970 2718EC3D */ addiu $t8, %lo(RO_1000EC3D) # addiu $t8, $t8, -0x13c3 +/* 0044D974 8B0A0000 */ lwl $t2, ($t8) +/* 0044D978 9B0A0003 */ lwr $t2, 3($t8) +/* 0044D97C 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044D980 02E01025 */ move $v0, $s7 +/* 0044D984 ABAA0004 */ swl $t2, 4($sp) +/* 0044D988 BBAA0007 */ swr $t2, 7($sp) +/* 0044D98C 8B090004 */ lwl $t1, 4($t8) +/* 0044D990 9B090007 */ lwr $t1, 7($t8) +/* 0044D994 8FA50004 */ lw $a1, 4($sp) +/* 0044D998 ABA90008 */ swl $t1, 8($sp) +/* 0044D99C BBA9000B */ swr $t1, 0xb($sp) +/* 0044D9A0 8B0A0008 */ lwl $t2, 8($t8) +/* 0044D9A4 9B0A000B */ lwr $t2, 0xb($t8) +/* 0044D9A8 8FA60008 */ lw $a2, 8($sp) +/* 0044D9AC ABAA000C */ swl $t2, 0xc($sp) +/* 0044D9B0 BBAA000F */ swr $t2, 0xf($sp) +/* 0044D9B4 8B09000C */ lwl $t1, 0xc($t8) +/* 0044D9B8 9B09000F */ lwr $t1, 0xf($t8) +/* 0044D9BC 8FA7000C */ lw $a3, 0xc($sp) +/* 0044D9C0 ABA90010 */ swl $t1, 0x10($sp) +/* 0044D9C4 BBA90013 */ swr $t1, 0x13($sp) +/* 0044D9C8 8B0A0010 */ lwl $t2, 0x10($t8) +/* 0044D9CC 9B0A0013 */ lwr $t2, 0x13($t8) +/* 0044D9D0 ABAA0014 */ swl $t2, 0x14($sp) +/* 0044D9D4 BBAA0017 */ swr $t2, 0x17($sp) +/* 0044D9D8 8B090014 */ lwl $t1, 0x14($t8) +/* 0044D9DC 9B090017 */ lwr $t1, 0x17($t8) +/* 0044D9E0 ABA90018 */ swl $t1, 0x18($sp) +/* 0044D9E4 BBA9001B */ swr $t1, 0x1b($sp) +/* 0044D9E8 8B0A0018 */ lwl $t2, 0x18($t8) +/* 0044D9EC 9B0A001B */ lwr $t2, 0x1b($t8) +/* 0044D9F0 ABAA001C */ swl $t2, 0x1c($sp) +/* 0044D9F4 BBAA001F */ swr $t2, 0x1f($sp) +/* 0044D9F8 8B09001C */ lwl $t1, 0x1c($t8) +/* 0044D9FC 9B09001F */ lwr $t1, 0x1f($t8) +/* 0044DA00 ABA90020 */ swl $t1, 0x20($sp) +/* 0044DA04 0320F809 */ jalr $t9 +/* 0044DA08 BBA90023 */ swr $t1, 0x23($sp) +/* 0044DA0C 10400004 */ beqz $v0, .L0044DA20 +/* 0044DA10 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DA14 8F8189E8 */ lw $at, %got(cpalias_ok)($gp) +/* 0044DA18 10000054 */ b .L0044DB6C +/* 0044DA1C A0350000 */ sb $s5, ($at) +.L0044DA20: +/* 0044DA20 8F8B8038 */ lw $t3, %got(RO_1000EC1D)($gp) +/* 0044DA24 8F998028 */ lw $t9, %got(func_0044BEA8)($gp) +/* 0044DA28 02602025 */ move $a0, $s3 +/* 0044DA2C 256BEC1D */ addiu $t3, %lo(RO_1000EC1D) # addiu $t3, $t3, -0x13e3 +/* 0044DA30 896D0000 */ lwl $t5, ($t3) +/* 0044DA34 996D0003 */ lwr $t5, 3($t3) +/* 0044DA38 2739BEA8 */ addiu $t9, %lo(func_0044BEA8) # addiu $t9, $t9, -0x4158 +/* 0044DA3C 02E01025 */ move $v0, $s7 +/* 0044DA40 ABAD0004 */ swl $t5, 4($sp) +/* 0044DA44 BBAD0007 */ swr $t5, 7($sp) +/* 0044DA48 896C0004 */ lwl $t4, 4($t3) +/* 0044DA4C 996C0007 */ lwr $t4, 7($t3) +/* 0044DA50 8FA50004 */ lw $a1, 4($sp) +/* 0044DA54 ABAC0008 */ swl $t4, 8($sp) +/* 0044DA58 BBAC000B */ swr $t4, 0xb($sp) +/* 0044DA5C 896D0008 */ lwl $t5, 8($t3) +/* 0044DA60 996D000B */ lwr $t5, 0xb($t3) +/* 0044DA64 8FA60008 */ lw $a2, 8($sp) +/* 0044DA68 ABAD000C */ swl $t5, 0xc($sp) +/* 0044DA6C BBAD000F */ swr $t5, 0xf($sp) +/* 0044DA70 896C000C */ lwl $t4, 0xc($t3) +/* 0044DA74 996C000F */ lwr $t4, 0xf($t3) +/* 0044DA78 8FA7000C */ lw $a3, 0xc($sp) +/* 0044DA7C ABAC0010 */ swl $t4, 0x10($sp) +/* 0044DA80 BBAC0013 */ swr $t4, 0x13($sp) +/* 0044DA84 896D0010 */ lwl $t5, 0x10($t3) +/* 0044DA88 996D0013 */ lwr $t5, 0x13($t3) +/* 0044DA8C ABAD0014 */ swl $t5, 0x14($sp) +/* 0044DA90 BBAD0017 */ swr $t5, 0x17($sp) +/* 0044DA94 896C0014 */ lwl $t4, 0x14($t3) +/* 0044DA98 996C0017 */ lwr $t4, 0x17($t3) +/* 0044DA9C ABAC0018 */ swl $t4, 0x18($sp) +/* 0044DAA0 BBAC001B */ swr $t4, 0x1b($sp) +/* 0044DAA4 896D0018 */ lwl $t5, 0x18($t3) +/* 0044DAA8 996D001B */ lwr $t5, 0x1b($t3) +/* 0044DAAC ABAD001C */ swl $t5, 0x1c($sp) +/* 0044DAB0 BBAD001F */ swr $t5, 0x1f($sp) +/* 0044DAB4 896C001C */ lwl $t4, 0x1c($t3) +/* 0044DAB8 996C001F */ lwr $t4, 0x1f($t3) +/* 0044DABC ABAC0020 */ swl $t4, 0x20($sp) +/* 0044DAC0 0320F809 */ jalr $t9 +/* 0044DAC4 BBAC0023 */ swr $t4, 0x23($sp) +/* 0044DAC8 1040009D */ beqz $v0, .L0044DD40 +/* 0044DACC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DAD0 8F8E8960 */ lw $t6, %got(__Argc)($gp) +/* 0044DAD4 26480001 */ addiu $t0, $s2, 1 +/* 0044DAD8 24060029 */ li $a2, 41 +/* 0044DADC 8DCE0000 */ lw $t6, ($t6) +/* 0044DAE0 24070029 */ li $a3, 41 +/* 0044DAE4 150E0011 */ bne $t0, $t6, .L0044DB2C +/* 0044DAE8 00000000 */ nop +/* 0044DAEC 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DAF0 8F858038 */ lw $a1, %got(RO_1000EBF4)($gp) +/* 0044DAF4 8EC40000 */ lw $a0, ($s6) +/* 0044DAF8 0320F809 */ jalr $t9 +/* 0044DAFC 24A5EBF4 */ addiu $a1, %lo(RO_1000EBF4) # addiu $a1, $a1, -0x140c +/* 0044DB00 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DB04 8EC40000 */ lw $a0, ($s6) +/* 0044DB08 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044DB0C 0320F809 */ jalr $t9 +/* 0044DB10 00000000 */ nop +/* 0044DB14 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DB18 24040001 */ li $a0, 1 +/* 0044DB1C 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044DB20 0320F809 */ jalr $t9 +/* 0044DB24 00000000 */ nop +/* 0044DB28 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044DB2C: +/* 0044DB2C 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044DB30 26520001 */ addiu $s2, $s2, 1 +/* 0044DB34 02402025 */ move $a0, $s2 +/* 0044DB38 02602825 */ move $a1, $s3 +/* 0044DB3C 0320F809 */ jalr $t9 +/* 0044DB40 24060400 */ li $a2, 1024 +/* 0044DB44 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DB48 02602025 */ move $a0, $s3 +/* 0044DB4C 02E01025 */ move $v0, $s7 +/* 0044DB50 8F998028 */ lw $t9, %got(func_0044B290)($gp) +/* 0044DB54 2739B290 */ addiu $t9, %lo(func_0044B290) # addiu $t9, $t9, -0x4d70 +/* 0044DB58 0320F809 */ jalr $t9 +/* 0044DB5C 00000000 */ nop +/* 0044DB60 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DB64 8F818A8C */ lw $at, %got(max_stack)($gp) +/* 0044DB68 AC220000 */ sw $v0, ($at) +.L0044DB6C: +/* 0044DB6C 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044DB70 100000AC */ b .L0044DE24 +/* 0044DB74 8E100000 */ lw $s0, ($s0) +.L0044DB78: +/* 0044DB78 24010034 */ li $at, 52 +/* 0044DB7C 14610070 */ bne $v1, $at, .L0044DD40 +/* 0044DB80 93B90541 */ lbu $t9, 0x541($sp) +/* 0044DB84 24010064 */ li $at, 100 +/* 0044DB88 1721006D */ bne $t9, $at, .L0044DD40 +/* 0044DB8C 93A20542 */ lbu $v0, 0x542($sp) +/* 0044DB90 24010061 */ li $at, 97 +/* 0044DB94 1441006A */ bne $v0, $at, .L0044DD40 +/* 0044DB98 93AF0543 */ lbu $t7, 0x543($sp) +/* 0044DB9C 24010074 */ li $at, 116 +/* 0044DBA0 15E10067 */ bne $t7, $at, .L0044DD40 +/* 0044DBA4 93B80544 */ lbu $t8, 0x544($sp) +/* 0044DBA8 24010061 */ li $at, 97 +/* 0044DBAC 17010064 */ bne $t8, $at, .L0044DD40 +/* 0044DBB0 93A90545 */ lbu $t1, 0x545($sp) +/* 0044DBB4 15340062 */ bne $t1, $s4, .L0044DD40 +/* 0044DBB8 00000000 */ nop +/* 0044DBBC 8F8189B8 */ lw $at, %got(isa)($gp) +/* 0044DBC0 240A0002 */ li $t2, 2 +/* 0044DBC4 240B000F */ li $t3, 15 +/* 0044DBC8 A02A0000 */ sb $t2, ($at) +/* 0044DBCC 8F8189D8 */ lw $at, %got(opcode_arch)($gp) +/* 0044DBD0 240C0008 */ li $t4, 8 +/* 0044DBD4 A0350000 */ sb $s5, ($at) +/* 0044DBD8 8F8189DC */ lw $at, %got(basicint)($gp) +/* 0044DBDC A0350000 */ sb $s5, ($at) +/* 0044DBE0 8F818A28 */ lw $at, %got(addr_dtype)($gp) +/* 0044DBE4 A02B0000 */ sb $t3, ($at) +/* 0044DBE8 8F818A2C */ lw $at, %got(unitsperaddr)($gp) +/* 0044DBEC 1000008D */ b .L0044DE24 +/* 0044DBF0 AC2C0000 */ sw $t4, ($at) +.L0044DBF4: +/* 0044DBF4 15B5008B */ bne $t5, $s5, .L0044DE24 +/* 0044DBF8 93A30540 */ lbu $v1, 0x540($sp) +/* 0044DBFC 2401002D */ li $at, 45 +/* 0044DC00 14610088 */ bne $v1, $at, .L0044DE24 +/* 0044DC04 02402025 */ move $a0, $s2 +/* 0044DC08 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044DC0C 27A50108 */ addiu $a1, $sp, 0x108 +/* 0044DC10 24060400 */ li $a2, 1024 +/* 0044DC14 0320F809 */ jalr $t9 +/* 0044DC18 24110400 */ li $s1, 1024 +/* 0044DC1C 93A80507 */ lbu $t0, 0x507($sp) +/* 0044DC20 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DC24 02602825 */ move $a1, $s3 +/* 0044DC28 16880007 */ bne $s4, $t0, .L0044DC48 +/* 0044DC2C 00000000 */ nop +/* 0044DC30 2631FFFF */ addiu $s1, $s1, -1 +.L0044DC34: +/* 0044DC34 12200004 */ beqz $s1, .L0044DC48 +/* 0044DC38 03D17021 */ addu $t6, $fp, $s1 +/* 0044DC3C 91D90000 */ lbu $t9, ($t6) +/* 0044DC40 5299FFFC */ beql $s4, $t9, .L0044DC34 +/* 0044DC44 2631FFFF */ addiu $s1, $s1, -1 +.L0044DC48: +/* 0044DC48 12200003 */ beqz $s1, .L0044DC58 +/* 0044DC4C 03D17821 */ addu $t7, $fp, $s1 +/* 0044DC50 10000016 */ b .L0044DCAC +/* 0044DC54 A1E00001 */ sb $zero, 1($t7) +.L0044DC58: +/* 0044DC58 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DC5C 8EC40000 */ lw $a0, ($s6) +/* 0044DC60 24060400 */ li $a2, 1024 +/* 0044DC64 0320F809 */ jalr $t9 +/* 0044DC68 00003825 */ move $a3, $zero +/* 0044DC6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DC70 8EC40000 */ lw $a0, ($s6) +/* 0044DC74 2406000F */ li $a2, 15 +/* 0044DC78 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DC7C 8F858038 */ lw $a1, %got(RO_1000EBE5)($gp) +/* 0044DC80 2407000F */ li $a3, 15 +/* 0044DC84 0320F809 */ jalr $t9 +/* 0044DC88 24A5EBE5 */ addiu $a1, %lo(RO_1000EBE5) # addiu $a1, $a1, -0x141b +/* 0044DC8C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DC90 8EC40000 */ lw $a0, ($s6) +/* 0044DC94 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044DC98 0320F809 */ jalr $t9 +/* 0044DC9C 00000000 */ nop +/* 0044DCA0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DCA4 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044DCA8 8E100000 */ lw $s0, ($s0) +.L0044DCAC: +/* 0044DCAC 26220001 */ addiu $v0, $s1, 1 +/* 0044DCB0 28410003 */ slti $at, $v0, 3 +/* 0044DCB4 1420005B */ bnez $at, .L0044DE24 +/* 0044DCB8 24460001 */ addiu $a2, $v0, 1 +/* 0044DCBC 24C7FFFD */ addiu $a3, $a2, -3 +/* 0044DCC0 30E70003 */ andi $a3, $a3, 3 +/* 0044DCC4 10E0000C */ beqz $a3, .L0044DCF8 +/* 0044DCC8 24040003 */ li $a0, 3 +/* 0044DCCC 27B815BF */ addiu $t8, $sp, 0x15bf +/* 0044DCD0 00981821 */ addu $v1, $a0, $t8 +/* 0044DCD4 24E50003 */ addiu $a1, $a3, 3 +/* 0044DCD8 03C41021 */ addu $v0, $fp, $a0 +.L0044DCDC: +/* 0044DCDC 90490000 */ lbu $t1, ($v0) +/* 0044DCE0 24840001 */ addiu $a0, $a0, 1 +/* 0044DCE4 24630001 */ addiu $v1, $v1, 1 +/* 0044DCE8 24420001 */ addiu $v0, $v0, 1 +/* 0044DCEC 14A4FFFB */ bne $a1, $a0, .L0044DCDC +/* 0044DCF0 A069FFFD */ sb $t1, -3($v1) +/* 0044DCF4 1086004B */ beq $a0, $a2, .L0044DE24 +.L0044DCF8: +/* 0044DCF8 27AA15BF */ addiu $t2, $sp, 0x15bf +/* 0044DCFC 27AB0107 */ addiu $t3, $sp, 0x107 +/* 0044DD00 00CB2821 */ addu $a1, $a2, $t3 +/* 0044DD04 008A1821 */ addu $v1, $a0, $t2 +/* 0044DD08 03C41021 */ addu $v0, $fp, $a0 +.L0044DD0C: +/* 0044DD0C 904C0000 */ lbu $t4, ($v0) +/* 0044DD10 904D0001 */ lbu $t5, 1($v0) +/* 0044DD14 90480002 */ lbu $t0, 2($v0) +/* 0044DD18 904E0003 */ lbu $t6, 3($v0) +/* 0044DD1C 24420004 */ addiu $v0, $v0, 4 +/* 0044DD20 24630004 */ addiu $v1, $v1, 4 +/* 0044DD24 A06CFFFA */ sb $t4, -6($v1) +/* 0044DD28 A06DFFFB */ sb $t5, -5($v1) +/* 0044DD2C A068FFFC */ sb $t0, -4($v1) +/* 0044DD30 1445FFF6 */ bne $v0, $a1, .L0044DD0C +/* 0044DD34 A06EFFFD */ sb $t6, -3($v1) +/* 0044DD38 1000003B */ b .L0044DE28 +/* 0044DD3C 26520001 */ addiu $s2, $s2, 1 +.L0044DD40: +/* 0044DD40 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DD44 8EC40000 */ lw $a0, ($s6) +/* 0044DD48 02602825 */ move $a1, $s3 +/* 0044DD4C 24060400 */ li $a2, 1024 +/* 0044DD50 0320F809 */ jalr $t9 +/* 0044DD54 00003825 */ move $a3, $zero +/* 0044DD58 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DD5C 8EC40000 */ lw $a0, ($s6) +/* 0044DD60 2406000F */ li $a2, 15 +/* 0044DD64 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DD68 8F858038 */ lw $a1, %got(RO_1000EBD6)($gp) +/* 0044DD6C 2407000F */ li $a3, 15 +/* 0044DD70 0320F809 */ jalr $t9 +/* 0044DD74 24A5EBD6 */ addiu $a1, %lo(RO_1000EBD6) # addiu $a1, $a1, -0x142a +/* 0044DD78 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DD7C 8EC40000 */ lw $a0, ($s6) +/* 0044DD80 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044DD84 0320F809 */ jalr $t9 +/* 0044DD88 00000000 */ nop +/* 0044DD8C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DD90 8F908960 */ lw $s0, %got(__Argc)($gp) +/* 0044DD94 10000023 */ b .L0044DE24 +/* 0044DD98 8E100000 */ lw $s0, ($s0) +.L0044DD9C: +/* 0044DD9C 2401002D */ li $at, 45 +/* 0044DDA0 1041FF94 */ beq $v0, $at, .L0044DBF4 +/* 0044DDA4 93AD050F */ lbu $t5, 0x50f($sp) +/* 0044DDA8 24010036 */ li $at, 54 +/* 0044DDAC 1041FF72 */ beq $v0, $at, .L0044DB78 +/* 0044DDB0 93A30540 */ lbu $v1, 0x540($sp) +/* 0044DDB4 1000FFE2 */ b .L0044DD40 +/* 0044DDB8 00000000 */ nop +.L0044DDBC: +/* 0044DDBC 2F21000B */ sltiu $at, $t9, 0xb +/* 0044DDC0 1020FFDF */ beqz $at, .L0044DD40 +/* 0044DDC4 00000000 */ nop +/* 0044DDC8 8F818038 */ lw $at, %got(jtbl_1000F488)($gp) +/* 0044DDCC 0019C880 */ sll $t9, $t9, 2 +/* 0044DDD0 00390821 */ addu $at, $at, $t9 +/* 0044DDD4 8C39F488 */ lw $t9, %lo(jtbl_1000F488)($at) +/* 0044DDD8 033CC821 */ addu $t9, $t9, $gp +/* 0044DDDC 03200008 */ jr $t9 +/* 0044DDE0 00000000 */ nop +.L0044DDE4: +/* 0044DDE4 8F9987F4 */ lw $t9, %call16(get_arg)($gp) +/* 0044DDE8 27A515C0 */ addiu $a1, $sp, 0x15c0 +/* 0044DDEC 24060400 */ li $a2, 1024 +/* 0044DDF0 0320F809 */ jalr $t9 +/* 0044DDF4 24110400 */ li $s1, 1024 +/* 0044DDF8 93AF19BF */ lbu $t7, 0x19bf($sp) +/* 0044DDFC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DE00 568F0009 */ bnel $s4, $t7, .L0044DE28 +/* 0044DE04 26520001 */ addiu $s2, $s2, 1 +/* 0044DE08 2631FFFF */ addiu $s1, $s1, -1 +.L0044DE0C: +/* 0044DE0C 12200005 */ beqz $s1, .L0044DE24 +/* 0044DE10 27B815BF */ addiu $t8, $sp, 0x15bf +/* 0044DE14 02384821 */ addu $t1, $s1, $t8 +/* 0044DE18 912A0000 */ lbu $t2, ($t1) +/* 0044DE1C 528AFFFB */ beql $s4, $t2, .L0044DE0C +/* 0044DE20 2631FFFF */ addiu $s1, $s1, -1 +.L0044DE24: +/* 0044DE24 26520001 */ addiu $s2, $s2, 1 +.L0044DE28: +/* 0044DE28 0250082A */ slt $at, $s2, $s0 +/* 0044DE2C 1420F8F4 */ bnez $at, .L0044C200 +/* 0044DE30 00000000 */ nop +/* 0044DE34 AFB10530 */ sw $s1, 0x530($sp) +/* 0044DE38 93AB15C0 */ lbu $t3, 0x15c0($sp) +.L0044DE3C: +/* 0044DE3C 8FB10530 */ lw $s1, 0x530($sp) +/* 0044DE40 24140020 */ li $s4, 32 +/* 0044DE44 8F968950 */ lw $s6, %got(err)($gp) +/* 0044DE48 15600013 */ bnez $t3, .L0044DE98 +/* 0044DE4C 27B721D0 */ addiu $s7, $sp, 0x21d0 +/* 0044DE50 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044DE54 8F858038 */ lw $a1, %got(RO_1000EBC2)($gp) +/* 0044DE58 8EC40000 */ lw $a0, ($s6) +/* 0044DE5C 24060014 */ li $a2, 20 +/* 0044DE60 24070014 */ li $a3, 20 +/* 0044DE64 0320F809 */ jalr $t9 +/* 0044DE68 24A5EBC2 */ addiu $a1, %lo(RO_1000EBC2) # addiu $a1, $a1, -0x143e +/* 0044DE6C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DE70 8EC40000 */ lw $a0, ($s6) +/* 0044DE74 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044DE78 0320F809 */ jalr $t9 +/* 0044DE7C 00000000 */ nop +/* 0044DE80 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DE84 24040001 */ li $a0, 1 +/* 0044DE88 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044DE8C 0320F809 */ jalr $t9 +/* 0044DE90 00000000 */ nop +/* 0044DE94 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044DE98: +/* 0044DE98 8F8C89FC */ lw $t4, %got(n_parm_regs)($gp) +/* 0044DE9C 8F8D8A04 */ lw $t5, %got(n_saved_regs)($gp) +/* 0044DEA0 8F8E8A0C */ lw $t6, %got(n_unsaved_regs)($gp) +/* 0044DEA4 8D8C0000 */ lw $t4, ($t4) +/* 0044DEA8 8DAD0000 */ lw $t5, ($t5) +/* 0044DEAC 8DCE0000 */ lw $t6, ($t6) +/* 0044DEB0 24040004 */ li $a0, 4 +/* 0044DEB4 018D4021 */ addu $t0, $t4, $t5 +/* 0044DEB8 010EC821 */ addu $t9, $t0, $t6 +/* 0044DEBC 2B210013 */ slti $at, $t9, 0x13 +/* 0044DEC0 14200043 */ bnez $at, .L0044DFD0 +/* 0044DEC4 00000000 */ nop +/* 0044DEC8 8F8F8038 */ lw $t7, %got(RO_1000EB72)($gp) +/* 0044DECC 2405030B */ li $a1, 779 +/* 0044DED0 03A05025 */ move $t2, $sp +/* 0044DED4 25EFEB72 */ addiu $t7, %lo(RO_1000EB72) # addiu $t7, $t7, -0x148e +/* 0044DED8 25EB0048 */ addiu $t3, $t7, 0x48 +.L0044DEDC: +/* 0044DEDC 89E90000 */ lwl $t1, ($t7) +/* 0044DEE0 99E90003 */ lwr $t1, 3($t7) +/* 0044DEE4 25EF000C */ addiu $t7, $t7, 0xc +/* 0044DEE8 254A000C */ addiu $t2, $t2, 0xc +/* 0044DEEC A949FFFC */ swl $t1, -4($t2) +/* 0044DEF0 B949FFFF */ swr $t1, -1($t2) +/* 0044DEF4 89F8FFF8 */ lwl $t8, -8($t7) +/* 0044DEF8 99F8FFFB */ lwr $t8, -5($t7) +/* 0044DEFC A9580000 */ swl $t8, ($t2) +/* 0044DF00 B9580003 */ swr $t8, 3($t2) +/* 0044DF04 89E9FFFC */ lwl $t1, -4($t7) +/* 0044DF08 99E9FFFF */ lwr $t1, -1($t7) +/* 0044DF0C A9490004 */ swl $t1, 4($t2) +/* 0044DF10 15EBFFF2 */ bne $t7, $t3, .L0044DEDC +/* 0044DF14 B9490007 */ swr $t1, 7($t2) +/* 0044DF18 89E90000 */ lwl $t1, ($t7) +/* 0044DF1C 99E90003 */ lwr $t1, 3($t7) +/* 0044DF20 8F8C8038 */ lw $t4, %got(RO_1000EB22)($gp) +/* 0044DF24 03A07025 */ move $t6, $sp +/* 0044DF28 A9490008 */ swl $t1, 8($t2) +/* 0044DF2C B949000B */ swr $t1, 0xb($t2) +/* 0044DF30 89F80004 */ lwl $t8, 4($t7) +/* 0044DF34 99F80007 */ lwr $t8, 7($t7) +/* 0044DF38 258CEB22 */ addiu $t4, %lo(RO_1000EB22) # addiu $t4, $t4, -0x14de +/* 0044DF3C 25990048 */ addiu $t9, $t4, 0x48 +/* 0044DF40 A958000C */ swl $t8, 0xc($t2) +/* 0044DF44 B958000F */ swr $t8, 0xf($t2) +.L0044DF48: +/* 0044DF48 89880000 */ lwl $t0, ($t4) +/* 0044DF4C 99880003 */ lwr $t0, 3($t4) +/* 0044DF50 258C000C */ addiu $t4, $t4, 0xc +/* 0044DF54 25CE000C */ addiu $t6, $t6, 0xc +/* 0044DF58 A9C8004C */ swl $t0, 0x4c($t6) +/* 0044DF5C B9C8004F */ swr $t0, 0x4f($t6) +/* 0044DF60 898DFFF8 */ lwl $t5, -8($t4) +/* 0044DF64 998DFFFB */ lwr $t5, -5($t4) +/* 0044DF68 A9CD0050 */ swl $t5, 0x50($t6) +/* 0044DF6C B9CD0053 */ swr $t5, 0x53($t6) +/* 0044DF70 8988FFFC */ lwl $t0, -4($t4) +/* 0044DF74 9988FFFF */ lwr $t0, -1($t4) +/* 0044DF78 A9C80054 */ swl $t0, 0x54($t6) +/* 0044DF7C 1599FFF2 */ bne $t4, $t9, .L0044DF48 +/* 0044DF80 B9C80057 */ swr $t0, 0x57($t6) +/* 0044DF84 89880000 */ lwl $t0, ($t4) +/* 0044DF88 99880003 */ lwr $t0, 3($t4) +/* 0044DF8C A9C80058 */ swl $t0, 0x58($t6) +/* 0044DF90 B9C8005B */ swr $t0, 0x5b($t6) +/* 0044DF94 898D0004 */ lwl $t5, 4($t4) +/* 0044DF98 998D0007 */ lwr $t5, 7($t4) +/* 0044DF9C A9CD005C */ swl $t5, 0x5c($t6) +/* 0044DFA0 B9CD005F */ swr $t5, 0x5f($t6) +/* 0044DFA4 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044DFA8 8FA7000C */ lw $a3, 0xc($sp) +/* 0044DFAC 8FA60008 */ lw $a2, 8($sp) +/* 0044DFB0 0320F809 */ jalr $t9 +/* 0044DFB4 00000000 */ nop +/* 0044DFB8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044DFBC 24040001 */ li $a0, 1 +/* 0044DFC0 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044DFC4 0320F809 */ jalr $t9 +/* 0044DFC8 00000000 */ nop +/* 0044DFCC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044DFD0: +/* 0044DFD0 8F8B8A00 */ lw $t3, %got(n_fp_parm_regs)($gp) +/* 0044DFD4 8F8F8A08 */ lw $t7, %got(n_saved_fp_regs)($gp) +/* 0044DFD8 8F988A10 */ lw $t8, %got(n_unsaved_fp_regs)($gp) +/* 0044DFDC 8D6B0000 */ lw $t3, ($t3) +/* 0044DFE0 8DEF0000 */ lw $t7, ($t7) +/* 0044DFE4 8F180000 */ lw $t8, ($t8) +/* 0044DFE8 24040004 */ li $a0, 4 +/* 0044DFEC 016F5021 */ addu $t2, $t3, $t7 +/* 0044DFF0 01584821 */ addu $t1, $t2, $t8 +/* 0044DFF4 2921000B */ slti $at, $t1, 0xb +/* 0044DFF8 14200043 */ bnez $at, .L0044E108 +/* 0044DFFC 00000000 */ nop +/* 0044E000 8F998038 */ lw $t9, %got(RO_1000EAD2)($gp) +/* 0044E004 24050310 */ li $a1, 784 +/* 0044E008 03A06825 */ move $t5, $sp +/* 0044E00C 2739EAD2 */ addiu $t9, %lo(RO_1000EAD2) # addiu $t9, $t9, -0x152e +/* 0044E010 27280048 */ addiu $t0, $t9, 0x48 +.L0044E014: +/* 0044E014 8B2E0000 */ lwl $t6, ($t9) +/* 0044E018 9B2E0003 */ lwr $t6, 3($t9) +/* 0044E01C 2739000C */ addiu $t9, $t9, 0xc +/* 0044E020 25AD000C */ addiu $t5, $t5, 0xc +/* 0044E024 A9AEFFFC */ swl $t6, -4($t5) +/* 0044E028 B9AEFFFF */ swr $t6, -1($t5) +/* 0044E02C 8B2CFFF8 */ lwl $t4, -8($t9) +/* 0044E030 9B2CFFFB */ lwr $t4, -5($t9) +/* 0044E034 A9AC0000 */ swl $t4, ($t5) +/* 0044E038 B9AC0003 */ swr $t4, 3($t5) +/* 0044E03C 8B2EFFFC */ lwl $t6, -4($t9) +/* 0044E040 9B2EFFFF */ lwr $t6, -1($t9) +/* 0044E044 A9AE0004 */ swl $t6, 4($t5) +/* 0044E048 1728FFF2 */ bne $t9, $t0, .L0044E014 +/* 0044E04C B9AE0007 */ swr $t6, 7($t5) +/* 0044E050 8B2E0000 */ lwl $t6, ($t9) +/* 0044E054 9B2E0003 */ lwr $t6, 3($t9) +/* 0044E058 8F8B8038 */ lw $t3, %got(RO_1000EA82)($gp) +/* 0044E05C 03A0C025 */ move $t8, $sp +/* 0044E060 A9AE0008 */ swl $t6, 8($t5) +/* 0044E064 B9AE000B */ swr $t6, 0xb($t5) +/* 0044E068 8B2C0004 */ lwl $t4, 4($t9) +/* 0044E06C 9B2C0007 */ lwr $t4, 7($t9) +/* 0044E070 256BEA82 */ addiu $t3, %lo(RO_1000EA82) # addiu $t3, $t3, -0x157e +/* 0044E074 25690048 */ addiu $t1, $t3, 0x48 +/* 0044E078 A9AC000C */ swl $t4, 0xc($t5) +/* 0044E07C B9AC000F */ swr $t4, 0xf($t5) +.L0044E080: +/* 0044E080 896A0000 */ lwl $t2, ($t3) +/* 0044E084 996A0003 */ lwr $t2, 3($t3) +/* 0044E088 256B000C */ addiu $t3, $t3, 0xc +/* 0044E08C 2718000C */ addiu $t8, $t8, 0xc +/* 0044E090 AB0A004C */ swl $t2, 0x4c($t8) +/* 0044E094 BB0A004F */ swr $t2, 0x4f($t8) +/* 0044E098 896FFFF8 */ lwl $t7, -8($t3) +/* 0044E09C 996FFFFB */ lwr $t7, -5($t3) +/* 0044E0A0 AB0F0050 */ swl $t7, 0x50($t8) +/* 0044E0A4 BB0F0053 */ swr $t7, 0x53($t8) +/* 0044E0A8 896AFFFC */ lwl $t2, -4($t3) +/* 0044E0AC 996AFFFF */ lwr $t2, -1($t3) +/* 0044E0B0 AB0A0054 */ swl $t2, 0x54($t8) +/* 0044E0B4 1569FFF2 */ bne $t3, $t1, .L0044E080 +/* 0044E0B8 BB0A0057 */ swr $t2, 0x57($t8) +/* 0044E0BC 896A0000 */ lwl $t2, ($t3) +/* 0044E0C0 996A0003 */ lwr $t2, 3($t3) +/* 0044E0C4 AB0A0058 */ swl $t2, 0x58($t8) +/* 0044E0C8 BB0A005B */ swr $t2, 0x5b($t8) +/* 0044E0CC 896F0004 */ lwl $t7, 4($t3) +/* 0044E0D0 996F0007 */ lwr $t7, 7($t3) +/* 0044E0D4 AB0F005C */ swl $t7, 0x5c($t8) +/* 0044E0D8 BB0F005F */ swr $t7, 0x5f($t8) +/* 0044E0DC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044E0E0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044E0E4 8FA60008 */ lw $a2, 8($sp) +/* 0044E0E8 0320F809 */ jalr $t9 +/* 0044E0EC 00000000 */ nop +/* 0044E0F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E0F4 24040001 */ li $a0, 1 +/* 0044E0F8 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044E0FC 0320F809 */ jalr $t9 +/* 0044E100 00000000 */ nop +/* 0044E104 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E108: +/* 0044E108 8F888A24 */ lw $t0, %got(fp32regs)($gp) +/* 0044E10C 91080000 */ lbu $t0, ($t0) +/* 0044E110 1100004A */ beqz $t0, .L0044E23C +/* 0044E114 00000000 */ nop +/* 0044E118 8F8289B8 */ lw $v0, %got(isa)($gp) +/* 0044E11C 24040004 */ li $a0, 4 +/* 0044E120 90420000 */ lbu $v0, ($v0) +/* 0044E124 10400003 */ beqz $v0, .L0044E134 +/* 0044E128 00000000 */ nop +/* 0044E12C 16A20043 */ bne $s5, $v0, .L0044E23C +/* 0044E130 00000000 */ nop +.L0044E134: +/* 0044E134 8F998038 */ lw $t9, %got(RO_1000EA32)($gp) +/* 0044E138 24050315 */ li $a1, 789 +/* 0044E13C 03A07025 */ move $t6, $sp +/* 0044E140 2739EA32 */ addiu $t9, %lo(RO_1000EA32) # addiu $t9, $t9, -0x15ce +/* 0044E144 27290048 */ addiu $t1, $t9, 0x48 +.L0044E148: +/* 0044E148 8B2C0000 */ lwl $t4, ($t9) +/* 0044E14C 9B2C0003 */ lwr $t4, 3($t9) +/* 0044E150 2739000C */ addiu $t9, $t9, 0xc +/* 0044E154 25CE000C */ addiu $t6, $t6, 0xc +/* 0044E158 A9CCFFFC */ swl $t4, -4($t6) +/* 0044E15C B9CCFFFF */ swr $t4, -1($t6) +/* 0044E160 8B2DFFF8 */ lwl $t5, -8($t9) +/* 0044E164 9B2DFFFB */ lwr $t5, -5($t9) +/* 0044E168 A9CD0000 */ swl $t5, ($t6) +/* 0044E16C B9CD0003 */ swr $t5, 3($t6) +/* 0044E170 8B2CFFFC */ lwl $t4, -4($t9) +/* 0044E174 9B2CFFFF */ lwr $t4, -1($t9) +/* 0044E178 A9CC0004 */ swl $t4, 4($t6) +/* 0044E17C 1729FFF2 */ bne $t9, $t1, .L0044E148 +/* 0044E180 B9CC0007 */ swr $t4, 7($t6) +/* 0044E184 8B2C0000 */ lwl $t4, ($t9) +/* 0044E188 9B2C0003 */ lwr $t4, 3($t9) +/* 0044E18C 8F8B8038 */ lw $t3, %got(RO_1000E9E2)($gp) +/* 0044E190 03A05025 */ move $t2, $sp +/* 0044E194 A9CC0008 */ swl $t4, 8($t6) +/* 0044E198 B9CC000B */ swr $t4, 0xb($t6) +/* 0044E19C 8B2D0004 */ lwl $t5, 4($t9) +/* 0044E1A0 9B2D0007 */ lwr $t5, 7($t9) +/* 0044E1A4 256BE9E2 */ addiu $t3, %lo(RO_1000E9E2) # addiu $t3, $t3, -0x161e +/* 0044E1A8 25680048 */ addiu $t0, $t3, 0x48 +/* 0044E1AC A9CD000C */ swl $t5, 0xc($t6) +/* 0044E1B0 B9CD000F */ swr $t5, 0xf($t6) +.L0044E1B4: +/* 0044E1B4 896F0000 */ lwl $t7, ($t3) +/* 0044E1B8 996F0003 */ lwr $t7, 3($t3) +/* 0044E1BC 256B000C */ addiu $t3, $t3, 0xc +/* 0044E1C0 254A000C */ addiu $t2, $t2, 0xc +/* 0044E1C4 A94F004C */ swl $t7, 0x4c($t2) +/* 0044E1C8 B94F004F */ swr $t7, 0x4f($t2) +/* 0044E1CC 8978FFF8 */ lwl $t8, -8($t3) +/* 0044E1D0 9978FFFB */ lwr $t8, -5($t3) +/* 0044E1D4 A9580050 */ swl $t8, 0x50($t2) +/* 0044E1D8 B9580053 */ swr $t8, 0x53($t2) +/* 0044E1DC 896FFFFC */ lwl $t7, -4($t3) +/* 0044E1E0 996FFFFF */ lwr $t7, -1($t3) +/* 0044E1E4 A94F0054 */ swl $t7, 0x54($t2) +/* 0044E1E8 1568FFF2 */ bne $t3, $t0, .L0044E1B4 +/* 0044E1EC B94F0057 */ swr $t7, 0x57($t2) +/* 0044E1F0 896F0000 */ lwl $t7, ($t3) +/* 0044E1F4 996F0003 */ lwr $t7, 3($t3) +/* 0044E1F8 A94F0058 */ swl $t7, 0x58($t2) +/* 0044E1FC B94F005B */ swr $t7, 0x5b($t2) +/* 0044E200 89780004 */ lwl $t8, 4($t3) +/* 0044E204 99780007 */ lwr $t8, 7($t3) +/* 0044E208 A958005C */ swl $t8, 0x5c($t2) +/* 0044E20C B958005F */ swr $t8, 0x5f($t2) +/* 0044E210 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044E214 8FA7000C */ lw $a3, 0xc($sp) +/* 0044E218 8FA60008 */ lw $a2, 8($sp) +/* 0044E21C 0320F809 */ jalr $t9 +/* 0044E220 00000000 */ nop +/* 0044E224 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E228 24040001 */ li $a0, 1 +/* 0044E22C 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044E230 0320F809 */ jalr $t9 +/* 0044E234 00000000 */ nop +/* 0044E238 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E23C: +/* 0044E23C 8F898994 */ lw $t1, %got(ascii_out)($gp) +/* 0044E240 93B911BF */ lbu $t9, 0x11bf($sp) +/* 0044E244 27A40534 */ addiu $a0, $sp, 0x534 +/* 0044E248 91290000 */ lbu $t1, ($t1) +/* 0044E24C 11200065 */ beqz $t1, .L0044E3E4 +/* 0044E250 00000000 */ nop +/* 0044E254 16990008 */ bne $s4, $t9, .L0044E278 +/* 0044E258 24020400 */ li $v0, 1024 +/* 0044E25C 27A30DBF */ addiu $v1, $sp, 0xdbf +/* 0044E260 2442FFFF */ addiu $v0, $v0, -1 +.L0044E264: +/* 0044E264 10400004 */ beqz $v0, .L0044E278 +/* 0044E268 00627021 */ addu $t6, $v1, $v0 +/* 0044E26C 91CD0000 */ lbu $t5, ($t6) +/* 0044E270 528DFFFC */ beql $s4, $t5, .L0044E264 +/* 0044E274 2442FFFF */ addiu $v0, $v0, -1 +.L0044E278: +/* 0044E278 27A30DBF */ addiu $v1, $sp, 0xdbf +/* 0044E27C 00626021 */ addu $t4, $v1, $v0 +/* 0044E280 A1800001 */ sb $zero, 1($t4) +/* 0044E284 8F9987F0 */ lw $t9, %call16(rewrite)($gp) +/* 0044E288 27A50DC0 */ addiu $a1, $sp, 0xdc0 +/* 0044E28C 24060400 */ li $a2, 1024 +/* 0044E290 0320F809 */ jalr $t9 +/* 0044E294 00003825 */ move $a3, $zero +/* 0044E298 93A80940 */ lbu $t0, 0x940($sp) +/* 0044E29C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E2A0 2622FFFF */ addiu $v0, $s1, -1 +/* 0044E2A4 5500002A */ bnel $t0, $zero, .L0044E350 +/* 0044E2A8 93AA09BE */ lbu $t2, 0x9be($sp) +/* 0044E2AC 10400022 */ beqz $v0, .L0044E338 +/* 0044E2B0 24080054 */ li $t0, 84 +/* 0044E2B4 24450001 */ addiu $a1, $v0, 1 +/* 0044E2B8 24A6FFFF */ addiu $a2, $a1, -1 +/* 0044E2BC 30C60003 */ andi $a2, $a2, 3 +/* 0044E2C0 10C0000D */ beqz $a2, .L0044E2F8 +/* 0044E2C4 24120001 */ li $s2, 1 +/* 0044E2C8 27AB093F */ addiu $t3, $sp, 0x93f +/* 0044E2CC 27AA15BF */ addiu $t2, $sp, 0x15bf +/* 0044E2D0 024A1021 */ addu $v0, $s2, $t2 +/* 0044E2D4 024B1821 */ addu $v1, $s2, $t3 +/* 0044E2D8 24C40001 */ addiu $a0, $a2, 1 +.L0044E2DC: +/* 0044E2DC 90580000 */ lbu $t8, ($v0) +/* 0044E2E0 26520001 */ addiu $s2, $s2, 1 +/* 0044E2E4 24630001 */ addiu $v1, $v1, 1 +/* 0044E2E8 24420001 */ addiu $v0, $v0, 1 +/* 0044E2EC 1492FFFB */ bne $a0, $s2, .L0044E2DC +/* 0044E2F0 A078FFFF */ sb $t8, -1($v1) +/* 0044E2F4 12450010 */ beq $s2, $a1, .L0044E338 +.L0044E2F8: +/* 0044E2F8 27A915BF */ addiu $t1, $sp, 0x15bf +/* 0044E2FC 27AF093F */ addiu $t7, $sp, 0x93f +/* 0044E300 024F1821 */ addu $v1, $s2, $t7 +/* 0044E304 02491021 */ addu $v0, $s2, $t1 +/* 0044E308 00A92021 */ addu $a0, $a1, $t1 +.L0044E30C: +/* 0044E30C 90590000 */ lbu $t9, ($v0) +/* 0044E310 904E0001 */ lbu $t6, 1($v0) +/* 0044E314 904D0002 */ lbu $t5, 2($v0) +/* 0044E318 904C0003 */ lbu $t4, 3($v0) +/* 0044E31C 24420004 */ addiu $v0, $v0, 4 +/* 0044E320 24630004 */ addiu $v1, $v1, 4 +/* 0044E324 A079FFFC */ sb $t9, -4($v1) +/* 0044E328 A06EFFFD */ sb $t6, -3($v1) +/* 0044E32C A06DFFFE */ sb $t5, -2($v1) +/* 0044E330 1444FFF6 */ bne $v0, $a0, .L0044E30C +/* 0044E334 A06CFFFF */ sb $t4, -1($v1) +.L0044E338: +/* 0044E338 27A3093F */ addiu $v1, $sp, 0x93f +/* 0044E33C 00715821 */ addu $t3, $v1, $s1 +/* 0044E340 02201025 */ move $v0, $s1 +/* 0044E344 1000000B */ b .L0044E374 +/* 0044E348 A1680000 */ sb $t0, ($t3) +/* 0044E34C 93AA09BE */ lbu $t2, 0x9be($sp) +.L0044E350: +/* 0044E350 2402007F */ li $v0, 127 +/* 0044E354 168A0007 */ bne $s4, $t2, .L0044E374 +/* 0044E358 27A3093F */ addiu $v1, $sp, 0x93f +/* 0044E35C 2442FFFF */ addiu $v0, $v0, -1 +.L0044E360: +/* 0044E360 10400004 */ beqz $v0, .L0044E374 +/* 0044E364 0062C021 */ addu $t8, $v1, $v0 +/* 0044E368 930F0000 */ lbu $t7, ($t8) +/* 0044E36C 528FFFFC */ beql $s4, $t7, .L0044E360 +/* 0044E370 2442FFFF */ addiu $v0, $v0, -1 +.L0044E374: +/* 0044E374 27A3093F */ addiu $v1, $sp, 0x93f +/* 0044E378 00624821 */ addu $t1, $v1, $v0 +/* 0044E37C A1200001 */ sb $zero, 1($t1) +/* 0044E380 8F998780 */ lw $t9, %call16(st_readbinary)($gp) +/* 0044E384 27A40940 */ addiu $a0, $sp, 0x940 +/* 0044E388 24050072 */ li $a1, 114 +/* 0044E38C 0320F809 */ jalr $t9 +/* 0044E390 00000000 */ nop +/* 0044E394 04410013 */ bgez $v0, .L0044E3E4 +/* 0044E398 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E39C 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044E3A0 8F858038 */ lw $a1, %got(RO_1000E9C5)($gp) +/* 0044E3A4 8EC40000 */ lw $a0, ($s6) +/* 0044E3A8 2406001D */ li $a2, 29 +/* 0044E3AC 2407001D */ li $a3, 29 +/* 0044E3B0 0320F809 */ jalr $t9 +/* 0044E3B4 24A5E9C5 */ addiu $a1, %lo(RO_1000E9C5) # addiu $a1, $a1, -0x163b +/* 0044E3B8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E3BC 8EC40000 */ lw $a0, ($s6) +/* 0044E3C0 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044E3C4 0320F809 */ jalr $t9 +/* 0044E3C8 00000000 */ nop +/* 0044E3CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E3D0 24040001 */ li $a0, 1 +/* 0044E3D4 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044E3D8 0320F809 */ jalr $t9 +/* 0044E3DC 00000000 */ nop +/* 0044E3E0 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E3E4: +/* 0044E3E4 8F99864C */ lw $t9, %call16(initialize_tree)($gp) +/* 0044E3E8 0320F809 */ jalr $t9 +/* 0044E3EC 00000000 */ nop +/* 0044E3F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E3F4 8F9981D0 */ lw $t9, %call16(init_ibuffer)($gp) +/* 0044E3F8 0320F809 */ jalr $t9 +/* 0044E3FC 00000000 */ nop +/* 0044E400 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E404 8F9986B4 */ lw $t9, %call16(uini)($gp) +/* 0044E408 0320F809 */ jalr $t9 +/* 0044E40C 00000000 */ nop +/* 0044E410 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E414 27A415C0 */ addiu $a0, $sp, 0x15c0 +/* 0044E418 8F9986E8 */ lw $t9, %call16(initur)($gp) +/* 0044E41C 0320F809 */ jalr $t9 +/* 0044E420 00000000 */ nop +/* 0044E424 93B911C0 */ lbu $t9, 0x11c0($sp) +/* 0044E428 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E42C 1720001C */ bnez $t9, .L0044E4A0 +/* 0044E430 27AD15C0 */ addiu $t5, $sp, 0x15c0 +/* 0044E434 27A311BF */ addiu $v1, $sp, 0x11bf +/* 0044E438 25AB03FC */ addiu $t3, $t5, 0x3fc +/* 0044E43C 27AE11C0 */ addiu $t6, $sp, 0x11c0 +.L0044E440: +/* 0044E440 89A80000 */ lwl $t0, ($t5) +/* 0044E444 99A80003 */ lwr $t0, 3($t5) +/* 0044E448 25AD000C */ addiu $t5, $t5, 0xc +/* 0044E44C 25CE000C */ addiu $t6, $t6, 0xc +/* 0044E450 A9C8FFF4 */ swl $t0, -0xc($t6) +/* 0044E454 B9C8FFF7 */ swr $t0, -9($t6) +/* 0044E458 89ACFFF8 */ lwl $t4, -8($t5) +/* 0044E45C 99ACFFFB */ lwr $t4, -5($t5) +/* 0044E460 A9CCFFF8 */ swl $t4, -8($t6) +/* 0044E464 B9CCFFFB */ swr $t4, -5($t6) +/* 0044E468 89A8FFFC */ lwl $t0, -4($t5) +/* 0044E46C 99A8FFFF */ lwr $t0, -1($t5) +/* 0044E470 A9C8FFFC */ swl $t0, -4($t6) +/* 0044E474 15ABFFF2 */ bne $t5, $t3, .L0044E440 +/* 0044E478 B9C8FFFF */ swr $t0, -1($t6) +/* 0044E47C 89A80000 */ lwl $t0, ($t5) +/* 0044E480 99A80003 */ lwr $t0, 3($t5) +/* 0044E484 240A0047 */ li $t2, 71 +/* 0044E488 0071C021 */ addu $t8, $v1, $s1 +/* 0044E48C A9C80000 */ swl $t0, ($t6) +/* 0044E490 B9C80003 */ swr $t0, 3($t6) +/* 0044E494 A30A0000 */ sb $t2, ($t8) +/* 0044E498 1000000B */ b .L0044E4C8 +/* 0044E49C 02201025 */ move $v0, $s1 +.L0044E4A0: +/* 0044E4A0 93AF15BF */ lbu $t7, 0x15bf($sp) +/* 0044E4A4 24020400 */ li $v0, 1024 +/* 0044E4A8 168F0007 */ bne $s4, $t7, .L0044E4C8 +/* 0044E4AC 27A311BF */ addiu $v1, $sp, 0x11bf +/* 0044E4B0 2442FFFF */ addiu $v0, $v0, -1 +.L0044E4B4: +/* 0044E4B4 10400004 */ beqz $v0, .L0044E4C8 +/* 0044E4B8 00624821 */ addu $t1, $v1, $v0 +/* 0044E4BC 91390000 */ lbu $t9, ($t1) +/* 0044E4C0 5299FFFC */ beql $s4, $t9, .L0044E4B4 +/* 0044E4C4 2442FFFF */ addiu $v0, $v0, -1 +.L0044E4C8: +/* 0044E4C8 27A311BF */ addiu $v1, $sp, 0x11bf +/* 0044E4CC 00625821 */ addu $t3, $v1, $v0 +/* 0044E4D0 AFAB00E4 */ sw $t3, 0xe4($sp) +/* 0044E4D4 A1600001 */ sb $zero, 1($t3) +/* 0044E4D8 93AE19C8 */ lbu $t6, 0x19c8($sp) +/* 0044E4DC 93AC1DC7 */ lbu $t4, 0x1dc7($sp) +/* 0044E4E0 15C00008 */ bnez $t6, .L0044E504 +/* 0044E4E4 00000000 */ nop +/* 0044E4E8 8F998028 */ lw $t9, %got(func_0044BC78)($gp) +/* 0044E4EC 02E01025 */ move $v0, $s7 +/* 0044E4F0 2739BC78 */ addiu $t9, %lo(func_0044BC78) # addiu $t9, $t9, -0x4388 +/* 0044E4F4 0320F809 */ jalr $t9 +/* 0044E4F8 00000000 */ nop +/* 0044E4FC 1000000D */ b .L0044E534 +/* 0044E500 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E504: +/* 0044E504 168C0008 */ bne $s4, $t4, .L0044E528 +/* 0044E508 24020400 */ li $v0, 1024 +/* 0044E50C 27A319C7 */ addiu $v1, $sp, 0x19c7 +/* 0044E510 2442FFFF */ addiu $v0, $v0, -1 +.L0044E514: +/* 0044E514 10400004 */ beqz $v0, .L0044E528 +/* 0044E518 00624021 */ addu $t0, $v1, $v0 +/* 0044E51C 910A0000 */ lbu $t2, ($t0) +/* 0044E520 528AFFFC */ beql $s4, $t2, .L0044E514 +/* 0044E524 2442FFFF */ addiu $v0, $v0, -1 +.L0044E528: +/* 0044E528 27A319C7 */ addiu $v1, $sp, 0x19c7 +/* 0044E52C 0062C021 */ addu $t8, $v1, $v0 +/* 0044E530 A3000001 */ sb $zero, 1($t8) +.L0044E534: +/* 0044E534 93AF1DD0 */ lbu $t7, 0x1dd0($sp) +/* 0044E538 27A41DC8 */ addiu $a0, $sp, 0x1dc8 +/* 0044E53C 11E00007 */ beqz $t7, .L0044E55C +/* 0044E540 00000000 */ nop +/* 0044E544 8F9987F0 */ lw $t9, %call16(rewrite)($gp) +/* 0044E548 27A51DD0 */ addiu $a1, $sp, 0x1dd0 +/* 0044E54C 24060400 */ li $a2, 1024 +/* 0044E550 0320F809 */ jalr $t9 +/* 0044E554 00003825 */ move $a3, $zero +/* 0044E558 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E55C: +/* 0044E55C 8F998478 */ lw $t9, %call16(set_opts)($gp) +/* 0044E560 93A40518 */ lbu $a0, 0x518($sp) +/* 0044E564 93A5051C */ lbu $a1, 0x51c($sp) +/* 0044E568 0320F809 */ jalr $t9 +/* 0044E56C 00000000 */ nop +/* 0044E570 93A9093E */ lbu $t1, 0x93e($sp) +/* 0044E574 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E578 24060005 */ li $a2, 5 +/* 0044E57C 11200007 */ beqz $t1, .L0044E59C +/* 0044E580 24070005 */ li $a3, 5 +/* 0044E584 8F9987D4 */ lw $t9, %call16(write_string)($gp) +/* 0044E588 8F858038 */ lw $a1, %got(RO_1000E9C0)($gp) +/* 0044E58C 8EC40000 */ lw $a0, ($s6) +/* 0044E590 0320F809 */ jalr $t9 +/* 0044E594 24A5E9C0 */ addiu $a1, %lo(RO_1000E9C0) # addiu $a1, $a1, -0x1640 +/* 0044E598 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E59C: +/* 0044E59C 8F998560 */ lw $t9, %call16(clear_sym_tab)($gp) +/* 0044E5A0 0320F809 */ jalr $t9 +/* 0044E5A4 00000000 */ nop +/* 0044E5A8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E5AC 27A419C8 */ addiu $a0, $sp, 0x19c8 +/* 0044E5B0 8F998164 */ lw $t9, %call16(open_bin_file)($gp) +/* 0044E5B4 0320F809 */ jalr $t9 +/* 0044E5B8 00000000 */ nop +/* 0044E5BC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E5C0 8F9981C0 */ lw $t9, %call16(init_build)($gp) +/* 0044E5C4 0320F809 */ jalr $t9 +/* 0044E5C8 00000000 */ nop +/* 0044E5CC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E5D0 8F9E897C */ lw $fp, %got(i_ptr)($gp) +/* 0044E5D4 8F958978 */ lw $s5, %got(ibuffer)($gp) +/* 0044E5D8 8F938A34 */ lw $s3, %got(opt_labels)($gp) +/* 0044E5DC 8F928A5C */ lw $s2, %got(tree_heap_mark)($gp) +/* 0044E5E0 8F918A58 */ lw $s1, %got(tree_heap)($gp) +.L0044E5E4: +/* 0044E5E4 8F9982A8 */ lw $t9, %call16(clear_ibuffer)($gp) +/* 0044E5E8 0320F809 */ jalr $t9 +/* 0044E5EC 00000000 */ nop +/* 0044E5F0 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E5F4 02202025 */ move $a0, $s1 +/* 0044E5F8 8F99882C */ lw $t9, %call16(alloc_mark)($gp) +/* 0044E5FC 0320F809 */ jalr $t9 +/* 0044E600 00000000 */ nop +/* 0044E604 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E608 AE420000 */ sw $v0, ($s2) +/* 0044E60C 93A4093E */ lbu $a0, 0x93e($sp) +/* 0044E610 8F9981C4 */ lw $t9, %call16(build_tree)($gp) +/* 0044E614 0320F809 */ jalr $t9 +/* 0044E618 00000000 */ nop +/* 0044E61C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E620 10400082 */ beqz $v0, .L0044E82C +/* 0044E624 00408025 */ move $s0, $v0 +/* 0044E628 93B9093F */ lbu $t9, 0x93f($sp) +/* 0044E62C 13200018 */ beqz $t9, .L0044E690 +/* 0044E630 00000000 */ nop +/* 0044E634 8F8B8038 */ lw $t3, %got(RO_1000E9B4)($gp) +/* 0044E638 8F998028 */ lw $t9, %got(func_0044BA38)($gp) +/* 0044E63C 00402025 */ move $a0, $v0 +/* 0044E640 256BE9B4 */ addiu $t3, %lo(RO_1000E9B4) # addiu $t3, $t3, -0x164c +/* 0044E644 896E0000 */ lwl $t6, ($t3) +/* 0044E648 996E0003 */ lwr $t6, 3($t3) +/* 0044E64C 2739BA38 */ addiu $t9, %lo(func_0044BA38) # addiu $t9, $t9, -0x45c8 +/* 0044E650 02E01025 */ move $v0, $s7 +/* 0044E654 ABAE0004 */ swl $t6, 4($sp) +/* 0044E658 BBAE0007 */ swr $t6, 7($sp) +/* 0044E65C 896D0004 */ lwl $t5, 4($t3) +/* 0044E660 996D0007 */ lwr $t5, 7($t3) +/* 0044E664 8FA50004 */ lw $a1, 4($sp) +/* 0044E668 ABAD0008 */ swl $t5, 8($sp) +/* 0044E66C BBAD000B */ swr $t5, 0xb($sp) +/* 0044E670 896E0008 */ lwl $t6, 8($t3) +/* 0044E674 996E000B */ lwr $t6, 0xb($t3) +/* 0044E678 8FA60008 */ lw $a2, 8($sp) +/* 0044E67C ABAE000C */ swl $t6, 0xc($sp) +/* 0044E680 BBAE000F */ swr $t6, 0xf($sp) +/* 0044E684 0320F809 */ jalr $t9 +/* 0044E688 8FA7000C */ lw $a3, 0xc($sp) +/* 0044E68C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E690: +/* 0044E690 8F9985F0 */ lw $t9, %call16(translate_tree)($gp) +/* 0044E694 02002025 */ move $a0, $s0 +/* 0044E698 0320F809 */ jalr $t9 +/* 0044E69C 00000000 */ nop +/* 0044E6A0 93AC093F */ lbu $t4, 0x93f($sp) +/* 0044E6A4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E6A8 00408025 */ move $s0, $v0 +/* 0044E6AC 51800019 */ beql $t4, $zero, .L0044E714 +/* 0044E6B0 926F0000 */ lbu $t7, ($s3) +/* 0044E6B4 8F888038 */ lw $t0, %got(RO_1000E9A8)($gp) +/* 0044E6B8 8F998028 */ lw $t9, %got(func_0044BA38)($gp) +/* 0044E6BC 00402025 */ move $a0, $v0 +/* 0044E6C0 2508E9A8 */ addiu $t0, %lo(RO_1000E9A8) # addiu $t0, $t0, -0x1658 +/* 0044E6C4 89180000 */ lwl $t8, ($t0) +/* 0044E6C8 99180003 */ lwr $t8, 3($t0) +/* 0044E6CC 2739BA38 */ addiu $t9, %lo(func_0044BA38) # addiu $t9, $t9, -0x45c8 +/* 0044E6D0 02E01025 */ move $v0, $s7 +/* 0044E6D4 ABB80004 */ swl $t8, 4($sp) +/* 0044E6D8 BBB80007 */ swr $t8, 7($sp) +/* 0044E6DC 890A0004 */ lwl $t2, 4($t0) +/* 0044E6E0 990A0007 */ lwr $t2, 7($t0) +/* 0044E6E4 8FA50004 */ lw $a1, 4($sp) +/* 0044E6E8 ABAA0008 */ swl $t2, 8($sp) +/* 0044E6EC BBAA000B */ swr $t2, 0xb($sp) +/* 0044E6F0 89180008 */ lwl $t8, 8($t0) +/* 0044E6F4 9918000B */ lwr $t8, 0xb($t0) +/* 0044E6F8 8FA60008 */ lw $a2, 8($sp) +/* 0044E6FC ABB8000C */ swl $t8, 0xc($sp) +/* 0044E700 BBB8000F */ swr $t8, 0xf($sp) +/* 0044E704 0320F809 */ jalr $t9 +/* 0044E708 8FA7000C */ lw $a3, 0xc($sp) +/* 0044E70C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E710 926F0000 */ lbu $t7, ($s3) +.L0044E714: +/* 0044E714 93A91DD0 */ lbu $t1, 0x1dd0($sp) +/* 0044E718 11E00011 */ beqz $t7, .L0044E760 +/* 0044E71C 00000000 */ nop +/* 0044E720 11200009 */ beqz $t1, .L0044E748 +/* 0044E724 02002025 */ move $a0, $s0 +/* 0044E728 8F998418 */ lw $t9, %call16(labelopt)($gp) +/* 0044E72C 02002025 */ move $a0, $s0 +/* 0044E730 27A51DC8 */ addiu $a1, $sp, 0x1dc8 +/* 0044E734 93A6093F */ lbu $a2, 0x93f($sp) +/* 0044E738 0320F809 */ jalr $t9 +/* 0044E73C 93A70516 */ lbu $a3, 0x516($sp) +/* 0044E740 10000007 */ b .L0044E760 +/* 0044E744 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E748: +/* 0044E748 8F998418 */ lw $t9, %call16(labelopt)($gp) +/* 0044E74C 02C02825 */ move $a1, $s6 +/* 0044E750 93A6093F */ lbu $a2, 0x93f($sp) +/* 0044E754 0320F809 */ jalr $t9 +/* 0044E758 93A70516 */ lbu $a3, 0x516($sp) +/* 0044E75C 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E760: +/* 0044E760 8F998028 */ lw $t9, %got(func_0044B2EC)($gp) +/* 0044E764 02002025 */ move $a0, $s0 +/* 0044E768 02E01025 */ move $v0, $s7 +/* 0044E76C 2739B2EC */ addiu $t9, %lo(func_0044B2EC) # addiu $t9, $t9, -0x4d14 +/* 0044E770 0320F809 */ jalr $t9 +/* 0044E774 00000000 */ nop +/* 0044E778 93B909C0 */ lbu $t9, 0x9c0($sp) +/* 0044E77C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E780 1320000B */ beqz $t9, .L0044E7B0 +/* 0044E784 00000000 */ nop +/* 0044E788 8F9986B8 */ lw $t9, %call16(inituwrite)($gp) +/* 0044E78C 27A409C0 */ addiu $a0, $sp, 0x9c0 +/* 0044E790 0320F809 */ jalr $t9 +/* 0044E794 00000000 */ nop +/* 0044E798 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E79C 02002025 */ move $a0, $s0 +/* 0044E7A0 8F99869C */ lw $t9, %call16(u_tree)($gp) +/* 0044E7A4 0320F809 */ jalr $t9 +/* 0044E7A8 00000000 */ nop +/* 0044E7AC 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E7B0: +/* 0044E7B0 8F9983D4 */ lw $t9, %call16(init_eval)($gp) +/* 0044E7B4 0320F809 */ jalr $t9 +/* 0044E7B8 00000000 */ nop +/* 0044E7BC 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E7C0 02002025 */ move $a0, $s0 +/* 0044E7C4 24050048 */ li $a1, 72 +/* 0044E7C8 8F9983D0 */ lw $t9, %call16(eval)($gp) +/* 0044E7CC 0320F809 */ jalr $t9 +/* 0044E7D0 00000000 */ nop +/* 0044E7D4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E7D8 8EA40000 */ lw $a0, ($s5) +/* 0044E7DC 8FC50000 */ lw $a1, ($fp) +/* 0044E7E0 8F828974 */ lw $v0, %got(ibuffer_size)($gp) +/* 0044E7E4 8F8D8984 */ lw $t5, %got(d_ptr)($gp) +/* 0044E7E8 8F99816C */ lw $t9, %call16(output_inst_bin)($gp) +/* 0044E7EC 8C420000 */ lw $v0, ($v0) +/* 0044E7F0 8DAD0000 */ lw $t5, ($t5) +/* 0044E7F4 24A5FFFF */ addiu $a1, $a1, -1 +/* 0044E7F8 00025900 */ sll $t3, $v0, 4 +/* 0044E7FC 008B3021 */ addu $a2, $a0, $t3 +/* 0044E800 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0044E804 0320F809 */ jalr $t9 +/* 0044E808 004D3823 */ subu $a3, $v0, $t5 +/* 0044E80C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E810 02202025 */ move $a0, $s1 +/* 0044E814 8E450000 */ lw $a1, ($s2) +/* 0044E818 8F998830 */ lw $t9, %call16(alloc_release)($gp) +/* 0044E81C 0320F809 */ jalr $t9 +/* 0044E820 00000000 */ nop +/* 0044E824 1000FF6F */ b .L0044E5E4 +/* 0044E828 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E82C: +/* 0044E82C 8F998168 */ lw $t9, %call16(close_bin_file)($gp) +/* 0044E830 0320F809 */ jalr $t9 +/* 0044E834 00000000 */ nop +/* 0044E838 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E83C 8F9982A8 */ lw $t9, %call16(clear_ibuffer)($gp) +/* 0044E840 0320F809 */ jalr $t9 +/* 0044E844 00000000 */ nop +/* 0044E848 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E84C 8F9981DC */ lw $t9, %call16(emit_vers)($gp) +/* 0044E850 0320F809 */ jalr $t9 +/* 0044E854 00000000 */ nop +/* 0044E858 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E85C 8F9982B0 */ lw $t9, %call16(emit_pic)($gp) +/* 0044E860 8F8489E4 */ lw $a0, %got(pic_level)($gp) +/* 0044E864 0320F809 */ jalr $t9 +/* 0044E868 8C840000 */ lw $a0, ($a0) +/* 0044E86C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E870 8F998590 */ lw $t9, %call16(output_decls)($gp) +/* 0044E874 0320F809 */ jalr $t9 +/* 0044E878 00000000 */ nop +/* 0044E87C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E880 27A411C0 */ addiu $a0, $sp, 0x11c0 +/* 0044E884 8F998164 */ lw $t9, %call16(open_bin_file)($gp) +/* 0044E888 0320F809 */ jalr $t9 +/* 0044E88C 00000000 */ nop +/* 0044E890 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E894 8EA40000 */ lw $a0, ($s5) +/* 0044E898 8FC50000 */ lw $a1, ($fp) +/* 0044E89C 8F828974 */ lw $v0, %got(ibuffer_size)($gp) +/* 0044E8A0 8F8C8984 */ lw $t4, %got(d_ptr)($gp) +/* 0044E8A4 8F99816C */ lw $t9, %call16(output_inst_bin)($gp) +/* 0044E8A8 8C420000 */ lw $v0, ($v0) +/* 0044E8AC 8D8C0000 */ lw $t4, ($t4) +/* 0044E8B0 24A5FFFF */ addiu $a1, $a1, -1 +/* 0044E8B4 00027100 */ sll $t6, $v0, 4 +/* 0044E8B8 008E3021 */ addu $a2, $a0, $t6 +/* 0044E8BC 24C6FFF0 */ addiu $a2, $a2, -0x10 +/* 0044E8C0 0320F809 */ jalr $t9 +/* 0044E8C4 004C3823 */ subu $a3, $v0, $t4 +/* 0044E8C8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E8CC 8F998168 */ lw $t9, %call16(close_bin_file)($gp) +/* 0044E8D0 0320F809 */ jalr $t9 +/* 0044E8D4 00000000 */ nop +/* 0044E8D8 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E8DC 27A411C0 */ addiu $a0, $sp, 0x11c0 +/* 0044E8E0 27A519C8 */ addiu $a1, $sp, 0x19c8 +/* 0044E8E4 8F998170 */ lw $t9, %call16(cat_files)($gp) +/* 0044E8E8 0320F809 */ jalr $t9 +/* 0044E8EC 00000000 */ nop +/* 0044E8F0 93A80515 */ lbu $t0, 0x515($sp) +/* 0044E8F4 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E8F8 15000007 */ bnez $t0, .L0044E918 +/* 0044E8FC 00000000 */ nop +/* 0044E900 8F998028 */ lw $t9, %got(func_0044BE70)($gp) +/* 0044E904 02E01025 */ move $v0, $s7 +/* 0044E908 2739BE70 */ addiu $t9, %lo(func_0044BE70) # addiu $t9, $t9, -0x4190 +/* 0044E90C 0320F809 */ jalr $t9 +/* 0044E910 00000000 */ nop +/* 0044E914 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E918: +/* 0044E918 8F8A8994 */ lw $t2, %got(ascii_out)($gp) +/* 0044E91C 8FB800E4 */ lw $t8, 0xe4($sp) +/* 0044E920 914A0000 */ lbu $t2, ($t2) +/* 0044E924 51400009 */ beql $t2, $zero, .L0044E94C +/* 0044E928 93AF093E */ lbu $t7, 0x93e($sp) +/* 0044E92C A3140001 */ sb $s4, 1($t8) +/* 0044E930 8F9981AC */ lw $t9, %call16(output_inst_ascii)($gp) +/* 0044E934 27A411C0 */ addiu $a0, $sp, 0x11c0 +/* 0044E938 27A50534 */ addiu $a1, $sp, 0x534 +/* 0044E93C 0320F809 */ jalr $t9 +/* 0044E940 00000000 */ nop +/* 0044E944 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E948 93AF093E */ lbu $t7, 0x93e($sp) +.L0044E94C: +/* 0044E94C 11E00006 */ beqz $t7, .L0044E968 +/* 0044E950 00000000 */ nop +/* 0044E954 8F9987CC */ lw $t9, %call16(writeln)($gp) +/* 0044E958 8EC40000 */ lw $a0, ($s6) +/* 0044E95C 0320F809 */ jalr $t9 +/* 0044E960 00000000 */ nop +/* 0044E964 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E968: +/* 0044E968 8F998544 */ lw $t9, %call16(has_errors)($gp) +/* 0044E96C 8FA40510 */ lw $a0, 0x510($sp) +/* 0044E970 0320F809 */ jalr $t9 +/* 0044E974 00000000 */ nop +/* 0044E978 10400006 */ beqz $v0, .L0044E994 +/* 0044E97C 8FBC00CC */ lw $gp, 0xcc($sp) +/* 0044E980 8F99880C */ lw $t9, %call16(exit)($gp) +/* 0044E984 24040001 */ li $a0, 1 +/* 0044E988 0320F809 */ jalr $t9 +/* 0044E98C 00000000 */ nop +/* 0044E990 8FBC00CC */ lw $gp, 0xcc($sp) +.L0044E994: +/* 0044E994 00001025 */ move $v0, $zero +.L0044E998: +/* 0044E998 8FBF00D4 */ lw $ra, 0xd4($sp) +/* 0044E99C 8FB000AC */ lw $s0, 0xac($sp) +/* 0044E9A0 8FB100B0 */ lw $s1, 0xb0($sp) +/* 0044E9A4 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0044E9A8 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0044E9AC 8FB400BC */ lw $s4, 0xbc($sp) +/* 0044E9B0 8FB500C0 */ lw $s5, 0xc0($sp) +/* 0044E9B4 8FB600C4 */ lw $s6, 0xc4($sp) +/* 0044E9B8 8FB700C8 */ lw $s7, 0xc8($sp) +/* 0044E9BC 8FBE00D0 */ lw $fp, 0xd0($sp) +/* 0044E9C0 03E00008 */ jr $ra +/* 0044E9C4 27BD21D0 */ addiu $sp, $sp, 0x21d0 + .type main1, @function + .size main1, .-main1 + .end main1 +)""); diff --git a/src/ugen/ugendata.c b/src/ugen/ugendata.c new file mode 100644 index 0000000..aff50b0 --- /dev/null +++ b/src/ugen/ugendata.c @@ -0,0 +1,1297 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + + + +.bss + .balign 4 +# 10021220 +glabel current_line + # 0040ADA0 warning + # 0040F4C8 build_tree + # 0042BDAC eval + # 00438AE0 cross_jump + # 0043D650 reset_errors + # 0043D690 report_error + # 004432FC translate + .space 4 + .size current_line, 4 + .type current_line, @object + + .balign 4 +# 10021228 +glabel excpt + # 00420810 gen_entry_exit + # 0043DFB0 gen_sym + # 0043FA38 choose_area + # 0044BF18 main + .space 4 + .size excpt, 4 + .type excpt, @object + + .balign 4 +# 1002122C +glabel non_local_mtag + # 0040EFBC func_0040EFBC + # 0040F4C8 build_tree + # 00440B60 get_mtag + # 0044BF18 main + .space 4 + .size non_local_mtag, 4 + .type non_local_mtag, @object + + .balign 4 +# 10021230 +glabel ibuffer_size + # 00414040 init_ibuffer + # 004141CC grow_ibuffer + # 0041AC84 clear_ibuffer + # 0044BF18 main + .space 4 + .size ibuffer_size, 4 + .type ibuffer_size, @object + + .balign 4 +# 10021234 +glabel ibuffer + # 00413F80 restore_i_ptrs + # 00414040 init_ibuffer + # 004141CC grow_ibuffer + # 00414774 emit_vers + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + # 004188BC define_label + # 00418968 emit_itext + # 00418B9C demit_itext + # 00418DD0 emit_dir0 + # 00418F10 emit_dir1 + # 00418FCC emit_dir2 + # 00419154 emit_alias + # 0041926C emit_regmask + # 0041933C emit_loopno + # 004193FC emit_dir_ll + # 0041951C demit_rob_ + # 004196EC demit_ri + # 00419894 demit_rr + # 00419A00 demit_a + # 00419BA0 demit_regmask + # 00419C70 demit_rrr + # 00419E0C demit_rri + # 00419F88 demit_rrll + # 0041A110 demit_i + # 0041A288 demit_ra + # 0041A3F8 demit_dir0 + # 0041A524 demit_dir1 + # 0041A618 demit_dir2 + # 0041A7D4 demit_edata + # 0041A894 demit_weakext + # 0041AA24 ddefine_label + # 0041AAD0 define_exception_label + # 0041AB64 append_i + # 0041ABF4 append_d + # 0041AC84 clear_ibuffer + # 0041AD8C emit_pic + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size ibuffer, 4 + .type ibuffer, @object + + .balign 4 +# 10021238 +glabel i_ptr + # 00413F50 save_i_ptrs + # 00413F80 restore_i_ptrs + # 00414040 init_ibuffer + # 004141CC grow_ibuffer + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + # 004188BC define_label + # 00418968 emit_itext + # 00418B9C demit_itext + # 00418DD0 emit_dir0 + # 00418F10 emit_dir1 + # 00418FCC emit_dir2 + # 00419154 emit_alias + # 0041926C emit_regmask + # 0041933C emit_loopno + # 004193FC emit_dir_ll + # 0041951C demit_rob_ + # 004196EC demit_ri + # 00419894 demit_rr + # 00419A00 demit_a + # 00419BA0 demit_regmask + # 00419C70 demit_rrr + # 00419E0C demit_rri + # 00419F88 demit_rrll + # 0041A110 demit_i + # 0041A288 demit_ra + # 0041A3F8 demit_dir0 + # 0041A524 demit_dir1 + # 0041A618 demit_dir2 + # 0041A7D4 demit_edata + # 0041A894 demit_weakext + # 0041AA24 ddefine_label + # 0041AAD0 define_exception_label + # 0041AB64 append_i + # 0041ABF4 append_d + # 0041AC84 clear_ibuffer + # 00420810 gen_entry_exit + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size i_ptr, 4 + .type i_ptr, @object + + .balign 4 +# 1002123C +glabel old_i_ptr + # 00413F50 save_i_ptrs + # 00413F80 restore_i_ptrs + .space 4 + .size old_i_ptr, 4 + .type old_i_ptr, @object + + .balign 4 +# 10021240 +glabel d_ptr + # 00413F50 save_i_ptrs + # 00413F80 restore_i_ptrs + # 00414040 init_ibuffer + # 004141CC grow_ibuffer + # 00414774 emit_vers + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + # 004188BC define_label + # 00418968 emit_itext + # 00418B9C demit_itext + # 00418DD0 emit_dir0 + # 00418F10 emit_dir1 + # 00418FCC emit_dir2 + # 00419154 emit_alias + # 0041926C emit_regmask + # 0041933C emit_loopno + # 004193FC emit_dir_ll + # 0041951C demit_rob_ + # 004196EC demit_ri + # 00419894 demit_rr + # 00419A00 demit_a + # 00419BA0 demit_regmask + # 00419C70 demit_rrr + # 00419E0C demit_rri + # 00419F88 demit_rrll + # 0041A110 demit_i + # 0041A288 demit_ra + # 0041A3F8 demit_dir0 + # 0041A524 demit_dir1 + # 0041A618 demit_dir2 + # 0041A7D4 demit_edata + # 0041A894 demit_weakext + # 0041AA24 ddefine_label + # 0041AAD0 define_exception_label + # 0041AB64 append_i + # 0041ABF4 append_d + # 0041AC84 clear_ibuffer + # 0041AD8C emit_pic + # 0044BF18 main + .space 4 + .size d_ptr, 4 + .type d_ptr, @object + + .balign 4 +# 10021244 +glabel old_d_ptr + # 00413F50 save_i_ptrs + # 00413F80 restore_i_ptrs + # 004141CC grow_ibuffer + .space 4 + .size old_d_ptr, 4 + .type old_d_ptr, @object + + .balign 4 +# 10021248 +glabel lsb_first + # 0040E474 func_0040E474 + # 0040E884 func_0040E884 + # 0040F4C8 build_tree + # 0041B07C func_0041B07C + # 0041B1BC func_0041B1BC + # 0041B2FC func_0041B2FC + # 0041B43C func_0041B43C + # 0041B57C func_0041B57C + # 0041B6BC func_0041B6BC + # 0041B7FC func_0041B7FC + # 0041B93C func_0041B93C + # 0041D1E8 func_0041D1E8 + # 0041D39C func_0041D39C + # 0041D534 func_0041D534 + # 0041D958 func_0041D958 + # 0041DF18 func_0041DF18 + # 0041E05C func_0041E05C + # 0041E1C0 func_0041E1C0 + # 0041E304 func_0041E304 + # 0041E800 func_0041E800 + # 0041EA00 func_0041EA00 + # 0041EC08 func_0041EC08 + # 0041EE78 func_0041EE78 + # 0041F194 func_0041F194 + # 0041F368 func_0041F368 + # 0041F4F0 func_0041F4F0 + # 0041F678 func_0041F678 + # 0041F800 func_0041F800 + # 0041F988 func_0041F988 + # 0041FB10 func_0041FB10 + # 0041FC98 dw_emit_rri + # 00420360 func_00420360 + # 00423290 move_dreg_to_regs + # 00426C54 func_00426C54 + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00427B44 loadstore_for_two_words + # 00427CE4 unaligned_loadstore_for_two_fp_w + # 00427E8C loadstore_for_two_fp_words + # 00427FB8 func_00427FB8 + # 00428D14 eval_mov + # 0042BDAC eval + # 00434374 func_00434374 + # 00434430 func_00434430 + # 00434618 func_00434618 + # 0044196C get_set_const + # 0044202C set_rewrite + # 00442968 set_rewrite_indexed + # 004432FC translate + # 00447E14 load_cse + # 004488F4 translate_cvtl + # 0044BF18 main + # 0044EC1C emit_val + .space 4 + .size lsb_first, 4 + .type lsb_first, @object + + .balign 4 +# 1002124C +glabel sdata_max + # 004366E8 select_data_section + # 00436D00 add_to_pool + # 0043FA38 choose_area + # 0044BF18 main + .space 4 + .size sdata_max, 4 + .type sdata_max, @object + + .balign 4 +# 10021250 +glabel ascii_out + # 00420810 gen_entry_exit + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size ascii_out, 4 + .type ascii_out, @object + + .balign 4 +# 10021254 +glabel ms_stamp + # 0040F4C8 build_tree + .space 4 + .size ms_stamp, 4 + .type ms_stamp, @object + + .balign 4 +# 10021258 +glabel ls_stamp + # 0040F4C8 build_tree + .space 4 + .size ls_stamp, 4 + .type ls_stamp, @object + + .balign 4 +# 1002125C +glabel fp_initialized + # 0044BF18 main + .space 4 + .size fp_initialized, 4 + .type fp_initialized, @object + + .balign 4 +# 10021260 +glabel source_language + # 0040BC48 put_sym + # 0040F4C8 build_tree + # 0042A9A8 load_parm_vreg + # 0042BDAC eval + # 0043E7D8 some_init_overlap + # 0043E938 complex_init_duplicate_p + # 0043F460 append_init + # 0043FBF8 emit_init + # 004432FC translate + # 00447E14 load_cse + .space 4 + .size source_language, 4 + .type source_language, @object + + .balign 4 +# 10021264 +glabel use_fp + # 0040F4C8 build_tree + # 0042BDAC eval + # 004432FC translate + .space 4 + .size use_fp, 4 + .type use_fp, @object + + .balign 4 +# 10021268 +glabel will_use_real_fp_for_proc + # 0040F4C8 build_tree + .space 4 + .size will_use_real_fp_for_proc, 4 + .type will_use_real_fp_for_proc, @object + + .balign 4 +# 1002126C +glabel no_jal_use_jalr_only + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size no_jal_use_jalr_only, 4 + .type no_jal_use_jalr_only, @object + + .balign 4 +# 10021270 +glabel pseudo_leaf + # 0040F4C8 build_tree + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 00443284 translate_tree + # 004432FC translate + .space 4 + .size pseudo_leaf, 4 + .type pseudo_leaf, @object + + .balign 4 +# 10021274 +glabel isa + # 00420810 gen_entry_exit + # 00424934 restore_from_temp + # 00425D78 lsopc + # 0042BDAC eval + # 0043A888 spill_reg + # 0043BAA8 get_free_fp_reg + # 004488F4 translate_cvtl + # 0044BF18 main + .space 4 + .size isa, 4 + .type isa, @object + + .balign 4 +# 10021278 +glabel apc + # 0043F460 append_init + # 0044BF18 main + .space 4 + .size apc, 4 + .type apc, @object + + .balign 4 +# 1002127C +glabel align8 + # 00426EF0 iloadistore + # 00428384 unaligned_loadstore + # 0044BF18 main + .space 4 + .size align8, 4 + .type align8, @object + + .balign 4 +# 10021280 +glabel align16 + # 00426EF0 iloadistore + # 00428384 unaligned_loadstore + # 0044BF18 main + .space 4 + .size align16, 4 + .type align16, @object + + .balign 4 +# 10021284 +glabel align32 + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00428384 unaligned_loadstore + # 0044BF18 main + .space 4 + .size align32, 4 + .type align32, @object + + .balign 4 +# 10021288 +glabel align64 + # 00426EF0 iloadistore + # 0044BF18 main + .space 4 + .size align64, 4 + .type align64, @object + + .balign 4 +# 1002128C +glabel mscoff + # 00422DB8 emit_file + # 0044BF18 main + .space 4 + .size mscoff, 4 + .type mscoff, @object + + .balign 4 +# 10021290 +glabel stack_limit_bn + # 0040F4C8 build_tree + # 00420810 gen_entry_exit + # 0042BDAC eval + .space 4 + .size stack_limit_bn, 4 + .type stack_limit_bn, @object + + .balign 4 +# 10021294 +glabel opcode_arch + # 0040F4C8 build_tree + # 0041BA7C emit_branch_rrll + # 0041C388 emit_branch_rill + # 0041CAAC emit_trap_rri + # 0041D034 emit_trap_ri + # 0041E468 dw_emit_rrr + # 0041FC98 dw_emit_rri + # 004206C0 dw_emit_rr + # 00423290 move_dreg_to_regs + # 00423AA4 uop_to_asm + # 00424240 trap + # 00424934 restore_from_temp + # 004258CC get_dest + # 00425AA0 move_to_dest + # 00426EF0 iloadistore + # 00427620 rloadrstore + # 00428190 func_00428190 + # 00428D14 eval_mov + # 0042BDAC eval + # 00433494 eval_flt_int_cvt + # 004340D4 func_004340D4 + # 00434500 func_00434500 + # 00434618 func_00434618 + # 0043A5E8 spill + # 0043ADE8 get_reg + # 0043AE78 get_reg1 + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043BA20 get_free_reg + # 0043BE04 dec_usage + # 0043C098 free_reg + # 0043C994 remove_from_free_list + # 00440EA0 gen_store + # 00441308 spill_to_temp + # 00447884 assign_vreg + # 0044BF18 main + .space 4 + .size opcode_arch, 4 + .type opcode_arch, @object + + .balign 4 +# 10021298 +glabel basicint + # 0040E884 func_0040E884 + # 0040F4C8 build_tree + # 00421564 home_parameters + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00425D78 lsopc + # 0042670C loadstore + # 00428D14 eval_mov + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 00438E30 parm_reg + # 00438ECC map_pdefs_to_regs + # 00438FEC map_pars_to_regs + # 00439334 check_amt + # 00439418 check_amt_ref + # 0044BF18 main + .space 4 + .size basicint, 4 + .type basicint, @object + + .balign 4 +# 1002129C +glabel debug_ugen + # 004147EC emit_rob + # 00414B14 emit_rab + # 00414E38 emit_rrab + # 0041514C emit_rllb + # 00415494 emit_ra + # 00415764 emit_ri_ + # 00415A80 emit_rfi + # 00415FDC emit_rrfi + # 00416278 emit_rrr + # 00416580 emit_rri_ + # 0041687C emit_rrri + # 00416B70 emit_rr + # 00416DFC emit_a + # 0041705C emit_r + # 004172AC emit_i + # 004174CC emit_rrl + # 0041777C emit_rrll + # 00417A44 emit_rl + # 00417CB8 emit_rll + # 00417F44 emit_l + # 00418150 emit_ll + # 00418374 emit_ril + # 0041860C emit_rill + # 0042BDAC eval + # 0043D690 report_error + # 0044BF18 main + .space 4 + .size debug_ugen, 4 + .type debug_ugen, @object + + .balign 4 +# 100212A0 +glabel pic_level + # 004193FC emit_dir_ll + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042670C loadstore + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size pic_level, 4 + .type pic_level, @object + + .balign 4 +# 100212A4 +glabel cpalias_ok + # 0042AEE8 get_saved_regs_size + # 0044BF18 main + .space 4 + .size cpalias_ok, 4 + .type cpalias_ok, @object + + .balign 4 +# 100212A8 +glabel saw_cap_g + # 0044BF18 main + .space 4 + .size saw_cap_g, 4 + .type saw_cap_g, @object + + .balign 4 +# 100212AC +glabel use_cpalias + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + .space 4 + .size use_cpalias, 4 + .type use_cpalias, @object + + .balign 4 +# 100212B0 +glabel framesz_relocatable + # 0040F4C8 build_tree + # 00420810 gen_entry_exit + # 0042BDAC eval + .space 4 + .size framesz_relocatable, 4 + .type framesz_relocatable, @object + + .balign 4 +# 100212B8 +glabel current_linen + # 0040CF50 print_source + .space 4 + .size current_linen, 4 + .type current_linen, @object + + .balign 4 +# 100212C0 +glabel n_parm_regs + # 0040F4C8 build_tree + # 00421564 home_parameters + # 004248B4 is_parm_reg + # 0042AB24 in_parm_regs + # 0042B1D8 unhome_parms + # 0042B410 home_parms + # 0042BA08 load_pmov_regs + # 00438ECC map_pdefs_to_regs + # 00438FEC map_pars_to_regs + # 00439334 check_amt + # 00439418 check_amt_ref + # 00439AE0 init_regs + # 004432FC translate + # 0044B384 func_0044B384 + # 0044BF18 main + .space 4 + .size n_parm_regs, 4 + .type n_parm_regs, @object + + .balign 4 +# 100212C4 +glabel n_fp_parm_regs + # 0040E884 func_0040E884 + # 0040F4C8 build_tree + # 00421564 home_parameters + # 004248B4 is_parm_reg + # 0042AB24 in_parm_regs + # 00438ECC map_pdefs_to_regs + # 00438FEC map_pars_to_regs + # 00439334 check_amt + # 00439418 check_amt_ref + # 00439AE0 init_regs + # 004432FC translate + # 00447884 assign_vreg + # 0044B640 func_0044B640 + # 0044BF18 main + .space 4 + .size n_fp_parm_regs, 4 + .type n_fp_parm_regs, @object + + .balign 4 +# 100212C8 +glabel n_saved_regs + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00424838 is_saved_reg + # 00439AE0 init_regs + # 004432FC translate + # 0044B384 func_0044B384 + # 0044BF18 main + .space 4 + .size n_saved_regs, 4 + .type n_saved_regs, @object + + .balign 4 +# 100212CC +glabel n_saved_fp_regs + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00424838 is_saved_reg + # 0042BDAC eval + # 00439AE0 init_regs + # 004432FC translate + # 0044B640 func_0044B640 + # 0044BF18 main + .space 4 + .size n_saved_fp_regs, 4 + .type n_saved_fp_regs, @object + + .balign 4 +# 100212D0 +glabel n_unsaved_regs + # 00439AE0 init_regs + # 004432FC translate + # 0044B384 func_0044B384 + # 0044BF18 main + .space 4 + .size n_unsaved_regs, 4 + .type n_unsaved_regs, @object + + .balign 4 +# 100212D4 +glabel n_unsaved_fp_regs + # 00439AE0 init_regs + # 004432FC translate + # 0044B640 func_0044B640 + # 0044BF18 main + .space 4 + .size n_unsaved_fp_regs, 4 + .type n_unsaved_fp_regs, @object + + .balign 4 +# 100212D8 +glabel n_cg_regs + # 00439AE0 init_regs + # 0044B384 func_0044B384 + # 0044BF18 main + .space 4 + .size n_cg_regs, 4 + .type n_cg_regs, @object + + .balign 4 +# 100212DC +glabel n_fp_cg_regs + # 00439AE0 init_regs + # 0044B640 func_0044B640 + # 0044BF18 main + .space 4 + .size n_fp_cg_regs, 4 + .type n_fp_cg_regs, @object + + .balign 4 +# 100212E0 +glabel ufsa + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size ufsa, 4 + .type ufsa, @object + + .balign 4 +# 100212E4 +glabel ufsm + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 00439AE0 init_regs + # 0044BF18 main + .space 4 + .size ufsm, 4 + .type ufsm, @object + + .balign 4 +# 100212E8 +glabel fp32regs + # 00439AE0 init_regs + # 0044BF18 main + .space 4 + .size fp32regs, 4 + .type fp32regs, @object + + .balign 4 +# 100212F0 +glabel addr_dtype + # 0040F4C8 build_tree + # 004395DC fix_amt_ref + # 00442968 set_rewrite_indexed + # 004432FC translate + # 0044A28C build_1op + # 0044A3D4 build_2op + # 0044ADF4 result_type + # 0044BF18 main + .space 4 + .size addr_dtype, 4 + .type addr_dtype, @object + + .balign 4 +# 100212F4 +glabel unitsperaddr + # 0040E884 func_0040E884 + # 0040F4C8 build_tree + # 004395DC fix_amt_ref + # 0044BF18 main + .space 4 + .size unitsperaddr, 4 + .type unitsperaddr, @object + + .balign 4 +# 100212F8 +glabel opt_cse + # 0042BDAC eval + # 00438C40 set_opts + # 004432FC translate + .space 4 + .size opt_cse, 4 + .type opt_cse, @object + + .balign 4 +# 100212FC +glabel opt_labels + # 00438C40 set_opts + # 0044BF18 main + .space 4 + .size opt_labels, 4 + .type opt_labels, @object + + .balign 4 +# 10021300 +glabel opt_parms + # 0040F328 func_0040F328 + # 0040F4C8 build_tree + # 00438C40 set_opts + .space 4 + .size opt_parms, 4 + .type opt_parms, @object + + .balign 4 +# 10021304 +glabel ignore_vreg + # 0040F4C8 build_tree + # 0042AEE8 get_saved_regs_size + # 00438C40 set_opts + # 004432FC translate + # 00447768 check_reg + .space 4 + .size ignore_vreg, 4 + .type ignore_vreg, @object + + .balign 4 +# 10021308 +glabel tail_call_opt + # 00438C40 set_opts + # 004432FC translate + # 0044BF18 main + .space 4 + .size tail_call_opt, 4 + .type tail_call_opt, @object + + .balign 4 +# 1002130C +glabel glevel + # 0040F4C8 build_tree + # 0042BDAC eval + # 00438C40 set_opts + .space 4 + .size glevel, 4 + .type glevel, @object + + .balign 4 +# 10021310 +glabel olevel + # 00420810 gen_entry_exit + # 0042BDAC eval + # 00438C40 set_opts + # 004432FC translate + .space 4 + .size olevel, 4 + .type olevel, @object + + .balign 4 +# 10021314 +glabel sgi_unsigned_conv + # 0044BF18 main + .space 4 + .size sgi_unsigned_conv, 4 + .type sgi_unsigned_conv, @object + + .balign 4 +# 10021318 +glabel nooffsetopt + # 0040F4C8 build_tree + # 004432FC translate + # 0044BF18 main + .space 4 + .size nooffsetopt, 4 + .type nooffsetopt, @object + + .balign 4 +# 1002131C +glabel has_cia_in_file + # 0040F4C8 build_tree + # 0042BDAC eval + .space 4 + .size has_cia_in_file, 4 + .type has_cia_in_file, @object + + .balign 4 +# 10021320 +glabel tree_heap + # 00449F9C new_tree + # 0044BF18 main + .space 4 + .size tree_heap, 4 + .type tree_heap, @object + + .balign 4 +# 10021324 +glabel tree_heap_mark + # 0044BF18 main + .space 4 + .size tree_heap_mark, 4 + .type tree_heap_mark, @object + + .balign 4 +# 10021328 +glabel frame_pointer + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00424934 restore_from_temp + # 0042670C loadstore + # 00428D14 eval_mov + # 0042BDAC eval + # 00440EA0 gen_store + .space 4 + .size frame_pointer, 4 + .type frame_pointer, @object + + .balign 4 +# 1002132C +glabel aframe_pointer + .space 4 + .size aframe_pointer, 4 + .type aframe_pointer, @object + + .balign 4 +# 10021330 +glabel frame_size + # 0042BDAC eval + # 004350E0 frame_offset + # 00435134 frame_offset1 + .space 4 + .size frame_size, 4 + .type frame_size, @object + + .balign 4 +# 10021334 +glabel use_real_fp_for_all + # 0042BDAC eval + # 004432FC translate + # 0044BF18 main + .space 4 + .size use_real_fp_for_all, 4 + .type use_real_fp_for_all, @object + + .balign 4 +# 10021338 +glabel use_real_fp_for_proc + # 0042AEE8 get_saved_regs_size + # 0042BDAC eval + # 004432FC translate + # 00447884 assign_vreg + .space 4 + .size use_real_fp_for_proc, 4 + .type use_real_fp_for_proc, @object + + .balign 4 +# 1002133C +glabel home_vararg_reg + # 00421170 gen_entry + # 00421564 home_parameters + # 0042BDAC eval + .space 4 + .size home_vararg_reg, 4 + .type home_vararg_reg, @object + + .balign 4 +# 10021340 +glabel reversed_stack + # 0040EC54 func_0040EC54 + # 0040F0B8 func_0040F0B8 + # 0040F4C8 build_tree + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 00421564 home_parameters + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 00424934 restore_from_temp + # 0042BDAC eval + # 004350E0 frame_offset + # 00435134 frame_offset1 + # 00440EA0 gen_store + .space 4 + .size reversed_stack, 4 + .type reversed_stack, @object + + .balign 4 +# 10021344 +glabel resident_text + # 0040F4C8 build_tree + # 0042BDAC eval + .space 4 + .size resident_text, 4 + .type resident_text, @object + + .balign 4 +# 10021348 +glabel first_pmt_offset + # 0040E474 func_0040E474 + # 0040E884 func_0040E884 + # 0040F4C8 build_tree + # 0042BDAC eval + # 00438ECC map_pdefs_to_regs + # 00438FEC map_pars_to_regs + .space 4 + .size first_pmt_offset, 4 + .type first_pmt_offset, @object + + .balign 4 +# 1002134C +glabel getfilename + .space 4 + .size getfilename, 4 + .type getfilename, @object + + .balign 4 +# 10021350 +glabel strp + # 0040E1F8 init_build + .space 4 + .size strp, 4 + .type strp, @object + + .balign 4 +# 10021358 +glabel domtag + # 0040E0B0 set_domtag + # 0040E0CC get_domtag + # 0040F4C8 build_tree + .space 4 + .size domtag, 4 + .type domtag, @object + + .balign 4 +# 1002135C +glabel init_dynmem + # 00420810 gen_entry_exit + # 00421170 gen_entry + # 0044BF18 main + .space 4 + .size init_dynmem, 4 + .type init_dynmem, @object + + .balign 4 +# 10021360 +glabel max_stack + # 00420810 gen_entry_exit + # 0042BDAC eval + # 0044BF18 main + .space 4 + .size max_stack, 4 + .type max_stack, @object + + .balign 4 +# 10021364 +glabel uses_gp + # 00415494 emit_ra + # 00415A08 emit_rii + # 00415A80 emit_rfi + # 0041AEDC emit_cpadd + # 00420810 gen_entry_exit + # 0042BDAC eval + .space 4 + .size uses_gp, 4 + .type uses_gp, @object + + .balign 4 +# 10021368 +glabel has_calls + # 00416DFC emit_a + # 0041705C emit_r + # 0042BDAC eval + .space 4 + .size has_calls, 4 + .type has_calls, @object + + .balign 4 +# 10021370 +glabel num_i_ptr_indexes + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042BDAC eval + .space 4 + .size num_i_ptr_indexes, 4 + .type num_i_ptr_indexes, @object + + .balign 8 +# 10021460 +glabel in_file + # 0040C0B4 put_string + # 0040C210 write_instruction + # 0040D350 write_directive + # 0040DFB0 output_inst_ascii + .space 8 + .size in_file, 8 + .type in_file, @object + + .balign 8 +# 10021468 +glabel source_file + # 0040CF50 print_source + .space 8 + .size source_file, 8 + .type source_file, @object + + .balign 8 +# 10021470 +glabel val64 + # 0040C210 write_instruction + # 0040D350 write_directive + .space 8 + .size val64, 8 + .type val64, @object + + .balign 8 +# 10021490 +glabel ugen_fp_callee_saved + # 0042AB88 gen_regs + # 0042BDAC eval + # 0043BAA8 get_free_fp_reg + .space 12 + .size ugen_fp_callee_saved, 12 + .type ugen_fp_callee_saved, @object + + .balign 8 +# 100214A0 +glabel saved_regs + # 00421508 clear_saved_regs + # 00421530 is_empty_saved_regs + # 00421564 home_parameters + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042A64C save_vreg + # 0042AB88 gen_regs + # 0042B1D8 unhome_parms + # 0042B410 home_parms + # 0042BDAC eval + # 0043BAA8 get_free_fp_reg + .space 12 + .size saved_regs, 12 + .type saved_regs, @object + + .balign 16 +# 100215E0 +glabel current_file + .space 80 + .size current_file, 80 + .type current_file, @object + + .balign 16 +# 10021630 +glabel i_ptrs_for_gp_offset + # 004219E8 gen_reg_save_restore + # 00422764 gen_reg_save + # 0042BDAC eval + .space 80 + .size i_ptrs_for_gp_offset, 80 + .type i_ptrs_for_gp_offset, @object + + .balign 16 +# 10021B70 +glabel regs + # 00423290 move_dreg_to_regs + # 00428190 func_00428190 + # 0042BDAC eval + # 00439910 find_non_special_reg + # 00439AB4 kind_of_register + # 00439AE0 init_regs + # 00439F4C fill_reg + # 00439F88 copy_reg + # 0043A020 dump_reg + # 0043A1B8 print_regs + # 0043A32C remove_direg + # 0043A408 remove_head + # 0043A45C append_to_list + # 0043A500 remove_from_list + # 0043A5E8 spill + # 0043AB48 get_one_reg + # 0043AD54 get_two_regs + # 0043AE78 get_reg1 + # 0043B0F8 get_fp_reg + # 0043B30C get_fp_reg1 + # 0043B408 can_get_two_regs + # 0043B478 spill_two_regs + # 0043B6AC get_two_free_regs + # 0043B854 get_one_free_reg + # 0043BAA8 get_free_fp_reg + # 0043BC80 content_of + # 0043BDCC inc_usage + # 0043BE04 dec_usage + # 0043C098 free_reg + # 0043C410 free_fp_reg + # 0043C5D4 force_free_reg + # 0043C674 add_to_free_list + # 0043C804 add_to_fp_free_list + # 0043C994 remove_from_free_list + # 0043CCA0 remove_from_fp_free_list + # 0043CE28 is_available + # 0043D0C0 usage_count + # 0043D1A4 get_free_fp_reg_special + # 0043D3F8 get_free_reg_special + .space 876 + .size regs, 876 + .type regs, @object + + .balign 16 +# 10021EE0 +glabel label_hash_table + # 0040E0E4 search_label + # 0040E144 find_label + # 0040F4C8 build_tree + .space 1012 + .size label_hash_table, 1012 + .type label_hash_table, @object + + .balign 16 +# 100222D8 +glabel source_file_name + # 0040CF50 print_source + .space 1024 + .size source_file_name, 1024 + .type source_file_name, @object + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +)""); diff --git a/src/ugen/val_util.c b/src/ugen/val_util.c new file mode 100644 index 0000000..9e5a2af --- /dev/null +++ b/src/ugen/val_util.c @@ -0,0 +1,837 @@ +__asm__(R""( +.macro glabel label + .global \label + .balign 4 + \label: +.endm + +.rdata +RO_1000F510: + # 0044E9D0 emit_composite_val + .ascii " " + +RO_1000F520: + # 0044EC1C emit_val + .ascii "val_util.p" + +RO_1000F52A: + # 0044EC1C emit_val + .ascii "null value " + +RO_1000F57A: + # 0044EC1C emit_val + .asciz "val_util.p " + + .balign 4 +jtbl_1000F5CC: + # 0044EC1C emit_val + .gpword .L0044ECBC + .gpword .L0044EDB8 + .gpword .L0044EDB8 + .gpword .L0044EDB8 + .gpword .L0044EE08 + .gpword .L0044EEA0 + .gpword .L0044EEA0 + .gpword .L0044EEA0 + .gpword .L0044F094 + .gpword .L0044EF08 + +RO_1000F5F4: + # 0044F160 find_val_type + .ascii "unknown data type " + +RO_1000F644: + # 0044F160 find_val_type + .ascii "val_util.p " + +RO_1000F694: + # 0044F160 find_val_type + .ascii "extended floating point not yet supported " + +RO_1000F6E4: + # 0044F160 find_val_type + .ascii "val_util.p " + + .balign 4 +jtbl_1000F734: + # 0044F160 find_val_type + .gpword .L0044F1E8 + .gpword .L0044F31C + .gpword .L0044F210 + .gpword .L0044F31C + .gpword .L0044F1E8 + .gpword .L0044F1A4 + .gpword .L0044F1A4 + .gpword .L0044F1A4 + .gpword .L0044F1A4 + .gpword .L0044F208 + .gpword .L0044F210 + .gpword .L0044F31C + .gpword .L0044F200 + .gpword .L0044F1F8 + .gpword .L0044F218 + .gpword .L0044F1F0 + .gpword .L0044F220 + +.data +# 10016FD0 +glabel val_dir_tab + # 0044EC1C emit_val + # 0044F0BC emit_label_val + .byte 0x07,0x0e,0x16,0x3b,0x0d,0x0b,0x05,0x16,0x07 + .type val_dir_tab, @object + .size val_dir_tab, .-val_dir_tab # 9 + .space 3 + +# 10016FDC +glabel hi + # 0044EC1C emit_val + .byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + .type hi, @object + .size hi, .-hi # 128 + .space 4 + + + + +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +.text +glabel emit_composite_val + .ent emit_composite_val + # 0044EC1C emit_val +/* 0044E9D0 3C1C0FBD */ .cpload $t9 +/* 0044E9D4 279C1080 */ +/* 0044E9D8 0399E021 */ +/* 0044E9DC 27BDFF98 */ addiu $sp, $sp, -0x68 +/* 0044E9E0 AFBF002C */ sw $ra, 0x2c($sp) +/* 0044E9E4 AFBC0028 */ sw $gp, 0x28($sp) +/* 0044E9E8 AFB40024 */ sw $s4, 0x24($sp) +/* 0044E9EC AFB30020 */ sw $s3, 0x20($sp) +/* 0044E9F0 AFB2001C */ sw $s2, 0x1c($sp) +/* 0044E9F4 AFB10018 */ sw $s1, 0x18($sp) +/* 0044E9F8 AFB00014 */ sw $s0, 0x14($sp) +/* 0044E9FC AFA00048 */ sw $zero, 0x48($sp) +/* 0044EA00 AFA0004C */ sw $zero, 0x4c($sp) +/* 0044EA04 AFA00050 */ sw $zero, 0x50($sp) +/* 0044EA08 AFA00054 */ sw $zero, 0x54($sp) +/* 0044EA0C 8C820000 */ lw $v0, ($a0) +/* 0044EA10 00808025 */ move $s0, $a0 +/* 0044EA14 24120001 */ li $s2, 1 +/* 0044EA18 04410003 */ bgez $v0, .L0044EA28 +/* 0044EA1C 00027103 */ sra $t6, $v0, 4 +/* 0044EA20 2441000F */ addiu $at, $v0, 0xf +/* 0044EA24 00017103 */ sra $t6, $at, 4 +.L0044EA28: +/* 0044EA28 304F000F */ andi $t7, $v0, 0xf +/* 0044EA2C AFAE0064 */ sw $t6, 0x64($sp) +/* 0044EA30 11C00026 */ beqz $t6, .L0044EACC +/* 0044EA34 AFAF0060 */ sw $t7, 0x60($sp) +/* 0044EA38 25D30001 */ addiu $s3, $t6, 1 +/* 0044EA3C 27B40048 */ addiu $s4, $sp, 0x48 +/* 0044EA40 24110011 */ li $s1, 17 +.L0044EA44: +/* 0044EA44 00122100 */ sll $a0, $s2, 4 +/* 0044EA48 2484FFF0 */ addiu $a0, $a0, -0x10 +/* 0044EA4C 24020001 */ li $v0, 1 +/* 0044EA50 27A30048 */ addiu $v1, $sp, 0x48 +.L0044EA54: +/* 0044EA54 8E190004 */ lw $t9, 4($s0) +/* 0044EA58 24630004 */ addiu $v1, $v1, 4 +/* 0044EA5C 03244021 */ addu $t0, $t9, $a0 +/* 0044EA60 01024821 */ addu $t1, $t0, $v0 +/* 0044EA64 912AFFFF */ lbu $t2, -1($t1) +/* 0044EA68 A06AFFFC */ sb $t2, -4($v1) +/* 0044EA6C 8E0B0004 */ lw $t3, 4($s0) +/* 0044EA70 01646021 */ addu $t4, $t3, $a0 +/* 0044EA74 01826821 */ addu $t5, $t4, $v0 +/* 0044EA78 91AE0000 */ lbu $t6, ($t5) +/* 0044EA7C A06EFFFD */ sb $t6, -3($v1) +/* 0044EA80 8E0F0004 */ lw $t7, 4($s0) +/* 0044EA84 01E4C021 */ addu $t8, $t7, $a0 +/* 0044EA88 0302C821 */ addu $t9, $t8, $v0 +/* 0044EA8C 93280001 */ lbu $t0, 1($t9) +/* 0044EA90 A068FFFE */ sb $t0, -2($v1) +/* 0044EA94 8E090004 */ lw $t1, 4($s0) +/* 0044EA98 01245021 */ addu $t2, $t1, $a0 +/* 0044EA9C 01425821 */ addu $t3, $t2, $v0 +/* 0044EAA0 916C0002 */ lbu $t4, 2($t3) +/* 0044EAA4 24420004 */ addiu $v0, $v0, 4 +/* 0044EAA8 1451FFEA */ bne $v0, $s1, .L0044EA54 +/* 0044EAAC A06CFFFF */ sb $t4, -1($v1) +/* 0044EAB0 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EAB4 02802025 */ move $a0, $s4 +/* 0044EAB8 0320F809 */ jalr $t9 +/* 0044EABC 00000000 */ nop +/* 0044EAC0 26520001 */ addiu $s2, $s2, 1 +/* 0044EAC4 1653FFDF */ bne $s2, $s3, .L0044EA44 +/* 0044EAC8 8FBC0028 */ lw $gp, 0x28($sp) +.L0044EACC: +/* 0044EACC 8FAD0060 */ lw $t5, 0x60($sp) +/* 0044EAD0 27B40048 */ addiu $s4, $sp, 0x48 +/* 0044EAD4 51A0004A */ beql $t5, $zero, .L0044EC00 +/* 0044EAD8 8FBF002C */ lw $ra, 0x2c($sp) +/* 0044EADC 8F8E8038 */ lw $t6, %got(RO_1000F510)($gp) +/* 0044EAE0 25CEF510 */ addiu $t6, %lo(RO_1000F510) # addiu $t6, $t6, -0xaf0 +/* 0044EAE4 89D80000 */ lwl $t8, ($t6) +/* 0044EAE8 99D80003 */ lwr $t8, 3($t6) +/* 0044EAEC AA980000 */ swl $t8, ($s4) +/* 0044EAF0 BA980003 */ swr $t8, 3($s4) +/* 0044EAF4 89CF0004 */ lwl $t7, 4($t6) +/* 0044EAF8 99CF0007 */ lwr $t7, 7($t6) +/* 0044EAFC AA8F0004 */ swl $t7, 4($s4) +/* 0044EB00 BA8F0007 */ swr $t7, 7($s4) +/* 0044EB04 89D80008 */ lwl $t8, 8($t6) +/* 0044EB08 99D8000B */ lwr $t8, 0xb($t6) +/* 0044EB0C AA980008 */ swl $t8, 8($s4) +/* 0044EB10 BA98000B */ swr $t8, 0xb($s4) +/* 0044EB14 89CF000C */ lwl $t7, 0xc($t6) +/* 0044EB18 99CF000F */ lwr $t7, 0xf($t6) +/* 0044EB1C AA8F000C */ swl $t7, 0xc($s4) +/* 0044EB20 BA8F000F */ swr $t7, 0xf($s4) +/* 0044EB24 8FB90060 */ lw $t9, 0x60($sp) +/* 0044EB28 1320002F */ beqz $t9, .L0044EBE8 +/* 0044EB2C 27330001 */ addiu $s3, $t9, 1 +/* 0044EB30 2665FFFF */ addiu $a1, $s3, -1 +/* 0044EB34 30A50003 */ andi $a1, $a1, 3 +/* 0044EB38 10A00010 */ beqz $a1, .L0044EB7C +/* 0044EB3C 24120001 */ li $s2, 1 +/* 0044EB40 8FA30064 */ lw $v1, 0x64($sp) +/* 0044EB44 27A80047 */ addiu $t0, $sp, 0x47 +/* 0044EB48 02481021 */ addu $v0, $s2, $t0 +/* 0044EB4C 24A40001 */ addiu $a0, $a1, 1 +/* 0044EB50 00031900 */ sll $v1, $v1, 4 +.L0044EB54: +/* 0044EB54 8E090004 */ lw $t1, 4($s0) +/* 0044EB58 24420001 */ addiu $v0, $v0, 1 +/* 0044EB5C 01235021 */ addu $t2, $t1, $v1 +/* 0044EB60 01525821 */ addu $t3, $t2, $s2 +/* 0044EB64 916CFFFF */ lbu $t4, -1($t3) +/* 0044EB68 26520001 */ addiu $s2, $s2, 1 +/* 0044EB6C 1492FFF9 */ bne $a0, $s2, .L0044EB54 +/* 0044EB70 A04CFFFF */ sb $t4, -1($v0) +/* 0044EB74 1253001C */ beq $s2, $s3, .L0044EBE8 +/* 0044EB78 00000000 */ nop +.L0044EB7C: +/* 0044EB7C 8FA30064 */ lw $v1, 0x64($sp) +/* 0044EB80 27AD0047 */ addiu $t5, $sp, 0x47 +/* 0044EB84 024D1021 */ addu $v0, $s2, $t5 +/* 0044EB88 00031900 */ sll $v1, $v1, 4 +.L0044EB8C: +/* 0044EB8C 8E0E0004 */ lw $t6, 4($s0) +/* 0044EB90 24420004 */ addiu $v0, $v0, 4 +/* 0044EB94 01C37821 */ addu $t7, $t6, $v1 +/* 0044EB98 01F2C021 */ addu $t8, $t7, $s2 +/* 0044EB9C 9319FFFF */ lbu $t9, -1($t8) +/* 0044EBA0 A059FFFC */ sb $t9, -4($v0) +/* 0044EBA4 8E080004 */ lw $t0, 4($s0) +/* 0044EBA8 01034821 */ addu $t1, $t0, $v1 +/* 0044EBAC 01325021 */ addu $t2, $t1, $s2 +/* 0044EBB0 914B0000 */ lbu $t3, ($t2) +/* 0044EBB4 A04BFFFD */ sb $t3, -3($v0) +/* 0044EBB8 8E0C0004 */ lw $t4, 4($s0) +/* 0044EBBC 01836821 */ addu $t5, $t4, $v1 +/* 0044EBC0 01B27021 */ addu $t6, $t5, $s2 +/* 0044EBC4 91CF0001 */ lbu $t7, 1($t6) +/* 0044EBC8 A04FFFFE */ sb $t7, -2($v0) +/* 0044EBCC 8E180004 */ lw $t8, 4($s0) +/* 0044EBD0 0303C821 */ addu $t9, $t8, $v1 +/* 0044EBD4 03324021 */ addu $t0, $t9, $s2 +/* 0044EBD8 91090002 */ lbu $t1, 2($t0) +/* 0044EBDC 26520004 */ addiu $s2, $s2, 4 +/* 0044EBE0 1653FFEA */ bne $s2, $s3, .L0044EB8C +/* 0044EBE4 A049FFFF */ sb $t1, -1($v0) +.L0044EBE8: +/* 0044EBE8 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EBEC 02802025 */ move $a0, $s4 +/* 0044EBF0 0320F809 */ jalr $t9 +/* 0044EBF4 00000000 */ nop +/* 0044EBF8 8FBC0028 */ lw $gp, 0x28($sp) +/* 0044EBFC 8FBF002C */ lw $ra, 0x2c($sp) +.L0044EC00: +/* 0044EC00 8FB00014 */ lw $s0, 0x14($sp) +/* 0044EC04 8FB10018 */ lw $s1, 0x18($sp) +/* 0044EC08 8FB2001C */ lw $s2, 0x1c($sp) +/* 0044EC0C 8FB30020 */ lw $s3, 0x20($sp) +/* 0044EC10 8FB40024 */ lw $s4, 0x24($sp) +/* 0044EC14 03E00008 */ jr $ra +/* 0044EC18 27BD0068 */ addiu $sp, $sp, 0x68 + .type emit_composite_val, @function + .size emit_composite_val, .-emit_composite_val + .end emit_composite_val + +glabel emit_val + .ent emit_val + # 00436758 emit_list + # 0043FBF8 emit_init +/* 0044EC1C 3C1C0FBD */ .cpload $t9 +/* 0044EC20 279C0E34 */ +/* 0044EC24 0399E021 */ +/* 0044EC28 27BDFF00 */ addiu $sp, $sp, -0x100 +/* 0044EC2C AFB600C4 */ sw $s6, 0xc4($sp) +/* 0044EC30 AFB200B4 */ sw $s2, 0xb4($sp) +/* 0044EC34 AFB100B0 */ sw $s1, 0xb0($sp) +/* 0044EC38 AFB000AC */ sw $s0, 0xac($sp) +/* 0044EC3C 00E08025 */ move $s0, $a3 +/* 0044EC40 30B100FF */ andi $s1, $a1, 0xff +/* 0044EC44 00809025 */ move $s2, $a0 +/* 0044EC48 00C0B025 */ move $s6, $a2 +/* 0044EC4C AFBF00CC */ sw $ra, 0xcc($sp) +/* 0044EC50 AFBC00C8 */ sw $gp, 0xc8($sp) +/* 0044EC54 AFB500C0 */ sw $s5, 0xc0($sp) +/* 0044EC58 AFB400BC */ sw $s4, 0xbc($sp) +/* 0044EC5C AFB300B8 */ sw $s3, 0xb8($sp) +/* 0044EC60 AFA50104 */ sw $a1, 0x104($sp) +/* 0044EC64 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EC68 AFA000F4 */ sw $zero, 0xf4($sp) +/* 0044EC6C AFA000F8 */ sw $zero, 0xf8($sp) +/* 0044EC70 10800007 */ beqz $a0, .L0044EC90 +/* 0044EC74 AFA000FC */ sw $zero, 0xfc($sp) +/* 0044EC78 8F998280 */ lw $t9, %call16(demit_dir0)($gp) +/* 0044EC7C 00002025 */ move $a0, $zero +/* 0044EC80 02402825 */ move $a1, $s2 +/* 0044EC84 0320F809 */ jalr $t9 +/* 0044EC88 00000000 */ nop +/* 0044EC8C 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044EC90: +/* 0044EC90 322200FF */ andi $v0, $s1, 0xff +/* 0044EC94 2C41000A */ sltiu $at, $v0, 0xa +/* 0044EC98 102000F7 */ beqz $at, .L0044F078 +/* 0044EC9C 24040001 */ li $a0, 1 +/* 0044ECA0 8F818038 */ lw $at, %got(jtbl_1000F5CC)($gp) +/* 0044ECA4 00027080 */ sll $t6, $v0, 2 +/* 0044ECA8 002E0821 */ addu $at, $at, $t6 +/* 0044ECAC 8C2EF5CC */ lw $t6, %lo(jtbl_1000F5CC)($at) +/* 0044ECB0 01DC7021 */ addu $t6, $t6, $gp +/* 0044ECB4 01C00008 */ jr $t6 +/* 0044ECB8 00000000 */ nop +.L0044ECBC: +/* 0044ECBC 8F8F8038 */ lw $t7, %got(RO_1000F57A)($gp) +/* 0044ECC0 24040004 */ li $a0, 4 +/* 0044ECC4 24050087 */ li $a1, 135 +/* 0044ECC8 25EFF57A */ addiu $t7, %lo(RO_1000F57A) # addiu $t7, $t7, -0xa86 +/* 0044ECCC 25E90048 */ addiu $t1, $t7, 0x48 +/* 0044ECD0 03A04025 */ move $t0, $sp +.L0044ECD4: +/* 0044ECD4 89F90000 */ lwl $t9, ($t7) +/* 0044ECD8 99F90003 */ lwr $t9, 3($t7) +/* 0044ECDC 25EF000C */ addiu $t7, $t7, 0xc +/* 0044ECE0 2508000C */ addiu $t0, $t0, 0xc +/* 0044ECE4 A919FFFC */ swl $t9, -4($t0) +/* 0044ECE8 B919FFFF */ swr $t9, -1($t0) +/* 0044ECEC 89F8FFF8 */ lwl $t8, -8($t7) +/* 0044ECF0 99F8FFFB */ lwr $t8, -5($t7) +/* 0044ECF4 A9180000 */ swl $t8, ($t0) +/* 0044ECF8 B9180003 */ swr $t8, 3($t0) +/* 0044ECFC 89F9FFFC */ lwl $t9, -4($t7) +/* 0044ED00 99F9FFFF */ lwr $t9, -1($t7) +/* 0044ED04 A9190004 */ swl $t9, 4($t0) +/* 0044ED08 15E9FFF2 */ bne $t7, $t1, .L0044ECD4 +/* 0044ED0C B9190007 */ swr $t9, 7($t0) +/* 0044ED10 89F90000 */ lwl $t9, ($t7) +/* 0044ED14 99F90003 */ lwr $t9, 3($t7) +/* 0044ED18 8F8A8038 */ lw $t2, %got(RO_1000F52A)($gp) +/* 0044ED1C 03A06825 */ move $t5, $sp +/* 0044ED20 A9190008 */ swl $t9, 8($t0) +/* 0044ED24 B919000B */ swr $t9, 0xb($t0) +/* 0044ED28 89F80004 */ lwl $t8, 4($t7) +/* 0044ED2C 99F80007 */ lwr $t8, 7($t7) +/* 0044ED30 254AF52A */ addiu $t2, %lo(RO_1000F52A) # addiu $t2, $t2, -0xad6 +/* 0044ED34 254E0048 */ addiu $t6, $t2, 0x48 +/* 0044ED38 A918000C */ swl $t8, 0xc($t0) +/* 0044ED3C B918000F */ swr $t8, 0xf($t0) +.L0044ED40: +/* 0044ED40 894C0000 */ lwl $t4, ($t2) +/* 0044ED44 994C0003 */ lwr $t4, 3($t2) +/* 0044ED48 254A000C */ addiu $t2, $t2, 0xc +/* 0044ED4C 25AD000C */ addiu $t5, $t5, 0xc +/* 0044ED50 A9AC004C */ swl $t4, 0x4c($t5) +/* 0044ED54 B9AC004F */ swr $t4, 0x4f($t5) +/* 0044ED58 894BFFF8 */ lwl $t3, -8($t2) +/* 0044ED5C 994BFFFB */ lwr $t3, -5($t2) +/* 0044ED60 A9AB0050 */ swl $t3, 0x50($t5) +/* 0044ED64 B9AB0053 */ swr $t3, 0x53($t5) +/* 0044ED68 894CFFFC */ lwl $t4, -4($t2) +/* 0044ED6C 994CFFFF */ lwr $t4, -1($t2) +/* 0044ED70 A9AC0054 */ swl $t4, 0x54($t5) +/* 0044ED74 154EFFF2 */ bne $t2, $t6, .L0044ED40 +/* 0044ED78 B9AC0057 */ swr $t4, 0x57($t5) +/* 0044ED7C 894C0000 */ lwl $t4, ($t2) +/* 0044ED80 994C0003 */ lwr $t4, 3($t2) +/* 0044ED84 A9AC0058 */ swl $t4, 0x58($t5) +/* 0044ED88 B9AC005B */ swr $t4, 0x5b($t5) +/* 0044ED8C 894B0004 */ lwl $t3, 4($t2) +/* 0044ED90 994B0007 */ lwr $t3, 7($t2) +/* 0044ED94 A9AB005C */ swl $t3, 0x5c($t5) +/* 0044ED98 B9AB005F */ swr $t3, 0x5f($t5) +/* 0044ED9C 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044EDA0 8FA7000C */ lw $a3, 0xc($sp) +/* 0044EDA4 8FA60008 */ lw $a2, 8($sp) +/* 0044EDA8 0320F809 */ jalr $t9 +/* 0044EDAC 00000000 */ nop +/* 0044EDB0 100000B8 */ b .L0044F094 +/* 0044EDB4 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044EDB8: +/* 0044EDB8 8F898934 */ lw $t1, %got(val_dir_tab)($gp) +/* 0044EDBC 93B800F5 */ lbu $t8, 0xf5($sp) +/* 0044EDC0 27A400F0 */ addiu $a0, $sp, 0xf0 +/* 0044EDC4 2529FFFF */ addiu $t1, $t1, -1 +/* 0044EDC8 02297821 */ addu $t7, $s1, $t1 +/* 0044EDCC 91E80000 */ lbu $t0, ($t7) +/* 0044EDD0 0018CE80 */ sll $t9, $t8, 0x1a +/* 0044EDD4 00197682 */ srl $t6, $t9, 0x1a +/* 0044EDD8 010E5026 */ xor $t2, $t0, $t6 +/* 0044EDDC 314D003F */ andi $t5, $t2, 0x3f +/* 0044EDE0 01B85826 */ xor $t3, $t5, $t8 +/* 0044EDE4 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EDE8 A3AB00F5 */ sb $t3, 0xf5($sp) +/* 0044EDEC 8ECC0000 */ lw $t4, ($s6) +/* 0044EDF0 AFB000FC */ sw $s0, 0xfc($sp) +/* 0044EDF4 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EDF8 0320F809 */ jalr $t9 +/* 0044EDFC AFAC00F8 */ sw $t4, 0xf8($sp) +/* 0044EE00 100000A4 */ b .L0044F094 +/* 0044EE04 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044EE08: +/* 0044EE08 8F898934 */ lw $t1, %got(val_dir_tab)($gp) +/* 0044EE0C 93B900F5 */ lbu $t9, 0xf5($sp) +/* 0044EE10 27B300F0 */ addiu $s3, $sp, 0xf0 +/* 0044EE14 2529FFFF */ addiu $t1, $t1, -1 +/* 0044EE18 02299021 */ addu $s2, $s1, $t1 +/* 0044EE1C 924F0000 */ lbu $t7, ($s2) +/* 0044EE20 00194680 */ sll $t0, $t9, 0x1a +/* 0044EE24 00087682 */ srl $t6, $t0, 0x1a +/* 0044EE28 01EE5026 */ xor $t2, $t7, $t6 +/* 0044EE2C 314D003F */ andi $t5, $t2, 0x3f +/* 0044EE30 01B9C026 */ xor $t8, $t5, $t9 +/* 0044EE34 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EE38 A3B800F5 */ sb $t8, 0xf5($sp) +/* 0044EE3C 8ECB0000 */ lw $t3, ($s6) +/* 0044EE40 AFB000FC */ sw $s0, 0xfc($sp) +/* 0044EE44 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EE48 02602025 */ move $a0, $s3 +/* 0044EE4C 0320F809 */ jalr $t9 +/* 0044EE50 AFAB00F8 */ sw $t3, 0xf8($sp) +/* 0044EE54 93A900F5 */ lbu $t1, 0xf5($sp) +/* 0044EE58 924C0000 */ lbu $t4, ($s2) +/* 0044EE5C 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0044EE60 00094680 */ sll $t0, $t1, 0x1a +/* 0044EE64 00087E82 */ srl $t7, $t0, 0x1a +/* 0044EE68 018F7026 */ xor $t6, $t4, $t7 +/* 0044EE6C 31CA003F */ andi $t2, $t6, 0x3f +/* 0044EE70 01496826 */ xor $t5, $t2, $t1 +/* 0044EE74 A3AD00F5 */ sb $t5, 0xf5($sp) +/* 0044EE78 8ED90004 */ lw $t9, 4($s6) +/* 0044EE7C AFB000FC */ sw $s0, 0xfc($sp) +/* 0044EE80 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EE84 AFB900F8 */ sw $t9, 0xf8($sp) +/* 0044EE88 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EE8C 02602025 */ move $a0, $s3 +/* 0044EE90 0320F809 */ jalr $t9 +/* 0044EE94 00000000 */ nop +/* 0044EE98 1000007E */ b .L0044F094 +/* 0044EE9C 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044EEA0: +/* 0044EEA0 8F988934 */ lw $t8, %got(val_dir_tab)($gp) +/* 0044EEA4 93AC00F5 */ lbu $t4, 0xf5($sp) +/* 0044EEA8 27A400F0 */ addiu $a0, $sp, 0xf0 +/* 0044EEAC 2718FFFF */ addiu $t8, $t8, -1 +/* 0044EEB0 02385821 */ addu $t3, $s1, $t8 +/* 0044EEB4 91680000 */ lbu $t0, ($t3) +/* 0044EEB8 000C7E80 */ sll $t7, $t4, 0x1a +/* 0044EEBC 000F7682 */ srl $t6, $t7, 0x1a +/* 0044EEC0 010E5026 */ xor $t2, $t0, $t6 +/* 0044EEC4 3149003F */ andi $t1, $t2, 0x3f +/* 0044EEC8 012C6826 */ xor $t5, $t1, $t4 +/* 0044EECC A3AD00F5 */ sb $t5, 0xf5($sp) +/* 0044EED0 8ED90000 */ lw $t9, ($s6) +/* 0044EED4 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EED8 AFB000FC */ sw $s0, 0xfc($sp) +/* 0044EEDC AFB900F8 */ sw $t9, 0xf8($sp) +/* 0044EEE0 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EEE4 0320F809 */ jalr $t9 +/* 0044EEE8 00000000 */ nop +/* 0044EEEC 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0044EEF0 02C02025 */ move $a0, $s6 +/* 0044EEF4 8F9986A4 */ lw $t9, %call16(emit_composite_val)($gp) +/* 0044EEF8 0320F809 */ jalr $t9 +/* 0044EEFC 00000000 */ nop +/* 0044EF00 10000064 */ b .L0044F094 +/* 0044EF04 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044EF08: +/* 0044EF08 8EC20000 */ lw $v0, ($s6) +/* 0044EF0C 30580001 */ andi $t8, $v0, 1 +/* 0044EF10 030002B6 */ tne $t8, $zero, 0xa +/* 0044EF14 8F8B898C */ lw $t3, %got(lsb_first)($gp) +/* 0044EF18 916B0000 */ lbu $t3, ($t3) +/* 0044EF1C 1560002C */ bnez $t3, .L0044EFD0 +/* 0044EF20 00000000 */ nop +/* 0044EF24 04410003 */ bgez $v0, .L0044EF34 +/* 0044EF28 0002A043 */ sra $s4, $v0, 1 +/* 0044EF2C 24410001 */ addiu $at, $v0, 1 +/* 0044EF30 0001A043 */ sra $s4, $at, 1 +.L0044EF34: +/* 0044EF34 1A800057 */ blez $s4, .L0044F094 +/* 0044EF38 24100002 */ li $s0, 2 +/* 0044EF3C 8F8F8934 */ lw $t7, %got(val_dir_tab)($gp) +/* 0044EF40 26940001 */ addiu $s4, $s4, 1 +/* 0044EF44 0014A840 */ sll $s5, $s4, 1 +/* 0044EF48 25EFFFFF */ addiu $t7, $t7, -1 +/* 0044EF4C 022F9021 */ addu $s2, $s1, $t7 +/* 0044EF50 8F918938 */ lw $s1, %got(hi)($gp) +/* 0044EF54 27B300F0 */ addiu $s3, $sp, 0xf0 +.L0044EF58: +/* 0044EF58 93AE00F5 */ lbu $t6, 0xf5($sp) +/* 0044EF5C 92480000 */ lbu $t0, ($s2) +/* 0044EF60 02602025 */ move $a0, $s3 +/* 0044EF64 000E5680 */ sll $t2, $t6, 0x1a +/* 0044EF68 000A4E82 */ srl $t1, $t2, 0x1a +/* 0044EF6C 01096026 */ xor $t4, $t0, $t1 +/* 0044EF70 318D003F */ andi $t5, $t4, 0x3f +/* 0044EF74 01AEC826 */ xor $t9, $t5, $t6 +/* 0044EF78 A3B900F5 */ sb $t9, 0xf5($sp) +/* 0044EF7C 8ED80004 */ lw $t8, 4($s6) +/* 0044EF80 24190001 */ li $t9, 1 +/* 0044EF84 03101021 */ addu $v0, $t8, $s0 +/* 0044EF88 904BFFFE */ lbu $t3, -2($v0) +/* 0044EF8C 9049FFFF */ lbu $t1, -1($v0) +/* 0044EF90 022B7821 */ addu $t7, $s1, $t3 +/* 0044EF94 91EA0000 */ lbu $t2, ($t7) +/* 0044EF98 02296021 */ addu $t4, $s1, $t1 +/* 0044EF9C 918D0000 */ lbu $t5, ($t4) +/* 0044EFA0 AFB900FC */ sw $t9, 0xfc($sp) +/* 0044EFA4 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044EFA8 000A4100 */ sll $t0, $t2, 4 +/* 0044EFAC 010D7021 */ addu $t6, $t0, $t5 +/* 0044EFB0 AFAE00F8 */ sw $t6, 0xf8($sp) +/* 0044EFB4 0320F809 */ jalr $t9 +/* 0044EFB8 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044EFBC 26100002 */ addiu $s0, $s0, 2 +/* 0044EFC0 1615FFE5 */ bne $s0, $s5, .L0044EF58 +/* 0044EFC4 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0044EFC8 10000033 */ b .L0044F098 +/* 0044EFCC 8FBF00CC */ lw $ra, 0xcc($sp) +.L0044EFD0: +/* 0044EFD0 04410003 */ bgez $v0, .L0044EFE0 +/* 0044EFD4 0002A043 */ sra $s4, $v0, 1 +/* 0044EFD8 24410001 */ addiu $at, $v0, 1 +/* 0044EFDC 0001A043 */ sra $s4, $at, 1 +.L0044EFE0: +/* 0044EFE0 5A80002D */ blezl $s4, .L0044F098 +/* 0044EFE4 8FBF00CC */ lw $ra, 0xcc($sp) +/* 0044EFE8 8F988934 */ lw $t8, %got(val_dir_tab)($gp) +/* 0044EFEC 00148040 */ sll $s0, $s4, 1 +/* 0044EFF0 27B300F0 */ addiu $s3, $sp, 0xf0 +/* 0044EFF4 2718FFFF */ addiu $t8, $t8, -1 +/* 0044EFF8 02389021 */ addu $s2, $s1, $t8 +/* 0044EFFC 8F918938 */ lw $s1, %got(hi)($gp) +.L0044F000: +/* 0044F000 93AF00F5 */ lbu $t7, 0xf5($sp) +/* 0044F004 924B0000 */ lbu $t3, ($s2) +/* 0044F008 02602025 */ move $a0, $s3 +/* 0044F00C 000F5680 */ sll $t2, $t7, 0x1a +/* 0044F010 000A4E82 */ srl $t1, $t2, 0x1a +/* 0044F014 01696026 */ xor $t4, $t3, $t1 +/* 0044F018 3188003F */ andi $t0, $t4, 0x3f +/* 0044F01C 010F6826 */ xor $t5, $t0, $t7 +/* 0044F020 A3AD00F5 */ sb $t5, 0xf5($sp) +/* 0044F024 8ECE0004 */ lw $t6, 4($s6) +/* 0044F028 240D0001 */ li $t5, 1 +/* 0044F02C 01D01021 */ addu $v0, $t6, $s0 +/* 0044F030 9059FFFE */ lbu $t9, -2($v0) +/* 0044F034 9049FFFF */ lbu $t1, -1($v0) +/* 0044F038 0239C021 */ addu $t8, $s1, $t9 +/* 0044F03C 930A0000 */ lbu $t2, ($t8) +/* 0044F040 02296021 */ addu $t4, $s1, $t1 +/* 0044F044 91880000 */ lbu $t0, ($t4) +/* 0044F048 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044F04C 000A5900 */ sll $t3, $t2, 4 +/* 0044F050 01687821 */ addu $t7, $t3, $t0 +/* 0044F054 AFAF00F8 */ sw $t7, 0xf8($sp) +/* 0044F058 AFAD00FC */ sw $t5, 0xfc($sp) +/* 0044F05C 0320F809 */ jalr $t9 +/* 0044F060 AFA000F0 */ sw $zero, 0xf0($sp) +/* 0044F064 2610FFFE */ addiu $s0, $s0, -2 +/* 0044F068 1600FFE5 */ bnez $s0, .L0044F000 +/* 0044F06C 8FBC00C8 */ lw $gp, 0xc8($sp) +/* 0044F070 10000009 */ b .L0044F098 +/* 0044F074 8FBF00CC */ lw $ra, 0xcc($sp) +.L0044F078: +/* 0044F078 8F998808 */ lw $t9, %call16(caseerror)($gp) +/* 0044F07C 8F868038 */ lw $a2, %got(RO_1000F520)($gp) +/* 0044F080 24050085 */ li $a1, 133 +/* 0044F084 2407000A */ li $a3, 10 +/* 0044F088 0320F809 */ jalr $t9 +/* 0044F08C 24C6F520 */ addiu $a2, %lo(RO_1000F520) # addiu $a2, $a2, -0xae0 +/* 0044F090 8FBC00C8 */ lw $gp, 0xc8($sp) +.L0044F094: +/* 0044F094 8FBF00CC */ lw $ra, 0xcc($sp) +.L0044F098: +/* 0044F098 8FB000AC */ lw $s0, 0xac($sp) +/* 0044F09C 8FB100B0 */ lw $s1, 0xb0($sp) +/* 0044F0A0 8FB200B4 */ lw $s2, 0xb4($sp) +/* 0044F0A4 8FB300B8 */ lw $s3, 0xb8($sp) +/* 0044F0A8 8FB400BC */ lw $s4, 0xbc($sp) +/* 0044F0AC 8FB500C0 */ lw $s5, 0xc0($sp) +/* 0044F0B0 8FB600C4 */ lw $s6, 0xc4($sp) +/* 0044F0B4 03E00008 */ jr $ra +/* 0044F0B8 27BD0100 */ addiu $sp, $sp, 0x100 + .type emit_val, @function + .size emit_val, .-emit_val + .end emit_val + +glabel emit_label_val + .ent emit_label_val + # 0043FBF8 emit_init +/* 0044F0BC 3C1C0FBD */ .cpload $t9 +/* 0044F0C0 279C0994 */ +/* 0044F0C4 0399E021 */ +/* 0044F0C8 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 0044F0CC 24010002 */ li $at, 2 +/* 0044F0D0 AFBF001C */ sw $ra, 0x1c($sp) +/* 0044F0D4 AFBC0018 */ sw $gp, 0x18($sp) +/* 0044F0D8 AFA40030 */ sw $a0, 0x30($sp) +/* 0044F0DC 14E1000B */ bne $a3, $at, .L0044F10C +/* 0044F0E0 AFA00024 */ sw $zero, 0x24($sp) +/* 0044F0E4 8F8E8934 */ lw $t6, %got(val_dir_tab)($gp) +/* 0044F0E8 93AF0025 */ lbu $t7, 0x25($sp) +/* 0044F0EC 91CE0001 */ lbu $t6, 1($t6) +/* 0044F0F0 000FC680 */ sll $t8, $t7, 0x1a +/* 0044F0F4 0018CE82 */ srl $t9, $t8, 0x1a +/* 0044F0F8 01D94026 */ xor $t0, $t6, $t9 +/* 0044F0FC 3109003F */ andi $t1, $t0, 0x3f +/* 0044F100 012F5026 */ xor $t2, $t1, $t7 +/* 0044F104 1000000A */ b .L0044F130 +/* 0044F108 A3AA0025 */ sb $t2, 0x25($sp) +.L0044F10C: +/* 0044F10C 8F8B8934 */ lw $t3, %got(val_dir_tab)($gp) +/* 0044F110 93AC0025 */ lbu $t4, 0x25($sp) +/* 0044F114 916B0007 */ lbu $t3, 7($t3) +/* 0044F118 000C6E80 */ sll $t5, $t4, 0x1a +/* 0044F11C 000DC682 */ srl $t8, $t5, 0x1a +/* 0044F120 01787026 */ xor $t6, $t3, $t8 +/* 0044F124 31D9003F */ andi $t9, $t6, 0x3f +/* 0044F128 032C4026 */ xor $t0, $t9, $t4 +/* 0044F12C A3A80025 */ sb $t0, 0x25($sp) +.L0044F130: +/* 0044F130 8F9982A4 */ lw $t9, %call16(append_d)($gp) +/* 0044F134 24090001 */ li $t1, 1 +/* 0044F138 AFA60028 */ sw $a2, 0x28($sp) +/* 0044F13C AFA9002C */ sw $t1, 0x2c($sp) +/* 0044F140 AFA50020 */ sw $a1, 0x20($sp) +/* 0044F144 0320F809 */ jalr $t9 +/* 0044F148 27A40020 */ addiu $a0, $sp, 0x20 +/* 0044F14C 8FBF001C */ lw $ra, 0x1c($sp) +/* 0044F150 8FBC0018 */ lw $gp, 0x18($sp) +/* 0044F154 27BD0030 */ addiu $sp, $sp, 0x30 +/* 0044F158 03E00008 */ jr $ra +/* 0044F15C 00000000 */ nop + .type emit_label_val, @function + .size emit_label_val, .-emit_label_val + .end emit_label_val + +glabel find_val_type + .ent find_val_type + # 0043FBF8 emit_init +/* 0044F160 3C1C0FBD */ .cpload $t9 +/* 0044F164 279C08F0 */ +/* 0044F168 0399E021 */ +/* 0044F16C 27BDFF40 */ addiu $sp, $sp, -0xc0 +/* 0044F170 308200FF */ andi $v0, $a0, 0xff +/* 0044F174 2C410011 */ sltiu $at, $v0, 0x11 +/* 0044F178 AFBF00B4 */ sw $ra, 0xb4($sp) +/* 0044F17C AFBC00B0 */ sw $gp, 0xb0($sp) +/* 0044F180 10200066 */ beqz $at, .L0044F31C +/* 0044F184 AFA400C0 */ sw $a0, 0xc0($sp) +/* 0044F188 8F818038 */ lw $at, %got(jtbl_1000F734)($gp) +/* 0044F18C 00027080 */ sll $t6, $v0, 2 +/* 0044F190 002E0821 */ addu $at, $at, $t6 +/* 0044F194 8C2EF734 */ lw $t6, %lo(jtbl_1000F734)($at) +/* 0044F198 01DC7021 */ addu $t6, $t6, $gp +/* 0044F19C 01C00008 */ jr $t6 +/* 0044F1A0 00000000 */ nop +.L0044F1A4: +/* 0044F1A4 24010001 */ li $at, 1 +/* 0044F1A8 54A10004 */ bnel $a1, $at, .L0044F1BC +/* 0044F1AC 28A10003 */ slti $at, $a1, 3 +/* 0044F1B0 10000099 */ b .L0044F418 +/* 0044F1B4 24020001 */ li $v0, 1 +/* 0044F1B8 28A10003 */ slti $at, $a1, 3 +.L0044F1BC: +/* 0044F1BC 50200004 */ beql $at, $zero, .L0044F1D0 +/* 0044F1C0 28A10005 */ slti $at, $a1, 5 +/* 0044F1C4 10000094 */ b .L0044F418 +/* 0044F1C8 24020002 */ li $v0, 2 +/* 0044F1CC 28A10005 */ slti $at, $a1, 5 +.L0044F1D0: +/* 0044F1D0 10200003 */ beqz $at, .L0044F1E0 +/* 0044F1D4 00000000 */ nop +/* 0044F1D8 1000008F */ b .L0044F418 +/* 0044F1DC 24020003 */ li $v0, 3 +.L0044F1E0: +/* 0044F1E0 1000008D */ b .L0044F418 +/* 0044F1E4 24020004 */ li $v0, 4 +.L0044F1E8: +/* 0044F1E8 1000008B */ b .L0044F418 +/* 0044F1EC 24020003 */ li $v0, 3 +.L0044F1F0: +/* 0044F1F0 10000089 */ b .L0044F418 +/* 0044F1F4 24020004 */ li $v0, 4 +.L0044F1F8: +/* 0044F1F8 10000087 */ b .L0044F418 +/* 0044F1FC 24020005 */ li $v0, 5 +.L0044F200: +/* 0044F200 10000085 */ b .L0044F418 +/* 0044F204 24020006 */ li $v0, 6 +.L0044F208: +/* 0044F208 10000083 */ b .L0044F418 +/* 0044F20C 24020007 */ li $v0, 7 +.L0044F210: +/* 0044F210 10000081 */ b .L0044F418 +/* 0044F214 24020008 */ li $v0, 8 +.L0044F218: +/* 0044F218 1000007F */ b .L0044F418 +/* 0044F21C 24020009 */ li $v0, 9 +.L0044F220: +/* 0044F220 8F8F8038 */ lw $t7, %got(RO_1000F6E4)($gp) +/* 0044F224 24040004 */ li $a0, 4 +/* 0044F228 240500F2 */ li $a1, 242 +/* 0044F22C 25EFF6E4 */ addiu $t7, %lo(RO_1000F6E4) # addiu $t7, $t7, -0x91c +/* 0044F230 25E90048 */ addiu $t1, $t7, 0x48 +/* 0044F234 03A04025 */ move $t0, $sp +.L0044F238: +/* 0044F238 89F90000 */ lwl $t9, ($t7) +/* 0044F23C 99F90003 */ lwr $t9, 3($t7) +/* 0044F240 25EF000C */ addiu $t7, $t7, 0xc +/* 0044F244 2508000C */ addiu $t0, $t0, 0xc +/* 0044F248 A919FFFC */ swl $t9, -4($t0) +/* 0044F24C B919FFFF */ swr $t9, -1($t0) +/* 0044F250 89F8FFF8 */ lwl $t8, -8($t7) +/* 0044F254 99F8FFFB */ lwr $t8, -5($t7) +/* 0044F258 A9180000 */ swl $t8, ($t0) +/* 0044F25C B9180003 */ swr $t8, 3($t0) +/* 0044F260 89F9FFFC */ lwl $t9, -4($t7) +/* 0044F264 99F9FFFF */ lwr $t9, -1($t7) +/* 0044F268 A9190004 */ swl $t9, 4($t0) +/* 0044F26C 15E9FFF2 */ bne $t7, $t1, .L0044F238 +/* 0044F270 B9190007 */ swr $t9, 7($t0) +/* 0044F274 89F90000 */ lwl $t9, ($t7) +/* 0044F278 99F90003 */ lwr $t9, 3($t7) +/* 0044F27C 8F8A8038 */ lw $t2, %got(RO_1000F694)($gp) +/* 0044F280 03A06825 */ move $t5, $sp +/* 0044F284 A9190008 */ swl $t9, 8($t0) +/* 0044F288 B919000B */ swr $t9, 0xb($t0) +/* 0044F28C 89F80004 */ lwl $t8, 4($t7) +/* 0044F290 99F80007 */ lwr $t8, 7($t7) +/* 0044F294 254AF694 */ addiu $t2, %lo(RO_1000F694) # addiu $t2, $t2, -0x96c +/* 0044F298 254E0048 */ addiu $t6, $t2, 0x48 +/* 0044F29C A918000C */ swl $t8, 0xc($t0) +/* 0044F2A0 B918000F */ swr $t8, 0xf($t0) +.L0044F2A4: +/* 0044F2A4 894C0000 */ lwl $t4, ($t2) +/* 0044F2A8 994C0003 */ lwr $t4, 3($t2) +/* 0044F2AC 254A000C */ addiu $t2, $t2, 0xc +/* 0044F2B0 25AD000C */ addiu $t5, $t5, 0xc +/* 0044F2B4 A9AC004C */ swl $t4, 0x4c($t5) +/* 0044F2B8 B9AC004F */ swr $t4, 0x4f($t5) +/* 0044F2BC 894BFFF8 */ lwl $t3, -8($t2) +/* 0044F2C0 994BFFFB */ lwr $t3, -5($t2) +/* 0044F2C4 A9AB0050 */ swl $t3, 0x50($t5) +/* 0044F2C8 B9AB0053 */ swr $t3, 0x53($t5) +/* 0044F2CC 894CFFFC */ lwl $t4, -4($t2) +/* 0044F2D0 994CFFFF */ lwr $t4, -1($t2) +/* 0044F2D4 A9AC0054 */ swl $t4, 0x54($t5) +/* 0044F2D8 154EFFF2 */ bne $t2, $t6, .L0044F2A4 +/* 0044F2DC B9AC0057 */ swr $t4, 0x57($t5) +/* 0044F2E0 894C0000 */ lwl $t4, ($t2) +/* 0044F2E4 994C0003 */ lwr $t4, 3($t2) +/* 0044F2E8 A9AC0058 */ swl $t4, 0x58($t5) +/* 0044F2EC B9AC005B */ swr $t4, 0x5b($t5) +/* 0044F2F0 894B0004 */ lwl $t3, 4($t2) +/* 0044F2F4 994B0007 */ lwr $t3, 7($t2) +/* 0044F2F8 A9AB005C */ swl $t3, 0x5c($t5) +/* 0044F2FC B9AB005F */ swr $t3, 0x5f($t5) +/* 0044F300 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044F304 8FA7000C */ lw $a3, 0xc($sp) +/* 0044F308 8FA60008 */ lw $a2, 8($sp) +/* 0044F30C 0320F809 */ jalr $t9 +/* 0044F310 00000000 */ nop +/* 0044F314 1000003F */ b .L0044F414 +/* 0044F318 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044F31C: +/* 0044F31C 8F898038 */ lw $t1, %got(RO_1000F644)($gp) +/* 0044F320 24040004 */ li $a0, 4 +/* 0044F324 240500F8 */ li $a1, 248 +/* 0044F328 2529F644 */ addiu $t1, %lo(RO_1000F644) # addiu $t1, $t1, -0x9bc +/* 0044F32C 25390048 */ addiu $t9, $t1, 0x48 +/* 0044F330 03A0C025 */ move $t8, $sp +.L0044F334: +/* 0044F334 89280000 */ lwl $t0, ($t1) +/* 0044F338 99280003 */ lwr $t0, 3($t1) +/* 0044F33C 2529000C */ addiu $t1, $t1, 0xc +/* 0044F340 2718000C */ addiu $t8, $t8, 0xc +/* 0044F344 AB08FFFC */ swl $t0, -4($t8) +/* 0044F348 BB08FFFF */ swr $t0, -1($t8) +/* 0044F34C 892FFFF8 */ lwl $t7, -8($t1) +/* 0044F350 992FFFFB */ lwr $t7, -5($t1) +/* 0044F354 AB0F0000 */ swl $t7, ($t8) +/* 0044F358 BB0F0003 */ swr $t7, 3($t8) +/* 0044F35C 8928FFFC */ lwl $t0, -4($t1) +/* 0044F360 9928FFFF */ lwr $t0, -1($t1) +/* 0044F364 AB080004 */ swl $t0, 4($t8) +/* 0044F368 1539FFF2 */ bne $t1, $t9, .L0044F334 +/* 0044F36C BB080007 */ swr $t0, 7($t8) +/* 0044F370 89280000 */ lwl $t0, ($t1) +/* 0044F374 99280003 */ lwr $t0, 3($t1) +/* 0044F378 8F8E8038 */ lw $t6, %got(RO_1000F5F4)($gp) +/* 0044F37C 03A05825 */ move $t3, $sp +/* 0044F380 AB080008 */ swl $t0, 8($t8) +/* 0044F384 BB08000B */ swr $t0, 0xb($t8) +/* 0044F388 892F0004 */ lwl $t7, 4($t1) +/* 0044F38C 992F0007 */ lwr $t7, 7($t1) +/* 0044F390 25CEF5F4 */ addiu $t6, %lo(RO_1000F5F4) # addiu $t6, $t6, -0xa0c +/* 0044F394 25CC0048 */ addiu $t4, $t6, 0x48 +/* 0044F398 AB0F000C */ swl $t7, 0xc($t8) +/* 0044F39C BB0F000F */ swr $t7, 0xf($t8) +.L0044F3A0: +/* 0044F3A0 89CD0000 */ lwl $t5, ($t6) +/* 0044F3A4 99CD0003 */ lwr $t5, 3($t6) +/* 0044F3A8 25CE000C */ addiu $t6, $t6, 0xc +/* 0044F3AC 256B000C */ addiu $t3, $t3, 0xc +/* 0044F3B0 A96D004C */ swl $t5, 0x4c($t3) +/* 0044F3B4 B96D004F */ swr $t5, 0x4f($t3) +/* 0044F3B8 89CAFFF8 */ lwl $t2, -8($t6) +/* 0044F3BC 99CAFFFB */ lwr $t2, -5($t6) +/* 0044F3C0 A96A0050 */ swl $t2, 0x50($t3) +/* 0044F3C4 B96A0053 */ swr $t2, 0x53($t3) +/* 0044F3C8 89CDFFFC */ lwl $t5, -4($t6) +/* 0044F3CC 99CDFFFF */ lwr $t5, -1($t6) +/* 0044F3D0 A96D0054 */ swl $t5, 0x54($t3) +/* 0044F3D4 15CCFFF2 */ bne $t6, $t4, .L0044F3A0 +/* 0044F3D8 B96D0057 */ swr $t5, 0x57($t3) +/* 0044F3DC 89CD0000 */ lwl $t5, ($t6) +/* 0044F3E0 99CD0003 */ lwr $t5, 3($t6) +/* 0044F3E4 A96D0058 */ swl $t5, 0x58($t3) +/* 0044F3E8 B96D005B */ swr $t5, 0x5b($t3) +/* 0044F3EC 89CA0004 */ lwl $t2, 4($t6) +/* 0044F3F0 99CA0007 */ lwr $t2, 7($t6) +/* 0044F3F4 A96A005C */ swl $t2, 0x5c($t3) +/* 0044F3F8 B96A005F */ swr $t2, 0x5f($t3) +/* 0044F3FC 8F998540 */ lw $t9, %call16(report_error)($gp) +/* 0044F400 8FA7000C */ lw $a3, 0xc($sp) +/* 0044F404 8FA60008 */ lw $a2, 8($sp) +/* 0044F408 0320F809 */ jalr $t9 +/* 0044F40C 00000000 */ nop +/* 0044F410 8FBC00B0 */ lw $gp, 0xb0($sp) +.L0044F414: +/* 0044F414 93A200BF */ lbu $v0, 0xbf($sp) +.L0044F418: +/* 0044F418 8FBF00B4 */ lw $ra, 0xb4($sp) +/* 0044F41C 27BD00C0 */ addiu $sp, $sp, 0xc0 +/* 0044F420 03E00008 */ jr $ra +/* 0044F424 00000000 */ nop + .type find_val_type, @function + .size find_val_type, .-find_val_type + .end find_val_type +)""); diff --git a/src/crt1.c b/src/uopt/crt1.c similarity index 100% rename from src/crt1.c rename to src/uopt/crt1.c diff --git a/src/uopt/uoptdbg.c b/src/uopt/uoptdbg.c index 1924741..8e291f0 100644 --- a/src/uopt/uoptdbg.c +++ b/src/uopt/uoptdbg.c @@ -188,11 +188,11 @@ __asm__(R""( D_1000FF70: # 0041A410 printitab # 0041AC2C printtab - .ascii "uabs\x00 uadd\x00 uadj\x00 uaent\x00 uand\x00 uaos\x00 uasym\x00 ubgn\x00 ubgnb\x00 ubsub\x00 ucg1\x00 ucg2\x00 uchkh\x00 uchkl\x00 uchkn\x00 uchkt\x00 ucia\x00 uclab\x00 uclbd\x00 ucomm\x00 ucsym\x00 uctrl\x00 ucubd\x00 ucup\x00 ucvt\x00 ucvtl\x00 udec\x00 udef\x00 udif\x00 udiv\x00 udup\x00 uend\x00 uendb\x00 uent\x00 ueof\x00 uequ\x00 uesym\x00 ufill\x00 ufjp\x00 ufsym\x00 ugeq\x00 ugrt\x00 ugsym\x00 uhsym\x00 uicuf\x00 uidx\x00 uiequ\x00 uigeq\x00 uigrt\x00 uijp\x00 uilda\x00 uildv\x00 uileq\x00 uiles\x00 uilod\x00 uinc\x00 uineq\x00 uinit\x00 uinn\x00 uint\x00 uior\x00 uisld\x00 uisst\x00 uistr\x00 uistv\x00 uixa\x00 ulab\x00 ulbd\x00 ulbdy\x00 ulbgn\x00 ulca\x00 ulda\x00 uldap\x00 uldc\x00 uldef\x00 uldsp\x00 ulend\x00 uleq\x00 ules\x00 ulex\x00 ulnot\x00 uloc\x00 ulod\x00 ulsym\x00 ultrm\x00 umax\x00 umin\x00 umod\x00 umov\x00 umovv\x00 umpmv\x00 umpy\x00 umst\x00 umus\x00 uneg\x00 uneq\x00 unop\x00 unot\x00 uodd\x00 uoptn\x00 upar\x00 updef\x00 upmov\x00 upop\x00 uregs\x00 urem\x00 uret\x00 urlda\x00 urldc\x00 urlod\x00 urnd\x00 urpar\x00 urstr\x00 usdef\x00 usgs\x00 ushl\x00 ushr\x00 usign\x00 usqr\x00 usqrt\x00 ussym\x00 ustep\x00 ustp\x00 ustr\x00 ustsp\x00 usub\x00 uswp\x00 utjp\x00 utpeq\x00 utpge\x00 utpgt\x00 utple\x00 utplt\x00 utpne\x00 utyp\x00 uubd\x00 uujp\x00 uunal\x00 uuni\x00 uvreg\x00 uxjp\x00 uxor\x00 uxpar\x00 umtag\x00 ualia\x00 uildi\x00 uisti\x00 uirld\x00 uirst\x00 uldrc\x00 umsym\x00 urcuf\x00 uksym\x00 uosym\x00 uirlv\x00 uirsv\x00\x00 " + .ascii "uabs\0 uadd\0 uadj\0 uaent\0 uand\0 uaos\0 uasym\0 ubgn\0 ubgnb\0 ubsub\0 ucg1\0 ucg2\0 uchkh\0 uchkl\0 uchkn\0 uchkt\0 ucia\0 uclab\0 uclbd\0 ucomm\0 ucsym\0 uctrl\0 ucubd\0 ucup\0 ucvt\0 ucvtl\0 udec\0 udef\0 udif\0 udiv\0 udup\0 uend\0 uendb\0 uent\0 ueof\0 uequ\0 uesym\0 ufill\0 ufjp\0 ufsym\0 ugeq\0 ugrt\0 ugsym\0 uhsym\0 uicuf\0 uidx\0 uiequ\0 uigeq\0 uigrt\0 uijp\0 uilda\0 uildv\0 uileq\0 uiles\0 uilod\0 uinc\0 uineq\0 uinit\0 uinn\0 uint\0 uior\0 uisld\0 uisst\0 uistr\0 uistv\0 uixa\0 ulab\0 ulbd\0 ulbdy\0 ulbgn\0 ulca\0 ulda\0 uldap\0 uldc\0 uldef\0 uldsp\0 ulend\0 uleq\0 ules\0 ulex\0 ulnot\0 uloc\0 ulod\0 ulsym\0 ultrm\0 umax\0 umin\0 umod\0 umov\0 umovv\0 umpmv\0 umpy\0 umst\0 umus\0 uneg\0 uneq\0 unop\0 unot\0 uodd\0 uoptn\0 upar\0 updef\0 upmov\0 upop\0 uregs\0 urem\0 uret\0 urlda\0 urldc\0 urlod\0 urnd\0 urpar\0 urstr\0 usdef\0 usgs\0 ushl\0 ushr\0 usign\0 usqr\0 usqrt\0 ussym\0 ustep\0 ustp\0 ustr\0 ustsp\0 usub\0 uswp\0 utjp\0 utpeq\0 utpge\0 utpgt\0 utple\0 utplt\0 utpne\0 utyp\0 uubd\0 uujp\0 uunal\0 uuni\0 uvreg\0 uxjp\0 uxor\0 uxpar\0 umtag\0 ualia\0 uildi\0 uisti\0 uirld\0 uirst\0 uldrc\0 umsym\0 urcuf\0 uksym\0 uosym\0 uirlv\0 uirsv\0\0 " D_10010450: # 0041C914 printregs - .ascii "notloopfirstbb\x00 loopfirstbb\x00canunroll\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00" + .ascii "notloopfirstbb\0 loopfirstbb\0canunroll\0\0 \0\0\0\0\0\0\0\0" )""); /* diff --git a/src/uopt/uoptutil.c b/src/uopt/uoptutil.c index 7990de6..11db797 100644 --- a/src/uopt/uoptutil.c +++ b/src/uopt/uoptutil.c @@ -176,7 +176,7 @@ __asm__(R""( /* 0047B51C ovfwwarning */ -const char uopcode_enum_values[] = "uabs\x00 uadd\x00 uadj\x00 uaent\x00 uand\x00 uaos\x00 uasym\x00 ubgn\x00 ubgnb\x00 ubsub\x00 ucg1\x00 ucg2\x00 uchkh\x00 uchkl\x00 uchkn\x00 uchkt\x00 ucia\x00 uclab\x00 uclbd\x00 ucomm\x00 ucsym\x00 uctrl\x00 ucubd\x00 ucup\x00 ucvt\x00 ucvtl\x00 udec\x00 udef\x00 udif\x00 udiv\x00 udup\x00 uend\x00 uendb\x00 uent\x00 ueof\x00 uequ\x00 uesym\x00 ufill\x00 ufjp\x00 ufsym\x00 ugeq\x00 ugrt\x00 ugsym\x00 uhsym\x00 uicuf\x00 uidx\x00 uiequ\x00 uigeq\x00 uigrt\x00 uijp\x00 uilda\x00 uildv\x00 uileq\x00 uiles\x00 uilod\x00 uinc\x00 uineq\x00 uinit\x00 uinn\x00 uint\x00 uior\x00 uisld\x00 uisst\x00 uistr\x00 uistv\x00 uixa\x00 ulab\x00 ulbd\x00 ulbdy\x00 ulbgn\x00 ulca\x00 ulda\x00 uldap\x00 uldc\x00 uldef\x00 uldsp\x00 ulend\x00 uleq\x00 ules\x00 ulex\x00 ulnot\x00 uloc\x00 ulod\x00 ulsym\x00 ultrm\x00 umax\x00 umin\x00 umod\x00 umov\x00 umovv\x00 umpmv\x00 umpy\x00 umst\x00 umus\x00 uneg\x00 uneq\x00 unop\x00 unot\x00 uodd\x00 uoptn\x00 upar\x00 updef\x00 upmov\x00 upop\x00 uregs\x00 urem\x00 uret\x00 urlda\x00 urldc\x00 urlod\x00 urnd\x00 urpar\x00 urstr\x00 usdef\x00 usgs\x00 ushl\x00 ushr\x00 usign\x00 usqr\x00 usqrt\x00 ussym\x00 ustep\x00 ustp\x00 ustr\x00 ustsp\x00 usub\x00 uswp\x00 utjp\x00 utpeq\x00 utpge\x00 utpgt\x00 utple\x00 utplt\x00 utpne\x00 utyp\x00 uubd\x00 uujp\x00 uunal\x00 uuni\x00 uvreg\x00 uxjp\x00 uxor\x00 uxpar\x00 umtag\x00 ualia\x00 uildi\x00 uisti\x00 uirld\x00 uirst\x00 uldrc\x00 umsym\x00 urcuf\x00 uksym\x00 uosym\x00 uirlv\x00 uirsv\x00\x00 "; +const char uopcode_enum_values[] = "uabs\0 uadd\0 uadj\0 uaent\0 uand\0 uaos\0 uasym\0 ubgn\0 ubgnb\0 ubsub\0 ucg1\0 ucg2\0 uchkh\0 uchkl\0 uchkn\0 uchkt\0 ucia\0 uclab\0 uclbd\0 ucomm\0 ucsym\0 uctrl\0 ucubd\0 ucup\0 ucvt\0 ucvtl\0 udec\0 udef\0 udif\0 udiv\0 udup\0 uend\0 uendb\0 uent\0 ueof\0 uequ\0 uesym\0 ufill\0 ufjp\0 ufsym\0 ugeq\0 ugrt\0 ugsym\0 uhsym\0 uicuf\0 uidx\0 uiequ\0 uigeq\0 uigrt\0 uijp\0 uilda\0 uildv\0 uileq\0 uiles\0 uilod\0 uinc\0 uineq\0 uinit\0 uinn\0 uint\0 uior\0 uisld\0 uisst\0 uistr\0 uistv\0 uixa\0 ulab\0 ulbd\0 ulbdy\0 ulbgn\0 ulca\0 ulda\0 uldap\0 uldc\0 uldef\0 uldsp\0 ulend\0 uleq\0 ules\0 ulex\0 ulnot\0 uloc\0 ulod\0 ulsym\0 ultrm\0 umax\0 umin\0 umod\0 umov\0 umovv\0 umpmv\0 umpy\0 umst\0 umus\0 uneg\0 uneq\0 unop\0 unot\0 uodd\0 uoptn\0 upar\0 updef\0 upmov\0 upop\0 uregs\0 urem\0 uret\0 urlda\0 urldc\0 urlod\0 urnd\0 urpar\0 urstr\0 usdef\0 usgs\0 ushl\0 ushr\0 usign\0 usqr\0 usqrt\0 ussym\0 ustep\0 ustp\0 ustr\0 ustsp\0 usub\0 uswp\0 utjp\0 utpeq\0 utpge\0 utpgt\0 utple\0 utplt\0 utpne\0 utyp\0 uubd\0 uujp\0 uunal\0 uuni\0 uvreg\0 uxjp\0 uxor\0 uxpar\0 umtag\0 ualia\0 uildi\0 uisti\0 uirld\0 uirst\0 uldrc\0 umsym\0 urcuf\0 uksym\0 uosym\0 uirlv\0 uirsv\0\0 "; __asm__(R""( .data diff --git a/ugen_split_specification.txt b/ugen_split_specification.txt new file mode 100644 index 0000000..29cdda0 --- /dev/null +++ b/ugen_split_specification.txt @@ -0,0 +1,1090 @@ +[split] +#.text .rodata .data .bss COMMON variables + +/ugen/crt1.c +0040A5E0-0040A708 - - - __Argc-__rld_obj_head + +# __start +# func_0040A5EC +# _mcount + +/ugen/binfile.c +0040A710-0040AD9C 10008000-100081E0 - 10018630-100186C0 - + +# open_bin_file +# close_bin_file +# output_inst_bin +# cat_files + +/ugen/foldconst.c +0040ADA0-0040BBC4 100081E0-10008520 - - print_warnings-print_warnings + +# warning +# func_0040AE00 +# func_0040AEAC +# fold_constant +# fold_identities +# fold_idempotents + +/ugen/ugendata.c + - - - - current_line-regs + +/ugen/aio.c +0040BBD0-0040E0A4 10008520-10008BD0 10010E60-100124C0 - - + +# put_integer_ws +# put_sym +# hex8 +# put_hex10 +# hex_2 +# put_alpha +# put_string +# write_instruction +# print_source +# write_directive +# output_inst_ascii + +/ugen/build.c +0040E0B0-00413F4C 10008BD0-10009380 100124C0-10012570 - - + +# set_domtag +# get_domtag +# search_label +# find_label +# init_build +# func_0040E238 +# func_0040E24C +# func_0040E280 +# func_0040E2AC +# func_0040E474 +# func_0040E884 +# func_0040EC54 +# func_0040EED4 +# func_0040EF8C +# func_0040EFBC +# func_0040F0B8 +# func_0040F1BC +# func_0040F230 +# func_0040F328 +# build_tree + +/ugen/emit.c +00413F50-0041AF4C 10009380-10009690 10012570-10013640 - - + +# save_i_ptrs +# restore_i_ptrs +# init_ibuffer +# grow_ibuffer +# create_local_label +# emit_vers +# emit_rob +# emit_rab +# emit_rrab +# emit_rllb +# emit_ra +# emit_ri_ +# emit_rii +# emit_rfi +# emit_rrfi +# emit_rrr +# emit_rri_ +# emit_rrri +# emit_rr +# emit_a +# emit_r +# emit_i +# emit_rrl +# emit_rrll +# emit_rl +# emit_rll +# emit_l +# emit_ll +# emit_ril +# emit_rill +# define_label +# emit_itext +# demit_itext +# emit_dir0 +# emit_dir1 +# emit_dir2 +# emit_alias +# emit_regmask +# emit_loopno +# emit_dir_ll +# demit_rob_ +# demit_ri +# demit_rr +# demit_a +# demit_regmask +# demit_rrr +# demit_rri +# demit_rrll +# demit_i +# demit_ra +# demit_dir0 +# demit_dir1 +# demit_dir2 +# demit_edata +# demit_weakext +# emit_cpload +# ddefine_label +# define_exception_label +# append_i +# append_d +# clear_ibuffer +# emit_vreg +# emit_pic +# demit_cpalias +# emit_cpalias +# emit_cpadd + +/ugen/emit_dw.c +0041AF70-0042080C 10009690-10009830 - - - + +# func_0041AF70 +# func_0041AFE4 +# func_0041B07C +# func_0041B1BC +# func_0041B2FC +# func_0041B43C +# func_0041B57C +# func_0041B6BC +# func_0041B7FC +# func_0041B93C +# emit_branch_rrll +# func_0041BCC0 +# func_0041BD30 +# func_0041BDC8 +# func_0041BE80 +# func_0041BF38 +# func_0041BFF0 +# func_0041C0A8 +# func_0041C160 +# func_0041C218 +# func_0041C2D0 +# emit_branch_rill +# func_0041C694 +# func_0041C710 +# func_0041C7AC +# func_0041C86C +# func_0041C92C +# func_0041C9EC +# emit_trap_rri +# func_0041CC60 +# func_0041CCD0 +# func_0041CD64 +# func_0041CE18 +# func_0041CECC +# func_0041CF80 +# emit_trap_ri +# func_0041D1E8 +# func_0041D39C +# func_0041D534 +# func_0041D958 +# func_0041DDE0 +# func_0041DF18 +# func_0041E05C +# func_0041E1C0 +# func_0041E304 +# dw_emit_rrr +# func_0041E800 +# func_0041EA00 +# func_0041EC08 +# func_0041EE78 +# func_0041F194 +# func_0041F368 +# func_0041F4F0 +# func_0041F678 +# func_0041F800 +# func_0041F988 +# func_0041FB10 +# dw_emit_rri +# func_00420360 +# func_00420524 +# func_00420590 +# func_00420654 +# dw_emit_rr + +/ugen/entry_exit.c +00420810-0042314C 10009830-10009980 10013640-10013641 - - + +# gen_entry_exit +# gen_entry +# clear_saved_regs +# is_empty_saved_regs +# home_parameters +# gen_reg_save_restore +# gen_reg_save +# demit_mask +# demit_frame +# emit_file +# emit_optimize_level + +/ugen/eval.c +004231F0-004349D4 10009980-1000B040 10013644-10016170 - first_ent-pdefs + +# is_end_return +# move_dreg_to_regs +# move_two_regs +# fasm +# fop +# uop_to_asm +# jump +# trap +# is_saved_reg +# is_parm_reg +# is_fp_reg +# restore_from_temp +# reg +# binary_regs +# flt_reg +# func_0042567C +# binary_flt_regs +# get_dest +# move_to_dest +# lsopc +# loadstore +# func_00426B44 +# func_00426C54 +# iloadistore +# func_00427538 +# rloadrstore +# loadstore_for_two_words +# unaligned_loadstore_for_fp_word +# unaligned_loadstore_for_two_fp_w +# loadstore_for_two_fp_words +# func_00427FB8 +# func_004280C4 +# func_00428190 +# unaligned_loadstore +# eval_2ops +# eval_fp_cond +# eval_fp_min_max +# eval2 +# ureg +# copy +# eval_mov +# get_ops +# eval_irel +# save_vreg +# pass_in_register +# load_parm_vreg +# in_parm_regs +# gen_regs +# get_saved_regs_size +# unhome_parms +# home_parms +# clean_tree +# clear_pmov_regs +# save_pmov_reg +# load_pmov_regs +# cvt_tab +# rnd_tab +# invert_livereg +# eval +# init_eval +# load_fp_literal +# eval_int_flt_cvt +# eval_flt_int_cvt +# func_004340D4 +# func_00434374 +# func_00434430 +# func_00434500 +# func_00434618 +# eval_int_int_cvt +# eval_flt_flt_cvt + +/ugen/fold.c +004349E0-004350D4 - - - - + +# add_overflow +# sub_overflow +# is_constant +# llconst +# fold +# fold1 + +/ugen/frame_offset.c +004350E0-00435180 - - - - + +# frame_offset +# frame_offset1 + +/ugen/libmld/st_feinit.c +00435180-00435188 - - - - + +/ugen/swap.c +00435190-004351B8 - - - - +# swap_tree +# swap_int + +/ugen/labelopt.c +004351C0-004366A8 1000B040-1000B170 10016170-100161F0 - - + +# func_004351C0 +# func_004352AC +# func_004357C4 +# func_0043595C +# func_00435C44 +# func_00435DE8 +# func_00435E68 +# func_00435EA0 +# func_00435EF0 +# func_00435F40 +# func_00435FA4 +# func_00436148 +# labelopt + +/ugen/lit_mgr.c +004366B0-00436F34 1000B170-1000B2D0 - - small_strings-sets + +# reset_pool +# select_data_section +# emit_list +# output_pool +# new_lit +# add_to_list_no_check +# valu_equ +# add_to_list +# add_to_pool + +/ugen/loop_header.c +00436F40-00438C3C 1000B2D0-1000B750 100161F0-100162D0 - pay-pay + +# insert +# append +# make_new_label +# make_new_jump +# cmp_tree +# cmp_tree_again +# move_label +# get_prior_stm +# get_prior_stm1 +# find_br +# match_uconds +# cmp_br +# match_conds +# cross_jump + +/ugen/opt.c +00438C40-00438DF8 1000B750-1000B770 - - - + +# set_opts + +/ugen/parm_mgr.c +00438E00-00439828 - 100162D0-10016300 - pars-fix_amt +# (guess) + +# pass_in_reg +# parm_reg +# map_pdefs_to_regs +# map_pars_to_regs +# check_amt +# check_amt_ref +# fix_amt_ref + +/ugen/reg_mgr.c +00439850-0043D648 1000B770-1000C4F0 10016300-10016730 - gp_regs_free-restricted_fp_regs + +# clear_restricted_regs +# add_restricted_reg +# add_restricted_fp_reg +# find_non_special_reg +# get_reg_kind +# kind_of_register +# init_regs +# fill_reg +# copy_reg +# list_is_empty +# dump_reg +# print_regs +# remove_direg +# get_head +# remove_head +# append_to_list +# remove_from_list +# spill +# spill_reg +# get_one_reg +# get_two_regs +# get_reg +# get_reg1 +# get_fp_reg +# get_fp_reg1 +# free_reg_is_available +# can_get_two_regs +# spill_two_regs +# get_two_free_regs +# get_one_free_reg +# get_free_reg +# get_free_fp_reg +# content_of +# inc_usage +# dec_usage +# free_reg +# free_fp_reg +# force_free_reg +# add_to_free_list +# add_to_fp_free_list +# remove_from_free_list +# remove_from_fp_free_list +# is_available +# check_no_used +# usage_count +# move_to_end_fp_list +# move_to_end_gp_list +# get_free_fp_reg_special +# get_free_reg_special + +/ugen/report.c +0043D650-0043DA88 1000C4F0-1000C5E0 10016730-10016770 - errors-errors + +# reset_errors +# report_error +# has_errors +# assertion_error + +/ugen/symbol.c +0043DA90-00440BF4 1000C5E0-1000D270 10016770-10016780 - sym_hash_tab-sym_hash_tab + +# sym_hash +# get_data_area +# get_sym_type +# make_new_sym +# change_sym_type +# lookup_sym +# clear_sym_tab +# gen_sym +# set_lex_level +# set_size +# some_init_overlap +# complex_init_duplicate_p +# integral_type +# complex_insert_init +# append_init +# add_init +# choose_area +# force_alignment +# emit_init +# emit_symbol +# output_decls +# output_entry_point +# change_label_number +# set_mtag +# get_mtag +# get_sym_kind + +/ugen/tmp_mgr.c +00440C10-0044181C 1000D270-1000D630 - - temps-current_temp_index + +# init_temps +# lookup_temp +# make_new_temp +# find_free_temp +# gen_store +# spill_to_temp +# free_temp +# temp_offset +# temp_usage_count +# get_temp_area_size +# set_temps_offset + +/ugen/translate.c +00441860-00449128 1000D630-1000E240 10016780-100169C0 - max_vreg_offset-calls + +# force_casting +# is_power_of_two +# get_set_const +# gen_set_str +# gen_set_istr +# gen_set_equ +# set_rewrite +# set_rewrite_indexed +# translate_tree +# translate +# cse_equ +# cse +# overlap +# free_tree_and_cse +# check_vreg +# find_vreg_mtag +# check_reg +# assign_vreg +# load_cse +# uses +# add_store +# is_reg +# translate_cvtl +# need_check_hl +# build_ucond0 +# check_loads_exprs + +/ugen/tree_print.c +00449130-00449F44 1000E240-1000E300 100169C0-10016F60 - - + +# indent_tree +# print_ucode +# print_node_1 +# print_node +# func_00449D24 +# print_tree +# debug_tree + +/ugen/tree_utils.c +00449F50-0044B118 1000E300-1000E570 10016F60-10016FB0 - tree_mark-label_id_counter + +# initialize_tree +# gen_label_id +# new_tree +# build_u +# build_u1 +# build_u2 +# build_op +# build_1op +# build_2op +# free_node +# free_tree +# delete_statement +# dup_tree +# next_mark +# ivalue +# dwvalue +# rvalue +# is_zero +# is_ivalue +# result_type +# func_0044AED0 +# const_equal + +/ugen/u_tree.c +0044B120-0044B288 - 10016FB0-10016FD0 - - + +# u_tree + +/ugen/ugen.c +0044B290-0044E9C8 1000E570-1000F510 - - - + +# func_0044B290 +# func_0044B2EC +# func_0044B384 +# func_0044B640 +# func_0044BA38 +# func_0044BBD8 +# func_0044BC78 +# func_0044BE70 +# func_0044BEA8 +# main + +/ugen/val_util.c +0044E9D0-0044F428 1000F510-1000F780 10016FD0-10017060 - - + +# emit_composite_val +# emit_val +# emit_label_val +# find_val_type + +/ugen/libu/uini.c +0044F430-004551EC 1000F780-1000F9E0 - - - + +# func_0044F430 +# func_0044F480 +# uini +# getutabrec + +/ugen/libu/bwri.c +004551F0-00455C80 - 10017060-100170B0 - - + +# inituwrite +# idlen +# fnamelen +# uwrite +# getdtyname +# getmtyname +# ucoid +# ucofname +# stopucode +# ubittobyte +# set_u_indent + +/ugen/libu/ucio.c +00455C80-004564B4 1000F9E0-1000FB50 100170B0-100170C0 100186C0-10021080 - + +# uputinit +# uputinitfd +# uputint +# uputflush +# uputclose +# uputkill +# ugetinit +# ugetinitfd +# ugetbufinit +# ugetint +# ugeteof +# ugetclose + +/ugen/libu/bread.c +004564C0-00456C78 - 100170C0-10017100 - dtytype-u_indent + +# resetur +# func_004564F4 +# readuinstr +# initur +# ubytetobit + +/ugen/libmld/stfe.c +00456C80-00458528 1000FB50-1000FBE0 10017100-10017110 10021080-100210A0 - + +# __sgi_mld_st_commonbegin +# st_filebegin +# st_endallfiles +# st_fileend +# st_textblock +# _sgi_st_blockbegin +# st_blockbegin +# st_blockend +# st_blockpop +# st_procend +# st_procbegin +# st_sym_idn +# st_str_idn +# st_fglobal_idn +# st_psym_idn_offset +# st_fixextindex +# st_fixextsc +# st_pdadd_idn +# st_fixiss +# st_changedn +# st_file_idn + +/ugen/libmld/stfd.c +00458530-0045961C 1000FBE0-1000FE30 10017110-100171D0 100210A0-100211E0 - + +# st_currentifd +# st_ifdmax +# st_setfd +# st_fdadd +# st_auxadd +# st_pdadd +# st_lineadd +# st_stradd +# st_non_gp +# st_set_non_gp +# st_paux_ifd_iaux +# st_pline_ifd_iline +# st_str_iss +# st_malloc + +/ugen/libmld/md_stfd.c +00459620-00459D80 1000FE30-1000FEC0 100171D0-10017280 - - + +# st_symadd +# st_ifd_pcfd +# st_pcfd_ifd +# st_psym_ifd_isym +# st_paux_iaux +# st_str_ifd_iss +# st_ppd_ifd_isym + +/ugen/libmld/stcu.c +00459D80-0045A750 1000FEC0-100100B4 10017280-10017290 - st_pchdr-pcfdcur + +# st_setchdr +# st_currentpchdr +# st_free +# st_extstradd +# st_str_extiss +# st_idn_dn +# st_idn_rndx +# st_rndx_idn +# st_setidn +# st_pext_dn +# st_iextmax +# st_setmsgname + +/ugen/libmld/sterror.c +0045A750-0045A80C 100100B4-10010120 - - - + +# st_error + +/ugen/libmld/sex.c +0045A810-0045A840 - - - - + +# gethostsex + +/ugen/libmld/md_mldfunc.c +0045A840-0045ACEC 10010120-10010210 10017290-10017300 - - + +# _md_st_internal +# _md_st_error +# _md_st_str_extiss +# _md_st_str_iss +# _md_st_iextmax +# _md_st_currentifd +# _md_st_malloc +# _md_st_ifdmax +# _md_st_setfd + +/ugen/libmld/md_stcu.c +0045ACF0-0045B17C 10010210-10010320 - - - + +# st_cuinit +# st_extadd +# st_pext_iext +# st_idn_index_fext +# st_pdn_idn + +/ugen/libmld/stinternal.c +0045B180-0045B23C 10010320-10010340 - - - + +# st_internal + +/ugen/libmld/staux.c +0045B240-0045BB88 10010340-100103A0 - - - + +# st_tqhigh_iaux +# st_shifttq +# st_iaux_copyty +# st_changeaux +# st_addtq +# st_changeauxrndx +# st_auxbtadd +# st_auxisymadd +# st_auxrndxadd +# st_auxbtsize +# st_auxrndxadd_idn +# st_addcontinued + +/ugen/libmld/stio.c +0045BB90-0045DC8C 100103A0-10010560 10017300-10017330 100211E0-100211F0 - + +# st_readbinary +# st_readst +# func_0045CBB8 +# st_writebinary +# st_writest +# st_setstmagic + +/ugen/libmld/swap.c +0045DC90-00460B0C 10010560-100105B0 - - - + +# swap_filehdr +# swap_aouthdr +# swap_scnhdr +# swap_libscn +# swap_hdr +# swap_fd +# swap_fi +# swap_sym +# swap_ext +# swap_pd +# swap_dn +# swap_rpd +# swap_opt +# swap_aux +# swap_reloc +# swap_ranlib +# swap_gpt +# swap_dynamic +# swap_rel_dyn +# swap_reginfo +# swap_dynsym +# swap_conflict +# swap_got +# swap_liblist +# swap_msym +# swap_ehdr +# swap_phdr +# swap_shdr + +/ugen/libmld/stwarning.c +00460B10-00460BD4 100105B0-100105D0 - - - + +# st_warning + +/ugen/libmld/ldfsymorder.c +00460BE0-00460F40 - - - - + +# ldfsymorder + +/ugen/libp/textinput.c +00460F50-00464010 100105D0-10010B70 10017330-100173B0 100211F0-100211F4 _libp_pascal_file_counter-_libp_ansi_pascal + +# eof +# eoln +# peek_char +# next_char +# read_char +# read_char_range +# readln +# read_string +# read_boolean +# read_enum +# read_integer +# read_integer_range +# read_cardinal +# read_double +# read_real +# read_int64 +# read_int64_range +# read_card64 + +/ugen/libp/textoutput.c +00464020-00466730 10010B70-10010CC0 100173B0-100173E0 - - + +# func_00464020 +# func_004641A0 +# writeln +# page +# write_char +# write_string +# write_enum +# write_integer +# write_cardinal +# write_real +# write_double +# write_boolean +# write_card64 +# write_int64 + +/ugen/libp/err.c + - - 100173E0-100173E8 - - + +/ugen/libp/data.c + - - 100173F0-10017A40 - - + +/ugen/libp/output.c + - - 10017A40-10017A50 - - + +/ugen/libp/new.c +00466730-004667DC - - - - + +# new +# dispose + +/ugen/libp/rewrite.c +004667E0-00466A00 10010CC0-10010D10 - - - + +# rewrite + +/ugen/libp/get_arg.c +00466A00-00466AB8 - - - - + +# get_arg + +/ugen/libp/get.c +00466AC0-00466BA4 10010D10-10010D60 - - - + +# get + +/ugen/libp/reset.c +00466BB0-00466EB4 10010D60-10010D80 - - - + +# calc_size +# reset + +/ugen/libp/getbuf.c +00466EC0-00466FB8 10010D80-10010D90 - - - + +# _getbuf + +/ugen/libp/caseerror.c +00466FC0-00467104 10010D90-10010DF0 - - - + +# caseerror +# assert_err + +/ugen/libp/exit.c +00467110-00467224 10010DF0-10010E60 - - - + +# exit + +/ugen/libxmalloc/alloc.c +00467230-004676B0 - - - malloc_scb-malloc_scb + +# xrealloc +# xfree +# alloc_dispose +# xmalloc +# alloc_new + +/ugen/libxmalloc/allocator.c +004676B0-00467BF4 - 10017A50-10017A60 - - + +# alloc_page +# alloc_free +# alloc_scb +# alloc_mark +# alloc_release +# alloc_next_scb +# alloc_resize + +[/split] + +[common-order] +__Argc +__Argv +__rld_obj_head +print_warnings +current_line +current_file +excpt +non_local_mtag +ibuffer_size +ibuffer +i_ptr +old_i_ptr +d_ptr +old_d_ptr +lsb_first +sdata_max +ascii_out +ms_stamp +ls_stamp +fp_initialized +source_language +use_fp +will_use_real_fp_for_proc +no_jal_use_jalr_only +pseudo_leaf +isa +apc +align8 +align16 +align32 +align64 +mscoff +stack_limit_bn +opcode_arch +basicint +debug_ugen +pic_level +cpalias_ok +saw_cap_g +use_cpalias +framesz_relocatable +in_file +current_linen +source_file_name +source_file +val64 +n_parm_regs +n_fp_parm_regs +n_saved_regs +n_saved_fp_regs +n_unsaved_regs +n_unsaved_fp_regs +n_cg_regs +n_fp_cg_regs +ufsa +ufsm +ugen_fp_callee_saved +fp32regs +addr_dtype +unitsperaddr +opt_cse +opt_labels +opt_parms +ignore_vreg +tail_call_opt +glevel +olevel +sgi_unsigned_conv +nooffsetopt +has_cia_in_file +tree_heap +tree_heap_mark +frame_pointer +aframe_pointer +frame_size +use_real_fp_for_all +use_real_fp_for_proc +home_vararg_reg +reversed_stack +resident_text +first_pmt_offset +getfilename +label_hash_table +strp +domtag +saved_regs +init_dynmem +max_stack +uses_gp +has_calls +i_ptrs_for_gp_offset +num_i_ptr_indexes +regs +first_ent +local_var_size +temp_size +noalias_regs +noalias_on_off +pmov_regs +generate_again +first_loc +first_file_number +first_line_number +max_arg_build +reloc_arg_build +saved_regs_size +has_aent +load_stack_limit +entry_point_index +curlev +current_text_sec +pdefs +small_strings +large_strings +floats +doubles +sets +pay +pars +fix_amt +gp_regs_free +gp_regs_used +fp_regs_free +fp_regs_used +restricted_regs +restricted_fp_regs +errors +sym_hash_tab +temps +temps_offset +current_temp_index +max_vreg_offset +max_fp_vreg_offset +vreg_offset +fp_vreg_offset +vreg_count +vregs +mst_node +expr_count +exprs +load_count +loads +bb_size +leaf +has_entry +varargs +calls +tree_mark +tree_counter +label_id_counter +dtytype +mtytype +opchashtab +memorychars +datachars +setconstantchars +utab +dtyname +mtyname +noerrorsyet +u_indent +st_pchdr +pcfdcur +_libp_pascal_file_counter +_libp_ansi_pascal +malloc_scb +[/common-order] diff --git a/uopt_split_specification.txt b/uopt_split_specification.txt index 126377d..cfcf323 100644 --- a/uopt_split_specification.txt +++ b/uopt_split_specification.txt @@ -1,5 +1,5 @@ [split] -#.text .data .rodata .bss COMMON variables +#.text .rodata .data .bss COMMON variables /crt1.c 0040B620-0040B748 - - - __Argv-__Argc