CSE 322 Spring 2021 Lab 1

      No Comments on CSE 322 Spring 2021 Lab 1

Task #1

General structure of Assembly code and printing characters.

//Solution
.MODEL small
.STACK 100H
.DATA
.CODE
MAIN PROC
    MOV AH, 2
    MOV DL, 41h
    INT 21h 
    ;For a New line we need to execute the following line  
    MOV AH, 2
    MOV DL, 0dh
    INT 21h
    MOV DL, 0Ah
    INT 21h 
    ;New line ends
    MOV DL, 62h
    INT 21h  
    MOV DL, 63h
    INT 21h  
    MOV DL, 'P'    
    INT 21h 
    
    MOV AH, 4Ch
    INT 21h
    
    
ENDP MAIN     

    END MAIN

Task #2

Input and output of characters

//Solution
.MODEL small
.STACK 100H
.DATA
.CODE
MAIN PROC
    MOV AH, 1
    INT 21h  ;The equivalent ascii is stored in AL
    MOV BL, AL  ; Data is moved to BL
    
    ;Newline
    MOV AH, 2
    MOV DL, 0Dh
    int 21h
    MOV DL, 0Ah
    int 21h
    
    MOV DL, BL   ;Data moved to DL for output
    int 21h

    ;Exit
    MOV AH, 4Ch
    int 21h
    
        
ENDP MAIN     

    END MAIN

Task #3

Printing a string the hard way

//Solution
.MODEL small
.STACK 100H
.DATA
.CODE
MAIN PROC
    MOV AH, 2
    MOV DL, 'H'
    int 21h 
    MOV DL, 'E'
    int 21h 
    MOV DL, 'L'
    int 21h  
    MOV DL, 'L'
    int 21h    
    MOV DL, 'O'
    int 21h
    MOV DL, ' '
    int 21h   
    MOV DL, 'W'
    int 21h   
    MOV DL, 'O'
    int 21h   
    MOV DL, 'R'
    int 21h  
    MOV DL, 'L'
    int 21h    
    MOV DL, 'D'
    int 21h

    ;Exit
    MOV AH, 4Ch
    int 21h
    
        
ENDP MAIN     

    END MAIN

Task #4

Printing a string the easy way

//Solution
.MODEL small
.STACK 100H
.DATA  
str db 'Hello World!',0Dh, 0Ah,'$'
.CODE
MAIN PROC  
    MOV AX, @DATA
    MOV DS, AX
    
    MOV AH, 9
    LEA DX, str
    int 21h   
    
    MOV AH, 2
    MOV DL, '.'
    int 21h

    ;Exit
    MOV AH, 4Ch
    int 21h
    
        
ENDP MAIN     

    END MAIN

Task #5

Uppercase to lower case

//Solution
.MODEL small
.STACK 100H
.DATA  
msg DB 'Enter in uppercase: $'  
msg2 DB  'In lowercase: $'  
crlf DB     0Dh, 0Ah, '$'
.CODE
MAIN PROC                     
    MOV AX, @DATA
    MOV DS, AX
    
    MOV AH, 9
    LEA DX, msg
    int 21h
    
    MOV AH, 1
    int 21h
    MOV BL, AL    
    
    MOV Ah, 9         
    LEA DX, crlf
    int 21h
    LEA DX, msg2
    int 21h
    
    ADD BL, 20h
    MOV AH, 2
    MOV DL, BL
    int 21h
    

    ;Exit
    MOV AH, 4Ch
    int 21h
    
        
ENDP MAIN     

    END MAIN

Task #6

Lowercase to uppercase

//Solution
.MODEL small
.STACK 100H
.DATA  
msg DB 'Enter in lowercase: $'  
msg2 DB  'In uppercase: $'  
crlf DB     0Dh, 0Ah, '$'
.CODE
MAIN PROC                     
    MOV AX, @DATA
    MOV DS, AX
    
    MOV AH, 9
    LEA DX, msg
    int 21h
    
    MOV AH, 1
    int 21h
    MOV BL, AL    
    
    MOV Ah, 9         
    LEA DX, crlf
    int 21h
    LEA DX, msg2
    int 21h
    
    SUB BL, 20h
    MOV AH, 2
    MOV DL, BL
    int 21h
    

    ;Exit
    MOV AH, 4Ch
    int 21h
    
        
ENDP MAIN     

    END MAIN

Task #7

Take 2 input numbers from 0-4 and print the sum of the numbers in new line

//Solution
To be done by students

Leave a Reply

Your email address will not be published. Required fields are marked *