Introduction to Computer Organization and Assembly Language

advertisement
Introduction to Computer
Organization and Assembly
Language
Sheet 3
By: Nora Alaqeel
The FLAGS Register - Status Flags
• Carry Flag (CF):
• CF = 1 if there is a carry out from the msb on addition.
• CF = 1 if there is a borrow into the msb on subtraction.
• CF = 0 otherwise.
• CF is also affected by shift and rotate instructions.
• Parity Flag (PF):
• PF = 1 if the low byte of a result has an even number of one bits
• PF = 0 if the low byte has odd parity
(ex. if a result is FFFE
PF = 0).
By: Nora Alaqeel
The FLAGS Register - Status Flags
•
Zero Flag (ZF):
• ZF = 1 for a zero result.
• ZF = 0 for nonzero result.
• Sign Flag (SF):
• SF = 1 if the msb of a result is 1.
(i.e. Negative if signed interpretation is used).
• SF = 0 if the msb is 0.
By: Nora Alaqeel
The FLAGS Register - Status Flags
• Overflow Flag (OF):
• OF = 1 if signed overflow occurred.
• OF = 0 otherwise.
By: Nora Alaqeel
How Instructions Affect the Flags
• In general, each time the processor executes an instruction, the flags
are altered to reflect the result.
• However, some instructions don’t affect any of the flags, affects
only some of them, or may leave them undefined.
Instruction
MOV/XCHG
ADD/SUB
INC/DEC
By: Nora Alaqeel
Affects flags
none
all
all except CF
Question 1
Q1: For each of the following instructions,
give the new destination contents and the
new settings of SF,ZF,PF, CF and OF.
Suppose that the flags are initially 0 in each
part of this question:
By: Nora Alaqeel
Question 1
 a. ADD AX, BX ;AX= 4034h, BX=8051h
4034
8051
0100 0000 0011 0100
1000 0000 0101 0001
C085
1100 0000 1000 0101
SF=1 , ZF=0 , PF=0 , CF=0 , OF=0
By: Nora Alaqeel
Question 1
 b. NEG AX ;AX= 6431h
FFFF
6431
9BCE
1
9BCF
1001 1011 1100 1111
SF=1 , ZF=0 , PF=1 , CF=1 , OF=0
By: Nora Alaqeel
Question 1
 c. SUB AL, BL ;AL= 34h, BL=51h
34
51
0011 0100
0101 0001
E3
1110 0011
SF=1 , ZF=0 , PF=0 , CF=1 , OF=0
By: Nora Alaqeel
Question 1
 d. DEC BL ;BL=01h
01
1
0000 0001
0000 0001
00
0000 0000
SF=0 , ZF=1 , PF=1 , CF=not effected ,
OF=0
By: Nora Alaqeel
Question 2
 Q2: Write a program to do the following:
The program should prompts the user to enter an
uppercase letter, then display that letter in lowercase
at the same line.
 Sample Execution:
ENTER UPPER CASE LETTER: Aa
By: Nora Alaqeel
Question 2
By: Nora Alaqeel
Question 2
By: Nora Alaqeel
Question 2
By: Nora Alaqeel
Question 2
By: Nora Alaqeel
Download