Tôi đã đến để tìm hiểu rằng bạn không thể đẩy một byte trực tiếp vào ngăn xếp của Intel Pentium, bất cứ ai có thể giải thích điều này cho tôi xin vui lòng?Tại sao không thể đẩy byte vào ngăn xếp trên Pentium IA-32?
Lý do tôi được đưa ra là vì sổ đăng ký đặc biệt có thể định địa chỉ từ (hoặc, đó là giả định trong mô hình của chúng tôi) và nó phải là "địa chỉ đồng đều". Tôi đã giả định giảm giá trị của một số số nhị phân 32 bit sẽ không gây rối với sự liên kết của thanh ghi, nhưng dường như tôi không hiểu đủ.
Tôi đã thử một số thử nghiệm NASM và đưa ra rằng nếu tôi khai báo một biến (cắn db 123) và đẩy nó vào ngăn xếp, đặc biệt là giảm 4 (chỉ ra rằng nó đẩy 32-bit?). Nhưng, "đẩy byte cắn" (xin lỗi cho sự lựa chọn của tôi về tên biến) sẽ dẫn đến một lỗi loại:
test.asm: 10: lỗi: không được hỗ trợ phi 32-bit ELF di dời
Bất kỳ lời trí tuệ sẽ được đánh giá cao trong thời gian khó khăn này. Tôi là sinh viên năm nhất vì vậy xin lỗi vì sự ngây thơ của tôi trong bất kỳ điều này.
Rất nhiều thông tin, nhưng tiếc là vẫn còn trên những gì tôi có thể nắm bắt với kiến thức hiện tại của tôi. –
@Tim - Có thể hiểu được. Có lẽ vẫn đáng đọc. –
Đợi đã, đợi đã. Mỗi vị trí bộ nhớ rộng 32 bit, vì vậy nếu bạn đẩy một giá trị, nó sẽ giảm dung lượng theo 4 byte, vì 4 * 8 là 32 bit và nếu nó giảm xuống 2, thì sẽ thử và tạo một giá trị không đổi đọc, imploding vũ trụ? Đúng không? Nếu vậy, bạn có được điểm, rằng PDF là tuyệt vời (thứ hai). –