помогите простейшая программа на ассемблере

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by [FREE], 24 Sep 2009.

  1. [FREE]

    [FREE] Member

    Joined:
    1 Nov 2008
    Messages:
    0
    Likes Received:
    55
    Reputations:
    0
    кто может помогите
    Написать программу на Ассемблере для вычисления: P+(p+1)+(p+2)+…+(p+n)=(n+1)(2p+n)/2 (при заданном n=7,p=3)
    Вычислить в цикле левую сумму. Убедиться в равенстве сторон. Вывести оба значения в разных регистрах (Значение по формуле – в bx, значение суммы - в di).
     
    4 people like this.
  2. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    Как то так. Вывод сам сделаешь ибо я не знаю - тебе под дос или винду.

    PHP:
    mov eax3
    xor edxedx
    mov ecx
    7

    @@head:

    add edieax
    add edi
    edx
    inc edx

    loop 
    @@head

    mov eax
    7
    inc eax
    mov ebx
    3
    shl ebx
    1
    add ebx
    7
    mul ebx
    mov ebx
    2
    div ebx
    xchg ebx
    eax

    cmp ebx
    edi
    jz 
    @@equal

    @@noequal:

    ...

    @@
    equal:

    ...

     
    #2 Hiro Protagonist, 25 Sep 2009
    Last edited: 25 Sep 2009
    1 person likes this.