免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1276 | 回复: 2
打印 上一主题 下一主题

[求助]这段代码用bochs模拟时怎么显示有无效指令? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-24 00:25 |只看该作者 |倒序浏览
并且还是个死循环,似乎在copy那里出了点问题。

[ORG 0]
        jmp 0x07C0:copy        ; Goto segment 07C0
chosemsg db '1 - Boot OS on hard disk', 0AH, 0DH, 'other key - Boot OS on floppy',             0AH, 0DH, $0
myosmsg db 'System Loading...',$0
copy:
        ; Move the code to 0x9000:0x0000
        mov ax, 0x9000
        mov es, ax
        mov di, ax
        mov si, ax
        mov ax, cs        ;CS == 0x07C0
                mov ds, ax
        mov cx, 0x0200
        cld
                repnz movsb        ;[ESI] <- [DS:SI]

        jmp 0x9000:start
start:
        mov ax, cs        ;CS == 0x9000
        mov ds, ax
        mov es, ax

        mov si, chosemsg
prints1:
        lodsb
        cmp al, 0x00
        je rdanswer
        mov ah, 0x0E
        mov bh, 0x0007
        int 0x10
        jmp prints1
rdanswer:
        mov ah, 0x00        ;Read key
        int 0x16
        cmp al, '1'
        je loadhd

        mov si, myosmsg
prints2:
        lodsb
        cmp al, 0x00
        je hang
        mov ah, 0x0E
        mov bh, 0x0007
        int 0x10
        jmp prints2
hang:        jmp hang

loadhd:
        ;Load MBR at 0x07C0:0x0000 and jump to run.
        mov ax, 0x07C0
        mov es, ax
        mov ax, 0x0201
            xor bx, bx
        mov cx, 0x0001
        mov dx, 0x0080
        int 0x10
        jmp 0x07C0:0x0000

times 510-($-$$) db 0
dw 0AA55h

论坛徽章:
0
2 [报告]
发表于 2005-10-24 01:21 |只看该作者

[求助]这段代码用bochs模拟时怎么显示有无效指令?

[ORG 0]
jmp 0x07C0:copy ; Goto segment 07C0
chosemsg db '1 - Boot OS on hard disk', 0AH, 0DH, 'other key - Boot OS on floppy',             0AH, 0DH, $0
myosmsg db 'System Loading...',$0
copy:
; Move the code to 0x9000:0x0000
mov ax, 0x9000
mov es, ax
mov di, ax   <-这个是不是需要清零?
mov si, ax   <-这个是不是也需要清零?
mov ax, cs ;CS == 0x07C0


不是很明白...

论坛徽章:
0
3 [报告]
发表于 2005-10-24 01:28 |只看该作者

[求助]这段代码用bochs模拟时怎么显示有无效指令?

啊,我真是太粗心了,我找了很久都没找到原因,非常谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP