Section 1: C Programming Lab

Size: px
Start display at page:

Download "Section 1: C Programming Lab"

Transcription

1 Course Code : MCSL-017 Course Title : C and Assembly Language Programming (Lab Course) Assignment Number : MCA(1)/015/Assignment/17-18 Maximum Marks : 100 Weightage : 25% Last Dates for Submission : 15th October, 2017 (For July 2017 Session) : 15th April, 2018 (For January 2018 Session) Section 1: C Programming Lab 1. Write an interactive program in C language to create an application program for a small office to maintain the employees database. This application should be having menu options like Creating a New Record Reading/Listing of Records Modify the record Delete the record Each employee record should have Employee Name, Employee ID, Department Name, Salary, Position, Date of Joining, etc). The application should be designed user-friendly. Note: You must execute the program and submit the program logic, sample input and output along with the necessary documentation for this question. Assumptions can be made wherever necessary. Ans: Section 1: C Programming Lab Structure is a user-defined data type in C which allows you to combine different data types to store a particular type of record. Structure helps to construct a complex data type in more meaningful way. It is somewhat similar to an Array. The only difference is that array is used to store collection of similar datatypes while structure can store collection of any type of data. Structure is used to represent a record. Suppose you want to store record of Student which consists of student name, address, roll number and age. You can define a structure to hold this information. Array of Structure: We can declare an array of structure. Each element of the array representing a structure variable. Example : struct employee emp[5];

2 #include <stdio.h> #include <stdlib.h> #include <string.h> #define size 200 struct emp int emp_id; char *emp_name; char *Dept_name; float Salary; char *Pos; int Date; *emp1, *emp3; void create(); void display(); void update(); void delete(); FILE *fp, *fp1; int count = 0; void main(int argc, char **argv) int i, n, ch; printf("1] Create a Record\n"); printf("2] Display Records\n"); printf("3] Update Records\n"); printf( 4] Delete Records\n ); printf("4] Exit"); while (1) printf("\nenter your choice : "); scanf("%d", &ch); switch (ch) case 1: fp = fopen(argv[1], "a"); create(); break; case 2: fp1 = fopen(argv[1],"rb"); display();

3 break; case 3: fp1 = fopen(argv[1], "r+"); update(); break; case 4: exit(0); /* To create an employee record */ void create() int i; char *p; emp1 = (struct emp *)malloc(sizeof(struct emp)); emp1->emp_name = (char *)malloc((size)*(sizeof(char))); emp1 = (struct emp *)malloc(sizeof(struct emp)); emp1->dept_name = (char *)malloc((size)*(sizeof(char))); emp1 = (struct emp *)malloc(sizeof(struct emp)); emp1->pos = (char *)malloc((size)*(sizeof(char))); printf("enter name of employee : "); scanf(" %[^\n]s", emp1-> emp_name); printf("enter emp id : "); scanf(" %d", &emp1-> emp_id); printf("enter name of the Department: "); scanf(" %[^\n]s", emp1-> Dept_name); printf("enter Salary : "); scanf(" %d", &emp1-> Salary); printf("enter Position: "); scanf(" %[^\n]s", emp1-> Pos); printf("enter Date of Joining : "); scanf(" %d", &emp1->date); fwrite(&emp1->emp_id, sizeof(emp1->emp_id), 1, fp); fwrite(emp1->emp_name, size, 1, fp); fwrite(&emp1->dept_name, sizeof(emp1-> Dept_name), 1, fp); fwrite(emp1-> Dept_name, size, 1, fp);

4 fwrite(&emp1-> salary, sizeof(emp1-> salary), 1, fp); fwrite(emp1-> salary, size, 1, fp); fwrite(&emp1->pos, sizeof(emp1-> Pos), 1, fp); fwrite(emp1-> Pos, size, 1, fp); fwrite(&emp1->date, sizeof(emp1-> Date), 1, fp); fwrite(emp1-> Date, size, 1, fp); count++; // count to number of entries of records fclose(fp); /* Display the records in the file */ void display() emp3=(struct emp *)malloc(1*sizeof(struct emp)); emp3->emp_name=(char *)malloc(size*sizeof(char)); int i = 1; if (fp1 == NULL) printf("\nfile not opened for reading"); while (i <= count) fread(&emp3->emp_id, sizeof(emp3->emp_id), 1, fp1); fread(emp3->emp_name, size, 1, fp1); printf("\n%d %s",emp3->emp_id,emp3->emp_name); i++; fclose(fp1); free(emp3->emp_name); free(emp3); void update() int id, flag = 0, i = 1; char s[size]; if (fp1 == NULL) printf("file cant be opened"); return; printf("enter employee id to update : "); scanf("%d", &id); emp3 = (struct emp *)malloc(1*sizeof(struct emp)); emp3->emp_name=(char *)malloc(size*sizeof(char));

