1. 计算圆周率源代码pi2.cpp

#define YCORG -1          //该设置使编译器生成头部为YCEXE结构的可执行文件
#include "ycio.cpp"       //提供前缀为ycio_的函数和C/C++标准函数char *calc_pi()
{int b_time = clock();#define  PI_LEN   40 * 7 * 5static char pbuf[PI_LEN];int *f = new int[PI_LEN + 1];if(!f){printf("new error!\n");return nullptr;}int a=10000,b=0,c=PI_LEN,d,e=0,g,kk=0;for(; b-c; )  f[b++] = a/5;for(; d=0, g=c*2; c -= 14,sprintf(&pbuf[kk],"%.4d",e + d/a),kk ? 0 : (memmove(&pbuf[2],&pbuf[1],3),pbuf[1]='.',kk=1),kk += 4,e = d % a)for(b=c; d+=f[b]*a, f[b]=d%--g,d/=g--,--b; d*=b);delete f;sprintf(&pbuf[kk], "\n%d 位\ntime: %d ",kk-1, clock() - b_time);return pbuf;
}void main(int argc,char *argv[],char *envp[])
{char *pp0 = (char*)malloc(1);  char *pp1 = (char*)malloc(2);char *pp2 = (char*)malloc(3);  char *pp3 = (char*)malloc(4);char *pp4 = (char*)malloc(1024*1024*25);for(int ii=0; ii<argc; ii++)   printf("\n%s   ",argv[ii]);  printf("\n");for(int ii=0; envp[ii]; ii++)  printf("\n%s   ",envp[ii]);  printf("\n");printf("\n\t\t%x   ",pp0);    printf("%x   ",pp1);printf("%x    ",pp2);     printf("%x   ",pp3);  printf("%x\n",pp4);printf(calc_pi());
}

                            C/C++代码文件 pi2.cpp
    在YCOS提示符下,键入pi2后,按回车执行。

2. 计算e的一万位源代码exp0.cpp

#define YCORG -1
#include "ycio.cpp"void calc_exp(char pbuf[])
{#define NUMBER_BASE  100000#define NUMBER_WIDTH   2001int b_time = clock();int *aResult = new int[(NUMBER_WIDTH+1) * 2];if(!aResult){pbuf[0] = 0;return;}memset(aResult,0,(NUMBER_WIDTH+1) * sizeof(int) * 2);int *aWork = &aResult[NUMBER_WIDTH+1];int ii,bb,kk=0,iStatus;aResult[0] = aWork[0] = NUMBER_WIDTH;aResult[1] = aWork[1] = 1;#define  ILIMIT  3300for(ii=1; ii<ILIMIT; ii++){iStatus = kk = 0;for(int jj=1; jj<=aWork[0]; jj++){if(kk > 0)      bb = aWork[jj] + (kk * NUMBER_BASE);else            bb = aWork[jj];aWork[jj] = bb / ii;kk = bb % ii;if(aWork[jj])   iStatus = 1;}if(!iStatus)     break;kk = 0;for(int jj=aWork[0]; jj>0; jj--){bb = aWork[jj] + aResult[jj] + kk;kk = 0;while(bb >= NUMBER_BASE){bb -= NUMBER_BASE;kk += 1;}aResult[jj] = bb;}}sprintf(pbuf, "e = %1.1d.", aResult[1]);kk = strlen(pbuf);for(ii=2; ii<NUMBER_WIDTH; ii++){sprintf(&pbuf[kk], "%5.5d ",aResult[ii]);kk += 6;if(!(ii % 10)){sprintf(&pbuf[kk++],"\n");if(!(ii % 200))      sprintf(&pbuf[kk++],"\n");}}sprintf(&pbuf[kk], "kk=%d   time: %d ",kk,clock() - b_time);delete aResult;
}

void main(int argc,void **argv)
{
char pbuf[15000];
calc_exp(pbuf);
printf(pbuf);
}

                        C/C++代码文件 exp0.cpp
    在YCOS提示符下,键入exp0后,按回车执行。在boch计算机模拟环境下,本程序运行
时间较长。

3. 其它应用程序

    下面列出几个在YCOS下运行的应用程序。

#define YCORG -1
#include "ycio.cpp"
void main()
{for(int ii=0; ;ii++){char dbuf[8192];int kk = snprintf(dbuf,sizeof(dbuf),"aaa---=%d  %d",ycio_get_current_process(),ii);ycio_write(dbuf,kk,80 * 0 + 60);Sleep(10000);}
}

                        C/C++代码文件 pro0.cpp

#define YCORG -1
#include "ycio.cpp"
void main()
{for(int ii=0; ;ii++){char dbuf[8192];int kk = snprintf(dbuf,sizeof(dbuf),"bbb---=%d  %d",ycio_get_current_process(),ii);ycio_write(dbuf,kk,80 * 1 + 60);Sleep(5000);}
}

                        C/C++代码文件 pro1.cpp

#define YCORG -1
#include "ycio.cpp"
void main()
{for(int ii=0; ;ii++){char dbuf[8192];int kk = snprintf(dbuf,sizeof(dbuf),"ccc---=%d  %d",ycio_get_current_process(),ii);ycio_write(dbuf,kk,80 * 2 + 60);Sleep(2500);}
}

                        C/C++代码文件 pro2.cpp

