我试图在asm中获取数组的最大值,但是CPFSGT
命令存在问题:它不可定义,我不知道为什么。我正在使用PIC16F877。
CBLOCK
MYARRAY : 0
ARG00 EQU D'8' , ARG01 EQU D'9', ARG02 EQU D'2', ARG03 EQU D'1',
ARG04 EQU D'7', ARG05 EQU D'5', ARG06 EQU D'4', ARG07 EQU D'6'
ARG08 EQU D'0', ARG09 EQU D'3'
ENDC
Max EQU 0x73
Counter EQU 0x74
GOTO getMax
getMax:
MOVLW .0
MOVFW Max
MOVLW .9
MOVFW Counter
loop:
MOVLW MYARRAY + Counter
CPFSGT Max
MOVFW MaX
DECFSZ Counter
GOTO loop
MOVLW MaX
答案 0 :(得分:1)
你完全迷失了......
CPFSGT
指令,而不支持
在PIC16中,就像你的情况一样。CBLOCK
旨在声明块常量而不是
程序数组。FSR0
或FSR1
注册作为指向数组的指针答案 1 :(得分:0)
CPFSGT Max之后的行应该是MOVFW Max而不是MOVFW MAX吗?最后也应该是MOVLW Max。
凯文