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

📄 onewire.lst

📁 含PPT和书中的例图
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"onewire.c"
   2               		.arch atmega32
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	ow_reset
  20               	ow_reset:
  21               	.LFB8:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 E091 0000 		lds r30,OW_OUT
  27 0004 F091 0000 		lds r31,(OW_OUT)+1
  28 0008 9091 0000 		lds r25,OW_PIN_MASK
  29 000c 9095      		com r25
  30 000e 8081      		ld r24,Z
  31 0010 8923      		and r24,r25
  32 0012 8083      		st Z,r24
  33               	.LM3:
  34 0014 E091 0000 		lds r30,OW_DDR
  35 0018 F091 0000 		lds r31,(OW_DDR)+1
  36 001c 8081      		ld r24,Z
  37 001e 9091 0000 		lds r25,OW_PIN_MASK
  38 0022 892B      		or r24,r25
  39 0024 8083      		st Z,r24
  40               	.LBB2:
  41               	.LM4:
  42 0026 8FEB      		ldi r24,lo8(959)
  43 0028 93E0      		ldi r25,hi8(959)
  44               	.LBB3:
  45               	/* #APP */
  46 002a 8115      		cp  r24,__zero_reg__ 
  47 002c 9105      		cpc r25,__zero_reg__ 
  48 002e 11F0      		breq L_Exit_23       
  49               		L_LOOP_23:           
  50 0030 0197      		sbiw r24,1            
  51 0032 F1F7      		brne L_LOOP_23       
  52               		L_Exit_23:           
  53               		
  54               	/* #NOAPP */
  55               	.LBE3:
  56               	.LBE2:
  57               	.LM5:
  58 0034 3FB7      		in r19,95-0x20
  59               	.LM6:
  60               	/* #APP */
  61 0036 F894      		cli
  62               	.LM7:
  63               	/* #NOAPP */
  64 0038 E091 0000 		lds r30,OW_DDR
  65 003c F091 0000 		lds r31,(OW_DDR)+1
  66 0040 9091 0000 		lds r25,OW_PIN_MASK
  67 0044 9095      		com r25
  68 0046 8081      		ld r24,Z
  69 0048 8923      		and r24,r25
  70 004a 8083      		st Z,r24
  71               	.LBB4:
  72               	.LM8:
  73 004c 83E8      		ldi r24,lo8(131)
  74 004e 90E0      		ldi r25,hi8(131)
  75               	.LBB5:
  76               	/* #APP */
  77 0050 8115      		cp  r24,__zero_reg__ 
  78 0052 9105      		cpc r25,__zero_reg__ 
  79 0054 11F0      		breq L_Exit_42       
  80               		L_LOOP_42:           
  81 0056 0197      		sbiw r24,1            
  82 0058 F1F7      		brne L_LOOP_42       
  83               		L_Exit_42:           
  84               		
  85               	/* #NOAPP */
  86               	.LBE5:
  87               	.LBE4:
  88               	.LM9:
  89 005a E091 0000 		lds r30,OW_IN
  90 005e F091 0000 		lds r31,(OW_IN)+1
  91 0062 4081      		ld r20,Z
  92 0064 2091 0000 		lds r18,OW_PIN_MASK
  93 0068 4223      		and r20,r18
  94               	.LM10:
  95 006a 3FBF      		out 95-0x20,r19
  96               	.LBB6:
  97               	.LM11:
  98 006c 8BE3      		ldi r24,lo8(827)
  99 006e 93E0      		ldi r25,hi8(827)
 100               	.LBB7:
 101               	/* #APP */
 102 0070 8115      		cp  r24,__zero_reg__ 
 103 0072 9105      		cpc r25,__zero_reg__ 
 104 0074 11F0      		breq L_Exit_57       
 105               		L_LOOP_57:           
 106 0076 0197      		sbiw r24,1            
 107 0078 F1F7      		brne L_LOOP_57       
 108               		L_Exit_57:           
 109               		
 110               	/* #NOAPP */
 111               	.LBE7:
 112               	.LBE6:
 113               	.LM12:
 114 007a 8081      		ld r24,Z
 115 007c 8223      		and r24,r18
 116 007e 09F4      		brne .L5
 117               	.LM13:
 118 0080 41E0      		ldi r20,lo8(1)
 119               	.L5:
 120               	.LM14:
 121 0082 842F      		mov r24,r20
 122 0084 9927      		clr r25
 123               	/* epilogue: frame size=0 */
 124 0086 0895      		ret
 125               	/* epilogue end (size=1) */
 126               	/* function ow_reset size 103 (102) */
 127               	.LFE8:
 129               	.global	ow_set_bus
 131               	ow_set_bus:
 132               	.LFB4:
 133               	.LM15:
 134               	/* prologue: frame size=0 */
 135               	/* prologue end (size=0) */
 136 0088 5093 0000 		sts (OW_DDR)+1,r21
 137 008c 4093 0000 		sts OW_DDR,r20
 138               	.LM16:
 139 0090 7093 0000 		sts (OW_OUT)+1,r23
 140 0094 6093 0000 		sts OW_OUT,r22
 141               	.LM17:
 142 0098 9093 0000 		sts (OW_IN)+1,r25
 143 009c 8093 0000 		sts OW_IN,r24
 144               	.LM18:
 145 00a0 81E0      		ldi r24,lo8(1)
 146 00a2 90E0      		ldi r25,hi8(1)
 147 00a4 02C0      		rjmp 2f
 148 00a6 880F      	1:	lsl r24
 149 00a8 991F      		rol r25
 150 00aa 2A95      	2:	dec r18
 151 00ac E2F7      		brpl 1b
 152 00ae 8093 0000 		sts OW_PIN_MASK,r24
 153               	.LM19:
 154 00b2 0E94 0000 		call ow_reset
 155               	/* epilogue: frame size=0 */
 156 00b6 0895      		ret
 157               	/* epilogue end (size=1) */
 158               	/* function ow_set_bus size 25 (24) */
 159               	.LFE4:
 161               	.global	ow_input_pin_state
 163               	ow_input_pin_state:
 164               	.LFB5:
 165               	.LM20:
 166               	/* prologue: frame size=0 */
 167               	/* prologue end (size=0) */
 168 00b8 E091 0000 		lds r30,OW_IN
 169 00bc F091 0000 		lds r31,(OW_IN)+1
 170 00c0 8081      		ld r24,Z
 171 00c2 9091 0000 		lds r25,OW_PIN_MASK
 172 00c6 8923      		and r24,r25
 173               	.LM21:
 174 00c8 9927      		clr r25
 175               	/* epilogue: frame size=0 */
 176 00ca 0895      		ret
 177               	/* epilogue end (size=1) */
 178               	/* function ow_input_pin_state size 10 (9) */
 179               	.LFE5:
 181               	.global	ow_parasite_enable
 183               	ow_parasite_enable:
 184               	.LFB6:
 185               	.LM22:
 186               	/* prologue: frame size=0 */
 187               	/* prologue end (size=0) */
 188 00cc E091 0000 		lds r30,OW_OUT
 189 00d0 F091 0000 		lds r31,(OW_OUT)+1
 190 00d4 8081      		ld r24,Z
 191 00d6 9091 0000 		lds r25,OW_PIN_MASK
 192 00da 892B      		or r24,r25
 193 00dc 8083      		st Z,r24
 194               	.LM23:
 195 00de E091 0000 		lds r30,OW_DDR
 196 00e2 F091 0000 		lds r31,(OW_DDR)+1
 197 00e6 8081      		ld r24,Z
 198 00e8 9091 0000 		lds r25,OW_PIN_MASK
 199 00ec 892B      		or r24,r25
 200 00ee 8083      		st Z,r24
 201               	/* epilogue: frame size=0 */
 202 00f0 0895      		ret
 203               	/* epilogue end (size=1) */
 204               	/* function ow_parasite_enable size 19 (18) */
 205               	.LFE6:
 207               	.global	ow_parasite_disable
 209               	ow_parasite_disable:
 210               	.LFB7:
 211               	.LM24:
 212               	/* prologue: frame size=0 */
 213               	/* prologue end (size=0) */
 214 00f2 E091 0000 		lds r30,OW_OUT
 215 00f6 F091 0000 		lds r31,(OW_OUT)+1
 216 00fa 9091 0000 		lds r25,OW_PIN_MASK
 217 00fe 9095      		com r25
 218 0100 8081      		ld r24,Z
 219 0102 8923      		and r24,r25
 220 0104 8083      		st Z,r24
 221               	.LM25:
 222 0106 E091 0000 		lds r30,OW_DDR
 223 010a F091 0000 		lds r31,(OW_DDR)+1
 224 010e 9091 0000 		lds r25,OW_PIN_MASK
 225 0112 9095      		com r25
 226 0114 8081      		ld r24,Z
 227 0116 8923      		and r24,r25
 228 0118 8083      		st Z,r24
 229               	/* epilogue: frame size=0 */
 230 011a 0895      		ret
 231               	/* epilogue end (size=1) */
 232               	/* function ow_parasite_disable size 21 (20) */
 233               	.LFE7:
 235               	.global	ow_bit_io
 237               	ow_bit_io:
 238               	.LFB9:
 239               	.LM26:
 240               	/* prologue: frame size=0 */
 241               	/* prologue end (size=0) */
 242 011c 382F      		mov r19,r24
 243               	.LM27:
 244 011e 4FB7      		in r20,95-0x20
 245               	.LM28:
 246               	/* #APP */
 247 0120 F894      		cli
 248               	.LM29:
 249               	/* #NOAPP */
 250 0122 E091 0000 		lds r30,OW_DDR
 251 0126 F091 0000 		lds r31,(OW_DDR)+1
 252 012a 8081      		ld r24,Z
 253 012c 9091 0000 		lds r25,OW_PIN_MASK
 254 0130 892B      		or r24,r25
 255 0132 8083      		st Z,r24
 256               	.LBB8:
 257               	.LM30:
 258 0134 81E0      		ldi r24,lo8(1)
 259 0136 90E0      		ldi r25,hi8(1)
 260               	.LBB9:
 261               	/* #APP */
 262 0138 8115      		cp  r24,__zero_reg__ 
 263 013a 9105      		cpc r25,__zero_reg__ 
 264 013c 11F0      		breq L_Exit_155       
 265               		L_LOOP_155:           
 266 013e 0197      		sbiw r24,1            
 267 0140 F1F7      		brne L_LOOP_155       
 268               		L_Exit_155:           
 269               		
 270               	/* #NOAPP */
 271               	.LBE9:
 272               	.LBE8:
 273               	.LM31:
 274 0142 3323      		tst r19
 275 0144 51F0      		breq .L12
 276               	.LM32:
 277 0146 E091 0000 		lds r30,OW_DDR
 278 014a F091 0000 		lds r31,(OW_DDR)+1
 279 014e 9091 0000 		lds r25,OW_PIN_MASK
 280 0152 9095      		com r25
 281 0154 8081      		ld r24,Z
 282 0156 8923      		and r24,r25
 283 0158 8083      		st Z,r24
 284               	.L12:
 285               	.LBB10:
 286               	.LM33:
 287 015a 89E1      		ldi r24,lo8(25)
 288 015c 90E0      		ldi r25,hi8(25)
 289               	.LBB11:
 290               	/* #APP */
 291 015e 8115      		cp  r24,__zero_reg__ 
 292 0160 9105      		cpc r25,__zero_reg__ 
 293 0162 11F0      		breq L_Exit_175       
 294               		L_LOOP_175:           
 295 0164 0197      		sbiw r24,1            
 296 0166 F1F7      		brne L_LOOP_175       
 297               		L_Exit_175:           
 298               		
 299               	/* #NOAPP */
 300               	.LBE11:
 301               	.LBE10:
 302               	.LM34:
 303 0168 E091 0000 		lds r30,OW_IN
 304 016c F091 0000 		lds r31,(OW_IN)+1
 305 0170 E081      		ld r30,Z
 306 0172 2091 0000 		lds r18,OW_PIN_MASK

⌨️ 快捷键说明

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