5 while(i<=count) fread(&emp3->id, sizeof(emp3->emp_id), 1, fp1); fread(emp3->emp_name,size,1,fp1); if (id == emp3->emp_id) printf("enter new name of emplyee to update : "); scanf(" %[^\n]s", s); fseek(fp1, -204L, SEEK_CUR); fwrite(&emp3->emp_id, sizeof(emp3->id), 1, fp1); fwrite(s, size, 1, fp1); flag = 1; break; i++; if (flag!= 1) printf("no employee record found"); flag = 0; fclose(fp1); free(emp3->name); /* to free allocated memory */ free(emp3); $ a.out emprec1 1] Create a Record 2] Display Records 3] Update Records 4] Delete Record 5] Exit Enter your choice : 1 Enter name of employee : aaa Enter emp id : 100 Enter the name of the Department : Accounting Enter Salary : Enter Position: Audit manager Enter Date of Joining: 10/3/2015 Enter your choice : 1 Enter name of employee : Ram Enter emp id : 101 Enter the name of the Department : Management

6 Enter Salary : Enter Position: Manager Enter Date of Joining: 12/3/2015 Enter Your Choice : 1 Enter name of employee : Shyam Enter emp id : 105 Enter the name of the Department : Management Enter Salary : Enter Position: Junior Manager Enter Date of Joining: 10/4/2015 Enter your choice : 4 Section 2: Assembly Language Programming Lab 1. a) Write a program in assembly language to swap two numbers. Ans: DATA SEGMENT A DB 50H B DB 60H DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,A MOV AH,B MOV BL,AL MOV AL,AH MOV AH,BL MOV A,AL MOV B,AH MOV AX,4C00H INT 21H

7 CODE ENDS END START OUTPUT *********** BEFOR ax 0000 bx 0000 AFTER ax 06C1 bx CD36 b) Write a program in assembly language to check whether a number is even or odd. Ans: DATA SEGMENT X DW 27H MSG1 DB 19,13,'NUMBER IS EVEN$' MSG2 DB 10,13,'NUMBER IS ODD$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,X TEST AX,01H JNZ EXIT LEA DX,MSG1 MOV AH,09H INT 21H JMP LAST ;Test for Even/Odd number. ;If it is Even go to Exit label.

8 c) Write a program in assembly language to load a byte in memory location 8000H and increment the contents of the memory location. Ans: Program 1: MVI A, 32H : Store 32H in the accumulator STA 4000H : Copy accumulator contents at address 4000H HLT : Terminate program execution Program 2: LXI H : Load HL with 4000H MVI M : Store 32H in memory location pointed by HL register pair (4000H) HLT : Terminate program execution d) Write a program in assembly language to reverse a given number. Ans: INCLUDE io.h Cr EQU 0ah Lf EQU 0dh data SEGMENT p_num DB cr, lf, 'Enter a number: ',0 p_rev DB cr, lf,'the reverse is: ',0 ten DW? tmpstr DW 40 DUP (?) data ENDS code SEGMENT ASSUME cs:code, ds:data start: mov ax, data mov ds, ax ;input the number output p_num inputs tmpstr, 10 atoi tmpstr ;initialize mov cx, 00h;stores the reverse number mov ten, 10

9 ;iterate to reverse digits next: cmp ax, 0 jz op_rev;exit the loop if number=0 cwd idiv ten;to extract units digit mov bx, dx;to save contents of dx xchg ax, cx;to perform multiplication imul ten;to insert units digit add ax, bx;add the acutal units digit xchg ax, cx;save the reverse number back jmp next ;output the reverse op_rev: output p_rev itoa tmpstr, cx output tmpstr quit: mov al, 00h mov ah, 4ch int 21h code ENDS END start

Experiment 3 3 Basic Input Output

Experiment 3 3 Basic Input Output Experiment 3 3 Basic Input Output Introduction The aim of this experiment is to introduce the use of input/output through the DOS interrupt. Objectives: INT Instruction Keyboard access using DOS function

More information

THE BAPATLA ENGINEERING COLLEGE:: BAPATLA DEPARTMENT OF MCA. Subject name: C programing Lab. Subject code: MCA 107. LAB manual of c programing lab

THE BAPATLA ENGINEERING COLLEGE:: BAPATLA DEPARTMENT OF MCA. Subject name: C programing Lab. Subject code: MCA 107. LAB manual of c programing lab THE BAPATLA ENGINEERING COLLEGE:: BAPATLA DEPARTMENT OF MCA Subject name: C programing Lab Subject code: MCA 107 LAB manual of c programing lab 1. Write a C program for calculating compound interest. #include

More information

Q1: Define a character string named CO_NAME containing "Internet Services" as a constant?

Q1: Define a character string named CO_NAME containing Internet Services as a constant? CS 321 Lab Model Answers ١ First Lab : Q1: Define a character string named CO_NAME containing "Internet Services" as a constant? ANS: CO_NAME EQU ' Internet Services' Q2: Define the following numeric values

More information

Q1: Define a character string named CO_NAME containing "Internet Services" as a constant?

Q1: Define a character string named CO_NAME containing Internet Services as a constant? CS 321 Lab Model Answers ١ First Lab : Q1: Define a character string named CO_NAME containing "Internet Services" as a constant? ANS: CO_NAME EQU ' Internet Services' Q2: Define the following numeric values

More information

Experiment N o 3 Segmentation and Addressing Modes

Experiment N o 3 Segmentation and Addressing Modes Introduction: Experiment N o 3 Segmentation and Addressing Modes In this experiment you will be introduced to physical segmentation of the memory, and the logical segmentation of programs. You will also

More information

Assignment no:4 on chapter no :3 : Instruction set of 8086

