diff options
| author | Raymaekers Luca <luca@spacehb.net> | 2025-11-12 18:52:38 +0100 |
|---|---|---|
| committer | Raymaekers Luca <luca@spacehb.net> | 2025-11-12 18:52:38 +0100 |
| commit | d4f6774c172ac1e7c193fc4e89230c873d179c2b (patch) | |
| tree | 049b855ac7b68482dc9e1e35b339f5b4d18d675b /src/sim86/sim86.mdesk | |
| parent | e20d69ffb1f5676bb7960ac4d71c1013e4582149 (diff) | |
checkpoint
Diffstat (limited to 'src/sim86/sim86.mdesk')
| -rw-r--r-- | src/sim86/sim86.mdesk | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/sim86/sim86.mdesk b/src/sim86/sim86.mdesk new file mode 100644 index 0000000..0635110 --- /dev/null +++ b/src/sim86/sim86.mdesk @@ -0,0 +1,32 @@ +@table(name, str) sim86_flags_mapping: +{ + { Carry, "C", } + { Parity, "P", } + { AuxiliaryCarry, "A", } + { Zero, "Z", } + { Sign, "S", } + { Overflow, "O", } + { Interrupt, "I", } + { Direction, "D", } + { Trap, "T", } +} + +@table_gen_enum_flags(sim86_flags_mapping, name) flags_8086 +@table_gen_data(sim86_flags_mapping, `char *`, str) flags_8086_strings + +// TODO: +@table_gen_enum sim86_enum: +{ + @expand(sim86_flags_mapping mapping) + `Sim86_$(mapping.name),` + `Sim86_Count` +} + +@table(mnemonic, encoding, clocks, name) instructions_table: +{ + { mov, [ B:100010, D, W, MOD, REG, RM ], 4, "Register/memory to/from register" } + { mov, [ B:1100011, W, MOD, B:000, RM, ImpD:0, DATA, DATA_IF_W ], 5, "Immediate to register/memory" } + { mov, [ B:1011, W, REG, ImpD:1 ], 3, "Immediate to register" } +} + + |
