1. 程式人生 > >四、記憶體空間的編輯和ASSIC碼

四、記憶體空間的編輯和ASSIC碼

debug  cmd.exe


    程式碼段:在記憶體中存放程式碼的聯絡記憶體單元
    比如:03ff:0100 到 03ff:0200  這段空間均存放了彙編程式碼,這個空間就叫段程式碼
    

    資料段:在記憶體中存放資料的連續記憶體單元
    比如:e 073f:0000    
    01 02 03 04 05 06 07 08 09 0A ..
    一個位元組的資料:一個記憶體單元的資料
    一個字的資料:連續兩個記憶體單元的資料,遵循高地址是高位,低地址是低位。


    a、t、r命令比較重要
    a CS:IP
    034F:0100 mov ax,11




    e為編輯,6000位起始地址,偏移地址為0017,放入資料為AB
    e 6000:0017 AB
    e 6000:0017 AB 13 90 A0 87

    
    檢視儲存
    段地址:偏移地址
    d 6000:0000


    改寫記憶體
    5F00:1030 01.0A 02.0B 03.0C 04.0D 05.  06.FF


    進入段地址
    a 6000:0100


    彙編翻譯
    u 6000:0000 0012
    6000:0000 0000        ADD        [BX+SI],AL
    6000:0006 1300        ADC        AX,[BX+SI]        

         
    ASSIC(單冒號擴起來會對應16進位制符號,不擴為16進位制)
    e 6000:0010 'A' 'B' 'c' 'D' '>' '=' 3A 3B

        
    字串
    e 6000:0020 "abcdef"


    檢視彙編命令執行介面
    顯示暫存器內容的標誌位狀態,可修改(改變IP的指向,偏移量)
    r
    比如
    r ip 
    IP 0109
    :0100


    執行彙編命令
    t 從當前CS:IP暫存器指向的地址開始執行彙編指令(r 檢視彙編資訊)
    格式:
    t