📄 wiegand.ls1
字号:
889 ; D0IN=0;
890 ; SOURCE LINE # 203
003F C294 891 CLR D0IN
892 ; }
893 ; SOURCE LINE # 204
0041 8007 894 SJMP ?C0048
0043 895 ?C0047:
896 ; else
897 ; {
898 ; SOURCE LINE # 206
899 ; D0OUT=1;
900 ; SOURCE LINE # 207
0043 D296 901 SETB D0OUT
902 ; delayus(90);
903 ; SOURCE LINE # 208
0045 120000 F 904 LCALL L?0098
905 ; D0OUT=0;
906 ; SOURCE LINE # 209
0048 C296 907 CLR D0OUT
908 ; }
909 ; SOURCE LINE # 210
004A 910 ?C0048:
911 ; delayms(2);
912 ; SOURCE LINE # 211
004A 913 ?C0095:
004A 7F02 914 MOV R7,#02H
004C 7E00 915 MOV R6,#00H
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 15
004E 120000 F 916 LCALL _delayms
917 ; wiebuf[k]<<=1;
918 ; SOURCE LINE # 212
0051 7400 F 919 MOV A,#LOW (wiebuf)
0053 29 920 ADD A,R1
0054 F582 921 MOV DPL,A
0056 E4 922 CLR A
0057 3400 F 923 ADDC A,#HIGH (wiebuf)
0059 F583 924 MOV DPH,A
005B E0 925 MOVX A,@DPTR
005C 25E0 926 ADD A,ACC
005E F0 927 MOVX @DPTR,A
928 ; }
929 ; SOURCE LINE # 213
930 ; }
931 ; SOURCE LINE # 214
005F 932 ?C0042:
005F 0B 933 INC R3
0060 EB 934 MOV A,R3
0061 6408 935 XRL A,#08H
0063 70A9 936 JNZ ?C0040
937 ; }
938 ; SOURCE LINE # 215
0065 939 ?C0049:
0065 22 940 RET
941 ; END OF _wiedataout
942
943 ; /***************************************************************************************
944 ; **函数功能:Even_Parity 偶检验 前12bits or 前16bits
945 ; **入参: wiebuf, wieformat
946 ; **返回值: bit
947 ; **作者: jerkoh
948 ; **日期: 2009-06-16
949 ; **说明: 无
950 ; ***************************************************************************************/
951 ; bit even_parity(unsigned char wieformat)
952
---- 953 RSEG ?PR?_even_parity?WIEGAND
0000 954 _even_parity:
955 USING 0
956 ; SOURCE LINE # 224
957 ;---- Variable 'i?452' assigned to Register 'R6' ----
958 ;---- Variable 'j?453' assigned to Register 'R5' ----
959 ;---- Variable 'wieformat?451' assigned to Register 'R7' ----
960 ; {
961 ; SOURCE LINE # 225
962 ; unsigned char i,j;
963 ; bit opt;
964 ;
965 ; if(wieformat==26)
966 ; SOURCE LINE # 229
0000 EF 967 MOV A,R7
0001 641A 968 XRL A,#01AH
0003 7030 969 JNZ ?C0050
970 ; {
971 ; SOURCE LINE # 230
972 ; for(i=0,j=0;i<8;i++)
973 ; SOURCE LINE # 231
0005 FE 974 MOV R6,A
0006 FD 975 MOV R5,A
0007 976 ?C0051:
977 ; {
978 ; SOURCE LINE # 232
979 ; if(wiebuf[3]&0x80)
980 ; SOURCE LINE # 233
0007 900000 F 981 MOV DPTR,#wiebuf+03H
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 16
000A E0 982 MOVX A,@DPTR
000B FF 983 MOV R7,A
000C 30E701 984 JNB ACC.7,?C0054
985 ; {
986 ; SOURCE LINE # 234
987 ; j++;
988 ; SOURCE LINE # 235
000F 0D 989 INC R5
990 ; }
991 ; SOURCE LINE # 236
0010 992 ?C0054:
993 ; wiebuf[3]<<=1;
994 ; SOURCE LINE # 237
0010 EF 995 MOV A,R7
0011 25E0 996 ADD A,ACC
0013 900000 F 997 MOV DPTR,#wiebuf+03H
0016 F0 998 MOVX @DPTR,A
999 ; }
1000 ; SOURCE LINE # 238
0017 0E 1001 INC R6
0018 EE 1002 MOV A,R6
0019 B408EB 1003 CJNE A,#08H,?C0051
001C 1004 ?C0052:
1005 ; for(i=0;i<4;i++)
1006 ; SOURCE LINE # 239
001C E4 1007 CLR A
001D FE 1008 MOV R6,A
001E 1009 ?C0055:
1010 ; {
1011 ; SOURCE LINE # 240
1012 ; if(wiebuf[4]&0x80)
1013 ; SOURCE LINE # 241
001E 900000 F 1014 MOV DPTR,#wiebuf+04H
0021 E0 1015 MOVX A,@DPTR
0022 FF 1016 MOV R7,A
0023 30E701 1017 JNB ACC.7,?C0058
1018 ; {
1019 ; SOURCE LINE # 242
1020 ; j++;
1021 ; SOURCE LINE # 243
0026 0D 1022 INC R5
1023 ; }
1024 ; SOURCE LINE # 244
0027 1025 ?C0058:
1026 ; wiebuf[4]<<=1;
1027 ; SOURCE LINE # 245
0027 EF 1028 MOV A,R7
0028 25E0 1029 ADD A,ACC
002A 900000 F 1030 MOV DPTR,#wiebuf+04H
002D F0 1031 MOVX @DPTR,A
1032 ; }
1033 ; SOURCE LINE # 246
002E 0E 1034 INC R6
002F EE 1035 MOV A,R6
0030 B404EB 1036 CJNE A,#04H,?C0055
0033 802F 1037 SJMP ?C0059
1038 ; }
1039 ; SOURCE LINE # 247
0035 1040 ?C0050:
1041 ; else //34
1042 ; {
1043 ; SOURCE LINE # 249
1044 ; for(i=0,j=0;i<8;i++)
1045 ; SOURCE LINE # 250
0035 E4 1046 CLR A
0036 FE 1047 MOV R6,A
A51 MACRO ASSEMBLER WIEGAND 08/03/2009 16:57:28 PAGE 17
0037 FD 1048 MOV R5,A
0038 1049 ?C0060:
1050 ; {
1051 ; SOURCE LINE # 251
1052 ; if(wiebuf[2]&0x80)
1053 ; SOURCE LINE # 252
0038 900000 F 1054 MOV DPTR,#wiebuf+02H
003B E0 1055 MOVX A,@DPTR
003C FF 1056 MOV R7,A
003D 30E701 1057 JNB ACC.7,?C0063
1058 ; {
1059 ; SOURCE LINE # 253
1060 ; j++;
1061 ; SOURCE LINE # 254
0040 0D 1062 INC R5
1063 ; }
1064 ; SOURCE LINE # 255
0041 1065 ?C0063:
1066 ; wiebuf[2]<<=1;
1067 ; SOURCE LINE # 256
0041 EF 1068 MOV A,R7
0042 25E0 1069 ADD A,ACC
0044 900000 F 1070 MOV DPTR,#wiebuf+02H
0047 F0 1071 MOVX @DPTR,A
1072 ; }
1073 ; SOURCE LINE # 257
0048 0E 1074 INC R6
0049 EE 1075 MOV A,R6
004A B408EB 1076 CJNE A,#08H,?C0060
004D 1077 ?C0061:
1078 ; for(i=0;i<8;i++)
1079 ; SOURCE LINE # 258
004D E4 1080 CLR A
004E FE 1081 MOV R6,A
004F 1082 ?C0064:
1083 ; {
1084 ; SOURCE LINE # 259
1085 ; if(wiebuf[3]&0x80)
1086 ; SOURCE LINE # 260
004F 900000 F 1087 MOV DPTR,#wiebuf+03H
0052 E0 1088 MOVX A,@DPTR
0053 FF 1089 MOV R7,A
0054 30E701 1090 JNB ACC.7,?C0067
1091 ; {
1092 ; SOURCE LINE # 261
1093 ; j++;
1094 ; SOURCE LINE # 262
0057 0D 1095 INC R5
1096 ; }
1097 ; SOURCE LINE # 263
0058 1098 ?C0067:
1099 ; wiebuf[3]<<=1;
1100 ; SOURCE LINE # 264
0058 EF 1101 MOV A,R7
0059 25E0 1102 ADD A,ACC
005B 900000 F 1103 MOV DPTR,#wiebuf+03H
005E F0 1104 MOVX @DPTR,A
1105 ; }
1106 ; SOURCE LINE # 265
005F 0E 1107 INC R6
0060 EE 1108 MOV A,R6
0061 B408EB 1109 CJ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -