当前位置:  技术问答>linux和unix

字符不能正确显示

    来源: 互联网  发布时间:2016-03-07

    本文导语:  字符不能正确显示 我简单的写了一个小的引导文件,在内核里面输出一串字符,但是输出的时候,的确光标移动了相应的位数,但是没有显示字符,还有0dh,0ah 也没有执行,可能我那个地方没有搞懂,请大家帮忙看看: 代码如...

字符不能正确显示

我简单的写了一个小的引导文件,在内核里面输出一串字符,但是输出的时候,的确光标移动了相应的位数,但是没有显示字符,还有0dh,0ah
也没有执行,可能我那个地方没有搞懂,请大家帮忙看看: 代码如下:

      BOOTSEG     equ   0x07c0
      SYSSEG      equ   0x1000
      SYSLEN      equ   17
beg:
      jmp   BOOTSEG:go
go:
      mov   ax , cs
      mov   ds , ax
      mov   es , ax
      mov   ss , ax
      mov   sp , 0x400

load_system:
      mov   ax , SYSSEG
      mov   es , ax         
      mov   ax , 0x0200+SYSLEN
      mov   cx , 0x0002   
      mov   dx , 0x0000   
      mov   bx , 0x0000
      int   0x13
      jnc   ok_load
      mov   ah , 0
      int   0x13
      jmp   load_system     

ok_load:
      cli
      mov   ax , BOOTSEG
      mov   ds , ax
      jmp   SYSSEG:0
      times 510-($-$$) db 0
      dw    0xaa55

      mov   ax , cs
      mov   ds , ax
      mov   es , ax
      mov   ax , begtrack
      mov   ss , ax
      mov   sp , track
      sti
      mov   ax , 0x1301
      mov   bx , 0x0004
      mov   cx , 15
      mov   dx , 0x0000
      mov   bp , showSomething
      int   0x10
      jmp   $+2
re:   jmp   re

begtrack:
      times 128   db    0
track:
      times 200   dd    0

showSomething:
      db    'In the kernel'
      db    0x0d,0x0a

|
showSomething: 
      db    0x0d,0x0a
      db    'In the kernel' 
      db    0x0d,0x0a

这样可以保证在输出字符的时候先换行, 如果光标移动了相应的位数, 还是没有字符打印是不是输出字符的颜色问题, mov   bx , 0x0004  试着把0x0004   换成其它的数字, 比如0x0007 , 再试试.

|
大概不能在vmware 环境下执行, vmware 没有你所要环境的初始化

|
去看看《自己动手写操作系统》!~ 

    
 
 

您可能感兴趣的文章:

  • ubuntu不能停留在字符界面是什么情况?
  • 使用java如何分析系统不能识别的字符串?
  • telnet 为什么不能显示curses中的连续的字符
  • 弱问:一个设备能不能既是字符设备又是块设备?
  • 我装了Debian Linux,但是不能以字符界面启动,怎么办!?
  • 新手求助,编译时说不能解析字符是怎么回事?
  • 请教:如何控制JTextField的输入字符个数,比如只准输入三个字符,光标不能再向右移动了。
  • openoffice.writer 为何不能打开MS word 文档,也不可输入中文字符。急!!!
  • mplayer 纯字符模式(不在X下)下看电影后不能切换控制台了
  • 请问:用vi查找一个字符串后, 能不能用一定颜色将它显示出来啊,这样容易看一些?
  • awk里面能不能拼接字符串
  • RedHat AS 4 不能使用这几个转义字符 c t n?
  • 请问我为什么不能回到字符界面?
  • 为什么我的JSP不能正常显示中文字符?
  • sql语句中包含中文字符不能运行...
  • 字符方式下能不能访问internet?
  • gdb中display能不能加一点字符串.
  • 编程在软盘上创建文件,为什么实际的文件名总不能大于8个字符呢?
  • 以非root用户登陆redhat linux7.3字符模式下,怎不能vi ***.conf 修改文件啊??
  • 各位大虾:请问UNIX环境下C语言函数memcpy拷贝的字符的长度有没有限制,若有,能不能修改,怎么修改?
  • 如何在windows下的DOS窗口中显示utf-8字符(CMD命令提示符终端显示utf-8字符)
  • 如何使GDB显示完整的字符串变量,当字符串比较长时。
  • windows下cmd命令行显示UTF8字符设置(CHCP命令)
  • 为什么我的JBuilder5编辑器光标显示位置与字符显示位置不一致?如何设置?
  • Linux/CentOS/fedora下vim显示的字符编码设置
  • 请问从屏幕上输入字符时,能显示别人看不出的原字符,也就是怎么实现加密。这程序该怎么写,谢谢。
  • 字符串中带有空格,在jsp的text框里显示的时候会把空格后面的字符串都删掉
  • 在<textarea>中输入的字符串 getString 是有换行符的,但用sendmail发送这个getString 后,在邮件中显示的这个字符串里的所有换行符全不
  • 有个JLabel比如说大小为(200,100),而又有个字符串,其长度超过200,给如何在JLabel上显示完字符串的内容呢
  • 终端中的中文字符无法显示
  • 请问:界面不显示中文字符问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 size():返回字符串中字符的数量
  • 关于字符串的操作,我想得到字符串的长度,和他开始两位组成的新的字符串,例如::
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • 请问怎样判断一个字符是中文字符还是英文字符?(空)
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列
  • C++ Strings(字符串) 成员 end():返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)
  • 用Java正则去掉字符串中重复出现的字符
  • C++ I/O 成员 ignore():读取字符并忽略指定字符
  • 字符字符串加法问题?
  • C++ Strings(字符串) 成员 copy():将内容复制为一个字符数组
  • 怎样去掉字符串中的tab字符?
  • C++ Strings(字符串) 成员 rbegin():返回一个逆向迭代器,指向最后一个字符
  • 如何将一个双引号”放在一个字符串中,就是在字符串中如何转义一个双引号。谢谢!
  • C++ Strings(字符串) 成员 empty():如果字符串为空,返回真
  • php判断字符串在另一个字符串位置的方法
  • C++ Strings(字符串) 成员 begin():返回一个迭代器,指向第一个字符
  • 请教,有关16进制字符串形成2进制字符串的问题!
  • C++ Strings(字符串) 成员 data():返回内容的字符数组形式
  • crtl+alt+F1一直到F6都可以从图形到字符,那么,这和纯粹的字符界面有什么区别,也就是该/etc/initab的值为3后进入的字符界面?
  • C++ Strings(字符串) 成员 length():返回字符串的长度
  • 请问如何判断字符串中的字符在a~z之间


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3