Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Wprowadz kolejno 10 liczb(decymalnie) za posrednictwem konsoli. Oblicz ich sume i wypisz wynik.

$
0
0
Witam mam napisać program który pobierze 10 liczb od użytkownika a następnie obliczy ich sumę narazie zrobiłem tylko pobieranie i wypisywanie. Pomoże ktoś ?
.386
.MODEL flat,STDCALL

STD_INTPUT_HANDLE equ -10
STD_OUTPUT_HANDLE equ -11

ExitProcess PROTO :DWORD
GetStdHandle PROTO :DWORD
WriteConsoleA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
ReadConsoleA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
.data
    charsToWrite BYTE "Podaj 10 liczb "    nOfCharsToWrite DWORD 15
    nOfCharsWritten DWORD 0

    nOfCharsToWrite2 DWORD 10
    tab DWORD 10 dup(0)
    destination DWORD 10 dup(0)

    outputHandle DWORD 0
    inputHandle DWORD 0

    nOfCharsRead DWORD 0

.code
main proc
    push STD_OUTPUT_HANDLE
    call GetStdHandle
    mov outputHandle , EAX

    push STD_INTPUT_HANDLE
    call GetStdHandle
    mov  inputhandle, EAX

    push 0
    push OFFSET nOfCharsWritten
    push nOfCharsToWrite
    push OFFSET charsToWrite
    push outputHandle
    call WriteConsoleA

    push 0
    push OFFSET nOfCharsRead
    push 10
    push OFFSET tab
    push inputHandle
    call ReadConsoleA

    mov ecx,10
    mov esi, OFFSET tab
    mov edi, OFFSET destination

    petla:
        push ecx
        mov eax,[esi]
        mov [edi],eax
        inc esi
        inc edi
        pop ecx
    LOOP petla
    
    push 0
    push OFFSET nOfCharsWritten
    push nOfCharsToWrite
    push OFFSET destination
    push outputhandle
    call WriteConsoleA

    
    push 0
    call ExitProcess
    main endp
END

 


Viewing all articles
Browse latest Browse all 21942