section .data
prompt db "1. Papier", 0Ah, "2. Kamien", 0Ah, "3. Nozyce", 0Ah, "Twoj wybor: "
win db "Wygrales!", 0Ah
lose db "Przegrales!", 0Ah
tie db "Remis!", 0Ah
section .bss
choice resb 2
section .text
global _start
_start:
; wyświetlenie opcji
mov eax, 4
mov ebx, 1
mov ecx, prompt
mov edx, 21
int 0x80
; odczyt wyboru gracza
mov eax, 3
mov ebx, 0
mov ecx, choice
mov edx, 2
; konwersja wyboru na liczbę
sub byte [choice], '0'
; losowanie wyboru komputera
mov eax, [choice]
add eax, 2
cmp eax, 3
jae .again
; porównanie wyborów i wyświetlenie wyniku
cmp eax, [choice]
je .tie
jg .win
jl .lose
.tie:
mov ecx, tie
mov edx, 5
jmp .end
.win:
mov ecx, win
mov edx, 7
.lose:
mov ecx, lose
mov edx, 8
.again:
jmp .start
.end:
; zakończenie programu
mov eax, 1
xor ebx, ebx
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
section .data
prompt db "1. Papier", 0Ah, "2. Kamien", 0Ah, "3. Nozyce", 0Ah, "Twoj wybor: "
win db "Wygrales!", 0Ah
lose db "Przegrales!", 0Ah
tie db "Remis!", 0Ah
section .bss
choice resb 2
section .text
global _start
_start:
; wyświetlenie opcji
mov eax, 4
mov ebx, 1
mov ecx, prompt
mov edx, 21
int 0x80
; odczyt wyboru gracza
mov eax, 3
mov ebx, 0
mov ecx, choice
mov edx, 2
int 0x80
; konwersja wyboru na liczbę
sub byte [choice], '0'
; losowanie wyboru komputera
mov eax, [choice]
add eax, 2
cmp eax, 3
jae .again
; porównanie wyborów i wyświetlenie wyniku
cmp eax, [choice]
je .tie
jg .win
jl .lose
.tie:
mov eax, 4
mov ebx, 1
mov ecx, tie
mov edx, 5
int 0x80
jmp .end
.win:
mov eax, 4
mov ebx, 1
mov ecx, win
mov edx, 7
int 0x80
jmp .end
.lose:
mov eax, 4
mov ebx, 1
mov ecx, lose
mov edx, 8
int 0x80
jmp .end
.again:
mov eax, [choice]
add eax, 2
jmp .start
.end:
; zakończenie programu
mov eax, 1
xor ebx, ebx
int 0x80