发信人: Reinhard.bbs@bbs.sjtu.edu.cn (摘星的人), 信区: cnhacker
标  题: SOFTICE 程式追踪软体使用说明 [6/7] -- Alex 整理
发信站: 饮水思源站 (Fri Apr 25 19:00:50 1997)
转信站: Lilac!ustcnews!ustcnews!sjtunews!sjtubbs
出  处: bbs.sjtu.edu.cn


§ 5.6 特别的除错指令

      指令:

          SHOW  ---  显示在 history buffer 中之程式码

          TRACE  ---  进入模拟追踪模式 (trace simulation)

          XT  ---  在模拟追踪模式中进行单步执行

          XP  ---  在模拟追踪模式中进行程式单步

          XG  ---  在模拟追踪模式中执行到某位址

          XRSET  ---  重设回溯追踪缓冲区 (back trace buffer)

          VECS  ---  储存/还原/比较插断向量

          SNAP  ---  拍下记忆体区段的快照

          EMMMAP  ---  显示 EMM 分配图

        SHOW  ---  显示在 history buffer 中之程式码

  语法: SHOW [B | start]

        B --- 这会使 SHOW 指令从缓冲区中最早的程式码开始显示。

        start --- 从缓冲区中最後一个程式码(最後抓入之程式码)之前多少程式
                  码开始显示。

  解说:

        SHOW 指令会显示在回溯追踪缓冲区中之程式码。如果有程式码之原始码,会
    以混合的方式显示;否则只显示程式码。

        SHOW 指令可以用上、下、PageUp 、PageDown 等键来卷动。按 Esc 键以离
    开 SHOW 指令。

        在每道程式码位址之前有个缓冲区记入号码。这个号码表示你多深入显示缓
    冲区。号码越高表示你在缓冲区中更深的地方。

    〔注〕在使用 SHOW 指令之前必需先用范围回溯追踪记录程式码。参阅第九章以
          取得更多有关范围回溯追踪的资讯。

    〔建议〕把程式码窗设为可见并在其中显示目前回溯追踪缓冲区之真正程式码区
            段是很有用的。以此比较程式码和真正之流程时较不会为跳跃和呼叫困
            扰。

        在 TRACE 指令後接著使用 SHOW 指令可以让你用两种不同的观点来看在回溯
    追踪缓冲区中之程式码。

    〔例〕 SHOW 40
          这道指令会从回溯追踪缓冲区倒数第 40 个程式码开始显示。

        TRACE  ---  进入模拟追踪模式 (trace simulation)

  语法: TRACE [start] | [OFF]

        start --- 从缓冲区中最後一个程式码(最後抓入之程式码)之前多少程式
                  码开始模拟追踪。

        OFF --- 离开模拟追踪模式。

  解说:

        TRACE 指令让你可以把回溯追踪缓冲区中之程式码以宛如第一次执行之情形
    再重播一次。你必需把程式码窗设为可见才能使用模拟追踪模式。进入模拟追踪
    模式後,你可以使用 XT 、XP 和 XG 指令来追踪缓冲区中之程式码。

        输入 TRACE OFF 以离开模拟追踪模式。

        未加参数的 TRACE 指令会显示目前模拟追踪模式是 ON 或 OFF 。

    〔注〕在使用 TRACE 指令之前必需先用范围回溯追踪记录程式码。参阅第九章以
          取得更多有关范围回溯追踪的资讯。

    〔建议〕在程式码窗设为可见之状态下模拟追踪模式可发挥最大功能。把 TRACE
            指令和 SHOW 指令连接使用是很有用的。这会同时以两种不同的型式显
            示回溯追踪缓冲区中之程式码。

    〔例〕 TRACE 40
          这道指令会从回溯追踪缓冲区倒数第 40 个程式码开始进入模拟追踪模式
      。在输入 TRACE OFF 指令之前会一直留在模拟追踪模式。

        XT  ---  在模拟追踪模式中进行单步执行

  语法: XT [R]

        R --- 反向进行单步执行。

  解说:

        XT 指令会单步执行在回溯追踪缓冲区中之程式码。这个指令的行为类似普通
    除错中之 T 。要注意的是在模拟追踪模式中单步执行不会改变除了 CS 、IP 外
    之暂存器的值。

        XT 指令让你可以重播回溯追踪缓冲区中之程式码。

    〔注〕在使用 XT 指令之前必需先进入模拟追踪模式。参阅第九章及 TRACE 指令
          以取得更多有关范围回溯追踪的资讯。

    〔建议〕如果你常常使用 XT 指令,它可以像其它指令一样设个功能键代替。

    〔例〕 XT
          这道指令会在模拟追踪模式中单步执行一道程式码。

        XP  ---  在模拟追踪模式中进行程式单步

  语法: XP

  解说:

        XP 指令会在回溯追踪缓冲区中进行一程式单步。这个指令的行为类似普通除
    错中之 T 。要注意的是除了 CS 、IP 外之暂存器的值均不会改变。

        XP 指令让你可以重播回溯追踪缓冲区中之程式码。

    〔注〕在使用 XP 指令之前必需先进入模拟追踪模式。参阅第九章及 TRACE 指令
          以取得更多有关范围回溯追踪的资讯。

    〔建议〕如果你常常使用 XP 指令,它可以像其它指令一样设个功能键代替。

    〔例〕 XP
          这道指令会在模拟追踪模式中程式单步一道程式码。

        XG  ---  在模拟追踪模式中执行到某位址

  语法: XG [R] address

        R --- 反向搜寻位址。

        address --- 回溯追踪缓冲区中欲执行到之位址。

  解说:

        XG 指令会把程式码指标移到回溯追踪缓冲区中指定之位址的下一道程式码。
    如果在位址之前有加 R 的话会把程式码指标移到指定位址的前一道程式码。

        address 必需是一道程式码叙述的第一位元组。

        XG 指令的行为类似普通除错中之 G 。

    〔注〕在使用 XG 指令之前必需先进入模拟追踪模式。参阅第九章及 TRACE 指令
          以取得更多有关范围回溯追踪的资讯。

    〔例〕 XG 273:1030
          这道指令会把程式码指标移到位址 273:1030 的後一道指令。

        XRSET  ---  重设回溯追踪缓冲区 (back trace buffer)

  语法: XRSET

  解说:

        XRSET 指令会重设回溯追踪缓冲区。如果在回溯追踪缓冲区中有你不想要的
    程式码时,在设定回溯范围时要先执行这个指令。

    〔例〕 SRSET
          这道指令会重设回溯追踪缓冲区。

        VECS  ---  储存/还原/比较插断向量

  语法: VECS [C|S|R]

        C --- 比较目前的插断向量表和储存起来之表。

        S --- 储存目前插断向量表。

        R --- 由缓冲区中还原插断向量表。

  解说:

        VECS 指令允许你把插断向量表储存到 Soft-ICE 中之内建缓冲区或还原之。
    你也可以比较真正的插断向量表和储存起来之表并显示出两者间不同之处

        使用 C 指令比较目前的插断向量表和储存之向量表时,会以下列格式显示:

            address old-vector new-vector

        每个有改变的插断向量均会显示出来。

        载入 Soft-ICE 时之插断向量表会被储存起来。当程式以 LDR.EXE 载入时也
    会自动储存向量表。只有一份插断向量表会被储存,所以每次执行 VECS S 时上
    一份备份的插断向量表会被覆写掉。

        如果没有加参数则会显示整个插断向量表。

    〔例〕 VECS C
          这道指令会比较真正的插断向量表和上次储存在 Soft-ICE 内建缓冲区中
      之插断向量表。

        SNAP  ---  拍下记忆体区段的快照

  语法: SNAP [C | S | R] address1 address2

        C --- 比较缓冲区和记忆体范围。

        S --- 把记忆体范围存到缓冲区中。

        R --- 从缓冲区还原记忆体范围。

  解说:

        SNAP 指令会拍下记忆体区段的快照以供稍後的比较用。用 S 参数会把一记
    忆体范围备份到延伸记忆体中之缓冲区里。使用 C 参数会显示延伸记忆体中缓冲
    区和指定的位址范围之真实记忆体间不同之处。加上 R 参数则会把延伸记忆体中
    之缓冲区拷贝到主记忆体中之位址范围。

        如果使用 C 参数来比较缓冲区和位址范围,则会以下列格式输出:

            address old-data new-data

        每一改变的位元组都会显示出来。

        使用 C 和 R 指令时通常不需加 address 。如果没有指定 address ,则会
    使用最後一次有加 address 之 SNAP 指令的 address 。

    〔注〕要使用 SNAP 指令你必需在 CONFIG.SYS 中 S-ICE.EXE 那行加上
          /TRA XXXX 参数。

        SNAP 指令会把资料储存到回溯追踪缓冲区中。如果你正在使用回溯追踪则会
    和 SNAP 起冲突。如果你在回溯追踪缓冲区中有程式码资料时使用 SNAP S 指令
    会把回溯追踪资讯覆写掉。反过来说,如果你用 SNAP 指令储存一区段然後又打
    开范围回溯追踪则会覆写掉 SNAP 的缓冲区。

    〔例〕 SNAP S 2000:0 4000:0
          这道指令会把从 2000:0 到 4000:0 的资料区段存到 Soft-ICE 的回溯追
      踪缓冲区。

        EMMMAP  ---  显示 EMM 分配图

  语法: EMMMAP

  解说:

        EMMMAP 指令会显示 EMM 记忆体中每一个可取得的 page 及目前映射到的
    page 。

    〔注〕你必需启动 Soft-ICE 的 EMM 特性才能使用这个功能。参阅第八章以
          取得更多有关启动 EMM 能力的资讯。

    〔例〕 EMMMAP
          这会以下列的格式显示目前 EMM 的分配情形:

            Phy Page  Seg addres  Handle/Page
            00        D000        FFFF
            01        D400        0001/0000
            02        D800        0001/0001
            03        DC00        0001/0002

          在这个范例中,page 0 是在 D000 且没有映射。pgae 1 是在 D400 ,
      handle 是 1 且 page 0 映射到此。page 2 是在 D800 ,handle 是 1 且
      page 1 映射到此。page 3 是在 DC00 ,handle 是 1 且 page 2 映射到此。

