Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .GLOBAL _main
- .DATA
- msg1: .ASCII "Inserisci la stringa\r"
- strings: .ASCII "zero ", "uno ", "due ", "tre ", "quattro ", "cinque ", "sei ", "sette ", "otto ", "nove "
- input: .FILL 21,1,0x0D
- spazio: .BYTE ' '
- .TEXT
- _main: NOP
- XOR %ESI, %ESI
- LEA msg1, %EBX
- CALL outline
- leggi: CALL inchar
- CALL outchar
- MOV %AL, input(%ESI)
- CMPB $0x0D, %AL
- JE processa
- INC %ESI
- CMP $20, %ESI
- JB leggi
- processa: CALL newline
- XOR %EDX, %EDX
- LEA input, %ESI
- ciclo: MOVB (%ESI), %AL
- CMPB $0x30, %AL
- JB carattere
- CMPB $0x39, %AL
- JA carattere
- # Stampo 1->uno etc..
- INC %EDX
- SUB $0x30, %AL
- LEA strings, %EBX # strings[AL*8]
- AND $0x000000FF, %EAX
- LEA (,%EAX, 8), %EDI
- ADD %EDI, %EBX
- MOV $8, %CX
- CALL outmess
- JMP dopo
- carattere: CMPB $0x0D, %AL
- JE fine
- CALL outchar
- PUSH %EAX
- MOVB spazio, %AL
- CALL outchar
- POP %EAX
- dopo: INC %ESI
- JMP ciclo
- fine: CALL newline
- CMP $0, %EDX
- JNE _main
- RET
- .INCLUDE "c:/amb_gas/utility"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement