ASM
Background
Special for beginners, ^_^
\(\mathcal {QAQ}\)
Description
给定\(n\)个指令,求所有用到的寄存器中的值。
所有寄存器均初始化为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: \(n, m\)
Line 2 ~ \(n + 1\): 命令i
Output
Line 1 ~ cnt_reg
: 寄存器的值
Sample 1
Input
3
MOV EAX $1
MOV EDI $2
ADD %EAX %EDI
Output
$EAX=3
$EDI=1
Limitation
\( 0 \leq n \lt 10^{10^{10^{34}}}\)
Prompt
想想出题人有多毒瘤
想想这么毒瘤的出题人真的会给RE
的数据点吗
Datapoints
Point | \(n\) | 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 |
\(n\)确实\(\lt 10^{10^{10^{34}}}\)啊(逃)
信息
- 难度
- 1
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者