Dividing by 0
Hardware faults like no paper in printer
Hardware interrupts like keyboard presses
Debug ease
Hardware (directly manipulates or machine independent)
Ease of writing/understanding
Memory space taken up (1 line = 1 machine or many lines of abstraction?)
Speed of execution
A low-level language, it uses mnemonics to specifically manipulate hardware. 1 line of assembly language translates to 1 line of machine code.
Difficult to debug
Mnemonics
Directly manipulates hardware
Ex. Bootstrap in ROM
Uses less space in memory
Faster processing speed
Therefore is more efficient overall
Directly manipulates hardware
A compiler is a software program that translates source code written in a high-level programming language into machine code that can be executed directly by a computer.
Compiles and translates the entire file at once
Produces an executable file specific to computer architecture
If a syntax error is encountered, the compiler doesn’t produce an executable file, and sends out an error report
A software program which translates high-level language into machine code line-by-line
If a syntax error is encountered, it stops translating at that line and sends out an error report
Code must be retranslated each time it is run
Produces an executable file, so users can’t see or edit the source code for stealing
Only needs to be translated once, so it’s faster to run
User doesn’t need to have interpreter installed to execute the code
Used to write and edit program code
Makes the code clearer, to make editing easier for programmers
Prettyprint, Syntax highlighting, Indentation, Line numbers, Autocorrect and complete
The facility of the IDE which runs programs
Allows users to test code
Gives useful reports as to errors or program crashes
A list of errors and their line numbers reported after testing
Helps find mistakes made by the programmer.
Errors are identified along with the line number.
The code may be underlined or highlighted.
Helps maintain good working order of the computer so it runs without problems.
Provides a platform to run other software.
Controls allocation and usage of hardware resources.
Provides a Human Computer interface (HCI)