Assignment no:4 on chapter no :3 : Instruction set of 8086 Assignment no:4 on chapter no :3 : Instruction set of 8086 1) Describe any two string operation instruction of 8086 with syntax & one example of each. 1] REP: REP is a prefix which is written before one

More information

.code. lea dx,msg2. Page 1/8. Problem 1: Programming in Assembly [25 Points]

.code. lea dx,msg2. Page 1/8. Problem 1: Programming in Assembly [25 Points] Problem : Programming in Assembly [ Points] The following assembly program is supposed to: receive three integer numbers from the console, call a function, name sort, function sort arranges the three input

More information

Experiment N o 3. Segmentation and Addressing Modes

Experiment N o 3. Segmentation and Addressing Modes Introduction: Experiment N o 3 Segmentation and Addressing Modes In this experiment you will be introduced to physical segmentation of the memory, and the logical segmentation of programs. You will also

More information

ELEC 242 Using Library Procedures

ELEC 242 Using Library Procedures ELEC 242 Using Library Procedures There are a number of existing procedures that are already written for you that you will use in your programs. In order to use the library procedures that come with the

More information

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY

SPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY BACKGROUND Segment The "SEGMENT" and "ENDS" directives indicate to the assembler the beginning and ending of a segment and have the following format label SEGMENT [options] ;place the statements belonging

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING LAB MANUAL. Academic Year: ODD SEMESTER

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING LAB MANUAL. Academic Year: ODD SEMESTER DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING LAB MANUAL Academic Year: 2015-16 ODD SEMESTER Programme (UG/PG) : UG-B.Tech Semester : 03 Course Code Course Title :CS1033 : MICROPROCESSOR & INTERFACING

More information

Subject: Fundamental of Computer Programming 2068

Subject: Fundamental of Computer Programming 2068 Subject: Fundamental of Computer Programming 2068 1 Write an algorithm and flowchart to determine whether a given integer is odd or even and explain it. Algorithm Step 1: Start Step 2: Read a Step 3: Find

More information

Worksheet 4 Basic Input functions and Mathematical Operators

Worksheet 4 Basic Input functions and Mathematical Operators Name: Student ID: Date: Worksheet 4 Basic Input functions and Mathematical Operators Objectives After completing this worksheet, you should be able to Use an input function in C Declare variables with

More information

Chapter 3. Assembly Language Programming with 8086

Chapter 3. Assembly Language Programming with 8086 Chapter 3 Assembly Language Programming with 8086 UNIT - III Assembly Language Programming with 8086- Machine level programs, Machine coding the programs, Programming with an assembler, Assembly Language

More information

Experiment #5. Using BIOS Services and DOS functions Part 1: Text-based Graphics

Experiment #5. Using BIOS Services and DOS functions Part 1: Text-based Graphics Experiment #5 Using BIOS Services and DOS functions Part 1: Text-based Graphics 5.0 Objectives: The objective of this experiment is to introduce BIOS and DOS interrupt service routines to be utilized in

More information

Summer 2003 Lecture 15 07/03/03

Summer 2003 Lecture 15 07/03/03 Summer 2003 Lecture 15 07/03/03 Initialization of Variables In the C (or C++) programming language any variable definition can have an optional initializer for the variable. How and when the initialization

More information

Solution for Data Structure

Solution for Data Structure Solution for Data Structure May 2016 INDEX Q1 a 2-3 b 4 c. 4-6 d 7 Q2- a 8-12 b 12-14 Q3 a 15-18 b 18-22 Q4- a 22-35 B..N.A Q5 a 36-38 b N.A Q6- a 39-42 b 43 1 www.brainheaters.in Q1) Ans: (a) Define ADT

More information

CONTENTS. 1. Display a Message Display a one Digit Number Accept a Character from keyboard and display the character 4

CONTENTS. 1. Display a Message Display a one Digit Number Accept a Character from keyboard and display the character 4 University of Kashmir, North Campus Course Code Course Name Course Instructor MCA-104-DCE Assembly Language Programming Bilal Ahmad Dar CONTENTS 1. Display a Message 2 2. Display a one Digit Number 3 3.

More information

mith College Computer Science CSC231 - Assembly Week #4 Dominique Thiébaut

mith College Computer Science CSC231 - Assembly Week #4 Dominique Thiébaut mith College Computer Science CSC231 - Assembly Week #4 Dominique Thiébaut dthiebaut@smith.edu Homework Solutions Outline Review Hexdump Pentium Data Registers 32-bit, 16-bit and 8-bit quantities (registers

More information

8086 Assembly Language Programming

8086 Assembly Language Programming of 28 7/6/2018 1:10 PM Tuesday, June 9, 2015 About Me 8086 Assembly Language Programming Assembly Language Programming is a low level programming language which is processor specific. It means it will

More information

Intel 8086: Instruction Set

Intel 8086: Instruction Set IUST-EE (Chapter 6) Intel 8086: Instruction Set 1 Outline Instruction Set Data Transfer Instructions Arithmetic Instructions Bit Manipulation Instructions String Instructions Unconditional Transfer Instruction

More information

INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI

INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI 8 Unsigned and Signed Integer Numbers 1. Unsigned integer numbers: each type of integer can be either byte-wide or word-wide. This data type can be used to represent decimal numbers in the range 0 through

