📄 main.ls
字号:
973 01b2 be04 ldw x,_f
974 01b4 a31791 cpw x,#6033
975 01b7 2560 jrult L153
977 01b9 be04 ldw x,_f
978 01bb a31cb8 cpw x,#7352
979 01be 2459 jruge L153
980 ; 24 if(f>6330)
982 01c0 be04 ldw x,_f
983 01c2 a318bb cpw x,#6331
984 01c5 2527 jrult L353
985 ; 26 RH=588-0.08*f;
987 01c7 be04 ldw x,_f
988 01c9 cd0000 call c_uitof
990 01cc ae0014 ldw x,#L163
991 01cf cd0000 call c_fmul
993 01d2 96 ldw x,sp
994 01d3 1c0001 addw x,#OFST-3
995 01d6 cd0000 call c_rtol
997 01d9 ae024c ldw x,#588
998 01dc cd0000 call c_itof
1000 01df 96 ldw x,sp
1001 01e0 1c0001 addw x,#OFST-3
1002 01e3 cd0000 call c_fsub
1004 01e6 ae0000 ldw x,#_RH
1005 01e9 cd0000 call c_rtol
1008 01ec 2025 jra L563
1009 01ee L353:
1010 ; 30 RH=586-0.08*f;
1012 01ee be04 ldw x,_f
1013 01f0 cd0000 call c_uitof
1015 01f3 ae0014 ldw x,#L163
1016 01f6 cd0000 call c_fmul
1018 01f9 96 ldw x,sp
1019 01fa 1c0001 addw x,#OFST-3
1020 01fd cd0000 call c_rtol
1022 0200 ae024a ldw x,#586
1023 0203 cd0000 call c_itof
1025 0206 96 ldw x,sp
1026 0207 1c0001 addw x,#OFST-3
1027 020a cd0000 call c_fsub
1029 020d ae0000 ldw x,#_RH
1030 0210 cd0000 call c_rtol
1032 0213 L563:
1033 ; 32 return RH;
1035 0213 ae0000 ldw x,#_RH
1036 0216 cd0000 call c_ltor
1039 0219 L153:
1040 ; 34 }
1041 0219 L63:
1044 0219 5b04 addw sp,#4
1045 021b 81 ret
1123 ; 37 void main()
1123 ; 38 {
1124 switch .text
1125 021c _main:
1127 021c 5208 subw sp,#8
1128 00000008 OFST: set 8
1131 ; 39 u8 *p1="Hello,world.YSU";
1133 021e ae0004 ldw x,#L124
1134 0221 1f07 ldw (OFST-1,sp),x
1135 ; 41 u16 Conversion_Value = 0;
1137 0223 1e07 ldw x,(OFST-1,sp)
1138 ; 42 TIM2_ICInit(TIM2_CHANNEL_1, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0);
1140 0225 4b00 push #0
1141 0227 4b00 push #0
1142 0229 4b01 push #1
1143 022b 5f clrw x
1144 022c 4f clr a
1145 022d 95 ld xh,a
1146 022e cd0000 call _TIM2_ICInit
1148 0231 5b03 addw sp,#3
1149 ; 44 TIM2_Cmd(ENABLE); //使能TIM2计数
1151 0233 a601 ld a,#1
1152 0235 cd0000 call _TIM2_Cmd
1154 ; 47 TIM2_ClearFlag(TIM2_FLAG_CC1);
1156 0238 ae0002 ldw x,#2
1157 023b cd0000 call _TIM2_ClearFlag
1159 ; 52 GPIO_Init(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST );
1161 023e 4be0 push #224
1162 0240 4b0e push #14
1163 0242 ae500a ldw x,#20490
1164 0245 cd0000 call _GPIO_Init
1166 0248 85 popw x
1167 ; 54 GPIO_Init(GPIOB, (GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 |GPIO_PIN_7 |GPIO_PIN_0), GPIO_MODE_OUT_PP_LOW_FAST );
1169 0249 4be0 push #224
1170 024b 4bff push #255
1171 024d ae5005 ldw x,#20485
1172 0250 cd0000 call _GPIO_Init
1174 0253 85 popw x
1175 ; 57 lcd162a_Reset();
1177 0254 cd00b2 call _lcd162a_Reset
1179 ; 58 lcd162a_cls();
1181 0257 cd0034 call _lcd162a_cls
1183 ; 59 lcd162a_ePutstr(1,1,p1);
1185 025a 1e07 ldw x,(OFST-1,sp)
1186 025c 89 pushw x
1187 025d ae0001 ldw x,#1
1188 0260 a601 ld a,#1
1189 0262 95 ld xh,a
1190 0263 cd0065 call _lcd162a_ePutstr
1192 0266 85 popw x
1193 ; 75 delay_ms(2000);//lcd162c中有定义,延迟2s
1195 0267 ae07d0 ldw x,#2000
1196 026a cd0000 call _delay_ms
1199 026d L524:
1200 ; 79 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
1202 026d c65302 ld a,21250
1203 0270 a402 and a,#2
1204 0272 a102 cp a,#2
1205 0274 26f7 jrne L524
1206 ; 83 t1 = TIM2_GetCapture1();
1208 0276 cd0000 call _TIM2_GetCapture1
1210 0279 bf08 ldw _t1,x
1211 ; 85 TIM2_ClearFlag(TIM2_FLAG_CC1);
1213 027b ae0002 ldw x,#2
1214 027e cd0000 call _TIM2_ClearFlag
1217 0281 L334:
1218 ; 90 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
1220 0281 c65302 ld a,21250
1221 0284 a402 and a,#2
1222 0286 a102 cp a,#2
1223 0288 26f7 jrne L334
1224 ; 94 t2 = TIM2_GetCapture1();
1226 028a cd0000 call _TIM2_GetCapture1
1228 028d bf06 ldw _t2,x
1229 ; 96 TIM2_ClearFlag(TIM2_FLAG_CC1);
1231 028f ae0002 ldw x,#2
1232 0292 cd0000 call _TIM2_ClearFlag
1234 ; 98 t=t2-t1;
1236 0295 be06 ldw x,_t2
1237 0297 72b00008 subw x,_t1
1238 029b bf00 ldw _t,x
1239 ; 102 Conversion_Value=2000000/t;
1241 029d be00 ldw x,_t
1242 029f cd0000 call c_uitolx
1244 02a2 96 ldw x,sp
1245 02a3 1c0001 addw x,#OFST-7
1246 02a6 cd0000 call c_rtol
1248 02a9 ae8480 ldw x,#33920
1249 02ac bf02 ldw c_lreg+2,x
1250 02ae ae001e ldw x,#30
1251 02b1 bf00 ldw c_lreg,x
1252 02b3 96 ldw x,sp
1253 02b4 1c0001 addw x,#OFST-7
1254 02b7 cd0000 call c_ldiv
1256 02ba be02 ldw x,c_lreg+2
1257 02bc 1f07 ldw (OFST-1,sp),x
1258 ; 103 f=Conversion_Value;
1260 02be 1e07 ldw x,(OFST-1,sp)
1261 02c0 bf04 ldw _f,x
1262 ; 104 hs1101( );
1264 02c2 cd01b0 call _hs1101
1266 ; 110 shi=RH/10;
1268 02c5 ae0000 ldw x,#_RH
1269 02c8 cd0000 call c_ltor
1271 02cb ae0000 ldw x,#L344
1272 02ce cd0000 call c_fdiv
1274 02d1 cd0000 call c_ftol
1276 02d4 b603 ld a,c_lreg+3
1277 02d6 6b05 ld (OFST-3,sp),a
1278 ; 111 ge=(u8)RH%10;
1280 02d8 ae0000 ldw x,#_RH
1281 02db cd0000 call c_ltor
1283 02de cd0000 call c_ftol
1285 02e1 b603 ld a,c_lreg+3
1286 02e3 ae000a ldw x,#10
1287 02e6 51 exgw x,y
1288 02e7 5f clrw x
1289 02e8 97 ld xl,a
1290 02e9 65 divw x,y
1291 02ea 909f ld a,yl
1292 02ec 6b06 ld (OFST-2,sp),a
1293 ; 112 lcd162a_DispOneChar(1,1,shi+48);
1295 02ee 7b05 ld a,(OFST-3,sp)
1296 02f0 ab30 add a,#48
1297 02f2 88 push a
1298 02f3 ae0001 ldw x,#1
1299 02f6 a601 ld a,#1
1300 02f8 95 ld xh,a
1301 02f9 cd0056 call _lcd162a_DispOneChar
1303 02fc 84 pop a
1304 ; 113 lcd162a_DispOneChar(1,2,ge+48);
1306 02fd 7b06 ld a,(OFST-2,sp)
1307 02ff ab30 add a,#48
1308 0301 88 push a
1309 0302 ae0002 ldw x,#2
1310 0305 a601 ld a,#1
1311 0307 95 ld xh,a
1312 0308 cd0056 call _lcd162a_DispOneChar
1314 030b 84 pop a
1315 ; 114 lcd162a_DispOneChar(1,3,37);
1317 030c 4b25 push #37
1318 030e ae0003 ldw x,#3
1319 0311 a601 ld a,#1
1320 0313 95 ld xh,a
1321 0314 cd0056 call _lcd162a_DispOneChar
1323 0317 84 pop a
1324 0318 L744:
1325 ; 125 lcd162a_cls();
1327 0318 cd0034 call _lcd162a_cls
1329 ; 126 TIM2_ClearFlag(TIM2_FLAG_CC1);
1331 031b ae0002 ldw x,#2
1332 031e cd0000 call _TIM2_ClearFlag
1335 0321 L554:
1336 ; 127 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
1338 0321 c65302 ld a,21250
1339 0324 a402 and a,#2
1340 0326 a102 cp a,#2
1341 0328 26f7 jrne L554
1342 ; 131 t1 = TIM2_GetCapture1();
1344 032a cd0000 call _TIM2_GetCapture1
1346 032d bf08 ldw _t1,x
1347 ; 133 TIM2_ClearFlag(TIM2_FLAG_CC1);
1349 032f ae0002 ldw x,#2
1350 0332 cd0000 call _TIM2_ClearFlag
1353 0335 L364:
1354 ; 138 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
1356 0335 c65302 ld a,21250
1357 0338 a402 and a,#2
1358 033a a102 cp a,#2
1359 033c 26f7 jrne L364
1360 ; 142 t2 = TIM2_GetCapture1();
1362 033e cd0000 call _TIM2_GetCapture1
1364 0341 bf06 ldw _t2,x
1365 ; 144 TIM2_ClearFlag(TIM2_FLAG_CC1);
1367 0343 ae0002 ldw x,#2
1368 0346 cd0000 call _TIM2_ClearFlag
1370 ; 146 t=t2-t1;
1372 0349 be06 ldw x,_t2
1373 034b 72b00008 subw x,_t1
1374 034f bf00 ldw _t,x
1375 ; 151 Conversion_Value=2000000/t;
1377 0351 be00 ldw x,_t
1378 0353 cd0000 call c_uitolx
1380 0356 96 ldw x,sp
1381 0357 1c0001 addw x,#OFST-7
1382 035a cd0000 call c_rtol
1384 035d ae8480 ldw x,#33920
1385 0360 bf02 ldw c_lreg+2,x
1386 0362 ae001e ldw x,#30
1387 0365 bf00 ldw c_lreg,x
1388 0367 96 ldw x,sp
1389 0368 1c0001 addw x,#OFST-7
1390 036b cd0000 call c_ldiv
1392 036e be02 ldw x,c_lreg+2
1393 0370 1f07 ldw (OFST-1,sp),x
1394 ; 153 f=Conversion_Value;
1396 0372 1e07 ldw x,(OFST-1,sp)
1397 0374 bf04 ldw _f,x
1398 ; 154 hs1101( );
1400 0376 cd01b0 call _hs1101
1402 ; 158 shi=RH/10;
1404 0379 ae0000 ldw x,#_RH
1405 037c cd0000 call c_ltor
1407 037f ae0000 ldw x,#L344
1408 0382 cd0000 call c_fdiv
1410 0385 cd0000 call c_ftol
1412 0388 b603 ld a,c_lreg+3
1413 038a 6b05 ld (OFST-3,sp),a
1414 ; 159 ge=(u8)RH%10;
1416 038c ae0000 ldw x,#_RH
1417 038f cd0000 call c_ltor
1419 0392 cd0000 call c_ftol
1421 0395 b603 ld a,c_lreg+3
1422 0397 ae000a ldw x,#10
1423 039a 51 exgw x,y
1424 039b 5f clrw x
1425 039c 97 ld xl,a
1426 039d 65 divw x,y
1427 039e 909f ld a,yl
1428 03a0 6b06 ld (OFST-2,sp),a
1429 ; 160 lcd162a_DispOneChar(1,1,shi+48);
1431 03a2 7b05 ld a,(OFST-3,sp)
1432 03a4 ab30 add a,#48
1433 03a6 88 push a
1434 03a7 ae0001 ldw x,#1
1435 03aa a601 ld a,#1
1436 03ac 95 ld xh,a
1437 03ad cd0056 call _lcd162a_DispOneChar
1439 03b0 84 pop a
1440 ; 161 lcd162a_DispOneChar(1,2,ge+48);
1442 03b1 7b06 ld a,(OFST-2,sp)
1443 03b3 ab30 add a,#48
1444 03b5 88 push a
1445 03b6 ae0002 ldw x,#2
1446 03b9 a601 ld a,#1
1447 03bb 95 ld xh,a
1448 03bc cd0056 call _lcd162a_DispOneChar
1450 03bf 84 pop a
1451 ; 162 lcd162a_DispOneChar(1,3,37);
1453 03c0 4b25 push #37
1454 03c2 ae0003 ldw x,#3
1455 03c5 a601 ld a,#1
1456 03c7 95 ld xh,a
1457 03c8 cd0056 call _lcd162a_DispOneChar
1459 03cb 84 pop a
1460 ; 175 delay_ms(500);//lcd162c中有定义
1462 03cc ae01f4 ldw x,#500
1463 03cf cd0000 call _delay_ms
1466 03d2 ac180318 jpf L744
1526 xdef _main
1527 xdef _hs1101
1528 switch .ubsct
1529 0000 _RH:
1530 0000 00000000 ds.b 4
1531 xdef _RH
1532 xdef _t
1533 0004 _f:
1534 0004 0000 ds.b 2
1535 xdef _f
1536 0006 _t2:
1537 0006 0000 ds.b 2
1538 xdef _t2
1539 0008 _t1:
1540 0008 0000 ds.b 2
1541 xdef _t1
1542 xdef _delay_us
1543 xdef _delay_ms
1544 xdef _LCD_BUSY
1545 xdef _lcd162a_ePutstr
1546 xdef _lcd162a_WriteData
1547 xdef _lcd162a_WriteCommand
1548 xdef _lcd162a_LocateXY
1549 xdef _lcd162a_cls
1550 xdef _lcd162a_DispOneChar
1551 xdef _lcd162a_Reset
1552 xref _TIM2_ClearFlag
1553 xref _TIM2_GetCapture1
1554 xref _TIM2_Cmd
1555 xref _TIM2_ICInit
1556 xref _GPIO_ReadInputData
1557 xref _GPIO_WriteLow
1558 xref _GPIO_WriteHigh
1559 xref _GPIO_Write
1560 xref _GPIO_Init
1561 .const: section .text
1562 0000 L344:
1563 0000 41200000 dc.w 16672,0
1564 0004 L124:
1565 0004 48656c6c6f2c dc.b "Hello,world.YSU",0
1566 0014 L163:
1567 0014 3da3d70a dc.w 15779,-10486
1568 xref.b c_lreg
1569 xref.b c_x
1589 xref c_ftol
1590 xref c_fdiv
1591 xref c_ldiv
1592 xref c_uitolx
1593 xref c_ltor
1594 xref c_fsub
1595 xref c_rtol
1596 xref c_fmul
1597 xref c_uitof
1598 xref c_itof
1599 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -