读书文摘
文章平均质量分 78
goodparty
这个作者很懒,什么都没留下…
展开
-
hecto - 手把手教你写个 文本编辑器
https://www.philippflenker.com/hecto/ 的阅读笔记。我是学完[[Rust权威指南]] 之后才看的这个。手把手教你写个 文本编辑器(1300+行代码)。作者是真有耐心,真手把手教。看文章+手敲一遍,我大概花了十几个小时。收获很大,很值得。原创 2022-11-26 21:53:08 · 673 阅读 · 0 评论 -
汇编语言(第3版)- 包含多个段的程序
之前的章节只有代码段,这里开始引入数据段和栈段。原创 2022-11-23 21:01:43 · 162 阅读 · 0 评论 -
汇编语言(第3版)- [BX]和loop指令
dos环境下(实模式),可以绕过操作系统,直接对任意的内存写数据,而改写的内存可能存放的系统数据,其他程序的数据。会引发异常,安全的编程就是只能在系统分配的内存空间范围内操作。dos方式下,一般不会使用0:200~0:2ff 的256个字节的空间,使用前可以先看看数据是不是都是0,都是0就表示是安全的。这个出现在访问内存单元的指令中,用于显示地指明内存单元的段地址的"es", 在汇编语言中称为。, 这个就是 (ax) = ((es)*16+(bx))[BX] 表示内存的偏移地址 存放在BX寄存器中。原创 2022-11-22 17:27:49 · 369 阅读 · 0 评论 -
汇编语言(第3版)- 第一个程序
一个汇编程序由多个段组成,譬如代码段,数据段,栈段。有意义的汇编程序至少有代码段。SA:0 为 PSP开始地址。PSP为256字节,dos利用psp和加载的程序通信。伪指令,不能翻译成机器码的指令。至少一个段,一个end。程序区:SA+10H:0 (CS:IP)然后才是加载的程序的入口:CS:IP,编写汇编源程序-》 编译连接-》执行。汇编指令,能翻译成机器码的指令。PSP区:SA:0 (DS)空闲内存区: SA:0。原创 2022-11-21 20:08:36 · 130 阅读 · 0 评论 -
汇编语言(第3版)- 寄存器(内存访问)
内存是连续的单元,一个单元存放一个Byte, 8位。譬如从0~10000, 0就叫低地址,10000 就叫高地址。那么要存一个16位的字,就需要两个内存单元,譬如0和1.其中低地址存放低位字节,高地址存放高位字节。譬如 数字 20000(4E20H)4E是高位字节, 20是低位字节,假如存放在0和1 两个内存单元中。那么0存放的是20, 1存放的是4E.读数据是 4E 20内存 编号是 1 0。这里有点反知觉(读数据时 是 4E20, 读编号是0,1,2,3,4,5,有点反过来的感觉)。原创 2022-11-20 16:38:25 · 139 阅读 · 0 评论 -
汇编语言(第3版)-寄存器
cpu: 运算器、控制器、寄存器。原创 2022-11-19 16:43:18 · 120 阅读 · 0 评论 -
汇编语言(第3版)-基础知识
就是一串的0、1的二进制。原创 2022-11-18 16:29:03 · 119 阅读 · 0 评论 -
utf8编码
我记得以前有个同事说过一个问题:声明编码为utf8 和 gbk, 你怎么识别呢?譬如美国人说我说的英语。。中国人说我说的中国话。两个人互相听不懂对方的话,有啥意义?这里他就是没理解ASCII码。在所有编码中ASCII码都是一样的,可以说是通用语。所以声明编码是有意义的。原创 2022-11-14 23:38:42 · 118 阅读 · 0 评论 -
go标准库-reflect
在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。简单来说,反射只是一种机制,在程序运行时获得对象类型信息和内存结构。通常高级语言借助反射机制来解决,编译时无法知道变量具体类型,而只有等到运行时才能检查值和类型的问题。不同语言的反射模型不尽相同,有些语言还不支持反射。对于低级语言,比如汇编语言,由于自身可以直接和内存打交道,所以无需反射机制。原创 2022-11-07 21:10:41 · 129 阅读 · 0 评论 -
设计模式:可复用面向对象软件的基础
意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。别名Kit动机 略适用性在以下情况下可以使用Abstract Factory模式一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库,而只想显示它们的接口而不是实现时。结构。原创 2022-11-04 17:37:00 · 580 阅读 · 0 评论 -
程序是怎样跑起来-读书笔记
略。原创 2022-11-01 17:19:44 · 613 阅读 · 0 评论 -
cpu如何维护自己控制权的
关键概念用户模式:受限的指令。内核模式:所有指令有些操作需要用到特权指令,这个只有在内核模式下才可以运行。其中时钟中断很重要,是硬件支持。如果没有时钟中断,然后进程又不进行系统调用,也不出错(譬如:啥也不干的无限循环),这样操作系统无法获得控制权。原创 2022-10-29 11:42:58 · 371 阅读 · 0 评论 -
操作系统之内存这点事儿
内存介绍。原创 2022-10-29 11:28:34 · 421 阅读 · 0 评论 -
原码、补码、反码
补码的表示方法是:正数的补码就是其本身,负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1): 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。:反码的表示方法是: 正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.一个数在计算机中的二进制表示形式, 叫做这个数的。将带符号位的机器数对应的真正数值称为机器数的。原创 2022-10-29 11:23:20 · 351 阅读 · 0 评论 -
oop设计原则SOLID详解
面向对象编程设计原则有个总结,叫SOLID原则。再具体下去就是具体的设计模式了。原创 2022-10-27 14:53:52 · 528 阅读 · 1 评论 -
Rust权威指南 读书笔记
主要是看视频 https://www.bilibili.com/video/BV1hp4y1k7SV?高性能 Web Service命令行工具网络编程嵌入式设备系统编程性能安全性无所畏惧的并发Rust的核心机制。其他语言要么是手动内存管理,要么是gc 自动管理。Rust采用了第三种方式内存是通过一个所有权系统来管理的,其中包含一组编译器在编译时检查的规则。当程序运行时,所有权特性不会减慢程序的运行速度。栈内存 vs 堆内存。原创 2022-10-26 15:14:11 · 307 阅读 · 0 评论 -
操作系统之并发这点事儿
信号量是个整数值,通过sem_wait和sem_post来操作。//第二个参数 0 表示同一进程里的多个线程共享。sem_wait信号量的值-1, 当值原创 2022-10-26 15:08:20 · 444 阅读 · 0 评论