Additional x86 instructions.

c-declarations
Joshua Potter 2024-04-18 07:42:34 -06:00
parent 3c81017355
commit 5f51ad65f1
5 changed files with 63 additions and 19 deletions

View File

@ -308,7 +308,7 @@
"_journal/2024-03-22.md": "8da8cda07d3de74f7130981a05dce254",
"_journal/2024-03/2024-03-21.md": "cd465f71800b080afa5c6bdc75bf9cd3",
"x86-64/declarations.md": "75bc7857cf2207a40cd7f0ee056af2f2",
"x86-64/instructions.md": "78a8bf469e9ac3404bb2baadba8d45d7",
"x86-64/instructions.md": "61a6b774b1c3a34893268897490dc90b",
"git/refs.md": "954fc69004aa65b358ec5ce07c1435ce",
"set/trees.md": "f0e179ee573a344b6eb7624bdf4f0539",
"_journal/2024-03-24.md": "1974cdb9fc42c3a8bebb8ac76d4b1fd6",
@ -345,7 +345,9 @@
"_journal/2024-04/2024-04-13.md": "92db6bcb162a85fb0a4afd51999b6318",
"_journal/2024-04/2024-04-12.md": "1ec32792d88d470c2d517e5caf64fd6f",
"_journal/2024-04-15.md": "c08bd7258def0c2a6b78039bb4aa03b9",
"_journal/2024-04/2024-04-14.md": "4fad809a30a8e69b615326ca14d0d4be"
"_journal/2024-04/2024-04-14.md": "037c77d0e11f2d58ffee61ea0a1708ab",
"_journal/2024-04-16.md": "0bf6e2f2a3afab73d528cee88c4c1a92",
"_journal/2024-04/2024-04-15.md": "256253b0633d878ca58060162beb7587"
},
"fields_dict": {
"Basic": [

View File

@ -0,0 +1,11 @@
---
title: "2024-04-18"
---
- [x] Anki Flashcards
- [x] KoL
- [ ] Sheet Music (10 min.)
- [ ] Go (1 Life & Death Problem)
- [ ] Korean (Read 1 Story)
- [ ] Interview Prep (1 Practice Problem)
- [ ] Log Work Hours (Max 3 hours)

View File

@ -0,0 +1,15 @@
---
title: "2024-04-16"
---
- [x] Anki Flashcards
- [x] KoL
- [ ] Sheet Music (10 min.)
- [ ] Go (1 Life & Death Problem)
- [ ] Korean (Read 1 Story)
- [ ] Interview Prep (1 Practice Problem)
- [x] Log Work Hours (Max 3 hours)
* Hide-and-seek application
* Spent some time formalizing the schema and cleaning up codebase
* Reviewed next iteration of designs

View File

@ -0,0 +1,16 @@
---
title: "2024-04-17"
---
- [x] Anki Flashcards
- [x] KoL
- [ ] Sheet Music (10 min.)
- [ ] Go (1 Life & Death Problem)
- [ ] Korean (Read 1 Story)
- [x] Interview Prep (1 Practice Problem)
- [x] Log Work Hours (Max 3 hours)
* Django/Typescript assessment for interview.
* Hide-and-seek application
* Rewriting room server concept and adding tests/typespecs while doing so.
* Read chapter 6, "Partitioning", of "Designing Data-Intensive Applications".

View File

@ -143,19 +143,19 @@ There are three types of operands:
* **Registers**. These denote the contents of a register.
* **Memory**. These denote some memory location according to a computed address (i.e. the **effective address**).
| Type | Form | Operand Value | Name |
| --------- | ---------------- | ---------------------------------- | ------------------- |
| Immediate | $\$Imm$ | $Imm$ | Immediate |
| Register | $r_a$ | $R[r_a]$ | Register |
| Memory | $Imm$ | $M[Imm]$ | Absolute |
| Memory | $(r_a)$ | $M[R[r_a]]$ | Indirect |
| Memory | $Imm(r_b)$ | $M[Imm + R[r_b]]$ | Base + displacement |
| Memory | $(r_b, r_i)$ | $M[R[r_b] + R[r_i]]$ | Indexed |
| Memory | $Imm(r_b, r_i)$ | $M[Imm + R[r_b] + R[r_i]]$ | Indexed |
| Memory | $(,r_i,s)$ | $M[R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $Imm(,r_i,s)$ | $M[Imm + R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $(r_b,r_i,s)$ | $M[R[r_b] + R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $Imm(r_b,r_i,s)$ | $M[Imm + R[r_b] + R[r_i] \cdot s]$ | Scaled indexed |
| Type | Form | Operand Value | Name |
| --------- | ----------------- | ---------------------------------- | ------------------- |
| Immediate | $\textdollar Imm$ | $Imm$ | Immediate |
| Register | $r_a$ | $R[r_a]$ | Register |
| Memory | $Imm$ | $M[Imm]$ | Absolute |
| Memory | $(r_a)$ | $M[R[r_a]]$ | Indirect |
| Memory | $Imm(r_b)$ | $M[Imm + R[r_b]]$ | Base + displacement |
| Memory | $(r_b, r_i)$ | $M[R[r_b] + R[r_i]]$ | Indexed |
| Memory | $Imm(r_b, r_i)$ | $M[Imm + R[r_b] + R[r_i]]$ | Indexed |
| Memory | $(,r_i,s)$ | $M[R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $Imm(,r_i,s)$ | $M[Imm + R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $(r_b,r_i,s)$ | $M[R[r_b] + R[r_i] \cdot s]$ | Scaled indexed |
| Memory | $Imm(r_b,r_i,s)$ | $M[Imm + R[r_b] + R[r_i] \cdot s]$ | Scaled indexed |
%%ANKI
Basic
@ -192,7 +192,7 @@ END%%
%%ANKI
Basic
In ATT syntax, how is an immediate written?
Back: Aa a `$` followed by an integer using standard C notation.
Back: As a `$$` followed by an integer using standard C notation.
Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.
<!--ID: 1713212889901-->
END%%
@ -200,14 +200,14 @@ END%%
%%ANKI
Basic
In ATT syntax, how is a register written?
Back: Aa a `%` followed by the name of the register.
Back: As a `%` followed by the name of the register.
Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.
<!--ID: 1713212889905-->
END%%
%%ANKI
Basic
What is the operand value of form $\$Imm$?
What is the operand value of form $\textdollar Imm$?
Back: $Imm$
Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.
<!--ID: 1713212889909-->
@ -312,7 +312,7 @@ END%%
%%ANKI
Basic
What operand form is named "immediate"?
Back: $\$Imm$
Back: $\textdollar Imm$
Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.
<!--ID: 1713213168875-->
END%%