主题:哪位大侠的精通C/C++和汇编?请帮忙!(.h到.inc的问题)
手中有个C/C++头文件,已经差不多转成汇编语言的包含文件格式了。可是其中有两个地方无从下手:
1。
#define mOFFSET(s,m) ((ULONG)&(((s *)0)->m)) //定义获取结构成员相对偏移地址的宏
#define mWIN32_COMMAND_HEAD mOFFSET(mWIN32_COMMAND,mBuffer)
可否写成:
mWIN32_COMMAND_HEAD equ offset mWIN32_COMMAND.mBuffer
其中:
WIN32_COMMAND struct
mFunction dd ?
mLength dd ?
mBuffer db mCH375_PACKET_LENGTH-1 dup(?)
WIN32_COMMAND ends
mWIN32_COMMAND equ <WIN32_COMMAND>
2。
#define IOCTL_CH375_COMMAND (FILE_DEVICE_UNKNOWN<<16|FILE_ANY_ACCESS<<14| 0x0f37<<2|METHOD_BUFFERED)
写成:
IOCTL_CH375_COMMAND equ FILE_DEVICE_UNKNOWN SHL 16|FILE_ANY_ACCESS SHL 14|0F37h SHL 2|METHOD_BUFFERED
编译时无法通过!!!(伪指令SHL做为逻辑操作符应该能用啊!) 请问应该怎么写?谢谢谢谢谢谢!
1。
#define mOFFSET(s,m) ((ULONG)&(((s *)0)->m)) //定义获取结构成员相对偏移地址的宏
#define mWIN32_COMMAND_HEAD mOFFSET(mWIN32_COMMAND,mBuffer)
可否写成:
mWIN32_COMMAND_HEAD equ offset mWIN32_COMMAND.mBuffer
其中:
WIN32_COMMAND struct
mFunction dd ?
mLength dd ?
mBuffer db mCH375_PACKET_LENGTH-1 dup(?)
WIN32_COMMAND ends
mWIN32_COMMAND equ <WIN32_COMMAND>
2。
#define IOCTL_CH375_COMMAND (FILE_DEVICE_UNKNOWN<<16|FILE_ANY_ACCESS<<14| 0x0f37<<2|METHOD_BUFFERED)
写成:
IOCTL_CH375_COMMAND equ FILE_DEVICE_UNKNOWN SHL 16|FILE_ANY_ACCESS SHL 14|0F37h SHL 2|METHOD_BUFFERED
编译时无法通过!!!(伪指令SHL做为逻辑操作符应该能用啊!) 请问应该怎么写?谢谢谢谢谢谢!