Tôi đang làm việc trên thế giới chào hỏi nhiều hơn bằng cách sử dụng NASM following this tutorial (phần 4). Hướng dẫn này về cơ bản dạy bạn cách xử lý đầu vào dòng lệnh.
Đây là đoạn mã trong câu hỏi:pop Chỉ thị không được hỗ trợ ở chế độ 64 bit bằng NASM?
section .text
global _start
_start:
pop ebx ; arg count
pop ebx ; arg[0] the program name
pop ebx ; arg[1-n] the remainder of the args
; must each be indiviually popped
Các lỗi mã ra trong biên soạn với error: instruction not supported in 64-bit mode
đề cập đến 3 hướng dẫn pop trên. Upon viewing the docs có vẻ như mã này chỉ hoạt động đối với các hệ thống 32 bit.
Có hướng dẫn 642 bit pop
không? Có ai có một hướng dẫn 64 bit sử dụng pop
mà tôi có thể xem?
Bạn nhận ra hướng dẫn dành cho 32-bit? Tôi tin rằng bạn có thể tạo mã 32 bit bằng cách đặt định dạng đầu ra thành 'elf32' thay vì' elf', cho phép bạn làm theo hướng dẫn này ngay cả trên máy tính 64 bit ... –
@Aedin - Có, bạn nên ở chế độ 32 bit nếu làm theo hướng dẫn đó. Không chỉ là các tên đăng ký khác nhau khi sử dụng 64 bit, do đó cũng là các quy ước gọi điện. Chỉ cần thay thế 'pop' là không thể làm việc. –