现在的位置: 首页 > 综合 > 正文

学习汇编语言程序设计的开始一步~~

2013年02月16日 ⁄ 综合 ⁄ 共 1319字 ⁄ 字号 评论关闭

其实大一的时候就开始接触汇编语言了~但是当时的程序基础比较差劲~于是到了现在~大二结束大三开始的时候~又看起了ASM。

这里面~我觉得吧 ,学习C语言还是很重要的,至少学会了那种写程序的思想。再说我得C语言写的还可以哈~嘿嘿~。看ASM的教材,我也不知道哪个的好,反正就是手里有谁的看谁的咯。这本是清华出的80X86汇编语言程序设计,沈美明、温冬婵编的~看后面几章的时候感觉就是程序的应用级别了~

但是,在前面的1、2、3章还是很基础的知识,而这个基础我觉得才是很重要需要掌握和理解的~因为后面的语言规则只要看懂了就会用了。那个我反而觉得简单。前面有很多的理论是不好搞懂得。需要自己慢慢的体会。

第一章是基础知识,二进制、十六进制、十进制等的知识在计算机文化基础上就已经学习过了。补码、无符号数、逻辑运算,这个也都是一些基础的东西。其实我觉得有些这种公式阿什么的东西,倒是有用的时候去查就可以,用得多了自然就记住了。没有必要背阿什么的,浪费人力物力资源阿,唉,中国的教育,呵呵,批判下哦。

第二章是80X86计算机组织,也就是硬件~我觉得这对于我们学电子的来说 还是比较容易接受的哈~但是这里面我觉得有个理解上面的重点就是2.4节。存储单元的地址和内容实模式存储器寻址保护模式存储器寻址。新的东西往往接触起来需要理解,但是也新鲜阿。呵呵。

知识:

计算机存储信息的基本单位:一个二进制位,一位可存储一个二进制数0or1。

8位组成一字节。2个字节组成一个字。双字--两个字。

在储存器里以字节为单位存储信息。每个字节单元给以一个唯一的存储器地址--物理地址。

机器里地址用二进制数来表示,为无符号整数, 书写格式为十六进制数。

2^16=0~65535=64K=0000~FFFFH

2^16==4k==2^6*2^10

@@有时候不知道这个人们就是愿意把一个东西表述成不同的东西,然后别人看不动了,然后就觉得这个人好厉害哦。我晕。这就跟小学的数学差不多么,脑筋急转弯。

一个存储单元中存放的信息称为该存储单元的内容。

(0004)=78H

一个字存入存储器要占相继的2个字节,低位字节存入低地址,高位字节存入高地址。字单元的地址采用它的低地址来表示。

如果用X表示某存储单元的地址,则X单元的内容可以表示为(X);假如X但愿中存放着Y,而Y又是一个地址,则可用(Y)=((X))来表示Y单元的内容。

实模式存储器寻址

--存储器地址的分段

实模式下允许的最大的寻址空间为1M字节。2^20=1048576=1024K=1M=2^10*2^10

Q:如何在16位字长的机器上提供20位地址。

A:储存器地址分段法。

从0开始,每16个字节为一小段。00000~0000F,00010~0001F,00020~0002F。

1M这么分配~:00000H,00010H……FFFE0H,FFFF0H。64K个小段首地址。

20位物理地址=16位段地址+16位偏移地址。

段地址是指每一段的起始地址(段基地址),由于它必须是小段的首地址,所以低4位一定是0,所以规定段地址只取段起始地址的高16位值。

16d*段地址+ 偏移地址=物理地址。

----------

保护地址有3页哦~下次再说吧。看得晕咯

抱歉!评论已关闭.