当前位置: 首页 > news >正文

电子商务网站建设与维护期末考试高中学校网站模板

电子商务网站建设与维护期末考试,高中学校网站模板,阿里云主机卸载wordpress,iis7.5搭建网站一#xff0e;概述 根据以前写的一篇文章#xff1a;【操作系统】MBR主引导目录结构以及作用#xff0c;我们了解到BIOS在检测完内存、显卡#xff0c;把硬盘等一系列外设简单检测之后#xff0c;下一步将和主引导程序MBR进行交接#xff0c;将主控权交付给下一位嘉宾概述 根据以前写的一篇文章【操作系统】MBR主引导目录结构以及作用我们了解到BIOS在检测完内存、显卡把硬盘等一系列外设简单检测之后下一步将和主引导程序MBR进行交接将主控权交付给下一位嘉宾至此BIOS的任务就完成了继续睡去本篇文章我们来开始编写一个简单MBR程序并且让其完成从BIOS过渡到MBR这个过程至于MBR的本质工作启动引导程序等我们将在之后逐步完善其内容。 二.实现的功能 本次文章需要用Bochs模拟器详细可请参考之前写过的一篇文章【操作系统】Bochs安装和配置本次MBR实现的功能有 实现BIOS与MBR的过渡MBR启动后让其简单显示一些字符效果为在屏幕上面打印出“1 MBR”字符以便验证是否成功启动 三.源码和逐段解析 话不多说直接先把源码全部贴上后面再逐段解释 其中第一行 SECTION MBR vstart0x7c00 该段代码表示本程序在编译时将其实地址编译为0x7c00。 第二行到第六行 mov ax,cs mov ds,ax mov es,ax mov ss,ax mov fs,ax该段代码进行了寄存器的初始化工作因为ds、es、fs、ss等这类的寄存器不能通过赋值进行初始化所以需要使用其他寄存器进行间接初始化因为BIOS是通过jmp 0x7c00跳转到MBR的此时段寄存器cs:ip的值分别为0和0x7c00所以将cs的值赋予给力ax通过通用寄存器ax来中转。Ps:cs不是通用寄存器属于段寄存器在程序运行中会被频繁使用所以不能进行初始化寄存器使用喔。 第七行 mov sp,0x7c00 该代码为初始化栈指针将栈指针指向0x7c00的位置 第九行到第十四行 mov ax,0x0600 mov bx,0x0700 mov cx,0 mov dx,0x184f int 0x10 该段代码为清屏函数因为BIOS在检测硬件时会显示一些硬件信息为了看清楚我们自己的输出字符所以使用了BIOS的0x10中断0x06号上卷全部行的功能其中ax的高位表示调用的功能号(AH0x06)低位表示上卷的行数AX0X00,如果为0表示全部。bx表示上卷行属性。cx的高低位置CL,CH分别表示窗口左上角(X,Y)位置dx的高低位置DL,DH分别表示窗口右下角X,Y位置在VGA文件模式中一行只能容纳80个字符共25行所以右下角坐标最大可以为7924最后执行以下BIOS的10号中断。 第十六到第十九行 mov ah,3 mov bh,0 int 0x10 该段代码为获取光标位置函数调用3号子功能获取光标位置并且将位置存入ah寄存器中使用bh来存储带获取的光标的页号最后再次执行下BIOS的10号中断。 第二十一行到第二十八行 mov ax,message mov bp,ax mov cx,5 mov ax,0x1301 mov bx,0x2 int 0x10 该段代码实现了打印字符串的功能将需要打印的字符数据message存入到通用寄存器ax进行中转将数据存入到bp寄存器中es:bp为串首地址此时es和cs保持一致message在下面的第三十一行就进行了定义 message db 1 MBR cx寄存器中保存字符串的长度本文为5包含空格。紧接着调用13号显示字符以及属性的子功能此时ah传入0x13而al则为设置写入字符的方式方式共有以下几种 本文中使用了al0x01的方式而bh中存储的是要显示的页号本文中bx0x2所以此处为第0页bl为字符属性bl0x2为黑底绿字的意思最后再次执行以下BIOS的10号中断。 第三十行到第三十三行 jmp $ message db 1 MBR times 510-($-$$) db 0 db 0x55,0xaa 该段代码进行了收尾也是本篇文章的精华之处使用jmp $使得程序进入死循环作用相当于which(1)其中“$”表示本行指令的地址而“$$”则表示本section的起始地址所以“$-$$”则是指本行到本section的偏移量。由于MBR的最后两个字节是固定的0x55和0xaa所以要预留两个字节故本扇区剩余的空间需要使用“0”来进行填充通过510字节减去上面所算出来的偏移量得出的就是剩余的空间将剩余的空间填充满“0”并在最后的两个字节中固定为0x55和0xaa使其变成MBR程序。 四.运行 代码编写完成后我们保存一下代码本文保存文件名为A.S并且使用nasm对代码进行编译 nasm –o A.bin A.S 此时我们就可以开始运行调试了我们需要用到之前写过的一篇文章【操作系统】Bochs安装和配置里面的两个东西 使用Bximage工具生成的空白镜像本文文件名为test.img大小随意大于512个字节即可Bochs模拟硬件环境的配置文件文章中文件名为boch.disk 我们首先将生成的A.bin文件写入到空白镜像中 dd if./A.bin of./test.img bs512 count1 convnotrunc 上述代码的具体参数可以自行百度不再次赘述将代码写入到镜像后我们再将镜像文件加入到Bochs的模拟硬件环境配置文件中根据文章中所描述的我们直接将新生成的镜像写入配置文件的以下位置即可 保存一下修改后的配置文件我们开始运行Bochs模拟器进行模拟操作 ./Bochs  –f   boch.disk(你自己的硬件配置文件名) 运行成功后会显示以下信息并且默认为【6】 此时我们再按一次回车即可开始模拟 我们在控制台中输入“c”具体含义请查看上面所说的文章继续往下运行就能看到弹出的窗口中出现了我们所要的字符串
http://www.zqtcl.cn/news/869884/

