aider moi svp mes amis

الموضوع في 'لغات البرمجة' بواسطة elbich, بتاريخ ‏5 ديسمبر 2008.

  1. elbich

    elbich عضو فعال

    إنضم إلينا في:
    ‏9 جانفي 2006
    المشاركات:
    399
    الإعجابات المتلقاة:
    33
      05-12-2008 20:50
    :besmellah2:
    Écrire un programme qui affiche (en hexadécimal) la valeur d'un mot (2 octets). Pour cela commencer par écrire les algorithmes puis les programmes suivants :

    -Ecrire une procédure « propre » affdigit qui affiche un nombre compris entre 0 et 15 (donné par BX). Pour cela, il faudra définir (dans le segment de données) un tableau hexa qui contient les symboles de la base 16.
    -écrire une procédure « propre » affoctet qui affiche un nombre contenu entre 0 et 255 (donné par BX) à l’aide de la procédure précédente.
    - écrire une procédure « propre » affnombre qui affiche un nombre contenu entre 0 et 65535 (donné par BX)
     
  2. elbich

    elbich عضو فعال

    إنضم إلينا في:
    ‏9 جانفي 2006
    المشاركات:
    399
    الإعجابات المتلقاة:
    33
      12-12-2008 09:39
    pas encoreeeeeeeeeeeeeeeeeeeeee?????????
     
  3. king1212

    king1212 عضو

    إنضم إلينا في:
    ‏28 نوفمبر 2008
    المشاركات:
    36
    الإعجابات المتلقاة:
    4
      12-12-2008 12:22
    simplifier le but de le problem
     
  4. elbich

    elbich عضو فعال

    إنضم إلينا في:
    ‏9 جانفي 2006
    المشاركات:
    399
    الإعجابات المتلقاة:
    33
      19-12-2008 21:02
    merci en tout cas mais le but c'est de convertir un valeur en HEXA
    mais enfin j'ai le solution

    data segment
    msg1 db "la valeur en HEXA est:",13,10,"$"
    valeur dw 50594
    temp dw 0

    data ends

    code segment

    assume cs:code,ds:data,ss:nothing

    debut:
    mov ax,data
    mov ds,ax

    mov dx,offset msg1 ;affiche msg1
    mov ah,9
    int 21h

    mov dx,valeur ;mettre valeur dans dx
    mov bx,valeur



    cmp dx,15 ;f 4bit
    jbe aff1 ;si valeur<15 aller aff1


    cmp dx,255 ;ff
    jbe aff2 ;affiche 1 octet

    cmp dx,4095 ;fff
    jbe aff3

    CMP dx,65535 ; ffff
    jbe aff4

    aff4:
    xchg dh,dl
    xchg bh,bl
    and dx,00ffh
    and bx,00ffh
    mov temp,2
    call aff2


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    aff3:
    and dx,0f00h
    sub bx,dx
    mov dl,dh
    and dx,000fh
    mov temp,1
    call aff1


    mov dl,dh
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    aff2:

    and dx,00f0h

    sub bx,dx ;ax-bit2et0 ax= 1

    mov cx ,4

    ror dl, 4


    cmp dx,9
    jbe aff2digit ;si le bit 2 et <9 affdigit

    add dl,55 ;affiche charactere
    mov ah,2
    int 21h
    mov dx,bx ;mettre le 1
    call aff1 ;afficher le bit fort

    aff2digit:
    add dl,48
    mov ah,2
    int 21h
    mov dx,bx

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    aff1:

    cmp dx,9
    jbe aff1digit

    add dl,55 ;pour avoir le code ascii correct
    mov ah,2
    int 21h

    ;;
    cmp temp,1 ;aff3
    je bit3
    ;;;
    cmp temp,2
    je bit4
    ;;;
    call fin
    aff1digit: ;pour afficher numerique
    add dl,48
    mov ah,2
    int 21h
    ;;;;
    cmp temp,2
    je bit4
    ;;;;
    call fin ;cas 4bit
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    bit3:
    mov dx,bx
    mov temp,0
    call aff2

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    bit4:
    mov dx,valeur ;mettre valeur dans dx
    mov bx,valeur
    and bx,00ffh
    and dx,00ffh

    mov temp,0
    call aff2



    fin:
    mov ah,4ch
    int 21h

    code ends
    end debut
     

مشاركة هذه الصفحة

جاري تحميل الصفحة...