From 0579b280d53d0e3aee5933ad48c76aabd15de1a7 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 13 Mar 2025 09:39:59 -0300 Subject: [PATCH 1/2] remove - from syntax --- site/topics/programming/assembler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/site/topics/programming/assembler.py b/site/topics/programming/assembler.py index 4c63f969..5f61bdab 100644 --- a/site/topics/programming/assembler.py +++ b/site/topics/programming/assembler.py @@ -36,9 +36,9 @@ VALID_SYNTAX = { r"NOOP", r"LDAR\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", - r"LDAD\s+-?\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", + r"LDAD\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", r"LDBR\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", - r"LDBD\s+-?\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", + r"LDBD\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", r"SAVA\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", r"SAVB\s+\b(0x[0-9a-fA-F]+|0b[0-1]+|[0-9]+)\b", r"ADAB", From 086ab5b6af9c240686d42501480197b99cb6cd25 Mon Sep 17 00:00:00 2001 From: James Hughes Date: Thu, 13 Mar 2025 10:13:34 -0300 Subject: [PATCH 2/2] add warning --- ...truction_register_operand_padded_zeros.png | Bin 0 -> 14977 bytes .../control-logic/instructions-microcodes.rst | 28 ++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 site/topics/control-logic/instruction_register_operand_padded_zeros.png diff --git a/site/topics/control-logic/instruction_register_operand_padded_zeros.png b/site/topics/control-logic/instruction_register_operand_padded_zeros.png new file mode 100644 index 0000000000000000000000000000000000000000..9eeda4029599764295a29780fe37dbd91855908f GIT binary patch literal 14977 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