#define YCORG -1
#include "ycio.cpp"int main(int argc,char *argv[],char *envp[])
{printf("\n%d\n",0x7fffffff);printf("%d\n",0x3fffffff);printf("%p\n",0x2018);printf("%l\n",0x7fffffffffffffff);printf("%l\n",-0x7fffffffffffffff-1);printf("%lu\n",0xffffffffffffffff);printf("%u\n",0xffffffff);printf("qqwweerr %16s\n","123456");printf("%%%% %16s\n","123456");printf("%K %16s\n","123456");printf("aa %16s\n","123456");printf("a %16s\n","123456");printf("%d\n",argc);for(int ii=0; ii<argc; ii++)   printf("\n%s   ",argv[ii]);for(int ii=0; envp[ii]; ii++)  printf("\n%s   ",envp[ii]);printf("\n\n");unsigned int aa = 0xc11220ab;int ii = aa >> 22;int jj = (aa >> 12) & 0x3ff;unsigned int *pgDir = (unsigned int*)PageDir_POS;unsigned int *pgTable = (unsigned int*)(pgDir[ii] & ~0xfff);unsigned int rr = (pgTable[jj] & ~0xfff) + (aa & 0xfff);int attr =  pgTable[jj] & 0xfff;printf("line     address aa = %p  was changed to\n",aa);printf("physical address rr = %p  %x\n",rr,attr);return 0;
}

                        C/C++代码文件 ex0.cpp

操作系统的完整代码——编写YCOS应用程序相关推荐

  1. python用一行代码编写一个回声程序_利用Python实现一个WC程序

    项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数 ...

  2. python用一行代码编写一个回声程序_Python源码分析2 - 一个简单的Python程序的执行...

    本文主要通过跟踪一个非常简单的Python程序的执行,简单讨论Python实现的基本框架和结构. 要执行Python程序如下,功能非常简单:从1加到10再打印出来 # test program sum ...

  3. 完美反编译任何小程序完整代码,扒小程序

    废话不多说,直接上主题. 1.第一步下载一个模拟器(推荐使用自带root的模拟器),我使用的是夜神模拟器 下载地址:https://www.yeshen.com/ 2.下载好之后,下载一个RE管理器 ...

  4. python计算器小程序源码_python代码编写计算器小程序

    本文实例为大家分享了python计算器小程序的具体代码,供大家参考,具体内容如下 import tkinter import tkinter.messagebox import math class ...

  5. python计算器程序_利用Python代码编写计算器小程序

    1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 def __init__(self):8 #创建主界面 9 ...

  6. python计算器小程序源码_python编写计算器程序-python代码编写计算器小程序

    本文实例为大家分享了python计算器小程序的具体代码,供大家参考,具体内容如下 import tkinter import tkinter.messagebox import math class ...

  7. python编写计算器-python代码编写计算器小程序

    本文实例为大家分享了python计算器小程序的具体代码,供大家参考,具体内容如下 import tkinter import tkinter.messagebox import math class ...

  8. python用一行代码编写一个回声程序_一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  9. python用一行代码编写一个回声程序_使用Python的多回声测验

    我在写一个程序来管理一个五问多的问题- 关于全球变暖的选择测验和计算数字 正确答案. 我首先创建了一本字典,比如:questions = \ { "What is the global wa ...

  10. 小程序云开发获取手机号完整代码 云函数中网络请求第三方接口

    小程序云开发获取手机号完整代码 效果图: 小程序代码 <button open-type="getPhoneNumber" bindgetphonenumber=" ...

最新文章

  1. HDU 4292 Food(dinic +拆点)
  2. ASIC与FPGA能达到的频率差异巨大是为什么
  3. 继承redis spring_实例讲解Springboot以Repository方式整合Redis
  4. SSL 1055——能量项链_DP
  5. 替换IP java代码
  6. 遍历List过程中同时修改
  7. linux内核源码代码量,Linux内核源代码数量已经超过1000万行
  8. linux命令找目录,linux中何种指令可以查看当前所处的目录位置?
  9. [错误总结]升级spring-boot->2.6.2|hiberate->5.4.33.Final|spring cloud->2021.0.0 |spring admin->2.4.1
  10. juery 常用方法
  11. java was datasource_mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
  12. ubuntu-16.04安装程序报错 you might want to run 'apt-get -f install' to correct these
  13. 使用5502自带的UART口发送数据乱码的问题
  14. 漫谈android系统(4)bring up panel
  15. 女性黑客的崛起将造福世界
  16. 内存占用过高,缓存不释放导致死机处理方案
  17. 快速转换:将音乐文件转换为MP3格式的步骤
  18. 阿里企业邮箱526 Authentication failure[0]
  19. iOS上相见恨晚的6个APP,能让你的iPhone更有逼格!
  20. 浮点数的表示及范围 IEEE754

热门文章

  1. 网站建设之帝国cms搭建小技巧详细搭建配置教程
  2. 怎么找网页源文件位置_网页源文件看不到swf或者MP3,怎么找音频文件真实地址、...
  3. OSPF邻居关系建立故障排除
  4. Excel VBA简介
  5. 人脸对齐:Wing Loss人脸关键点检测算法2018
  6. kotlin 实战之核心基础特性总结
  7. 活动报名丨AI ProCon 2020火爆来袭!
  8. 狮子鱼社区团购系统团长推广二维码不显示,以及选择地址失败的解决方案
  9. ChucK初步(10)
  10. python:It seems that scikit-learn has not been built correctly