| ofs | hex dump | ascii |
|---|
| 0000 | 20 20 20 20 20 20 20 20 54 49 54 4c 45 20 20 20 44 49 53 4b 43 4f 50 59 20 4d 53 44 4f 53 20 44 | ........TITLE...DISKCOPY.MSDOS.D |
| 0020 | 69 73 6b 20 43 6f 70 69 65 72 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | isk.Copier..;------------------- |
| 0040 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
| 0060 | 2d 2d 2d 2d 2d 2d 2d 0d 0a 3b 0d 0a 3b 20 20 20 20 20 20 20 44 69 73 6b 63 6f 70 79 20 2d 20 50 | -------..;..;.......Diskcopy.-.P |
| 0080 | 72 6f 67 72 61 6d 20 74 6f 20 63 6f 70 79 20 65 6e 74 69 72 65 20 64 69 73 6b 65 74 74 65 73 0d | rogram.to.copy.entire.diskettes. |
| 00a0 | 0a 3b 0d 0a 3b 20 20 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 31 39 38 32 20 62 79 20 4d 69 | .;..;.......Copyright.1982.by.Mi |
| 00c0 | 63 72 6f 73 6f 66 74 20 43 6f 72 70 6f 72 61 74 69 6f 6e 0d 0a 3b 20 20 20 20 20 20 20 57 72 69 | crosoft.Corporation..;.......Wri |
| 00e0 | 74 74 65 6e 20 62 79 20 43 68 72 69 73 20 50 65 74 65 72 73 2c 20 41 75 67 75 73 74 20 31 39 38 | tten.by.Chris.Peters,.August.198 |
| 0100 | 32 0d 0a 3b 0d 0a 3b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | 2..;..;------------------------- |
| 0120 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
| 0140 | 2d 2d 0d 0a 3b 0d 0a 3b 20 52 65 76 20 31 2e 30 30 20 20 20 20 20 20 49 6e 69 74 69 61 6c 20 69 | --..;..;.Rev.1.00......Initial.i |
| 0160 | 6e 73 74 61 6e 63 65 0d 0a 3b 20 52 65 76 20 31 2e 32 30 0d 0a 3b 20 20 20 20 20 20 20 20 20 20 | nstance..;.Rev.1.20..;.......... |
| 0180 | 20 20 20 20 20 52 65 61 64 20 69 6e 20 3e 20 36 34 4b 20 68 75 6e 6b 73 0d 0a 0d 0a 46 41 4c 53 | .....Read.in.>.64K.hunks....FALS |
| 01a0 | 45 20 20 20 45 51 55 20 20 20 20 20 30 0d 0a 54 52 55 45 20 20 20 20 45 51 55 20 20 20 20 20 4e | E...EQU.....0..TRUE....EQU.....N |
| 01c0 | 4f 54 20 46 41 4c 53 45 0d 0a 0d 0a 0d 0a 62 64 6f 73 20 20 20 20 65 71 75 20 20 20 20 20 32 31 | OT.FALSE......bdos....equ.....21 |
| 01e0 | 68 0d 0a 62 6f 6f 74 20 20 20 20 65 71 75 20 20 20 20 20 32 30 68 0d 0a 61 72 65 61 64 20 20 20 | h..boot....equ.....20h..aread... |
| 0200 | 65 71 75 20 20 20 20 20 32 35 68 0d 0a 61 77 72 69 74 65 20 20 65 71 75 20 20 20 20 20 32 36 68 | equ.....25h..awrite..equ.....26h |
| 0220 | 0d 0a 0d 0a 20 20 20 20 20 20 20 20 49 4e 43 4c 55 44 45 20 44 4f 53 53 59 4d 2e 41 53 4d 0d 0a | ............INCLUDE.DOSSYM.ASM.. |
| 0240 | 0d 0a 66 63 62 20 20 20 20 20 65 71 75 20 20 20 20 20 35 63 68 0d 0a 0d 0a 43 4f 44 45 20 20 20 | ..fcb.....equ.....5ch....CODE... |
| 0260 | 20 53 45 47 4d 45 4e 54 20 50 55 42 4c 49 43 0d 0a 43 4f 44 45 20 20 20 20 45 4e 44 53 0d 0a 0d | .SEGMENT.PUBLIC..CODE....ENDS... |
| 0280 | 0a 43 4f 4e 53 54 20 20 20 53 45 47 4d 45 4e 54 20 50 55 42 4c 49 43 20 42 59 54 45 0d 0a 43 4f | .CONST...SEGMENT.PUBLIC.BYTE..CO |
| 02a0 | 4e 53 54 20 20 20 45 4e 44 53 0d 0a 0d 0a 44 41 54 41 20 20 20 20 53 45 47 4d 45 4e 54 20 50 55 | NST...ENDS....DATA....SEGMENT.PU |
| 02c0 | 42 4c 49 43 20 42 59 54 45 0d 0a 44 41 54 41 20 20 20 20 45 4e 44 53 0d 0a 0d 0a 44 47 20 20 20 | BLIC.BYTE..DATA....ENDS....DG... |
| 02e0 | 20 20 20 47 52 4f 55 50 20 20 20 43 4f 44 45 2c 43 4f 4e 53 54 2c 44 41 54 41 0d 0a 0d 0a 43 4f | ...GROUP...CODE,CONST,DATA....CO |
| 0300 | 44 45 20 20 73 65 67 6d 65 6e 74 20 50 55 42 4c 49 43 0d 0a 20 20 20 20 20 20 20 20 61 73 73 75 | DE..segment.PUBLIC..........assu |
| 0320 | 6d 65 20 20 63 73 3a 44 47 2c 64 73 3a 44 47 2c 65 73 3a 44 47 2c 73 73 3a 44 47 0d 0a 0d 0a 20 | me..cs:DG,ds:DG,es:DG,ss:DG..... |
| 0340 | 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 64 73 6b 72 64 3a 4e 45 41 52 2c 64 73 6b 77 72 74 | .......EXTRN...dskrd:NEAR,dskwrt |
| 0360 | 3a 4e 45 41 52 2c 70 72 6f 6d 70 74 79 6e 3a 4e 45 41 52 0d 0a 20 20 20 20 20 20 20 20 50 55 42 | :NEAR,promptyn:NEAR..........PUB |
| 0380 | 4c 49 43 20 20 50 52 49 4e 54 2c 50 43 52 4c 46 2c 41 53 4b 41 4e 4f 54 48 45 52 2c 73 65 63 36 | LIC..PRINT,PCRLF,ASKANOTHER,sec6 |
| 03a0 | 34 6b 2c 73 65 63 73 69 7a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 6f 72 67 20 20 20 20 20 31 30 30 | 4k,secsiz............org.....100 |
| 03c0 | 68 0d 0a 0d 0a 64 69 73 6b 63 6f 70 79 3a 0d 0a 20 20 20 20 20 20 20 20 6a 6d 70 20 20 20 20 20 | h....diskcopy:..........jmp..... |
| 03e0 | 64 69 73 6b 5f 65 6e 74 72 79 0d 0a 0d 0a 48 45 41 44 45 52 20 20 44 42 20 20 20 20 20 20 22 56 | disk_entry....HEADER..DB......"V |
| 0400 | 65 72 73 20 31 2e 32 30 22 0d 0a 0d 0a 73 6f 75 72 63 65 20 20 64 62 20 20 20 20 20 20 30 0d 0a | ers.1.20"....source..db......0.. |
| 0420 | 64 65 73 74 20 20 20 20 64 62 20 20 20 20 20 20 30 0d 0a 63 6f 75 6e 74 20 20 20 64 77 20 20 20 | dest....db......0..count...dw... |
| 0440 | 20 20 20 30 0d 0a 73 74 61 72 74 20 20 20 64 77 20 20 20 20 20 20 30 0d 0a 73 65 63 73 69 7a 20 | ...0..start...dw......0..secsiz. |
| 0460 | 20 64 77 20 20 20 20 20 20 30 0d 0a 70 61 73 73 63 6e 74 20 64 77 20 20 20 20 20 20 30 0d 0a 73 | .dw......0..passcnt.dw......0..s |
| 0480 | 65 63 36 34 6b 20 20 64 77 20 20 20 20 20 20 30 0d 0a 6d 65 64 69 61 20 20 20 64 62 20 20 20 20 | ec64k..dw......0..media...db.... |
| 04a0 | 20 20 30 0d 0a 62 75 66 66 65 72 20 20 64 77 20 20 20 20 20 20 30 0d 0a 62 75 66 73 69 7a 20 20 | ..0..buffer..dw......0..bufsiz.. |
| 04c0 | 64 77 20 20 20 20 20 20 30 0d 0a 0d 0a 70 63 72 6c 66 3a 20 20 6d 6f 76 20 20 20 20 20 64 78 2c | dw......0....pcrlf:..mov.....dx, |
| 04e0 | 4f 46 46 53 45 54 20 44 47 3a 20 63 72 6c 66 0d 0a 70 72 69 6e 74 3a 20 20 6d 6f 76 20 20 20 20 | OFFSET.DG:.crlf..print:..mov.... |
| 0500 | 20 61 68 2c 53 54 44 5f 43 4f 4e 5f 53 54 52 49 4e 47 5f 4f 55 54 50 55 54 0d 0a 20 20 20 20 20 | .ah,STD_CON_STRING_OUTPUT....... |
| 0520 | 20 20 20 69 6e 74 20 20 20 20 20 62 64 6f 73 0d 0a 70 72 65 74 3a 20 20 20 72 65 74 0d 0a 0d 0a | ...int.....bdos..pret:...ret.... |
| 0540 | 67 65 74 6b 65 79 3a 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 6b 65 | getkey:.mov.....dx,OFFSET.DG:.ke |
| 0560 | 79 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 69 6e 74 0d 0a 20 20 20 | ymsg..........call....print..... |
| 0580 | 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 68 2c 31 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....mov.....ah,12.............. |
| 05a0 | 20 20 20 20 20 3b 77 61 69 74 20 66 6f 72 20 6b 65 79 20 70 72 65 73 73 0d 0a 20 20 20 20 20 20 | .....;wait.for.key.press........ |
| 05c0 | 20 20 6d 6f 76 20 20 20 20 20 61 6c 2c 31 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 | ..mov.....al,1..........int..... |
| 05e0 | 32 31 68 0d 0a 20 20 20 20 20 20 20 20 72 65 74 0d 0a 3b 0d 0a 3b 20 72 65 74 75 72 6e 73 20 6e | 21h..........ret..;..;.returns.n |
| 0600 | 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 6f 6e 20 74 68 65 20 64 69 73 6b 20 69 6e 20 | umber.of.sectors.on.the.disk.in. |
| 0620 | 63 78 2c 20 73 65 63 74 6f 72 20 73 69 7a 65 20 69 6e 20 61 78 0d 0a 3b 0d 0a 67 65 74 64 70 62 | cx,.sector.size.in.ax..;..getdpb |
| 0640 | 3a 20 70 75 73 68 20 20 20 20 64 73 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 64 6c | :.push....ds..........inc.....dl |
| 0660 | 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 68 2c 47 45 54 5f 44 50 42 0d 0a 20 20 | ..........mov.....ah,GET_DPB.... |
| 0680 | 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 62 64 6f 73 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 | ......int.....bdos..........mov. |
| 06a0 | 20 20 20 20 61 6c 2c 5b 62 78 2b 64 70 62 5f 63 6c 75 73 74 65 72 5f 6d 61 73 6b 5d 0d 0a 20 20 | ....al,[bx+dpb_cluster_mask].... |
| 06c0 | 20 20 20 20 20 20 63 62 77 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 61 78 0d 0a 20 | ......cbw..........inc.....ax... |
| 06e0 | 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 63 78 2c 5b 62 78 2b 64 70 62 5f 6d 61 78 5f 63 6c | .......mov.....cx,[bx+dpb_max_cl |
| 0700 | 75 73 74 65 72 5d 0d 0a 20 20 20 20 20 20 20 20 64 65 63 20 20 20 20 20 63 78 0d 0a 20 20 20 20 | uster]..........dec.....cx...... |
| 0720 | 20 20 20 20 6d 75 6c 20 20 20 20 20 63 78 0d 0a 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 | ....mul.....cx..........add..... |
| 0740 | 61 78 2c 5b 62 78 2b 64 70 62 5f 66 69 72 73 74 5f 73 65 63 74 6f 72 5d 0d 0a 20 20 20 20 20 20 | ax,[bx+dpb_first_sector]........ |
| 0760 | 20 20 6d 6f 76 20 20 20 20 20 63 78 2c 5b 62 78 2b 64 70 62 5f 73 65 63 74 6f 72 5f 73 69 7a 65 | ..mov.....cx,[bx+dpb_sector_size |
| 0780 | 5d 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 62 6c 2c 5b 62 78 2b 64 70 62 5f 6d 65 | ]..........mov.....bl,[bx+dpb_me |
| 07a0 | 64 69 61 5d 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 64 73 0d 0a 20 20 20 20 20 20 | dia]..........pop.....ds........ |
| 07c0 | 20 20 72 65 74 0d 0a 0d 0a 67 65 74 64 72 76 3a 20 6d 6f 76 20 20 20 20 20 61 6c 2c 5b 62 78 5d | ..ret....getdrv:.mov.....al,[bx] |
| 07e0 | 0d 0a 20 20 20 20 20 20 20 20 64 65 63 20 20 20 20 20 61 6c 0d 0a 20 20 20 20 20 20 20 20 63 6d | ..........dec.....al..........cm |
| 0800 | 70 20 20 20 20 20 61 6c 2c 2d 31 0d 0a 20 20 20 20 20 20 20 20 6a 6e 7a 20 20 20 20 20 67 65 74 | p.....al,-1..........jnz.....get |
| 0820 | 31 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 68 2c 31 39 68 0d 0a 20 20 20 20 20 | 1..........mov.....ah,19h....... |
| 0840 | 20 20 20 69 6e 74 20 20 20 20 20 32 31 68 0d 0a 67 65 74 31 3a 20 20 20 72 65 74 0d 0a 3b 0d 0a | ...int.....21h..get1:...ret..;.. |
| 0860 | 3b 20 73 65 74 20 7a 65 72 6f 20 66 6c 61 67 20 69 66 20 64 72 69 76 65 73 20 74 68 65 20 73 61 | ;.set.zero.flag.if.drives.the.sa |
| 0880 | 6d 65 0d 0a 3b 0d 0a 63 6f 6d 70 61 72 65 3a 70 75 73 68 20 20 20 20 61 78 0d 0a 20 20 20 20 20 | me..;..compare:push....ax....... |
| 08a0 | 20 20 20 6d 6f 76 20 20 20 20 20 61 6c 2c 5b 64 65 73 74 5d 0d 0a 20 20 20 20 20 20 20 20 63 6d | ...mov.....al,[dest]..........cm |
| 08c0 | 70 20 20 20 20 20 61 6c 2c 5b 73 6f 75 72 63 65 5d 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 | p.....al,[source]..........pop.. |
| 08e0 | 20 20 20 61 78 0d 0a 20 20 20 20 20 20 20 20 72 65 74 0d 0a 0d 0a 70 72 69 6e 74 65 72 72 3a 0d | ...ax..........ret....printerr:. |
| 0900 | 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 69 6e 74 0d 0a 20 20 20 20 20 20 20 20 | .........call....print.......... |
| 0920 | 69 6e 74 20 20 20 20 20 62 6f 6f 74 0d 0a 0d 0a 64 69 73 6b 5f 65 6e 74 72 79 3a 0d 0a 20 20 20 | int.....boot....disk_entry:..... |
| 0940 | 20 20 20 20 20 63 6c 69 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 73 65 | .....cli.....................;se |
| 0960 | 74 20 75 70 20 6c 6f 63 61 6c 20 73 74 61 63 6b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | t.up.local.stack..........mov... |
| 0980 | 20 20 73 70 2c 31 30 30 68 0d 0a 20 20 20 20 20 20 20 20 73 74 69 0d 0a 0d 0a 0d 0a 3b 43 6f 64 | ..sp,100h..........sti......;Cod |
| 09a0 | 65 20 74 6f 20 70 72 69 6e 74 20 68 65 61 64 65 72 0d 0a 3b 20 20 20 20 20 20 20 50 55 53 48 20 | e.to.print.header..;.......PUSH. |
| 09c0 | 20 20 20 41 58 0d 0a 3b 20 20 20 20 20 20 20 4d 4f 56 20 20 20 20 20 44 58 2c 4f 46 46 53 45 54 | ...AX..;.......MOV.....DX,OFFSET |
| 09e0 | 20 44 47 3a 20 48 45 41 44 45 52 0d 0a 3b 20 20 20 20 20 20 20 43 41 4c 4c 20 20 20 20 70 72 69 | .DG:.HEADER..;.......CALL....pri |
| 0a00 | 6e 74 0d 0a 3b 20 20 20 20 20 20 20 50 4f 50 20 20 20 20 20 41 58 0d 0a 0d 0a 20 20 20 20 20 20 | nt..;.......POP.....AX.......... |
| 0a20 | 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 64 72 76 65 72 72 31 0d | ..mov.....dx,OFFSET.DG:.drverr1. |
| 0a40 | 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 61 6c 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 | .........inc.....al..........jz. |
| 0a60 | 20 20 20 20 20 70 72 69 6e 74 65 72 72 0d 0a 20 20 20 20 20 20 20 20 69 6e 63 20 20 20 20 20 61 | .....printerr..........inc.....a |
| 0a80 | 68 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 20 20 70 72 69 6e 74 65 72 72 0d 0a 0d 0a 20 | h..........jz......printerr..... |
| 0aa0 | 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 62 78 2c 66 63 62 0d 0a 20 20 20 20 20 20 20 20 63 | .......mov.....bx,fcb..........c |
| 0ac0 | 61 6c 6c 20 20 20 20 67 65 74 64 72 76 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b | all....getdrv..........mov.....[ |
| 0ae0 | 73 6f 75 72 63 65 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 5b 73 72 63 | source],al..........add.....[src |
| 0b00 | 6c 65 74 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 62 78 2c 66 63 62 2b | let],al..........mov.....bx,fcb+ |
| 0b20 | 31 36 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 67 65 74 64 72 76 0d 0a 20 20 20 20 | 16..........call....getdrv...... |
| 0b40 | 20 20 20 20 6d 6f 76 20 20 20 20 20 5b 64 65 73 74 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 61 | ....mov.....[dest],al..........a |
| 0b60 | 64 64 20 20 20 20 20 5b 64 73 74 6c 65 74 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 61 64 64 20 | dd.....[dstlet],al..........add. |
| 0b80 | 20 20 20 20 5b 66 64 73 74 6c 65 74 5d 2c 61 6c 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | ....[fdstlet],al..........mov... |
| 0ba0 | 20 20 61 68 2c 44 49 53 4b 5f 52 45 53 45 54 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 | ..ah,DISK_RESET..........int.... |
| 0bc0 | 20 62 64 6f 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 65 6d 70 74 79 20 | .bdos....................;empty. |
| 0be0 | 62 75 66 66 65 72 20 71 75 65 75 65 0d 0a 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | buffer.queue............mov..... |
| 0c00 | 62 78 2c 4f 46 46 53 45 54 20 44 47 3a 70 72 6f 67 73 69 7a 20 2b 20 31 35 0d 0a 20 20 20 20 20 | bx,OFFSET.DG:progsiz.+.15....... |
| 0c20 | 20 20 20 73 68 72 20 20 20 20 20 62 78 2c 31 0d 0a 20 20 20 20 20 20 20 20 73 68 72 20 20 20 20 | ...shr.....bx,1..........shr.... |
| 0c40 | 20 62 78 2c 31 0d 0a 20 20 20 20 20 20 20 20 73 68 72 20 20 20 20 20 62 78 2c 31 0d 0a 20 20 20 | .bx,1..........shr.....bx,1..... |
| 0c60 | 20 20 20 20 20 73 68 72 20 20 20 20 20 62 78 2c 31 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 | .....shr.....bx,1..........mov.. |
| 0c80 | 20 20 20 61 68 2c 73 65 74 62 6c 6f 63 6b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 | ...ah,setblock..........int..... |
| 0ca0 | 32 31 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 67 69 76 65 20 62 61 | 21h.....................;give.ba |
| 0cc0 | 63 6b 20 65 78 74 72 61 20 6d 65 6d 6f 72 79 0d 0a 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 | ck.extra.memory............mov.. |
| 0ce0 | 20 20 20 62 78 2c 30 46 46 46 46 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 61 73 6b 20 | ...bx,0FFFFh...............;ask. |
| 0d00 | 66 6f 72 20 42 69 67 67 65 73 74 20 68 75 6e 6b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 | for.Biggest.hunk..........mov... |
| 0d20 | 20 20 61 68 2c 61 6c 6c 6f 63 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 32 31 68 0d | ..ah,alloc..........int.....21h. |
| 0d40 | 0a 20 20 20 20 20 20 20 20 6a 6e 63 20 20 20 20 20 67 6f 74 6d 65 6d 0d 0a 20 20 20 20 20 20 20 | .........jnc.....gotmem......... |
| 0d60 | 20 6d 6f 76 20 20 20 20 20 61 68 2c 61 6c 6c 6f 63 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 20 | .mov.....ah,alloc..........int.. |
| 0d80 | 20 20 20 32 31 68 0d 0a 67 6f 74 6d 65 6d 3a 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | ...21h..gotmem:..........mov.... |
| 0da0 | 20 5b 62 75 66 66 65 72 5d 2c 61 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b 62 | .[buffer],ax..........mov.....[b |
| 0dc0 | 75 66 73 69 7a 5d 2c 62 78 0d 0a 0d 0a 63 6f 70 79 61 67 6e 3a 0d 0a 20 20 20 20 20 20 20 20 6d | ufsiz],bx....copyagn:..........m |
| 0de0 | 6f 76 20 20 20 20 20 5b 73 74 61 72 74 5d 2c 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ov.....[start],0...............; |
| 0e00 | 49 6e 69 74 69 61 6c 69 7a 65 20 73 74 61 72 74 20 73 65 63 74 6f 72 0d 0a 20 20 20 20 20 20 20 | Initialize.start.sector......... |
| 0e20 | 20 63 61 6c 6c 20 20 20 20 63 6f 6d 70 61 72 65 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 | .call....compare..........jz.... |
| 0e40 | 20 20 6f 6e 65 64 72 76 31 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 | ..onedrv1..........mov.....dx,OF |
| 0e60 | 46 53 45 54 20 44 47 3a 20 73 72 63 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 | FSET.DG:.srcmsg..........call... |
| 0e80 | 20 70 72 69 6e 74 0d 0a 6f 6e 65 64 72 76 31 3a 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 | .print..onedrv1:mov.....dx,OFFSE |
| 0ea0 | 54 20 44 47 3a 20 66 64 73 74 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 | T.DG:.fdstmsg..........call....p |
| 0ec0 | 72 69 6e 74 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 67 65 74 6b 65 79 0d 0a 0d 0a | rint..........call....getkey.... |
| 0ee0 | 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 6c 2c 5b 64 65 73 74 5d 0d 0a 20 20 20 20 20 | ........mov.....dl,[dest]....... |
| 0f00 | 20 20 20 63 61 6c 6c 20 20 20 20 67 65 74 64 70 62 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 | ...call....getdpb..........mov.. |
| 0f20 | 20 20 20 5b 63 6f 75 6e 74 5d 2c 61 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b | ...[count],ax..........mov.....[ |
| 0f40 | 73 65 63 73 69 7a 5d 2c 63 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b 6d 65 64 | secsiz],cx..........mov.....[med |
| 0f60 | 69 61 5d 2c 62 6c 0d 0a 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 63 6f 6d 70 61 72 | ia],bl............call....compar |
| 0f80 | 65 0d 0a 20 20 20 20 20 20 20 20 6a 6e 7a 20 20 20 20 20 74 77 6f 64 72 76 31 0d 0a 20 20 20 20 | e..........jnz.....twodrv1...... |
| 0fa0 | 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 73 72 63 6d 73 67 | ....mov.....dx,OFFSET.DG:.srcmsg |
| 0fc0 | 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 69 6e 74 0d 0a 20 20 20 20 20 20 20 | ..........call....print......... |
| 0fe0 | 20 63 61 6c 6c 20 20 20 20 67 65 74 6b 65 79 0d 0a 0d 0a 74 77 6f 64 72 76 31 3a 6d 6f 76 20 20 | .call....getkey....twodrv1:mov.. |
| 1000 | 20 20 20 64 6c 2c 5b 73 6f 75 72 63 65 5d 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 | ...dl,[source]..........call.... |
| 1020 | 67 65 74 64 70 62 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 | getdpb..........mov.....dx,OFFSE |
| 1040 | 54 20 44 47 3a 20 64 72 76 65 72 72 33 0d 0a 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 5b | T.DG:.drverr3..........cmp.....[ |
| 1060 | 6d 65 64 69 61 5d 2c 62 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 6d 61 6b 65 20 73 75 72 | media],bl..............;make.sur |
| 1080 | 65 20 6d 65 64 69 61 20 61 6e 64 20 73 69 7a 65 73 20 6d 61 74 63 68 0d 0a 20 20 20 20 20 20 20 | e.media.and.sizes.match......... |
| 10a0 | 20 6a 6e 7a 20 20 20 20 20 65 72 72 76 0d 0a 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 5b | .jnz.....errv..........cmp.....[ |
| 10c0 | 63 6f 75 6e 74 5d 2c 61 78 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 20 20 73 69 7a 65 6f | count],ax..........jz......sizeo |
| 10e0 | 6b 0d 0a 65 72 72 76 3a 20 20 20 6a 6d 70 20 20 20 20 20 70 72 69 6e 74 65 72 72 0d 0a 0d 0a 73 | k..errv:...jmp.....printerr....s |
| 1100 | 69 7a 65 6f 6b 3a 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 62 78 2c 5b 73 65 63 73 | izeok:..........mov.....bx,[secs |
| 1120 | 69 7a 5d 0d 0a 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 62 78 2c 31 35 0d 0a 20 20 20 20 | iz]..........add.....bx,15...... |
| 1140 | 20 20 20 20 6d 6f 76 20 20 20 20 20 63 6c 2c 34 0d 0a 20 20 20 20 20 20 20 20 73 68 72 20 20 20 | ....mov.....cl,4..........shr... |
| 1160 | 20 20 62 78 2c 63 6c 0d 0a 20 20 20 20 20 20 20 20 78 6f 72 20 20 20 20 20 64 78 2c 64 78 0d 0a | ..bx,cl..........xor.....dx,dx.. |
| 1180 | 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 78 2c 31 30 30 30 48 0d 0a 20 20 20 20 20 20 | ........mov.....ax,1000H........ |
| 11a0 | 20 20 64 69 76 20 20 20 20 20 62 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 5b 73 | ..div.....bx..........mov.....[s |
| 11c0 | 65 63 36 34 6b 5d 2c 61 78 20 20 20 20 20 3b 73 65 74 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 | ec64k],ax.....;set.number.of.sec |
| 11e0 | 74 6f 72 73 20 69 6e 20 36 34 4b 20 62 79 74 65 73 0d 0a 20 20 20 20 20 20 20 20 78 6f 72 20 20 | tors.in.64K.bytes..........xor.. |
| 1200 | 20 20 20 64 78 2c 64 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 78 2c 5b 62 75 | ...dx,dx..........mov.....ax,[bu |
| 1220 | 66 73 69 7a 5d 0d 0a 20 20 20 20 20 20 20 20 64 69 76 20 20 20 20 20 62 78 0d 0a 20 20 20 20 20 | fsiz]..........div.....bx....... |
| 1240 | 20 20 20 6d 6f 76 20 20 20 20 20 5b 70 61 73 73 63 6e 74 5d 2c 61 78 20 20 20 20 3b 73 65 74 20 | ...mov.....[passcnt],ax....;set. |
| 1260 | 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 20 70 65 72 20 70 61 73 73 0d 0a 0d 0a 20 20 | number.of.sectors.per.pass...... |
| 1280 | 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 63 6f 6d 70 61 72 65 20 20 20 20 20 20 20 20 20 3b 70 | ......call....compare.........;p |
| 12a0 | 72 69 6e 74 20 63 6f 70 79 69 6e 67 2e 2e 2e 2e 0d 0a 20 20 20 20 20 20 20 20 6a 7a 20 20 20 20 | rint.copying..............jz.... |
| 12c0 | 20 20 6c 6f 6f 70 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 | ..loop..........mov.....dx,OFFSE |
| 12e0 | 54 20 44 47 3a 20 63 70 79 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 | T.DG:.cpymsg..........call....pr |
| 1300 | 69 6e 74 0d 0a 0d 0a 6c 6f 6f 70 3a 20 20 20 70 75 73 68 20 20 20 20 64 73 0d 0a 0d 0a 20 20 20 | int....loop:...push....ds....... |
| 1320 | 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 6c 2c 5b 73 6f 75 72 63 65 5d 0d 0a 20 20 20 20 20 20 | .....mov.....al,[source]........ |
| 1340 | 20 20 78 6f 72 20 20 20 20 20 62 78 2c 62 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 | ..xor.....bx,bx..........mov.... |
| 1360 | 20 63 78 2c 5b 70 61 73 73 63 6e 74 5d 0d 0a 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 63 | .cx,[passcnt]..........cmp.....c |
| 1380 | 78 2c 5b 63 6f 75 6e 74 5d 0d 0a 20 20 20 20 20 20 20 20 6a 62 65 20 20 20 20 20 63 6f 75 6e 74 | x,[count]..........jbe.....count |
| 13a0 | 6f 6b 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 63 78 2c 5b 63 6f 75 6e 74 5d 0d 0a | ok..........mov.....cx,[count].. |
| 13c0 | 63 6f 75 6e 74 6f 6b 3a 6d 6f 76 20 20 20 20 20 64 78 2c 5b 73 74 61 72 74 5d 0d 0a 20 20 20 20 | countok:mov.....dx,[start]...... |
| 13e0 | 20 20 20 20 6d 6f 76 20 20 20 20 20 64 73 2c 5b 62 75 66 66 65 72 5d 0d 0a 20 20 20 20 20 20 20 | ....mov.....ds,[buffer]......... |
| 1400 | 20 63 61 6c 6c 20 20 20 20 64 73 6b 72 64 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 | .call....dskrd..........pop..... |
| 1420 | 64 73 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 73 68 20 20 20 20 64 73 0d 0a 20 20 20 20 20 20 | ds............push....ds........ |
| 1440 | 20 20 70 75 73 68 20 20 20 20 63 78 0d 0a 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 | ..push....cx............call.... |
| 1460 | 63 6f 6d 70 61 72 65 0d 0a 20 20 20 20 20 20 20 20 6a 6e 7a 20 20 20 20 20 74 77 6f 64 72 76 32 | compare..........jnz.....twodrv2 |
| 1480 | 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 | ..........mov.....dx,OFFSET.DG:. |
| 14a0 | 64 73 74 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 69 6e 74 0d 0a 20 | dstmsg..........call....print... |
| 14c0 | 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 67 65 74 6b 65 79 0d 0a 0d 0a 74 77 6f 64 72 76 32 | .......call....getkey....twodrv2 |
| 14e0 | 3a 6d 6f 76 20 20 20 20 20 61 6c 2c 5b 64 65 73 74 5d 0d 0a 20 20 20 20 20 20 20 20 78 6f 72 20 | :mov.....al,[dest]..........xor. |
| 1500 | 20 20 20 20 62 78 2c 62 78 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 5b 73 | ....bx,bx..........mov.....dx,[s |
| 1520 | 74 61 72 74 5d 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 73 2c 5b 62 75 66 66 65 | tart]..........mov.....ds,[buffe |
| 1540 | 72 5d 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 64 73 6b 77 72 74 0d 0a 20 20 20 20 | r]..........call....dskwrt...... |
| 1560 | 20 20 20 20 70 6f 70 20 20 20 20 20 63 78 0d 0a 20 20 20 20 20 20 20 20 70 6f 70 20 20 20 20 20 | ....pop.....cx..........pop..... |
| 1580 | 64 73 0d 0a 0d 0a 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 5b 73 74 61 72 74 5d 2c 63 78 | ds............add.....[start],cx |
| 15a0 | 0d 0a 20 20 20 20 20 20 20 20 73 75 62 20 20 20 20 20 5b 63 6f 75 6e 74 5d 2c 63 78 0d 0a 20 20 | ..........sub.....[count],cx.... |
| 15c0 | 20 20 20 20 20 20 6a 62 65 20 20 20 20 20 71 75 69 74 63 6f 70 79 0d 0a 0d 0a 20 20 20 20 20 20 | ......jbe.....quitcopy.......... |
| 15e0 | 20 20 63 61 6c 6c 20 20 20 20 63 6f 6d 70 61 72 65 0d 0a 20 20 20 20 20 20 20 20 6a 6e 7a 20 20 | ..call....compare..........jnz.. |
| 1600 | 20 20 20 6c 6f 6f 70 0d 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 | ...loop..........mov.....dx,OFFS |
| 1620 | 45 54 20 44 47 3a 20 73 72 63 6d 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 | ET.DG:.srcmsg..........call....p |
| 1640 | 72 69 6e 74 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 67 65 74 6b 65 79 0d 0a 20 20 | rint..........call....getkey.... |
| 1660 | 20 20 20 20 20 20 6a 6d 70 20 20 20 20 20 6c 6f 6f 70 0d 0a 0d 0a 71 75 69 74 63 6f 70 79 3a 0d | ......jmp.....loop....quitcopy:. |
| 1680 | 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 61 68 2c 44 49 53 4b 5f 52 45 53 45 54 0d 0a | .........mov.....ah,DISK_RESET.. |
| 16a0 | 20 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 62 64 6f 73 20 20 20 20 20 20 20 20 20 20 20 20 | ........int.....bdos............ |
| 16c0 | 20 20 20 20 20 20 20 20 3b 65 6d 70 74 79 20 62 75 66 66 65 72 20 71 75 65 75 65 0d 0a 20 20 20 | ........;empty.buffer.queue..... |
| 16e0 | 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 67 6f 6f 64 6d | .....mov.....dx,OFFSET.DG:.goodm |
| 1700 | 73 67 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 63 6f 6d 70 61 72 65 0d 0a 20 20 20 | sg..........call....compare..... |
| 1720 | 20 20 20 20 20 6a 6e 7a 20 20 20 20 20 74 77 6f 64 72 76 33 0d 0a 20 20 20 20 20 20 20 20 6d 6f | .....jnz.....twodrv3..........mo |
| 1740 | 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 20 67 6f 6f 64 31 0d 0a 0d 0a 41 53 4b | v.....dx,OFFSET.DG:.good1....ASK |
| 1760 | 41 4e 4f 54 48 45 52 3a 0d 0a 74 77 6f 64 72 76 33 3a 63 61 6c 6c 20 20 20 20 70 72 69 6e 74 0d | ANOTHER:..twodrv3:call....print. |
| 1780 | 0a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 64 78 2c 4f 46 46 53 45 54 20 44 47 3a 61 6e | .........mov.....dx,OFFSET.DG:an |
| 17a0 | 6f 70 72 6f 6d 70 74 0d 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 20 20 20 20 70 72 6f 6d 70 74 79 | oprompt..........call....prompty |
| 17c0 | 6e 0d 0a 20 20 20 20 20 20 20 20 6a 6e 7a 20 20 20 20 20 61 6c 6c 64 6f 6e 65 0d 0a 20 20 20 20 | n..........jnz.....alldone...... |
| 17e0 | 20 20 20 20 6a 6d 70 20 20 20 20 20 63 6f 70 79 61 67 6e 0d 0a 61 6c 6c 64 6f 6e 65 3a 0d 0a 20 | ....jmp.....copyagn..alldone:... |
| 1800 | 20 20 20 20 20 20 20 69 6e 74 20 20 20 20 20 62 6f 6f 74 20 20 20 20 20 20 20 20 20 20 20 20 3b | .......int.....boot............; |
| 1820 | 68 6f 6d 65 2c 20 6a 61 6d 65 73 2e 2e 2e 0d 0a 0d 0a 43 4f 44 45 20 20 20 20 45 4e 44 53 0d 0a | home,.james.......CODE....ENDS.. |
| 1840 | 0d 0a 43 4f 4e 53 54 20 20 20 53 45 47 4d 45 4e 54 20 50 55 42 4c 49 43 20 42 59 54 45 0d 0a 0d | ..CONST...SEGMENT.PUBLIC.BYTE... |
| 1860 | 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 66 64 73 74 6d 73 67 3a 42 59 54 45 2c 64 73 | .........EXTRN...fdstmsg:BYTE,ds |
| 1880 | 74 6d 73 67 3a 42 59 54 45 2c 66 64 73 74 6c 65 74 3a 42 59 54 45 2c 64 73 74 6c 65 74 3a 42 59 | tmsg:BYTE,fdstlet:BYTE,dstlet:BY |
| 18a0 | 54 45 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 20 63 70 79 6d 73 67 3a 42 59 54 45 2c | TE..........EXTRN...cpymsg:BYTE, |
| 18c0 | 67 6f 6f 64 31 3a 42 59 54 45 2c 67 6f 6f 64 6d 73 67 3a 42 59 54 45 2c 73 72 63 6d 73 67 3a 42 | good1:BYTE,goodmsg:BYTE,srcmsg:B |
| 18e0 | 59 54 45 2c 73 72 63 6c 65 74 3a 42 59 54 45 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 20 | YTE,srclet:BYTE..........EXTRN.. |
| 1900 | 20 6b 65 79 6d 73 67 3a 42 59 54 45 2c 64 72 76 65 72 72 31 3a 42 59 54 45 2c 64 72 76 65 72 72 | .keymsg:BYTE,drverr1:BYTE,drverr |
| 1920 | 33 3a 42 59 54 45 2c 63 72 6c 66 3a 42 59 54 45 0d 0a 20 20 20 20 20 20 20 20 45 58 54 52 4e 20 | 3:BYTE,crlf:BYTE..........EXTRN. |
| 1940 | 20 20 61 6e 6f 70 72 6f 6d 70 74 3a 42 59 54 45 0d 0a 0d 0a 20 20 20 20 20 20 20 20 64 62 20 20 | ..anoprompt:BYTE............db.. |
| 1960 | 20 20 20 20 27 20 4d 49 43 52 4f 53 4f 46 54 20 2d 20 50 45 54 45 52 53 20 27 0d 0a 43 4f 4e 53 | ....'.MICROSOFT.-.PETERS.'..CONS |
| 1980 | 54 20 20 20 45 4e 44 53 0d 0a 0d 0a 44 41 54 41 20 20 20 20 53 45 47 4d 45 4e 54 20 42 59 54 45 | T...ENDS....DATA....SEGMENT.BYTE |
| 19a0 | 0d 0a 0d 0a 70 72 6f 67 73 69 7a 20 4c 41 42 45 4c 20 20 20 42 59 54 45 0d 0a 0d 0a 44 41 54 41 | ....progsiz.LABEL...BYTE....DATA |
| 19c0 | 20 20 20 20 65 6e 64 73 0d 0a 20 20 20 20 20 20 20 20 65 6e 64 20 20 20 20 20 64 69 73 6b 63 6f | ....ends..........end.....diskco |
| 19e0 | 70 79 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 00 00 00 | py.............................. |