.MODEL TINY ; pour le compilateur CODESEG ; segent de code ORG 100h ; 256 octets ; toutes les adresses sont à 100h de plus que dans le fichier... .STARTUP ; etiquette de début [pour le programmeur] MOV AH,09h ; B4 09 MOV DX,OFFSET QUESTION ; BA 2A01 // 2A01 = 012A : adresse de Question dans la mémoire INT 21H ; CD 21 MOV AH,0Ch ; B4 0C MOV AL,0Ah ; B0 0A MOV DX,OFFSET INPUT ; BA 5101 // 5101 = 0151 : adresse de input INT 21h ; CD 21 MOV BL,BYTE PTR [INPUT+1] ; 8A1E 5201 // modRM avec l'adresse : 5201 = 0151 + 1 = @INPUT + 1 MOV BH,0 ; B7 00 MOV WORD PTR [INPUT]," " ; C706 5101 2000 ; C706 = mov word ptr?, ; 5101 = 0151 @input, ; 2000 = espace + 00 (c'est un word) MOV BYTE PTR [INPUT+BX+2],"," ; C687 53 2C ; C687 01 = mov byte ptr (+bx?) ; 5301 = 0151 @input + 2 ; 2C = virgule MOV AH,09h ; B4 09 MOV DX,OFFSET PHRASE ; BA 4901 // 4901 = 0149 @phrase INT 21h ; CD 21 RET ; C3 DATASEG ; 00 ; les chaines sont à la fin du programme... QUESTION DB 13,10,"Veuillez entrer votre nom:",13,10,"$" PHRASE DB "Bonjour," INPUT DB 13,14 DUP (32) DB " bienvenue dans le monde de l'assembleur!",13,10,"$" END