17.05.2015 Views

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

TI486 Microprocessor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SMM Instruction Macros<br />

COMMENT A<br />

Complex macros which gererate mod/r.m automatically<br />

A<br />

svdc<br />

rsdc<br />

svldt<br />

rsldt<br />

svts<br />

rsts<br />

rsm<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

domac<br />

ENDM<br />

MACRO<br />

db<br />

ENDM<br />

segover,addr,reg,adover<br />

segover,addr,reg,adover,78h<br />

segover,addr,adover<br />

segover,addr,reg,adover,79h<br />

segover,addr,adover<br />

segover,addr,es,adover,7ah<br />

segover,addr,adover<br />

segover,addr,es,adover,7bh<br />

segover,addr,adover<br />

segover,addr,es,adover,7ch<br />

segover,addr,adover<br />

segover,addr,es,adover,7dh<br />

ofh,Oaah<br />

COMMENT A<br />

Sub-Macro used by the above macro<br />

A<br />

domac MACRO<br />

local<br />

count<br />

segover,addr,reg,adover,op<br />

placel,place2,count<br />

= 0<br />

ifnb <br />

count=count+l<br />

endif<br />

if (count eq 0)<br />

nop<br />

;we're expanding the opcode one byte<br />

endif<br />

placel = $<br />

;pull off the proper prefix byte count<br />

mov word ptr segover addr,reg<br />

org placel+count<br />

mov word ptr segover addr,reg<br />

place 2 = $<br />

;patch the opcode<br />

org placel+(count*2)-1<br />

db OFh,op<br />

org place2<br />

ENDM<br />

A-39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!