summaryrefslogtreecommitdiff
path: root/v2.0/source/PCLOCK.ASM
blob: 6018bfd6481eec8ea27fccd9744cab77495342fa (plain) (blame)
ofshex dumpascii
0000 20 20 20 20 20 20 20 20 54 49 54 4c 45 20 20 20 43 4c 4f 43 4b 20 2d 20 45 6e 61 62 6c 65 2f 64 ........TITLE...CLOCK.-.Enable/d
0020 69 73 61 62 6c 65 20 63 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 74 73 0d 0a 0d 0a 3b 20 22 43 4c isable.clock.interrupts....;."CL
0040 4f 43 4b 22 20 6d 6f 64 75 6c 65 20 66 6f 72 20 4d 53 2d 44 4f 53 20 70 72 6f 66 69 6c 65 20 70 OCK".module.for.MS-DOS.profile.p
0060 72 6f 67 72 61 6d 2e 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 0d 0a 3b 20 20 rogram..This.implements.the..;..
0080 20 20 20 20 20 50 52 4f 46 49 4c 20 70 72 6f 67 72 61 6d 20 6f 6e 20 74 68 65 20 53 65 61 74 74 .....PROFIL.program.on.the.Seatt
00a0 6c 65 20 43 6f 6d 70 75 74 65 72 20 50 72 6f 64 75 63 74 73 20 38 30 38 36 20 73 79 73 74 65 6d le.Computer.Products.8086.system
00c0 0d 0a 0d 0a 49 4e 54 53 45 47 20 20 53 45 47 4d 45 4e 54 20 41 54 20 30 0d 0a 20 20 20 20 20 20 ....INTSEG..SEGMENT.AT.0........
00e0 20 20 4f 52 47 20 20 20 20 20 36 30 48 2b 37 2a 34 0d 0a 49 4e 54 56 45 43 54 4f 52 20 4c 41 42 ..ORG.....60H+7*4..INTVECTOR.LAB
0100 45 4c 20 57 4f 52 44 0d 0a 49 4e 54 53 45 47 20 20 45 4e 44 53 0d 0a 0d 0a 43 4f 44 45 20 20 20 EL.WORD..INTSEG..ENDS....CODE...
0120 20 53 45 47 4d 45 4e 54 20 42 59 54 45 20 50 55 42 4c 49 43 0d 0a 0d 0a 20 20 20 20 20 20 20 20 .SEGMENT.BYTE.PUBLIC............
0140 50 55 42 4c 49 43 20 20 43 4c 4f 43 4b 4f 4e 2c 43 4c 4f 43 4b 4f 46 46 2c 4c 45 41 56 45 5f 49 PUBLIC..CLOCKON,CLOCKOFF,LEAVE_I
0160 4e 54 0d 0a 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 43 4c 4b 5f 49 4e 54 45 52 3a NT............EXTRN...CLK_INTER:
0180 4e 45 41 52 0d 0a 0d 0a 20 20 20 20 20 20 20 20 41 53 53 55 4d 45 20 20 43 53 3a 43 4f 44 45 2c NEAR............ASSUME..CS:CODE,
01a0 20 44 53 3a 43 4f 44 45 2c 20 45 53 3a 43 4f 44 45 0d 0a 0d 0a 42 41 53 45 3d 20 20 20 20 20 20 .DS:CODE,.ES:CODE....BASE=......
01c0 20 20 20 20 20 30 46 30 48 0d 0a 53 54 43 53 54 41 54 3d 20 20 20 20 20 20 20 20 42 41 53 45 2b .....0F0H..STCSTAT=........BASE+
01e0 35 0d 0a 53 54 43 44 41 54 41 3d 20 20 20 20 20 20 20 20 42 41 53 45 2b 34 0d 0a 53 54 43 43 4f 5..STCDATA=........BASE+4..STCCO
0200 4d 4e 44 3d 20 20 20 20 20 20 20 42 41 53 45 2b 35 0d 0a 53 4c 41 56 45 43 4f 4d 3d 20 20 20 20 MND=.......BASE+5..SLAVECOM=....
0220 20 20 20 42 41 53 45 2b 32 0d 0a 4d 41 53 54 43 4f 4d 3d 20 20 20 20 20 20 20 20 42 41 53 45 2b ...BASE+2..MASTCOM=........BASE+
0240 30 0d 0a 53 4c 41 56 45 4d 41 53 4b 3d 20 20 20 20 20 20 42 41 53 45 2b 33 0d 0a 0d 0a 3b 54 68 0..SLAVEMASK=......BASE+3....;Th
0260 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 6f 64 65 20 73 65 6c 65 63 74 73 20 46 32 20 61 73 20 63 e.following.mode.selects.F2.as.c
0280 6f 75 6e 74 65 72 20 73 6f 75 72 63 65 20 28 34 30 30 20 4b 48 7a 29 2c 20 72 65 6c 6f 61 64 20 ounter.source.(400.KHz),.reload.
02a0 66 72 6f 6d 0d 0a 3b 6c 6f 61 64 2c 20 63 6f 75 6e 74 20 75 70 20 6f 6e 63 65 20 69 6e 20 62 69 from..;load,.count.up.once.in.bi
02c0 6e 61 72 79 20 77 69 74 68 20 54 43 20 74 6f 67 67 6c 65 2e 0d 0a 4d 4f 44 45 3d 20 20 20 20 20 nary.with.TC.toggle...MODE=.....
02e0 20 20 20 20 20 20 30 43 30 32 48 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ......0C02H....;****************
0300 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
0320 0d 0a 3b 45 6e 61 62 6c 65 20 63 6c 6f 63 6b 20 61 6e 64 20 73 74 61 72 74 20 67 65 6e 65 72 61 ..;Enable.clock.and.start.genera
0340 74 69 6e 67 20 63 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 74 2e 0d 0a 3b 20 20 20 20 20 20 20 43 ting.clock.interrupt...;.......C
0360 6c 6f 63 6b 20 69 6e 74 65 72 76 61 6c 20 69 6e 20 6d 69 63 72 6f 20 73 65 63 6f 6e 64 73 20 70 lock.interval.in.micro.seconds.p
0380 61 73 73 65 64 20 69 6e 20 44 58 0d 0a 43 4c 4f 43 4b 4f 4e 20 50 52 4f 43 20 20 20 20 4e 45 41 assed.in.DX..CLOCKON.PROC....NEA
03a0 52 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 34 20 20 20 20 20 20 20 20 20 R..........MOV.....AL,4.........
03c0 20 20 20 20 20 20 20 20 20 20 20 3b 53 65 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6d 6f 64 65 20 ...........;Set.pointer.to.mode.
03e0 72 65 67 69 73 74 65 72 20 34 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 43 register.4..........OUT.....STCC
0400 4f 4d 4e 44 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 4d 4f 44 45 OMND,AL..........MOV.....AL,MODE
0420 20 41 4e 44 20 30 46 46 48 20 20 20 20 20 20 20 20 3b 4c 6f 77 20 62 79 74 65 20 6f 66 20 6d 6f .AND.0FFH........;Low.byte.of.mo
0440 64 65 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 44 41 54 41 2c 41 4c 0d 0a de..........OUT.....STCDATA,AL..
0460 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 4d 4f 44 45 2f 31 30 30 48 20 20 20 20 ........MOV.....AL,MODE/100H....
0480 20 20 20 20 20 20 20 20 3b 48 69 67 68 20 62 79 74 65 20 6f 66 20 6d 6f 64 65 0d 0a 20 20 20 20 ........;High.byte.of.mode......
04a0 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 44 41 54 41 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 ....OUT.....STCDATA,AL..........
04c0 4d 4f 56 20 20 20 20 20 41 4c 2c 30 43 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MOV.....AL,0CH..................
04e0 3b 43 6f 75 6e 74 65 72 20 34 20 6c 6f 61 64 20 72 65 67 69 73 74 65 72 0d 0a 20 20 20 20 20 20 ;Counter.4.load.register........
0500 20 20 4f 55 54 20 20 20 20 20 53 54 43 43 4f 4d 4e 44 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 58 ..OUT.....STCCOMND,AL..........X
0520 43 48 47 20 20 20 20 41 58 2c 44 58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b CHG....AX,DX...................;
0540 43 6f 75 6e 74 20 69 6e 20 6d 69 63 72 6f 73 65 63 6f 6e 64 73 0d 0a 20 20 20 20 20 20 20 20 58 Count.in.microseconds..........X
0560 4f 52 20 20 20 20 20 44 58 2c 44 58 0d 0a 20 20 20 20 20 20 20 20 53 48 4c 20 20 20 20 20 41 58 OR.....DX,DX..........SHL.....AX
0580 2c 31 0d 0a 20 20 20 20 20 20 20 20 52 43 4c 20 20 20 20 20 44 58 2c 31 20 20 20 20 20 20 20 20 ,1..........RCL.....DX,1........
05a0 20 20 20 20 20 20 20 20 20 20 20 20 3b 43 6f 75 6e 74 20 69 6e 20 44 58 3a 41 58 20 74 69 6d 65 ............;Count.in.DX:AX.time
05c0 73 20 32 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 42 58 2c 35 0d 0a 20 20 20 20 20 s.2..........MOV.....BX,5.......
05e0 20 20 20 44 49 56 20 20 20 20 20 42 58 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...DIV.....BX...................
0600 20 20 20 3b 41 58 3d 43 6f 75 6e 74 2f 32 2e 35 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 ...;AX=Count/2.5..........OUT...
0620 20 20 53 54 43 44 41 54 41 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c ..STCDATA,AL..........MOV.....AL
0640 2c 41 48 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 44 41 54 41 2c 41 4c 20 ,AH..........OUT.....STCDATA,AL.
0660 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 53 65 74 20 74 68 65 20 6c 6f 61 64 20 72 65 67 69 73 .............;Set.the.load.regis
0680 74 65 72 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 30 45 34 48 20 20 20 20 ter..........MOV.....AL,0E4H....
06a0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 43 6c 65 61 72 20 6f 75 74 70 75 74 20 34 0d 0a 20 20 .............;Clear.output.4....
06c0 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 43 4f 4d 4e 44 2c 41 4c 0d 0a 0d 0a 20 20 20 ......OUT.....STCCOMND,AL.......
06e0 20 20 20 20 20 41 53 53 55 4d 45 20 20 44 53 3a 49 4e 54 53 45 47 0d 0a 0d 0a 20 20 20 20 20 20 .....ASSUME..DS:INTSEG..........
0700 20 20 50 55 53 48 20 20 20 20 44 53 0d 0a 20 20 20 20 20 20 20 20 58 4f 52 20 20 20 20 20 41 58 ..PUSH....DS..........XOR.....AX
0720 2c 41 58 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 53 2c 41 58 0d 0a 3b 53 65 74 ,AX..........MOV.....DS,AX..;Set
0740 20 74 68 65 20 63 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 74 0d 0a 20 20 20 20 20 20 20 20 4d 4f .the.clock.interrupt..........MO
0760 56 20 20 20 20 20 49 4e 54 56 45 43 54 4f 52 2c 4f 46 46 53 45 54 20 43 4c 4b 5f 49 4e 54 45 52 V.....INTVECTOR,OFFSET.CLK_INTER
0780 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 49 4e 54 56 45 43 54 4f 52 2b 32 2c 43 53 ..........MOV.....INTVECTOR+2,CS
07a0 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 44 53 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ..........POP.....DS............
07c0 41 53 53 55 4d 45 20 20 44 53 3a 43 4f 44 45 0d 0a 0d 0a 20 20 20 20 20 20 20 20 49 4e 20 20 20 ASSUME..DS:CODE............IN...
07e0 20 20 20 41 4c 2c 53 4c 41 56 45 4d 41 53 4b 0d 0a 20 20 20 20 20 20 20 20 41 4e 44 20 20 20 20 ...AL,SLAVEMASK..........AND....
0800 20 41 4c 2c 37 46 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 45 6e 61 62 6c 65 .AL,7FH..................;Enable
0820 20 63 6f 75 6e 74 65 72 20 34 20 69 6e 74 65 72 72 75 70 74 0d 0a 20 20 20 20 20 20 20 20 4f 55 .counter.4.interrupt..........OU
0840 54 20 20 20 20 20 53 4c 41 56 45 4d 41 53 4b 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 T.....SLAVEMASK,AL..........MOV.
0860 20 20 20 20 41 4c 2c 36 38 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 4c 6f 61 ....AL,68H..................;Loa
0880 64 20 61 6e 64 20 61 72 6d 20 63 6f 75 6e 74 65 72 20 34 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 d.and.arm.counter.4..........OUT
08a0 20 20 20 20 20 53 54 43 43 4f 4d 4e 44 2c 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 4c 65 .....STCCOMND,AL.............;Le
08c0 74 20 68 65 72 20 72 69 70 21 0d 0a 20 20 20 20 20 20 20 20 52 45 54 0d 0a 43 4c 4f 43 4b 4f 4e t.her.rip!..........RET..CLOCKON
08e0 20 45 4e 44 50 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .ENDP....;**********************
0900 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 44 69 73 **************************..;Dis
0920 61 62 6c 65 20 63 6c 6f 63 6b 20 61 6e 64 20 63 6c 6f 63 6b 20 69 6e 74 65 72 72 75 70 74 0d 0a able.clock.and.clock.interrupt..
0940 43 4c 4f 43 4b 4f 46 46 20 50 52 4f 43 20 20 20 4e 45 41 52 0d 0a 20 20 20 20 20 20 20 20 49 4e CLOCKOFF.PROC...NEAR..........IN
0960 20 20 20 20 20 20 41 4c 2c 53 4c 41 56 45 4d 41 53 4b 0d 0a 20 20 20 20 20 20 20 20 4f 52 20 20 ......AL,SLAVEMASK..........OR..
0980 20 20 20 20 41 4c 2c 38 30 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 54 75 72 ....AL,80H..................;Tur
09a0 6e 20 6f 66 66 20 63 6f 75 6e 74 65 72 20 34 20 69 6e 74 65 72 72 75 70 74 0d 0a 20 20 20 20 20 n.off.counter.4.interrupt.......
09c0 20 20 20 4f 55 54 20 20 20 20 20 53 4c 41 56 45 4d 41 53 4b 2c 41 4c 0d 0a 20 20 20 20 20 20 20 ...OUT.....SLAVEMASK,AL.........
09e0 20 52 45 54 0d 0a 43 4c 4f 43 4b 4f 46 46 20 45 4e 44 50 0d 0a 0d 0a 0d 0a 3b 2a 2a 2a 2a 2a 2a .RET..CLOCKOFF.ENDP......;******
0a00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ********************************
0a20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 3b 54 68 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 6a 75 6d **********..;This.routine.is.jum
0a40 70 65 64 20 74 6f 20 66 72 6f 6d 20 74 68 65 20 43 4c 4b 5f 49 4e 54 45 52 0d 0a 3b 20 20 20 20 ped.to.from.the.CLK_INTER..;....
0a60 20 20 20 72 6f 75 74 69 6e 65 20 74 6f 20 70 65 72 66 6f 72 6d 20 61 6e 64 20 73 74 65 70 73 20 ...routine.to.perform.and.steps.
0a80 74 6f 20 72 65 73 65 74 20 74 68 65 20 69 6e 74 65 72 72 75 70 74 0d 0a 4c 45 41 56 45 5f 49 4e to.reset.the.interrupt..LEAVE_IN
0aa0 54 3a 0d 0a 20 20 20 20 20 20 20 20 50 55 53 48 20 20 20 20 41 58 0d 0a 20 20 20 20 20 20 20 20 T:..........PUSH....AX..........
0ac0 4d 4f 56 20 20 20 20 20 41 4c 2c 30 45 34 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 MOV.....AL,0E4H.................
0ae0 3b 43 6c 65 61 72 20 6f 75 74 70 75 74 20 34 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 ;Clear.output.4..........OUT....
0b00 20 53 54 43 43 4f 4d 4e 44 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c .STCCOMND,AL..........MOV.....AL
0b20 2c 32 30 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 45 6e 64 2d 6f 66 2d 69 6e ,20H..................;End-of-in
0b40 74 65 72 72 75 70 74 20 63 6f 6d 6d 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 terrupt.command..........OUT....
0b60 20 53 4c 41 56 45 43 4f 4d 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 4d 41 .SLAVECOM,AL..........OUT.....MA
0b80 53 54 43 4f 4d 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 41 4c 2c 36 38 48 STCOM,AL..........MOV.....AL,68H
0ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 4c 6f 61 64 20 61 6e 64 20 61 72 6d 20 ..................;Load.and.arm.
0bc0 63 6f 75 6e 74 65 72 20 34 0d 0a 20 20 20 20 20 20 20 20 4f 55 54 20 20 20 20 20 53 54 43 43 4f counter.4..........OUT.....STCCO
0be0 4d 4e 44 2c 41 4c 0d 0a 20 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 41 58 0d 0a 20 20 20 20 MND,AL..........POP.....AX......
0c00 20 20 20 20 49 52 45 54 0d 0a 0d 0a 43 4f 44 45 20 20 20 20 45 4e 44 53 0d 0a 20 20 20 20 20 20 ....IRET....CODE....ENDS........
0c20 20 20 45 4e 44 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..END...........................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................