1987-11-20 10:41:03 +00:00
|
|
|
#include <out.h>
|
|
|
|
#include "header.h"
|
|
|
|
#include "back.h"
|
|
|
|
|
1988-11-18 17:52:39 +00:00
|
|
|
int _Label, _Label_waiting;
|
1987-11-20 10:41:03 +00:00
|
|
|
|
|
|
|
save_label( lab)
|
|
|
|
char *lab;
|
1987-11-25 13:54:01 +00:00
|
|
|
|
|
|
|
/* It is now not possible to tell where the label belongs to, so store
|
|
|
|
* the string and remember the returned index to store the missing
|
|
|
|
* information later on (see dump_label()). Two labels at one address
|
|
|
|
* is not allowed.
|
|
|
|
*/
|
1987-11-20 10:41:03 +00:00
|
|
|
{
|
1988-11-18 17:52:39 +00:00
|
|
|
_Label = find_sym( lab, SYMBOL_DEFINITION);
|
|
|
|
_Label_waiting = 1;
|
1987-11-20 10:41:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
dump_label()
|
|
|
|
{
|
1988-11-18 17:52:39 +00:00
|
|
|
if ( _Label_waiting) {
|
1987-11-20 10:41:03 +00:00
|
|
|
align_word();
|
1988-11-18 17:52:39 +00:00
|
|
|
symbol_table[ _Label].on_valu = cur_value();
|
|
|
|
symbol_table[ _Label].on_type |= ( S_MIN + conv_seg( cur_seg));
|
|
|
|
_Label_waiting = 0;
|
1987-11-20 10:41:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|