复习题 一、基础题 (每题 4 分 ) 1. 描述 C 语言内嵌汇编中 , __asm__ __volatile__ 这一句的 __volatile__ 的作用是?当修饰变 量时 volatile 什么含义 ? 不优化代码 禁止编译器进行优化 2. 如何在 C 语言的内嵌汇编中访问 C 变量,以及如何保护内嵌汇编中被破坏的寄存器 ? 3. 请写出在 ARM 平台上“满递减栈 " 存和取的指令 , 每条指令都要求写出两种形式 . STMIB(地址先增而后完成操作)、 STMFA(满递增堆栈); STMIA(完成操作而后地址递增)、 STMEA(空递增堆栈); STMDB(地址先减而后完成操作)、 STMFD(满递减堆栈); STMDA(完成操作而后地址递减)、 STMED(空递减堆栈)。 STMDA R0!,{R5-R6} R5,R6 存入相应的 R0指向的地址对应的内存 LDMI