SBC6502 - 40 - IPT - Igiho Pomocná Tabuľka.

By Administrator at marca 12, 2020 16:21
Filed Under: SBC6502

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:

Comments

12. 3. 2020 16:42:30 #

trackback

Directory SBC6502

Directory SBC6502

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: