Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .586P
- .model flat, stdcall
- option casemap :none ; case sensitive
- SRC1_DIMM EQU 8
- SRC1_REAL EQU 2
- DEST_MEM EQU 0
- SRC2_DIMM EQU 2048
- CharToOemA PROTO :DWORD,:DWORD
- StdOut PROTO :DWORD
- StdIn PROTO :DWORD,:DWORD
- StripLF PROTO :DWORD
- FpuAtoFL PROTO :DWORD,:DWORD,:DWORD
- FpuFLtoA PROTO :DWORD,:DWORD,:DWORD,:DWORD
- ExitProcess Proto :Dword
- includelib masm32.lib
- .data
- buffor byte 255 dup(0)
- liczby byte 255 dup(0)
- give_var byte "Podaj liczbe: ",0
- pomoc DWORD 0
- liczba_X byte 0
- liczba_Y byte 0
- .code
- main proc
- ;==============================================================PIERWSZA LICZBA==================================
- invoke StdOut, offset give_var
- invoke StdIn, offset buffor, lengthof buffor
- invoke StripLF, offset buffor
- mov ecx,0
- mov ebx,0
- sprawdzaj_1: ;zliczam ile jest cyfr w buforze
- mov al, buffor[ebx]
- add ebx,1
- cmp al,0
- jne dodaj_1
- jmp po_dodaj_1
- dodaj_1:
- add ecx,1
- jmp sprawdzaj_1
- po_dodaj_1: ;jestem po zliczeniu cyfr w buforze
- mov ebx,0
- petla_1: ;zamieniam z Ascii na normalne
- push ecx
- mov al,buffor[ebx]
- mov buffor[ebx],0
- sub al,48
- mov liczby[ebx],al
- add ebx,1
- pop ecx
- LOOP petla_1 ;po zamianie z Ascii na nnormalne
- mov ecx,ebx
- sub ebx,1
- mov dl,1
- petla2_1: ;mnoze cyfry w tablicy od konca 1x/10x/100x...
- push ecx
- mov al,liczby[ebx]
- mul dl
- mov liczby[ebx],al
- mov al,10
- mul dl
- mov dl,al
- sub ebx,1
- add pomoc,1
- pop ecx
- LOOP petla2_1 ;po mnozeniu
- mov ebx,0 ;teraz bede dodawał je do jednej zmiennej
- mov ecx,pomoc
- petla3_1:
- push ecx
- mov al,liczby[ebx]
- mov liczby[ebx],0
- add liczba_X, al
- add ebx,1
- pop ecx
- LOOP petla3_1 ;po dodawaniu liczb do jednej zmiennej
- invoke ExitProcess,0
- main endp
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement