8086 Record (Printing Part)
8086 Record (Printing Part)
INCLUDE IO.H
DATA SEGMENT
MSD1 DB CR,LF,'RESULT','$'
MSD2 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
OUTPUT MSD1
OUTPUT MSD2
OUTPUT MSG1
INPUTS VAR1,6
OUTPUT MSG2
INPUTS VAR2,6
OUTPUT MSG3
INPUTS VAR3,6
OUTPUT MSG4
ITOA RESULT,BX
OUTPUT RESULT
OUTPUT MSD2
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
MSD1 DB CR,LF,'RESULT','$'
MSD2 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
PROCESS:
OUTPUT MSD1
OUTPUT MSD2
OUTPUT MSG1
ITOA SUM,BX
OUTPUT SUM
OUTPUT MSD2
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
MD1 DB CR,LF,'RESULT','$'
MD2 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
PROCESS:
OUTPUT MD1
OUTPUT MD2
OUTPUT MS1
INPUTS VAR,5
ATOI VAR
MOV BX,AX
INC AX
MUL BX
MOV BX,02
DIV BX
OUTPUT MS2
ITOA SUM,AX
OUTPUT SUM
OUTPUT MD2
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
MSD1 DB CR,LF,'RESULT','$'
MSD2 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
PROCESS:
OUTPUT MSD1
OUTPUT MSD2
OUTPUT MSG1
INPUTS VAR1,6
OUTPUT MSG2
INPUTS VAR2,6
OUTPUT MSG3
INPUTS VAR3,4
IMUL BX ;AX<=P*N*R
MOV BX,100
IDIV BX
OUTPUT MSG4
ITOA SIT,AX
OUTPUT SIT
OUTPUT MSD2
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
TITLE** TO PRINT ASCII CHARACTERS **
CODESG SEGMENT
ASSUME CS:CODESG,SS:CODESG,DS:CODESG,ES:CODESG
ORG 100H
START:
MOV DL,33 ;[DL] IS THE STARTING NUMBER OF THE PRINTABLE ASCII CHARACTER
PRINT:
INT 21H
LOOP PRINT
QUIT:
MOV AL,00
CODESG ENDS
END START
OUTPUT:
SOURCE CODE:
TITLE** TO CONVERT UPPER CASE TO LOWER CASE **
INCLUDE IO.H
DATA SEGMENT
DESIG1 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DESIG2 DB CR,LF,'RESULT','$'
NAME1 DB 25 DUP(?),'$'
NAME2 DB 25 DUP(?),'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,00
MOV ES,AX
MAIN:
OUTPUT DESIG1
OUTPUT DESIG2
OUTPUT DESIG1
OUTPUT PRINT1
INPUTS NAME1,25
L4:
JGE L1
JMP L3
L1:
JLE L2
JMP L3
L2:
L3:
MOV [DI],AL
LOOP L4
PRINT:
OUTPUT DESIG1
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
TITLE** TO CONVERT CENTIGRADE INTO FAHRENHEIT SCALE **
INCLUDE IO.H
DATA SEGMENT
MD1 DB CR,LF,'RESULT','$'
MD2 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
PROCESS:
OUTPUT MD1
OUTPUT MD2
OUTPUT MS1
INPUTS VAR1,6
MOV BL,AL
OUTPUT MS2
ITOA RESULT,BX
OUTPUT RESULT
OUTPUT MD2
QUIT:
MOV AL,00
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
DES1 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DES2 DB CR,LF,'RESULT','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
MAIN:
OUTPUT DES1
OUTPUT DES2
OUTPUT DES1
OUTPUT MSG1
OUTPUT DES1
OUTPUT MSG2
INPUTS VAL,5
ATOI VAL ;AX <- TOTAL NUMBER
MOV BX,00
TOP:
PUSH CX
OUTPUT MSG3
INPUTS NUM,5
ATOI NUM
ADD BX,AX
POP CX
LOOP TOP
OUTPUT DES1
OUTPUT MSG4
ITOA SUM,BX
OUTPUT SUM
MOV AX,BX
POP DX
MOV BX,DX
CWD
DIV BX
OUTPUT MSG5
ITOA AVE,AX
OUTPUT AVE
OUTPUT DES1
QUIT:
MOV AL,00
MOV AH,4CH
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
DS1 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
DS2 DB CR,LF,'........................','$'
TEMP DW 10 DUP(?)
COUNT DW 3 DUP(?),CR,LF,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MAIN:
OUTPUT DS1
OUTPUT MS1
INPUTS VALUE,10
MOV CX,AX
MOV TEMP,AX
LEA BX,STARRAY
TASK:
OUTPUT MS2
INPUTS NUMBER,10
ATOI NUMBER
ADD BX,02
LOOP TASK
LEA BX,STARRAY
OUTPUT DS2
OUTPUT MS3
INPUTS SEARCH,10
OUTPUT DS2
MOV CX,00
TOP:
JE JOB
RARE:
ADD BX,02
CMP TEMP,00
JE PROG
JMP TOP
JOB:
INC CX
JMP RARE
PROG:
OUTPUT MS4
ITOA COUNT,CX
OUTPUT COUNT
OUTPUT MS5
OUTPUT DS1
QUIT:
MOV AL,00
MOV AH,4CH
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
DES1 DB CR,LF,'~~~~~~~~~~~~~~~~~~~~~~~~~~','$'
STR DB 80 DUP(?)
STRL DW ?
SSTL DW ?
LAST DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,00
MOV ES,AX
OUTPUT DES1
OUTPUT MAT1
OUTPUT MAT2
MOV AX,STRL
SUB AX,SSTL
INC AX
MOV LAST,AX
MOV AX,01
WHILE:
CMP AX,LAST
JG EWHILE
ADD SI,AX
DEC SI
MOV CX,SSTL
JZ APPEAR
INC AX
JMP WHILE
EWHILE:
OUTPUT DES1
OUTPUT NO
OUTPUT DES1
JMP QUIT
APPEAR:
OUTPUT DES1
OUTPUT YES
OUTPUT DES1
QUIT:
MOV AL,00
MOV AH,4CH
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
MOV AX,00
MOV ES,AX
OUTPUT DES1
OUTPUT MSG1
LEA SI,PRINT1
ADD SI,CX
DEC SI
MAIN:
MOV AL,[SI]
MOV [DI],AL
INC DI
DEC SI
LOOP MAIN
OUTPUT MSG2
OUTPUT PRINT2
QUIT:
MOV AL,00
INT 21H
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
STACK SEGMENT
DW 100 DUP(?)
STACK ENDS
DATA SEGMENT
CRLF DB CR,LF,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:
MOV AX,00
MOV DS,AX
MOV ES,AX
OUTPUT MSD2
OUTPUT DES1
OUTPUT CRLF
OUTPUT LABEL1
OUTPUT CRLF
OUTPUT LABEL2
LEA SI,IPSTR
LEA DI,OPSTR
MOV CX,23
FOR1:
LOOP FOR1
INC DI
MOV AL,'$'
MOV [DI],AL
OUTPUT OPSTR
OUTPUT CRLF
OUTPUT DES1
QUIT:
MOV AL,00
MOV AH,4CH
INT 21H
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INCLUDE IO.H
STACK ENDS
DATA SEGMENT
MM DB 8 DUP (?),'$'
TOTELTS DW ?
DATA ENDS
CODE SEGMENT
MOV DX,00
FOR1:
ADD AX,[BX]
MOV DX,AX
ITOA MM,DX
ADD BX,02
MOV DX,AX
ITOA MM,DX
OUTPUT SUM
OUTPUT MM
RET
JUPI ENDP
START:
WHILE:
ENDWHILE:
CALL JUPI
QUIT:
MOV AL,00
MOV AH,4CH
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INCLUDE IO.H
DATA SEGMENT
DUMMY DB CR,LF,'$'
DATA ENDS
CODE SEGMENT
START:
MOV AX,00
MOV ES,AX
PROGRAM:
MOV DL,20H
MOV DH,10H
CALL SETCUR
OUTPUT MSG1
MOV STRLEN,AX
MOV AL,40
MOV AL,CL
STOP:
MOV BX,00F0H
CALL SETCUR
CALL DISPLAY
INC SI
INC DL
CMP STRLEN,00
JNZ STOP
JMP QUIT
MOV AX,0600H
MOV BH,07
MOV CX,0000
MOV DX,184FH
RET
CLEAR ENDP
MOV AH,02H
MOV BH,00H
INT 10H
RET
SETCUR ENDP
MOV AH,09
MOV AL,[SI]
MOV BH,00
MOV CX,01
INT 10H
RET
DISPLAY ENDP
QUIT:
MOV AL,00
MOV AH,4CH
CODE ENDS
END START
OUTPUT:
SOURCE CODE:
INCLUDE IO.H
DATA SEGMENT
S DW 25 DUP(?),CR,LF,'$'
STR1 DB 'PALINDROME','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,00
MOV DS,AX
PROCESS:
OUTPUT MSG
INPUTS S,25
LEA DI,S
LEA SI,S
ADD DI,CX
DEC DI
LOOP1:
MOV AL,[DI]
MOV BL,[SI]
CMP AL,BL
JNE LOOP2
INC SI
DEC DI
LOOP LOOP1
OUTPUT STR1
LOOP LOOP3
LOOP2:
OUTPUT STR2
LOOP3:
MOV AH,4CH
INT 21H
CODE ENDS
END START
OUTPUT: