第1 章 体系结构 ARM经典300问与答第1 问:Q:请问在初始化CPU 堆栈的时候一开始在执行mov r0, LR 这句指令时处理器是什么模式A:复位后的模式,即管理模式.第2 问:Q:请教:MOV 中的8 位图立即数,是怎么一回事 0xF0000001 是怎么来的A:是循环右移,就是一个0—255 之间的数左移或右移偶数位的来的,也就是这个数除以4一直除, 直到在0-255 的范围内它是整数就说明是可以的!A:8 位数(0-255)循环左移或循环右移偶数位得到的,F0000001 既是0x1F 循环右移4 位,符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把32 位立即数放在32 位的指令中.移位偶数也是这个原因.可以看一看ARM 体系结构(ADS 自带的英文文档)的相关部分.第3 问:Q:请教:《ARM 微控制器基础与实战》2.2.1 节关于第2 个操作数的描述中有这么一段:#inmed_8r 常数表达式.该常数必须对应8 位位图,即常熟是由一个8 位的常数循环移位偶数位得到.合法常量:0x3FC,0,0xF0000000,200,0xF0000001.非法常量:0x1FE,511,0xFFFF,0x1010,0xF0000010.常数表达式应用举例:......LDR R0,[R1],#-4 ;读取 R1 地址上的存储器单元内容,且 R1 = R1-4针对这一段,我的疑问:1. 即常数是由一个8 位的常数循环移位偶数位得到,这句话如何理解2. 该常数必须对应8 位位图,既然是8 位位图,那么取值为0-255,怎么0x3FC 这种超出255 的数是合法常量呢3. 所举例子中,合法常量和非法常量是怎么区分的 如0x3FC 合法,而0x1FE 却非法0xF0000000,0xF0000001 都合法,而0xF0000010 又变成了非法4. 对于汇编语句 LDR R0,[R1],#-4,是先将R1 的值减4 结果存入R1,然后读取R1 所指单元的 值到R0,还是先读取R1 到R0,然后再将R1 减4 结果存入R1A:提示,任何常数都可用底数*2 的n 次幂 来表示.1. ARM 结构中,只有8bits 用来表示底数,因此底数必须是8 位位图.2. 8 位位图循环之后得到常数,并非只能是8 位.3. 0xF0000010 底数是9 位,不能表示.4. LDR R0, [R1], #-4 是后索引,即先读,再减.可以看一看ARM 体系结构对相关寻址方式的说明.
上传时间: 2013-11-22
上传用户:1109003457
二十世纪八十年代以来, 微带介质天线由于具有重量轻、尺寸小、良好的共形特性及较低的性能价格比等优点而引起工程技术部门的高度重视。现美国和加拿大都把微带天线用于星载合成孔径雷达以实现地面侦察和地形勘察, 日本也将微带介质天线普遍用于卫星直播电视接收系统。我国正在开发和研制新型的微带介质天线, 但这些大多在1GHz~50GHz 频段范围内进行, 且天线为窄带, 这是介质衬底微带天线的一大特点。至今, 由于天线的尺寸过大, 在VHF/ U HF 频段, 圆形或矩形微带介质天线尚未推广应用。
上传时间: 2014-12-30
上传用户:13162218709
采用一种新型的微带馈线叫有损微带结构(DMS),该平面结构通过对微带馈线的变形来降低低频段的频率;(2)在地板上靠近辐射板的馈源端处采用平滑的斜角处理,能较好地扩展高频段的可用频率。通过以上两种技术的结合使用,有效地扩展了UWB的带宽。
上传时间: 2013-10-18
上传用户:吾学吾舞
1.实验要求 l 实验目的: (1)进一步掌握指针、异常处理的使用; (2)掌握栈的操作的实现方法; (3)培养使用栈解决实际问题的能力 l 实验内容:利用栈实现迷宫求解问题,具体要求如下: (1)可以使用递归或非递归两种方法实现; (2)老鼠能够记住自己的路,不会反复走重复的路径; (3)可以自己任意设置起点; (4)必须要有异常处理,比如输入参数错误时应抛出异常 2. 程序分析 2.1 存储结构 该程序采用栈的顺序存储结构,利用一组地址连续的存储单元依次存放老鼠在迷宫中的每一步路径,由于栈的插入和删除只能在栈顶实现,因此,每前进一步,表示该点的数组元素入栈,栈顶指针top+1;每后退一步,表示原来点的数组元素出栈,top-1。栈的操作示意如图(a)所示: 图(a) 栈的操作示意图
上传时间: 2013-11-08
上传用户:jasonheung
目录 C语言基础知识 C 语言简介 C 语言的特点… C 语言的发展和标准化…数据类型、运算、表达式和编译预处理 数据类型… 基本类型与数据表示 整数类型和整数的表示… 实数类型和实数的表示… 字符类型和字符的表示… 运算符、表达式与计算… 算术运算符 算术表达式 表达式的求值… 变量——概念、定义和使用… 变量的定义0 变量的使用:取值与赋值 预处理 文件包含命令… 宏定义与宏替换…逻辑判断与运算… 关系运算和逻辑运算 复杂条件的描述0 i f语句循环控制 whi le语句 for语句… 循环程序常用的若干机制 增量和减量运算符(++、--) 逗号运算符 控制结构和控制语句 do-while循环结构… 流程控制语句… goto语句… 开关语句…函数 概述… 函数定义和程序的函数分解… 函数定义… 函数调用…数组 数组的概念、定义和使用 数组变量定义… 数组的使用 数组的初始化…结构 结构(struct) 结构说明与变量定义 结构变量的初始化和使用 结构与函数 处理结构的函数0指针 指针的概念 指针操作… 指针作为函数的参数 与指针有关的一些问题… 指针与数组 指向数组元素的指针 基于指针运算的数组程序设计 数组参数与指针 字符指针与字符数组0
上传时间: 2013-11-16
上传用户:asdkin
DAC34H84 是一款由德州仪器(TI)推出的四通道、16 比特、采样1.25GSPS、功耗1.4W 高性能的数模转换器。支持625MSPS 的数据率,可用于宽带与多通道系统的基站收发信机。由于无线通信技术的高速发展与各设备商基站射频拉远单元(RRU/RRH)多种制式平台化的要求,目前收发信机单板支持的发射信号频谱越来越宽,而中频频率一般没有相应提高,所以中频发射DAC 发出中频(IF)信号的二次谐波(HD2)或中频与采样频率Fs 混叠产生的信号(Fs-2*IF)离主信号也越来越近,因此这些非线性杂散越来越难被外部模拟滤波器滤除。这些子进行pcb设计布局,能取得较好的信号完整性效果,可以在pcb打样后,更放心。这些杂散信号会降低发射机的SFDR 性能,优化DAC 输出的二次谐波性能也就变得越来越重要。
上传时间: 2013-12-28
上传用户:tsfh
用了还是没用上的,大家都来看看啊,呵呵,希望对你会有所帮助 cos()余弦tan()正切sin()正弦sqrt()平方根 asin()反正弦acos()反余弦atan()反正切sinh()双曲线正弦 cosh()双曲线余弦tanh()双曲线正切 注释:所有三角函数都使用单位度。 log()以10为底的对数ln()自然对数 exp()e的幂abs()绝对值 ceil()不小于其值的最小整数 floor()不超过其值的最大整数 可以给函数ceil和floor加一个可选的自变量,用它指定要圆整的小数位数。带有圆整参数的这些函数的语法是: ceil(parameter_name或number,number_of_dec_places) floor(parameter_name或number,number_of_dec_places) 其中number_of_dec_places是可选值: 1、可以被表示为一个数或一个使用者自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 2、它的最大值是8。如果超过8,则不会舍入要舍入的数(第一个自变量),并使用其初值。 3、如果不指定它,则功能同前期版本一样。 使用不指定小数部分位数的ceil和floor函数,其举例如下: ceil(10.2)值为11 floor(10.2)值为11 使用指定小数部分位数的ceil和floor函数,其举例如下: ceil(10.255,2)等于10.26 ceil(10.255,0)等于11[与ceil(10.255)相同] floor(10.255,1)等于10.2 floor(10.255,2)等于10.26
标签: proe
上传时间: 2013-10-20
上传用户:sevenbestfei
与许多电子检测与测量工具相同,逻辑分析仪是针对特定问题提供的解决方案。该工具能够帮助人们实施数字硬件故障检测,功能多样;同时,它还是设计数字电路的工程师必不可少的数字设计工具。逻辑分析仪用于涉及大量信号或复杂的触发器要求的数字测量。本文档将使您了解什么是逻辑分析仪,它如何工作。在逻辑分析仪简介部分中,我们首先关注数字示波器以及逻辑分析仪测量结果评估,随后学习简单逻辑分析仪的构造;拥有上述基础知识后,您将了解逻辑分析仪的重要功能以及针对特定应用时,分析仪为什么成为一种主要选择。
标签: 逻辑仪
上传时间: 2015-01-03
上传用户:mickey008
表达式求值,包括括号的匹配问题、负数如何识别?2.2.3这样非法的数怎样识别?如何区别3+-2(非法)和3+(-2)(合法)以及3++2(非法)和3+(+2)(合法)
标签: 表达式
上传时间: 2014-12-02
上传用户:daguda
由于时间紧迫及事先准备不足,编译器最后定型时暴露出不少问题及不足之处,主要有以下一些方面: 不支持数组数据类型,这是文法分析器设计时的一个疏漏,由于时间关系,最后只得把扫描器中已做好的相关的数组部分删去。 对于float数据类型的支持,直到语义分析都是正常的,也能生成相应的汇编代码,但由于我们对8086/8088指令系统本身了解不足,这样的汇编代码将只能做到含义上完全忠实于源程序,但不能运行。 对于局部变量的支持,则于时间紧迫,所有的局部变量全被处理成静态变量。使递归函数不能得到正确的结果。 对于函数调用语句,不进行参数匹配检查,如果参数数量不对,也将能通过编译,但运行时将产生非法操作。 对&& !等逻辑操作在最后生成代码时处理比较粗燥,生成的代码在逻辑复杂时将不能保证运行正常。 接下来有一些,不能说是缺陷,但必须说明的问题: 对于main函数,没有参数表,通回类型也必须为void,但如果写上参数表及其他返回类型也能编译通过,生成代码时将简单地忽略,不影响最后的代码的运行。 对于while,for,if语句,其语句体不管是一句还是多句,必须都有{}围起来。这跟C语言中若是一句则可省略{}不同。
标签:
上传时间: 2015-03-14
上传用户:gmh1314