码迷,mamicode.com
首页 > 编程语言 > 详细

初学汇编语言的一点体会

时间:2018-09-16 19:38:09      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:方式   设计   最大值   计算机系   地址空间   代码   程序   阶段   32位   

相较于曾经学过的C语言,汇编是更加接近机器语言的一门语言,所以学习和编写程序时就似乎要迁就电脑的思维方式,甚至还要从电脑的角度去考虑问题。汇编语言是一门面向机器的程序设计语言,在我看来,汇编语言执行效率高,能够对CPU中的寄存器直接操作。但是适用范围小,不同的机器对应不同的汇编指令,而且可移植性差,开发周期长。

关于指令和数据:在内存或磁盘上,指令和数据都以二进制形式存在,在形式上没有任何区别。通常完成一条指令可分为取指阶段、分析阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存储器中,但CPU可以判断出在取指阶段访存取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。

对存储器数据的读写:CPU对于内存的读写是通过导线和内存进行传输数据,这些导线在一起通常称为总线,为了区分这些总线传输的内容逻辑上分为3类,地址总线(传输的是内存地址)、控制总线(传输的是控制命令)、数据总线(传输的是控制的数据)。地址总线:一根地址线能够传送0或1,10根导线能传送的2的十次方种数据,最小值为0,最大值为1023,寻址范围(0-1023)。数据总线:8根数据总线一次能传送一个8位的二进制数(即一个字节)。控制总线:控制总线的数据决定CPU对外部器件有多少种控制,即控制总线的宽度决定了CPU对外部器件的控制能力。

内存地址空间:不同的计算机系统的内存地址空间分配情况不同。CPU通过地址总线来寻址,对于不同位数的CPU来说,它的地址总线宽度也不同:8位微机:地址总线宽度为16位,那它的寻址空间为2的16次方,65536Byte,64KB。16位微机:地址总线宽度为20位,那它的寻址空间为2的20次方,1048576Byte,1024KB,1MB。32位微机:地址总线宽度为32位,那它的寻址空间为2的32次方,4GB。

初学汇编语言的一点体会

标签:方式   设计   最大值   计算机系   地址空间   代码   程序   阶段   32位   

原文地址:https://www.cnblogs.com/czh805168697/p/9656956.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!