欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC18F4431-I/P 参数 Datasheet PDF下载

PIC18F4431-I/P图片预览
型号: PIC18F4431-I/P
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚增强型闪存微控制器采用纳瓦技术,高性能PWM和A / D [28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High-Performance PWM and A/D]
分类和应用: 闪存微控制器
文件页数/大小: 392 页 / 3127 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F4431-I/P的Datasheet PDF文件第62页浏览型号PIC18F4431-I/P的Datasheet PDF文件第63页浏览型号PIC18F4431-I/P的Datasheet PDF文件第64页浏览型号PIC18F4431-I/P的Datasheet PDF文件第65页浏览型号PIC18F4431-I/P的Datasheet PDF文件第67页浏览型号PIC18F4431-I/P的Datasheet PDF文件第68页浏览型号PIC18F4431-I/P的Datasheet PDF文件第69页浏览型号PIC18F4431-I/P的Datasheet PDF文件第70页  
PIC18F2331/2431/4331/4431  
6.4.1  
TWO-WORD INSTRUCTIONS  
6.4  
Instructions in Program Memory  
The standard PIC18 instruction set has four two-word  
instructions: CALL, MOVFF, GOTO and LSFR. In all  
cases, the second word of the instructions always has  
1111’ as its four Most Significant bits; the other 12 bits  
are literal data, usually a data memory address.  
The program memory is addressed in bytes. Instructions  
are stored as two bytes or four bytes in program memory.  
The Least Significant Byte of an instruction word is  
always stored in a program memory location with an  
even address (LSB = 0). Figure 6-5 shows an example of  
how instruction words are stored in the program memory.  
To maintain alignment with instruction boundaries, the  
PC increments in steps of 2 and the LSB will always read  
0’.  
The use of ‘1111’ in the four MSbs of an instruction  
specifies a special form of NOP. If the instruction is exe-  
cuted in proper sequence, immediately after the first  
word, the data in the second word is accessed and  
used by the instruction sequence. If the first word is  
skipped for some reason and the second word is  
executed by itself, a NOP is executed instead. This is  
necessary for cases when the two-word instruction is  
preceded by a conditional instruction that changes the  
PC. Example 6-4 shows how this works.  
The CALL and GOTO instructions have the absolute  
program memory address embedded into the instruction.  
Since instructions are always stored on word boundaries,  
the data contained in the instruction is a word address.  
The word address is written to PC<20:1>, which  
accesses the desired byte address in program memory.  
Instruction 2 in Figure 6-5 shows how the instruction,  
GOTO 000006h’, is encoded in the program memory.  
Program branch instructions, which encode a relative  
address offset, operate in the same manner. The offset  
value stored in a branch instruction represents the num-  
ber of single-word instructions that the PC will be offset  
by. Section 24.0 “Instruction Set Summary” provides  
further details of the instruction set.  
Note:  
For information on two-word instructions  
in the extended instruction set, see  
Section 24.2 “Instruction Set”.  
FIGURE 6-5:  
INSTRUCTIONS IN PROGRAM MEMORY  
Word Address  
LSB = 1  
LSB = 0  
Program Memory  
Byte Locations   
000000h  
000002h  
000004h  
000006h  
000008h  
00000Ah  
00000Ch  
00000Eh  
000010h  
000012h  
000014h  
Instruction 1:  
Instruction 2:  
0Fh  
EFh  
F0h  
C1h  
F4h  
55h  
03h  
00h  
23h  
56h  
MOVLW  
GOTO  
055h  
000006h  
Instruction 3:  
MOVFF  
123h, 456h  
EXAMPLE 6-4:  
CASE 1:  
TWO-WORD INSTRUCTIONS  
Source Code  
Object Code  
0110 0110 0000 0000 TSTFSZ  
REG1  
; is RAM location 0?  
1100 0001 0010 0011  
1111 0100 0101 0110  
0010 0100 0000 0000  
CASE 2:  
MOVFF  
REG1, REG2 ; No, skip this word  
; Execute this word as a NOP  
; continue code  
ADDWF  
REG3  
REG1  
Object Code  
Source Code  
0110 0110 0000 0000  
1100 0001 0010 0011  
1111 0100 0101 0110  
0010 0100 0000 0000  
TSTFSZ  
MOVFF  
; is RAM location 0?  
REG1, REG2 ; Yes, execute this word  
; 2nd word of instruction  
ADDWF  
REG3  
; continue code  
DS39616D-page 66  
2010 Microchip Technology Inc.  
 复制成功!