Write an assembly program to READ YOUR NAME AND DISPLAY IT IN NEWLINE
title read and display name
dosseg
.model small
.stack 100H
.code
main proc
mov ax, @data ; initialize ds register
mov ds, ax
mov ah, 09h ; display message1
mov dx, offset msg1
int 21h
mov ah, 0ah ; read string
mov dx, offset string
int 21h
mov alt, 09h ; your name is
mov dx, offset msg2
int 21h
mov ah, 09h ; string output
mov dx, offset string
int 21h
mov ax, 4C00H ; return to ...
Write an assembly program to REVERSE THE GIVEN DIGITS
title to reverse the given digits
dosseg
.model small
.stack 100H
.code
main proc
mov ax, @data ; initialize ds register
mov ds, ax
mov ax, value1 ; move number to ax
mov cx, 0000h ; remainder r = 0
mov bx, 0010h ; for multiplication by 10h
BACK: mov dx, 0000h ; clear upper 16-bits
div bx ; divide the number ie dx= remainder, ax = quotient
push ax ; push remainder and quotient ...
Write an assembly program to COPY A BLOCK OF DATA FROM ONE MEMORY TO ANOTHER
title copy a block of data from one memory to another
dosseg
.model small
.stack 100H
.code
main proc
mov ax, @data ; initialize ds register
mov ds, ax
mov SI, offset array1 ; source index
mov di, offset array2 ; destination index
mov cx, 06H ; for 6 data ie cx is implicit counter
BACK: mov al, [SI]
mov [di], al ; move [di], [si]
inc si
inc di
loop ...
Write an assembly language program (Intel 8086) to READ A STRING, CONVERT IT INTO UPPER CASE AND FINALLY DISPLAY THE CONVERTED STRING
title ALP to read a string, convert it into upper case and display the converted string
dosseg
.model small
.stack 100H
.code
main proc far
mov ax, @data ; initialize ds register
mov ds, ax
mov ah, 0ah ; read string
lea ax, param
int 21h
mov bx, 00 ; convert to upper string
mov cx, act_len
L2: mov ah, ...
Write an assembly program to CHECK NUMBER OF VOWELS
title check number of vowels
dosseg
.model small
.stack 100H
.code
main proc
mov ax, @data ; initialize ds register
mov ds, ax
mov si, offset string
mov cx, length ; length in cx register
mov bl, 00 ; vowel = 0
BACK: mov al, [si]
cmp al, ‘a’ ; alternatively cmp al, 41h for comparing if al =41h
jb AHEAD ; jump below if al < 41, discard
cmp al, ‘z’ ; convert the character ...
title reverse the given string
dosseg
.model small
.stack 100h
.code
main proc
mov ax, @data
mov ds, ax
mov si, offset string ;load base address of string in si register
mov cx, len ;move length in cx register
add si, cx ;character incrementing ie SI=SI+CX, one character beyond string
dec si
BACK: mov dl, [si] ;display character
mov ah, 2
int 21h
dec si ;decrementing address pointer
loop BACK
mov ax, 4c00h
int 21h
main endp
.data
string db ‘This is an ALP’
len dw $-string
end main
title ALP to count negative (-ve) numbers from a given list
of 10 numbers
dosseg
.model small
.stack 100
.code
main proc
mov ax, @data
mov ds, ax
mov cx, 0ah ;counter of 10
mov si, offset list ;array accessing
mov bl, 00h ;counts -ve numbers
mov al, 07Fh ;largest possible +ve number
BACK: cmp al, si ;compares al and si contents
jnc ahead ;if nc=0, jump ahead
inc bl
AHEAD: inc si ;pointer increment
loop back
mov result, bl
mov ax, 4c00h
INT 21h
main endp
.data
list db 0AFH, 03H, 087H……
result ...
title SUM THE NUMBERS FROM 1-100
dosseg
.model small
.stack 100H
.code
main proc
mov ax, 0
mov cx, 10h ; loop count=10
BACK: add ax, cx ; add two numbers
loop BACK ; repeat until cx=0
mov ax, 4c00h ; return to DOS
int 21h
main endp
end main
Find the largest element in a block of data. The length of block is 0A H. Store the maximum value in memory location result. Use an Assembly Language Program for Intel 8086.
title largest element in a block of data
dosseg
.model small
.stack 100H
.code
main proc
mov ax, @data ; initialize ds register
mov ds, ax
mov cx, OA H ; counter = 10
mov al, 00H ; assume the largest number is 00H
mov SI, offset ...
Objectives
To provide basic architectural and designing concepts of computers. This course gives comprehensive view of basic computer architecture.
1. Central Processing Unit: ( 8 hours)
1.1 Hardwired and Microprogramed
1.2 Arithmetic Logic Unit
1.3 Instruction
1.4 Addressing Modes
1.5 Data transfer and manipulation program control ( status, branch, subroutine call, interrupt )
2. Arithmetic Processor Design: ( 8 hours)
2.2 Addition and Subtraction algorithm
2.3 Multiplication and Division algorithm
2.4 Logical Operation
2.5 Processor Configuration
2.6 Design of Control Unit
3.