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

📄 ds18b20.asm

📁 使用凌阳SPCE061A单片机
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,111,',0,0
	.dd LM49-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM49:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM50-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM50:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L27:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNG L30	//QImode LE
	pc=L28	// Indirect jump
L30:
.debug
	.dw '.stabn 0x44,0,114,',0,0
	.dd LM51-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM51:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Clr_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,115,',0,0
	.dd LM52-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM52:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,116,',0,0
	.dd LM53-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM53:
	R2=[bp+1]	// QImode move
	R2=[R2]	// QImode move
	R1=R2&1
	CMP R1,0	// QImode test
	NSJZ L31	//QImode EQ
.debug
	.dw '.stabn 0x44,0,117,',0,0
	.dd LM54-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM54:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
L31:
.debug
	.dw '.stabn 0x44,0,118,',0,0
	.dd LM55-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM55:
	R3=[bp+1]	// QImode move
	R1=[R3]	// QImode move
	R2=R1 lsr 1
	R1=[bp+1]	// QImode move
	[R1]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,119,',0,0
	.dd LM56-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM56:
	R1=31	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,120,',0,0
	.dd LM57-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM57:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,121,',0,0
	.dd LM58-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM58:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,112,',0,0
	.dd LM59-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM59:
L29:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L27	// Indirect jump
L28:
.debug
	.dw '.stabn 0x44,0,123,',0,0
	.dd LM60-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM60:
LBE4:
.debug
	.dw '.stabn 0x44,0,123,',0,0
	.dd LM61-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LM61:
L26:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of Write_18B20_Byte

.debug
	.dw '.stabs "Data:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_Write_18B20_Byte
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "Init_18B20:F1",36,0,0,',0,0,offset _Init_18B20,seg _Init_18B20,0x0d,0x0a
.CODE
.public _Init_18B20
_Init_18B20:	.proc
.debug
	.dw '.stabn 0x44,0,133,',0,0
	.dd LM62-_Init_18B20
	.dw 0x0d,0x0a
.code
LM62:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM63-_Init_18B20
	.dw 0x0d,0x0a
.code
LM63:
LBB5:
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM64-_Init_18B20
	.dw 0x0d,0x0a
.code
LM64:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,136,',0,0
	.dd LM65-_Init_18B20
	.dw 0x0d,0x0a
.code
LM65:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM66-_Init_18B20
	.dw 0x0d,0x0a
.code
LM66:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Clr_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM67-_Init_18B20
	.dw 0x0d,0x0a
.code
LM67:
	R1=250	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM68-_Init_18B20
	.dw 0x0d,0x0a
.code
LM68:
	R1=0	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM69-_Init_18B20
	.dw 0x0d,0x0a
.code
LM69:
	R1=31	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM70-_Init_18B20
	.dw 0x0d,0x0a
.code
LM70:
	call _Read_DQ	// call with return value
	CMP R1,0	// QImode test
	NSJZ L35	//QImode EQ
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM71-_Init_18B20
	.dw 0x0d,0x0a
.code
LM71:
	R1=1	// QImode move
	[BP]=R1	// QImode move
	pc=L36	// Indirect jump
L35:
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM72-_Init_18B20
	.dw 0x0d,0x0a
.code
LM72:
	R1=0	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM73-_Init_18B20
	.dw 0x0d,0x0a
.code
LM73:
	R1=220	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
L36:
.debug
	.dw '.stabn 0x44,0,148,',0,0
	.dd LM74-_Init_18B20
	.dw 0x0d,0x0a
.code
LM74:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM75-_Init_18B20
	.dw 0x0d,0x0a
.code
LM75:
	R2=[BP]	// QImode move
	R1=R2	// QImode move
	pc=L34	// Indirect jump
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM76-_Init_18B20
	.dw 0x0d,0x0a
.code
LM76:
LBE5:
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM77-_Init_18B20
	.dw 0x0d,0x0a
.code
LM77:
L34:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of Init_18B20

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_Init_18B20
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "flag:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_Init_18B20
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME7-_Init_18B20
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "Read_Temp:F4",36,0,0,',0,0,offset _Read_Temp,seg _Read_Temp,0x0d,0x0a
.CODE
.public _Read_Temp
_Read_Temp:	.proc
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM78-_Read_Temp
	.dw 0x0d,0x0a
.code
LM78:
	// total=13, vars=13
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=13
	bp=sp+1

	R1=BP+16
	[bp+12]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM79-_Read_Temp
	.dw 0x0d,0x0a
.code
LM79:
LBB6:
.debug
	.dw '.stabn 0x44,0,165,',0,0
	.dd LM80-_Read_Temp
	.dw 0x0d,0x0a
.code
LM80:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _Set_DQ	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,166,',0,0
	.dd LM81-_Read_Temp
	.dw 0x0d,0x0a
.code
LM81:
L39:
	call _Init_18B20	// call with return value
	CMP R1,0	// QImode test
	NSJG L41	//QImode GT
	pc=L40	// Indirect jump
