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

📄 ms1750.inc

📁 gcc编译工具没有什么特别
💻 INC
字号:
;; GCC assembler includefile for AS1750;;;; Macros defined:;;   EFLR.M  #d,#s	Load the three regs starting at R#s to R#d following.;;   RET.M   #fs	Return from function (uses the framesize #fs)UC	SET	15; Return from function ; parameter: framesize     MACRO RET.M	IF `1` > 0	    IF `1` <= 16		AISP R14,`1`	    ELSE		AIM  R14,`1`	    ENDIF	ENDIF	LR   R15,R14	URS  R15     ENDMACRO; Useful instructions missing from the 1750A standard:; Extended Float Load from Registers     MACRO EFLR.M	; args : #1=dest-regno, #2=source-regnoONE 	SET  `1` + 2TWO 	SET  `2` + 2	IF `1` >= `2` || `1`+2 < `2`	    LR    R`ONE`,R`TWO`	    DLR   R`1`,R`2`	ELSE	    DLR   R`1`,R`2`	    LR    R`ONE`,R`TWO`	    DLR   R`1`,R`1`	; Just to update condition codes	ENDIF     ENDMACRO; The following leave the condition codes haywire. But that is; accounted for (see notice_update_cc in config/1750a.c.); Double ANd Register with Register     MACRO DANR.MONE 	SET  `1` + 1TWO 	SET  `2` + 1	ANDR  R`1`,R`2`	ANDR  R`ONE`,R`TWO`     ENDMACRO; Double OR Register with Register     MACRO DORR.MONE 	SET  `1` + 1TWO 	SET  `2` + 1	ORR   R`1`,R`2`	ORR   R`ONE`,R`TWO`     ENDMACRO; Double eXoR Register with Register     MACRO DXRR.MONE 	SET  `1` + 1TWO 	SET  `2` + 1	XORR  R`1`,R`2`	XORR  R`ONE`,R`TWO`     ENDMACRO; Double Nand Register with register     MACRO DNR.MONE 	SET  `1` + 1TWO 	SET  `2` + 1	NR    R`1`,R`2`	NR    R`ONE`,R`TWO`     ENDMACRO; Unsigned Compare Immediate     MACRO UCIM.MLAST	SET   `1` + 3	PSHM  R`1`,R`LAST`LO	SET   `1` + 1	LR    R`LO`,R`1`	XORR  R`1`,R`1`HI	SET   `1` + 2	XORR  R`HI`,R`HI`	LIM   R`LAST`,`2`	DCR   R`1`,R`HI`	POPM  R`1`,R`LAST`     ENDMACRO; Unsigned Compare Register with register     MACRO UCR.M	PSHM  R10,R13    ; R12 and R13 are assumed not to be input parameters	LR    R13,R`2`	LR    R11,R`1`	XORR  R12,R12	XORR  R10,R10	DCR   R10,R12	POPM  R10,R13     ENDMACRO; Unsigned Compare register with memory     MACRO UC.M	PSHM  R10,R13	L     R13,`2`	LR    R11,R`1`	XORR  R12,R12	XORR  R10,R10	DCR   R10,R12	POPM  R10,R13     ENDMACRO; Double Unsigned Compare Register with register     MACRO DUCR.M	PSHM	R13,R14    ; R13 and R14 are assumed not to be input parametersLOW1	SET	`1` + 1LOW2	SET	`2` + 1	PSHM	R`1`,R`LOW1`	PSHM	R`2`,R`LOW2`	LR	R13,R`LOW1`	LR	R14,R`LOW2`	DSRL	R`1`,1	DSRL	R`2`,1	DCR	R`1`,R`2`	BNE	+6	ANDM	R13,1	ANDM	R14,1	CR	R13,R14	POPM	R`2`,R`LOW2`	POPM	R`1`,R`LOW1`	POPM	R13,R14     ENDMACRO; Double Unsigned Compare register with memory     MACRO DUC.M	PSHM	R13,R14    ; R13 and R14 are assumed not to be input parametersLOW1	SET	`1` + 1	PSHM	R`1`,R`LOW1`	DL	R13,`2`	DSRL	R`1`,1	DSRL	R13,1	DCR	R`1`,R13	BNE	+10        ; done, go pop the saved regs	DL	R13,`2`    ; interested in the *low* word (R14)	L	R13,1,R15	ANDM	R13,1	ANDM	R14,1	CR	R13,R14	POPM	R`1`,R`LOW1`	POPM	R13,R14     ENDMACRO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -