Diskussion:BIT $hhll

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Instruktion überspringen[Quelltext bearbeiten]

Vielleicht sollte man erwähnen, dass der Bit-Befehl auch zum Überspringen des folgenden 1- oder 2-Byte Befehls verwendet werden kann, solange die entsprechenden Flags danach nicht mehr gebraucht werden.

wurde in den Artikel integriert. --Werner 22:37, 23. Okt 2006 (CEST)

Grafik und V-/N-Flag[Quelltext bearbeiten]

Die Bitweise UND-Verknüpfung ist für das Negative- und Overflow-Bit irrelevant. Das steht so richtig im Text. Die Grafik sagt aber was anderes (falsches) aus. Die Grafik sollte korrigiert werden.

erledigt --Werner 22:17, 22. Jan. 2009 (CET)

BIT #$nn[Quelltext bearbeiten]

Für BIT $hhll Beispiel 3.

Siehe auch für VC-20 im Forum sleepingelephant.com.


Erstellung der Tabellen


Ausgehend von den ROM-Images

In hexadezimale Darstellung umwandeln (zeilenweise), sortiert nach Werten mit der Adressen in der 2. Spalte:

perl -e 'while(read(STDIN,$b,1)==1){printf("%02X %04X\n", unpack("C",$b), $a++)}' < kernal-speeddos.bin | sort > kernal-speeddos.bytes_sorted
perl -e 'while(read(STDIN,$b,1)==1){printf("%02X %04X\n", unpack("C",$b), $a++)}' < kernal.bin | sort > kernal.bytes_sorted
perl -e 'while(read(STDIN,$b,1)==1){printf("%02X %04X\n", unpack("C",$b), $a++)}' < basic.bin | sort > basic.bytes_sorted

Nur jene Stellen übernehmen, die sowohl im Standard-KERNAL als auch im SpeedDOS-KERNAL vorhanden sind:

comm -12 kernal.bytes_sorted kernal-speeddos.bytes_sorted > kernal-mixed.bytes_sorted

Adressen für alle 256 Immediate-Argumente heraussuchen:

awk 'BEGIN{b=-1}(b != $1){print $0; b=$1}' kernal-mixed.bytes_sorted | sed -e 's/ 0/ E/' -e 's/ 1/ F/' > bit_00_FF.kernal
awk 'BEGIN{b=-1}(b != $1){print $0; b=$1}' basic.bytes_sorted | sed -e 's/ 0/ A/' -e 's/ 1/ B/' > bit_00_FF.basic

Leider kommt im KERNAL der Wert $75 und in BASIC der Wert $78 nicht vor. möchte man eine komplette Liste, muss man beide ROMs einbeziehen:

sort bit_00_FF.basic bit_00_FF.kernal | awk 'BEGIN{b=-1}(b != $1){print $0; b=$1}' >bit_00_FF.basic_kernal
sort bit_00_FF.basic bit_00_FF.kernal | awk 'BEGIN{b=-1}{if(b != $1){if (l!="") print l}{b=$1;l=$0}}END{print l}' >bit_00_FF.kernal_basic

Nur die Bit-Masken für einzelene Bits, sowie $00 und $FF:

egrep -h '^(0[01248]|[1248]0|FF)' bit_00_FF.kernal bit_00_FF.basic | awk '{print "\tBIT $" $2 "\t; #$" $1}'

