fxg2024 发表于 2024-6-14 08:52:07

请教STC32G系列单片机 MOV Rm,@WRj+dis 类似指令的执行原理?

本帖最后由 fxg2024 于 2024-6-14 08:52 编辑

请教STC32G系列单片机MOV Rm,@WRj+dis 类似指令的执行原理?
MOVRm,@WRj+dis
MOV@WRj+dis,Rm
MOVRm,@DRk+dis
MOV@DRk+dis,Rm
MOVWRj,@WRj+dis
MOV@WRj+dis,WRj
MOVWRj,@DRk+dis
MOV@DRk+dis,WRjSTC32G系列单片机的汇编指令中,有这么几条指令,和传统8051单片机不同,想问问其指令执行原理。
1、这几条指令是否可以属于 变址寻址方式(基地址+偏移地址) ?
2、dis 该怎么解释?
   我在程序中试了以下:

MOV R0,@WR0+P0
MOV R0,@WR0+20H
MOV R0,@WR0+TCON   这几种情况,编译不报错。
   下面几种情况
MOV R0,@WR0+R4
MOV R0,@WR0+A
MOV R0,@WR0+DPTR
MOV R0,@WR0+WR4
MOV R0,@WR0+DR4   编译都报错,error A12: ILLEGAL OPERAND

3、@WRj+dis 中是否可以说dis是基地址   WRJ是偏移地址 ?

4、传统8051单片机中,MOV Rm,Rm 是错指令,STC32G系列单片机中,这种指令是正确的,这是什么原因?

乘风飞扬 发表于 2024-6-14 09:42:47

STC32G规格书,指令集章节有介绍:

下面这些是251核在传统51核基础上增加的指令:

MOV Rmd,Rms 是251核增加的指令,51不支持这种指令

fxg2024 发表于 2024-6-15 08:57:10

乘风飞扬 发表于 2024-6-14 09:42
STC32G规格书,指令集章节有介绍:

下面这些是251核在传统51核基础上增加的指令:


谢谢。
我还想知道
1、dis :具体是怎么规定的,那些形式可以做为dis,比方 A就不可以,TCON就可以,这是怎么界定的,按道理,他们都是特殊功能寄存器。
2、MOV Rn,Rn   为什么传统8051单片机不可以,stc32g单片机可以

angmall 发表于 2024-6-15 10:31:29

fxg2024 发表于 2024-6-15 08:57
谢谢。
我还想知道
1、dis :具体是怎么规定的,那些形式可以做为dis,比方 A就不可以,TCON就可以,这是 ...


https://www.stcaimcu.com/data/attachment/forum/202406/06/195718s88agnhwznwwglmz.jpg

视频教学及教课书:《STC32位8051单片机原理及应用》,何宾教授主讲 - 视频教学,《单片机原理及应用》教学改革及实践研讨会,实战技术交流会,会务通知 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

要学STC32汇编只能这本书了,就这个是STC32的汇编权威书了
https://www.stcaimcu.com/data/attachment/forum/202406/06/195815wj31hhbzbztsb220.jpg

fxg2024 发表于 2024-6-17 15:57:16

fxg2024 发表于 2024-6-15 08:57
谢谢。
我还想知道
1、dis :具体是怎么规定的,那些形式可以做为dis,比方 A就不可以,TCON就可以,这是 ...

看了何老师的视频,我的理解是:
和单片机的内核指令架构有关,51内核的指令架构,就是定义的机器码中,没有定义Rn,Rn的机器码,所以没有这类指令,251内核的指令结构中有这类指令的机器码,所以有这类指令
页: [1]
查看完整版本: 请教STC32G系列单片机 MOV Rm,@WRj+dis 类似指令的执行原理?