上一页 1 ··· 5 6 7 8 9
摘要: 首先让我们来看一下二进制数转换成十进制数的方法:接下来,让我们来解释一下各数位的数值和位权相乘后“相加”这个处理的原因。其实大家所说的数值,表示的就是构成数值的各数位的数值和位权相乘后再相加的结果。例如39这个十进制数,表示的就是30+9,即各数位的数值和位权相乘后再相加的数值。所有数的0次幂都是1 阅读全文
posted @ 2023-02-05 10:17 嘎嘎鸭~ 阅读(257) 评论(0) 推荐(0)
摘要: 在C和Java等高级语言编写的程序中,数值、字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。也就是说,只要掌握了使用二进制数来表示信息的方法及其运算机制,也就自然能够了解程序的运行机制了。IC的一个引脚,只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制数来处理。由于 阅读全文
posted @ 2023-02-05 10:16 嘎嘎鸭~ 阅读(445) 评论(0) 推荐(0)
摘要: 机器语言指令的主要类型和功能:数据转送指令:寄存器和内存、内存和内存、寄存器和外围设备之间的数据读写操作运算指令 :用累加寄存器执行算术运算、逻辑运算、比较运算和移位运算跳转指令 :实现条件分支、循环、强制跳转等call/return 指令: 函数的调用/返回调用前的地址 阅读全文
posted @ 2023-02-05 10:14 嘎嘎鸭~ 阅读(13) 评论(0) 推荐(0)
摘要: CPU会把基址寄存器+变址寄存器的值解释为实际查看的内存地址。变址寄存器的值就相当于高级编程语言程序中数组的索引功能。数组是指同样长度的数据在内存中进行连续排 列的数据构造。用一个数组名来表示全体数据,通过索引来区分数组的各个数据(元素)。例如,一10个元素的数组a,其中的各个 数组a数据就用 a[ 阅读全文
posted @ 2023-02-05 10:13 嘎嘎鸭~ 阅读(39) 评论(0) 推荐(0)
摘要: 函数调用处理是通过把程序计数器的值设定成函数的储存地址来实现的,哪怕是高级语言编写的程序。 哪怕是高级语言编写的程序,函数”调用处理也是通过把程序计数器的值设定成函数的存储地址来实现的。不过,这和条件分支、循环的机制有所不同,因为单纯的跳转指令无法实现函数的调用。函数的调用需要在完成函数内部的处理后 阅读全文
posted @ 2023-02-05 10:11 嘎嘎鸭~ 阅读(43) 评论(0) 推荐(0)
摘要: 程序的流程分为顺序执行、条件分支和循环三种。 顺序执行是按照地址内容的顺序执行指令(每执行一个指令程序计数器的值就自动加1)。 条件分支是指根据条件执行任意地址的指令。循环是指重复执行同一地址的指令。 若存在条件分支和循环,机器语言的指令就可以将程序计数器的值任意定为任意地址(不是+1)。 条件分支 阅读全文
posted @ 2023-02-04 10:11 嘎嘎鸭~ 阅读(22) 评论(0) 推荐(0)
摘要: 图1-4是程序起动时内存内容的模型。用户发出启动程序的指示后,Windows等操作系统会把硬盘中保存的程序复制到内存中。 确定程序运行的开始位置,Windows等操作系统把程序从硬盘复制到内存后,会将程序计数器(CPU寄存器的一种)设定为0100,然后程序便开始运行。CPU执行0100地址的指令后, 阅读全文
posted @ 2023-02-03 10:48 嘎嘎鸭~ 阅读(52) 评论(0) 推荐(0)
摘要: 程序是把寄存器作为对象来描述的。机器语言级别的程序是通过寄存器来处理的,CPU是(具有各种功能的)寄存器的集合体。 eax(累计寄存器)和ebp(基址寄存器)是CPU内部的寄存器的名称。 根据功能的不同,寄存器大致可分八大类,如表1-1: 在CPU中,程序计数器、累计寄存器、标志寄存器、指令寄存器和 阅读全文
posted @ 2023-02-03 10:27 嘎嘎鸭~ 阅读(179) 评论(0) 推荐(0)
摘要: CPU(中央处理器)相当于计算机的大脑,CPU和内存都是由许多晶体管组成的电子部件,通常称为IC(集成电路)。 CPU的内部是有寄存器(20~100个),控制器,运算器,时钟组成的。 CPU所负责的就是解释和运行最终转换成机器语言的程序内容。 程序运行流程示例 阅读全文
posted @ 2023-02-03 09:55 嘎嘎鸭~ 阅读(208) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2023-02-03 09:52 嘎嘎鸭~ 阅读(30) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9