看过z80监控程序,编过监控程序高手请

smileme 2003-06-13 10:46:51
小弟正在改写z80的监控程序,老师要我学z80的,把外部数据空间的一段划为
堆栈使用,把51的内部数据空间留给用户使用。了解z80的人知道,z80的sp是
16位。这样外部数据空间的地址(16位)很容易就可以传给sp。而51的sp是8位的,
直接传是行不通的。我想这到还不难办到,我自己定义2个数据空间,一个放sp的
高16位地址(暂时叫他sph把),一个放低16位地址(spl)。编程时把sph传给
dph,把spl传给dpl。那么pop 就成了dptr-1,push就成了inc dptr。
但仔细想一想又发现这样好象行不同。
理由如下:本程序要在用户程序和监控程序之间跳转,z80实现监控程序到用户程序
的过程是先取出用户栈的地址。把用户程序的首地址放到用户栈存放pc的单元中去
按下相应的键后会有一段程序(pop ix ,pop iy。。。。。)最后sp已经指向存放
用户程序首地址的pc单元,最后一句ret时,sp传到pcl,sp+1到pch。从而实现跳转。
我的这种方法到底不是用的真实的sp。前面的都还可以实现,到了最后用ret语句。
程序是真实的sp到pcl,真实的sp+1到pch。显然不可到达目的,怎么办呢?请大虾指教
看过z80监控程序,编过监控程序高手请
...全文
36 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyGentleman 2003-06-19
  • 打赏
  • 举报
回复
看得不是很明白,你所说的。
大致是说:要用51替换Z80?出现堆栈处理的问题??
你的想法是没有问题的,也可以实现,注意inc等运算溢出的问题即可。
jack2004 2003-06-14
  • 打赏
  • 举报
回复
虽然不是很懂你的意思,但我认为,只要你真正掌握了堆栈的原理,应该说不会很难,只可惜我没有太多的时间去认真看看,抱歉噢!:P
mh_z 2003-06-13
  • 打赏
  • 举报
回复
请问你有Z80的资料吗,发给我一些好吗。
我最想知道Z80的汇编语言,是用ASM80编译器吧,有它的汇编资料吗。如有请
发给我,不胜感激,我现在正为看不懂ASM80汇编语言而着急呢。

mh_z@sina.com

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