Download PPT - CUHK CSE

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CSCI 2510 Tutorial 1
Basic Assembly and Data Representation
ZONG Wen
Department of Computer Science and Engineering
The Chinese University of Hong Kong
[email protected]
Main topic:
1. Write an assembly program with given instruction
2. Two’s complement operation
3. Ordering of bytes in data
Write a machine program with given instruction
Basic component of a computer
Write a machine program with given instruction
There are only 6 machine instructions on a singleaccumulator processor, namely:
Load [Memory] {to ACC}
e.g. Load [2872]
Store [Memory] {from ACC} e.g. Store [1536]
Add Constant
{to ACC}
e.g. Add -95
Add [Memory]
{to ACC}
e.g. Add [2132]
Multiply Constant {to ACC}
e.g. Multiply 23
Multiply [Memory]{to ACC}
e.g. Multiply [298]
Write a machine program with given instruction
Variable x and y are stored in address 1000 and 1004, try to
implement x2 + y2, store the result in 1008.
Load [1000];
Multiply [1000];
Store [1008];
Load[1004];
Multiply[1004];
Add[1008];
Store[1008];
load data to register
perform memory + register operation
store temporary result to memory
store result
Operation on two’s complement
Example: (–6) + 8 * 3 – 1
Step 1  11111010 + (00001000 * 00000011) – 00000001
Step 2  (11111010 + 00011000) – 00000001
Step 3  00010010 – 00000001
Step 4  00010001
Step 5  17 (decimal answer without overflow)
Operation on two’s complement
Example: (–6) + 8 * 3 – 1
Step 1  11111010 + (00001000 * 00000011) – 00000001
Step 2  (11111010 + 00011000) – 00000001
Step 3  00010010 – 00000001
Step 4  00010001
Step 5  17 (decimal answer without overflow)
Big endian and little endian
In big endian, you store the most significant byte in the
smallest address
In little endian, you store the least significant byte in the
smallest address
Big endian and little endian
For a data of 4 bytes: 90AB12CD
Big endian:
Big endian and little endian
For a data of 4 bytes: 90AB12CD
Little endian:
Float point representation
Q&A