📄 lesson5013.htm
字号:
<font face="宋体" color="#000000">虽然简单了点</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">但是很友好</font> <font face="Times New Roman" color="#000000">. </font>
<font face="宋体" color="#000000">可以像</font> <font face="Times New Roman" color="#000000"> DOSKEY </font>
<font face="宋体" color="#000000">那样用光标上下键重复上次输入的内容</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">也可以输入上次输入内容的一部分</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">然后按光标上键</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">上次输入内容就完整地贴了出来</font> <font face="Times New Roman" color="#000000">.</font>
<br>
<font face="宋体" color="#000000">一般情况下</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">如果装入的一个</font> <font face="Times New Roman" color="#000000"> NE </font>
<font face="宋体" color="#000000">程序</font> <font face="Times New Roman" color="#000000">, WINICE </font>
<font face="宋体" color="#000000">会直接找到它的入口点</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">并且把当前的光标定在</font> <font face="Times New Roman" color="#000000"> EXE </font>
<font face="宋体" color="#000000">的头一条指令上</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">如果是</font> <font face="Times New Roman" color="#000000"> PE </font>
<font face="宋体" color="#000000">程序</font> <font face="Times New Roman" color="#000000">, WINICE </font>
<font face="宋体" color="#000000">会停在一个</font> <font face="Times New Roman" color="#000000"> INVALID </font>
<font face="宋体" color="#000000">区</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">按下</font> <font face="Times New Roman" color="#000000"> F10 </font>
<font face="宋体" color="#000000">后可以到</font> <font face="Times New Roman" color="#000000"> EXE </font>
<font face="宋体" color="#000000">头部</font> <font face="Times New Roman" color="#000000">.</font>
</span> </p>
<p> <span class="p9"><font face="宋体" color="#000000"> 比较重要的功能键</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(1) F10 : </font>
<font face="宋体" color="#000000">单步执行</font> <font face="Times New Roman" color="#000000">; CALL, INT </font>
<font face="宋体" color="#000000">会被跳过</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(2) F8</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">: </font>
<font face="宋体" color="#000000">单步执行</font> <font face="Times New Roman" color="#000000">; CALL, INT </font>
<font face="宋体" color="#000000">会被切入</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(3) F4</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">: </font>
<font face="宋体" color="#000000">查看程序画面</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(4) F11 : </font>
<font face="宋体" color="#000000">对于</font> <font face="Times New Roman" color="#000000"> CALL </font>
<font face="宋体" color="#000000">形式的子程序</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">直接执行完毕</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">在</font> <font face="Times New Roman" color="#000000"> RET(F) </font>
<font face="宋体" color="#000000">之后</font> </span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 回到</font> <font face="Times New Roman" color="#000000"> CALL </font>
<font face="宋体" color="#000000">的下一条指令</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 比较重要的几条命令是</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(1) G: </font>
<font face="宋体" color="#000000">执行程序</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">后面如果加地址</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">则执行到该地址为止</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">比如</font> <font face="Times New Roman" color="#000000">:</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:0480</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> MOV</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> AH,30</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:0482</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> INT</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> 21</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:0484</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> CMP</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> AL,09</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:0486</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> JZ</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">04F9</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:0488</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> MOV</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> AH,4C</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">2400:048A</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> INT</font>
<font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000"> 21</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 假设当前</font> <font face="Times New Roman" color="#000000"> CS:IP (EIP) </font>
<font face="宋体" color="#000000">为</font> <font face="Times New Roman" color="#000000"> 2400:0480, </font>
<font face="宋体" color="#000000">如果我们直接执行</font> <font face="Times New Roman" color="#000000"> G, </font>
<font face="宋体" color="#000000">就会一</font> <font face="Times New Roman" color="#000000"> G </font>
<font face="宋体" color="#000000">到底</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">直接回到命令行</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">原因在于</font> <font face="Times New Roman" color="#000000"> DOS 9.00 </font>
<font face="宋体" color="#000000">还没出</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">程序直接执行</font> <font face="Times New Roman" color="#000000"> DOS TERMINATE </font>
<font face="宋体" color="#000000">功能了</font> <font face="Times New Roman" color="#000000">.</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> 如果你把</font> <font face="Times New Roman" color="#000000"> DOS </font>
<font face="宋体" color="#000000">版本号先改成</font> <font face="Times New Roman" color="#000000"> 9.0, </font>
<font face="宋体" color="#000000">然后执行</font> <font face="Times New Roman" color="#000000"> G 4F9, WINICE </font>
<font face="宋体" color="#000000">会跑到</font> <font face="Times New Roman" color="#000000"> 2400:04F9 </font>
<font face="宋体" color="#000000">处然后停下</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">但是如果你不改版本号也这么来一把</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">就也会一</font> <font face="Times New Roman" color="#000000"> G </font>
<font face="宋体" color="#000000">到底</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">回到命令行了</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">因为</font> <font face="Times New Roman" color="#000000"> 2400:04F9 </font>
<font face="宋体" color="#000000">在这种情况下永远不会被执行到</font> <font face="Times New Roman" color="#000000">.</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(2) P: </font>
<font face="宋体" color="#000000">单步执行程序</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">只执行</font> <font face="Times New Roman" color="#000000"> P </font>
<font face="宋体" color="#000000">时</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">相当于按下</font> <font face="Times New Roman" color="#000000"> F10 </font>
<font face="宋体" color="#000000">键</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">如果后面加入</font> <font face="Times New Roman" color="#000000"> P RET </font>
<font face="宋体" color="#000000">参数</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">会执行到最近的一条</font> <font face="Times New Roman" color="#000000"> RET/RETF </font>
<font face="宋体" color="#000000">处</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">注意</font> <font face="Times New Roman" color="#000000">, IRET </font>
<font face="宋体" color="#000000">会被忽略</font> <font face="Times New Roman" color="#000000">, </font>
<font face="宋体" color="#000000">所以要小心</font> <font face="Times New Roman" color="#000000">;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(3) T: </font>
<font face="宋体" color="#000000">相当于按下</font> <font face="Times New Roman" color="#000000"> F8;</font>
</span></p>
<p> <span class="p9"><font face="宋体" color="#000000"> </font> <font face="Times New Roman" color="#000000">(4) BPINT: </font>
<font face="宋体" color="#000000">设置中断断点</font> <font face="Times New Roman" color="#000000">; </font>
<font face="宋体" color="#000000">格式为</font> <font face="Times New Roman" color="#000000"> "BPINT </font>
<font face="宋体" color="#000000">中断号</font> <font face="Times New Roman" color="#000000"> [</font>
<font face="宋体" color="#000000">条件</font> <font face="Times New Roman" color="#000000">]"; </font>
<font face="宋体" color="#000000">在</font> <font face="Times New Roman" color="#000000"> WINICE 2.0 </font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -