賢仔 發問時間: 電腦與網際網路程式設計 · 1 0 年前

DEBUG

若我從

-a 5a86:0000

開始寫程式,寫到

5a86:0062

那該怎麼樣存檔??

打了一堆東西最後卻不會存檔=_=

3 個解答

評分
  • 1 0 年前
    最佳解答

    1. 一開始的時候就要用 N 新開一個執行檔,例如:-N c:\123.com 按 ENTER

    2. -a 5a86:0000 開始打機械碼

    3. 打到 5a86:0062 按 ENTER 回到 - 提示符號下

    3. 指定執行檔大小,例如100個BYTES -100 ENTER

    5. 用 W 指令存檔。

    6. 用 Q 離開 DEBUG

    底下程式範例 SLEEP.COM 是讓系統進入睡眠狀態,紅字是指令,藍字是機械碼。

    先打 debug 進入除錯

    N c:\sleep.com

    A 100

    MOV SI,0082

    MOV AX,[SI]

    XCHG AH,AL

    XOR AX,3030

    MOV BL,AL

    MOV AL,0A

    MUL AH

    ADD AX,BX

    MOV SI,AX

    MOV AH,2C

    INT 21

    MOV BL,DH

    MOV AX,SI

    AAM

    OR AX,3030

    XCHG AH,AL

    MOV [0160],AX

    MOV AH,09

    MOV DX,0160

    INT 21

    MOV AH,06

    MOV DL,FF

    INT 21

    JZ 014C

    OR AL,AL

    JNZ 013F

    MOV AH,08

    INT 21

    MOV AL,FF

    MOV DX,016C

    PUSH AX

    MOV AH,09

    INT 21

    POP AX

    MOV AH,4C

    INT 21

    MOV AH,2C

    INT 21

    CMP BL,DH

    JZ 012D

    MOV BL,DH

    DEC SI

    JNZ 011A

    SUB AL,AL

    MOV DX,016C

    JMP 0142

    DB "XX SECONDS", D, 24

    DB " ", D, A, 24

    按 ENTER

    RCX 檢視CX暫存器

    79 寫入79個BYTES

    W 寫入

    Q 離開

    2007-11-12 22:37:14 補充:

    用DEBUG寫程式太慢了,你可以把我上面的範例,從

    N c:\sleep.com 這一行.......到最後一行 Q

    複製到記事本 ( 中文部分要刪除 ),然後存檔成 副檔名SCR,例如 sleep.scr

    接著在DOS底下打

    debug < 123.scr

    瞬間就會形成一個 sleep.com 程式,試試看! ^^

  • 振輔
    Lv 5
    1 0 年前

    打個問號 [Enter]就有指令說明的,請參考!

    -?

    assemble A [address]

    compare C range address

    dump D [range]

    enter E address [list]

    fill F range list

    go G [=address] [addresses]

    hex H value1 value2

    input I port

    load L [address] [drive] [firstsector] [number]

    move M range address

    name N [pathname] [arglist]

    output O port byte

    proceed P [=address] [number]

    quit Q

    register R [register]

    search S range list

    trace T [=address] [value]

    unassemble U [range]

    write W [address] [drive] [firstsector] [number]

    allocate expanded memory XA [#pages]

    deallocate expanded memory XD [handle]

    map expanded memory pages XM [Lpage] [Ppage] [handle]

    display expanded memory status XS

    -

  • 1 0 年前

    跟我步驟打

    n 要存檔的位置跟檔名

    rbx

    0000

    rcx

    0062

    w

    參考資料: 自己
還有問題?馬上發問,尋求解答。