打字猴:1.700413973e+09
1700413973       POP reg       把由栈顶读出的数据存放到寄存器reg中
1700413974
1700413975 I/O与CPU之间的输入输出指令
1700413976
1700413977       IN A,(num)    从地址num中读出数据,存放到寄存器A中
1700413978
1700413979       IN reg,(c)    从存储在寄存器C中的地址读出数据,存放到寄存器reg中
1700413980
1700413981       OUT(num),A    把寄存器A的值写入到地址num上
1700413982
1700413983       OUT(c),reg    把寄存器reg的值写入到存储在寄存器C中的地址上
1700413984
1700413985 程序流程控制指令
1700413986
1700413987       JP num        使程序的流程跳转到地址num,接下来从那个地址的指令开始执行
1700413988
1700413989       CALL num      调用存放在地址num上的子进程
1700413990
1700413991       RET        从子例程中返回
1700413992
1700413993       HALT          终止CPU的运行
1700413994
1700413995 num:表示1个数值;
1700413996
1700413997 (num):表示值为num的地址
1700413998
1700413999 reg、reg1、reg2:名为reg、reg1、reg2的寄存器
1700414000
1700414001 (reg):存储在名为reg的寄存器中的地址
1700414002
1700414003
1700414004
1700414005
1700414006 计算机是怎样跑起来的 [:1700412638]
1700414007 计算机是怎样跑起来的 3.3 Z80 CPU的寄存器结构
1700414008
1700414009 这里先稍微复习一下第2章的内容。计算机的硬件有三个基本要素,CPU、内存和I/O。CPU负责解释、执行程序,从内存或I/O输入数据,在内部进行运算,再把运算结果输出到内存或I/O。内存中存放着程序,程序是指令和数据的集合。I/O中临时存放着用于与周边设备进行输入输出的数据
1700414010
1700414011 复习就到这里,下面来扩充所学到的知识。既然数据的运算是在CPU中进行的,那么在CPU内部就应该有存储数据的地方。这种存储数据的地方叫做“寄存器”。虽然也叫寄存器,但是与I/O的寄存器不同,CPU的寄存器不仅能存储数据,还具备对数据进行运算的能力。CPU带有什么样的寄存器取决于CPU的种类。Z80 CPU所带有的寄存器如图3.2所示(A,B,C,D,E,F,H,L每个寄存器都带有一个辅助寄存器,本节忽略了对它们的介绍)
1700414012
1700414013 图3.2 Z80 CPU的寄存器
1700414014
1700414015
1700414016
1700414017
1700414018 A、B、C、D等字母是寄存器的名字。在汇编语言中,可以将寄存器的名字指定为操作数
1700414019
1700414020 IX,IY,SP,PC这4个寄存器的大小是16比特,其余寄存器大小都是8比特。寄存器的用途取决于它的类型,有的指令只能将特定的寄存器指定为操作数
1700414021
1700414022 举例来说,A寄存器也叫做“累加器”,是运算的核心。所以连接到它上面的导线也一定会比其他寄存器多。F寄存器也叫做“标志寄存器”,用于存储运算结果的状态,比如是否发生了进位、数字大小的比较结果等。PC寄存器也叫做“程序指针”,存储着指向CPU接下来要执行的指令的地址。PC寄存器的值会随着滴答滴答的时钟信号自动更新,可以说程序就是依靠不断变化的PC寄存器的值运行起来的。SP寄存器也叫做“栈顶指针”,用于在内存中创建一块称为“栈”的临时数据存储区域
[ 上一页 ]  [ :1.700413973e+09 ]  [ 下一页 ]