§5.7 视窗指令

      指令:

          WR  ---  切换暂存器窗

          WC  ---  切换/设定程式码窗之大小

          WD  ---  切换/设定资料窗之大小

          EC  ---  进入/离开程式码窗

          .   ---  定位目前的程式码

      Soft-ICE 有三种视窗:暂存器窗、资料窗和程式码窗。这些视窗都可以随时切
  换出来或关闭。资料和程式码窗可以改变其大小;暂存器窗的大小是固定的。视窗
  的顺序总是固定不变。从萤幕顶端由上而下依次是暂存器窗、资料窗、程式码窗。

        WR  ---  切换暂存器窗

  语法: WR

  解说:

        如果暂存器窗目前是不可见的则这个指令会把它切为可见。若暂存器窗目前
    是可见的,WR 指令会关闭暂存器窗。

        暂存器窗会显示 8086 暂存器及各旗号之值。

        内定的功能键: F2

        WC  ---  切换/设定程式码窗之大小

  语法: WC [window-size]

        window-size --- 1 到 21 间的十进位数。

  解说:

        如果没有指定 window-size ,这个指令会切换程式码窗。如果程式码窗是不
    可见的会把它切为可见;若是可见的则会关闭之。

        如果有指定 window-size ,则程式码窗会重设大小。如果程式码窗本来是不
    可见的则会以指定的大小显示。

    〔注〕如果你想把游标移到程式码窗中要使用 EC 指令。参阅 EC 指令的解说以
          取得更多资讯。

    〔例〕 WC 12
          如果程式码窗是不可见的则会显示一个 12 行大小的程式码窗。如果程式
      码窗目前在萤幕上,它的大小会重设为 12 行。

        WD  ---  切换/设定资料窗之大小

  语法: WD [window-size]

        window-size --- 1 到 21 间的十进位数。

  解说:

        如果没有指定 window-size ,这个指令会切换资料窗。如果资料窗是不
    可见的会把它切为可见;若是可见的则会关闭之。

        如果有指定 window-size ,则资料窗会重设大小。如果资料窗本来是不
    可见的则会以指定的大小显示。

    〔例〕 WD 1
          如果资料窗是不可见的则会显示一个 1 行大小的资料窗。如果资料窗
      目前在萤幕上,它的大小会重设为 12 行。

        EC  ---  进入/离开程式码窗

  语法: EC

  解说:

        EC 指令会使游标在程式码窗和指令窗中切换。如果游标在指令窗中,它会被
    移到程式码窗中。如果游标在程式码窗中,它会被移到指令窗中。

        当游标在程式码窗时,会有更多可用的功能,这使得除错更为容易。这些功
    能是:

      * Point-and-shoot break points
           Point-and-shoot break points 是用 BPX 指令设置的。如果没有加参数
           ,会在目前游标所在位置设置中断点。游标所在那行必须包含程式码。(
           如果你不确定,把程式码窗以混合的模式开著) 内定 BPX 的功能键是 F9
           。

      * Go to cursor line
           你可以在游标所在位置设个暂时中断点,用 HERE 指令执行到那里。游标
           所在那行必须包含程式码。(如果你不确定,把程式码窗以混合的模式开
           著) 内定 BPX 的功能键是 F7 。

      * Scrolling the code window
           只有当游标在程式码窗中时才能卷动程式码窗。卷动的按键在程式码窗中
           有不同的定义。

                UP --- 把程式码窗向上卷一行。
              DOWN --- 把程式码窗向下卷一行。
              PageUp --- 把程式码窗向上卷一页。
              PageDown --- 把程式码窗向下卷一页。

    〔注〕 程式码窗必须是可见的 EC 指令才能使用。

        .   ---  定位目前的程式码

  语法: .

  解说:

        当程式码窗是可见的时候,"." 指令会显示目前的程式码。

