sub main'asm_init_output { @out=(); }
sub main'asm_get_output { return(@out); }
sub main'get_labels { return(@labels); }
-sub main'external_label { push(@labels,@_); }
sub main'external_label
{
push(@labels,@_);
sub main'bswap { &out1("bswap",@_); &using486(); }
sub main'not { &out1("not",@_); }
sub main'call { &out1("call",($_[0]=~/^\$L/?'':'_').$_[0]); }
+sub main'call_ptr { &out1p("call",@_); }
sub main'ret { &out0("ret"); }
sub main'nop { &out0("nop"); }
sub main'test { &out2("test",@_); }
}
}
+sub main'data_byte
+ {
+ push(@out,"\tDB\t".join(',',@_)."\n");
+ }
+
sub main'data_word
{
push(@out,"\tDD\t".join(',',@_)."\n");
local($name,$p1)=@_;
local($l,$t);
- push(@out,"\t$name\t ".&conv($p1)."\n");
+ push(@out,"\t$name\t".&conv($p1)."\n");
}
sub main'picmeup
local($f)=@_;
local($tmp)=<<___;
OPTION DOTNAME
-.CRT\$XIU SEGMENT DWORD PUBLIC 'DATA'
+.CRT\$XCU SEGMENT DWORD PUBLIC 'DATA'
EXTRN _$f:NEAR
DD _$f
-.CRT\$XIU ENDS
+.CRT\$XCU ENDS
___
push(@out,$tmp);
}