[PIC®/AVR®/dsPIC®产品] mplab汇编程序定义变量

[复制链接]
1668|5
 楼主| hello丶酷狗 发表于 2018-12-28 17:36 | 显示全部楼层 |阅读模式
  1. <span style="background-color: rgb(255, 255, 255);">今天刚开始自学pic的汇编,点了个小灯,在延时里我想用三个变量,为什么不能像这样用</span>tm0 db 0;tm1 dw 0;tm2 dw 0;初始化三个变量,再MOVWF到这三个变量的地址。



资深技术 发表于 2018-12-28 23:24 | 显示全部楼层
</span>tm0 db 0;tm1 dw 0;tm2 dw 0;这个语句汇编支持?
 楼主| hello丶酷狗 发表于 2018-12-29 09:20 | 显示全部楼层
资深技术 发表于 2018-12-28 23:24
tm0 db 0;tm1 dw 0;tm2 dw 0;这个语句汇编支持?

就是不支持,所以想问一下,汇编里局部变量全局变量是怎么定义的
 楼主| hello丶酷狗 发表于 2018-12-29 09:22 | 显示全部楼层
#INCLUDE"p18F45K22.inc"
; TODO INSERT CONFIG CODE HERE USING CONFIG BITS GENERATOR
;???
LED_OFF EQU   01H
LED_ON EQU    08H
;????
TMO   EQU   20H
TM1   EQU   22H
TM2   EQU   24H
;tm0  db    0
;tm1  dw    0
;tm2  dw    0

RES_VECT  CODE    0x0000            ; processor reset vector
    ORG 0x0000
    NOP
    BCF TRISC ,3,0  ;PORTC.RC3?????
    ;CLRF TRISE   ;PORTE?????
    CLRF PORTC  ;PORTC??

    MOVLW 6CH
    MOVWF OSCCON    ;?????0b00111100
    CLRF OSCTUNE
    BSF OSCCON2 ,2 ,1;?????????
    GOTO    START                   ; go to beginning of program
DELAY_1S  
        MOVLW 06H ;??????06H??W
        MOVWF TMO ;?????????

LOOP1   MOVLW 0EBH ;?????????W
        MOVWF TM1 ;?????????
         
LOOP2   MOVLW 0ECH ;?????????W
        MOVWF TM2 ;?????????
        
LOOP3   DECFSZ TM2
        GOTO LOOP3
        DECFSZ TM1
        GOTO LOOP2
        DECFSZ 20H
        GOTO LOOP1
        RETURN
;TODO ADD INTERRUPTS HERE IF USED

MAIN CODE                      ; let linker place main program

START
       ; LOOP ; BCF LATC ,3 ,0
LOOP
        MOVLW LED_ON
        MOVWF LATC
        CALL DELAY_1S
        MOVLW LED_OFF
        MOVWF LATC
        CALL DELAY_1S
        GOTO LOOP                        ; loop forever
        END
 楼主| hello丶酷狗 发表于 2018-12-29 09:24 | 显示全部楼层
bellstudio 发表于 2018-12-28 21:29
不妨贴个完整点的代码片段,以及你用的汇编器版本

编译器是mplab自带的mpasm V5.59
山东电子小菜鸟 发表于 2018-12-31 17:27 | 显示全部楼层
多看看手册
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

83

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部