Что ж, вы на правильном пути. Кнопки CPUlator соответствуют битам слова в памяти по фиксированному адресу 0xFF200050. Таким образом, следующее будет считывать слово в регистр r0
:
ldr r0, =0xFF200050 //Load the address into a register
ldr r0, [r0] //Load the contents of that address
//Now let's do something with that number...
Если вы проверите, например, кнопки 0 и 2, это даст вам 5 в r0
. Подойдет ли это?
Адрес памяти, из которого можно считать состояние кнопки, удобно записан в заголовке панели CPUlator справа. Панель переключателей соответствует слову 0xFF200040. Я не уверен, что по адресу 0xFF200100. На физическом устройстве кнопки и переключатели, вероятно, разные, но в CPUlator я не вижу никакой разницы. Используйте тот источник входного сигнала, который вам больше нравится.
В устройствах также есть клавиатура, но ее обработка будет более сложной.