将偏移量提供到缓冲区时出现无效的有效地址错误



我从下面得到一个无效的有效地址,但我不明白为什么。为了清楚起见,我包含了变量/常量的定义。

TurnTreeBuff:   resb 455    ; TurnNum (1 byte) + MT (16 bytes) + PM (16 bytes)
                            ; + BoardState (2 bytes) = 35 bytes * 13 turns = 455 bytes
TURNTREEREC equ 35          ; Turn tree record length
mov byte [TurnTreeBuff+ebx*TURNTREEREC],bl  ; copy turn # to TurnTreeBuff <-error here

地址中的比例因子只能是2、4或8(或1,如果不指定比例因子,则会得到1)。您试图使用不支持的比例因子35,因此会出现错误。

您可以在英特尔的手册中阅读更多关于寻址的内容。例如,名为"指定偏移"的部分(我的手册副本中的第3.7.5节)。

相关内容

最新更新