32寻址方式 322绝对寻址 绝对寻址有下列4种类型: >数据存储器(dmad)寻址 >程序存储器(pmad)寻址 >∥O端口(伊A)寻址 *(k)寻址
3.2.2 绝对寻址 绝对寻址有下列4种类型 : ➢数据存储器(dmad)寻址 ➢程序存储器(pmad)寻址 ➢ I/O端口(PA)寻址 ➢ *(lk)寻址 3.2 寻址方式 27
322绝对寻址 相关指令如下表所示: 绝对寻址方式 相关指令 VDK Smem, dmad 数据存储器 MVDM dmad,MMR (dmad)寻址 VKD dmad, Smem MVMD MMR dmad 程序存储器 MVDP Smem, pmad I MVPD Dmad, Smem (pmad)寻址 FIRS Xmem, Ymem, pmad pmad→PAR,Whie(RC)≠0,(B)+(A(32-16)×(Pmem addressed by PAR)B, ((mem)+ (Ymem)<<16-A, (PAR)+1→PAR,(RC)-1→RC(FRS指令功能)
28 3.2.2 绝对寻址 相关指令如下表所示: 绝对寻址方式 相关指令 数据存储器 (dmad)寻址 MVDK Smem, dmad MVDM dmad, MMR MVKD dmad, Smem MVMD MMR, dmad pmad→PAR, While (RC)≠0, (B)+(A(32–16))×(Pmem addressed by PAR)→B, ((Xmem)+(Ymem))<<16→A, (PAR)+1→PAR, (RC) −1→RC (FIRS指令功能) 程序存储器 (pmad)寻址 MVDP Smem, pmad MVPD pmad, Smem FIRS Xmem, Ymem, pmad
322绝对寻址 绝对寻址方式 相关指令 程序存储器 MACD Smem,pmac,src pmad)寻址 MACP Smem,pmad,src Jo端口(PA)寻址 PORTR PA,Smem PORTW Smem, PA *(k)寻址 可用于所有支持单数据操作数 (Smem)的指令 pmad→PAR,(Smem)×( Pmem addressed by PAR) +(src)→src,(Smem)→T,(Smem)→Smem+1 (RC)≠0,(PAR)+1PAR(MACD指令功能) MACP与MACD指令唯一的区别是不执行内存延迟 (Smem)→Smem+1。MVDK+(200h),AR2
绝对寻址方式 相关指令 程序存储器 (pmad)寻址 MACD Smem, pmad, src MACP Smem, pmad, src 3.2.2 绝对寻址 30 MACP与MACD指令唯一的区别是不执行内存延迟 (Smem)→Smem+1。 I/O端口(PA)寻址 PORTR PA, Smem PORTW Smem, PA *(lk)寻址 可用于所有支持单数据操作数 (Smem) 的指令 pmad→PAR, (Smem)×(Pmem addressed by PAR) +(src)→src, (Smem)→T, (Smem)→Smem+1, If (RC)≠0, (PAR)+1→PAR (MACD指令功能) MVDK *(200h),AR2
32寻址方式 323累加器寻址 有两条指令采用这种寻址方式: 累加器寻址指令 解释 A中内容为程序存储器地址,将 READA Smem该地址中的数据送入Smem指定 的数据存储器中 WRITA Smem 将Smem指定的数据存储器中的内 容送入A所指出的程序存储器中 A(22-0)PAR,(Smem)=2(Pmem addressed by PAR), If(RC≠0,(RC)-1→RC,(PAR)+1→PAR 与重复指令RPT配合使用,便于两个空间的连续数据读写 31
有两条指令采用这种寻址方式 : 3.2.3 累加器寻址 累加器寻址指令 解释 READA Smem A中内容为程序存储器地址,将 该地址中的数据送入Smem指定 的数据存储器中 A(22-0)→PAR , (Smem) (Pmem addressed by PAR), If (RC)≠0, (RC)–1→RC , (PAR)+1→PAR 3.2 寻址方式 31 WRITA Smem 将Smem指定的数据存储器中的内 容送入A所指出的程序存储器中 与重复指令RPT配合使用,便于两个空间的连续数据读写
第3章汇编语言指令系统 323累加器寻址 例3-7程序存储器中有一个常数表格,首地址为 TABLE, 度是10个字。要求把该表格读入首地址为 BUFFER的数据 存储器区中。 实现该功能的程序段如下: LD #TABLE, A # TABLE→A STM #BUFFER, AR3: #BUFFER-AR3 RPt #9 ;后面一条指令将运行10次,RC=9 READA *aR3+ ;A→PAR,(PAR)→(AR3), ;(AR3)+1→AR3 ;If(RC≠0,(RC1→RC,(PAR)+1→PAR 32
第3章 汇编语言指令系统 3.2.3 累加器寻址 例3-7 程序存储器中有一个常数表格,首地址为TABLE, 长 度是10个字。要求把该表格读入首地址为BUFFER的数据 存储器区中。 实现该功能的程序段如下: LD #TABLE,A ;#TABLE→A STM #BUFFER,AR3 ;#BUFFER→AR3 RPT #9 ;后面一条指令将运行10次, RC=9 READA *AR3+ ; A →PAR, ((PAR))→(AR3) , ; (AR3)+1→AR3 32 ; If (RC)≠0, (RC)–1→RC,(PAR)+1→PAR