Частина 15 - Дебагування ADD

Для повного змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть розглянуті.

Давайте переглянемо наш приклад ADD нижче:

Іноді ми бачимо, що ми переміщаємо десятичне значення 67 в r1 і десятичне значення 53 в r2. Потім ми додаємо r1 і r2 і розміщуємо результат в r0.

Давайте скомпілюємо:

as -o add.o add.s

ld -o add add.o

Давайте привнесемо в GDB для дебагування:

gdb -q add

Ви бачите, що коли ви b _start, зупиняєтеся на початку і r, виконуєте, ви бачите розбір. Якщо ви зробите i r ви побачите інформацію про регістр, де ми помітили, що наш cpsr є 0x10.

Поки ми крокуємо знову і інформацію про регістр:

Іноді ми бачимо 0x43 в шістнадцятковому вигляді або 67 в десятковому вигляді в r1. Також ми помітили, що флаги залишилися незміненими (cpsr 0x10).

Давайте крокуємо знову і інформацію про регістр:

Іноді ми бачимо, що r0 тепер містить 0x78 в шістнадцятковому вигляді або 120 в десятковому вигляді. Ми успішно побачили інструкцію ADD в місці і знову помітили, що регістр флагів (cpsr) залишається незміненим після цієї операції.

Наступна неділя ми підійдемо до Хакінгу ADD

results matching ""

    No results matching ""