知行编程网知行编程网  2022-05-26 20:00 知行编程网 隐藏边栏 |   抢沙发  6 
文章评分 0 次,平均分 0.0

雷军 1994 年写的代码,不服不行~

整理 | 程序员的那些事(id:iProgrammer)

雷军的代码像诗一样优雅
↓↓↓
雷军 1994 年写的代码,不服不行~

有些网友在评论中质疑,说雷军代码不会是「屎」一样优雅吧。说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的代码。

在 2011 年的时候,我们在微博转过雷军在 1994 年写的一段完整的汇编代码。雷军这段汇编代码,有程序员评价「如今能写出这么高质量的代码的程序员恐怕也不多」。

雷军 1994 年写的代码,不服不行~

后来雷军在转发我们微博时还补充说:「这个程序第一个版本是我 1989 年写的,怀念当初写程序的快乐时光。」

雷军 1994 年写的代码,不服不行~

之前微博帖子中引用的链接已挂,今天重新在网上找到了完整版,如下:

(在移动端窄屏看大篇幅代码,可能体验不如 PC 端。大家可以试试点击右上角的「……」,然后「复制链接」,方便的时候,在 PC 端看看。)

前方高能……

<section style="padding: 0.5em;max-width: 100%;font-size: 0.85em;font-family: Consolas, Menlo, Courier, monospace;overflow: auto;color: rgb(171, 178, 191);min-width: 400px;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(40, 44, 52);margin-left: 8px;margin-right: 8px;box-sizing: border-box !important;overflow-wrap: break-word !important;display: block !important;"><span style="max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; RI.ASM Revision <span style="max-width: 100%;color: rgb(209, 154, 102);">2.12</span> [ July <span style="max-width: 100%;color: rgb(209, 154, 102);">12</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">1994</span> ]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Revision equ <span style="max-width: 100%;color: rgb(152, 195, 121);">'V2.12 '</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;  RAMinit Release <span style="max-width: 100%;color: rgb(209, 154, 102);">2.0</span> <br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;  Copyright (c) <span style="max-width: 100%;color: rgb(209, 154, 102);">1989-1994</span> by Yellow Rose Software Co.<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;  Written by Mr. Leijun<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;  Function:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;  Press HotKey to remove all TSR program after <span style="max-width: 100%;color: rgb(198, 120, 221);">this</span> program<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ..........................................................................<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Removed Softwares by RI:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; SPDOS v6<span style="max-width: 100%;color: rgb(209, 154, 102);">.0F</span>, WPS v3<span style="max-width: 100%;color: rgb(209, 154, 102);">.0F</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Game Busters III, IV<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; NETX ( Novell <span style="max-width: 100%;color: rgb(209, 154, 102);">3.11</span> )<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; PC-CACHE<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Norton Cache<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Microsoft SmartDrv<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; SideKick <span style="max-width: 100%;color: rgb(209, 154, 102);">1.56</span>A<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; MOUSE Driver<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Crazy (Monochrome simulate CGA program)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; RAMBIOS v2<span style="max-width: 100%;color: rgb(209, 154, 102);">.0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; <span style="max-width: 100%;color: rgb(209, 154, 102);">386</span>MAX Version <span style="max-width: 100%;color: rgb(209, 154, 102);">6.01</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ..........................................................................<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; No cancel softwares:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Windows <span style="max-width: 100%;color: rgb(209, 154, 102);">3.1</span> MSD<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; No removed TSR softwares:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; MS-DOS fastopen<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Buffers, Files ... (QEMM <span style="max-width: 100%;color: rgb(209, 154, 102);">6.0</span>)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; QCache (<span style="max-width: 100%;color: rgb(209, 154, 102);">386</span>MAX <span style="max-width: 100%;color: rgb(209, 154, 102);">6.01</span>)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ..........................................................................<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />COMMENT<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.04</span> Use mouse driver software reset function to initiation mouse<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span> by Mr. Lei and Mr. Feng<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.05</span> RI cannot work in Windows DOS prompt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(209, 154, 102);">3</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span> by Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.06</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1.</span> When XMS cannot allocate <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>K memory, RI halts.<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(209, 154, 102);">2.</span> RI repeat deallocates EMS memory.<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.07</span> HotKey Setup Error<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(209, 154, 102);">4</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">25</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span> by Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.08</span> KB Buffer<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2<span style="max-width: 100%;color: rgb(209, 154, 102);">.10</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1.</span> Release high memory <span style="max-width: 100%;color: rgb(97, 174, 238);">blocks</span> (EMM386 QEMM386 S-ICE <span style="max-width: 100%;color: rgb(209, 154, 102);">386</span>MAX)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />2. RI copies flag<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />V2.12 1. Exists a critical error in Init 8259 procedure<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />2. Save [40:F0--FF] user data area<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dosseg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />.model tiny<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />.code<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />locals @@<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />org 100h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Start: jmp Main<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />org 103h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />True equ 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />False equ 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />MaxHandles equ 100h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />INT3 macro<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out 0ffh,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />endm<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; HotKey Status Test Var<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------- ---------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; <span style="max-width: 100%;color: rgb(209, 154, 102);">7</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">6</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">3</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">417</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">418</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">496</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; . . x . x . . . Left Alt is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">8</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; x . . . x . . . Right Alt is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">8</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">8</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; . . . x . x . . Left Ctrl is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; . x . . . x . . Right Ctrl is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; . . . . . . x . Left Shift is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; . . . . . . . x Right Shift is pressed <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />LeftAlt equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00101000b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RightAlt equ <span style="max-width: 100%;color: rgb(209, 154, 102);">10001000b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />LeftCtrl equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00010100b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RightCtrl equ <span style="max-width: 100%;color: rgb(209, 154, 102);">01000100b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />LeftShift equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00000010b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RightShift equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00000001b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />HotKey db LeftCtrl or RightCtrl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />DataBegin dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />NextDataSeg dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>fffh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />oldInt2F_addr dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_control dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Handle_begin dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cvtOfs dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ; DOS <span style="max-width: 100%;color: rgb(209, 154, 102);">3.0</span> equ <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> and above DOS <span style="max-width: 100%;color: rgb(209, 154, 102);">4.0</span> is <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />org <span style="max-width: 100%;color: rgb(209, 154, 102);">104</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db Revision<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ??date<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">26</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />org <span style="max-width: 100%;color: rgb(209, 154, 102);">114</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />tsrLength dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />MachineID db <span style="max-width: 100%;color: rgb(209, 154, 102);">0F</span>Ch ; IBM PC/AT<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />AuxHotKey db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ; <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>Dh ; <span style="max-width: 100%;color: rgb(152, 195, 121);">'X'</span> Scan Code<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />AuxHotKeyName db <span style="max-width: 100%;color: rgb(152, 195, 121);">'X$ '</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Power db True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Flag db <span style="max-width: 100%;color: rgb(152, 195, 121);">'!'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Kbd102 db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />NoFlag db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />StopFlag db <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />DosEnv dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />WorkSeg dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PrevDataSeg dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Copies db <span style="max-width: 100%;color: rgb(152, 195, 121);">'1'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />old_8259 db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ; <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h port<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ; a1h port<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Status dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMSbit equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00000001b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />EMSbit equ <span style="max-width: 100%;color: rgb(209, 154, 102);">00000010b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SKbit equ <span style="max-width: 100%;color: rgb(209, 154, 102);">10000000b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />GoINT1C: db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>eah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />oldInt1C_addr dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />newINT1C:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test cs:Status, SKbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz GoINT1C<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:StopFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Mr. Lei <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">8</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Problem: <span style="max-width: 100%;color: rgb(198, 120, 221);">if</span> WPS quit and reenter, old RI cann't control keyboard. ;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, offset NewInt9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz GoINT1C<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:StopFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">101</span>h], <span style="max-width: 100%;color: rgb(152, 195, 121);">'IE'</span> ; <span style="max-width: 100%;color: rgb(152, 195, 121);">'LEI'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cli<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:StopFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:oldINT9_addr2, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:oldINT9_addr2[<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>], ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>], offset newINT9_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds:[<span style="max-width: 100%;color: rgb(209, 154, 102);">94</span>+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>], cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp GoINT1C<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; INT2F Func<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; AX = C0D7h Return RI segment in AX<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; AX = C0D8h Removes all TSR programs after RI<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; AX = C0D9h Removes all TSR programs include RI<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; AX = C0DAh Removes all RI copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />newINT2F:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>c0d7h ; LEI Hanzi GB Code<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />iret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: cmp ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>c0d7h+<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp KeepSelf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>: cmp ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>c0d7h+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">3</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp NoKeepSelf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">3</span>: cmp ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>c0d7h+<span style="max-width: 100%;color: rgb(209, 154, 102);">3</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:NextDataSeg, <span style="max-width: 100%;color: rgb(209, 154, 102);">-1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Copies, <span style="max-width: 100%;color: rgb(152, 195, 121);">'1'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp NoKeepSelf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>: jmp dword ptr cs:oldInt2F_addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CallInt9:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />newINT9_2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:NoFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pushf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>ah ; call far ptr oldint9_addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />oldInt9_Addr2 dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp newINT9_proc<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />newINT9:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pushf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>ah ; call far ptr oldint9_addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />oldInt9_Addr dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> cmp cs:NoFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz newINT9_proc<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:NoFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />iret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />newINT9_proc:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Flag, <span style="max-width: 100%;color: rgb(152, 195, 121);">'!'</span> ; busy ?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />iret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Flag, <span style="max-width: 100%;color: rgb(152, 195, 121);">'!'</span> ; <span style="max-width: 100%;color: rgb(230, 192, 123);">set</span> busy flag<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax ; cmp hot key<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,<span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:AuxHotKey, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>ah]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp bx, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>ch]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bl, es:[bx+<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp bl, cs:AuxHotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah,es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>h] ; test CTRL SHIFT ALT<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,cs:HotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ax,<span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>0fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al,ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span> cmp cs:Kbd102, True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">18</span>h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">303</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">96</span>h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">303</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span> cmp cs:AuxHotKey, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp bx, <span style="max-width: 100%;color: rgb(209, 154, 102);">3</span>eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jb @@_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>ah], bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_3:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call IsWinDos<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Flag, <span style="max-width: 100%;color: rgb(152, 195, 121);">' '</span> ; no busy<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />iret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: ; OK<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />KeepSelf:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RemoveTSR<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,cs:WorkSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx,es:tsrLength<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di,dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>h ; Aug <span style="max-width: 100%;color: rgb(209, 154, 102);">24</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx,<span style="max-width: 100%;color: rgb(209, 154, 102);">100</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">27</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />NoKeepSelf:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,<span style="max-width: 100%;color: rgb(209, 154, 102);">0e07</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:clsStr, <span style="max-width: 100%;color: rgb(209, 154, 102);">47</span>h ; Color (White in Red)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RemoveTSR<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec cs:Copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreSelfIntVec<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:PrevDataSeg, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, cs:PrevDataSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:NextDataSeg, <span style="max-width: 100%;color: rgb(209, 154, 102);">-1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span>c00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />IsWinDOS:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">1600</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">2f</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, <span style="max-width: 100%;color: rgb(209, 154, 102);">01</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span> cmp al, <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span> ; Windows/<span style="max-width: 100%;color: rgb(209, 154, 102);">386</span> Version <span style="max-width: 100%;color: rgb(209, 154, 102);">2.</span>X<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, <span style="max-width: 100%;color: rgb(209, 154, 102);">00</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> cmp al, <span style="max-width: 100%;color: rgb(209, 154, 102);">80</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span> ; Windows <span style="max-width: 100%;color: rgb(209, 154, 102);">3</span> in enhanced mode<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Version number in AL/AH<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">4680</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">2f</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, <span style="max-width: 100%;color: rgb(209, 154, 102);">80</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>: mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>: ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreSelfIntVec:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp Copies, <span style="max-width: 100%;color: rgb(152, 195, 121);">'0'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cli<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset oldInt9_Addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">94</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset oldInt2F_Addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">2F</span>h4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset oldInt1C_Addr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>Ch4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ------------- KERNEL PROGRAM ----------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RemoveTSR:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cli ; Set <span style="max-width: 100%;color: rgb(230, 192, 123);">stack</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov sp, cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ss, sp<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov sp, <span style="max-width: 100%;color: rgb(209, 154, 102);">100</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Power, True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Init8259<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,ds:NextDataSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">-1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:PrevDataSeg, ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1: mov si,ds:DataBegin<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:WorkSeg, ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'XX'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreEnvStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreMCB ; restore current mcb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call CloseFiles<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestorePort<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreLEDs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreVecList ; Restore vectors <span style="max-width: 100%;color: rgb(230, 192, 123);">list</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreFloppyParam<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Power, True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreCVTchain ; Restore cvt chain<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreMemoryManager<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreBiosData<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Enable8259<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">16</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call RestoreClockSpeed<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call CloseSpeaker<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ResetDisk<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call UpdateTime<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ClosePRN<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx,cs:WorkSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah,<span style="max-width: 100%;color: rgb(209, 154, 102);">50</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h ; Set PSP segment<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,<span style="max-width: 100%;color: rgb(209, 154, 102);">3</span> <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h ; Set display mode<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call InitPRN<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call InitMouse<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al, cs:Copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, <span style="max-width: 100%;color: rgb(152, 195, 121);">'1'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ja @@_sh1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:ShowCopies, <span style="max-width: 100%;color: rgb(152, 195, 121);">''<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@_sh2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_sh1: mov cs:ShowCopies, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_sh2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset clsStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ColorPrintStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Flag, '</span> <span style="max-width: 100%;color: rgb(152, 195, 121);">' ; no busy<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp Copies, '</span><span style="max-width: 100%;color: rgb(209, 154, 102);">1'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_end<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:StopFlag, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_end:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ClearKB_buffer<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Beep:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,<span style="max-width: 100%;color: rgb(209, 154, 102);">0e07</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; #########################################################################<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ClearKB_Buffer:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, <span style="max-width: 100%;color: rgb(209, 154, 102);">0040</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cli<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>ah]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>ch], bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Init8259:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; cmp cs:Copies, <span style="max-width: 100%;color: rgb(152, 195, 121);">'1'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:MachineID, <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ja @@pc_xt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@AT:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx,<span style="max-width: 100%;color: rgb(209, 154, 102);">870</span>h ;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0F</span>1h,al ;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">11</span>h ; ICW1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>A0h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">20</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,bl ; ICW2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>A1h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,bh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> ; ICW3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>A1h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> ; ICW4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>A1h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">0F</span>Fh ; OCW1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>A1h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@PC_XT:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">13</span>h ; ICW1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">20</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">8</span> ; ICW2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span> ; ICW4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,<span style="max-width: 100%;color: rgb(209, 154, 102);">0F</span>Fh ; OCW1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Enable8259:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, word ptr cs:old_8259<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">021</span>h,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz $+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>a1h,al ; DEC PC Bus Mouse<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret ; July <span style="max-width: 100%;color: rgb(209, 154, 102);">1994</span> by Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreBiosData:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'--'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>a8h ; [<span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h:a8h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">49</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>0h ; User data<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">8</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreMCB:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw ; <span style="max-width: 100%;color: rgb(152, 195, 121);">'MZ'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'MM'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor di,di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">8</span>], <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> ; Aug <span style="max-width: 100%;color: rgb(209, 154, 102);">24</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>: cmp byte ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>], <span style="max-width: 100%;color: rgb(152, 195, 121);">'Z'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h], <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CloseFiles:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span> ; Begin handle<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">15</span> ; Max handle<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sub cx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">3</span>eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestorePort:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, <span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h ; restore port<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor di, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">8</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreLEDs:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and al, <span style="max-width: 100%;color: rgb(209, 154, 102);">11110000b</span> ; LED status<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">00001111b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ah, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>0h ; Clear CTRL ALT SHIFT<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>h], ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreEnvStr:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, cs:DosEnv<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor si, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> cmp byte ptr ds:[si], <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>: stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreVecList:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx,<span style="max-width: 100%;color: rgb(209, 154, 102);">100</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg dx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp dx, <span style="max-width: 100%;color: rgb(152, 195, 121);">'EL'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> cmp al, <span style="max-width: 100%;color: rgb(152, 195, 121);">'I'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sub cl, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:[di<span style="max-width: 100%;color: rgb(209, 154, 102);">-4</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, es:[di<span style="max-width: 100%;color: rgb(209, 154, 102);">-2</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@a: stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@a<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreFloppyParam: ; Mr. Lei <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1992</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">525</span>h], <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreCVTchain:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'VC'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw ; DPB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add di, cs:cvtOfs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add di, <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les di, es:[di+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp di, <span style="max-width: 100%;color: rgb(209, 154, 102);">-1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw ; DCB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw ; Device Driver Chain<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>: push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl, <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les di, es:[di]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreMemoryManager:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test cs:Status, XMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call LoadXMSstatus<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test cs:Status, EMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call LoadEMSstatus<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />LoadEMSstatus:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'ME'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor dx, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1: push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: cmp dx, ds:[si]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add si, <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">45</span>h ; Deallocate Handle and Memory<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">67</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ah, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp dx, <span style="max-width: 100%;color: rgb(209, 154, 102);">100</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jb @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shl cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shl cx, <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add si, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />LoadXMSstatus:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, <span style="max-width: 100%;color: rgb(152, 195, 121);">'MX'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call Beep<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jcxz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">5</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>: push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>ah ; <span style="max-width: 100%;color: rgb(230, 192, 123);">free</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> cmp bl, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>abh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>dh ; unlock<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">4</span>: loop @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">5</span>: ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />endp<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CloseSpeaker:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />in al, <span style="max-width: 100%;color: rgb(209, 154, 102);">61</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and al, <span style="max-width: 100%;color: rgb(209, 154, 102);">0f</span>ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">61</span>h, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />RestoreClockSpeed:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al, <span style="max-width: 100%;color: rgb(209, 154, 102);">00110110b</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">43</span>h, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out <span style="max-width: 100%;color: rgb(209, 154, 102);">40</span>h, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ResetDisk:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor dx, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">13</span>h ; Restore A<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">13</span>h ; Restore B<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dl, <span style="max-width: 100%;color: rgb(209, 154, 102);">80</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">13</span>h ; Restore C<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ClosePRN:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">51</span>h ; Get PSP seg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">16</span>h] ; Prev PSP seg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">3e00</span>h ; COMMAND<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">9</span>:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />InitPRN:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">3e00</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> ; PRN<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">3</span>d01h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset PRNname<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PRNname db <span style="max-width: 100%;color: rgb(152, 195, 121);">'PRN'</span>,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />InitMouse: ; <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">16</span>/<span style="max-width: 100%;color: rgb(209, 154, 102);">1993</span> by Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">33</span>h4+<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>], <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> cmp word ptr es:[<span style="max-width: 100%;color: rgb(209, 154, 102);">33</span>h4], <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">33</span>h ; Hook Mouse Interrupt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>: pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ------------- CMOS CLOCK <span style="max-width: 100%;color: rgb(230, 192, 123);">set</span> to System -----------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />UpdateTime:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call GetRealTime<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">21</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />GetRealTime:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah,<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>Ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call bcdxchg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ch,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,cl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call bcdxchg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call bcdxchg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dh,al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dl,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />BCDxchg:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl,<span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al,cl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bl,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>Ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mul bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and bl,<span style="max-width: 100%;color: rgb(209, 154, 102);">0F</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add al,bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Display <span style="max-width: 100%;color: rgb(230, 192, 123);">string</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ColorPrintStr:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bh, al ; color<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, <span style="max-width: 100%;color: rgb(209, 154, 102);">014f</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, <span style="max-width: 100%;color: rgb(209, 154, 102);">0600</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">02</span> ; GotoXY (<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor dx, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bh, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span> <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PrintStr:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, <span style="max-width: 100%;color: rgb(152, 195, 121);">'$'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp <span style="max-width: 100%;color: rgb(198, 120, 221);">short</span> @@<span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@<span style="max-width: 100%;color: rgb(209, 154, 102);">2</span>: mov al, cs:clsStrcolor<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:clsStr, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Self dw <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />clsStrcolor db <span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />clsStr db <span style="max-width: 100%;color: rgb(209, 154, 102);">17</span>h ; Color (White in Blue)<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(152, 195, 121);">' RAMinit Version 2.12 (c) 1989-1994 by KingSoft Ltd. Mr. Leijun'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>dh,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db <span style="max-width: 100%;color: rgb(152, 195, 121);">' ['</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ShowCopies db <span style="max-width: 100%;color: rgb(152, 195, 121);">''<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '</span>] Activate..<span style="max-width: 100%;color: rgb(209, 154, 102);">.'</span>,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>ah,<span style="max-width: 100%;color: rgb(209, 154, 102);">0</span>dh,<span style="max-width: 100%;color: rgb(152, 195, 121);">'$'</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />endTSR equ $<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mcbList equ offset endTSR + <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />vecList equ mcbList + <span style="max-width: 100%;color: rgb(209, 154, 102);">710</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h + <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">400</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />devLink equ vecList + <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span>  <span style="max-width: 100%;color: rgb(209, 154, 102);">26</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>  <span style="max-width: 100%;color: rgb(209, 154, 102);">30</span>h + <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xmsList equ devLink + <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> + MaxHandles  <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />emsList equ xmsList + <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">1024</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />crtMode equ emsList + <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span>Dh + <span style="max-width: 100%;color: rgb(209, 154, 102);">4</span> + <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />tsrLen equ crtMode + <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; DOS Environment Reserved by RI<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Flag <span style="max-width: 100%;color: rgb(152, 195, 121);">'XX'</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">2</span> bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Environment Segment <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Free MCBs <=<span style="max-width: 100%;color: rgb(209, 154, 102);">710</span> bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; MCB segment <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; MCB <span style="max-width: 100%;color: rgb(209, 154, 102);">5</span> bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; End flag <span style="max-width: 100%;color: rgb(152, 195, 121);">'MM'</span> <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; COM LPT ports <span style="max-width: 100%;color: rgb(209, 154, 102);">10</span>h bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; LEDs status <span style="max-width: 100%;color: rgb(209, 154, 102);">1</span> bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Packed vectors <span style="max-width: 100%;color: rgb(230, 192, 123);">list</span> <=400h bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Flag 'CV' 2 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; CVT First DPB pointer 4 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; DPBs data <=526 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; First DCB pointer 4 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Pointer to NUL 4 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; All device driver datas <=30h10 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Flag 'XM' 2 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; XMS <span style="max-width: 100%;color: rgb(230, 192, 123);">free</span> handle counter 2 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; EMS <span style="max-width: 100%;color: rgb(230, 192, 123);">free</span> handle <span style="max-width: 100%;color: rgb(230, 192, 123);">list</span> <=100h4 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Flag 'EM' 2 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; EMS <span style="max-width: 100%;color: rgb(230, 192, 123);">free</span> handle counter 2 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; EMS <span style="max-width: 100%;color: rgb(230, 192, 123);">free</span> handle <span style="max-width: 100%;color: rgb(230, 192, 123);">list</span> <=1024 bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; EMS handle 1 word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Number of pages 1 word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Flag '--' 1 word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Equipment List 1 word<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; CRT 40:49h-66h 1dh bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; 40:A8h 1 dword<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; BIOS User Data Area 40:F0--FF 10h bytes<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; **<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />main: jmp main0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print Macro Str<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Lea dx, Str<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call DisplayStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />endm<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />InstMsg db 'RAMinit Version 2.12 '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Copyright (c) 1989-1994 by KingSoft Ltd. ',0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Msg0 db 'Already installed !',0dh,0ah,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'For Help, type "RI /?". ',0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Msg_0 db 0ah,'Residents a <span style="max-width: 100%;color: rgb(198, 120, 221);">new</span> RAMinit copy [y/n] ? $'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Msg_2 db 'OK, RI No.'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Msg_RI db '2'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' residents successful !', 0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Msg1 db 'Activate with: $'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />KeyMsg db 'Right_Shift$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Left_Shift$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />KMsg1 db 'Left_Ctrl$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Left_Alt$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Right_Ctrl$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Right_Alt$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />KMsg2 db 'Ctrl$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Alt$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Ctrl$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Alt$ '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PlusMsg db ' + $'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />crlf db 0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />HelpMsg db 'Programmed by Mr. Leijun Dec 1992', 0dh,0ah,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Usage: RI [options]',0dh,0ah,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/H,/? Display <span style="max-width: 100%;color: rgb(198, 120, 221);">this</span> screen',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/CLS Removes all TSR programs after current RI',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/RET Removes TSR programs include current RI',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/NEW Residents a <span style="max-width: 100%;color: rgb(198, 120, 221);">new</span> data copy of current environment',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/ALL Removes all RI copies and all other tsr programs',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '/Sxyy.. Define Hotkey x=AuxHotkey yy..=shift status',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' x=auxiliary hotkey (<span style="max-width: 100%;color: rgb(198, 120, 221);">default</span> is "X") ',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' x equ "1" means need AuxHotkey',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' yy..=shift status [CAScas]',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' C: Left Ctrl A: Left Alt S: Left Shift',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' c: Right Ctrl a: Right Alt s: Right Shift',0dh,0ah,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Example: "RI /S1c" means Hotkey is Right_Ctrl+X',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' "RI /S0Cc" means HotKey is Left_Ctrl+Right_Ctrl',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' "RI /CLS" equals simply press hotkey',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db ' "RI /RET" Removes all TSRs after current RI and <span style="max-width: 100%;color: rgb(198, 120, 221);">this</span> RI',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db 'Contact me <span style="max-width: 100%;color: rgb(198, 120, 221);">for</span> RAMinit problems: (01)2561155 Call 1997',0dh,0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />db '$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ErrMsg db 'ERROR: Invalid options !',0dh,0ah,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />WinErr db 7, 'Sorry, I cannot work in Windows DOS environment.',0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SetMsg db 7, 'Defines <span style="max-width: 100%;color: rgb(198, 120, 221);">new</span> Hotkey successful !',0dh,0ah,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />tsrOK db False<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Main0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cld<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print instMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call IsWinDos<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print WinErr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4c00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call HotKeyValid<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Status, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call EMS_test<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call CmpDosVer<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call CmpSideKick<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call GetMachineID<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ModifyHotKeyPrompt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 0c0d7h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[101h], 'IE' ; 'LEI'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Self, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@0:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call CmdLine<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call PrintHotKeyPrompt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:tsrOK, <span style="max-width: 100%;color: rgb(86, 182, 194);">true</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call tsrReplyOK<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2: cmp cs:tsrOK, <span style="max-width: 100%;color: rgb(86, 182, 194);">true</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call PrintCopies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:[100h], 'EL'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr cs:[102h], 'I'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(230, 192, 123);">std</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset eof<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, eof - offset Here<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, tsrLen<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add di, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cld<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, tsrLen<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Here:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di,offset endTSR<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:DataBegin, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:NextDataSeg, -1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'XX'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />in al, 0a1h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />in al, 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:old_8259, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out 21h,al ; CLI<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveOthers<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SetSelfInt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call BackupVecList<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Power, <span style="max-width: 100%;color: rgb(86, 182, 194);">true</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@20<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call BackupCVTchain<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call BackupMemoryManager<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@20:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call BackupBiosData<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sti<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Flag, ' ' ; no busy<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:StopFlag, 0 ;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:tsrLength, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SetDosEnvSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@29<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cld<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, cs:tsrLength<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, cs:DataBegin<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sub cx, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, 120h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:DataBegin, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:tsrLength, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@29:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out 21h, al ; STI<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />out 0a1h, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, cs:tsrLength<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 27h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SetDosEnvSeg:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10: mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:[16h] ; Get father process psp segment<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@11<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@11:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, word ptr es:[2ch] ; Get father process env segment<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:DosEnv, es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SaveOthers:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, cs:[2ch] ; Env Seg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call backupMCB ; Current MCB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 40h ; COM LPT Port<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 0h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 8<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 17h ; LED status<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; call OpenLEDs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />backupMCB:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'ZM'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 52h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h ; Get MCB chain head<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:[bx-2]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@0: mov ds, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp byte ptr ds:[0], 'Z' ; End ?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@20 cmp byte ptr ds:[0], 'M' ; Memory control block<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@30 cmp word ptr ds:[3], 0 ; Nul mcb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@10 cmp word ptr ds:[1], 0 ; Free MCB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveFreeMCB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10: inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add ax, ds:[3]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@20:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveFreeMCB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, 0a000h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnb @@30<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 9fffh ; MS-DOS UMB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@30:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, 0c000h ; 386MAX<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ja @@90<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 0c020h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@90: ; Error ?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'MM' ; Set MCB flag<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SaveFreeMCB:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor si,si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; xor si,si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; cmp ax, 09fffh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; jnb @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mov ds,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; cmp byte ptr ds:[0], 'M'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; jnz @@4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mov ax, 09fffh ; MS-DOS UMB<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; jmp @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; @@4: cmp ax, 0c000h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ja @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mov ax, 0c020h ; 386MAX<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; jmp @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />OpenLEDs: push ax ; Open all LEDs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, 070h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds:[17h], al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 1 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 16h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 4 ; Delay<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@20: push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@21: loop @@21<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@20<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds:[17h], al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 1 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 16h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SetSelfInt:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,3509h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt9_addr,bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt9_addr[2],es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx,offset NewInt9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,2509h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,352Fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt2F_addr,bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt2F_addr[2],es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx,offset newInt2F<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,252Fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,351Ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt1C_addr,bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr cs:oldInt1C_addr[2],es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx,offset newInt1C<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,251ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cli<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, cs:Self<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc es:Copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0: cmp es:NextDataSeg, -1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, es:NextDataSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1: mov es:NextDataSeg, cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SaveCounter:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov word ptr es:[di], 'EL'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[di+2], 'I'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[di+3], bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add di, 4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />DisplayStr: push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 9 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CmdLine:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 80h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@0: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, ' '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@0 cmp al, '/'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'S'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 's'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SetHotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print SetMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4c00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_3: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'A'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jb @@3 cmp al, 'Z'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ja @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add byte ptr ds:[si-1],20h ; DownCase<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@3: loop @@_3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add si, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 's' ; CLS<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@5 cmp word ptr ds:[si-3], 'lc'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@5 cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @Err<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 0c0d7h+1 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@5: cmp al, 'h' ; HELP<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @help<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, '?'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @help<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 't' ; RET<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@6 cmp word ptr ds:[si-3], 'er'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@6<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@7:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @Err<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 0c0d7h+2 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@6: cmp al, 'w' ; NEW<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@8 cmp word ptr ds:[si-3], 'en'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@8<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:tsrOK, <span style="max-width: 100%;color: rgb(86, 182, 194);">true</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@8:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'l' ; ALL<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@9 cmp word ptr ds:[si-3], 'la'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 0c0d7h+3 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@9:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, ' '<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @Err<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@Err:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print ErrMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@help:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print HelpMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4c00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />tsrReplyOK:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print Msg0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, cs:Self<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_10: mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:NextDataSeg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, -1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_0: push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, es:[3]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[0], 'OC'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print Msg_0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 1 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print crlf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'y'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@3 cmp al, 'Y'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2: ; Print Msg_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4c01h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@3:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: mov cs:tsrOK, <span style="max-width: 100%;color: rgb(86, 182, 194);">true</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PrintCopies:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es ; Added -by- Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, cs:Self ; Aug 24, 1993<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al, es:Copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc al ; Total RI copies<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax ; Set es = current mcb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 5 ; Search end of file name<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, 8<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10: inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp byte ptr es:[bx], 20h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@20 cmp byte ptr es:[bx], 0ffh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@20 cmp byte ptr es:[bx], 00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@20<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@20: ; Set current RI no<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[bx], ':' ; "RI:2"<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[bx+1], al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp bx, 8+7<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnb @@30<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov byte ptr es:[bx+2], 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@30:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:Msg_RI, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print Msg_2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Backup Interrupt Vector List<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />BackupVecList:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor si,si ; Vectors<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds,si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx,00ffh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@0: lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg dx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp ax, es:[di-2]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1 cmp dx, es:[di-4]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: or bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveCounter<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@3: xchg dx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg dx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2: inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveCounter<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@4:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;-----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />BackupCVTchain:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'VC'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 52h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h ; ES:BX -- DOS table as described below<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es ; DPB chains<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lds si, es:[bx]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, cs:cvtOfs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: mov al, ds:[si+1]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds:[si+bx+12h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds:[si+bx+14h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lds si, ds:[si+bx+18h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp si, -1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mov ax, 5<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mul cl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; add ax, 4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; add cs:tsrLength, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; --------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es ; DCB file control blocks<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les bx, es:[bx+4]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@11: cmp word ptr es:[bx], -1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les bx, es:[bx]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@11<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xchg ax, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; add cs:tsrLength, 4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es ; Device Driver Chains<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add bx, 22h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, bx ; NUL<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@9: push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl, 5<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lds si, ds:[si]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />BackupBiosData:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, '--'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 40h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ds, si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 10h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 0a8h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 49h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 1dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, 0f0h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 8<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />BackupMemoryManager:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveXMSstatus<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call SaveEMSstatus<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />;---------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SaveEMSstatus:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test cs:status, EMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'ME'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 4dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 67h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:[di-2], bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shl bx, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shl bx, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add di, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SaveXMSstatus:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_test<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test cs:status, XMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 'MX'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_alloc<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx ; XMS alloc failure<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />sub dx, MaxHandles  10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_Lock<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@3 cmp bl, 0a2h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add dx, 10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@3: push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_unlock<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@4:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:handle_begin, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_bstat<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cl, bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_Free<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, cs:Handle_begin<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@5: push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call XMS_Lock<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@6 cmp bl, 0a2h ; Handle invalid<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@7<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@6: call XMS_unlock<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add dx, 10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@5<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@7: mov ax, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />stosw<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add dx, 10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loop @@5<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_test:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4300h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 80h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4310h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 2fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:XMS_control, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:XMS_control[2], es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or cs:Status, XMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@9:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_stat:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov hma_exist, dl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />hma_exist db 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_alloc:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_lock:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 0ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_unlock:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 0dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_bstat:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 0eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />XMS_free:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 0ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call dword ptr cs:xms_control<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />EMS_test:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset EMMname<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 3d00h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jc @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 3eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or cs:Status, EMSbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />EMMname db 'EMMXXXX0',0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />SetHotKey:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bx, bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 0dh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@9 cmp al, 'C'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, LeftCtrl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'c'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, RightCtrl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@3:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'A'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, LeftAlt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@4:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'a'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@5<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, RightAlt<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@5:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 'S'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@6<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, LeftShift<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@6:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 's'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@7<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or bl, RightShift<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@7: pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @Err<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@9:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:HotKey, bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:AuxHotKey, 2dh ; 'X' scan key<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, '1'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@29<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:AuxHotKey, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@29:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Self, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@30<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, cs:Self<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:HotKey, bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bl, cs:AuxHotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es:AuxHotKey, bl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@30:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call GetRunFileName<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 3d02h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jc @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bx, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 4<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, 100h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 40h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jc @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4200h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor cx, cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, 17h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jc @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset AuxHotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 40h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jc @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 3eh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; -----------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />GetRunFileName:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Return:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; DS:DX Pointer of <span style="max-width: 100%;color: rgb(198, 120, 221);">this</span> run file name ASCIIZ <span style="max-width: 100%;color: rgb(230, 192, 123);">string</span><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, es:[2ch]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor di, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 1000h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: repnz scasb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp es:[di], al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />loopnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />add dx, 3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop di<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />GetMachineID:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov KBD102,True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax,40h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />test byte ptr es:[96h], 00010000b<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov Kbd102,False<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />dec ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es,ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al,es:[0eh]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:MachineID, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ModifyHotKeyPrompt:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:Kbd102, True<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop es<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cs<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ds<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 124<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, offset KMsg2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov di, offset KMsg1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />rep movsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@9: cmp cs:MachineID, 0fch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jna @@10<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:clsStrcolor, 70h ; Mono<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:clsStr, 70h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@10:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />PrintHotKeyPrompt:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print Msg1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov al, cs:HotKey<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />and ax, 33ch<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, ah<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset KeyMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@40:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or ax, ax ; Mr. Lei 4/25/1993<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_42<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />shr al, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnc @@41<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ColorDisplayStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; mov ah, 9<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@42<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset PlusMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ColorDisplayStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Print PlusMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@41: add dx, 12<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp @@40<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@42: pop ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_42: cmp cs:AuxHotKey, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@43 cmp cs:HotKey, 0 ; Mr. Lei<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@_43<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov dx, offset PlusMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ColorDisplayStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Print PlusMsg<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_43: mov dx, offset AuxHotKeyName<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />call ColorDisplayStr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; Print AuxHotKeyName<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@43:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print crlf<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ColorDisplayStr:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov bl, 0fh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov si, dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor bh, bh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cx, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: lodsb<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, '$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />or al, al<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />push cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 09h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 10h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 3 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 10h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />inc dl<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ah, 2 <span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 10h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jmp <span style="max-width: 100%;color: rgb(198, 120, 221);">short</span> @@1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop si<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop dx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop cx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />pop bx<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CmpSideKick:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />xor ax, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les bx, es:[20h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[bx-4], 4b53h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@1 cmp word ptr es:[bx-2], 4942h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: mov es, ax<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />les bx, es:[94h]<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp word ptr es:[bx-2], 4b53h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jz @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2: or cs:Status, SKbit<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ---------------------------------------------------------------------------<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />CmpDosVer: mov ah, 30h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp al, 3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jb @@1 cmp al, 3<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jna @@2<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov cs:cvtOfs, 1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@2: mov cs:cvtOfs, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@1: Print DosVerErr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4cffh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />DosVerErr db 'Sorry, DOS version too lower !',0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />HotKeyValid:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:HotKey, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />cmp cs:AuxHotKey, 0<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />jnz @@_1<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />Print HotKeyErr<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />mov ax, 4cfeh<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><span style="max-width: 100%;color: rgb(198, 120, 221);">int</span> 21h<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />@@_1: ret<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />HotKeyErr db 'Sorry, please setup hotkey again. ',0dh,0ah,'$'<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />eof:<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />ends<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />end Start<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  />; ------------- The End ! </span>---------------------------------------------------</section>


所以小伙伴们,你还记得自己写的第一行代码是什么吗?
雷军 1994 年写的代码,不服不行~
<pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br  /></section><section style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><section style="margin: 5px 32px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">如何评价何恺明团队的最新工作RegNet?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">研究生从入门到放弃!不好意思老板,我这周没进展</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(87, 107, 149);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">有了这个神器,轻松用 Python 写个 App</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="color: rgb(87, 107, 149);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MIT最新深度学习入门课,安排起来!</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">一个AI PhD的毕业随感</span></section></section></section></section></section></section></section></section></section>
雷军 1994 年写的代码,不服不行~

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享