游戏delphi教程

delphi教程  时间:2021-04-04  阅读:()

第1章又一个令人愉快的星期六了解计算机的实际用途1.
1一切尽在计划之中"快点快点,迈克,赶紧叫弟弟妹妹起床,都七点多了!
尼基九点钟要去少棒联盟,迪欧妮十点钟要上芭蕾课.
还有,别忘了给麦克斯吃犬心丝虫药丸!
(妈妈,药丸已经用完了,不记得了吗)你爸爸真会选时间,非挑这个周末去钓鱼.
过来,我给你10个硬币,快去兽医那儿多买点儿药丸.
上帝呀,差点忘了,为了给汉克交汽油钱,我已经分文皆无了.
Kmart附近有一个自动柜员机,如果我去那儿的话,可以把那个愚蠢的马桶垫圈拿回去,换个尺寸合适的.
""我想我最好列个清单……"又是一个令人"愉快"的星期六.
家住在百万郊区的一位三十多岁的主妇正拿着铅笔和信笺簿坐在厨房的桌子旁,企图搞清楚一早上要必须完成哪些事情,可以砍掉哪些次要事情.
她满脑子思考着某些事情的依赖关系,描绘出这样的路线:让尼基到RandPark下车,然后返回Dempster,大概需要10分钟左右的时间到GolfMill商业街.
汽油是不是还有呢最好先检查一下——如果没有,就在Del'sShell停下,否则的话,开不到Milwaukee大街了.
在GolfMill的银行自动柜员机取些钱,然后穿过停车场到Kmart超市,把汉克上周末买的马桶垫圈拿去调换,那家伙根本没有检查型号.
务必想着把马桶垫圈扔到面包车的后备厢里——把这个写在清单的最上面.

那时,时间已经过去半小时了,甚至更晚些.
学芭蕾舞的地方刚好在ParkRidge的Greenwood的沿途.
Milwaukee没有左转弯——但是,在购物中心后面有一条小道可以绕过.
我必须记住,坚决不能再像以前那样右转到Milwaukee了——把它记下来.
在ParkRidge的这段时间里,我可以核对一下汉克的新眼镜是不是已经到货——应该打电话,但是他们9:30才开门.
对了,还需要采购点儿杂货——可以在迪欧妮跳舞的时候做这件事情.
然后在回家时顺路去Oakton那里取回狗狗的药丸.

在大约90秒的时间里,她列出了以下清单:把马桶垫圈扔到面包车里.
检查是否还有汽油——如果没有,在Del'sShell停车.
让尼基在RandPark下车.
在GolfMill的银行自动柜员机前停一下车.
把马桶垫圈退还给Kmart.
让迪欧妮在芭蕾舞学校下车(记住要到Greenwood的小路).
看一下汉克的眼镜是否还在PearleVision眼镜店——如果在,确认一下他们是否记得那个额外的涂层划痕.
从Jewel那里买些杂货.
接迪欧妮.
在兽医那里停一下,取回狗狗的心丝虫药丸.
到家后卸杂货.
如果已经到时间了,就去接尼基.
如果时间未到,就休息几分钟,然后再去接尼基.
休息!
我们通常称之为"洗衣清单"(不管它是否包含洗衣)的东西其实是一个非常好的计算机程序的隐喻.
在毫不知情的情况下,我们勇敢的主妇已经为她自己编写了一个计算机程序,然后(像计算机一样)着手执行它,并且在中午之前执行完毕.

