sub main'cpuid { &out0("DW\t0A20Fh"); }
sub main'rdtsc { &out0("DW\t0310Fh"); }
sub main'halt { &out0("hlt"); }
+sub main'movz { &out2("movzx",@_); }
# SSE2
sub main'emms { &out0("emms"); }
push(@labels,$func);
local($tmp)=<<"EOF";
-_TEXT SEGMENT
+_TEXT\$ SEGMENT PARA
PUBLIC _$func
$extra
_$func PROC NEAR
local($func,$extra)=@_;
local($tmp)=<<"EOF";
-_TEXT SEGMENT
+_TEXT\$ SEGMENT PARA
PUBLIC _$func
$extra
_$func PROC NEAR
pop ebp
ret
_$func ENDP
-_TEXT ENDS
+_TEXT\$ ENDS
EOF
push(@out,$tmp);
$stack=0;
local($tmp)=<<"EOF";
_$func ENDP
-_TEXT ENDS
+_TEXT\$ ENDS
EOF
push(@out,$tmp);
$stack=0;
sub main'cpuid { &out0("cpuid"); }
sub main'rdtsc { &out0("rdtsc"); }
sub main'halt { &out0("hlt"); }
+sub main'movz { &out2("movzx",@_); }
# SSE2
sub main'emms { &out0("emms"); }