自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

faMin博客

学习

  • 博客(42)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 学习前置知识第二十天

进制定义:N进制,由N个符号组成,逢N进1.十进制是由十个符号组成,就一定是0、1、2、3、4、5、6、7、8、9吗?其实并不是,既然是由符号组成,那么十进制也可以是是由A、Y、B、3、4、5、D、9、0、X组成,由什么符号,取决于定义的那个人。使用0 1计算机逢2进1使用0-9 逢10 进 1为二进制服务因为计算机底层只能储存0和1,称为一个bit,8个bit组成一个字节所以储存类似于汉字、英文字符、符号字符等内容需要一个编码表,实现从字节到符号等转换。

2025-03-07 13:33:30 769

原创 学习前置知识第18和19天

今天要做什么?1:显示数字要求格式2:无符号除法指令:div3:前面用vhd和img等格式进行系统界面启动,详细了解多种镜像格式文件的区别。

2025-03-07 13:14:21 723

原创 学习前置知识第十七天

EB 8位的相对偏移量,8位是一个字节,可以表示的数介于(128)-(-127) 我们称这样的跳转为相对短跳转。因为这条指令的段地址本身没有变化,变化的只是偏移地址,不改变段寄存器CS的内容,只改变了指令指针寄存器IP的内容,所以是一个段内跳转指令,绝对间接近跳转指令。绝对间接进跳转:跳转到不太远的地方,不是直接给出的跳转地址,是用通用寄存器bx间接给出的。使用相对偏移量的跳转是因为,标号和要跳转的地方所相差的偏移地址是不变的。要查看的地址 0x7c00,最好先将调试地址设置到0x7c00处。

2025-03-05 11:27:59 398

原创 学习前置知识第十四十五天

所有在个人计算机上使用的显卡,在加电自检之后,都会把自己加载到80*25的文本模式,屏幕上显示25行,每行80个字符,所以叫做80*25的文本模式,这样的话,总共可以显示2000个字符 ,从B8000 到BFFFF,是留给显卡的,是由显卡来提供的,是将显卡上的显存映射过来的。将立即数0x3c传送到内存中偏移地址位0x06的地方,在这里 立即数只知道大小,不知道长度,目标位置,只知道位置,不知道长度,使用word 关键字来修饰 使用一个字立即数 传送到 0x06的字单元 ,他是16位的。

2025-03-05 11:11:05 579

原创 学习前置知识第十六天

成功修改显存中的文字,这几天内容整理的比较繁琐,后续简化一下,弄的通俗易懂一点。对于一些高手而言,这是很简单的,但对于我,终于了解并成功了,一次,记录一下。

2025-03-03 15:21:48 411

原创 汇编前置知识学习 第11-13天

如果计算机的设置是从硬盘启动,那么rom bios将读取硬盘主引导扇区的内容,执行跳转指令JMP 0x0000: 0x7c00(这条指令是离开ROMBios时所执行的最后一条指令),主引导扇区里面,有些代码指令,从硬盘的其他部分读取代码指令,用来接力执行,操作系统启动。要注意到,扇区在编号是,是以柱面(磁道)为单位的,即 先是0面 0道,接着是1面0道,直到把所有盘面上的0磁道处理完,在接着处理下一个柱面。我们要注意,刚才已经执行了一条指令,意味着这条指令 将在t = 1的条件上执行,但是还没有执行。

2025-03-01 07:10:27 864

原创 学习汇编前置知识第十天

每当我们通电开机以后,处理器都会进行硬件初始化,以及一个可选的内部自测试,然后将内部所有寄存器的内容都初始到一个预置的状态,在计算机上有一个热启动按钮,热启动按钮和RESET引脚相连,RESET引脚在处理器上,当按下热启动按钮,会像RESET引脚发送一个信号 ,这同样会导致硬件初始化和内部自测试,并将所有寄存器的内容初始到一个预置的状态。处理器的主要任务是取指令和执行指令,当计算机通电后,处理器立刻开始任务 ,这是电脑设计好的,换句话说,处理器将在FFFF0这个位置,开始取用位置,并加以执行。

