AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构

来源:本站
导读:目前正在解读《AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构》的相关信息,《AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构》的详细说明。
简介:下面是 LJMP @A+DPTR这样的散转结构 的源代码。

include"8515def.inc"

.dseg

keyone:.byte1

.cseg

rjmpreset

.org0x10

RESET:

ldir16,low(RAMEND);ram的顶端

ldir17,high(RAMEND)

outspl,r16;设置堆栈指针指向ram顶部

outsph,r17

ldir16,1

stskeyone,r16;变量初始化

L2:

ldsR20,keyone

ldiR24,low(L8);取散转表首地址

ldiR25,high(L8)

clrr21

subir20,1;计算表内偏移量

sbcir21,0

lslr20;注意对FLASH的地址是字寻址

rolr21

addr24,r20;相当于@a+dptr

adcr25,r21

movR30,R24

movR31,R25

ijmp;间接跳转指令,指向z=r30,31

L8:

rcallprog1

rjmpL6

rcallprog2

rjmpL6

rcallprog3

rjmpL6

rcallprog4

rjmpL6

rcallprog5

L6:

NOP

rjmpL2

ret

prog1:

ldiR24,2

stskeyone,R24

ret

prog2:

ldiR24,3

stskeyone,R24

ret

prog3:

ldiR24,4

stskeyone,R24

ret

prog4:

ldiR24,5

stskeyone,R24

ret

prog5:

ldiR24,1

stskeyone,R24

ret

提醒:《AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构》最后刷新时间 2024-03-14 01:00:03,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《AVR汇编语言如何实现如 LJMP @A+DPTR这样的散转结构》该内容的真实性请自行鉴别。