pmdsky-debug-py 9.0.3__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 +302 -58
- pmdsky_debug_py/eu_itcm.py +302 -58
- pmdsky_debug_py/jp.py +302 -58
- pmdsky_debug_py/jp_itcm.py +302 -58
- pmdsky_debug_py/na.py +302 -58
- pmdsky_debug_py/na_itcm.py +302 -58
- pmdsky_debug_py/protocol.py +134 -19
- {pmdsky_debug_py-9.0.3.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.3.dist-info/RECORD +0 -14
- {pmdsky_debug_py-9.0.3.dist-info → pmdsky_debug_py-9.0.5.dist-info}/WHEEL +0 -0
- {pmdsky_debug_py-9.0.3.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,
|
|
@@ -4121,6 +4121,16 @@ class EuArm9Functions:
|
|
|
4121
4121
|
" index",
|
|
4122
4122
|
)
|
|
4123
4123
|
|
|
4124
|
+
UpdateWindow = Symbol(
|
|
4125
|
+
[0x27DE4],
|
|
4126
|
+
[0x2027DE4],
|
|
4127
|
+
None,
|
|
4128
|
+
"Seems to cause updated window contents to be displayed.\n \nGets called for"
|
|
4129
|
+
" example at the end of a text box window update and seems to 'commit' the"
|
|
4130
|
+
" update, but in general also gets called with all kinds of window updates."
|
|
4131
|
+
" \n\nr0: window_id",
|
|
4132
|
+
)
|
|
4133
|
+
|
|
4124
4134
|
ClearWindow = Symbol(
|
|
4125
4135
|
[0x27E4C],
|
|
4126
4136
|
[0x2027E4C],
|
|
@@ -8941,68 +8951,212 @@ class EuArm9Functions:
|
|
|
8941
8951
|
"The wcslen(3) C library function.\n\nr0: ws\nreturn: length of ws",
|
|
8942
8952
|
)
|
|
8943
8953
|
|
|
8944
|
-
|
|
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(
|
|
8945
9045
|
[0x8F050],
|
|
8946
9046
|
[0x208F050],
|
|
8947
9047
|
None,
|
|
8948
|
-
"
|
|
8949
|
-
"
|
|
8950
|
-
|
|
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",
|
|
9059
|
+
)
|
|
9060
|
+
|
|
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",
|
|
8951
9077
|
)
|
|
8952
9078
|
|
|
8953
|
-
|
|
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(
|
|
8954
9106
|
[0x8F5CC],
|
|
8955
9107
|
[0x208F5CC],
|
|
8956
9108
|
None,
|
|
8957
|
-
"
|
|
8958
|
-
"
|
|
8959
|
-
"
|
|
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",
|
|
8960
9112
|
)
|
|
8961
9113
|
|
|
8962
|
-
|
|
9114
|
+
_f2d = Symbol(
|
|
8963
9115
|
[0x8F984],
|
|
8964
9116
|
[0x208F984],
|
|
8965
9117
|
None,
|
|
8966
|
-
"
|
|
8967
|
-
"
|
|
8968
|
-
"
|
|
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",
|
|
8969
9124
|
)
|
|
8970
9125
|
|
|
8971
|
-
|
|
9126
|
+
_ffix = Symbol(
|
|
8972
9127
|
[0x8FA08],
|
|
8973
9128
|
[0x208FA08],
|
|
8974
9129
|
None,
|
|
8975
|
-
"
|
|
8976
|
-
"
|
|
8977
|
-
"
|
|
8978
|
-
"
|
|
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",
|
|
8979
9134
|
)
|
|
8980
9135
|
|
|
8981
|
-
|
|
9136
|
+
_fflt = Symbol(
|
|
8982
9137
|
[0x8FA3C],
|
|
8983
9138
|
[0x208FA3C],
|
|
8984
9139
|
None,
|
|
8985
|
-
"
|
|
8986
|
-
"
|
|
8987
|
-
"
|
|
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",
|
|
8988
9143
|
)
|
|
8989
9144
|
|
|
8990
|
-
|
|
9145
|
+
_ffltu = Symbol(
|
|
8991
9146
|
[0x8FA84],
|
|
8992
9147
|
[0x208FA84],
|
|
8993
9148
|
None,
|
|
8994
|
-
"
|
|
8995
|
-
"
|
|
8996
|
-
"
|
|
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",
|
|
8997
9152
|
)
|
|
8998
9153
|
|
|
8999
|
-
|
|
9154
|
+
_fmul = Symbol(
|
|
9000
9155
|
[0x8FACC],
|
|
9001
9156
|
[0x208FACC],
|
|
9002
9157
|
None,
|
|
9003
|
-
"
|
|
9004
|
-
"
|
|
9005
|
-
" 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",
|
|
9006
9160
|
)
|
|
9007
9161
|
|
|
9008
9162
|
sqrtf = Symbol(
|
|
@@ -9012,51 +9166,108 @@ class EuArm9Functions:
|
|
|
9012
9166
|
"The sqrtf(3) C library function.\n\nr0: x\nreturn: sqrt(x)",
|
|
9013
9167
|
)
|
|
9014
9168
|
|
|
9015
|
-
|
|
9169
|
+
_fsub = Symbol(
|
|
9016
9170
|
[0x8FD9C],
|
|
9017
9171
|
[0x208FD9C],
|
|
9018
9172
|
None,
|
|
9019
|
-
"
|
|
9020
|
-
"
|
|
9021
|
-
|
|
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",
|
|
9199
|
+
)
|
|
9200
|
+
|
|
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",
|
|
9022
9211
|
)
|
|
9023
9212
|
|
|
9024
|
-
|
|
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(
|
|
9025
9238
|
[0x9023C],
|
|
9026
9239
|
[0x209023C],
|
|
9027
9240
|
None,
|
|
9028
|
-
"
|
|
9029
|
-
"
|
|
9030
|
-
"
|
|
9031
|
-
"
|
|
9032
|
-
"
|
|
9033
|
-
" (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"
|
|
9034
9246
|
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return),"
|
|
9035
9247
|
" this means that the quotient is returned in r0 and the remainder is returned"
|
|
9036
9248
|
" in r1.\n\nr0: dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9037
9249
|
)
|
|
9038
9250
|
|
|
9039
|
-
|
|
9251
|
+
_u32_div_f = Symbol(
|
|
9040
9252
|
[0x90448],
|
|
9041
9253
|
[0x2090448],
|
|
9042
9254
|
None,
|
|
9043
|
-
"
|
|
9044
|
-
"
|
|
9045
|
-
"
|
|
9046
|
-
" the
|
|
9047
|
-
"
|
|
9048
|
-
" (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"
|
|
9049
9260
|
" https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/aapcs32/aapcs32.rst#result-return),"
|
|
9050
9261
|
" this means that the quotient is returned in r0 and the remainder is returned"
|
|
9051
|
-
" in r1.\nNote: This function falls through to
|
|
9262
|
+
" in r1.\nNote: This function falls through to _u32_div_not_0_f.\n\nr0:"
|
|
9052
9263
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9053
9264
|
)
|
|
9054
9265
|
|
|
9055
|
-
|
|
9266
|
+
_u32_div_not_0_f = Symbol(
|
|
9056
9267
|
[0x90450],
|
|
9057
9268
|
[0x2090450],
|
|
9058
9269
|
None,
|
|
9059
|
-
"Subsidiary function to
|
|
9270
|
+
"Subsidiary function to _u32_div_f. Skips the initial check for divisor =="
|
|
9060
9271
|
" 0.\n\nThe return value is a 64-bit integer, with the quotient (dividend /"
|
|
9061
9272
|
" divisor) in the lower 32 bits and the remainder (dividend % divisor) in the"
|
|
9062
9273
|
" upper 32 bits. In accordance with the Procedure Call Standard for the Arm"
|
|
@@ -9067,6 +9278,39 @@ class EuArm9Functions:
|
|
|
9067
9278
|
" dividend\nr1: divisor\nreturn: (quotient) | (remainder << 32)",
|
|
9068
9279
|
)
|
|
9069
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
|
+
|
|
9070
9314
|
|
|
9071
9315
|
class EuArm9Data:
|
|
9072
9316
|
|