📄 stddef60.inc
字号:
if "REG2"=""
cmpl 0,0,cr,REG1
elseif
cmpl cr,0,REG1,REG2
endif
endm
cmplwi macro cr,REG1,IMM
if "IMM"=""
cmpli 0,0,cr,IMM
elseif
cmpli cr,0,REG1,IMM
endif
endm
;----------------------------------------------------------------------------
; erweiterte Befehle Bedingungsregister
crset macro bx
creqv bx,bx,bx
endm
crnot macro bx,by
crnor bx,by,by
endm
crmove macro bx,by
cror bx,by,by
endm
;----------------------------------------------------------------------------
; erweiterte Befehle Logik
not macro dest,SRC
if "SRC"=""
nor dest,dest
elseif
nor dest,SRC,SRC
endif
endm
not. macro dest,SRC
if "SRC"=""
nor. dest,dest
elseif
nor. dest,SRC,SRC
endif
endm
mr macro dest,src
or dest,src,src
endm
mr. macro dest,src
or. dest,src,src
endm
nop macro
ori 0,0,0
endm
;----------------------------------------------------------------------------
; vereinfachte Einschiebebefehle
inslwi macro ra,rs,n,b
rlwimi ra,rs,32-b,b,b+n-1
endm
inslwi. macro ra,rs,n,b
rlwimi. ra,rs,32-b,b,b+n-1
endm
insrwi macro ra,rs,n,b
rlwimi ra,rs,32-b-n,b,b+n-1
endm
insrwi. macro ra,rs,n,b
rlwimi. ra,rs,32-b-n,b,b+n-1
endm
__defins1 macro NAME,par1,par2,par3,{NoExpand}
{"NAME"} macro ra,rs,n
rlwinm ra,rs,par1,par2,par3
endm
{"NAME"}. macro ra,rs,n
rlwinm. ra,rs,par1,par2,par3
endm
endm
__defins2 macro NAME,par1,par2,par3,{NoExpand}
{"NAME"} macro ra,rs,b,n
rlwinm ra,rs,par1,par2,par3
endm
{"NAME"}. macro ra,rs,b,n
rlwinm. ra,rs,par1,par2,par3
endm
endm
__defins1 clrlwi,0,n,31
__defins2 clrlslwi,n,b-n,31-n
__defins1 clrrwi,0,0,31-n
__defins2 extlwi,b,0,n-1
__defins2 extrwi,b+n,32-n,31
__defins1 rotlwi,n,0,31
__defins1 rotrwi,32-n,0,31
__defins1 slwi,n,0,31-n
__defins1 srwi,32-n,n,31
rotlw macro ra,rs,rb
rlwnm ra,rs,rb,0,31
endm
rotlw. macro ra,rs,rb
rlwnm. ra,rs,rb,0,31
endm
;----------------------------------------------------------------------------
; vereinfachte Spr乶ge
__defjmp1 macro NAME,m1,m2,{NoExpand}
{"NAME"} macro adr
bc m1,m2,adr
endm
{"NAME"}a macro adr
bca m1,m2,adr
endm
{"NAME"}l macro adr
bcl m1,m2,adr
endm
{"NAME"}la macro adr
bcla m1,m2,adr
endm
endm
__defjmp1 bdnz,16,0
__defjmp1 bdz,18,0
__defjmp2 macro NAME,m1,{NoExpand}
{"NAME"} macro cr,adr
bc m1,cr,adr
endm
{"NAME"}a macro cr,adr
bca m1,cr,adr
endm
{"NAME"}l macro cr,adr
bcl m1,cr,adr
endm
{"NAME"}la macro cr,adr
bcla m1,cr,adr
endm
endm
__defjmp2 bdnzf,0
__defjmp2 bdnzt,8
__defjmp2 bdzf,2
__defjmp2 bdzt,10
__defjmp2 bf,4
__defjmp2 bt,12
__defjmp3 macro NAME,mask,ofs,{NoExpand}
{"NAME"} macro cr,ADR
if "ADR"=""
bc mask,ofs,cr
elseif
bc mask,cr*4+ofs,adr
endif
endm
{"NAME"}a macro cr,ADR
if "ADR"=""
bca mask,ofs,cr
elseif
bca mask,cr*4+ofs,adr
endif
endm
{"NAME"}l macro cr,ADR
if "ADR"=""
bcl mask,ofs,cr
elseif
bcl mask,cr*4+ofs,adr
endif
endm
{"NAME"}la macro cr,ADR
if "ADR"=""
bcla mask,ofs,cr
elseif
bcla mask,cr*4+ofs,adr
endif
endm
{"NAME"}ctr macro CR
if "CR"=""
bcctr mask,ofs
elseif
bc mask,CR*4+ofs
endif
endm
{"NAME"}ctrl macro CR
if "CR"=""
bcl mask,ofs
elseif
bcl mask,CR*4+ofs
endif
endm
{"NAME"}lr macro CR
if "CR"=""
bclr mask,ofs
elseif
bclr mask,4*CR+ofs
endif
endm
{"NAME"}lrl macro CR
if "CR"=""
bclrl mask,ofs
elseif
bclrl mask,4*CR+ofs
endif
endm
endm
__defjmp3 beq,12,2
__defjmp3 bge,4,0
__defjmp3 bgt,12,1
__defjmp3 ble,4,1
__defjmp3 blt,12,0
__defjmp3 bne,4,2
__defjmp3 bng,4,1
__defjmp3 bnl,4,0
__defjmp3 bns,4,3
__defjmp3 bnu,4,3
__defjmp3 bso,12,3
__defjmp3 bun,12,3
bctr macro
bcctr 20,0
endm
bctrl macro
bcctrl 20,0
endm
__defjmp4 macro NAME,mask,{NoExpand}
{"NAME"} macro cr
bcctr mask,cr
endm
{"NAME"}l macro cr
bcctrl mask,cr
endm
endm
__defjmp4 bfctr,4
__defjmp4 btctr,12
__defjmp6 macro NAME,mask,bit,{NoExpand}
{"NAME"} macro
bclr mask,bit
endm
{"NAME"}l macro
bclrl mask,bit
endm
endm
__defjmp6 blr,20,0
__defjmp6 bdnzlr,16,0
__defjmp6 bdzlr,18,0
__defjmp7 macro NAME,mask,{NoExpand}
{"NAME"} macro cr
bclr mask,cr
endm
{"NAME"}l macro cr
bclrl mask,cr
endm
endm
__defjmp7 bdnzflr,0
__defjmp7 bdnztlr,8
__defjmp7 bdzflr,2
__defjmp7 bdztlr,10
__defjmp7 bflr,4
__defjmp7 btlr,12
;-------------------------------------------------------------------------
; Traps
trap macro ra,rb
tw 31,ra,rb
endm
__deftrap macro NAME,mask,{NoExpand}
{"NAME"} macro ra,rb
tw mask,ra,rb
endm
{"NAME"}i macro ra,im
twi mask,ra,im
endm
endm
__deftrap tweq,4
__deftrap twge,12
__deftrap twgt,8
__deftrap twle,20
__deftrap twlge,5
__deftrap twlgt,1
__deftrap twlle,6
__deftrap twllt,2
__deftrap twlng,6
__deftrap twlnl,5
__deftrap twlt,16
__deftrap twne,24
__deftrap twng,20
__deftrap twnl,12
;-------------------------------------------------------------------------
; MMU-Makros PPC403G[BC]
if (MOMCPU=0x403c)||(MOMCPU=0x403c)
tlbrehi macro rt,ra
tlbre rt,ra,0
endm
tlbrelo macro rt,ra
tlbre rt,ra,1
endm
tlbwehi macro rt,ra
tlbwe rt,ra,0
endm
tlbwelo macro rt,ra
tlbwe rt,ra,1
endm
endif
;=========================================================================
endif
restore ; Listing wieder erlauben
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -