Trình kết hợp GNU dường như có một số phương tiện kiểm soát các dạng thay thế của mã opcode được phát ra cho một số hướng dẫn. Ví dụ.Đâu là các hậu tố lệnh lắp ráp GNU như ".s" trong x86 "mov.s" được ghi?
.intel_syntax noprefix
mov eax, ecx
mov.s eax, ecx
Chế biến các mã trên với as test.s -o test.o && objdump -d test.o -M intel
cho tháo gỡ sau:
0: 89 c8 mov eax,ecx
2: 8b c1 mov eax,ecx
Chúng ta có thể thấy rằng .s
hậu tố xuất hiện để chuyển đổi 89
opcode lên phiên bản 8b
(và thích hợp thay đổi byte ModRM).
Tôi muốn tìm hiểu thêm về các hậu tố được hỗ trợ bởi trình biên dịch GNU, nhưng cho đến nay tôi đã không tìm thấy bất kỳ tài liệu liên quan nào. Tôi có thể đọc về những hậu tố này ở đâu?
Như đã nói, đây là chủ đề kỹ thuật vì bạn yêu cầu liên kết tới tài liệu thay vì trực tiếp yêu cầu thêm chi tiết về cách chúng hoạt động. (Mà bạn có thể làm theo cách mà sẽ làm cho một bản tóm tắt + liên kết đến tài liệu một câu trả lời tốt).Dù sao, câu hỏi hay, nó sẽ vẫn mở ngay cả khi nó uốn cong các quy tắc, IMO. –
Điểm truy cập ... như được diễn đạt, câu hỏi phải được đóng thành chủ đề không chính xác hoặc được viết lại thành chủ đề. Các câu hỏi ngoài chủ đề còn mở có thể trở thành mô hình cho các câu hỏi ngoài chủ đề khác. – Mogsdad