# CONVIERTE UN NUMERO DE UN DIGITO A LETRA .data NUM: .string "NUMERO(1-9) = " T1: .string "1 = UNO" T2: .string "2 = DOS" T3: .string "3 = TRES" T4: .string "4 = CUATRO" T5: .string "5 = CINCO" T6: .string "6 = SEIS" T7: .string "7 = SIETE" T8: .string "8 = OCHO" T9: .string "9 = NUEVE" # Longitudes de las cadenas LNUM: .int 14 L1: .int 7 L2: .int 7 L3: .int 8 L4: .int 10 L5: .int 9 L6: .int 8 L7: .int 9 L8: .int 8 L9: .int 9 X: .int 1 # variable NL: .byte 0x0A # MUESTRA MENSAJE .macro print mess len movl $4, %eax movl $1, %ebx movl \mess, %ecx movl \len, %edx int $0x80 .endm .text .global main main: print $NUM LNUM # pide el nUmero a convertir movl $3, %eax movl $0, %ebx movl $X, %ecx movl $1, %edx int $0x80 subl $48, X # ajusta el valor dado de teclado (ascii) cmpl $1, X je uno cmpl $2, X je dos cmpl $3, X je tres cmpl $4, X je cuatro cmpl $5, X je cinco cmpl $6, X je seis cmpl $7, X je siete cmpl $8, X je ocho print $T9 L9 print $NL $1 ret ocho: print $T8 L8 print $NL $1 ret siete: print $T7 L7 print $NL $1 ret seis: print $T6 L6 print $NL $1 ret cinco: print $T5 L5 print $NL $1 ret cuatro: print $T4 L4 print $NL $1 ret tres: print $T3 L3 print $NL $1 ret dos: print $T2 L2 print $NL $1 ret uno: print $T1 L1 print $NL $1 ret