为什么指令 109 似乎已被执行,即使它在运行时实际上并没有被指令指针到达。据我所知(C++ 背景),处理器一次处理 1 条指令,并且有条不紊。首先执行地址 100,102,105 和 107,那么为什么 INT 21 可以在成为下一行(尚未声明)之前显示内存位置 109 的内容?
(假设我们在调试时输入这些指令)
100 MOV AH,09
102 Dx,109
105 INT 21
107 JMP 100
109 DB 'Hello World', '$' <Enter> <Enter>