Accueil > > > MPRINT4.ASM
MPRINT4.ASM
Information sur la source
Description
Routine d affichage en mode texte accer directe a la mémoire routine pour ODO vectra OS 32b .
Source
- ; Procedure mprint 4.00 (c)Usils and Laruse software 160208 for OS: ODO vectra RMIS (r)2010
- ; Entrée :ax=service (?)
- ; :ch=mode (0=mono / 1=couleur) - cl=attribut(couleur)
- ; :bh=colone(x) - bl=ligne(y)
- ; :ds:dx=adresse du texte a afficher
- ; Sortie :aucune
- ; r.s :cf,ax,bx,cx,dx,si,ds,es
- ; Flag :-
- Mprint proc
- push ax
- push bx
- push cx
- push dx
- push si
- push fs
- Cli
- mov si,dx
- xor ax,ax
- cmp bh,1 ; bh>0 x=x-1
- jb short ml1
- dec bh
- ml1: cmp bl,1 ; bl>0 y=y-1
- jb short ml2
- dec bl
- ml2: or ah,0b0h ; memoire mono b000
- and ch,3 ; mode 0,1,2
- or ch,ch ; ch=0 mode mono
- jz short mono
- or ah,08h ; couleur memoire b800
- mono: mov fs,ax
- calcul: xor ax,ax
- or al,bl ; variable multiplicateur bl(y[ligne])
- mov dx,160 ; y>0 y=y*160 (80x2)
- mul dx
- mov dx,ax
- xor ax,ax
- or al,bh
- shl ax,1 ; x=x*2
- add ax,dx ; ofs=((y*160)+(x*2))
- mov di,ax
- Rchar: mov al,ds:[si] ; al=char
- c0: or al,al
- jz short mfin ; si char=0 fin
- c1: cmp al,1
- jne short c2
- xor bh,bh ; comme char(13) Cr x=1 y=1+160
- inc bl
- inc si
- jmp short calcul
- c2: cmp al,2
- jne short c3
- inc si
- mov cl,ds:[si] ; change atribut couleur
- inc si
- mov al,ds:[si]
- jmp short cf
- c3: cmp al,3 ; repet char
- jne short c4
- push ax
- push cx
- xor ch,ch
- inc si
- mov cl,ds:[si] ; nombre de repetision
- inc si
- mov ax,ds:[si] ; char a repeter+couleur
- cpi: mov fs:[di],ax ; affiche char+attribut
- add di,2
- loop short cpi ; cl=cl-1 if cl>0 loop
- inc si
- inc si
- pop cx
- pop ax
- jmp short Rchar
- c4: cmp al,4
- jne short c5
- inc si
- mov bx,ds:[si]
- xchg bh,bl
- add si,2
- jmp short calcul
- c5:
- cf: mov fs:[di],al ; print char
- inc di ; attribut
- mov fs:[di],cl ; print couleur
- inc di
- inc si ; ofs char +1
- jmp short Rchar ; on recomence
- mfin: Sti
- pop fs
- pop si
- pop dx
- pop cx
- pop bx
- pop ax
- ret
- Mprint endP
; Procedure mprint 4.00 (c)Usils and Laruse software 160208 for OS: ODO vectra RMIS (r)2010
; Entrée :ax=service (?)
; :ch=mode (0=mono / 1=couleur) - cl=attribut(couleur)
; :bh=colone(x) - bl=ligne(y)
; :ds:dx=adresse du texte a afficher
; Sortie :aucune
; r.s :cf,ax,bx,cx,dx,si,ds,es
; Flag :-
Mprint proc
push ax
push bx
push cx
push dx
push si
push fs
Cli
mov si,dx
xor ax,ax
cmp bh,1 ; bh>0 x=x-1
jb short ml1
dec bh
ml1: cmp bl,1 ; bl>0 y=y-1
jb short ml2
dec bl
ml2: or ah,0b0h ; memoire mono b000
and ch,3 ; mode 0,1,2
or ch,ch ; ch=0 mode mono
jz short mono
or ah,08h ; couleur memoire b800
mono: mov fs,ax
calcul: xor ax,ax
or al,bl ; variable multiplicateur bl(y[ligne])
mov dx,160 ; y>0 y=y*160 (80x2)
mul dx
mov dx,ax
xor ax,ax
or al,bh
shl ax,1 ; x=x*2
add ax,dx ; ofs=((y*160)+(x*2))
mov di,ax
Rchar: mov al,ds:[si] ; al=char
c0: or al,al
jz short mfin ; si char=0 fin
c1: cmp al,1
jne short c2
xor bh,bh ; comme char(13) Cr x=1 y=1+160
inc bl
inc si
jmp short calcul
c2: cmp al,2
jne short c3
inc si
mov cl,ds:[si] ; change atribut couleur
inc si
mov al,ds:[si]
jmp short cf
c3: cmp al,3 ; repet char
jne short c4
push ax
push cx
xor ch,ch
inc si
mov cl,ds:[si] ; nombre de repetision
inc si
mov ax,ds:[si] ; char a repeter+couleur
cpi: mov fs:[di],ax ; affiche char+attribut
add di,2
loop short cpi ; cl=cl-1 if cl>0 loop
inc si
inc si
pop cx
pop ax
jmp short Rchar
c4: cmp al,4
jne short c5
inc si
mov bx,ds:[si]
xchg bh,bl
add si,2
jmp short calcul
c5:
cf: mov fs:[di],al ; print char
inc di ; attribut
mov fs:[di],cl ; print couleur
inc di
inc si ; ofs char +1
jmp short Rchar ; on recomence
mfin: Sti
pop fs
pop si
pop dx
pop cx
pop bx
pop ax
ret
Mprint endP
Conclusion
Heu !!!!
bonne utilisation... Ruze/ contacte ruse2011@gmx.com
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
faire un dump mémoire en asm [ par olly60 ]
comment peut on faire un dump mémoire en assembleur?? je bloque dessus étant débutant dans ce language!! j'ai seulement besoin de l'algo svpmerci
convertir un fichier ascci en fichier texte afin de pouvoir imprimer corectemen sur une imprimante laser [ par kamie ]
KamieBonjour à tous,j'ai un petit problème et je ne sais pas comment faire.j'ai un fichier qui est de format ascii.lorsque nous imprimons ce fichier s
Pas belle police de texte ! Ouinnn ! [ par Bombela ]
Salut !Je fais de la prog Windows en C++ et Asm depuis peux et les progs que je fais, que ça soit en C++ ou Asm, on une police toute grasse et pas bel
besoin d'aide pour de l'assembleur sous simulateur [ par critchou ]
Bonjour, j'ai un programme à faire pour mercredi et je ne sais pas trop comment faire.Je dois écrire un texte (jusque là, ça va) et compter le nombre
Adresse mémoire d'une chaine [ par moffer ]
Bonjour,Je veux pointer sur le premier caractère de ma chaine. Lorsque je compile le code suivant :SEGMENT DATAchaine db 'Hello$'SEGMENT TEX
COULEUR DE TEXTE LORS DU PASSAGE DE LA SOURIS [ par knetus12 ]
salut a tousj'ai un probleme pour faire changer la couleur d'un texte quand la souris passe dessus ca na marche pas pourquoi ??? .ELSEIF uMsg ==
algorithme huffman [ par yannenater ]
salut,je voulais savoir si qqun pouvait m'aider pour trouver comment coder en ASM 68000 l'algo de huffman pour compresser un petit texte. le tout débu
Erreur bizzar [ par Vermifuge ]
J'ai programmé une DLL de gestion mémoire sous windows, et j'ai un problème vraiment étrange. Lorsque j'allou de la mémoire ça marche, sauf à un momen
Affichage texte (Debutant) [ par ffomnislash ]
BonjourJe debute en assembleur et je voudrais pouvoir afficher du texte en boucle, ceci j'y arrive sans pb mais le texte se rajouteAutrement dit j'ai
texte défilant de gauche à droite [ par julemi ]
Pouvez-vous m'envoyer le code source d'un programme qui fait défiler un texte de gauche à droite en language assembleur ...Merci
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
974 Application Server (12.2.4.0)974 APPLICATION SERVER (12.2.4.0)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP mySongBook Player (1.0.0)MYSONGBOOK PLAYER (1.0.0)mySongBook Player est un logiciel gratuit permettant l'accès à une archive de tablatures/partitio... Cliquez pour télécharger mySongBook Player
|