ASM
Background
Special for beginners, ^_^
Description
给定个指令,求所有用到的寄存器中的值。
所有寄存器均初始化为0。
指令集:
指令 | 含义 |
---|---|
SUB a b |
a = a - b |
ADD a b |
a = a + b |
LSH a b |
a = a << b |
RSH a b |
a = a >> b |
MOV a b |
a = b |
PUSH a |
a压栈 |
POP a |
a赋值为栈顶,弹栈 |
label: |
当前行为label 标签 |
JMP label |
设置执行的下一条命令为label标签后的第一条命令 |
TEST a b |
测试表达式a==b 是否成立,如不成立,紧跟其后的JMP 判定为无效 |
规定$i
表示i为常数,%i
表示i为寄存器。
如果遇到语法错误,输出RE
,退出即可。
SUB
,ADD
,LSH
,RSH
,MOV
的第一个参数一定是寄存器。
所有JMP
前一定有TEST
。
所有运算保证不会爆int
。
Format
Input
Line 1:
Line 2 ~ : 命令i
Output
Line 1 ~ cnt_reg
: 寄存器的值
Sample 1
Input
Output
Limitation
Prompt
想想出题人有多毒瘤
想想这么毒瘤的出题人真的会给RE
的数据点吗
Datapoints
Point | Commands | RE | |
---|---|---|---|
1 | 4 | MOV, ADD | false |
2 | 2 | MOV, LSH | false |
3 | 8 | MOV, LSH, RSH, PUSH, POP | false |
4 | 5 | MOV, ADD, TEST, JMP | false |
5 | 11 | MOV, ADD, LSH, PUSH, POP, TEST, JMP | false |
确实啊(逃)
信息
- 难度
- 1
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者