
Pretože som sem tak isto pridal ďalšie tabuľky tak by sa to tu skôr malo volať Igiho pomocné tabuľky, ale už ten pôvodný názov meniť nebudem.
Prvá vec - je to moja blbinka, ktorá mi hodne pomáha, stále treba prerátavať adresy v 64kbyte adresnom priestore počítača SBC 6502 (a samozrejme nielen u neho) - prvý stĺpik má rozsah 1÷64, druhý dekadicky počítača v rozsahu 0÷63d, nasleduje prepočet do hexa tvaru 0÷3Fh. Následne je tam adresný rozsah daného kilobytu dekadicky a nakoniec nasleduje aj jeho verzia v hexa tvare. Dosť mi to pomáha, hlavne ak potrebujem dekódovať adresu, pretože sa pri prepočtoch človek ľahko stratí. Takže - ak toto využijete, fajn, poteší to, nemusíte si prácne prepočítavať. Prvý stĺpik je určený pre tých, ktorí majú problém pri prepočítavaní nultého kbyte.
|
Igi´s
|
help
|
table: |
|
|
|
|
|
|
|
|
|
|
|
Range |
Range |
Range |
Adress |
Adress |
kbyte |
kbyte |
kbyte |
range |
range |
k: |
dec: |
hex: |
dec: |
hex: |
1 |
0 |
0 |
0- 1023 |
0000-03FF |
2 |
1 |
1 |
1024- 2047 |
0400-07FF |
3 |
2 |
2 |
2048- 3071 |
0800-0BFF |
4 |
3 |
3 |
3072- 4095 |
0C00-0FFF |
5 |
4 |
4 |
4096- 5119 |
1000-13FF |
6 |
5 |
5 |
5120- 6143 |
1400-17FF |
7 |
6 |
6 |
6144- 7167 |
1800-1BFF |
8 |
7 |
7 |
7168- 8191 |
1C00-1FFF |
9 |
8 |
8 |
8192- 9215 |
2000-23FF |
10 |
9 |
9 |
9216-10239 |
2400-27FF |
11 |
10 |
0A |
10240-11263 |
2800-2BFF |
12 |
11 |
0B |
11264-12287 |
2C00-2FFF |
13 |
12 |
0C |
12288-13311 |
3000-33FF |
14 |
13 |
0D |
13312-14335 |
3400-37FF |
15 |
14 |
0E |
14336-15359 |
3800-3BFF |
16 |
15 |
0F |
15360-16383 |
3C00-3FFF |
17 |
16 |
10 |
16384-17407 |
4000-43FF |
18 |
17 |
11 |
17408-18431 |
4400-47FF |
19 |
18 |
12 |
18432-19455 |
4800-4BFF |
20 |
19 |
13 |
19456-20479 |
4C00-4FFF |
21 |
20 |
14 |
20480-21503 |
5000-53FF |
22 |
21 |
15 |
21504-22527 |
5400-57FF |
23 |
22 |
16 |
22528-23551 |
5800-5BFF |
24 |
23 |
17 |
23552-24575 |
5C00-5FFF |
25 |
24 |
18 |
24576-25599 |
6000-63FF |
26 |
25 |
19 |
25600-26623 |
6400-67FF |
27 |
26 |
1A |
26624-27647 |
6800-6BFF |
28 |
27 |
1B |
27648-28671 |
6C00-6FFF |
29 |
28 |
1C |
28672-29695 |
7000-73FF |
30 |
29 |
1D |
29696-30719 |
7400-77FF |
31 |
30 |
1E |
30720-31743 |
7800-7BFF |
32 |
31 |
1F |
31744-32767 |
7C00-7FFF |
33 |
32 |
20 |
32768-33791 |
8000-83FF |
34 |
33 |
21 |
33792-34815 |
8400-87FF |
35 |
34 |
22 |
34816-35839 |
8800-8BFF |
36 |
35 |
23 |
35840-36863 |
8C00-8FFF |
37 |
36 |
24 |
36864-37887 |
9000-93FF |
38 |
37 |
25 |
37888-38911 |
9400-97FF |
39 |
38 |
26 |
38912-39935 |
9800-9BFF |
40 |
39 |
27 |
39936-40959 |
9C00-9FFF |
41 |
40 |
28 |
40960-41983 |
A000-A3FF |
42 |
41 |
29 |
41984-43007 |
A400-A7FF |
43 |
42 |
2A |
43008-44031 |
A800-ABFF |
44 |
43 |
2B |
44032-45055 |
AC00-AFFF |
45 |
44 |
2C |
45056-46079 |
B000-B3FF |
46 |
45 |
2D |
46080-47103 |
B400-B7FF |
47 |
46 |
2E |
47104-48127 |
B800-BBFF |
48 |
47 |
2F |
48128-49151 |
BC00-BFFF |
49 |
48 |
30 |
49152-50175 |
C000-C3FF |
50 |
49 |
31 |
50176-51199 |
C400-C7FF |
51 |
50 |
32 |
51200-52223 |
C800-CBFF |
52 |
51 |
33 |
52224-53247 |
CC00-CFFF |
53 |
52 |
34 |
53248-54271 |
D000-D3FF |
54 |
53 |
35 |
54272-55295 |
D400-D7FF |
55 |
54 |
36 |
55296-56319 |
D800-DBFF |
56 |
55 |
37 |
56320-57343 |
DC00-DFFF |
57 |
56 |
38 |
57344-58367 |
E000-E3FF |
58 |
57 |
39 |
58368-59391 |
E400-E7FF |
59 |
58 |
3A |
59392-60415 |
E800-EBFF |
60 |
59 |
3B |
60416-61439 |
EC00-EFFF |
61 |
60 |
3C |
61440-62463 |
F000-F3FF |
62 |
61 |
3D |
62464-63487 |
F400-F7FF |
63 |
62 |
3E |
63488-64511 |
F800-FBFF |
64 |
63 |
3F |
64512-65535 |
FC00-FFFF |
Program ktorý vygeneruje popísanú tabuľku:
1000 CLEAR:DIM D$(16):D$="0123456789ABCDEF"
1001 ? CHR$(12):POKE 15,80
1005 ?"Range Range Range Adress Adress"
1006 ?" k: dec: hex: dec: hex:"
1007 ?
1010 Q=1
1020 FOR G=0 TO 63
1022 IF G=0 THEN S=0:GOTO 1030
1025 S=G*1024: IF S=-1 THEN S=1
1030 ?Q" "G" ";:DEC=G:GOSUB 8000
1035 ? " "S;"-";:? (G*1024+1023);" ";
1040 DEC=S:GOSUB 8000:?"-";:DEC=G*1024+1023:GOSUB 8000:?" "
1065 Q=Q+1
1070 NEXT G
1100 END
8000 NUM=DEC:GOSUB 8500:?N$;:RETURN
8500 REM Conversion Dec to Hex
8510 DIV=4096
8520 FOR I=1 TO 4
8530 N=INT(NUM/DIV)
8535 IF I=1 THEN I$=MID$(D$,N+1,1)
8536 IF I=2 THEN G$=MID$(D$,N+1,1)
8537 IF I=3 THEN O$=MID$(D$,N+1,1)
8538 IF I=4 THEN R$=MID$(D$,N+1,1)
8540 NUM=NUM-DIV*N:DIV=DIV/16
8550 NEXT I
8555 N$=I$+G$+O$+R$
8560 RETURN
____________________________________________________________
Prevodná tabuľka Hex2dec a Dec2hex v jednom:
Síce základný rozsah pre 8bitov t.j. 0÷255d a 00÷FFh sa dá jednoducho poskladať aj v hlave, ale toto je na použitie predsa len o niečo rýchlejšie:

Hex2dec or Dec2hex table
____________________________________________________
Nasleduje tabuľka CHR$ znakov ktoré používa Hyperterminal /v spojení s SBC6502/:
Špecifický význam má znak č.12, ten ako PRINT CHR$(12) vyvolá zmazanie obrazovky terminálu /náhrada za neexistujúci príkaz CLS/, znak ? CHR$(28) spôsobí odskok smerom doprava /tabelátor ?/, ? CHR$(7) vyvolá "cinknutie" zvukovej karty, ? CHR$(8) zase návrat o jeden znak smerom doľava. Táto tabuľka zase urýchľuje vyhľadanie potrebných znakov ktoré chceme pri výpise na Hyperterminál použiť.


__________________________________________________________
Návrat do všetkých pokračovaní o SBC6502:
http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx
____________________________________________________
Vaše hodnotenie, Rate post: