Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » Funktion für Textfarbe??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.09.2005, 12:50 Uhr
RedEagle



Hi
Ich versuche momentan 'n bischen was mit Assembly zu machen.
hab jetzt ein kleines Programm das mir (unter DOS) ein 'a' ausgibt:


Code:
org 256 ;*.com datei

mov ah,0x2
mov dl,'a'
int 0x21

int 0x20


Wie kann ich das 'a' jetzt in einer Anderen Farbe ausgeben??
Ich hab vor einiger zeit mal sowas gesehen:
'a' | 0xc00
um ein rotes a auszugeben.
Wie mache ich das in Assembly??

ps.: benutze fasm

achja.: Kennt evtl jemand ein gutes (deutsches) tutorial zu fasm??
--
MFG RedEagle

Dieser Post wurde am 17.09.2005 um 12:51 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.09.2005, 15:36 Uhr
RedEagle



Hab jetzt ne farbige textausgabe hinbekommen, aber nen gutes tutorial hab ich immer noch nicht gefunden

Code:
org 256

mov ax,0x0012 ;grafik-modus
int 0x10

mov si,text
mov bx,0x0C
call putstr

int 0x20 ;ende

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Funktionen
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;gibt eine Zeichenkette aus. '$' = ende des strings!!
putstr:
  lodsb
   cmp al,'$'
   jz strend
  mov ah,0x0E
  int 0x10
jmp putstr
strend:
  ret

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Strings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

text:
db "Teststring$"

--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.09.2005, 21:57 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


mal dir einfach die asm-ausgabe vom Compiler angeguckt? (aber schau dir die release-versionen an)
--
class God : public ChuckNorris { };

Dieser Post wurde am 17.09.2005 um 21:57 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.09.2005, 09:38 Uhr
RedEagle




Zitat von FloSoft:
mal dir einfach die asm-ausgabe vom Compiler angeguckt?...



Wenn "In C/C++ schreiben -> asm ausgabe angucken" gemeint war:
Wenn ich in der Konsole die Textfarbe ändern möchte, rufe ich ja "SetConsoleTextAttribute" auf.
Ich glaube nicht, das der asm code auf unter DOS läuft...
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.09.2005, 10:05 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ich meinte ja auch nicht die Ausgabe vom VC, sondern z.b vom Borland der textcolor und co unterstützt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.09.2005, 13:53 Uhr
RedEagle



stimmt! Turbo C++ ist macht ja Dos Anwendungen

sind ca 2000 Zeilen Assembler-code
Wie fine ich die richtige??

ps.: Hab die *.exe einfach mit MASM "disassebled"...
--
MFG RedEagle

Dieser Post wurde am 18.09.2005 um 14:02 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
24.09.2005, 13:35 Uhr
~f.-th.
Gast


hallo
'int'-quellcode kannste unter w2k, win-nt und win-xp wahrscheinlich sowieso vergessen.

wenn's das buch noch gibt, schau mal in einer bücherei, ist das buch 'pc-intern' von
'data-becker' wahrscheinlich für dich interessant. aber versuch die neueste ausgabe
einzusehen wegen win32!

ausserdem bei vielen c/c++ compilern kannst du diese so einstellen, dass diese dir ein
asm-file deines quellcodes zur verfügung stellen. das sollte aber für jemanden der treiber
erstellen will nix neues sein oder?

mfg f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.09.2005, 14:15 Uhr
CDW



int kann sehr wohl unter Win NT+ benutzt werden Es wird ja auch emuliert.
So färbt man den Text ein (sorry,was anderes kenne ich nicht für 16-bit, da bin ich auch nicht so bewandert):


Code:
.model TINY
.stack 100h


.CODE
.model TINY
.stack 100h


.CODE

Start:
sub  ax,  ax
int  010h

mov  ax,  0B000h
mov  ds,  ax
mov  byte ptr ds:[08000h], 'T'
mov  byte ptr ds:[08002h], 'E'
mov  byte ptr ds:[08004h], 'S'
mov  byte ptr ds:[08006h], 'T'
mov  byte ptr ds:[08001h],2
mov  byte ptr ds:[08003h],5
mov  byte ptr ds:[08005h],8

sub  ah,  ah
int  016h
ret
END start


ist MASM. Zuerst setzt man den videomode, damit es auch unter NT+ klappt (sonst macht es der Emulator nicht) Und dann greift man direkt auf den Videospeicher zu. jeweils gerade Speicheradressen sind für ASCII Zeichen und ungerade für Farbe. Mit ein wenig bastelarbeit kann man sich schon ein paar Routinen zum Zugriff zusammenbasteln *von meiner simplest-ASCII80x50-3D TPascal-Engine schwärm*
--
EB FE

Dieser Post wurde am 24.09.2005 um 14:17 Uhr von CDW editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
27.09.2005, 16:09 Uhr
RedEagle




--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: