-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEjercicio8.s
70 lines (52 loc) · 1.86 KB
/
Ejercicio8.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Lenguajes de Interfaz - Actividad 8
# Calcular la longitud de una cadena
# Alumno: Gómez Aguilar Jared Emmanuel
# Número de Control: 22210309
# Python y Ensamblador
# -------------------------------------------------
/*
# Función para calcular la longitud de una cadena
def calcular_longitud(cadena):
return len(cadena)
# Solicitar una cadena al usuario
cadena = input("Introduce una cadena de texto: ")
# Calcular la longitud de la cadena
longitud = calcular_longitud(cadena)
# Mostrar el resultado
print("La longitud de la cadena es:", longitud)
*/
# ------------------------------------------------
//Gómez Aguilar Jared Emmanuel
//22210309
.data
prompt: .string "Introduce una cadena de texto: "
format_in: .string "%255s" // Límite de 255 caracteres
format_out: .string "La longitud de la cadena es: %d\n"
buffer: .space 256 // Buffer para la cadena
.text
.global main
.type main, %function
main:
stp x29, x30, [sp, -16]! // Guardar frame pointer y link register
mov x29, sp // Set up frame pointer
// Imprimir prompt
adr x0, prompt
bl printf
// Leer cadena
adr x1, buffer // Dirección del buffer
adr x0, format_in
bl scanf
// Calcular longitud
adr x0, buffer
bl strlen // Llamar a strlen de la librería C
// Guardar resultado
mov x1, x0 // Mover longitud a x1 para printf
// Imprimir resultado
adr x0, format_out
bl printf
mov w0, #0 // Return 0
ldp x29, x30, [sp], #16 // Restaurar frame pointer y link register
ret
.size main, (. - main)
ASCIINEMA
https://asciinema.org/a/690312