§ 5.8 除错器设定指令

      指令:

          PAUSE --- 显示满一个萤幕後暂停

          ALTKEY --- 设定 Soft-ICE 的启动热键

          FKEY --- 显示、修改功能键

          BASE --- 设定/显示目前的基数

          CTRL-P --- 把 LOG 送到印表机

          Print-Screen --- 印出目前萤幕

          PRN --- 设定印表机的输出埠

        PAUSE --- 显示满一个萤幕後暂停

  语法: PAUSE [ON | OFF]

  解说:

        PAUSE 指令会在每一页的结束时暂停萤幕。如果 PAUSE 设为 ON,Soft-ICE
    会提示你按任意键以继续卷动视窗,提示讯息会显示在萤幕底部的状态行里。

        如果没有指定任何参数则会显示目前 PAUSE 的状态。

        PAUESE 的内定值是 ON。

    〔例〕 PAUSE ON
          这个指令指定接下来萤幕上的显示会等你输入任意键後才继续卷动。

        ALTKEY --- 设定 Soft-ICE 的启动热键

  语法: ALTKEY [ALTletter] | [CTRLletter] | [SYSREQ]

        letter --- 任何一字母 (A - Z)

  解说:

        ALTKEY 指令可以让你改变用来叫出 Soft-ICE 的热键。你可以把热键改成
    CTRL + 字母、ALT + 字母或是 SysRq (即 PrtScr) 键。

        有时候你或许会使用会和 Soft-ICE 的 Ctrl-D 热键相冲突的程式,避免这
    种冲突的方法之一是使用 ALTKEY 指令改变叫出 Soft-ICE 的热键。另一个方法
    则是在热键组合中多按个 SHIFT 键,Soft-ICE 对这样的组合不会有反应,所以
    能把热键传到你的程式去。举例来说,如果你使用的常驻程式是以 Ctrl-D 叫出
    来的,试著用 Ctrl-Shift-D 来叫出你的程式。有些键盘上你必须按 Alt-PrtScr
    来模拟发出个 System Request。小心不要意外的把萤幕上的东西印了出来。

        如果没有指定参数则会显示目前的热键。

        内定的热键是 Ctrl-D。

    〔例〕 ALTKEY ALT Z
          这道指令指定 Ctrl-Z 是叫出 Soft-ICE 的热键。

        FKEY --- 显示、修改功能键

  语法: FKEY [function-key-name string]

        function-key-name --- F1, F2...... F12

        string --- string 包含任何 Soft-ICE 的指令和特殊字元:^ 及 ;。^ 是
                   用来让指令不显示出来,; 则代表按下 ENTER。

  解说:

        FKEY 指令是用来指定某功能键所代表的指令字串,功能键可设定来代表任何
    Soft-ICE 中的指令。

        如果没有指定参数则会显示目前各功能键代表的指令。

        要取消某个功能键可以用这样的方法:FKEY 加 function-key-name,然後接
    上一个空白字串。

        你也可以在设定档 S-ICE.DAT 中预先指定功能键的功能。参阅 §6.4 以
    取的更多有关在设定档中设定功能键的资讯。

        在功能键设定字串中加上归位键的符号可以让一个功能键代表一系列的指令
    指令。归位键是用 ; 来表示。

        如果你在功能键的设定前面加上 ^ (Shift-6),则接下来的指令将不会显示
    出来。指令的作用还是一样没变,但是显示在指令窗中的所有讯息 (包括错误讯
    息) 都不会再出现。这个模式在指令会改变视窗中资料而你又不想因此造成指令
    窗中的混乱时特别有用。

        当功能键有加上 ^ 设定时,你可以在键入其他指令的途中使用这个功能键而
    不会对输入中的指令造成任何影响。例如,如果你使用的是 F2 的内定值,你可
    以在输入你下一个指令的时候按 F2 来切换暂存器窗。

    〔注〕Soft-ICE 有个 S-ICE.DAT 的设定档,你可以把功能键的设定写在这个档
          案中,这样在载入 Soft-ICE 的时候会自动设定功能键。在设定档中设定
          功能键的语法是: function-key-name = "string" 。在设定档中设定功
          能键的时候要用双引号把字串括起来。

    〔例〕 FKEY F2 ^WR;   (command line)
          这道指令用来设定 F2 代表切换暂存器窗的指令, ^ 代表这个指令不会显
          示出来, ; 代表按下 Enter。如此 F2 键就可以用来切换暂存器窗的 on
          或 off,而且即使是在输入其他指令的时候也可以随时使用。

    〔例〕 FKEY F1 "G CS:120; R; G CS:"   (command line)
          这个例子显示你可以用一个功能键代表许多指令,也可以代表一个指令的
          一部份,等待使用者的输入来完成它。输入这道指令後,按下 F1 键会执
          行到 CS:120 处,显示目前的暂存器之值,然後显示 G 指令等待使用者的
          输入。

    〔例〕 FKEY F1 WD 3;D DS:100;   (command line)
          这个例子会设定 F1 键代表一串指令。这个按键是可见的,而且以 Enter
          结束。它会把资料窗设为三行的大小并显示从 DS:100 处起的的资料。

    〔例〕 F1 = "WR;WD 2; WC 10;"   (S-ICE.DAT)
          如果这一行是放在 S-ICE.DAT 中,当载入 Soft-ICE 时会自动设定 F1 键
          。当在 Soft-ICE 中按下 F1 键时,它会切换暂存器窗,打开一个二行的
          资料窗,及一个十行的程式码窗。参阅第六章以取得更多有关在 S-ICE.DAT
          设定功能键的资讯。

        BASE --- 设定/显示目前的基数

  语法: BASE [10 | 16]

  解说:

        BASE 指令是用来设定基数是以 10 或 16 为底。以 10 为底在小视窗模式中
    会受到限制,这是受到视窗宽度的影响。即使是在大视窗模式中有些指令显示的
    资料数目也会受限制。

        当基数为 10 的时候,所有输入和显示的数字和位址都是以十进位表示。如
    果基数是 16 的话,则是除了原始码行号,WIN 指令中的萤幕座标、大小以 10
    进位表示外,均为 16 进位。

        基数的内定值是 16。

    〔例〕 BASE 16
          这道指令会会把基数设为 16。

        CTRL-P --- 把 LOG 送到印表机

  语法: CTRL - P

  解说:

        在你按下 CTRL - P 後,所有显示在指令窗中的的讯息也会被送到印表机去
    。要停止把 LOG 送到印表机的动作只要再按一次 CTRL - P 即可。

        当你用 CTRL - P 送许多资料到印表机时,会许你会想把 PAUSE 设为 OFF,
    这样资料才可以一直卷动下去而不需要去按键。

        Print-Screen --- 印出目前萤幕

  语法: Print-Screen

  解说:

        按下 Print-Screen 键後会把整个萤幕上的东西倾印印表机去。

        如果你只是想印出记忆体内容或是某个指令的的辅助资料,使用 CTRL - P
    会比用 Print-Screen 快得多,这是因为 Print-Screen 会把萤幕上包括边界的
    每个字元都送到印表机去。

        PRN --- 设定印表机的输出埠

  语法: PRN [LPTx | COMx]

        x --- 介於 1 到 4 的数字

  解说:

        PRN 指令允许你把 CTRL - P 和 Print-Screen 的资料送到不同的印表机去
    。

        如果没有指定参数则会显示目前指定的印表机。

    〔例〕 PRN COM 1
          这道指令会把 CTRL - P 和 Print-Screen 的输出送到 COM 1 埠去。

