• 0

    消息 标记为已读

    没有消息

    查看全部
  • 登录/注册
  • 我的班级
  • 机器码合法性的问题

    为什么我们在用mov指令和b指令时需要考虑合法性(32位机,一条指令占4个字节),但and等指令时不用考虑就可以直接和一个较大的数做逻辑运算? 例如 mov r0,#0xfffffff1@报错,因为超出机器码允许的最大常数 b max_addr @max_addr的入口地址超大,一样报错 而 and r0,#0xffffffff @是不会报错的 orreq r0,#0xffffffff@是不会编译报错

    楼主 彭彬 来自 嵌入式-软中断程序下 2019-02-16 00:28:44 2人参与讨论

    添加回答

    回答问题最高可获5M豆哦!

    全部回复

    二莹子

    因为没设计这类内存到内存的 mov 方式,所以只能通过通用寄存器或堆栈进行中转。

    赞同(0) 引用 | 1楼 2019-03-12 回复

    我的回复

    发表成功 M豆+5

    每日可获得50M豆,免费兑换开发板

    点赞

    收藏

    二维码

    扫一扫,在手机上查看!

    所属分类 全部分类

    C语言

    4547人关注

    关注

    C语言是一门通用的,模块化,程序化的编程语言,被广泛应用于操作系统和应用软件的开发。

    Android开发

    2869人关注

    关注

    android开发是指android平台上应用的制作,它包括操作系统、用户界面和应用程序。

    相关课程

    ARM体系结构初级

    11396人学习 1课时

    ARM嵌入式体系结构与接口技术(Cortex-A53)

    9628人学习 7课时

    热门问题

    C语言测试题

    18 回答 来自 嵌入式

    FS-MP1A--linnix 编程问题

    16 回答 来自 嵌入式