Monday, 18 July 2016

Write a program in assembly language(8086) to matching two strings of same length stored in memory locations.


DATA SEGMENT
        PASSWORD DB 'FAILSAFE'
        DESTSTR DB 'FEELSAFE'
        MESSAGE DB 'String are equal $'
DATA ENDS
CODE SEGMENT
        ASSUME CS:CODE, DS:DATA, ES:DATA
        MOV AX, DATA
        MOV DS, AX
        MOV ES, AX
        LEA SI, PASSWORD
        LEA DI, DESTSTR
        MOV CX, 08
        CLD

        REPE CMPSB
        JNE NOTEQUAL
        MOV AH, 09
        MOV DX, OFFSET MESSAGE
        INT 21h
NOTEQUAL:
        MOV AX, 4C00h
        INT 21h
CODE ENDS
END


Write a program in assembly language(8086) to convert an ASCII input to equivalent hex digit that it represents.


DATA SEGMENT
        ASCII DB 39h
DATA ENDS
CODE SEGMENT
        ASSUME CS:CODE, DS:DATA
START:
        MOV AX, DATA
        MOV DS, AX
        MOV AL, ASCII

        CMP AL, 30h
        JB ERROR
        CMP AL, 3Ah
        JB NUMBER
        CMP AL, 41h

        JB ERROR
        CMP AL, 46h
        JA ERROR
        SUB AL, 37h
        JMP CONVERTED
NUMBER:
        SUB AL, 30h
        JMP CONVERTED
ERROR:
        MOV AL, 0FFh
CONVERTED:
        MOV AX, 4C00h
        INT 21h
CODE ENDS
END START

Write a program in assembly language(8086) to convert the ASCII code to its BCD equivalent.


CODE SEGMENT
        ASSUME CS:CODE
START:
        MOV BL,'5'
        MOV AL,'9'
        AND BL,0Fh
        AND AL,0Fh
        MOV CL,04h
        ROL BL,CL
        OR AL,BL
CODE ENDS
END START

Write a program in assembly language(8086) to find the average of two values stored in memory locations named FIRST and SECOND.


DATA SEGMENT
        FIRST DB 90h
        SECOND DB 78h
        AVGE DB ?
DATA ENDS
CODE SEGMENT
        ASSUME CS:CODE, DS:DATA
START:
        MOV AX, DATA
        MOV DS, AX
        MOV AL, FIRST
        ADD AL, SECOND
        MOV AH, 00h
        ADC AH, 00h
        MOV BL, 02h
        DIV BL
        MOV AVGE, AL
CODE ENDS
END START

Write a program in assembly language(8086) for interchanging the values of two Memory locations.


DATA SEGMENT
        VALUE1 DB 0Ah
        VALUE2 DB14h
DATA ENDS
CODE SEGMENT
        ASSUME CS:CODE, DS:DATA
        MOV AX, DATA
        MOV DS, AX
        MOV AL, VALUE1
        XCHG VALUE2,AL
        MOV VALUE1,AL
        INT 21h
CODE ENDS
END

Write a program in assembly language(8085) for sorting some consecutive memories.


ORG 0100H
        MVI E, 05H
LOOP: LXI H, 300H
DCR E
MOV C, E
LOOP1: MOV A, M
INX H
CMP M
JC LOOP3
LOOP2: MOV B, M
MOV M, A
DCX H
MOV M, B
        INX H
LOOP3: DCR C
JNZ LOOP1
MOV A, E
CPI 01H
JNZ LOOP
HLT
ORG 0300H
DB 13H, 10H, 60H, 34H, 05H (Here 13H=19, 10H=160, 60H=960, 34H=544 )
END

Write a program in assembly language(8085) wheather a number is even or odd.


.ORG  0100H
MVI  A, 10111110B
RRC
JC L1
MVI B, 00B
JMP L2
L1:MVI B, 01B
L2:HLT

Sunday, 17 July 2016

Write a program in assembly language(8085) to find the largest number among three numbers stored in registers.


ORG 1000H
                MVI A, 00H
                MVI B, 08H
MVI C, 02H
MVI D, 09H

MOV A, B
CMP C
JNC LOOP
MOV A, C
JZ LOOP
LOOP:  CMP D
JC LP1
LP1:    MOV A,D
HLT

Write a program in assembly language(8085) to multiply two 8 bit binary numbers by using ADD instruction.


                ORG 1000H
                MVI A, 00H
                MVI B, 02H
                MVI C, 03H
               MVI D, 00H
LOOP:     ADD B
               DCR C
               JNZ LOOP
               HLT
               END

Write a program in assembly language(8085) to check a number for odd or even parity.


                LXI H, 2000H
MOV A, M
INX H
ORA A
JPE EVEN
MVI M, 00H
HLT
EVEN: MVI M, 0FFH
HLT

Write a program in assembly language(8085) to find out the square root of a number.


                MVI C, 01H
        MVI E, 01H
        MVI A, 09H
LOOP: SUB C
        JZ LOOP1
        INR C
        INR C
        INR E
        JMP LOOP
LOOP1:   MOV A, E
        STA 9000h
        HLT

Write a program in assembly language(8085) to find the sum of first 50 even numbers.


                MVI D, 00H
MVI B, 02H
MVI C, 32H
MVI A, 00H
LOOP:     ADD B
JNC LOOP1
INR D
LOOP1:   INR B
INR B
DCR C
JNZ LOOP
HLT
END

Write a program in assembly language (8085) to convert a Hexadecimal number into its equivalent binary.


ORG 1000H
                MVI A, 09H
MVI B, 08H
LXI H, 0150H
LOOP:    RLC
JC LOOP1
MVI M, 00H
INX H
DCR B
JNZ LOOP
LOOP1: MVI M, 01H
INX H
DCR B
JNZ LOOP
HLT
END

Popular Posts