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

咨询MSX BASIC中通过USR函数调用的机器语言子程序寄存器保存规则

MSX BASIC USR函数调用机器语言子程序的寄存器规则

需要保留原值的寄存器

调用USR后,机器语言子程序必须保留以下寄存器的原值,返回BASIC时要恢复:

  • 备用寄存器组:AF'、BC'、DE'、HL'
  • 变址寄存器:IX、IY
  • 中断相关寄存器:I(中断向量寄存器)、R(内存刷新寄存器)

无需保存原值的寄存器

以下寄存器可以在子程序中自由修改,无需恢复原值:

  • 主寄存器组:AF、BC、DE、HL

补充说明:

  • 栈指针SP需保持调用时的状态(除非子程序自行管理临时栈空间,调用结束前必须恢复)。
  • MSX BASIC调用USR时会将函数参数传入HL寄存器;子程序返回时,若返回数值型结果需存入HL,若返回字符型结果存入A寄存器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:29:55