This 8085/8086 microprocessor assembly language program asks users to input a number and finds out the square of a number and then prints it. This 8085/8086 microprocessor assembly language program has one more feature by which it doesn't accept any value other than decimal numbers and asks users if they want to quit the program or not
TITLE PUCHTAA
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 0AH, 0DH, "ENTER A NUMBER TO SQUARE IT: $"
OUT1 DB 0AH, 0DH, "SQUARE OF $"
OUT2 DB " IS $"
QUIT DB 0AH, 0DH, "CONTINUE? Y FOR YES ELSE FOR NO: $"
.CODE
MAIN:
MOV AX, @DATA
MOV DS, AX
AGAIN:
LEA DX, MSG
MOV AH, 09H
INT 21H
MOV AH, 01H
INT 21H
PUSH AX
CMP AL, 39H
JG AGAIN
CMP AL, 30H
JL AGAIN
PUSH AX
SUB AL, 30H
MOV BL, AL
MUL BL
AAM
MOV BX, AX
LEA DX, OUT1
MOV AH, 09H
INT 21H
POP DX
MOV AH, 02H
INT 21H
LEA DX, OUT2
MOV AH, 09H
INT 21H
MOV DL, BH
ADD DL, 30H
MOV AH, 02H
INT 21H
MOV DL, BL
ADD DL, 30H
MOV AH, 02H
INT 21H
LEA DX, QUIT
MOV AH, 09H
INT 21H
MOV AH, 01H
INT 21H
OR AL, 20H
CMP AL, 'y'
JE AGAIN
MOV AH, 04CH
INT 21H
END MAIN