2025-02-26 06:32:49 720

原创 操作系统前置汇编知识学习第九天

1:在8086处理器存在的系统中,访问任何一个内存单元都是由段寄存器乘以16,形成20位的段地址,在和偏移地址相加,想访问一个内存单元,光知道物理地址还不行,必须转换成16位的段地址和16位的偏移地址。3:如果是20位地址线,内存中保存的也是20位,但是数据段寄存器和程序段寄存器是16位的,如果20位是转换后最后一位是0,可以先去掉,后面在寄存器中取出的时候在左移加上,但是如果不是0。也就是因寄存器先去掉最后一位,后面再加,将前面逻辑段地址乘以16或者左移4位,然后和偏移地址相加,不要错位。

2025-02-25 08:37:54 1000

原创 自制操作系统前置知识汇编学习第八天

增加一个寄存器,目前有两个寄存器,寄存器R和寄存器Z,左侧的电路输入,可以选择进入哪个寄存器, 两个寄存器中的值 也可以相互传送,如果这些命令都由开关控制,那开关就太多了,需要换一种思路。十六进制的寄存器写入八位的内存,需要拆分成两个字节,假设写入0002编号的内存,那么0002编号的内存保存的就是16位寄存器的低字节部分,0003保存的是16位寄存器的高字节部分。2:每个内存单元都有相应的编号,地址线输入相应的编号即可读取到相应的内存,地址线的数量决定了可以读到的最多的内存单元。一个字节(8个比特)

2025-02-24 00:03:25 860

原创 自制操作系统学习第七天

在nask目标文件的模式下,必须设定文件名信息,然后在写明下面程序的函数值,注意要再函数名的前面加上”_”,否则就不能很好的与C语言函数链接,需要链接的函数名,都要用GLOBAL指令声明。修改完后make 执行生成镜像后,执行,并没有显示成想要达成的效果,于是需要读一读文章,二进制文件分析,根据文章内容,修改相应文件。函数名叫io_hlt,虽然只叫hlt也行,但在cpu的指令之中,HLT也属于I/O指令,所以就起了这么一个名字。磁盘名称,必须为11字,不足填空格。磁头每个扇区扇区数,必须为2?

2025-02-22 23:20:59 904

原创 自制操作系统第六天

单个的目标文件还不是独立的机器语言,其中还有一部分是没完成的,为了能做成完整的机器语言文件,必须将必要的目标文件全部链接上,完成这项工作的,就是0bj2bim。单个的目标文件还i不是独立的机器语言,要将目标文件全给链接上,完成这个工作的就是obj2bim(作者单独设计的binary image),他是一个二进制映像文件。cc1是C编译器,可以将c语言程序编译成汇编语言源程序,经gcc编译器改造而来,gcc又是以gas汇编语言为基础,输出的是gas用的源程序,所以不能翻译成nask。2:32位模式前期准备。

2025-02-22 01:07:07 873

原创 自制操作系统第五天(前置知识make知识)

Makefile 由若干条规则(Rule)构成,每一条规则指出一个目标文件(Target),若干依赖文件(prerequisites),以及生成目标文件的命令。现在,我们要合并a.txt与b.txt,生成中间文件,m.txt,再用中间文件m.txt与c.txt合并,生成最终的目标文件x.txt。### make针对每条命令,都会创建一个独立的shell环境,类似cd ..这样的命令,并不会响应当前目录。观察输出,发现cd ..命令执行后,并未改变当前目录,两次输出的pwd是一样的,这是因为。

2025-02-21 00:25:04 394

原创 自制操作系统分享第四天

