|
|
1.1 ! root 1: / C library-- versions of long *, /, % for non-floating point hardware ! 2: / also =* =% =/ ! 3: ! 4: .globl lmul, almul ! 5: .globl csv, cret ! 6: ! 7: / ! 8: / called:2(sp):LHS 6(sp):RHS ! 9: lmul: ! 10: jsr r5,csv ! 11: mov 4.(r5),r2 ! 12: mov 6.(r5),r3 ! 13: clr r0 ! 14: clr r1 ! 15: mov $32.,r4 ! 16: 1: ! 17: asl r1 ! 18: rol r0 ! 19: rol r3 ! 20: rol r2 ! 21: bcc 2f ! 22: add 10.(r5),r1 ! 23: adc r0 ! 24: add 8.(r5),r0 ! 25: 2: ! 26: sob r4,1b ! 27: jmp cret ! 28: ! 29: / call is 2(sp):LHSptr 4(sp):RHS ! 30: almul: ! 31: jsr r5,csv ! 32: mov 4.(r5),r3 ! 33: mov (r3)+,r2 ! 34: mov (r3)+,r3 ! 35: clr r0 ! 36: clr r1 ! 37: mov $32.,r4 ! 38: 1: ! 39: asl r1 ! 40: rol r0 ! 41: rol r3 ! 42: rol r2 ! 43: bcc 2f ! 44: add 8.(r5),r1 ! 45: adc r0 ! 46: add 6.(r5),r0 ! 47: 2: ! 48: sob r4,1b ! 49: mov 4.(r5),r3 ! 50: mov r0,(r3)+ ! 51: mov r1,(r3)+ ! 52: jmp cret ! 53: ! 54: .globl ldiv ! 55: .globl lrem ! 56: ! 57: / Both called 2(sp):LHS 6(sp):RHS ! 58: lrem: ! 59: jsr r5,csv ! 60: mov $100,-(sp) ! 61: br 1f ! 62: ! 63: ldiv: ! 64: jsr r5,csv ! 65: clr -(sp) ! 66: 1: ! 67: mov 6.(r5),r3 ! 68: mov 4.(r5),r2 ! 69: bpl 1f ! 70: inc (sp) ! 71: neg r2 ! 72: neg r3 ! 73: sbc r2 ! 74: 1: ! 75: clr r0 ! 76: clr r1 ! 77: tst 8.(r5) ! 78: bge 1f ! 79: neg 8.(r5) ! 80: neg 10.(r5) ! 81: sbc 8.(r5) ! 82: inc (sp) ! 83: 1: ! 84: mov $32.,r4 ! 85: 1: ! 86: ashc $1,r2 ! 87: rol r1 ! 88: rol r0 ! 89: cmp 8.(r5),r0 ! 90: blt 2f ! 91: bgt 3f ! 92: cmp 10.(r5),r1 ! 93: blos 2f ! 94: 3: ! 95: sob r4,1b ! 96: br 1f ! 97: 2: ! 98: sub 10.(r5),r1 ! 99: sbc r0 ! 100: sub 8.(r5),r0 ! 101: inc r3 ! 102: sob r4,1b ! 103: 1: ! 104: bit $100,(sp) ! 105: beq 3f ! 106: tst 4.(r5) ! 107: bpl 1f ! 108: br 2f ! 109: 3: ! 110: mov r2,r0 ! 111: mov r3,r1 ! 112: bit $1,(sp)+ ! 113: beq 1f ! 114: 2: ! 115: neg r0 ! 116: neg r1 ! 117: sbc r0 ! 118: 1: ! 119: jmp cret ! 120: ! 121: .globl alrem, aldiv ! 122: ! 123: / Called 2(sp):LHSptr 4(sp):RHS ! 124: ! 125: alrem: ! 126: jsr r5,csv ! 127: mov $100,-(sp) ! 128: br 1f ! 129: ! 130: aldiv: ! 131: jsr r5,csv ! 132: clr -(sp) ! 133: 1: ! 134: mov 4.(r5),r2 ! 135: mov 2(r2),r3 ! 136: mov (r2),r2 ! 137: bpl 1f ! 138: inc (sp) ! 139: neg r2 ! 140: neg r3 ! 141: sbc r2 ! 142: 1: ! 143: clr r0 ! 144: clr r1 ! 145: tst 6.(r5) ! 146: bge 1f ! 147: neg 6.(r5) ! 148: neg 8.(r5) ! 149: sbc 6.(r5) ! 150: inc (sp) ! 151: 1: ! 152: mov $32.,r4 ! 153: 1: ! 154: ashc $1,r2 ! 155: rol r1 ! 156: rol r0 ! 157: cmp 6.(r5),r0 ! 158: blt 2f ! 159: bgt 3f ! 160: cmp 8.(r5),r1 ! 161: blos 2f ! 162: 3: ! 163: sob r4,1b ! 164: br 1f ! 165: 2: ! 166: sub 8.(r5),r1 ! 167: sbc r0 ! 168: sub 6.(r5),r0 ! 169: inc r3 ! 170: sob r4,1b ! 171: 1: ! 172: mov 4(r5),r4 ! 173: bit $100,(sp) ! 174: beq 3f ! 175: tst (r4) ! 176: bpl 1f ! 177: br 2f ! 178: 3: ! 179: mov r2,r0 ! 180: mov r3,r1 ! 181: bit $1,(sp)+ ! 182: beq 1f ! 183: 2: ! 184: neg r0 ! 185: neg r1 ! 186: sbc r0 ! 187: 1: ! 188: mov r0,(r4)+ ! 189: mov r1,(r4) ! 190: jmp cret
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.