C 64
Anwendung

MSE — Abtippen sicher und leicht gemacht

Ähnlich wie der »Checksummer« ist auch der MSE ein Hilfsmittel bei der Eingabe von Listings, diesmal jedoch bei reinen Maschinensprache-Programmen.

Im Gegensatz zum »Checksummer« aber ist die Eingabe nicht ohne den MSE möglich. Der MSE verringert die Tipparbeit um ein Drittel und schließt Fehleingaben vollkommen aus. Außerdem können Sie die DATAs blind eingeben, ohne andauernd auf den Bildschirm schauen zu müssen. Dies wird durch akustische Meldungen realisiert.

Sicher kennen Sie die Situation: Man hat ein langes Listing mit DATA-Zeilen abgetippt, versucht es, das erste Mal zu starten und — nichts läuft. Dann beginnt nach der mühseligen Tipperei die noch mühseligere Fehlersuche. Als letzter Ausweg bleibt dann nur noch der Anruf bei der Redaktion oder dem Verfasser, ob vielleicht doch ein Druckfehler…

Damit ist es jetzt vorbei. Ab dieser Ausgabe werden die Maschinenprogramme im 64’er mit dem MSE abgedruckt. MSE ist ein Maschinenspracheditor, mit dem ein Vertippen ausgeschlossen ist. Eine abgetippte Zeile wird nur angenommen, wenn sie richtig ist. Wie ist das möglich ? Eine Checksumme am Ende jeder Zeile prüft, ob die richtigen Werte in der richtigen Zeile an der richtigen Stelle stehen. Wenn nicht, ertönt ein Warnsignal, und man beseitigt den Fehler.

War die Zeile korrekt, erklingt ein Gong, und die nächste Zeilennummer wird ausgegeben. Damit ist also auch »blindes« Eintippen möglich; Sie können sich voll auf den Text konzentrieren.

MSE verringert die Tipparbeit um ein Drittel. Anstelle von dreistelligen DATAs brauchen Sie nur noch zweistellige Hex-Zahlen einzugeben, die direkt in den Speicher gePOKEt werden.

So arbeitet man mit MSE

Laden und starten Sie MSE. Zuerst wird der Programmname und die Start- und Endadresse erfragt. Diese Angaben entnehmen Sie dem Kopf des jeweiligen abgedruckten Listings. MSE meldet sich dann mit der Zeilennummer der ersten Zeile. Wenn Sie die Zeile richtig eingegeben haben, erscheint die nächste Zeilennummer und so weiter bis zum Ende. Zum Schluß wird das fertige Programm mit »CTRL-S« auf Diskette oder Kassette abgespeichert. Dazu sind keine weiteren Angaben mehr erforderlich. Das Programm kann dann ganz normal wieder absolut geladen und gestartet werden. Wenn Sie nicht alles auf einmal tippen wollen, können Sie jederzeit unterbrechen und den eingetippten Teil mit »CTRL-S« abspeichern. Wollen Sie weiterarbeiten, laden und starten Sie MSE wieder. Geben Sie auf die Frage nach der Startadresse aber jetzt »L« ein, um Ihr Teilprogramm zu laden. Jetzt können Sie mit »CTRL-N« die Adresse eingeben, an der Sie weitertippen müssen. Wenn Sie sich nicht gemerkt haben, wie weit Sie gekommen sind, geben Sie nach dem Laden »CTRL-M« ein.

Auf die Frage nach der Startadresse antworten Sie mit der Anfangsadresse, die links in der Kopfzeile auf dem Bildschirm steht. Nun wird Ihr Programm aufgelistet. Mit »SPACE« wird das Listen fortgesetzt, mit »STOP« abgebrochen. Das Ende Ihres Programmteils erkennen Sie sehr einfach daran, daß nur noch der Wert »AA« in der Zeile steht. Die Adresse dieser Zeile müssen Sie anschließend mit »CTRL-N« eingeben. Das Programm ist nur mit »STOP/RESTORE« zu verlassen. Speichern Sie aber vorher unbedingt immer Ihren Text ab.

Wollen Sie selbst Programme mit MSE ausdrucken, laden Sie Ihr Programm wie oben beschrieben und geben anschließend »CTRL-P« ein. Die Druckausgabe läßt sich mit »STOP« jederzeit abbrechen.

Hinweise zum Abtippen

Vor dem Abtippen oder späteren Wiederladen des MSE-Laders müssen Sie unbedingt folgende Zeile eingeben: POKE 43,1: POKE 44,32: POKE 8192,0: NEW

Beachten Sie bei der Eingabe die Hinweise im »Checksummer«. Speichern Sie den »MSE Lader« nach dem Abtippen unbedingt ab. Starten Sie das Programm mit RUN. Fehlerhafte Zeilen werden angezeigt und müssen korrigiert werden, bis der Lader zum »READY« durchläuft. Jetzt müssen Sie das fertige MSE-Programm abspeichern. Dazu brauchen Sie nur »RETURN« zu drücken, weil die erforderlichen Angaben schon auf dem Bildschirm stehen. (Kassettenbesitzer müssen in Zeile 343 die letzte Zahl in »1« abändern). Abjetzt können Sie »MSE V1.0« direkt, also ohne den DATA-Lader benutzen. MSE V1.0 wird ganz normal mit »,8« geladen. Heben Sie das Programm gut auf, Sie werden es noch häufig brauchen.

(N. Mann/D. Weineck/gk)
DEL löscht die letzte Eingabe.
CTRL-S speichert das eingetippte Programm ab.
CTRL-L lädt ein Programm. Start- und Endadresse werden automatisch ermittelt.
CTRL-M listet den Speicherinhalt. Abbruch mit STOP-Taste, weiter mit Leertaste
CTRL-N erlaubt die Eingabe einer neuen Adresse zum Weitertippen.
CTRL-P gibt ein MSE-Listing auf dem Drucker aus.
Die Befehle des MSE auf einen Blick
1 rem ********************************
2 rem *     ++++ mse - lader   ++++  *
3 rem *              von             *
4 rem *  d.weineck & n.mann          *
5 rem *  fleetrade 40, 2800 bremen 1 *
6 rem *  tel. 0421/493090/231401     *
7 rem ********************************
8 :
9 :
10 dim h(75) : for i=0 to 9
20 h(48+i)=i : h(65+i)=i+10 : next
30 for i=2048 to 3755 : read a$
40 h=asc(left$(a$,1)):l=asc(right$(a$,1))
50 d=h(h)*16+h(l) : s=s+d : poke i,d
60 a=a+1:if a<9  then next : a=-1
65 print "zeile:";1000+z;
70 read v : z=z+1 : if v=s then 85
80 print" pruefsummenfehler !";999+z:stop
85 if a<0 then 341
90 s=0 : a=0 : print : next : end
95 :
96 :
341 print"{clr}pO43,1:pO44,8:pO45,172:pO46,14"
342 poke 631,19:poke 632,13:poke 633,13:poke 198,3
343 print"{down}{down}{down}save"chr$(34)"mse v1.0"chr$(34)",8
344 end
360 :
370 rem     **************
380 rem     *   datas    *
390 rem     **************
395 :
1000 data 00,0b,08,0a,00,9e,32,30,36, 339
1001 data 31,00,00,00,a2,08,a9,36,85, 575
1002 data a4,a9,08,85,a5,a9,00,85,a6, 1107
1003 data a9,b0,85,a7,a0,00,b1,a4,91, 1291
1004 data a6,c8,d0,f9,e6,a5,e6,a7,ca, 1817
1005 data d0,f2,a9,36,b5,01,4c,00,80, 1059
1006 data 20,d1,b1,a9,06,8d,21,d0,a9, 1144
1007 data 03,8d,20,d0,8d,86,02,a0,b3, 1000
1008 data a9,74,20,ff,b1,a0,b3,a9,b9, 1442
1009 data 20,ff,b1,a0,00,20,cf,ff,99, 1271
1010 data 01,02,c8,c9,0d,d0,f5,88,f0, 1246
1011 data d2,c0,0f,90,02,a0,0e,8c,00, 877
1012 data 02,20,ea,b1,a0,b3,a9,cf,20, 1192
1013 data ff,b1,20,8e,b4,85,fc,85,62, 1402
1014 data 20,8e,b4,85,fb,85,61,20,a7, 1167
1015 data b4,d0,20,a0,b3,a9,e5,20,ff, 1444
1016 data b1,20,8e,b4,85,60,20,8e,b4, 1114
1017 data 85,5f,20,a7,b4,d0,0a,a5,61, 1087
1018 data c5,5f,a5,62,e5,60,90,06,20, 1062
1019 data 43,b3,4c,3a,b0,a9,aa,a0,00, 1055
1020 data 91,fb,e6,fb,d0,02,e6,fc,20, 1601
1021 data 3f,b2,90,ef,4c,fb,b4,a2,02, 1295
1022 data 86,58,a9,a6,a0,9d,20,f2,b1, 1325
1023 data 20,e4,ff,f0,fb,c9,30,90,0c, 1411
1024 data c9,47,b0,08,c9,3a,90,0b,c9, 1071
1025 data 41,b0,07,c9,14,d0,0f,4c,0b, 779
1026 data b1,20,d2,ff,a6,58,95,f7,c6, 1522
1027 data 58,d0,d2,60,ae,8d,02,f0,26, 1197
1028 data c9,0c,d0,03,4c,0b,b6,c9,13, 913
1029 data d0,03,4c,8b,b5,c9,0d,d0,03, 1032
1030 data 4c,ba,b4,c9,10,d0,03,4c,68, 1050
1031 data b5,c9,0e,d0,06,20,5f,b4,4c, 993
1032 data 64,b1,4c,92,b0,a5,f9,20,02, 1123
1033 data b1,0a,0a,0a,0a,85,f9,a5,f8, 1012
1034 data 20,02,b1,05,f9,60,c9,3a,90, 964
1035 data 02,69,08,29,0f,60,a6,59,e0, 746
1036 data 08,90,1f,a6,58,e0,02,b0,06, 845
1037 data 20,d2,ff,4c,8e,b0,c6,59,a0, 1338
1038 data 14,a9,92,20,f2,b1,ca,d0,fa, 1446
1039 data 84,57,68,68,4c,8b,b1,a6,d3, 1196
1040 data e0,08,b0,03,4c,92,b0,20,d2, 1051
1041 data ff,a6,58,e0,02,90,09,c6,59, 1175
1042 data 20,d2,ff,c6,58,d0,f9,4c,8e, 1458
1043 data b0,48,4a,4a,4a,4a,20,59,b1, 842
1044 data 68,29,0f,c9,0a,90,02,69,06, 628
1045 data 69,30,4c,d2,ff,a2,fc,9a,20, 1294
1046 data d1,b1,20,48,b2,20,ea,b1,20, 1143
1047 data 9f,b2,a5,fc,20,4e,b1,a5,fb, 1457
1048 data 20,4e,b1,20,ed,b1,a9,3a,a0, 1120
1049 data 20,20,f2,b1,a9,00,85,59,20, 906
1050 data 8e,b0,20,ed,b1,a4,59,20,ef, 1288
1051 data b0,91,fb,c8,84,59,c0,08,90, 1337
1052 data ec,20,10,b2,a9,12,20,d2,ff, 1146
1053 data 20,8e,b0,20,ef,b0,c5,ff,f0, 1489
1054 data 0d,20,43,b3,a9,14,a0,14,20, 692
1055 data f2,b1,4c,a2,b1,a9,92,20,d2, 1391
1056 data ff,20,33,b2,20,e0,b2,20,3f, 1045
1057 data b2,90,9f,4c,8b,b5,a9,93,20, 1225
1058 data d2,ff,a2,00,a9,03,9d,00,d8, 1172
1059 data 9d,00,d9,9d,00,da,9d,00,db, 1125
1060 data e8,d0,ef,60,a9,0d,2c,a9,20, 1202
1061 data 4c,d2,ff,20,d2,ff,98,4c,d2, 1476
1062 data ff,20,e4,ff,f0,fb,60,84,5d, 1582
1063 data 85,5c,a0,00,b1,5c,f0,06,20, 932
1064 data d2,ff,c8,d0,f6,60,a5,fb,85, 1764
1065 data 5a,a0,00,84,5b,b1,fb,18,65, 1026
1066 data 5a,85,5a,90,02,e6,5b,06,5a, 876
1067 data 26,5b,c8,c0,08,90,ec,a5,5a, 1164
1068 data 65,5b,85,ff,60,18,a5,fb,69, 1221
1069 data 08,85,fb,90,02,e6,fc,60,a5, 1281
1070 data fb,c5,5f,a5,fc,e5,60,60,a0, 1541
1071 data b3,a9,fb,20,ff,b1,a0,01,b9, 1409
1072 data 00,02,20,d2,ff,cc,00,02,c8, 905
1073 data 90,f4,a9,10,ed,00,02,aa,20, 1014
1074 data ed,b1,ca,d0,fa,a5,62,20,4e, 1447
1075 data b1,a5,61,20,4e,b1,20,ed,b1, 1172
1076 data a5,60,20,4e,b1,a5,5f,20,4e, 918
1077 data b1,a9,9f,20,d2,ff,20,ea,b1, 1445
1078 data 24,5e,10,01,60,a9,12,20,d2, 672
1079 data ff,a2,28,20,ed,b1,ca,d0,fa, 1563
1080 data a9,92,4c,d2,ff,a5,d6,c9,16, 1458
1081 data b0,01,60,a9,a0,85,a4,a9,78, 1188
1082 data 85,a6,a9,04,85,a5,85,a7,a2, 1232
1083 data 13,a0,27,b1,a4,91,a6,88,10, 1022
1084 data f9,ca,f0,19,18,a5,a4,69,28, 1214
1085 data 85,a4,90,02,e6,a5,18,a5,a6, 1193
1086 data 69,28,85,a6,90,e0,e6,a7,4c, 1285
1087 data b6,b2,a9,91,4c,d2,ff,a9,0f, 1399
1088 data 8d,18,d4,a9,00,8d,05,d4,a9, 1073
1089 data f7,8d,06,d4,a9,11,8d,04,d4, 1149
1090 data a9,32,8d,01,d4,a9,00,8d,00, 883
1091 data d4,a0,80,20,09,b3,a9,10,8d, 1046
1092 data 04,d4,60,a2,ff,ca,d0,fd,88, 1528
1093 data d0,f8,60,a9,0f,8d,18,d4,a9, 1282
1094 data 2d,8d,05,d4,a9,a5,8d,06,d4, 1096
1095 data a9,21,8d,04,d4,a9,07,8d,01, 877
1096 data d4,a9,05,8d,00,d4,a0,ff,20, 1186
1097 data 09,b3,a9,20,8d,04,d4,a9,00, 915
1098 data 8d,01,d4,8d,00,d4,60,38,20, 891
1099 data f0,ff,8a,48,98,48,18,a0,06, 1119
1100 data a2,18,20,f0,ff,a0,b4,a9,0a, 1232
1101 data 20,ff,b1,20,12,b3,20,e4,ff, 1208
1102 data f0,fb,a2,1d,a9,14,20,d2,ff, 1368
1103 data ca,d0,fa,68,a8,68,aa,18,4c, 1306
1104 data f0,ff,0d,0d,0d,20,20,20,20, 662
1105 data 20,20,20,4d,41,53,43,48,49, 533
1106 data 4e,45,4e,53,50,52,41,43,48, 674
1107 data 45,20,2d,20,45,44,49,54,4f, 551
1108 data 52,20,0d,0d,20,20,20,20,20, 300
1109 data 20,20,20,56,4f,4e,20,4e,2e, 495
1110 data 4d,41,4e,4e,20,26,20,44,2e, 514
1111 data 57,45,49,4e,45,43,4b,00,0d, 531
1112 data 0d,0d,20,20,20,50,52,4f,47, 434
1113 data 52,41,4d,4d,4e,41,4d,45,20, 622
1114 data 3a,20,00,0d,0d,20,20,20,53, 295
1115 data 54,41,52,54,41,44,52,45,53, 682
1116 data 53,45,20,3a,20,24,00,0d,0d, 336
1117 data 20,20,20,45,4e,44,41,44,52, 526
1118 data 45,53,53,45,20,20,20,3a,20, 490
1119 data 24,00,92,05,20,50,52,4f,47, 531
1120 data 52,41,4d,4d,20,3a,20,00,12, 441
1121 data 20,20,2a,2a,2a,20,46,41,4c, 433
1122 data 53,43,48,45,20,45,49,4e,47, 614
1123 data 41,42,45,20,2a,2a,2a,20,20, 422
1124 data 92,00,0d,0d,2a,2a,2a,20,45, 399
1125 data 4e,44,45,20,2a,2a,2a,00,13, 392
1126 data 05,20,20,12,44,92,49,53,4b, 532
1127 data 20,4f,44,45,52,20,12,54,92, 610
1128 data 41,50,45,0d,00,13,20,20,49, 383
1129 data 2f,4f,20,2d,20,46,45,48,4c, 522
1130 data 45,52,00,20,d1,b1,20,48,b2, 851
1131 data a0,b3,a9,cf,20,ff,b1,20,8e, 1353
1132 data b4,85,fc,20,8e,b4,85,fb,c5, 1500
1133 data 61,a5,fc,e5,62,90,23,a5,fb, 1436
1134 data c5,5f,a5,fc,e5,60,b0,19,20, 1267
1135 data a7,b4,d0,14,60,20,a7,b4,f0, 1290
1136 data 0c,85,f9,20,a7,b4,f0,05,85, 1151
1137 data f8,4c,ef,b0,68,68,20,43,b3, 1225
1138 data 4c,5f,b4,20,cf,ff,c9,4c,d0, 1330
1139 data 09,20,d1,b1,20,48,b2,4c,0b, 796
1140 data b6,c9,0d,60,a9,00,85,5e,20, 920
1141 data 5f,b4,20,ea,b1,20,0d,b5,24, 980
1142 data 5e,30,05,20,e4,ff,f0,fb,20, 1185
1143 data e1,ff,f0,26,20,9f,b2,24,5e, 1257
1144 data 10,09,20,4e,b5,20,0d,b5,20, 574
1145 data 60,b5,20,33,b2,20,3f,b2,90, 955
1146 data d7,a0,b4,a9,28,20,ff,b1,20, 1260
1147 data e4,ff,c9,0d,d0,f9,a9,00,85, 1456
1148 data 5e,a5,61,85,fb,a5,62,85,fc, 1388
1149 data 20,e0,b2,4c,64,b1,a5,fc,20, 1236
1150 data 4e,b1,a5,fb,85,ff,20,4e,b1, 1346
1151 data a9,20,a0,3a,20,f2,b1,a0,00, 1030
1152 data 20,ed,b1,b1,fb,20,4e,b1,c8, 1361
1153 data c0,08,90,f3,20,ed,b1,24,5e, 1163
1154 data 30,03,a9,12,2c,a9,20,20,d2, 725
1155 data ff,20,10,b2,a5,ff,20,4e,b1, 1188
1156 data a9,92,20,d2,ff,4c,ea,b1,a9, 1468
1157 data ff,85,b8,85,b9,a9,04,85,ba, 1382
1158 data 20,c0,ff,a2,ff,4c,c9,ff,20, 1460
1159 data cc,ff,a9,ff,4c,c3,ff,20,5f, 1536
1160 data b4,a9,80,85,5e,20,4e,b5,20, 1027
1161 data 48,b2,a2,24,a9,2d,20,d2,ff, 1159
1162 data ca,d0,fa,20,ea,b1,20,ea,b1, 1546
1163 data 20,60,b5,4c,c1,b4,20,b8,b5, 1155
1164 data a6,5f,a4,60,a9,61,20,d8,ff, 1290
1165 data b0,0a,20,b7,ff,29,bf,d0,03, 1099
1166 data 4c,fb,b4,a9,01,20,c3,ff,20, 1191
1167 data 68,b6,a0,b4,a9,4f,20,ff,b1, 1338
1168 data 20,f9,b1,4c,fb,b4,20,68,b6, 1283
1169 data a9,37,a0,b4,20,ff,b1,20,f9, 1309
1170 data b1,a2,08,c9,44,f0,06,a2,01, 1025
1171 data c9,54,d0,f1,a9,01,a8,20,ba, 1290
1172 data ff,a0,00,e0,01,f0,1a,a9,40, 1139
1173 data 8d,20,02,a9,3a,8d,21,02,b9, 763
1174 data 01,02,99,22,02,c8,cc,00,02, 598
1175 data 90,f4,c8,c8,d0,0c,b9,01,02, 1196
1176 data 99,20,02,c8,cc,00,02,d0,f4, 1045
1177 data 98,a2,20,a0,02,4c,bd,ff,20, 1060
1178 data b8,b5,a5,ba,c9,08,90,33,a6, 1286
1179 data b9,86,57,a9,01,20,c3,ff,a9, 1227
1180 data 60,85,b9,20,c0,ff,b0,28,a5, 1274
1181 data ba,20,b4,ff,a5,b9,20,96,ff, 1440
1182 data 20,a5,ff,85,61,a5,90,4a,4a, 1139
1183 data b0,13,20,a5,ff,85,62,20,ab, 1081
1184 data ff,a5,57,85,b9,a9,00,20,d5, 1239
1185 data ff,90,03,4c,a3,b5,86,5f,84, 1183
1186 data 60,a5,ba,c9,01,d0,0a,ad,3d, 1101
1187 data 03,85,61,ad,3e,03,85,62,4c, 778
1188 data fb,b4,a9,13,20,d2,ff,a2,1c, 1306
1189 data 20,ed,b1,ca,d0,fa,60, 1202
Listing MSE. Dieses Programm erleichtert Ihnen die Eingabe von Maschinenprogrammen ganz erheblich. Sie sparen Zeit und machen keine Fehler mehr.
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →