返回

编码的奥秘2

关灯
护眼
第8章(1 / 14)
强烈推荐: 公主殿下,别跑! 九窍神尊 我真是飞翔的河南人号船长啊 拜托,干嘛娶我 兵伐天下 十日谈 最强套路升级系统 淫妻小说合集 小皇妃:双面花魁妃

是因为我们要追踪另一段历史轨迹—即降低计算机造价和大小并且使它进入家庭的轨迹,并使用a、b、c中原有的值,

第6章电报机与继ä:我们只需要知道它们以某种:

0่11้01้2000

在于他明了电å报和以他名字命名的编码。共有7个ฐ操作码,

加上新的“进位加”和“&。一旦这,你的程序就可以毫无顾虑地利ำ用这

些寄存器来做其他工作,

以后再把这些位置的值装载到寄存器中,但这样做需要保存值被保存的位置。一个ฐ显然的方

法是把寄存器压入堆栈:

pushaທ

pushb

pushc

一会儿再解释这些指令的作用。现在,

输出

与非门的输出如下表所示。

当然,你能做的工ื作只是简单地把寄存器a、b、cນ中的值保存到存。为ฦ了得到原来的值,只需简单地按与压入堆栈相反的顺序把它们从

堆栈中弹出即可,

198๖编码:如下所示ิ。如果用错了pop语句的顺序,就会引起错误。例如。

堆,

在把a、b、c压入堆栈中ณ后,程序的其他部ຖ分还可能ม需要把寄存器c、d、e的内容压入堆栈:

pushc

pushd

pushe

接着,这一部ຖ分程序所要做的就是在第一部分弹出cນ、b和a之ใ前,用下述方法恢复寄存

器的值:

pope

popd

popcນ

堆栈是怎样实现的呢?先,堆栈只是不被别的东西使用的正常的ram的一部分。8080

微处理器包含一个特殊的16位寄存器来对这一部ຖ分存储器进行寻址,这个16位寄存器叫作堆

栈指针。

这里举的压入和弹出寄存器的例子对于80่80่来说不太准确。808๖0的push指令实际上是存

储16๔位的值到เ堆栈,pop指令用来恢复它们。因此8๖08๖0不用像pushc和popc这样的指令,

它有下述8条指令:

操作码指令操作码指令

cນ9

d5pushded1popde

e5๓pushhle1pophl

f5pushp9f1้popp9๗

pushbcນ指令把寄存器b和c的内容保存到堆栈中ณ,popbc指令恢复它们。最后一行的

缩写ps9指的是程序状态字,前面讲过,它是包含有标志位的8位寄存器。最后一行的两条指

令实际上是把累加器和ps9都压入和弹出堆栈。如果你想保存所有寄存器和标志位的内容,

可以使用:

pushp9๗

pushbc

pushde

pushhl

当以后想恢复这些寄存器的内容时,按相反的顺序使用pop指令:

pophl

popde

popbc

popp9๗

堆栈是怎样工ื作的呢?假设堆栈指针为8๖000h,pushbຘc指令将引起下面这些情况生:

书签 上一章 目录 下一章 书架s
推荐阅读: 女扮男装坐江山 新喜剧之王细思极恐 一品公卿听书 佳期如梦 今生今世 txt 猎罪图鉴无极 挂机名将录 淑嘉皇贵妃 爱的彷徨不可终日的意思 武侠侵袭无防盗 小心肝by夕阳看鱼晋江