Solved Assighnments
|
AIOU |
Course:Organization and Assembly (3453)
Level: B.S (CS) Semester: Spring, 2015
Total Marks: 100 Pass Marks: 50
ASSIGNMENT No. 1
All questions carry equal marks
Q.4 Explain the following addressing modes of instruction of x86 family of processors with two examples of each:
Q.5 What types of unsigned data representation (with variable) are available in Assembly Language? Write examples of any two of those types.
ASSIGNMENT No. 2
Total Marks: 100 Pass Marks: 50
All questions carry equal marks
Q.1 Explain the usage of registers in MUL and DIV instructions for 8-bit and 16-bit multiplication with a register (say cl/c) is provided as the only operand?
Q.2 Write a sequence of instructions to set and clear the following FLAGS:
Q.3 Explain the difference between LOOP and LOOPE instruction with the help of a program.
Q.4 Will the following code jump to the label named Target (Yes / No)? Explain reason in each.
mov ax, 8109h
camp ax, 26h
Jg Target
add ax, 8000h
Target:
Ans:
No, because the jg is used with signed value and
(8109h is negative, and 26h is positive.)
Q.5 Write a program to sequentially search the array LIST1 of 20 elements of WORD type. Return Index number (count 0 as first index) if search is successful otherwise display a message indicating the absence of a key.
3453 Computer Organization and Assembly Credit Hours: 4 (3 + 1)
Recommended Book: Assembly Language for Intel-Based Computers, 3rdEdition, by Kip R. Irvine
Course Outlines:
Unit # 1 Introduction
c. Introducing Assembly Language
Unit # 2 Hardware and Software Architecture
a. 16-BIT Intel Processor Architecture
Unit #3
Assembly Language Fundamentals
b. Assembling Linking and Debugging
1-Microsoft Assembler (MASM)
d. Symbolic Constants
Unit # 4
Instructions
a. MOV Instruction
Operands with Displacements, XCHG Instruction
b. Arithmetic Instructions
INC and DEC Instructions, ADD Instruction, SUB Instruction, 1 lags Affected by ADD and SUB
c. Basic Operand Types
Register Operands, Immediate Operands, Direct Operands, Direct Offset Operands,
d. Extended Addition and Subtraction
ADC Instruction, SBB Instruction
e. Multiplication and Division
MUL Instruction, IMUL Instruction, DIV Instruction, IDIV Instruction, CBW, CWD, CDQ, and CWDE Instructions, Preventing Divide Overflow
Unit # 5 Using the Assembler.
a. More About the Assembler and Linker ;
Assembling and Linking with MS-DOS Batch Files,
Memory Models,
Target Processor Directives
b. Operators and Expressions
c. IMP and LOOP Instructions
d. Indirect Addressing
Unit # 6 Conditional Processing
a. Boolean and Comparison Instructions
The F'ags Register, AND Instruction, OR Instruction, XOR Instruction," NOT Instruction, NEG Instruction, TEST Instruction, CMP Instruction, CMPXCHG Instruction
b. Integer Arithmetic
Shift and Rotate Instructions, SHL Instruction, SHLD/SHRD Instructions,
SHR Instruction, SAL and SAR Instructions, ROL Instruction, ROR Instruction, RCL and RCR Instructions,
c. Sample Applications
Shifting Multiple Bytes on the 8086, Fast Multiplication and Division
Unit # 7 Conditional Jumps
a. Code Generation for Conditional Jumps, Conditional Jump Examples
b. Conditional Loops
LOOPZ and LOOPE Instructions, LOOPNZand LOOPNE Instructions
c. High-Level Logic Structures
Simple IF Statement, Compound IF Statement, WHILE Structure-, REPEAT-UNTIL Structure, CASE Structure, Table of Procedure Offsets.
Unit # 8 Software Interrupts
a. INT Instruction, Redirecting Input-Output
b. MS-Dos Function Calls
Output Functions, Input Functions, Date/Time Functions,
c. BIOS-Level Keyboard Input (INT16H)
d. BIOS-Level Video Control (INT 10H)
e. Disk Storage Fundamentals
f. Drive and Directory Manipulation
Unit # 9 Procedures and Interrupts,
a. Stack Operations
b. Procedures,
c. Procedure Parameters
d. Structures
e. Macros
Macros with Parameters, Defining a Macro, Example: mDisplayiStr, Macro, mGotoRowCol macro
spring 2012