问题描述
R = 23 + A.6 - 101
如何让用户输入A
?另外,如何使用参与变量获得数据内存的分配。这是我之前发布的代码。
LIST P=16C73A
#INCLUDE <P16C73A.inc> ;
ORG 0 ;PROGRAM MEMORY ADDRESS =0x0000
GOTO MAIN
N1 EQU 70
RL EQU 71
RH EQU 72
ORG 30
MAIN:
MOVLW .6
MOVWF N1
MOVLW .10
CLRF RL
CLRF RH
UP: ADDWF RL ;RL=W+RL
BTFSC STATUS,C ; CHECK C FLAG IN STATUS
INCF RH ;IF(C==1 THEN RH=RH+1) ;
DECFSZ N1 ;N1=N1-1 ;Декрементация
GOTO UP ;IF(N1!=0) THEN GOTO UP LABEL
ADD:
MOVLW .23
ADDWF RL
CLRW
MOVLW .101
SUBWF RL
HERE: GOTO HERE
END
我使用的是 MPLAB IDE。
解决方法
如果你想在 PIC 程序集中分配内存,你可以这样做;
Bank_0 udata 0x020
A RES 1 ;reserve 1 Byte at address 0x20
B RES 1 ;reserve 1 Byte at address 0x21
C RES 1 ;reserve 1 Byte at address 0x22
或者使用共享银行
Bank0_shr udata_shr 0x70
W_safe RES 1 ;reserve 1 Byte at address 0x70
您可以输入一个值,例如控制器端口上的二进制格式。