Προς το περιεχόμενο

παιχνίδι σε assembly!!!


maniac89

Προτεινόμενες αναρτήσεις

Δημοσ.

παρακάτω παραθέτω την υλοπίηση του παιχνιδιού

πέτρα - ψαλίδι - χαρτί σε assembly(τρέχει στον MIPS)!

Όποιος έχει σκεφτεί μια καλύτερη υλοπoίηση του κώδικα

ας μου την στείλει!(thanks)

 

 

 

.data

petra:.asciiz "petra"

psalidi:.asciiz "psalidi"

xarti:.asciiz "xarti"

player1:.asciiz "player one: "

player2:.asciiz "player two: "

new:.asciiz "\n"

msg1:.asciiz "Dose 1=petra,2=psalidi,3=xarti:"

msg2:.asciiz "Nikhse o player 1!!!"

msg3:.asciiz "Nikhse o player 2!!!"

msg4:.asciiz "|||DEN KERDISE KANEIS|||"

question:.asciiz "Thelete na ksanapaiksete?(0=NO/1=YES)"

 

.text

.globl main

main:

addi $18,$0,1 #petra

addi $19,$0,2 #psalidi

addi $20,$0,3 #xarti

 

Again: #first player

addi $v0,$0,4

la $a0,player1

syscall

 

Loop1: #emfanizw to msg1

addi $v0,$0,4

la $a0,msg1

syscall

 

#eisagw ton arithmo pou edwse o paixths 1 ston $16

addi $v0,$0,5

syscall

add $16,$v0,$0

 

#elegxw na o arithmos autos einai metaksu tou 1 kai tou 3

bgt $16,$20,Loop1

blt $16,$18,Loop1

 

#allazw grammh

addi $v0,$0,4

la $a0,new

syscall

 

addi $v0,$0,4

la $a0,new

syscall

 

 

#second player

addi $v0,$0,4

la $a0,player2

syscall

 

 

Loop2: #emfanizw to msg1

addi $v0,$0,4

la $a0,msg1

syscall

 

#eisagw ton arithmo pou edwse o paixths 2 ston $17

addi $v0,$0,5

syscall

add $17,$v0,$0

 

#elegxw an o arithmos autos einai metaksu tou 1 kai tou 3

bgt $17,$20,Loop2

blt $17,$18,Loop2

 

 

addi $v0,$0,4

la $a0,new

syscall

 

addi $v0,$0,4

la $a0,new

syscall

 

 

#pame sto kuriws meros tou paixnidiou

 

 

beq $16,$18,Label1

beq $16,$19,Label2

beq $16,$20,Label3

Label1: beq $17,$18,Res1

beq $17,$19,Res2

beq $17,$20,Res3

 

Label2: beq $17,$19,Res1

beq $17,$18,Res3

beq $17,$20,Res2

 

Label3: beq $17,$20,Res1

beq $17,$18,Res2

beq $17,$19,Res3

 

 

 

Res1: #den kerdise kanenas

addi $v0,$0,4

la $a0,msg4

syscall

j Question

 

 

Res2: #kerdise o player 1

addi $v0,$0,4

la $a0,msg2

syscall

j Question

 

 

Res3: #kerdise o player 2

addi $v0,$0,4

la $a0,msg3

syscall

j Question

 

 

 

Question:

 

addi $v0,$0,4

la $a0,new

syscall

 

addi $v0,$0,4

la $a0,new

syscall

 

 

 

 

#erwthsh an theloun na ksanapeksoun

addi $v0,$0,4

la $a0,question

syscall

 

addi $v0,$0,5

syscall

add $21,$v0,$0

 

beq $21,$22,Exit #if $21=zero go exit

beq $21,$18,Again #if $21=1 play again

 

 

Exit: li $v0,10

syscall

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...