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

📄 i2c.lst

📁 用在EM78860单片机制作的摩斯密码机源文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
------     2 [--]               [00]  		
------     2 [--]               [00]  		jbc 	r3, zflag
------     2 [--]               [00]  		bs  	pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		addmrd_read2
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  addmrd_read2:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		add 	a, reg+2
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbc 	pr1, 1
------     2 [--]               [00]  		add 	a, 1
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc r3, zflag
------     2 [--]               [00]  		bs  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		addmrd_read3
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  addmrd_read3:		
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		add 	a, reg+3
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbc 	pr1, 1
------     2 [--]               [00]  		add 	a, 1
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  	
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	SUBMRB addr,reg,access
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		sub		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]  		sub	a, reg
------     2 [--]               [00]  		sub	a, @0		
------     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]  		sub		a, reg
------     2 [--]               [00]  		sub		a, @0
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	SUBMRW addr,reg,access
------     2 [--]               [00]  .LOCAL	submrw_read1
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov		a, reg
------     2 [--]               [00]  		sub		addr, a
------     2 [--]               [00]  		jbs		r3, cflag
------     2 [--]               [00]  		dec		addr+1
------     2 [--]               [00]  		mov		a, reg+1
------     2 [--]               [00]  		sub		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]  		sub		a, reg
------     2 [--]               [00]  		rlc		pr1
------     2 [--]               [00]  		sub		a, @0
------     2 [--]               [00]  		iow		addr
------     2 [--]               [00]  		
------     2 [--]               [00]  		ior		addr+1
------     2 [--]               [00]  		sub		a, reg+1
------     2 [--]               [00]  		jbs		pr1, 0
------     2 [--]               [00]  		add		a, @1
------     2 [--]               [00]  		sub		a, @0
------     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]  		sub		a, reg
------     2 [--]               [00]  		rlc		pr1
------     2 [--]               [00]  		sub		a, @0
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		submrw_read1
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  submrw_read1:
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		sub		a, reg+1
------     2 [--]               [00]  		jbs		pr1, 0
------     2 [--]               [00]  		add		a, @1
------     2 [--]               [00]  		sub		a, @0
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	SUBMRD addr,reg,access
------     2 [--]               [00]  .LOCAL	SUBMRD_BYTE2
------     2 [--]               [00]  .LOCAL	SUBMRD_BYTE3
------     2 [--]               [00]  .LOCAL	submrd_read1
------     2 [--]               [00]  .LOCAL	submrd_read2
------     2 [--]               [00]  .LOCAL	submrd_read3
------     2 [--]               [00]  	;RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov	A, reg
------     2 [--]               [00]  		sub	addr, a
------     2 [--]               [00]  
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		mov	a, reg+1
------     2 [--]               [00]  		sub addr+1, a			
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc pr1,0
------     2 [--]               [00]  		jmp SUBMRD_BYTE2
------     2 [--]               [00]  		
------     2 [--]               [00]  		mov	addr+1, addr+1
------     2 [--]               [00]  		jbc r3,zflag
------     2 [--]               [00]  		bc  r3,cflag
------     2 [--]               [00]  		dec addr+1
------     2 [--]               [00]  
------     2 [--]               [00]  SUBMRD_BYTE2:	
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		mov	a, reg+2
------     2 [--]               [00]  		sub	addr+2, a
------     2 [--]               [00]  	
------     2 [--]               [00]  		jbc pr1,0
------     2 [--]               [00]  		jmp SUBMRD_BYTE3
------     2 [--]               [00]  		
------     2 [--]               [00]  		mov	addr+2, addr+2
------     2 [--]               [00]  		jbc r3,zflag
------     2 [--]               [00]  		bc  r3,cflag
------     2 [--]               [00]  		dec addr+2
------     2 [--]               [00]  
------     2 [--]               [00]  SUBMRD_BYTE3:	
------     2 [--]               [00]  		jbs	r3, cflag
------     2 [--]               [00]  		dec	addr+3
------     2 [--]               [00]  		mov	a, reg+3
------     2 [--]               [00]  		sub	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]  		sub	a, reg
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		sub	a, @0
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  		ior addr+1
------     2 [--]               [00]  		sub a, reg+1
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbs pr1, 1
------     2 [--]               [00]  		add a, @0xFF
------     2 [--]               [00]  		iow addr+1
------     2 [--]               [00]  		
------     2 [--]               [00]  		jbs r3, cflag
------     2 [--]               [00]  		bc  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		ior addr+2
------     2 [--]               [00]  		sub a, reg+2
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbc pr1, 1
------     2 [--]               [00]  		add a, @0xFF
------     2 [--]               [00]  		iow addr+2
------     2 [--]               [00]  
------     2 [--]               [00]  		jbs r3, cflag
------     2 [--]               [00]  		bc  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		ior addr+3
------     2 [--]               [00]  		sub a, reg+3
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbc pr1, 1
------     2 [--]               [00]  		add a, @0xFF
------     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]  		sub		a, reg
------     2 [--]               [00]  		rlc		pr1
------     2 [--]               [00]  		sub		a, @0
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		submrd_read1
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		sub 	a, reg+1
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbs 	pr1, 1

⌨️ 快捷键说明

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