?? ps2_bin.ls1
字號:
877 ; SOURCE LINE # 270
878 ;---- Variable 'conter?242' assigned to Register 'R6' ----
879 ; switch (sort)
880 ; SOURCE LINE # 271
0001 241F 882 ADD A,#01FH
0003 6017 883 JZ ?C0029
0005 04 884 INC A
0006 7028 885 JNZ ?C0034
886 ; {
887 ; SOURCE LINE # 272
888 ; case 0xE0:
889 ; SOURCE LINE # 273
0008 890 ?C0023:
891 ; {
892 ; SOURCE LINE # 274
893 ; for(conter=0x00;conter<22;conter++)
894 ; SOURCE LINE # 275
0008 E4 895 CLR A
0009 FE 896 MOV R6,A
000A 897 ?C0024:
898 ; {
899 ; SOURCE LINE # 276
900 ; if(dat==e0_keyval[conter])return conter;
901 ; SOURCE LINE # 277
000A EE 902 MOV A,R6
000B 900000 F 903 MOV DPTR,#e0_keyval
000E 93 904 MOVC A,@A+DPTR
000F B50703 905 CJNE A,AR7,?C0026
0012 AF06 906 MOV R7,AR6
0014 22 907 RET
908 ; }
909 ; SOURCE LINE # 278
0015 910 ?C0026:
0015 0E 911 INC R6
0016 BE16F1 912 CJNE R6,#016H,?C0024
0019 913 ?C0025:
914 ; return nodefinedkey;
915 ; SOURCE LINE # 279
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 15
0019 7F00 916 MOV R7,#00H
001B 22 917 RET
918 ; //break;
919 ; }
920 ; SOURCE LINE # 281
921 ; case 0xE1:
922 ; SOURCE LINE # 282
001C 923 ?C0029:
924 ; {
925 ; SOURCE LINE # 283
926 ; for(conter=0x00;conter<2;conter++)
927 ; SOURCE LINE # 284
001C E4 928 CLR A
001D FE 929 MOV R6,A
001E 930 ?C0030:
931 ; {
932 ; SOURCE LINE # 285
933 ; if(dat==pausekey[conter])return conter;
934 ; SOURCE LINE # 286
001E EE 935 MOV A,R6
001F 900000 F 936 MOV DPTR,#pausekey
0022 93 937 MOVC A,@A+DPTR
0023 B50703 938 CJNE A,AR7,?C0032
0026 AF06 939 MOV R7,AR6
0028 22 940 RET
941 ; }
942 ; SOURCE LINE # 287
0029 943 ?C0032:
0029 0E 944 INC R6
002A BE02F1 945 CJNE R6,#02H,?C0030
002D 946 ?C0031:
947 ; return nodefinedkey;
948 ; SOURCE LINE # 288
002D 7F00 949 MOV R7,#00H
002F 22 950 RET
951 ; //break;
952 ;
953 ; }
954 ; SOURCE LINE # 291
955 ; default:
956 ; SOURCE LINE # 292
0030 957 ?C0034:
958 ; for(conter=0x00;conter<86;conter++)
959 ; SOURCE LINE # 293
0030 E4 960 CLR A
0031 FE 961 MOV R6,A
0032 962 ?C0035:
963 ; {
964 ; SOURCE LINE # 294
965 ; if(dat==keyval[conter])return conter;
966 ; SOURCE LINE # 295
0032 EE 967 MOV A,R6
0033 900000 F 968 MOV DPTR,#keyval
0036 93 969 MOVC A,@A+DPTR
0037 B50703 970 CJNE A,AR7,?C0037
003A AF06 971 MOV R7,AR6
003C 22 972 RET
973 ; }
974 ; SOURCE LINE # 296
003D 975 ?C0037:
003D 0E 976 INC R6
003E BE56F1 977 CJNE R6,#056H,?C0035
0041 978 ?C0036:
979 ; return nodefinedkey;
980 ; SOURCE LINE # 297
0041 7F00 981 MOV R7,#00H
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 16
982 ; //break;
983 ; }
984 ; SOURCE LINE # 299
985 ;
986 ; }
987 ; SOURCE LINE # 301
0043 988 ?C0028:
0043 22 989 RET
990 ; END OF _findcode
991
992 ; /*********************************************************/
993 ; //函數(shù):KeyTransmit()
994 ; //功能:串口中斷
995 ; //輸入:
996 ; //輸出:
997 ; //描述:
998 ; /*********************************************************/
999 ; void KeyTransmit(void)
1000
---- 1001 RSEG ?PR?KeyTransmit?PS2_BIN
0000 1002 KeyTransmit:
1003 USING 0
1004 ; SOURCE LINE # 309
1005 ; {
1006 ; SOURCE LINE # 310
1007 ; EA=0;
1008 ; SOURCE LINE # 311
0000 C2AF 1009 CLR EA
1010 ;
1011 ; if((KeyCodeBuff[0x00]==0xE0)&(KeyCodeBuff[0x01]==0x12)&(KeyCodeBuff[0x02]!=0x00))
1012 ; SOURCE LINE # 313
0002 E500 F 1013 MOV A,KeyCodeBuff+01H
0004 B41204 1014 CJNE A,#012H,?C0040
0007 7F01 1015 MOV R7,#01H
0009 8002 1016 SJMP ?C0041
000B 1017 ?C0040:
000B 7F00 1018 MOV R7,#00H
000D 1019 ?C0041:
000D E500 F 1020 MOV A,KeyCodeBuff
000F B4E004 1021 CJNE A,#0E0H,?C0042
0012 7E01 1022 MOV R6,#01H
0014 8002 1023 SJMP ?C0043
0016 1024 ?C0042:
0016 7E00 1025 MOV R6,#00H
0018 1026 ?C0043:
0018 EE 1027 MOV A,R6
0019 5F 1028 ANL A,R7
001A FF 1029 MOV R7,A
001B E500 F 1030 MOV A,KeyCodeBuff+02H
001D 6004 1031 JZ ?C0044
001F 7E01 1032 MOV R6,#01H
0021 8002 1033 SJMP ?C0045
0023 1034 ?C0044:
0023 7E00 1035 MOV R6,#00H
0025 1036 ?C0045:
0025 EE 1037 MOV A,R6
0026 5F 1038 ANL A,R7
0027 600E 1039 JZ ?C0039
1040 ; {
1041 ; SOURCE LINE # 314
1042 ; OUTPORT=findcode(KeyCodeBuff[0x02],0xE0)+80;//是擴(kuò)展建?
1043 ; SOURCE LINE # 315
0029 7DE0 1044 MOV R5,#0E0H
002B AF00 F 1045 MOV R7,KeyCodeBuff+02H
002D 120000 F 1046 LCALL _findcode
0030 EF 1047 MOV A,R7
A51 MACRO ASSEMBLER PS2_BIN 05/26/2005 15:31:26 PAGE 17
0031 2450 1048 ADD A,#050H
0033 F5A0 1049 MOV P2,A
1050 ; }
1051 ; SOURCE LINE # 316
0035 8025 1052 SJMP ?C0046
0037 1053 ?C0039:
1054 ; else if((KeyCodeBuff[0x00]==0xE0)&(KeyCodeBuff[0x02]==0x00))
1055 ; SOURCE LINE # 317
0037 E500 F 1056 MOV A,KeyCodeBuff+02H
0039 7004 1057 JNZ ?C0048
003B 7F01 1058 MOV R7,#01H
003D 8002 1059 SJMP ?C0049
003F 1060 ?C0048:
003F 7F00 1061 MOV R7,#00H
0041 1062 ?C0049:
0041 E500 F 1063 MOV A,KeyCodeBuff
0043 B4E004 1064 CJNE A,#0E0H,?C0050
0046 7E01 1065 MOV R6,#01H
0048 8002 1066 SJMP ?C0051
004A 1067 ?C0050:
004A 7E00 1068 MOV R6,#00H
004C 1069 ?C0051:
004C EE 1070 MOV A,R6
004D 5F 1071 ANL A,R7
004E 600C 1072 JZ ?C0046
1073 ; {
1074 ; SOURCE LINE # 318
1075 ; OUTPORT=findcode(KeyCodeBuff[0x01],0xE0)+58;//是普通擴(kuò)展鍵?
1076 ; SOURCE LINE # 319
0050 7DE0 1077 MOV R5,#0E0H
0052 AF00 F 1078 MOV R7,KeyCodeBuff+01H
0054 120000 F 1079 LCALL _findcode
0057 EF 1080 MOV A,R7
0058 243A 1081 ADD A,#03AH
005A F5A0 1082 MOV P2,A
1083 ; }
1084 ; SOURCE LINE # 320
005C 1085 ?C0046:
1086 ; if(KeyCodeBuff[0x00]==0xE1)OUTPORT=200; //pause的鍵顯示200
1087 ; SOURCE LINE # 321
005C E500 F 1088 MOV A,KeyCodeBuff
005E B4E105 1089 CJNE A,#0E1H,?C0052
0061 75A0C8 1090 MOV P2,#0C8H
0064 8023 1091 SJMP ?C0053
0066 1092 ?C0052:
1093 ; else
1094 ; {
1095 ; SOURCE LINE # 323
1096 ; if((KeyCodeBuf
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -