• Tidak ada hasil yang ditemukan

The Elements of Computing Systems Nisan & Schocken

N/A
N/A
Protected

Academic year: 2017

Membagikan "The Elements of Computing Systems Nisan & Schocken"

Copied!
22
0
0

Teks penuh

(1)

www.nand2tetris.org

(2)

Where we are at:

Assembler

Chapter 6

H.L. Language &

Operating Sys.

abstract interface

Compiler

Chapters 10 - 11

VM Translator

Chapters 7 - 8

Computer Architecture

Chapters 4 - 5

Gate Logic

Chapters 1 - 3 Electrical Engineering

Physics

Virtual Machine

abstract interface

Software

hierarchy

Assembly Language

abstract interface

Hardware

hierarchy

Machine Language

abstract interface

Hardware Platform

abstract interface

Chips & Logic Gates

abstract interface

Human Thought

Abstract design

(3)
(4)

0000000000010000

// Computes 1+...+RAM[0]

// And stored the sum in RAM[1] @i

// Computes 1+...+RAM[0]

(5)

Revisiting Hack low-level programming: an example

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

@LOOP // goto LOOP 0;JMP

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

(6)

The assembler’s view of an assembly program

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

@LOOP // goto LOOP 0;JMP

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

(7)

Translating / assembling A-instructions

value (v = 0 or 1)

0

v

v

v

v

v

v

v

v

v

v

v

v

v

v

v

Binary:

@

value

// Where value is either a non-negative decimal number

// or a symbol referring to such number.

Symbolic:

-+

,

,

%

(8)

Translating / assembling C-instructions

jump

dest

comp

1

1

1

a c 1 c2 c3 c4 c5 c6 d1 d2 d3 j 1 j 2 j3

dest=comp

;jump

// Either the dest or jump fields may be empty.

// If dest is empty, the "=" is ommitted;

// If jump is empty, the ";" is omitted.

Symbolic:

Binary:

(9)

The overall assembly logic

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

@LOOP // goto LOOP 0;JMP

// Computes 1+...+RAM[0]

// And stores the sum in RAM[1]. @i

(10)

,

-Handling symbols (aka

symbol resolution

)

(11)

3

- *

Handling symbols: user-defined symbols

(12)

4

(13)

// Computes 1+...+RAM[0]

(14)

R0 0

// Computes 1+...+RAM[0] // And stored the sum in RAM[1] @i @LOOP // goto LOOP 0;JMP // Computes 1+...+RAM[0] // And stored the sum in RAM[1] @i

@LOOP // goto LOOP 0;JMP

(15)

The assembly process (detailed)

+

E

-

E

2

-2

(LABEL)

%

F

LABEL

% G

-

%

-+

C

%

+

@xxx

xxx

%

+

@xxx

xxx

%

-+

%

,

$

+

%

,

-F

xxx

% G

%

!

,

& 7

%

$

)

-

& 7

%

(16)

H

The result ...

// Computes 1+...+RAM[0]

// And stored the sum in RAM[1] @i

@LOOP // goto LOOP 0;JMP

// Computes 1+...+RAM[0]

// And stored the sum in RAM[1] @i

(17)

Proposed assembler implementation

,

%

-Parser:

*

Code:

,

%

,

SymbolTable:

7

Main:

+

E

+<=

,

)

(18)
(19)
(20)
(21)
(22)

Perspective

%

7

%

(

(

,

(

"

, ,

%

E

!

Referensi

Dokumen terkait

Hipotesis yang digunakan dalam penelitian ini adalah kandungan pektin pada kulit pisang diduga dapat berfungsi sebagai stabilizer emulsi sehingga dapat memperbaiki tekstur

Kemampuan sentuhan yang harus ada pada suatu teknologi, mengiringi azas keseimbangan, akan menempatkan teknologi sebagai alat bantu yang berguna bagi setiap sisi kehidupan

Banyak ilmuwan mulai meneliti untuk mencari jenis energi baru yang murah, mudah dan ramah lingkungan untuk menggantikan sumber energi yang tersedia sekarang, yaitu dengan

DAFTAR URUT( LONGLIST ) SEMENTARA CALON PESERTA SERTIFIKASI BAGI GURU RA/MADRASAH DALAM JABATAN UNTUK MATA PELAJARAN QUR'AN HADITS, AKIDAH AKHLAK, FIQH, SKI, BAHASA ARAB, GURU

Catatan : Agar membawa dokumen penawaran asli sesuai yang di-upload lewat aplikasi SPSE.. Demikian undangan dari kami dan atas perhatiannya disampaikan

PERSENTASE KETERSEDIAAN FASILITAS MILIK TINGKAT SM PROVINSI GORONTALO.. TAHUN

QUR'AN HADITS, AKIDAH AKHLAK, FIQH, SKI, BAHASA ARAB, GURU KELAS RA, DAN GURU KELAS MI TAHUN 2012.. PROPINSI : SUMATERA SELATAN STATUS : PNS dan

Nurul Iman Sekincau