【问题标题】:String buffer in assembly and BIOS Inturrupts汇编和 BIOS 中断中的字符串缓冲区
【发布时间】:2012-07-07 07:28:09
【问题描述】:

我正在尝试将字符串写入硬盘的第 2 扇区。它似乎失败了。这是我目前拥有的代码:

xor ax, ax
mov es, ax    
mov cx, 1     
mov dx, 0080h 
mov bx, NameString 
mov ax, 0301h 
int 13h

NameString db 'string', 0

谢谢你们!

【问题讨论】:

  • 你到底想做什么?它是如何失败的?
  • 1) "我正在尝试将字符串写入硬盘的第 2 扇区"
  • 2) 通过不写入磁盘...

标签: string assembly buffer sector


【解决方案1】:

NameString 的地址需要在 es:bx 中,但您将 es 归零。正确加载es就可以了。

【讨论】:

    【解决方案2】:

    看起来您正在尝试写入扇区 1,而不是扇区 2。

    在游戏的这个阶段尝试做一件疯狂的事情,IMO,但我想这是一个“假”硬盘,所以你可能不会破坏任何关键的东西......我希望......

    最好, 弗兰克

    【讨论】:

      【解决方案3】:

      我不熟悉在硬盘上写,但这对你有用吗? How to write on hard disk with bios interrupt 13h

      【讨论】:

      • 我确实看过了,但我不知道如何构造 NameString 以便它实际工作
      猜你喜欢
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      相关资源
      最近更新 更多