利用汇编语言,假设R0中存储了某一门课的成绩,根据成绩计算学分绩点保存到R1寄存器,规则如下,小于60分的成绩,绩点就记为0,在60分到85分的成绩,记为绩点1,其他的成绩,记为绩点2
时间: 2024-03-05 16:48:50 浏览: 58
学分绩点算法
好的,下面是这个规则的实现汇编代码:
```
LOAD R0, score ; 从R0中读取成绩
CMP R0, #60 ; 比较成绩和60的大小
BLT set_gpa_0 ; 如果成绩小于60,则跳转到set_gpa_0
CMP R0, #85 ; 比较成绩和85的大小
BLE set_gpa_1 ; 如果成绩小于等于85,则跳转到set_gpa_1
SET R1, #2 ; 否则,绩点记为2
JMP end ; 跳转到程序结束
set_gpa_0:
SET R1, #0 ; 绩点记为0
JMP end ; 跳转到程序结束
set_gpa_1:
SET R1, #1 ; 绩点记为1
end:
```
在这个汇编代码中,我们首先使用LOAD指令从R0中读取成绩,并将其保存在score变量中。然后,我们使用CMP指令将score和60进行比较,如果score小于60,就跳转到set_gpa_0标签处,将绩点记为0。如果score大于等于60,就继续使用CMP指令将score和85进行比较,如果score小于等于85,就跳转到set_gpa_1标签处,将绩点记为1。否则,我们直接使用SET指令将绩点记为2。最后,我们跳转到程序结束处。
阅读全文