标题:一个关于URISC程序的编写问题
取消只看楼主
蒙哥始终是哥
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-11
结帖率:100%
已结贴  问题点数:20 回复次数:2 
一个关于URISC程序的编写问题
仅存在一条指令。这条唯一的指令有三个操作数,每个操作数均为一个存储单元地址,指令的功能是对前两个存储单元中的操作数做减法,将结果写入第二个操作数所指的存储单元中。如果减法的结果小于0,则发生跳转,执行第三个操作数所指向的存储单元中的指令,否则;继续执行后继指令。
因为只有一条指令,所以不需要操作码,因此该指令的格式如下:
[L:] a, b, c                   ;mem[b] = mem[b] - mem[a],if (mem[b]< 0) goto c
其中,L为可选的标号,“;”后面是注释,此处实际上是对该指令功能的形式化描述。
尽管URISC只有一条指令,但是它是一种通用计算机,也就是说用这一条指令可以编写出实现任何复杂算法的程序。
例如,将地址为SRC的存储单元中的内容传送到地址为DEST的存储单元中。可以编写出如下程序:
START:               DEST,        DEST,        ADD
ADD :                 SRC,          TEMP,       NEXT
NEXT:                 TEMP,       DEST,        CONT
CONT:               ...
                            ...
TEMP:               WORD      0
其中,WORD是伪指令,用于将指定的内存单元初始化为指定的常数。
根据以上说明,完成如下:
     1、 编写一段URISC程序,将a和b相加,结果写入a中,b保持不变。
     2、 编写一段URISC程序,将a和b相乘,结果写入c中。约定存储单元one包含常数1,a和b均大于0,并且a和b可以被程序修改。

求助啊,连给的例子都不太看得懂...求教大牛。
参考:http://en.
搜索更多相关主题的帖子: 宝马 
2015-06-11 19:00
蒙哥始终是哥
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-11
得分:0 
回复 2楼 wmf2014
人们可以设计出只有一条指令的计算机,这种计算机称为单指令计算机(Single Instruction Computer,SIC)。因为只有一条指令,指令集不能再精简,所以这种计算机也称为终极精简指令集计算机(Ultra Reduced Instruction Set Computer,URISC)。这条唯一的指令有三个操作数,每个操作数均为一个存储单元地址,指令的功能是对前两个存储单元中的操作数做减法,将结果写入第二个操作数所指的存储单元中。如果减法的结果小于0,则发生跳转,执行第三个操作数所指向的存储单元中的指令,否则;继续执行后继指令。

这是一道题,就给了这些东西还有一个例子....感觉真看不太懂。
2015-06-12 16:01
蒙哥始终是哥
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-6-11
得分:0 
回复 4楼 取名字
可是根本无法看懂啊...求助!
2015-06-13 22:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446496-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.203451 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved