fengweilee Posté(e) le 13 avril 2010 Signaler Share Posté(e) le 13 avril 2010 Bonjour, Je suis bloqué dans un exercice assembleur: [org 0x0100] mov ax,cs mov ds,ax mov ax, 00h mov bx ,01h mov cx ,[limite] pour add ax, bx ;ax-< ax + bx mov [swap] ,ax mov ax, bx mov bx, [swap] loop pour mov [fibo], bx mov ah,4ch int 21h nop [segment .data] limite db 0Ah,00 swap db00h,00 fibo db 00h,00 il faut réaliser l'assemblage et donner la taille en octet ensuite détaillez le cycle d'instruction en assembleur x86 de mov [swap], ax (ip contient 0110) Lien vers le commentaire Partager sur d’autres sites More sharing options...
E-Bahut Denis CAMUS Posté(e) le 13 avril 2010 E-Bahut Signaler Share Posté(e) le 13 avril 2010 Bonjour, je te colle ce que j'avais envoyé en MP à une élève qui avait même DM : Je ne connais pas bien la syntaxe de l'assembleur du x86, mais le principe est le même que sur d'autre. J'ai téléchargé un émulateur ici : http://www.emu8086.com/ C'est une version d'essai, mais elle marchera bien plusieurs jours, et elle permet de sauvegarder ce que l'on a fait et aussi de l'émuler en observant les registres. J'ai copié-collé ton source, essayé de retirer les erreurs de frappe, mais je ne suis pas sûr que mes corrections soient toutes bonnes. En particulier, je ne sais pas à quoi sert [segment]. Je te propose donc de télécharger la même chose, l'installer sur ton ordinateur et de compiler. Sur l'émulateur, les étiquettes doivent être suivies de " : " (deux points). Le ret est mis par défaut par l'émulateur. Il semble donc que le code, si je n'ai pas fait trop d'erreurs, fasse une longueur de FF, soit 128 octets. EMU8086 GENERATED LISTING. MACHINE CODE <- SOURCE. Essai_bahut.com -- emu8086 assembler version: 4.08 [ 18/03/2010 -- 15:58:40 ] =================================================================================================== [LINE] LOC: MACHINE CODE SOURCE =================================================================================================== [ 1] : [ 2] : ; You may customize this and other start-up templates; [ 3] : ; The location of this template is c:\emu8086\inc\0_com_template.txt [ 4] : [ 5] : org 100h [ 6] : [ 7] : [ 8] : [ 9] : ;[sEGMENT .text] [ 10] : [ 11] : [ 12] : [ 13] 0100: 8C C8 MOV AX, CS [ 14] : [ 15] 0102: 8E D8 MOV DS, AX [ 16] : [ 17] 0104: B8 00 00 MOV AX, 00h [ 18] : [ 19] 0107: BB 01 00 MOV BX, 01h [ 20] : [ 21] 010A: B9 23 01 MOV CX, limite [ 22] : [ 23] : [ 24] : [ 25] 010D: POUR : [ 26] : [ 27] 010D: 03 C3 ADD AX, BX ; AX <- AX + BX [ 28] : [ 29] 010F: 89 06 25 01 MOV [swap] , AX [ 30] : [ 31] 0113: 8B C3 MOV AX, BX [ 32] : [ 33] 0115: BB 25 01 MOV BX, swap [ 34] : [ 35] 0118: 90 90 LOOP POUR [ 36] : [ 37] : [ 38] : [ 39] 011A: 89 1E 27 01 MOV fibo, BX [ 40] : [ 41] : [ 42] : [ 43] 011E: B4 4C MOV AH, 4Ch [ 44] : [ 45] 0120: CD 21 INT 21h [ 46] : [ 47] : [ 48] 0122: 90 NOP [ 49] : [ 50] : [ 51] : ;[sEGMENT .data] [ 52] : [ 53] : [ 54] : [ 55] 0123: 0A 00 limite: db 0Ah, 00 [ 56] : [ 57] 0125: 00 00 swap: db 00h, 00 [ 58] : [ 59] 0127: 00 00 fibo: db 00h, 00 [ 60] : [ 61] 0129: C3 ret [ 62] : [ 63] : [ 64] : [ 65] : [ 66] : [ 67] : =================================================================================================== =================================================================================================== Lien vers le commentaire Partager sur d’autres sites More sharing options...
fengweilee Posté(e) le 13 avril 2010 Auteur Signaler Share Posté(e) le 13 avril 2010 Merci de votre aide! Lien vers le commentaire Partager sur d’autres sites More sharing options...
fengweilee Posté(e) le 13 avril 2010 Auteur Signaler Share Posté(e) le 13 avril 2010 Merci de votre aide! Lien vers le commentaire Partager sur d’autres sites More sharing options...
fengweilee Posté(e) le 13 avril 2010 Auteur Signaler Share Posté(e) le 13 avril 2010 Merci de votre aide! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.