使用外部 td 符号的示例

使用外部 TD 符号的示例

  1. 
    /* This C module named td3.c   */
    long   t_data;
    extern  void mod_s();
    main()
    {
            t_data = 234;
             mod_s();
             printf("t_data is %d\n", t_data);
    }
    
  2. 以下是模块的汇编程序源代码 mod3.s:
    
            .file "mod3.s"
            .csect .mod_s[PR]
            .globl .mod_s[PR]
            .set    RTOC, 2
            l   5, t_data[TD](RTOC)  # Now GPR5 contains the
                                     # t_data value
            ai  5,5,14
            stu 5, t_data[TD](RTOC)
            br
            .toc
            .extern  t_data[TD]  # t_data is a external symbol
    
  3. 以下命令将源程序组装并编译为可执行文件 td3:
    
    ./as -o mod3.o mod3.s
    cc -o td3 td3.c mod3.o
    
  4. 正在运行td3打印以下内容:
    
    t_data is 248