csci 2510 tutorial 1 basic assembly and data representation

Post on 07-Feb-2016

92 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

CSCI 2510 Tutorial 1 Basic Assembly and Data Representation. ZONG Wen Department of Computer Science and Engineering The Chinese University of Hong Kong wzong@cse.cuhk.edu.hk. Main topic:. 1. Write an assembly program with given instruction 2. Two’s complement operation - PowerPoint PPT Presentation

TRANSCRIPT

CSCI 2510 Tutorial 1Basic Assembly and Data Representation

ZONG Wen

Department of Computer Science and EngineeringThe Chinese University of Hong Kong

wzong@cse.cuhk.edu.hk

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 single-accumulator 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 -95Add [Memory] {to ACC} e.g. Add [2132]Multiply Constant {to ACC} e.g. Multiply 23Multiply [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]; load data to registerMultiply [1000]; perform memory + register operationStore [1008]; store temporary result to memoryLoad[1004]; Multiply[1004];Add[1008];Store[1008]; store result

Operation on two’s complement

Example: (–6) + 8 * 3 – 1 Step 1 11111010 + (00001000 * 00000011) – 00000001Step 2 (11111010 + 00011000) – 00000001Step 3 00010010 – 00000001Step 4 00010001Step 5 17 (decimal answer without overflow)

Operation on two’s complement

Example: (–6) + 8 * 3 – 1 Step 1 11111010 + (00001000 * 00000011) – 00000001Step 2 (11111010 + 00011000) – 00000001Step 3 00010010 – 00000001Step 4 00010001Step 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

top related