Annotation of researchv10dc/man/mana/redcode.6, revision 1.1

1.1     ! root        1: .TH REDCODE 6 5/20/84
        !             2: .CM 3
        !             3: .SH NAME
        !             4: redcode \- assembler for mars game
        !             5: .SH SYNOPSIS
        !             6: .I redcode
        !             7: .I file ...
        !             8: .SH DESCRIPTION
        !             9: .I Redcode
        !            10: is an assembler for the
        !            11: assembly language given by Kee Dewdney in the
        !            12: `Computer Recreations',
        !            13: .I Scientific American,
        !            14: May, 1984.
        !            15: The command line lists of source file names ending in
        !            16: .LR .red .
        !            17: They are assembled into corresponding
        !            18: object files with names ending in
        !            19: .LR .obj .
        !            20: .PP
        !            21: A source file consists of a
        !            22: .L name
        !            23: directive giving the program's name,
        !            24: then any number of program and data statements,
        !            25: then an
        !            26: .L end
        !            27: directive that gives the starting location of the program.
        !            28: Statements have the following syntax:
        !            29: .IP
        !            30: [label] opcode arg1 [arg2] [; comment]
        !            31: .PP
        !            32: There are three addressing modes;
        !            33: all address calculations are done modulo 8000.
        !            34: .LP
        !            35: .nf
        !            36: .I
        !            37: Syntax         Meaning
        !            38: #[0-9]+                immediate
        !            39: [0-9]+         relative
        !            40: @[0-9]+                indirect, relative
        !            41: .PP
        !            42: The following opcodes are implemented, along with the corresponding
        !            43: semantics specified in pseudo-C:
        !            44: .PP
        !            45: .nf
        !            46: .I
        !            47: Instruction    Mnem    Opcode  Args    Explanation
        !            48: Move           mov     1       A B     B=A
        !            49: Add            add     2       A B     B+=A
        !            50: Subtract       sub     3       A B     B-=A
        !            51: Jump           jmp     4       A       PC=A
        !            52: Jump if zero   jmz     5       A B     PC=(B==0)?A:PC+1
        !            53: Jump if greater        jmg     6       A B     PC=(B<4000)?A:PC+1
        !            54: Dec, Jmp if 0  djz     7       A B     PC=(--B==0)?A:PC+1
        !            55: Compare                cmp     8       A B     PC=(A==B)?PC+1:PC+2
        !            56: .PP
        !            57: The following non-executable directives may be used
        !            58: to reserve and initialize data space:
        !            59: .PP
        !            60: .I
        !            61: Directive      Mnem    Arg     Explanation
        !            62: Buffer space   bss     n       Reserve n words
        !            63: Data           data    A       Initialize 1 word
        !            64: Name           name    't'     Name of program
        !            65: End            end     start   Specify starting location
        !            66: .PP
        !            67: The program was written by Paul Milazzo at Rice.
        !            68: For documentation on the object code format, see
        !            69: .IR mars (6).
        !            70: .SH EXAMPLES
        !            71: .EX
        !            72:        name    'dwarf'
        !            73: site   data    -1              ; address of last 0 'bomb'
        !            74: start  add     #5      site    ; move site forward
        !            75:        mov     #0      @site   ; write 0 'bomb'
        !            76:        jmp     start           ; loop
        !            77:        end     start
        !            78: .EE
        !            79: .SH SEE ALSO
        !            80: .IR mars (6)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.