Autor Thema: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?  (Gelesen 5555 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« am: 23. November 2018, 16:18:48 »
Hallo, guten Tag.

Wie wird bitte  "Print #2,chr$(22);chr$(1)" in ASM gesetzt und "Locate #2,32,14" in ASM ?

danke.
Gruss

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3345
  • Liked: 798
  • Karma: +45/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #1 am: 23. November 2018, 17:30:09 »
Hallo, guten Tag.
Wie wird bitte  "Print #2,chr$(22);chr$(1)" in ASM gesetzt und "Locate #2,32,14" in ASM ?
danke.
Gruss

Anstatt chr$(22);chr$(1) schreibst Du in Assembler:

DB 22
DB 1


Das selbe gilt für die Zeichen beim Locate Befehl.

Anstatt Print und Locate nimmst Du die System-Einsprünge.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 24.01.2021)
http://futureos.cpcwiki.de/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 05.02.2021)

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #2 am: 23. November 2018, 19:41:06 »
Danke.

Print #2,chr$(22);chr$(1)
-----------------------
ld a,2
call &bb5a
DB 22
DB 1
----------------------

Irgendwie klappt es nicht.
Ich wollte eigentlich den Textmodus transparent machen.
Wenn sich Buchstaben überlappen sollen die nicht ausgefüllten Bereiche transparent werden.

Gruss
« Letzte Änderung: 23. November 2018, 19:47:48 von cpcman »

Online HAL6128

  • CPC 464
  • **
  • Beiträge: 60
  • Liked: 30
  • Karma: +12/-0
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #3 am: 23. November 2018, 21:18:24 »
Nein, so einfach ist das nicht. Du musst jeden Wert natürlich einzeln ausgeben.
Also über eine Schleife, und wenn's mehr Text ist, dann mit DB ("Define Byte" Statements). z.B. Ausgabe von "HALLO WELT" im Transparenzmodus, immer an der gleichen Stelle, oder?
ld hl,text
.loop
ld a,(hl)
call &bb5a
inc hl
cp 0
jr nz,loop
ret
.text
db 22,1,72,8,65,8,76,8,76,8,79,8,32,8,87,8,69,8,76,8,84,8,0

Offline Devilmarkus

  • Administrator
  • CPC 464+
  • *****
  • Beiträge: 1135
  • Liked: 376
  • Karma: +40/-0
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #4 am: 23. November 2018, 22:19:34 »
Danke.

Print #2,chr$(22);chr$(1)
-----------------------
ld a,2
call &bb5a
DB 22
DB 1
----------------------

Das musst du schon genauso machen, wie die Textausgabe an den Drucker, nur dass du statt den Drucker-CALL den PRINT-CALL verwendest...
http://cpcwiki.de
Dein Deutsches CPCWiki!

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #5 am: 24. November 2018, 09:09:35 »
Danke für die Info.

Wenn ich von oben dein ASM-Beispiel eingebe , kommt das Bild.
Muss da irgendwie ein Text erscheinen?

Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #6 am: 24. November 2018, 09:26:10 »
Irgendwie bekomme ich das nicht gebacken mit den Transparenten kram.

Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #7 am: 24. November 2018, 11:59:02 »
Funktioniert dieses Transparente auch mit dem Befehl "Tag" ?

Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #8 am: 24. November 2018, 13:49:34 »
Wo findet man den Call um den Hintergrundmodus anzugeben?

irgendwie soll der auch für den Tag-Befehl gelten

Danke.
Gruss

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #9 am: 24. November 2018, 19:37:12 »
Habe ihn gefunden  für den TAG.

call #bd46

Gruss

Online HAL6128

  • CPC 464
  • **
  • Beiträge: 60
  • Liked: 30
  • Karma: +12/-0
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #10 am: 25. November 2018, 00:05:24 »
die letzte 8 beim DB Statement vor der 0 am Schluß war zuviel. Normalerweise sollte eine gelbes Rechteck ausgegeben werden, weil alle Buchstaben sich selbst überschreiben...
korrigiert...
org &4000
ld hl,text
.loop
ld a,(hl)
call &bb5a
inc hl
cp 0
jr nz,loop
ret
.text
db 22,1,72,8,65,8,76,8,76,8,79,8,32,8,87,8,69,8,76,8,84,0

Offline cpcman

  • CPC 664
  • ***
  • Beiträge: 184
  • Liked: 11
  • Karma: +5/-3
Re: Wie wird bitte "Print #2,chr$(22);chr$(1)" in ASM gesetzt?
« Antwort #11 am: 25. November 2018, 08:58:46 »
Danke.
Es funktioniert.

Gruss