;ASSIGNMENT NO.1 :: PROGRAM TO ADD ARRAY OF N NUMBERS ; NAME :: SHOEB H SAYYED ; ROLL NO :: 31 DATA SEGMENT M DB 10,13,'ENTER THE SIZE: $' M1 DB 10,13,'ENTER THE NUMBERS: $' M2 DB 10,13,'ADDITION : $' M3 DB 10,13,'$' CNT DB 0 ;COUNTER FOR COUNTING THE NUMBERS ARR DB 10 DUP(0) DATA ENDS DISP MACRO MSG ;MACRO USED TO DISPLAY THE STRING LEA DX,MSG MOV AH,09H ;DISPLAY STRING FUNCTION INT 21H ENDM READ MACRO ;MACRO USED TO READ A NUMBER MOV AH,01H ;FUNCTIO TO READ A NUMBER INT 21H ENDM PRINT MACRO ;MACRO USED TO PRINT THE CHARACTER MOV AH,02H ;FUNCTION TO PRINT INT 21H ENDM CODE SEGMENT ASSUME CS:CODE,DS:DATA
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
;ASSIGNMENT NO.1 :: PROGRAM TO ADD ARRAY OF N NUMBERS; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENT
M DB 10,13,'ENTER THE SIZE: $'M1 DB 10,13,'ENTER THE NUMBERS: $'M2 DB 10,13,'ADDITION : $'M3 DB 10,13,'$'
CNT DB 0 ;COUNTER FOR COUNTING THE NUMBERSARR DB 10 DUP(0)
DATA ENDS
DISP MACRO MSG ;MACRO USED TO DISPLAY THE STRINGLEA DX,MSGMOV AH,09H ;DISPLAY STRING FUNCTIONINT 21HENDM
READ MACRO ;MACRO USED TO READ A NUMBERMOV AH,01H ;FUNCTIO TO READ A NUMBERINT 21HENDM
PRINT MACRO ;MACRO USED TO PRINT THE CHARACTER MOV AH,02H ;FUNCTION TO PRINTINT 21HENDM
L1: DISP M3 ;USED FOR A NEW LINE READ ;TO READ FIRST DIGIT OF FIRST NUMBER SUB AL,30H SHL AL,04H ;SHIFT LEFT BY FOUR BITS MOV BL,AL READ ;TO READ SECOND DIGIT OF FIRST NUMBER SUB AL,30H ADD BL,AL MOV [SI],BL INC SI LOOP L1 ;LOOP THROUGH L1 UNTILL VALID CONDITION LEA SI,ARR MOV CL,CNT MOV CH,00 MOV AX,00 MOV BH,00
L2: ADD AL,[SI] ;ADDITION IS CARRIED OUT DAA ;DECIMAL ADJUSTMENT AFTER ADDITION JNC L3 INC BH
c:\TASM>TLINK SB1Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalWarning: No stack
c:\TASM>SB1
ENTER THE SIZE: 6ENTER THE NUMBERS:202020202020ADDITION : 120c:\TASM>EXIT
;ASSIGNMENT NO.2 :: PROGRAM FOR OVERLAPPED AND NON-OVERLAPPED BLOCK TRANSFER; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENT
M1 DB 10,13,'ENTER ARRAY SIZE : $'M2 DB 10,13,'ENTER ELEMENTS : $'M3 DB 10,13,'ENETR 1ST ARRAY : $'M4 DB 10,13,'ENTER 2ND ARRAY : $'M5 DB 10,13,'NON OVER-LAPPED BLOCK TRANSFER : $'M6 DB 10,13,'1ST BLOCK:: $'M7 DB 10,13,'2ND BLOCK:: $'M8 DB 10,13,'OVER-LAPPED TRANSFER :$ 'M9 DB 10,13,' $'
ARR1 DB 10 DUP(0)ARR2 DB 10 DUP(0)ARR3 DB 10 DUP(0)
c:\TASM>TLINK SB2;Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalWarning: No stack
c:\TASM>SB2;
ENTER ARRAY SIZE : 5ENETR 1ST ARRAY :ENTER ELEMENTS : 11ENTER ELEMENTS : 12ENTER ELEMENTS : 13ENTER ELEMENTS : 14ENTER ELEMENTS : 15
ENTER 2ND ARRAY :ENTER ELEMENTS : 21ENTER ELEMENTS : 22ENTER ELEMENTS : 23ENTER ELEMENTS : 24ENTER ELEMENTS : 25NON OVER-LAPPED BLOCK TRANSFER :1ST BLOCK:: 11 12 13 14 15NON OVER-LAPPED BLOCK TRANSFER :2ND BLOCK:: 21 22 23 24 25
OVER-LAPPED TRANSFER : 21 22 11 12 13 14 15c:\TASM>EXIT
;ASSIGNMENT NO.3 :: PROGRAM TO FIND AND COUNT NEGATIVE NO.FROM ARRA OF SIGNED NUMBERS; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENTM1 DB 10,13,'ENETR TOTAL NO. OF ELEMENTS : $'M2 DB 10,13,'ENETR ELEMENTS : $'M3 DB 10,13,'TOTAL NEGATIVE NOS. ARE : $'M4 DB 10,13,'NOS. ARE : $'M5 DB 10,13,' $'
ARR1 DB 10 DUP(0)ARR2 DB 10 DUP(0)CNT DW 0DATA ENDS
DISP MACRO MSG ;MACRO FOR DISPLAYMOV AH,09HLEA DX,MSGINT 21HENDM
c:\TASM>TLINK SB3Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalWarning: No stack
c:\TASM>SB3
ENETR TOTAL NO. OF ELEMENTS : 5ENETR ELEMENTS : 10ENETR ELEMENTS : F0ENETR ELEMENTS : C0ENETR ELEMENTS : A2ENETR ELEMENTS : 55TOTAL NEGATIVE NOS. ARE : 3NOS. ARE : F0 C0 A2c:\TASM>EXIT
;ASSIGNMENT NO.4 :: PROGRAM TO CONVERT HEX TO BCD AND VICE VERSA ; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENTCNT DW 00MSG1 DB 10,13 DB " 1.HEX TO BCD: $"MSG2 DB 10,13 DB "2.BCD TO HEX: $"MSG3 DB 10,13 DB "3.EXIT: $"MSG4 DB 10,13 DB "ENTER THE CHOICE : $"MSG5 DB 10,13 DB "ENTER THE NUMBERS : $"MSG6 DB 10,13 DB "THE BCD NUMBER IS : $"MSG7 DB 10,13 DB "THE HEX NUMBER IS : $"
AND BX,000FH MOV DL,BL ADD DL,30H CMP DL,39H JLE L16 ADD DL,07HL16: PRINT RET BCD ENDP
CODE ENDSEND START
1.HEX TO BCD:2.BCD TO HEX:3.EXIT:ENTER THE CHOICE : 1ENTER THE NUMBERS : FFFFTHE BCD NUMBER IS : 65535
1.HEX TO BCD:2.BCD TO HEX:3.EXIT:ENTER THE CHOICE : 2ENTER THE NUMBERS : 65535THE HEX NUMBER IS : FFFF
1.HEX TO BCD:2.BCD TO HEX:3.EXIT:ENTER THE CHOICE : 3C:\TASM>
;ASSIGNMENT NO.5 :: PROGRAM TO SORT NUMBERS IN ARRAY IN ASC AND DECS ORDER; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENTARR1 DB 10 DUP(0)ARR2 DB 10 DUP(0)MSG1 DB 10,13,'ENTER THE SIZE OF ARRAY :$'MSG2 DB 10,13,'ENTER THE ELEMENTS $'MSG3 DB 10,13,'$'MSG4 DB 10,13,'SORTED ARRAY IS :$'MSG5 DB 10,13,'^^^^^^MENU^^^^^^$'MSG6 DB 10,13,'(1)ASCENDING SORT$'MSG7 DB 10,13,'(2)DESCENDING SORT$'MSG8 DB 10,13,'(3)EXIT$'MSG9 DB 10,13,'ENTER YOUR CHOICE :$'TEMP DB 0CNT DW 0CNT1 DW 0CNT2 DW 0DATA ENDS
READ MACROMOV AH,01HINT 21HENDM
DISP MACRO MSGMOV AH,09HLEA DX,MSGINT 21HENDM
PRINT MACROMOV AH,02HINT 21HENDM
CLEAR MACRO ;FUNCTION FOR CLEAR SCREENMOV AX,0003HINT 10HENDM
ENTER THE SIZE OF ARRAY :5ENTER THE ELEMENTS 33ENTER THE ELEMENTS 22ENTER THE ELEMENTS 11ENTER THE ELEMENTS 44ENTER THE ELEMENTS 00^^^^^^MENU^^^^^^(1)ASCENDING SORT(2)DESCENDING SORT(3)EXITENTER YOUR CHOICE :1SORTED ARRAY IS :0011223344
^^^^^^MENU^^^^^^(1)ASCENDING SORT(2)DESCENDING SORT(3)EXITENTER YOUR CHOICE :2SORTED ARRAY IS :4433221100^^^^^^MENU^^^^^^(1)ASCENDING SORT(2)DESCENDING SORT(3)EXITENTER YOUR CHOICE :3C:\TASM>
;ASSIGNMENT NO.6 :: PROGRAM FOR STRING MANIPULATION; NAME :: SHOEB H SAYYED; ROLL NO :: 31
DATA SEGMENTS DB 20H DB 0 DB 20H DUP(0)ARR DB 20H DUP(0)M1 DB 10,13,'ENTER THE STRING :$'M2 DB 10,13,'LENGTH IS $'M3 DB 10,13,'$'M4 DB 10,13,'********MENU********$'M5 DB 10,13,'1.LENGTH $'M6 DB 10,13,'2.REVERSE $'M7 DB 10,13,'3.PALINDROME $'M8 DB 10,13,'4.EXIT $'M9 DB 10,13,'ENTER YOUR CHOICE $'M10 DB 10,13,'LENGTH OF STRING $'M11 DB 10,13,'STRING IS PALINDROME $'M12 DB 10,13,'STRING IS NOT PALINDROME $'
DISP M1 MOV AH,0AH LEA DX,S INT 21H L1: DISP M4 DISP M5 DISP M6 DISP M7 DISP M8 DISP M9 READ L2: CMP AL,31H JNE L3 CALL COUNT JMP L1 L3: CMP AL,32H JNE L4 CALL REV JMP L1 L4: CMP AL,33H JNE L5 CALL PAL JMP L1 L5: CMP AL,34H MOV AH,4CH INT 21H LOOP L1
COUNT PROC ;DISP COUNT LEA SI,S INC SI DISP M2 MOV DL,[SI] ADD DL,30H PRINT RET
COUNT ENDP
DISPS PROC ;DISP STRING MOV CL,[SI] MOV CH,0 INC SI X: MOV DL,[SI] PRINT INC SI LOOP X RET DISPS ENDP
REV PROC DISP M3 LEA SI,ARR LEA DI,S INC DI MOV CL,[DI] MOV CNT,CL G: INC DI LOOP G MOV CL,CNT P: MOV BL,[DI] MOV [SI],BL DEC DI INC SI LOOP P LEA SI,ARR LEA DI,S INC DI MOV CL,[DI] MOV CH,0 C: MOV DL,[SI] PRINT INC SI LOOP C RET REV ENDP
PAL PROC LEA SI,ARR LEA DI,S INC DI MOV CL,[DI] INC DI
V:MOV BL,[DI] CMP [SI],BL JNE A LOOP V DISP M11 JMP O A:DISP M12 O:RET PAL ENDP
MOV AH,4CHINT 21HCODE ENDSEND START
ENTER THE STRING : GSMCOE********MENU********1.LENGTH2.REVERSE3.PALINDROME4.EXITENTER YOUR CHOICE 1LENGTH IS 6********MENU********1.LENGTH2.REVERSE3.PALINDROME4.EXITENTER YOUR CHOICE 2EOCMSG
********MENU********1.LENGTH2.REVERSE3.PALINDROME4.EXITENTER YOUR CHOICE 3STRING IS NOT PALINDROME********MENU********1.LENGTH2.REVERSE3.PALINDROME4.EXITENTER YOUR CHOICE 4C:\TASM>
;PROGRAM FOR STRING OPERATIONS USING FAR PROCEDURE; ROLL NO :: 31
DATA SEGMENTSTR1 DB 25 DB 0 DB 25 DUP(0)STR2 DB 25 DB 0 DB 25 DUP(0)STR3 DB 10 DB 0 DB 10 DUP(0)
MSG1 DB 10,13 DB "Enter the string 1: $ " MSG2 DB 10,13 DB "Enter the string 2: $ "MSG3 DB 10,13 DB "CONCATENATE STRING IS : $ "MSG4 DB 10,13 DB "STRINGS ARE EQUAL$"MSG5 DB 10,13 DB "STRINGS ARE UNEQUAL $"MSG7 DB 10,13 DB "1> CONCATENATE $"MSG8 DB 10,13 DB "2> COMPARE THE STRINGS $"MSG9 DB 10,13 DB "3> NO. OF OCCURENCES OF SUBSTRING $"MSG10 DB 10,13 DB "4> Exit $"MSG11 DB 10,13 DB "Enter your choice $"MSG12 DB 10,13 DB "Enter the substring $"MSG15 DB 10,13 DB "$"MSG16 DB 10,13 DB "THE SUBSTRING OCCURES :$"
CNT1 DW ?DATA ENDS
DISP MACRO MSG ;DISPLAY STRING FUNCTIONMOV AH,09H
LEA DX,MSGINT 21HENDM
PRINT MACRO ;DISPLAY FUNTIONMOV AH,02HINT 21HENDM
READ MACRO ;ENTER NUMBER FUNCTIONMOV AH,01HINT 21HENDM
CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX ;Initialize data segment MOV ES,AX ;Initialize extra segment
CLEAR
DISP MSG1 MOV AH,0AH ;Accept string 1 from user LEA DX,STR1 INT 21H
DISP MSG2 MOV AH,0AH ;Accept string 2 from user LEA DX,STR2 INT 21H
MENU: DISP MSG7 DISP MSG8 DISP MSG9
DISP MSG10 DISP MSG11 MOV AH,01H ;accept choice INT 21H CMP AL,30H JE TER CMP AL,31H JE CONC CMP AL,32H JE CHEK CMP AL,33H JE SUBSTRING CMP AL,34H JE TER JMP MENU
TER : EXIT;CONC : CALL CONCAT; JMP MENU;CHEK : CALL VERIFY; JMP MENU;SUBSTRING : CALL SUBSTRING; JMP MENU
CONC:LEA SI,STR1 INC SI MOV CH,00H MOV CL,[SI]B: INC SI DEC CL CMP CL,00H JNE B INC SI LEA DI,STR2 INC DI MOV CH,00H MOV CL,[DI] INC DIC: MOV BL,[DI] MOV [SI],BL INC DI INC SI DEC CL
CMP CL,00H JNE C DEC SI MOV BX,SI MOV CL,BL MOV CH,00H DISP MSG3 LEA SI,STR1 INC SI INC SID: MOV BL,[SI] MOV DL,BL PRINT INC SI DEC CL JNE D JMP MENU
CHEK:LEA SI,STR1 INC SI MOV CH,00H MOV CL,[SI] MOV BL,CL LEA DI,STR2 INC DI MOV CH,00H MOV CL,[DI] CMP BL,CL JE L1 DISP MSG5 JMP MENUL1: DISP MSG4 JMP MENU
SUBSTRING: DISP MSG12 MOV AH,0AH ;ACCEPT SUBSTRING FROM USER LEA DX,STR3 INT 21H MOV AL,00H
LEA SI,STR1 INC SI MOV CH,00H MOV CL,[SI] INC SI
BACK1: LEA DI,STR3 INC DI MOV DH,00H MOV DL,[DI] INC DI
BACK: MOV BL,[SI] MOV BH,[DI] CMP CL,00H JE T1 CMP DL,00H JNE L2 ADD AL,01H JMP BACK1
Enter the string 1: MAMAMAEnter the string 2: SASASA1> CONCATENATE2> COMPARE THE STRINGS3> NO. OF OCCURENCES OF SUBSTRING4> ExitEnter your choice 1CONCATENATE STRING IS : MAMAMASASASA1> CONCATENATE2> COMPARE THE STRINGS3> NO. OF OCCURENCES OF SUBSTRING4> ExitEnter your choice 2STRINGS ARE EQUAL1> CONCATENATE2> COMPARE THE STRINGS3> NO. OF OCCURENCES OF SUBSTRING4> ExitEnter your choice 3Enter the substring ASTHE SUBSTRING OCCURES :01> CONCATENATE2> COMPARE THE STRINGS3> NO. OF OCCURENCES OF SUBSTRING4> ExitEnter your choice 3Enter the substring MAMTHE SUBSTRING OCCURES :11> CONCATENATE2> COMPARE THE STRINGS3> NO. OF OCCURENCES OF SUBSTRING4> ExitEnter your choice 4
; ASSIGNMENT NO 8 ; NAME SHOEB H SAYYED; ROLL NO 31
DATA SEGMENTMSG1 DB 10,13 DB " 1.SUCCESSIVE ADDITION $"MSG2 DB 10,13 DB "2.SHIFTING METHOD $"MSG3 DB 10,13 DB "3.EXIT$"MSG4 DB 10,13 DB "ENTER THE CHOICE : $"MSG5 DB 10,13 DB "ENTER THE NUMBER 1 : $"MSG6 DB 10,13 DB "ENTER THE NUMBER 2 : $"MSG7 DB 10,13 DB "THE RESULT IS : $"
;****************************************************************************;; TITLE : IMPLIMENTATION OF REAL TIME CLOCK; NAME : SHOEB H SAYYED; ROLL NO : 31;;****************************************************************************
.MODEL TINY
.CODEORG 100HBEGIN:JMP INITSAVEINT08 DD 00COL DB 140HOUR DB ?MINUTE DB ?SECOND DB ?TSRALARM:PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIPUSH ESPUSH SSPUSH DSPUSH CSPOP DSMOV AH,02HINT 1AHMOV HOUR,CHMOV MINUTE,CLMOV SECOND,DHCALL DISP
EXIT:POP DSPOP SSPOP ESPOP DIPOP SI
POP DXPOP CXPOP BXPOP AXJMP DWORD PTR CS:SAVEINT08
C:\TASM>TLINK /T ASSI10,ASSI10.COMTurbo Link Version 5.0 Copyright (c) 1992 Borland InternationalFatal: Unknown option
C:\TASM>ASSI10
C:\TASM>
;****************************************************************************;; TITLE : IMPLIMENTATION OF SCREENSAVER; NAME : SHOEB H SAYYED; ROLL NO : 31;;****************************************************************************
.MODEL TINY
.CODEORG 100HSTART:JMP INITSAVEINT09 DD ?SAVEINT08 DD ?COUNT DB ?
MSG DB 'SCREENSAVER'TSR: PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH ES PUSH SS PUSH DS PUSH CS POP DS
INC COUNT CMP COUNT,91 JNE EXIT
MOV AH,05H MOV AL,01H INT 10H CALL DISP
EXIT: POP DS POP SS POP ES
POP DI POP SI POP DX POP CX POP BX POP AX JMP DWORD PTR CS:SAVEINT08 TSRKEY: PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH ES PUSH SS PUSH DS PUSH CS POP DS
MOV COUNT,00 MOV AH,05H MOV AL,00 INT 10H POP DS POP SS POP ES POP DI POP SI POP DX POP CX POP BX POP AX JMP DWORD PTR CS:SAVEINT09 DISP PROC MOV AX,0B800H MOV ES,AX MOV DI,1144H MOV AH,03H MOV CX,11 LEA SI,MSG
L1:MOV BL,DS:[SI] MOV ES:[DI],BL MOV ES:[DI+1],AH
ADD DI,2 INC SI LOOP L1 RET DISP ENDP
INIT:CLI MOV COUNT,00 MOV AH,35H MOV AL,08H INT 21H MOV WORD PTR SAVEINT08,BX MOV WORD PTR SAVEINT08+2,ES MOV AH,25H MOV AL,08H LEA DX,TSR INT 21H MOV AH,35H MOV AL,09H INT 21H MOV WORD PTR SAVEINT09,BX MOV WORD PTR SAVEINT09+2,ES MOV AH,25H MOV AL,09 LEA DX,TSRKEY INT 21H MOV AH,31H MOV AL,01 LEA DX,INIT LEA BX,TSR SUB DX,BX STI INT 21H END START
C:\Documents and Settings\PRASAD>CD\
C:\>CD TASM
C:\TASM>EDIT
C:\TASM>TASM ASSI11.ASMTurbo Assembler Version 3.0 Copyright (c) 1988, 1991 Borland International