Частина 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