Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1497 connectés 

  FORUM HardWare.fr
  Programmation

  Question assembleur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question assembleur

n°45597
Alkadim
Posté le 10-07-2001 à 11:51:52  profilanswer
 

Comment passer des lignes dans une fenêtre dos je voudrais ecrire des chaines de caractere mais il me met tous a la suite

mood
Publicité
Posté le 10-07-2001 à 11:51:52  profilanswer
 

n°45605
FroggyFrog​gyCorp
Posté le 10-07-2001 à 11:59:26  profilanswer
 

sa depend comment tu gere l affichage de chr. Si tu le fais en ecrivant directement ds l addr memoire, tu te deplaces pour aller a la ligne suivante
Sinon, si tu fais afficher des chr avec l'interruption DOS (jsais plus c laquelle), tu demandes a faire afficher deux chr, le 0x13 et le 0x20 si je me rappelle bien. ce sont les caractères \n\r.
L'un permet de retourner au debut de la ligne et l'autre va a la ligne suivante

n°45608
JPA
Posté le 10-07-2001 à 12:10:56  profilanswer
 

pas 0x20 mais plutôt 0x10 (OAh) pour Line Feed
 
L'interruption du DOS est la 21
je peux te retrouver (en cherchant) une URL sur l'interruption 21
A+

n°45615
JPA
Posté le 10-07-2001 à 12:21:19  profilanswer
 

http://www.cs.cmu.edu/afs/cs.cmu.e [...] files.html
 
Toutes les interruptions en Anglais...
La 21 se trouve dans la Partie B (fichier .zip qui contient un fichier texte nommé interrupt.f qui est celui que tu cherches)
Bonne lecture

n°45636
Alkadim
Posté le 10-07-2001 à 13:31:17  profilanswer
 

Merci c'est cool j'aurais peut-être d'autre question plus tard

n°45727
Alkadim
Posté le 10-07-2001 à 16:08:00  profilanswer
 

vous êtes sur car quand j'utilise  
MOV AX,0Ah
INT 21h
le programme plante  
Et puis j'ai téléchargé les fichiers et j'ai pas trouvé LINE FEED

n°45739
JPA
Posté le 10-07-2001 à 16:31:39  profilanswer
 

C'est pas OAh mais 09h :  
 
INT 21 - DOS 1+ - WRITE STRING TO STANDARD OUTPUT
 AH = 09h
 DS:DX -> '$'-terminated string
Return: AL = 24h (the '$' terminating the string, despite official docs which state that nothing is returned) (at least DOS 2.1-7.0 and NWDOS)
 
DS:DX doit pointer sur une chaîne terminée par un $
A+

n°45751
JPA
Posté le 10-07-2001 à 17:05:27  profilanswer
 

Je complète ma réponse avec un exemple :
Liste des "textes" au début ou à la fin du source (en général à la fin)
Texte1 db "Question sans retour de charriot : $"
Texte2 db "Texte avec retour de charriot",13,10,"$"
RC db 13,10,"$"    
 
MOV DX,offset Texte1
MOV AH,09H
INT 21h
'imprime le texte1 sans retour à la ligne et saut de ligne
 
MOV DX,offset Texte2
MOV AH,09H
INT 21h
'imprime le texte2 avec retour à la ligne et saut de ligne
 
MOV DX,offset RC
MOV AH,09H
INT 21h
'fait un retour à la ligne et un saut de ligne
 
13 est le code du rtour à la ligne (0Dh)
10 est le code du saut de ligne (Line Feed) (0Ah)
A+

n°45923
Alkadim
Posté le 11-07-2001 à 14:05:09  profilanswer
 

Merci c'est génial j'ai pu  enfin passer les lignes je voulais te demander j'ai consulté le manuel F car j'ai besoin d'obtenir un nombre au hasard délimité donc j'ai cherché  
GENERATE RANDOM NUMBER et je suis tombé sur le virus cofeeshop je cromprend pas c'est les codes des virus ou quoi?
Je suis pour mes début dans la réalisation d'un jackpot je défini un niveau au départ puis je prend un nombre au hasard et la personne doit trouver le nombre en 5 fois voila.

n°45933
JPA
Posté le 11-07-2001 à 14:31:35  profilanswer
 

pour les nombres aléatoires, voir :
http://www.alrj.org/docs/algo/random.php
Tu peux éviter de faire un tel générateur dans ton cas en utilisant l'horloge système, vu que tu n'as besoin que d'un seul nombre : tu interroge l'horloge syst au début du prog,
tu demandes une intervention de l'utilisateur (saisie de son prénom par exemple)
tu interroges à nouveau l'horloge et tu comptes par ex les dixièmes de seconde entre les deux appels (modulo 10) pour avoir un chiffre entre 0 et 9
Désolé de ne plus me rappeler la fonction de l'INT 21 qui appelle l'horloge système.
A+

mood
Publicité
Posté le 11-07-2001 à 14:31:35  profilanswer
 

n°45943
HelloWorld
Salut tout le monde!
Posté le 11-07-2001 à 14:55:53  profilanswer
 

voici un tout petit code tout simple (bien ke j'ai jamais vraiment bien compris comment il fonctionnait !) qui genere des nombres aléatoires.
j'ai pas vérifié s'il générait parfaitement des nombres aléatoires en tout cas il rend bien des services
 

Code :
  1. randseed dw ?
  2. Random PROC NEAR
  3. ;Retourne une valeur aléatoire dans DX
  4.      MOV AX,[RandSeed]
  5. MOV DX,8405h
  6. MUL DX
  7. INC  AX
  8. MOV [RandSeed],AX
  9. RET
  10. Random ENDP


 
ca devrait t'aider pour faire un truc simple qui marche ;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°45952
FroggyFrog​gyCorp
Posté le 11-07-2001 à 15:09:26  profilanswer
 

faut rajotuer que pour definir ton random de depart, prend la valeur du timer de l horloge interne qui est pile poil.
Mais dans le principe cest ce que tu as dis quoique moi je mets plus de bordel dans les bits :)

n°46429
Alkadim
Posté le 12-07-2001 à 18:55:00  profilanswer
 

Je voudrais vous demander 2 renseignements:
1- Comment utiliser des variables par exemple:
      var1 dd ?
      ensuite je voudrais lui appliquer une valeur du style al
      donc  
      mov var1,al
      expliquez moi si c'est le principe et si elle garde les valeurs longtemps.
 
2- Voila je voudrais recupérer 2 caractère donc j'utilise l'interruption 21 et 0A il me semble puis je sais pas ou sa va ma saisie j'ai l'impression que sa va quelque part avec DX

n°46625
Alkadim
Posté le 13-07-2001 à 13:47:59  profilanswer
 

Re-up :benetton:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Question assembleur

 

Sujets relatifs
[XML] Question de représentation (XML schema)Question a la con et MYSQL !
SAMBA Question sur la maniere qu'un client SAMBA envoie le USER&PASS [OVH] question sur l'hébergeur avant souscription
Question PHPquestion php sur la fonction mail()
question php tableau[3ds max]Question de pur newbie
[cgi] question de debutantpetite question sur l'assembleur...
Plus de sujets relatifs à : Question assembleur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR