作为想要学习pwn的新手小白决定从汇编语言开始,此篇文章用于记录对《编程语言》此书的观后笔记。
首先,汇编语言的产生是由于机器码(由0和1组成)的晦涩难懂以及极易出错,所以出现了汇编语言。
第二点汇编语言的主体是汇编指令,例如
操作:寄存器BX的内容送到AX中(寄存器在下一篇中)
机器指令:1000100111011000
汇编指令:move ax,bx
过程为程序员使用编写汇编指令,再通过汇编编译器将汇编指令转为机器码。
第三点汇编指令类型
第四点一个存储器有n个存储单元,0~n-1,一个存储单元是一个字节(存储器不是寄存器)。
第五点CPU对内存的读写是通过地址线、数据线、地址线。一个CPU有 N根地址线,则可以说这个CPU的地址总线的宽度为N,这样的CPU最多可以寻找2的N次方个地址单元。
CPU通过地址线将地址信息3发出|CPU通过控制线发出内存读指令,选中内存芯片,并通知它,将要从从中读取数据|存储器将3号单元中的数据8通过数据线送入CPU中
第六点两种储存器(RAM随机储存器和ROM只读存储器)RAM可读可写、关机后储存内容丢失;ROM只能读取、不能写入、关机内容不丢失。相同点:1.都与CPU的总线相连2.CPU对它们进行读或写的时候都通过控制线发出内存读写命令。
第七点各类存储器和地址空间示意图
想在某类存储器中读写数据,必须知道它第一个单元地址,和最后一个单元地址。(主存储地址空间、显存地址空间和各类ROM地址空间)