R0 一路上的值

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

运行下面这段程序,填写它打印出来的结果。

PROG = [0b00001001, 0b01000111, 0b10000011, 0b11000000]

def decode(w):
    return (w >> 6) & 3, (w >> 5) & 1, w & 31

def run(prog):
    R = [0, 0]
    pc = 0
    seen = []
    while pc < len(prog):
        op, rd, imm = decode(prog[pc])
        if op == 3:
            break
        if op == 0:
            R[rd] = imm
        elif op == 1:
            R[rd] = (R[rd] + imm) & 255
        else:
            R[rd] = (R[rd] - imm) & 255
        pc = pc + 1
        seen.append(R[0])
    return seen

print("/".join(str(v) for v in run(PROG)))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论