汇编和高级语言的结合的问题:如何才能在高级语言里用 INT 13 呢?使用 INT 13 的几个寄存器的值的问题。比如:在一个函数里:
UserInt13()
{     char buffer[512];
      __asm{
      mov ax,201h
      mov bx,??? //这里我想用buffer的地址,怎么能得到它的地址值呀?
      mov cx,1h
      mov dx,0h
      int 13
      }
}
保护模式下的汇编我不会用,希望这不会让你们笑掉大牙。

解决方案 »

  1.   

    1。取得ring0级别
    2。UserInt13()
    {     char buffer[512];
          __asm{
          mov ax,201h
          mov bx, buffer
          mov cx,1h
          mov dx,0h
          int 13
          }
    }
      

  2.   

    谢谢siphonelee(sifone)。
    直接使用mov bx, buffer好象不行呀!
    我以前试过。说有什么错误,好象是长度不匹配的问题。
    因在网吧上网,所以我现在没机器调试,如果说错了,还请原谅。
      

  3.   

    mov ebx, bufferbx是16bit,buffer是32bit