MOV AL, STR[BX+1] 报错cannot access label through segment registers 怎么办
时间: 2024-03-03 07:48:09 浏览: 111
STACK1_SEGMENT_STACK.rar_STACK1 SEGMENT_stack segment stack
5星 · 资源好评率100%
这个报错的原因是你使用了段寄存器访问标签,这是不被允许的。你需要使用基址寄存器和偏移量来访问标签。
你可以通过将段寄存器与基址寄存器组合来访问标签。例如,如果标签STR位于数据段(DS)中,则可以使用以下指令:
```
MOV AX, DS ; 将数据段地址加载到AX寄存器中
MOV BX, offset STR ; 将STR标签的偏移量加载到BX寄存器中
MOV AL, [BX+1] ; 使用BX寄存器中的偏移量访问STR标签
```
这将加载数据段地址到AX寄存器中,然后将STR标签的偏移量加载到BX寄存器中。最后,使用BX寄存器中的偏移量来访问标签STR。
阅读全文