כאמור, אני עובד ב-VS.NET, במצב win32.יש לי מצביע למבנה (struct) מסויים, מסוג (* usigned char).
אני צריך להעביר את הכתובת שלו כפרמטר לפונקצית BIOS מסוימת, כך שהכתובת תתקבל ב-es:di.
כשעבדתי ב-16bit, עשיתי כך:
_asm { mov bx, seg MyStruct mov es, bx mov di, offset MyStruct }
|
ואחר כך קראתי לאינטראפט שמפעיל את הפונקציה (אגב, MyStruct הוא הפוינטר למבנה).
ככה זה עבד מצויין.
עכשיו, כשאני מנסה להדר את זה תחת win32, אני מקבל שגיאה על השורה עם ה-operand size conflict :offset.
מה לעשות?
כמו-כן, איך אני נקראות הפונקציות של VS.NET, שמבצעות את אותן פעולות של הפונקציות inportb ו-outportb של Borland?