More information

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function CMPT 127 Spring 2019 Grade: / 20 First name: Last name: Student Number: Lab Exam 1 D400 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return -1? Answer:

More information

EC 333 Microprocessor and Interfacing Techniques (3+1)

EC 333 Microprocessor and Interfacing Techniques (3+1) EC 333 Microprocessor and Interfacing Techniques (3+1) Lecture 6 8086/88 Microprocessor Programming (Arithmetic Instructions) Dr Hashim Ali Fall 2018 Department of Computer Science and Engineering HITEC

More information

CS-202 Microprocessor and Assembly Language

CS-202 Microprocessor and Assembly Language CS-202 Microprocessor and Assembly Language Lecture 2 Introduction to 8086 Assembly Language Dr Hashim Ali Spring - 2019 Department of Computer Science and Engineering HITEC University Taxila!1 Lecture

More information

UNIVERSITY OF CALIFORNIA, RIVERSIDE

UNIVERSITY OF CALIFORNIA, RIVERSIDE Final Page 1 of 7 UNIVERSITY OF CALIFORNIA, RIVERSIDE Computer Science Department CS61 Machine Organization & Assembly Language Final September 1, 2000 53 Name: Solution Key Student ID#: Please print legibly

More information

Microprocessor. By Mrs. R.P.Chaudhari Mrs.P.S.Patil

Microprocessor. By Mrs. R.P.Chaudhari Mrs.P.S.Patil Microprocessor By Mrs. R.P.Chaudhari Mrs.P.S.Patil Chapter 1 Basics of Microprocessor CO-Draw Architecture Of 8085 Salient Features of 8085 It is a 8 bit microprocessor. It is manufactured with N-MOS technology.

More information

db "Please enter up to 256 characters (press Enter Key to finish): ",0dh,0ah,'$'

db Please enter up to 256 characters (press Enter Key to finish): ,0dh,0ah,'$' PA4 Sample Solution.model large.stack 100h.data msg1 db "This programs scans a string of up to 256 bytes and counts the repetitions of the number 4206 and sums them.",0dh,0ah,'$' msg2 db "Please enter

More information

CSCI516: Program 1 - October 11, 2010 The Program is due: October 25, 2010 in the beginning of the class

CSCI516: Program 1 - October 11, 2010 The Program is due: October 25, 2010 in the beginning of the class CSCI516: Program 1 - October 11, 2010 The Program is due: October 25, 2010 in the beginning of the class For Late Submissions 10 out of 100 points will be taken off. For your first program, you are to

More information

Experiment #2. Addressing Modes and Data Transfer using TASM

Experiment #2. Addressing Modes and Data Transfer using TASM 2.0 Objective Experiment #2 Addressing Modes and Data Transfer using TASM The objective of this experiment is to learn various addressing modes and to verify the actions of data transfer. 2.1 Introduction

More information

Lecture (06) x86 programming 5

Lecture (06) x86 programming 5 Lecture (06) x86 programming 5 By: Dr. Ahmed ElShafee 1 TOC Format of DOS programs Format of the.com programs Addressing Modes 1> Immediate Addressing Mode 2> Register Addressing Mode 3> Direct Addressing

More information

RMV ELECTRONICS INC. Application Note:

RMV ELECTRONICS INC. Application Note: RMV ELECTRONICS INC. Application Note: Application #: 00002 Date: September 1994 Description: High Speed Serial Communications Between the PC and the Status: Draft Version ITC232-A. The ITC232-A is capable

More information

reply db y prompt db Enter your favourite colour:, 0 colour db 80 dup(?) i db 20 k db? num dw 4000 large dd 50000

reply db y prompt db Enter your favourite colour:, 0 colour db 80 dup(?) i db 20 k db? num dw 4000 large dd 50000 Declaring Variables in Assembly Language As in Java, variables must be declared before they can be used Unlike Java, we do not specify a variable type in the declaration in assembly language Instead we

More information

Programming in Assembler. Laboratory manual. Exercise 3

Programming in Assembler. Laboratory manual. Exercise 3 Zakład Mikroinformatyki i Teorii Automatów Cyfrowych Programming in Assembler Laboratory manual Exercise 3 Simple MS-DOS program assembling and debugging 2008,2011 Krzysztof Tokarz, Piotr Czekalski (edt.)

More information

Week /8086 Microprocessor Programming I

Week /8086 Microprocessor Programming I Week 4 8088/8086 Microprocessor Programming I Example. The PC Typewriter Write an 80x86 program to input keystrokes from the PC s keyboard and display the characters on the system monitor. Pressing any

More information

Assembly Language Lab #5

Assembly Language Lab #5 Islamic University of Gaza Computer Engineering Department 2009 Assembly Language Lab #5 Eng. Tahani Z. Fourah Islamic University of Gaza Lab 5 Addressing Modes The addressing modes are different ways

More information

Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11]

Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11] Q. State and Explain steps involved in program development. [w-08, w-10, s-12, w-11] Answer: 1. Defining Problem 2. Algorithm 3. Flowchart 4. Initialization of checklist 5. Choosing instructions 6. Converting

More information

