Download presentation
Presentation is loading. Please wait.
Published byRosa Melton Modified over 8 years ago
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;
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.