文档介绍:第三章 S3C2410 主要外设功能部件? ARM 汇编指令?UART 异步串口通信?通用 I/O 端口?Nand Flash 控制器? NOR Flash 接口电路 1. ARM 汇编指令加载/存储指令? LDR :LDR{ 条件}目的寄存器,<存储器地址> 用于将存储器中的一个 32位的字数据传送到目的寄存器中;常用于从存储器中读取 32 为的字数据到通用寄存器。 ldr r0 ,=rPCONE // 寄存器地址存放到通用寄存器中? STR :STR{ 条件}源寄存器,<存储器地址> 用于从源寄存器中将一个 32位的字数据传送到存储器中。 ldr r0 ,UARTADD str r1 ,[r0] // 向UART 中存入数据数据处理指令? MOV :MOV{ 条件}{S} 目的寄存器,源操作数用于完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器; S项决定指令的操作是否影响 CPSR 中条件标志位的值,当无 S时,指令不更新 CPRS 中条件标志位的值。 mov r9 ,r2 movs r0 ,#oxFF00 ? CMP :CMP{ 条件} 操作数 1,操作数 2 用于把一个寄存器的内容和另一个寄存器的内容或立即数进行比较,同时更新 CPSR 中条件标志位的值。该指令只进行一次减法运算,但不存储结果,只更改条件标准位。 cmp r0 ,#oxFF00 ?跳转指令用于实现程序流程的跳转;可以完成从当前指令向前或向后的 32MB 地址空间的跳转; (超过要使用直接向程序计数器 PC写入跳转地址值的方式)。 B 跳转指令 BL 带返回的跳转指令 BLX 带返回和状态切换的跳转指令 BX 带状态切换的跳转指令 WAKEUP_SLEEP ;Release SCLKn after wake-up from the SLEEP mode. ldr r1,=R ldr r0,[r1] bic r0,r0,#(7<<17) str r0,[r1] ;Set memory control registers ldr r0,=SMRDATA ldr r1,=BWSCON ;BWSCON Address add r2, r0, #52 ;End address of SMRDATA ldr r3, [r0], #4 str r3, [r1], #4 cmp r2, r0 bne %B0 ;(Be