#P1506. 2024.05.08-暑期实习-第一题-塔子哥的汇编作业
-
ID: 92
Type: Default
1000ms
256MiB
Tried: 1072
Accepted: 208
Difficulty: 3
Uploaded By:
TaZi
Tags>模拟
2024.05.08-暑期实习-第一题-塔子哥的汇编作业
题目描述
塔子哥这学期有一门专业必修课,叫做汇编语言,这不准备结课了嘛,老师布置了一个大作业,要求设计一种虚拟机解释器,能解析并执行以下虚拟指令。
虚拟机约定:32位的整形寄存器有a0,a1,..a31,共32个寄存器;
整个虚拟机只有寄存器和立即数参与计算。
规则集(dst一定为寄存器,src为寄存器或十进制正整数,运算结果存在负数场景):
(1)MOV dst src含义:dst = src
(2)ADD dst src0 src1含义:dst = src0 + src1
(3)SUB dst src0 src1含义:dst = src0 - src1
(4)MUL dst src0 src1含义:dst = src0 * src1
(5)DIV dst src0 src1含义:dst = src0 / src1(结果向下取整)
(6)PRINT dst含义:打印dst寄存器值
规定:不用考虑计算溢出(用例保证),指令数最多100条,至少一条PRINT指令,寄存器保证先赋值再引用。不用考虑小数以及除0错误。
输入描述
若干行,每行一条指令
输出描述
对输入的每行指令,若为PRINT指令,则输出打印一行,该行中包括一个整数,表示寄存器的值
样例一
输入
MOV a1 100
MOV a2 200
ADD a3 a1 100
SUB a4 a3 a2
PRINT a4
输出
0
解释
a1=100
a2=200
a3=a1(100)+100=200a4=a3(200)-a2(200)=0
样例二
输入
MOV a1 100
MOV a2 200
PRINT a1
ADD a3 a1 100
SUB a4 a3 a2
PRINT a4
输出
100
0
Limitation
1s, 1024KiB for each test case.
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 25ms
- Powered by Hydro v4.14.1 Community