Befehle hauptsächlich bezogen auf das BASIC-ROM, mit Ausnahme für $78:

	BIT $A07A	; #$00
	BIT $A390	; #$01
	BIT $A39B	; #$02
	BIT $A059	; #$03
	BIT $A3E7	; #$04
	BIT $A01A	; #$05
	BIT $A42D	; #$06
	BIT $A3A8	; #$07
	BIT $A3B9	; #$08
	BIT $A414	; #$09
	BIT $A377	; #$0A
	BIT $A4A3	; #$0B
	BIT $A634	; #$0C
	BIT $A06E	; #$0D
	BIT $A06C	; #$0E
	BIT $A581	; #$0F
	BIT $A058	; #$10
	BIT $A08A	; #$11
	BIT $A3B3	; #$12
	BIT $A44D	; #$13
	BIT $A50E	; #$14
	BIT $A09C	; #$15
	BIT $A67D	; #$16
	BIT $A572	; #$17
	BIT $A3B1	; #$18
	BIT $A67B	; #$19
	BIT $A85A	; #$1A
	BIT $A9C5	; #$1B
	BIT $A024	; #$1C
	BIT $A010	; #$1D
	BIT $A35E	; #$1E
	BIT $A620	; #$1F
	BIT $A1A1	; #$20
	BIT $A395	; #$21
	BIT $A3C5	; #$22
	BIT $A03A	; #$23
	BIT $A360	; #$24
	BIT $A33A	; #$25
	BIT $A41D	; #$26
	BIT $A022	; #$27
	BIT $A40B	; #$28
	BIT $A048	; #$29
	BIT $A087	; #$2A
	BIT $A534	; #$2B
	BIT $A030	; #$2C
	BIT $A4B0	; #$2D
	BIT $A02C	; #$2E
	BIT $A670	; #$2F
	BIT $A00C	; #$30
	BIT $A3BC	; #$31
	BIT $A3BE	; #$32
	BIT $A40F	; #$33
	BIT $A409	; #$34
	BIT $A33C	; #$35
	BIT $A5D2	; #$36
	BIT $A07E	; #$37
	BIT $A3BF	; #$38
	BIT $A052	; #$39
	BIT $A02A	; #$3A
	BIT $A33E	; #$3B
	BIT $A5A9	; #$3C
	BIT $A7BB	; #$3D
	BIT $A3FD	; #$3E
	BIT $A59D	; #$3F
	BIT $AB5A	; #$40
	BIT $A008	; #$41
	BIT $A005	; #$42
	BIT $A004	; #$43
	BIT $A0A8	; #$44
	BIT $A09E	; #$45
	BIT $A092	; #$46
	BIT $A0C1	; #$47
	BIT $A136	; #$48
	BIT $A00A	; #$49
	BIT $A02E	; #$4A
	BIT $A0FC	; #$4B
	BIT $A0BE	; #$4C
	BIT $A006	; #$4D
	BIT $A09F	; #$4E
	BIT $A0A2	; #$4F
	BIT $A08F	; #$50
	BIT $A160	; #$51
	BIT $A084	; #$52
	BIT $A009	; #$53
	BIT $A0AA	; #$54
	BIT $A034	; #$55
	BIT $A040	; #$56
	BIT $A0E5	; #$57
	BIT $A056	; #$58
	BIT $A118	; #$59
	BIT $A098	; #$5A
	BIT $A3C8	; #$5B
	BIT $BBC8	; #$5C
	BIT $A044	; #$5D
	BIT $AAB4	; #$5E
	BIT $A3C3	; #$5F
	BIT $A3B7	; #$60
	BIT $A423	; #$61
	BIT $A77D	; #$62
	BIT $AA17	; #$63
	BIT $A036	; #$64
	BIT $A072	; #$65
	BIT $A779	; #$66
	BIT $A032	; #$67
	BIT $A421	; #$68
	BIT $A081	; #$69
	BIT $A344	; #$6A
	BIT $A068	; #$6B
	BIT $A437	; #$6C
	BIT $AE78	; #$6D
	BIT $AE7B	; #$6E
	BIT $AA5E	; #$6F
	BIT $A020	; #$70
	BIT $A05E	; #$71
	BIT $A346	; #$72
	BIT $A48B	; #$73
	BIT $BFCA	; #$74
	BIT $AA57	; #$75
	BIT $A475	; #$76
	BIT $ADE0	; #$77
	BIT $E5BA	; #$78
	BIT $A080	; #$79
	BIT $A04E	; #$7A
	BIT $A002	; #$7B
	BIT $A070	; #$7C
	BIT $A05A	; #$7D
	BIT $AA2A	; #$7E
	BIT $A03C	; #$7F
	BIT $A018	; #$80
	BIT $A393	; #$81
	BIT $A026	; #$82
	BIT $A362	; #$83
	BIT $A3BD	; #$84
	BIT $A046	; #$85
	BIT $A486	; #$86
	BIT $AAC0	; #$87
	BIT $A3EC	; #$88
	BIT $A92F	; #$89
	BIT $A3B0	; #$8A
	BIT $A076	; #$8B
	BIT $A514	; #$8C
	BIT $A511	; #$8D
	BIT $A65A	; #$8E
	BIT $AFAE	; #$8F
	BIT $A34A	; #$90
	BIT $A3EA	; #$91
	BIT $B3EB	; #$92
	BIT $B377	; #$93
	BIT $A000	; #$94
	BIT $A422	; #$95
	BIT $BF1C	; #$96
	BIT $A060	; #$97
	BIT $A3CD	; #$98
	BIT $A5A1	; #$99
	BIT $A683	; #$9A
	BIT $A042	; #$9B
	BIT $BF31	; #$9C
	BIT $A34C	; #$9D
	BIT $A05C	; #$9E
	BIT $A01E	; #$9F
	BIT $A389	; #$A0
	BIT $A329	; #$A1
	BIT $A339	; #$A2
	BIT $A0B1	; #$A3
	BIT $A014	; #$A4
	BIT $A396	; #$A5
	BIT $A043	; #$A6
	BIT $A00F	; #$A7
	BIT $A00D	; #$A8
	BIT $A01D	; #$A9
	BIT $A03D	; #$AA
	BIT $A015	; #$AB
	BIT $A01B	; #$AC
	BIT $A011	; #$AD
	BIT $A09A	; #$AE
	BIT $A091	; #$AF
	BIT $A019	; #$B0
	BIT $A3E8	; #$B1
	BIT $A038	; #$B2
	BIT $A039	; #$B3
	BIT $A06A	; #$B4
	BIT $A32C	; #$B5
	BIT $A079	; #$B6
	BIT $A071	; #$B7
	BIT $A031	; #$B8
	BIT $A063	; #$B9
	BIT $A088	; #$BA
	BIT $A08B	; #$BB
	BIT $A053	; #$BC
	BIT $A04A	; #$BD
	BIT $A016	; #$BE
	BIT $A05F	; #$BF
	BIT $A7B5	; #$C0
	BIT $A0AB	; #$C1
	BIT $A0D5	; #$C2
	BIT $A187	; #$C3
	BIT $A0A0	; #$C4
	BIT $A0D0	; #$C5
	BIT $A04C	; #$C6
	BIT $A167	; #$C7
	BIT $A2D4	; #$C8
	BIT $A392	; #$C9
	BIT $A3F7	; #$CA
	BIT $A17A	; #$CB
	BIT $A054	; #$CC
	BIT $A0B9	; #$CD
	BIT $A0C7	; #$CE
	BIT $A0C4	; #$CF
	BIT $A0E2	; #$D0
	BIT $A028	; #$D1
	BIT $A0A3	; #$D2
	BIT $A099	; #$D3
	BIT $A0A7	; #$D4
	BIT $A354	; #$D5
	BIT $A80A	; #$D6
	BIT $A128	; #$D7
	BIT $A23A	; #$D8
	BIT $A0F6	; #$D9
	BIT $AC84	; #$DA
	BIT $A5ED	; #$DB
	BIT $ACDB	; #$DC
	BIT $A3A4	; #$DD
	BIT $A144	; #$DE
	BIT $A5E9	; #$DF
	BIT $A061	; #$E0
	BIT $A033	; #$E1
	BIT $A067	; #$E2
	BIT $A001	; #$E3
	BIT $A356	; #$E4
	BIT $A093	; #$E5
	BIT $A4E6	; #$E6
	BIT $A661	; #$E7
	BIT $A090	; #$E8
	BIT $A5D4	; #$E9
	BIT $A062	; #$EA
	BIT $AFDC	; #$EB
	BIT $A078	; #$EC
	BIT $A064	; #$ED
	BIT $A968	; #$EE
	BIT $A95D	; #$EF
	BIT $A334	; #$F0
	BIT $A4BA	; #$F1
	BIT $A3F9	; #$F2
	BIT $A925	; #$F3
	BIT $A461	; #$F4
	BIT $A5C0	; #$F5
	BIT $B0B9	; #$F6
	BIT $A012	; #$F7
	BIT $A529	; #$F8
	BIT $A3EE	; #$F9
	BIT $A41B	; #$FA
	BIT $A548	; #$FB
	BIT $A523	; #$FC
	BIT $A60A	; #$FD
	BIT $A512	; #$FE
	BIT $A336	; #$FF

