作为初学者遇到的单片机原理基础问题

img


第二行是什么意思,为什么TAB明明是一个跳转的字母代称还能加#呢

此回复来自ChatGPT:

  • #TAB 这一行是将指针寄存器 DPTR 的值设置为 TAB 的地址。在这里,# 符号表示后面跟的是一个立即数,而 TAB 是一个标签,编译器会将其转换成地址。
  • 在汇编语言中,标签通常用于表示一段代码的起始地址,例如在这个例子中的 TAB 标签表示一个地址,指向一个表格的起始位置。标签可以作为一个操作数使用,例如在 JMP 指令中,可以使用标签作为跳转的目标地址。
  • 因此,TAB 不仅仅是一个跳转的字母代称,也可以作为一个地址使用,以便在程序中访问表格的数据。而在 MOVDPTR,#TAB 指令中,# 符号表示将 TAB 标签转换为地址后,将其立即数值直接存储在 DPTR 寄存器中。
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^