Arm 指令如何匹配不同的格式
时间: 2020-08-27来源:V2EX
前景提要
今天看 ARM7 相关的文档的时候,看到 Arm 指令格式区分的表格,但是发现格式并不是完全各自独立的,同一个指令可能会匹配到多种格式。

比如: xxxx_0000_10xx_xxxx_xxxx_0000_1001_xxxx 这条指令会匹配到 Multiply Long 和 Halfword Data Transfer:register offset 这两种格式。 // 没问题 xxxx_100x_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx Block Data Transfer xxxx_101x_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx Branch xxxx_110x_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx Coprocessor Data Transfer xxxx_1110_xxxx_xxxx_xxxx_xxxx_xxx0_xxxx Coprocessor Data Operation xxxx_1110_xxxx_xxxx_xxxx_xxxx_xxx1_xxxx Coprocessor Register Transfer xxxx_1111_xxxx_xxxx_xxxx_xxxx_xxx1_xxxx Software Interrupt // xxxx_0000_1xxx_xxxx_xxxx_xxxx_1001_xxxx Multiply Long xxxx_000x_x0xx_xxxx_xxxx_0000_1xx1_xxxx Halfword Data Transfer:register offset xxxx_0000_00xx_xxxx_xxxx_xxxx_1001_xxxx Multiply xxxx_000x_x1xx_xxxx_xxxx_xxxx_1xx1_xxxx Halfword Data Transfer:immediate offset xxxx_0001_0010_1111_1111_1111_0001_xxxx Branch and Exchange xxxx_0001_0x00_xxxx_xxxx_0000_1001_xxxx Single Data Swap xxxx_00xx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx Data Processing / PSR Transfer xxxx_011x_xxxx_xxxx_xxxx_xxxx_xxx1_xxxx Undefined xxxx_01xx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx Single Data Transfer

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行