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

📄 i2c.lst

📁 用在EM78860单片机制作的摩斯密码机源文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
------     2 [--]               [00]  		mov pr0+2, a
------     2 [--]               [00]  		call ReadIND
------     2 [--]               [00]  		add a,@0xff
------     2 [--]               [00]  		call WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		jmp	decmd_end
------     2 [--]               [00]  		inc	pr0
------     2 [--]               [00]  		jbs	r3, zflag
------     2 [--]               [00]  		jmp	decmd_read1
------     2 [--]               [00]  		inc	pr0+1
------     2 [--]               [00]  		jbc	r3, zflag
------     2 [--]               [00]  		inc	pr0+2
------     2 [--]               [00]  decmd_read1:
------     2 [--]               [00]  		call ReadIND
------     2 [--]               [00]  		add a,@0xff
------     2 [--]               [00]  		call WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		jmp	decmd_end
------     2 [--]               [00]  		inc	pr0
------     2 [--]               [00]  		jbs	r3, zflag
------     2 [--]               [00]  		jmp	decmd_read2
------     2 [--]               [00]  		inc	pr0+1
------     2 [--]               [00]  		jbc	r3, zflag
------     2 [--]               [00]  		inc	pr0+2
------     2 [--]               [00]  decmd_read2:		
------     2 [--]               [00]  		call ReadIND
------     2 [--]               [00]  		add a,@0xff
------     2 [--]               [00]  		call WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		jmp	decmd_end
------     2 [--]               [00]  		inc	pr0
------     2 [--]               [00]  		jbs	r3, zflag
------     2 [--]               [00]  		jmp	decmd_read3
------     2 [--]               [00]  		inc	pr0+1
------     2 [--]               [00]  		jbc	r3, zflag
------     2 [--]               [00]  		inc	pr0+2
------     2 [--]               [00]  decmd_read3:
------     2 [--]               [00]  		call ReadIND
------     2 [--]               [00]  		add a,@0xff
------     2 [--]               [00]  		call WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  decmd_end:	
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ADDMRB addr,reg,access
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		MOV	a, reg
------     2 [--]               [00]  		ADD 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]  		add	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]  		add a, reg
------     2 [--]               [00]  		call WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ADDMRW addr,reg,access
------     2 [--]               [00]  .LOCAL	addmrw_read1
------     2 [--]               [00]  	; RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov	a, reg
------     2 [--]               [00]  		add addr, a
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		inc	addr+1
------     2 [--]               [00]  		mov a, reg+1
------     2 [--]               [00]  		add 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]  		add	a, reg
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  		ior addr+1
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		add a, 1
------     2 [--]               [00]  		add 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]  		add		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		addmrw_read1
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  		inc		pr0+2
------     2 [--]               [00]  addmrw_read1:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		jbc 	r3, cflag
------     2 [--]               [00]  		add		a, @1
------     2 [--]               [00]  		add		a, reg+1
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  	.ENDIF
------     2 [--]               [00]  .ENDM
------     2 [--]               [00]  
------     2 [--]               [00]  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
------     2 [--]               [00]  .MACRO	ADDMRD addr,reg,access
------     2 [--]               [00]  .LOCAL	ADDMRD_BYTE2
------     2 [--]               [00]  .LOCAL	ADDMRD_BYTE3
------     2 [--]               [00]  .LOCAL	addmrd_read1
------     2 [--]               [00]  .LOCAL	addmrd_read2
------     2 [--]               [00]  .LOCAL	addmrd_read3
------     2 [--]               [00]  	;RAM
------     2 [--]               [00]  	.IF access = 0
------     2 [--]               [00]  		mov	a, reg
------     2 [--]               [00]  		add	addr, a
------     2 [--]               [00]  
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		mov	a, reg+1
------     2 [--]               [00]  		add addr+1, a			
------     2 [--]               [00]  
------     2 [--]               [00]  		jbs pr1,0
------     2 [--]               [00]  		jmp ADDMRD_BYTE2
------     2 [--]               [00]  		
------     2 [--]               [00]  		inc addr+1
------     2 [--]               [00]  		jbc r3,zflag
------     2 [--]               [00]  		bs  r3,cflag
------     2 [--]               [00]  
------     2 [--]               [00]  ADDMRD_BYTE2:	
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		mov	a, reg+2
------     2 [--]               [00]  		add	addr+2, a
------     2 [--]               [00]  	
------     2 [--]               [00]  		jbs pr1,0
------     2 [--]               [00]  		jmp ADDMRD_BYTE3
------     2 [--]               [00]  		
------     2 [--]               [00]  		inc addr+2
------     2 [--]               [00]  		jbc r3,zflag
------     2 [--]               [00]  		bs  r3,cflag
------     2 [--]               [00]  
------     2 [--]               [00]  ADDMRD_BYTE3:	
------     2 [--]               [00]  		jbc	r3, cflag
------     2 [--]               [00]  		inc	addr+3
------     2 [--]               [00]  		mov	a, reg+3
------     2 [--]               [00]  		add	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]  		add	a, reg
------     2 [--]               [00]  		iow addr
------     2 [--]               [00]  		rlc	pr1
------     2 [--]               [00]  		ior addr+1
------     2 [--]               [00]  		add a, reg+1
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbc pr1, 1
------     2 [--]               [00]  		add a, 1
------     2 [--]               [00]  		iow addr+1
------     2 [--]               [00]  		
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		bs  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		ior addr+2
------     2 [--]               [00]  		add a, reg+2
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbc pr1, 1
------     2 [--]               [00]  		add a, 1
------     2 [--]               [00]  		iow addr+2
------     2 [--]               [00]  
------     2 [--]               [00]  		jbc r3, cflag
------     2 [--]               [00]  		bs  pr1, 0
------     2 [--]               [00]  
------     2 [--]               [00]  		ior addr+3
------     2 [--]               [00]  		add a, reg+3
------     2 [--]               [00]  		rlc pr1
------     2 [--]               [00]  		jbc pr1, 1
------     2 [--]               [00]  		add a, 1
------     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]  		add		a, reg
------     2 [--]               [00]  		call	WriteIND
------     2 [--]               [00]  
------     2 [--]               [00]  		rlc		pr1
------     2 [--]               [00]  		inc		pr0
------     2 [--]               [00]  		jbs		r3, zflag
------     2 [--]               [00]  		jmp		addmrd_read1
------     2 [--]               [00]  		inc		pr0+1
------     2 [--]               [00]  		jbc		r3, zflag
------     2 [--]               [00]  addmrd_read1:		
------     2 [--]               [00]  		call	ReadIND
------     2 [--]               [00]  		add 	a, reg+1
------     2 [--]               [00]  		rlc 	pr1
------     2 [--]               [00]  		jbc 	pr1, 1
------     2 [--]               [00]  		add 	a, 1
------     2 [--]               [00]  		call	WriteIND

⌨️ 快捷键说明

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