1700413711
1700413712
如今活跃在计算机行业的第一线的工程师们,多数都在年轻时候玩过微型计算机。诸位可以把这本书拿给他们看,他们也许会说:现在还有人玩这个?不过不管怎么说,对计算机理解程序的深浅还是和有没有制作过微型计算机有很大关系的
1700413713
1700413714
笔者真的按图2.1所示的电路图制作过微型计算机,收集零件就费了不少劲。而在单片机广泛应用的今天,CPU、I/O、内存都被集成到了一块IC上。可话又说回来,即便只是在纸上体验制作微型计算机的过程,也还是非常有益的。诸位在本章制作了微型计算机,想必这一体验会加深诸位对计算机的理解,使诸位越来越喜欢计算机
1700413715
1700413716
在接下来的第3章中,笔者会先用汇编语言为微型计算机编写程序,然后尝试“手工汇编”,即以手工作业的方式将这段程序转换成机器语言(原生代码)。敬请期待!
1700413717
1700413718
1700413719
1700413720
1700413722
计算机是怎样跑起来的 第3章 体验一次手工汇编
1700413723
1700413724
热身问答
1700413725
1700413726
在阅读本章内容前,让我们先回答下面的几个问题来热热身吧
1700413727
1700413729
1700413731
1700413733
1700413734
1700413735
1700413736
1700413738
计算机是怎样跑起来的 答案
1700413739
1700413740
初级问题:由二进制数字构成的程序,CPU可以直接对其解释、执行
1700413741
1700413742
中级问题:标识内存或I/O中存储单元的数字叫做“地址”
1700413743
1700413744
高级问题:用于在运算指令执行后,存储运算结果的某些状态
1700413745
1700413746
1700413747
1700413748
1700413750
计算机是怎样跑起来的 解释
1700413751
1700413752
初级问题:不仅是汇编语言,用C语言、Java、BASIC等编程语言编写的程序,也都需要先转换成机器语言才能被执行。机器语言有时也叫做“原生代码”(Native Code)
1700413753
1700413754
中级问题:内存中有多个数据存储单元。计算机用从0开始的编号标识每个存储单元,这些编号就是地址(Address)。I/O中的寄存器也可以用地址来标识,哪个寄存器对应哪个地址,取决于CPU和I/O之间的布线方式
1700413755
1700413756
高级问题:Flag的本意是“旗子”,这里引申为“标志”。一旦执行了算术运算、逻辑运算、比较运算等指令后,标志寄存器并不会存放运算结果的值,而是会把运算后的某些状态存储起来。例如,运算结果是否0、是否产生了负数、是否有溢出(Overflow)等
1700413757
1700413758
1700413759
1700413760
[
上一页 ]
[ :1.700413711e+09 ]
[
下一页 ]