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
1700413762
计算机是怎样跑起来的 本章重点
1700413763
1700413764
本章的目标是通过编写程序使诸位亲身体验计算机的运行机制。为了达到这个目的,就需要使用一种叫做“汇编语言”的编程语言来编写程序,然后再把编好的程序通过手工作业转换成CPU可直接执行的机器语言。
[
上一页 ]
[ :1.700413715e+09 ]
[
下一页 ]