LDRB в ARM Keil - что именно происходит - PullRequest
0 голосов
/ 29 ноября 2018

Я недавно начал изучать ассемблер.Я искал фрагмент кода, который я не совсем уверен, что он делает.

    LDR r0, =str
    MOV r1, #0
loop 
    LDRB r2, [r0], #1
    ADD r1, r1, #1
    CMP r2, #0
    BNE loop
    SUB r1, r1, #1
Data Segment Little Endian Format
    str DCB "mCQ5Gtq",0

Насколько я понимаю, DCB загружает строку в слово из 32 бит, и каждый символ имеет свойсобственный байт.Little Endian Format означает, что младший байт хранится в младшем адресе памяти.LDR делает r0 = строку.LDRB загружает младший значащий байт, содержащийся в r0, в смещение r2 на 1 бит.

1) Начинается ли младший значащий байт с m или q?то есть это будет
<- 0000 0017 (ascii для q) или <- 0000 006D (ascii для m). </p>

2) Загружает ли оператор LDRB младший значащий байт из смещения r0 на 1 битв г2.Если так, то каким будет r2 (только первый цикл).

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...