summaryrefslogtreecommitdiff
path: root/posts
diff options
context:
space:
mode:
authorAlexis Hovorka <[email protected]>2024-08-17 21:05:12 -0600
committerAlexis Hovorka <[email protected]>2024-08-17 21:05:12 -0600
commit03f4375e7223434aa94b62a06036b85b69fe3822 (patch)
tree00a455e844cdf2c0d9e2f423ef9d72551d306854 /posts
parent3712c0af48b9cc68fe52729cb7aa24006e35cb5d (diff)
[fix] Add reference to bcompiler
Diffstat (limited to 'posts')
-rw-r--r--posts/20240817-aarch64-bootstrapping-1.md21
1 files changed, 11 insertions, 10 deletions
diff --git a/posts/20240817-aarch64-bootstrapping-1.md b/posts/20240817-aarch64-bootstrapping-1.md
index 34e7b76..9101a6b 100644
--- a/posts/20240817-aarch64-bootstrapping-1.md
+++ b/posts/20240817-aarch64-bootstrapping-1.md
@@ -17,16 +17,17 @@ from scratch.
[^newlaptop]: [MNT Pocket Reform](https://www.crowdsupply.com/mnt/pocket-reform)
Ideally I'd like to have started off by `cat`ting raw hexadecimal into a file
-and building up from there, or something to that effect, but my new laptop uses
-AArch64, also known as Arm64.[^aarch64] That's the instruction set used in most
-smartphones and newer Macs, and as a RISC-ish ISA it's quite a bit cleaner than
-the convoluted mess x86/64 has grown into, but it's also significantly more
-difficult to write by hand. I gave it a good shot, but on top of the
-instruction fields being weirdly aligned and my near-complete inexperience with
-directly using the instruction set, I finally relented when I realized that ELF
-executables have to be little-endian,[^endian] meaning I'd have to write the
-raw, unfamiliar instructions *backwards.*
-
+and building up from there,[^bcompiler] or something to that effect, but my new
+laptop uses AArch64, also known as Arm64.[^aarch64] That's the instruction set
+used in most smartphones and newer Macs, and as a RISC-ish ISA it's quite a bit
+cleaner than the convoluted mess x86/64 has grown into, but it's also
+significantly more difficult to write by hand. I gave it a good shot, but on
+top of the instruction fields being weirdly aligned and my near-complete
+inexperience with directly using the instruction set, I finally relented when I
+realized that ELF executables have to be little-endian,[^endian] meaning I'd
+have to write the raw, unfamiliar instructions *backwards.*
+
+[^bcompiler]: [`bcompiler` --- one of the inspirations for this project](https://github.com/certik/bcompiler)
[^aarch64]: [AArch64 instruction set quick reference sheet](https://courses.cs.washington.edu/courses/cse469/19wi/arm64.pdf)
[^endian]: [Wikipedia: Endianness](https://en.wikipedia.org/wiki/Endianness)