Tôi gặp một số sự cố khi truy cập Biến tĩnh với Inline Assembler trong Ngôn ngữ lập trình D. Các tài liệu nói rằng tôi phải truy cập các biến địa phương vớiD Inline Assembler: Truy cập Biến tĩnh
mov EAX, var[EBP]; //or mov EAX, var;
và lớp biến với
mov EBX, this;
mov EAX, var[EBX];
Nhưng nó isnt tài liệu làm thế nào để truy cập vào một biến tĩnh. Đây là mã của tôi mà ném một lỗi:
module test;
static int A = 1234;
static void SetA()
{
asm
{
mov A, 5432; //compiles, but throws an error
//tried it with "mov dword ptr [A], 5432; too
}
}
Tôi thực sự cần một cách để một số "dự trữ toàn cầu" cho các số nguyên có thể truy cập từ cả hai, lắp ráp và D, tôi sẽ rất hạnh phúc về bất kỳ sự giúp đỡ với điều này (hoặc một cách khác).
không thể cảm ơn đủ, nó hoạt động ngay bây giờ! –
Bạn có thể thấy mã này đang hoạt động tại http://dpaste.dzfl.pl/ead5ed8e – DejanLekic