Bookon Programming
Bookon Programming
net/publication/263442019
CITATIONS READS
0 18,979
1 author:
Rc Ropp
Rutgers, The State University of New Jersey
77 PUBLICATIONS 1,352 CITATIONS
SEE PROFILE
All content following this page was uploaded by Rc Ropp on 27 June 2014.
Preface
This book was written in order to describe how the original, basic ideas
concerning communication, numbering and writing, as developed by Man,
evolved into our present day complexity wherein the computer (in many forms)
has become ubiquitously entrenched in our modern-day living. This is manifest
in the universal usage of “wireless” portable telephonic communications
worldwide where anyone is able to ”log-on” to any place in the world through
the Internet (which is a international connection of computers able to access
any of millions of so-called “web-sites” that are connected to the Internet).
How this intricacy arose is the subject of this book. The early means of
communication involved the use of spoken language, smoke-signals, beacons,
reflected light signals and printed matter, (as examples). In the 1800s, the
advent of electricity brought about the means to transmit signals via the
electrical telegraph. In the early 1900’s, the basic means of communication was
by telegraph wherein a series of “clicks” of the telegraph, via Morse-Code, was
translated by the telegraph-operator into messages called “telegrams”. The
telephone, radio or television had not yet been invented. Printed newspapers
and books were the only other means of communication.
Thus, this book begins with a history of the concepts that evolved that are
required to develop computer-programming and the concept of computer
languages. If you have ever wondered why we use “bits” to make the computer
function and why there are eight (8) bits per “byte”, this book will answer your
questions.
3
Introduction
Since many users of computers are not well versed in electronics, mathematics
or scientific formats in general, I have described the present state of complexity
of the modern-day computer in terms of how it was conceived from the teletype,
the calculator, and then the programmable calculator. This series of events
culminated in the development of a "calculator-language" which ended in the
usage of a "machine-language" to operate the first stage of calculator
development and eventually those of a computer. How this occurred is a major
part of the narrative within this book. I have presented a series of "problems"
which have been explained so that the reader can execute them and gain an
understanding of what is being discussed at that moment. All one has to do is
place different numbers within a given problem and then solve for the answer. I
have not given the answers per se since they ought to be obvious if one
understands what the problem is meant to convey.
For example, the concept of Boolean Algebra is probably foreign to most people
except mathematicians and computer scholars. However, if one is to
understand how a computer operates when it is manipulating either a word-
program or calculations similar to that of a calculator, it is essential to
understand the concept of binary language and how binary algebra and
manipulation of "bits" is carried out within the computer. This information is
approached as a step-by-step operation. The computer "operates" by
addressing a series of "program instructions" line by line to the desired end-
result. Modern computers address such program lines at a rate of millions or
4
billions of "bytes per second" in order to process the program. Originally, it was
a few thousands per second.
I hope that you find this book as mentally stimulating as I did while writing it.
Dedication
This book is dedicated to my wife of 60+ years, Francisca Margarita. who has
staunchly
supported my efforts over this time.
5
1.1. Definitions 5
1.2. Mechanical and Electrical Ancestors of the Computer 6
The Typewriter 6
The Telegraph 7
The Calculator 8
1.3. A History of Computing Devices 11
1.4. The Computer Today 14
Operating Systems 15
Basic Computer Components 15
Stop Operation-STOP 48
Zero Register Operation - ZERR 49
COMPARE Operation 49
CHANGE SIGN Operation-ACHG 49
Operations with CONSTANTS 50
2.6. The Register Selector 51
Using the Register Selector 54
2.7. Print and Space Operations 54
The Punch Operation 54
2.8. The Use of Sub-Routines 55
The CALL Routine 55
The RETURN Instruction 56
2.9. Summary to Date 56
2.10. Using the Automated Calculator 61
The Source Program 64
2.11. Converting the Source Program into an Object Program 67
Using Step Numbers 67
A Program with Step Numbers 69
A Source Program with Object Listing 70
Punching the Object Tape 71
2.12. Summary to Date 72
• When you turn on the power to a computer, the first program that runs
is usually a set of instructions kept in the computer's ROM. The software
loaded in ROM will then begin to activate the computer's disk drives.
• In most computers, it's possible to add memory beyond the original
capacity. This greatly increases the versatility of the computer since it
can handle complicated programs that it could not before the extra
memory was installed.
• The path between the operating system and virtually all hardware not on
the computer's hard disc goes through a special program or code called a
driver or buffer.
• There are small but significant differences between a buffer and a driver
in the context of its use in a computer. Thus, a buffer is associated with
the peripheral system while the driver is associated with the computer
CPU system.
• Both buffers and drivers are simple operating codes or programs that are
stored on the ROM of the CPU memory.
• As such, the drivers were created when the OS was loaded upon the
computer hard-drive initially. The peripheral buffers were also created at
that time for the various functions available in the computer.
• But the Application buffers are created when the operator “loads” the
Application program onto the OS and its ROM memory.
• If one wishes to use an Application, one must first load it on the hard-
disc. This is done by "installing" it and is a deliberate and separate
procedure.
• When the computer starts up, it is the drivers that communicate with the
CPU and its functions. Drivers also communicate with a buffer once the
icon is "clicked" to start any operational program.
• A connected storage devise such as a hard drive is accessed through a
device driver.
• Access to files stored on disks is a central feature of all operating
systems. The specific way files are stored on a disk is called a file
system, and enables files to have names and attributes.
Numbers involve counting whereas Letters involve writing and making ideas
permanent by placing ideas and concepts on paper or other surfaces to form
what we now call a book or document. This involved having an alphabet and
being able to form these alphabetic letters and make words to create a
permanent record of events. Before that, soothsayers preserved the history of
their tribe or clan and passed down history of events by word of mouth.
Language is speaking sounds or words to other persons in a way that they can
understand the thoughts that one wishes them to grasp. In terms of history,
language probably came first, followed by counting or math, and then the use
of the alphabet and writing.
Computer Languages
The inventions of Languages, Numbers (counting) and Mathematics by Man
finally led to the invention of Computer Languages. This path began with the
use of a simple programming language but soon became quite complicated.
This is shown in the following diagram that lists the various Computer
languages that arose as the early computers became progressively more
complicated:
12
However, it is clear that the first programming language was “Assembly Code”
and the major part of this book deals with how this language was started and
evolved into Fortran, Unix and finally into C++, Java or C#, the basic languages
that programmers use today.
14
15
Send $49.00 USD by mail and receive copy in pdf on 2gb flash drive (e-Mac
derived)