ILD

数据处理指令:测试指令
2017-9-27
Test和Test Equivalence指令,对两个操作数进行按位操作。语法:TST{cond} Rn, Operand2TEQ{cond} Rn, Operand2这两条指令的目的是更新条件标志位,结果不放入任何寄存器。TST指令对两个操作数进行按位与(bitwise AND)操作。除了结果被丢

数据处理指令:算术运算
2017-9-27
支持加(add)、减(subtract)、反向减(reverse subtract)。支持进位和无进位。语法:ADD{cond}{S} Rd, Rn, Op2 @Rd = Rn + Op2SUB{cond}{S} Rd, Rn, Op2 @Rd = Rn - OP2RSB

数据处理指令:逻辑运算
2017-9-27
支持与(AND)、或(OR)、异或(Exclusive OR)和位清除(bit clear)4种运算。语法:AND{cond}{S} Rd, Rn, Op2ORR{cond}{S} Rd, Rn, Op2EOR{cond}{S} Rd, Rn, Op2BIC{cond}{S} Rd, Rn, Op2

数据处理指令:数据移动指令
2017-9-27
将第二操作数的值,或者第二操作数的值按位取反,移入寄存器。语法:MOV{cond}{S} Rd, Op2MVN{cond}{S} Rd, Op2前者,Rd = Op2。后者,Rd = ~Op2。

协处理器指令
2017-9-27
协处理器指令用于在协处理器和ARM寄存器之间传送数据。Move to coprocessor from ARM registers:MCR{cond} coproc, opcode1, Rd, CRn, CRm{, opcode2}MCR2 coproc, opcode1, Rd, CRn, CRm

内存访问指令
2017-10-31
ARM的数据处理指令不涉及任何内存访问,需要专门的内存访问指令(memory access instructions)来读取内存或写入内存。1 LDR/STR words与unsigned bytes加载寄存器或存储寄存器,32位字或8位无符号字节。字节加载是zero-extended到32位。语法

inline assembly language in C code
2017-10-6
使用asm关键字在C代码中嵌入汇编语言。asm是GNU扩展,如果使用-ansi或各种-std选项,使用__asm__代替asm。GCC提供两种形式的asm语句:basic asm statement和extended asm statement。前者不包含任何操作数。在函数内部,后者是混合C和汇编语

MMU
2017-10-8
在CPU体系结构中,MMU和cache一样,属于core的范畴 。是CPU的一部分,不属于外部设备。这点和内存控制器不同,所以s3c2440没有MMU的参考资料,而需要查看ARM920t的参考资料。1 ARMv4 MMU先来分析MMU是如何转换虚拟地址到物理地址的。1.1 Translation T

volatile struct semantics
2017-10-15
https://stackoverflow.com/questions/2044565/volatile-struct-semantics In your example, the two are the same. But the issues revolve around pointers.Fi

NAND
2017-10-15
NAND flash在嵌入式设备中作为ROM存储程序和数据。NAND Flash的显著特点是不支持XIP (Excute In Place)、存在坏块、数据不可靠,需要ECC等。本文介绍一款NAND Flash和控制器,并给出实战代码。nand flash支持的操作包括读、写、擦除等。因为写的时候只

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.