Skip to content

Instantly share code, notes, and snippets.

View cbeust's full-sized avatar

Cedric Beust cbeust

View GitHub Profile
struct Opcode {
opcode: u8,
name: &'static str,
size: usize,
}
let mut result: HashMap<u8, Opcode> = HashMap::new();
for op in ops {
result.insert(op.0, Opcode::new(op.0, op.1, op.2));
}
@cbeust
cbeust / enum.rs
Last active October 5, 2021 03:53
pub const BRK: u8 = 0x00;
pub const JSR: u8 = 0x20;
// ...
// opcode hex, opcode name, instruction size
let ops: Vec<(u8, &str, usize)> = vec![
(BRK, "BRK", 1),
(JSR, "JSR", 3),
// ...
];
@cbeust
cbeust / enum.kt
Last active October 5, 2021 03:57
enum class Opcode(val opcode: Int, val opName: String, val size: Int) {
BRK(0x00, "BRK", 1),
JSR(0x20, "JSR", 3)
//
}
@cbeust
cbeust / mix.kt
Last active October 5, 2021 03:51
Mixing default and named parameters
// skip 'visible', use its default value
val w = Window(0, 0, blackAndWhite = true)
val w = Window(0, 0, visible = false, blackAndWhite = true)
val w = Window(0, 0, false, true) // mmmh, which boolean means what?
class Window(x: Int, y: Int, visible: Boolean = false, blackAndWhite: Boolean = false)
class Window(x: Int, y: Int, visible: Boolean = false)
struct Window {
x: u16,
y: u16,
visible: bool,
}
impl Window {
fn new_with_visibility(x: u16, y: u16, visible: bool) -> Self {
Window {
x, y, visible
;CHROME REVENGE by Abaddon
;the DOS 1k intro for Assembly 2020
;code: TomCat
;music: ern0
maxvol EQU 0
times EQU 0
Divider EQU 68