相关文章:

  • 做个网站怎样做的网站建设刂搜金手指下拉贰肆
  • 颍上网站建设个人租车网站源码
  • 建设银行海外招聘网站顺义公司建站多少钱
  • 医疗公司网站建设项目背景你做的网站可视区域多少钱
  • 韩国做暖暖网站怎么样自己建设一个网站
  • 徐州网站建设4禁止wordpress历史版本
  • 公司网站建设价格wordpress做排行榜单
  • 安徽网站推广营销设计请教个人主页网站怎么做啊
  • 甘肃省酒泉市做网站公司wordpress标签云代码
  • 淘宝客做网站备注怎么写的用手机做网站视频
  • 深圳专业网站建设制作价格低品牌网站建设网站
  • 织梦体育网站模板临沂建站程序
  • 重庆网站设计最佳科技好听的网络公司名字
  • 如何在人力资源网站做合同续签贵阳网站建设搜王道下拉
  • 多个域名的网站北京注册公司流程
  • 网站建站对象定制网站系统
  • 阳光家园广州网站网站公司怎么做的好
  • wordpress网站音乐放不全阳山做网站
  • 橙色企业网站源码网站下载软件
  • 满足客户的分销管理系统seo搜索引擎优化技术教程
  • 链接网站制作住房建设部官方网站专家注册
  • 北京保障性住房建设投资中心网站以网络营销为主题的论文
  • 数字火币交易网站开发网站建设设计图图片
  • 惠民建设局网站东莞公司建设网站
  • 网站建设与维护教学课件煤炭网站建设规划书
  • 北京建设网站有哪些公司黄陌陌网站怎么做
  • 视频网页制作教程网站优化防范
  • 做优化网站注意什么开发者模式开着好不好
  • 网站顾客评价网站中怎么做网站统计
  • 网站建设安全措施表白网站是怎么做的