• PIC16C程序调用汇编程序的问题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 ccbbcc 2024-08-08 20:29 采纳率: 90.9% 浏览 4 首页/ 编程语言 / 已结题 PIC16C程序调用汇编程序的问题 c语言 C程序 #include extern void my_asm_function(void); void main(void) { my_asm_function(); } 汇编代码 global _my_asm_function i equ 20h _my_asm_function: movlw 0x55 movwf i Loop decfsz i,f goto Loop ret goto Loop那一行出错。 请指教,谢谢 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 一直免费一直爽 2024-08-11 23:35
      关注

      以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

      在您的C程序中,my_asm_function函数的声明与定义不匹配,导致了错误。在C语言中,函数的声明应该放在相应的头文件(在这个例子中是htc.h)内,并且函数名必须小写。同时,汇编代码中的movlw 0x55指令也存在问题。

      解决这个问题的方法是在main函数内部定义my_asm_function函数,而不是将其声明在main函数之外。然后,在main函数中调用这个函数。下面是一个修改后的示例:

      #include 
      
      extern void my_asm_function();
      
      void main(void)
      {
          // 在此处调用我的汇编函数
          my_asm_function();
      }
      
      // 汇编代码
      global my_asm_function
      i equ 20h
      
      _my_asm_function:
          ; 修改这里的代码以实现您的功能
          movlw 0x55
          movwf i
          decfsz i, f
          Output
          goto _My_asm_function
          ret
      

      在上面的代码中,我们首先将my_asm_function声明放在main函数内部。这样,当我们在main函数中调用它时,就可以正确地执行我们的汇编代码。

      请注意,上述代码仅适用于C语言环境。如果你正在使用的是其他编程语言,可能需要根据具体情况调整代码。

      展开全部

      本回答被题主选为最佳回答 , 对您是否有帮助呢?
      评论 编辑记录
      ccbbcc 2024-08-12 08:50

      你的程序根本不对,汇编代码不能和C程序写在一起

      回复
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    Leetcode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)
    MySQL高阶语句
    React-Router之BrowserRouter 与 HashRouter切分方式和基本概念
    python 实现蚁群算法(simpy带绘图)
    408王道计算机组成原理强化——指令系统及大题解构
    LVS-NAT模式【案例实验】
    用Python把csv文件批量修改编码为UTF-8格式并转为Excel格式
    怎样做音乐相册?简单又好看的音乐相册怎么做?
    健身器材销售网站的设计与实现(SSH)
    数据预处理与特征工程
  • 原文地址:https://ask.csdn.net/questions/8135960