Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Architetture dei Sistemi a Elaborazione - a.a. 2012/13
- ; Esercitazione di Laboratorio 3
- ; 1. Si scriva un programma in linguaggio Assembler 8086 che esegua le seguenti operazioni:
- ; a. Acquisisca da tastiera una stringa di caratteri
- ; b. Controlli se la stringa acquisita è palindroma
- ; c. Visualizzi a video un messaggio
- ; i. che indichi se la stringa se è palindroma o meno
- ; ii. nel caso non sia palindroma stampi a video la stringa invertita
- .MODEL SMALL
- .DATA
- STRINGA DB 32, ?, 32 DUP("$")
- SUCCESS DB "STRINGA PALINDROMA", "$"
- .STACK
- .CODE
- .STARTUP
- LEA DX, STRINGA
- MOV AH, 0AH
- INT 21H
- XOR CX, CX
- MOV CL, STRINGA+1
- MOV BX, CX
- SHR CX, 1
- LEA SI, STRINGA+2
- LEA DI, STRINGA+BX+2-1
- CICLO: MOV AH, [SI]
- MOV AL, [DI]
- CMP AH, AL
- JE WIN
- MOV DH, 0FFH
- WIN: MOV [SI], AL
- MOV [DI], AH
- INC SI
- DEC DI
- LOOP CICLO
- LEA DX, SUCCESS
- JMP STAMPA
- FAIL: LEA DX, STRINGA+2
- STAMPA: MOV AH, 09
- INT 21H
- .EXIT
- END
Advertisement
Add Comment
Please, Sign In to add comment