L41:
.debug
	.dw '.stabn 0x44,0,167,',0,0
	.dd LM82-_Read_Temp
	.dw 0x0d,0x0a
.code
LM82:
	R1=1	// QImode move
	[28690]=R1	// QImode move
	pc=L39	// Indirect jump
L40:
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM83-_Read_Temp
	.dw 0x0d,0x0a
.code
LM83:
	R1=40	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM84-_Read_Temp
	.dw 0x0d,0x0a
.code
LM84:
	R1=204	// QImode move
	[SP--]=R1	// QImode move
	call _Write_18B20_Byte	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,170,',0,0
	.dd LM85-_Read_Temp
	.dw 0x0d,0x0a
.code
LM85:
	R1=68	// QImode move
	[SP--]=R1	// QImode move
	call _Write_18B20_Byte	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM86-_Read_Temp
	.dw 0x0d,0x0a
.code
LM86:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L42:
	R1=[BP]	// QImode move
	CMP R1,25	// QImode compare
	NSJNG L45	//QImode LE
	pc=L43	// Indirect jump
L45:
.debug
	.dw '.stabn 0x44,0,172,',0,0
	.dd LM87-_Read_Temp
	.dw 0x0d,0x0a
.code
LM87:
	R1=15000	// QImode move
	[SP--]=R1	// QImode move
	call _Delay	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM88-_Read_Temp
	.dw 0x0d,0x0a
.code
LM88:
L44:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L42	// Indirect jump
L43:
.debug
	.dw '.stabn 0x44,0,173,',0,0
	.dd LM89-_Read_Temp
	.dw 0x0d,0x0a
.code
LM89:
L46:
	call _Init_18B20	// call with return value
	CMP R1,0	// QImode test
	NSJG L48	//QImode GT
	pc=L47	// Indirect jump
L48:
.debug
	.dw '.stabn 0x44,0,174,',0,0
	.dd LM90-_Read_Temp
	.dw 0x0d,0x0a
.code
LM90:
	R1=1	// QImode move
	[28690]=R1	// QImode move
	pc=L46	// Indirect jump
L47:
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM91-_Read_Temp
	.dw 0x0d,0x0a
.code
LM91:
	R1=204	// QImode move
	[SP--]=R1	// QImode move
	call _Write_18B20_Byte	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,176,',0,0
	.dd LM92-_Read_Temp
	.dw 0x0d,0x0a
.code
LM92:
	R1=190	// QImode move
	[SP--]=R1	// QImode move
	call _Write_18B20_Byte	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM93-_Read_Temp
	.dw 0x0d,0x0a
.code
LM93:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L49:
	R1=[BP]	// QImode move
	CMP R1,7	// QImode compare
	NSJNG L52	//QImode LE
	pc=L50	// Indirect jump
L52:
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM94-_Read_Temp
	.dw 0x0d,0x0a
.code
LM94:
	call _Read_18B20_Byte	// call with return value
	R2=BP	// QImode move
	R3=BP+2
	R4=[BP]	// QImode move
	R2=R3	// QImode move
	R2 = R2 + R4	//addqi3
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM95-_Read_Temp
	.dw 0x0d,0x0a
.code
LM95:
L51:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L49	// Indirect jump
L50:
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM96-_Read_Temp
	.dw 0x0d,0x0a
.code
LM96:
	R1=BP	// QImode move
	R2=BP+2
	R1=R2	// QImode move
	R2=R2+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM97-_Read_Temp
	.dw 0x0d,0x0a
.code
LM97:
	R1=[BP]	// QImode move
	R2=R1 lsl 4
	R2=R2 lsl 4
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,181,',0,0
	.dd LM98-_Read_Temp
	.dw 0x0d,0x0a
.code
LM98:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM99-_Read_Temp
	.dw 0x0d,0x0a
.code
LM99:
	R2=BP	// QImode move
	R1=BP+1
	R2=BP	// QImode move
	R3=BP+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R4=[BP]	// QImode move
	R2|=R4
	R4=R1	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,183,',0,0
	.dd LM100-_Read_Temp
	.dw 0x0d,0x0a
.code
LM100:
	call _Init_18B20	// call with return value
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM101-_Read_Temp
	.dw 0x0d,0x0a
.code
LM101:
	R1=BP	// QImode move
	R2=BP+1
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3	// QImode move
	pc=L38	// Indirect jump
.debug
	.dw '.stabn 0x44,0,185,',0,0
	.dd LM102-_Read_Temp
	.dw 0x0d,0x0a
.code
LM102:
LBE6:
.debug
	.dw '.stabn 0x44,0,185,',0,0
	.dd LM103-_Read_Temp
	.dw 0x0d,0x0a
.code
LM103:
L38:

	sp+=13
	pop bp from [sp]
	retf
	.endp	// end of Read_Temp

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_Read_Temp
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiT:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Data:20=ar1;0;9;4",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_Read_Temp
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME8-_Read_Temp
	.dw 0x0d,0x0a
.code
LME8:
	.end

⌨️ 快捷键说明

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