主题:汇编菜鸟这里看 第一课
我是一个学习了三个星期就想写病毒的那种小菜鸟,等我把课程学完后,才发现自己的想法很幼稚,大家要记住,学习是循序渐进的,要学好汇编,我们就必须安步就班
好了,废话少说,我 写这个课程没什么别的目的,就是觉得现在想学汇编的人很多,但是由于方法不得当,可能还没有入门,之下是小弟的一点建议 希望能够帮助大家(大家扔白菜吧。。) 得了,现在我们开始正题吧(你小丫,还真没完没了)
第一章
第一节:首先,我们来看看机器语言,如果要求 S=738+13288-1280
机器码 如下 11011011011101010101001010100101 (32个)
11011011011101010101001010100101
11011011011101010101001010100101(这是乱写的不过有这么多个)
如果你要在屏幕上面显示 hello,world 你知道有多少个二进制吗
我大概看了看,好象有个千把来个(大哥,我眼花)
想一想,如果冒个0或冒个1出现错误,我们应该怎么修改呢!这时伟大的汇编语言baby的出生了
第二节:
一个机器指令1000100111011000表示,把寄存器BX的内容送到AX中
在汇编里面,就可以写成 MOV AX,BX
这样你的头也许就不会象刚才那么大了吧!!
说到这里我们要补充一下知识 ,那就是关于寄存器的
(寄存器,简单的说就是CPU中可以存放数据的零件,后面我们详细介绍各个寄存器,AX其实就是一个寄存器的代号)
我们知道计算机 只能识别机器语言,那么它如何来识别我们的汇编语言呢,这时,我们就需要一个翻译家 即 把汇编语言变成机器语言
汇编语言的分类:
1 汇编指令 即机器码的助记符,有对应的机器码
2 伪操作 无对应的机器码,由编译器来执行(呵呵!大家是不是已经爬到乐啊|我刚刚学习的时候也差不多,其实我现在就想爬下来。有时候学习就是这样的,大家不要心急,欲速则不达)
3 其他符号 + - * / 无对应的机器码,由编译器来执行
好了 前面的废话讲了一半(不会啊吧!晕到一大片耶!!)
接着,我们来看看,存储器
我们知道CPU是计算机核心部件,它就是用来计算数据的,如果要想让CPU工作的话,那么你就必须向里面提供响应的指令和数据(这一点大家要记主),那么这些指令和数据又是存放在那里的呢!!有人立刻回答:不就是存储器这小丫么。回答正确 加 10分。(低下的人无语了)
这样 我们就知道了,如果CPU读不到 数据和指令的时候,就不能正常进行工作乐
那下面我们来说说 数据和指令吧
数据和指令是存放到内存里面的(严格的说应该是存储器,因为说内存,大家一般只会想到内存条,其实在其他的芯片里面也有存储器的)
在内存里面,对于指令和数据,他们是一样的,即都是八个二进制的数字
在CPU里面,就不同了,对于有的数据可以当指令,有的数据也可以数据看的
1000100111011000 就是MOV AX,BX
1000100111011000 就是89D8H 那么我们这个时候就要想到,什么时候当指令呢,什么时候当数据呢
下面 我们继续废话(菜鸟都用愤怒的眼光看着我,完了,今天要是不说完废话,就要挂了)
存储单元 这就是5个存储单元 每个存储单元里面能装八个二进制的数据
_______ 每个存储器有可以划分多个存储单元的 旁边的编号就是它的地址(就
|_____|0 当做门牌号吧,CPU要找冒个单元就要找它的门牌号)
|_____|1
|_____|2
|_____|3
|_____|4
CPU对内存的访问
当CPU对内存访问的时候必须找出存储器的地址(地址信息)
找到以后 我们要是要向这个内存里面读信息,还是写信息(控制信息)
得到数据或者写入数据(数据信息)
从上面看的出来,CPU和存储器进行了三种交换 这里我们只需要了解
从 这个列子来观察
如果CPU要向3号单元里面读出数据,那么它要进行三步
同过地址总线来找到3号单元 通过控制总线来说名是来读取信息的,通过数据总线把里面的数据读出
(这里补充一下知识,地址总线如果有十跟的,那么它就只能寻址2的十次方也就是0-1024这样的地址,在看看数据总线,如果有十根的,那么一次只能传输最大1024这样的数据,对于控制总线,根数越多,说明CPU对外部器件就会有多少种控制)
今天我先说到这里
希望小弟能给各位菜鸟一点点帮助
最后我们必须来回忆一下,你到底明白了什么
我们从机器语言说到了汇编语言,我们知道了汇编语言它一共有三种
我们又从汇编语言说到CPU是如何进行数据运算,然后我们又知道了CPU是从什么地方来得到数据的,接着我们开始接触了内存,分析了内存的存储结构,接着,通过一个列子,我们知道了当CPU要进行数据读取和写入数据时候的过程,接着,我们又学习到了 ,地址总线,数据总线,和控制总线,
一个数据总线如果是十六 那么它一次就可以传输两个字节的数据
一个地址总线如果是十六 那么它可以寻址的最大单元就是2的16次方
好了,废话少说,我 写这个课程没什么别的目的,就是觉得现在想学汇编的人很多,但是由于方法不得当,可能还没有入门,之下是小弟的一点建议 希望能够帮助大家(大家扔白菜吧。。) 得了,现在我们开始正题吧(你小丫,还真没完没了)
第一章
第一节:首先,我们来看看机器语言,如果要求 S=738+13288-1280
机器码 如下 11011011011101010101001010100101 (32个)
11011011011101010101001010100101
11011011011101010101001010100101(这是乱写的不过有这么多个)
如果你要在屏幕上面显示 hello,world 你知道有多少个二进制吗
我大概看了看,好象有个千把来个(大哥,我眼花)
想一想,如果冒个0或冒个1出现错误,我们应该怎么修改呢!这时伟大的汇编语言baby的出生了
第二节:
一个机器指令1000100111011000表示,把寄存器BX的内容送到AX中
在汇编里面,就可以写成 MOV AX,BX
这样你的头也许就不会象刚才那么大了吧!!
说到这里我们要补充一下知识 ,那就是关于寄存器的
(寄存器,简单的说就是CPU中可以存放数据的零件,后面我们详细介绍各个寄存器,AX其实就是一个寄存器的代号)
我们知道计算机 只能识别机器语言,那么它如何来识别我们的汇编语言呢,这时,我们就需要一个翻译家 即 把汇编语言变成机器语言
汇编语言的分类:
1 汇编指令 即机器码的助记符,有对应的机器码
2 伪操作 无对应的机器码,由编译器来执行(呵呵!大家是不是已经爬到乐啊|我刚刚学习的时候也差不多,其实我现在就想爬下来。有时候学习就是这样的,大家不要心急,欲速则不达)
3 其他符号 + - * / 无对应的机器码,由编译器来执行
好了 前面的废话讲了一半(不会啊吧!晕到一大片耶!!)
接着,我们来看看,存储器
我们知道CPU是计算机核心部件,它就是用来计算数据的,如果要想让CPU工作的话,那么你就必须向里面提供响应的指令和数据(这一点大家要记主),那么这些指令和数据又是存放在那里的呢!!有人立刻回答:不就是存储器这小丫么。回答正确 加 10分。(低下的人无语了)
这样 我们就知道了,如果CPU读不到 数据和指令的时候,就不能正常进行工作乐
那下面我们来说说 数据和指令吧
数据和指令是存放到内存里面的(严格的说应该是存储器,因为说内存,大家一般只会想到内存条,其实在其他的芯片里面也有存储器的)
在内存里面,对于指令和数据,他们是一样的,即都是八个二进制的数字
在CPU里面,就不同了,对于有的数据可以当指令,有的数据也可以数据看的
1000100111011000 就是MOV AX,BX
1000100111011000 就是89D8H 那么我们这个时候就要想到,什么时候当指令呢,什么时候当数据呢
下面 我们继续废话(菜鸟都用愤怒的眼光看着我,完了,今天要是不说完废话,就要挂了)
存储单元 这就是5个存储单元 每个存储单元里面能装八个二进制的数据
_______ 每个存储器有可以划分多个存储单元的 旁边的编号就是它的地址(就
|_____|0 当做门牌号吧,CPU要找冒个单元就要找它的门牌号)
|_____|1
|_____|2
|_____|3
|_____|4
CPU对内存的访问
当CPU对内存访问的时候必须找出存储器的地址(地址信息)
找到以后 我们要是要向这个内存里面读信息,还是写信息(控制信息)
得到数据或者写入数据(数据信息)
从上面看的出来,CPU和存储器进行了三种交换 这里我们只需要了解
从 这个列子来观察
如果CPU要向3号单元里面读出数据,那么它要进行三步
同过地址总线来找到3号单元 通过控制总线来说名是来读取信息的,通过数据总线把里面的数据读出
(这里补充一下知识,地址总线如果有十跟的,那么它就只能寻址2的十次方也就是0-1024这样的地址,在看看数据总线,如果有十根的,那么一次只能传输最大1024这样的数据,对于控制总线,根数越多,说明CPU对外部器件就会有多少种控制)
今天我先说到这里
希望小弟能给各位菜鸟一点点帮助
最后我们必须来回忆一下,你到底明白了什么
我们从机器语言说到了汇编语言,我们知道了汇编语言它一共有三种
我们又从汇编语言说到CPU是如何进行数据运算,然后我们又知道了CPU是从什么地方来得到数据的,接着我们开始接触了内存,分析了内存的存储结构,接着,通过一个列子,我们知道了当CPU要进行数据读取和写入数据时候的过程,接着,我们又学习到了 ,地址总线,数据总线,和控制总线,
一个数据总线如果是十六 那么它一次就可以传输两个字节的数据
一个地址总线如果是十六 那么它可以寻址的最大单元就是2的16次方