Difference between revisions of "84PCE:Syscalls:021D7C"
From WikiTI
(→Synopsis) |
(→Synopsis) |
||
Line 19: | Line 19: | ||
ld (0D02AD7h), de | ld (0D02AD7h), de | ||
bit 7, b ; This should be d, not b | bit 7, b ; This should be d, not b | ||
− | jr z, | + | jr z, +_ |
dec a | dec a | ||
− | _ | + | _: |
ld (0D02AD9h), a | ld (0D02AD9h), a | ||
ld de, (0D02AD7h) | ld de, (0D02AD7h) | ||
pop af | pop af | ||
ret </nowiki> | ret </nowiki> |
Revision as of 14:02, 1 September 2015
Synopsis
Hypothesized Official Name: SignExtendDE_broken
Syscall Address: 021D7Ch
This is supposed to extend the signed 16-bit DE value to be 24-bit signed.
However, due to what looks like a copy-paste error by TI, this routine is pretty much useless.
It looks like they tried to use code from SignExtendBC, and forgot to change a byte.
Here is what this routine calls, if you can find a particular use for it, go for it.
SignExtendDE_broken: push af xor a ld (0D02AD7h), de bit 7, b ; This should be d, not b jr z, +_ dec a _: ld (0D02AD9h), a ld de, (0D02AD7h) pop af ret