主世界 2021-05-15 10:51 采纳率: 40%
浏览 36

INT 0X10 13H中断的问题-字符串显示不出来!

为什么这个显示不出来,求教!!!


; 常量声明
%define BIOS_BOOT_SEG 0x07c0
; MBR被BIOS加载的位置
%define REAL_BOOT_SEG 0x9000
;MBR实际运行的地址
%define STRACK_SEG 0xf000
; 栈基址

org BIOS_BOOT_SEG
; 声明加载位置,偏移

jmp short entry
nop
;三字节的短调转指令

entry:
; MBR内存复制
mov ax,BIOS_BOOT_SEG
mov ds,ax
sub si,si ;ds:si=0x07c0:0x0000源地址
mov ax,REAL_BOOT_SEG
mov es,ax
sub di,di ;es:di=0x9000:0x0000目标地址
mov cx,512 ;512B
rep movsb
jmp REAL_BOOT_SEG:(real_start-entry)

real_start:
;初始化寄存器
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov dx,STRACK_SEG
mov sp,dx ;堆栈指针
;清屏
mov ah,0x03 ;功能号0x03
xor bh,bh
int 0x10 ;读光标位置
mov ax,0x0600
mov bx,0x0700
mov cx,0
mov dx,0x184f ;(80,50)
int 0x10 ;卷屏
mov ah,0x02 ;功能号0x02
mov bh,0
mov dx,0
int 0x10 ;置光标位置(0,0)
;显示字符串
mov ah,0x13
mov al,0x01
mov cx,26
mov bx,0x0007
mov bp,bootmsg
int 0x10

bootmsg:
db 13,10
dd "Candle OS MBR booting..."

; 中间还有分区表
times 0x1be-($-$$) db 0
; 填充剩余空间到0x1be

  • 写回答

1条回答 默认 最新

  • 主世界 2021-05-15 10:56
    关注

    wc,不应该org 0x7c00

    评论

报告相同问题?

悬赏问题

  • ¥15 微信收付通中,自动分账的情况下,某一接收方分账失败了系统会自动在发起重新分账吗
  • ¥15 宝塔ssl证书一直待待验证
  • ¥15 相近语义 不同表达 匹配
  • ¥15 [vasp+phonopy]表面模型的间隙扩散系数中尝试频率如何用声子频率计算
  • ¥15 现在新建了一个f1的就不行了包括所有新建的项目都无法生成,路径命名都没问题,keil和cubemx重装过还是不行,如何解决?(标签-java|关键词-固件)
  • ¥15 web前端开发怎么实现像图片这样的页面啊?
  • ¥15 ubuntu 20.04 网卡启用后,只有ipv6 没有 ipv4 无法上网
  • ¥15 QT任务管理器无法正确获取展开,有悬赏15元速求,如何解决?(相关搜索:标识符|结构体)
  • ¥15 使用delphi 10.3+intraweb 生成的页面怎么实现自动滚屏
  • ¥20 思科:Router c3600 MN-4E插槽