[CMPE 310 Home] | [Syllabus] | [Homework] | [Projects] | [Labs] | [Lecture Notes] | [Printable all notes] | [Files] | [NASM resource] |
The most important item on all homework is YOUR NAME!
Print. No readable name, no credit.
Staple or clip pages together.
Homework must be submitted when due. You loose 10%, one grade,
the first day homework is late. Then 10% each week thereafter.
Max 50% off. A zero really hurts your average!
Paper or EMail to squire@umbc.edu ONLY PLAIN TEXT.
I can NOT accept OCTET/STREAM. .doc .gif .jpg .rtf ...
If I can not read or understand your homework, you do
not get credit. Type or print if your handwriting is bad.
Homework is always due on a scheduled class day within 15 minutes
after the start of the class. If class is canceled then homework
is due the next time the class meets. EMailed homework has until
midnight the day it is due.
EMail only plain text! No word processor formats.
You may use a word processor or other software tools and
print the results and turn in paper.
Put CMPE 310 and HW number in subject line.
Do the following manually. Show all work similar
to the method shown in Lecture 1. It is OK to check
your own work on a computer or calculator. It is not
OK to compare to other students answers. No "matching".
Yes, those are decimal points, hexadecimal points and
binary points in the numbers, integer-part.fractional-part
1. Convert hexadecimal number 1357AC.EF to binary
2. Convert binary number 110101100.001101 to hexadecimal
3. Convert decimal number 126.375 to binary (3 bits after binary point)
4. Convert binary number 10101101.10111 to decimal
5. Convert "Hi1+" four ASCII characters to 8 hexadecimal digits
a 32-bit word, do not write binary.
It is easier to use big endian and that is OK.
For Intel RAM you must swap bytes, and put the last byte first, also OK.
Please do not do both. The characters would become +1iH
Draw a reasonably neat picture of the Intel X86-64 "A" registers. Label, as usable, AL, AH, AX, EAX, RAX. Write five assembly lines to put value 2 into each register. Just use "mov" register name in either upper or lower case, both work, a comma and 2. Yes, this seems to be an easy assignment, but it has been found to actually help because you have to write all the forms of register names. Yes, you can use the picture from class lecture on WEB, but you have to draw it, not photocopy it. There are many types of registers, segment, floating point, MMX, control, debug, and test registers.
Write one line of legal NASM assembly language for each answer.
Assume reasonable declarations per previous class examples.
e.g. intarith_64.asm
section .data
a: dq 3
b: dq 4
section .bss
c: resq 1
section .text
main:
(do not assume the values at a: and b: remain the same)
1) add the value at label b to rcx
2) subtract the constant 2 from rdx
3) integer multiply by the value at label b
4) integer divide by the value at b
5) add the address of label c to rax
6) jump to the label main
7) compare register rbx to the constant 7
8) compare register rbx to the address of label b
9) compare register rbx to the value at label b
10) place the hexadecimal constant 1234567A into rcx
11) place the address of label b into rbx
It is OK to check your work by assembling a program with
your answers, and fixing as required. (Comment out the "jump"
instruction, you do not want to run an infinite loop.)
It is not OK to compare or match you answers with other
students, T.A. or others.
These questions are based on Lectures 15, 16, 17
Fill in the words, one word for each letter
1) ROM ______ ______ ______
2) RAM ______ ______ ______
3) EPROM ______ ______ ______ ______ ______
4) DRAM ______ ______ ______ ______
5) SRAM ______ ______ ______ ______
6) PAL ______ ______ ______
7) PLA ______ ______ ______
8) CRC ______ ______ ______
9) ECC ______ ______ ______
10) If two bytes, 16 data bits are returned from RAM,
how many address bits can be ignored by each RAM chip _____
11) If four bytes, 32 data bits are returned from RAM,
how many address bits can be ignored by each RAM chip _____
12) Remember: computer memory is addressed by byte,
How many address bits are needed to address 1MB ____
13) How many address bits are needed to address 1GB ____
14) How many address bits are needed to address 4GB ____
The 8255 = 82C55 = 8255A is a programmable periferal interface. This is covered in Lecture 19 and the data sheet was handed out for use in this homework, and Project 4, 5, 6, 7 8255 interface data sheet For this homework: 1) write the sequence of 16 bit 8086 instructions to output register AL on port A of the 8255. data bus -> Port A 2) write the sequence of 16 bit 8086 instructions to input port B of the 8255 into register BL. Port B -> data bus Not much writing, possibly a lot of reading. See page 378, 379 of textbook, use "isolated I/O" Table 11-1 gives several options. Then data sheet on 8255 = 82C55 = 8255A. Using DX assume port in lower byte, A1 A0 AD WR CS in upper byte, 60H for portA, 61H for portB.
Compute file read time for a 10KB and 1MB file for a typical hard drive
and a solid state drive, SSD. See lecture 23.
1) Hard drive:
published average seek time 2.0ms use 1/4
rotation speed 10,025rpm
overhead 0.5ms
transfer rate 200MB/s
________ ________
10KB 1MB
2) SSD
overhead 0.5ms
transfer rate 200MB/s
________ ________
10KB 1MB
3) speedup, hard drive over SSD ratio
________ _______
10KB 1MB
A sample exam will be provided as a study guide. No assembly language questions on the final exam. Read the referenced sections on digital logic in the textbook.
Last updated 11/6/2015