当前位置: 首页 > news >正文

深圳网站设计网站制作格瑞特网站建设

深圳网站设计网站制作,格瑞特网站建设,wordpress get_tag,阿里云怎么申请域名ARM汇编概述 一开始#xff0c;ARM公司发布两类指令集#xff1a; ARM指令集#xff0c;这是32位的#xff0c;每条指令占据32位#xff0c;高效#xff0c;但是太占空间。Thumb指令集#xff0c;这是16位的#xff0c;每条指令占据16位#xff0c;节省空间。 要节…ARM汇编概述 一开始ARM公司发布两类指令集 ARM指令集这是32位的每条指令占据32位高效但是太占空间。Thumb指令集这是16位的每条指令占据16位节省空间。 要节省空间时用Thumb指令要效率时用ARM指令。 一个CPU既可以运行ARM指令也可以运行Thumb指令。 怎么区分当前指令是Thumb还是ARM指令呢 程序状态寄存器中有一位名为“T”它等于1时表示当前运行的是Thumb指令。 假设函数A是使用Thumb指令下的函数B是使用ARM指令写的怎么调用A/B 我们可以往PC寄存器里写入函数A或B的地址就可以调用A或B。 但是怎么让CPU在执行A函数时进入Thumb状态在执行B函数时进入ARM状态 做个手脚 调用函数时A时让PC寄存器的BIT0等于1即PC函数A地址10; 调用函数时B时让PC寄存器的BIT0等于0即PC函数B地址; 引入Thumb2指令集支持16位指令、32位指令混合编程。 ARM公司推出了Unified Assembly Language UAL统一汇编语言不需要去区分这些指令集。 UAL汇编格式为 Operation {cond} {S} Rd, Rn, Operand2 Operation表示各类汇编指令比如ADD、MOV。cond表示condition即该指令执行的条件。S表示该指令执行后会修改程序状态寄存器。Rd为目的寄存器用来存储运算的结果。Rn、Operand2是两个源操作数。 立即数 MOV R0,#VAL意思是把VAL这个值存入R0寄存器。 VAL可以是任意值吗 不可以必须是立即数。 假设VAL可以任意数“MOV R0,#VAL”本身16位或32位哪来的空间保存任意数值的VAL所以VAL必须符合某些规定。 LDR伪指令 去判断一个VAL是否是立即数麻烦并且就是想把任意数值赋给R0怎么办 可以使用伪指令LDR R0,VAL 伪指令就是假的不存在的指令。 LDR作为伪指令时指令中有一个否则它就是真的LDR指令了。 编译器会把伪指令替换成真实的指令比如 LDR R0,0x12 0x12是立即数那么替换为 MOV R0,#0x12 LDR R0,0x12345678 0x12345678不是立即数替换为 Label DCD 0x12345678 //编译器在程序某个地方保存这个值 LDR R0,[PC,#offser] //使用Load Register读内存指令读出值offset是链接程序时确定的。 ADR伪指令 用来读某个标号的地址 ADR R0,LoopLoopADD R0,R0,#1它是伪指令会被转换成某条真实的指令。 ARM编译器与GCC编译器语法差异 低位存放在低地址小字节序little endian。 高位存在低地址大字节序big endian。 程序处理的4个步骤 main.c经过预处理后生成main.i经过编译后形成汇编文件.s 汇编文件经过汇编后得到目标文件多个目标文件链接生成.elf可执行程序含有机器码可执行程序再经过反汇编后生成汇编代码.dis。 汇编把汇编文件转换成目标文件里面是机器码 反汇编把可执行文件目标文件里面是机器码转换成汇编文件 KEIL下怎么反汇编 在 KEIL的User选项中添加这两项 上电后 设置栈CPU会从0x08000000读取值用来设置SP 跳转CPU会从0x08000004得到地址值根据它的BIT0切换到ARM状态或者Thumb状态然后跳转。 对于Cortex M3/M4仅支持Thumb状态所以0x08000004上的值bit0必定是1。 0x08000004上的值 Reset_Handler1 从Reset_Handler上继续执行
http://www.zqtcl.cn/news/801934/

相关文章:

  • 班级网站模板青岛哪里有做网站公司的
  • 建设工程设计招标信息网站.制作一个聊天软件需要多少钱
  • 校园网站建设的意见新闻聚合网站开发 技术
  • 网站推广公司兴田德润电话多少wordpress 弹框
  • 大连网站建设谁家好软件开发需要什么技术
  • 广州网站建设哪家便宜成都电商app开发
  • 网站qq访客统计青岛网站设计定制
  • 山东嘉祥做网站的有哪几家销售外包
  • 怎么做网站_旅游网站定位
  • 湛江seo推广公司aso优化渠道
  • 网站设计培训机构内蒙古网上办事大厅官网
  • 什么是网站空间信息网站备案号中信息有变
  • 网站建设的基础怎么提升网站流量
  • 网站开发线框网页设计网站建设过程报告
  • 怎么用html做移动网站吗免费装修设计软件
  • 门头沟石家庄网站建设鞍山怎么样做一个自己的网站
  • 网站安装代码宣传网站建设背景
  • 网站空间续费东莞网站建设(信科分公司)
  • 少儿教育网站建设价格网页制作讲解视频
  • 网站开发方向的工作网站怎么做排名
  • 建设网站烧钱iis配置网站是什么
  • 新网站建设特色网站建设信息表
  • 商城做网站家具网站模板
  • 国有企业网站建设网站悬浮qq
  • 上海建站宝盒微网站生成app
  • 做网站是什么时候分页有哪些制作网站的公司
  • 专业柳州网站建设哪家好5千ip的网站能赚多少钱
  • 网站开发代理最火网页游戏
  • 做网站运营工资多少网站建设协议需要注意的问题
  • 如何建设一个人工智能网站qq头像网站源码