自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 汇编IA32 指令表纪录 以及常用对照表

大端法和小端法操作数指示符数据传递指令算术和逻辑指令比较指令以及条件码指令

2021-12-27 23:58:46 1117

原创 php 无限分类 引入输出方法

php 无限级引入的输出方法 引用方法: function generateTree($array){ //第一步 构造数据 $items = array(); foreach($array as $value){ $items[$value['id']] = $value; } //第二部 遍历数据 生成树状结构

2020-09-25 14:01:07 175

原创 php 无限极分类递归实现,无限极分类引入实现,性能差距

引用方法: function generateTree($array){ //第一步 构造数据 $items = array(); foreach($array as $value){ $items[$value['id']] = $value; } //第二部 遍历数据 生成树状结构 $tree = arra...

2020-09-25 13:19:00 1003

原创 docker镜像

EOF。

2024-07-18 11:15:31 285

原创 electron-builder 打包过慢 超时 设置

执行electron-builder打包下载electron资源过慢只需要在项目根目录创建.npmrc配置环境变量。

2023-08-14 11:23:17 476

原创 electron 使用node C++插件 node-gyp

【代码】electron 使用node C++插件 node-gyp。

2023-08-11 13:37:16 908

原创 C++ 守护进程-并且添加开机自启动

【代码】C++ 守护进程-并且添加开机自启动。

2023-08-09 11:23:55 414

原创 操作系统真像还原 - MBR主引导程序初体验

【代码】操作系统真像还原 - MBR主引导程序初体验。

2023-04-28 15:39:56 365 1

原创 操作系统真像还原 - windows nasm bochs环境安装

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-04-28 14:20:44 433

原创 hyperf Guzzle HTTP 移除http状态码不为200 抛移除事件

$handler = HandlerStack::create(new CoroutineHandler()); $handler->remove('http_errors'); $client = new Client([ 'base_uri' => $url, 'handler' => $handler, 'timeout' => 120, 'swoole' => ['tim

2023-03-03 17:48:05 196

原创 php生成订单号,日期+序列号,redis lua脚本

php生成订单号,日期+序列号

2023-02-23 13:54:00 192

原创 在 CLion 中开发 PHP 扩展

在 CLion 中开发 PHP 扩展

2022-09-22 17:24:56 197

原创 php协程实现

## 什么是协程?协程可以理解为**多任务用户操作系统**中用户自行实现调度器的线程,可以理解为由事件驱动的程序。由你实现的调度器,调度运行的程序段就是协程,也有人叫协程为轻量级线程。> 在多用户多任务操作系统如linux中,用户指的是使用该操作系统的操作者,也就是你开发者,可千万别理解成,web程序的客户端用户,我之前就遇到过这种小傻子。

2022-09-19 16:52:01 404 1

原创 vm 虚拟机设置共享文件夹

测试

2022-08-12 13:02:54 9082

原创 MySQL 内部临时表的使用

MySQL 内部临时表的使用

2022-08-10 13:27:44 255

原创 php curl binary 文件上传

php curl binary文件上传

2022-06-07 11:36:02 615 1

原创 centos gcc c++ 安装

yum -y install gcc gcc-c++ kernel-devel

2022-05-17 21:34:28 311

原创 bochs 编译安装

./configure \--prefix=/my_study/bochs \--enable-debugger \--enable-iodebug \--enable-x86-debugger \--with-x \--with-x11make && make install

2022-05-14 23:03:55 209

原创 asm 汇编 寄存器 指令表

图片来自书籍<操作系统真象还原>

2022-05-01 23:56:04 944

原创 gdb 的基础使用

yum install gdb -y// demo 代码#include <stdio.h>#include <stdlib.h>#include <malloc.h>int main(){ int *a = NULL; a = (int *)malloc(sizeof(int)); *a = 255; printf("%d", malloc_usable_size(a)); free(a); return 0

2022-04-30 11:46:35 240

转载 centos8 阿里云 服务器过期 修改源地址

https://developer.aliyun.com/mirror/centos?&msctype=sms&mscareaid=cn&mscsiteid=cn&mscmsgid=8880122022201206172&&spm=a2c4i.26787838.zh-cnc.1&utm_content=g_1000323853&short_name=f1.KS8C5&app=chromeCentOS 镜像简介CentOS,是基于

2022-04-14 13:11:33 1090

原创 Elasticsearch 开发环境部署

elasticsearch下载地址本文为windows环境下开发环境部署,目的搭建es进行测试,具体请看官方文档关闭 es的安全设置# ======================== Elasticsearch Configuration =========================## NOTE: Elasticsearch comes with reasonable defaults for most settings.# Before you set out to

2022-02-18 11:16:19 195

原创 linux AT&T汇编 输出hello world

Centos8安装32位编译环境安装32位glibc库文件命令:(安装C库文件)sudo yum install glibc-devel.i686安装32位glibc++库文件命令sudo yum install libstdc+±devel.i686.code32.section .datahelloworld: .ascii "hello world\n".section .text.global _start_start: pushl $helloworld

2022-02-11 15:46:53 851

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.10

寄存器用法寄存器变量初值%esixx%ebxyy%ecxnnmovl 8(%ebp), %esi // get xmovl 12(%ebp), %ebx// get ymovl 16(%ebp), %ecx // get n.L6: imuli %ecx, %ebx // y * x -> y addl %ecx, %esi // x + n -> x decl %ecx // n - 1 -> n testl ...

2022-01-09 12:45:38 318

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.9

movl 8(%ebp), %edx // get amovl 12(%ebp), %eax // get *ptestl %eax, %eax // 比较%eax & %eax 两个值相等 按位与& 结果一定是 逻辑值本身je .L3 // ZF 等于 0跳转 一个指针地址加入if判断没有任何意义 这行永远都不会执行testl %edx, %edx // 比较 %edx & %edxjle .L3 // 小于或者等于跳转addl %edx, (%eax) // 相加.

2022-01-09 12:33:58 313

原创 gcc 编译和反编译

c语言编译成汇编gcc -O2 -c code.c汇编反编译二进制指令objdump -d code.o

2022-01-08 00:13:43 891

原创 在公网部署服务 nginx访问权限设置 给请求增加密码

安装工具yum -y install httpd-tools生成配置文件htpasswd -c test.passwd prometheustest.passwd : 文件名prometheus: 帐号名配置nginxserver{ listen 9093; location / { proxy_pass http://localhost:3000; auth_basic "Basic Authentication"; auth_basi

2022-01-06 16:46:23 1132

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.7

char t1 = a __ b;movl 8(%ebp), %ecx // get amovl 12(%ebp), %esi // get bcmpl %esi, %ecx // 比较 a和bsetl %al // 小于 将最近 cmpl %ecx, %esi // 比较

2021-12-30 11:30:00 509

原创 centos yum安装virtualbox

virtualbox官网wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo /etc/yum.repos.d/ && yum install VirtualBox

2021-12-29 17:28:16 482

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.4-3.5

addl %ecx, (%eax)%ecx = 0x1%eax = 0x100(%eax) = 0xFF0x1 + 0xFF = 0x100第二个操作数的寄存器存储的地址就是其的 (目的地)目的:0x100值:0x100subl %edx,4(%eax)%edx = 0x3%eax = 0x1004(%eax) = 0x100 + 0x4 = 0x104M[0x104] = 0xAB结果计算0xAB - 0x3 = 0xA8目的:0x104值:0xA8imull $16..

2021-12-27 21:57:23 570

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.3 加载有效地址 leal 指令

leal 6(%eax), %edx%eax 值为 x6(%eax)符合基址 + 偏移量寻址 M[Imm + R[Eb]]那么就是 6 + xleal (%eax, %ecx), %edxx = %eax;y = %ecx;那么 符合 变址x + yleal (%eax, %ecx, 4), %edxx + 4yleal 7(%eax, %eax, 8), %edx7 + x * 97 + 9xleal 0xA(,%eax,4), %edx0xA + x * 410 + 4.

2021-12-26 23:09:30 603

原创 深入理解计算机 - 第三章 程序的机器级表示 练习题3.2 数据值传递实例

假设调用的C语言代码是int a = 100;int b = 200;int c = 300;decode1(&a, &b, &c);1-3行1到3行其实是对 变量进行赋值也就是 &a, &b, &c 的基址都存储在 %ebp寄存器中movl 8(%ebp), %edi # int *xp 大概意思 不是实际上的汇编代码movl 12(%ebp), %ebx # int *ypmovl 16(%ebp), %esi # int *zp

2021-12-26 22:37:41 234

原创 深入理解计算机 - 第三章 程序的机器级表示 操作数指示符

%eax 寄存器寻址 格式Ea R[Ea]先找到寄存器集合带入寄存器 %eax 找到其的值 0x1000x104 绝对寻址 格式 Imm M[Imm]先找到存储器集合带入存储器 0x104 找到其值 0xAB$0x108 立即数寻址 格式 $Imm Imm他就是 0x108(%eax) 间接寻址 格式 (Ea) M[R[Ea]]我们需要先找 R[Ea] 那么就是去找寄存器%eax 的值是 0x100 M[0x100]那么需要去找 存储器找到 0x100的地址 拿到 0xFF..

2021-12-26 16:44:12 1173

原创 深入理解计算机 - 第二章 练习题2.5 2.6 信息的表示和处理

首先我们需要知道明确清楚什么是小端法和大端法。书中描述最低有效字符在最前面被称之为小端法。最高有效字符在最前面被称之为大端法。0x01234567 = 0000 0001 0010 0011 0100 0101 0110 0111(B)8个bit(位)为一组byte(字节) 转换Hex(十六进制)那么大端法就是0x100 = 010x101 = 23。。。。小端法就是0x100 = 670x101 = 45。。。。这一题我认为主要是让学者清楚自己的环境是 大端法还是小端法。

2021-12-26 01:51:37 251

原创 C语言 内存存储范围 初次理解

可以先看看我记录的另一篇博客 寻址方式#include <stdio.h>int main() { int a = 100; char c = 'A'; printf("char占byte: %d\n", sizeof(char)); printf("int占byte: %d\n", sizeof(int)); printf("%d\n", a); printf("&a = %x\n", &a); printf("%c

2021-12-24 23:35:57 595

原创 javascript js 实现 有道词典 单词循环播放 代码

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-

2021-12-24 22:00:15 962

原创 微机原理与接口技术 - 8088CPU内部寄存器

内部寄存器的类型

2021-12-18 18:23:36 312

原创 微机原理与接口技术 - 寻址方式

立即寻址指令直接给出的方式mov AX,1200HAX是累加器寄存器寻址器参加操作的操作数在CPU的通用寄存器中。例如:MOV AX,BX就是BX寄存器中的内容送给AX存储器操作数的寻址方式重点指令操作的对象在内存中,表现形式为:【】指令中给出运算对象在内存某个逻辑段中偏移地址【偏移地址】逻辑段的段基地址通过默认或重设的方式给出。存储器操作数的字长本身不确定,其字常取决于指令中的另一个寄存器操作数,或通过其他方式指定字长直接寻址指令中直接给出操作数的偏移地址例如MO

2021-12-18 16:00:46 2207

原创 微机原理与接口技术 - 指令系统的概念

这里的概念都是基于微机指令控制计算机完成某种操作的命令,也就是机器指令。和具体的CPU的密切相关的,和我们在高级语言中学的到程序语句是不一样的。指令系统处理器所能识别的所有指令的集合。指令的兼容性,同一系列的指令都是兼容的。指令格式操作码 【目标操作数 | 操作数】,【操作数】解释:操作码就是执行什么操作可以分为三种操作格式零操作数指令:操作码单操作数指令:操作码 操作数双操作数指令:操作码 操作数,操作数三种类型操作数的比较立即数由指令直接给出,是常数性质无地址含义,

2021-12-18 12:37:49 673

原创 微型计算机原理与接口技术 - 计算机存储器的基本概念计算机中内存介绍

存储器主存储器,简称内存或者是主存。用来存放程序、数据存储元 ,存储器的最小组成单位,用以存储1位二进制代码也就是一个比特 bitbit 是计算机所能表示的最小最基本的数据单位。存储单元,是CPU访问存储器的基本单位,由若干个具有相同操作属性的存储元组成。存储体,存储单元的集合,是存放二进制信息的地方。单元地址 在存储器中用以表示存储单原的唯一编号,CPU通过该编号访问存储单元。存储器 存储体和地址译码电路,读写控制电路等一起构成存储器例图:存储单元存储单元的二进制地址吗,由CPU通

2021-12-16 22:04:58 490

空空如也

空空如也

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

TA关注的人

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