Accueil > Forum > > > > Palindrome en ASM
Palindrome en ASM
jeudi 30 janvier 2003 à 18:09:19 |
Palindrome en ASM

bugs2600
|
Salut, Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier un mot ou une phrase il le programme dois dire si c'est un palindrome ou non? Merci d'avance
|
|
jeudi 30 janvier 2003 à 18:09:26 |
Re : Palindrome en ASM

bugs2600
|
------------------------------- Réponse au message : -------------------------------
> Salut, > > Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier un mot ou une phrase il le programme dois dire si c'est un palindrome ou non? > > Merci d'avance
|
|
jeudi 30 janvier 2003 à 21:26:29 |
Re : Palindrome en ASM

BruNews
|
------------------------------- Réponse au message : -------------------------------
> Salut, > > Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier un mot ou une phrase il le programme dois dire si c'est un palindrome ou non? > > Merci d'avance
passe ptr sur chaine dans EDX en sortie si EAX == 0 alors EST Palindrome
mov edx, offset chaine call Palindrome test eax, eax jne short ERREUR
Palindrome PROC ; *psz dans EDX mov ecx, edx ; EDX = d, ECX = c xor eax, eax L1: cmp byte ptr[edx], 0 je short L2 inc edx jmp short L1 L2: cmp ecx, edx je short plndExit ; chaine vide dec edx L3: cmp ecx, edx jae short plndExit mov al, [ecx] sub al, byte ptr[edx] jne short plndExit inc ecx dec edx jmp short L3 xor al, al plndExit: ret 0 Palindrome ENDP
ciao...
|
|
jeudi 30 janvier 2003 à 21:32:37 |
Re : Palindrome en ASM

bugs2600
|
------------------------------- Réponse au message : -------------------------------
Tu ne serais pas expliquer ce que tu as fait sltp, merci
|
|
jeudi 30 janvier 2003 à 21:54:57 |
Re : Palindrome en ASM

BruNews
|
------------------------------- Réponse au message : -------------------------------
> > > > > ------------------------------- > Réponse au message : > ------------------------------- > > Tu ne serais pas expliquer ce que tu as fait sltp, merci tu mets ECX à pointer au debut chaine. ensuite xor eax, eax prepare la sortie OK tu pousses edx jusqu'au zero final de chaine. L2: cmp ecx, edx je short plndExit ; chaine vide dec edx ramène sur dernier L3: cmp ecx, edx ; en C serait while(ECX < EDX) jae short plndExit mov al, [ecx] sub al, byte ptr[edx] jne short plndExit ; ne sont pas egaux donc sort != 0 inc ecx dec edx jmp short L3 xor al, al plndExit: ret 0 aucun param sur pile
|
|
jeudi 30 janvier 2003 à 22:14:33 |
Re : Palindrome en ASM

bugs2600
|
------------------------------- Réponse au message : -------------------------------
Voilà ce que j'ai fait mais je ne vois ce que je dois modifier pour que sa fonctionne avec ce que tu as fait:
Source:
.MODEL SMALL .STACK .DATA
AcMsg1 db "Entrez un mot ou une phrase: $" AcMsg2 db "Bravo, Il s'agit d'un Palindrome" AcMsg3 db "Non, Il ne s'agit pas d'un Palindrome"
.Code
Palindrome PROC ; *psz dans EDX mov ecx, edx ; EDX = d, ECX = c xor eax, eax L1: cmp byte ptr[edx], 0 je short L2 inc edx jmp short L1 L2: cmp ecx, edx je short plndExit ; chaine vide dec edx L3: cmp ecx, edx jae short plndExit mov al, [ecx] sub al, byte ptr[edx] jne short plndExit inc ecx dec edx jmp short L3 xor al, al plndExit: ret 0 Palindrome ENDP
|
|
jeudi 30 janvier 2003 à 22:23:09 |
Re : Palindrome en ASM

BruNews
|
------------------------------- Réponse au message : -------------------------------
> ------------------------------- > Réponse au message : > ------------------------------- > > Voilà ce que j'ai fait mais je ne vois ce que je dois modifier pour que sa fonctionne avec ce que tu as fait: > > Source: > > .MODEL SMALL > .STACK > .DATA > > AcMsg1 db "Entrez un mot ou une phrase: $" > AcMsg2 db "Bravo, Il s'agit d'un Palindrome" > AcMsg3 db "Non, Il ne s'agit pas d'un Palindrome" > > > .Code > > Palindrome PROC ; *psz dans EDX > mov ecx, edx ; EDX = d, ECX = c > xor eax, eax > L1: > cmp byte ptr[edx], 0 > je short L2 > inc edx > jmp short L1 > L2: > cmp ecx, edx > je short plndExit ; chaine vide > dec edx > L3: > cmp ecx, edx > jae short plndExit > mov al, [ecx] > sub al, byte ptr[edx] > jne short plndExit > inc ecx > dec edx > jmp short L3 > xor al, al > plndExit: > ret 0 > Palindrome ENDP
désolé mais je n'ai fourni qu'une fonction, pas un prog complet. De + il faut préciser quel model et quelle plate forme tu vises. Ma func Palindrome est pour Win32: .586 .model flat, stdcall option casemap :none option prologue:none option epilogue:none
sachant que toute chaine est finie par un zero.
|
|
vendredi 31 janvier 2003 à 01:26:21 |
Re : Palindrome en ASM

bugs2600
|
------------------------------- Réponse au message : ------------------------------- ------------------------------- Réponse au message : ------------------------------- ------------------------------- Réponse au message : -------------------------------
------------------------------- Réponse au message : -------------------------------
Serais-tu corriger ce qui ne vas pas dans ma boucle sltp pour que mon programme foncrtionne. Merci d'avance
Voilà ce que j'ai fait:
.MODEL SMALL .STACK .DATA
AcMsg1 db "Entrez un mot ou une phrase: $" AcMsg2 db "Bravo, Il s'agit d'un Palindrome" AcMsg3 db "Non, Il ne s'agit pas d'un Palindrome"
AcClav db 50, ?, 51 dup(' ')
.Code
main:
mov ax, @Data mov dx, ax
mov ax, 0003h int 10h
mov ax, 0900h mov dx, offset AcMsg1 ;Fait pointer dx sur AcMsg1 int 21h
mov ax, 0a00h ;Permet d'entrer la chaine de carcr?re au clavier mov dx, offset AcClav ;Fait pointer dx sur AcClav int 21h
mov SI, 0 ;Initialisation de SI ? 0
Boucle: ; *psz dans EDX mov dx, SI ; EDX = d, ECX = c xor ax, ax
L1: cmp byte AcClav[SI], 0 je short L2 inc SI jmp short L1
L2: cmp dx, SI je short plndExit ; chaine vide dec SI
L3: cmp dx, SI jae short plndExit mov al, [dx] sub al, byte AcClav[SI] jne short plndExit inc dx dec SI jmp short L3 xor al, al plndExit: ret 0
Boucle END End Main
|
|
vendredi 31 janvier 2003 à 10:07:46 |
Re : Palindrome en ASM

BruNews
|
------------------------------- Réponse au message : -------------------------------
> ------------------------------- > Réponse au message : > ------------------------------- > ------------------------------- > Réponse au message : > ------------------------------- > ------------------------------- > Réponse au message : > ------------------------------- > > ------------------------------- > Réponse au message : > ------------------------------- > > Serais-tu corriger ce qui ne vas pas dans ma boucle sltp pour que mon programme foncrtionne. Merci d'avance > > Voilà ce que j'ai fait: > > > .MODEL SMALL > .STACK > .DATA > > AcMsg1 db "Entrez un mot ou une phrase: $" > AcMsg2 db "Bravo, Il s'agit d'un Palindrome" > AcMsg3 db "Non, Il ne s'agit pas d'un Palindrome" > > AcClav db 50, ?, 51 dup(' ') > > > .Code > > main: > > mov ax, @Data > mov dx, ax > > mov ax, 0003h > int 10h > > mov ax, 0900h > mov dx, offset AcMsg1 ;Fait pointer dx sur AcMsg1 > int 21h > > mov ax, 0a00h ;Permet d'entrer la chaine de carcr?re au clavier > mov dx, offset AcClav ;Fait pointer dx sur AcClav > int 21h > > mov SI, 0 ;Initialisation de SI ? 0 > > > Boucle: ; *psz dans EDX > mov dx, SI ; EDX = d, ECX = c > xor ax, ax > > L1: > cmp byte AcClav[SI], 0 > je short L2 > inc SI > jmp short L1 > > L2: > cmp dx, SI > je short plndExit ; chaine vide > dec SI > > L3: > cmp dx, SI > jae short plndExit > mov al, [dx] > sub al, byte AcClav[SI] > jne short plndExit > inc dx > dec SI > jmp short L3 > xor al, al > plndExit: > ret 0 > > Boucle END > > End Main
Salut, tu peux aller voir le prog complet dans mes sources. Tu verras comment appeler cette fonction. ciao...
|
|
dimanche 2 février 2003 à 19:45:11 |
Re : urgent Palindrome en ASM

bugs2600
|
------------------------------- Réponse au message : -------------------------------
> > > > > ------------------------------- > Réponse au message : > ------------------------------- > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > ------------------------------- > > Réponse au message : > > ------------------------------- > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > Besoin d'aide pourrais-tu regarder le programme et me dire pourquoi il ne prend pas les espaces et si tu serais le simplifier et me l'expliquer merci d'avance:
MODEL SMALL .STACK .DATA
AcMsg DB 'Entrer une Phrase ou un Mot: $' AcMsg1 DB 'Oui, Un Palindrome $' AcMsg2 DB 'Non, Pas un Palindrome $'
STRING LABEL BYTE MAXLEN DB 50 STRLEN DB ? STRFLD DB 50 DUP(' ')
.CODE
MAIN: MOV AX,@DATA MOV DS,AX
CALL CLS ;Efface l'?crant CALL CURSOR ;Place le curseur ? (0,0) CALL READ
CALL CLS CALL CURSOR
LEA BX,STRFLD MOV CH,00H MOV CL,STRLEN CMP CX,02H JC PAL MOV DX,BX ADD DX,CX DEC DX SHR CX,1
AGAIN: MOV AL,[BX] XCHG BX,DX CMP AL,[BX] JNE NOTPAL XCHG BX,DX INC BX DEC DX LOOP AGAIN
PAL: MOV AH,09H LEA DX,AcMsg1 INT 21H JMP HALT
NOTPAL: MOV AH,09H LEA DX,AcMsg2 INT 21H
HALT: MOV AX,4C00H ;Termine le programme INT 21H
;Efface l'?crant CLS: MOV AX,0600H MOV BH,07H MOV CX,0000H MOV DX,184FH INT 10H RET
;Place le curseur CURSOR: MOV DX,0000H MOV AH,02H MOV BH,00H INT 10H RET
READ: MOV AH,09H ;Message d'affichage LEA DX,AcMsg INT 21H
MOV AH,0AH LEA DX,STRING INT 21H RET
WRITE: MOV AH,09H LEA DX,STRFLD INT 21H RET
End MAIN
|
|
Cette discussion est classée dans : palindrome, asm
Répondre à ce message
Sujets en rapport avec ce message
Palindrome en ASM [ par bugs2600 ]
Salut,Quelqu'un pourrait-il m'aider, je suis débutant en asm et je dois faire un exrecice sur un palindrome c'est-à-dire que je dois entrer au clavier
EXE Infector [ par seboss ]
Bonjour tout le monde,Je dois realiser un petit projet sympas utilisant le C++,VB et ASM... Mais l'ASm je ne connasi pas assez bien pour realiser ce q
asm en général [ par king171717 ]
Bonjour a tousj'aimerai savoir si vous ne connaissez pas l'endroiou je pourrais trouver un site ou il y a un tutorial du langage asm complet ????merci
Debutant en asm [ par valconi ]
=[[V@LcOnI]]= Bonjourje voudrai me mettre à l'ASMQu'elle Editeur me conseillez vouset qu'elle compilateur me conseillez vousMerci d'avanceValco
Demande de codeurs [ par Vermifuge ]
Je veux fonder une team de codeurs ASM, je cherche des codeurs, attention, faut bien savoir coder( où avoir déjà une bonne expérience ), ya des trucs
ASM [ par domasm ]
Cherche développeur PIC16F84A and I2C pour aide (cours) et vérification de mes montages (Saint Mandé ou proche)
Formater une disquette en asm [ par bugs2600 ]
Personne ne pourrait me dire comment on peut formater une disquette en ASM.Si quelqu'un aurrais le code se serait sympa,merci d'avance
incorporer un objet ASM dans un projet VB [ par sibi12 ]
Bonjour je maitrise bien le VB et un peu le C et je suis dans mes debuts en ASM. J'aimerais incorporer du code ASM ds d'anciens programme VB pour les
Convertion asm vers hex (ou bin) [ par mistigry ]
J'utilise un PIC16F870 avec le compilateur CH Basic V1.2, ce compilateur me fournit des fichier asm (ou bsc) et pour pouvoir transférer le fichier sur
realisation d'une clculette en asm [ par assm ]
> j'ai besoin d'un programme qui simule le fonctionnement d'une calculatrice ça veut dire :> l'evaluation de l'expression "12+8*7-2+77"sera la suivant
Livres en rapport
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|