_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

WDIV

FILE INFORMATION

FILENAME(S): WDIV

FILE TYPE(S): PRG

FILE SIZE: 604b

FIRST SEEN: 2025-11-30 21:11:34

APPEARS ON: 1 disk(s)

FILE HASH

823ab0f01bdcecd7e58a992e99d7d0fc5409e9491ba7d43ab622cdf74968275f

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
NOG UITZOEKEN WDIV PRG DuncanTwain 4 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 3B 20 57 44 49 56 20 2D  20 31 36 20 42 49 54 20  |; WDIV - 16 BIT |
00000010: 55 4E 53 49 47 4E 45 44  20 44 49 56 49 44 45 0D  |UNSIGNED DIVIDE.|
00000020: 20 44 45 46 20 57 44 49  56 20 53 59 54 4D 50 25  | DEF WDIV SYTMP%|
00000030: 20 2C 20 53 59 50 4E 54  25 20 2C 20 2E 53 59 43  | , SYPNT% , .SYC|
00000040: 4E 54 0D 20 20 49 46 20  53 59 50 4E 54 20 4F 52  |NT.  IF SYPNT OR|
00000050: 20 53 59 50 4E 54 2B 31  20 3D 20 30 20 47 4F 54  | SYPNT+1 = 0 GOT|
00000060: 4F 20 53 59 57 44 45 0D  20 20 4C 44 58 20 23 31  |O SYWDE.  LDX #1|
00000070: 0D 53 59 57 44 31 20 4C  45 54 20 53 59 50 4E 54  |.SYWD1 LET SYPNT|
00000080: 2B 31 20 41 4E 44 20 24  38 30 20 3A 20 42 4E 45  |+1 AND $80 : BNE|
00000090: 20 53 59 57 44 32 0D 20  20 49 4E 58 20 3A 20 41  | SYWD2.  INX : A|
000000A0: 53 4C 20 53 59 50 4E 54  20 3A 20 52 4F 4C 20 53  |SL SYPNT : ROL S|
000000B0: 59 50 4E 54 2B 31 0D 20  20 47 4F 54 4F 20 53 59  |YPNT+1.  GOTO SY|
000000C0: 57 44 31 0D 53 59 57 44  32 20 4C 45 54 20 30 20  |WD1.SYWD2 LET 0 |
000000D0: 2D 3E 20 53 59 54 4D 50  31 20 2D 3E 20 53 59 54  |-> SYTMP1 -> SYT|
000000E0: 4D 50 31 2B 31 0D 53 59  57 44 33 20 4C 45 54 20  |MP1+1.SYWD3 LET |
000000F0: 53 59 54 4D 50 20 2D 20  53 59 50 4E 54 20 3A 20  |SYTMP - SYPNT : |
00000100: 54 41 59 0D 20 20 4C 44  41 20 53 59 54 4D 50 2B  |TAY.  LDA SYTMP+|
00000110: 31 20 3A 20 53 42 43 20  53 59 50 4E 54 2B 31 0D  |1 : SBC SYPNT+1.|
00000120: 20 20 42 43 43 20 53 59  57 44 34 0D 20 20 53 54  |  BCC SYWD4.  ST|
00000130: 41 20 53 59 54 4D 50 2B  31 20 3A 20 54 59 41 20  |A SYTMP+1 : TYA |
00000140: 3A 20 53 54 41 20 53 59  54 4D 50 0D 20 20 53 45  |: STA SYTMP.  SE|
00000150: 43 0D 53 59 57 44 34 20  52 4F 4C 20 53 59 54 4D  |C.SYWD4 ROL SYTM|
00000160: 50 31 20 3A 20 52 4F 4C  20 53 59 54 4D 50 31 2B  |P1 : ROL SYTMP1+|
00000170: 31 0D 20 20 4C 53 52 20  53 59 50 4E 54 2B 31 20  |1.  LSR SYPNT+1 |
00000180: 3A 20 52 4F 52 20 53 59  50 4E 54 0D 20 20 44 45  |: ROR SYPNT.  DE|
00000190: 58 20 3A 20 42 4E 45 20  53 59 57 44 33 0D 53 59  |X : BNE SYWD3.SY|
000001A0: 57 44 35 20 4C 45 54 20  53 59 50 4E 54 20 3D 20  |WD5 LET SYPNT = |
000001B0: 53 59 43 4E 54 0D 20 20  4C 45 54 20 53 59 50 4E  |SYCNT.  LET SYPN|
000001C0: 54 2B 31 20 3D 20 53 59  43 4E 54 2B 31 0D 20 20  |T+1 = SYCNT+1.  |
000001D0: 4C 44 59 20 23 30 20 3A  20 4C 45 54 20 28 53 59  |LDY #0 : LET (SY|
000001E0: 50 4E 54 29 2C 59 20 3D  20 53 59 54 4D 50 31 0D  |PNT),Y = SYTMP1.|
000001F0: 20 20 49 4E 59 20 3A 20  4C 45 54 20 28 53 59 50  |  INY : LET (SYP|
00000200: 4E 54 29 2C 59 20 3D 20  53 59 54 4D 50 31 2B 31  |NT),Y = SYTMP1+1|
00000210: 0D 20 20 52 45 54 55 52  4E 0D 53 59 57 44 45 20  |.  RETURN.SYWDE |
00000220: 4C 45 54 20 24 46 46 20  2D 3E 20 53 59 54 4D 50  |LET $FF -> SYTMP|
00000230: 31 20 2D 3E 20 53 59 54  4D 50 31 2B 31 0D 20 20  |1 -> SYTMP1+1.  |
00000240: 47 4F 54 4F 20 53 59 57  44 35 0D 20 45 4E 44 44  |GOTO SYWD5. ENDD|
00000250: 45 46 20 57 44 49 56 0D  00 00 00 FF              |EF WDIV.....    |
; WDIV - 16 BIT UNSIGNED DIVIDE. DEF WDI
V SYTMP% , SYPNT% , .SYCNT.  IF SYPNT OR
 SYPNT+1 = 0 GOTO SYWDE.  LDX #1.SYWD1 L
ET SYPNT+1 AND $80 : BNE SYWD2.  INX : A
SL SYPNT : ROL SYPNT+1.  GOTO SYWD1.SYWD
2 LET 0 -> SYTMP1 -> SYTMP1+1.SYWD3 LET 
SYTMP - SYPNT : TAY.  LDA SYTMP+1 : SBC 
SYPNT+1.  BCC SYWD4.  STA SYTMP+1 : TYA 
: STA SYTMP.  SEC.SYWD4 ROL SYTMP1 : ROL
 SYTMP1+1.  LSR SYPNT+1 : ROR SYPNT.  DE
X : BNE SYWD3.SYWD5 LET SYPNT = SYCNT.  
LET SYPNT+1 = SYCNT+1.  LDY #0 : LET (SY
PNT),Y = SYTMP1.  INY : LET (SYPNT),Y = 
SYTMP1+1.  RETURN.SYWDE LET $FF -> SYTMP
1 -> SYTMP1+1.  GOTO SYWD5. ENDDEF WDIV.
....
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL