📄 main.ls
字号:
1 ; C Compiler for ST7 (COSMIC Software)
2 ; Generator V4.5.5 - 12 Jan 2006
882 ; 13 void main (void)
882 ; 14 {
883 switch .text
885 xref.b _main$L
886 0000 _main:
889 ; 15 unsigned char Pin = 0;
891 0000 3fff clr _main$L-1
892 ; 17 ITC_Init (); /* 初始化ITC */
894 0002 cd0000 call _ITC_Init
896 ; 19 IO_Output(IO_PUSH_PULL,IO_PORT_A,((unsigned char)IO_PIN_4 |
896 ; 20 (unsigned char)IO_PIN_2 ));
898 0005 a614 ld a,#20
899 0007 b702 ld _IO_Output$L+2,a
900 0009 4f clr a
901 000a ae02 ld x,#2
902 000c cd0000 call _IO_Output
904 ; 22 ITC_ConfigureInterrupt(IT_PortB,Pin, IT_EDGE_F);
906 000f a602 ld a,#2
907 0011 b702 ld _ITC_ConfigureInterrupt$L+2,a
908 0013 b6ff ld a,_main$L-1
909 0015 ae02 ld x,#2
910 0017 cd0000 call _ITC_ConfigureInterrupt
912 ; 25 EnableInterrupts; /*使能中断*/
915 001a 9a RIM
917 ; 27 }
921 001b 81 ret
957 ; 45 void EI3_IT_Routine (void)
957 ; 46 {
958 switch .text
960 xref.b _EI3_IT_Routine$L
961 001c _EI3_IT_Routine:
963 001c 9089 push y
964 001e b600 ld a,c_x
965 0020 b700 ld _EI3_IT_Routine$L+0,a
966 0022 b601 ld a,c_x+1
967 0024 b701 ld _EI3_IT_Routine$L+1,a
968 0026 b600 ld a,c_y
969 0028 b702 ld _EI3_IT_Routine$L+2,a
970 002a b601 ld a,c_y+1
971 002c b703 ld _EI3_IT_Routine$L+3,a
973 ; 49 IO_Write (IO_PORT_A,IO_PIN_2,IO_DATA_LOW); /* 在PA2打开LED*/
975 002e a602 ld a,#2
976 0030 b702 ld _IO_Write$L+2,a
977 0032 a604 ld a,#4
978 0034 5f clr x
979 0035 cd0000 call _IO_Write
981 ; 51 for ( i=0;i<=1000;i++) /* 延时 */
983 0038 3ffe clr _EI3_IT_Routine$L-2
984 003a 3fff clr _EI3_IT_Routine$L-1
985 003c L525:
986 ; 53 Nop
989 003c 9d nop
991 ; 51 for ( i=0;i<=1000;i++) /* 延时 */
993 003d 3cff inc _EI3_IT_Routine$L-1
994 003f 2602 jrne L01
995 0041 3cfe inc _EI3_IT_Routine$L-2
996 0043 L01:
999 0043 b6ff ld a,_EI3_IT_Routine$L-1
1000 0045 a0e9 sub a,#233
1001 0047 b6fe ld a,_EI3_IT_Routine$L-2
1002 0049 a203 sbc a,#3
1003 004b 25ef jrult L525
1004 ; 55 IO_Write (IO_PORT_A,IO_PIN_2,IO_DATA_HIGH); /* 在PA2关闭LED */
1006 004d a601 ld a,#1
1007 004f b702 ld _IO_Write$L+2,a
1008 0051 a604 ld a,#4
1009 0053 5f clr x
1010 0054 cd0000 call _IO_Write
1012 ; 57 ClearInterrupts
1015 0057 80 IRET
1017 ; 58 }
1020 0058 b600 ld a,_EI3_IT_Routine$L+0
1021 005a b700 ld c_x,a
1022 005c b601 ld a,_EI3_IT_Routine$L+1
1023 005e b701 ld c_x+1,a
1024 0060 b602 ld a,_EI3_IT_Routine$L+2
1025 0062 b700 ld c_y,a
1026 0064 b603 ld a,_EI3_IT_Routine$L+3
1027 0066 b701 ld c_y+1,a
1028 0068 9085 pop y
1029 006a 80 iret
1066 ; 75 void EI2_IT_Routine (void)
1066 ; 76 {
1067 switch .text
1069 xref.b _EI2_IT_Routine$L
1070 006b _EI2_IT_Routine:
1072 006b 9089 push y
1073 006d b600 ld a,c_x
1074 006f b700 ld _EI2_IT_Routine$L+0,a
1075 0071 b601 ld a,c_x+1
1076 0073 b701 ld _EI2_IT_Routine$L+1,a
1077 0075 b600 ld a,c_y
1078 0077 b702 ld _EI2_IT_Routine$L+2,a
1079 0079 b601 ld a,c_y+1
1080 007b b703 ld _EI2_IT_Routine$L+3,a
1082 ; 79 count++;
1084 007d be00 ld x,_count
1085 007f b601 ld a,_count+1
1086 0081 4c inc a
1087 0082 2601 jrne L41
1088 0084 5c inc x
1089 0085 L41:
1090 0085 bf00 ld _count,x
1091 0087 b701 ld _count+1,a
1092 ; 80 if(count == 5000)
1094 0089 b601 ld a,_count+1
1095 008b a188 cp a,#136
1096 008d 2604 jrne L61
1097 008f be00 ld x,_count
1098 0091 a313 cp x,#19
1099 0093 L61:
1100 0093 2626 jrne L155
1101 ; 82 Temp = IO_Read (IO_PORT_A ); /* 切换PA4 */
1103 0095 4f clr a
1104 0096 cd0000 call _IO_Read
1106 0099 b7ff ld _EI2_IT_Routine$L-1,a
1107 ; 83 if (Temp & 0x08)
1109 009b b6ff ld a,_EI2_IT_Routine$L-1
1110 009d a508 bcp a,#8
1111 009f 270c jreq L355
1112 ; 85 IO_Write (IO_PORT_A,IO_PIN_4,IO_DATA_LOW); /* 在PA4打开LED */
1114 00a1 a602 ld a,#2
1115 00a3 b702 ld _IO_Write$L+2,a
1116 00a5 a610 ld a,#16
1117 00a7 5f clr x
1118 00a8 cd0000 call _IO_Write
1121 00ab 200a jra L555
1122 00ad L355:
1123 ; 89 IO_Write (IO_PORT_A,IO_PIN_4,IO_DATA_HIGH); /* 在PA4关闭LED */
1125 00ad a601 ld a,#1
1126 00af b702 ld _IO_Write$L+2,a
1127 00b1 a610 ld a,#16
1128 00b3 5f clr x
1129 00b4 cd0000 call _IO_Write
1131 00b7 L555:
1132 ; 91 count = 0;
1134 00b7 3f00 clr _count
1135 00b9 3f01 clr _count+1
1136 00bb L155:
1137 ; 94 ClearInterrupts
1140 00bb 80 IRET
1142 ; 95 }
1145 00bc b600 ld a,_EI2_IT_Routine$L+0
1146 00be b700 ld c_x,a
1147 00c0 b601 ld a,_EI2_IT_Routine$L+1
1148 00c2 b701 ld c_x+1,a
1149 00c4 b602 ld a,_EI2_IT_Routine$L+2
1150 00c6 b700 ld c_y,a
1151 00c8 b603 ld a,_EI2_IT_Routine$L+3
1152 00ca b701 ld c_y+1,a
1153 00cc 9085 pop y
1154 00ce 80 iret
1177 switch .ubsct
1178 0000 _count:
1179 0000 0000 ds.b 2
1180 xdef _count
1181 xdef _main
1182 xdef _EI2_IT_Routine
1183 xdef _EI3_IT_Routine
1184 xref _ITC_ConfigureInterrupt
1185 xref _ITC_Init
1186 xref _IO_Write
1187 xref _IO_Read
1188 xref _IO_Output
1189 xref.b c_x
1190 xref.b c_y
1210 xref.b _IO_Write$L
1211 xref.b _ITC_ConfigureInterrupt$L
1212 xref.b _IO_Output$L
1213 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -