⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stddef60.inc

📁 万能汇编工具
💻 INC
📖 第 1 页 / 共 2 页
字号:
                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 + -