📄 t6620.lst
字号:
0862 0225 78C7 LDI PS2RET,01H
0863 0226 PS2OUTB_E: ;返回值为0-正确发送,1-发送失败
0864 0226 7497 ANDIM PBOUT,1001B
0865 0227 7F89 LDI PORTB,0FH
0866 ;LDI IRQ,0000B
0867 0228 7880 LDI IE,0001B
0868 0229 D400 RTNI
0869
0870 022A PS2HOOK:
0871 022A 7800 LDI IE,0000B
0872 022B 7817 LDI PBOUT,00H
0873 022C 7F89 LDI PORTB,0FH
0874 022D 78C7 LDI PS2RET,01H
0875 022E 7B20 LDI ACCBUF,0110B
0876 022F 3009 AND PORTB
0877 0230 823F BNZ PS2HOOK_E
0878 0231 PS2HOOK_1:
0879 0231 3809 LDA PORTB
0880 0232 FFFF NOP
0881 0233 AA35 BA1 PS2HOOK_2
0882 0234 E231 JMP PS2HOOK_1
0883 0235 PS2HOOK_2:
0884 0235 FFFF NOP
0885 0236 FFFF NOP
0886 0237 FFFF NOP
0887 0238 3809 LDA PORTB
0888 0239 B23F BA2 PS2HOOK_E
0889
0890 023A PS2HOOK_3:
0891 023A FFFF NOP
0892 023B FFFF NOP
0893 023C 3809 LDA PORTB
0894 023D B23F BA2 PS2HOOK_S0
0895 023E E23A JMP PS2HOOK_3
0896
0897 023F PS2HOOK_S0:
0898
0899 023F PS2HOOK_E:
0900 023F D400 RTNI
0901
0902
0903 0240 PS2INB:
0904 0240 7800 LDI IE,00H
0905 0241 7847 LDI PS2RET,00H
0906 0242 7848 LDI PS2TEMP,00H
0907 0243 7841 LDI PS2INL,00H
0908 0244 7840 LDI PS2INH,00H
0909 0245 7817 LDI PBOUT,0000B
0910 0246 PS2INB_0:
0911 0246 3809 LDA PORTB
0912 0247 FFFF NOP
0913 0248 3809 LDA PORTB
0914 0249 FFFF NOP
0915 ;BA1 PS2INB_2_ERR
0916 ;LDI PARM,03H
0917 ;CALL DELAY_N_mS
0918 ;LDA PORTB
0919 ;NOP
0920 024A 3809 LDA PORTB
0921 024B AA58 BA1 PS2INB_2_ERR
0922 024C PS2INB_1:
0923 024C 3809 LDA PORTB
0924 024D FFFF NOP
0925 024E 3809 LDA PORTB
0926 024F FFFF NOP
0927 0250 AA52 BA1 PS2INB_2
0928 0251 E24C JMP PS2INB_1;检查CLK是否为低
0929
0930 0252 PS2INB_2:
0931 0252 3809 LDA PORTB
0932 0253 FFFF NOP
0933 0254 3809 LDA PORTB
0934 0255 FFFF NOP
0935 0256 B258 BA2 PS2INB_2_ERR;检查DATA是否为低,事实上是检查Host的起始位
0936 0257 E25A JMP PS2INB_S0_S
0937 0258 PS2INB_2_ERR
0938 0258 78C7 LDI PS2RET,01H
0939 0259 E2B9 JMP PS2INB_ERR
0940
0941 025A PS2INB_S0_S:
0942 ;LDI PARM,03H
0943 ;CALL DELAY_N_mS
0944 025A 7917 LDI PBOUT,0010B
0945 025B 79C2 LDI PS2CNTL,03H
0946 025C PS2INB_S0:
0947 025C 3841 LDA PS2INL
0948 025D F000 SHR
0949 025E 3C41 STA PS2INL
0950 025F 7924 LDI PARM,2
0951 0260 C127 CALL DELAY_N_10uS;延时50微秒
0952 0261 7689 ANDIM PORTB,1101B;CLK -> 0
0953 0262 7A24 LDI PARM,4
0954 0263 C127 CALL DELAY_N_10uS;延时130微秒
0955 0264 6909 ORIM PORTB,0010B;CLK -> 1
0956 0265 7924 LDI PARM,2
0957 0266 C127 CALL DELAY_N_10uS;延时50微秒
0958 0267 3809 LDA PORTB
0959 0268 FFFF NOP
0960 0269 3809 LDA PORTB
0961 026A FFFF NOP
0962 026B B26D BA2 PS2INB_S0_1
0963 026C PS2INB_S0_0:
0964 026C E26F JMP PS2INB_S0_E
0965 026D PS2INB_S0_1:
0966 026D 6C41 ORIM PS2INL,1000B
0967 026E 48C8 ADIM PS2TEMP,01H
0968 026F PS2INB_S0_E:
0969 026F 58C2 SBIM PS2CNTL,01H
0970 0270 9A5C BC PS2INB_S0
0971
0972
0973 0271 79C2 LDI PS2CNTL,03H
0974 0272 PS2INB_S1:
0975 0272 3840 LDA PS2INH
0976 0273 F000 SHR
0977 0274 3C40 STA PS2INH
0978 0275 7924 LDI PARM,2
0979 0276 C127 CALL DELAY_N_10uS;延时50微秒
0980 0277 7689 ANDIM PORTB,1101B;CLK -> 0
0981 0278 7A24 LDI PARM,4
0982 0279 C127 CALL DELAY_N_10uS;延时130微秒
0983 027A 6909 ORIM PORTB,0010B;CLK -> 1
0984 027B 7924 LDI PARM,2
0985 027C C127 CALL DELAY_N_10uS;延时50微秒
0986 027D 3809 LDA PORTB
0987 027E FFFF NOP
0988 027F 3809 LDA PORTB
0989 0280 FFFF NOP
0990 0281 B283 BA2 PS2INB_S1_1
0991 0282 PS2INB_S1_0:
0992 0282 E285 JMP PS2INB_S1_E
0993 0283 PS2INB_S1_1:
0994 0283 6C40 ORIM PS2INH,1000B
0995 0284 48C8 ADIM PS2TEMP,01H
0996 0285 PS2INB_S1_E:
0997 0285 58C2 SBIM PS2CNTL,01H
0998 0286 9A72 BC PS2INB_S1
0999
1000 0287 PS2INB_P: ;读取校验位
1001 0287 7924 LDI PARM,2
1002 0288 C127 CALL DELAY_N_10uS;延时50微秒
1003 0289 7689 ANDIM PORTB,1101B;CLK -> 0
1004 028A 7A24 LDI PARM,4
1005 028B C127 CALL DELAY_N_10uS;延时130微秒
1006 028C 6909 ORIM PORTB,0010B;CLK -> 1
1007 028D 7924 LDI PARM,2
1008 028E C127 CALL DELAY_N_10uS;延时50微秒
1009 028F 3809 LDA PORTB
1010 0290 FFFF NOP
1011 0291 3809 LDA PORTB
1012 0292 FFFF NOP
1013 0293 B295 BA2 PS2INB_P_1
1014 0294 E296 JMP PS2INB_3
1015 0295 PS2INB_P_1:
1016 0295 48C8 ADIM PS2TEMP,01H
1017
1018 0296 PS2INB_3: ;读取停止位
1019 0296 7924 LDI PARM,2
1020 0297 C127 CALL DELAY_N_10uS;延时50微秒
1021 0298 7689 ANDIM PORTB,1101B;CLK -> 0
1022 0299 7A24 LDI PARM,4
1023 029A C127 CALL DELAY_N_10uS;延时130微秒
1024 029B 6909 ORIM PORTB,0010B;CLK -> 1
1025 029C 7924 LDI PARM,2
1026 029D C127 CALL DELAY_N_10uS;延时50微秒
1027 029E 3809 LDA PORTB
1028 029F FFFF NOP
1029 02A0 3809 LDA PORTB
1030 02A1 FFFF NOP
1031 02A2 B2A5 BA2 PS2INB_4
1032
1033 02A3 PS2INB_3_ERR: ;停止位接收出错,退出并生成出错信息
1034 ;LDA PORTB
1035 ;NOP
1036 ;LDA PORTB
1037 ;NOP
1038 ;BA1 PS2INB_3_ERR
1039 02A3 7947 LDI PS2RET,02H
1040 02A4 E2B9 JMP PS2INB_ERR
1041
1042 02A5 PS2INB_4: ;发送应答位
1043 02A5 7B17 LDI PBOUT,0110B
1044 02A6 FFFF NOP
1045 02A7 FFFF NOP
1046 02A8 7924 LDI PARM,2
1047 02A9 C127 CALL DELAY_N_10uS;延时20微秒
1048 02AA 7589 ANDIM PORTB,1011B;Bring Data Line Low
1049
1050 02AB 78A4 LDI PARM,1
1051 02AC C127 CALL DELAY_N_10uS;延时10微秒
1052 02AD 7689 ANDIM PORTB,1101B;Bring CLK Low
1053
1054 02AE 7A24 LDI PARM,4
1055 02AF C127 CALL DELAY_N_10uS;
1056 02B0 6909 ORIM PORTB,0010B;Release CLK
1057
1058 02B1 78A4 LDI PARM,1
1059 02B2 C127 CALL DELAY_N_10uS;延时10微秒
1060 02B3 6A09 ORIM PORTB,0100B;释放Data线
1061
1062 02B4 7A24 LDI PARM,4
1063 02B5 C127 CALL DELAY_N_10uS;额外延时40微秒,供主机进行处理
1064
1065 02B6 PS2INB_CHK: ;处理校验位
1066 02B6 3848 LDA PS2TEMP
1067 02B7 A2B9 BA0 PS2INB_E
1068 02B8 7A47 LDI PS2RET,04H;PS2TEMP.0=0校验出错
1069 02B9 PS2INB_ERR:
1070 ;LDI PS2RET,0FH
1071 02B9 PS2INB_E:
1072 02B9 7817 LDI PBOUT,0000B
1073 02BA 7F89 LDI PORTB,0FH
1074 02BB 7800 LDI IE,00H
1075 02BC D400 RTNI
1076 02FF ORG TABCH-1
1077 02FF F7FF TJMP
1078 0300 D041 RTNW 04H,01H ;00
1079 0301 D05B RTNW 05H,0BH ;01
1080 0302 D05D RTNW 05H,0DH ;02
1081 0303 D049 RTNW 04H,09H ;03
1082 0304 D04C RTNW 04H,0CH ;04
1083 0305 D000 RTNW 00H,00H ;05
1084 0306 D005 RTNW 00H,05H ;06
1085 0307 D000 RTNW 00H,00H ;07
1086 0308 D0E0 RTNW 0EH,00H ;08
1087 0309 D016 RTNW 01H,06H ;09
1088 030A D0E0 RTNW 0EH,00H ;0A
1089 030B D000 RTNW 00H,00H ;0B
1090 030C D000 RTNW 00H,00H ;0C
1091 030D D025 RTNW 02H,05H ;0D
1092 030E D0E0 RTNW 0EH,00H ;0E
1093 030F D03A RTNW 03H,0AH ;0F
1094
1095 0310 D01B RTNW 01H,0BH ;10
1096 0311 D03D RTNW 03H,0DH ;11
1097 0312 D000 RTNW 00H,00H ;12
1098 0313 D000 RTNW 00H,00H ;13
1099 0314 D021 RTNW 02H,01H ;14
1100 0315 D03E RTNW 03H,0EH ;15
1101 0316 D045 RTNW 04H,05H ;16
1102 0317 D046 RTNW 04H,06H ;17
1103 0318 D000 RTNW 00H,00H ;18
1104 0319 D02E RTNW 02H,0EH ;19
1105 031A D0E0 RTNW 0EH,00H ;1A
1106 031B D036 RTNW 03H,06H ;1B
1107 031C D000 RTNW 00H,00H ;1C
1108 031D D01E RTNW 01H,0EH ;1D
1109 031E D04B RTNW 04H,0BH ;1E
1110 031F D026 RTNW 02H,06H ;1F
1111
1112 0320 D000 RTNW 00H,00H ;20
1113 0321 D000 RTNW 00H,00H
1114 0322 D000 RTNW 00H,00H
1115 0323 D000 RTNW 00H,00H
1116 0324 D000 RTNW 00H,00H
1117 0325 D000 RTNW 00H,00H
1118 0326 D000 RTNW 00H,00H
1119 0327 D000 RTNW 00H,00H
1120 0328 D000 RTNW 00H,00H
1121 0329 D000 RTNW 00H,00H
1122 032A D000 RTNW 00H,00H
1123 032B D000 RTNW 00H,00H
1124 032C D000 RTNW 00H,00H
1125 032D D000 RTNW 00H,00H
1126 032E D000 RTNW 00H,00H
1127 032F D000 RTNW 00H,00H
1128
1129 0330 D000 RTNW 00H,00H ;30
1130 0331 D000 RTNW 00H,00H
1131 0332 D000 RTNW 00H,00H
1132 0333 D000 RTNW 00H,00H
1133 0334 D000 RTNW 00H,00H
1134 0335 D000 RTNW 00H,00H
1135 0336 D000 RTNW 00H,00H
1136 0337 D000 RTNW 00H,00H
1137 0338 D000 RTNW 00H,00H
1138 0339 D000 RTNW 00H,00H
1139 033A D000 RTNW 00H,00H
1140 033B D000 RTNW 00H,00H
1141 033C D000 RTNW 00H,00H
1142 033D D000 RTNW 00H,00H
1143 033E D000 RTNW 00H,00H
1144 033F D000 RTNW 00H,00H
1145
1146 0340 D0E0 RTNW 0EH,00H ;40
1147 0341 D000 RTNW 00H,00H ;41
1148 0342 D0E0 RTNW 0EH,00H ;42
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -