好,然后我们去调用刷机包,双击啊,然后找到你的包 啊,然后选择高通叉 m l, 然后你就是这个地方选它就行了啊,选它 打开, ok 啊,这地方我们要注意几个东西啊,那主要的东西在哪儿?主要就是它了啊,就是,主要就是它了啊,双击打开,然后去找文件, 你是 b 杠 a 的, 那么我们就要找什么? 找 v 杠 a 的 下边儿啊,一般是在下边往下拉 v 开头的啊, v 管杠 o e m, 我是 杠 b 的, 那么我们要找全网通, 全网通杠 b 的 啊,那就是它了啊,那就是它了啊,选,选中它好了,把这个文件第二个杠 b 的 也是一样的啊,拉到底,拉到底,找到 v 管 杠 o e m 杠 b 啊 b, 然后下边是全网通,选中啊,这两个键是一样的。 ok 了啊,我们就可以上机了,我看看你的这个东西对不对?好,写入。
粉丝1.3万获赞2.2万

好,我们来看啊,首先我是单论的,我是没有任何的分区,对不对?那 f 六四特点是什么?它要鞋底层,它要刷漆,它要基于以分区名称这个元素 来调入的,那么我首先要把分区表给它写回来,所以 m t k 呢?我就选择 g p t 啊,点一下,找到我的双击包,然后在文件类型选择 s k t 啊,双击它就给你生成了啊,在这个地方你会发现,哎,它给你生成了一个文件啊,给你做了保存,然后你再点,重新识别,之后, 你没发现你的刷机,你的分期列表就回来了, 是不是特别简单啊?就这么简单,看到没有?就这么简单,那这个只是有分期列表,是没有资料的啊,是没有资料的,那如果我想刷机怎么办 啊?我双击同样的选择 scepter, 双击啊,这个地方怎么选?哎,这是什么机器啊? 这是一个 realme 的 啊, realme 的, 那么 realme 是 oppo 这个体系的,那么这个里边它就会调用你的什么 josun, 他是通过 java 去解析的,他会发现这个里面有参数啊,这个我们课上都讲了, java 怎么去判断选哪个 java 的 啊?啊?点 ok 选它就好了啊,这是国行对吧? 啊? ok, 全中,这是掉进来了,就把你的刷机包里边对应的分区掉进来了啊,这个地方它是调用的什么?你看它调用的是什么?是 datapater 啊,这个时候它是从直接就把你的 datapater 打包了,这是最新的版本,有这个特点,然后直接点写入, ok, yes, 我 们来看一下啊,看一下它的特点,再拉一拉,拉长一点啊,拉长一点 好,关键看哪?关键看写 super 这个地方 啊?这写的 super, 然后先写的 super mate, 然后通过 super 的 这个动态分区他所有的逻辑分区的地址,然后他就逐步的去写相关的一些逻辑分区, 简单不简单?是最新的玩法啊。那为什么要写每个对话?就像我刚才给大家讲了,他是头文件, 他是头文件。所以如果你对这方面不了解的啊,去这个安卓的开发者这个网网站去看一下相关的一些文献, 这是就是大家要去储备的一些东西, ok, 就 写完了啊。


f 六零零图形化编程血无软件安装教程因为编程软件的运行一托于电脑系统的环境,如果电脑中有一些杀毒软件,在编程软件安装前可以先临时关掉, 防止误报造成安装不成功。并且为了保证软件的正常运行,建议使用电脑配置为 i 五及以上处理器, 四 g 及以上内存,独立显卡, win 激活 win 十的六十四位操作系统。我们找到下载好的安装包,双击图标进行安装,在弹出来的窗口选择是按照默认的目录进行下一步的安装,在这里勾选小方框,点击下一步,点击安装。 这是一款图形化编程软件,通过拖拽图形化的类似积木一样的语句进行程序创造,不需要手动编辑文本代码,非常适合编程零基础 和刚入门的同学学习,可以培养提升大家的创新思维和编程能力。在编程软件的安装过程中,会意图安装一些必要组建,大家对于弹出的窗口 都点击继续和确定就可以,不要取消或者关掉中间弹出的安装窗口。 安装完成后,我们双击图标进行启动,测试是否可以正常运行在弹出的窗口里,选择式这些,点击允许访问即可。 好的,我们的软件可以正常使用,那么我们的编程软件的安装就完成了。安卓完毕后,先将加密优盾插入电脑,然后打开小鸟飞飞炫舞编程软件,编写一段程序,测试软件和优盾是否正常。 在确定加密优盾插入电脑的情况下,如果出现,请先插入硬件加密优盾,再使用此功能的提示,请安装固件, 找到图形化编程炫舞软件的安装位置路径,在文件夹中找到此文件夹,打开后安装应用程序,按照安装流程安装即可,再重新打开软件。三 d 预览,想了解更多请点赞关注,后续持续更新。

那么很多车主呢,和维修工一直分不清我们汽车的编程和设码,那么今天这个视频带大家深入了解。现在的车全是电脑控制, 车上所有模块,发动机、变速箱、车身电器都是自带大脑的 ecu。 那 么首先说编程, 编程说白了就是给汽车电脑装系统,全新的模块或者程序损坏的模块,里面是空的,装车上也没用。那么此时我们把厂家官方程序刷进去, 模块才会有生命,才能正常工作,更换新的模块,厂家升级新的部件,修复程序 bug 都需要编程。然后呢就是射马,这是最容易让人搞混的,编程是装系统,射马就是配置功能匹配车型, 那么同款模块通用在高低配上面,两驱四驱车上不设码模块就不知道你的车况配置,设码不对就会报故障,功能缺失,灯光异常,车窗不能一键升降,后视镜不折叠。那么总归一句话,编程就是让模块能干活,设码就是让模块干对活, 大家常刷的隐藏功能,关闭,自动启停,低配升高配全部都是射马,不是编程。那么最后提醒大家,编程射马严禁自己啊,乱点乱刷,轻则一堆故障码,重则会刷死电脑,车辆无法启动。

嗯,讲这个实际上目的是要讲 risk five 的 裸机操作系统,但是在讲 risk five 的 裸机操作系统之前,我得先把这个什么锁了,得先把 呃 g a s 的 会编锁了大概十个小时。嗯,所以说我争取用十个小时把它录完 啊。环境是什么呀?我本机装的是 windows, 现在是 windows, 对 不对?因为我要开直播伴侣,但是写呃,写写会编嘛。写会编的话, 我是在 wsl 的 这个环境下,实际上 windows 下也写,也就是我在 windows 下和在这个会在这个 linux 下这两个系统里面我都会去写,把这个会编它的系统调用我都会简单讲一下。 嗯,环境是什么呀?既然是裸机操作系统,对吧?哦,先说这个会编的事,会编器用的是 gnu 的 symbol, 就是 这个 g a s 嘛,对吧?会编器就是 a s 版本,这呢,二点三八 啊,链接用的是 ld 和 g c c g c c, 后期 g c c 可能用的多一些,对吧?但是前期其实它是这样的, g c c 实际上是一个变异驱动,它是一系列的一个工具,它是个驱动链,对吧?它最终底层调用的也是 ld 吗?在链接的是吗? 啊,这是 ld 和 g c c 的 一个版本号,调试器用的是 g d b, 调和器用的是 gdp, 对 吧?嗯啊,讲叉八六,这个叉八六六十四位的就是 叉八六杠六十四这个架构的会变,当然 risk five。 最后讲 risk five 和 arm 的 时候,它语法是一样的,只不过是指令级不一样。嗯,第一节课按照国际惯例就是怎么叫 hello world, 对 不对? 你写一个 hello, 我 的 g a s 就是, 它是 atm 的 t 语法啊, g a s 是 atm 的 t 语法, atm 的 一切,但是 n a s m 是 什么呀?英特尔语法和。 谢谢,感谢关注啊,主播在讲会编,现在是在讲会编, 就是 g s, 它默认是 atm 七,但是它也可以用英特尔啊,对吧?但是我这会要讲的是 atm 七。英特尔是纯什么呀?那个 n s m 是 纯英特尔语法对不对? 哎,我再重说,哈喽,吃饱撑的啊。我再重说一遍,那个 g i s 是 可以切换到英特尔语法啊,但它默认是 atm 的 t, 但是 n s m 是, 呃,只能用英特尔语法, 对吧?嗯,所以说 g i s 里面我在讲的时候,我用 a t and t 语法去讲,然后我们返回编的时候啊,再返回编出英特尔,然后两种语法就一起对照着看了。 国际惯例对吧?我们先去,其实我已经呃前两天录的不好,录的不好就是说有些口误的地方,我再重新录一遍。我已经写了哈喽,国际惯例是哈喽 word, 对 不对?已经写了一个哈喽 word 二了都,对吧?我们重新来一个,说一下, i d e。 在 linux 下, i d e。 我 也不喜欢高级语言。我高级语言,哎,不,我高级语言,我只用 rap。 就是 说也不是只用 rap 的, 我比较喜欢用 rap 的。 到目前为止,哈喽罗宝美出生 啊,用什么呢啊? ide? 在 linux 下我装了 s a s m 了,对吧?但是我不不见得用 啊,我不见得使用它。默认情况下咱们就用什么吧,就用 linux 的 这个 win 来干这事得了。 创建一个文件, hello, 我 用 go go 也可以啊。 w r l d word 三点 s 后缀是 s go 也可以啊,我也喜欢用 go 啊。嗯,我,我写了一个,我这两天我正在写一个。嗯, im 系统, im 系统的后端 webshop 的 长连接,我用了 rasp, 也用了 go, 哈哈,我也不知道我当时咋想的,本身想的是用 rasp 的 做长连接和 webshop 啊。 嗯,因为我们要写系统调用,所以说不需要自己写 l d 脚本脚本,那我们就默认的来,对吧?嗯,会编嘛,所以说你得分段。 section 是 定义这个为指令是定义哪些段,对吧? linux 下是 read only data 指读段。我先声明一个指读段,说明指读段的目的是,我要啊定义一个字母串,对吧?阿斯克这个的为指令是我定一个阿斯克的字母串。 其实这个后面的下一节课,也就是说第一节课完事以后,我们还会讲一个死军营的这个为指令, s p, r i, n, g。 他的为指令和阿斯马的为指令的区别就是一个加零,一个不加零。哈喽, hello, word w, o, r, l, d, 对 不对?哈喽,孟宇轩,嗯,对吧?你看,我不需要以零结尾,但是我需要杠 n 结尾。嗯 啊,我需要计算一个,我需要定义一个常量 let。 在 这里面还有一个问题,就是 message, 这是一个 sim 保这个标号,对吧?是一个 label 或者是 sim 符号 啊,在高级语言里面,这是变量了,对吧?实际上变量也好啊,还是符号也好啊?你还是把它叫做 label 也好啊。他最终在会编和编一阶段,这只是一个地址, 对吧?这就是变量的本质,他只是个地址,我需要去定义一个这个字串我需要定义一个这个字串,就存储这个字串长度的 啊。长量我用的是什么?直接写等号,但是在 n s m 韵特语法里面用的是 equal, 对 吧?在 啊, g s 的 a t n 的 t 语法里面,我们就直接用等号了,点代表当前内存位置减去 message, 是 不是 就是我就能计算出 message 在 这呢吗?它定义了 hello world, 它指向的是 hello world 这个 h 的 位置,这个点是已经杠 n 完事的位置。所以说这句话的意思就是计算出了整个 hello world 字母串的长度了,对不对?我们在系统调用的时候需要去传 那个人潮的。没有看过,我不知道啊,回头我去看一眼 s, e, c, t, l n 我 继续定义点 text 是 什么代码段,对不对? global 啊?声明,一个导出符号点 start, 你 看在这个位置,我用的是点下划线 start, 对 吧?我没有用 main 函数,因为这时候我不需要用 g g c c, 我 不需要用 linux 的 这个加载的这个启动器,我自己写了一个杠下划线杠 start。 这句话的意思 就是啊,我们我们写的代码在被 linux 交给内核的时候是它是需要有一个启动器的,这个启动器首先是去执行 start 这个这个符号,它所会变异出这个地址的位置的,对不对? 好了,那我们定义一个 start。 嗯啊,在 g n s 里面就是这个,就这个 sim 包啊,它的后面的冒号是不能。我也写了一个 glb, 但是没发 在 g s 里面,这个 sim, 它后面的冒号是不能省略的,但是在 n s m 是 可以省略的,对不对? 木,像这些指令上面带点的是为指令,对吧?然后这个木是指令嘛?指令它后面带了一个 q, 这个 q 所表示的意思是什么呀? q 代表的是六十四位,对吧?我简单的说一下吧, b 是 什么?八位啊? b 是 八位 啊, w 是 几位啊?十六位?嗯, b 是 bet 的 缩写, w 是 word 的 缩写,对不对?然后浪 l 是 浪的缩写,它代表的是三十二位,对不对?我有一点错觉啊,那么 q 是 call 的 那个单词的缩写,它代表的就是六十四位,是什么关系,对吧? 啊?你像在 n s m 英特语法里面怎么着啊?如果我们要去啊,就是说显示的去告诉,就是说要指定我们要操作数的宽度,那么用的什么 bug 啊?还有什么?这个 word 啊, double word 啊, 对吧?但是在 n s 里面, atl 版就直接在指定后面加上了这个我们要操作的操作速度的宽度, 这就是到了符,到了符一一,什么立即数,对吧?立即数前面是必须要加到了符,但英特尔语法是必须要加的。第一个数是圆操作数,那么第二个,呃,是目的操作数,对吧?英特尔语法正好反过来了,后面的是圆操作数,前面的才是目的操作数 啊。我们接着看这个一,一会我跟你说,我在,我现在这个一传入 i x 实际上是系统调用号是一号,一号是什么呀? right, 对 吧? 啊?一个是瑞的零零号是什么?零号是瑞的,一号是 right, 对 吧?他是写出往哪写?第二个参数依然是一,代表的是显示器标准输入输出吧? 啊,然后放到 rdi 里头,就是这些放到 i x 里面,这是系统调用决定的,就是必须把系统调用号放到,放到 i x 里面,但是把一第一个参数放到 rdi 里面,是啊, linux 的 这个 abi 决定的,对吧?一会我再 在咱们在讨论这几个官方文法,这句话的语法常用,非常常用。括号是计算偏移量的 l e a 这个指标代表的就是计算, 我们要计算这个 message 在 加载到内存之后的呃具体位置,对吧?因为在变异的时候, message 它是以偏移, 它是呃以 r i p 为基础去计算了一个偏移地址,对吧?这句话的意思就是 message 加上 r i p 的 地址就是在加载到内存当中之后的实际地址。 这句话一会我们再返回编的时候才能就很容易就能理解,不难把这个第二个参数要放到 r s i 里面,依然去改个号吧。 r s i 对 不对 啊?我们需要把第三个参数放到哪去啊?放到啊,放到 rdx 里面,对吧?之后呢,我们就可以跟这是一个参数,两个参数,三个参数齐了吧? 三个参数齐了,我们就设置 call 了呗。系统调用了,是不是因为现在写的不是逻辑操作系统,我们可以用系统调用啊。最初最初的这个系统调用号是六十,最初的系统调用号是六十, 一样放到二 x。 既然是系统调用好,手搓会编,我要手搓操作,手搓老机,那个那个那个裸机操作系统。手搓会编是做前面的基础准备啊。 嗯,古法编程,哈哈,这做计算机考古学 cisco, 所以 e 货 x o r 是 e 货对不对? e 货是清零最快的,比用木指令的速度,就是指令周期要快。好了没有了,我们检查一遍 x n r o data 在 windows 下是 r data 对 吧?不是 date, 是 date 数据的一个单词。 r data 也好还是 r o data 也好,对吧?它在翻译成它是在编辑哪个段了?编辑只那个它,到它编辑了只读段,对吧? message 这个符号, 然后点 ask 为指令,为会编指令,定义了一个字母串,然后定义了一个常量。哦,下面看不见了对不对?是不给挡上了哦,抱歉抱歉,敲了半天,我忘了我的摄像头的这个位置了。嗯 啊,然后定义了一个 start, 对 吧?因为我们就是今天这个 hello world, 不 用 g c c。 老吴老吴。另外, windows 真的 有个古典古董古董老吴,哈哈,啥意思没?没看懂啊。然后, 呃,用的是一个下划线 start 的 这个符号,对吧?我们用 ld 来进行连接啊。然后把系统电话号放进了 i x 里头,输入到标那个显示器,放到了 r d i 里面,放到了 r s i 里面,放到了 r d x 系统电话号,这都没有问题。 这个的依据在哪啊?这个你得看 linux a b i 的 官方文档,对吧?嗯,官方文档的 conversations。 嗯, a 就是 它的这个附件的 a。 二点一 calling conversations 在 哪呢?你看 user liblications, user int register。 就是 使用什么呀?使用整形的寄存器 for passing sequence 啊。传递参数对吧?传递参数序列第一个是什么呀?第一个是 rdi, 第二个是 rsi, 第三个是 rdx。 我 在录课,我开什么连线呢?你想捣乱?你到别的地去,天天到我这来连线 rx r 八 r 九,对吧? uh, the kernel interface uses r d i s i r d x。 你 看,然后这里面又说了系统调用的事, system call is done。 通过什么呀?通过 i x, 也就是我们系统调用号是要通过 i x 传递的,对不对? 嗯, the number of the system call uh has to be passed in。 你 看是通过 i x 传递的,就是说官方文档在这儿呢。嗯啊,再就是啥呀? 再就是,呃,还有一个 a b i 的 a b i 的 文档一样也得去查查莉尼克斯的不是 a b i 的。 系统调用的系统调用的也得去查 a b i 就是 你得知道系统调用号是哪规定的 系统调用号是哪规定的。哎,那个那个文档呢?在这呢, 你看零号是 rate, 一 号系统调用是 rate, 对 不对?二号是 open, 就 接着看,然后我们还有一个 exit 退出,退出的这个是三 c 嘛?我写的是十进制的六十,那么十六进制就零差三 c 嘛,对不对?零差三 c 在 是不在这呢?嗯, 好了。嗯,洗完了之后怎么着?变异呗。别忘了我用的是 vivo 啊。哦,你看刚才就是我忘了点 esc 了。 vivo 是 什么呀?点 esc 冒号 wq 别忘了我用的会编辑用的是 a s 吧。刚,哦,哈喽,这是三,哈喽 word 三哈喽,三点哦,哈喽, word 三点 s 我 要加上一个刚记,因为我需要用到什么符号表。 嗯,会编,从这会编的时候没有报错,对吧?但是现在如果我要用 gcc, 它是必然报错。哈喽三,嗯, 哈喽,三点 o, 因为 g c c, 它是一个工具链,你看它必然报错,它要前期给你加啊。 linux 的 启动函数就是它要加那个 start 那 个位置,而且它要链接标准库, 对不对?但是我用 g c c。 如果我要是说 no s t d 啊 s no s t d uh no start file s t 我 想一想啊 no start file 如果我要是这么写的话 s t a r t start file 杠 o 嗯, hello 三,然后 hello 三点 o no start file no start file 字 no star 费尔斯你看,如果我要是这么写的话,就可以翻译出来,现在已经有已经有 hello 三了,对不对?已经有 hello 三了,而且这个东西它是可以运行的。点杠 hello 三, 你看 hello word 是 不是能出来?如果我不用啊,猫哈气的声音,喷麦声音特别大,是吗?离嘴边太近了 离嘴边太近了啊。如果我不用 g c c 的 话,我用 ld, 我 可以, 对吧?我就不需要去加那个 no start file 了,因为 g c c 它是直接,它又给你加了一个下划线 start 的 这个这个这个这一段代码。如果我要是不用 g c c 的 话,我用 ld, 对 吧? ld 杠 o output file, 我 们起一个 hello 三, g c c 呃, ld 吧,刚才那是 g c c 翻译的嘛,对不对? hello 三点 o, 你 看用 ld 就 不需要加 no s 呃,就是 no start files 加不需要加这个参数了, 或者是其实 g c c 还可以怎么变异啊?它应该是还可以这么变异。 no 呃 s t d 立波,我得回个消息应该,然后杠 o 杠 o 什么呀? hello 三下划线 g c c 啊,然后 hello 这这这这这这这写的是啥? hello 三 hello 三,你不要影响我的正常工作。 hello 三点 o hello 三点 o, 对 不对?这样也是可以正常变异的是不是? hello 三点 o 你 看有了吧?嗯, hello 三,嗯, hello 三, hello 三点 g c c hello 三点 ld, 你 看它全都有了,刚才 hello 三点 ld 是 可以运行的,对不对? hello 三下划线 ld 有 吧?点杠 hello 三点 下划线 g c c, 是 吧?它都是一样的。好了,这就是翻译和链接这两种情况给你说完了,说一下什么呀? g d b 杠,随便,其实这几个都是一样的,我用 g d b 调试是不是? hello 三 l d g d b 的 命令啊?是一个,是一个熟练工的活,但是 g d b g d b 的 就是你打断点的调试。卧槽,不能清屏,不能清屏。算了, 我已经进入到 gdp 了,哈哈。但是你打断点和调试是一个技术活,这里面所有的命令它不是一个技术活。 inforebreakpoint 动词 p o i n t p o i n t 啊,这是音符,是 information 的 缩写,这个音符还可以继续缩写,就单独一个 i, 然后单独一个 b 所代表的意思是我要查看当前有没有断点,对吧?现在是 no brick points for what point? 就是 我们所观察的,是没有任何一个断点的,我打一个 对吧?直接就是用 b, 嗯,就是 b r a k 嘛,缩写就是 b, 我 放到哪标号 s t a r t, 对吧?你看他现在是打到了第一个断点,就是四零幺三三个零这个位置位置敲命令 run。 其实 run 是 什么呀?就运行的意思对不对?或者是我直接单敲一个 r 运行走起,现在是不是已经 进入到?你看后面的他把我的注试也给也给这个什么出来了就没有关系,无所谓啊。那就证明程序是正常加载到内存当中的。现在怎么着?我们返回边对吧?我返回边十条 i 啊, lod 符,这时候要加 lod 符的 start。 嗯, 我在这个位置返回边了十条。跟我们刚才用 g a t n t 语法它不一样了,就是现在是英特尔语法了,对吧? 你看跟英特尔语法,呃,它的质量不一样了。我们的 at n t 语法后面是有操作数的位宽,有个有一个后缀是 q, 对 吧?但是在 英特尔语法里它就没有了,对吧?然后原操作数是在后面,目的操作数在前面。对,把里把十六帧制的十六帧制的一零叉一嘛,放到了 i x 里,就系统调用号一号, 然后把第一个参数零差一十六英寸的一放到了 rdi 里面,那么也就是把第一个参数放到了 rdi 里面。刚才我们看了官方文档对吧?嗯, 对吧?别忘了 user lib applications, user 引起的,在这字 for passing sequence 是 不是?别忘了这几个串串的它的顺序, rdi, rsi, r d x, s x r 八 r 九这个东西常用,用习惯了,自然而然就记住了, 这就是一个死记硬背的事,不是什么技术活啊。然后第二个参数你看,其实在这个返回编的层面上,你才能去理解 lea 它所表达的意思。 lea 是 什么呀?在汇编的时候,我们就已经把 message 针对于 rp 的 一个偏移地址计算出来了,这是汇编器干的事,对吧?它计算出了我们的整个代码,这个在这个代码当中, message 针对于 rp 的 偏移地址是零叉 f e b。 然后呢?我们在程序运行的时候只需要 rp, 因为 rp 在 成它永远都是指向的。什么呀?指向的下一条是需要运行指令的地址, rp 是 指令寄存器,一会我会把这几个通通用寄存器再捣鼓一遍,照照本宣科的念一遍。 那么零叉 f e b 针对于程序运行指向下一条指令的地址就是 message 的 位置,对吧?所以说这叫什么?这叫跟位置无关。哎,那个专业术语 p p p p 什么忘了啊,一会我搜一下。嗯, 和位置无关嘛,我们通过 r i p 就 能找到我们所定义的只读这个数据的,是不是?嗯 啊,之后呢?我们把这是第一个参数,第二个参数,第三个参数放到 rdx 里了。这个零差 d 代表的是整个字母串的长度,对不对?调用。 呃,就是我们去执行 cscall 这条指令是系统调用,我们把三 c。 三 c 是 什么啊?时进制不就是六十吗?时进制它就是六十啊,对不对?六十代表的是退出,然后返回给操作系统,零代表没有任何错误,然后调用 cscall。 嗯, 是的,但有时候我懒得用 ai, 因为它作为推理,它作为这个知识依据的话,它推理有时候会出错。好了,返回编也说完了,整个程序它就是这么个原理,对吧?你至于说你要我可以在这个位置,我给你加一下。嗯, 加不出来啊,计算器他妈卡住了。 嗯,现在程序现在我的端点是在第一行, 对吧?我可以查看一下 info 不? 不用 info。 i 是 什么呀?哎,对 i 还是阴方嘛?是不是? i 是 阴方? r 代表的是 register, register 字复数 ir 什么呀? ir 的, 我要看一下当前位置的。呃,就是指令指向,那么我要看 r p 对不对? rsi, 其实看 rsi 到现在为止意义不大。你看我的端点不是已经就是说打到 start 吗?所以说 ip 是 指向指向的四零幺零零 啊,我要想运行下一条命令,我点单独的 n 和点单独的 n i, 它俩是不一样的。 n 是 代码层面的一行,对吧?但是 n i 是 next instruction, 对 不对?我点 n i, 下一条指令执行到了这儿,对吧? i r i r p 零叉四零零幺零七,是不是指向了这 r d i 啊?然后我继续 n i, 我 一直让他走到 l e a 那 个位置,对吧?走到 l e a 这个位置,我在这个位置,我就查看一下 i r i i 那 个 ip, 它是四零幺零零 e, 我 接着再去运行下一条,它现在是不是就是四零幺零零幺五啊, 对吧?是这了吧?是不是四零零幺零幺五?因为我说了,在这个位置遇到 lea 的 时候,是 r i p 的 指向下一个地址,再加上 f e b。 四零啊,多少四零幺零幺五,算一下呗。我的计算器又让我关了吗?又卡死。嗯, 哈喽,幽静的林。嗯, 十六进字啊,四零幺零幺五,对吧?我们加一下会编辑手计算出的偏移地址,它是 f e b 吗?是不是 f e b? 确定一下就是 f e b 吗?对不对?零叉 f e b 是 不是四零二零零啊?那我在这个位置我看一下 i r r s p。 是, 呃,还得按 i 一下,嗯嗯, i r。 你看,呃,抱歉,刚才的查看的计算器查看错了,是 r s i 呀,是不是四零二零零啊?我们再看一下 print 到了福 message 是 不是四零二零零啊,对吧?所以说我们去找到这个 做啥呢?讲知识呢?是的,嗯,讲会编的基础知识。嗯,所以这个东西就这么找到了吗?就没了,对吧? gdp 这个命令啊,他就是一个熟练工的事,他不是一个什么技术活, 简单的捣鼓一遍,捣鼓一遍通用集成器 r x r b x r s i r d i r b p, 对吧?这十六个通用计算器一两三四五六七八,后边这几个英特尔的工程师连名都攒得起了,对吧?直接就二八二九二十二十一就这么来了,对吧?这几个六十四位的计算器他都有名字啊, a q m u l t o r 啊, a q m u l t o r, 对 吧? 累加器 r b x 是 base r c x account r d x source index r d s destination index, 对 吧? i s p stack pointer r b p base pointer 后面二八二九 这些继承器它都是六十四位的,但是同时你也可以给它,就是你可以给它划分成三十二位的,因为它本身就是两个三十二位的嘛, 对吧?你可以用一个 ex 来把它用做一个三十二位继承器, ax 用做一个十六位继承器,然后这个到十六位的这个级别的时候,这个层次的时候它就可以分为一个 a l, 一个 a h, 就 低八位和高八位,它就可以分成两个 好了。第一节课就讲这么多,嗯,然后主要是录课我会把它发出来哈。 嗯,这里面其实还有一个问题,昨天就是在隔壁的时候,他们就有人问过我说叉八六,我用 start 这块代码为什么不 内存对齐?为什么不内存对齐啊?啊?第一是叉八六如果不用到 sse 和 avx 的 时候,他没有要求强制对齐。第二就是 start 本身我们自己手写的 start 就 start 这个。呃,程序谁干的事?是操作系统层面干的事,其实不是我们自己代码干的, 不应该是我们自己代码去干的事,对吧?但是第一第一节讲 hello world, 所以 说干脆我们就写了一个下划线 star 就 这么来了 啊。如果用 g c c 做链接的话,你看他会调用莉克斯的,呃,叫什么程序启动器啊?什么什么瘦点二的那个那个那个那个那个程序, 对吧?这就是说为什么这一块他没有去对齐。最主要的是后期我还会要去讲 avx 和 sse, 讲 avx 和 sse 的 目的是为了要做最大限度的代码优化 啊,对吧?因为一百二十八位、二百五十六位和五百一十二位,他在做矩阵计算和做数据打包的时候,他的速度是非常非常快的, 对吧?呃,不至于说我们后期在写操作系统的时候你好多东西,你看我用 rasp 写操作系统内核,但是 rasp 写操作系统内核它有很多情况下是要在堆区去分配内存,申请内存,你堆区申请申请内存本身就比站区你要慢得多得多,这不是一个数量级。 可是如果我直接用数据打包,我直接在集成器里面来把这事干了,那我连战区我都,是,不是我都,我都比在战区去申请内存的速度还要快。但是这句话不严谨,对吧?你在写,你在写函数调用的时候,该使用站还得使用站, 过来没了,今天就讲这么多啊?我盖上摄像头 smoking, 有 想问问题的问一问。我现在是四十分钟,我讲直播到俩小时以后我下播。呃,直播到一个小时以后我下播。 对啊,那个幽静的脸讲十个小时的会编,讲完十个小时的会编,讲 risk five 的 裸机操作系统。

