Частина 21 – Дебагування змінних символів
Для повного змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть розглянуті.
Давайте переглянемо свій код.
Давайте дебагуємо!
Вибачте! Цей процес дуже заплутаний. Я не бачу жодних чітких адрес пам'яті, які завантажуються в регістр для маніпулювання данними.
Давайте пам'ятайте, що ми працюємо з однобайтовою змінною символу.
Якщо ви згадуєте з останньої неділі, кожен символ перекладається в код ASCII в форматі hex, який розуміє процесор. Значення n становить 0x6e в форматі hex або 110 в десятковому вигляді. Ви можете переглянути будь-яку таблицю ASCII, щоб побачити, звідки ми отримали цей значення.
Ми бачимо 0x6e в main+12, який є символом ‘n’.
Якщо ми кілька разів зупинимося, то помітимо, що значення було розміщено в r3. Коли ми друкуємо значення в r3, ми тепер бачимо наш символ ‘n’.
Давайте продовжимо.
Тепер ми бачимо ‘n’ друкується в стандартному виході, як очікувалося.
Важливо розуміти цей процес і розуміти, що кожен символ перекладається в значення ASCII, яке процесор завантажує безпосередньо в відповідний регістр. Наш попередній досвід показував, що рядок завантажувався безпосередньо в місце пам'яті, а це не стосується цього випадку.
Наступна неділя ми вийдемо на тему «Наведення змінних символів».