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

x86汇编减法实现问题:代码功能不符,求调试修复方案

问题分析与修复

原代码存在两个核心问题:

  • 逻辑偏差:当前实现的是num1 - num2,而非你需要的num2 - num2
  • 冗余指令:所有sub 寄存器, 0的操作完全无效,不会改变寄存器值,属于多余代码

修复后的代码(严格实现num2减num2)

.minus:
                mov eax, [num2]  ; 把num2的值加载到eax寄存器
                sub eax, [num2]  ; 执行num2 - num2的运算
                mov [num3], eax  ; 将运算结果存入num3
                jmp .resultat

更高效的简化实现

由于num2 - num2的结果必然是0,可直接将0写入num3,省去加载和减法操作:

.minus:
                mov dword [num3], 0  ; 直接给num3赋值0
                jmp .resultat

关键修正点

  • 替换原代码中的[num1]为[num2],修正被减数的取值对象
  • 删除所有无意义的sub 寄存器, 0指令,精简代码执行流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 01:52:06