这玩意干啥呀?主要就是我做通讯的时候,发现这个信号板上他的固件版本要是一点零的话,他这个轮询有点问题,然后现在就是给他的固件版本升级,升级到一点零点一, 那你拆他干什么?我主要就想看一下他长的什么长什么样,然后我这边是直接就是点这个天线和诊断,然后点这个功能固件更新, 然后进来以后这里也就是跟 p 二 c 升级的版本是一样的,然后你就退出来找这个安装包,安装包里面的 v 二幺的安装包点进去,然后是第二个这个, 这是那个信号版的,是吧?对,然后还是选第一个点进去,把这个先拖到桌面,然后呢?拖到桌面后,我们就从这个薄图这里面点这个浏览,我们就选我们刚刚的那个文件,点打开,然后到后面 更新,更新现在是一点零,是吧?对,然后点是更新完以后,他的版本就是一点零点一,现在是一点零点零, 正常。这边这个更新完成以后,你就点确定,然后他就可以这个轮巡是一个正常的一个状态,然后我们就点 p r c, 然后下载程序就好了。

组装电脑使用 u 盘重装系统,温七六十四位系统教程,我们先准备一个八 g 或者八 g 以上的 u 盘,再下载一个大白菜超级 u 盘制作工具, 在这浏览器下载一个温七的六十四位镜镜像文件,我们把这个大白菜这个下载了,把它安装,安装好过后,现在我们开始制作 u 盘, u 盘启动点开始制作, 把 u 盘插在 u 壳上面,我们开始制作这个 uu 启动,现在我们制作完成了,十二点否就可以, 现在这个六十四位这个操操作系统我们也下载好了,下载我们解压,我们把这个文件,把这个温七六十四位这个 g h o 这个文件直接复制 复制的,我们刚开始刚刚做好这个大白菜这个 uu 盘,启动这个 u 盘里面去,我们把它复制粘贴进去, 复制粘贴好了开始重启电脑,重装系统, 直接重启 电脑重启,我们只要点这个键,间歇性的按这个键,第一按键我们进这个 bus, 进这个主板的 bus, 像这个滑出的主板我们可以直接点 f 八 领导启动点点 f 八用 u 盘启动,刚才的我是做的是这个 u 盘启动 进去过后,我们直接是方向键,方向键上键,点到这个温室的这个 p, 我直接进 pe, 先进 pe, 我们开始重装系统, 我们等一下给他加载文件,就加载这个 pe, 现在我们进入 pe 了,进入 pe 了,我们直接点这个大白菜, 一键装机就 ok 了,这个选择我们刚才复制这个文件, 温七的六十四倍这个镜像文件,直接点,确定我们装在 c 盘,是不是装在 c 盘,直接点直行,直接点直行, 就这样,你不要动他了,不要动他,直接,他会自自动自动加载的,把这个镜像复制进去,加载进去。 好的,现在你这个镜像文件已经考已经拷贝家长完了,我们直接点试,直接重启计算机就 ok 了,重启一定不能断电, 重启过后我们只把 u 盘扒掉,扒了,现在他就开始自己看,现在开始自动加载系统了,他自动安装的,千万不能断电,千万不能断电。他会自动装的都是傻瓜式的, 他会把所有驱动还系统文件全部加载解压。 装好他系统,你看加的,加的完了他就开始重启, 开始重装,正在安装豌豆石这个界面,现在系统装好了就是这个界面了,满血复活,满血复活。