gpt4 book ai didi

assembly - ARM 程序集加密扩展

转载 作者:行者123 更新时间:2023-12-02 16:08:39 25 4
gpt4 key购买 nike

我正在 ARM 汇编中实现 AES-ECB 编码/解码。我正在使用 Jetson Nano,它使用 ARM Cortex A57,它在硬件上有加密扩展。我遇到的问题是,每当我尝试汇编我的代码时,汇编程序都会输出以下内容。

aes.asm: Assembler messages:
aes.asm:14: Error: selected processor does not support `aese V0.16b,V0.16b'

根据该 CPU 应该支持这些指令的文档,我不确定我遗漏了什么。

.section .text
.global _start
.arch armv8-a

_start:
mov x8, 64
mov x0, 1
ldr x1, =str
mov x2, str_len
svc 0

ldr x0, =a
ldp q0, q1, [x0]
aese V0.16b, V0.16b

mov x8, 0x5D
mov x0, 0x45
svc 0


.section .data
str: .ascii "starting\n"
str_len = .-str

.balign 1
a: .skip 16
a_len = .-a

b: .single 3.4, 2.5, 4.4, 6.6, 7.7, 8.8
b_size = .-b

最佳答案

.arch armv8-a 告诉汇编器只接受基本的 ARMv8-A 指令。加密指令不在基本指令集中,因此您必须告诉汇编程序是否要使用此扩展。尝试 .arch armv8-a+crypto

请记住,汇编器不知道目标机器支持哪些扩展,除非您告诉它。

参见 https://sourceware.org/binutils/docs/as/ARM-Options.html#ARM-Options对于 -march 命令行选项和 .arch 指令接受的所有体系结构。

关于assembly - ARM 程序集加密扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68656079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com