gnupic: some question about the directive GLOBAL in the source code.


Previous by date: 14 Aug 2012 10:35:38 -0000 Re: Traffic lights as extreme feedback device controlled by a PIC via USB, Holger Oehm
Next by date: 14 Aug 2012 10:35:38 -0000 Re: some question about the directive GLOBAL in the source code., Holger Oehm
Previous in thread:
Next in thread: 14 Aug 2012 10:35:38 -0000 Re: some question about the directive GLOBAL in the source code., Holger Oehm

Subject: some question about the directive GLOBAL in the source code.
From: feqin fan ####@####.####
Date: 14 Aug 2012 10:35:38 -0000
Message-Id: <CAOfAq_oR-SQUA5HOwAeZbutm9Gy3ztYZEr-7FFXfqeSEg0Ji_Q@mail.gmail.com>

Hello, everybody, I'm sorry to trouble you again.
    I have read most of the source code of gputils. I have a query about
the implementation of the directive GLOBAL.
    for example, Have this code:

    global var

    udata
var    res 1

the assembler deal with the first line "global var",
the calling sequence is like this : yyparse() - do_or_append_insn(char *,
struct pnode *) - do_insn(char *, struct pnode *) - do_global()
    the function do_global() source code :

1,    if (state.mode == absolute) {
2,        gperror(GPE_OBJECT_ONLY, NULL);
3,    } else {
4,        for (; parms; parms = TAIL(parms)) {
5,            p = maybe_evaluate_concat(HEAD(parms));    //p will point to
"var".
6,        if (p) {
7,            s = get_symbol(state.stTop, p);    //s will be NULL
8,            if (s == NULL) {
9,                snprintf(buf,
10,                     sizeof(buf),
11                      "Symbol not previously defined (%s).",
12,                     p);
13,             gperror(GPE_NOSYM, buf);



the line 4 must be first executed, in line 5 the p will point to "var". and
in line 7, because the source code "global var" is the first line of the
being assembled code.
So. in the function do_global() line 7, the s will be NULL,so the error
will be print..

Please tell what's wring in my analyses..??
    :-)

THX, Guys..

Previous by date: 14 Aug 2012 10:35:38 -0000 Re: Traffic lights as extreme feedback device controlled by a PIC via USB, Holger Oehm
Next by date: 14 Aug 2012 10:35:38 -0000 Re: some question about the directive GLOBAL in the source code., Holger Oehm
Previous in thread:
Next in thread: 14 Aug 2012 10:35:38 -0000 Re: some question about the directive GLOBAL in the source code., Holger Oehm


Powered by ezmlm-browse 0.20.