home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: ARJ Archive
(archive/arj).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| ARJ Archive (archive/arj)
| magic
| Supported |
100%
| file
| ARJ archive data, v6, slash-switched, created 22 jul 1980+17, original name: TRACE.ARJ, os: MS-DOS
| default
| |
99%
| file
| data
| default
| |
66%
| TrID
| ARJ compressed archive (standard)
| default
| |
33%
| TrID
| ARJ compressed archive
| default
| |
100%
| dearkID
| deark: arj (ARJ)
| default
| |
100%
| siegfried
| fmt/610 ARJ File Format
| default
| |
100%
| lsar
| ARJ
| default
| |
100%
| gt2
| ARJ Archiv gefunden (Auflistung ist deaktiviert)
| default
| |
100%
| detectItEasy
| Archive: ARJ(6)
| default
| |
100%
| binwalkID
| ARJ archive data, header size: 130, version 6, minimum version to extract: 1, slash-switched, compression method: stored, file type: comment header, original name: "TRACE.ARJ", original file date: 1988-08-03 03:31:27, compressed file size: 586582287, uncompressed file size: 0, os: MS-DOS
| default
| |
100%
| xdgMime
| application/x-arj
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 60 ea 82 00 1e 06 01 00 | 10 00 02 0f 0f 89 f6 22 |`.......|......."|
|00000010| 0f 89 f6 22 00 00 00 00 | 00 00 00 00 00 00 00 00 |..."....|........|
|00000020| 00 00 54 52 41 43 45 2e | 41 52 4a 00 0a 20 20 20 |..TRACE.|ARJ.. |
|00000030| 20 41 72 63 68 69 76 65 | 20 46 72 6f 6d 0a 20 48 | Archive| From. H|
|00000040| 20 41 20 43 20 4b 20 45 | 20 52 27 73 20 20 20 43 | A C K E| R's C|
|00000050| 20 44 0a 20 20 20 20 20 | 43 72 65 61 74 65 64 20 | D. |Created |
|00000060| 42 79 0a 20 20 57 68 69 | 74 65 20 45 61 67 6c 65 |By. Whi|te Eagle|
|00000070| 20 5b 52 43 44 5d 0a 20 | 20 20 20 20 20 20 20 31 | [RCD]. | 1|
|00000080| 39 39 37 0a 0a 00 1c d7 | c0 cf 00 00 60 ea 2c 00 |997.....|....`.,.|
|00000090| 1e 06 01 00 10 00 00 0f | 8e b0 88 0c 6d 00 00 00 |........|....m...|
|000000a0| 6d 00 00 00 b4 3d f4 f9 | 00 00 20 00 00 00 41 53 |m....=..|.. ...AS|
|000000b0| 53 45 4d 42 4c 45 2e 42 | 41 54 00 00 2a b2 88 09 |SEMBLE.B|AT..*...|
|000000c0| 00 00 6d 61 73 6d 20 74 | 72 61 63 65 2e 68 64 72 |..masm t|race.hdr|
|000000d0| 2c 74 72 61 63 65 2e 6f | 62 6a 2c 74 72 61 63 65 |,trace.o|bj,trace|
|000000e0| 2e 6c 73 74 3b 0d 0a 6c | 69 6e 6b 20 74 72 61 63 |.lst;..l|ink trac|
|000000f0| 65 3b 0d 0a 65 78 65 32 | 62 69 6e 20 74 72 61 63 |e;..exe2|bin trac|
|00000100| 65 2e 65 78 65 20 74 72 | 61 63 65 2e 63 6f 6d 0d |e.exe tr|ace.com.|
|00000110| 0a 64 65 6c 20 74 72 61 | 63 65 2e 65 78 65 0d 0a |.del tra|ce.exe..|
|00000120| 64 65 6c 20 74 72 61 63 | 65 2e 6f 62 6a 0d 0a 60 |del trac|e.obj..`|
|00000130| ea 29 00 1e 06 01 00 10 | 00 00 0f 43 af 88 0c 7c |.)......|...C...||
|00000140| 10 01 00 7c 10 01 00 c5 | ac f4 e8 00 00 20 00 00 |...|....|..... ..|
|00000150| 00 54 52 41 43 45 2e 41 | 53 4d 00 00 2b ce 17 d6 |.TRACE.A|SM..+...|
|00000160| 00 00 09 70 61 67 65 09 | 36 30 2c 31 33 32 0d 0a |...page.|60,132..|
|00000170| 09 2e 6c 66 63 6f 6e 64 | 0d 0a 09 74 69 74 6c 65 |..lfcond|...title|
|00000180| 09 22 54 52 41 43 45 20 | 2d 20 49 6e 74 65 72 72 |."TRACE |- Interr|
|00000190| 75 70 74 20 54 72 61 63 | 65 72 22 0d 0a 09 73 75 |upt Trac|er"...su|
|000001a0| 62 74 74 6c 09 49 6e 74 | 72 6f 64 75 63 74 69 6f |bttl.Int|roductio|
|000001b0| 6e 0d 0a 09 70 61 67 65 | 0d 0a 09 63 6f 6d 6d 65 |n...page|...comme|
|000001c0| 6e 74 09 5c 0d 0a 0d 0a | 54 52 41 43 45 20 69 73 |nt.\....|TRACE is|
|000001d0| 20 61 6e 20 49 4e 54 20 | 74 72 61 63 65 72 2e 20 | an INT |tracer. |
|000001e0| 49 74 20 74 72 61 70 73 | 20 49 4e 54 27 73 2c 20 |It traps| INT's, |
|000001f0| 74 72 61 63 65 73 20 74 | 68 65 20 72 65 67 69 73 |traces t|he regis|
|00000200| 74 65 72 73 20 61 74 20 | 74 68 65 20 65 6e 74 72 |ters at |the entr|
|00000210| 79 0d 0a 74 6f 20 74 68 | 65 20 49 4e 54 2c 20 65 |y..to th|e INT, e|
|00000220| 78 65 63 75 74 65 73 20 | 74 68 65 20 49 4e 54 20 |xecutes |the INT |
|00000230| 69 74 73 65 6c 66 2c 20 | 61 6e 64 20 74 68 65 6e |itself, |and then|
|00000240| 20 74 72 61 63 65 73 20 | 74 68 65 20 72 65 67 73 | traces |the regs|
|00000250| 20 61 74 20 65 78 69 74 | 20 66 72 6f 6d 0d 0a 74 | at exit| from..t|
|00000260| 68 65 20 49 4e 54 2e 20 | 49 74 20 61 6c 73 6f 20 |he INT. |It also |
|00000270| 61 6c 6c 6f 77 73 20 74 | 68 65 20 75 73 65 72 20 |allows t|he user |
|00000280| 61 74 20 74 68 65 20 6b | 65 79 62 6f 61 72 64 20 |at the k|eyboard |
|00000290| 74 6f 20 73 65 65 20 61 | 6c 6c 20 6f 66 20 74 68 |to see a|ll of th|
|000002a0| 69 73 20 74 72 61 63 65 | 64 0d 0a 69 6e 66 6f 72 |is trace|d..infor|
|000002b0| 6d 61 74 69 6f 6e 2c 20 | 65 69 74 68 65 72 20 61 |mation, |either a|
|000002c0| 74 20 74 68 65 20 73 63 | 72 65 65 6e 20 6f 72 20 |t the sc|reen or |
|000002d0| 6f 6e 20 74 68 65 20 70 | 72 69 6e 74 65 72 2e 0d |on the p|rinter..|
|000002e0| 0a 0d 0a 54 68 65 20 49 | 4e 54 27 73 20 74 68 61 |...The I|NT's tha|
|000002f0| 74 20 61 72 65 20 74 6f | 20 62 65 20 74 72 61 63 |t are to| be trac|
|00000300| 65 64 20 61 72 65 20 73 | 70 65 63 69 66 69 65 64 |ed are s|pecified|
|00000310| 20 69 6e 20 74 68 65 20 | 73 6f 75 72 63 65 20 63 | in the |source c|
|00000320| 6f 64 65 20 28 73 65 65 | 20 63 6f 6e 66 69 67 0d |ode (see| config.|
|00000330| 0a 73 65 63 74 69 6f 6e | 20 62 65 6c 6f 77 29 2e |.section| below).|
|00000340| 20 4f 6e 63 65 20 64 65 | 66 69 6e 65 64 2c 20 74 | Once de|fined, t|
|00000350| 68 65 79 20 6d 61 79 20 | 62 65 20 65 6e 61 62 6c |hey may |be enabl|
|00000360| 65 64 20 6f 72 20 64 69 | 73 61 62 6c 65 64 20 66 |ed or di|sabled f|
|00000370| 72 6f 6d 20 74 68 65 0d | 0a 6b 65 79 62 6f 61 72 |rom the.|.keyboar|
|00000380| 64 2e 0d 0a 0d 0a 20 20 | 20 20 20 20 3c 3c 3c 20 |d..... | <<< |
|00000390| 52 45 42 4f 4f 54 20 41 | 53 20 53 4f 4f 4e 20 41 |REBOOT A|S SOON A|
|000003a0| 53 20 50 4f 53 53 49 42 | 4c 45 20 41 46 54 45 52 |S POSSIB|LE AFTER|
|000003b0| 20 49 4e 56 4f 4b 49 4e | 47 20 54 52 41 43 45 21 | INVOKIN|G TRACE!|
|000003c0| 21 21 20 3e 3e 3e 0d 0a | 0d 0a 54 68 69 73 20 69 |!! >>>..|..This i|
|000003d0| 73 20 6e 6f 74 20 66 6f | 6f 6c 70 72 6f 6f 66 20 |s not fo|olproof |
|000003e0| 6f 72 20 62 75 67 66 72 | 65 65 2e 20 57 65 20 75 |or bugfr|ee. We u|
|000003f0| 73 65 20 69 74 20 27 63 | 61 75 73 65 20 69 74 27 |se it 'c|ause it'|
|00000400| 73 20 61 20 74 65 72 72 | 69 66 69 63 20 74 6f 6f |s a terr|ific too|
|00000410| 6c 0d 0a 66 6f 72 20 64 | 65 70 72 6f 74 65 63 74 |l..for d|eprotect|
|00000420| 69 6e 67 20 63 6f 70 79 | 2d 70 72 6f 74 65 63 74 |ing copy|-protect|
|00000430| 65 64 20 73 6f 66 74 77 | 61 72 65 2e 20 59 6f 75 |ed softw|are. You|
|00000440| 20 75 73 65 20 69 74 20 | 61 74 20 79 6f 75 72 20 | use it |at your |
|00000450| 6f 77 6e 20 72 69 73 6b | 2e 0d 0a 57 68 65 6e 20 |own risk|...When |
|00000460| 79 6f 75 27 76 65 20 67 | 6f 74 74 65 6e 20 61 20 |you've g|otten a |
|00000470| 70 72 69 6e 74 6f 75 74 | 20 6f 66 20 74 68 65 20 |printout| of the |
|00000480| 74 72 61 63 65 20 61 63 | 74 69 76 69 74 79 20 74 |trace ac|tivity t|
|00000490| 68 61 74 20 69 6e 74 65 | 72 65 73 74 73 20 79 6f |hat inte|rests yo|
|000004a0| 75 2c 0d 0a 72 65 62 6f | 6f 74 20 79 6f 75 72 20 |u,..rebo|ot your |
|000004b0| 73 79 73 74 65 6d 2e 20 | 44 6f 6e 27 74 20 73 61 |system. |Don't sa|
|000004c0| 79 20 74 68 61 74 20 77 | 65 20 64 69 64 6e 27 74 |y that w|e didn't|
|000004d0| 20 77 61 72 6e 20 79 6f | 75 2e 0d 0a 0d 0a 45 6e | warn yo|u.....En|
|000004e0| 6a 6f 79 2e 0d 0a 0d 0a | 09 5c 0d 0a 09 70 61 67 |joy.....|.\...pag|
|000004f0| 65 0d 0a 63 6f 64 65 09 | 73 65 67 6d 65 6e 74 09 |e..code.|segment.|
|00000500| 70 61 72 61 20 27 63 6f | 64 65 27 0d 0a 09 61 73 |para 'co|de'...as|
|00000510| 73 75 6d 65 09 63 73 3a | 63 6f 64 65 2c 64 73 3a |sume.cs:|code,ds:|
|00000520| 63 6f 64 65 0d 0a 09 6f | 72 67 09 30 31 30 30 68 |code...o|rg.0100h|
|00000530| 0d 0a 73 74 61 72 74 3a | 09 6a 6d 70 09 69 6e 69 |..start:|.jmp.ini|
|00000540| 74 0d 0a 0d 0a 3b 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |t....;**|********|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0a |********|******..|
|00000580| 3b 0d 0a 3b 20 44 65 66 | 69 6e 69 74 69 6f 6e 20 |;..; Def|inition |
|00000590| 6f 66 20 6f 6e 65 20 69 | 6e 74 65 72 72 75 70 74 |of one i|nterrupt|
|000005a0| 20 63 6f 6e 74 72 6f 6c | 20 74 61 62 6c 65 0d 0a | control| table..|
|000005b0| 3b 0d 0a 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;..;****|********|
|000005c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0a 0d 0a |********|****....|
|000005f0| 49 43 54 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ICT | |
|00000600| 73 74 72 75 63 0d 0a 49 | 43 54 5f 66 6c 61 67 73 |struc..I|CT_flags|
|00000610| 20 20 20 20 20 20 20 64 | 62 20 20 20 20 20 20 3f | d|b ?|
|00000620| 20 20 20 20 20 20 20 3b | 53 65 65 20 62 65 6c 6f | ;|See belo|
|00000630| 77 0d 0a 49 43 54 5f 69 | 6e 74 6e 75 6d 20 20 20 |w..ICT_i|ntnum |
|00000640| 20 20 20 64 62 20 20 20 | 20 20 20 3f 20 20 20 20 | db | ? |
|00000650| 20 20 20 3b 69 6e 74 65 | 72 72 75 70 74 20 23 20 | ;inte|rrupt # |
|00000660| 74 68 69 73 20 74 61 62 | 6c 65 20 62 65 6c 6f 6e |this tab|le belon|
|00000670| 67 73 20 74 6f 0d 0a 49 | 43 54 5f 41 48 5f 6c 6f |gs to..I|CT_AH_lo|
|00000680| 20 20 20 20 20 20 20 64 | 62 20 20 20 20 20 20 3f | d|b ?|
|00000690| 20 20 20 20 20 20 20 3b | 6c 6f 77 65 72 20 41 48 | ;|lower AH|
|000006a0| 20 6c 69 6d 69 74 20 74 | 6f 20 74 72 61 63 65 0d | limit t|o trace.|
|000006b0| 0a 49 43 54 5f 41 48 5f | 68 69 20 20 20 20 20 20 |.ICT_AH_|hi |
|000006c0| 20 64 62 20 20 20 20 20 | 20 3f 20 20 20 20 20 20 | db | ? |
|000006d0| 20 3b 75 70 70 65 72 20 | 41 48 20 6c 69 6d 69 74 | ;upper |AH limit|
|000006e0| 20 74 6f 20 74 72 61 63 | 65 0d 0a 49 43 54 5f 6f | to trac|e..ICT_o|
|000006f0| 72 69 67 5f 68 6e 64 6c | 72 20 20 64 64 20 20 20 |rig_hndl|r dd |
|00000700| 20 20 20 3f 20 20 20 20 | 20 20 20 3b 63 73 3a 69 | ? | ;cs:i|
|00000710| 70 20 6f 66 20 6f 72 69 | 67 69 6e 61 6c 20 68 61 |p of ori|ginal ha|
|00000720| 6e 64 6c 65 72 0d 0a 49 | 43 54 5f 68 69 74 73 09 |ndler..I|CT_hits.|
|00000730| 64 77 20 20 20 20 20 20 | 3f 20 20 20 20 20 20 20 |dw |? |
|00000740| 3b 23 20 74 72 61 63 65 | 73 20 6d 61 64 65 20 66 |;# trace|s made f|
|00000750| 6f 72 20 74 68 69 73 20 | 49 43 54 0d 0a 49 43 54 |or this |ICT..ICT|
|00000760| 5f 6e 75 6d 09 09 64 62 | 20 20 20 20 20 20 3f 20 |_num..db| ? |
|00000770| 20 20 20 20 20 20 3b 49 | 43 54 20 6e 75 6d 62 65 | ;I|CT numbe|
|00000780| 72 20 28 30 2d 37 29 0d | 0a 49 43 54 20 20 20 20 |r (0-7).|.ICT |
|00000790| 20 20 20 20 20 20 20 20 | 20 65 6e 64 73 0d 0a 0d | | ends...|
|000007a0| 0a 3b 0d 0a 3b 20 45 71 | 75 61 74 65 73 20 66 6f |.;..; Eq|uates fo|
|000007b0| 72 20 66 6c 61 67 73 20 | 62 79 74 65 20 6f 66 20 |r flags |byte of |
|000007c0| 49 43 54 0d 0a 3b 0d 0a | 0d 0a 46 5f 41 43 54 49 |ICT..;..|..F_ACTI|
|000007d0| 56 45 09 65 71 75 09 31 | 30 30 30 30 30 30 30 62 |VE.equ.1|0000000b|
|000007e0| 09 3b 42 69 74 20 37 20 | 3d 20 74 68 69 73 20 49 |.;Bit 7 |= this I|
|000007f0| 43 54 20 69 73 20 61 63 | 74 69 76 65 0d 0a 46 5f |CT is ac|tive..F_|
|00000800| 52 45 54 09 09 65 71 75 | 09 30 31 30 30 30 30 30 |RET..equ|.0100000|
|00000810| 30 62 09 3b 42 69 74 20 | 36 20 3d 20 54 68 69 73 |0b.;Bit |6 = This|
|00000820| 20 49 4e 54 20 65 78 69 | 74 73 20 76 69 61 20 52 | INT exi|ts via R|
|00000830| 45 54 0d 0a 46 5f 52 45 | 54 32 09 09 65 71 75 09 |ET..F_RE|T2..equ.|
|00000840| 30 30 31 30 30 30 30 30 | 62 09 3b 42 69 74 20 35 |00100000|b.;Bit 5|
|00000850| 20 3d 20 54 68 69 73 20 | 49 4e 54 20 65 78 69 74 | = This |INT exit|
|00000860| 73 20 76 69 61 20 52 45 | 54 32 0d 0a 46 5f 49 52 |s via RE|T2..F_IR|
|00000870| 45 54 09 09 65 71 75 09 | 30 30 30 31 30 30 30 30 |ET..equ.|00010000|
|00000880| 62 09 3b 42 69 74 20 34 | 20 3d 20 54 68 69 73 20 |b.;Bit 4| = This |
|00000890| 49 4e 54 20 65 78 69 74 | 73 20 76 69 61 20 49 52 |INT exit|s via IR|
|000008a0| 45 54 0d 0a 46 5f 45 4e | 41 42 4c 45 09 65 71 75 |ET..F_EN|ABLE.equ|
|000008b0| 09 30 30 30 30 31 30 30 | 30 62 09 3b 42 69 74 20 |.0000100|0b.;Bit |
|000008c0| 33 20 3d 20 54 72 61 63 | 69 6e 67 20 65 6e 61 62 |3 = Trac|ing enab|
|000008d0| 6c 65 64 20 66 6f 72 20 | 74 68 69 73 20 49 43 54 |led for |this ICT|
|000008e0| 0d 0a 46 5f 46 43 42 09 | 09 65 71 75 09 30 30 30 |..F_FCB.|.equ.000|
|000008f0| 30 30 31 30 30 62 09 3b | 42 69 74 20 32 20 3d 20 |00100b.;|Bit 2 = |
|00000900| 65 6e 61 62 6c 65 20 46 | 43 42 2f 41 53 43 49 49 |enable F|CB/ASCII|
|00000910| 20 74 72 61 63 65 73 20 | 66 6f 72 20 49 4e 54 20 | traces |for INT |
|00000920| 32 31 68 0d 0a 46 5f 52 | 4f 4d 09 09 65 71 75 09 |21h..F_R|OM..equ.|
|00000930| 30 30 30 30 30 30 31 30 | 62 09 3b 42 69 74 20 31 |00000010|b.;Bit 1|
|00000940| 20 3d 20 65 78 63 6c 75 | 64 65 20 52 4f 4d 20 69 | = exclu|de ROM i|
|00000950| 6e 76 6f 63 61 74 69 6f | 6e 73 20 6f 66 20 74 68 |nvocatio|ns of th|
|00000960| 69 73 20 49 4e 54 0d 0a | 46 5f 42 45 4c 4f 57 09 |is INT..|F_BELOW.|
|00000970| 09 65 71 75 09 30 30 30 | 30 30 30 30 31 62 09 3b |.equ.000|00001b.;|
|00000980| 42 69 74 20 30 20 3d 20 | 65 78 63 6c 75 64 65 20 |Bit 0 = |exclude |
|00000990| 69 6e 76 6f 6b 65 72 73 | 20 62 65 6c 6f 77 20 75 |invokers| below u|
|000009a0| 73 20 28 44 4f 53 20 65 | 74 63 29 0d 0a 0d 0a 09 |s (DOS e|tc).....|
|000009b0| 70 61 67 65 0d 0a 3b 2a | 2a 2a 2a 2a 2a 2a 2a 2a |page..;*|********|
|000009c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0a |********|******..|
|000009f0| 3b 20 20 20 20 42 20 45 | 20 47 20 49 20 4e 20 20 |; B E| G I N |
|00000a00| 20 20 20 43 20 4f 20 4e | 20 46 20 49 20 47 20 55 | C O N| F I G U|
|00000a10| 20 52 20 41 20 54 20 49 | 20 4f 20 4e 0d 0a 3b 2a | R A T I| O N..;*|
|00000a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a50| 2a 2a 2a 2a 2a 2a 0d 0a | 0d 0a 3b 0d 0a 3b 20 53 |******..|..;..; S|
|00000a60| 65 74 20 74 72 61 63 65 | 5f 73 69 7a 65 20 74 6f |et trace|_size to|
|00000a70| 20 6e 75 6d 62 65 72 20 | 6f 66 20 62 79 74 65 73 | number |of bytes|
|00000a80| 20 74 6f 20 73 65 74 20 | 61 73 69 64 65 20 66 6f | to set |aside fo|
|00000a90| 72 20 74 72 61 63 65 20 | 74 61 62 6c 65 2e 0d 0a |r trace |table...|
|00000aa0| 3b 0d 0a 0d 0a 74 72 61 | 63 65 5f 73 69 7a 65 09 |;....tra|ce_size.|
|00000ab0| 65 71 75 09 33 30 30 30 | 30 0d 0a 0d 0a 3b 0d 0a |equ.3000|0....;..|
|00000ac0| 3b 20 53 65 74 20 70 65 | 72 69 5f 69 6e 74 20 74 |; Set pe|ri_int t|
|00000ad0| 6f 20 74 68 65 20 69 6e | 74 65 72 72 75 70 74 20 |o the in|terrupt |
|00000ae0| 6e 75 6d 62 65 72 20 28 | 75 73 75 61 6c 6c 79 20 |number (|usually |
|00000af0| 30 36 30 48 29 20 74 6f | 20 62 65 20 75 73 65 64 |060H) to| be used|
|00000b00| 0d 0a 3b 20 62 79 20 50 | 65 72 69 73 63 6f 70 65 |..; by P|eriscope|
|00000b10| 20 74 6f 20 69 6e 76 6f | 6b 65 20 6f 75 72 20 72 | to invo|ke our r|
|00000b20| 65 70 6f 72 74 69 6e 67 | 20 72 6f 75 74 69 6e 65 |eporting| routine|
|00000b30| 73 2e 0d 0a 3b 0d 0a 0d | 0a 70 65 72 69 5f 69 6e |s...;...|.peri_in|
|00000b40| 74 09 65 71 75 09 30 36 | 30 68 0d 0a 0d 0a 3b 0d |t.equ.06|0h....;.|
|00000b50| 0a 3b 20 53 65 74 20 70 | 72 74 5f 73 63 72 20 6e |.; Set p|rt_scr n|
|00000b60| 6f 6e 2d 7a 65 72 6f 20 | 74 6f 20 61 73 73 65 6d |on-zero |to assem|
|00000b70| 62 6c 65 20 63 6f 64 65 | 20 74 68 61 74 20 61 6c |ble code| that al|
|00000b80| 6c 6f 77 73 20 63 6f 6e | 74 72 6f 6c 20 76 69 61 |lows con|trol via|
|00000b90| 20 53 48 49 46 54 2d 50 | 72 74 53 63 2e 0d 0a 3b | SHIFT-P|rtSc...;|
|00000ba0| 0d 0a 0d 0a 70 72 74 5f | 73 63 72 09 09 65 71 75 |....prt_|scr..equ|
|00000bb0| 09 31 0d 0a 0d 0a 3b 0d | 0a 3b 20 53 65 74 20 75 |.1....;.|.; Set u|
|00000bc0| 73 65 5f 70 72 74 20 6e | 6f 6e 2d 7a 65 72 6f 20 |se_prt n|on-zero |
|00000bd0| 74 6f 20 73 74 61 72 74 | 20 75 70 20 75 73 69 6e |to start| up usin|
|00000be0| 67 20 74 68 65 20 70 72 | 69 6e 74 65 72 20 69 6e |g the pr|inter in|
|00000bf0| 73 74 65 61 64 20 6f 66 | 20 74 68 65 20 73 63 72 |stead of| the scr|
|00000c00| 65 65 6e 0d 0a 3b 0d 0a | 0d 0a 75 73 65 5f 70 72 |een..;..|..use_pr|
|00000c10| 74 09 09 65 71 75 09 30 | 0d 0a 0d 0a 3b 0d 0a 3b |t..equ.0|....;..;|
|00000c20| 20 53 65 74 20 6e 75 6d | 5f 66 65 65 64 73 20 74 | Set num|_feeds t|
|00000c30| 6f 20 6e 75 6d 62 65 72 | 20 6f 66 20 65 78 74 72 |o number| of extr|
|00000c40| 61 20 4c 69 6e 65 66 65 | 65 64 73 20 74 6f 20 73 |a Linefe|eds to s|
|00000c50| 65 6e 64 20 74 6f 20 70 | 72 69 6e 74 65 72 20 74 |end to p|rinter t|
|00000c60| 6f 20 6a 61 63 6b 0d 0a | 3b 20 75 70 20 74 68 65 |o jack..|; up the|
|00000c70| 20 70 61 70 65 72 20 65 | 6e 6f 75 67 68 20 74 6f | paper e|nough to|
|00000c80| 20 6c 65 74 20 79 6f 75 | 20 72 65 61 64 20 69 74 | let you| read it|
|00000c90| 2c 20 61 66 74 65 72 20 | 64 69 73 70 6c 61 79 20 |, after |display |
|00000ca0| 6f 66 20 6d 65 6e 75 73 | 20 65 74 63 2e 0d 0a 3b |of menus| etc...;|
|00000cb0| 0d 0a 0d 0a 6e 75 6d 5f | 66 65 65 64 73 09 65 71 |....num_|feeds.eq|
|00000cc0| 75 09 31 30 0d 0a 0d 0a | 0d 0a 3b 0d 0a 3b 20 44 |u.10....|..;..; D|
|00000cd0| 65 66 69 6e 65 20 69 6e | 74 65 72 72 75 70 74 73 |efine in|terrupts|
|00000ce0| 20 74 6f 20 62 65 20 74 | 72 61 63 65 64 20 62 79 | to be t|raced by|
|00000cf0| 20 66 69 6c 6c 69 6e 67 | 20 69 6e 20 74 68 65 20 | filling| in the |
|00000d00| 66 6f 6c 6c 6f 77 69 6e | 67 20 49 43 54 27 73 2e |followin|g ICT's.|
|00000d10| 0d 0a 3b 20 4e 6f 74 65 | 20 74 68 61 74 20 74 68 |..; Note| that th|
|00000d20| 65 72 65 20 61 72 65 20 | 6f 6e 6c 79 20 38 2e 20 |ere are |only 8. |
|00000d30| 54 68 61 74 27 73 20 74 | 68 65 20 6d 61 78 20 74 |That's t|he max t|
|00000d40| 68 61 74 20 63 61 6e 20 | 62 65 20 74 72 61 63 65 |hat can |be trace|
|00000d50| 64 2e 0d 0a 3b 20 4e 6f | 74 65 20 74 68 61 74 20 |d...; No|te that |
|00000d60| 74 68 65 20 46 5f 41 43 | 54 49 56 45 20 66 6c 61 |the F_AC|TIVE fla|
|00000d70| 67 20 6d 75 73 74 20 62 | 65 20 73 65 74 20 69 6e |g must b|e set in|
|00000d80| 20 75 73 65 64 20 49 43 | 54 27 73 2c 20 61 6e 64 | used IC|T's, and|
|00000d90| 20 6f 66 66 20 69 6e 0d | 0a 3b 20 74 68 6f 73 65 | off in.|.; those|
|00000da0| 20 74 68 61 74 20 61 72 | 65 6e 27 74 20 64 65 66 | that ar|en't def|
|00000db0| 69 6e 69 6e 67 20 73 6f | 6d 65 74 68 69 6e 67 20 |ining so|mething |
|00000dc0| 74 68 61 74 20 79 6f 75 | 20 77 61 6e 74 20 74 72 |that you| want tr|
|00000dd0| 61 63 65 64 2e 0d 0a 3b | 0d 0a 3b 20 44 6f 6e 27 |aced...;|..; Don'|
|00000de0| 74 20 6d 65 73 73 20 77 | 69 74 68 20 74 68 65 20 |t mess w|ith the |
|00000df0| 6c 61 73 74 20 33 20 66 | 69 65 6c 64 73 20 69 6e |last 3 f|ields in|
|00000e00| 20 74 68 65 20 49 43 54 | 21 21 21 20 4c 65 61 76 | the ICT|!!! Leav|
|00000e10| 65 20 27 65 6d 20 61 73 | 2d 69 73 2e 0d 0a 3b 0d |e 'em as|-is...;.|
|00000e20| 0a 3b 20 20 20 49 74 20 | 69 73 20 45 58 54 52 45 |.; It |is EXTRE|
|00000e30| 4d 45 4c 59 20 69 6d 70 | 6f 72 74 61 6e 74 20 74 |MELY imp|ortant t|
|00000e40| 68 61 74 20 79 6f 75 20 | 73 70 65 63 69 66 79 20 |hat you |specify |
|00000e50| 68 6f 77 20 74 68 65 20 | 69 6e 74 65 72 72 75 70 |how the |interrup|
|00000e60| 74 20 65 78 69 74 73 2e | 0d 0a 3b 20 20 20 53 65 |t exits.|..; Se|
|00000e70| 74 20 65 78 61 63 74 6c | 79 20 6f 6e 65 20 6f 66 |t exactl|y one of|
|00000e80| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 20 66 | the fol|lowing f|
|00000e90| 6c 61 67 20 62 69 74 73 | 3a 0d 0a 3b 0d 0a 3b 20 |lag bits|:..;..; |
|00000ea0| 20 20 46 5f 52 45 54 20 | 20 20 49 6e 74 65 72 72 | F_RET | Interr|
|00000eb0| 75 70 74 20 65 78 69 74 | 73 20 76 69 61 20 73 69 |upt exit|s via si|
|00000ec0| 6d 70 6c 65 20 66 61 72 | 20 52 45 54 2c 20 6c 65 |mple far| RET, le|
|00000ed0| 61 76 69 6e 67 20 6f 72 | 69 67 69 6e 61 6c 20 69 |aving or|iginal i|
|00000ee0| 6e 74 65 72 72 75 70 74 | 73 0d 0a 3b 20 20 20 20 |nterrupt|s..; |
|00000ef0| 20 20 20 20 20 20 20 6f | 6e 20 74 68 65 20 73 74 | o|n the st|
|00000f00| 61 63 6b 20 66 6f 72 20 | 74 68 65 20 63 61 6c 6c |ack for |the call|
|00000f10| 65 72 20 74 6f 20 70 6f | 70 2e 20 49 4e 54 27 73 |er to po|p. INT's|
|00000f20| 20 30 32 35 48 20 61 6e | 64 20 30 32 36 48 20 61 | 025H an|d 026H a|
|00000f30| 72 65 20 70 72 69 6d 65 | 0d 0a 3b 20 20 20 20 20 |re prime|..; |
|00000f40| 20 20 20 20 20 20 65 78 | 61 6d 70 6c 65 73 2e 0d | ex|amples..|
|00000f50| 0a 3b 0d 0a 3b 20 20 20 | 46 5f 52 45 54 32 20 20 |.;..; |F_RET2 |
|00000f60| 49 6e 74 65 72 72 75 70 | 74 20 65 78 69 74 73 20 |Interrup|t exits |
|00000f70| 76 69 61 20 52 45 54 20 | 32 2c 20 64 72 6f 70 70 |via RET |2, dropp|
|00000f80| 69 6e 67 20 6f 72 69 67 | 69 6e 61 6c 20 66 6c 61 |ing orig|inal fla|
|00000f90| 67 73 20 61 6e 64 20 72 | 65 74 75 72 6e 69 6e 67 |gs and r|eturning|
|00000fa0| 0d 0a 3b 20 20 20 20 20 | 20 20 20 20 20 20 66 6c |..; | fl|
|00000fb0| 61 67 73 20 61 73 20 73 | 65 74 20 62 79 20 69 6e |ags as s|et by in|
|00000fc0| 74 65 72 72 75 70 74 20 | 68 61 6e 64 6c 65 72 2e |terrupt |handler.|
|00000fd0| 20 49 4e 54 20 30 32 31 | 48 20 28 61 6e 64 20 61 | INT 021|H (and a|
|00000fe0| 6e 79 62 6f 64 79 20 65 | 6c 73 65 0d 0a 3b 20 20 |nybody e|lse..; |
|00000ff0| 20 20 20 20 20 20 20 20 | 20 74 68 61 74 20 75 73 | | that us|
|00001000| 65 73 20 66 6c 61 67 73 | 20 6c 69 6b 65 20 43 41 |es flags| like CA|
|00001010| 52 52 59 20 6f 72 20 5a | 45 52 4f 20 74 6f 20 72 |RRY or Z|ERO to r|
|00001020| 65 66 6c 65 63 74 20 72 | 65 73 75 6c 74 73 29 20 |eflect r|esults) |
|00001030| 64 6f 65 73 20 74 68 69 | 73 2e 0d 0a 3b 0d 0a 3b |does thi|s...;..;|
|00001040| 20 20 20 46 5f 49 52 45 | 54 20 20 49 6e 74 65 72 | F_IRE|T Inter|
|00001050| 72 75 70 74 20 65 78 69 | 74 73 20 76 69 61 20 49 |rupt exi|ts via I|
|00001060| 52 45 54 2c 20 72 65 73 | 74 6f 72 69 6e 67 20 6f |RET, res|toring o|
|00001070| 72 69 67 69 6e 61 6c 20 | 66 6c 61 67 73 20 66 72 |riginal |flags fr|
|00001080| 6f 6d 20 73 74 61 63 6b | 2e 0d 0a 3b 20 20 20 20 |om stack|...; |
|00001090| 20 20 20 20 20 20 20 48 | 61 72 64 77 61 72 65 20 | H|ardware |
|000010a0| 69 6e 74 65 72 72 75 70 | 74 20 68 61 6e 64 6c 65 |interrup|t handle|
|000010b0| 72 73 20 64 6f 20 74 68 | 69 73 2c 20 61 6e 64 20 |rs do th|is, and |
|000010c0| 6d 61 6e 79 20 52 4f 4d | 20 42 49 4f 53 20 72 6f |many ROM| BIOS ro|
|000010d0| 75 74 69 6e 65 73 2e 0d | 0a 3b 0d 0a 3b 20 20 20 |utines..|.;..; |
|000010e0| 4e 6f 74 65 20 74 68 61 | 74 20 73 6f 6d 65 20 69 |Note tha|t some i|
|000010f0| 6e 74 65 72 72 75 70 74 | 73 20 6d 61 79 20 65 78 |nterrupt|s may ex|
|00001100| 69 74 20 64 69 66 66 65 | 72 65 6e 74 6c 79 2c 20 |it diffe|rently, |
|00001110| 64 65 70 65 6e 64 69 6e | 67 20 6f 6e 20 74 68 65 |dependin|g on the|
|00001120| 20 73 70 65 63 69 66 69 | 63 0d 0a 3b 20 20 20 66 | specifi|c..; f|
|00001130| 75 6e 63 74 69 6f 6e 20 | 72 65 71 75 65 73 74 65 |unction |requeste|
|00001140| 64 2e 20 59 6f 75 20 6d | 61 79 20 77 61 6e 74 20 |d. You m|ay want |
|00001150| 74 6f 20 64 65 66 69 6e | 65 20 73 65 76 65 72 61 |to defin|e severa|
|00001160| 6c 20 49 43 54 27 73 20 | 66 6f 72 20 61 20 67 69 |l ICT's |for a gi|
|00001170| 76 65 6e 0d 0a 3b 20 20 | 20 69 6e 74 65 72 72 75 |ven..; | interru|
|00001180| 70 74 2c 20 65 61 63 68 | 20 68 61 6e 64 6c 69 6e |pt, each| handlin|
|00001190| 67 20 61 20 64 69 66 66 | 65 72 65 6e 74 20 41 48 |g a diff|erent AH|
|000011a0| 20 72 61 6e 67 65 2e 0d | 0a 3b 0d 0a 3b 0d 0a 0d | range..|.;..;...|
|000011b0| 0a 69 63 74 30 20 20 20 | 20 49 43 54 20 20 20 20 |.ict0 | ICT |
|000011c0| 20 3c 46 5f 41 43 54 49 | 56 45 2b 46 5f 52 45 54 | <F_ACTI|VE+F_RET|
|000011d0| 32 2b 46 5f 45 4e 41 42 | 4c 45 2b 46 5f 46 43 42 |2+F_ENAB|LE+F_FCB|
|000011e0| 2c 30 32 31 48 2c 30 64 | 68 2c 30 66 66 68 2c 30 |,021H,0d|h,0ffh,0|
|000011f0| 2c 30 2c 30 3e 09 3b 44 | 4f 53 20 66 75 6e 63 73 |,0,0>.;D|OS funcs|
|00001200| 20 30 44 68 20 74 68 72 | 75 20 46 46 68 0d 0a 69 | 0Dh thr|u FFh..i|
|00001210| 63 74 31 20 20 20 20 49 | 43 54 20 20 20 20 20 3c |ct1 I|CT <|
|00001220| 46 5f 41 43 54 49 56 45 | 2b 46 5f 52 45 54 32 2b |F_ACTIVE|+F_RET2+|
|00001230| 46 5f 45 4e 41 42 4c 45 | 2c 30 31 33 48 2c 30 2c |F_ENABLE|,013H,0,|
|00001240| 30 66 66 68 2c 30 2c 30 | 2c 31 3e 09 09 3b 52 4f |0ffh,0,0|,1>..;RO|
|00001250| 4d 20 42 49 4f 53 20 49 | 4e 54 20 31 33 68 20 28 |M BIOS I|NT 13h (|
|00001260| 61 6c 6c 29 0d 0a 69 63 | 74 32 20 20 20 20 49 43 |all)..ic|t2 IC|
|00001270| 54 20 20 20 20 20 3c 46 | 5f 41 43 54 49 56 45 2b |T <F|_ACTIVE+|
|00001280| 46 5f 52 45 54 32 2c 30 | 32 31 48 2c 30 2c 30 63 |F_RET2,0|21H,0,0c|
|00001290| 68 2c 30 2c 30 2c 32 3e | 09 09 09 3b 44 4f 53 20 |h,0,0,2>|...;DOS |
|000012a0| 66 75 6e 63 73 20 30 30 | 68 20 74 68 72 75 20 30 |funcs 00|h thru 0|
|000012b0| 43 68 0d 0a 69 63 74 33 | 20 20 20 20 49 43 54 20 |Ch..ict3| ICT |
|000012c0| 20 20 20 20 3c 46 5f 41 | 43 54 49 56 45 2b 46 5f | <F_A|CTIVE+F_|
|000012d0| 52 45 54 2b 46 5f 45 4e | 41 42 4c 45 2c 30 32 35 |RET+F_EN|ABLE,025|
|000012e0| 68 2c 30 2c 30 66 66 68 | 2c 30 2c 30 2c 33 3e 09 |h,0,0ffh|,0,0,3>.|
|000012f0| 09 3b 52 41 57 20 64 69 | 73 6b 20 49 2f 4f 0d 0a |.;RAW di|sk I/O..|
|00001300| 69 63 74 34 20 20 20 20 | 49 43 54 20 20 20 20 20 |ict4 |ICT |
|00001310| 3c 46 5f 41 43 54 49 56 | 45 2b 46 5f 52 45 54 2b |<F_ACTIV|E+F_RET+|
|00001320| 46 5f 45 4e 41 42 4c 45 | 2c 30 32 36 68 2c 30 2c |F_ENABLE|,026h,0,|
|00001330| 30 66 66 68 2c 30 2c 30 | 2c 34 3e 09 09 3b 52 41 |0ffh,0,0|,4>..;RA|
|00001340| 57 20 64 69 73 6b 20 49 | 2f 4f 0d 0a 69 63 74 35 |W disk I|/O..ict5|
|00001350| 20 20 20 20 49 43 54 20 | 20 20 20 20 3c 30 2c 30 | ICT | <0,0|
|00001360| 2c 30 2c 30 2c 30 2c 30 | 2c 35 3e 09 09 09 09 09 |,0,0,0,0|,5>.....|
|00001370| 09 3b 75 6e 75 73 65 64 | 0d 0a 69 63 74 36 20 20 |.;unused|..ict6 |
|00001380| 20 20 49 43 54 20 20 20 | 20 20 3c 30 2c 30 2c 30 | ICT | <0,0,0|
|00001390| 2c 30 2c 30 2c 30 2c 36 | 3e 09 09 09 09 09 09 3b |,0,0,0,6|>......;|
|000013a0| 75 6e 75 73 65 64 0d 0a | 69 63 74 37 20 20 20 20 |unused..|ict7 |
|000013b0| 49 43 54 20 20 20 20 20 | 3c 30 2c 30 2c 30 2c 30 |ICT |<0,0,0,0|
|000013c0| 2c 30 2c 30 2c 37 3e 09 | 09 09 09 09 09 3b 75 6e |,0,0,7>.|.....;un|
|000013d0| 75 73 65 64 0d 0a 0d 0a | 0d 0a 3b 2a 2a 2a 2a 2a |used....|..;*****|
|000013e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000013f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001410| 2a 2a 0d 0a 3b 20 20 20 | 20 45 20 4e 20 44 20 20 |**..; | E N D |
|00001420| 20 20 43 20 4f 20 4e 20 | 46 20 49 20 47 20 55 20 | C O N |F I G U |
|00001430| 52 20 41 20 54 20 49 20 | 4f 20 4e 0d 0a 3b 2a 2a |R A T I |O N..;**|
|00001440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001470| 2a 2a 2a 2a 2a 0d 0a 09 | 70 61 67 65 0d 0a 3b 0d |*****...|page..;.|
|00001480| 0a 3b 20 54 72 61 63 65 | 20 65 6e 74 72 79 20 62 |.; Trace| entry b|
|00001490| 79 74 65 20 7a 65 72 6f | 20 28 74 68 65 20 74 79 |yte zero| (the ty|
|000014a0| 70 65 20 62 79 74 65 29 | 20 69 64 65 6e 74 69 66 |pe byte)| identif|
|000014b0| 69 65 73 20 65 6e 74 72 | 79 20 61 73 20 66 6f 6c |ies entr|y as fol|
|000014c0| 6c 6f 77 73 3a 0d 0a 3b | 20 0d 0a 3b 20 20 20 42 |lows:..;| ..; B|
|000014d0| 69 74 73 20 37 2d 34 20 | 3d 20 74 72 61 63 65 20 |its 7-4 |= trace |
|000014e0| 74 79 70 65 0d 0a 3b 0d | 0a 3b 20 20 20 20 20 20 |type..;.|.; |
|000014f0| 20 20 20 20 20 20 20 20 | 20 30 30 30 30 20 3d 20 | | 0000 = |
|00001500| 42 45 46 4f 52 45 20 69 | 6e 74 20 77 61 73 20 65 |BEFORE i|nt was e|
|00001510| 78 65 63 75 74 65 64 0d | 0a 3b 20 20 20 20 20 20 |xecuted.|.; |
|00001520| 20 20 20 20 20 20 20 20 | 20 30 30 30 31 20 3d 20 | | 0001 = |
|00001530| 41 46 54 45 52 20 69 6e | 74 20 77 61 73 20 65 78 |AFTER in|t was ex|
|00001540| 65 63 75 74 65 64 0d 0a | 3b 20 20 20 20 20 20 20 |ecuted..|; |
|00001550| 20 20 20 20 20 20 20 20 | 30 30 31 30 20 3d 20 46 | |0010 = F|
|00001560| 43 42 20 72 65 66 65 72 | 65 6e 63 65 64 20 62 79 |CB refer|enced by|
|00001570| 20 61 6e 20 49 4e 54 20 | 32 31 68 0d 0a 3b 20 20 | an INT |21h..; |
|00001580| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 30 30 31 | | 001|
|00001590| 31 20 3d 20 41 53 43 49 | 49 5a 20 72 65 66 65 72 |1 = ASCI|IZ refer|
|000015a0| 65 6e 63 65 64 20 62 79 | 20 61 6e 20 49 4e 54 20 |enced by| an INT |
|000015b0| 32 31 68 0d 0a 3b 0d 0a | 3b 20 20 20 42 69 74 20 |21h..;..|; Bit |
|000015c0| 33 20 20 20 20 3d 20 52 | 45 53 45 52 56 45 44 0d |3 = R|ESERVED.|
|000015d0| 0a 3b 0d 0a 3b 20 20 20 | 42 69 74 73 20 32 2d 30 |.;..; |Bits 2-0|
|000015e0| 20 3d 20 49 43 54 20 23 | 20 28 30 2d 37 29 20 77 | = ICT #| (0-7) w|
|000015f0| 68 69 63 68 20 6d 61 64 | 65 20 74 68 69 73 20 74 |hich mad|e this t|
|00001600| 72 61 63 65 20 72 65 63 | 6f 72 64 0d 0a 3b 0d 0a |race rec|ord..;..|
|00001610| 3b 20 52 65 63 6f 72 64 | 20 66 6f 72 6d 61 74 73 |; Record| formats|
|00001620| 20 61 72 65 20 61 73 20 | 66 6f 6c 6c 6f 77 73 3a | are as |follows:|
|00001630| 0d 0a 3b 0d 0a 0d 0a 42 | 45 46 4f 52 45 09 09 73 |..;....B|EFORE..s|
|00001640| 74 72 75 63 09 09 3b 42 | 45 46 4f 52 45 20 74 72 |truc..;B|EFORE tr|
|00001650| 61 63 65 20 65 6e 74 72 | 79 0d 0a 42 5f 74 79 70 |ace entr|y..B_typ|
|00001660| 65 09 09 64 62 09 3f 09 | 3b 73 65 65 20 61 62 6f |e..db.?.|;see abo|
|00001670| 76 65 0d 0a 42 5f 69 6e | 74 09 09 64 62 09 3f 09 |ve..B_in|t..db.?.|
|00001680| 3b 49 4e 54 20 23 20 74 | 68 61 74 20 77 61 73 20 |;INT # t|hat was |
|00001690| 74 72 61 70 70 65 64 0d | 0a 42 5f 61 78 09 09 64 |trapped.|.B_ax..d|
|000016a0| 77 09 3f 09 3b 52 65 67 | 73 20 42 45 46 4f 52 45 |w.?.;Reg|s BEFORE|
|000016b0| 20 65 78 65 63 75 74 69 | 6e 67 20 49 4e 54 0d 0a | executi|ng INT..|
|000016c0| 42 5f 62 78 09 09 64 77 | 09 3f 0d 0a 42 5f 63 78 |B_bx..dw|.?..B_cx|
|000016d0| 09 09 64 77 09 3f 0d 0a | 42 5f 64 78 09 09 64 77 |..dw.?..|B_dx..dw|
|000016e0| 09 3f 0d 0a 42 5f 65 73 | 09 09 64 77 09 3f 0d 0a |.?..B_es|..dw.?..|
|000016f0| 42 5f 64 73 09 09 64 77 | 09 3f 0d 0a 42 5f 73 73 |B_ds..dw|.?..B_ss|
|00001700| 09 09 64 77 09 3f 0d 0a | 42 5f 73 70 09 09 64 77 |..dw.?..|B_sp..dw|
|00001710| 09 3f 0d 0a 42 5f 73 69 | 09 09 64 77 09 3f 0d 0a |.?..B_si|..dw.?..|
|00001720| 42 5f 64 69 09 09 64 77 | 09 3f 0d 0a 42 5f 62 70 |B_di..dw|.?..B_bp|
|00001730| 09 09 64 77 09 3f 0d 0a | 42 5f 63 73 09 09 64 77 |..dw.?..|B_cs..dw|
|00001740| 09 3f 09 3b 43 53 20 6f | 66 20 69 6e 76 6f 6b 65 |.?.;CS o|f invoke|
|00001750| 72 20 6f 66 20 49 4e 54 | 0d 0a 42 5f 69 70 09 09 |r of INT|..B_ip..|
|00001760| 64 77 09 3f 09 3b 49 50 | 20 6f 66 20 69 6e 76 6f |dw.?.;IP| of invo|
|00001770| 6b 65 72 0d 0a 42 45 46 | 4f 52 45 09 09 65 6e 64 |ker..BEF|ORE..end|
|00001780| 73 0d 0a 0d 0a 41 46 54 | 45 52 09 09 73 74 72 75 |s....AFT|ER..stru|
|00001790| 63 09 09 3b 41 46 54 45 | 52 20 72 65 63 6f 72 64 |c..;AFTE|R record|
|000017a0| 20 74 79 70 65 0d 0a 41 | 5f 74 79 70 65 09 09 64 | type..A|_type..d|
|000017b0| 62 09 3f 09 3b 73 65 65 | 20 61 62 6f 76 65 0d 0a |b.?.;see| above..|
|000017c0| 41 5f 69 6e 74 09 09 64 | 62 09 3f 09 3b 49 4e 54 |A_int..d|b.?.;INT|
|000017d0| 20 23 20 74 68 61 74 20 | 77 61 73 20 65 78 65 63 | # that |was exec|
|000017e0| 75 74 65 64 0d 0a 41 5f | 61 78 09 09 64 77 09 3f |uted..A_|ax..dw.?|
|000017f0| 09 3b 52 65 67 73 20 41 | 46 54 45 52 20 65 78 65 |.;Regs A|FTER exe|
|00001800| 63 75 74 69 6e 67 20 49 | 4e 54 0d 0a 41 5f 62 78 |cuting I|NT..A_bx|
|00001810| 09 09 64 77 09 3f 0d 0a | 41 5f 63 78 09 09 64 77 |..dw.?..|A_cx..dw|
|00001820| 09 3f 0d 0a 41 5f 64 78 | 09 09 64 77 09 3f 0d 0a |.?..A_dx|..dw.?..|
|00001830| 41 5f 65 73 09 09 64 77 | 09 3f 0d 0a 41 5f 64 73 |A_es..dw|.?..A_ds|
|00001840| 09 09 64 77 09 3f 0d 0a | 41 5f 73 69 09 09 64 77 |..dw.?..|A_si..dw|
|00001850| 09 3f 0d 0a 41 5f 64 69 | 09 09 64 77 09 3f 0d 0a |.?..A_di|..dw.?..|
|00001860| 41 5f 62 70 09 09 64 77 | 09 3f 0d 0a 41 5f 66 6c |A_bp..dw|.?..A_fl|
|00001870| 61 67 73 09 09 64 77 09 | 3f 09 3b 46 6c 61 67 73 |ags..dw.|?.;Flags|
|00001880| 20 41 46 54 45 52 20 64 | 6f 69 6e 67 20 49 4e 54 | AFTER d|oing INT|
|00001890| 0d 0a 41 46 54 45 52 09 | 09 65 6e 64 73 0d 0a 0d |..AFTER.|.ends...|
|000018a0| 0a 46 43 42 09 09 73 74 | 72 75 63 09 09 09 3b 49 |.FCB..st|ruc...;I|
|000018b0| 4e 54 20 32 31 68 20 46 | 43 42 20 72 65 63 6f 72 |NT 21h F|CB recor|
|000018c0| 64 0d 0a 46 43 42 5f 74 | 79 70 65 20 09 64 62 09 |d..FCB_t|ype .db.|
|000018d0| 3f 09 09 3b 73 65 65 20 | 61 62 6f 76 65 0d 0a 46 |?..;see |above..F|
|000018e0| 43 42 5f 69 6e 74 09 09 | 64 62 09 3f 09 09 3b 49 |CB_int..|db.?..;I|
|000018f0| 4e 54 20 23 20 74 68 61 | 74 20 77 61 73 20 65 78 |NT # tha|t was ex|
|00001900| 65 63 75 74 65 64 20 28 | 32 31 68 29 0d 0a 46 43 |ecuted (|21h)..FC|
|00001910| 42 5f 64 72 69 76 65 09 | 64 62 09 3f 09 09 3b 64 |B_drive.|db.?..;d|
|00001920| 72 69 76 65 20 66 69 65 | 6c 64 20 6f 66 20 46 43 |rive fie|ld of FC|
|00001930| 42 0d 0a 46 43 42 5f 6e | 61 6d 65 09 64 62 09 22 |B..FCB_n|ame.db."|
|00001940| 3f 3f 3f 3f 3f 3f 3f 3f | 22 09 3b 66 69 6c 65 6e |????????|".;filen|
|00001950| 61 6d 65 20 66 69 65 6c | 64 20 6f 66 20 46 43 42 |ame fiel|d of FCB|
|00001960| 0d 0a 46 43 42 5f 65 78 | 74 09 09 64 62 09 22 3f |..FCB_ex|t..db."?|
|00001970| 3f 3f 22 09 09 3b 65 78 | 74 65 6e 73 69 6f 6e 20 |??"..;ex|tension |
|00001980| 66 69 65 6c 64 20 6f 66 | 20 46 43 42 0d 0a 46 43 |field of| FCB..FC|
|00001990| 42 09 09 65 6e 64 73 0d | 0a 0d 0a 41 53 43 49 49 |B..ends.|...ASCII|
|000019a0| 5a 09 09 73 74 72 75 63 | 09 09 09 3b 49 4e 54 20 |Z..struc|...;INT |
|000019b0| 32 31 68 20 41 53 43 49 | 49 5a 20 72 65 63 6f 72 |21h ASCI|IZ recor|
|000019c0| 64 0d 0a 41 5a 5f 74 79 | 70 65 20 09 64 62 09 3f |d..AZ_ty|pe .db.?|
|000019d0| 09 09 3b 73 65 65 20 61 | 62 6f 76 65 0d 0a 41 5a |..;see a|bove..AZ|
|000019e0| 5f 69 6e 74 09 09 64 62 | 09 3f 09 09 3b 49 4e 54 |_int..db|.?..;INT|
|000019f0| 20 23 20 74 68 61 74 20 | 77 61 73 20 65 78 65 63 | # that |was exec|
|00001a00| 75 74 65 64 20 28 32 31 | 68 29 0d 0a 41 5a 5f 73 |uted (21|h)..AZ_s|
|00001a10| 74 72 09 09 64 62 09 22 | 3f 3f 3f 3f 3f 3f 3f 3f |tr..db."|????????|
|00001a20| 3f 3f 3f 3f 3f 3f 3f 3f | 3f 3f 3f 3f 3f 3f 3f 3f |????????|????????|
|00001a30| 3f 3f 3f 3f 3f 3f 3f 3f | 3f 3f 3f 3f 3f 3f 3f 3f |????????|????????|
|00001a40| 3f 3f 3f 3f 3f 3f 3f 3f | 3f 3f 3f 3f 3f 3f 3f 3f |????????|????????|
|00001a50| 3f 3f 3f 3f 3f 3f 3f 3f | 3f 22 0d 0a 41 53 43 49 |????????|?"..ASCI|
|00001a60| 49 5a 09 09 65 6e 64 73 | 0d 0a 0d 0a 09 73 75 62 |IZ..ends|.....sub|
|00001a70| 74 74 6c 20 20 52 65 73 | 69 64 65 6e 74 20 53 74 |ttl Res|ident St|
|00001a80| 6f 72 61 67 65 0d 0a 09 | 70 61 67 65 0d 0a 0d 0a |orage...|page....|
|00001a90| 3b 0d 0a 3b 20 54 68 69 | 6e 67 73 20 64 65 66 69 |;..; Thi|ngs defi|
|00001aa0| 6e 65 64 20 68 65 72 65 | 20 61 72 65 20 70 72 65 |ned here| are pre|
|00001ab0| 73 65 6e 74 20 65 76 65 | 6e 20 61 66 74 65 72 20 |sent eve|n after |
|00001ac0| 77 65 20 62 65 63 6f 6d | 65 20 72 65 73 69 64 65 |we becom|e reside|
|00001ad0| 6e 74 20 61 6e 64 0d 0a | 3b 20 65 78 69 74 20 74 |nt and..|; exit t|
|00001ae0| 6f 20 44 4f 53 2e 0d 0a | 3b 0d 0a 0d 0a 3b 0d 0a |o DOS...|;....;..|
|00001af0| 3b 20 44 65 66 69 6e 69 | 74 69 6f 6e 73 20 75 73 |; Defini|tions us|
|00001b00| 65 64 20 62 79 20 70 72 | 69 6e 74 5f 65 64 69 74 |ed by pr|int_edit|
|00001b10| 28 29 0d 0a 3b 0d 0a 0d | 0a 45 64 69 74 5f 45 6e |()..;...|.Edit_En|
|00001b20| 64 09 65 71 75 09 30 66 | 30 68 09 3b 45 6e 64 20 |d.equ.0f|0h.;End |
|00001b30| 6f 66 20 69 6e 70 75 74 | 20 6c 69 6e 65 0d 0a 45 |of input| line..E|
|00001b40| 64 69 74 5f 42 79 74 65 | 09 65 71 75 09 30 66 31 |dit_Byte|.equ.0f1|
|00001b50| 68 09 3b 4e 65 78 74 20 | 62 79 74 65 20 69 73 20 |h.;Next |byte is |
|00001b60| 38 2d 62 69 74 20 76 61 | 6c 75 65 20 74 6f 20 62 |8-bit va|lue to b|
|00001b70| 65 20 70 72 69 6e 74 65 | 64 20 69 6e 20 68 65 78 |e printe|d in hex|
|00001b80| 0d 0a 45 64 69 74 5f 57 | 6f 72 64 09 65 71 75 09 |..Edit_W|ord.equ.|
|00001b90| 30 66 32 68 09 3b 4e 65 | 78 74 20 32 20 62 79 74 |0f2h.;Ne|xt 2 byt|
|00001ba0| 65 73 20 61 72 65 20 31 | 36 2d 62 69 74 20 76 61 |es are 1|6-bit va|
|00001bb0| 6c 75 65 20 74 6f 20 62 | 65 20 70 72 69 6e 74 65 |lue to b|e printe|
|00001bc0| 64 20 69 6e 20 68 65 78 | 0d 0a 45 64 69 74 5f 4c |d in hex|..Edit_L|
|00001bd0| 69 6e 65 09 65 71 75 09 | 30 66 33 68 09 3b 4e 65 |ine.equ.|0f3h.;Ne|
|00001be0| 78 74 20 32 20 62 79 74 | 65 73 20 61 72 65 20 61 |xt 2 byt|es are a|
|00001bf0| 64 64 72 65 73 73 20 6f | 66 20 73 74 72 69 6e 67 |ddress o|f string|
|00001c00| 20 66 6f 72 20 70 72 69 | 6e 74 5f 6c 69 6e 65 28 | for pri|nt_line(|
|00001c10| 29 0d 0a 45 64 69 74 5f | 43 61 6c 6c 09 65 71 75 |)..Edit_|Call.equ|
|00001c20| 09 30 66 34 68 09 3b 4e | 65 78 74 20 62 79 74 65 |.0f4h.;N|ext byte|
|00001c30| 20 69 73 20 41 48 20 61 | 72 67 2c 20 6e 65 78 74 | is AH a|rg, next|
|00001c40| 20 32 20 61 72 65 20 44 | 58 20 61 72 67 2c 0d 0a | 2 are D|X arg,..|
|00001c50| 09 09 09 09 3b 61 6e 64 | 20 6e 65 78 74 20 32 20 |....;and| next 2 |
|00001c60| 61 72 65 20 73 75 62 72 | 6f 75 74 69 6e 65 20 61 |are subr|outine a|
|00001c70| 64 64 72 65 73 73 20 74 | 6f 20 63 61 6c 6c 0d 0a |ddress t|o call..|
|00001c80| 45 64 69 74 5f 44 65 63 | 38 09 65 71 75 09 30 66 |Edit_Dec|8.equ.0f|
|00001c90| 35 68 09 3b 4e 65 78 74 | 20 62 79 74 65 20 69 73 |5h.;Next| byte is|
|00001ca0| 20 38 2d 62 69 74 20 76 | 61 6c 75 65 20 74 6f 20 | 8-bit v|alue to |
|00001cb0| 62 65 20 70 72 69 6e 74 | 65 64 20 61 73 20 64 65 |be print|ed as de|
|00001cc0| 63 69 6d 61 6c 0d 0a 45 | 64 69 74 5f 44 65 63 31 |cimal..E|dit_Dec1|
|00001cd0| 36 09 65 71 75 09 30 66 | 36 68 09 3b 4e 65 78 74 |6.equ.0f|6h.;Next|
|00001ce0| 20 32 20 62 79 74 65 73 | 20 61 72 65 20 31 36 2d | 2 bytes| are 16-|
|00001cf0| 62 69 74 20 76 61 6c 75 | 65 20 74 6f 20 62 65 20 |bit valu|e to be |
|00001d00| 70 72 69 6e 74 65 64 20 | 61 73 20 64 65 63 69 6d |printed |as decim|
|00001d10| 61 6c 0d 0a 45 64 69 74 | 5f 53 6b 69 70 09 65 71 |al..Edit|_Skip.eq|
|00001d20| 75 09 30 66 37 68 09 3b | 49 67 6e 6f 72 65 20 74 |u.0f7h.;|Ignore t|
|00001d30| 68 69 73 20 62 79 74 65 | 20 28 64 6f 6e 27 74 20 |his byte| (don't |
|00001d40| 64 69 73 70 6c 61 79 20 | 69 74 29 0d 0a 0d 0a 3b |display |it)....;|
|00001d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001d60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001d80| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0a 3b 0d 0a 3b 20 49 |********|..;..; I|
|00001d90| 6e 64 65 78 20 74 61 62 | 6c 65 20 70 6f 69 6e 74 |ndex tab|le point|
|00001da0| 69 6e 67 20 74 6f 20 61 | 6c 6c 20 49 43 54 27 73 |ing to a|ll ICT's|
|00001db0| 0d 0a 3b 0d 0a 3b 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;..;**|********|
|00001dc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0a |********|******..|
|00001df0| 0d 0a 69 63 74 5f 69 6e | 64 65 78 20 6c 61 62 65 |..ict_in|dex labe|
|00001e00| 6c 20 77 6f 72 64 0d 0a | 09 64 77 20 20 20 20 20 |l word..|.dw |
|00001e10| 20 6f 66 66 73 65 74 20 | 69 63 74 30 0d 0a 09 64 | offset |ict0...d|
|00001e20| 77 20 20 20 20 20 20 6f | 66 66 73 65 74 20 69 63 |w o|ffset ic|
|00001e30| 74 31 0d 0a 09 64 77 20 | 20 20 20 20 20 6f 66 66 |t1...dw | off|
|00001e40| 73 65 74 20 69 63 74 32 | 0d 0a 09 64 77 20 20 20 |set ict2|...dw |
|00001e50| 20 20 20 6f 66 66 73 65 | 74 20 69 63 74 33 0d 0a | offse|t ict3..|
|00001e60| 09 64 77 20 20 20 20 20 | 20 6f 66 66 73 65 74 20 |.dw | offset |
|00001e70| 69 63 74 34 0d 0a 09 64 | 77 20 20 20 20 20 20 6f |ict4...d|w o|
|00001e80| 66 66 73 65 74 20 69 63 | 74 35 0d 0a 09 64 77 20 |ffset ic|t5...dw |
|00001e90| 20 20 20 20 20 6f 66 66 | 73 65 74 20 69 63 74 36 | off|set ict6|
|00001ea0| 0d 0a 09 64 77 20 20 20 | 20 20 20 6f 66 66 73 65 |...dw | offse|
|00001eb0| 74 20 69 63 74 37 0d 0a | 0d 0a 3b 2a 2a 2a 2a 2a |t ict7..|..;*****|
|00001ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ed0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ee0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ef0| 2a 2a 2a 0d 0a 3b 0d 0a | 3b 20 49 6e 64 65 78 20 |***..;..|; Index |
|00001f00| 74 61 62 6c 65 20 70 6f | 69 6e 74 69 6e 67 20 74 |table po|inting t|
|00001f10| 6f 20 61 6c 6c 20 68 61 | 6e 64 6c 65 72 73 0d 0a |o all ha|ndlers..|
|00001f20| 3b 0d 0a 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;..;****|********|
|00001f30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001f50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0a 0d 0a |********|****....|
|00001f60| 68 6e 64 6c 72 5f 69 6e | 64 65 78 20 6c 61 62 65 |hndlr_in|dex labe|
|00001f70| 6c 20 77 6f 72 64 0d 0a | 09 64 77 20 20 20 20 20 |l word..|.dw |
|00001f80| 20 6f 66 66 73 65 74 20 | 68 61 6e 64 6c 65 72 30 | offset |handler0|
|00001f90| 0d 0a 09 64 77 20 20 20 | 20 20 20 6f 66 66 73 65 |...dw | offse|
|00001fa0| 74 20 68 61 6e 64 6c 65 | 72 31 0d 0a 09 64 77 20 |t handle|r1...dw |
|00001fb0| 20 20 20 20 20 6f 66 66 | 73 65 74 20 68 61 6e 64 | off|set hand|
|00001fc0| 6c 65 72 32 0d 0a 09 64 | 77 20 20 20 20 20 20 6f |ler2...d|w o|
|00001fd0| 66 66 73 65 74 20 68 61 | 6e 64 6c 65 72 33 0d 0a |ffset ha|ndler3..|
|00001fe0| 09 64 77 20 20 20 20 20 | 20 6f 66 66 73 65 74 20 |.dw | offset |
|00001ff0| 68 61 6e 64 6c 65 72 34 | 0d 0a 09 64 77 20 20 20 |handler4|...dw |
|00002000| 20 20 20 6f 66 66 73 65 | 74 20 68 61 6e 64 6c 65 | offse|t handle|
|00002010| 72 35 0d 0a 09 64 77 20 | 20 20 20 20 20 6f 66 66 |r5...dw | off|
|00002020| 73 65 74 20 68 61 6e 64 | 6c 65 72 36 0d 0a 09 64 |set hand|ler6...d|
|00002030| 77 20 20 20 20 20 20 6f | 66 66 73 65 74 20 68 61 |w o|ffset ha|
|00002040| 6e 64 6c 65 72 37 0d 0a | 0d 0a 3b 2a 2a 2a 2a 2a |ndler7..|..;*****|
|00002050| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002060| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002070| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002080| 2a 2a 2a 0d 0a 3b 0d 0a | 3b 20 54 72 61 63 65 20 |***..;..|; Trace |
|00002090| 74 61 62 6c 65 20 69 74 | 73 65 6c 66 2c 20 77 69 |table it|self, wi|
|000020a0| 74 68 20 70 6c 65 6e 74 | 79 20 6f 66 20 72 6f 6f |th plent|y of roo|
|000020b0| 6d 0d 0a 3b 0d 0a 3b 2a | 2a 2a 2a 2a 2a 2a 2a 2a |m..;..;*|********|
|000020c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000020d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000020e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000020f0| 0a 0d 0a 6e 65 78 74 5f | 62 79 74 65 20 20 20 20 |...next_|byte |
|00002100| 20 20 20 64 77 20 20 20 | 20 20 20 6f 66 66 73 65 | dw | offse|
|00002110| 74 20 74 72 61 63 65 5f | 74 61 62 6c 65 20 20 20 |t trace_|table |
|00002120| 20 20 20 3b 61 64 64 72 | 65 73 73 20 6f 66 20 6e | ;addr|ess of n|
|00002130| 65 78 74 20 65 6e 74 72 | 79 0d 0a 0d 0a 74 72 61 |ext entr|y....tra|
|00002140| 63 65 5f 74 61 62 6c 65 | 20 20 20 20 20 64 62 20 |ce_table| db |
|00002150| 20 20 20 20 20 74 72 61 | 63 65 5f 73 69 7a 65 20 | tra|ce_size |
|00002160| 64 75 70 20 28 30 29 0d | 0a 0d 0a 6c 61 73 74 5f |dup (0).|...last_|
|00002170| 62 79 74 65 20 20 20 20 | 20 20 20 64 62 20 20 20 |byte | db |
|00002180| 20 20 20 38 30 20 64 75 | 70 20 28 30 29 20 20 20 | 80 du|p (0) |
|00002190| 20 20 20 09 3b 73 6c 6f | 70 70 79 20 77 61 79 20 | .;slo|ppy way |
|000021a0| 6f 66 20 68 61 6e 64 6c | 69 6e 67 20 6f 76 65 72 |of handl|ing over|
|000021b0| 66 6c 6f 77 0d 0a 0d 0a | 3b 2a 2a 2a 2a 2a 2a 2a |flow....|;*******|
|000021c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021f0| 2a 0d 0a 3b 0d 0a 3b 20 | 54 61 62 6c 65 20 6f 66 |*..;..; |Table of|
|00002200| 20 73 69 7a 65 73 20 66 | 6f 72 20 65 61 63 68 20 | sizes f|or each |
|00002210| 74 72 61 63 65 20 72 65 | 63 6f 72 64 20 74 79 70 |trace re|cord typ|
|00002220| 65 2e 20 4d 75 73 74 20 | 62 65 20 69 6e 20 73 61 |e. Must |be in sa|
|00002230| 6d 65 0d 0a 3b 20 6f 72 | 64 65 72 20 61 73 20 72 |me..; or|der as r|
|00002240| 65 63 6f 72 64 20 74 79 | 70 65 73 20 74 68 65 6d |ecord ty|pes them|
|00002250| 73 65 6c 76 65 73 2e 0d | 0a 3b 0d 0a 3b 2a 2a 2a |selves..|.;..;***|
|00002260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002290| 2a 2a 2a 2a 2a 0d 0a 0d | 0a 72 65 63 5f 73 69 7a |*****...|.rec_siz|
|000022a0| 65 73 09 6c 61 62 65 6c | 09 77 6f 72 64 0d 0a 09 |es.label|.word...|
|000022b0| 09 64 77 09 73 69 7a 65 | 20 42 45 46 4f 52 45 0d |.dw.size| BEFORE.|
|000022c0| 0a 09 09 64 77 09 73 69 | 7a 65 20 41 46 54 45 52 |...dw.si|ze AFTER|
|000022d0| 0d 0a 09 09 64 77 09 73 | 69 7a 65 20 46 43 42 0d |....dw.s|ize FCB.|
|000022e0| 0a 09 09 64 77 09 73 69 | 7a 65 20 41 53 43 49 49 |...dw.si|ze ASCII|
|000022f0| 5a 0d 0a 0d 0a 3b 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |Z....;**|********|
|00002300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0a |********|******..|
|00002330| 3b 0d 0a 3b 20 54 61 62 | 6c 65 20 6f 66 20 49 4e |;..; Tab|le of IN|
|00002340| 54 20 32 31 68 20 66 75 | 6e 63 74 69 6f 6e 73 20 |T 21h fu|nctions |
|00002350| 74 68 61 74 20 69 6e 63 | 6c 75 64 65 20 61 6e 20 |that inc|lude an |
|00002360| 46 43 42 20 70 6f 69 6e | 74 65 72 20 69 6e 20 44 |FCB poin|ter in D|
|00002370| 53 3a 44 58 0d 0a 3b 0d | 0a 3b 2a 2a 2a 2a 2a 2a |S:DX..;.|.;******|
|00002380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000023b0| 2a 2a 0d 0a 0d 0a 46 43 | 42 5f 74 61 62 6c 65 09 |**....FC|B_table.|
|000023c0| 6c 61 62 65 6c 09 62 79 | 74 65 0d 0a 09 09 64 62 |label.by|te....db|
|000023d0| 09 30 66 68 2c 31 30 68 | 2c 31 31 68 2c 31 32 68 |.0fh,10h|,11h,12h|
|000023e0| 2c 31 33 68 2c 31 34 68 | 2c 31 35 68 2c 31 36 68 |,13h,14h|,15h,16h|
|000023f0| 2c 31 37 68 2c 32 31 68 | 2c 32 32 68 2c 32 33 68 |,17h,21h|,22h,23h|
|00002400| 2c 32 34 68 2c 32 37 68 | 2c 32 38 68 0d 0a 46 43 |,24h,27h|,28h..FC|
|00002410| 42 5f 65 6e 64 09 09 6c | 61 62 65 6c 09 62 79 74 |B_end..l|abel.byt|
|00002420| 65 0d 0a 0d 0a 0d 0a 3b | 2a 2a 2a 2a 2a 2a 2a 2a |e......;|********|
|00002430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002460| 0d 0a 3b 0d 0a 3b 20 54 | 61 62 6c 65 20 6f 66 20 |..;..; T|able of |
|00002470| 49 4e 54 20 32 31 68 20 | 66 75 6e 63 74 69 6f 6e |INT 21h |function|
|00002480| 73 20 74 68 61 74 20 69 | 6e 63 6c 75 64 65 20 61 |s that i|nclude a|
|00002490| 6e 20 41 53 43 49 49 5a | 20 70 6f 69 6e 74 65 72 |n ASCIIZ| pointer|
|000024a0| 20 69 6e 20 44 53 3a 44 | 58 0d 0a 3b 0d 0a 3b 2a | in DS:D|X..;..;*|
|000024b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024e0| 2a 2a 2a 2a 2a 2a 2a 0d | 0a 0d 0a 41 53 43 49 49 |*******.|...ASCII|
|000024f0| 5a 5f 74 61 62 6c 65 09 | 6c 61 62 65 6c 09 62 79 |Z_table.|label.by|
|00002500| 74 65 0d 0a 09 09 64 62 | 09 34 62 68 2c 33 63 68 |te....db|.4bh,3ch|
|00002510| 2c 33 64 68 2c 34 31 68 | 2c 34 33 68 2c 34 65 68 |,3dh,41h|,43h,4eh|
|00002520| 2c 35 36 68 2c 35 61 68 | 2c 35 62 68 2c 33 39 68 |,56h,5ah|,5bh,39h|
|00002530| 2c 33 61 68 2c 33 62 68 | 0d 0a 41 53 43 49 49 5a |,3ah,3bh|..ASCIIZ|
|00002540| 5f 65 6e 64 09 6c 61 62 | 65 6c 09 62 79 74 65 0d |_end.lab|el.byte.|
|00002550| 0a 0d 0a 3b 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...;****|********|
|00002560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0a 3b 0d |********|****..;.|
|00002590| 0a 3b 20 4d 69 73 63 20 | 73 74 6f 72 61 67 65 0d |.; Misc |storage.|
|000025a0| 0a 3b 0d 0a 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;..;***|********|
|000025b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000025c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000025d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 0a 0d |********|*****...|
|000025e0| 0a 6f 75 72 5f 63 73 20 | 20 20 20 20 20 20 20 20 |.our_cs | |
|000025f0| 20 64 77 20 20 20 20 20 | 20 30 20 20 20 20 20 20 | dw | 0 |
|00002600| 20 09 09 3b 6f 75 72 20 | 43 53 20 28 6e 6f 74 20 | ..;our |CS (not |
|00002610| 66 6f 72 20 73 65 67 6d | 65 6e 74 20 63 68 65 63 |for segm|ent chec|
|00002620| 6b 69 6e 67 29 0d 0a 74 | 65 73 74 5f 63 73 20 20 |king)..t|est_cs |
|00002630| 20 20 20 20 20 20 20 64 | 77 20 20 20 20 20 20 30 | d|w 0|
|00002640| 20 20 20 20 20 20 20 09 | 09 3b 6f 75 72 20 6e 6f | .|.;our no|
|00002650| 72 6d 61 6c 69 7a 65 64 | 20 43 53 20 28 66 6f 72 |rmalized| CS (for|
|00002660| 20 73 65 67 6d 65 6e 74 | 20 63 68 65 63 6b 69 6e | segment| checkin|
|00002670| 67 29 0d 0a 6c 6f 6e 67 | 5f 61 64 64 72 20 20 20 |g)..long|_addr |
|00002680| 20 20 20 20 64 64 20 20 | 20 20 20 20 30 20 20 20 | dd | 0 |
|00002690| 20 20 20 20 09 09 3b 66 | 6f 72 20 6c 6f 6e 67 20 | ..;f|or long |
|000026a0| 4a 4d 50 27 73 20 61 6e | 64 20 43 41 4c 4c 73 0d |JMP's an|d CALLs.|
|000026b0| 0a 6f 75 72 5f 49 43 54 | 20 20 20 20 20 20 20 20 |.our_ICT| |
|000026c0| 20 64 77 20 20 20 20 20 | 20 30 20 20 20 20 20 20 | dw | 0 |
|000026d0| 20 09 09 3b 66 6f 72 20 | 71 75 69 63 6b 20 73 61 | ..;for |quick sa|
|000026e0| 76 65 20 6f 66 20 6f 75 | 72 20 49 43 54 20 70 6f |ve of ou|r ICT po|
|000026f0| 69 6e 74 65 72 0d 0a 6f | 75 72 5f 66 6c 61 67 73 |inter..o|ur_flags|
|00002700| 09 64 62 09 30 09 09 09 | 3b 66 6f 72 20 71 75 69 |.db.0...|;for qui|
|00002710| 63 6b 20 73 61 76 65 20 | 6f 66 20 6f 75 72 20 49 |ck save |of our I|
|00002720| 43 54 20 66 6c 61 67 73 | 0d 0a 70 72 74 5f 62 61 |CT flags|..prt_ba|
|00002730| 73 65 09 64 77 09 30 09 | 09 09 3b 62 61 73 65 20 |se.dw.0.|..;base |
|00002740| 49 2f 4f 20 61 64 64 72 | 65 73 73 20 6f 66 20 70 |I/O addr|ess of p|
|00002750| 72 69 6e 74 65 72 0d 0a | 70 72 74 5f 66 6c 61 67 |rinter..|prt_flag|
|00002760| 09 64 62 09 30 09 09 09 | 3b 6e 6f 6e 2d 7a 65 72 |.db.0...|;non-zer|
|00002770| 6f 20 74 6f 20 73 65 6e | 64 20 6f 75 74 70 75 74 |o to sen|d output|
|00002780| 20 74 6f 20 70 72 69 6e | 74 65 72 0d 0a 09 09 64 | to prin|ter....d|
|00002790| 62 09 32 35 35 20 64 75 | 70 20 28 30 29 09 09 3b |b.255 du|p (0)..;|
|000027a0| 73 74 61 63 6b 20 66 6f | 72 20 50 65 72 69 73 63 |stack fo|r Perisc|
|000027b0| 6f 70 65 20 49 6e 74 20 | 68 61 6e 64 6c 65 72 0d |ope Int |handler.|
|000027c0| 0a 6f 75 72 5f 74 6f 73 | 09 09 64 77 09 30 09 09 |.our_tos|..dw.0..|
|000027d0| 09 3b 74 6f 70 20 6f 66 | 20 74 68 61 74 20 73 74 |.;top of| that st|
|000027e0| 61 63 6b 0d 0a 73 74 61 | 63 6b 5f 69 6e 75 73 65 |ack..sta|ck_inuse|
|000027f0| 09 64 62 09 30 09 09 09 | 3b 6e 6f 6e 2d 7a 65 72 |.db.0...|;non-zer|
|00002800| 6f 20 77 68 65 6e 20 61 | 62 6f 76 65 20 73 74 61 |o when a|bove sta|
|00002810| 63 6b 20 69 73 20 69 6e | 20 75 73 65 0d 0a 73 61 |ck is in| use..sa|
|00002820| 76 65 5f 73 73 09 09 64 | 77 09 30 09 09 09 3b 66 |ve_ss..d|w.0...;f|
|00002830| 6f 72 20 73 74 61 63 6b | 2d 73 77 61 70 70 69 6e |or stack|-swappin|
|00002840| 67 0d 0a 73 61 76 65 5f | 73 70 09 09 64 77 09 30 |g..save_|sp..dw.0|
|00002850| 0d 0a 0d 0a 0d 0a 09 73 | 75 62 74 74 6c 20 20 49 |.......s|ubttl I|
|00002860| 6e 74 65 72 72 75 70 74 | 20 54 72 61 70 70 65 72 |nterrupt| Trapper|
|00002870| 73 20 61 6e 64 20 54 72 | 61 63 69 6e 67 0d 0a 09 |s and Tr|acing...|
|00002880| 70 61 67 65 0d 0a 0d 0a | 3b 2a 2a 2a 2a 2a 2a 2a |page....|;*******|
|00002890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000028c0| 2a 0d 0a 3b 0d 0a 3b 20 | 49 6e 74 65 72 72 75 70 |*..;..; |Interrup|
|000028d0| 74 20 68 61 6e 64 6c 65 | 72 20 65 6e 74 72 79 20 |t handle|r entry |
|000028e0| 70 6f 69 6e 74 73 20 66 | 6f 72 20 65 61 63 68 20 |points f|or each |
|000028f0| 49 43 54 0d 0a 3b 0d 0a | 3b 2a 2a 2a 2a 2a 2a 2a |ICT..;..|;*******|
|00002900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002920| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002930| 2a 0d 0a 0d 0a 68 61 6e | 64 6c 65 72 20 6d 61 63 |*....han|dler mac|
|00002940| 72 6f 20 20 20 69 63 74 | 6c 6f 63 0d 0a 09 63 6c |ro ict|loc...cl|
|00002950| 69 09 09 09 09 3b 2a 2a | 2a 20 4e 4f 20 49 4e 54 |i....;**|* NO INT|
|00002960| 45 52 52 55 50 54 53 21 | 21 21 20 2a 2a 2a 0d 0a |ERRUPTS!|!! ***..|
|00002970| 09 70 75 73 68 20 20 20 | 20 62 70 20 20 20 20 20 |.push | bp |
|00002980| 20 09 09 3b 73 61 76 65 | 20 73 74 61 63 6b 20 70 | ..;save| stack p|
|00002990| 6f 69 6e 74 65 72 2c 20 | 73 6f 20 74 68 61 74 2e |ointer, |so that.|
|000029a0| 2e 2e 0d 0a 09 6d 6f 76 | 20 20 20 20 20 62 70 2c |.....mov| bp,|
|000029b0| 73 70 20 20 20 09 09 3b | 2e 2e 2e 77 65 20 63 61 |sp ..;|...we ca|
|000029c0| 6e 20 72 65 66 20 74 68 | 69 6e 67 73 20 76 69 61 |n ref th|ings via|
|000029d0| 20 42 50 0d 0a 09 70 75 | 73 68 20 20 20 20 62 78 | BP...pu|sh bx|
|000029e0| 20 20 20 20 20 20 09 09 | 3b 73 65 74 20 42 58 20 | ..|;set BX |
|000029f0| 74 6f 20 70 6f 69 6e 74 | 20 74 6f 20 49 43 54 0d |to point| to ICT.|
|00002a00| 0a 09 6d 6f 76 20 20 20 | 20 20 62 78 2c 6f 66 66 |..mov | bx,off|
|00002a10| 73 65 74 20 63 73 3a 69 | 63 74 6c 6f 63 0d 0a 09 |set cs:i|ctloc...|
|00002a20| 6a 6d 70 20 20 20 20 20 | 73 68 6f 72 74 20 69 6e |jmp |short in|
|00002a30| 74 5f 63 6f 6d 6d 6f 6e | 09 3b 67 6f 74 6f 20 63 |t_common|.;goto c|
|00002a40| 6f 6d 6d 6f 6e 20 63 6f | 64 65 0d 0a 09 65 6e 64 |ommon co|de...end|
|00002a50| 6d 0d 0a 0d 0a 69 6e 74 | 65 72 72 75 70 74 20 70 |m....int|errupt p|
|00002a60| 72 6f 63 20 20 66 61 72 | 0d 0a 0d 0a 68 61 6e 64 |roc far|....hand|
|00002a70| 6c 65 72 30 3a 0d 0a 09 | 68 61 6e 64 6c 65 72 20 |ler0:...|handler |
|00002a80| 69 63 74 30 0d 0a 0d 0a | 68 61 6e 64 6c 65 72 31 |ict0....|handler1|
|00002a90| 3a 0d 0a 09 68 61 6e 64 | 6c 65 72 20 69 63 74 31 |:...hand|ler ict1|
|00002aa0| 0d 0a 0d 0a 68 61 6e 64 | 6c 65 72 32 3a 0d 0a 09 |....hand|ler2:...|
|00002ab0| 68 61 6e 64 6c 65 72 20 | 69 63 74 32 0d 0a 0d 0a |handler |ict2....|
|00002ac0| 68 61 6e 64 6c 65 72 33 | 3a 0d 0a 09 68 61 6e 64 |handler3|:...hand|
|00002ad0| 6c 65 72 20 69 63 74 33 | 0d 0a 0d 0a 68 61 6e 64 |ler ict3|....hand|
|00002ae0| 6c 65 72 34 3a 0d 0a 09 | 68 61 6e 64 6c 65 72 20 |ler4:...|handler |
|00002af0| 69 63 74 34 0d 0a 0d 0a | 68 61 6e 64 6c 65 72 35 |ict4....|handler5|
|00002b00| 3a 0d 0a 09 68 61 6e 64 | 6c 65 72 20 69 63 74 35 |:...hand|ler ict5|
|00002b10| 0d 0a 0d 0a 68 61 6e 64 | 6c 65 72 36 3a 0d 0a 09 |....hand|ler6:...|
|00002b20| 68 61 6e 64 6c 65 72 20 | 69 63 74 36 0d 0a 0d 0a |handler |ict6....|
|00002b30| 68 61 6e 64 6c 65 72 37 | 3a 0d 0a 09 68 61 6e 64 |handler7|:...hand|
|00002b40| 6c 65 72 20 69 63 74 37 | 0d 0a 0d 0a 0d 0a 69 6e |ler ict7|......in|
|00002b50| 74 5f 63 6f 6d 6d 6f 6e | 3a 0d 0a 0d 0a 09 70 75 |t_common|:.....pu|
|00002b60| 73 68 20 20 20 20 61 78 | 0d 0a 0d 0a 3b 2a 2a 2a |sh ax|....;***|
|00002b70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ba0| 2a 2a 2a 2a 2a 0d 0a 3b | 0d 0a 3b 20 43 6f 6d 6d |*****..;|..; Comm|
|00002bb0| 6f 6e 20 63 6f 64 65 20 | 66 6f 72 20 61 6c 6c 20 |on code |for all |
|00002bc0| 74 72 61 70 70 65 64 20 | 49 4e 54 27 73 2e 0d 0a |trapped |INT's...|
|00002bd0| 3b 0d 0a 3b 20 41 74 20 | 74 68 69 73 20 70 6f 69 |;..; At |this poi|
|00002be0| 6e 74 3a 0d 0a 3b 0d 0a | 3b 20 20 20 42 58 20 68 |nt:..;..|; BX h|
|00002bf0| 6f 6c 64 73 20 49 43 54 | 20 61 64 64 72 65 73 73 |olds ICT| address|
|00002c00| 2e 0d 0a 3b 20 20 20 42 | 50 20 70 6f 69 6e 74 73 |...; B|P points|
|00002c10| 20 74 6f 20 73 74 61 63 | 6b 20 61 73 20 66 6f 6c | to stac|k as fol|
|00002c20| 6c 6f 77 73 3a 0d 0a 3b | 0d 0a 3b 20 20 20 20 20 |lows:..;|..; |
|00002c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 41 58 | | AX|
|00002c40| 0d 0a 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..; | |
|00002c50| 20 20 20 20 20 20 42 58 | 0d 0a 3b 20 20 20 20 20 | BX|..; |
|00002c60| 20 28 42 50 29 20 2d 2d | 2d 2d 3e 20 20 20 42 50 | (BP) --|--> BP|
|00002c70| 0d 0a 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |..; | |
|00002c80| 20 20 2b 32 20 20 49 50 | 20 20 20 20 6f 66 20 63 | +2 IP| of c|
|00002c90| 61 6c 6c 65 72 0d 0a 3b | 20 20 20 20 20 20 20 20 |aller..;| |
|00002ca0| 20 20 20 20 20 20 20 2b | 34 20 20 43 53 20 20 20 | +|4 CS |
|00002cb0| 20 6f 66 20 63 61 6c 6c | 65 72 0d 0a 3b 20 20 20 | of call|er..; |
|00002cc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2b 36 20 20 | | +6 |
|00002cd0| 46 4c 41 47 53 20 6f 66 | 20 63 61 6c 6c 65 72 0d |FLAGS of| caller.|
|00002ce0| 0a 3b 0d 0a 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;..;***|********|
|00002cf0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 0a 0d |********|*****...|
|00002d20| 0a 09 74 65 73 74 20 20 | 20 20 63 73 3a 5b 62 78 |..test | cs:[bx|
|00002d30| 5d 2e 49 43 54 5f 66 6c | 61 67 73 2c 46 5f 45 4e |].ICT_fl|ags,F_EN|
|00002d40| 41 42 4c 45 09 3b 74 72 | 61 63 69 6e 67 20 65 6e |ABLE.;tr|acing en|
|00002d50| 61 62 6c 65 64 20 66 6f | 72 20 74 68 69 73 20 49 |abled fo|r this I|
|00002d60| 43 54 3f 0d 0a 09 6a 7a | 20 20 20 20 20 20 6e 6f |CT?...jz| no|
|00002d70| 5f 74 72 61 63 65 20 20 | 20 20 20 20 20 20 09 09 |_trace | ..|
|00002d80| 3b 6e 6f 2c 20 64 6f 6e | 27 74 20 74 72 61 63 65 |;no, don|'t trace|
|00002d90| 20 69 74 0d 0a 09 63 6d | 70 20 20 20 20 20 61 68 | it...cm|p ah|
|00002da0| 2c 63 73 3a 5b 62 78 5d | 2e 49 43 54 5f 41 48 5f |,cs:[bx]|.ICT_AH_|
|00002db0| 6c 6f 20 20 20 20 09 3b | 69 73 20 41 48 20 77 69 |lo .;|is AH wi|
|00002dc0| 74 68 69 6e 20 62 6f 75 | 6e 64 73 3f 0d 0a 09 6a |thin bou|nds?...j|
|00002dd0| 62 20 20 20 20 20 20 6e | 6f 5f 74 72 61 63 65 20 |b n|o_trace |
|00002de0| 20 20 20 20 20 20 20 09 | 09 3b 6e 6f 2c 20 64 6f | .|.;no, do|
|00002df0| 6e 27 74 20 74 72 61 63 | 65 20 69 74 0d 0a 09 63 |n't trac|e it...c|
|00002e00| 6d 70 20 20 20 20 20 61 | 68 2c 63 73 3a 5b 62 78 |mp a|h,cs:[bx|
|00002e10| 5d 2e 49 43 54 5f 41 48 | 5f 68 69 0d 0a 09 6a 61 |].ICT_AH|_hi...ja|
|00002e20| 20 20 20 20 20 20 6e 6f | 5f 74 72 61 63 65 20 20 | no|_trace |
|00002e30| 20 20 20 20 20 20 09 09 | 3b 6e 6f 2c 20 64 6f 6e | ..|;no, don|
|00002e40| 27 74 20 74 72 61 63 65 | 20 69 74 0d 0a 0d 0a 3b |'t trace| it....;|
|00002e50| 0d 0a 3b 20 53 65 65 20 | 69 66 20 77 65 20 73 68 |..; See |if we sh|
|00002e60| 6f 75 6c 64 20 63 68 65 | 63 6b 20 63 61 6c 6c 65 |ould che|ck calle|
|00002e70| 72 27 73 20 43 53 3a 49 | 50 0d 0a 3b 0d 0a 0d 0a |r's CS:I|P..;....|
|00002e80| 09 74 65 73 74 20 20 20 | 20 63 73 3a 5b 62 78 5d |.test | cs:[bx]|
|00002e90| 2e 49 43 54 5f 66 6c 61 | 67 73 2c 46 5f 42 45 4c |.ICT_fla|gs,F_BEL|
|00002ea0| 4f 57 2b 46 5f 52 4f 4d | 0d 0a 0d 0a 09 6a 7a 20 |OW+F_ROM|.....jz |
|00002eb0| 20 20 20 20 20 69 6e 74 | 5f 63 6f 6d 6d 6f 6e 33 | int|_common3|
|00002ec0| 20 20 20 20 20 09 3b 6e | 6f 20 73 65 67 6d 65 6e | .;n|o segmen|
|00002ed0| 74 20 63 68 65 63 6b 73 | 20 74 6f 20 62 65 20 6d |t checks| to be m|
|00002ee0| 61 64 65 0d 0a 09 6d 6f | 76 20 20 20 20 20 61 78 |ade...mo|v ax|
|00002ef0| 2c 32 5b 62 70 5d 09 09 | 3b 67 65 74 20 63 61 6c |,2[bp]..|;get cal|
|00002f00| 6c 65 72 27 73 20 49 50 | 0d 0a 09 73 68 72 20 20 |ler's IP|...shr |
|00002f10| 20 20 20 61 78 2c 31 20 | 20 20 20 09 09 3b 70 72 | ax,1 | ..;pr|
|00002f20| 65 70 61 72 65 20 74 6f | 20 6e 6f 72 6d 61 6c 69 |epare to| normali|
|00002f30| 7a 65 20 73 65 67 6d 65 | 6e 74 20 23 0d 0a 09 73 |ze segme|nt #...s|
|00002f40| 68 72 20 20 20 20 20 61 | 78 2c 31 0d 0a 09 73 68 |hr a|x,1...sh|
|00002f50| 72 20 20 20 20 20 61 78 | 2c 31 0d 0a 09 73 68 72 |r ax|,1...shr|
|00002f60| 20 20 20 20 20 61 78 2c | 31 0d 0a 09 61 64 64 20 | ax,|1...add |
|00002f70| 20 20 20 20 61 78 2c 34 | 5b 62 70 5d 09 09 3b 61 | ax,4|[bp]..;a|
|00002f80| 64 64 20 69 6e 20 73 65 | 67 6d 65 6e 74 0d 0a 0d |dd in se|gment...|
|00002f90| 0a 3b 0d 0a 3b 20 2d 2d | 2d 2d 2d 2d 20 41 58 20 |.;..; --|---- AX |
|00002fa0| 6e 6f 77 20 65 71 75 61 | 6c 73 20 6e 6f 72 6d 61 |now equa|ls norma|
|00002fb0| 6c 69 7a 65 64 20 73 65 | 67 6d 65 6e 74 20 23 0d |lized se|gment #.|
|00002fc0| 0a 3b 0d 0a 0d 0a 09 74 | 65 73 74 20 20 20 20 63 |.;.....t|est c|
|00002fd0| 73 3a 5b 62 78 5d 2e 49 | 43 54 5f 66 6c 61 67 73 |s:[bx].I|CT_flags|
|00002fe0| 2c 46 5f 42 45 4c 4f 57 | 0d 0a 0d 0a 09 6a 7a 20 |,F_BELOW|.....jz |
|00002ff0| 20 20 20 20 20 69 6e 74 | 5f 63 6f 6d 6d 6f 6e 32 | int|_common2|
|00003000| 20 20 20 20 20 09 3b 64 | 6f 6e 27 74 20 63 68 65 | .;d|on't che|
|00003010| 63 6b 20 66 6f 72 20 69 | 6e 76 6f 6b 65 72 20 62 |ck for i|nvoker b|
|00003020| 65 6c 6f 77 20 75 73 0d | 0a 09 63 6d 70 20 20 20 |elow us.|..cmp |
|00003030| 20 20 61 78 2c 63 73 3a | 74 65 73 74 5f 63 73 20 | ax,cs:|test_cs |
|00003040| 20 20 20 09 3b 69 73 20 | 63 61 6c 6c 65 72 20 62 | .;is |caller b|
|00003050| 65 6c 6f 77 20 75 73 3f | 0d 0a 09 6a 62 20 20 20 |elow us?|...jb |
|00003060| 20 20 20 6e 6f 5f 74 72 | 61 63 65 09 09 3b 79 65 | no_tr|ace..;ye|
|00003070| 73 2c 20 64 6f 6e 27 74 | 20 74 72 61 63 65 0d 0a |s, don't| trace..|
|00003080| 0d 0a 69 6e 74 5f 63 6f | 6d 6d 6f 6e 32 3a 0d 0a |..int_co|mmon2:..|
|00003090| 0d 0a 09 74 65 73 74 20 | 20 20 20 63 73 3a 5b 62 |...test | cs:[b|
|000030a0| 78 5d 2e 49 43 54 5f 66 | 6c 61 67 73 2c 46 5f 52 |x].ICT_f|lags,F_R|
|000030b0| 4f 4d 0d 0a 0d 0a 09 6a | 7a 20 20 20 20 20 20 69 |OM.....j|z i|
|000030c0| 6e 74 5f 63 6f 6d 6d 6f | 6e 33 20 20 20 20 20 09 |nt_commo|n3 .|
|000030d0| 3b 64 6f 6e 27 74 20 63 | 68 65 63 6b 20 66 6f 72 |;don't c|heck for|
|000030e0| 20 69 6e 76 6f 6b 65 72 | 20 69 6e 20 52 4f 4d 0d | invoker| in ROM.|
|000030f0| 0a 09 63 6d 70 20 20 20 | 20 20 61 78 2c 30 63 30 |..cmp | ax,0c0|
|00003100| 30 30 68 20 20 20 20 20 | 20 20 09 3b 69 73 20 63 |00h | .;is c|
|00003110| 61 6c 6c 65 72 20 69 6e | 20 52 4f 4d 3f 0d 0a 09 |aller in| ROM?...|
|00003120| 6a 61 65 20 20 20 20 20 | 6e 6f 5f 74 72 61 63 65 |jae |no_trace|
|00003130| 09 09 3b 79 65 73 2c 20 | 64 6f 6e 27 74 20 74 72 |..;yes, |don't tr|
|00003140| 61 63 65 0d 0a 0d 0a 69 | 6e 74 5f 63 6f 6d 6d 6f |ace....i|nt_commo|
|00003150| 6e 33 3a 0d 0a 0d 0a 3b | 0d 0a 3b 20 53 65 65 20 |n3:....;|..; See |
|00003160| 69 66 20 77 65 20 68 61 | 76 65 20 72 6f 6f 6d 20 |if we ha|ve room |
|00003170| 66 6f 72 20 74 68 69 73 | 20 74 72 61 63 65 0d 0a |for this| trace..|
|00003180| 3b 0d 0a 0d 0a 09 6d 6f | 76 20 20 20 20 20 61 78 |;.....mo|v ax|
|00003190| 2c 63 73 3a 6e 65 78 74 | 5f 62 79 74 65 20 09 3b |,cs:next|_byte .;|
|000031a0| 67 65 74 20 61 64 64 72 | 65 73 73 20 6f 66 20 6e |get addr|ess of n|
|000031b0| 65 78 74 20 65 6e 74 72 | 79 0d 0a 09 70 75 73 68 |ext entr|y...push|
|000031c0| 09 61 78 0d 0a 09 61 64 | 64 09 61 78 2c 73 69 7a |.ax...ad|d.ax,siz|
|000031d0| 65 20 42 45 46 4f 52 45 | 09 09 3b 61 64 64 20 73 |e BEFORE|..;add s|
|000031e0| 69 7a 65 20 6f 66 20 74 | 68 69 73 20 72 65 63 6f |ize of t|his reco|
|000031f0| 72 64 0d 0a 09 63 6d 70 | 20 20 20 20 20 61 78 2c |rd...cmp| ax,|
|00003200| 6f 66 66 73 65 74 20 63 | 73 3a 6c 61 73 74 5f 62 |offset c|s:last_b|
|00003210| 79 74 65 20 20 3b 77 6f | 75 6c 64 20 72 65 63 6f |yte ;wo|uld reco|
|00003220| 72 64 20 66 69 74 3f 0d | 0a 09 70 6f 70 09 61 78 |rd fit?.|..pop.ax|
|00003230| 0d 0a 09 6a 62 20 20 20 | 20 20 20 79 65 73 5f 74 |...jb | yes_t|
|00003240| 72 61 63 65 20 20 20 20 | 20 20 20 09 3b 79 65 73 |race | .;yes|
|00003250| 2c 20 74 68 65 72 65 27 | 73 20 72 6f 6f 6d 0d 0a |, there'|s room..|
|00003260| 0d 0a 6e 6f 5f 74 72 61 | 63 65 3a 0d 0a 0d 0a 3b |..no_tra|ce:....;|
|00003270| 0d 0a 3b 20 57 65 20 61 | 72 65 20 6e 6f 74 20 74 |..; We a|re not t|
|00003280| 6f 20 74 72 61 63 65 20 | 74 68 69 73 20 49 4e 54 |o trace |this INT|
|00003290| 2c 20 66 6f 72 20 77 68 | 61 74 65 76 65 72 20 72 |, for wh|atever r|
|000032a0| 65 61 73 6f 6e 2e 0d 0a | 3b 20 4a 75 73 74 20 67 |eason...|; Just g|
|000032b0| 6f 20 74 6f 20 6f 72 69 | 67 69 6e 61 6c 20 68 61 |o to ori|ginal ha|
|000032c0| 6e 64 6c 65 72 2c 20 61 | 6e 64 20 72 65 74 75 72 |ndler, a|nd retur|
|000032d0| 6e 20 74 6f 20 63 61 6c | 6c 65 72 20 28 6e 6f 74 |n to cal|ler (not|
|000032e0| 20 74 6f 20 75 73 29 2e | 0d 0a 3b 0d 0a 0d 0a 09 | to us).|..;.....|
|000032f0| 6d 6f 76 20 20 20 20 20 | 61 78 2c 77 6f 72 64 20 |mov |ax,word |
|00003300| 70 74 72 20 63 73 3a 5b | 62 78 5d 2e 49 43 54 5f |ptr cs:[|bx].ICT_|
|00003310| 6f 72 69 67 5f 68 6e 64 | 6c 72 0d 0a 09 6d 6f 76 |orig_hnd|lr...mov|
|00003320| 20 20 20 20 20 77 6f 72 | 64 20 70 74 72 20 63 73 | wor|d ptr cs|
|00003330| 3a 6c 6f 6e 67 5f 61 64 | 64 72 2c 61 78 0d 0a 09 |:long_ad|dr,ax...|
|00003340| 6d 6f 76 20 20 20 20 20 | 61 78 2c 77 6f 72 64 20 |mov |ax,word |
|00003350| 70 74 72 20 63 73 3a 5b | 62 78 5d 2e 49 43 54 5f |ptr cs:[|bx].ICT_|
|00003360| 6f 72 69 67 5f 68 6e 64 | 6c 72 2b 32 0d 0a 09 6d |orig_hnd|lr+2...m|
|00003370| 6f 76 20 20 20 20 20 77 | 6f 72 64 20 70 74 72 20 |ov w|ord ptr |
|00003380| 63 73 3a 6c 6f 6e 67 5f | 61 64 64 72 2b 32 2c 61 |cs:long_|addr+2,a|
|00003390| 78 0d 0a 09 70 6f 70 20 | 20 20 20 20 61 78 0d 0a |x...pop | ax..|
|000033a0| 09 70 6f 70 20 20 20 20 | 20 62 78 0d 0a 09 70 6f |.pop | bx...po|
|000033b0| 70 20 20 20 20 20 62 70 | 0d 0a 09 6a 6d 70 20 20 |p bp|...jmp |
|000033c0| 20 20 20 63 73 3a 6c 6f | 6e 67 5f 61 64 64 72 09 | cs:lo|ng_addr.|
|000033d0| 3b 6c 65 74 20 6f 72 69 | 67 69 6e 61 6c 20 68 61 |;let ori|ginal ha|
|000033e0| 6e 64 6c 65 72 20 72 65 | 74 75 72 6e 20 74 6f 20 |ndler re|turn to |
|000033f0| 63 61 6c 6c 65 72 0d 0a | 0d 0a 0d 0a 79 65 73 5f |caller..|....yes_|
|00003400| 74 72 61 63 65 3a 0d 0a | 0d 0a 3b 0d 0a 3b 20 57 |trace:..|..;..; W|
|00003410| 65 20 61 72 65 20 74 6f | 20 70 72 6f 63 65 65 64 |e are to| proceed|
|00003420| 20 77 69 74 68 20 74 72 | 61 63 65 20 6f 66 20 74 | with tr|ace of t|
|00003430| 68 69 73 20 49 4e 54 2e | 20 4d 61 6b 65 20 74 72 |his INT.| Make tr|
|00003440| 61 63 65 20 65 6e 74 72 | 79 2e 0d 0a 3b 0d 0a 0d |ace entr|y...;...|
|00003450| 0a 09 70 75 73 68 20 20 | 20 20 65 73 0d 0a 09 70 |..push | es...p|
|00003460| 75 73 68 20 20 20 20 64 | 69 0d 0a 0d 0a 3b 0d 0a |ush d|i....;..|
|00003470| 3b 20 41 74 20 74 68 69 | 73 20 70 6f 69 6e 74 3a |; At thi|s point:|
|00003480| 0d 0a 3b 0d 0a 3b 20 20 | 20 41 58 20 68 6f 6c 64 |..;..; | AX hold|
|00003490| 73 20 6f 66 66 73 65 74 | 20 74 6f 20 6e 65 78 74 |s offset| to next|
|000034a0| 20 74 72 61 63 65 20 65 | 6e 74 72 79 2e 0d 0a 3b | trace e|ntry...;|
|000034b0| 20 20 20 42 58 20 68 6f | 6c 64 73 20 49 43 54 20 | BX ho|lds ICT |
|000034c0| 61 64 64 72 65 73 73 2e | 0d 0a 3b 20 20 20 42 50 |address.|..; BP|
|000034d0| 20 70 6f 69 6e 74 73 20 | 74 6f 20 73 74 61 63 6b | points |to stack|
|000034e0| 20 61 73 20 66 6f 6c 6c | 6f 77 73 3a 0d 0a 3b 0d | as foll|ows:..;.|
|000034f0| 0a 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.; | |
|00003500| 20 20 20 20 20 44 49 0d | 0a 3b 20 20 20 20 20 20 | DI.|.; |
|00003510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 45 53 0d | | ES.|
|00003520| 0a 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.; | |
|00003530| 20 20 20 20 20 41 58 0d | 0a 3b 20 20 20 20 20 20 | AX.|.; |
|00003540| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 42 58 0d | | BX.|
|00003550| 0a 3b 20 20 20 20 20 20 | 28 42 50 29 20 2d 2d 2d |.; |(BP) ---|
|00003560| 2d 3e 20 20 20 42 50 0d | 0a 3b 20 20 20 20 20 20 |-> BP.|.; |
|00003570| 20 20 20 20 20 20 20 20 | 20 2b 32 20 20 49 50 20 | | +2 IP |
|00003580| 20 20 20 6f 66 20 63 61 | 6c 6c 65 72 0d 0a 3b 20 | of ca|ller..; |
|00003590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2b 34 | | +4|
|000035a0| 20 20 43 53 20 20 20 20 | 6f 66 20 63 61 6c 6c 65 | CS |of calle|
|000035b0| 72 0d 0a 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |r..; | |
|000035c0| 20 20 20 2b 36 20 20 46 | 4c 41 47 53 20 6f 66 20 | +6 F|LAGS of |
|000035d0| 63 61 6c 6c 65 72 0d 0a | 3b 0d 0a 0d 0a 09 6d 6f |caller..|;.....mo|
|000035e0| 76 20 20 20 20 20 64 69 | 2c 61 78 20 20 20 09 09 |v di|,ax ..|
|000035f0| 3b 73 65 74 20 45 53 3a | 44 49 20 74 6f 20 6e 65 |;set ES:|DI to ne|
|00003600| 78 74 20 74 72 61 63 65 | 20 65 6e 74 72 79 0d 0a |xt trace| entry..|
|00003610| 09 6d 6f 76 20 20 20 20 | 20 61 78 2c 63 73 0d 0a |.mov | ax,cs..|
|00003620| 09 6d 6f 76 20 20 20 20 | 20 65 73 2c 61 78 0d 0a |.mov | es,ax..|
|00003630| 09 63 6c 64 20 20 20 20 | 20 20 20 20 20 20 20 20 |.cld | |
|00003640| 20 09 09 3b 66 6f 72 77 | 61 72 64 21 21 21 0d 0a | ..;forw|ard!!!..|
|00003650| 09 6d 6f 76 20 20 20 20 | 20 61 68 2c 63 73 3a 5b |.mov | ah,cs:[|
|00003660| 62 78 5d 2e 49 43 54 5f | 69 6e 74 6e 75 6d 20 20 |bx].ICT_|intnum |
|00003670| 20 3b 67 65 74 20 69 6e | 74 65 72 72 75 70 74 20 | ;get in|terrupt |
|00003680| 23 20 62 65 69 6e 67 20 | 74 72 61 63 65 64 0d 0a |# being |traced..|
|00003690| 09 6d 6f 76 20 20 20 20 | 20 61 6c 2c 63 73 3a 5b |.mov | al,cs:[|
|000036a0| 62 78 5d 2e 49 43 54 5f | 6e 75 6d 09 3b 67 65 74 |bx].ICT_|num.;get|
|000036b0| 20 49 43 54 20 23 2c 20 | 6d 61 6b 65 20 42 45 46 | ICT #, |make BEF|
|000036c0| 4f 52 45 20 72 65 63 6f | 72 64 20 74 79 70 65 0d |ORE reco|rd type.|
|000036d0| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|000036e0| 20 20 61 78 2c 2d 34 5b | 62 70 5d 20 20 20 20 20 | ax,-4[|bp] |
|000036f0| 20 20 09 3b 6f 72 69 67 | 69 6e 61 6c 20 41 58 0d | .;orig|inal AX.|
|00003700| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00003710| 20 20 61 78 2c 2d 32 5b | 62 70 5d 20 20 20 20 20 | ax,-2[|bp] |
|00003720| 20 20 09 3b 6f 72 69 67 | 69 6e 61 6c 20 42 58 0d | .;orig|inal BX.|
|00003730| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00003740| 20 20 61 78 2c 63 78 0d | 0a 09 73 74 6f 73 77 0d | ax,cx.|..stosw.|
|00003750| 0a 09 6d 6f 76 20 20 20 | 20 20 61 78 2c 64 78 0d |..mov | ax,dx.|
|00003760| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00003770| 20 20 61 78 2c 2d 36 5b | 62 70 5d 20 20 20 20 20 | ax,-6[|bp] |
|00003780| 20 20 09 3b 6f 72 69 67 | 69 6e 61 6c 20 45 53 0d | .;orig|inal ES.|
|00003790| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|000037a0| 20 20 61 78 2c 64 73 0d | 0a 09 73 74 6f 73 77 0d | ax,ds.|..stosw.|
|000037b0| 0a 09 6d 6f 76 20 20 20 | 20 20 61 78 2c 73 73 0d |..mov | ax,ss.|
|000037c0| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|000037d0| 20 20 61 78 2c 62 70 20 | 20 20 09 09 3b 6f 72 69 | ax,bp | ..;ori|
|000037e0| 67 69 6e 61 6c 20 53 50 | 0d 0a 09 61 64 64 20 20 |ginal SP|...add |
|000037f0| 20 20 20 61 78 2c 32 0d | 0a 09 73 74 6f 73 77 0d | ax,2.|..stosw.|
|00003800| 0a 09 6d 6f 76 20 20 20 | 20 20 61 78 2c 73 69 0d |..mov | ax,si.|
|00003810| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00003820| 20 20 61 78 2c 2d 38 5b | 62 70 5d 20 20 20 20 20 | ax,-8[|bp] |
|00003830| 20 20 09 3b 6f 72 69 67 | 69 6e 61 6c 20 44 49 0d | .;orig|inal DI.|
|00003840| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00003850| 20 20 61 78 2c 5b 62 70 | 5d 20 09 09 3b 6f 72 69 | ax,[bp|] ..;ori|
|00003860| 67 69 6e 61 6c 20 42 50 | 0d 0a 09 73 74 6f 73 77 |ginal BP|...stosw|
|00003870| 0d 0a 09 6d 6f 76 20 20 | 20 20 20 61 78 2c 34 5b |...mov | ax,4[|
|00003880| 62 70 5d 09 09 3b 63 61 | 6c 6c 65 72 27 73 20 43 |bp]..;ca|ller's C|
|00003890| 53 0d 0a 09 73 74 6f 73 | 77 0d 0a 09 6d 6f 76 20 |S...stos|w...mov |
|000038a0| 20 20 20 20 61 78 2c 32 | 5b 62 70 5d 09 09 3b 63 | ax,2|[bp]..;c|
|000038b0| 61 6c 6c 65 72 27 73 20 | 49 50 0d 0a 09 73 74 6f |aller's |IP...sto|
|000038c0| 73 77 0d 0a 0d 0a 09 6d | 6f 76 20 20 20 20 20 63 |sw.....m|ov c|
|000038d0| 73 3a 6e 65 78 74 5f 62 | 79 74 65 2c 64 69 20 09 |s:next_b|yte,di .|
|000038e0| 3b 73 61 76 65 20 73 70 | 6f 74 20 66 6f 72 20 6e |;save sp|ot for n|
|000038f0| 65 78 74 20 74 72 61 63 | 65 20 65 6e 74 72 79 0d |ext trac|e entry.|
|00003900| 0a 09 69 6e 63 09 63 73 | 3a 5b 62 78 5d 2e 49 43 |..inc.cs|:[bx].IC|
|00003910| 54 5f 68 69 74 73 09 3b | 62 75 6d 70 20 6e 75 6d |T_hits.;|bump num|
|00003920| 62 65 72 20 6f 66 20 74 | 72 61 63 65 73 20 6d 61 |ber of t|races ma|
|00003930| 64 65 20 66 6f 72 20 74 | 68 69 73 20 49 43 54 0d |de for t|his ICT.|
|00003940| 0a 0d 0a 3b 0d 0a 3b 20 | 57 65 27 72 65 20 64 6f |...;..; |We're do|
|00003950| 6e 65 20 77 69 74 68 20 | 74 68 65 20 42 45 46 4f |ne with |the BEFO|
|00003960| 52 45 20 74 72 61 63 65 | 2e 20 53 65 65 20 69 66 |RE trace|. See if|
|00003970| 20 77 65 20 61 72 65 20 | 74 6f 20 64 6f 20 61 6e | we are |to do an|
|00003980| 20 46 43 42 20 6f 72 20 | 41 53 43 49 49 5a 0d 0a | FCB or |ASCIIZ..|
|00003990| 3b 20 74 72 61 63 65 20 | 72 65 63 6f 72 64 2e 0d |; trace |record..|
|000039a0| 0a 3b 0d 0a 0d 0a 09 74 | 65 73 74 09 63 73 3a 5b |.;.....t|est.cs:[|
|000039b0| 62 78 5d 2e 49 43 54 5f | 66 6c 61 67 73 2c 46 5f |bx].ICT_|flags,F_|
|000039c0| 46 43 42 0d 0a 09 6a 7a | 09 6e 6f 5f 46 43 42 09 |FCB...jz|.no_FCB.|
|000039d0| 09 09 3b 6e 6f 2c 20 77 | 65 20 61 72 65 20 64 65 |..;no, w|e are de|
|000039e0| 66 69 6e 69 74 65 6c 79 | 20 6e 6f 74 20 73 75 70 |finitely| not sup|
|000039f0| 70 6f 73 65 64 20 74 6f | 0d 0a 09 63 6d 70 09 63 |posed to|...cmp.c|
|00003a00| 73 3a 5b 42 58 5d 2e 49 | 43 54 5f 69 6e 74 6e 75 |s:[BX].I|CT_intnu|
|00003a10| 6d 2c 30 32 31 68 09 3b | 69 73 20 74 68 69 73 20 |m,021h.;|is this |
|00003a20| 61 6e 20 49 4e 54 20 32 | 31 68 3f 0d 0a 09 6a 6e |an INT 2|1h?...jn|
|00003a30| 7a 09 6e 6f 5f 46 43 42 | 09 09 09 3b 6e 6f 2c 20 |z.no_FCB|...;no, |
|00003a40| 63 61 6e 27 74 20 74 72 | 61 63 65 20 69 74 20 74 |can't tr|ace it t|
|00003a50| 68 65 6e 0d 0a 0d 0a 3b | 0d 0a 3b 20 53 65 61 72 |hen....;|..; Sear|
|00003a60| 63 68 20 74 68 72 6f 75 | 67 68 20 41 53 43 49 49 |ch throu|gh ASCII|
|00003a70| 5a 20 66 75 6e 63 74 69 | 6f 6e 20 74 61 62 6c 65 |Z functi|on table|
|00003a80| 2c 20 74 6f 20 73 65 65 | 20 69 66 20 66 75 6e 63 |, to see| if func|
|00003a90| 74 69 6f 6e 20 74 68 61 | 74 20 77 61 73 20 63 61 |tion tha|t was ca|
|00003aa0| 6c 6c 65 64 0d 0a 3b 20 | 69 73 20 6f 6e 65 20 74 |lled..; |is one t|
|00003ab0| 68 61 74 20 63 6f 6e 74 | 61 69 6e 73 20 61 6e 20 |hat cont|ains an |
|00003ac0| 41 53 43 49 49 5a 20 70 | 6f 69 6e 74 65 72 20 69 |ASCIIZ p|ointer i|
|00003ad0| 6e 20 44 53 3a 44 58 0d | 0a 3b 0d 0a 0d 0a 09 6d |n DS:DX.|.;.....m|
|00003ae0| 6f 76 09 61 78 2c 2d 34 | 5b 62 70 5d 09 09 3b 67 |ov.ax,-4|[bp]..;g|
|00003af0| 65 74 20 41 58 20 61 74 | 20 74 69 6d 65 20 6f 66 |et AX at| time of|
|00003b00| 20 63 61 6c 6c 0d 0a 09 | 70 75 73 68 09 63 78 0d | call...|push.cx.|
|00003b10| 0a 09 6d 6f 76 09 64 69 | 2c 6f 66 66 73 65 74 20 |..mov.di|,offset |
|00003b20| 63 73 3a 41 53 43 49 49 | 5a 5f 74 61 62 6c 65 0d |cs:ASCII|Z_table.|
|00003b30| 0a 09 6d 6f 76 09 63 78 | 2c 6f 66 66 73 65 74 20 |..mov.cx|,offset |
|00003b40| 63 73 3a 41 53 43 49 49 | 5a 5f 65 6e 64 0d 0a 09 |cs:ASCII|Z_end...|
|00003b50| 73 75 62 09 63 78 2c 64 | 69 09 09 09 3b 43 58 20 |sub.cx,d|i...;CX |
|00003b60| 6e 6f 77 20 68 61 73 20 | 73 69 7a 65 20 6f 66 20 |now has |size of |
|00003b70| 74 61 62 6c 65 0d 0a 09 | 6d 6f 76 09 61 6c 2c 61 |table...|mov.al,a|
|00003b80| 68 09 09 09 3b 67 65 74 | 20 66 75 6e 63 74 69 6f |h...;get| functio|
|00003b90| 6e 20 74 6f 20 41 4c 0d | 0a 09 72 65 70 6e 7a 09 |n to AL.|..repnz.|
|00003ba0| 73 63 61 73 62 09 09 09 | 3b 73 65 65 20 69 66 20 |scasb...|;see if |
|00003bb0| 69 74 27 73 20 69 6e 20 | 74 61 62 6c 65 0d 0a 09 |it's in |table...|
|00003bc0| 70 6f 70 09 63 78 0d 0a | 09 6a 7a 09 74 72 61 63 |pop.cx..|.jz.trac|
|00003bd0| 65 5f 41 53 43 49 49 5a | 09 09 3b 69 74 27 73 20 |e_ASCIIZ|..;it's |
|00003be0| 74 68 65 72 65 2c 20 73 | 6f 20 64 6f 20 41 53 43 |there, s|o do ASC|
|00003bf0| 49 49 5a 20 74 72 61 63 | 65 0d 0a 0d 0a 3b 0d 0a |IIZ trac|e....;..|
|00003c00| 3b 20 53 65 61 72 63 68 | 20 74 68 72 6f 75 67 68 |; Search| through|
|00003c10| 20 46 43 42 20 66 75 6e | 63 74 69 6f 6e 20 74 61 | FCB fun|ction ta|
|00003c20| 62 6c 65 2c 20 74 6f 20 | 73 65 65 20 69 66 20 66 |ble, to |see if f|
|00003c30| 75 6e 63 74 69 6f 6e 20 | 74 68 61 74 20 77 61 73 |unction |that was|
|00003c40| 20 63 61 6c 6c 65 64 0d | 0a 3b 20 69 73 20 6f 6e | called.|.; is on|
|00003c50| 65 20 74 68 61 74 20 63 | 6f 6e 74 61 69 6e 73 20 |e that c|ontains |
|00003c60| 61 6e 20 46 43 42 20 70 | 6f 69 6e 74 65 72 20 69 |an FCB p|ointer i|
|00003c70| 6e 20 44 53 3a 44 58 0d | 0a 3b 0d 0a 0d 0a 09 70 |n DS:DX.|.;.....p|
|00003c80| 75 73 68 09 63 78 0d 0a | 09 6d 6f 76 09 64 69 2c |ush.cx..|.mov.di,|
|00003c90| 6f 66 66 73 65 74 20 63 | 73 3a 46 43 42 5f 74 61 |offset c|s:FCB_ta|
|00003ca0| 62 6c 65 0d 0a 09 6d 6f | 76 09 63 78 2c 6f 66 66 |ble...mo|v.cx,off|
|00003cb0| 73 65 74 20 63 73 3a 46 | 43 42 5f 65 6e 64 0d 0a |set cs:F|CB_end..|
|00003cc0| 09 73 75 62 09 63 78 2c | 64 69 09 09 09 3b 43 58 |.sub.cx,|di...;CX|
|00003cd0| 20 6e 6f 77 20 68 61 73 | 20 73 69 7a 65 20 6f 66 | now has| size of|
|00003ce0| 20 74 61 62 6c 65 0d 0a | 09 72 65 70 6e 7a 09 73 | table..|.repnz.s|
|00003cf0| 63 61 73 62 09 09 09 3b | 73 65 65 20 69 66 20 69 |casb...;|see if i|
|00003d00| 74 27 73 20 69 6e 20 74 | 61 62 6c 65 0d 0a 09 70 |t's in t|able...p|
|00003d10| 6f 70 09 63 78 0d 0a 09 | 6a 6e 7a 09 6e 6f 5f 46 |op.cx...|jnz.no_F|
|00003d20| 43 42 09 09 09 3b 6e 6f | 20 46 43 42 20 6f 72 20 |CB...;no| FCB or |
|00003d30| 41 53 43 49 49 5a 20 74 | 72 61 63 65 20 63 61 6c |ASCIIZ t|race cal|
|00003d40| 6c 65 64 20 66 6f 72 0d | 0a 0d 0a 3b 0d 0a 3b 20 |led for.|...;..; |
|00003d50| 57 65 20 61 72 65 20 74 | 6f 20 64 6f 20 74 72 61 |We are t|o do tra|
|00003d60| 63 65 20 6f 66 20 46 43 | 42 20 70 6f 69 6e 74 65 |ce of FC|B pointe|
|00003d70| 64 20 74 6f 20 62 79 20 | 44 53 3a 44 58 0d 0a 3b |d to by |DS:DX..;|
|00003d80| 0d 0a 0d 0a 09 6d 6f 76 | 09 61 6c 2c 30 30 31 30 |.....mov|.al,0010|
|00003d90| 30 30 30 30 62 09 09 3b | 74 72 61 63 65 20 72 65 |0000b..;|trace re|
|00003da0| 63 6f 72 64 20 6e 75 6d | 62 65 72 20 66 6f 72 20 |cord num|ber for |
|00003db0| 46 43 42 20 74 72 61 63 | 65 0d 0a 09 6d 6f 76 09 |FCB trac|e...mov.|
|00003dc0| 61 68 2c 73 69 7a 65 20 | 46 43 42 09 09 3b 73 69 |ah,size |FCB..;si|
|00003dd0| 7a 65 20 6f 66 20 72 65 | 63 6f 72 64 0d 0a 09 6a |ze of re|cord...j|
|00003de0| 6d 70 09 73 68 6f 72 74 | 20 74 72 61 63 65 5f 63 |mp.short| trace_c|
|00003df0| 6f 6d 6d 6f 6e 09 3b 72 | 65 73 74 20 69 73 20 63 |ommon.;r|est is c|
|00003e00| 6f 6d 6d 6f 6e 20 63 6f | 64 65 0d 0a 0d 0a 74 72 |ommon co|de....tr|
|00003e10| 61 63 65 5f 41 53 43 49 | 49 5a 3a 0d 0a 0d 0a 3b |ace_ASCI|IZ:....;|
|00003e20| 0d 0a 3b 20 57 65 20 61 | 72 65 20 74 6f 20 64 6f |..; We a|re to do|
|00003e30| 20 74 72 61 63 65 20 6f | 66 20 41 53 43 49 49 5a | trace o|f ASCIIZ|
|00003e40| 20 73 74 72 69 6e 67 20 | 70 6f 69 6e 74 65 64 20 | string |pointed |
|00003e50| 74 6f 20 62 79 20 44 53 | 3a 44 58 0d 0a 3b 0d 0a |to by DS|:DX..;..|
|00003e60| 0d 0a 09 6d 6f 76 09 61 | 6c 2c 30 30 31 31 30 30 |...mov.a|l,001100|
|00003e70| 30 30 62 09 09 3b 74 72 | 61 63 65 20 72 65 63 6f |00b..;tr|ace reco|
|00003e80| 72 64 20 6e 75 6d 62 65 | 72 20 66 6f 72 20 41 53 |rd numbe|r for AS|
|00003e90| 43 49 49 5a 20 74 72 61 | 63 65 0d 0a 09 6d 6f 76 |CIIZ tra|ce...mov|
|00003ea0| 09 61 68 2c 73 69 7a 65 | 20 41 53 43 49 49 5a 09 |.ah,size| ASCIIZ.|
|00003eb0| 09 3b 73 69 7a 65 20 6f | 66 20 72 65 63 6f 72 64 |.;size o|f record|
|00003ec0| 0d 0a 0d 0a 74 72 61 63 | 65 5f 63 6f 6d 6d 6f 6e |....trac|e_common|
|00003ed0| 3a 0d 0a 0d 0a 3b 0d 0a | 3b 20 43 6f 70 79 20 62 |:....;..|; Copy b|
|00003ee0| 79 74 65 73 20 66 72 6f | 6d 20 44 53 3a 44 58 20 |ytes fro|m DS:DX |
|00003ef0| 74 6f 20 6e 65 77 20 41 | 53 43 49 49 5a 20 6f 72 |to new A|SCIIZ or|
|00003f00| 20 46 43 42 20 74 72 61 | 63 65 20 72 65 63 6f 72 | FCB tra|ce recor|
|00003f10| 64 2e 0d 0a 3b 0d 0a 3b | 20 41 74 20 74 68 69 73 |d...;..;| At this|
|00003f20| 20 70 6f 69 6e 74 3a 0d | 0a 3b 0d 0a 3b 20 20 20 | point:.|.;..; |
|00003f30| 41 4c 20 68 6f 6c 64 73 | 20 74 72 61 63 65 20 72 |AL holds| trace r|
|00003f40| 65 63 6f 72 64 20 74 79 | 70 65 2c 20 70 72 6f 70 |ecord ty|pe, prop|
|00003f50| 65 72 6c 79 20 70 6f 73 | 69 74 69 6f 6e 65 64 20 |erly pos|itioned |
|00003f60| 69 6e 20 62 69 74 73 20 | 37 2d 34 0d 0a 3b 20 20 |in bits |7-4..; |
|00003f70| 20 41 48 20 68 6f 6c 64 | 73 20 73 69 7a 65 20 6f | AH hold|s size o|
|00003f80| 66 20 72 65 63 6f 72 64 | 20 74 68 61 74 20 77 65 |f record| that we|
|00003f90| 27 72 65 20 64 6f 69 6e | 67 20 28 74 68 65 20 66 |'re doin|g (the f|
|00003fa0| 75 6c 6c 20 72 65 63 6f | 72 64 29 0d 0a 3b 0d 0a |ull reco|rd)..;..|
|00003fb0| 0d 0a 09 73 75 62 09 61 | 68 2c 32 09 09 09 3b 6d |...sub.a|h,2...;m|
|00003fc0| 69 6e 75 73 20 74 77 6f | 20 62 79 74 65 73 20 66 |inus two| bytes f|
|00003fd0| 6f 72 20 72 65 63 6f 72 | 64 20 68 65 61 64 65 72 |or recor|d header|
|00003fe0| 0d 0a 09 6d 6f 76 09 64 | 69 2c 63 73 3a 6e 65 78 |...mov.d|i,cs:nex|
|00003ff0| 74 5f 62 79 74 65 09 09 | 3b 73 65 65 20 69 66 20 |t_byte..|;see if |
|00004000| 74 68 65 72 65 27 73 20 | 72 6f 6f 6d 2e 2e 2e 0d |there's |room....|
|00004010| 0a 09 70 75 73 68 09 64 | 69 0d 0a 09 70 75 73 68 |..push.d|i...push|
|00004020| 09 61 78 0d 0a 09 6d 6f | 76 09 61 6c 2c 61 68 09 |.ax...mo|v.al,ah.|
|00004030| 09 09 3b 67 65 74 20 72 | 65 63 6f 72 64 20 73 69 |..;get r|ecord si|
|00004040| 7a 65 20 74 6f 20 41 58 | 0d 0a 09 78 6f 72 09 61 |ze to AX|...xor.a|
|00004050| 68 2c 61 68 0d 0a 09 61 | 64 64 09 64 69 2c 61 78 |h,ah...a|dd.di,ax|
|00004060| 0d 0a 09 63 6d 70 09 64 | 69 2c 6f 66 66 73 65 74 |...cmp.d|i,offset|
|00004070| 20 63 73 3a 6c 61 73 74 | 5f 62 79 74 65 0d 0a 09 | cs:last|_byte...|
|00004080| 70 6f 70 09 61 78 0d 0a | 09 70 6f 70 09 64 69 0d |pop.ax..|.pop.di.|
|00004090| 0a 09 6a 61 65 09 6e 6f | 5f 46 43 42 09 09 09 3b |..jae.no|_FCB...;|
|000040a0| 6e 6f 20 72 6f 6f 6d 0d | 0a 09 70 75 73 68 09 61 |no room.|..push.a|
|000040b0| 78 09 09 09 3b 73 61 76 | 65 20 41 58 20 6f 76 65 |x...;sav|e AX ove|
|000040c0| 72 20 74 68 69 73 0d 0a | 09 6d 6f 76 09 61 68 2c |r this..|.mov.ah,|
|000040d0| 63 73 3a 5b 62 78 5d 2e | 49 43 54 5f 69 6e 74 6e |cs:[bx].|ICT_intn|
|000040e0| 75 6d 09 3b 73 74 61 72 | 74 20 68 65 61 64 65 72 |um.;star|t header|
|000040f0| 20 77 69 74 68 20 69 6e | 74 65 72 72 75 70 74 20 | with in|terrupt |
|00004100| 23 0d 0a 09 6f 72 09 61 | 6c 2c 63 73 3a 5b 62 78 |#...or.a|l,cs:[bx|
|00004110| 5d 2e 49 43 54 5f 6e 75 | 6d 09 3b 61 64 64 20 49 |].ICT_nu|m.;add I|
|00004120| 43 54 20 6e 75 6d 62 65 | 72 20 74 6f 20 74 72 61 |CT numbe|r to tra|
|00004130| 63 65 20 74 79 70 65 0d | 0a 09 73 74 6f 73 77 09 |ce type.|..stosw.|
|00004140| 09 09 09 3b 73 74 61 72 | 74 20 6e 65 77 20 72 65 |...;star|t new re|
|00004150| 63 6f 72 64 20 77 69 74 | 68 20 69 74 0d 0a 09 70 |cord wit|h it...p|
|00004160| 6f 70 09 61 78 09 09 09 | 3b 72 65 73 74 6f 72 65 |op.ax...|;restore|
|00004170| 20 41 58 0d 0a 09 70 75 | 73 68 09 63 78 0d 0a 09 | AX...pu|sh.cx...|
|00004180| 70 75 73 68 09 73 69 0d | 0a 09 6d 6f 76 09 73 69 |push.si.|..mov.si|
|00004190| 2c 64 78 09 09 09 3b 61 | 63 63 65 73 73 20 44 53 |,dx...;a|ccess DS|
|000041a0| 3a 44 58 20 61 73 20 44 | 53 3a 53 49 0d 0a 09 6d |:DX as D|S:SI...m|
|000041b0| 6f 76 09 63 6c 2c 61 68 | 09 09 09 3b 72 65 63 6f |ov.cl,ah|...;reco|
|000041c0| 72 64 20 73 69 7a 65 20 | 74 6f 20 43 58 0d 0a 09 |rd size |to CX...|
|000041d0| 78 6f 72 09 63 68 2c 63 | 68 0d 0a 09 72 65 70 09 |xor.ch,c|h...rep.|
|000041e0| 6d 6f 76 73 62 09 09 09 | 3b 74 68 61 74 27 73 20 |movsb...|;that's |
|000041f0| 68 6f 77 20 6d 61 6e 79 | 20 74 6f 20 63 6f 70 79 |how many| to copy|
|00004200| 0d 0a 09 70 6f 70 09 73 | 69 0d 0a 09 70 6f 70 09 |...pop.s|i...pop.|
|00004210| 63 78 0d 0a 09 6d 6f 76 | 09 63 73 3a 6e 65 78 74 |cx...mov|.cs:next|
|00004220| 5f 62 79 74 65 2c 64 69 | 09 09 3b 73 61 76 65 20 |_byte,di|..;save |
|00004230| 6f 66 66 73 65 74 20 74 | 6f 20 6e 65 78 74 20 72 |offset t|o next r|
|00004240| 65 63 6f 72 64 0d 0a 0d | 0a 6e 6f 5f 46 43 42 3a |ecord...|.no_FCB:|
|00004250| 09 09 09 09 09 3b 65 6e | 64 20 6f 66 20 46 43 42 |.....;en|d of FCB|
|00004260| 2f 41 53 43 49 49 5a 20 | 74 72 61 63 69 6e 67 0d |/ASCIIZ |tracing.|
|00004270| 0a 0d 0a 0d 0a 3b 0d 0a | 3b 20 48 61 76 69 6e 67 |.....;..|; Having|
|00004280| 20 74 72 61 63 65 64 20 | 61 6c 6c 20 6f 66 20 74 | traced |all of t|
|00004290| 68 6f 73 65 2c 20 6e 6f | 77 20 69 6e 76 6f 6b 65 |hose, no|w invoke|
|000042a0| 20 6f 72 69 67 69 6e 61 | 6c 20 69 6e 74 65 72 72 | origina|l interr|
|000042b0| 75 70 74 20 68 61 6e 64 | 6c 65 72 2e 20 48 61 76 |upt hand|ler. Hav|
|000042c0| 65 0d 0a 3b 20 69 74 20 | 72 65 74 75 72 6e 20 74 |e..; it |return t|
|000042d0| 6f 20 75 73 2c 20 6e 6f | 74 20 74 68 65 20 6f 72 |o us, no|t the or|
|000042e0| 69 67 69 6e 61 6c 20 63 | 61 6c 6c 65 72 20 6f 66 |iginal c|aller of|
|000042f0| 20 74 68 65 20 69 6e 74 | 65 72 72 75 70 74 2e 0d | the int|errupt..|
|00004300| 0a 3b 0d 0a 0d 0a 09 6d | 6f 76 20 20 20 20 20 63 |.;.....m|ov c|
|00004310| 73 3a 6f 75 72 5f 49 43 | 54 2c 62 78 20 20 20 09 |s:our_IC|T,bx .|
|00004320| 3b 73 61 76 65 20 49 43 | 54 20 70 6f 69 6e 74 65 |;save IC|T pointe|
|00004330| 72 20 66 6f 72 20 61 20 | 6e 61 6e 6f 73 65 63 6f |r for a |nanoseco|
|00004340| 6e 64 0d 0a 09 6d 6f 76 | 09 61 6c 2c 63 73 3a 5b |nd...mov|.al,cs:[|
|00004350| 62 78 5d 2e 49 43 54 5f | 66 6c 61 67 73 09 3b 73 |bx].ICT_|flags.;s|
|00004360| 61 76 65 20 63 6f 70 79 | 20 6f 66 20 66 6c 61 67 |ave copy| of flag|
|00004370| 73 20 74 68 61 74 20 77 | 65 20 63 61 6e 20 67 65 |s that w|e can ge|
|00004380| 74 20 74 6f 0d 0a 09 6d | 6f 76 09 63 73 3a 6f 75 |t to...m|ov.cs:ou|
|00004390| 72 5f 66 6c 61 67 73 2c | 61 6c 0d 0a 0d 0a 09 6d |r_flags,|al.....m|
|000043a0| 6f 76 20 20 20 20 20 61 | 78 2c 77 6f 72 64 20 70 |ov a|x,word p|
|000043b0| 74 72 20 63 73 3a 5b 62 | 78 5d 2e 49 43 54 5f 6f |tr cs:[b|x].ICT_o|
|000043c0| 72 69 67 5f 68 6e 64 6c | 72 0d 0a 09 6d 6f 76 20 |rig_hndl|r...mov |
|000043d0| 20 20 20 20 77 6f 72 64 | 20 70 74 72 20 63 73 3a | word| ptr cs:|
|000043e0| 6c 6f 6e 67 5f 61 64 64 | 72 2c 61 78 0d 0a 09 6d |long_add|r,ax...m|
|000043f0| 6f 76 20 20 20 20 20 61 | 78 2c 77 6f 72 64 20 70 |ov a|x,word p|
|00004400| 74 72 20 63 73 3a 5b 62 | 78 5d 2e 49 43 54 5f 6f |tr cs:[b|x].ICT_o|
|00004410| 72 69 67 5f 68 6e 64 6c | 72 2b 32 0d 0a 09 6d 6f |rig_hndl|r+2...mo|
|00004420| 76 20 20 20 20 20 77 6f | 72 64 20 70 74 72 20 63 |v wo|rd ptr c|
|00004430| 73 3a 6c 6f 6e 67 5f 61 | 64 64 72 2b 32 2c 61 78 |s:long_a|ddr+2,ax|
|00004440| 0d 0a 0d 0a 09 70 6f 70 | 20 20 20 20 20 64 69 0d |.....pop| di.|
|00004450| 0a 09 70 6f 70 20 20 20 | 20 20 65 73 0d 0a 09 70 |..pop | es...p|
|00004460| 6f 70 20 20 20 20 20 61 | 78 0d 0a 09 70 6f 70 20 |op a|x...pop |
|00004470| 20 20 20 20 62 78 0d 0a | 09 70 6f 70 20 20 20 20 | bx..|.pop |
|00004480| 20 62 70 0d 0a 09 70 75 | 73 68 20 20 20 20 63 73 | bp...pu|sh cs|
|00004490| 3a 6f 75 72 5f 49 43 54 | 20 20 20 20 20 20 09 3b |:our_ICT| .;|
|000044a0| 73 61 76 65 20 49 43 54 | 20 70 6f 69 6e 74 65 72 |save ICT| pointer|
|000044b0| 20 6f 6e 20 73 74 61 63 | 6b 0d 0a 09 74 65 73 74 | on stac|k...test|
|000044c0| 09 63 73 3a 6f 75 72 5f | 66 6c 61 67 73 2c 46 5f |.cs:our_|flags,F_|
|000044d0| 52 45 54 09 3b 73 68 6f | 75 6c 64 20 77 65 20 70 |RET.;sho|uld we p|
|000044e0| 75 73 68 20 66 6c 61 67 | 73 3f 0d 0a 09 6a 6e 7a |ush flag|s?...jnz|
|000044f0| 09 6e 6f 5f 66 6c 61 67 | 73 09 09 3b 6e 6f 2c 20 |.no_flag|s..;no, |
|00004500| 63 61 75 73 65 20 74 68 | 65 79 27 64 20 62 65 20 |cause th|ey'd be |
|00004510| 6c 65 66 74 20 6f 6e 20 | 73 74 61 63 6b 0d 0a 09 |left on |stack...|
|00004520| 70 75 73 68 66 20 20 20 | 20 20 20 20 20 20 20 20 |pushf | |
|00004530| 09 09 3b 79 65 73 2c 20 | 67 69 76 65 20 68 61 6e |..;yes, |give han|
|00004540| 64 6c 65 72 20 73 6f 6d | 65 20 66 6c 61 67 73 20 |dler som|e flags |
|00004550| 74 6f 20 64 72 6f 70 0d | 0a 0d 0a 6e 6f 5f 66 6c |to drop.|...no_fl|
|00004560| 61 67 73 3a 0d 0a 09 63 | 61 6c 6c 20 20 20 20 63 |ags:...c|all c|
|00004570| 73 3a 6c 6f 6e 67 5f 61 | 64 64 72 20 20 20 20 09 |s:long_a|ddr .|
|00004580| 3b 69 6e 76 6f 6b 65 20 | 6f 72 69 67 69 6e 61 6c |;invoke |original|
|00004590| 20 68 61 6e 64 6c 65 72 | 0d 0a 0d 0a 0d 0a 3b 0d | handler|......;.|
|000045a0| 0a 3b 20 57 65 27 72 65 | 20 62 61 63 6b 20 66 72 |.; We're| back fr|
|000045b0| 6f 6d 20 74 68 65 20 72 | 65 61 6c 20 69 6e 74 65 |om the r|eal inte|
|000045c0| 72 72 75 70 74 20 68 61 | 6e 64 6c 65 72 2c 20 61 |rrupt ha|ndler, a|
|000045d0| 6e 64 20 63 61 6e 20 6d | 61 6b 65 20 74 68 65 20 |nd can m|ake the |
|000045e0| 22 61 66 74 65 72 22 20 | 74 72 61 63 65 2e 0d 0a |"after" |trace...|
|000045f0| 3b 20 4f 75 72 20 49 43 | 54 20 61 64 64 72 65 73 |; Our IC|T addres|
|00004600| 73 20 69 73 20 6f 6e 20 | 73 74 61 63 6b 2e 0d 0a |s is on |stack...|
|00004610| 3b 0d 0a 0d 0a 09 73 74 | 69 09 09 09 09 3b 67 69 |;.....st|i....;gi|
|00004620| 76 65 20 77 6f 72 6c 64 | 20 61 20 63 72 61 63 6b |ve world| a crack|
|00004630| 20 61 74 20 69 6e 74 65 | 72 72 75 70 74 73 0d 0a | at inte|rrupts..|
|00004640| 09 6e 6f 70 0d 0a 09 6e | 6f 70 0d 0a 09 63 6c 69 |.nop...n|op...cli|
|00004650| 09 09 09 09 3b 2a 2a 2a | 20 4e 4f 20 49 4e 54 45 |....;***| NO INTE|
|00004660| 52 52 55 50 54 53 21 21 | 21 20 2a 2a 2a 0d 0a 09 |RRUPTS!!|! ***...|
|00004670| 70 75 73 68 20 20 20 20 | 62 70 20 20 20 20 20 20 |push |bp |
|00004680| 09 09 3b 65 73 74 61 62 | 6c 69 73 68 20 73 74 61 |..;estab|lish sta|
|00004690| 63 6b 20 72 65 66 65 72 | 65 6e 63 65 0d 0a 09 6d |ck refer|ence...m|
|000046a0| 6f 76 20 20 20 20 20 62 | 70 2c 73 70 0d 0a 09 70 |ov b|p,sp...p|
|000046b0| 75 73 68 66 20 20 20 20 | 20 20 20 20 20 20 20 09 |ushf | .|
|000046c0| 09 3b 73 61 76 65 20 72 | 65 73 75 6c 74 61 6e 74 |.;save r|esultant|
|000046d0| 20 66 6c 61 67 73 0d 0a | 09 70 75 73 68 20 20 20 | flags..|.push |
|000046e0| 20 65 73 0d 0a 09 70 75 | 73 68 20 20 20 20 64 69 | es...pu|sh di|
|000046f0| 0d 0a 09 70 75 73 68 20 | 20 20 20 61 78 0d 0a 09 |...push | ax...|
|00004700| 70 75 73 68 20 20 20 20 | 62 78 0d 0a 0d 0a 3b 0d |push |bx....;.|
|00004710| 0a 3b 20 41 74 20 74 68 | 69 73 20 70 6f 69 6e 74 |.; At th|is point|
|00004720| 3a 0d 0a 3b 0d 0a 3b 20 | 20 20 20 20 20 20 20 20 |:..;..; | |
|00004730| 20 20 20 20 20 20 20 20 | 20 20 20 20 42 58 0d 0a | | BX..|
|00004740| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00004750| 20 20 20 20 20 20 41 58 | 0d 0a 3b 20 20 20 20 20 | AX|..; |
|00004760| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004770| 44 49 0d 0a 3b 20 20 20 | 20 20 20 20 20 20 20 20 |DI..; | |
|00004780| 20 20 20 20 20 20 20 20 | 20 20 45 53 0d 0a 3b 20 | | ES..; |
|00004790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000047a0| 20 20 20 20 46 4c 41 47 | 53 20 28 61 73 20 72 65 | FLAG|S (as re|
|000047b0| 74 75 72 6e 65 64 20 62 | 79 20 72 65 61 6c 20 69 |turned b|y real i|
|000047c0| 6e 74 65 72 72 75 70 74 | 29 0d 0a 3b 20 20 20 20 |nterrupt|)..; |
|000047d0| 20 28 42 50 29 20 2d 2d | 2d 2d 2d 2d 2d 2d 3e 20 | (BP) --|------> |
|000047e0| 20 42 50 0d 0a 3b 20 20 | 20 20 20 20 20 20 20 20 | BP..; | |
|000047f0| 20 20 20 20 20 20 20 20 | 20 20 20 49 43 54 20 61 | | ICT a|
|00004800| 64 64 72 65 73 73 0d 0a | 3b 20 20 20 20 20 20 20 |ddress..|; |
|00004810| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 49 50 | | IP|
|00004820| 20 6f 66 20 63 61 6c 6c | 65 72 0d 0a 3b 20 20 20 | of call|er..; |
|00004830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004840| 20 20 43 53 20 6f 66 20 | 63 61 6c 6c 65 72 0d 0a | CS of |caller..|
|00004850| 3b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |; | |
|00004860| 20 20 20 20 20 20 46 4c | 41 47 53 20 6f 66 20 6f | FL|AGS of o|
|00004870| 72 69 67 69 6e 61 6c 20 | 63 61 6c 6c 65 72 0d 0a |riginal |caller..|
|00004880| 3b 0d 0a 0d 0a 09 6d 6f | 76 20 20 20 20 20 62 78 |;.....mo|v bx|
|00004890| 2c 32 5b 62 70 5d 09 09 | 3b 72 65 63 6f 76 65 72 |,2[bp]..|;recover|
|000048a0| 20 49 43 54 20 61 64 64 | 72 65 73 73 0d 0a 09 6d | ICT add|ress...m|
|000048b0| 6f 76 20 20 20 20 20 64 | 69 2c 63 73 3a 6e 65 78 |ov d|i,cs:nex|
|000048c0| 74 5f 62 79 74 65 20 09 | 3b 72 6f 6f 6d 20 66 6f |t_byte .|;room fo|
|000048d0| 72 20 22 61 66 74 65 72 | 22 20 74 72 61 63 65 20 |r "after|" trace |
|000048e0| 65 6e 74 72 79 3f 0d 0a | 09 70 75 73 68 09 64 69 |entry?..|.push.di|
|000048f0| 0d 0a 09 61 64 64 09 64 | 69 2c 73 69 7a 65 20 41 |...add.d|i,size A|
|00004900| 46 54 45 52 0d 0a 09 63 | 6d 70 20 20 20 20 20 64 |FTER...c|mp d|
|00004910| 69 2c 6f 66 66 73 65 74 | 20 63 73 3a 6c 61 73 74 |i,offset| cs:last|
|00004920| 5f 62 79 74 65 0d 0a 09 | 70 6f 70 09 64 69 0d 0a |_byte...|pop.di..|
|00004930| 09 6a 61 65 20 20 20 20 | 20 6e 6f 5f 61 66 74 65 |.jae | no_afte|
|00004940| 72 09 09 3b 6e 6f 2c 20 | 73 6b 69 70 20 69 74 0d |r..;no, |skip it.|
|00004950| 0a 09 6d 6f 76 20 20 20 | 20 20 61 78 2c 63 73 20 |..mov | ax,cs |
|00004960| 20 20 09 09 3b 6d 61 6b | 65 20 45 53 3a 44 49 20 | ..;mak|e ES:DI |
|00004970| 70 6f 69 6e 74 20 74 6f | 20 6e 65 78 74 20 65 6e |point to| next en|
|00004980| 74 72 79 0d 0a 09 6d 6f | 76 20 20 20 20 20 65 73 |try...mo|v es|
|00004990| 2c 61 78 0d 0a 09 63 6c | 64 20 20 20 20 20 20 20 |,ax...cl|d |
|000049a0| 20 20 20 20 20 20 09 09 | 3b 66 6f 72 77 61 72 64 | ..|;forward|
|000049b0| 21 21 21 0d 0a 09 6d 6f | 76 20 20 20 20 20 61 68 |!!!...mo|v ah|
|000049c0| 2c 63 73 3a 5b 62 78 5d | 2e 49 43 54 5f 69 6e 74 |,cs:[bx]|.ICT_int|
|000049d0| 6e 75 6d 20 20 20 3b 67 | 65 74 20 69 6e 74 65 72 |num ;g|et inter|
|000049e0| 72 75 70 74 20 23 0d 0a | 09 6d 6f 76 20 20 20 20 |rupt #..|.mov |
|000049f0| 20 61 6c 2c 63 73 3a 5b | 62 78 5d 2e 49 43 54 5f | al,cs:[|bx].ICT_|
|00004a00| 6e 75 6d 09 3b 67 65 74 | 20 49 43 54 20 23 2c 20 |num.;get| ICT #, |
|00004a10| 6d 61 6b 65 20 41 46 54 | 45 52 20 72 65 63 6f 72 |make AFT|ER recor|
|00004a20| 64 20 74 79 70 65 0d 0a | 09 6f 72 09 61 6c 2c 30 |d type..|.or.al,0|
|00004a30| 30 30 31 30 30 30 30 62 | 0d 0a 09 73 74 6f 73 77 |0010000b|...stosw|
|00004a40| 0d 0a 09 6d 6f 76 20 20 | 20 20 20 61 78 2c 2d 38 |...mov | ax,-8|
|00004a50| 5b 62 70 5d 20 20 20 20 | 20 20 20 09 3b 41 58 20 |[bp] | .;AX |
|00004a60| 61 74 20 69 6e 74 27 73 | 20 72 65 74 75 72 6e 0d |at int's| return.|
|00004a70| 0a 09 73 74 6f 73 77 0d | 0a 09 6d 6f 76 20 20 20 |..stosw.|..mov |
|00004a80| 20 20 61 78 2c 2d 31 30 | 5b 62 70 5d 20 20 20 20 | ax,-10|[bp] |
|00004a90| 20 20 09 3b 42 58 20 61 | 74 20 69 6e 74 27 73 20 | .;BX a|t int's |
|00004aa0| 72 65 74 75 72 6e 0d 0a | 09 73 74 6f 73 77 0d 0a |return..|.stosw..|
|00004ab0| 09 6d 6f 76 20 20 20 20 | 20 61 78 2c 63 78 0d 0a |.mov | ax,cx..|
|00004ac0| 09 73 74 6f 73 77 0d 0a | 09 6d 6f 76 20 20 20 20 |.stosw..|.mov |
|00004ad0| 20 61 78 2c 64 78 0d 0a | 09 73 74 6f 73 77 0d 0a | ax,dx..|.stosw..|
|00004ae0| 09 6d 6f 76 20 20 20 20 | 20 61 78 2c 2d 34 5b 62 |.mov | ax,-4[b|
|00004af0| 70 5d 20 20 20 20 20 20 | 20 09 3b 45 53 20 61 74 |p] | .;ES at|
|00004b00| 20 69 6e 74 27 73 20 72 | 65 74 75 72 6e 0d 0a 09 | int's r|eturn...|
|00004b10| 73 74 6f 73 77 0d 0a 09 | 6d 6f 76 20 20 20 20 20 |stosw...|mov |
|00004b20| 61 78 2c 64 73 0d 0a 09 | 73 74 6f 73 77 0d 0a 09 |ax,ds...|stosw...|
|00004b30| 6d 6f 76 20 20 20 20 20 | 61 78 2c 73 69 0d 0a 09 |mov |ax,si...|
|00004b40| 73 74 6f 73 77 0d 0a 09 | 6d 6f 76 20 20 20 20 20 |stosw...|mov |
|00004b50| 61 78 2c 2d 36 5b 62 70 | 5d 20 20 20 20 20 20 20 |ax,-6[bp|] |
|00004b60| 09 3b 44 49 20 61 74 20 | 69 6e 74 27 73 20 72 65 |.;DI at |int's re|
|00004b70| 74 75 72 6e 0d 0a 09 73 | 74 6f 73 77 0d 0a 09 6d |turn...s|tosw...m|
|00004b80| 6f 76 20 20 20 20 20 61 | 78 2c 5b 62 70 5d 20 09 |ov a|x,[bp] .|
|00004b90| 09 3b 42 50 20 61 74 20 | 69 6e 74 27 73 20 72 65 |.;BP at |int's re|
|00004ba0| 74 75 72 6e 0d 0a 09 73 | 74 6f 73 77 0d 0a 09 6d |turn...s|tosw...m|
|00004bb0| 6f 76 20 20 20 20 20 61 | 78 2c 2d 32 5b 62 70 5d |ov a|x,-2[bp]|
|00004bc0| 20 20 20 20 20 20 20 09 | 3b 46 4c 41 47 53 20 61 | .|;FLAGS a|
|00004bd0| 74 20 69 6e 74 27 73 20 | 72 65 74 75 72 6e 0d 0a |t int's |return..|
|00004be0| 09 73 74 6f 73 77 0d 0a | 0d 0a 09 6d 6f 76 20 20 |.stosw..|...mov |
|00004bf0| 20 20 20 63 73 3a 6e 65 | 78 74 5f 62 79 74 65 2c | cs:ne|xt_byte,|
|00004c00| 64 69 20 09 3b 73 61 76 | 65 20 6f 66 66 73 65 74 |di .;sav|e offset|
|00004c10| 20 74 6f 20 6e 65 78 74 | 20 65 6e 74 72 79 0d 0a | to next| entry..|
|00004c20| 0d 0a 6e 6f 5f 61 66 74 | 65 72 3a 0d 0a 0d 0a 3b |..no_aft|er:....;|
|00004c30| 0d 0a 3b 20 41 6c 6c 20 | 64 6f 6e 65 20 6d 61 6b |..; All |done mak|
|00004c40| 69 6e 67 20 22 61 66 74 | 65 72 22 20 74 72 61 63 |ing "aft|er" trac|
|00004c50| 65 2c 20 6f 72 20 77 65 | 27 76 65 20 73 6b 69 70 |e, or we|'ve skip|
|00004c60| 70 65 64 20 69 74 20 63 | 61 75 73 65 20 74 68 65 |ped it c|ause the|
|00004c70| 72 65 20 77 61 73 0d 0a | 3b 20 6e 6f 20 72 6f 6f |re was..|; no roo|
|00004c80| 6d 20 66 6f 72 20 69 74 | 2e 0d 0a 3b 0d 0a 3b 20 |m for it|...;..; |
|00004c90| 4e 6f 77 20 6a 75 73 74 | 20 65 78 69 74 20 62 61 |Now just| exit ba|
|00004ca0| 63 6b 20 74 6f 20 74 68 | 65 20 6f 72 69 67 69 6e |ck to th|e origin|
|00004cb0| 61 6c 20 63 61 6c 6c 65 | 72 2e 0d 0a 3b 0d 0a 0d |al calle|r...;...|
|00004cc0| 0a 09 6d 6f 76 09 61 6c | 2c 63 73 3a 5b 62 78 5d |..mov.al|,cs:[bx]|
|00004cd0| 2e 49 43 54 5f 66 6c 61 | 67 73 09 3b 73 61 76 65 |.ICT_fla|gs.;save|
|00004ce0| 20 66 6c 61 67 73 20 77 | 68 65 72 65 20 77 65 20 | flags w|here we |
|00004cf0| 63 61 6e 20 67 65 74 20 | 74 6f 20 74 68 65 6d 0d |can get |to them.|
|00004d00| 0a 09 6d 6f 76 09 63 73 | 3a 6f 75 72 5f 66 6c 61 |..mov.cs|:our_fla|
|00004d10| 67 73 2c 61 6c 0d 0a 09 | 70 6f 70 20 20 20 20 20 |gs,al...|pop |
|00004d20| 62 78 0d 0a 09 70 6f 70 | 20 20 20 20 20 61 78 0d |bx...pop| ax.|
|00004d30| 0a 09 70 6f 70 20 20 20 | 20 20 64 69 0d 0a 09 70 |..pop | di...p|
|00004d40| 6f 70 20 20 20 20 20 65 | 73 0d 0a 09 70 6f 70 66 |op e|s...popf|
|00004d50| 0d 0a 09 70 6f 70 20 20 | 20 20 20 62 70 0d 0a 09 |...pop | bp...|
|00004d60| 70 6f 70 20 20 20 20 20 | 63 73 3a 6f 75 72 5f 49 |pop |cs:our_I|
|00004d70| 43 54 20 20 20 20 20 20 | 3b 64 72 6f 70 20 49 43 |CT |;drop IC|
|00004d80| 54 20 61 64 64 72 65 73 | 73 20 77 69 74 68 6f 75 |T addres|s withou|
|00004d90| 74 20 61 66 66 65 63 74 | 69 6e 67 20 66 6c 61 67 |t affect|ing flag|
|00004da0| 73 0d 0a 0d 0a 3b 0d 0a | 3b 20 48 4f 57 20 77 65 |s....;..|; HOW we|
|00004db0| 20 65 78 69 74 20 69 73 | 20 65 78 74 72 65 6d 65 | exit is| extreme|
|00004dc0| 6c 79 20 69 6d 70 6f 72 | 74 61 6e 74 2e 20 57 65 |ly impor|tant. We|
|00004dd0| 20 6d 75 73 74 20 65 78 | 69 74 20 74 68 65 20 73 | must ex|it the s|
|00004de0| 61 6d 65 20 77 61 79 20 | 74 68 61 74 20 74 68 65 |ame way |that the|
|00004df0| 0d 0a 3b 20 72 65 61 6c | 20 69 6e 74 65 72 72 75 |..; real| interru|
|00004e00| 70 74 20 64 6f 65 73 2e | 0d 0a 3b 0d 0a 0d 0a 09 |pt does.|..;.....|
|00004e10| 70 75 73 68 66 09 09 09 | 09 3b 73 61 76 65 20 63 |pushf...|.;save c|
|00004e20| 75 72 72 65 6e 74 20 66 | 6c 61 67 73 20 69 6e 20 |urrent f|lags in |
|00004e30| 63 61 73 65 20 77 65 20 | 72 65 74 75 72 6e 20 74 |case we |return t|
|00004e40| 68 65 6d 0d 0a 09 74 65 | 73 74 09 63 73 3a 6f 75 |hem...te|st.cs:ou|
|00004e50| 72 5f 66 6c 61 67 73 2c | 46 5f 52 45 54 0d 0a 09 |r_flags,|F_RET...|
|00004e60| 6a 6e 7a 09 65 78 69 74 | 5f 72 65 74 0d 0a 09 74 |jnz.exit|_ret...t|
|00004e70| 65 73 74 09 63 73 3a 6f | 75 72 5f 66 6c 61 67 73 |est.cs:o|ur_flags|
|00004e80| 2c 46 5f 52 45 54 32 0d | 0a 09 6a 6e 7a 09 65 78 |,F_RET2.|..jnz.ex|
|00004e90| 69 74 5f 72 65 74 32 0d | 0a 0d 0a 3b 0d 0a 3b 20 |it_ret2.|...;..; |
|00004ea0| 41 73 73 75 6d 65 20 49 | 52 45 54 2e 0d 0a 3b 0d |Assume I|RET...;.|
|00004eb0| 0a 0d 0a 65 78 69 74 5f | 69 72 65 74 3a 0d 0a 09 |...exit_|iret:...|
|00004ec0| 70 6f 70 66 09 09 09 3b | 65 78 69 74 20 76 69 61 |popf...;|exit via|
|00004ed0| 20 49 52 45 54 2c 20 72 | 65 6c 6f 61 64 69 6e 67 | IRET, r|eloading|
|00004ee0| 20 6f 72 69 67 69 6e 61 | 6c 20 66 6c 61 67 73 0d | origina|l flags.|
|00004ef0| 0a 09 53 54 49 09 09 09 | 3b 41 6c 6c 6f 77 20 69 |..STI...|;Allow i|
|00004f00| 6e 74 65 72 72 75 70 74 | 73 20 6e 6f 77 0d 0a 09 |nterrupt|s now...|
|00004f10| 69 72 65 74 0d 0a 0d 0a | 65 78 69 74 5f 72 65 74 |iret....|exit_ret|
|00004f20| 32 3a 0d 0a 09 70 6f 70 | 66 09 09 09 3b 65 78 69 |2:...pop|f...;exi|
|00004f30| 74 20 76 69 61 20 52 45 | 54 20 32 2c 20 64 69 73 |t via RE|T 2, dis|
|00004f40| 63 61 72 64 69 6e 67 20 | 6f 72 69 67 69 6e 61 6c |carding |original|
|00004f50| 20 66 6c 61 67 73 0d 0a | 09 53 54 49 09 09 09 3b | flags..|.STI...;|
|00004f60| 41 6c 6c 6f 77 20 69 6e | 74 65 72 72 75 70 74 73 |Allow in|terrupts|
|00004f70| 20 6e 6f 77 0d 0a 09 72 | 65 74 09 32 0d 0a 0d 0a | now...r|et.2....|
|00004f80| 65 78 69 74 5f 72 65 74 | 3a 0d 0a 09 70 6f 70 66 |exit_ret|:...popf|
|00004f90| 09 09 09 3b 65 78 69 74 | 20 76 69 61 20 66 61 72 |...;exit| via far|
|00004fa0| 20 52 45 54 2c 20 6c 65 | 61 76 69 6e 67 20 6f 72 | RET, le|aving or|
|00004fb0| 69 67 69 6e 61 6c 20 66 | 6c 61 67 73 0d 0a 09 53 |iginal f|lags...S|
|00004fc0| 54 49 09 09 09 3b 41 6c | 6c 6f 77 20 69 6e 74 65 |TI...;Al|low inte|
|00004fd0| 72 72 75 70 74 73 20 6e | 6f 77 0d 0a 09 72 65 74 |rrupts n|ow...ret|
|00004fe0| 0d 0a 0d 0a 69 6e 74 65 | 72 72 75 70 74 20 65 6e |....inte|rrupt en|
|00004ff0| 64 70 0d 0a 0d 0a 09 73 | 75 62 74 74 6c 09 53 75 |dp.....s|ubttl.Su|
|00005000| 70 70 6f 72 74 20 72 6f | 75 74 69 6e 65 73 20 2d |pport ro|utines -|
|00005010| 20 50 72 69 6e 74 65 72 | 20 26 20 53 63 72 65 65 | Printer| & Scree|
|00005020| 6e 20 49 2f 4f 0d 0a 09 | 70 61 67 65 0d 0a 3b 2a |n I/O...|page..;*|
|00005030| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005040| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005050| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0a 3b 0d 0a 3b 20 53 |********|..;..; S|
|00005060| 65 6c 65 63 74 20 76 69 | 64 65 6f 20 66 6f 72 20 |elect vi|deo for |
|00005070| 73 75 62 73 65 71 75 65 | 6e 74 20 6f 75 74 70 75 |subseque|nt outpu|
|00005080| 74 0d 0a 3b 0d 0a 3b 2a | 2a 2a 2a 2a 2a 2a 2a 2a |t..;..;*|********|
|00005090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000050a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000050b0| 0d 0a 0d 0a 73 65 6c 76 | 69 64 65 6f 20 70 72 6f |....selv|ideo pro|
|000050c0| 63 09 6e 65 61 72 0d 0a | 09 6d 6f 76 09 70 72 74 |c.near..|.mov.prt|
|000050d0| 5f 66 6c 61 67 2c 30 0d | 0a 09 72 65 74 0d 0a 73 |_flag,0.|..ret..s|
|000050e0| 65 6c 76 69 64 65 6f 20 | 65 6e 64 70 0d 0a 0d 0a |elvideo |endp....|
|000050f0| 0d 0a 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********|
|00005100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0a 3b 0d |********|****..;.|
|00005120| 0a 3b 20 53 65 6c 65 63 | 74 20 70 72 69 6e 74 65 |.; Selec|t printe|
|00005130| 72 20 66 6f 72 20 73 75 | 62 73 65 71 75 65 6e 74 |r for su|bsequent|
|00005140| 20 6f 75 74 70 75 74 0d | 0a 3b 0d 0a 3b 2a 2a 2a | output.|.;..;***|
|00005150| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005160| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005170| 2a 2a 2a 2a 2a 2a 0d 0a | 0d 0a 73 65 6c 70 72 69 |******..|..selpri|
|00005180| 6e 74 20 70 72 6f 63 09 | 6e 65 61 72 0d 0a 09 70 |nt proc.|near...p|
|00005190| 75 73 68 09 61 78 0d 0a | 09 6d 6f 76 09 61 78 2c |ush.ax..|.mov.ax,|
|000051a0| 70 72 74 5f 62 61 73 65 | 09 3b 64 6f 20 77 65 20 |prt_base|.;do we |
|000051b0| 68 61 76 65 20 61 20 70 | 72 69 6e 74 65 72 3f 0d |have a p|rinter?.|
|000051c0| 0a 09 6f 72 09 61 6c 2c | 61 68 0d 0a 09 6d 6f 76 |..or.al,|ah...mov|
|000051d0| 09 70 72 74 5f 66 6c 61 | 67 2c 61 6c 09 3b 61 6c |.prt_fla|g,al.;al|
|000051e0| 20 69 73 20 6e 6f 6e 2d | 7a 65 72 6f 20 69 66 20 | is non-|zero if |
|000051f0| 77 65 20 64 6f 0d 0a 09 | 70 6f 70 09 61 78 0d 0a |we do...|pop.ax..|
|00005200| 09 72 65 74 0d 0a 73 65 | 6c 70 72 69 6e 74 20 65 |.ret..se|lprint e|
|00005210| 6e 64 70 0d 0a 0d 0a 3b | 2a 2a 2a 2a 2a 2a 2a 2a |ndp....;|********|
|00005220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005230| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005240| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005250| 0d 0a 3b 0d 0a 3b 20 4f | 75 74 70 75 74 20 41 4c |..;..; O|utput AL|
|00005260| 20 74 6f 20 70 72 69 6e | 74 65 72 20 6f 72 20 73 | to prin|ter or s|
|00005270| 63 72 65 65 6e 2c 20 64 | 65 70 65 6e 64 69 6e 67 |creen, d|epending|
|00005280| 20 6f 6e 20 70 72 74 5f | 66 6c 61 67 2e 0d 0a 3b | on prt_|flag...;|
|00005290| 0d 0a 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********|
|000052a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000052b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000052c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 0a 0d 0a 70 |********|***....p|
|000052d0| 72 69 6e 74 09 70 72 6f | 63 09 6e 65 61 72 0d 0a |rint.pro|c.near..|
|000052e0| 09 70 75 73 68 09 64 78 | 0d 0a 09 70 75 73 68 09 |.push.dx|...push.|
|000052f0| 63 78 0d 0a 09 70 75 73 | 68 09 62 78 0d 0a 09 70 |cx...pus|h.bx...p|
|00005300| 75 73 68 09 61 78 0d 0a | 0d 0a 3b 20 2d 2d 2d 2d |ush.ax..|..; ----|
|00005310| 2d 20 53 65 65 20 69 66 | 20 69 74 20 73 68 6f 75 |- See if| it shou|
|00005320| 6c 64 20 67 6f 20 74 6f | 20 70 72 69 6e 74 65 72 |ld go to| printer|
|00005330| 0d 0a 0d 0a 09 74 65 73 | 74 09 70 72 74 5f 66 6c |.....tes|t.prt_fl|
|00005340| 61 67 2c 30 66 66 68 09 | 09 3b 73 65 6e 64 20 69 |ag,0ffh.|.;send i|
|00005350| 74 20 74 6f 20 70 72 69 | 6e 74 65 72 3f 0d 0a 09 |t to pri|nter?...|
|00005360| 6a 6e 7a 09 70 72 69 6e | 74 31 09 09 09 3b 79 65 |jnz.prin|t1...;ye|
|00005370| 73 0d 0a 0d 0a 70 72 69 | 6e 74 30 3a 0d 0a 0d 0a |s....pri|nt0:....|
|00005380| 3b 0d 0a 3b 20 53 65 6e | 64 20 63 68 61 72 20 74 |;..; Sen|d char t|
|00005390| 6f 20 76 69 64 65 6f 20 | 76 69 61 20 49 4e 54 20 |o video |via INT |
|000053a0| 30 31 30 48 0d 0a 3b 0d | 0a 0d 0a 09 6d 6f 76 09 |010H..;.|....mov.|
|000053b0| 62 6c 2c 31 0d 0a 09 6d | 6f 76 09 61 68 2c 31 34 |bl,1...m|ov.ah,14|
|000053c0| 09 09 09 3b 22 57 72 69 | 74 65 20 54 54 59 22 20 |...;"Wri|te TTY" |
|000053d0| 66 75 6e 63 0d 0a 09 69 | 6e 74 09 30 31 30 68 0d |func...i|nt.010h.|
|000053e0| 0a 09 63 6c 63 09 09 09 | 09 3b 73 68 6f 77 20 6e |..clc...|.;show n|
|000053f0| 6f 20 49 2f 4f 20 65 72 | 72 6f 72 0d 0a 09 6a 6d |o I/O er|ror...jm|
|00005400| 70 09 73 68 6f 72 74 20 | 70 72 69 6e 74 39 0d 0a |p.short |print9..|
|00005410| 0d 0a 70 72 69 6e 74 31 | 3a 0d 0a 0d 0a 3b 2d 2d |..print1|:....;--|
|00005420| 2d 2d 2d 20 53 65 6e 64 | 20 69 74 20 74 6f 20 70 |--- Send| it to p|
|00005430| 72 69 6e 74 65 72 0d 0a | 0d 0a 09 6d 6f 76 09 64 |rinter..|...mov.d|
|00005440| 78 2c 70 72 74 5f 62 61 | 73 65 09 09 3b 67 65 74 |x,prt_ba|se..;get|
|00005450| 20 70 72 69 6e 74 65 72 | 20 62 61 73 65 20 49 2f | printer| base I/|
|00005460| 4f 20 61 64 64 72 65 73 | 73 0d 0a 09 69 6e 63 09 |O addres|s...inc.|
|00005470| 64 78 09 09 09 3b 75 70 | 20 74 6f 20 73 74 61 74 |dx...;up| to stat|
|00005480| 75 73 20 70 6f 72 74 0d | 0a 09 6d 6f 76 09 61 68 |us port.|..mov.ah|
|00005490| 2c 61 6c 09 09 09 3b 73 | 61 76 65 20 63 68 61 72 |,al...;s|ave char|
|000054a0| 20 69 6e 20 61 68 0d 0a | 09 78 6f 72 09 63 78 2c | in ah..|.xor.cx,|
|000054b0| 63 78 09 09 09 3b 69 6e | 69 74 20 74 69 6d 65 6f |cx...;in|it timeo|
|000054c0| 75 74 20 74 69 63 6b 65 | 72 0d 0a 0d 0a 70 72 69 |ut ticke|r....pri|
|000054d0| 6e 74 32 3a 0d 0a 09 69 | 6e 09 61 6c 2c 64 78 09 |nt2:...i|n.al,dx.|
|000054e0| 09 09 3b 67 65 74 20 73 | 74 61 74 75 73 0d 0a 09 |..;get s|tatus...|
|000054f0| 74 65 73 74 09 61 6c 2c | 30 38 30 68 09 09 09 3b |test.al,|080h...;|
|00005500| 69 73 20 70 72 69 6e 74 | 65 72 20 62 75 73 79 3f |is print|er busy?|
|00005510| 0d 0a 09 6a 6e 7a 09 70 | 72 69 6e 74 35 09 09 09 |...jnz.p|rint5...|
|00005520| 3b 6e 6f 2c 20 70 72 6f | 63 65 65 64 20 74 6f 20 |;no, pro|ceed to |
|00005530| 73 65 6e 64 20 63 68 61 | 72 0d 0a 0d 0a 3b 0d 0a |send cha|r....;..|
|00005540| 3b 20 57 65 27 72 65 20 | 6e 6f 74 20 69 6d 6d 65 |; We're |not imme|
|00005550| 64 69 61 74 65 6c 79 20 | 72 65 61 64 79 2e 20 53 |diately |ready. S|
|00005560| 6f 6d 65 20 70 72 69 6e | 74 65 72 73 20 72 65 71 |ome prin|ters req|
|00005570| 75 69 72 65 20 6d 6f 72 | 65 20 6f 66 20 61 20 77 |uire mor|e of a w|
|00005580| 61 69 74 20 74 68 61 6e | 0d 0a 3b 20 74 68 65 20 |ait than|..; the |
|00005590| 73 69 6d 70 6c 65 20 36 | 34 4b 20 6c 6f 6f 70 20 |simple 6|4K loop |
|000055a0| 66 6f 75 6e 64 20 69 6e | 20 43 58 2e 20 53 6f 20 |found in| CX. So |
|000055b0| 68 65 72 65 27 73 20 61 | 20 74 69 6d 65 20 77 61 |here's a| time wa|
|000055c0| 73 74 65 72 20 74 68 61 | 74 20 79 6f 75 20 6d 61 |ster tha|t you ma|
|000055d0| 79 0d 0a 3b 20 77 61 6e | 74 20 74 6f 20 74 61 69 |y..; wan|t to tai|
|000055e0| 6c 6f 72 20 74 6f 20 79 | 6f 75 72 20 70 72 69 6e |lor to y|our prin|
|000055f0| 74 65 72 2e 0d 0a 3b 0d | 0a 0d 0a 09 6d 6f 76 09 |ter...;.|....mov.|
|00005600| 61 6c 2c 38 09 09 09 3b | 67 72 65 61 74 6c 79 20 |al,8...;|greatly |
|00005610| 65 78 74 65 6e 64 20 74 | 69 6d 65 6f 75 74 20 76 |extend t|imeout v|
|00005620| 61 6c 75 65 0d 0a 0d 0a | 70 72 69 6e 74 33 3a 0d |alue....|print3:.|
|00005630| 0a 09 64 65 63 09 61 6c | 0d 0a 09 6a 6e 7a 09 70 |..dec.al|...jnz.p|
|00005640| 72 69 6e 74 33 0d 0a 0d | 0a 09 6c 6f 6f 70 09 70 |rint3...|..loop.p|
|00005650| 72 69 6e 74 32 09 09 09 | 3b 77 61 69 74 20 66 6f |rint2...|;wait fo|
|00005660| 72 20 77 68 6f 6c 65 20 | 74 69 6d 65 6f 75 74 0d |r whole |timeout.|
|00005670| 0a 09 73 74 63 09 09 09 | 09 3b 73 65 74 20 63 61 |..stc...|.;set ca|
|00005680| 72 72 79 20 66 6f 72 20 | 74 69 6d 65 6f 75 74 0d |rry for |timeout.|
|00005690| 0a 09 6a 6d 70 09 73 68 | 6f 72 74 20 70 72 69 6e |..jmp.sh|ort prin|
|000056a0| 74 39 09 09 3b 61 6e 64 | 20 65 78 69 74 0d 0a 0d |t9..;and| exit...|
|000056b0| 0a 70 72 69 6e 74 35 3a | 0d 0a 09 64 65 63 09 64 |.print5:|...dec.d|
|000056c0| 78 09 09 09 3b 64 6f 77 | 6e 20 74 6f 20 64 61 74 |x...;dow|n to dat|
|000056d0| 61 20 72 65 67 0d 0a 09 | 6d 6f 76 09 61 6c 2c 61 |a reg...|mov.al,a|
|000056e0| 68 09 09 09 3b 72 65 63 | 6f 76 65 72 20 63 68 61 |h...;rec|over cha|
|000056f0| 72 20 74 6f 20 62 65 20 | 73 65 6e 74 0d 0a 09 6f |r to be |sent...o|
|00005700| 75 74 09 64 78 2c 61 6c | 09 09 09 3b 70 75 74 20 |ut.dx,al|...;put |
|00005710| 69 74 20 6f 6e 20 64 61 | 74 61 20 6c 69 6e 65 73 |it on da|ta lines|
|00005720| 0d 0a 09 69 6e 63 09 64 | 78 09 09 09 3b 75 70 20 |...inc.d|x...;up |
|00005730| 74 6f 20 63 6f 6e 74 72 | 6f 6c 20 70 6f 72 74 0d |to contr|ol port.|
|00005740| 0a 09 69 6e 63 09 64 78 | 0d 0a 09 6d 6f 76 09 61 |..inc.dx|...mov.a|
|00005750| 6c 2c 30 64 68 09 09 09 | 3b 73 65 74 20 73 74 72 |l,0dh...|;set str|
|00005760| 6f 62 65 20 6c 6f 77 0d | 0a 09 6f 75 74 09 64 78 |obe low.|..out.dx|
|00005770| 2c 61 6c 0d 0a 09 6d 6f | 76 09 61 6c 2c 30 63 68 |,al...mo|v.al,0ch|
|00005780| 09 09 09 3b 73 65 74 20 | 73 74 72 6f 62 65 20 68 |...;set |strobe h|
|00005790| 69 67 68 20 61 67 61 69 | 6e 0d 0a 09 6f 75 74 09 |igh agai|n...out.|
|000057a0| 64 78 2c 61 6c 0d 0a 09 | 63 6c 63 09 09 09 09 3b |dx,al...|clc....;|
|000057b0| 73 68 6f 77 20 6e 6f 20 | 65 72 72 6f 72 0d 0a 0d |show no |error...|
|000057c0| 0a 70 72 69 6e 74 39 3a | 0d 0a 0d 0a 3b 0d 0a 3b |.print9:|....;..;|
|000057d0| 20 41 74 20 74 68 69 73 | 20 70 6f 69 6e 74 2c 20 | At this| point, |
|000057e0| 43 41 52 52 59 20 69 73 | 20 53 45 54 20 69 66 20 |CARRY is| SET if |
|000057f0| 77 65 20 77 65 72 65 20 | 67 6f 69 6e 67 20 74 6f |we were |going to|
|00005800| 20 74 68 65 20 70 72 69 | 6e 74 65 72 20 61 6e 64 | the pri|nter and|
|00005810| 20 68 61 64 20 61 6e 0d | 0a 3b 20 49 2f 4f 20 65 | had an.|.; I/O e|
|00005820| 72 72 6f 72 2e 0d 0a 3b | 0d 0a 0d 0a 09 6a 6e 63 |rror...;|.....jnc|
|00005830| 09 70 72 69 6e 74 31 30 | 09 09 09 3b 6e 6f 20 65 |.print10|...;no e|
|00005840| 72 72 6f 72 0d 0a 09 63 | 61 6c 6c 09 73 65 6c 76 |rror...c|all.selv|
|00005850| 69 64 65 6f 09 09 3b 65 | 72 72 6f 72 2c 20 73 6f |ideo..;e|rror, so|
|00005860| 20 73 77 69 74 63 68 20 | 74 6f 20 76 69 64 65 6f | switch |to video|
|00005870| 0d 0a 09 70 6f 70 09 61 | 78 09 09 09 3b 72 65 63 |...pop.a|x...;rec|
|00005880| 6f 76 65 72 20 41 4c 0d | 0a 09 70 75 73 68 09 61 |over AL.|..push.a|
|00005890| 78 0d 0a 09 6a 6d 70 09 | 70 72 69 6e 74 30 09 09 |x...jmp.|print0..|
|000058a0| 09 3b 67 6f 20 73 65 6e | 64 20 69 74 20 74 6f 20 |.;go sen|d it to |
|000058b0| 76 69 64 65 6f 0d 0a 0d | 0a 70 72 69 6e 74 31 30 |video...|.print10|
|000058c0| 3a 0d 0a 09 70 6f 70 09 | 61 78 0d 0a 09 70 6f 70 |:...pop.|ax...pop|
|000058d0| 09 62 78 0d 0a 09 70 6f | 70 09 63 78 0d 0a 09 70 |.bx...po|p.cx...p|
|000058e0| 6f 70 09 64 78 0d 0a 09 | 72 65 74 0d 0a 70 72 69 |op.dx...|ret..pri|
|000058f0| 6e 74 09 65 6e 64 70 0d | 0a 0d 0a 3b 2a 2a 2a 2a |nt.endp.|...;****|
|00005900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005920| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005930| 2a 2a 2a 2a 0d 0a 3b 0d | 0a 3b 20 4f 75 74 70 75 |****..;.|.; Outpu|
|00005940| 74 20 62 69 6e 61 72 79 | 20 41 4c 20 61 73 20 32 |t binary| AL as 2|
|00005950| 20 68 65 78 20 64 69 67 | 69 74 73 0d 0a 3b 0d 0a | hex dig|its..;..|
|00005960| 3b 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;*******|********|
|00005970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005990| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0a 0d 0a 70 72 69 |********|*....pri|
|000059a0| 6e 74 5f 68 65 78 20 70 | 72 6f 63 09 6e 65 61 72 |nt_hex p|roc.near|
|000059b0| 0d 0a 09 70 75 73 68 09 | 62 78 0d 0a 09 70 75 73 |...push.|bx...pus|
|000059c0| 68 09 61 78 0d 0a 09 6d | 6f 76 09 62 6c 2c 61 6c |h.ax...m|ov.bl,al|
|000059d0| 09 09 09 3b 69 73 6f 6c | 61 74 65 20 48 4f 20 6e |...;isol|ate HO n|
|000059e0| 69 62 62 6c 65 0d 0a 09 | 73 68 72 09 62 6c 2c 31 |ibble...|shr.bl,1|
|000059f0| 0d 0a 09 73 68 72 09 62 | 6c 2c 31 0d 0a 09 73 68 |...shr.b|l,1...sh|
|00005a00| 72 09 62 6c 2c 31 0d 0a | 09 73 68 72 09 62 6c 2c |r.bl,1..|.shr.bl,|
|00005a10| 31 0d 0a 09 61 6e 64 09 | 62 78 2c 30 66 68 0d 0a |1...and.|bx,0fh..|
|00005a20| 09 6d 6f 76 09 61 6c 2c | 68 65 78 74 61 62 5b 62 |.mov.al,|hextab[b|
|00005a30| 78 5d 09 09 3b 78 6c 69 | 74 20 74 6f 20 68 65 78 |x]..;xli|t to hex|
|00005a40| 20 63 68 61 72 0d 0a 09 | 63 61 6c 6c 09 70 72 69 | char...|call.pri|
|00005a50| 6e 74 09 09 09 3b 70 72 | 69 6e 74 20 31 73 74 20 |nt...;pr|int 1st |
|00005a60| 63 68 61 72 0d 0a 09 70 | 6f 70 09 61 78 0d 0a 09 |char...p|op.ax...|
|00005a70| 70 75 73 68 09 61 78 0d | 0a 09 6d 6f 76 09 62 6c |push.ax.|..mov.bl|
|00005a80| 2c 61 6c 09 09 09 3b 69 | 73 6f 6c 61 74 65 20 4c |,al...;i|solate L|
|00005a90| 4f 20 6e 69 62 62 6c 65 | 0d 0a 09 61 6e 64 09 62 |O nibble|...and.b|
|00005aa0| 78 2c 30 66 68 0d 0a 09 | 6d 6f 76 09 61 6c 2c 68 |x,0fh...|mov.al,h|
|00005ab0| 65 78 74 61 62 5b 62 78 | 5d 09 09 3b 78 6c 69 74 |extab[bx|]..;xlit|
|00005ac0| 20 74 6f 20 68 65 78 20 | 63 68 61 72 0d 0a 09 63 | to hex |char...c|
|00005ad0| 61 6c 6c 09 70 72 69 6e | 74 09 09 09 3b 70 72 69 |all.prin|t...;pri|
|00005ae0| 6e 74 20 32 6e 64 20 63 | 68 61 72 0d 0a 09 70 6f |nt 2nd c|har...po|
|00005af0| 70 09 61 78 0d 0a 09 70 | 6f 70 09 62 78 0d 0a 09 |p.ax...p|op.bx...|
|00005b00| 72 65 74 0d 0a 70 72 69 | 6e 74 5f 68 65 78 20 65 |ret..pri|nt_hex e|
|00005b10| 6e 64 70 0d 0a 0d 0a 68 | 65 78 74 61 62 09 64 62 |ndp....h|extab.db|
|00005b20| 09 27 30 31 32 33 34 35 | 36 37 38 39 41 42 43 44 |.'012345|6789ABCD|
|00005b30| 45 46 27 0d 0a 0d 0a 3b | 2a 2a 2a 2a 2a 2a 2a 2a |EF'....;|********|
|00005b40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005b50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005b60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005b70| 0d 0a 3b 0d 0a 3b 20 4f | 75 74 70 75 74 20 62 69 |..;..; O|utput bi|
|00005b80| 6e 61 72 79 20 77 6f 72 | 64 20 41 58 20 61 73 20 |nary wor|d AX as |
|00005b90| 34 20 68 65 78 20 64 69 | 67 69 74 73 0d 0a 3b 0d |4 hex di|gits..;.|
|00005ba0| 0a 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|00005bb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005bc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005bd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0a 0d 0a 70 72 |********|**....pr|
|00005be0| 69 6e 74 5f 77 6f 72 64 | 20 70 72 6f 63 09 6e 65 |int_word| proc.ne|
|00005bf0| 61 72 0d 0a 09 78 63 68 | 67 09 61 68 2c 61 6c 09 |ar...xch|g.ah,al.|
|00005c00| 09 09 3b 67 65 74 20 48 | 4f 20 68 61 6c 66 20 74 |..;get H|O half t|
|00005c10| 6f 20 41 4c 0d 0a 09 63 | 61 6c 6c 09 70 72 69 6e |o AL...c|all.prin|
|00005c20| 74 5f 68 65 78 09 09 3b | 70 72 69 6e 74 20 31 73 |t_hex..;|print 1s|
|00005c30| 74 20 32 20 63 68 61 72 | 73 0d 0a 09 78 63 68 67 |t 2 char|s...xchg|
|00005c40| 09 61 68 2c 61 6c 09 09 | 09 3b 67 65 74 20 4c 4f |.ah,al..|.;get LO|
|00005c50| 20 68 61 6c 66 20 62 61 | 63 6b 20 74 6f 20 41 4c | half ba|ck to AL|
|00005c60| 0d 0a 09 63 61 6c 6c 09 | 70 72 69 6e 74 5f 68 65 |...call.|print_he|
|00005c70| 78 09 09 3b 70 72 69 6e | 74 20 32 6e 64 20 32 20 |x..;prin|t 2nd 2 |
|00005c80| 63 68 61 72 73 0d 0a 09 | 72 65 74 0d 0a 70 72 69 |chars...|ret..pri|
|00005c90| 6e 74 5f 77 6f 72 64 20 | 65 6e 64 70 0d 0a 0d 0a |nt_word |endp....|
|00005ca0| 3b 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;*******|********|
|00005cb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005cc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005cd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0a 3b 0d 0a 3b 20 |********|*..;..; |
|00005ce0| 4f 75 74 70 75 74 20 62 | 69 6e 61 72 79 20 77 6f |Output b|inary wo|
|00005cf0| 72 64 20 41 58 20 61 73 | 20 34 20 68 65 78 20 64 |rd AX as| 4 hex d|
|00005d00| 69 67 69 74 73 2c 20 70 | 6c 75 73 20 61 20 62 6c |igits, p|lus a bl|
|00005d10| 61 6e 6b 0d 0a 3b 0d 0a | 3b 2a 2a 2a 2a 2a 2a 2a |ank..;..|;*******|
|00005d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005d50| 2a 0d 0a 0d 0a 70 72 69 | 6e 74 5f 77 6f 72 64 62 |*....pri|nt_wordb|
|00005d60| 20 70 72 6f 63 20 6e 65 | 61 72 0d 0a 09 70 75 73 | proc ne|ar...pus|
|00005d70| 68 09 61 78 0d 0a 09 63 | 61 6c 6c 09 70 72 69 6e |h.ax...c|all.prin|
|00005d80| 74 5f 77 6f 72 64 0d 0a | 09 6d 6f 76 09 61 6c 2c |t_word..|.mov.al,|
|00005d90| 27 20 27 0d 0a 09 63 61 | 6c 6c 09 70 72 69 6e 74 |' '...ca|ll.print|
|00005da0| 0d 0a 09 70 6f 70 09 61 | 78 0d 0a 09 72 65 74 0d |...pop.a|x...ret.|
|00005db0| 0a 70 72 69 6e 74 5f 77 | 6f 72 64 62 20 65 6e 64 |.print_w|ordb end|
|00005dc0| 70 0d 0a 0d 0a 3b 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |p....;**|********|
|00005dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00005df0| 0a 3b 0d 0a 3b 20 50 72 | 69 6e 74 20 43 52 4c 46 |.;..; Pr|int CRLF|
|00005e00| 2e 0d 0a 3b 0d 0a 3b 2a | 2a 2a 2a 2a 2a 2a 2a 2a |...;..;*|********|
|00005e10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005e20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005e30| 0d 0a 0d 0a 63 72 6c 66 | 09 70 72 6f 63 09 6e 65 |....crlf|.proc.ne|
|00005e40| 61 72 0d 0a 09 70 75 73 | 68 09 61 78 0d 0a 09 6d |ar...pus|h.ax...m|
|00005e50| 6f 76 09 61 6c 2c 30 64 | 68 0d 0a 09 63 61 6c 6c |ov.al,0d|h...call|
|00005e60| 09 70 72 69 6e 74 0d 0a | 09 6d 6f 76 09 61 6c 2c |.print..|.mov.al,|
|00005e70| 30 61 68 0d 0a 09 63 61 | 6c 6c 09 70 72 69 6e 74 |0ah...ca|ll.print|
|00005e80| 0d 0a 09 70 6f 70 09 61 | 78 0d 0a 09 72 65 74 0d |...pop.a|x...ret.|
|00005e90| 0a 63 72 6c 66 09 65 6e | 64 70 0d 0a 0d 0a 3b 2a |.crlf.en|dp....;*|
|00005ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0a 3b 0d 0a 3b 20 50 |********|..;..; P|
|00005ed0| 72 69 6e 74 20 73 74 72 | 69 6e 67 20 61 74 20 44 |rint str|ing at D|
|00005ee0| 53 3a 44 58 2c 20 75 70 | 20 74 6f 20 22 24 22 20 |S:DX, up| to "$" |
|00005ef0| 63 68 61 72 61 63 74 65 | 72 2e 0d 0a 3b 0d 0a 3b |characte|r...;..;|
|00005f00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005f10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005f20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0a 0d 0a 70 72 69 |********|*....pri|
|00005f30| 6e 74 5f 6c 69 6e 65 20 | 70 72 6f 63 09 6e 65 61 |nt_line |proc.nea|
|00005f40| 72 0d 0a 09 70 75 73 68 | 09 73 69 0d 0a 09 70 75 |r...push|.si...pu|
|00005f50| 73 68 09 61 78 0d 0a 09 | 63 6c 64 09 09 09 3b 66 |sh.ax...|cld...;f|
|00005f60| 6f 72 77 61 72 64 21 0d | 0a 09 6d 6f 76 09 73 69 |orward!.|..mov.si|
|00005f70| 2c 64 78 09 09 3b 44 53 | 3a 53 49 20 3d 20 73 74 |,dx..;DS|:SI = st|
|00005f80| 72 69 6e 67 0d 0a 0d 0a | 70 72 69 6e 74 5f 6c 69 |ring....|print_li|
|00005f90| 6e 65 32 3a 0d 0a 09 6c | 6f 64 73 62 09 09 09 3b |ne2:...l|odsb...;|
|00005fa0| 67 65 74 20 6e 65 78 74 | 20 62 79 74 65 20 74 6f |get next| byte to|
|00005fb0| 20 70 72 69 6e 74 0d 0a | 09 63 6d 70 09 61 6c 2c | print..|.cmp.al,|
|00005fc0| 27 24 27 09 09 3b 74 65 | 72 6d 69 6e 61 74 69 6e |'$'..;te|rminatin|
|00005fd0| 67 20 63 68 61 72 3f 0d | 0a 09 6a 7a 09 70 72 69 |g char?.|..jz.pri|
|00005fe0| 6e 74 5f 6c 69 6e 65 39 | 09 3b 79 65 73 2c 20 65 |nt_line9|.;yes, e|
|00005ff0| 78 69 74 0d 0a 09 63 61 | 6c 6c 09 70 72 69 6e 74 |xit...ca|ll.print|
|00006000| 09 09 3b 70 72 69 6e 74 | 20 74 68 69 73 20 63 68 |..;print| this ch|
|00006010| 61 72 0d 0a 09 6a 6d 70 | 09 70 72 69 6e 74 5f 6c |ar...jmp|.print_l|
|00006020| 69 6e 65 32 09 3b 63 6f | 6e 74 69 6e 75 65 20 74 |ine2.;co|ntinue t|
|00006030| 69 6c 6c 20 22 24 22 0d | 0a 0d 0a 70 72 69 6e 74 |ill "$".|...print|
|00006040| 5f 6c 69 6e 65 39 3a 0d | 0a 09 70 6f 70 09 61 78 |_line9:.|..pop.ax|
|00006050| 0d 0a 09 70 6f 70 09 73 | 69 0d 0a 09 72 65 74 0d |...pop.s|i...ret.|
|00006060| 0a 70 72 69 6e 74 5f 6c | 69 6e 65 20 65 6e 64 70 |.print_l|ine endp|
|00006070| 0d 0a 0d 0a 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |....;***|********|
|00006080| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0a |********|******..|
|000060a0| 3b 0d 0a 3b 20 50 72 69 | 6e 74 20 44 58 20 28 48 |;..; Pri|nt DX (H|
|000060b0| 4f 29 2c 20 41 58 20 28 | 4c 4f 29 20 61 73 20 78 |O), AX (|LO) as x|
|000060c0| 78 78 78 3a 78 78 78 78 | 2e 0d 0a 3b 0d 0a 3b 2a |xxx:xxxx|...;..;*|
|000060d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000060e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000060f0| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0a 0d 0a 70 72 69 6e |********|....prin|
|00006100| 74 5f 73 65 67 20 70 72 | 6f 63 09 6e 65 61 72 0d |t_seg pr|oc.near.|
|00006110| 0a 09 70 75 73 68 09 61 | 78 0d 0a 09 6d 6f 76 09 |..push.a|x...mov.|
|00006120| 61 78 2c 64 78 09 09 3b | 67 65 74 20 48 4f 20 77 |ax,dx..;|get HO w|
|00006130| 6f 72 64 20 66 69 72 73 | 74 0d 0a 09 63 61 6c 6c |ord firs|t...call|
|00006140| 09 70 72 69 6e 74 5f 77 | 6f 72 64 0d 0a 09 6d 6f |.print_w|ord...mo|
|00006150| 76 09 61 6c 2c 27 3a 27 | 09 09 3b 73 68 6f 77 20 |v.al,':'|..;show |
|00006160| 73 65 70 65 72 61 74 6f | 72 20 74 6f 6f 0d 0a 09 |seperato|r too...|
|00006170| 63 61 6c 6c 09 70 72 69 | 6e 74 0d 0a 09 70 6f 70 |call.pri|nt...pop|
|00006180| 09 61 78 09 09 3b 72 65 | 63 6f 76 65 72 20 4c 4f |.ax..;re|cover LO|
|00006190| 20 77 6f 72 64 0d 0a 09 | 63 61 6c 6c 09 70 72 69 | word...|call.pri|
|000061a0| 6e 74 5f 77 6f 72 64 0d | 0a 09 72 65 74 0d 0a 70 |nt_word.|..ret..p|
|000061b0| 72 69 6e 74 5f 73 65 67 | 20 65 6e 64 70 0d 0a 0d |rint_seg| endp...|
|000061c0| 0a 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|000061d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000061e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000061f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006200| 2a 2a 2a 2a 2a 2a 0d 0a | 3b 0d 0a 3b 20 50 72 69 |******..|;..; Pri|
|00006210| 6e 74 20 61 20 6c 69 6e | 65 20 61 74 20 5b 44 58 |nt a lin|e at [DX|
|00006220| 5d 2c 20 65 64 69 74 65 | 64 2e 0d 0a 3b 0d 0a 3b |], edite|d...;..;|
|00006230| 20 4c 69 6e 65 20 6d 61 | 79 20 63 6f 6e 74 61 69 | Line ma|y contai|
|00006240| 6e 20 45 64 69 74 5f 78 | 78 78 78 20 65 73 63 61 |n Edit_x|xxx esca|
|00006250| 70 65 20 63 68 61 72 61 | 63 74 65 72 73 2c 20 61 |pe chara|cters, a|
|00006260| 73 20 64 65 66 69 6e 65 | 64 20 61 62 6f 76 65 2e |s define|d above.|
|00006270| 0d 0a 3b 0d 0a 3b 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;..;**|********|
|00006280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000062a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000062b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0a 0d 0a 70 72 |********|**....pr|
|000062c0| 69 6e 74 5f 65 64 69 74 | 20 70 72 6f 63 09 6e 65 |int_edit| proc.ne|
|000062d0| 61 72 0d 0a 09 70 75 73 | 68 09 73 69 0d 0a 09 70 |ar...pus|h.si...p|
|000062e0| 75 73 68 09 64 78 0d 0a | 09 70 75 73 68 09 63 78 |ush.dx..|.push.cx|
|000062f0| 0d 0a 09 70 75 73 68 09 | 62 78 0d 0a 09 70 75 73 |...push.|bx...pus|
|00006300| 68 09 61 78 0d 0a 20 20 | 20 20 20 20 20 20 6d 6f |h.ax.. | mo|
|00006310| 76 09 73 69 2c 64 78 09 | 09 09 3b 75 73 65 20 44 |v.si,dx.|..;use D|
|00006320| 53 3a 53 49 20 74 6f 20 | 72 65 61 64 20 6c 69 6e |S:SI to |read lin|
|00006330| 65 0d 0a 20 20 20 20 20 | 20 20 20 63 6c 64 09 09 |e.. | cld..|
|00006340| 09 09 3b 66 6f 72 77 61 | 72 64 21 21 21 0d 0a 0d |..;forwa|rd!!!...|
|00006350| 0a 70 72 69 6e 74 5f 65 | 64 69 74 32 3a 0d 0a 20 |.print_e|dit2:.. |
|00006360| 20 20 20 20 20 20 20 6c | 6f 64 73 62 09 09 09 09 | l|odsb....|
|00006370| 3b 67 65 74 20 6e 65 78 | 74 20 62 79 74 65 20 6f |;get nex|t byte o|
|00006380| 66 20 6c 69 6e 65 0d 0a | 20 20 20 20 20 20 20 20 |f line..| |
|00006390| 63 6d 70 09 61 6c 2c 45 | 64 69 74 5f 42 79 74 65 |cmp.al,E|dit_Byte|
|000063a0| 09 09 3b 62 69 6e 61 72 | 79 20 62 79 74 65 20 74 |..;binar|y byte t|
|000063b0| 6f 20 65 78 70 61 6e 64 | 3f 0d 0a 20 20 20 20 20 |o expand|?.. |
|000063c0| 20 20 20 6a 6e 7a 09 70 | 72 69 6e 74 5f 65 64 69 | jnz.p|rint_edi|
|000063d0| 74 33 09 09 3b 6e 6f 0d | 0a 20 20 20 20 20 20 20 |t3..;no.|. |
|000063e0| 20 6c 6f 64 73 62 09 09 | 09 09 3b 79 65 73 2c 20 | lodsb..|..;yes, |
|000063f0| 67 65 74 20 38 2d 62 69 | 74 20 76 61 6c 75 65 0d |get 8-bi|t value.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.