暂存器在运算式中可以拿来当位元组或字组参数用。例如: U CS:IP -10 的指 令会从现在指令指标所指位址向前 10 byte 开始反组译。以下的暂存器名称可以用 在运算式中:
AL 、AH 、AX 、BL 、BH 、BX 、CL 、CH 、CX 、DL 、DH 、DX 、DI 、 SI 、BP 、SP 、IP 、CS 、DS 、ES 、SS 、FL
9 指定记忆址
许多 Soft-ICE 的指令要求以记忆址当参数。一个记忆址是由两个 16 位元的字组中间以分号 (:) 分隔而组成的。第一个字组表示节段位址 (segment address) 而第二个字组表示差距位址 (offset segment) 。
公用符号可以在所有 Soft-ICE 指令中用来取代位址。公用符号必需先由 Soft-ICE 的程式载入器 (LDR.EXE) 载入。参阅第七章以取得使用公用符号的完 整说明。
Soft-ICE 运算式的运算器接受一些特殊字元和位址的使用。这些字元是:
$ --- 现在 CS:IP 所指的位址
@位址 --- 间接双字组
.number --- 原始程式码行号
当你要输入目前指令指标的位址时,可以用 $ 代替 CS:IP 。
使用 @ 可以让你参考到位址所指处的双字组。你可以使用多层的 @ 。
如果用 . 来代表位址,它是用来代表原程式码中的行号,而非实际的位址。 这只有在原始程式码有载入的情形下才能使用。这种情况下,位址是以 10 进位 表示。
例如: U.1234 --- 从原始程式码第 1234 行开始反组译
U $-10 --- 从目前指令指标所指处向前 10 byte 开始反组译
G @SS:SP --- 假如你目前正在第一个中断程序,下这个指令会在堆叠的 返回位址设个暂时中断点并跳过此中断程序。
10 功能键
功能键可以代替一串 Soft-ICE 中之指令。功能键可以由命令行设定或从 S-ICE.DAT 中定义。
Soft-ICE 磁片上原来的 S-ICE.DAT 已经对 12 个功能键有设定。你可以在任 何时候改变任何一个设定。个键定义如下表所示。这样设计是为了方便微软的 CodeView 的使用者。
F1 --- 显示一般辅助画面 ( H; )
F2 --- 在暂存器窗中切换 ( ^WR; )
F3 --- 改变目前原始码的模式 ( ^SRC; )
F5 --- 回到原程式 ( ^X; )
F6 --- 在命令窗中和程式码窗中切换 ( ^EC; )
F7 --- 执行到游标所在那行 ( ^HERE; )
F8 --- 单步执行 ( ^T; )
F9 --- 在游标所在那行设中断点( ^BPX; )
F10 --- 单步执行 ( ^P; )
F11 --- 执行到返回位址 ( ^G @SS:SP; )
F12 --- 显示 Soft-ICE 的版别( ^VER; )
指令前的 ^ 会让这个指令不显示出来。指令後的 ; 则代表按下 Enter 。输入 FKEY 的指令可以显示目前功能键所代表的意义。要使用功能键直接按下功能键即可 ,不需再键入指令。要自定功能键,参阅 §5.8 FKEY 指令的解说或第六章有关 在 S-ICE.DAT 设定功能键的部份。
11 辅助
利用辅助的指令可以得到有关指令的简单解说、语法和使用例子。要得到辅助 的资讯,键入:
? 或 H --- 显示所有指令和运算子的简短解说
? 指令 或 H 指令 --- 显示关於指令语法和例子更详细的资讯
? 运算式 或 H 运算式 --- 把运算式的结果以 16 、10 进位及 ASCII 码 显示出来
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-53197-3.html
有本事联合国让中国说了算在中国办公
就是国家来收割你肉的时候