2015-06-04 13 views
8

Tôi nhầm lẫn về tên đăng ký RISC-V ABI. Ví dụ, Bảng 18.2 trong "Sổ tay Hướng dẫn Thiết lập RISC-V, Tập I: ISA Người dùng Cấp, Phiên bản 2.0" ở trang 85 quy định rằng con trỏ ngăn xếp sp là đăng ký x14. Tuy nhiên, hướng dẫnABI Đăng ký tên cho Công ước gọi RISC-V

addi sp,zero,0 

được biên soạn để 0x00000113 bởi riscv64-biết-tinh-như (-m32 không tạo sự khác biệt). Trong nhị phân:

000000000000 00000 000 00010 0010011 
^imm   ^rs1 ^f3 ^rd ^opcode 

Vì vậy, ở đây sp có vẻ là x2. Sau đó, tôi googled một chút và tìm thấy RISC-V Linux User's Manual. Tài liệu này nêu rõ rằng spx30.

Vậy đó là gì? Có ABIs khác nhau không? Tôi có thể đặt ABI bằng tùy chọn dòng lệnh thành riscv64-unknown-elf-* không? Có một bảng toàn diện ở đâu đó không?

Trả lời

6

Con trỏ ngăn xếp bây giờ là x2.

Here là tài liệu ABI hiện tại, đã được di chuyển ra khỏi User-Level ISA specification, hiện có chứa liên kết tương tự.

ABI đã được sửa đổi để phù hợp hơn với thông số nén RISC-V mới, đặt 8 thanh ghi được sử dụng nhiều nhất cạnh nhau trong x8-x15.

Lưu ý: không tin tưởng BẤT CỨ trang web không phải của riscv.org. Quan Nguyễn làm rõ điều này trong phần giới thiệu của mình rằng "Hướng dẫn sử dụng Linux RISC-V" là để ghi lại quá trình chuyển đổi và độ chính xác đó KHÔNG được bảo đảm.

+0

Liên kết đó bị hỏng. Vui lòng cập nhật nó. –

+0

Cố định liên kết bị hỏng. – RicoRico

Các vấn đề liên quan