§ 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 符號及原始碼指令

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