280 likes | 416 Views
E3165 DIGITAL ELECTRONIC SYSTEM. INTRODUCTION. Programming – process of composing several instructions to perform certain tasks. Program – product of programming which contains several instructions. Skills of programming / structure of programming implementation:
E N D
INTRODUCTION • Programming – process of composing several instructions to perform certain tasks. • Program – product of programming which contains several instructions. • Skills of programming / structure of programming implementation: • Essential and best instructions to perform a certain task. • How instructions organized in subprogram (subroutine) so it can be reused as many times as possible. • Used minimum lines of instructions for maximum tasks. • Addressing modes – procedure of fetching and sending data between source and destination.
ADDRESSING MODES • MC68000 : 14 different addressing modes divided into 6 groups. • By understanding the addressing modes, we have EA (effective address). • EA will help us identifies the location of an operand.
REGISTER DIRECT ADDRESSING • Dn – Data register direct addressing. (D1,D2,D3,D4,D5,D6,D7) • An – Address register direct addressing. (A1,A2,A3,A4,A5,A6,A7) • Fastest and most compact because no reference to memory.
ABSOLUTE DATA ADDRESING • EA in memory. Ex : MOVE.L $1234,D4 • Absolute short data: • 16 bits address. • 000000 – 007FFF FF8000 - FFFFFF • Absolute long data: • 24 bits address. • 000000 – FFFFFF
PROGRAM COUNTER RELATIVE / RELATIVE • Program counter relative with offset • EA = offset + value in PC = d16 + PC d16 will be sign-extends to 32 bits first. 00122002
PROGRAM COUNTER RELATIVE / RELATIVE • Program counter relative with index and offset • EA = index + offset + value in PC = Xn + d8 + value in PC Xn – data or address register d8 will be sign-extends to 32 bits first. 00010202
REGISTER INDIRECT ADDRESSING • Address register indirectly referred. • 5 modes: • Address register indirect. • Postincrement address register indirect. • Predecrement address register indirect. • Address register indirect with offset. • Address register indirect with index and offset.
CONCEPT OF PROGRAMMING • Steps in program building: • Definition of problem. • Logical design. • Programming. • Documentation of the program. • Analysis the program. • Test run the program.
EXAMPLE • Definition of problem: • Input data of two numbers. These two numbers are added. The product is stored in a memory location. • Logical design – flow chart Programming model of the microprocessor (Figure 2.15 : Unit 2/38)
EXAMPLE (cont.) • Programming.
EXAMPLE (cont.) • Documentation of program.
EXAMPLE (cont.) • Analysis the program
EXAMPLE (cont.) • Analysis the program
EXAMPLE (cont.) • Analysis the program • Test run the program • ASM68K – assembler • SIM68K - simulator
IMPLEMENTATION STRUCTURE OF PROGRAMMING • Effective programming is the know how to identify the best or optimum tools. (composition of instructions and selection of addressing modes) • Good program is with the features of least instruction lines, least executions duration, easy alteration and modifications. • Structure of programming: • Construct of sequential • Construct of loop • Construct of decision making by branch/jump • Construct of subroutine
Instruction-1 Instruction-1 Instruction-n START END CONSTRUCT OF SEQUENTIAL • Basic, simple and straight forward. • Execute one instruction after another.
Instruction-1 LOOP Instructions : JUMP LOOP START Instruction-2 Instruction-n LOOP (b) Instructions (a) Flow chart CONSTRUCT OF LOOP • Some instruction need to be repeated – loop construct. • At the end of the program, assert an instruction to instruct the program execution to go back to the first instruction.
CONSTRUCT OF DECISION MAKING BY BRANCH/LOOP • Another structure of loop construct where the program is allowed to decide whether to implement the loop or not.
CONSTRUCT OF SUBROUTINE • To simplify a very long or complex program. • Grouping several instructions that tend to be repeated. This subroutine need to be name for easy call.