Частина 21 – Дебагування змінних символів

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

Давайте переглянемо свій код.

Давайте дебагуємо!

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

Давайте пам'ятайте, що ми працюємо з однобайтовою змінною символу.

Якщо ви згадуєте з останньої неділі, кожен символ перекладається в код ASCII в форматі hex, який розуміє процесор. Значення n становить 0x6e в форматі hex або 110 в десятковому вигляді. Ви можете переглянути будь-яку таблицю ASCII, щоб побачити, звідки ми отримали цей значення.

Ми бачимо 0x6e в main+12, який є символом ‘n’.

Якщо ми кілька разів зупинимося, то помітимо, що значення було розміщено в r3. Коли ми друкуємо значення в r3, ми тепер бачимо наш символ ‘n’.

Давайте продовжимо.

Тепер ми бачимо ‘n’ друкується в стандартному виході, як очікувалося.

Важливо розуміти цей процес і розуміти, що кожен символ перекладається в значення ASCII, яке процесор завантажує безпосередньо в відповідний регістр. Наш попередній досвід показував, що рядок завантажувався безпосередньо в місце пам'яті, а це не стосується цього випадку.

Наступна неділя ми вийдемо на тему «Наведення змінних символів».

results matching ""

    No results matching ""