计算机程序只不过是你(程序员)编写的一个步骤和测试的清单.
随后,计算机执行每一步,按照顺序进行测试.
当清单里的步骤执行完毕时,计算机就停止工作.
计算机程序是一个包含步骤和测试的清单,无他.
1.
1.
1步骤和测试考虑一下前面的"洗衣清单"中我称之为"测试"的内容.
测试是一种二选一决策,即使是在平静如水的日常生活中,我们也可能做过数十次或者上百次的决策,甚至不经意间就做出了某种决策.
在跳上面包车开始行程的时候,我们的主妇执行了一个测试:她看了看汽油表.
汽油表会告诉她两件事情之一:她有足够的汽油,或者没有.
如果有足够的汽油,那么她就右转弯,去RankPark.
如果没有足够的汽油,那么她就左转弯,去拐角处的Del'sShell把油箱加满.
然后,她驾驶着加满油的汽车,掉个头,接着开往RandPark来继续这个程序.
抽象地讲,测试包含以下两部分内容.
首先,需要查看一下某些能够以两种方式之一进行工作的东西.
其次,根据观察到的结果,做两件事情之一.
在接近程序的末尾,我们的主妇回家了,她将杂货从面包车里卸下来,然后看了看钟表上的时间.
如果还没到把尼基从少棒联盟接回来的时间,就在几乎空空荡荡的房子里,躺在沙发上歇一会儿.
如果已经到了接尼基的时间,那就没有时间休息了,她得一路小跑到面包车那儿,然后调头前往RankPark.
(当程序运行完毕时,至于她到底休息还是没有休息,有人能猜得出来吗)1.
1.
2不止两种方式你也许会提出异议,因为很多或者大多数测试包含的选择并不都只是两个.
哈哈,对不起,你完全错了——大错特错.
而且,不管你承认还是不承认,你都错了.
把这句话读两遍:除了完全冲动的或者精神病患者的行为之外,人类的任何一个决策都可以归结为二选一.

在进行决策的时候,必须做的事情是近距离观察脑海里所想的内容.
下一次你去YowChowNow去吃中式快餐的时候,在注视菜单期间观察一下你自己.
一开始,你面临的选择看起来像是要从26道广东主菜中选出一个来.
事实却并非如此.
实际上,选择是在选择某一项和不选择那一项之间进行的.
你的目光停留在腰果鸡丁上.
不,太没滋味了.
那就是一个测试.
你接着往下看下一道菜.
冬菇炖鸡.
嗯,不,上周已经吃过了.
这是另一个测试.
下一道菜:宫保鸡丁.
对了,就是它了!
这是第三个测试.

选择不是在腰果鸡丁、冬菇炖鸡和宫保鸡丁之间进行.
每一道菜都有它的时间,为你挑剔的眼光做好准备.
你把拇指分别放在它的上面或者下面.
最后,有一道菜胜利了,但是它是在"吃或者不吃"的同一个游戏中获得胜利的.

下面我再举另外一个例子.
生活中,大部分复杂的决策都源自于我们中的99.
9986755%都不是裸体主义者这一事实.
举个例子:你正在内衣衣柜里,匆匆查看短裤衣架.
测试来得快速而且密集.
这条不行.
这条不行.
这条不行.
这条对了.
你取下一条蓝色的短裤,假设是这样(毕竟,那是星期一,蓝色将是个比较合适的颜色).
然后你睡意未消地蹒跚到袜子抽屉边.
哎哟,没有蓝色的袜子.
那就是一个测试.
所以你又睡意未消地返回到衣柜,将蓝色短裤挂回原来的衣架,又开始选择.
这条不行.
这条不行.
这条可以.
这次是条棕色的短裤.
你把裤子轻放到胳膊上,然后又回过头去袜子抽屉再看一眼.
切!
也没有棕色的袜子.
所以你又回到了衣橱……当你考虑单个决策或者也许在两个决策(例如,在现存的库存存货中,选择同样颜色的裤子和袜子)之间纠结的时候,实际上你思考的应该是一系列小的决策,本质上经常是二进制的:选或者不选,找到或者没找到.
星期一早上在衣橱里发生的故事片段类似于一种名为循环的程序结构:你一直在重复地做某一系列事情,直到得到正确的结果,然后停下来(假设你不是那种穿蓝色袜子配棕色裤子的"另类").
不管所有事情做对与否,归根结底都是一系列简单的二选一决策问题.

1.
1.
3计算机像我们一样思考我能想象到有人会这样反驳我:"当然,这是本计算机书籍,他是在尽量让我们像计算机一样思考.
"不是那么回事儿.
是计算机像我们一样思考.
我们设计了它们,它们怎么能有其他的思考方式呢不,我正企图做的事情是让你长时间地、努力地看一看自己是如何思考的.
我们生活中有很多事情都是自动完成的,以至于我们没有真正地思考就做完了大部分应该思考的事情.

