Binary and Machine Codes

Download Report

Transcript Binary and Machine Codes

Skill Area 311 Part A
Lecture Overview
•
•
•
•
•
•
Binary Numbers
Binary Arithmetic
ASCII Code
Machine Code
Instruction Format
Advantages and disadvantages of
machine code
BINARY NUMBERS
What is “Binary”?
• A coding system using binary digits 0
and 1
• Represent a letter, digit or other
character in a computer or other
electronic devices
0
1
OFF
ON
You Do The Math
When we talk numbers, we
use a base-10 system,
because we use ten
characters to write out all of
our numbers.
01
Each is a binary digit or “bit”
Each bit represents a power
of two (22, 23, 24,etc)
0123456789
•
Computers using binary
language operate on a
base-2 number system,
because the two
numbers they use are
“0” and “1”.
Alphabet
Our class uses the
English language
consisting of 26
characters, arranged
together in a variety of
ways, to communicate.
Aa = 01000001 01100001
Zz = 01011010 01111010
8 bits = 1 byte
Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm
Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz
•
Computers use binary
language consisting of
2 characters, arranged
together in groups of
eight, to communicate.
The Byte Scale
Binary Arithmetic
• Binary to Decimal(denary):
Binary
1
0
1
1
0
Power of Two
24
23
22
21
20
16
8
4
2
1
16
0
4
2
0
Binary x Power of Two
Result
16+0+4+2+0
= 22
Binary Arithmetic
• Decimal (denary) to Binary:
Number
Divide By
Result
Remainder
23
2
11
1
11
2
5
1
5
2
2
1
2
2
1
0
1
2
0
1
Result =10111
Read from bottom to top
Binary Arithmetic
• Decimal Addition
• Binary Addition
10110
+ 10111
101101
22
+ 23
45
• 0 plus 0 produces 0
• 0 plus 1 produces 1
• 1 plus 1 produces 0 with a ‘carry’ of 1 into
the next most significant place
• 1 plus 1 plus 1 produces 1 with a ‘carry’ of 1
into the next most significant place
Binary Arithmetic
• Decimal Multiplication
5
× 3
15
• Binary Multiplication
101
× 011
101
101
000
000
001111
Alphanumeric Codes
• Beside Numbers, we have to
represent other types of information:
– Letter of alphabet, mathematical
symbols
• American Standard Code for
Information Interchange (ASCII) 1968
ASCII Code
• Uses 7 bits to encode 128 characters
• 7 bits of ASCII Code
– (b6 b5 b4 b3 b2 b1 b0)2
• One ASCII character is stored using a byte
• One unused bit can be used for other purposes
such as representing Greek alphabet, italic type
font, etc.
• The eighth bit can be used for error-detection
ASCII Code
• 128 different characters
– 26 + 26 + 10 = 62 (letters and decimal digits)
– 32 special printable characters %, *, $
– 34 special control characters (non-printable):
BS, CR, etc.
• Example:
– A  65 = (1000001),…, a  97 = (1100001)
– 0 48 = (0110000), …,9  57 = (0111001)
ASCII Code
ASCII Code - Extended
MACHINE CODE
OR
MACHINE LANGUAGE
What is a “Machine Code”?
• The lowest and most elementary level of
Programming Language.
• 1st type of PL to be developed.
• Represented inside the computer by a
String of binary digits (bits) 0 and 1.
• The symbol 0 stands for the absence of
Electric Pulse and 1 for the presence of an
electric pulse.
Why “Machine Code”?
• Their order tells the computer what to
do.
• All other kinds of software need to be
translated into machine code before
they can be used.
Instruction Format
• Each instruction is a number that
combines:
– An operation code (opcode) that picks a
hardware function
– One or two input operands (where input
comes from)
– One output operand (where result goes)
Opcode and operand
• An opcode identifies which basic
computer operation in the instruction
set is to be performed. It tells the
computer to do something.
• Operands are typically memory or
registry addresses.
• Opcode is like a verb in a sentence,
operands are like the subject in a
sentence.
Machine Code Instruction
LD, A, number
Load A with
number. A
stands for
“accumulator”
and LD is short
for “load”
Opcodes and
operands are
separated by
commas
Advantages of Machine Code
• Makes fast and efficient use of the
computer
• Requires no translator to translate the
code i.e. directly understood by the
computer
Disadvantages of Machine Code
• All operations codes have to be
remembered
• All memory addresses have to be
remembered
• It is hard to amend or find errors in a
program written in the machine
language
• These languages are machine
dependent
Summary
• Binary Numbers:
– Binary digits 0 and 1
– 8 bits = 1 byte
• ASCII:
– 7 bits
– 128 characters, 255 with extended
• Machine Code
• Opcode and operand