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就是代表被分配記憶體的起始位置的標記,
但是看來不是這樣,麻煩大家跟我說一聲是什麼意思呢?謝謝您們!!!