计算机程序逻辑最理想的模型与我们用来计划和管理日常事务的逻辑模型基本上一样.
不管我们做什么事情,最后都可以归结为一件事情:面对两个选择,选出其中的一个.
我们认为的大而复杂的决策无非是很多小决策盘根错节地纠结在一起而已.
审视一个复杂的决策,并从中看出它包含的所有小决策,这项技能将为你学习如何编程提供很好的帮助.
下次当你必须进行决策的时候,请观察一下自己,并算出组成那个大决策的所有小决策的总数.
你会大吃一惊的!

并且,还有意外的惊喜!
你将成为一名程序员.
1.
2如果这是真实情况不要担心.
刚才的体验仅仅是个隐喻.
真实的情况并非如此.
(后面会对真实的情况进行讲解.
)在这本书中我经常用到隐喻.
隐喻是在有些熟悉(例如星期六上午的洗衣清单),有些不熟悉(例如计算机程序)的事情之间的一个不严格的比较.
其背后的思想是用熟悉的术语对那些不熟悉的事情进行阐述,目的是当我开始讲解真相的时候,你能够比较容易地理解.

现在,你需要做的最重要的事情就是时刻保持开放的思想.
如果你已经对计算机和编程有所了解,不要吹毛求疵.
是的,一个主妇遵循一个草草写下的洗衣清单行事和计算机执行程序,二者之间存在着重要的区别.
我会在讲解之前事先提到所有这些区别.

目前,仍然是第1章.
我在使用这些浅显的隐喻的自身术语来呈现它们.
以后,它们会对我们的理解提供很大的帮助.
1.
3此路不通,请绕行"bored和board是同音词有一个原因.
"一天晚上,当我们(两个超级老练的12岁游戏玩家)坐在我最好的朋友奥特的地下室里玩游戏时,他说道.
(他那时可能不高兴了,因为他输了游戏.
)那是日行千里、新陆军棋、大富翁,还是什么其他游戏我承认,我已经记不得了.
我只回想起将一些外形像大肚保龄球瓶的小塑料在一系列彩色的方格里上下跳动,那个方格告诉我做一些笨笨的事情,比如往后跳两个格,或者把100美元放入桶中,或者用核武器发起进攻等.

在那些独特的美国娱乐活动、棋盘游戏和汇编语言编程之间,有着很强的相似性.
首先,前面说过的所有内容仍然适用:总的来说,棋盘游戏包含一系列步骤和测试.
在某些游戏里,例如,TrivialPursuit(一种风靡全球的棋盘问答游戏),棋盘上的每一步都是一个测试:看一下你是否能够回答卡片上的问题.
在其他的棋盘游戏中,沿着路径的每个小方格都包含一些指令类型:LoseOneTurn(失败一个回合),GoBackTwoSquares(回退两个方格),TakeaCardfromCommunityChest(从社区福利基金中取出一个卡片),当然,还有GotoJail(请进监狱).
这些事情发生在棋盘游戏里,当沿着棋盘边缘行走的时候,那些小小的大肚保龄球所采用的路径会发生变化.
很多棋盘游戏也有少许在棋盘上标识出来的存储空间,你可以用它们来存放东西:卡片、玩具钞票或者游戏道具,例如小塑料房子、塑料旅馆,或者是炸弹人、战术核导弹.
在游戏过程中,你可以买、卖或者着手建设各种资产,你的存储空间的内容也随之不断发生变化.
计算机程序跟它类似:也有一些存放东西的地方(这里的"东西"指的是纯数据,而不是真正的道具);当计算机程序执行时,存放在那些地方的数据也会发生改变.

计算机程序并不是游戏,当然——至少不是从棋盘游戏是游戏这种意义上来说.
大多数时间里,任一给定程序都是自己运行的.
只有一个"玩家",而不是两个或者多个.
(这不总是对的,但是,我不想讲得太超前.
记住,我们仍然处于隐喻阶段.
)隐喻的用处依然很大,值得我们继续追求.

1.
3.
1BigBux游戏为了继续使用这一特定的隐喻,我已经开发了一款自己的棋盘游戏.
从艺术反映生活的意义上来讲,BigBux这个游戏反映了硅谷的生活,在那里,钱被不由自主地创造出来(一般情况下进入某些其他人的口袋),3个巨大的资金黑洞分别为高速行驶的汽车、加利福尼亚的不动产和狼藉的离婚事件.
风水轮流转,好运、工作及不动产经常非常迅速地更换主人.

图1-1展示了一部分BigBux游戏板.
页面左侧的一列矩形展示了该游戏板中的所有路线.
在游戏板的中间位置有一些用来存放游戏币和游戏卡的小孔;一堆偶尔将被读取的卡片;一些名为"MessyDivorce(麻烦的离婚)"或"StartaBusiness"(开始一项业务)之类的短绕路(detour),这些绕路对沿游戏板边缘绕行的路线中的"行为方块"进行了展开描述.
当接收到一些或者来自游戏板上的某个方格,或者来自游戏中取出的卡片的指示时,玩家就要走这些旁路.
如果刚好到达一个"StartaBusiness"的方格,就走"StartaBusiness"那条旁路.
如果跳过了那个方格,就不走那条旁路,只需绕着游戏板继续前行即可.
与很多棋盘游戏不同,这里不用通过扔骰子来决定沿着游戏板走多少步.
BigBux要求每一回合都往前走一步,除非到达的方格指示你向前或向后或向其他地方走,例如:通过一条绕路.
这样就构成了一个非常小的随机游戏.
实际上,BigBux是一个有趣的线性体验,这意味着大部分时间你是沿着游戏板前行,直到被告知游戏结束.
这时,你也许已经破产了;如果没有,你可以核算一下资产,看看玩得有多棒.
这里涉及一些数学运算.
最开始的时候,你拥有一套公寓、一辆便宜的小汽车和250000美元的现金.
你能够按照某一给定利率购买CD,然后在每一次沿着游戏板绕行时支付利息.
你可以投资股票和有价证券,其价值由经济指示器中的可变索引来决定,该指示器根据从名为"FickleFingerofFate"(命运多变手指)的堆中选出的卡片进行波动.
你可以在二手市场卖掉汽车,买卖房产、公寓和土地;鼓动其他玩家并与其进行交易.
每当绕着游戏板做一件此类事情,你都必须重新计算一下资本净值.
所有这些都包含一些加法、减法、乘法和除法,但是没有哪一种数学运算比计算复合利率更复杂了.
大部分BigBux游戏都不过是向前走一步和遵循每一步中的指令而已.
图1-1BigBux游戏板开始觉得有点儿熟悉了吗1.
3.
2玩BigBux游戏BigBux游戏板的某个角落就是传说中的"MoveIn"(迁入),就像人们在加利福尼亚开始生活一样——实际上没有人是在那里出生的.
这就是游戏开始的入口点.
一旦迁入之后,就可以一个方格一个方格地按照方格中的指令,以自己的方式开始这个游戏了.

有些方格简单地告诉你做某些事情,例如:"以15%的折扣在PaloAlto购买一栋楼.
"很多方格都包含一个某种类型的测试.
例如,一个方格写着这样的内容:"你的工作令人乏味吗(繁荣指数为0.
3~4.
0.
)如果不,往前跳3个方格.
"这个测试实际上是要看一下繁荣指数值是否为0.
3~4.
0.
在此范围之外的任意值(也就是说,远离繁荣或4个骑士级经济衰退)被定义为有趣的时光,将会导致往前跳3个方格.

每一次都往前走一步,除非到达的方格指示你做一些其他事情,比如:往前走3个方格,或者往回跳5个方格,或者绕路而行.
绕路而行的概念非常有趣.
在我提供的部分游戏板上显示了两条绕路.
(整个游戏板还有一些其他绕路.
)"绕道而行"意味着离开(沿着游戏板边缘绕行的)主路,然后进入游戏板上其他地方的一系列方格.
绕行完成之后,再回到原来的路线,而且刚好返回到离开时所在的地方.
"绕道而行"包含某些特定的过程——例如,StartaBusiness(开始一项新的业务),或者MessyDivorce(离婚了).
你可以一步一步地穿过一个绕路,直到到达最深处.
那时,你只需简单地回到离开的主路,继续旅行.
你也可能会发现,"绕道而行"过程中的某个方格将指示你原路返回.
根据游戏的逻辑(以及你的运气和财政情况),你可能完全通过这条绕路,也可能从该绕路的中间跳出.
无论哪种情况,你都会返回最初进入该绕道的那个地点.

还有一点需要注意,那就是能够在某个绕路中进入另一个绕路.
如果绕道通过"StartaBusiness",并且生意已经破产,那么你就临时离开"StartaBusiness",然后绕道通过"MessyDivorce".
一旦离开"MessyDivorce",就返回到"StartaBusiness"方格中你离开时的原来位置.
最后,你也离开"StartaBusiness"方格,回到主路中你开始绕路时的原来位置.
在游戏板的其他不同地方也可能会采用同样的绕路(例如,StartaBusiness).
与大多数棋盘游戏不同,BigBux不是必须得结束.
你可以永远沿着这个游戏板一圈又一圈地行走.
有以下三种方式可以结束该游戏.
退休:为了做到这一点,必须拥有某一特定级别的资产,并且做出退休决定.
破产:一旦失去所有资产,继续这个游戏就没有意义了.
搬到皮若亚市忍辱偷生吧.
进监狱:这是判断错误的后果,而且不是一种正常退出游戏的方式.
计算机程序也跟这个类似.
当完成了打算做的所有事情之后,你可以选择退出程序,虽然如果想的话,你仍然可以继续运行该程序.
如果已经完成文档或电子表格,可以保存它们并退出程序.
反之,如果正在编辑一张照片,但是它看起来比以前还要糟糕,而且每次选择"锐化"之后都变得更加糟糕,那么你可以什么都不做就退出这个图形处理程序.
如果你制造了一系列错误,那么这个程序将抛出错误信息,而且会破坏正在处理中的数据,这次程序运行以失败而告终.

再次强调一下,这是一个隐喻.
不要按照字面意义去理解这个游戏板(在过去的20世纪90年代,硅谷的生活与之非常相像,我听说现在那里的生活已经平静多了).
1.
4像棋盘游戏一样的汇编语言编程我们已经根据棋盘游戏进行思考,接下来看一下图1-2.
这里所画的内容实际上与我在25或30年前在某些更简单的计算机上使用的汇编语言非常相似.
那个标记为"程序指令"的列就是环绕在游戏板边缘的主路,这里只显示了游戏板的部分内容.
这就是汇编语言程序,当执行时,那些真实的步骤和测试序列使计算机做某些有用的事情.
汇编语言编程所做的事情实际上就是创建这样的程序指令序列.

其他内容都是临时的,它们会在(为正在进行中的游戏提供服务的)游戏板中间结束使命.
大多数这些东西是包含了数据的存储位置.
你也许已经注意到,这里涉及很多数据.
(它们也是一些神秘的数字,例如,"004B"是什么意思我将在第2章探讨这个主题.
)我很抱歉,但是,游戏规则就是这样的.
汇编语言就其本质而言,无非是一些数字而已,如果像某些人讨厌沙丁鱼一样讨厌数字,那么你就要度过一段苦难岁月了.
(我喜欢沙丁鱼,它是我的传奇中的一部分.
学会喜欢数字,它们并不是那么"咸".
)高级编程语言(如Pascal或Python)通过将数字当成符号来处理来对其进行"化妆"——但是汇编语言,唉,就是你和数字.

图1-2汇编语言游戏注意,"汇编语言游戏"代表的并不是真正的计算机处理器,如奔腾处理器.
而且,我已经把指令的名字变得比Intel汇编语言中的指令名更加容易理解.
在真正的编程中,指令名通常情况下是诸如STOSB、DAA、INC、SBB以及其他一些如果没有足够的解释就根本无法理解的神秘内容.
我们正从侧面轻松地进入它,所以,在本章中,我不得不为某些内容裹上一点糖衣,以便能够清晰地描绘这个隐喻.

1.
4.
1代码和数据像大多数棋盘游戏(包括BigBux游戏)一样,汇编语言这个"棋盘游戏"包含两大类元素:游戏步骤和存放东西的位置.
"游戏步骤"就是前面曾经提及的步骤和测试.
存放东西的位置就是可以存放数据的小孔,要确保这些数据仍然存放在初次存放它们的地方,直到把它们取出来,或者通过某种方法修改它们.

在编程术语中,那些游戏步骤叫作代码(code),那些小孔中的数字(要与那些小孔本身区别开来)叫作数据(data).
那些小孔本身通常叫存储器(storage).
(区分存放信息的位置和存放在该位置的信息十分关键.
不要把它们相混淆.
)BigBux这个游戏以相同的方式工作.
回去再看看图1-1,注意,在"StartaBusiness"这个绕路中,有一条指令:"Add$850,000tocheckingaccount.
"(添加850,000美元到支票账户.
)支票账户就是BigBux游戏的若干种不同存储器之一,而金额则是某种类型的数据.
从概念上来讲,它与汇编语言游戏的读入"ADD5TORegisterA"指令没有任何不同.
代码中的一条"ADD"指令改变了名为RegisterA的小孔中存放的数据值.
代码和数据是两种完全不同的东西,但是它们通过一些使游戏变得有趣的方式相互合作.
代码包含一些把数据放入存储器(MOVE指令)的步骤和一些修改存储器中已有数据的步骤(INCREMENT和DECREMENT指令,还有ADD指令.
)大多数时候,可以将代码看作数据的主人,因为是代码将数据写入存储器.
另外,数据的确也影响代码.
在代码进行的测试中,有一些需要检测存储器中的数据,如COMPARE指令.
如果存储器中已有某一特定数据,代码做一件事情,如果存储器中没有该数据,代码做另外一件事情,就像在BigBux游戏中的JUMPBACK和JUMPAHEAD指令一样.
标识为PROCEDURE的指令块是一条主程序流之外的绕路.
在程序的任意位置都可以"潜入"这个过程,执行其中所包含的步骤和测试,然后再返回到离开时的那个位置.
这样,那些通用的和使用频率较高的步骤和测试序列就可以只出现在一个地方,而不是在每个需要它们的地方都分别复制一份.

1.
4.
2地址在程序左侧表示步骤所在位置和数据所在位置的那些有趣的数字之中,还包含着另外一个重要的概念.
每个数字都是独一无二的,因为那个数字所标识的位置只在电脑中出现一次.
这个位置叫作地址(address).
在计算机中,数据是通过指定其地址来存储和检索的.
而过程则是通过指定其起始地址来进行调用的.

标识为PROGRAMCOUNTER的小方框(也叫存储位置)保存着下一条即将执行的指令的位置.
程序计数器里的数字递增1(我们说,每当一条指令执行后程序计数器都递增1,除非有指令告诉它做其他的事情).
以地址004B处的JUMPBACK9指令为例.
当这条指令被执行时,程序计数器将往上面跳回9个位置.
这与很多棋盘游戏中的"回跳3个方格"有着异曲同工之处.
1.
4.
3隐喻,将军眼下我能提供的关于汇编语言游戏的讲解就这么多.
这里仍然是第1章,我们仍然处于隐喻阶段.
略懂计算机的人大多能够识别和理解图1-2中所做的部分事情.
(有一个真实且可追踪的程序在那里运行——希望你弄明白它所做的事情以及它是如何做这些事情的.
)对计算机一窍不通的人们也不应因为完全迷惑不解而觉得落在后面.
我编写汇编语言游戏的唯一目的是为了解释以下几点内容.

每一个单独的步骤都很简单一条单个指令所做的事情无非是把一个简单的字节从一个作为存储器的小孔中移到另一个中,执行非常基础的数学运算(如加法、减法),或者把某个存储器小孔中的数值和存放在另一个存储器小孔中的数值进行比较.
这是一个好消息.
因为这样你就能够将精力集中于一条单个指令所执行的简单任务上,而不必被复杂性所淹没.

要想做一件有用的事情,需要好多步骤我们经常能够用五六行Pascal或者BASIC代码编写一个有用的程序.
实际上,通过使用VisualBasic和Delphi等可视化编程系统,可以根本不用编写任何代码就创造有用的程序.
(那些代码仍然在那里……但是,它们被密封起来,你只需在一个包含很多这样的块的集合中选择让哪个块中的封装代码来运行.
)一个有用的汇编程序不会少于50行代码,一些更具挑战性的应用程序可能会达到上百行或者几千行,甚至上万行代码.
汇编语言编程的技巧在于组织这几百条或者几千条指令,并使其仍然易于阅读和理解.

