1ba3 g lacey lecture 51 evaluating mathematical expressions how do computers evaluate x + y or any...
TRANSCRIPT
![Page 1: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/1.jpg)
1BA3 G Lacey Lecture 5 1
Evaluating mathematical expressions
How do computers evaluate x + y or any mathematical
expression ?
Answer : “Reverse Polish Notation”
a + b - c / ( d + e ) is an infix expression
a, b, c, d, and e are operands
+, -, /, “(“, and “)” are operators
Computers can’t evaluate infix expressions. They must first be
converted to “reverse polish notation” or postfix expressions
a b + c d e + / - is a postfix expression
![Page 2: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/2.jpg)
1BA3 G Lacey Lecture 5 2
Push onto stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
ab
![Page 3: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/3.jpg)
1BA3 G Lacey Lecture 5 3
Push onto stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
bc
![Page 4: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/4.jpg)
1BA3 G Lacey Lecture 5 4
Push onto stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
b
cd
![Page 5: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/5.jpg)
1BA3 G Lacey Lecture 5 5
Push onto stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
b
c
de
![Page 6: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/6.jpg)
1BA3 G Lacey Lecture 5 6
Pop off stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
b
c
d
e
![Page 7: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/7.jpg)
1BA3 G Lacey Lecture 5 7
Pop off stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
b
cd
![Page 8: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/8.jpg)
1BA3 G Lacey Lecture 5 8
Pop off stack
A data structure called a “stack” is used to convert infix to postfix
A stack is like a packet of PEZ or a coin holder on the Bus i.e. “last in = first out”
Things can only be put onto the top of the stack (push)
Things can only be taken from the top of the stack (pop)
Push a, b, c, d, e onto the stack Pop 3 items off the stack
Top of Stack
a
b
c
![Page 9: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/9.jpg)
1BA3 G Lacey Lecture 5 9
Advantages of Stacks
Very simple to use
Use very little space
Only simple machine language instructions needed to
implement a stack
thus they can run very fast
Algorithm to convert from infix to postfix is simple
Algorithm to evaluate postfix is simple
![Page 10: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/10.jpg)
1BA3 G Lacey Lecture 5 10
Convert a + b - c / ( d + e ) to Postfix
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete POSTFIX
EXPRESSION =
( )( a
![Page 11: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/11.jpg)
1BA3 G Lacey Lecture 5 11
Convert a + b - c / ( d + e ) to Postfix
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete POSTFIX
EXPRESSION =
( )(
a
(
+
![Page 12: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/12.jpg)
1BA3 G Lacey Lecture 5 12
Convert a + b - c / ( d + e ) to Postfix
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete POSTFIX
EXPRESSION =
( )(
a
(
+
b -
![Page 13: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/13.jpg)
1BA3 G Lacey Lecture 5 13
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete
Convert a + b - c / ( d + e ) to Postfix
POSTFIX EXPRESSION =
( )(
a
(
+b
-
c /
![Page 14: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/14.jpg)
1BA3 G Lacey Lecture 5 14
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete
Convert a + b - c / ( d + e ) to Postfix
POSTFIX EXPRESSION =
( )(
ab+c-
(
(
/
d
![Page 15: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/15.jpg)
1BA3 G Lacey Lecture 5 15
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete
Convert a + b - c / ( d + e ) to Postfix
POSTFIX EXPRESSION =
( )(
ab+c-d
(
(
/
+ e
![Page 16: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/16.jpg)
1BA3 G Lacey Lecture 5 16
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete
Convert a + b - c / ( d + e ) to Postfix
POSTFIX EXPRESSION =
( )(
ab+c-de
(
(
/
![Page 17: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/17.jpg)
1BA3 G Lacey Lecture 5 17
Algorithm : Place parentheses around the
expression ( a + b - c / ( d - e ) ) moving left to right until the end
of the infix expression if the item is a number put
into the post fix expression if the item is an open brace
push it onto the stack if the item is an operator pop
all operators of lower and equal precedence off of the stack and place them in the postfix expression, then push the operator onto the stack
If the operator is a close brace pop all operators off the stack until an open brace, then delete
Convert a + b - c / ( d + e ) to Postfix
POSTFIX EXPRESSION =
( )(
ab+c-de/
(
(
![Page 18: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/18.jpg)
1BA3 G Lacey Lecture 5 18
Evaluate 3 2 + 4 3 1 + / *
Algorithm :Moving left to right along the post fix expression• if the item is a number push it onto the stack• if the item is an operator pop two numbers from the stack, execute the operator and push the result back
onto the stack• when no more items in the postfix string pop the
answer off the stack !
+ + / *
2
3
1
3
4
5
4
4
5
1
5
5
![Page 19: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/19.jpg)
1BA3 G Lacey Lecture 5 19
Summary of Simple to SML Concept
High Level Language (HLL) translated into Machine Language by a compiler
Production rules translate Simple statements into SML Code and Data space must be allocated Maths equations need a more complex rule
A sequence of rules – an algorithm The “Stack” data structure is used by the algorithm to convert
infix maths expressions into postfix A stack is also used to evaluate maths expressions We will return to stacks later in the course
![Page 20: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/20.jpg)
20
From Simpletron to 68332
![Page 21: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/21.jpg)
1BA3 G Lacey Lecture 5 21
Basic Computer Architecture
![Page 22: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/22.jpg)
1BA3 G Lacey Lecture 5 22
Simple Overview of the MC6800
The MC6800/MC68332 CPU has:8 x 32-bit Data Register, D1 to D7
8 x 32-bit Address Register, A1 to A7
1 x 32-bit Program Counter, PC
1 x 16-bit Instruction Register, IR
1 x 16-bit Status Register, SR
During one memory access the CPU can access 1
word (16-bit Data Bus). The Program Counter is 32
bits wide, but only 24 bits are used on the Robot (24-
bit Address Bus).
![Page 23: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/23.jpg)
1BA3 G Lacey Lecture 5 23
The MC6800 CPU
![Page 24: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/24.jpg)
1BA3 G Lacey Lecture 5 24
The Unit of Memory
The fundamental unit of memory is the BIT (Binary Digit)
Each bit can take on the value Logic-1 or Logic-0
Accessing these bits individually is not of great use
Each value can only be a Logic-1 or Logic-0 (not very
useful for storing large numbers!)
![Page 25: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/25.jpg)
1BA3 G Lacey Lecture 5 25
Group BITs Together
View memory as a list of larger elements:
4 bits = 1 NYBBLE
8 bits = 1 BYTE
16 bits = 1 WORD
32 bits = 1 LONGWORD
When reading data/writing data to/from memory
(using the MC68332), we can do so in units of
bytes, words or longwords only
![Page 26: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/26.jpg)
1BA3 G Lacey Lecture 5 26
Data Bus
The number of bits that can be read at any given time is determent by the BUS SIZE.
BUS SIZE = Number of wires (data) connecting the CPU to the Memory
![Page 27: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/27.jpg)
1BA3 G Lacey Lecture 5 27
Memory Capacity
Memory size is expressed in terms of bytes:
1024 Bytes = 1 KILOBYTE (Kb.)
1024 Kilobytes = 1 MEGABYTE (Mb.)
1024 Megabyte = 1 GIGABYTE (Gb.)
Individual bytes in memory (memory locations)
are numbered sequentially.
![Page 28: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/28.jpg)
1BA3 G Lacey Lecture 5 28
Types of Memory:
CPU allowed to read and write contents of memory.
Commonly known as Random Access Memory [RAM], 2
flavours:
Volatile: contents lost when power is switched off.
Non-Volatile: holds contents when power is switched off on
computer
Read Only Memory [ROM]: memory contents are physically
etched onto the chip during manufacture. Contents can only
be read, and are not lost on power-off.
![Page 29: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/29.jpg)
1BA3 G Lacey Lecture 5 29
More Memory Types
Programmable ROM [PROM]: can write contents into it ONCE only (using a device called a PROM Programmer). Henceforth, it acts like ROM.
Erasable PROM [EPROM]: a PROM chip that may be written a number of times using an EPROM programmer
Electrically Erasable PROM [EEPROM] sometimes called FLASH
The robot has:64Kb RAM
64Kb EPROM
![Page 30: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/30.jpg)
1BA3 G Lacey Lecture 5 30
Memory Location
The number of a memory location is it’s address
E.g.: The contents of memory location 3 is 67.
![Page 31: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/31.jpg)
1BA3 G Lacey Lecture 5 31
Bit Group Encoding
Bit 3 Bit 2 Bit 1 Bit 1
0 0 0 0 = 0 0 0 0 1 = 1 0 0 1 0 = 2 0 0 1 1 = 3 0 1 0 0 = 4 0 1 0 1 = 5 0 1 1 0 = 6 0 1 1 1 = 7
1 0 0 0 = 8 1 0 0 1 = 9 1 0 1 0 = 10 1 0 1 1 = 11 1 1 0 0 = 12 1 1 0 1 = 13 1 1 1 0 = 14 1 1 1 1 = 15
2nd Lecture, 1BA3, M. Manzke, Page: 31
![Page 32: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/32.jpg)
1BA3 G Lacey Lecture 5 32
Memory - Address - Bit
Address: 3, Bit: 7, 6, 5, 4, 3, 2, 1, 0
0 1 2 3 4 5 6 7 8 etc.
![Page 33: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/33.jpg)
1BA3 G Lacey Lecture 5 33
Operating Systems A computer without software cannot:
Load and run programs from disk Perform I/O (Input/Output) Handle situations where the software to run requires more
memory than is physically available on the computer
An Operating System = A Program which insulates the user from the technical detail of the machine.
![Page 34: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/34.jpg)
1BA3 G Lacey Lecture 5 34
The MONITOR
Michael Manzke, Page: 34
A MONITOR is the simplest form of operating system. It is designed with a minimal specification and allows execution of low level assembly language programs.
The monitor is a program (written in assembly language) which provides an interface to the CPU.
Using knowledge from this course, you will write your own monitor in second year for a computer system (similar to the Robot) that you will design and build.
![Page 35: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/35.jpg)
1BA3 G Lacey Lecture 5 35
Monitor provides functions to allow:
Writing and editing assembly language code
Assembling of code to machine language
Execution of software
Reading/Writing memory and CPU registers
Connecting to external computer systems for
saving and loading of code
Debugging
![Page 36: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/36.jpg)
1BA3 G Lacey Lecture 5 36
Robot Development System
Michael Manzke, Page: 36
The RDS contains an Editor: used for writing and saving assembly code
Assembler
Downloader: loads code onto robot
Debugger
Terminal emulator: communicates with robot for I/O
![Page 37: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/37.jpg)
1BA3 G Lacey Lecture 5 37
Robot Development System All software is written/saved on the PC. Programs are downloaded and executed on the
Robot. The Robot monitor does not allow
editing/assembling or saving/printing. The monitor is saved in ROM monitor remains
even if the power is off. User programs saved in RAM program lost
when power off.
![Page 38: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/38.jpg)
1BA3 G Lacey Lecture 5 38
Terminal Emulator
M on ito rTerm in a l E m ula to r
E d ito r/A ssem bler
H o st P C
S eria lIn te rface
The TE handles direct communication with the Robot.
Every key hit in the TE is sent to the robot.
Robot responds with messages which are printed in the TE window.
![Page 39: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/39.jpg)
1BA3 G Lacey Lecture 5 39
Development System Software
![Page 40: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/40.jpg)
1BA3 G Lacey Lecture 5 40
Development Cycle
D e sign & W riteA ssem b ly C o de
A ssem b le
S yn tax E rro rs? F ix E rro rs
D o w nlo ad C o d eto R o bo t
S e tup P ro g ra mS ta te
R u n P rog ram R u n E rro rs?
assembler
monitor
monitor
automatic
RDS
R o bo t
H o st P C
![Page 41: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/41.jpg)
1BA3 G Lacey Lecture 5 41
How can the monitor and my program run at the same time?
Answer: they don’t. Only one program can run at any given time on
the CPU
Monitor stops when user program is run.
Monitor starts again when user program terminates (hopefully!).
![Page 42: 1BA3 G Lacey Lecture 51 Evaluating mathematical expressions How do computers evaluate x + y or any mathematical expression ? Answer : “Reverse Polish](https://reader030.vdocument.in/reader030/viewer/2022032722/56649ce35503460f949af9ed/html5/thumbnails/42.jpg)
1BA3 G Lacey Lecture 5 42
Program Execution
How does the CPU execute code? The program will exist as numbers in
memory
The CPU must be told which program to
execute (i.e. where code exists in memory -
> memory location)