旧的Assemblycode仍然可用吗?

Jor*_*gos 1 assembly

我找到了一本旧书,里面有一些关于旧x86处理器的汇编代码片段.

其中一个代码片段是:

LDA 4567H
ADI A,56H
STA 0567H
Run Code Online (Sandbox Code Playgroud)

所以我在这样的构造中复制了该代码

.data
.global main
main:
    LDA 4567H
    ADI A,56H
    STA 0567H
    leave
    ret
Run Code Online (Sandbox Code Playgroud)

并收到消息:

  • 错误:指令lda未知
  • 错误:指令adi未知
  • 错误:指令sta未知

所以,我有点困惑.我一直认为,英特尔代码兼容所有英特尔处理器(即使是极端旧的处理器).这是正确的还是我做错了什么?

Han*_*ant 6

关于旧的x86处理器

它不是x86代码.这是8086之前的一代8080系列.它们是8位处理器.

我一直认为,英特尔代码与所有英特尔处理器兼容

保持8位指令集是不切实际的.尽管如此,英特尔确实确保将8080汇编代码转换为8086相对容易.您可以购买一个程序来处理这个问题.可能最为人所知的是Digital Research 的XLT86在CP/M上运行,而英特尔的CONV86在MCS-86开发系统上运行.提供的手册链接.找到一份副本并运行它肯定需要去博物馆.