maniac89 Δημοσ. 24 Απριλίου 2008 Δημοσ. 24 Απριλίου 2008 παρακάτω παραθέτω την υλοπίηση του παιχνιδιού πέτρα - ψαλίδι - χαρτί σε 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
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.