Annotation of 42BSD/ucb/lisp/franz/68k/emul.s, revision 1.1.1.1

1.1       root        1: | /* Copyright (c) 1982, Regents, University of California */
                      2:        .data
                      3:        .text
                      4:        .globl  _emul
                      5: _emul:
                      6:        link    a6,#-_F1
                      7:        moveml  #_S1,a6@(-_F1)
                      8:        movl    a6@(20),a5
                      9: | A1 = 24
                     10:        clrb    a6@(-9)
                     11:        clrb    a6@(-13)
                     12:        clrl    d7
                     13:        tstl    a6@(8)
                     14:        bge     .L13
                     15:        eorb    #1,a6@(-9)
                     16:        negl    a6@(8)
                     17: .L13:
                     18:        tstl    a6@(12)
                     19:        bge     .L14
                     20:        eorb    #1,a6@(-9)
                     21:        negl    a6@(12)
                     22: .L14:
                     23:        movw    a6@(10),d1
                     24:        mulu    a6@(14),d1
                     25:        movl    d1,a6@(-4)
                     26:        movw    a6@(8),d1
                     27:        mulu    a6@(12),d1
                     28:        movl    d1,a6@(-8)
                     29:        movw    a6@(8),d1
                     30:        mulu    a6@(14),d1
                     31:        addl    d1,a6@(-6)
                     32:        bcc     .L16
                     33:        addqw   #1,a6@(-8)
                     34: .L16:
                     35:        movw    a6@(10),d1
                     36:        mulu    a6@(12),d1
                     37:        addl    d1,a6@(-6)
                     38:        bcc     .L17
                     39:        addqw   #1,a6@(-8)
                     40: .L17:
                     41:        tstb    a6@(-9)
                     42:        beq     .L18
                     43:        negl    a6@(-4)
                     44:        negxl   a6@(-8)
                     45: .L18:
                     46:        tstl    a6@(16)
                     47:        bge     .L20
                     48:        moveq   #-1,d7
                     49: .L20:
                     50:        movl    a6@(-8),d1
                     51:        movl    a6@(16),d0
                     52:        addl    a6@(-4),d0
                     53:        addxl   d1,d7
                     54:        movl    d0,a5@(4)
                     55:        movl    d7,a5@
                     56: .L12:  moveml  a6@(-_F1),#8320
                     57:        unlk    a6
                     58:        rts
                     59: _F1 = 24
                     60: _S1 = 8320
                     61: | M1 = 0
                     62:        .globl  _vlsub
                     63: _vlsub:
                     64:        movl    sp@(4),a0
                     65:        addql   #8,a0
                     66:        movl    sp@(8),a1
                     67:        addql   #8,a1   | this should clear the carry bit.
                     68:        subxl   a1@-,a0@-
                     69:        subxl   a1@-,a0@-
                     70:        rts

unix.superglobalmegacorp.com

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