天天看點

彙編 debug指令彙總

這是小白的自行總結,歡迎指導!

彙總

指令 作用
R 檢視、改變CPU寄存器的内容
D 檢視記憶體中的内容
E 改寫記憶體中的内容
U 把記憶體單元中的内容翻譯成彙編指令
T 執行CS:IP指向的指令
A 以彙編指令的形式在記憶體中寫入機器指令

詳解

R

  • 檢視寄存器内容
    彙編 debug指令彙總
  • 改變寄存器的内容
    彙編 debug指令彙總
    修改後可以用R指令來檢視一下修改後的結果
    彙編 debug指令彙總

D

  • 檢視記憶體中的内容
    彙編 debug指令彙總
    左行是每行的起始位置,中間是從指定位址開始的128個記憶體單元的内容,右邊是每個記憶體單元中的資料對應的可顯示的ASCII碼字元。
  • 檢視指定記憶體位置

    采用"d 段位址:偏移位址“的格式

    彙編 debug指令彙總
  • 檢視指定範圍的内容

    采用”d 段位址:偏移位址 結尾偏移位址“的形式

    彙編 debug指令彙總

E

  • 改寫記憶體中的内容

    采用”e 起始位址 資料 資料 …“的格式

    彙編 debug指令彙總
    + 以提問方式一個一個地改寫記憶體中的内容
    彙編 debug指令彙總
    輸入位址後,按enter鍵,再輸入想要寫入的資料,如果不想更改,可以按空格跳入下一條。以enter鍵結束操作。
  • 可以用e指令向記憶體中寫入字元
    彙編 debug指令彙總
  • 寫入字元串
    彙編 debug指令彙總

U

  • 檢視寫入的或記憶體中原有的機器碼所對應的彙編指令
    彙編 debug指令彙總
    左邊為位址,中間為機器指令,左邊為機器指令所對應的彙編指令

A

  • 以彙編指令的形式在記憶體中寫入機器指令
    彙編 debug指令彙總
    注意逗号!我這裡就寫錯啦!

T

  • 執行寫入的機器指令
    彙編 debug指令彙總

    前面有一部分沒有截到,是ax=1111 bx=0000 …

    可以看到,當沒有輸入t指令時,ax和bx的值是沒有改變的,隻有執行t指令時,機器指令才能執行

ps:注意 當位址不對應時,是沒有用的!(剛剛才犯了這個錯,還問了同學,真是有點笨。)可以用r指令來改變cs和ip的值,接下來介紹另一條指令來改變cs:ip位址的指向

彙編 debug指令彙總

附:jmp

彙編 debug指令彙總

可以看到,在執行完 jmp指令後,cs與ip的值都改變了

繼續閱讀