Computer Input methods
It involves getting data from the user to the computer.
Some input can go directly to the computer for processing e.g bar codes, speech through microphone and data entered means of a device that converts motions to on-screen action. Some input goes through a good deal of intermediate handling e.g from source to magnetic disk. The goal however is to gather data to be processed the computer i.e raw data and convert it into some form the computer can understand.
Input devices include:
iv. Light pen joystick
vi. Touch screen
vii. Touch pad, etc
8.2 Source data automation
It involves use of special equipment to collect data at the source as a by-product of the activity that generates the data and send it directly to the computer.
Source data automation eliminates keying, therereducing costs and opportunities for human-introduced mistakes. It also improves the speed of the input operation.
It reduces the number of intermediate steps required between the origination of data and its processing e.g the barcode.
Data automation devices include:
ii. Magnetc-Ink Character recognition
iii. Optical mark recognition
8.3 Output methods
It provides information for the user.
This method takes the form of screen or printer output, voice, graphics, microfilm. Etc.
Output devices include:
Assembly language is a type of low-level language for programming computer, micro-processors and micro-controllers and integrated circuits.
Assembly language uses mnemonics, instructions and operands to represent machine code. E.g. MOV-10110000
Assembly language is the most basic programming language available for any processor. Each processor has its own assembly language. A programmer works only with operations implemented directly on the physical CPU.
Assembly language is not portable between various families of processors. Every computer architecture has its own machine language therefore its own assembly language.
While all general purpose computers are able to carry out essentially the same functionality, the way they do it differs and the corresponding assembly language must reflect these differences. Instructions in assembly language are generally very simple unlike in a high level language. An assembler is used to translate assembly language into target computer machine code. Multiple sets of assembly language syntax may exist for a single instruction set.
Assembly language consists of 3 types of instruction statements which are used to define the program operations.
Mnemonics is a symbolic name for a single executable machine language instruction (opcode)
There is at least one opcode mnemonic defined for each machine language instruction. Each instruction consists of an opcode plus operands (one byte values address of data located elsewhere)
There are instructions used to define data elements to hold data variables. They define the type of data, the length and the alignment of data. These instructions also define whether the data is available to outside programs or only to the program in which the data section is defined.
Are instructions executed the assembler at assembly time not CPU at run time. They depend on parameters input the programmer to assemble a program. They also can be used to manipulate presentation of the program to make it easier for the programmer to read and maintain.
Most amblers provide flexible symbol management, allowing programmers to manage namespaces, calculate offsets within data structures and assign labels that refer to literal values or result of simple computations. Assembly language allows comments to be added to assembly source code but are ignored assembler.
Usage of assembly language
i. Interacting directly with the hardware e.g. device drivers and interrupt handlers
ii. Using processor-specific instructions not exploited the compiler e.g. encryption algorithms
iii. A system with severe resource constraints (embedded system) must be hand-coded to maximize the use of limited resources
iv. Writing real-time programs that need precise timing and responses e.g. medical equipments
v. Writing computer viruses, bootloaders, device drivers
vi. Writing games
vii. Writing compiler software
viii. Writing cryptographic algorithms