|
应该这样写合理 高建明 发表于 2006-10-19 13:02 中颖MCU ←返回版面
;***************************************************** ;Company : ;File Name : SH69P55_MACRO.H ;Author : GAOJIANMING ;Create Data : 2006-10-17 ;Last Modified : 2006-10-17 ;Description : X=数据寄存器,I=立即数,BK=寄存器页地址,BUF=缓存(必须位于0页),ADDR=跳转地址 ;Version : V1.0 ;*****************************************************
;****************************************************4位宏**************************************************************
;***4位寄存器与寄存器比较,相等则转*** CJE4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BAZ ADDR ENDM ;***4位寄存器与立即数比较,相等则转*** CJE4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BAZ ADDR ENDM ;***4位寄存器与寄存器比较,不等则转*** CJNE4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BNZ ADDR ENDM ;***4位寄存器与立即数比较,不等则转*** CJNE4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BNZ ADDR ENDM ;***4位寄存器与寄存器比较,大于等于则转*** CJAE4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BC ADDR ENDM ;***4位寄存器与立即数比较,大于等于则转*** CJAE4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BC ADDR ENDM ;***4位寄存器与寄存器比较,大于则转*** CJA4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BAZ $+2 BC ADDR ENDM ;***4位寄存器与立即数比较,大于则转*** CJA4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BAZ $+2 BC ADDR ENDM ;***4位寄存器与寄存器比较,小于等于则转*** CJBE4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BNZ $+2 BNC ADDR ENDM ;***4位寄存器与立即数比较,小于等于则转*** CJBE4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BNZ $+2 BNC ADDR ENDM ;***4位寄存器与寄存器比较,小于则转*** CJB4_XX MACRO X1,BK1,X2,BK2,ADDR LDA X2,BK2 SUB X1,BK1 BNC ADDR ENDM ;***4位寄存器与立即数比较,小于则转*** CJB4_XI MACRO X,BK,I,BUF,ADDR LDI BUF,I SUB X,BK BNC ADDR ENDM ;***4位寄存器左移*** RL4_X MACRO X,BK LDA X,BK ADDM X,BK ENDM ;***4位寄存器带进位左移*** RLC4_X MACRO X,BK LDA X,BK ADCM X,BK ENDM ;***4位寄存器加一*** INC4 MACRO X,BK,BUF LDI BUF,01H ADDM X,BK ENDM ;***4位寄存器减一*** DEC4 MACRO X,BK,BUF LDI BUF,01H SUBM X,BK ENDM
|