Age | Commit message (Collapse) | Author |
|
The NOP (no operation) instruction simply tells the processor to do nothing.
This can be useful for various things such as padding, timing, etc.
--
nop
nop
nop
...
--
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implement a hash table used to store a maximum of 128 labels.
This commit adds functions such as label_enter() to add labels
to the table, label_lookup() to lookup labels as well as various
utility functions used internally by the assembler.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces encoding logic for 4 additional instructions:
- MROB (Mask Register Over [byte])
- MROW (Mask Register Over [word])
- MROD (Mask Register Over [dword])
- MROQ (Mask Register Over [qword])
This instruction is used to fill a register with a specific length of
zeros or ones. For example, to fill a register (e.g., x2) with 16-bits
of 1s:
--
!!
!! Clear bits x2[7:0]... Mrrp,,
!! mrow!!
!!
mrow x2, #1
--
Similarly, an operand of zero sets it to zero. For example, to clear an
entire 64-bit register with zeros. Something like this can be done:
--
mroq x1, #0
--
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
A label is like a pin on a map with a number attached to it. OASM keeps track
of a number referred to as the psuedo instruction pointer (PIP). This value is
initially zero by default and is incremented every instruction. The purpose of
this value is to pin a location in the code and mark it to be at a specific address
so that further references to that label would be translated to the previous PIP value
at the time of encountering the label.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|