为了解决这个问题,新增了一个EBX的寄存器(最大4G)内存,在中间的过渡时期是设计了一个起辅助作用的段寄存器(segment register)用ES:BX(MOV AL,[ES,BX])这种方式来表示地址(理解:先用ES寄存器指定一个大致的地址,然后再用BX来指定其中一个具体地址)软盘分为18份,每一份称为一个扇区,一个圆环有18个扇区。含有IPL的启动区,位于C0-H0-S1(柱面0,磁头0,扇区1的缩写),写一个扇区是C0-H0-S2,待会要对这个扇区进行操作。磁头每个扇区扇区数,必须为2?

2025-02-19 23:55:57 353

原创 自制操作系统第三天

利用作者开发的磁盘映像管理工具edimg.exe,先读入一个空白的磁盘映像文件,然后再开头写入ipl.bin的内容,最后将结果输出为名为hellos.mg的磁盘映像文件,这样从编译到测试的步骤就变得非常简单了,这个可以跟着教程做一遍,不过下面的方法更便捷实用。还有HLT指令:(让CPU进入停止(睡眠)状态),如果没有HLT指令,cpu就会不停的权力去执行JMP指令,这会让CPU的符合达到100%,一个HLT指令,技能节能环保,又能节约电费,还能延长电脑的使用寿命呢。JE是条件跳转指令中之一。

2025-02-18 22:15:45 918

原创 30填学习自制操作系统第二天

虽然二进制与电信号有很好的一一对应关系,但他有一个缺点,那就是位数太多了,举个例子来说,如果我们把1234写成二进制数,就成了0100 1101 0010,长达11位,而写成十进制数,只用4位就够了。RESB 0x1fe-$.这个美元符号的意思(可以告诉我们这一行现在的字节数)(如果严格来说,有时候他还会有别的意思)在这个程序里,我们已经在前面输出了132个字节,所以这里的$就是132.因此nask先用0x1fe减去132,得出378这一结果,然后连续使出378个字节的0x00.”这样一个赋值语句。

2025-02-17 22:39:25 679

原创 30天自制操作系统第一天(1)

1:工具准备:推荐使用大佬用的二进制编辑工具Bz,我已经全部汇总到了工具包,win下来直接用,还有模拟器qemu,可以在网上下载qemu.exe文件,也可以自己构建,推荐使用ubuntu虚拟机,本人目前用的ubuntu-20.04.6-desktop-amd64.iso,可以直接用vm虚拟机和官网下载ubuntu镜像,遇到问题,百度、必应,deepseek等智能gpt。最好的安全是什么,做一个安全的系统(没有绝对安全的系统,只有更绝对安全的系统),说起来简单,那就先搞一个练手的。# 设置gcc的优先级。

2025-02-16 20:45:03 589 2

转载 tsconfig详解

tsconfig

2022-03-10 20:26:12 5610

原创 发布npm包

以前做项目的时候用到过,今天想起来了记录一下第一步:进入要发布的项目根目录,初始化为npm包:npm init依次按提示填入包名、版本、描述、github地址、关键字、license等这步完成之后会生成一个package.json文件,上面输入的这些信息可以在该文件中修改注意:如果你的包引用了第三方包,则需要在package.json文件种增加dependencies节点...

2019-09-03 15:41:28 226

原创 javascript深入之继承(笔记4)

1 原型链继承function Parent(){ this.name='aaa'}Parent.prototype.getName=function(){ console.log(this.name)}function Child(){}Child.prototype=new Parent();var child1=new Child();co...

2019-08-26 00:32:02 266 1

原创 Javascript深入闭包(笔记3)

闭包的定义是能够访问自由变量的函数。什么是自由变量呢?自由变量是在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。由此,我们可以闭包有 函数 和函数能够访问的自由变量组成例var a=1;function foo(){console.log(a);};foo();foo函数可以访问变量a,但是a既不是foo函数的局部变量,也是不是函数的参数,所以a就是...

2019-08-25 20:36:02 196

原创 Javascript深入call(笔记2)

call一句话介绍call:call()方法在使用一个指定的this值和若干个制定的参数值的前提下调用某个函数或者方法例:var foo={ value:1}function bar(){ console.log(this.value);}bar.call(foo);//1call改变了this的指向,指到了foobar函数执行了...

2019-08-24 10:32:06 128

原创 js深入从原型到原型链(笔记1)

构造函数创建对象我们先使用构造函数创建一个对象:function Person(){}var person=new Person();person.name='A';console.log(person.name);//A在这个例子中,Person就是一个构造函数,我们使用了new创建了一个实例对象personprototype每个函数都有一个prototype...

2019-08-24 00:24:48 182

原创 浏览器同源协议 笔记

同源指的是:协议相同域名相同端口相同举例来说 http://www.baidu.com/丛发民的博客/ 这个网址,协议是http://,域名是www.baidu.com,端口是80(默认端口可省略)http://www.baidu.com/丛发民的博客/ c 同源若想同源 这三项就不可改变同源政策的目的是保证用户信息的安全,防止恶意的网站窃取数据。若非同...

2019-08-16 13:10:00 1206

原创 HTML5 几个元素

w3school笔记HTML5的canvas元素使用JavaScript在网页上绘制图像,画布是一个矩形区域,您可以控制每一像素canvas拥有多种绘制路径/矩形/原型/字符 以及添加图像的方法canvas元素本身是没有绘图能力的。所有绘图工作必须在JavaScript内部完成,也可以使用js插件SVG指可伸缩矢量图形SVG用于定义网络的基于矢量的图形SVg使用XML格式定...

2019-08-13 17:08:41 249

原创 浏览器的工作原理(1)

看了极客时间李兵老师的浏览器工作原理写的关于自己的理解。需要详细了解的可以去购买课程java转前端后已经工作了差不多两年,看了老师的课程我才知道前端到底要去学习什么,我这两年了一直在学习如何使用轮子,使用什么什么框架了,然后了解轮子的工作原理,自己会去搭建轮子,但是谁让轮子动起来的,动起来的机制是什么,我现在才慢慢学习到。在课程中总结浏览器的三个大的进化路线,应用程序web化,web应...

2019-08-12 20:19:51 326

原创 js获取 对象的所以key

{10001:[11001,10001]}这个对象怎么解析const keys=Object.keys(data)keys获取所有的 10001 前面的

2019-06-25 10:02:00 891 1

原创 nuxt第二天

npm install axios --save打包 npm rungeneratenpm install -g live-server

2019-06-22 17:20:50 111

原创 重装系统后nuxt开始学

安装 vsCode node npm镜像 vue-clivue init nuxt/starter 不管用看的nuxt文档npx create-nuxt-app <项目名>~ 波浪线 匹配符 匹配到根目录

2019-06-22 08:31:45 119

翻译 flutter搭建

https://flutterchina.club/setup-windows/flutter中文网要在终端运行flutter命令, 你需要添加以下环境变量到系统PATH:转到 “控制面板>用户帐户>用户帐户>更改我的环境变量” 在“用户变量”下检查是否有名为“Path”的条目: 如果该条目存在, 追加flutter\bin的全路径,使用;作为分隔符....

2019-06-18 13:53:51 142

转载 js的闭包

作用域what? 不是在说闭包么,怎么又扯到作用域上面去了稍安勿躁,在我们了解闭包之前,还是很有必要先了解一下JavaScript中的作用域我们都知道在JavaScript中存在着全局变量和局部变量,全局变量可以在任何地方访问到,然而局部变量只能在当前作用域中访问。全局作用域是不能直接访问局部作用域中的变量,而局部作用域可以直接访问全局作用域当中的变量就像一个代码块儿或函数...

2019-06-13 20:26:43 103

转载 axios

需求是拦截前端的网络请求和相应。废话不多说,直接上干货。我用的是vue-cli3所以这个config文件是我自己创建的。先介绍env.js//根据不同的环境更改不同的baseUrllet baseUrl = '';//开发环境下if (process.env.NODE_ENV == 'development') { baseUrl = '';} else if...