Objectives. Saving Interrupt Vectors. Writing a Custom Interrupt Handler. Examples of use of System functions for Input-Output and Interrupts

Objectives. Saving Interrupt Vectors. Writing a Custom Interrupt Handler. Examples of use of System functions for Input-Output and Interrupts ICT106 Fundamentals of Computer Systems Week 11 Practical Examples of use of System functions for Input-Output and Interrupts Objectives To illustrate how to write interrupt service routine (ISR) for Intel

More information

Scheme G. Sample Test Paper-I. Course Name : Computer Engineering Group Course Code : CO/CD/CM/CW/IF Semester : Second Subject Tile : Programming in C

Scheme G. Sample Test Paper-I. Course Name : Computer Engineering Group Course Code : CO/CD/CM/CW/IF Semester : Second Subject Tile : Programming in C Sample Test Paper-I Marks : 25 Time:1 Hrs. Q1. Attempt any THREE 09 Marks a) State four relational operators with meaning. b) State the use of break statement. c) What is constant? Give any two examples.

More information

5. Using Signed Numbers and Look-up Tables

5. Using Signed Numbers and Look-up Tables 5. Using Signed Numbers and Look-up Tables Macro Library for BIOS and DOS Services (save as exp5.inc) ; ASCII code for carriage return CR equ 0Dh ; ASCII code for line feed LF equ 0Ah al2asc macro buffer

More information

ELEC VIDEO BIOS ROUTINES

ELEC VIDEO BIOS ROUTINES It is less confusing to the user if we remove unnecessary messages from the display before giving information or instructions. At the command prompt, we do this with the DOS command CLS. However, this

More information

IBM PC Hardware CPU 8088, Pentium... ALU (Arithmetic and Logic Unit) Registers. CU (Control Unit) IP.

IBM PC Hardware CPU 8088, Pentium... ALU (Arithmetic and Logic Unit) Registers. CU (Control Unit) IP. IBM PC Hardware CPU 8088, 8086 80286 80386 80486 Pentium... ALU (Arithmetic and Logic Unit) Registers CU (Control Unit) IP Memory ROM BIOS I/O RAM OS Programs Video memory BIOS data Interrupt Vectors Memory

More information

Example: Structure, Union. Syntax. of Structure: struct book { char title[100]; char author[50] ]; float price; }; void main( )

Example: Structure, Union. Syntax. of Structure: struct book { char title[100]; char author[50] ]; float price; }; void main( ) Computer Programming and Utilization ( CPU) 110003 Structure, Union 1 What is structure? How to declare a Structure? Explain with Example Structure is a collection of logically related data items of different

More information

Assembly language Programming

Assembly language Programming Assembly language Programming Applications With out the assembly language programming microprocessor can not works. Instructions are the patterns which is require by the microprocessor to done any task.

More information

Week /8086 Microprocessor Programming

Week /8086 Microprocessor Programming Week 5 8088/8086 Microprocessor Programming Multiplication and Division Multiplication Multiplicant Operand Result (MUL or IMUL) (Multiplier) Byte * Byte AL Register or memory Word * Word AX Register or

More information

DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING. Year & Sem : II & III. Name of the Subject: MC-9238 Microprocessor Lab Branch : MCA

DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING. Year & Sem : II & III. Name of the Subject: MC-9238 Microprocessor Lab Branch : MCA DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING Year & Sem : II & III Name of the Subject: MC-9238 Microprocessor Lab Branch : MCA HOW TO WORK IN 8086: Press asm twice. Type sg 0000 Press enter Type

More information

Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs

Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs Video processing The INT instruction enables program to interrupt its own processing. Use INT instruction to handle inputs and outputs INT 10H: screen handling INT 21H: for displaying screen output and

More information

Matrix Multiplication in 8085

Matrix Multiplication in 8085 Matrix Multiplication in 8085 Semester Project for B.Tech. (Computer Science & Engineering) by Praneeth A S (UG20110023) & Rohit Yeravothula (UG201110039) Project Guide: Dr. K R Chowdhary Head of Department,

More information

Programs for Assembly Language Programming

Programs for Assembly Language Programming ;Program to print lower case alphabets.stack 100 mov dl, 'a' mov cl, 26 print: mov ah, 02h inc dl loop print mov ah, 4ch Programs for Assembly Language Programming ;Program to printf upper case alphabets.stack

More information

Computer Systems Lecture 9

Computer Systems Lecture 9 Computer Systems Lecture 9 CPU Registers in x86 CPU status flags EFLAG: The Flag register holds the CPU status flags The status flags are separate bits in EFLAG where information on important conditions

More information

Project 1: How to Make One Dollar

Project 1: How to Make One Dollar Project Objective: Project 1: How to Make One Dollar Posted: Wednesday February 16, 2005. Described: Thursday February 17, 2005. Due: 11:59PM, Sunday March 6, 2005. 1. get familiar with the process of

More information

Fundamentals of Programming. Lecture 10 Hamed Rasifard

Fundamentals of Programming. Lecture 10 Hamed Rasifard Fundamentals of Programming Lecture 10 Hamed Rasifard 1 Outline File Input/Output 2 Streams and Files The C I/O system supplies a consistent interface to the programmer independent of the actual device

More information

