专栏中心

EEPW首页 > 专栏 > AVR汇编语言如何实现散转结构

AVR汇编语言如何实现散转结构

发布人:chen_yuangui 时间:2009-09-30 来源:工程师 发布文章
.include "8515def.inc"
.dseg
keyone: .byte 1

.cseg
rjmp reset
.org 0x10

RESET: 
ldi r16,low(RAMEND) ; ram 的顶端
ldi r17,high(RAMEND)
out spl,r16 ; 设置堆栈指针指向ram顶部
out sph,r17
ldi r16,1
sts keyone,r16 ;变量初始化
L2:
lds R20,keyone
ldi R24,low(L8) ;取散转表首地址
ldi R25,high(L8)
clr r21
subi r20,1 ;计算表内偏移量
sbci r21,0
lsl r20 ;注意对FLASH的地址是字寻址
rol r21
add r24,r20 ;相当于 @a+dptr
adc r25,r21
mov R30,R24
mov R31,R25
ijmp ;间接跳转指令,指向 z=r30,31

L8:
rcall prog1
rjmp L6
rcall prog2
rjmp L6
rcall prog3
rjmp L6
rcall prog4
rjmp L6
rcall prog5
L6:
NOP
rjmp L2
ret
prog1:
ldi R24,2
sts keyone,R24
ret
prog2:
ldi R24,3
sts keyone,R24
ret
prog3:
ldi R24,4
sts keyone,R24
ret
prog4:
ldi R24,5
sts keyone,R24
ret
prog5:
ldi R24,1
sts keyone,R24
ret 

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

HiperPLC

视频 2009-04-09

Cincoze MXM GPU工控机夺下2026台湾精品奖

采用集成SoC缩小4-20 mA智能变送器的尺寸

NEC Electronics 汇编器与PM+软件安装演示视频

视频 2009-04-16

【供应商亮点】Teradar推出太赫兹视觉传感器,助力打造更安全的自动驾驶汽车

2025年第三季度,非洲智能手机市场出货量同比增长24%

NEC Electronics SM+软件安装演示视频

视频 2009-04-16

使用AI助手提升测试效率:imc FAMOS 2025高阶培训,12月3日开讲!

BiCS FLASH进阶时,加速存储新进化

LinkSwitch-II

视频 2009-04-09

NEC Electronics C编译器软件安装演示视频

视频 2009-04-16

利用通用生成式人工智能(GenAI)平台提升内部流程效率

设计高压直流母线电容器的有源预充电电路

Bourns 全新推出 21 款 TVS 二极管系列 提供更广泛的峰值电压范围,提升设计灵活性

具身智能的商业化路径大咖说——“世界机器人大会”圆桌精选

更多 培训课堂
更多 焦点
更多 视频

技术专区