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