📄 plane050930v01.lst
字号:
958 0001E5 81EB(2) jmp disasm90
959 0001E6 disasm80:
960 0001E6 @p00_edge 2 ;出错,设为下降沿中断
961 0001E6 2D10(1) MOV A,#00010000B
962 0001E7 2FBF(1) B0MOV PEDGE,A
963 0001E8 2B09(1) clr inputcount
964 0001E9 2B14(1) clr levecount
965 0001EA 4722(1) bclr firstflag
966 0001EB disasm90:
967 0001EB P00INTR90:
968 0001EB 8113(2) jmp Interrupt90
969 0001EC ;***********************************************
970 0001EC mnint:
971 0001EC 5F21(1+S) bts1 t5msflag
972 0001ED 81F8(2) jmp mnint90
973 0001EE 4721(1) bclr t5msflag
974 0001EF C240(2) call dkeychat
975 0001F0 mnint10:
976 0001F0 161C(1+S) incms timer500ms
977 0001F1 0000(1) nop
978 0001F2 1E1C(1) mov a,timer500ms
979 0001F3 2464(1) sub a,#100
980 0001F4 5A86(1+S) bts1 fc
981 0001F5 81F8(2) jmp mnint90
982 0001F6 2B1C(1) clr timer500ms
983 0001F7 4E21(1) bset t500msflag
984 0001F8
985 0001F8 mnint90:
986 0001F8 0E00(2) ret
987 0001F9 ;***********************************************
988 0001F9
989 0001F9 signaltable:
990 0001F9 0030(1) dw 030h ;0
991 0001FA 003F(1) dw 03fh ;1
992 0001FB 004F(1) dw 04fh ;2
993 0001FC 005E(1) dw 05eh ;3
994 0001FD 006E(1) dw 06eh ;4
995 0001FE 007D(1) dw 07dh ;5
996 0001FF 008D(1) dw 08dh ;6
997 000200 009C(1) dw 09ch ;7
998 000201 00AC(1) dw 0ach ;8
999 000202 00BB(1) dw 0bbh ;9
1000 000203 00CB(1) dw 0cbh ;10
1001 000204 00FF(1) dw 0ffh ;11
1002 000205
1003 000205
1004 000205
1005 000205 include key.asm
1006 000205 ;**********************************************
1007 000205 ;Name :mnkey
1008 000205 ;Function:
1009 000205 ;Input :
1010 000205 ;Output :
1011 000205 ;Register Used:
1012 000205 ;***********************************************
1013 000205 mnkey:
1014 000205
1015 000205 5822(1+S) bts1 csxenbflag
1016 000206 820A(2) jmp mnkey90
1017 000207 C20B(2) call keyin
1018 000208 C215(2) call keychk
1019 000209 C227(2) call keycvt
1020 00020A mnkey90:
1021 00020A 0E00(2) ret
1022 00020B ;**********************************************
1023 00020B ;Name :keyin
1024 00020B ;Function:
1025 00020B ;Input :
1026 00020B ;Output :
1027 00020B ;Register Used:
1028 00020B ;***********************************************
1029 00020B keyin:
1030 00020B 2B02(1) clr keyinbuf
1031 00020C 70D5(1+S) b0bts0 ptcsx1
1032 00020D 4802(1) bset keyinbuf.0
1033 00020E
1034 00020E 71D5(1+S) b0bts0 ptcsx2
1035 00020F 4902(1) bset keyinbuf.1
1036 000210
1037 000210 72D5(1+S) b0bts0 ptcsx3
1038 000211 4A02(1) bset keyinbuf.2
1039 000212
1040 000212 73D5(1+S) b0bts0 ptcsx4
1041 000213 4B02(1) bset keyinbuf.3
1042 000214
1043 000214 ; b0bts0 ptcsy1
1044 000214 ; bset keyinbuf.0
1045 000214
1046 000214 ; b0bts0 ptcsy2
1047 000214 ; bset keyinbuf.1
1048 000214
1049 000214 ; b0bts0 ptcsy3
1050 000214 ; bset keyinbuf.2
1051 000214
1052 000214 ; b0bts0 ptcsy4
1053 000214 ; bset keyinbuf.3
1054 000214 keyin90:
1055 000214 0E00(2) ret
1056 000215 ;**********************************************
1057 000215 ;Name :keychk
1058 000215 ;Function:
1059 000215 ;Input :
1060 000215 ;Output :
1061 000215 ;Register Used:
1062 000215 ;***********************************************
1063 000215 keychk:
1064 000215 1E02(1) mov a,keyinbuf
1065 000216 0703(1+S) cmprs a,keychkbuf
1066 000217 8221(2) jmp keychk10
1067 000218 7823(1+S) b0bts1 keystatflag
1068 000219 8226(2) jmp keychk90
1069 00021A 1E06(1) mov a,keychat
1070 00021B 7886(1+S) b0bts1 fz
1071 00021C 8226(2) jmp keychk90
1072 00021D 1E03(1) mov a,keychkbuf
1073 00021E 1F04(1) mov keycvtbuf,a
1074 00021F 4023(1) bclr keystatflag
1075 000220 8226(2) jmp keychk90
1076 000221 keychk10:
1077 000221 4823(1) bset keystatflag
1078 000222 mov_ keychkbuf,keyinbuf
1079 000222 1E02(1) mov a, keyinbuf
1080 000223 1F03(1) mov keychkbuf, a
1081 000224 mov_ keychat,#2
1082 000224 2D02(1) mov a, #2
1083 000225 1F06(1) mov keychat, a
1084 000226 keychk90:
1085 000226 0E00(2) ret
1086 000227 ;**********************************************
1087 000227 ;Name :keycvt
1088 000227 ;Function:
1089 000227 ;Input :
1090 000227 ;Output :
1091 000227 ;Register Used:
1092 000227 ;***********************************************
1093 000227 keycvt:
1094 000227 1E04(1) mov a,keycvtbuf
1095 000228 0705(1+S) cmprs a,keyoldbuf
1096 000229 822B(2) jmp keycvtcsx10
1097 00022A 823F(2) jmp keycvt90
1098 00022B keycvtcsx10:
1099 00022B 1E04(1) mov a,keycvtbuf
1100 00022C 1F05(1) mov keyoldbuf,a
1101 00022D 2A0F(1) and a,#00001111b
1102 00022E 1F07(1) mov csxtable,a
1103 00022F 8230(2) jmp $+1
1104 000230 8231(2) jmp $+1
1105 000231 2B19(1) clr tablecount
1106 000232 chkcsxtable:
1107 000232
1108 000232 3402(1) b0mov y,#tablecsx$m
1109 000233 3346(1) b0mov z,#tablecsx$l
1110 000234 1E19(1) mov a,tablecount
1111 000235 1383(1) add z,a
1112 000236 2D00(1) mov a,#0
1113 000237 1184(1) adc y,a
1114 000238 0D00(2) movc
1115 000239 0707(1+S) cmprs a,csxtable
1116 00023A 823C(2) jmp csxtableadd
1117 00023B 823F(2) jmp chkcsxtableend
1118 00023C csxtableadd:
1119 00023C 1619(1+S) incms tablecount
1120 00023D 0000(1) nop
1121 00023E 8232(2) jmp chkcsxtable
1122 00023F chkcsxtableend: ;根据所测的数据对飞机执行平衡动作
1123 00023F
1124 00023F
1125 00023F keycvt90:
1126 00023F 0E00(2) ret
1127 000240 ;**********************************************
1128 000240 ;Name :dkeychat
1129 000240 ;Function:
1130 000240 ;Input :
1131 000240 ;Output :
1132 000240 ;Register Used:
1133 000240 ;***********************************************
1134 000240 dkeychat:
1135 000240 2E06(1) b0mov A,keychat
1136 000241 7086(1+S) b0bts0 fz ; is keychat <> 0
1137 000242 8245(2) jmp dkeychat90 ; is A = 0
1138 000243 2606(1+S) decms keychat ; keychat --
1139 000244 8245(2) jmp dkeychat90
1140 000245
1141 000245 dkeychat90:
1142 000245 0E00(2) ret
1143 000246 ;***********************************************
1144 000246 tablecsx:
1145 000246 0000(1) dw 00h ;0 不响应
1146 000247 0009(1) dw 09h ;1 0度
1147 000248 0001(1) dw 01h ;2 0-90之间
1148 000249 000E(1) dw 0eh ;3 45度
1149 00024A 0003(1) dw 03h ;4 90度
1150 00024B 0002(1) dw 02h ;5 90-180之间
1151 00024C 000D(1) dw 0dh ;6 135度
1152 00024D 0006(1) dw 06h ;7 180度
1153 00024E 0004(1) dw 04h ;8 180-270之间
1154 00024F 000B(1) dw 0bh ;9 225度
1155 000250 000C(1) dw 0ch ;10 270度
1156 000251 0008(1) dw 08h ;11 270-360之间
1157 000252 0007(1) dw 07h ;12 315度
1158 000253
1159 000253
1160 000253 /*
1161 000253 dw 09h ;1 0度
1162 000253 dw 00h ;2
1163 000253 dw 01h ;3
1164 000253 dw 00h ;4
1165 000253 dw 01h ;5
1166 000253 dw 00h ;6
1167 000253 dw 01h ;7
1168 000253 dw 0eh ;8 45度
1169 000253 dw 01h ;9
1170 000253 dw 00h ;10
1171 000253 dw 01h ;11
1172 000253 dw 00h ;12
1173 000253 dw 01h ;13
1174 000253 dw 00h ;14
1175 000253 dw 03h ;15 90度
1176 000253 dw 00h ;16
1177 000253 dw 02h ;17
1178 000253 dw 00h ;18
1179 000253 dw 02h ;19
1180 000253 dw 00h ;20
1181 000253 dw 02h ;21
1182 000253 dw 0dh ;22 135度
1183 000253 dw 02h ;23
1184 000253 dw 00h ;24
1185 000253 dw 02h ;25
1186 000253 dw 00h ;26
1187 000253 dw 02h ;27
1188 000253 dw 00h ;28
1189 000253 dw 06h ;29 180度
1190 000253 dw 00h ;30
1191 000253 dw 04h ;31
1192 000253 dw 00h ;32
1193 000253 dw 04h ;33
1194 000253 dw 00h ;34
1195 000253 dw 04h ;35
1196 000253 dw 0bh ;36 225度
1197 000253 dw 04h ;37
1198 000253 dw 00h ;38
1199 000253 dw 04h ;39
1200 000253 dw 00h ;40
1201 000253 dw 04h ;41
1202 000253 dw 00h ;42
1203 000253 dw 0ch ;43 270度
1204 000253 dw 00h ;44
1205 000253 dw 08h ;45
1206 000253 dw 00h ;46
1207 000253 dw 08h ;47
1208 000253 dw 00h ;48
1209 000253 dw 08h ;49
1210 000253 dw 07h ;50 315度
1211 000253 dw 08h ;51
1212 000253 dw 00h ;52
1213 000253 dw 08h ;53
1214 000253 dw 00h ;54
1215 000253 dw 08h ;55
1216 000253 dw 00h ;56
1217 000253 dw 09h ;57 360度
1218 000253 */
1219 000253 /* b0bts0 keycvtbuf.0
1220 000253 jmp keycvtcsx11
1221 000253 bts1 keyoldbuf.0
1222 000253 jmp keycvtcsx20
1223 000253
1224 000253 jmp keycvtcsx20
1225 000253 keycvtcsx11:
1226 000253 bts0 keyoldbuf.0
1227 000253 jmp keycvtcsx20
1228 000253
1229 000253
1230 000253 jmp keycvtcsx20
1231 000253 keycvtcsx20:
1232 000253 b0bts0 keycvtbuf.0
1233 000253 jmp keycvtcsx11
1234 000253 bts1 keyoldbuf.0
1235 000253 jmp keycvtcsx20
1236 000253
1237 000253 jmp keycvtcsx20
1238 000253 keycvtcsx11:
1239 000253 bts0 keyoldbuf.0
1240 000253 jmp keycvtcsx20
1241 000253
1242 000253
1243 000253 jmp keycvtcsx20
1244 000253 keycvtcsx20:
1245 000253 b0bts0 keycvtbuf.0
1246 000253 jmp keycvtcsx11
1247 000253 bts1 keyoldbuf.0
1248 000253 jmp keycvtcsx20
1249 000253
1250 000253 jmp keycvtcsx20
1251 000253 keycvtcsx11:
1252 000253 bts0 keyoldbuf.0
1253 000253 jmp keycvtcsx20
1254 000253
1255 000253
1256 000253 jmp keycvtcsx20
1257 000253 keycvtcsx20:
1258 000253 b0bts0 keycvtbuf.0
1259 000253 jmp keycvtcsx11
1260 000253 bts1 keyoldbuf.0
1261 000253 jmp keycvtcsx20
1262 000253
1263 000253 jmp keycvtcsx20
1264 000253 keycvtcsx11:
1265 000253 bts0 keyoldbuf.0
1266 000253 jmp keycvtcsx20
1267 000253
1268 000253
1269 000253 jmp keycvtcsx20
1270 000253 keycvtcsx20:
1271 000253 */
1272 000253 ; include disasm.asm
1273 000253 ;***********************************************
1274 000253 endp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -