汇编基础一日一学习1
[b][color=black]因为汇编指令,寄存器,标志位等我觉得没什么必要给大家在列成一节课程去讲,即使去讲。也没什么成效。因为一节课程,大家根本就不可能消化掉。。我想到了一个方法。那就是每天我给大家讲解一个汇编指令。每天大家只需几分钟的时间上论坛来消化掉一个,10天就10个。100天就是100个。而且因为仅是一个,这样大家100%能记住。。而且后面我会留一些小作业。。大家写完后一定要把相应的小作业写完。。
每天多抽出一分钟,让你的人生不留遗憾......
[/color][/b]
寄存器是什么?大致说寄存器是cpu的部件(一般用于信息储存)。 也可以说寄存器是我们可以进行指令读写的部件。 我们目前80386的cpu的每个寄存器是4个字节的。也就是32位。(也可以说80386cpu有32条地址线)。8个通用寄存器 eax ebx ecx edx esp ebp esi edi 。 也就是我们cpu 每次读取内存中二进制数据的时候,每次只能读取32个二进制位的数据。因为我们cpu是通过数据总线去读取的。80386数据总线32根。。
1.lea指令。
此指令是将源操作数(也就是存储单元)的有效地址(也可以叫做偏移地址)传送到目的操作数。。 举例
lea eax, [ebp-4C]
目的操作数 源操作数
这里有两个注意的地方:
(1)源操作数必须是一个存储单元。不能是立即数。
(2)目的操作数必须是8个通用的寄存器。eax ebx ecx edx esp ebp esi edi
讲解:此示例表示的存储单元的有效地址是 ebp-4c 这个结果被传送到eax寄存器中。
课外知识: 这个指令一般被用于我们程序中子程序堆栈分配来确定存储单元的有效地址。因为我们局部变量分配内存,我们不可能确定其相应的地址,因为堆栈分配是按照你声明局部变量的大小来分配的。所以我们只能采用lea 指令来获取相应内存单元的有效地址并传送到相应的目的操作数中。
[quote][size=4][color=red][b]存储单元[/b][/color] 存储单元一般应具有存储数据和读写数据的功能,一般以8位二进制作为一个存储单元,也就是一个字节。每个单元有一个地址,是一个整数编码,可以表示为二进制整数。程序中的变量和主存储器的存储单元相对应。变量的名字对应着存储单元的地址,变量内容对应着单元所存储的数据。指针的内容是存储地址
在存储器中有大量的存储元,把它们按相同的位划分为组,组内所有的存储元同时进行读出或写入操作,这样的一组存储元称为一个存储单元。一个存储单元通常可以存放一个字或若干个字节;存储单元是CPU访问存储器的基本单位。[/size][/quote]
小作业:
判断是否正确
1. lea eax, edx
2. lea eax, 50H
3. lea esp, [ebp-30]
不要觉得简单,问题很多往往处在简单的一瞬间。。。
记得把写完后的答案。回到论坛的帖子中。。。
[b] [color=red]翻到这里不要往下翻了。。。 呵呵,不然就看到别的同学的答案了。。 记住一定要学会自觉,只有这样技术才有提高。。。[/color][/b]
[b][color=#ff0000][/color][/b]
[b][color=#ff0000][/color][/b]
[font=微软雅黑][size=6][color=red][b]答案回复可见[/b][/color][/size][/font]
[b][color=#ff0000][/color][/b]
**** Hidden Message ***** 沙发??? :lol
都是对的吧 第一个是错的把 哎呦,不错噢:handshake 支持支持 噢。忘记回答问题了……俺选A 看看是什么东西、! 以后每天都来 看 嘿嘿 第一个?
(*^__^*) 嘻嘻…… 都不怎么懂 不过做对了作业 呵呵!主要是以前计算机课基础知识没好好学 计算进制什么的没有一点概念 还要补习下!呵呵忽然发现好多都该学啊 有点学部过来了! 参观课堂!
偷偷来看 第一天,我迟到了 第一个和第二个是对的吧 解答下 嘻嘻 看卡我都不知道是什么 我认为是最后一个 其实也是蒙的 以前基础没学好 没怎么看懂 第一个是错的吧…… 学习了 Y荡阿.em66. 我来的太晚了 学习了 LZ辛苦了{:Yem66:Y} 应该是1,2错吧 学习学习.{::loveliness::} 版主辛苦了!!! 不知道什么是寻址方式,无法判断答案。
先给大家一个完整的教材,再由小柔老师一天讲一点,这样是不是更好呢? LZ字迹工整,
文笔极佳,
才思敏捷,
过目不忘,
十年寒窗,
博学多才,
见多识广,
才高八斗,
学富五车,
文武双全,
雄韬伟略,
谈吐不凡,
谈笑风声,
高谈阔论,
眉飞色舞,
运筹帷幄,
言简意赅,
完美无缺,
一针见血,
远见卓识,
义正词严,
一气呵成,
大显神通,
出口成章,
出类拔萃,
出神入化,
万古流芳,
一本正经,
一箭双雕,
长篇大论,
功德无量,
力排众议,
力挽狂澜,
气贯长虹,
气势磅礴,
气吞山河,
坚韧不拔,
身体力行,
空前绝后,
视死如归,
英姿焕发,
奉公守法,
艰苦奋斗,
忠贞不渝,
舍己为人,
大公无私,
一尘不染,
一鸣惊人,
叱诧风云,
排山倒海,
惊涛骇浪,
雷霆万钧,
惊心动魄,
横扫千军,
惊天动地,
见缝插针,
无孔不入,
千篇一律,
口诛笔伐,
文从字顺,
十全十美,
无懈可击,
无与伦比,
励精图治,
壮志凌云,
高瞻远瞩,
忍辱负重,
盖世无双,
龙飞凤舞,
一丝不苟,
身兼数职,
日理万机,
明察秋毫,
英明果断,
分身有术,
孜孜不倦,
吾等楷模
…………
在下对你的景仰之情有如滔滔长江之水,
连绵不绝
……
又如黄河泛滥,
一发不可收拾
……
嘿嘿~~~~
惊天地!
泣鬼神!
感人肺腑!
感人落泪!
i 服了 u!
长江后浪退前浪,
灌水英雄代代出
…… 呵呵 学习了 我选择第3个 谢谢楼主啊! 学学汇编。 第一个错了 源操作数不能是立即数 学习学习......{:Yem60:Y} 第一个是错的把 不知道看大学得汇编课本行不行? {:Yem60:Y}学习了 kankan e
{m:m (49):m} 来晚了,只有下水道了. 看看{:Yem62:Y} 哎呦,不错噢:handshake 支持支持 看看谢谢诶啦!!! 定先了{:Yem68:Y} 只有第3个是对的吧 学习中 希望有教程 寻找答案~~~~~~ 学习!!!!