Accueil > Forum > > > > Executer 2 action en meme temps
Executer 2 action en meme temps
jeudi 23 septembre 2010 à 09:08:10 |
Executer 2 action en meme temps

HirOinEvOl
|
Bonjour,
je souhaite exécuter les deux codes suivant mais simultanément pour qu'ils puissent tournés en parrallèles. Je n'ai trouvé aucun moyen de le faire.
Code : org 100h
;===================================================================================
boucle PROC ; debut de la fonction
;===================affichage du message "appuyer sur Entree"=======================
GOTOXY 30, 20 ; le curseur se rend au coordonnees 30,20
jmp start
msg: db "Appuyez sur Entree", 0Dh,0Ah, 24h
start:
mov dx, msg ; charge l'offset du message dans dx
mov ah, 09h ; fonction d'affichage 9.
int 21h ; on utilise l'interruption 21h pour afficher les
; caractere a l'ecran
GOTOXY 30, 20 ; le curseur se rend au coordonnees 30,20
jmp effStart
effmsg : db " ", 0Dh,0Ah, 24h
effStart:
mov dx, effmsg ; charge l'offset du message dans dx
mov ah, 09h ; fonction d'affichage 9.
int 21h ; on utilise l'interruption 21h pour afficher les
; caractere a l'ecran
recup :
mov ah, 01h ; permet de recupere une frappe clavier
int 16h ; attente de la touche
cmp al, 13 ; on compare la valeur de al a celle de la touche
; entrer qui correspond au caractere ASCii 13
je finProg ; si egal fin du programme
jmp boucle ; boucle sur la fonction boucle
ENDP
finProg: ; fin du programme
en meme temps que celui-ci :
Code : ;initialisation de la memoire video
MOV AX, 0B800h
MOV DS, AX
MOV AX,0
MOV DX,0
ADD BX,0
MOV CX,0
;========================PROCEDURE REBOND========================
rebond1:
MOV BX,AX
MOV [01h+BX], 40h ; couleur du tracer laisser par la balle (rouge)
MOV BX,DX
MOV [01h+BX], 0F0h ; couleur de la balle
MOV AX,BX
ADD BX, 162
MOV DX,BX
INC CL
INC CH
;on verifie si la balle est touche le bas de la fenetre
CMP CL,24
JGE rebond2
;on verifie si la balle touche le cote droit de la fenetre
CMP CH,79
JGE rebond4
; si aucunes de ces 2 conditions n'est concretise on relance l'etiquette executee
JMP rebond1
rebond2:
MOV BX,AX
MOV [01h+BX], 40h ;couleur du tracer laisser par la balle (rouge)
MOV BX,DX
MOV [01h+BX], 0F0h
MOV AX,BX
SUB BX,158
MOV DX,BX
DEC CL
INC CH
;on verifie si la balle touche le haut de la fenetre
CMP CL,0
JLE rebond1
;on verifie si la balle touche le cote droit de la fenetre
CMP CH,79
JGE rebond3
;si aucunes de ces 2 conditions n'est concretise on relance l'etiquette executee
JMP rebond2
rebond3:
MOV BX,AX
MOV [01h+BX], 40h ;couleur du tracer laisser par la balle (rouge)
MOV BX,DX
MOV [01h+BX], 0F0h
MOV AX,BX
SUB BX,162
MOV DX,BX
DEC CL
DEC CH
;on verifie si la balle touche le haut de la fenetre
CMP CL,0
JLE rebond4
;on verifie si la balle touche le cote gauche de la fenetre
CMP CH,0
JLE rebond2
;si aucunes de ces 2 conditions n'est concretise on relance l'etiquette executee
JMP rebond3
rebond4:
MOV BX,AX
MOV [01h+BX], 40h ;couleur du tracer laisser par la balle (rouge)
MOV BX,DX
MOV [01h+BX], 0F0h
MOV AX,BX
ADD BX,158
MOV DX,BX
INC CL
DEC CH
;on verifie si la balle touche le bas de la fenetre
CMP CL,24
JGE rebond3
;on verifie si la balle touche le cote gauche de la fenetre
CMP CH,0
JLE rebond1
;si aucunes de ces 2 conditions n'est concretise on relance l'etiquette executee
JMP rebond4
RET
merci de votre réponse :)
|
|
vendredi 24 septembre 2010 à 09:18:30 |
Re : Executer 2 action en meme temps
|
vendredi 24 septembre 2010 à 09:25:45 |
Re : Executer 2 action en meme temps

HirOinEvOl
|
arf c'est chiant. Jdois faire une animation en asm alors si je peut pas exécuter plusieurs actions en même temps, je peut faire comment pour afficher plusieurs choses différentes à l'écran ?
(c'est un programme de rattrapage pour des 1ère année de Supinfo hein...) si c'est chaud comme ca et beh.*
Mais chez moi j'ai un quad-core alors peut etre que ca passe mais bon jdois l'uploader sur une platforme supinfo donc eux si ils ont des bécanes pourries ca sert a rien.
Si tu peut éclairé...
|
|
vendredi 24 septembre 2010 à 09:26:51 |
Re : Executer 2 action en meme temps
|
vendredi 24 septembre 2010 à 09:37:31 |
Re : Executer 2 action en meme temps

HirOinEvOl
|
WAAAAAAAHhH va falloir que je potasse, j'capte que dalle -_- mais je vais test
|
|
vendredi 24 septembre 2010 à 10:03:09 |
Re : Executer 2 action en meme temps

HirOinEvOl
|
j'ai trouvé ca sur le net
IT 8 : tic horloge (timer) appelé toutes les 55 ms (18,2 fois/s.). Elle sert par exemple à arrêter
le moteur de l'unité de disquette lorsque aucun accès à la disquette n'est exécuté. Cette interruption
08H, après avoir lancé le programme correspondant, appelle l'interruption 1CH. Cette dernière ne
contient qu'un retour IRET afin de permettre aux programmeurs d'implanter leurs propres
programmes d'interruption (objectifs : programmation concurrente, multitâche,....)
je le code comme ca en gros : non ?
Code : org 100h
; 1er prog ici non ??
mov ah, 08h
iret mon prog ; la je met mon 2eme prog ??
ret
mais surement avec des MOV a certains endroits ?
(dsl je pose bcp de questions :) )
|
|
vendredi 24 septembre 2010 à 18:27:03 |
Re : Executer 2 action en meme temps

