# Final Exam -- Open book section

8 May, 1995

## Problem 1. (8 points)

Use truth tables to show that the following two Boolean expressions are equivalent:

• x + z(x' + x y') + y
• x + y + z

## Problem 2. (8 points)

Simplify the following two Boolean expressions using Boolean algebra.

• x + z(x' + x y') + y
• (A' B')' + A' B + A B'

## Problem 3. (4 points)

In the space below, show how to implement an OR gate using one NAND and two inverters.

## Problem 4. (4 points)

Convert the decimal number 5.3125 into a floating point number with one sign bit, an eight-bit exponent expressed using excess-127 notation, and a 23-bit mantissa.

## Problem 5. (8 points)

Show the hardware needed to implement the following RTL statements for eight-bit registers R and S:

• p' : R <- R - 1
• p q : R <- 0, S <- R

You may use eight-bit adders, eight-bit multiplexers, eight-bit registers and assorted logic gates in your solution.

## Problem 6. (4 points)

How would you set the control inputs of the bus system shown in Figure 5-4 on page 130 of the textbook to execute the following RTL statement?

• AR <- M[AR], PC <- PC+1

## Problem 7. (6 points)

Suppose that the basic computer of table 5-6 (page 159) is modified by replaced the BSA instruction with an XCH instruction that performs the following operations

• AC <- M[EA], M[EA] <- AC

Show how the RTL specification of the machine must be changed to implement this change.
[This is part of Problem 5-13 for page 169 of the textbook.]

## Problem 8. (8 points)

Write a subroutine in the assembly language of the book (Chapter 6) that receives a single argument stored in the accumulator and returns, in the accumulator, that argument multiplied by 16. By the way, the easy way to multiply a value by 16 is to left shift is four times. To help you out, I've provided the first word of the subroutine.

```     M16,      HEX  0
```

Back to the Handout index