网络用语os.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络用语os

网络用语os 篇一:8086汇编和c语言混合实现操作系统 实验三 一、实验目的 1. 掌握TASM汇编语言与TURBO C语言汇合编程的方法。 2. 实现内核与引导程序分离,掌握软盘上引导操作系统方法。 3. 设计并实现一种简单的作业控制语言,建立具有较友好的控制命令的批处理原型操作系统,掌握操作系统提供用户界面和内部功能的实现方法。 二、实验内容 在实验二的基础上,进化你的原型操作系统,增加下列操作系统功能: (1)将原型操作系统分离为引导程序和MYOS内核,由引导程序加载内核; (2)内核由汇编语言kernal.asm和c语言kernal.c二个模块生成; (3)利用C语言实现作业控制语言mJCB,原型操作系统在当前行显示一个指示符(可以是简单的一个字符或你的学号之类),允许用户输入一行命令(回车结束,语法由你设计),操作系统解释命令并完成相应的功能(3个以上的内置功能,如time、date、asc等,而且能执行软盘上的某个用户程序),并在你的实验报告中详细介绍你的mJCB语言的语法格式和功能。 三、实验报告 1、涉及的基础知识和实验环境工具综述、你的解决方案包括程序算法原理或流程图、程序模块说明、变量定义与作用说明、数据结构组织等 A. 实验环境工具综述: 本次试验环境为VMware9平台上搭建的8086虚拟机,编译器为tasm,tcc,链接器为tlink,通过Winhex剪辑2进制文件,并用DiskWriter工具将主程序写入虚拟软盘,通过虚拟机加载软盘实现裸机运行。 B. 算法原理: a) 计算机启动后,通过引导扇区加载软盘上余下的有效扇区。 b) 引导扇区安装必要的中断,如8号中断用以动态显示时间,21号中断用以用户程序的返回,设置栈指针,数据段指针,建立c语言运行环境,设置计数器,用以动态显示时间。配置完成后,转入基于c语言的控制程序的运行。 c) 基于c语言的控制程序无限重复向输入端请求命令,解析命令,跳转调用对应程序,但接收到重启命令时重启,接到关机命令时进行关机。 d) 系统总的实现为引导程序(osa.asm),汇编实现的c语言函数库(clib.asm),汇编实现的中断程序库(oslib.asm),c语言实现的控制台程序(osc.c)。 e) 由于系统已搭建c语言运行环境,并提供了相应的库,再提供一个供用户用于链接c语言程序的启动程序,用户程序即可完全由c语言实现。启动程序指定用户程序的偏移(如c9000.asm指定了用户的 c程序偏移为9000h,可更改启动程序中的org来更改目标程序的偏移),并能够返回控制台(通过调用自己安装的int 21H返回)。 C. 程序模块说明: a) clib.asm中汇编实现的c函数库 extern char cls(); 功能:清屏,清空第0页的显存 输入:无 返回:无 extern int puts(const char * str); 功能:向当前光标位置输出字符串 输入:字符串首地址 返回:输出字符个数 extern char* gets(char* str); 功能:读取字符串 输入:字符串首地址 返回:字符串首地址 extern int strlen(const char *str); 功能:求以0结束的字符串的长度 输入:字符串首地址 返回:字符从长度 extern int getchar(void); 功能:读取字符 输入:无 返回:字符的ascii码 extern int putchar(int c); 功能:输出字符 输入:字符c 返回:字符c extern unsigned int port_in8(unsigned int port); 功能:从port端口读入8位数据 输入:端口号 返回:读取的数据 extern unsigned int port_in16(unsigned int port); 功能:从port端口读入16位数据 输入:端口号 返回:读取的数据 extern void port_out8(unsigned int port, unsigned int value); 功能:向port端口输出8位数据value 输入:端口号和数据 返回:无 extern void port_out16(unsigned int port, unsigned int value); 功能:从port端口输出16位数据value 输入:端口号和数据 返回:无 extern void setp_cursor(unsigned int bh, unsigned int dh, unsigned int dl); 功能:

文档评论(0)

raojun00003 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档