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

📄 i2c.lst

📁 用在EM78860单片机制作的摩斯密码机源文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
------     2 [--]               [00]  		add 	a, @0xFF
------     2 [--]               [00]  		call 	WriteIND
------     2 [--]               [00]  		
------     2 [--]               [00]  		jbs 	r3, cflag
------     2 [--]               [00]  		bc  	pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		submrd_read2
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  submrd_read2:
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		sub 	a, reg+2
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbs 	pr1, 1
------     2 [--]               [00]  		add 	a, @0xFF
------     2 [--]               [00]  		call 	WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		jbs r3, cflag
------     2 [--]               [00]  		bc  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		submrd_read3
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  submrd_read3:
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		sub 	a, reg+3
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbs 	pr1, 1
------     2 [--]               [00]  		add 	a, @0xFF
------     2 [--]               [00]  		call 	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ORMRB addr,reg,access
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		or		addr, a
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	;ROM
------     2 [--]               [00]  	.IF access = 1
------     2 [--]               [00]  		ERROR "Can't write to ROM data"
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	; IO
------     2 [--]               [00]  	.IF access = 2
------     2 [--]               [00]  		ior	addr
------     2 [--]               [00]  		or	a, reg
------     2 [--]               [00]  		iow	addr
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  
------     2 [--]               [00]  	;IND
------     2 [--]               [00]  	.IF access = 3
------     2 [--]               [00]  		mov		a, @.B0.(addr)
------     2 [--]               [00]  		mov		pr0, a
------     2 [--]               [00]  		mov		a, @.B1.(addr)
------     2 [--]               [00]  		mov		pr0+1, a
------     2 [--]               [00]  		mov		a, @.B2.(addr)
------     2 [--]               [00]  		mov		pr0+2, a
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ORMRW addr,reg,access
------     2 [--]               [00]  .LOCAL	ormw_read
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		or		addr, a
------     2 [--]               [00]  		mov		a, reg+1
------     2 [--]               [00]  		or		addr+1, a
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	;ROM
------     2 [--]               [00]  	.IF access = 1
------     2 [--]               [00]  		ERROR "Can't write to ROM data"
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	; IO
------     2 [--]               [00]  	.IF access = 2
------     2 [--]               [00]  		ior addr
------     2 [--]               [00]  		or	a, reg
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  		ior addr+1
------     2 [--]               [00]  		or	a, reg+1
------     2 [--]               [00]  		iow addr+1
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  
------     2 [--]               [00]  	;IND
------     2 [--]               [00]  	.IF access = 3
------     2 [--]               [00]  		mov		a, @.B0.(addr)
------     2 [--]               [00]  		mov		pr0, a
------     2 [--]               [00]  		mov		a, @.B1.(addr)
------     2 [--]               [00]  		mov		pr0+1, a
------     2 [--]               [00]  		mov		a, @.B2.(addr)
------     2 [--]               [00]  		mov		pr0+2, a
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		ormw_read
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  ormw_read:
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg+1
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ORMRD addr,reg,access
------     2 [--]               [00]  .LOCAL	ormd_read1
------     2 [--]               [00]  .LOCAL	ormd_read2
------     2 [--]               [00]  .LOCAL	ormd_read3
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		or		addr, a
------     2 [--]               [00]  		mov		a, reg+1
------     2 [--]               [00]  		or		addr+1, a
------     2 [--]               [00]  		mov		a, reg+2
------     2 [--]               [00]  		or		addr+2, a
------     2 [--]               [00]  		mov		a, reg+3
------     2 [--]               [00]  		or		addr+3, a
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	;ROM
------     2 [--]               [00]  	.IF access = 1
------     2 [--]               [00]  		ERROR "Can't write to ROM data"
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	; IO
------     2 [--]               [00]  	.IF access = 2
------     2 [--]               [00]  		ior addr
------     2 [--]               [00]  		or	a, reg
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  		ior addr+1
------     2 [--]               [00]  		or	a, reg+1
------     2 [--]               [00]  		iow addr+1
------     2 [--]               [00]  		ior addr+2
------     2 [--]               [00]  		or	a, reg+2
------     2 [--]               [00]  		iow addr+2
------     2 [--]               [00]  		ior addr+3
------     2 [--]               [00]  		or	a, reg+3
------     2 [--]               [00]  		iow addr+3
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  
------     2 [--]               [00]  	;IND
------     2 [--]               [00]  	.IF access = 3
------     2 [--]               [00]  		mov		a, @.B0.(addr)
------     2 [--]               [00]  		mov		pr0, a
------     2 [--]               [00]  		mov		a, @.B1.(addr)
------     2 [--]               [00]  		mov		pr0+1, a
------     2 [--]               [00]  		mov		a, @.B2.(addr)
------     2 [--]               [00]  		mov		pr0+2, a
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		ormd_read1
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  ormd_read1:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg+1
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		ormd_read2
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  ormd_read2:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg+2
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		ormd_read3
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  ormd_read3:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		or		a, reg+3
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	XORMRB addr,reg,access
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		xor		addr, a
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	;ROM
------     2 [--]               [00]  	.IF access = 1
------     2 [--]               [00]  		ERROR "Can't write to ROM data"
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  	; IO
------     2 [--]               [00]  	.IF access = 2
------     2 [--]               [00]  		ior addr
------     2 [--]               [00]  		xor	a, reg
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  
------     2 [--]               [00]  	;IND
------     2 [--]               [00]  	.IF access = 3
------     2 [--]               [00]  		mov		a, @.B0.(addr)
------     2 [--]               [00]  		mov		pr0, a
------     2 [--]               [00]  		mov		a, @.B1.(addr)
------     2 [--]               [00]  		mov		pr0+1, a
------     2 [--]               [00]  		mov		a, @.B2.(addr)
------     2 [--]               [00]  		mov		pr0+2, a
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		xor		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	XORMRW addr,reg,access
------     2 [--]               [00]  .LOCAL	xormrw_read
------     2 [--]               [00]  	

⌨️ 快捷键说明

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