Skip to content

Commit 77598b3

Browse files
committed
eee
1 parent 7ffdf39 commit 77598b3

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

content/post/multiply.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ tags = ["dev", "gba", "arm"]
88
This blog post assumes a base level of knowledge - comfort in the C programming language and bitwise math is recommended. Also, if you ever have any questions, any at all, while reading this blog post, feel free to reach out to me [here](
99
https://github.com/bmchtech/blog/discussions).
1010

11-
The Gameboy Advance has a pretty neat CPU - the ARM7TDMI. And by neat, I mean a chaotic and
12-
sadistic bundle of questionable design decisions. Seriously, they decided that the program counter should
13-
be a _general purpose register_. Why??? That's like allowing a drunk driver to change their tires while going 30 over the speed limit near a school. I'm not even joking, you can use the program
11+
The Gameboy Advance has a pretty neat CPU - the ARM7TDMI. This CPU is quite complicated - it allows the program counter to be used a _general purpose register_, implying it can be used as the output to any data processing instruction. That's like allowing a drunk driver to change their tires while going 30 over the speed limit near a school. It's a unique feature that can lead to very funny instructions. For example, you can use the program
1412
counter as the output to, say, an XOR instruction. Or an AND instruction.
1513

1614
Or a multiply instruction.

0 commit comments

Comments
 (0)