MOV CX,80 MOV CX,100. For example, MOV DI, OFFSET TEXT_STRING ;DI points to the TEXT_STRING in the extra segment ; Byte to be scanned in AL

MOV CX,80 MOV CX,100. For example, MOV DI, OFFSET TEXT_STRING ;DI points to the TEXT_STRING in the extra segment ; Byte to be scanned in AL Q1. Explain briefly the following instructions with examples. (a) IDIV (b)imul (c) SAR (d) SAL (a) IDIV: This instruction is used to divide a signed word by assigned byte, or to divide signed doubleword

More information

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication INTERNAL ASSESSMENT TEST 1 Date : 26/02/2018 Marks: 40 Subject

More information

EE 314 Spring 2003 Microprocessor Systems

EE 314 Spring 2003 Microprocessor Systems EE 314 Spring 2003 Microprocessor Systems Laboratory Project #3 Arithmetic and Subroutines Overview and Introduction Review the information in your textbook (pp. 115-118) on ASCII and BCD arithmetic. This

More information

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program.

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program. Experiment 3 Introduction: In this experiment the students are exposed to the structure of an assembly language program and the definition of data variables and constants. Objectives: Assembly language

More information

Experiment N o 1. 1 Introduction to Assembly Language Programming

Experiment N o 1. 1 Introduction to Assembly Language Programming Experiment N o 1 1 Introduction to Assembly Language Programming Introduction: This experiment introduces the student to assembly language programming. In order to illustrate the basic concepts of assembly

More information

Assembler Programming. Lecture 10

Assembler Programming. Lecture 10 Assembler Programming Lecture 10 Lecture 10 Mixed language programming. C and Basic to MASM Interface. Mixed language programming Combine Basic, C, Pascal with assembler. Call MASM routines from HLL program.

More information

ADVANCE MICROPROCESSOR & INTERFACING

ADVANCE MICROPROCESSOR & INTERFACING VENUS INTERNATIONAL COLLEGE OF TECHNOLOGY Gandhinagar Department of Computer Enggineering ADVANCE MICROPROCESSOR & INTERFACING Name : Enroll no. : Class Year : 2014-15 : 5 th SEM C.E. VENUS INTERNATIONAL

More information

LABORATORY WORK NO. 8 WORKING WITH MACROS AND LIBRARIES

LABORATORY WORK NO. 8 WORKING WITH MACROS AND LIBRARIES LABORATORY WORK NO. 8 WORKING WITH MACROS AND LIBRARIES 1. Object of laboratory Getting used to defining and using macros, procedure defining and using LIB library librarian. 2. Theoretical considerations

More information

Mr. Sapan Naik 1. Babu Madhav Institute of Information Technology, UTU

Mr. Sapan Naik 1. Babu Madhav Institute of Information Technology, UTU 5 Years Integrated M.Sc.(IT) Semester 4 060010402 System Programming Question Bank Unit 1: Introduction 1. Write the decimal equivalent for each integral power of 2 from 2! to 2!". 2. Convert the following

More information

ECOM Computer Organization and Assembly Language. Computer Engineering Department CHAPTER 7. Integer Arithmetic

ECOM Computer Organization and Assembly Language. Computer Engineering Department CHAPTER 7. Integer Arithmetic ECOM 2325 Computer Organization and Assembly Language Computer Engineering Department CHAPTER 7 Integer Arithmetic Presentation Outline Shift and Rotate Instructions Shift and Rotate Applications Multiplication

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST 2 Date : 28/03/2016 Max Marks: 50 Subject & Code : Microprocessor (10CS45) Section: IV A and B Name of faculty: Deepti.C Time: 8:30-10:00 am Note: Answer any complete five questions

More information

Practical Malware Analysis

Practical Malware Analysis Practical Malware Analysis Ch 4: A Crash Course in x86 Disassembly Revised 1-16-7 Basic Techniques Basic static analysis Looks at malware from the outside Basic dynamic analysis Only shows you how the

More information

CSE 505 Lecture 8: Introduction to Assembly Language

CSE 505 Lecture 8: Introduction to Assembly Language Page1 Advantages of Assembly Language Low-level access to the computer Higher speed Total control over CPU (Must know what you are doing in order to make these advantages work) Disadvantages of assembly

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) WINTER 2018 EXAMINATION MODEL ANSWER

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) WINTER 2018 EXAMINATION MODEL ANSWER Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Memory. What is memory? How is memory organized? Storage for variables, data, code etc. Text (Code) Data (Constants) BSS (Global and static variables)

Memory. What is memory? How is memory organized? Storage for variables, data, code etc. Text (Code) Data (Constants) BSS (Global and static variables) Memory Allocation Memory What is memory? Storage for variables, data, code etc. How is memory organized? Text (Code) Data (Constants) BSS (Global and static variables) Text Data BSS Heap Stack (Local variables)

More information

Experiment N o 1. Introduction to Assembly Language Programming

Experiment N o 1. Introduction to Assembly Language Programming Experiment N o 1 Introduction to Assembly Language Programming Introduction: The aim of this experiment is to introduce the student to assembly language programming, and the use of the tools that he will

More information

Kingdom of Saudi Arabia Ministry of Higher Education. Taif University. Faculty of Computers & Information Systems

