annotate level2/modules/kernel/fldabx.asm @ 3278:ea1afb494127

defs: Add Bt.Sec for atari and corsham
author Tormod Volden <debian.tormod@gmail.com>
date Sat, 07 Mar 2020 23:52:40 +0100
parents 18306d646f71
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1345
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
1 **************************************************
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
2 * System Call: F$LDABX
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
3 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
4 * Function: Load A from 0,X in task B
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
5 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
6 * Input: B = Task number
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
7 * X = Data pointer
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
8 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
9 * Output: A = Data byte at 0,x in task's address space
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
10 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
11 * Error: CC = C bit set; B = error code
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
12 *
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
13 FLDABX ldb R$B,u Get task # to get byte from
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
14 ldx R$X,u Get offset into task's DAT image to get byte from
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
15
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
16 * Load a byte from another task
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
17 * Entry: B=Task #
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
18 * X=Pointer to data
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
19 * Exit : B=Byte from other task
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
20 L0C40 pshs cc,a,x,u
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
21 bsr L0BF5 Calculate offset into DAT image (fmove.asm)
3170
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
22 ldd a,u [NAC HACK 2017Jan25] why ldd when a is never used??
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
23 orcc #IntMasks
3170
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
24 IFNE mc09
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
25 lda <D.TINIT Current MMU mask - selects block 0
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
26 sta >MMUADR Select block 0
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
27
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
28 stb >MMUDAT Map selected block into $0000-$1FFF
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
29 ldb ,x
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
30 clr >MMUDAT Restore mapping at $0000-$1FFF
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
31 ELSE
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
32 stb >DAT.Regs Map block into $0000-$1FFF
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
33 ldb ,x
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
34 clr >DAT.Regs Restore mapping at $0000-$1FFF
3170
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
35 ENDIF
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
36 puls cc,a,x,u
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
37
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
38 stb R$A,u Save into caller's A & return
3123
039ddb7c8ad7 l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents: 1345
diff changeset
39 clrb set to no errors
039ddb7c8ad7 l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents: 1345
diff changeset
40 rts
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
41
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
42 * Get pointer to task DAT image
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
43 * Entry: B=Task #
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
44 * Exit : U=Pointer to task image
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
45 *L0C09 ldu <D.TskIPt get pointer to task image table
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
46 * lslb multiply task # by 2
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
47 * ldu b,u get pointer to task image (doesn't affect carry)
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
48 * rts restore & return
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
49
1345
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
50
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
51 **************************************************
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
52 * System Call: F$STABX
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
53 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
54 * Function: Store A at 0,X in task B
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
55 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
56 * Input: A = Data byte to store in task's address space
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
57 * B = Task number
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
58 * X = Logical address in task's address space
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
59 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
60 * Output: None
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
61 *
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
62 * Error: CC = C bit set; B = error code
1da8ab9ba433 Added consistent comments to each system call
boisy
parents: 1241
diff changeset
63 *
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
64 FSTABX ldd R$D,u
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
65 ldx R$X,u
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
66
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
67 * Store a byte in another task
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
68 * Entry: A=Byte to store
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
69 * B=Task #
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
70 * X=Pointer to data
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
71 L0C28 andcc #^Carry
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
72 pshs cc,d,x,u
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
73 bsr L0BF5 Calculate offset into DAT image (fmove.asm)
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
74 ldd a,u Get memory block
3170
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
75 IFNE mc09
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
76 orcc #IntMasks
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
77 lda <D.TINIT Current MMU mask - selects block 0
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
78 sta >MMUADR Select block 0
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
79
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
80 lda 1,s Haven't lost stack yet so this is safe
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
81
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
82 stb >MMUDAT Map selected block into $0000-$1FFF
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
83 sta ,x
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
84 clr >MMUDAT Restore mapping at $0000-$1FFF
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
85 ELSE
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
86 lda 1,s
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
87 orcc #IntMasks
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
88 stb >DAT.Regs Map selected block into $0000-$1FFF
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
89 sta ,x
3165
2d22d31bc74b L2 kernel: Minor comment tweaks
Neal Crook <foofoobedoo@gmail.com>
parents: 3123
diff changeset
90 clr >DAT.Regs Restore mapping at $0000-$1FFF
3170
18306d646f71 mc09: First release of working L2 port to MC09 platform
Neal Crook <foofoobedoo@gmail.com>
parents: 3165
diff changeset
91 ENDIF
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
92 puls cc,d,x,u,pc