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

📄 cpu3.inc

📁 极小的CPU的VHDL源代码
💻 INC
字号:
; TI0802 Include file for SMAL32
;
; 12.01.2001 Tim Boescke
;


MACRO checkmem =mem
	IF ( mem<0 ) ! ( mem>63 )
		ERROR Adress out of range!
	ENDIF
ENDMAC

;------------------------------
;Instructions

;Branch if carry clear and clear carry

MACRO JCC tgt
	checkmem tgt
	B ( 2#11000000 ! tgt )
ENDMAC

;Add (src) to Akku

MACRO ADD src
	checkmem src
	B ( 2#01000000 ! src )
ENDMAC

;Nor Akku = Akku NOR (src)

MACRO NOR src
	checkmem src
	B ( 2#00000000 ! src )
ENDMAC

;STA (SRC) = Akku

MACRO STA tgt
	checkmem tgt
	B ( 2#10000000 ! tgt )
ENDMAC

;------------------------------
;some constants
;

.=61
zero:
	B 0
allone:
	B 255
one:
	B 1
.=0

;------------------------------
;Useful Macros

MACRO MOVE src,tgt
	NOR allone
	ADD src
	STA tgt
ENDMAC

MACRO JMP tgt
	JCC tgt
	JCC tgt
ENDMAC

MACRO BCS tgt
	JCC .+2
	JCC tgt
ENDMAC

MACRO NOTMOVE tgt,src
	NOR allone
	NOR src
	STA tgt
ENDMAC

MACRO LDA src
	NOR allone
	ADD src
ENDMAC

MACRO NOT 
	NOR zero
ENDMAC

; Akku = (mem) - Akku
; carry = 1 if result = 0 

MACRO SUB mem
	NOR zero
	ADD mem
	ADD one
ENDMAC

MACRO DCB (xx)
	B xx
ENDMAC

⌨️ 快捷键说明

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