2.pmtest2.asm <Orange's 一个操作系统的实现>

转载 2013年12月03日 21:54:45

出处:http://blog.csdn.net/summersunboy/article/details/4720238

;DispReturn模拟一个回车的显示,(让下一个要显示的字符在下一行的开头处显示),其中edi始终指向要显示的下一个字符的位置。
;   ------------------------------------------------------------------------
DispReturn:
push eax
push ebx
mov eax, edi ;
mov bl, 160  ;
div bl         ; eax/bl 执行后al=当前行号
and eax, 0FFh; 只保留行号,列号清0
inc eax         ; eax+=1,使eax为当前行的下一行
mov bl, 160  ;
mul bl          ; eax*bl,eax为当前行的下一行的开始
mov edi, eax ; 使edi指向当前行的下一行的开始
pop ebx
pop eax    

ret
;   DispReturn   结束---------------------------------------------------------

 

注1:80*25彩色字模式的显示显存在内存中的地址为B8000h~BFFFH,共32k.向这个地址写入的内容立即显示在屏幕上边.在80*25彩色字模式下共可以显示25行,每行80字符,每个字符在显存中占两个字节,第一个字节是字符的ASCII码.第二字节是字符的属性,(80字符占160个字节)。

2. test 把两个操作数进行"与"操作,不保存运算结果,只设置标志位, 一般用来测试寄存器是否为空
text eax,eax  //来检测eax是否为空
jnz xxxxx       //不为空就跳


《ORANGE’S:一个操作系统的实现》第一个例子的实现

如何在window7下编译运行《ORANGE’S:一个操作系统的实现》第一个例子
  • xrhwxy
  • xrhwxy
  • 2014年11月29日 09:48
  • 1062

Orange's:一个操作系统的实现 源码的一处小Bug

最近在学习于渊先生《Orange's:一个操作系统的实现》这本书,源码中有关硬盘驱动程序中的一段代码,似乎有些问题,贴出来与大家分享下。 以上是硬盘驱动程序中读写硬盘的一段代码,在w...
  • u013175644
  • u013175644
  • 2014年09月18日 20:54
  • 894

《Orange's 一个操作系统的实现》学习笔记--保护模式进阶

我们虽然成功进入了保护模式,但是并没有体验到保护模式给我们带来的便利,上一个例子中打印了一个红色的p,这在实模式中也很容易做到,但是保护模式能做的远不止如此,上文我们提到在保护模式下的寻址空间可以到达...
  • u014634338
  • u014634338
  • 2015年03月14日 12:51
  • 1031

《Orange'S:一个操作系统的实现》学习笔记(一)

我使用的操作系统是ubuntu 12.10。 1.首先下载nasm:http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D 我下载的是2.10.07版...
  • yc21337
  • yc21337
  • 2013年03月16日 11:52
  • 1101

Orange's一个操作系统的实现 安装Bochs

前言:本机环境ubuntu 16.04 bochs 2.4.6   一.下载   官网 http://bochs.sourceforge.net/   二.安装   1.将下载好的压缩包解...
  • DerekRay
  • DerekRay
  • 2017年08月03日 20:08
  • 169

学习《orange's 一个操作系统的实现》准备

1.下载一个虚拟机 vbox 2.下载一个ubuntu的iso文件(700多M) 3.在vbox上安装ubuntu操作系统 4。ubuntu操作系统中必须要安装以下几个软件: gcc gnu make...
  • u011563614
  • u011563614
  • 2013年09月04日 11:17
  • 606

保护模式——参考自ORANGE’S:一个操作系统的实现

在看代码之前需要搞清楚什么是保护模式,保护模式下段选择子的作用、寻址过程,可以如果忘记了可以参考下面文章然后再看代码 1、http://blog.csdn.net/rosetta/article/de...
  • didadidaqiaoyiwan
  • didadidaqiaoyiwan
  • 2014年12月24日 15:49
  • 142

orange's一个操作系统的实现--环境搭建

1.  虚拟计算机Bochs 简单来讲,它相当于运行在计算机内的小计算机。这个好理解,我用的vmware 不就是这样的东东嘛。不过,现在看来,我得让Bochs 成为包含在vmware 中的“ 小...
  • yankunkunkun
  • yankunkunkun
  • 2014年07月18日 21:46
  • 312

《Orange'S:一个操作系统的实现》学习笔记(二)

前面写了个demo运行在vmware虚拟机里,显示了一个简单的页面,这只是个引导扇区,而非完整的操作系统。 源代码及源代码的解释请看原书,有个问题是作者书中写着用ndisasmw命令进行反汇编,我实...
  • yc21337
  • yc21337
  • 2013年03月16日 18:35
  • 780

《Orange's 一个操作系统的实现》学习笔记--实践认识保护模式

  • u014634338
  • u014634338
  • 2015年03月13日 17:22
  • 908
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2.pmtest2.asm <Orange's 一个操作系统的实现>
举报原因:
原因补充:

(最多只允许输入30个字)