打印
[PIC®/AVR®/dsPIC®产品]

关于IC18F单片机汇编宏定义的问题

[复制链接]
457|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cctv19881023|  楼主 | 2023-7-17 15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近要一个问题,从C语言编译出来的Hex文件,我需要改掉里面的一个宏定义变量的值,但是汇编文件里面看不出来这个值放在上面地方,请问哪位指教一下,以下是简短的示例
   1194   MOVFF 0xac1, 0xb81                     
   1196   MOVFF 0xb81, 0xb40                     
   1198   ANDLW 0x40                             
   119A   MOVFF 0x901, 0x9c0                     
   119C   IORLW 0xc0                             
   119E   SUBLW 0x80                             
   11A0   MOVFF 0x841, 0x801                     
   11A2   RCALL 0x11a6                           
   11A4   XORWF 0xfc0, W, ACCESS                 
   11A6   XORWF 0x80, W, BANKED                  
   11A8   RCALL 0x142c                           
   11AA   XORWF 0, F, BANKED                     
   11AC   RCALL 0x1930                           
   11AE   RCALL 0x16b2                           
   11B0   XORWF [0x40], F                        
   11B2   COMF [0], F                           
   11B4   RCALL 0xf38                           
   11B6   RCALL 0x10ba                           
   11B8   COMF 0x40, F, BANKED                  
   11BA   RCALL 0xbbe                           
   11BC   COMF 0xc0, W, BANKED                  
   11BE   COMF 0xf80, W, ACCESS                  
   11C0   RCALL 0xa44                           
   11C2   ANDWF [0], W                           
   11C4   BRA 0xb48                              
   11C6   BRA 0xcca                              
   11C8   ANDWF 0x40, W, BANKED                  
   11CA   BRA 0xfce                              
   11CC   ANDWF 0xc0, F, BANKED                  
   11CE   ANDWF 0xf80, F, ACCESS                 
   11D0   BRA 0xe54                              
   11D2   BRA 0x15d6                             
   11D4   IORWF 0xfc0, F, ACCESS                 
   11D6   IORWF 0x80, F, BANKED                  
   11D8   BRA 0x185c                             
   11DA   IORWF 0, W, BANKED                     
   11DC   BRA 0x1560                             
   11DE   BRA 0x12e2                             
   11E0   IORWF [0x40], W                        
   11E2   NOP                                    
   11E4   RRCF 0xfc0, W, ACCESS                  
   11E6   RRCF 0x80, W, BANKED                  
   11E8   NOP                                    
   11EA   RRCF 0, F, BANKED                     
   11EC   NOP                                    
   11EE   NOP                                    
   11F0   RRCF [0x40], F                        
   11F2   RLCF [0], F                           
   11F4   NOP                                    
   11F6   NOP                                    
   11F8   RLCF 0x40, F, BANKED                  
   11FA   NOP                                    
   11FC   RLCF 0xc0, W, BANKED                  
   11FE   RLCF 0xf80, W, ACCESS                  

使用特权

评论回复
评论
西夏晨曦 2023-7-17 18:49 回复TA
为啥不从C哪里改,然后重新编译不就好了 
沙发
lcczg| | 2023-7-18 09:32 | 只看该作者
宏定义变量还是常量?
这个要看你的C源代码。通常会直接嵌入到汇编指令里。例如第三行0X40就可能是宏定义常量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

280

主题

627

帖子

4

粉丝