Annotation of researchv10dc/cmd/icon/setup/unixpc/rover.s, revision 1.1

1.1     ! root        1:        file "arith.s"
        !             2: 
        !             3:        global  runerr
        !             4:        global  ckadd
        !             5:        global  cksub
        !             6:        global  ckmul
        !             7: 
        !             8:  text
        !             9:  even
        !            10: ckadd:
        !            11:         link    %a6,&0
        !            12:         mov.l   8(%a6),%d0      # Perform addition
        !            13:         add.l   12(%a6),%d0     #  " " "
        !            14:         #jvs     oflow           # Branch if overflow
        !            15:        trapv                   # This trap untested!!
        !            16:         unlk    %a6
        !            17:         rts                     # Return result in d0
        !            18: 
        !            19:  even
        !            20: cksub:
        !            21:         link    %a6,&0
        !            22:         mov.l   8(%a6),%d0      # Perform subtraction
        !            23:         sub.l   12(%a6),%d0     #  " " "
        !            24:         #jvs     oflow           # Branch if overflow
        !            25:        trapv
        !            26:         unlk    %a6
        !            27:         rts                     # Return result in d0
        !            28: 
        !            29:  even
        !            30: ckmul:
        !            31:         link    %a6,&0
        !            32:         mov.l   8(%a6),%d0     # Perform multiplication
        !            33:         muls.w  12(%a6),%d0    #  " " "
        !            34:        trapv
        !            35:         #jvs     oflow           # Branch if overflow
        !            36:         unlk    %a6
        !            37:         rts                    # Return result in d0
        !            38: 
        !            39: oflow:                         # Got overflow on an operation
        !            40:         pea     0
        !            41:         pea     203
        !            42:         jsr    runerr          # runerr(203,0)

unix.superglobalmegacorp.com

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