📄 desmain.src
字号:
; .\DesMain.SRC generated from: .\DesMain.c
NAME DESMAIN
?PR?_DES?DESMAIN SEGMENT CODE
?XD?_DES?DESMAIN SEGMENT XDATA OVERLAYABLE
?PR?main?DESMAIN SEGMENT CODE
?XD?main?DESMAIN SEGMENT XDATA OVERLAYABLE
?C_INITSEG SEGMENT CODE
?CO?DESMAIN SEGMENT CODE
?XD?DESMAIN SEGMENT XDATA
?DT?main?DESMAIN SEGMENT DATA OVERLAYABLE
?PR?DESMAIN SEGMENT CODE
EXTRN CODE (?C?CLDPTR)
EXTRN CODE (?C?CSTPTR)
EXTRN CODE (?C?CILDPTR)
EXTRN CODE (?C?IILDX)
EXTRN CODE (?C?COPY)
EXTRN CODE (?C_STARTUP)
PUBLIC VecExit
PUBLIC InitValue
PUBLIC SBoxes
PUBLIC main
PUBLIC _DES
RSEG ?XD?_DES?DESMAIN
?_DES?BYTE:
mode?040: DS 1
text?041: DS 1
ORG 2
BitMap?043: DS 8
CalcArea?044: DS 16
ptr0?045: DS 3
ptr2?046: DS 3
R0?047: DS 1
R1?048: DS 1
R2?049: DS 1
R3?050: DS 1
R4?051: DS 1
R6?052: DS 1
R7?053: DS 1
A?054: DS 1
B?055: DS 1
C?056: DS 1
tmp?057: DS 1
RSEG ?XD?main?DESMAIN
?main?BYTE:
key?158: DS 8
RSEG ?XD?DESMAIN
InitValue: DS 8
VecExit: DS 1
RSEG ?DT?main?DESMAIN
sour?159: DS 8
dest?160: DS 8
RSEG ?CO?DESMAIN
SBoxes:
DB 0F7H
DB 0E5H
DB 034H
DB 0B2H
DB 002H
DB 05BH
DB 092H
DB 0E8H
DB 09CH
DB 088H
DB 001H
DB 05CH
DB 0AFH
DB 0FDH
DB 0EFH
DB 005H
DB 064H
DB 006H
DB 09EH
DB 06FH
DB 05BH
DB 031H
DB 045H
DB 093H
DB 03AH
DB 0DDH
DB 07BH
DB 0AAH
DB 09CH
DB 0AAH
DB 086H
DB 0F0H
DB 01BH
DB 079H
DB 052H
DB 014H
DB 0E7H
DB 092H
DB 0F8H
DB 02DH
DB 046H
DB 013H
DB 0CCH
DB 0C9H
DB 039H
DB 0C4H
DB 023H
DB 056H
DB 0CDH
DB 09FH
DB 06DH
DB 0D1H
DB 0B4H
DB 0ECH
DB 03EH
DB 07EH
DB 0A0H
DB 024H
DB 0A7H
DB 036H
DB 04AH
DB 017H
DB 0D0H
DB 0A9H
DB 082H
DB 0B0H
DB 083H
DB 04DH
DB 078H
DB 066H
DB 074H
DB 0D2H
DB 0E5H
DB 04BH
DB 0BAH
DB 093H
DB 013H
DB 088H
DB 009H
DB 06FH
DB 0DFH
DB 06CH
DB 045H
DB 0F0H
DB 026H
DB 0DFH
DB 01BH
DB 03CH
DB 009H
DB 032H
DB 0E0H
DB 005H
DB 0C5H
DB 045H
DB 0BCH
DB 0CAH
DB 078H
DB 0C7H
DB 0F8H
DB 027H
DB 0D1H
DB 009H
DB 0ADH
DB 08BH
DB 0B3H
DB 0AEH
DB 02FH
DB 07EH
DB 06EH
DB 073H
DB 05AH
DB 0B1H
DB 021H
DB 05AH
DB 016H
DB 08BH
DB 08DH
DB 0B0H
DB 0C1H
DB 047H
DB 05EH
DB 0F1H
DB 0D9H
DB 0E8H
DB 0F0H
DB 02EH
DB 067H
DB 014H
DB 0C0H
DB 0BBH
DB 057H
DB 08BH
DB 0BFH
DB 0C8H
DB 02DH
DB 046H
DB 035H
DB 024H
DB 06AH
DB 037H
DB 0DAH
DB 092H
DB 0D6H
DB 0F9H
DB 0F7H
DB 06CH
DB 0E2H
DB 052H
DB 0C2H
DB 056H
DB 098H
DB 028H
DB 069H
DB 083H
DB 00CH
DB 004H
DB 005H
DB 03DH
DB 065H
DB 0C7H
DB 02EH
DB 0D0H
DB 024H
DB 0BDH
DB 051H
DB 00BH
DB 043H
DB 07BH
DB 083H
DB 04AH
DB 0BFH
DB 06AH
DB 0ECH
DB 0A7H
DB 080H
DB 090H
DB 01BH
DB 006H
DB 09BH
DB 0E8H
DB 028H
DB 0B1H
DB 0F4H
DB 015H
DB 0DCH
DB 07FH
DB 0C1H
DB 091H
DB 076H
DB 044H
DB 01AH
DB 06CH
DB 0BFH
DB 01EH
DB 0FDH
DB 0F0H
DB 013H
DB 0F5H
DB 0C1H
DB 08DH
DB 006H
DB 0E1H
DB 080H
DB 0ACH
DB 06DH
DB 02FH
DB 07FH
DB 03AH
DB 044H
DB 0F2H
DB 03EH
DB 0C9H
DB 0F9H
DB 089H
DB 0A7H
DB 052H
DB 09AH
DB 05DH
DB 0D9H
DB 07FH
DB 0A0H
DB 0EAH
DB 002H
DB 0A4H
DB 0E2H
DB 0A9H
DB 043H
DB 01EH
DB 084H
DB 060H
DB 03EH
DB 0E1H
DB 05DH
DB 037H
DB 075H
DB 0D3H
DB 037H
DB 0DCH
DB 0E9H
DB 00FH
DB 078H
DB 0C5H
DB 0A8H
DB 025H
DB 04EH
DB 01EH
DB 05BH
DB 0BEH
DB 0A1H
DB 098H
DB 016H
DB 046H
DB 09BH
DB 073H
DB 0BCH
DB 0D3H
_?ix1000:
DB 001H
DB 023H
DB 045H
DB 067H
DB 089H
DB 0ABH
DB 0CDH
DB 0EFH
_?ix1001:
DB 001H
DB 023H
DB 045H
DB 067H
DB 089H
DB 0ABH
DB 0CDH
DB 0EFH
_?ix1002:
DB 0A2H
DB 0D9H
DB 039H
DB 016H
DB 05DH
DB 026H
DB 0A4H
DB 0CAH
RSEG ?C_INITSEG
DB 041H
DW VecExit
DB 001H
DB 048H
DW InitValue
DB 012H
DB 034H
DB 056H
DB 078H
DB 090H
DB 0ABH
DB 0CDH
DB 0EFH
; /*--------------------------------------------------------------------------------
; DES.C: DES Algorithm Program
; --------------------------------------------------------------------------------*/
; #include <string.h>
; #define BYTE unsigned char
; //BYTE bdata BM0,BM1,BM2,BM3,BM4,BM5,BM6,BM7;
; BYTE xdata VecExit=1;
; BYTE xdata InitValue[8]={0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef};
; BYTE code SBoxes[]={//BoxNr.: 2,1 4,3 6,5 8,7
; 0xF7,0xE5,0x34,0xB2,
; 0x02,0x5B,0x92,0xE8,
; 0x9C,0x88,0x01,0x5C,
; 0xAF,0xFD,0xEF,0x05,
; 0x64,0x06,0x9E,0x6F,
; 0x5B,0x31,0x45,0x93,
; 0x3A,0xDD,0x7B,0xAA,
; 0x9C,0xAA,0x86,0xF0,
; 0x1B,0x79,0x52,0x14,
; 0xE7,0x92,0xF8,0x2D,
; 0x46,0x13,0xCC,0xC9,
; 0x39,0xC4,0x23,0x56,
; 0xCD,0x9F,0x6D,0xD1,
; 0xB4,0xEC,0x3E,0x7E,
; 0xA0,0x24,0xA7,0x36,
; 0x4A,0x17,0xD0,0xA9,
; 0x82,0xB0,0x83,0x4D,
; 0x78,0x66,0x74,0xD2,
; 0xE5,0x4B,0xBA,0x93,
; 0x13,0x88,0x09,0x6F,
; 0xDF,0x6C,0x45,0xF0,
; 0x26,0xDF,0x1B,0x3C,
; 0x09,0x32,0xE0,0x05,
; 0xC5,0x45,0xBC,0xCA,
; 0x78,0xC7,0xF8,0x27,
; 0xD1,0x09,0xAD,0x8B,
; 0xB3,0xAE,0x2F,0x7E,
; 0x6E,0x73,0x5A,0xB1,
; 0x21,0x5A,0x16,0x8B,
; 0x8D,0xB0,0xC1,0x47,
; 0x5E,0xF1,0xD9,0xE8,
; 0xF0,0x2E,0x67,0x14,
; 0xC0,0xBB,0x57,0x8B,
; 0xBF,0xC8,0x2D,0x46,
; 0x35,0x24,0x6A,0x37,
; 0xDA,0x92,0xD6,0xF9,
; 0xF7,0x6C,0xE2,0x52,
; 0xC2,0x56,0x98,0x28,
; 0x69,0x83,0x0C,0x04,
; 0x05,0x3D,0x65,0xC7,
; 0x2E,0xD0,0x24,0xBD,
; 0x51,0x0B,0x43,0x7B,
; 0x83,0x4A,0xBF,0x6A,
; 0xEC,0xA7,0x80,0x90,
; 0x1B,0x06,0x9B,0xE8,
; 0x28,0xB1,0xF4,0x15,
; 0xDC,0x7F,0xC1,0x91,
; 0x76,0x44,0x1A,0x6C,
; 0xBF,0x1E,0xFD,0xF0,
; 0x13,0xF5,0xC1,0x8D,
; 0x06,0xE1,0x80,0xAC,
; 0x6D,0x2F,0x7F,0x3A,
; 0x44,0xF2,0x3E,0xC9,
; 0xF9,0x89,0xA7,0x52,
; 0x9A,0x5D,0xD9,0x7F,
; 0xA0,0xEA,0x02,0xA4,
; 0xE2,0xA9,0x43,0x1E,
; 0x84,0x60,0x3E,0xE1,
; 0x5D,0x37,0x75,0xD3,
; 0x37,0xDC,0xE9,0x0F,
; 0x78,0xC5,0xA8,0x25,
; 0x4E,0x1E,0x5B,0xBE,
; 0xA1,0x98,0x16,0x46,
; 0x9B,0x73,0xBC,0xD3};
;
RSEG ?PR?DESMAIN
Com010D:
L?0270:
USING 0
L?0271:
MOVX @DPTR,A
MOV DPTR,#R1?048
MOVX A,@DPTR
INC A
L?0272:
MOVX @DPTR,A
L?0273:
MOVX A,@DPTR
L?0274:
ADD A,#LOW (CalcArea?044)
L?0275:
MOV DPL,A
CLR A
ADDC A,#HIGH (CalcArea?044)
MOV DPH,A
RET
L?0276:
USING 0
L?0277:
MOV DPTR,#A?054
MOVX A,@DPTR
ANL A,#07FH
MOVX @DPTR,A
RET
L?0278:
USING 0
L?0279:
MOV DPTR,#A?054
MOVX A,@DPTR
ORL A,#080H
MOVX @DPTR,A
RET
L?0280:
USING 0
L?0281:
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R7,A
CLR C
RRC A
MOVX @DPTR,A
RET
L?0282:
USING 0
MOV DPTR,#R1?048
MOVX A,@DPTR
INC A
MOVX @DPTR,A
MOV A,R6
CLR C
RRC A
L?0283:
MOV DPTR,#A?054
L?0284:
MOVX @DPTR,A
MOV DPTR,#R4?051
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
RET
L?0285:
USING 0
MOV DPTR,#R0?047
MOVX A,@DPTR
L?0286:
ADD A,#LOW (BitMap?043)
L?0287:
MOV DPL,A
CLR A
ADDC A,#HIGH (BitMap?043)
MOV DPH,A
RET
L?0288:
USING 0
MOV A,R7
MOV R5,A
CLR C
MOV A,#08H
L?0289:
SUBB A,R5
MOV R5,A
CLR A
SUBB A,#00H
MOV R4,A
MOV A,#LOW (BitMap?043)
ADD A,R5
MOV DPL,A
MOV A,#HIGH (BitMap?043)
ADDC A,R4
MOV DPH,A
MOVX A,@DPTR
RET
L?0290:
USING 0
L?0291:
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R5,A
CLR C
RRC A
MOVX @DPTR,A
RET
L?0292:
USING 0
MOVX A,@DPTR
MOV DPTR,#tmp?057
MOVX @DPTR,A
MOVX A,@DPTR
MOV R6,A
SWAP A
RLC A
RLC A
RLC A
ANL A,#080H
L?0293:
MOV R5,A
MOV A,R6
RRC A
RRC A
ANL A,#03FH
ADD A,R5
MOV R6,A
MOV A,#LOW (CalcArea?044)
ADD A,R7
RET
L?0294:
USING 0
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R7,A
L?0295:
MOV DPTR,#R1?048
MOVX A,@DPTR
ADD A,#LOW (CalcArea?044+08H)
MOV DPL,A
CLR A
ADDC A,#HIGH (CalcArea?044+08H)
MOV DPH,A
MOVX A,@DPTR
RET
L?0296:
USING 0
MOVX A,@DPTR
INC A
L?0297:
MOVX @DPTR,A
L?0298:
MOV DPTR,#R3?050
MOVX A,@DPTR
DEC A
MOVX @DPTR,A
RET
L?0299:
USING 0
L?0300:
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R6,A
CLR C
RRC A
MOVX @DPTR,A
RET
L?0301:
USING 0
L?0302:
MOVX @DPTR,A
MOV DPTR,#R3?050
MOV A,#08H
MOVX @DPTR,A
RET
L?0303:
USING 0
L?0304:
MOV R6,#00H
MOV R7,#08H
LJMP ?C?COPY
L?0305:
USING 0
MOV DPTR,#ptr0?045
L?0306:
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
RET
L?0307:
USING 0
L?0308:
MOVX @DPTR,A
MOV A,R4
L?0309:
CLR C
RRC A
MOV DPTR,#A?054
MOVX @DPTR,A
RET
L?0310:
USING 0
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#R0?047
MOVX A,@DPTR
MOV R6,A
MOV DPTR,#text?041
MOVX A,@DPTR
ADD A,R6
MOV R0,A
RET
L?0311:
USING 0
MOVX A,@DPTR
MOV R7,A
ADD A,ACC
L?0312:
ADD A,ACC
MOV R6,A
MOV A,R7
SWAP A
RRC A
RRC A
RET
L?0313:
USING 0
L?0314:
MOVX @DPTR,A
L?0315:
MOV DPTR,#R0?047
MOVX A,@DPTR
INC A
MOVX @DPTR,A
RET
L?0316:
USING 0
MOV A,R6
L?0317:
MOVX @DPTR,A
MOV DPTR,#A?054
MOVX A,@DPTR
MOV R6,A
RET
L?0318:
USING 0
L?0319:
MOV DPTR,#A?054
MOVX A,@DPTR
MOV DPTR,#CalcArea?044
MOVX @DPTR,A
RET
L?0320:
USING 0
MOV DPTR,#R2?049
MOVX A,@DPTR
MOV DPTR,#R0?047
MOVX @DPTR,A
MOV DPTR,#B?055
MOVX A,@DPTR
RET
L?0321:
USING 0
L?0322:
MOV R7,A
MOV DPTR,#text?041
MOVX A,@DPTR
ADD A,R7
MOV R0,A
RET
L?0323:
USING 0
L?0324:
MOV R6,A
MOV A,R7
XRL A,R6
MOV DPTR,#A?054
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -