导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→keil c語法問題[a872156]

 *第16426篇: keil c語法問題

  
楼 主:a872156 2003年9月21日20:06
 keil c語法問題
最近在研究keil c裡面整個程式流程,但是遇到一些keil c 中裡面語法的問題
首先是我在keil c裡面的startup.a51中有看到
?STACK  SEGMENT   IDATA

  RSEG ?STACK
  DS 1
我知道他是要求保留了一個byte Stack空間,後來在到下面後就出現了
                  MOV SP,#?STACK-1
將分配到的堆疊的第一個位置分給SP
後來在c的程式中我又有到宣各了個變數如下
                  INT8U data SaveSP;
然後在一個組語的檔案程式中又有如下的寫法
                  ?STACK SEGMENT IDATA
            RSEG ?STACK
                  Stack:
                EXTRN DATA(SaveSP)
我就真的搞不懂以上組語的宣告了,我知道extrn是宣告有一個別的檔案的變數
所以SaveSP代表是在那個C程式裡面的INT8U data SaveSP;變數
但是把他放在
                  ?STACK SEGMENT IDATA
            RSEG ?STACK
                  Stack:
代表什麼意思呢?

STACK是idata,但是SaveSP又是data區
如果我程式裡面寫#Stack是代表誰呢?
我一開始以為Stack就是代表SaveSP,後來看一下不對,因為我把他想成這種寫法
                  data_seg_name SEGMENT DATA ; segment for DATA RAM.
                  RSEG data_seg_name ; switch to this data segment
                  data_variable: DS 1 ; reserve 1 Bytes for data_variable
                  data_variable1: DS 2 ; reserve 2 Bytes for data_variable1
其中data_variable就是代表被分配記憶體的起始位置的標記,
但是看來不是這樣,麻煩大家跟我說一聲是什麼意思呢?謝謝您們!!!


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:请大侠告知此芯片的型号

[下一篇主题]:[求助]请问有谁用过T6963控制的液晶