begin process at 2010 02 09 23:28:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications ms-dos

 > RÉCUPÉRER LA LIGNE DE COMMANDE PASSÉE AU PROGRAMME

RÉCUPÉRER LA LIGNE DE COMMANDE PASSÉE AU PROGRAMME


 Information sur la source

 Description

Récupère la ligne de commande passée au programme et l'affiche à l'écran

Source

  • .386
  • code segment use16 ;segment de code
  • assume cs:code, ds:code, ss:code
  • org 100h ;caractéristique des fichier .com
  • debut:
  • mov ax, cs
  • mov ds, ax
  • mov si, 82h
  • mov es, ax
  • lea di, LigneCommande
  • mov cl, byte ptr [ds:80h]
  • rep movsb ;copier le nombre contenu dans [cx] d'octets de l'adresse [ds:si] à l'adresse [es:di] --> paramètre définis précédemment
  • mov byte ptr [es:di], '$' ;écrire $ à la fin de la chaine récupéré pour marquer la fin de celle-ci, pour la fonction d'affichage
  • mov ah, 09h ;fonction d'affichage
  • lea dx, LigneCommande ;offset du premier caractère de la chaine à afficher
  • int 21h ;intérruption 21h (celle du dos par exelence)
  • ret ;termine le programme
  • LigneCommande db 127 dup(?) ;emplacement libre de 127 octets pret à recevoir la ligne de commande
  • code ends
  • end debut
.386


code segment use16   ;segment de code

	assume cs:code, ds:code, ss:code

	org 100h   ;caractéristique des fichier .com

	debut:
		mov ax, cs

		mov ds, ax
		mov si, 82h

		mov es, ax
		lea di, LigneCommande

		mov cl, byte ptr [ds:80h]

		rep movsb   ;copier le nombre contenu dans [cx] d'octets de l'adresse [ds:si] à l'adresse [es:di] --> paramètre définis précédemment

		mov byte ptr [es:di], '$'   ;écrire $ à la fin de la chaine récupéré pour marquer la fin de celle-ci, pour la fonction d'affichage

		mov ah, 09h   ;fonction d'affichage
		lea dx, LigneCommande   ;offset du premier caractère de la chaine à afficher
		int 21h   ;intérruption 21h (celle du dos par exelence)

		ret   ;termine le programme

		LigneCommande db 127 dup(?)   ;emplacement libre de 127 octets pret à recevoir la ligne de commande
 
code ends


end debut

 Conclusion

compilage avec tasm


 Sources de la même categorie

Source avec une capture LECTURE CHAINE ET COMPARAISON[MASM] par w4kfu
Source avec une capture LECTURE TOUCHE CLAVIER[MASM] par w4kfu
Source avec Zip UN RESOLVEUR SUDUKO AVEC ASSEMBLEUR NASM par msavyo1
Source avec Zip TESTEUR DE COMPATIBILITTÉ VESA (SUPER VGA) par bofur
Source avec Zip COMMUNICATION SÉRIE RS232 AVEC INTERRUPTIONS par bouffa

Commentaires et avis

Commentaire de Oeil_de_taupe le 16/09/2006 16:37:33

Salut,

J'ai regardé ton code et je le trouve très intéréssant. J'ai déjà essayé de faire un programme qui affiche la ligne de commmande depuis le PSP d'un programme 16 bits. Mais mon programme est très différent du tien. Pourrais-tu me dire si selon toi, le mien est correctement écrit?

[BITS 16]
[ORG 100h]

;Affichage 4 ever

xor CH, CH
mov CL, BYTE [80h] ;Prend le nombre de car.

cmp CX, 0
je erreur

;Impression de la chaîne
mov AH, 02h
mov DI, 0

affichage:
mov DL, BYTE [82h+DI]
add DI, 1
int 21h
loop affichage

ret

erreur:
mov AH, 09h
mov WORD DX, WORD erreur_aff
;mov DS, SEG erreur_aff
int 21h

ret
erreur_aff dw "Erreur lors de la lecture de la ligne de commande", '$'

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales