|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.