关于16位代码和32位代码的问题
假设有这样一个32位代码段
CSEG32 SEGMENT USE32
SPM32:
..............
CODE32LEN = $
CSEG32 ENDS
那么在另一个16位代码段中使用
OFFSET SPM32返回的是多少位的偏移?
另外在这个16位代码段中使用MOV EAX,CODE32LEN-1编译时为什么会出现类型不匹配的错误?
在《80X86汇编语言程序设计教程》中385页的例子中16位代码段中转32位代码段的代码
JUMP16 CODE32_SEL,<OFFSET SPM32>
其中JUMP16是一个宏,定义如下:
JUMP16 MACRO selector,offsetv
DB 0EAH
DW offsetv
DW selector
ENDM
编译不通过,为什么?难道书中的例子有问题么?