110 likes | 270 Views
Apps. O/S. Machine Language. Arch. m Arch. Logic. Digital. Analog. Devices. Physics. Assembly Language Computer?. A computer, at its most basic level, needs instruction using a set of bits.
E N D
Apps O/S Machine Language Arch mArch Logic Digital Analog Devices Physics
Assembly Language Computer? • A computer, at its most basic level, needs instruction using a set of bits. • How do we translate concepts such as “add” into a language the computer understands (machine code)?
Instruction Encoding • Instruction set architecture also defines the mapping of assembly instructions to machine code add 1 2 3
Instruction Formats • In every architecture, there is a set of basic formats that most of their instructions follow. • In LC2K7, for example: • R-type instructions (Register type – and, nand) • I-type instructions (Immediate type – lw, sw, beq)
Instruction Encodings • In order to construct these instructions, we need to translate the information in an assembly statement. • Opcode: encoded as special codes for each operation • add (000), nand (001), lw (010), sw (011), beq (100), jalr (101), halt (110), noop (111) • Register Values: Just encode the register number • r2 = 010 , etc. • Immediate Values: Just encode the value • remember to fill up the allotted bits!
Encoding Example nand 7 3 4
Encoding Example lw 5 2 -8
Instruction Encoding Regularity • Instruction set architecture also defines the mapping of assembly instructions to machine code add 1 2 3
Encoding – Your Turn • Compute the encoding (give the hex) for: • add 3 7 3 (opcode for add is 000) • sw 5 1 67 (opcode for sw is 011)
Encoding – Your Turn, part II • Compute the encoding (give the hex) for: • beq 3 4 top (opcode for beq is 100) • The beq is on line 217 • The label top appears on line 222