Presentation is loading. Please wait.

Presentation is loading. Please wait.

Assembly Language Friday, Week 5 Monday, Week 6. Assembly Language  Set of mnemonic names for the instructions in a particular computer's machine language.

Similar presentations


Presentation on theme: "Assembly Language Friday, Week 5 Monday, Week 6. Assembly Language  Set of mnemonic names for the instructions in a particular computer's machine language."— Presentation transcript:

1 Assembly Language Friday, Week 5 Monday, Week 6

2 Assembly Language  Set of mnemonic names for the instructions in a particular computer's machine language.  Works on accumulator and memory locations in the computer.  Translated into binary instructions.

3 Pippin STO X Store accumulator value in memory location X LOD X Load contents of memory location X into accumulator LOD #X Load value X into accumulator HLT Halt execution ADD X Add contents of memory location X to accumulator ADD #X Add value X to accumulator

4 Pippin  Pippin has an accumulator - a place to store intermediate values during computation.  Similar to the calculator but we have memory locations to store values and to load values.

5 Sample Program LOD #2 STO 129 ADD 129 STO 129 ADD #3 STO 130 HLT

6 Exercise  What would be the assembly instructions to add 1 to the contents of memory location 130?  STO X Store acc value in mem loc X  LOD X Load contents of mem loc X into acc  LOD #X Load value X into acc  HLT Halt execution  ADD X Add contents of mem loc X to acc  ADD #X Add value X to acc

7 Exercise Solution LOD #1 ADD 130 STO 130 HLT

8 Exercise  What would be the assembly language instructions to add the values in memory locations 129 and 132, putting the answer in 128?  STO X Store acc value in mem loc X  LOD X Load contents of mem loc X into acc  LOD #X Load value X into acc  HLT Halt execution  ADD X Add contents of mem loc X to acc  ADD #X Add value X to acc

9 Exercise Solution LOD 129 ADD 132 STO 128 HLT

10 Machine Language  Assembly language still cannot be read directly by the computer - it’s not in binary.  Assembly language commands need to be translated into binary commands called machine language.

11 Pippin Machine Language LOD X00000100 LOD #00010100 ADD X00000000 ADD #00010000 STO00000101 HLT00001111 Memory location 12910000001 Memory location 13010000010

12 Example Program LOD 1290000010010000001 ADD #30000100000000011 STO 1290000010110000001 HLT00001111

13 Exercise LOD X ADD Y STO Y HLT LOD X LOD # ADD X ADD # STO HLT 00000100 00010100 00000000 00010000 00000101 00001111 Translate above into machine language. Memory location X Memory location Y 10000001 10000010

14 Exercise Solution LOD X ADD Y STO Y HLT 00000100 00000000 00000101 00001111 10000001 10000010

15 Exercise Write an assembly program that calculates Y=X+3. LOD X LOD # ADD X ADD # STO HLT 00000100 00010100 00000000 00010000 00000101 00001111 Translate the program into machine language. Memory location X Memory location Y 10000001 10000010

16 Exercise Solution LOD X ADD #3 STO Y HLT 00000100 00010000 00000101 00001111 10000001 00000011 10000010

17 PIPPIN Lab  This week’s lab will be to use a simulator called PIPPIN to write assembly language programs and change them to machine language.  Let’s take a look at PIPPIN.PIPPIN  Do Pre-Lab AssignmentPre-Lab Assignment

18 JMP  All commands seen so far in PIPPIN are sequential.  We have no way to make a decision or to skip some statements.  JMP X command says always jump to the command labeled X.  JMZ X checks the accumulator first - if it’s 0 then we jump; otherwise don’t jump.

19 Example LOD #3 STO X LOD #0 STO Z LOOP:LOD Z ADD Y STO Z LOD X SUB #1 STO X JMZ END JMP LOOP END:LOD Z STO Y HLT

20 In JavaScript  The same program in JavaScript would be the following: var z=0; for (var x=3; x!=0; x--) z += y; y = z;  Or the following: y = y*3;


Download ppt "Assembly Language Friday, Week 5 Monday, Week 6. Assembly Language  Set of mnemonic names for the instructions in a particular computer's machine language."

Similar presentations


Ads by Google