查看: 3049|回复: 7

[其他] 再请教一个问题 C和汇编混合编译的时候为什么地址会重复

[复制链接]

该用户从未签到

20

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
203
最后登录
2020-11-18
发表于 2012-3-7 15:55:23 | 显示全部楼层 |阅读模式
 这个问题上次问过 但是没解决,后来工程中把汇编中的变量往后定义了。
 
现在想彻底解决,请大家帮忙看看  ,上传例程。
 
 
汇编文件 main.asm中:
XDEF temp1 
ORG 0100H
temp1: ds.b 1
------------------------------------------
C文件 main.c中:

uchar aa = 0 ; //默认地址也从0x0100开始
------------------------------------------
main_asm.h中:

extern unsigned char temp1 ;
--------------
这样就导致编译后两个变量的地址重复了。
 
我知道答案 目前已有6人回答

地址重复.rar

120.81 KB, 下载次数: 4, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

20

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
203
最后登录
2020-11-18
 楼主| 发表于 2012-3-7 16:16:57 | 显示全部楼层

RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

看最后2行
*********************************************************************************************
OBJECT LIST SORTED BY ADDRESS
     Name                                      Addr   hSize   dSize     Ref    Section   RLIB
---------------------------------------------------------------------------------------------
     _ADCSC1                                      0       1       1       0   .abs_section_0
     _ADCSC2                                      1       1       1       0   .abs_section_1
     _ADCR                                        2       2       2       0   .abs_section_2
     _ADCCV                                       4       2       2       0   .abs_section_4
     _ADCCFG                                      6       1       1       0   .abs_section_6
     _APCTL1                                      7       1       1       0   .abs_section_7
     _APCTL2                                      8       1       1       0   .abs_section_8
     _IRQSC                                       B       1       1       0   .abs_section_b
     _TPM2SC                                     10       1       1       0   .abs_section_10
     _TPM2CNT                                    11       2       2       0   .abs_section_11
     _TPM2MOD                                    13       2       2       0   .abs_section_13
     _TPM2C0SC                                   15       1       1       0   .abs_section_15
     _TPM2C0V                                    16       2       2       0   .abs_section_16
     _TPM2C1SC                                   18       1       1       0   .abs_section_18
     _TPM2C1V                                    19       2       2       0   .abs_section_19
     _IPCSC                                      1E       1       1       0   .abs_section_1e
     _IPMPS                                      1F       1       1       0   .abs_section_1f
     _TPM1SC                                     20       1       1       0   .abs_section_20
     _TPM1CNT                                    21       2       2       0   .abs_section_21
     _TPM1MOD                                    23       2       2       0   .abs_section_23
     _TPM1C0SC                                   25       1       1       0   .abs_section_25
     _TPM1C0V                                    26       2       2       0   .abs_section_26
     _TPM1C1SC                                   28       1       1       0   .abs_section_28
     _TPM1C1V                                    29       2       2       0   .abs_section_29
     _TPM1C2SC                                   2B       1       1       0   .abs_section_2b
     _TPM1C2V                                    2C       2       2       0   .abs_section_2c
     _TPM1C3SC                                   2E       1       1       0   .abs_section_2e
     _TPM1C3V                                    2F       2       2       0   .abs_section_2f
     _PTAD                                       38       1       1       0   .abs_section_38
     _PTADD                                      39       1       1       0   .abs_section_39
     _PTBD                                       3A       1       1       0   .abs_section_3a
     _PTBDD                                      3B       1       1       0   .abs_section_3b
     _PTCD                                       3C       1       1       0   .abs_section_3c
     _PTCDD                                      3D       1       1       0   .abs_section_3d
     _PTDD                                       3E       1       1       0   .abs_section_3e
     _PTDDD                                      3F       1       1       0   .abs_section_3f
     temp1                                      100       1       1       1   .text      
     aa                                         100       1       1
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

61

帖子

0

中级会员

Rank: 3Rank: 3

积分
203
最后登录
2020-11-18
 楼主| 发表于 2012-3-7 16:17:54 | 显示全部楼层

RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

temp1  和 aa  地址都为0x100
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-3-7 16:35:50 | 显示全部楼层

    RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

    ORG   0100H
    你把temp1指向了这个地址。你建立工程的时候,选择的是C编译环境,还是C和汇编同时支持?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    203
    最后登录
    2020-11-18
     楼主| 发表于 2012-3-8 08:13:28 | 显示全部楼层

    回复:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

     新建工程的时候选的就是“  C 和 Relocatable assembly  ”。  这个问题困扰我很久了  ,  有用C和汇编混合编译的朋友吗  麻烦帮忙一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    203
    最后登录
    2020-11-18
     楼主| 发表于 2012-3-8 08:17:29 | 显示全部楼层

    RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

    汇编文件 main.asm中:
    XDEF temp1 
    ORG   0100H
    temp1:      ds.b     1
    ------------------------------------------
    C文件 main.c中:

    uchar aa = 0 ; //默认地址也从0x0100开始
    ------------------------------------------
    main_asm.h中:

    extern unsigned char    temp1  ;
    --------------
    这样就导致编译后两个变量的地址重复了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2012-3-8 09:45:38 | 显示全部楼层

    RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

    没有混合用过,我只用C。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-14 09:26
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    70

    主题

    329

    帖子

    0

    高级会员

    Rank: 4

    积分
    952
    最后登录
    2021-1-4
    发表于 2012-3-8 13:01:49 | 显示全部楼层

    RE:再请教一个问题 C和汇编混合编译的时候为什么地址会重复

    我一直反对C和汇编混合编程
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-13 00:27 , Processed in 0.101891 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表