Presentation is loading. Please wait.

Presentation is loading. Please wait.

Machine Code typically: word 1 words 2-3 words 4-5

Similar presentations


Presentation on theme: "Machine Code typically: word 1 words 2-3 words 4-5"— Presentation transcript:

1 Machine Code typically: word 1 words 2-3 words 4-5
1 high level language instruction ≥ 1 machine language instr. 1 assembly language instruction = 1 machine language instr. For 68000, 1 machine language instruction = 1 to 5 words. typically: word 1 operation code, size and type of operands words 2-3 immediate operand (1-2 words, if any) source effective address (1-2 words, if any) words 4-5 destination effective address (1-2 words, if any) NOTE: words 2 to 5 are typically not shown in the manual; assumes programmer can figure this out

2 Machine Code Immediate data Memory addresses
if byte, low byte of extension word if word, one extension word if longword, two extension words: high half : low half Memory addresses we always assume xxx.L or longword Displacement addressing modes if d(An), d is an extension word (d can be 16 bits) if d(An,Rm.s), extension word = txxxs000dddddddd (d can only be 8 bits) where t=1(Rm = Ax) or t=0(Rm = Dx) s=1(Rm.L) or s=0(Rm.W) if An = PC, extension word stores the offset (not responsible for this case)

3 Machine Code e.g. TRAP #15 e.g. ABCD D0,D1 vs ABCD -(A0),-(A1)

4 e.g. OR.B D1,D2 vs OR.W #5,D2 vs OR.L NUM,D4

5 e.g. MOVE.W #$3332,NUM

6 Instruction Timing Notation: n(r/w)
n = number of clock periods for instruction (total) r = number of read cycles for instruction w = number of write cycles for instruction Assumes: t(1 read cycle) = t(1 write cycle) = 4 clock periods n = (r x 4) + (w x 4) + internal processing time e.g. 12(3/0) = 12 clock periods (3 x x 4 + 0) e.g. 18(3/1) = 18 clock periods (3 x x 4 + 2)

7 Instruction Timing e.g. MOVEA.L #R2Z,A1
look up instruction in table 8-3;where source = #<data> and destination = An execution time is 12(3/0) 3 reads from memory 1st word of machine code 2 machine code extension words for the immediate data 0 writes to memory 0 clock periods for internal processing

8 Instruction Timing e.g. MOVE.W NUM1,NUM2
look up instruction in table 8-2; where source = xxx.L and destination = xxx.L (we always assume long for addresses) execution time is 28(6/1) 6 reads from memory 1st word of machine code 2 extension words for address of NUM1 2 extension words for address of NUM2 fetch of data from NUM1 1 write to memory write data to NUM2 0 clock periods for internal processing

9 Instruction Timing … wait states
if memory is slower than 4 clock periods, longer memory access cycle will insert wait states must add the wait states to the total instruction time. Assume memory takes an additional 2 wait states (i.e. 2 more clock cycles per memory r/w). if original execution time was 18(3/1) = 18 clock periods (3 x x 4 + 2) the execution time with the slower memory is ?(3/1) = (3 x (4+2) + 1 x (4+2) + 2) = 26 clock periods

10 Reading/Expectations
Section 8: 16-Bit Instruction Execution Times [pages 8-1 to 8-11] in M /16-/32-Bit Microprocessors User’s Manual [pdf, 184 p; Motorola] Add the execution time section to your reference material. Bring it to the exam. M68000 Machine Code [pdf, 21p; N. Znotinas] Add the machine code section to your reference material. Bring it to the exam. Expectations: you are responsible for all material in the reading you should be able to generate the machine code for any instruction you should be able to determine the timing for any section of code


Download ppt "Machine Code typically: word 1 words 2-3 words 4-5"

Similar presentations


Ads by Google