51的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:cpu访问内、片外rom指令用movc,访问片外ram指令用movx,访问片内ram指令用mov。程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64kb。这使得指令能在64kb的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。实际上,当引脚ea接高电平时,8051的程序计数器pc执行片内rom中的程序,当指令地址超过片内rom地址时,就自动转向片外rom中去取指令。当引脚ea接低电平(接地)时,8051片内rom不起作用,cpu只能从片外rom中取指令,地址可以从0000h开始编址。8051从片内程序存储器和片外程序存储器取指时的执行速度相同。用p0口作地址/数据复用总线,用p2口的口线作高位地址线,最多可以扩展64kb的存储器。控制信号线包括:使用ale作为地址锁存的选通信号,以实现低8位地址的锁存;以psen信号作为扩展程序存储器的读选通信号;以ea信号作为内、外程序存储器的选择信号;以ea和作为扩展数据存储器和i/o端口的读、写选通信号。执行movx指令时,rd和wr信号分别自动有效。片外数据存储器ram的读和写由8051的rd (p3.7)和wr(p3.6)信号控制,而片外程序存储器的输出允许(oe)由读选通psen信号控制。尽管片外数据存储器和片外程序存储器共处同一地址空间,但由于控制信号及使用的数据传送指令不同,故不会发生总线冲突。