python --yolo混合文件xml和img整理
2026/1/5 22:26:59
ROR是 ARM 汇编中的循环右移(Rotate Right)指令。它执行按位右移操作,并将从右侧移出的位重新插入到左侧(高位)。
ROR{S}{cond} Rd, Rm, #imm ROR{S}{cond} Rd, Rm, Rs对于 32 位寄存器:
MOV R0, #0x0000000F ; R0 = 0000 0000 0000 0000 0000 0000 0000 1111 ROR R1, R0, #4 ; R1 = 1111 0000 0000 0000 0000 0000 0000 0001 ; 右移4位,移出的"1111"补到左边ROR R1, R0, #8 ; 将 R0 循环右移 8 位,结果存入 R1ROR R1, R0, R2 ; 将 R0 循环右移 R2 中指定的位数RORS R1, R0, #4 ; 循环右移并更新标志位; 交换字节顺序的另一种方法 MOV R0, #0x12345678 ROR R0, R0, #16 ; R0 = 0x56781234; 在轮函数中使用(如某些哈希函数) EOR R0, R0, R1 ROR R0, R0, #7; 重新排列位模式 MOV R0, #0b10110011 ROR R0, R0, #3 ; 得到 0b01110110| 指令 | 名称 | 操作 | 示例 |
|---|---|---|---|
| ROR | 循环右移 | 右移,移出的位补到左边 | 0b1001 ROR 2 = 0b0110 |
| RRX | 带扩展循环右移 | 右移1位,C标志移入最高位 | R1, R0, RRX |
| ASR | 算术右移 | 右移,符号位填充 | 0b1001 ASR 2 = 0b1110 |
| LSR | 逻辑右移 | 右移,0填充 | 0b1001 LSR 2 = 0b0010 |
| LSL | 逻辑左移 | 左移,0填充 | 0b1001 LSL 2 = 0b0100 |
ROR 指令在密码学算法、哈希函数、数据编码/解码和位操作中特别有用,因为它能保持所有位的信息(不丢失任何位)。