2019-04-22 16:49:38 1513

转载 nginx的一些知识

nginx在应用程序中的作用 解决跨域 请求过滤 配置gzip 负载均衡 静态资源服务器 nginx是一个高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,最初由俄罗斯人Igor Sysoev编写。nginx现在几乎是众多大型网站的必用技术,大多数情况下,我们不需要亲自去配置它,但是了解它在应用程序中所担任的角色,以...

2019-04-19 17:00:41 142

转载 对vue的一些理解

Vue.js(读音 /vjuː/, 类似于view)是一个构建数据驱动的 web 界面的库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 也能完美地驱动复杂的单页应用那么,怎样理解什么是渐进式框架?在这之前,我们首先要理解什么是框架.在最初的前端开发中,为了完成某个功能,我们需要通过js在HTML页面中获得dom节点,随后获得dom节点中的文...

2019-04-18 16:50:34 413

转载 学习微信小程序第二天

可以看到page/logs/logs下包含了四种文件,微信客户端会根据logs.json配置生成一个界面,顶部的颜色和文字都可以在这个json文件里定义好,然后客户端就会装载这个界面的wxml结构和wxss样式page是一个页面构造器,这个构造器生成了一个页面,在生成的时候,小程序会把index.wxml和data数据一起渲染出最终的结构,在渲染完界面之后,页面实例就会收到一个on...

2019-02-12 14:54:13 187

转载 小程序正式学习第一天

网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。 app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等 工具配置 project.config.json通常大家在使用一个工具的时候,都会针对各...

2019-02-11 17:01:42 424

转载 vue中router-view的使用

开发的时候有时候会遇到一种情况,比如 :点击这个链接跳转到其他组件的情况,通常会跳转到新的页面,蛋是,我们不想跳转到新页面,只在当前页面切换着显示,那么就要涉及到路由的嵌套了,也可以说是子路由的使用。 以饿了么订餐的情景来说吧,在同个页面,切换显示不同组件的相应内容,同时地址栏的地址是会变的怎么实现它呢?首先 我们在导航组件navbar.vue中写了三个导航链接,他们对应地址分别为...

2018-11-26 16:04:58 4954

翻译 ES6 复习(1)

// 1// var a="fage";// // console.log(a);// // window.onload=function(){// // console.log(a)// // }// {// let a="发哥";// }// console.log(a); // 2// for(let i=0;i&lt;10;i++){//...

2018-10-19 15:26:43 180

原创 study

今天用到了JavaScript Array some() 方法,以前没学习过,现在学习记录一下:some() 用于检测数组中的元素是否满足指定条件some()方法会依次执行数组中的各个元素 A 如果有一个元素满足条件,则返回trueB 如果没有元素满足条件,则返回false注意  some()不会对空数组进行检测  some()不会改变原始数组array.some(func...

2018-09-11 16:25:58 132

翻译 3dcss学习

学习某个项目中的3d模型 以下是准备::1 规定属于其父元素的第二个子元素的每个 p 的背景色:父元素的第二个子元素,不管是什么元素p:nth-child(2){background:#ff0000;}2 onmousedown 事件会在鼠标按键被按下时发生。3 度(Degress)。一个圆共360度90deg = 100grad = 0.25turn ≈ 1.57...

2018-08-16 17:10:42 240

原创 element ui 的Notification 跳转

最近项目中要用到这个,所以练了练,因为文档中并没有过多的介绍,所以整理了一下项目中推送消息 后跳转 目前找到两种方式(和群友讨论的)第一种openMessage(){const h =this.$createElement;this.instance=this.$notify({title:'异常',message:h('a',{attrs:{'href

2018-05-10 16:55:01 4977 5

nginx安装包

nginx最新版,再也不需要去别的外文网站去下载这个了,只需要在csdn上就可以

2018-01-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除