Vous êtes sur la page 1sur 6

PART A

Choose the correct answer. (Each question carries 2 marks)

1. Binary number 101012 is equivalent to


A. 15H
B. 21H
C. A1H
D. A8H

2. What is the result when A5H subtracted from 72H


A. CDH
B. -51
C. -33
D. 205

3. Which of the following register is 8-bits register?


A. Index Register
B. Program Counter
C. Flag Register
D. Temporary Register

4. Which sentence is NOT TRUE about fetch-decode-execute cycle?


A. Instructions are placed in instruction register to be decoded.
B. Processor knows what type instruction it is and the number of accumulators
needed to complete the instruction.
C. Fetch-decode-execute operates under control of Ø1 and Ø2
D. The shortest instruction is 2 cycles and the longest is 12 cycles.

5.
DECB

What type of addressing mode is used is used to address the instruction above?
A. Direct
B. Inherent
C. Immediate
D. Relative

1
6.
Provide programmer with the flexible and easy method to
translate the programmer’s source code into object code.
Table 1

Table 1 above states the information about the main function of an assembler. What
is the other function of an assembler?

A. states condition code register content


B. error information
C. number of cycle needed to complete the instructions
D. types of addressing modes that can be used by programmer

7. What is the content of Condition Code Register after the execution of the program
shown in table 2 below using MC 6809 instruction set?

CLRA
LDAA #$49
ADDA #$6A
SWI
Table 2

H N Z V C
A. 1 1 0 1 0
B. 0 1 0 1 1
C. 1 0 1 1 0
D. 1 1 0 0 0

8. What is the name given to the program which stored in ROMs or other devices such
as diskettes and tapes which are non-volatile?

A. Software
B. Firmware
C. Hardware
D. Machine Code

2
9. Which of the following addressing mode affect 3 bytes of location?

i. Immediate
ii. Extended
iii. Direct
iv. Relative

A. i and ii only
B. i and iv only
C. ii and iv only
D. ii and iii only

10. Which of the following are major components of Arithmetic Unit?

i. Arithmetic Logic Unit


ii. Program Counter
iii. Accumulator
iv. Flag Register

A. i and iii only


B. i, ii and iii only
C. i, iii and iv only
D. All the above

3
PART B
Answer Any Three Questions Only

Instruction: Prepare a complete flow chart to show your program.


Write program in assembly language base on flow chart.

1. Write a program to add two numbers stored in location $01FA and $01FB. If the
result is less than FFH, load 12H and 13H in accumulator A and accumulator B
respectively. (10M)

2. Test the two numbers stored in locations $ 0067 and $0068. If the numbers are the
same, add the two numbers. Then, perform AND operation between the sum and
data $A7 and store the result in location $01FE. (10M)

3. Write a program to subtract the data in location $0081 from the data in location
$0091. If the result is more than 50 H, subtract 50 H from the result and store the
answer in location $01B2.Otherwise, subtract the result from 50 H and store the
answer into $01B3. (10M)

4. Add two numbers in location $0076 and $0077. If the sum is greater than FF H,
subtract smaller number from bigger number and store the difference in location
$01FB. Else, store the sum to $01FC. (10M)

5. Refer to memory location and the content given below. If m is greater than n, add
them. If the result is greater than FFH, clear A and clear accumulator B. Else, load
accumulator A and B with data C0 H and 1D H respectively. (10M)

Address Data
$01FA mH
$01FC nH

4
6. Three numbers stored in memory locations $01FA, $01FB and $01FC as shown
below. Add the numbers in first two locations and then subtract the data in third
location. If the result is less than 40 H, add the result with 40 H and store the new
result in location $0076. (10M)

Address Data
$01FA uH
$01FB vH
$01FC wH

PART C
Answer any 2 of the 3 question.

Instruction: Prepare a complete flow chart to show your program.


Write program in assembly language base on flow chart.
Convert the assembly language into machine coding.

1. The two numbers, x and y are stored in memory locations $0079 and $0179
respectively. If the numbers are the same, add them. Clear the accumulators, if the
result of addition is greater that FFH. Else, load accumulator A and accumulator B
with 10H and 20H respectively. If the numbers are different, subtract the smaller
number from the bigger number and store the result in location $01FC. (25M)

2. Refer to memory locations shown below. Subtract s from r if r greater than s.


Compare the result of subtraction with 60 H. If the result is greater than 60, store
the result in location $012E. Else, add 20 H to the result and store the new result in
$012F. Add r and s if s greater than r. If the sum is greater than FF, load
accumulator A with 60 and accumulator B with 1D H. Otherwise, add 20 H to the
sum and store the new result in $0130. (25M)

Address Data
$0090 rH
$0091 sH
3. Perform the operation below using the suitable addressing mode. If the result of
operation is greater than FFH, clear accumulator A and accumulator B. Otherwise,
perform OR operation with data 42 H.Store the result in location $01FB.

5
[ (p + q) - 20 H ] + [ (34 H OR 72 H) + 10 H ]
The data p and q are stored in memory locations as shown below. (25M)

Address Data
$0078 pH
.
.
$0087 qH

Vous aimerez peut-être aussi