patatalo
|
re,
oui, je me suis trompé entre fréquence et nombre d'appels par seconde.
Old_int8:
dw 0,0 ; cs:ip vers ancien vecteur.
Current_context:
dw 0; bascule code 0, code 1
Save_context_Code1:
dw 0,0,0,... ; ax, bx, cx, ...
dw Code1,0 ; ip, cs
dw 0 ; flags
Save_context_Code2:
dw 0,0,0,... ; ax, bx, cx, ...
dw Code2,0 ; ip, cs.
dw 0 ; flags
Hook_int8:
; quand une interruption survient, les registres cs:ip et flags se retrouvent dans la pile.
pop Save_context[Current_context].ip
pop Save_context[Current_context].cs
pop Save_context[Current_context].flags
mov Save_context[Current_context].ax,ax
...
Current_context += 1;
push Save_context[Current_context].flags
push Save_context[Current_context].cs
push Save_context[Current_context].ip
mov ax,Save_context[Current_context].ax
...
jmp far [Old_int8]
Code1:
...
Code2:
...
@++
|
|
vendredi 24 septembre 2010 à 18:40:37 |
Re : Executer 2 action en meme temps
|
vendredi 24 septembre 2010 à 18:54:18 |
Re : Executer 2 action en meme temps

patatalo
|
Old_int8:
dw 0,0 ; cs:ip vers ancien vecteur.
Current_context:
dw 0; bascule code 0, code 1
reg_sp:
dw 0, 0 ; sp1, sp2
Hook_int8:
; quand une interruption survient, les registres cs:ip et flags se retrouvent dans la pile.
pusha
mov reg_sp[Current_context & 1],sp
Current_context += 1
mov sp,reg_sp[Current_context & 1]
popa
jmp far [Old_int8]
la pile du code2 devra être initialisée pour simuler une interruption précedente
mov sp, stack_code2
pushf
push cs
push offset Code2
pusha
mov reg_sp[1], sp
mov sp, stack_code1
mov reg_sp[0], sp
call HookInt8
Code1:
...
jmp Code1
Code2:
...
jmp Code2
un truc comme ça en gros.
@++
|
|
vendredi 24 septembre 2010 à 21:11:48 |
Re : Executer 2 action en meme temps

HirOinEvOl
|
ok merci je mettrait ca en application ce week end
|
|
Cette discussion est classée dans : mov, ax, bx, balle, dx
Répondre à ce message
Sujets en rapport avec ce message
Ennoncés à corriger svp :-) [ par did2604 ]
Bonjour à tous,Mon professeur m'a demandé de convertir les énoncés (en langage C) suivants en assembleur, quelqu'un aurait-il la gentilesse de me les
petit probleme de debutant [ par freekc ]
j'essaie de faire un ptit prog que lorsque l'on rentre son nom prenom etc . Il y est un recapitulatif qui se mette en dessous ms lorsque que le recapi
rs232 [ par TRAX44 ]
salut,tout premièrement je sais qu'il ya des exemples sur le site!mais mon problème est autre je tiens à comprendre pourquoi mon code ne fonctionne pa
Modifer le vecteur d'interruptions [ par vecchio56 ]
Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0
verification d'un code [ par marooh ]
Bonjour, j'ai écrit un code assembleur qui consiste à créer un tableau de 20 cases , de les remplir,de trouver le maximum et de faire la moyenne.mais
Affichage décroissant et alphabétique de 2 listes(Nom_Prénom et Note) [ par m_didi9 ]
[code=autre]Data SEGMENT Mess1 DB 10,13, 'Entrez la liste des Noms :' DB 10, 13, '$' Mess2 DB 'Entrez la liste des Notes :' DB 10, 13, '$' Mess3
ERREUR DE SEGMENTATION en asm [ par tahsgh ]
salam; jai le code suivant ----------------------------------------- global main SECTION . text main :
[ASM] Que la vie était simple sous MS-DOS 16 bits (scan mémoire physique) [ par dogloop ]
J'ouvre ce topic pour essayer de mieux comprendre quelles sont les différentes façons pour accéder à toute la RAM (et aussi peut être la ROM) de mon P
Addition ASM [ par GibsonUSA ]
Bonjour a tous, je débute en ASM 16bits et je bloque pour faire une addition de deux chiffres saisis par l'utilisateur. Voila ce que j'ai fais. A l'
boot system [ par henri12 ]
salut je viens de trouver ce code qui permer de lancer un fichier sur une disquettr a: exemple systemje voudrais qu il me lance le jeu pong sur a: j
Livres en rapport
|
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
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)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
|