pmdsky-debug-py 9.0.4__py3-none-any.whl → 9.0.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pmdsky_debug_py/_release.py +1 -1
- pmdsky_debug_py/eu.py +292 -58
- pmdsky_debug_py/eu_itcm.py +292 -58
- pmdsky_debug_py/jp.py +292 -58
- pmdsky_debug_py/jp_itcm.py +292 -58
- pmdsky_debug_py/na.py +292 -58
- pmdsky_debug_py/na_itcm.py +292 -58
- pmdsky_debug_py/protocol.py +129 -19
- {pmdsky_debug_py-9.0.4.dist-info → pmdsky_debug_py-9.0.5.dist-info}/METADATA +1 -1
- pmdsky_debug_py-9.0.5.dist-info/RECORD +14 -0
- pmdsky_debug_py-9.0.4.dist-info/RECORD +0 -14
- {pmdsky_debug_py-9.0.4.dist-info → pmdsky_debug_py-9.0.5.dist-info}/WHEEL +0 -0
- {pmdsky_debug_py-9.0.4.dist-info → pmdsky_debug_py-9.0.5.dist-info}/top_level.txt +0 -0
pmdsky_debug_py/_release.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
RELEASE = "v0.9.0+
|
|
1
|
+
RELEASE = "v0.9.0+a7356f64a8"
|
pmdsky_debug_py/eu.py
CHANGED
|
@@ -140,7 +140,7 @@ class EuArm7Functions:
|
|
|
140
140
|
" & 0x1f (the cpsr mode bits M4-M0)",
|
|
141
141
|
)
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
_s32_div_f = Symbol(
|
|
144
144
|
[0xEDB0],
|
|
145
145
|
[0x238EDB0],
|
|
146
146
|
None,
|
|
@@ -148,7 +148,7 @@ class EuArm7Functions:
|
|
|
148
148
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
149
149
|
)
|
|
150
150
|
|
|
151
|
-
|
|
151
|
+
_u32_div_f = Symbol(
|
|
152
152
|
[0xEFBC],
|
|
153
153
|
[0x238EFBC],
|
|
154
154
|
None,
|
|
@@ -156,7 +156,7 @@ class EuArm7Functions:
|
|
|
156
156
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
157
157
|
)
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
_u32_div_not_0_f = Symbol(
|
|
160
160
|
[0xEFC4],
|
|
161
161
|
[0x238EFC4],
|
|
162
162
|
None,
|
|
@@ -195,11 +195,11 @@ class EuArm7Section:
|
|
|
195
195
|
|
|
196
196
|
class EuArm9Functions:
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
Svc_SoftReset = Symbol([0x1A4], [0x20001A4], None, "Software interrupt.")
|
|
199
199
|
|
|
200
|
-
|
|
200
|
+
Svc_WaitByLoop = Symbol([0x6B0], [0x20006B0], None, "Software interrupt.")
|
|
201
201
|
|
|
202
|
-
|
|
202
|
+
Svc_CpuSet = Symbol([0x79E], [0x200079E], None, "Software interrupt.")
|
|
203
203
|
|
|
204
204
|
_start = Symbol(
|
|
205
205
|
[0x800],
|
|
@@ -211,7 +211,7 @@ class EuArm9Functions:
|
|
|
211
211
|
" will jump to NitroMain.\n\nNo params.",
|
|
212
212
|
)
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
MIi_UncompressBackward = Symbol(
|
|
215
215
|
[0x970],
|
|
216
216
|
[0x2000970],
|
|
217
217
|
None,
|
|
@@ -232,7 +232,7 @@ class EuArm9Functions:
|
|
|
232
232
|
"Startup routine in the program's crt0 (https://en.wikipedia.org/wiki/Crt0).",
|
|
233
233
|
)
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
OSi_ReferSymbol = Symbol(
|
|
236
236
|
[0xB9C],
|
|
237
237
|
[0x2000B9C],
|
|
238
238
|
None,
|
|
@@ -8951,68 +8951,212 @@ class EuArm9Functions:
|
|
|
8951
8951
|
"The wcslen(3) C library function.\n\nr0: ws\nreturn: length of ws",
|
|
8952
8952
|
)
|
|
8953
8953
|
|
|
8954
|
-
|
|
8954
|
+
_dadd = Symbol(
|
|
8955
|
+
[0x8E260],
|
|
8956
|
+
[0x208E260],
|
|
8957
|
+
None,
|
|
8958
|
+
"Implements the addition operator for IEEE 754 double-precision floating-point"
|
|
8959
|
+
" numbers.\n\nThe result is returned in r0 and r1, in accordance with the"
|
|
8960
|
+
" Procedure Call Standard for the Arm Architecture (see"
|
|
8961
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
8962
|
+
" a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn:"
|
|
8963
|
+
" a + b",
|
|
8964
|
+
)
|
|
8965
|
+
|
|
8966
|
+
_d2f = Symbol(
|
|
8967
|
+
[0x8E578],
|
|
8968
|
+
[0x208E578],
|
|
8969
|
+
None,
|
|
8970
|
+
"Implements the double to float cast operator for IEEE 754 floating-point"
|
|
8971
|
+
" numbers.\n\nr0: double (low bits)\nr1: double (high bits)\nreturn:"
|
|
8972
|
+
" (float)double",
|
|
8973
|
+
)
|
|
8974
|
+
|
|
8975
|
+
_ll_ufrom_d = Symbol(
|
|
8976
|
+
[0x8E67C],
|
|
8977
|
+
[0x208E67C],
|
|
8978
|
+
None,
|
|
8979
|
+
"Implements the double to unsigned long long cast operation for IEEE 754"
|
|
8980
|
+
" floating-point numbers.\n\nThe result is returned in r0 and r1, in accordance"
|
|
8981
|
+
" with the Procedure Call Standard for the Arm Architecture (see"
|
|
8982
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
8983
|
+
" double (low bits)\nr1: double (high bits)\nreturn: (unsigned long"
|
|
8984
|
+
" long)double",
|
|
8985
|
+
)
|
|
8986
|
+
|
|
8987
|
+
_dflt = Symbol(
|
|
8988
|
+
[0x8E708],
|
|
8989
|
+
[0x208E708],
|
|
8990
|
+
None,
|
|
8991
|
+
"Implements the int to double cast operation for IEEE 754 floating-point"
|
|
8992
|
+
" numbers.\n\nThe result is returned in r0 and r1, in accordance with the"
|
|
8993
|
+
" Procedure Call Standard for the Arm Architecture (see"
|
|
8994
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
8995
|
+
" int\nreturn: (double)int",
|
|
8996
|
+
)
|
|
8997
|
+
|
|
8998
|
+
_dfltu = Symbol(
|
|
8999
|
+
[0x8E748],
|
|
9000
|
+
[0x208E748],
|
|
9001
|
+
None,
|
|
9002
|
+
"Implements the unsigned int to double cast operation for IEEE 754"
|
|
9003
|
+
" floating-point numbers.\n\nThe result is returned in r0 and r1, in accordance"
|
|
9004
|
+
" with the Procedure Call Standard for the Arm Architecture (see"
|
|
9005
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9006
|
+
" uint\nreturn: (double)uint",
|
|
9007
|
+
)
|
|
9008
|
+
|
|
9009
|
+
_dmul = Symbol(
|
|
9010
|
+
[0x8E784],
|
|
9011
|
+
[0x208E784],
|
|
9012
|
+
None,
|
|
9013
|
+
"Implements the multiplication operator for IEEE 754 double-precision"
|
|
9014
|
+
" floating-point numbers.\n\nThe result is returned in r0 and r1, in accordance"
|
|
9015
|
+
" with the Procedure Call Standard for the Arm Architecture (see"
|
|
9016
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9017
|
+
" a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn:"
|
|
9018
|
+
" a * b",
|
|
9019
|
+
)
|
|
9020
|
+
|
|
9021
|
+
_dsqrt = Symbol(
|
|
9022
|
+
[0x8EAE8],
|
|
9023
|
+
[0x208EAE8],
|
|
9024
|
+
None,
|
|
9025
|
+
"Analogous to the sqrt(3) C library function.\n\nThe result is returned in r0"
|
|
9026
|
+
" and r1, in accordance with the Procedure Call Standard for the Arm"
|
|
9027
|
+
" Architecture (see"
|
|
9028
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9029
|
+
" x (low bits)\nr1: x (high bits)\nreturn: sqrt(x)",
|
|
9030
|
+
)
|
|
9031
|
+
|
|
9032
|
+
_dsub = Symbol(
|
|
9033
|
+
[0x8EC9C],
|
|
9034
|
+
[0x208EC9C],
|
|
9035
|
+
None,
|
|
9036
|
+
"Implements the subtraction operator for IEEE 754 double-precision"
|
|
9037
|
+
" floating-point numbers.\n\nThe result is returned in r0 and r1, in accordance"
|
|
9038
|
+
" with the Procedure Call Standard for the Arm Architecture (see"
|
|
9039
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9040
|
+
" a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn:"
|
|
9041
|
+
" a - b",
|
|
9042
|
+
)
|
|
9043
|
+
|
|
9044
|
+
_fadd = Symbol(
|
|
8955
9045
|
[0x8F050],
|
|
8956
9046
|
[0x208F050],
|
|
8957
9047
|
None,
|
|
8958
|
-
"
|
|
8959
|
-
"
|
|
8960
|
-
|
|
9048
|
+
"Implements the addition operator for IEEE 754 floating-point"
|
|
9049
|
+
" numbers.\n\nAnalogous to __addsf3 in libgcc.\n\nr0: a\nr1: b\nreturn: a + b",
|
|
9050
|
+
)
|
|
9051
|
+
|
|
9052
|
+
_dgeq = Symbol(
|
|
9053
|
+
[0x8F274],
|
|
9054
|
+
[0x208F274],
|
|
9055
|
+
None,
|
|
9056
|
+
"Implements the >= operator for IEEE 754 double-precision floating-point"
|
|
9057
|
+
" numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b"
|
|
9058
|
+
" (high bits)\nreturn: a >= b",
|
|
8961
9059
|
)
|
|
8962
9060
|
|
|
8963
|
-
|
|
9061
|
+
_dleq = Symbol(
|
|
9062
|
+
[0x8F30C],
|
|
9063
|
+
[0x208F30C],
|
|
9064
|
+
None,
|
|
9065
|
+
"Implements the <= operator for IEEE 754 double-precision floating-point"
|
|
9066
|
+
" numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b"
|
|
9067
|
+
" (high bits)\nreturn: a <= b",
|
|
9068
|
+
)
|
|
9069
|
+
|
|
9070
|
+
_dls = Symbol(
|
|
9071
|
+
[0x8F3B0],
|
|
9072
|
+
[0x208F3B0],
|
|
9073
|
+
None,
|
|
9074
|
+
"Implements the < operator for IEEE 754 double-precision floating-point"
|
|
9075
|
+
" numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b"
|
|
9076
|
+
" (high bits)\nreturn: a < b",
|
|
9077
|
+
)
|
|
9078
|
+
|
|
9079
|
+
_deq = Symbol(
|
|
9080
|
+
[0x8F44C],
|
|
9081
|
+
[0x208F44C],
|
|
9082
|
+
None,
|
|
9083
|
+
"Implements the == operator for IEEE 754 double-precision floating-point"
|
|
9084
|
+
" numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b"
|
|
9085
|
+
" (high bits)\nreturn: a == b",
|
|
9086
|
+
)
|
|
9087
|
+
|
|
9088
|
+
_dneq = Symbol(
|
|
9089
|
+
[0x8F4D8],
|
|
9090
|
+
[0x208F4D8],
|
|
9091
|
+
None,
|
|
9092
|
+
"Implements the != operator for IEEE 754 double-precision floating-point"
|
|
9093
|
+
" numbers.\n\nr0: a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b"
|
|
9094
|
+
" (high bits)\nreturn: a != b",
|
|
9095
|
+
)
|
|
9096
|
+
|
|
9097
|
+
_fls = Symbol(
|
|
9098
|
+
[0x8F564],
|
|
9099
|
+
[0x208F564],
|
|
9100
|
+
None,
|
|
9101
|
+
"Implements the < operator for IEEE 754 floating-point numbers.\n\nr0: a\nr1:"
|
|
9102
|
+
" b\nreturn: a < b",
|
|
9103
|
+
)
|
|
9104
|
+
|
|
9105
|
+
_fdiv = Symbol(
|
|
8964
9106
|
[0x8F5CC],
|
|
8965
9107
|
[0x208F5CC],
|
|
8966
9108
|
None,
|
|
8967
|
-
"
|
|
8968
|
-
"
|
|
8969
|
-
"
|
|
9109
|
+
"Implements the division operator for IEEE 754 floating-point"
|
|
9110
|
+
" numbers.\n\nAnalogous to __divsf3 in libgcc.\n\nr0: dividend\nr1:"
|
|
9111
|
+
" divisor\nreturn: dividend / divisor",
|
|
8970
9112
|
)
|
|
8971
9113
|
|
|
8972
|
-
|
|
9114
|
+
_f2d = Symbol(
|
|
8973
9115
|
[0x8F984],
|
|
8974
9116
|
[0x208F984],
|
|
8975
9117
|
None,
|
|
8976
|
-
"
|
|
8977
|
-
"
|
|
8978
|
-
"
|
|
9118
|
+
"Implements the float to double cast operation for IEEE 754 floating-point"
|
|
9119
|
+
" numbers.\n\nAnalogous to __extendsfdf2 in libgcc.\n\nThe result is returned"
|
|
9120
|
+
" in r0 and r1, in accordance with the Procedure Call Standard for the Arm"
|
|
9121
|
+
" Architecture (see"
|
|
9122
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9123
|
+
" float\nreturn: (double)float",
|
|
8979
9124
|
)
|
|
8980
9125
|
|
|
8981
|
-
|
|
9126
|
+
_ffix = Symbol(
|
|
8982
9127
|
[0x8FA08],
|
|
8983
9128
|
[0x208FA08],
|
|
8984
9129
|
None,
|
|
8985
|
-
"
|
|
8986
|
-
"
|
|
8987
|
-
"
|
|
8988
|
-
"
|
|
9130
|
+
"Implements the float to int cast operation for IEEE 754 floating-point"
|
|
9131
|
+
" numbers. The output saturates if the input is out of the representable range"
|
|
9132
|
+
" for the int type.\n\nAnalogous to __fixsfsi in libgcc.\n\nr0: float\nreturn:"
|
|
9133
|
+
" (int)float",
|
|
8989
9134
|
)
|
|
8990
9135
|
|
|
8991
|
-
|
|
9136
|
+
_fflt = Symbol(
|
|
8992
9137
|
[0x8FA3C],
|
|
8993
9138
|
[0x208FA3C],
|
|
8994
9139
|
None,
|
|
8995
|
-
"
|
|
8996
|
-
"
|
|
8997
|
-
"
|
|
9140
|
+
"Implements the int to float cast operation for IEEE 754 floating-point"
|
|
9141
|
+
" numbers.\n\nAnalogous to __floatsisf in libgcc.\n\nr0: int\nreturn:"
|
|
9142
|
+
" (float)int",
|
|
8998
9143
|
)
|
|
8999
9144
|
|
|
9000
|
-
|
|
9145
|
+
_ffltu = Symbol(
|
|
9001
9146
|
[0x8FA84],
|
|
9002
9147
|
[0x208FA84],
|
|
9003
9148
|
None,
|
|
9004
|
-
"
|
|
9005
|
-
"
|
|
9006
|
-
"
|
|
9149
|
+
"Implements the unsigned int to float cast operation for IEEE 754"
|
|
9150
|
+
" floating-point numbers.\n\nAnalogous to __floatunsisf in libgcc.\n\nr0:"
|
|
9151
|
+
" uint\nreturn: (float)uint",
|
|
9007
9152
|
)
|
|
9008
9153
|
|
|
9009
|
-
|
|
9154
|
+
_fmul = Symbol(
|
|
9010
9155
|
[0x8FACC],
|
|
9011
9156
|
[0x208FACC],
|
|
9012
9157
|
None,
|
|
9013
|
-
"
|
|
9014
|
-
"
|
|
9015
|
-
" floating-point numbers.",
|
|
9158
|
+
"Implements the multiplication operator for IEEE 754 floating-point"
|
|
9159
|
+
" numbers.\n\nAnalogous to __mulsf3 in libgcc.\n\nr0: a\nr1: b\nreturn: a * b",
|
|
9016
9160
|
)
|
|
9017
9161
|
|
|
9018
9162
|
sqrtf = Symbol(
|
|
@@ -9022,51 +9166,108 @@ class EuArm9Functions:
|
|
|
9022
9166
|
"The sqrtf(3) C library function.\n\nr0: x\nreturn: sqrt(x)",
|
|
9023
9167
|
)
|
|
9024
9168
|
|
|
9025
|
-
|
|
9169
|
+
_fsub = Symbol(
|
|
9026
9170
|
[0x8FD9C],
|
|
9027
9171
|
[0x208FD9C],
|
|
9028
9172
|
None,
|
|
9029
|
-
"
|
|
9030
|
-
"
|
|
9031
|
-
|
|
9173
|
+
"Implements the subtraction operator for IEEE 754 floating-point"
|
|
9174
|
+
" numbers.\n\nAnalogous to __subsf3 in libgcc.\n\nr0: a\nr1: b\nreturn: a - b",
|
|
9175
|
+
)
|
|
9176
|
+
|
|
9177
|
+
_ll_mod = Symbol(
|
|
9178
|
+
[0x90014],
|
|
9179
|
+
[0x2090014],
|
|
9180
|
+
None,
|
|
9181
|
+
"Implements the modulus operator for signed long longs.\n\nThe result is"
|
|
9182
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9183
|
+
" Arm Architecture (see"
|
|
9184
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9185
|
+
" dividend (low bits)\nr1: dividend (high bits)\nr2: divisor (low bits)\nr3:"
|
|
9186
|
+
" divisor (high bits)\nreturn: dividend % divisor",
|
|
9187
|
+
)
|
|
9188
|
+
|
|
9189
|
+
_ll_sdiv = Symbol(
|
|
9190
|
+
[0x90024],
|
|
9191
|
+
[0x2090024],
|
|
9192
|
+
None,
|
|
9193
|
+
"Implements the division operator for signed long longs.\n\nThe result is"
|
|
9194
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9195
|
+
" Arm Architecture (see"
|
|
9196
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9197
|
+
" dividend (low bits)\nr1: dividend (high bits)\nr2: divisor (low bits)\nr3:"
|
|
9198
|
+
" divisor (high bits)\nreturn: dividend / divisor",
|
|
9032
9199
|
)
|
|
9033
9200
|
|
|
9034
|
-
|
|
9201
|
+
_ll_udiv = Symbol(
|
|
9202
|
+
[0x901D4],
|
|
9203
|
+
[0x20901D4],
|
|
9204
|
+
None,
|
|
9205
|
+
"Implements the division operator for unsigned long longs.\n\nThe result is"
|
|
9206
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9207
|
+
" Arm Architecture (see"
|
|
9208
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9209
|
+
" dividend (low bits)\nr1: dividend (high bits)\nr2: divisor (low bits)\nr3:"
|
|
9210
|
+
" divisor (high bits)\nreturn: dividend / divisor",
|
|
9211
|
+
)
|
|
9212
|
+
|
|
9213
|
+
_ull_mod = Symbol(
|
|
9214
|
+
[0x901E0],
|
|
9215
|
+
[0x20901E0],
|
|
9216
|
+
None,
|
|
9217
|
+
"Implements the modulus operator for unsigned long longs.\n\nThe result is"
|
|
9218
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9219
|
+
" Arm Architecture (see"
|
|
9220
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9221
|
+
" dividend (low bits)\nr1: dividend (high bits)\nr2: divisor (low bits)\nr3:"
|
|
9222
|
+
" divisor (high bits)\nreturn: dividend % divisor",
|
|
9223
|
+
)
|
|
9224
|
+
|
|
9225
|
+
_ll_mul = Symbol(
|
|
9226
|
+
[0x9021C],
|
|
9227
|
+
[0x209021C],
|
|
9228
|
+
None,
|
|
9229
|
+
"Implements the multiplication operator for signed long longs.\n\nThe result is"
|
|
9230
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9231
|
+
" Arm Architecture (see"
|
|
9232
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9233
|
+
" a (low bits)\nr1: a (high bits)\nr2: b (low bits)\nr3: b (high bits)\nreturn:"
|
|
9234
|
+
" a * b",
|
|
9235
|
+
)
|
|
9236
|
+
|
|
9237
|
+
_s32_div_f = Symbol(
|
|
9035
9238
|
[0x9023C],
|
|
9036
9239
|
[0x209023C],
|
|
9037
9240
|
None,
|
|
9038
|
-
"
|
|
9039
|
-
"
|
|
9040
|
-
"
|
|
9041
|
-
"
|
|
9042
|
-
"
|
|
9043
|
-
" (see"
|
|
9241
|
+
"Implements the division operator for signed ints.\n\nAnalogous to __divsi3 in"
|
|
9242
|
+
" libgcc.\n\nThe return value is a 64-bit integer, with the quotient (dividend"
|
|
9243
|
+
" / divisor) in the lower 32 bits and the remainder (dividend % divisor) in the"
|
|
9244
|
+
" upper 32 bits. In accordance with the Procedure Call Standard for the Arm"
|
|
9245
|
+
" Architecture (see"
|
|
9044
9246
|
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return),"
|
|
9045
9247
|
" this means that the quotient is returned in r0 and the remainder is returned"
|
|
9046
9248
|
" in r1.\n\nr0: dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9047
9249
|
)
|
|
9048
9250
|
|
|
9049
|
-
|
|
9251
|
+
_u32_div_f = Symbol(
|
|
9050
9252
|
[0x90448],
|
|
9051
9253
|
[0x2090448],
|
|
9052
9254
|
None,
|
|
9053
|
-
"
|
|
9054
|
-
"
|
|
9055
|
-
"
|
|
9056
|
-
" the
|
|
9057
|
-
"
|
|
9058
|
-
" (see"
|
|
9255
|
+
"Implements the division operator for unsigned ints.\n\nAnalogous to __udivsi3"
|
|
9256
|
+
" in libgcc.\n\nThe return value is a 64-bit integer, with the quotient"
|
|
9257
|
+
" (dividend / divisor) in the lower 32 bits and the remainder (dividend %"
|
|
9258
|
+
" divisor) in the upper 32 bits. In accordance with the Procedure Call Standard"
|
|
9259
|
+
" for the Arm Architecture (see"
|
|
9059
9260
|
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return),"
|
|
9060
9261
|
" this means that the quotient is returned in r0 and the remainder is returned"
|
|
9061
|
-
" in r1.\nNote: This function falls through to
|
|
9262
|
+
" in r1.\nNote: This function falls through to _u32_div_not_0_f.\n\nr0:"
|
|
9062
9263
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9063
9264
|
)
|
|
9064
9265
|
|
|
9065
|
-
|
|
9266
|
+
_u32_div_not_0_f = Symbol(
|
|
9066
9267
|
[0x90450],
|
|
9067
9268
|
[0x2090450],
|
|
9068
9269
|
None,
|
|
9069
|
-
"Subsidiary function to
|
|
9270
|
+
"Subsidiary function to _u32_div_f. Skips the initial check for divisor =="
|
|
9070
9271
|
" 0.\n\nThe return value is a 64-bit integer, with the quotient (dividend /"
|
|
9071
9272
|
" divisor) in the lower 32 bits and the remainder (dividend % divisor) in the"
|
|
9072
9273
|
" upper 32 bits. In accordance with the Procedure Call Standard for the Arm"
|
|
@@ -9077,6 +9278,39 @@ class EuArm9Functions:
|
|
|
9077
9278
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9078
9279
|
)
|
|
9079
9280
|
|
|
9281
|
+
_drdiv = Symbol(
|
|
9282
|
+
[0x9062C],
|
|
9283
|
+
[0x209062C],
|
|
9284
|
+
None,
|
|
9285
|
+
"The same as _ddiv, but with the parameters reversed.\n\nThis simply swaps the"
|
|
9286
|
+
" first and second parameters, then falls through to _ddiv.\n\nThe result is"
|
|
9287
|
+
" returned in r0 and r1, in accordance with the Procedure Call Standard for the"
|
|
9288
|
+
" Arm Architecture (see"
|
|
9289
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9290
|
+
" divisor (low bits)\nr1: divisor (high bits)\nr2: dividend (low bits)\nr3:"
|
|
9291
|
+
" dividend (high bits)\nreturn: dividend / divisor",
|
|
9292
|
+
)
|
|
9293
|
+
|
|
9294
|
+
_ddiv = Symbol(
|
|
9295
|
+
[0x90644],
|
|
9296
|
+
[0x2090644],
|
|
9297
|
+
None,
|
|
9298
|
+
"Implements the division operator for IEEE 754 double-precision floating-point"
|
|
9299
|
+
" numbers.\n\nThe result is returned in r0 and r1, in accordance with the"
|
|
9300
|
+
" Procedure Call Standard for the Arm Architecture (see"
|
|
9301
|
+
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return).\n\nr0:"
|
|
9302
|
+
" dividend (low bits)\nr1: dividend (high bits)\nr2: divisor (low bits)\nr3:"
|
|
9303
|
+
" divisor (high bits)\nreturn: dividend / divisor",
|
|
9304
|
+
)
|
|
9305
|
+
|
|
9306
|
+
_fp_init = Symbol(
|
|
9307
|
+
[0x90B88],
|
|
9308
|
+
[0x2090B88],
|
|
9309
|
+
None,
|
|
9310
|
+
"Meant to do set up for floating point calculations? Does nothing.\n\nNo"
|
|
9311
|
+
" params.",
|
|
9312
|
+
)
|
|
9313
|
+
|
|
9080
9314
|
|
|
9081
9315
|
class EuArm9Data:
|
|
9082
9316
|
|