Diskussion:BIT $hhll
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
- kernal-speeddos.bin (SpeedDOS)
- kernal.bin (KERNAL-ROM)
- basic.bin (BASIC-ROM)
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)