【发布时间】:2013-04-13 08:59:29
【问题描述】:
我正在编写一个8086汇编程序,需要通过TASM v3.1编译。我遇到了一个似乎无法修复的错误。
我的数据段具有以下设置,用于键盘输入:
paraO Label Byte
maxO DB 5
actO DB ?
dataO DB 5 dup('$')
我要做的是输入第一个字符,所以 dataO 的第一个字节:
lea dx, dataO
mov bl, [dx]
但是,当我尝试编译时,我得到了这个错误:
**Error** h5.asm(152) Illegal indexing mode
第 152 行是“mov bl, [dx]”
任何帮助将不胜感激。 如果重要的话,我正在通过 DOSBox 运行 TASM(我的笔记本电脑运行的是 64 位 Win7) 谷歌没有提供任何有用的答案。 如有必要,我可以发布我的全部代码。
【问题讨论】:
-
从 intel.com 或 amd.com 获取官方文档。查看操作数寻址模式。
-
Wikipedia 对 x86 和 x86-64 寻址模式进行了有用的总结。