返回

编码的奥秘2

关灯
护眼
第8章(1 / 10)
强烈推荐: 精武门 魔女的腹黑王子 笨女人别爱我 嘿 恶少离我远点 敢娶我算你狠 亲与情 性宠宝贝纳兰姬 我和一个三十少妇. 伊天霖,你这恶魔小子

store11h

位锁存器的结果应作为加法器的进位输入。

以后再把这些位置的值装载到เ寄存器中。你能ม做的工作只是简单地把寄存器aທ、b,为了得到原来的值。

当然,摩尔斯最着名的贡献

要回到先前的程序,

1้1้0

下载

时通信只能限制在你&#,只需简单地按与压入堆栈相。如下所示ิ:

pushaທ

pushb

pushc

一会儿再解释这些指令的作用。现在,我们只需要知道它们以某种方式把寄存器的内容

保存在一个后进先出的存储器中。一旦ຆ这些语句执行了,你的程序就可以毫无顾虑地利用这

些寄存器来做其他工作。并使用aທ、b、c中原&,但这样做需要保存值被保存的位置,一个显:

198编码的奥秘

下载

popc

popb

popa

记住是后进先出。如果用错了pop语句的顺序,

堆。就会引起错误。例如,

在把a、bຘ、cນ压入堆栈中后,

pushcນ

pushd

pushe

接着:程序的其他部分还可能需要把寄存器c、d、e的内,这一部分程序所要做的就是在第一部ຖ分弹出c、b和a之前,用下述方法恢复寄存

器的值:

pope

popd

popc

堆栈是怎样实现的呢?先,堆栈只是不被别ี的东西使用的正常的ram的一部分。8๖08๖0

微处理器包含一个特殊的16位寄存器来对这一部分存储器进行寻址,这个16位寄存器叫作堆

栈指针。

这里举的压入和弹出寄存器的例子对于8080来说不太准确。8080่的push指令实际上是存

储16位的值到堆栈,pop指令用来恢复它们。因此80่80不用像pushc和popcນ这样的指令,

它有下述8条指令:

操作码指令操作码指令

c9

d5pushded1้popde

e5pushhle1pophl

f5pushp9f1popp9

pushbc指令把寄存器b和c的内容保存到堆栈中,popbc指令恢复它们。最后一行的

缩写ps9๗指的是程序状态字,前面讲过,它是包含有标志位的8๖位寄存器。最后一行的两条指

令实际上是把累加器和ps9๗都压入和弹出堆栈。如果你想保存所有寄存器和标志位的内容,

可以使用:

pushp9

pushbc

pushde

pushhl

当以后想恢复这些寄存器的内容时,按相反的顺序使用pop指令:

pophl

popde

popbຘc

popp9

堆栈是怎样工作的呢?假设堆栈指针为800่0h,pushbຘc指令将引起下面这些情况生:

堆栈指针减1至7fffh

寄存器b的内容保存在堆栈指针ฤ所指的地址处,即7๕fffh处

第19章两种典型的微处理器199

下载

堆栈指针减1้至7ffeh

寄存器c的内容保存在堆栈指针所指的地址处,即7ffeh处

当堆栈指针仍然为7ffeh时,popbc指令执行,用来反向执行每一步:

从堆栈指针ฤ所指的地址即7ffeh处装载数据到寄存器c中

堆栈指针ฤ增1至7fffh

从堆栈指针所指的地址即7fffh处装ณ载数据到เ寄存器b中

堆栈指针增1至8000h

对每个push指令,堆栈都会增加2个字节,这可能导致程序出现小毛病—堆栈可能会

变得很大以致会覆盖掉程序所需的一些代码和数据。这就是堆栈上溢问题。同样,过多的

pop指令会过早用光堆栈内容,这就是堆栈下溢问题。

如果8080同一个6๔4kb的存储器连接,你可能想把初始堆栈指针置为0่000h。第一条push

指令使地址减1变为ffffh,这时堆栈占用了存储器的最高地址。如果你的程序放在从0000h

处开始的存储器区域,则ท它和堆栈离的就太远了。

对堆栈寄存器进行赋值的指令是lxi,即loadextendedimmediaທte装载扩展的立即数。

下面这些操作码后的指令也是把两个ฐ字节装载到1้6๔位寄存器:

操作码指令

01lxibcນ,xxxx

书签 上一章 目录 下一章 书架s
推荐阅读: 诛天狂妃独宠摄魂鬼妃 小说 权欲场 花里逢君别五花马网盘 一念成婚腹黑总裁 小荷欲绽 感受女人生孩子的机器 战王商妃 命运的轨迹之守护者东林琴音 17k 不灭星空视频 极品小医神莽屠