Загрузка...

Masm32 сложить все числа массива

Тема в разделе Реверсинг / Assembler создана пользователем Kropka01 16 дек 2021. 236 просмотров

Загрузка...
  1. Kropka01
    Kropka01 Автор темы 16 дек 2021 17 14 мар 2021
    Всем , привет , кто разбирается , помогите пожалуйста , нужно сложить все числа массива . Работает неправильно , выводит всегда значение регистра ecx .
    Код
    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    .386 ; create 32 bit code
    .model flat, stdcall ; 32 bit memory model
    option casemap :none ; case sensitive

    ; include files
    ; ~~~~~~~~~~~~~
    include \masm32\include\windows.inc ; main windows include file
    include \masm32\include\masm32.inc ; masm32 library include

    ; -------------------------
    ; Windows API include files
    ; -------------------------
    include \masm32\include\gdi32.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\Comctl32.inc
    include \masm32\include\comdlg32.inc
    include \masm32\include\shell32.inc
    include \masm32\include\oleaut32.inc
    include \masm32\include\ole32.inc
    include \masm32\include\msvcrt.inc

    include \masm32\include\dialogs.inc ; macro file for dialogs
    include \masm32\macros\macros.asm ; masm32 macro file

    ; libraries
    ; ~~~~~~~~~
    includelib \masm32\lib\masm32.lib ; masm32 static library

    ; ------------------------------------------
    ; import libraries for Windows API functions
    ; ------------------------------------------
    includelib \masm32\lib\gdi32.lib
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\Comctl32.lib
    includelib \masm32\lib\comdlg32.lib
    includelib \masm32\lib\shell32.lib
    includelib \masm32\lib\oleaut32.lib
    includelib \masm32\lib\ole32.lib
    includelib \masm32\lib\msvcrt.lib

    ; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    ; ************************************************************************
    ; include \masm32\include\masm32rt.inc
    ; ************************************************************************

    .data?
    ;Result dd ?
    ;lpBuf1 db 1024 dup(?) ; temp Buffers


    .data
    res2 dd 0
    i dd 0
    mas dd 1,2,3,4,5,6,7
    sum dd 0

    buffer_for_string db 10 dup(0)
    title_string db "Результат: ",0
    szformat db "%d",0Dh,0Ah,0 ;



    .code
    start:
    ; ************************************************************************
    main proc
    ; LOCAL Result :DWORD
    ; LOCAL var_00 :DWORD
    ; LOCAL var_01 :DWORD

    ; Затем здесь(ниже) запишите решение.
    ; Записи возможны только до начала следующей линии решетки ...
    ; ###########################################################################
    mov ecx,10
    mov esi,0
    xor ebx,ebx
    mov ebx,offset mas

    m1:
    mov edx,[ebx]
    add sum,edx
    add esi,4
    loop m1









    ; ###########################################################################
    push sum
    push offset szformat
    push offset buffer_for_string
    call wsprintf

    push MB_OK
    push offset title_string
    push offset buffer_for_string
    push 0
    call MessageBox

    push 0
    call ExitProcess

    main endp
    ; ************************************************************************
    end start
     
  2. Kropka01
    Kropka01 Автор темы 16 дек 2021 17 14 мар 2021
    уже решил все , ошибка в том что я еблан
     
Top