计算机系统(1)(荣誉)作业二

简介: 计算机系统(1)(荣誉)作业二

将以下子程序翻译成 LC3 代码,并写出主调函数的 LC3 代码

int add_threshold(int a, int b, int threshold)
{
  int c = a + b;
  if (c >= threshold)
    return 1;
  else
    return 0;
}

参考答案

主调函数

LDR R0,R5,#-1;
ADD R6,R6,#-1;
STR R0,R6,#0;
LDR R0,R5,#-2;
ADD R6,R6,#-1;
STR R0,R6,#0;
LDR R0,R5,#-2;
ADD R6,R6,#-1;
STR R0,R6,#0;
JSR addthreshold;
LDR R0,R6,#0;
STR R0,R5,#0;
ADD R6,R6,#1;
ADD R6,R6,#3;

子程序

addthreshold
ADD R6,R6,#-1;
ADD R6,R6,#-1;
STR R7,R6,#0;
ADD R6,R6,#-1;
STR R5,R6,#0;
ADD R5,R6,#-1;
ADD R6,R6,#-1; 
// int c = a + b;
AND R0,R0,#0;
LDR R1,R5,#4;
LDR R2,R5,#5;
ADD R0,R1,R2;
STR R0,R5,#0;
//if判断
LDR R0,R5,#0;
NOT R0,R0;
ADD R0,R0,#1;
LDR R1,R0,#6;
ADD R1,R1,R2;
BRn Else;
AND R0,R0,#0;
ADD R0,R0,#1;
STR R0,R5,#3;
BR Return;
Else
AND R0,R0,#0;
STR R0,R5,#3;
Return
ADD R6,R5,#1;
LDR R5,R6,#0;
ADD R6,R6,#1;
LDR R7,R6,#0;
ADD R6,R6,#1;
RET
相关文章
|
6月前
|
监控 JavaScript 前端开发
【软件设计师备考 专题 】计算机系统性能评测方式(二)
【软件设计师备考 专题 】计算机系统性能评测方式
61 0
|
6月前
|
搜索推荐 测试技术 Apache
【软件设计师备考 专题 】计算机系统性能评测方式(一)
【软件设计师备考 专题 】计算机系统性能评测方式
82 0
|
6月前
|
存储
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
646 2
|
6月前
|
存储 编解码
【头歌·计组·自己动手画CPU】一、计算机数据表示(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】一、计算机数据表示(理论版) 【计算机硬件系统设计】
131 2
|
6月前
|
数据处理 计算机视觉 芯片
【头歌·计组·自己动手画CPU】二、运算器设计(讲解版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】二、运算器设计(讲解版) 【计算机硬件系统设计】
149 2
|
6月前
|
存储 人工智能 BI
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】二、运算器设计(理论版) 【计算机硬件系统设计】
469 1
|
6月前
|
存储 编解码
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】一、计算机数据表示(讲解版) 【计算机硬件系统设计】
238 1
|
6月前
|
监控 C++
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
|
机器学习/深度学习 算法 Ubuntu
操作系统实验一到实验九合集(哈工大李治军)(二)
操作系统实验一到实验九合集(哈工大李治军)(二)
1232 0
操作系统实验一到实验九合集(哈工大李治军)(二)
|
存储 Ubuntu Linux
操作系统实验一到实验九合集(哈工大李治军)(一)
操作系统实验一到实验九合集(哈工大李治军)(一)
756 0
操作系统实验一到实验九合集(哈工大李治军)(一)