发一道题目,算编程题吧

发布于 2022-09-18 17:49:33 字数 230 浏览 15 评论 0

存储单元R0,R1....Rn,....(可以无限的多)
每个存储单元都可以存任意自然数(非负整数),
初始的时候除了事先设定的几个存储单元的数值,其他数值都为0
这机器的指令集有4条:
1.Ai对Ri加1
2.Si对Ri减1(0则依然为0)
3.EiC:当Ri!=0跳转到第C条指令,否则下条指令
4.S:停机

现在写一个程序,计算R0=R0*R1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

你没皮卡萌 2022-09-25 17:49:33

另外,这个机器有个名字,unlimited register machine(URM)

昔日梦未散 2022-09-25 17:49:33

0  s2
1  E20   r2清0
2  s3
3  E32   r3清0
4 a2
5 s0
6 a3
7 E04
8 s3
9 a0
10 E38
11 s1
12 E14
13 S
太累了

乱世争霸 2022-09-25 17:49:33

不好意思,算成了r2=r0*r1

情释 2022-09-25 17:49:33

........真正有意思的问题,却很少人回帖子........
哎,或许每个人最关心的还是钱袋里装了多少钱吧..........

[ 本帖最后由 cjaizss 于 2009-5-16 02:29 编辑 ]

演出会有结束 2022-09-25 17:49:33

原帖由 cjaizss 于 2009-5-16 02:28 发表
........真正有意思的问题,却很少人回帖子........
哎,或许每个人最关心的还是钱袋里装了多少钱吧..........

哎,学计算机学到现在,都还没把那本“编译原理”的书给认真的看一篇。
计算机的每个方面都够你搞的,
终归精力有限,并且又不是天才,
所以,大部分情况下,我们只需知道编译器是干什么的以及如何使用,而无需知道编译器是怎开发的。

半透明的墙 2022-09-25 17:49:33

整天忙着糊口,没时间研究

时光暖心i 2022-09-25 17:49:33

1 S0
2 A2
3 A3
4 S1
5 E12
6 A1
7 S3
8 E36
9 E01
10 S2
11 A0
12 E210
13 S

晚风撩人 2022-09-25 17:49:33
  1. #include <stdio.h>
  2. int a0=8;
  3. int a1=7;
  4. int a2=0;
  5. int a3=0;
  6. int main(){
  7. go1:
  8.         a0--;
  9. go2:
  10.         a2++;
  11.         a3++;
  12.         a1--;
  13.         if(a1>0)
  14.                 goto go2;
  15. go6:
  16.         a1++;
  17.         a3--;
  18.         if(a3>0)
  19.                 goto go6;
  20.         if(a0>0)
  21.                 goto go1;
  22. go10:
  23.         a2--;
  24.         a0++;
  25.         if(a2>0)
  26.                 goto go10;
  27.         printf("a0*a1=%d\n",a0);
  28.         return 0;
  29. }

复制代码

ぃ双果 2022-09-25 17:49:33

原帖由 nicolas.shen 于 2009-5-16 13:08 发表
整天忙着糊口,没时间研究

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文