§ 5.9 萤幕控制指令

      指令:

          FLASH --- 执行 P 或 T 指令时还原萤幕

          FLICK --- 减轻萤幕的闪烁

          WATCHV --- 设定监控显示模式

          RS --- 显示程式萤幕

          CLS --- 清除视窗

          ALTSCR --- 转换到替换萤幕

          WIN --- 改变 Soft-ICE 的视窗大小

        FLASH --- 执行 P 或 T 指令时还原萤幕

  语法: FLASH [ON | OFF]

  解说:

        FLASH 指令让你指定在 T 或 P 指令执行时是否要还原萤幕。如果你指定要
    还原萤幕,则在 T 或 P 指令执行的时候会短暂的还原一下。在对会存取 VIDEO
    MEMORY 的程式片段时你会需要用到这个功能。

        如果 P 指令用来执行一个 CALL 或中断,则一定会有萤幕还原的动作,因为
    执行的函式中可能会对萤幕写入。

        如果没有指定参数则会显示目前 FLASH 的状态。

        FLASH 的内定值是 OFF。

    〔例〕 FLASH ON
          这道指令会把 FLASH 的状态设为 ON。执行任何 P 或 T 指令时会还原萤
      幕。

        FLICK --- 减轻萤幕的闪烁

  语法: FLICK [ON | OFF]

  解说:

        有些显示卡在输出字元之前要先等垂直、水平扫描完成才行。如果任意的输
    出,在显示字元时将会发生闪烁的现象。如果你使用 Soft-ICE 时萤幕会有闪烁
    的现象,你应该把 FLICK 设为 ON。

        有些 EGA 卡上你离开 Soft-ICE 时颜色可能没有还原的很正确,这是模拟的
    EGA 显示的问题。3DA 埠是个有两个功能的显示埠。第一种是一些老旧的 CGA 软
    体靠 3DA 来做 hsync 和 vsync,这样可以避免在一些老旧的 CGA 控制卡上造成
    闪烁的现象。第二个功能则是用来重新设定 EGA 卡的调色盘。Soft-ICE 有个演
    算法可以不用一直监控这个埠,一直监控会减慢一些认为自己在 CGA 卡上执行的
    老旧程式之速度。但是在某些状况下,这套演算法可能无法使用。如果你是在 EGA
    上使用 Soft-ICE 而且发现颜色并没有正确的还原的话,把 FLICK 设为 ON,这
    样 Soft-ICE 会监控 3DA 埠而解决这个问题。

        当 FLICK 设为 ON 时,萤幕更新的速度会变慢。

        如果没有指定参数则会显示目前 FLICK 的状态。

        FLICK 的内定值是 OFF。

    〔例〕 FLICK ON
          这道指令会把 FLICK 模式设为 ON。Soft-ICE 会等水平、垂直扫描完成後
      再输出字元。

        WATCHV --- 设定监控显示模式

  语法: WATCHV [ON | OFF]

  解说:

        WATCHV 指令让你指定 Soft-ICE 要如何监控显示埠。通常 Soft-ICE 只有在
    执行 INT 10 切换到非文字模式後才监控显示埠。但是有些程式不用 INT 10 来
    切换显示模式,这种状况下,如果 WATCHV 设为 OFF,则 Soft-ICE 在储存或还
    原萤幕时可能会发生问题。把 WATCHV 设为 ON 则会让 Soft-ICE 随时监控显示
    埠。

        如果你发现 Soft-ICE 并未正确的处理你的萤幕,或不能正确的还原游标的
    位置,把 WATCHV 设为 ON。把 WATCHV 设为 ON 可能会影响目前显示模式的效率
    。

        如果没有指定参数则会显示目前 WATCHV 的状态。

        WATCHV 的内定值是 OFF。

    〔例〕 WATCHV ON
          这道指令会把 WATCHV 设为 ON。

        RS --- 显示程式萤幕

  语法: RS

  解说:

        RS 指令让你暂时还原程式萤幕,Soft-ICE 视窗将消失直到你按任一键为止
    。

        这个功能在对经常更新萤幕的程式做除错时很有用。当 Soft-ICE 叫出来时
    会回到文字模式,使用 RS 指令可以暂时回到绘图模式萤幕。

    〔例〕 RS

        CLS --- 清除视窗

  语法: CLS

  解说:

        CLS 指令会清除 Soft-ICE 的视窗,并把提示符号及游标移到视窗的左上角
    。

    〔例〕 CLS

        ALTSCR --- 转换到替换萤幕

  语法: ALTSCR [ON | OFF]

  解说:

        ALTSCR 指令允许你把萤幕的输出从原定萤幕重新导向到替换萤幕去。这个功
    能在你对绘图模式程式除错时非常有用,这样你就不用在绘图模式和 Soft-ICE
    间切换来切换去。

        ALTSCR 要求系统连接两台显示器。替换萤幕必须处於文字模式,这是显示器
    的内定模式。

        WATCHV 的内定值是 OFF。

    〔例〕 ALTSCR ON
          这道指令会把萤幕的输出重新导向到替换显示器上。

        WIN --- 改变 Soft-ICE 的视窗大小

  语法: WIN [N | W] [start-row length [start-column]]

        N --- 当指定 N 时,视窗会被设为较小的模式: 46 字元宽。

        W --- 当指定 W 时,视窗会被设为整个萤幕的宽度。

        start-row --- 0 到 17 的数字。指定视窗从哪一列开始。

        length --- 8 到 25 的数字。指定视窗有几列。

        start-column --- 在小视窗模式中指定视窗位置为从左边算过来第几行。
                         start-row 和 start-column 指定小视窗模式中视窗左上
                         角的位置。在大视窗模式中,start-column 会被忽略。

  解说:

        WIN 指令可以让你修改 Soft-ICE 视窗的宽度和高度。

        如果没有指定参数,这个指令会在小视窗模式和大视窗模式中切换。

        如果 WIN 指令只有加上 N 或 W 参数时,则视窗的宽度会变换成指定的大小
    ,但高度不变。

        如果视窗的行数加上 start-row 大於 25,则视窗的 length 到萤幕底端为
    止。

        WIN 的内定值是小视窗模式。

    〔例〕 WIN N 4 9 30
          这个指令会把视窗设定为从第 4 列、第 30 行处开始显示,并且是 9 列
      高、46 个字元宽。

    〔例〕 WIN
          这道指令会在大视窗和小视窗模式间切换。

    〔例〕 WIN W 10 8
          这个指令会把视窗设定为从第 10 列处开始显示,并且是 8 列高、整个萤
      幕的宽度。

§ 5.10 符号及原始码指令

    *** 对不起.... 不会用所以不会翻..... 期待其他高人的大作.... ***

--


                                                    沉默的人
                                                 Reinhard Young

※ 来源:·饮水思源站 bbs.sjtu.edu.cn·[FROM: 202.96.210.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:208.901毫秒