汇编语言的关键是理解内存地址在Pascal和BASIC这类语言中,编译器处理"内容存放在何处"之类的问题——你只需简单地为某些东西提供一个符号名,当需要查看或修改它的时候,随时通过那个名字来访问它.
在汇编语言里,必须时刻知道哪些内容存放在计算机内存中的哪个位置.
因此,在学习本书的过程中,对于内存寻址的概念要格外注意,其实,内存寻址无非是一种指出东西存放在何处的艺术.
汇编语言游戏中充满了地址和使用这些地址进行工作的指令(例如MOVEdataatBtoC的含义是:把存放在由寄存器B指定的地址处的数据移动到寄存器C中).
内存寻址大概是汇编语言中最为棘手的部分,但是一旦掌握了它,你就已经掌握了汇编语言的真谛.
到目前为止,我讲的所有内容都是为了熟悉情况而准备的铺垫过程.
我尽力让你大致了解一下汇编语言,以及它的基本原理如何与我们的日常生活相关联.
生活就是一系列步骤和测试,棋盘游戏也是如此——汇编语言亦然.
后面,当我们通过面对计算机数字的本质来继续探索汇编语言的真谛时,一定要牢记那些隐喻.

菠萝云:带宽广州移动大带宽云广州云:广州移动8折优惠,月付39元

菠萝云国人商家,今天分享一下菠萝云的广州移动机房的套餐,广州移动机房分为NAT套餐和VDS套餐,NAT就是只给端口,共享IP,VDS有自己的独立IP,可做站,商家给的带宽起步为200M,最高给到800M,目前有一个8折的优惠,另外VDS有一个下单立减100元的活动,有需要的朋友可以看看。菠萝云优惠套餐:广州移动NAT套餐,开放100个TCP+UDP固定端口,共享IP,8折优惠码:gzydnat-8...

HostDare($33.79/年)CKVM和QKVM套餐 可选CN2 GIA线路

关于HostDare服务商在之前的文章中有介绍过几次,算是比较老牌的服务商,但是商家背景财力不是特别雄厚,算是比较小众的个人服务商。目前主流提供CKVM和QKVM套餐。前者是电信CN2 GIA,不过库存储备也不是很足,这不九月份发布新的补货库存活动,有提供九折优惠CN2 GIA,以及六五折优惠QKVM普通线路方案。这次活动截止到9月30日,不清楚商家这次库存补货多少。比如 QKVM基础的五个方案都...

柚子互联(34元),湖北十堰高防, 香港 1核1G 5M

柚子互联官网商家介绍柚子互联(www.19vps.cn)本次给大家带来了盛夏促销活动,本次推出的活动是湖北十堰高防产品,这次老板也人狠话不多丢了一个6.5折优惠券而且还是续费同价,稳撸。喜欢的朋友可以看看下面的活动详情介绍,自从站长这么久以来柚子互联从19年开始算是老商家了。六五折优惠码:6kfUGl07活动截止时间:2021年9月30日客服QQ:207781983本次仅推荐部分套餐,更多套餐可进...

delphi教程为你推荐
留学生认证留学生服务中心认证内容和范围?巨星prince去世有几位好莱坞巨星死在2016年西部妈妈网烟台分类妈妈网 分类妈妈网的前2个字什么?杰景新特杰德特这个英雄怎么样rawtools佳能单反照相机的RAW、5.0M 是什么意思?336.com求那个网站 你懂得 1552517773@qq抓站工具仿站必备软件有哪些工具?最好好用的仿站工具是那个几个?dadi.tv智能网络电视smartTV是什么牌子机器蜘蛛有谁知道猎人的机械蜘蛛在哪捉的机器蜘蛛尼尔机械纪元机械蜘蛛怎么过 机械蜘蛛打法攻略解析
免费域名解析 中国域名网 liquidweb 美国主机评论 免费ftp空间 抢票工具 回程路由 网页背景图片 促正网秒杀 hostker adroit php空间购买 免费cdn 爱奇艺会员免费试用 视频服务器是什么 英国伦敦 免费asp空间 国外在线代理服务器 腾讯网盘 卡巴斯基试用版下载 更多