3.2寻址方式 3.2.2绝对寻址 绝对寻址有下列4种类型: >数据存储器(dmad)寻址 >程序存储器(pmad)寻址 >VO端口(PA)寻址 >*(k)寻址 27
3.2.2 绝对寻址 绝对寻址有下列4种类型 : ➢数据存储器(dmad)寻址 ➢程序存储器(pmad)寻址 ➢ I/O端口(PA)寻址 ➢ *(lk)寻址 3.2 寻址方式 27
3.2.2绝对寻址 相关指令如下表所示: 绝对寻址方式 相关指令 MVDK Smem,dmad 数据存储器 MVDM dmad,MMR (dmad)寻址 MVKD dmad,Smem MVMD MMR,dmad 程序存储器 MVDP Smem,pmad MVPD pmad,Smem (pmad)寻址 FIRS Xmem,Ymem,pmad pmad→PAR,Vhile(RC)≠0,(B)+(A(32-16)×(Pmem addressed by PAR)→B,(Xmem)+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
3.2.2绝对寻址 绝对寻址方式 相关指令 程序存储器 MACD Smem,pmad,s src (pmad)寻址 MACP Smem,pmad,src VO端口(PA)寻址 PORTR PA,Smem PORTW Smem,PA *(K)寻址 可用于所有支持单数据操作数 (Smem) 的指令 pmad-PAR,(Smem)X(Pmem addressed by PAR) +(src)→src,(Smem)→T,(Smem)-Smem+1, If(RC)0,(PAR)+1→PAR (MACD指令功能) MACP与MACD指令唯一的区别是不执行内存延迟 (Smem)→Smem+1。 MVDK *(200h),AR2 30
绝对寻址方式 相关指令 程序存储器 (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
3.2寻址方式 3.2.3累加器寻址 有两条指令采用这种寻址方式: 累加器寻址指令 解释 A中内容为程序存储器地址,将 READA Smem 该地址中的数据送入Smem指定 的数据存储器中 将Smem指定的数据存储器中的内 WRITA Smem 容送入A所指出的程序存储器中 A(22-0)PAR,(Smem)(Pmem addressed by PAR), IfRC)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章汇编语言指令系统 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 ;f(RC≠0,RC)1→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