- 博客(182)
- 收藏
- 关注
原创 x86汇编加载用户程序-4-2
基于上篇加载了应到程序后,这一篇对用户程序内容进行增加,有屏幕显示多行内容,并实现超出屏幕,滚动屏幕,光标移动等。引言简单介绍本次实践,需要用的知识点。屏幕光标控制索引寄存器的端口号是 0x3d4,可以向它写入一个值,用来指定内部的某个寄存器。比如,两个 8 位的光标寄存器,其索引值分别是 14(0x0e)和 15(0x0f),分别用于提供光标位置的高 8 位和低 8 位。指定了寄存器之后,要对它进行读写,这可以通过数据端口 0x3d5 来进行。高八位 和第八位里保存这光标的位置,显卡文本.
2021-08-11 10:47:49
565
原创 x86汇编加载用户程序-4-1
离开主引导扇区之后,前方通常就是操作系统的森林,也就是我们经常听说的 DOS、Windows、Linux、UNIX 等,本篇要实现的就是通过引导程序加载硬盘上的用户,并执行。由于内容比较多,用户程序简写了,下一篇将在此基础上写入带有多段用户程序引言简单介绍本次实践,需要用的知识点。SECTIONIntel 处理器要求段在内存中的起始物理地址起码是 16 字节对齐的。这句话的意思是,必须是16 的倍数,或者说该物理地址必须能被 16 整除。所以每个段的定义中都包含了要求 16 字节对齐的子.
2021-08-06 00:04:34
499
原创 汇编语言完成1到100累加-3
如何完成1到100的累加,并把结果显示到屏幕上,使用对战储存数据引言简单介绍本次实践,需要用的知识点。堆栈使用前设置ss堆栈段的寄存器,设置sp栈顶偏移地址,此处都为0,原因是主引导程序从0x7c00开始,那么两个是不是冲突呢?后每次压栈时,SP 都要依次减 2,即 0x0000-0x0002=0xFFFE于是与主引导程序是不会冲突的。push, sp-2 pop, sp+2cmpcmp 指令在功能上和 sub 指令相同,唯一不同之处在于,cmp 指令仅仅根据计算的结果设置相.
2021-08-04 00:04:57
5826
原创 主引导扇区程序代码优化-2
上一期的代码使用笨拙的手段,将字符传入到显卡里,如果要增加或减少字符,工作量就会很大,考虑到这点,汇编当然有更好的方式去实现了,那就是循环,这篇文章将详细介绍。 会使用到一些新的指令 cld, movsw,rep,inc,loop,dec,jns,,,,$等引言依然先介绍会使用到的指令。主要是循环,和内存搬运指令。内存复制指令movsb,movsw这里有两个同样功能的指令区别在于,一次转移内存的大小,movsb 的传送是以字节为单位的,而 movsw 的传送是以字为单位的。从ds:si地址.
2021-08-03 00:34:13
246
原创 主引导扇区程序在屏幕显示文字-1
这章是学习了x86汇编从实模式到保护模式的初步实践,主要完成1.利用显卡在屏幕上显示文字,2.使用div汇编指令将标号以十进制的方式显示引言简单介绍本次实践,需要用的知识点。主引导扇区指的是处理器加电或者复位后,ROM-BIOS读取启动硬盘的第一个扇区,512字节。该扇区的最后两个字节必须 是0x55 0xaa。显卡内存地址0xB8000~0xBFFFF,由显卡来提供,用来显示文本。(所有在个人计算机上使用的显卡,在加电自检之后都会把自己初始化到80×25 的文本模式。在这种模式下,屏幕.
2021-07-31 16:05:18
286
原创 关于我使用的安卓View Binding方式
方案有:ButterKnifefindViewById()View Binding下面看下View Binding在下面的场景怎么使用ActivitiesFragments: Inflate BindRecyclerView Adapter一、Enabling View Bindingandroid {// module级别的build.gradle文件中添加下名的配置// 会自动为xml文件生成binding class// 命名规则是Pascal case
2021-06-20 22:52:18
398
原创 C语言windows linux平台下 检查内存泄漏
一开始用的是memwatch ,结果现在忘了vs 如何配置编译选项了,学会了使用新的 memleak去检测 。memleak下载网址里面会携带exmaple看看基本就明白了。#include <stdio.h>#include <stdlib.h>#include "memleak.h"int main(){ void* a,*b; dbg_init(10); dbg_catch_sigsegv(); a =(void*)malloc(100); b=(.
2021-03-23 17:02:01
244
1
原创 C语言 数组传参导致退化一个[]成为指针
在一次稀疏矩阵压缩算法中,为了保证压缩函数可复用性,使用了void** 作为压缩形参,结果二维数组传入一直无法获取到内容。结果出现的方案如下方法1方法2:数组指针 或者是 二级指针 结果相同 int ** arr;上述两种情况指针步长都会是一个int* 的大小,也就是4个字节 ,这个可以从第二章图,13630500-13630496可以看出来。...
2021-03-22 19:54:46
292
原创 manjaro 安装最新版 tim 微信解决各种错误
yay -S com.qq.tim.spark就是这么简单 。spark 是最新的意思
2021-03-05 18:34:21
2665
9
原创 关于ajax请求之后页面直接跳转问题
直接说我是怎么解决的:把 οnclick=“submit()” 删了,然后使用,选择器选择button 提交 表单。结果就不再会提交后跳转到网页的问题了。两种方式比较代码测试按钮1 事件按钮2 事件情况就是这么个情况。...
2021-01-23 13:15:41
2350
原创 python 正则丢掉匹配到的组
一个简单的解决方法是让你的组不被捕获,(?: )而不是简单的( ):import restr = """http://www.baidu.com/sasaa/ www.aa222a.com// http://eeee.com/ https://aaaa.com/ http://blog.2222.com/sasaa/ http://www.ali.com/"""regular = re.compile(r'[http|
2021-01-09 15:31:14
252
原创 二叉树前中后序遍历
首先理解前中后序遍历。他们是相对根节点的遍历前后来决定的;也就是遍历顺序如果是前序遍历 : 就是按先遍历根节点,在遍历左节点,再遍历右节点;从下面的二叉树体会一下:前序遍历结果是:ABDEGCFH中序遍历结果是:DBGEAFHC后序遍历结果是:DGEBHFCA...
2020-09-17 23:02:28
881
原创 KBlog重构开发日记 1
再次之前,参考了OneBlog,Halo,Solo等开源博客的项目代码。1.目标建立个性化的Blog以展示,往后的学习记录。2.已完成内容项目5天前,我已经开始做了,文章展示页面时模仿的掘金,目标是简约。2.1 前端展示制作两个,根据原型开发这种思想,先快速构建一个可以运行展示的小结构。前端页面制作使用如下框架分别是 bootstrap 4,editormd md编辑器,iconfont 阿里云矢量图标,jquery,暂时就这些,后面如果仍需要会继续添加。后台页面就不打算像主页一.
2020-08-28 22:35:12
364
原创 项目内容细分
1.导入Pom坐标 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.ver
2020-08-27 14:52:16
417
转载 分层设计 实体类设计
view是前台页面,用户发送请求时从前端的页面开始的,前端get到这个请求后会把请求和顺带参数信息传送到后台,后台接受这个请求找到对应的接口去执行对应的controller里的对应的方法,然后执行,然后controller会调用service层的业务逻辑,service有会去访问dao层来连接数据库。VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式
2020-08-27 00:41:49
249
原创 我windows 上面的苹果切换桌面插件
#WheelDown:: ^#Right#WheelUp:: ^#Left以上是AutoHotkey脚本,运行后就能使用win键 和 滚轮切换 桌面了
2020-08-27 00:40:54
494
原创 我windows 上面的苹果切换桌面插件
#WheelDown:: ^#Right#WheelUp:: ^#Left以上是AutoHotkey脚本,运行后就能使用win键 和 滚轮切换 桌面了
2020-08-10 20:50:36
378
转载 .Net Core3.1上用EFCore的反向工程生成
原文地址.Net Core3.1上用EFCore的反向工程生成目录一、简要步骤1、第一步2、第二步二、详细解释原文:https://www.cnblogs.com/qidakang/p/11302327.html一、简要步骤1、第一步安装以下程序包安装Entity FrameWork Core 3.1安装Entity FrameWork Core SqlServer 3.1安装Entity FrameWork Core Tools 3.1安装Entity FrameWork Co
2020-07-31 11:17:19
1560
1
原创 BootStrap 导航栏实现下滑消失,上滑出现
1.Html首先是导入bootstrap等样式,和jquery,再复制一个nav组件;代码如下:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="description" c
2020-07-27 02:18:01
2991
转载 MarkDown帮助文档 语法
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-07-27 02:04:24
354
原创 ASP.NET 项目结构基本分层设计
1.直接上项目结构图本次项目设计是关于用户查询和注册功能的代码结构设计,下面就是用到的项目分层uml图。2. 目的这样设计的主要目的就是降低代码冗余,和使用工厂模式降低资源开销;3. 优点本人认为里面最指的学习的就是,IBaseRepository抽象出数据库基本的crud,判断是否存在,存在个数等方法。再由实现类BaseRepository实现方法,通过泛型,成为model类的通用方法,由UserInfoRepository继承;UserInfoRepositroy除了继承通用方法,还要继
2020-07-24 15:21:50
701
1
原创 .net core display templates无法显示正确,而是123
我在要显示的地方已经写了@html.displayformodel(),没法显示出的原因有两点。1。 没有建DisplayTemplates文件夹2.文件夹建立了,但是DisplayTemplates 写成了Display Templates中间留空了。
2020-06-27 23:28:19
419
原创 await和async的机制
await 一般会和 async 一起使用,async 是异步,await则是等待异步的返回值。可以看下面的测试 public async Task<string> call() { Debug.WriteLine("----------->1"); int s = await foo(); Debug.WriteLine("----------->2"); .
2020-06-27 17:14:45
618
原创 C# ref,params,out 修饰符
ref 就是 在方法参数里定义时,必须要在调用方法传参之前,给变量赋值如下:static void Main(string[] args) { int[] a = { 1, 23, 45 }; int b; int c; RefParamFun(ref d, ref e); Console.WriteLine(d);
2020-06-13 01:29:23
308
原创 Linux C++ 使用valgrind 检查内存泄漏
我的环境是ubuntu使用发行版的自带的源中安装sudo apt install valgrind然后运行一下 valgrind + 可执行命令 就可以 检查内存泄漏啦 内存泄漏检测 主要看definitely lost:这里如果是0,说明没有会导致程序崩溃读的内存泄漏问题。“definitely lost”:确认丢失。程序中存在内存泄露,应尽快修复。当程序结束时如果一块动态分配的内存没有被释放且通过程序内的指针变量均无法访问这块内存则会报这个错误。“indirectly lost”:间接丢.
2020-06-10 11:10:52
655
原创 什么是交叉编译器?
在 Linux 下进行 C 程序开发, 我们使用的 gcc 编译器进行代码的编译, 编译完,直接在 X86 架构下的 PC 下运行的。 而 arm 架构的, 所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行, 这个编译器我们通常称为交叉编译器。...
2020-06-06 23:58:38
3062
原创 vscode makefile报错分隔符
原因,vscode 默认tab键是4个空格,所以导致make的时候没法识别。解决方法:setting选项里搜索renderControlCharacters,勾选选项即可然后renderWhitespace,选成all即可。这样就可以了。
2020-05-27 10:58:22
720
原创 python基金量化 分析 小程序
import reimport timeimport matplotlib.pyplot as pltimport requestsimport demjsonhtml=requests.get("http://fund.eastmoney.com/pingzhongdata/000522.js?v=20160518155842").textdataPattern= re.comp...
2020-02-27 23:57:52
3369
转载 天天基金网数据接口
基金实时信息:http://fundgz.1234567.com.cn/js/001186.js?rt=1463558676006001186为基金代号返回值:jsonpgz({“fundcode”:“001186”,“name”:“富国文体健康股票”,“jzrq”:“2016-05-17”,“dwjz”:“0.7420”,“gsz”:“0.7251”,“gszzl”:"-2.28",“gzt...
2020-02-26 15:02:17
6080
4
原创 爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫,去获取暂时用不上的教程import threadingimport timeimport pandas as pdimport requestsimport refrom threading import Thread, Lock# import urllib.request as request# req=urllib.request.Requ...
2020-02-14 18:33:21
5091
原创 SpringBoot 集成Freemarker
本文讲述简单的freemarker小案例搭建,更多详细关于freemarker点击文章结尾链接创建环境首先使用idea 创建项目,选择freemarker包配置yml代码@Controllerpublic class HelloController { @RequestMapping("/") public ModelAndView hello(){ ...
2020-01-20 15:06:57
589
原创 SpringBoot Session管理工具类
import com.zyd.blog.business.consts.SessionConst;import com.zyd.blog.business.entity.User;import com.zyd.blog.framework.holder.RequestHolder;import java.util.UUID;public class SessionUtil { ...
2020-01-14 17:06:09
2877
原创 Java web拦截恶意请求
本文拦截恶意请求,是通过,检测http请求是否是ajax。因为 ajax 和 普通http请求 是不同,不了解的可以看这篇文章https://www.cnblogs.com/mrelk/p/7138423.htmlpublic static boolean isAjax(HttpServletRequest request) { if (null == request) ...
2020-01-14 17:04:56
1680
原创 SpringMVC ServletRequestAttributes的应用
在SpringMVC的源代码中提供了一个封装过的ThreadLocal,其中保存了每次请求的HttpServletRequest对象,(详细请看org.springframework.web.context.request.ServletRequestAttributes的源代码) 。这样我们就可以进行简单封装一下写一个工具进行使用:*当然必不可少的一点一定记得,在web.xml里必须要有相应...
2020-01-14 00:25:11
3276
原创 Springboot集成mybatis通用Mapper
文件结构如下导入的依赖<dependencies> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifa...
2020-01-14 00:01:01
658
原创 springboot快速入门及@SpringBootApplication注解分析
@SpringBootApplication是一个复合注解。由一下三个复合而成。@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan分别说明一下@SpringBootConfiguration 继承自@Configuration,他们功能相同,会把当前类用@Bean注释,声明的变量或方法,放到springboot的...
2020-01-11 22:43:44
340
原创 linux c类型 进制 转换库函数
基本满足开发需求了#include <stdint.h>int main_INT(){ // 类型转换 // 字符串 转 浮点数 double a = 0.0; char douChs[] = "125.45"; a=atof(douChs); cout<<a<<endl; int b = 0; // 字符串 转 ...
2019-12-31 16:16:41
534
4
原创 信号量 Linux函数 semget();semctl();semop();
linux c的信号量操作// semphoreint main(){ int sem_mutex = 0; /** * 创建信号量, * IPC_CREAT 如果存在就获取,否则就创建新的, * 权限是0666, * 参数1 是key值, * 参数2 代表信号量的个数 */ sem_mutex = semget(123, 1, IPC...
2019-12-31 15:08:41
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人