完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这个是义隆单片机的汇编代码,我就截取了一部分,就3个简单的问题,各位大神帮我下吧!感激不尽只学过C 第一次用汇编有点理不清额START: R0 ==0X00 //间接地址寄存器 TCC ==0X01 PC ==0X02 STATUS==0X03 R4 ==0X04 IOC5==0X05 IOC6==0X06 PORT5==0X05 PORT6==0X06 IOCB ==0X0B IOCC ==0X0C IOCD ==0X0D IOCE ==0X0E IOCF ==0X0F RF ==0X0F DATA_R==0X10 ;显示缓冲区10H~27H DIS_CNT==0X28 ;行扫描寄存器 R_LOOP ==0X29 R_LOOP_24==0X2A SHIFT_R ==0X2B tiME_R ==0x2E TIME_R_1==0x2F DLY_TIME==@50 NUMBER==@35 CY==STATUS.0 ZERO==STATUS.2 CP_164==PORT5.0 ;定义164_CP端 SCK_595==PORT5.1 ;定义595_CP端 RCK_595==PORT5.2 ;定义595_RCK锁存端 OE_595==PORT5.3 ;定义595_OE端 SI_595_G==PORT6.0 ;定义595绿色SI端 SI_595_R==PORT6.1 ;定义595绿色SI端 SI_164==PORT6.6 ;定义164_SI端 GREEN_TEST==PORT6.7 ;定义595绿色测试端 ORG 0X000 JMP INITIAL_MAIN ////第一个问题是不明白,为什么这里要初始化两次,而且第二次还换了个地址再初始化 DISI RET NOP ORG 0X008 JMP INITIAL_MAIN NOP ORG 0X010 ////第二个问题是到这里换了个地址就结束了?问题是怎么运行到main里面的程序 感觉到这里好像结束了?? ;程序初始化 INITIAL_MAIN: DISI MOV A,@0XF0 IOW IOC5 ORT5设置为输出 MOV A,@0B10111000 IOW IOC6 ORT6设置 MOV A,@0B00111111 IOW IOCD CLRA ;TCC为外触发计数方式 IOW IOCE ;WDT禁止 IOW IOCF ;禁止中断被开放 MOV A,@0B11111000 MOV PORT5,A MOV A,@0B10110000 MOV PORT6,A ;CALL DLY250MS ;250毫秒延时 MAIN: //问题3:这个main 是像start一样固定用法的伪指令 还是就一个标识符没什么意义的伪指令? JBS GREEN_TEST JMP DIS_NO_SIGN ;禁止符号显示程序 MOV A,@NUMBER MOV DIS_CNT,A
|
|
相关推荐
2个回答
|
|
1,MAIN:是个伪指令
2,ORG 0X008估计是个中断函数入口地址(51单片机就是外部中断0的中断入口 ) 3,ORG 0X010是指定INITIAL_MAIN:程序断的开始地址位置。 |
|
|
|
1,ORG指令一般是说明程序段开始的地址,单片机的0x00地址一般是复位向量,0x08一般是中断向量,也就是说发生中断的时候程序指针会指向0x08这个地址并从该地址响应中断服务程序。至于你的第一个问题,你需要根据具体功能来看,有可能功能需求就是要一段时间滞后就重新开始呢?
2,第二个问题,并不是说程序结束了,而是重新指定程序开始执行的起始地址。不加ORG 0x010的话,INITIAL_MAIN的地址就是0X009。程序顺序执行的时候是会进入到MAIN中的。 3,第三个问题,我认为MAIN只是你自己定义的一个标号,你也可以给它重新取个名字。当然,最好是看芯片的DATASHEET来确定下。 |
|
|
|
只有小组成员才能发言,加入小组>>
3252 浏览 9 评论
2932 浏览 16 评论
3433 浏览 1 评论
8934 浏览 16 评论
4027 浏览 18 评论
9663浏览 3评论
1060浏览 3评论
551浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
545浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2280浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 08:21 , Processed in 0.966768 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号