Branch Instruction
A branch (or jump on some computer architectures, such as the PDP-8 and Intel x86) is a point in a computer program where the flow of control is altered. The term branch is usually used when referring to a program written in machine code or assembly language; in a high-level programming language, branches usually take the form of conditional statements, subroutine calls or GOTO statements. An instruction that causes a branch, a branch instruction, can be taken or not taken: if a branch is not taken, the flow of control is unchanged and the next instruction to be executed is the instruction immediately following the current instruction in memory; if taken, the next instruction to be executed is an instruction at some other place in memory. There are two usual forms of branch instruction: a conditional branch that can be either taken or not taken, depending on a condition such as a CPU flag, and an unconditional branch which is always taken.
Call Subroutine instructions
Call Subroutine instructions and Return From Subroutine instructions within the instruction stream. The first stage stores a return address in a return register when a Call Subroutine instruction is predicted. The first stage predicts a return to the return address in the return register when a Return From Subroutine instruction is predicted. A second stage decodes each Call Subroutine and Return From Subroutine instruction in order to maintain a Return Stack Buffer that stores a stack of return addresses. Each time the second stage decodes a Call Subroutine instruction, a return address is pushed onto the Return Stack Buffer. Correspondingly, each time the second stage decodes a Return From Subroutine instruction, a return address is popped off of the Return Stack Buffer. The second stage verifies predictions made by the first stage and predicts return addresses for Return From Subroutine instructions that were not predicted by the first stage. A third stage executes Return From Subroutine instructions such that the predictions are verified. Finally, a fourth stage retires Return From Subroutine instructions and ensures that no instructions fetch after a mispredicted return address are committed into permanent state.
Program interrupt
an interrupt is an asynchronous signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution. A hardware interrupt causes the processor to save its state of execution via a context switch, and begin execution of an interrupt handler. Software interrupts are usually implemented as instructions in the instruction set, which cause a context switch to an interrupt handler similar to a hardware interrupt. Interrupts are a commonly used technique for computer multitasking, especially in real-time computing. Such a system is said to be interrupt-driven.
An act of interrupting is referred to as an interrupt request ("IRQ").
Program is the US spelling.Programme is the UK spelling.
The accumulator is a general register that holds a value. It is also a special register that can be used as the target for the result of various arithmetic or logical computations. For instance, if you wanted to add two numbers, you could load the first into the accumulator, add the second to the accumulator, and then store the accumulator where wanted. The instruction register is an internal register that holds the value of the instruction opcode in order for the 8085 to decode and process the instruction. While it is shown on the Intel block diagram for the 8085, it is not directly accessible by the running program - it is for internal use only by the 8085.
A procedure is a subroutine that can be called from another part of the program. Procedures can be as small as 2 lines (the definition line, and then the procedure itself), or consist of hundreds of lines.
Debugging makes the program works fast while maintainance makes the program slow
1.) A correct solution generates the appropriate information, but a good solution is a correct solution that is also very easy to understand and maintain.
internal interrupt is synchronous with the program while external interrupts are asynchronous.
A hardware interrupt is initiated from a hardware event, such as a byte received from a serial port. It is asynchronous to the running program, i.e. it can occur at any time. An internal, or software, interrupt is initiated by the running program, thus it is under the control of the running program. In the 8085, for instance, the RST instructions are software interrupts. Note, however, that external interrupts can initiate a software RST instruction, so the two events can appear to be the same kind of event. The biggest difference is the handling of the interrupt enable (IE) flag. In the hardware interrupt, the IE flag is turned off when processing the interrupt, and it is turned on right before the interrupt service routine executes the final return instruction. The software interrupt, on the other hand, has nothing to do with IE. As a result, the code must be able to tell the difference.
interrupt is a signal caused by I/O devices where as subroutine is a part of the program which is excuted rapidly
interrupt handling is the process of handling a break or interrupt called by a program where as exception handling is for handling some exceptional conditions that'll occur when a program is running
difference between micro operation and microinstruction
The Instruction Location Counter is a variable inside of the assembler. While the Program Counter is a register. The PC solely keeps track of the next instruction in a program, ILC increments by each instruction's operand length.
Program is a set of instruction of a computer to perform. Software is the various kind of program that is used to operate computer smoothly.
A trap instruction is a software interrupt. It's generated by an error or by a user program when it needs the operating system to perform an operation (a system call).
Trap is actually a software generated interrupt caused either by an error (for example division by zero, invalid memory access etc.), or by an specific request by an operating system service generated by a user program. Trap is sometimes called Exception. The hardware or software can generate these interrupts. When the interrupt or trap occurs, the hardware therefore, transfer control to the operating system which first preserves the current state of the system by saving the current CPU registers contents and program counter's value. after this, the focus shifts to the determination of which type of interrupt has occured. For each type of interrupt, separate segmants of code in the operating system determine what action should be taken and thus the system keeps on functioning by executing coputational instruction, I/O instruction, torage instruction etc.
There isn't any difference. Two different words forexactly same thing. Third way to call it is instruction address register.
The INT 03 instruction on the 8086/8088 and higher class processors is a program generated interrupt that only requires one byte in the opcode. Often, this is used by a debugger, to plant breakpoints at certain points in the code. During the interrupt servicing routine, the original opcode would be restored so that it could be executed if desired. Contrast this with the INT 01 instruction, which is actually a single step type of interrupt. In this case, the debugger sets the single step flag in the return PSW, and then simply returns to the program. No opcode needed to be planted, as there will be an automatic execution of just one instruction, and then the interrupt will occur. The difference is in performance. INT 03 can allow the program to run at full speed until it hits the breakpoint. The downside is that, if the program does not make it to the breakpoint, the debugger will not be able to regain control without forcing an interrupt. INT 01 allows the debugger to examine the state of the program at every single instruction, allowing the implementation of complex rule based breakpoints. The downside is that program execution will be very slow.
what is instruction length and what is instruction format and what is program length and what is the difference among them