4000336002

中公优就业it培训学校太原校区

太原迎泽区嵌入式开发培训哪家好

来源:中公优就业it培训学校太原校区 发布时间:2023/9/22 15:27:55

    太原迎泽区嵌入式开发培训哪家好.小编程推荐中公优就业.优就业是中公教育IT培训品牌,致力于培养面向电商及互联网领域的人才,以学员就业为目的,优质就业为宗旨,是一家集网络营销师,ui合计师,SEO优化师,SEM竞价师,社会化媒体运营师,电商运营师,互联网产品经理,网页设计师,Web前端工程师,PHP工程师,Android工程师,IOS工程师,Java工程师,C/C++工程师,软件测试工程师等课程为一体的IT培训机构

  扩展操作

  它们通常用于数据类型转换。

  SXTB,;SignedExtendedByte //Rd=SignExtend(Rm[7:0]) SXTH,;SignedExtendedHalfWord //Rd=SignExtend(Rm[15:0]) UXTB,;UnsignedExtendedByte //Rd=ZeroExtend(Rm[7:0]) UXTH,;UnsignedExtendedHalfWord //Rd=ZeroExtend(Rm[15:0])

  程序流控制

  B;Branch,Branchrangeis±2046bytesofcurrentPC B;ConditionalBranch,Branchrangeis±254bytesofcurrentPC BL;BranchandLink,Branchrangeis±16MBofcurrentPC BX;BranchandExchange BLX;BranchandLinkwithExchange

  条件转移指令B

  db77bb32-d57d-11ec-bce3-dac502259ad0.png

  内存屏障指令

  在Cortex-M0和Cortex-M0处理器上支持内存屏障指令,从而在Cortex-M处理器和其他ARM处理器家族中提供更好的兼容性。

  //数据内存屏障,确保所有内存访问都完成 //在新的内存访问被提交之前。

  DMB

  //数据同步屏障,确保所有的内存访问都完成 //在执行下一条指令之前。

  DSB

  //指令同步障碍,刷新管道和 //确保之前所有的指令都已完成 //在执行新指令之前。

  ISB

  异常相关指令

  SVC ; Supervisor call CPSIE I ; Enable Interrupt (Clearing PRIMASK) CPSID I ; Disable Interrupt (Setting PRIMASK)

  1.12 睡眠模式功能相关说明

  //等待中断,停止程序执行,直到一个中断到达, //如果处理器进入调试状态。

  WFI

  //等待事件,如果设置了内部事件寄存器,则清除 //内部事件注册和继续执行。 //停止程序执行,直到事件(如中断)到达 //如果处理器进入调试状态。

  WFE

  //发送事件,设置本地事件寄存器并发送一个事件脉冲 //多处理器系统中的其他微处理器。

  SEV

   其他说明

  NOP;NoOperation BKPT;Breakpoint YIELD;ExecuteasNOPontheCortex-M0processor

  2. 指令说明

  2.1 可访问high registers的指令

  绝大部分指令只能访问low registers,也就是只能访问R0~R7寄存器。可以访问high registers的指令只有两条,这两条指令都不更新APSR,指令没有S后缀。

  MOV,;RmandRncanbehighorlowregisters. ADD,;Rd=Rd+Rm.Rd,Rmcanbehighorlowregisters.

  其它两条和SP加法有关的可以访问high registers的指令其本质是ADD指令。

  ADDSP, ADD,SP,

  2.2 分配临时变量的指令

  函数内的临时变量分配到堆栈,进入函数给临时变量分配空间时使用SUB指令。

  SUB SP, SP, #immed7 ; SP = SP – ZeroExtend(#immed7<<2)

  退出函数释放临时变量空间时使用ADD指令。

  ADD SP, SP, #immed7 ; SP = SP + ZeroExtend(#immed7<<2)

  上面两条指令的立即数只有7位,较多可以增减SP指针127个字空间,如果超过127个字,使用这条指令:

  ADD SP, ; SP = SP + Rm. Rm can be high or low register.

  只有ADD指令,没有SUB指令,如果需要SUB,那么给Rm赋值负数即可。

  2.3 取临时变量地址的指令

  在堆栈分配了临时变量空间后,总要取得临时变量的地址才能做进一步的操作。

  ADD , SP, #immed8 ; Rd = SP + ZeroExtend(#immed8<<2)

  立即数不够,可以用寄存器。

  ADD , SP, ; Rd = Rd + SP. Rd can be high or low register.

  2.4 RSBS指令

  RSBS , , #0 ; Rd = 0 – Rm, Reverse Subtract (negative)

  这是倒过来的减法,常量减去寄存器值,而且常量只能是0。所以这条指令实质上就是一条取负数指令。

  Rd = 0 - Rm 等价于:Rd = -Rm Rd 寄存器值等于负的 Rm 寄存器值。

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 中公优就业it培训学...

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)