加一条跳转,程序开始绕圈

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

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

PROG = [0b00001001, 0b01000111, 0b11000001]

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

r = 0
pc = 0
guard = 0
while pc < len(PROG):
    guard = guard + 1
    if guard > 8:
        break
    op, rd, imm = decode_a(PROG[pc])
    if op == 0:
        r = imm
        pc = pc + 1
    elif op == 1:
        r = (r + imm) & 255
        pc = pc + 1
    else:
        pc = imm
print(str(r) + "/" + str(guard))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论