You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MARIE Assembly if else编写问题:实现x=3与y=5比较后输出1

MARIE汇编多条件分支代码实现

核心原理

MARIE没有原生的if else语法,所有分支逻辑都通过SKIPCOND条件跳过指令配合JUMP跳转指令实现,SKIPCOND常用参数对应判断逻辑如下:

  • SKIPCOND 800:累加器AC值>0时,跳过下一条指令
  • SKIPCOND 400:累加器AC值=0时,跳过下一条指令
  • SKIPCOND 000:累加器AC值<0时,跳过下一条指令

完整可运行代码

你的需求是只要X不等于Y就输出1,对应X-Y不等于0的情况,补全后的代码如下:

LOAD X
SUBT Y
/ 判断X-Y是否为0,为0则说明X=Y,直接结束
SKIPCOND 400
JUMP PRINT_ONE
HALT

PRINT_ONE, LOAD ONE
OUTPUT
HALT

/ 变量和常量定义
X, DEC 3
Y, DEC 5
ONE, DEC 1

代码执行逻辑说明

  1. 先加载X的值减去Y的值,计算结果存入累加器AC
  2. 执行SKIPCOND 400:如果AC为0(X=Y),就跳过下一条JUMP PRINT_ONE指令,直接执行HALT结束程序
  3. 如果AC不为0(即X>Y或X<Y),就会执行JUMP PRINT_ONE跳转到输出逻辑,加载常量1输出后结束程序
  4. 你原本的初始代码只处理了X>Y的分支,漏掉了X<Y的判断逻辑,调整为识别X=Y的反向判断即可覆盖所有需求场景。

内容的提问来源于stack exchange,提问作者Cplusnewbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:18:03