0% found this document useful (0 votes)
66 views2 pages

HW 1 Q

This document contains an assignment on x86 microprocessor concepts for a computer systems engineering course. It includes 4 questions asking about registers, assembly code, addressing modes, flags, and writing an assembly program to evaluate a mathematical expression. Specifically, it asks about main register types, the difference between overflow and carry flags, writing assembly code to initialize arrays, addressing physical memory locations, the value of AX after various operations, and an assembly program to calculate R = A - (2 * B + C) without shifts or multiplications.

Uploaded by

GREATJUSTGREAT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views2 pages

HW 1 Q

This document contains an assignment on x86 microprocessor concepts for a computer systems engineering course. It includes 4 questions asking about registers, assembly code, addressing modes, flags, and writing an assembly program to evaluate a mathematical expression. Specifically, it asks about main register types, the difference between overflow and carry flags, writing assembly code to initialize arrays, addressing physical memory locations, the value of AX after various operations, and an assembly program to calculate R = A - (2 * B + C) without shifts or multiplications.

Uploaded by

GREATJUSTGREAT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Computer Systems Engineering Department Dr.

Khader Mohammad
X86 Microprocessor-Based Systems ENCS 338 HW_ #1 Duo April 2nd /2014

Note: Exact copy will take zero for all.

Question 1:

1. What are the main types of registers used in Intel-based microprocessors

2. Explain the difference between the overflow flag and the carry flag.

Question 2:

Write assembly code to do the following:

a) Array of 10 signed double words initialized to 1, 2, ..., 10.

b) Declare 4-bytes array of 100 numbers, all initialized to 0, starting at


memory location “MYGRADES”.

c) The 8086/8088 used two processing logical units what are they ?

d) What are the main buses used in CPU , indicate direction ?

e) Which flags are NOT used for mathematical operations?

f) List THREE microprocessor specifications that directly affect its


performance?

Question 2:

Suppose CS = 0BF70h, DS = 10BCh, SS=590h, ES = 2120h, BX=1250h,


BP=1Ch, SI=01FFH. What physical addresses in memory are accessed by the
following instructions?

MOV DL,[BX+SI+3FH]
MOV CX,ES:[BX]
ADD [SI+328H],AX
MOV [BP],4325H

1|Page
Computer Systems Engineering Department Dr. Khader Mohammad
X86 Microprocessor-Based Systems ENCS 338 HW_ #1 Duo April 2nd /2014

Question 3:

What will be the value of AX after these instructions :


MOV AX,12/5
MOV AX,12 AND 4
MOV AL,NOT 1

Question 4:

Write a complete 80x86 assembly language program to evaluate the expression


below. Assume that all values are signed double words.
Reserve 4096-byte stack, don’t use any shift or multiplication instructions.
You should initialize these variables A, B and C to decimal 23, hexadecimal 3FCE,
decimal 42, and uninitialized value, respectively.

R= A – (2 * B+ C )

2|Page

You might also like