Documentos de Académico
Documentos de Profesional
Documentos de Cultura
asm
;Enlazar: ld -m elf_i386 -s -o juego_dados juego_dados.o io.o
;Ejecutar: ./juego_dados
%include "io.mac"
section .data
entrada: db "Juego de dados al azar", 10,0
nro: db "----------- Empezando ------------------", 0
nro1: db "Ingresa un monto para apostar:", 0
nro2: db "El numero del 1er dado es ", 0
nro3: db "El numero del 2do dado es ", 0
nro4: db "El resultado es ", 0
Perder: db "Has perdido", 0, 10
Ganar: db "Has ganado", 0, 10
pregunta: db "Quieres seguir jugando? si=1 o no=2", 0, 10
d1: dw 0
d2: dw 0
section .text
global _start
_start:
PutStr entrada
PutStr nro
nwln
PutStr nro1
GetInt cx
nwln
jmp gen_1
gen_1:
mov eax, 355
mov ebx, d1
mov ecx, 1
mov edx, 0
int 80h
mov ax, [d1]
PutInt ax
nwln
cmp ax,6
ja limitador_1
jmp contador
gen_2:
mov eax, 355
mov ebx, d2
mov ecx, 1
mov edx, 0
int 80h
mov bx, [d2]
PutInt bx
nwln
cmp ax,6
ja limitador_2
jmp contador
dado:
cmp ax,0
jz gen_1
segdado:
cmp bx,0
jz gen_2
jmp contador
limitador_1:
mov cx, 249
sub ax, cx
cmp ax, 7
jb contador
loop limitador_1
limitador_2:
mov cx, 249
sub bx, cx
cmp bx, 7
jb contador
loop limitador_2
dados:
cmp bx, 0
jz dado
jnz segdado
contador:
add ax,bx
cmp ax, 7
jae Menos
jb Mas
Menos:
PutStr Perder
nwln
jmp continuar
continuar:
PutStr pregunta
GetInt bx
cmp bx,1
je dado
ja fin
Mas:
PutStr Ganar
imul ax,2
PutInt ax
jmp continuar
fin:
nwln
mov ax,1
int 80h