Kingdom of Saudi Arabia Ministry of Higher Education. Taif University. Faculty of Computers & Information Systems Kingdom of Saudi Arabia Ministry of Higher Education Taif University Faculty of Computers & Information Systems المملكة العربية السعودية وزارة التعليم العالي جامعة الطاي ف آلية الحاسبات ونظم المعلومات

More information

FACULTY OF ENGINEERING LAB SHEET

FACULTY OF ENGINEERING LAB SHEET FACULTY OF ENGINEERING LAB SHEET ECE366: ADVANCED MICROPROCESSORS TRIMESTER (08/09) AM: Real- Mode Programming *Note: On-the-spot evaluation may be carried out during or at the end of the experiment. Students

More information

CSC209H Lecture 3. Dan Zingaro. January 21, 2015

CSC209H Lecture 3. Dan Zingaro. January 21, 2015 CSC209H Lecture 3 Dan Zingaro January 21, 2015 Streams (King 22.1) Stream: source of input or destination for output We access a stream through a file pointer (FILE *) Three streams are available without

More information

Single Dimension Arrays

Single Dimension Arrays ARRAYS Single Dimension Arrays Array Notion of an array Homogeneous collection of variables of same type. Group of consecutive memory locations. Linear and indexed data structure. To refer to an element,

More information

Assembly Language Programming of 8085

Assembly Language Programming of 8085 Assembly Language Programming of 8085 1. Introduction A microprocessor executes instructions given by the user Instructions should be in a language known to the microprocessor Microprocessor understands

More information

