C:\>asm43 --help Relay Computer Assembler: Ver. Beta 0.4.3 Valid assembler codes: ADD : 22 00100010 AND : 26 00100110 BRA : 60 01100000 BRN : 48 01001000 BRNN : 54 01010100 BRNO : 5c 01011100 BRNP : 50 01010000 BRNZ : 4c 01001100 BRO : 58 01011000 BRP : 44 01000100 BRZ : 40 01000000 DEF : EQU : HALT : 08 00001000 INCB,A : 2c 00101100 INCB,C : 2e 00101110 LDAA : a0 10100000 LDAB : a1 10100001 LDAC : a2 10100010 LDDA : a8 10101000 LDDB : a9 10101001 LDDC : aa 10101010 LDIA : 98 10011000 LDIB : 99 10011001 LDIC : 9a 10011010 MOVA,B : c1 11000001 MOVA,C : c2 11000010 MOVA,MH : c3 11000011 MOVA,ML : c4 11000100 MOVAD+,PC: ec 11101100 MOVB,A : c8 11001000 MOVB,C : ca 11001010 MOVB,MH : cb 11001011 MOVB,ML : cc 11001100 MOVC,A : d0 11010000 MOVC,B : d1 11010001 MOVC,MH : d3 11010011 MOVC,ML : d4 11010100 MOVM,PC : de 11011110 MOVPC,AD+: f5 11110101 MOVZ,A : f8 11111000 MOVZ,B : f9 11111001 MOVZ,C : fa 11111010 MOVZ,MH : fb 11111011 MOVZ,ML : fc 11111100 NOP : 00 00000000 NOTA,B : 29 00101001 NOTA,C : 2a 00101010 ORG : RESET : 04 00000100 ROLB,A : 34 00110100 ROLB,C : 36 00110110 RORA,B : 31 00110001 RORA,C : 32 00110010 STAA : 84 10000100 STAB : 8c 10001100 STAC : 94 10010100 STAZ : bc 10111100 STDA : 85 10000101 STDB : 8d 10001101 STDC : 95 10010101 WAIT : 0c 00001100 \ : Example assembly >>>>> Starting pass1... Constant-> START 05H (5) Constant-> LENG 0AH (10) Constant-> END 0FH (15) Symbol-> STACK 4000H (16384) Symbol-> stkPtr 400AH (16394) Label-> L1: 0040H Label-> RET1: 0062H <<<<< end of pass1 \ This is a comment \ Define a constant EQU START 05H EQU LENG 10 EQU END START+LENG \ Define some variables in RAM 4000: ORG 4000H \Ram at 4000H DEF STACK *10 \Holds 5 addresses DEF stkPtr *2 \Pointer into stack \ Beginning of code \ \ Space prefixed string \ Tab prefixed string \ Space after \ in string 0100: org 0100H 0100: 00 nop 0101: 00 NOP 0102: BC 40 0A STAZ stkPtr 0105: BC 40 0B STAZ stkPtr+1 0108: F8 MOVZ,A 0109: 85 STDA 010A: A8 LDDA 0032: org 50 \using decimal org 0032: 99 FF LDIB FFH 0034: 99 08 LDIB START+3 0036: 98 05 LDIA START 0038: 98 40 LDIA STACK:H 003A: 98 00 LDIA STACK:L 003C: 98 03 LDIA STACK+3:L 003E: 98 40 LDIA STACK+3:H L1: 0040: 22 ADD 0041: D0 MOVC,A 0042: 4C 00 40 BRNZ L1: \ Test trailing comment 0045: 00 nop 0046: 00 nop 0047: A0 00 02 LDAA 0002H \ Address in Hex 004A: A0 00 40 LDAA L1: \ Address as a label 004D: A1 40 0A LDAB stkPtr \ Address as a symbol 0050: 2E INCB,C 0051: 94 40 0A STAC stkPtr 0054: 94 40 0D STAC stkPtr+START-2 0057: A0 40 0B LDAA stkPtr+1 005A: 36 ROLB,C 005B: 98 00 LDIA RET1:H 005D: C3 MOVA,MH 005E: 98 62 LDIA RET1:L 0060: C4 MOVA,ML 0061: DE MOVM,PC RET1: 0062: 08 halt \ End of program Labels ====== 0040: L1: 0062: RET1: Symbols ======= STACK: 4000 stkPtr: 400A Constants ========= START: 05 LENG: 0A END: 0F Hex output ========== 4000: 0100: 00 00 BC 40 0A BC 40 0B 0108: F8 85 A8 0032: 99 FF 99 08 98 05 98 40 003A: 98 00 98 03 98 40 22 D0 0042: 4C 00 40 00 00 A0 00 02 004A: A0 00 40 A1 40 0A 2E 94 0052: 40 0A 94 40 0D A0 40 0B 005A: 36 98 00 C3 98 62 C4 DE 0062: 08 0:Errors C:\>