GNU/Linux
β’
xterm-256color
β’
bash
143 views
π¨βπ» Autor: Rojas Garcia Kevin Argenis ποΈ Fecha: 2025-04-09 π Campus: TECNM Instituto TecnolΓ³gico de Tijuana π½οΈ Demo en Asciinema
1.- Probabilidad de obtener dos 6 al lanzar dos dados de 6 caras
.global _start
.section .data
mensaje: .asciz "Probabilidad de dos 6 en dos dados: %d%%\n"
.section .text
_start:
// Casos favorables: solo 6 y 6
mov x0, #1
// Casos totales: 6 * 6 = 36
mov x1, #6
mul x1, x1, x1
// Calcular porcentaje: (favorable * 100) / total
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir resultado
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir del programa
mov x8, #93
mov x0, #0
svc #0
.extern printf
2.- Probabilidad de al menos un 6 en dos dados de 6 caras
.global _start
.section .data
mensaje: .asciz "Probabilidad de al menos un 6 en dos dados: %d%%\n"
.section .text
_start:
// Casos totales: 6 * 6 = 36
mov x0, #6
mul x1, x0, x0 // x1 = total casos = 36
// Casos sin 6: 5 * 5 = 25
mov x2, #5
mul x3, x2, x2 // x3 = casos sin 6 = 25
// Casos favorables: total - sin 6
sub x4, x1, x3 // x4 = 36 - 25 = 11
// Calcular porcentaje: (favorables * 100) / total
mov x5, #100
mul x4, x4, x5
udiv x4, x4, x1
// Imprimir
ldr x6, =mensaje
mov x1, x4
mov x0, x6
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
3.- Simular 100 lanzamientos de moneda, calcular probabilidad de cara
.global _start
.section .data
mensaje: .asciz "Probabilidad de obtener cara en 100 lanzamientos: %d%%\n"
.section .text
_start:
// Total lanzamientos
mov x0, #100
// Caras esperadas: lanzamientos / 2
mov x1, #2
udiv x2, x0, x1
// Porcentaje: (caras * 100) / lanzamientos
mov x3, #100
mul x2, x2, x3
udiv x2, x2, x0
// Imprimir
ldr x4, =mensaje
mov x1, x2
mov x0, x4
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
4.- Simular 100 lanzamientos de dado, calcular probabilidad de nΓΊmero par
.global _start
.section .data
mensaje: .asciz "Probabilidad de nΓΊmero par en 100 lanzamientos: %d%%\n"
.section .text
_start:
// Total lanzamientos
mov x0, #100
// Pares esperados: la mitad
mov x1, #2
udiv x2, x0, x1
// Porcentaje
mov x3, #100
mul x2, x2, x3
udiv x2, x2, x0
// Imprimir
ldr x4, =mensaje
mov x1, x2
mov x0, x4
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
5.- Probabilidad de nΓΊmero primo en dado de 6 caras.
.global _start
.section .data
mensaje: .asciz "Probabilidad de nΓΊmero primo en dado de 6 caras: %d%%\n"
.section .text
_start:
// Casos favorables: 3 nΓΊmeros primos (2, 3, 5)
mov x0, #3
// Casos totales: 6 caras
mov x1, #6
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
6.- Probabilidad de nΓΊmero par en dado de 6 caras
.global _start
.section .data
mensaje: .asciz "Probabilidad de nΓΊmero par en dado de 6 caras: %d%%\n"
.section .text
_start:
// Casos favorables: 3 pares (2, 4, 6)
mov x0, #3
// Casos totales: 6
mov x1, #6
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
7.- Probabilidad de nΓΊmero impar en dado de 10 caras
.global _start
.section .data
mensaje: .asciz "Probabilidad de nΓΊmero impar en dado de 10 caras: %d%%\n"
.section .text
_start:
// Casos favorables: 5 nΓΊmeros impares
mov x0, #5
// Casos totales: 10 caras
mov x1, #10
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
8.- Probabilidad de obtener cara al lanzar una moneda
.global _start
.section .data
mensaje: .asciz "Probabilidad de obtener cara: %d%%\n"
.section .text
_start:
// Casos favorables: 1 (cara)
mov x0, #1
// Casos totales: 2 (cara o cruz)
mov x1, #2
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
9.- Probabilidad de obtener un 6 al lanzar un dado de 6 caras
.global _start
.section .data
mensaje: .asciz "Probabilidad de obtener un 6: %d%%\n"
.section .text
_start:
// Casos favorables: 1 (el 6)
mov x0, #1
// Casos totales: 6
mov x1, #6
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf
10.- Probabilidad de obtener dos caras al lanzar dos monedas
.global _start
.section .data
mensaje: .asciz "Probabilidad de dos caras en dos monedas: %d%%\n"
.section .text
_start:
// Casos favorables: cara-cara
mov x0, #1
// Casos totales: 2 monedas, 2 opciones cada una
mov x1, #2
mul x1, x1, x1 // 2 * 2 = 4
// Porcentaje
mov x2, #100
mul x0, x0, x2
udiv x0, x0, x1
// Imprimir
ldr x3, =mensaje
mov x1, x0
mov x0, x3
bl printf
// Salir
mov x8, #93
mov x0, #0
svc #0
.extern printf