Cs401 Assignment 1 Solution Code:
CS401 Assignment 1 Solution 2018:
[org 0x0100]
jmp start
message: db 'your IDs' ; string to be printed
length: dw 20 ; length of string
clrscr: push es
push ax
push cx
push di
mov ax, 0xb800
mov es, ax ; point es to video
base
xor di, di ; point di to top
left column
mov ax, 0x0720 ; space char in normal
attribute
mov cx, 2000 ; number of screen
locations
cld ; auto
increment mode
repstosw ; clear the whole
screen
pop di
pop cx
pop ax
pop es
ret
; subroutine to print a string
; takes the x position, y position, attribute, address of
string and
; its length as parameters
printstr: push bp
mov bp, sp
push es
push ax
push cx
push si
push di
mov ax, 0xb800
mov es, ax ; point es to video
base
mov al, 80 ; load al with columns
per row
mul byte [bp+10] ; multiply with y position
add ax, [bp+12] ; add x position
shl ax, 1 ; turn into byte
offset
mov di,ax ; point di to required
location
mov si, [bp+6] ; point si to string
mov cx, [bp+4]
; load length of string in
cx
mov ah, [bp+8] ; load attribute in ah
cld ; auto increment
mode
nextchar: lodsb ; load next char in al
stosw ; print char/attribute
pair
loopnextchar ; repeat for the whole
string
pop di
pop si
pop cx
pop ax
pop es
pop bp
ret 10
start: call clrscr ; call the clrscr subroutine
mov ax, 10
push ax ; push x position
mov ax, 15
push ax ; push y position
mov ax, 0x12 ; blue on black attribute
push ax ; push attribute
mov ax, message
push ax ; push address of
message
push word [length] ; push message length
callprintstr ; call the printstr
subroutine
mov ax, 0x4c00 ; terminate program
int 0x21
Note: CS401 Assignment 1 Solution 2018 Make Sure By Run This Code
Note: CS401 Assignment 1 Solution 2018 Make Sure By Run This Code
No comments:
Post a Comment