struct structure_name { //Statements };

struct structure_name { //Statements }; Introduction to Structure http://www.studytonight.com/c/structures-in-c.php Structure is a user-defined data type in C which allows you to combine different data types to store a particular type of record.

More information

EXAMPLE PROGRAMS 8085

EXAMPLE PROGRAMS 8085 P! EXAMPLE PROGRAMS 8085 Statement:Multiply the 8-bit unsigned number in memory location 2200H by the 8-bit unsigned number in memory location 2201H. Store the 8 least significant bits of the result in

More information

Floating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions

Floating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions Announcements Thursday Extras: CS Commons on Thursdays @ 4:00 pm but none next week No office hours next week Monday or Tuesday Reflections: when to use if/switch statements for/while statements Floating-point

More information

C Sample Code. Nyoman Bogi Aditya Karna Sisfo IMTelkom

C Sample Code. Nyoman Bogi Aditya Karna Sisfo IMTelkom Dynamic Array C Sample Code Nyoman Bogi Aditya Karna Sisfo IMTelkom bogi@imtelkom.ac.id http://bogi.blog.imtelkom.ac.id Institut Manajemen Telkom http://www.imtelkom.ac.id /* This program will read the

More information

Midterm Exam Nov 8th, COMS W3157 Advanced Programming Columbia University Fall Instructor: Jae Woo Lee.

Midterm Exam Nov 8th, COMS W3157 Advanced Programming Columbia University Fall Instructor: Jae Woo Lee. Midterm Exam Nov 8th, 2012 COMS W3157 Advanced Programming Columbia University Fall 2012 Instructor: Jae Woo Lee About this exam: - There are 4 problems totaling 100 points: problem 1: 30 points problem

More information

BLDEA S V.P. DR. P.G. HALAKATTI COLLEGE OF ENGINEERING & TECHNOLOGY, VIJAYAPURA

BLDEA S V.P. DR. P.G. HALAKATTI COLLEGE OF ENGINEERING & TECHNOLOGY, VIJAYAPURA EXPERIMENT NO.:- 1. BINARY SEARCH Work Space: Register Used Memory Address Data DI 10000H 11H 10001H 11H 10002H 22H 10003H 22H BX 10004H 33H 10005H 33H 10006H 44H 10007H 44H CX 10008H 55H 10009H 55H 24

More information

IV Unit Second Part STRUCTURES

IV Unit Second Part STRUCTURES STRUCTURES IV Unit Second Part Structure is a very useful derived data type supported in c that allows grouping one or more variables of different data types with a single name. The general syntax of structure

More information

C BOOTCAMP DAY 2. CS3600, Northeastern University. Alan Mislove. Slides adapted from Anandha Gopalan s CS132 course at Univ.

C BOOTCAMP DAY 2. CS3600, Northeastern University. Alan Mislove. Slides adapted from Anandha Gopalan s CS132 course at Univ. C BOOTCAMP DAY 2 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh Pointers 2 Pointers Pointers are an address in memory Includes variable addresses,

More information

CS561 Manju Muralidharan Priya Structures in C CS200 STRUCTURES. Manju Muralidharan Priya

CS561 Manju Muralidharan Priya Structures in C CS200 STRUCTURES. Manju Muralidharan Priya OBJECTIVES: CS200 STRUCTURES Manju Muralidharan Priya By the end of this class you will have understood: 1. Definition of a structure 2. Nested Structures 3. Arrays of structure 4. User defined data types

More information

EXPERIMENT TWELVE: USING DISK FILES

EXPERIMENT TWELVE: USING DISK FILES EXPERIMENT TWELVE: USING DISK FILES INTRODUCTION Because just about any program ever written requires the use of a disk file to store or retrieve data, this experiment shows how to create, read, write,

More information

Hands on Experience for Faculty in Laboratories Phase I JNTUK, Kakinada

Hands on Experience for Faculty in Laboratories Phase I JNTUK, Kakinada Hands on Experience for Faculty in Laboratories Phase I JNTUK, Kakinada Cover page Report Details of College Name of the College College Code and District Name of the Principal Contact No s Lendi Institute

More information

Lecture (08) x86 programming 7

Lecture (08) x86 programming 7 Lecture (08) x86 programming 7 By: Dr. Ahmed ElShafee 1 Conditional jump: Conditional jumps are executed only if the specified conditions are true. Usually the condition specified by a conditional jump

More information

1: /********************************************************** 2: * A

1: /********************************************************** 2: * A 1: /********************************************************** 2: * A simple example to illustrate C and assembly language * 3: * interface. The test function is written in assembly * 4: * language (in

More information

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function

Lab Exam 1 D [1 mark] Give an example of a sample input which would make the function Grade: / 20 Lab Exam 1 D500 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return 0? Answer: Anything that is not a floating point number such as 4.567 or

More information

Ex: Write a piece of code that transfers a block of 256 bytes stored at locations starting at 34000H to locations starting at 36000H. Ans.

Ex: Write a piece of code that transfers a block of 256 bytes stored at locations starting at 34000H to locations starting at 36000H. Ans. INSTRUCTOR: ABDULMUTTALIB A H ALDOURI Conditional Jump Cond Unsigned Signed = JE : Jump Equal JE : Jump Equal ZF = 1 JZ : Jump Zero JZ : Jump Zero ZF = 1 JNZ : Jump Not Zero JNZ : Jump Not Zero ZF = 0

More information

SORTING OF AN ARRAY USING 8086 MICROPROCESSOR

SORTING OF AN ARRAY USING 8086 MICROPROCESSOR EXPT. :09 REG.. : DATE : AIM: SORTING OF AN ARRAY USING 8086 MICROPROCESSOR To write an assembly program for a sorting of an array using 8086 microprocessor. APPARATUS REQUIRED: 8086 MICROPROCESSOR KIT

More information

COP Programming Concepts Spring 1999 CLOSED BOOK Exam #1 100 Points NAME

COP Programming Concepts Spring 1999 CLOSED BOOK Exam #1 100 Points NAME CLOSED BOOK Exam #1 100 Points NAME 1. The following program has (at least) 10 syntax errors. Circle each error. Write the corrected program in the blank space below. 2 points for each error you find.

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Non maskable interrupts are TRAP

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Non maskable interrupts are TRAP Subject Code: 17431 Model Answer Page 1/ 23 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model

More information

Come and join us at WebLyceum

Come and join us at WebLyceum Come and join us at WebLyceum For Past Papers, Quiz, Assignments, GDBs, Video Lectures etc Go to http://www.weblyceum.com and click Register In Case of any Problem Contact Administrators Rana Muhammad

More information

X86 Assembly Language and C Fundamentals. Chapter 5. Data Transfer Instructions. X86 Code Figures

X86 Assembly Language and C Fundamentals. Chapter 5. Data Transfer Instructions. X86 Code Figures 1 X86 Assembly Language and C Fundamentals Chapter 5 Data Transfer Instructions X86 Code Figures 2 Page 200, Figure 5.4 ;swap_bytes.asm ;-----------------------------------------------------------.STACK

More information

Computer Architecture and Assembly Language. Practical Session 3

Computer Architecture and Assembly Language. Practical Session 3 Computer Architecture and Assembly Language Practical Session 3 Advanced Instructions division DIV r/m - unsigned integer division IDIV r/m - signed integer division Dividend Divisor Quotient Remainder

More information

EEM336 Microprocessors I. Data Movement Instructions

EEM336 Microprocessors I. Data Movement Instructions EEM336 Microprocessors I Data Movement Instructions Introduction This chapter concentrates on common data movement instructions. 2 Chapter Objectives Upon completion of this chapter, you will be able to:

More information

C Programming Language: C ADTs, 2d Dynamic Allocation. Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008

C Programming Language: C ADTs, 2d Dynamic Allocation. Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008 C Programming Language: C ADTs, 2d Dynamic Allocation Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008 Overview Row major format 1 and 2-d dynamic allocation struct

More information

United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017

United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes

More information

FACULTY OF ENGINEERING LAB SHEET

FACULTY OF ENGINEERING LAB SHEET FACULTY OF ENGINEERING LAB SHEET ADVANCED MICROPROCESSORS ECE TRIMESTER (0/0) AM: Real- Mode Programming AM: Protected- Mode Programming *Note: On-the-spot evaluation may be carried out during or at the

More information

We will first study the basic instructions for doing multiplications and divisions

We will first study the basic instructions for doing multiplications and divisions MULTIPLICATION, DIVISION AND NUMERICAL CONVERSIONS We will first study the basic instructions for doing multiplications and divisions We then use these instructions to 1. Convert a string of ASCII digits

More information

Memory Organization. 27 December 2016 Pramod Ghimire. Slide 1 of 21

Memory Organization. 27 December 2016 Pramod Ghimire. Slide 1 of 21 Memory Organization Slide 1 of 21 The assembler uses two basic formats for developing software. One method uses memory models and the other uses fullsegment definitions. MASM uses memory models. The TASM

More information