汇编语言简单问题,在线等!!!很简单的入门问题额 10
这个是义隆单片机的汇编代码,我就截取了一部分,就3个简单的问题,各位大神帮我下吧!感激不尽只学过C第一次用汇编有点理不清额START:R0==0X00//间接地址寄存器T...
这个是义隆单片机的汇编代码,我就截取了一部分,就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 展开
只学过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 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询