`Dword ptr` có nghĩa là gì?


123

Ai đó có thể giải thích điều này có nghĩa là gì? (Cú pháp Intel, x86, Windows)

and     dword ptr [ebp-4], 0

Câu trả lời:


119

Phần dword ptrđược gọi là chỉ thị kích thước. Trang này giải thích chúng, nhưng không thể liên kết trực tiếp đến phần chính xác.

Về cơ bản, nó có nghĩa là "kích thước của toán hạng đích là 32 bit", vì vậy điều này sẽ theo chiều kim-VÀ giá trị 32-bit tại địa chỉ được tính bằng cách lấy nội dung của thanh ebpghi và trừ bốn với 0.


72
Chữ "d" trong "dword" là viết tắt của "double". Một từ là 16 bit.
JeremyP

Để tham khảo thêm, hãy truy cập liên kết
Alex Mathew.

25
Tại sao PTRphần cần thiết? Dword không đủ để mã hóa kích thước? NASM không sử dụng ptrAFAIK.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

1
@JeremyP Nghĩa là từ đang thay đổi theo bộ xử lý. Sau khi đọc bài viết này bạn có thể nói lại từ là 16 bit hay bạn chỉ xác định nghĩa đơn giản của từ có nghĩa là hai byte? Modern processors, including embedded systems, usually have a word size of 8, 16, 24, 32, or 64 bits, while modern general purpose computers usually use 32 or 64 bits. en.wikipedia.org/wiki/Word_(computer_architecture)
uzay95 25/12/16

6
@ uzay95 Câu hỏi được gắn thẻ "x86" vì vậy chúng ta đang nói cụ thể về kiến ​​trúc x86 của Intel, trong đó một từ có chiều rộng 16 bit. Theo bài viết của bạn, ngay cả x86_64 cũng có kích thước từ là 16 bit.
JeremyP

7

Hãy xem xét hình vẽ trong câu hỏi khác này . ebp-4là biến cục bộ đầu tiên của bạn và, được xem như là một con trỏ dword, nó là địa chỉ của một số nguyên 32 bit phải được xóa. Có thể nguồn của bạn bắt đầu bằng

Object x = null;

3

Đó là một khai báo 32bit. Nếu bạn nhập câu lệnh [bit 32] ở đầu tệp hợp ngữ, thì bạn không cần nhập DWORD PTR. Ví dụ:

[bits 32]
.
.
and  [ebp-4], 0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.