LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1536|回复: 2

mov ax,#xxx和mov ax,cs的问题

[复制链接]
发表于 2007-8-17 03:22:43 | 显示全部楼层 |阅读模式
请大家看看,最简单的bootsec,结果不对。快疯了。
废话就不多说了。
————————————————————————————————————
期望结果:在屏幕在打出
It is a string:
这个字串

+++++++++++++++++++++++++++++++++++++++++++++++++
错误的表现:
乱码!!
_____________________________________________________________
程序:

.text
entry start
start:
.org 0x00

        mov ax,#0x07c0
        mov ds,ax
        mov es,ax

;kill_floppy_monitor:
        mov dx,#0x3f2
        mov al,#0
        outb

;print a test string:
        mov ah,#0x03
        xor bh,bh
        int 0x10

        mov ax,#0x07c0
        mov es,ax

        mov cx,#17
        mov bx,#0x0007
        mov bp,#msg
        mov ax,#0x1301
        int 0x10
       
G_here:        jmp G_here
.org 255
msg:
        .ascii "it is a string:"
        .byte 13,10
.org 508
        .word 0x3031
.org 510
        .word 0xaa55

____________________________________________________________

将mov ax,#0x07c0
改为mov ax,cs
乱码。为什么??
开机时,不是CS为07c0吗?
发表于 2007-8-21 18:33:12 | 显示全部楼层
开机时cs的值不一定是07c0,也可能是0000
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-24 11:01:53 | 显示全部楼层
应是如此,IP的值为0x7c00吧。
很久以前学的硬件,都还给它了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表