This commit is contained in:
2026-02-11 11:09:14 +08:00
commit 417b1e2780
29 changed files with 11662 additions and 0 deletions

View File

@@ -0,0 +1,343 @@
//C:\>debug \fcdos\fcquit.com
//-u 100 26f
digraph fcquit{
node [shape="box"];
edge [spline="true"];
Fn [label="
0876:0100 8CC8 MOV AX,CS
0876:0102 8ED8 MOV DS,AX
0876:0104 B88035 MOV AX,3580
0876:0107 CD21 INT 21
0876:0109 8CC0 MOV AX,ES
0876:010B 23C3 AND AX,BX
0876:010D 7409 JZ 0118
"];
Fn -> Fn0118 [label="JZ Fn0118"];
Fn -> Fn010F ;
Fn [label="
0876:010F B80080 MOV AX,8000
0876:0112 CD80 INT 80
0876:0114 3C80 CMP AL,80
0876:0116 740E JZ 0126
"];
Fn -> Fn0126 [label="JZ Fn0126"];
Fn -> Fn0118 ;
Fn [label="
0876:0118 2EFE066D02 INC BYTE PTR CS:[026D]
0876:011D BA3302 MOV DX,0233
0876:0120 E85E00 CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn0123 ;
Fn [label="
0876:0123 EB1C JMP 0141
"];
Fn -> Fn0141 [label="JMP Fn0141"];
Fn [label="
0876:0125 90 NOP
0876:0126 B80180 MOV AX,8001
0876:0129 CD80 INT 80
0876:012B B449 MOV AH,49
0876:012D CD21 INT 21
0876:012F 1E PUSH DS
0876:0130 2EC5166502 LDS DX,CS:[0265]
0876:0135 B88025 MOV AX,2580
0876:0138 CD21 INT 21
0876:013A 1F POP DS
0876:013B BAFA01 MOV DX,01FA
0876:013E E84000 CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn0141 ;
Fn [label="
0876:0141 B88135 MOV AX,3581
0876:0144 CD21 INT 21
0876:0146 8CC0 MOV AX,ES
0876:0148 23C3 AND AX,BX
0876:014A 7409 JZ 0155
"];
Fn -> Fn0155 [label="JZ Fn0155"];
Fn -> Fn014C ;
Fn [label="
0876:014C B80081 MOV AX,8100
0876:014F CD81 INT 81
0876:0151 3C81 CMP AL,81
0876:0153 740E JZ 0163
"];
Fn -> Fn0163 [label="JZ Fn0163"];
Fn -> Fn0155 ;
Fn [label="
0876:0155 2EFE066D02 INC BYTE PTR CS:[026D]
0876:015A BA4C02 MOV DX,024C
0876:015D E82100 CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn0160 ;
Fn [label="
0876:0160 EB24 JMP 0186
"];
Fn -> Fn0186 [label="JMP Fn0186"];
Fn [label="
0876:0162 90 NOP
0876:0163 B80281 MOV AX,8102
0876:0166 CD81 INT 81
0876:0168 B449 MOV AH,49
0876:016A CD21 INT 21
0876:016C 1E PUSH DS
0876:016D 2EC5166902 LDS DX,CS:[0269]
0876:0172 B88125 MOV AX,2581
0876:0175 CD21 INT 21
0876:0177 1F POP DS
0876:0178 BA1702 MOV DX,0217
0876:017B E80300 CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn017E ;
Fn [label="
0876:017E EB06 JMP 0186
"];
Fn -> Fn0186 [label="JMP Fn0186"];
Fn [label="
0876:0180 90 NOP
0876:0181 B409 MOV AH,09
0876:0183 CD21 INT 21
0876:0185 C3 RET
"];
Fn <- FnRET [label="RET"];
Fn [label="
0876:0186 2E803E6D0200 CMP BYTE PTR CS:[026D],00
0876:018C 7506 JNZ 0194
"];
Fn -> Fn0194 [label="JNZ Fn0194"];
Fn -> Fn018E ;
Fn [label="
0876:018E BACD01 MOV DX,01CD
0876:0191 E8EDFF CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn0194 ;
Fn [label="
0876:0194 BA9F01 MOV DX,019F
0876:0197 E8E7FF CALL 0181
"];
Fn -> Fn0181 [label="CALL Fn0181"];
Fn <- Fn019A ;
Fn [label="
0876:019A B8004C MOV AX,4C00
0876:019D CD21 INT 21
0876:019F 0D0A54 OR AX,540A
0876:01A2 686520 PUSH 2065
0876:01A5 46 INC SI
0876:01A6 7265 JB 020D
"];
Fn -> Fn020D [label="JB Fn020D"];
Fn -> Fn01A8 ;
Fn [label="
0876:01A8 65 SEG GS (unused)
0876:01A9 43 INC BX
0876:01AA 44 INC SP
0876:01AB 4F DEC DI
0876:01AC 53 PUSH BX
0876:01AD 205072 AND [BX+SI+72],DL
0876:01B0 6F OUTSW
0876:01B1 6A65 PUSH +65
0876:01B3 637420 ARPL [SI+20],SI
0876:01B6 3C6C CMP AL,6C
0876:01B8 696A69616E IMUL BP,[BP+SI+69],6E61
0876:01BD 40 INC AX
0876:01BE 61 POPA
0876:01BF 7574 JNZ 0235
"];
Fn -> Fn0235 [label="JNZ Fn0235"];
Fn -> Fn01C1 ;
Fn [label="
0876:01C1 732E JAE 01F1
"];
Fn -> Fn01F1 [label="JAE Fn01F1"];
Fn -> Fn01C3 ;
Fn [label="
0876:01C3 65 SEG GS (unused)
0876:01C4 64 SEG FS (unused)
0876:01C5 752E JNZ 01F5
"];
Fn -> Fn01F5 [label="JNZ Fn01F5"];
Fn -> Fn01C7 ;
Fn [label="
0876:01C7 636E3E ARPL [BP+3E],BP
0876:01CA 0D0A24 OR AX,240A
0876:01CD 0D0A54 OR AX,540A
0876:01D0 686520 PUSH 2065
0876:01D3 46 INC SI
0876:01D4 7265 JB 023B
"];
Fn -> Fn023B [label="JB Fn023B"];
Fn -> Fn01D6 ;
Fn [label="
0876:01D6 65 SEG GS (unused)
0876:01D7 43 INC BX
0876:01D8 44 INC SP
0876:01D9 4F DEC DI
0876:01DA 53 PUSH BX
0876:01DB 207379 AND [BP+DI+79],DH
0876:01DE 7374 JAE 0254
"];
Fn -> Fn0254 [label="JAE Fn0254"];
Fn -> Fn01E0 ;
Fn [label="
0876:01E0 65 SEG GS (unused)
0876:01E1 6D INSW
0876:01E2 206861 AND [BX+SI+61],CH
0876:01E5 7320 JAE 0207
"];
Fn -> Fn0207 [label="JAE Fn0207"];
Fn -> Fn01E7 ;
Fn [label="
0876:01E7 65 SEG GS (unused)
0876:01E8 7869 JS 0253
"];
Fn -> Fn0253 [label="JS Fn0253"];
Fn -> Fn01EA ;
Fn [label="
0876:01EA 7465 JZ 0251
"];
Fn -> Fn0251 [label="JZ Fn0251"];
Fn -> Fn01EC ;
Fn [label="
0876:01EC 64207375 AND FS:[BP+DI+75],DH
0876:01F0 636365 ARPL [BP+DI+65],SP
0876:01F3 7373 JAE 0268
"];
Fn -> Fn0268 [label="JAE Fn0268"];
Fn -> Fn01F5 ;
Fn [label="
0876:01F5 66756C JNZ 00000264
"];
Fn -> Fn00000264 [label="JNZ Fn00000264"];
Fn -> Fn01F8 ;
Fn [label="
0876:01F8 2124 AND [SI],SP
0876:01FA 0D0A5B OR AX,5B0A
0876:01FD 46 INC SI
0876:01FE 43 INC BX
0876:01FF 4B DEC BX
0876:0200 4E DEC SI
0876:0201 4C DEC SP
0876:0202 2E SEG CS (unused)
0876:0203 43 INC BX
0876:0204 4F DEC DI
0876:0205 4D DEC BP
0876:0206 5D POP BP
0876:0207 206861 AND [BX+SI+61],CH
0876:020A 7320 JAE 022C
"];
Fn -> Fn022C [label="JAE Fn022C"];
Fn -> Fn020C ;
Fn [label="
0876:020C 7265 JB 0273
"];
Fn -> Fn0273 [label="JB Fn0273"];
Fn -> Fn020E ;
Fn [label="
0876:020E 61 POPA
0876:020F 6C INSB
0876:0210 65 SEG GS (unused)
0876:0211 61 POPA
0876:0212 7365 JAE 0279
"];
Fn -> Fn0279 [label="JAE Fn0279"];
Fn -> Fn0214 ;
Fn [label="
0876:0214 642124 AND FS:[SI],SP
0876:0217 0D0A5B OR AX,5B0A
0876:021A 46 INC SI
0876:021B 43 INC BX
0876:021C 52 PUSH DX
0876:021D 44 INC SP
0876:021E 2E SEG CS (unused)
0876:021F 43 INC BX
0876:0220 4F DEC DI
0876:0221 4D DEC BP
0876:0222 5D POP BP
0876:0223 206861 AND [BX+SI+61],CH
0876:0226 7320 JAE 0248
"];
Fn -> Fn0248 [label="JAE Fn0248"];
Fn -> Fn0228 ;
Fn [label="
0876:0228 7265 JB 028F
"];
Fn -> Fn028F [label="JB Fn028F"];
Fn -> Fn022A ;
Fn [label="
0876:022A 61 POPA
0876:022B 6C INSB
0876:022C 65 SEG GS (unused)
0876:022D 61 POPA
0876:022E 7365 JAE 0295
"];
Fn -> Fn0295 [label="JAE Fn0295"];
Fn -> Fn0230 ;
Fn [label="
0876:0230 642124 AND FS:[SI],SP
0876:0233 0D0A5B OR AX,5B0A
0876:0236 46 INC SI
0876:0237 43 INC BX
0876:0238 4B DEC BX
0876:0239 4E DEC SI
0876:023A 4C DEC SP
0876:023B 2E SEG CS (unused)
0876:023C 43 INC BX
0876:023D 4F DEC DI
0876:023E 4D DEC BP
0876:023F 5D POP BP
0876:0240 206E6F AND [BP+6F],CH
0876:0243 7420 JZ 0265
"];
Fn -> Fn0265 [label="JZ Fn0265"];
Fn -> Fn0245 ;
Fn [label="
0876:0245 666F OUTSD
0876:0247 756E JNZ 02B7
"];
Fn -> Fn02B7 [label="JNZ Fn02B7"];
Fn -> Fn0249 ;
Fn [label="
0876:0249 642124 AND FS:[SI],SP
0876:024C 0D0A5B OR AX,5B0A
0876:024F 46 INC SI
0876:0250 43 INC BX
0876:0251 52 PUSH DX
0876:0252 44 INC SP
0876:0253 2E SEG CS (unused)
0876:0254 43 INC BX
0876:0255 4F DEC DI
0876:0256 4D DEC BP
0876:0257 5D POP BP
0876:0258 2020 AND [BX+SI],AH
0876:025A 6E OUTSB
0876:025B 6F OUTSW
0876:025C 7420 JZ 027E
"];
Fn -> Fn027E [label="JZ Fn027E"];
Fn -> Fn025E ;
Fn [label="
0876:025E 666F OUTSD
0876:0260 756E JNZ 02D0
"];
Fn -> Fn02D0 [label="JNZ Fn02D0"];
Fn -> Fn0262 ;
Fn [label="
0876:0262 642124 AND FS:[SI],SP
0876:0265 0000 ADD [BX+SI],AL
0876:0267 0000 ADD [BX+SI],AL
0876:0269 0000 ADD [BX+SI],AL
0876:026B 0000 ADD [BX+SI],AL
0876:026D 0089D8E8 ADD [BX+DI+E8D8],CL
"];
}