当执行MOV A, @R1指令时,单片机从哪里读取数据 而当执行MOVX A, @R1指令时,单片机从哪里读取数据
答案:2 悬赏:0 手机版
解决时间 2021-02-03 14:03
- 提问者网友:感性作祟
- 2021-02-03 09:38
当执行MOV A, @R1指令时,单片机从哪里读取数据 而当执行MOVX A, @R1指令时,单片机从哪里读取数据
最佳答案
- 五星知识达人网友:不如潦草
- 2021-02-03 10:30
MOV A, @R1:数据来自片内RAM,地址在R1中
MOVX A,@R1:数据来自片外RAM:地址在(P2)R1中
MOVX A,@R1:数据来自片外RAM:地址在(P2)R1中
全部回答
- 1楼网友:鸠书
- 2021-02-03 11:09
1 r1的内容送ro
mov a, r1
mov r0, a
2 内部ram 20h 单元的内容送r1
mov r1, 20h
3 外部ram 20h 单元的内容送内部20h单元
mov r0, #20h
movx a, @r0
mov @r0, a
4 外部ram 1000h 单元的内容送内部 ram 20h单元
mov dptr, #1000h
movx a, @dptr
mov 20h, a
5 程序存储器2000h 单元的内容送ro
mov dptr, #2000h
clr a
movc a, @a+dptr
mov r0, a
6 程序存储器 2000h 单元的内容送内部 ram 20h 单元
mov dptr, #2000h
clr a
movc a, @a+dptr
mov 20h, a
7 程序存储器 2000h单元的内容送外部ram 20h 单元
mov dptr, #2000h
clr a
movc a, @a+dptr
mov r0, #20h
movx @r0, a
用直接寻址方式.寄存器间接寻址方式.字节交换法和堆栈传递法等四种方法将内部ram 30h与31h单元的数据交换
直接寻址方式
mov a, 30h
xch a, 31h
mov 30h, a
寄存器间接寻址方式
mov r0, #30h
xch a, @r0
inc r0
xch a, @r0
字节交换法
xch a, 30h
xch a, 31h
xch a, 30h
堆栈传递法
push 30h
push 31h
pop 30h
pop 31h
内部ram 20h-2fm 单元中的128个位地址与直接地址00h-7fh形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?
位寻址操作,是在指令中,含有进位位c;直接寻址方式中,没有c。
或者说,指令中含有c的,都是位寻址操作。
设堆栈指令(sp)=60h,内部ram中的(30h)=24h,(31h)=10h。执行下列程序段后,30h,31h,dptr及sp中的内容将有何变化?
push 30h ;sp+1 -> sp,(sp)=61h;(61h)=24h
push 31h ;sp+1 -> sp,(sp)=62h;(62h)=10h
pop dpl ;(dpl)=(62h)=10h;sp-1 -> sp,(sp)=61h
pop dph ;(dph)=(61h)=24h;sp-1 -> sp,(sp)=60h
mov 30h , #00h ;(30h)=00h
mov 31h , #0ffh ;(31h)=ffh
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