摘要: 下面这条指令应该是将w20从half word(32bit)扩展为word(ARM64),然后这这个word逻辑左移1bit,然后和x1相加,最后将相加结果存至x1 6d14c: 8b344421 add x1, x1, w20, uxtw #1 阅读全文
posted @ 2020-01-15 22:56 aspirs 阅读(2505) 评论(0) 推荐(0) 编辑
摘要: 16位数据操作指令名字 功能ADC 带进位加法(ADD with Carry)ADD 加法AND 按位与。这里的按位与和C的”&”功能相同ASR 算术右移(Arithmetic Shift Right)BIC 按位清零(把一个数跟另一个无符号数的反码按位与) 例子: BIC R0, R0 , #0x 阅读全文
posted @ 2020-01-15 21:55 aspirs 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: 寄存器r31是一个特殊的寄存器:Zero Register: 在大多数情况下,作为源寄存器使用时, r31读出来的值 是0; 作为目标寄存器使用时, 丢弃结果。 WZR(word zero rigiser)或者XZR(64位) 阅读全文
posted @ 2020-01-15 21:53 aspirs 阅读(3796) 评论(0) 推荐(0) 编辑
摘要: LDR r, label 和 LDR r, =label的区别: LDR r, =label 会把label表示的值加载到寄存器中,而LDR r, label会把label当做地址,把label指向的地址中的值加载到寄存器中。 譬如 label的值是 0x8000, LDR r, =label会将 阅读全文
posted @ 2020-01-15 21:08 aspirs 阅读(606) 评论(0) 推荐(0) 编辑