什么是x86 16位汇编语言中的中断69?

0x9*_*x90 0 x86 assembly windows-xp x86-16

我正在看一些代码片段并看到这些行(.com文件的一部分):

  DB 66; 
  CALL D59C:C2C0; 
  INT 69
  MOV SI, C8C6
Run Code Online (Sandbox Code Playgroud)

怎么INT 69办?

我没有在网上找到任何东西,我也没有在这里找到任何东西:

奇怪的是,没有任何价值移动到AHAL之前INT 69.

EMU8086.8086微处理器仿真器.集成拆卸器.

Mat*_*ery 9

假设这里的所有内容都是十六进制的,如果这是16位代码,那么我们有:

66                         DB 66
9A C0 C2 9C D5             CALL D59C:C2C0
CD 69                      INT 69
BE C6 C8                   MOV SI, C8C6
Run Code Online (Sandbox Code Playgroud)

但是0x66操作数大小是否覆盖前缀(可能在这里没有正确反汇编),它(在16位代码中)导致后续指令采用32位操作数而不是16位操作数.所以这段代码实际上是:

66 9A C0 C2 9C D5 CD 69    CALL 69CD:D59CC2C0
BE C6 C8                   MOV SI, C8C6
Run Code Online (Sandbox Code Playgroud)

从16位代码远程调用相当随机的16:32位绝对地址对我来说看起来不太合理.

所以我猜这实际上是数据,而不是代码......