Befehle hauptsächlich bezogen auf das KERNAL-ROM, mit Ausnahme für $75:

	BIT $E03B	; #$00
	BIT $E01A	; #$01
	BIT $E069	; #$02
	BIT $E00A	; #$03
	BIT $E0A6	; #$04
	BIT $E01D	; #$05
	BIT $E1E1	; #$06
	BIT $E012	; #$07
	BIT $E0B1	; #$08
	BIT $E296	; #$09
	BIT $E16B	; #$0A
	BIT $E1C5	; #$0B
	BIT $E13B	; #$0C
	BIT $E13E	; #$0D
	BIT $E141	; #$0E
	BIT $E003	; #$0F
	BIT $E027	; #$10
	BIT $E21F	; #$11
	BIT $E298	; #$12
	BIT $E375	; #$13
	BIT $E145	; #$14
	BIT $EB4E	; #$15
	BIT $E401	; #$16
	BIT $E17D	; #$17
	BIT $E013	; #$18
	BIT $E1BF	; #$19
	BIT $E2F2	; #$1A
	BIT $E2F4	; #$1B
	BIT $E17F	; #$1C
	BIT $E19D	; #$1D
	BIT $E108	; #$1E
	BIT $E350	; #$1F
	BIT $E002	; #$20
	BIT $EBFA	; #$21
	BIT $E0A2	; #$22
	BIT $E0A4	; #$23
	BIT $E58F	; #$24
	BIT $E84B	; #$25
	BIT $EB1B	; #$26
	BIT $E580	; #$27
	BIT $E04D	; #$28
	BIT $E183	; #$29
	BIT $E1B3	; #$2A
	BIT $E098	; #$2B
	BIT $E167	; #$2C
	BIT $E15A	; #$2D
	BIT $E15C	; #$2E
	BIT $E5A9	; #$2F
	BIT $E09A	; #$30
	BIT $EBB9	; #$31
	BIT $E6C4	; #$32
	BIT $E1B9	; #$33
	BIT $E415	; #$34
	BIT $E08E	; #$35
	BIT $EAEF	; #$36
	BIT $E09B	; #$37
	BIT $E018	; #$38
	BIT $EBA1	; #$39
	BIT $E36B	; #$3A
	BIT $EBB3	; #$3B
	BIT $EBF1	; #$3C
	BIT $EBB6	; #$3D
	BIT $E325	; #$3E
	BIT $E641	; #$3F
	BIT $E653	; #$40
	BIT $E462	; #$41
	BIT $E461	; #$42
	BIT $E2B2	; #$43
	BIT $E08F	; #$44
	BIT $E46A	; #$45
	BIT $E095	; #$46
	BIT $E456	; #$47
	BIT $E01B	; #$48
	BIT $E1CB	; #$49
	BIT $E235	; #$4A
	BIT $EBA6	; #$4B
	BIT $E056	; #$4C
	BIT $E77D	; #$4D
	BIT $E2BF	; #$4E
	BIT $E3BB	; #$4F
	BIT $E289	; #$50
	BIT $E360	; #$51
	BIT $E3BD	; #$52
	BIT $E02E	; #$53
	BIT $E3C2	; #$54
	BIT $EB9F	; #$55
	BIT $E001	; #$56
	BIT $E04B	; #$57
	BIT $E385	; #$58
	BIT $E038	; #$59
	BIT $EB8D	; #$5A
	BIT $EBEF	; #$5B
	BIT $E085	; #$5C
	BIT $E050	; #$5D
	BIT $E7DB	; #$5E
	BIT $EBBA	; #$5F
	BIT $E042	; #$60
	BIT $E006	; #$61
	BIT $E0AA	; #$62
	BIT $E0B5	; #$63
	BIT $E0AF	; #$64
	BIT $E0BA	; #$65
	BIT $E0E6	; #$66
	BIT $E063	; #$67
	BIT $E03E	; #$68
	BIT $E014	; #$69
	BIT $F678	; #$6A
	BIT $E2BC	; #$6B
	BIT $E144	; #$6C
	BIT $F308	; #$6D
	BIT $E273	; #$6E
	BIT $E03D	; #$6F
	BIT $E02C	; #$70
	BIT $E044	; #$71
	BIT $E046	; #$72
	BIT $E3E6	; #$73
	BIT $E392	; #$74
	BIT $AA57	; #$75
	BIT $E1AC	; #$76
	BIT $E1BC	; #$77
	BIT $E5BA	; #$78
	BIT $E207	; #$79
	BIT $E090	; #$7A
	BIT $E1A2	; #$7B
	BIT $E34E	; #$7C
	BIT $E358	; #$7D
	BIT $E366	; #$7E
	BIT $E2EA	; #$7F
	BIT $E0EC	; #$80
	BIT $E015	; #$81
	BIT $FD93	; #$82
	BIT $E2E5	; #$83
	BIT $E045	; #$84
	BIT $E000	; #$85
	BIT $E0A1	; #$86
	BIT $E2FA	; #$87
	BIT $E008	; #$88
	BIT $E2FD	; #$89
	BIT $E12B	; #$8A
	BIT $E0BF	; #$8B
	BIT $E14E	; #$8C
	BIT $E0C6	; #$8D
	BIT $E14B	; #$8E
	BIT $E525	; #$8F
	BIT $E009	; #$90
	BIT $E36F	; #$91
	BIT $E0CD	; #$92
	BIT $E473	; #$93
	BIT $E024	; #$94
	BIT $E022	; #$95
	BIT $E8E4	; #$96
	BIT $E74A	; #$97
	BIT $E067	; #$98
	BIT $E2FB	; #$99
	BIT $E39F	; #$9A
	BIT $E8E9	; #$9B
	BIT $E404	; #$9C
	BIT $E2DE	; #$9D
	BIT $E204	; #$9E
	BIT $E8DD	; #$9F
	BIT $E035	; #$A0
	BIT $E4E8	; #$A1
	BIT $E01C	; #$A2
	BIT $E190	; #$A3
	BIT $E064	; #$A4
	BIT $E005	; #$A5
	BIT $E0D3	; #$A6
	BIT $E44E	; #$A7
	BIT $E1FA	; #$A8
	BIT $E033	; #$A9
	BIT $E104	; #$AA
	BIT $E193	; #$AB
	BIT $E140	; #$AC
	BIT $E119	; #$AD
	BIT $E13D	; #$AE
	BIT $E218	; #$AF
	BIT $E10F	; #$B0
	BIT $E060	; #$B1
	BIT $E3C9	; #$B2
	BIT $E340	; #$B3
	BIT $E020	; #$B4
	BIT $E01E	; #$B5
	BIT $E25C	; #$B6
	BIT $E12F	; #$B7
	BIT $E02F	; #$B8
	BIT $E040	; #$B9
	BIT $E00D	; #$BA
	BIT $E049	; #$BB
	BIT $E004	; #$BC
	BIT $E1D7	; #$BD
	BIT $EC22	; #$BE
	BIT $E032	; #$BF
	BIT $E1C2	; #$C0
	BIT $E357	; #$C1
	BIT $EB7B	; #$C2
	BIT $E1CD	; #$C3
	BIT $E034	; #$C4
	BIT $E4E7	; #$C5
	BIT $E088	; #$C6
	BIT $E05E	; #$C7
	BIT $E066	; #$C8
	BIT $E007	; #$C9
	BIT $E026	; #$CA
	BIT $E356	; #$CB
	BIT $E00F	; #$CC
	BIT $E43B	; #$CD
	BIT $E5DC	; #$CE
	BIT $E113	; #$CF
	BIT $E068	; #$D0
	BIT $E607	; #$D1
	BIT $E10D	; #$D2
	BIT $E343	; #$D3
	BIT $E00C	; #$D4
	BIT $E176	; #$D5
	BIT $E122	; #$D6
	BIT $E0F0	; #$D7
	BIT $E160	; #$D8
	BIT $E54E	; #$D9
	BIT $E2E3	; #$DA
	BIT $EBEA	; #$DB
	BIT $E11C	; #$DC
	BIT $E8CD	; #$DD
	BIT $E354	; #$DE
	BIT $E302	; #$DF
	BIT $E039	; #$E0
	BIT $E131	; #$E1
	BIT $E116	; #$E2
	BIT $E0BC	; #$E3
	BIT $E08B	; #$E4
	BIT $E26F	; #$E5
	BIT $E06A	; #$E6
	BIT $E307	; #$E7
	BIT $E110	; #$E8
	BIT $E019	; #$E9
	BIT $E285	; #$EA
	BIT $E528	; #$EB
	BIT $E5AC	; #$EC
	BIT $E596	; #$ED
	BIT $EB53	; #$EE
	BIT $E2AE	; #$EF
	BIT $E016	; #$F0
	BIT $F5B7	; #$F1
	BIT $F244	; #$F2
	BIT $E017	; #$F3
	BIT $E346	; #$F4
	BIT $E028	; #$F5
	BIT $E2C3	; #$F6
	BIT $E12E	; #$F7
	BIT $E2F9	; #$F8
	BIT $E1D2	; #$F9
	BIT $E565	; #$FA
	BIT $E2F8	; #$FB
	BIT $E34B	; #$FC
	BIT $E20F	; #$FD
	BIT $EAA4	; #$FE
	BIT $E0A0	; #$FF

--JohannKlasek (Diskussion) 20:23, 20. Jan. 2022 (CET)