cpu 机器语言

lkx语言创始人 2008-12-18 05:12:26
大家好,我是计算机专业本科毕业生,我工作快一年了,学习了四年的计算机知识,其他方面都算理解了,但仍有一个问题困扰了我四年,现在还是不清楚。
我们都知道,高级语言编写的程序cpu不能识别,只能将它转换为机器语言也就是 0 1序列CPU才能识别,但我想知道cpu如何判断0和1的,它依靠什么来判断的?

比如:有一段c程序经过编译后的机器码为:01100000000001111010101111110011111111111111001001,cpu执行时,如何识别出哪些是0,哪些是1? 谢谢大家赐教。
...全文
172 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxdzxc 2008-12-21
  • 打赏
  • 举报
回复
上面说漏了一点,就是0,1除用来帮助记忆电路或器件中有电无电外,还是人们对高低电平的助记符,多少算高,多少算低,你自己找资料看吧.
比如现在要CPU做一个空操作,要求输入的电平排列是---高低低高低低低低,这个用0,1来标记比较简洁,就是---10010000(并把这叫做了机器码),为了更方便的记忆这一组电平序列是做什摸了,美国人用---NOP(这个有些接近于自然的语言,所以被叫做XX语言了)去代替这组电平序列,然后通过反查表的方法可以知道---NOP代表的电平简洁助记就是---10010000,实际的电平序列就是---高低低高低低低低
cxdzxc 2008-12-21
  • 打赏
  • 举报
回复
上面说漏了一点,就是0,1除用来帮助记忆电路或器件中有电无电外,还是人们对高低电平的助记符,多少算高,多少算低,你自己找资料看吧.
比如现在要CPU做一个空操作,要求输入的电平排列是---高低低高低低低低,这个用0,1来标记比较简洁,就是---10010000(并把这叫做了机器码),为了更方便的记忆这一组电平序列是做什摸了,美国人用---NOP(这个有些接近于自然的语言,所以被叫做XX语言了)去代替这组电平序列,然后通过反查表的方法可以知道---NOP代表的电平简洁助记就是---10010000,实际的电平序列就是---高低低高低低低低
cxdzxc 2008-12-21
  • 打赏
  • 举报
回复
0,1是助记符,是人用来帮助记忆电路或器件中有电无电的,CPU只对电平的高低机械的作出反应,它并不认识什摸0,1,再说一遍,0,1已经是最原始的助记符了,而MOV,jmp ,call这样的是又高一级的助记符了
BigCarrot 2008-12-21
  • 打赏
  • 举报
回复
你需要看两本书
数字电路
计算机组织结构
cnzdgs 2008-12-19
  • 打赏
  • 举报
回复
通过指令解码,如果要了解具体工作原理,需要学习数字电子技术和微机原理。
lkx语言创始人 2008-12-19
  • 打赏
  • 举报
回复
我是说,计算机是如何把 0 1 转换为对对应的电平的,数字和电平应该没有直接的联系吧
pl1010 2008-12-19
  • 打赏
  • 举报
回复
电平是正解
xtdumpling 2008-12-18
  • 打赏
  • 举报
回复
有通过IO操作过硬件吧?
0和1其实就是高低电平,
例如以0.3V为低电平上限,1.2V为高电平下限,通过电压高低就有了二进制的0和1信号了。
autotyx 2008-12-18
  • 打赏
  • 举报
回复
现在的计算机应该是电子计算机,也就是说现在的计算机是建立在电子技术上了,多学习一下电子技术方面的知道,你就会知道.有些东西别人说了,你未必会懂,因为别人是按他的思路说的,
那些数据(机器码)都是存在内存上面的,0 就是那一位是接低电平,1 就是接高电平,好比0代表杯子里面没有水,1代表有水.说得现实一点,0就是没电,1就是有电,这应该能分清楚吧
wap21 2008-12-18
  • 打赏
  • 举报
回复
ding
ooily 2008-12-18
  • 打赏
  • 举报
回复
不懂,up

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