














Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The lecture slides of the Microcomputer Structures are very easy to understand and the main points are:Instruction Set, Effectively, Understand, Register Set, Instruction Set., Data Movement, Arithmetic Operations, Logical Operations, Shift Operations, Bit Manipulations
Typology: Slides
1 / 22
This page cannot be seen from the preview
Don't miss anything!















9/20/6 Lecture 3 - Instruction Set - Al 1
9/20/6 Lecture 3 - Instruction Set - Al 2
The 68000 Instruction Set The understand and effectively use an architecture must understand the register set and the instruction set.
9/20/6 Lecture 3 - Instruction Set - Al 4
Execution of the various instructions will set different bits in the condition code register A table is provided to show which instructions affect which status bits For the 68000, Table 2.2 of the text gives this information (pages 47-49) – Legend is at the end of the table.
9/20/6 Lecture 3 - Instruction Set - Al 5
General form: MOVE source,destination MOVE MOVE #$00123456, D Source operand – any addressing mode – Data in register, or memory location Destination – use any addressing mode except immediate addressing, program counter relative V & C bits of CCR are cleared, N & Z updated MOVEA – Move address Destination must be an address register (does not affect CCR)
9/20/6 Lecture 3 - Instruction Set - Al 7
MOVE to or from SR TO the status register is a privledged instruction – only when in supervisor mode. FROM can be done in either mode on the 68000 but only supervisor mode on the 68010, 68020, or
Form MOVE
9/20/6 Lecture 3 - Instruction Set - Al 8
There are actually two A7 registers, one for the user and one that is used in supervisor mode (USP and SSP) MOVE.L USP,An or MOVE.L An,USP copy USP value to/from address register An Register other than the USP must be another address register. User cannot see system stack pointer, SSP
9/20/6 Lecture 3 - Instruction Set - Al 10
Move quick Load a value in the range -128 to +127 into a data register Loaded as a 32 bit value The value is sign extended to a 32-bit value MOVEQ #-3, D Loads $FFFF FFFD into D
9/20/6 Lecture 3 - Instruction Set - Al 11
Move peripheral instruction Copies words or longwords to an 8 bit peripheral Byte orientated peripheral interfaced such that they map to odd or even byte addresses. MOVEP.L D2,0(A0) Copies contents of D2 to [A0+0], [A0+2], [A0+4], [A0+6]
9/20/6 Lecture 3 - Instruction Set - Al 13
PC relative only allowed for source operands Consider LEA TABLE(PC),A MOVE.B D0,(A0) Loads the position independent address of TABLE into address register A Then the least significant byte of D0 is stored at the address indicated by A
9/20/6 Lecture 3 - Instruction Set - Al 14
Push effective address Calculates the effective address and pushes it to the stack Useful to put calling routines address on stack so subroutine can access actual data.
9/20/6 Lecture 3 - Instruction Set - Al 16
Exchange the contents of two registers Exchanges the entire 32-bit contents SWAP Exchange the high and low order words of a data register.
9/20/6 Lecture 3 - Instruction Set - Al 17
Conventional set of integer arithmetic ops Act on 8, 16, or 32 bit operands
ADD - add source and destination and place result in destination Both can be data registers OR At least one must be a data register
9/20/6 Lecture 3 - Instruction Set - Al 19
ADDI - Add immediate – adds a literal value of a byte, word, or longword to the contents of a destination operand and then stores the result in the destination. ADDI.W #1234,(A0) Cannot be done using ADD as one operand must be a data register. Here can do without a data register. ADDX – Add extended Add source and destination plus contents of the X bit of the condition code register Both source and destination must be data registers Carry out of msb is stored in X from operations so this allows mutiprecision data.
9/20/6 Lecture 3 - Instruction Set - Al 20
CLR – Loads the target with 0
DIVS, DIVU – Integer division, signed or unsigned DIVU