Mic Assingment
Mic Assingment
1. Write the program structure for writing program in assembly language. with suitable
comment
ANSWER:
.MODEL SMALL ; Define memory model
.STACK 100H ; Define stack size
.DATA ; Data segment starts
; Declare variables here
.CODE ; Code segment starts
MAIN PROC ; Main procedure
MOV AX, @DATA
MOV DS, AX ; Initialize data segment
LOOP_ADD:
ADD AX, SERIES[SI]
ADD SI, 2
LOOP LOOP_ADD
MOV RESULT, AX
REVERSE_LOOP:
CMP SI, DI
JGE END_LOOP
INC SI
DEC DI
JMP REVERSE_LOOP
END_LOOP:
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
5. Write an assembly level language program to reverse the string.
ANSWER:
.MODEL SMALL
.STACK 100H
.DATA
STR DB 'HELLO$', 0
LEN EQU $-STR-1
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV SI, 0
MOV DI, LEN-1
REVERSE_LOOP:
CMP SI, DI
JGE END_LOOP
INC SI
DEC DI
JMP REVERSE_LOOP
END_LOOP:
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
6. Write an assembly level language program to count numbers of 1's in 16-bit number
stores in BX register.
ANSWER:
.MODEL SMALL
.STACK 100H
.DATA
BX_VAL DW 0F0Fh
COUNT DB 0
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV CX, 16
MOV BX, BX_VAL
MOV AL, 0
COUNT_LOOP:
SHR BX, 1
JNC SKIP_INC
INC AL
SKIP_INC:
LOOP COUNT_LOOP
MOV COUNT, AL
--------------------------------------E----------------------N-------------------------D--------------------------------