大家看一下我的程序 org 0000hMOV R0,#80HMOV @R0,#20HEND我选择的芯片是At89c52的,有256B的RAM,但编译后调试观察D:80h 数据为00;(我本想用间接寻址的方法对RAM区中的80h处赋值)(如果说80h默认为p0...
全文
回复(4) 2004-12-29 22:16 来自版块 - Keil C 使用
表情
lzl你的程序我看不出问题! mov @r0,#20h;就是给间接寻址区的RAM赋值.要不你换个地址看看, mov r0,#95H; mov @r0,#20h;试试看能不能赋值;若不能肯定是编译器的事了。(2005-02-03 23:32)
zmwk在高128字节内部RAM中,间接寻址和直接寻址访问的是不同区域。 也就是说: MOV R0, #80H MOV @R0,#20H 和 MOV 80H, #20H 执行的是两种不同操作。 前者访问通用RAM区域。 后者访问SFR区域。 堆栈操作也访问通...(2005-02-02 18:33)
sx_wjy你的编译器能不能看到高128字节的Data区,你间接寻址的结果不会对特殊功能区有影响。两个区不一样。(2005-01-09 16:48)
lsn_061是MOV @R0,#20H还是MOVX @R0,#20H,我也让你搞糊涂了,还有不要对P0口操作,换一个其他的RAM :cool: 还有你这程序太简单了: org 0000h JMP START ORG 1000H START: MOV R0,#80H MOV @R...(2004-12-31 08:14)

返回顶部