Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TITLE MASM Template (main.asm)
- INCLUDE Irvine32.inc
- .data
- Rozmer EQU 4
- Matica DW Rozmer*Rozmer dup(?)
- RIADOKc db "Riadok hladaneho cisla je",0ah,0dh,0
- STLPECc db "Stlpec hladaneho cisla je",0ah,0dh,0
- riadok dd ?
- stlpec dd ?
- .code
- Odriadkuj MACRO
- mov al, 0Dh
- call WriteChar
- mov al, 0Ah
- call WriteChar
- ENDM
- GenerujMaticu PROC USES EAX ECX ESI
- ; generuj maticu a ulož ju do pamäti
- mov esi,0
- mov ecx,Rozmer*Rozmer
- Generuj:
- mov eax,10h
- call RandomRange; generuje náh. ?íslo <0; n-1>,
- ; n je vstupný parameter v eax, ?íslo vráti v eax
- mov Matica[esi*2],ax
- inc esi
- loop Generuj
- ret
- GenerujMaticu ENDP
- ;------------------------------------------------------
- VypisMaticu PROC USES EAX EBX ECX ESI
- mov ebx,0
- mov ecx,Rozmer; po?et riadkov
- VypisRiadok:
- mov esi,0; index st?pca
- push ecx; odlož po?ítadlo riadkov
- mov ecx,Rozmer; po?et st?pcov
- Vypis:
- movzx eax, Matica[ebx+esi*2]
- call WriteInt
- mov al,9; Tab – zarovnaj do st?pcov
- call WriteChar
- inc esi
- loop Vypis
- Odriadkuj
- pop ecx; obnov po?ítadlo riadkov
- add ebx,Rozmer*2; aktualizuj offset riadku
- loop VypisRiadok
- ret
- VypisMaticu ENDP
- ;-------------------------------------------------
- main PROC
- call GenerujMaticu
- call VypisMaticu
- odriadkuj
- mov riadok,1
- mov stlpec,0
- mov ebx,0
- mov esi,0
- mov eax,0
- Zaciname:
- inc stlpec
- movzx eax, Matica[ebx+esi*2]
- ;call WriteInt
- cmp eax, 15; ..............CISLO KTORE HLADAM.................
- je Zhoda
- inc esi
- cmp stlpec, 4
- je DalsiRiadok
- jmp Zaciname
- Zhoda:
- odriadkuj
- mov edx, offset STLPECc
- call writestring
- mov eax, stlpec
- call writeint
- odriadkuj
- mov edx, offset RIADOKc
- call writestring
- mov eax, riadok
- call writeint
- odriadkuj
- jmp Koniec
- DalsiRiadok:
- inc riadok
- mov stlpec, 0
- jmp Zaciname
- Koniec:
- exit
- main ENDP
- END main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement