csci 2510 tutorial 1 basic assembly and data representation

12
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]

Upload: aquila

Post on 07-Feb-2016

92 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

CSCI 2510 Tutorial 1Basic Assembly and Data Representation

ZONG Wen

Department of Computer Science and EngineeringThe Chinese University of Hong Kong

[email protected]

Page 2: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Main topic:

1. Write an assembly program with given instruction

2. Two’s complement operation

3. Ordering of bytes in data

Page 3: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Write a machine program with given instruction

Basic component of a computer

Page 4: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

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]

Page 5: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

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

Page 6: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

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)

Page 7: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

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)

Page 8: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

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

Page 9: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Big endian and little endian

For a data of 4 bytes: 90AB12CD

Big endian:

Page 10: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Big endian and little endian

For a data of 4 bytes: 90AB12CD

Little endian:

Page 11: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Float point representation

Page 12: CSCI 2510 Tutorial 1 Basic Assembly and Data Representation

Q&A