diff --git a/zk/Machine code.md b/zk/Machine code.md index 6778249..f9a4c46 100644 --- a/zk/Machine code.md +++ b/zk/Machine code.md @@ -24,8 +24,23 @@ This 32bit line of binary has a series of instructions embedded within it. We partition each part of the sequence below, from left to right, mapping it to the instruction: -| Binary sequence | Instruction | Action | -| --------------- | ----------- | ------ | -| 1110 | | | -| 00 | | | -| 1101 | | | +| Binary sequence | Instruction | Action | +| --------------- | -------------------- | ---------------------------------------- | +| 1110 | condition | always execute (unconditional) | +| 00 | -- | -- | +| 1 | immediate | value is in the last 8 bits | +| 1101 | opcode | `mov` : move the value | +| 0 | -- | -- | +| 0000 | -- | -- | +| 0111 | destination register | destinaation is 0111 which corresonds | +| to `r7` | +| 0000 | -- | -- | +| 00000100 | immediate value | the binary representation of decimal '4' | + +- The blank values are also instruction points, they are just not used in this + instruction + +- The instruction should run in all conditions not only under certain + circumstances + +- The immediate bit (`1`) tells us