相关推荐
IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)
实现三分频电路最简单的是: 利用计数器实现。 时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了): 直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号 clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。 例如占空比50%: module Div_three( input clk, input rst_n, output div_three ); reg
【汇编】多种方法实现清屏并打印字符串(.asm源码)
项目环境 编译环境:搭建一个nasm2.8的编译环境。 镜像文件:采用winhex_18.2刷入编码。 虚拟机:采用Bochs-2.4.5。 项目软件 傻瓜式环境配置。 解压文件到D盘能直接使用。 项目软件及项目运行环境下载地址:https://download.youkuaiyun.com/download/Gyangxixi/15009979 运行结果 程序源码-方法一(.asm) org 0x7c00 jmp start string db 'world',0 passwrod db "
Ollama运行DeepSeek大模型调优指南:GPU与CPU协同实现性能最大化
Ollama运行DeepSeek大模型调优指南
linux0.00 代码阅读笔记
---------------------------------------- 汇编语言的编写, 编译, 运行,调试: author: hjjdebug date: ---------------------------------------- 参考代码地址:https://github.com/hjjdebug/linux0.00 ubuntu14 的环境这里用gdb(4.8.4)+b...............
Matlab路径文件pathdef.m可能为只读文件修改方法
找到MATLAB目录下的bin这个文件夹,直接改这个文件夹的权限(之前试过改pathdef.m的权限,不好用)如果到这里重新导入还是不行,从官网重新下载需要的安装包,可能是你的安装包出了问题。(Win11系统,matlab版本为2022b)编辑——添加——在输入对象名称来选择中输入everyone。重启matlab,以管理员身份运行。并修改其他已有的权限,都给它。
多周期路径及set_multicycle_path详解
默认情况下,每条路径都被定义为单周期,即源触发器在时钟的任一边沿启动(launch)的数据都应该由目的触发器在时钟的下一上升沿捕获(capture)。 有的设计需要在数据被捕获前提供一些额外的周期,这类路径被称为多周期路径。 一、set_multicycle_path命令 命令格式如下: set_multicycle_path .........
mac上使用Bochs:自己电脑亲测可用
mac上面运行bochs,在自己电脑上一步步操作过的,确保可用
低功耗蓝牙技术 > GAP和GATT介绍
GAP和GATT作为蓝牙协议栈中的关键协议,为BLE设备之间的通信提供了标准和框架。GAP主要负责设备的连接、广播和角色定义,而GATT则定义了BLE设备之间的具体通信方式,通过Services和Characteristics实现数据的传输和交换。在蓝牙技术的发展中,GAP和GATT两个协议扮演着关键的角色,为BLE(低功耗蓝牙)设备之间的通信提供了规范和框架。GATT连接是建立在GAP协议之上的,是一种独占连接,一个BLE外设同时只能连接一个中心设备。连接建立后,通信是双向的,不同于GAP的单向通信。
BIOS功能调用之滚屏与清屏
BIOS功能调用之滚屏与清屏每次启动Bochs的时候,显示出来的那些内容有没有干扰你的眼球呢?其实我早就想清屏了,今天就来探索一下怎样利用BIOS中断来清屏。清屏都有哪些方法?1.空格填充法如果单就”清屏幕”这个问题而言,解决办法有很多,最最“勤劳”的方法就是在屏幕上显示25*80的空格。除了这个,还有什么方法呢?对了,BIOS中断。它山之石,可以攻玉。2.滚屏与清除窗口调用 功能号:06H/0
Python爬虫实战:基于最新技术栈的晋江文学城小说爬取
本文将详细介绍如何使用Python最新技术栈构建一个高效的晋江文学城小说爬虫。我们将从爬虫基础知识讲起,逐步深入到反爬机制应对、分布式爬虫设计以及数据存储优化等高级话题。文章包含完整的代码实现,使用aiohttp+asyncio实现异步爬取,Playwright处理动态渲染,并结合Redis实现分布式任务队列。本文旨在为读者提供一个全面的现代Python爬虫开发指南。网络爬虫(Web Crawler)是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据分析和内容聚合等领域。
微信小程序 - 真机调试调用接口报错{errno: 600001, errMsg: “request:fail -102:net::ERR_CONNECTION_REFUSED},真机运行测试请求异常
微信小程序,真机,调试测试,运行报错,API接口,服务器接口都报错了,小程序报错errno: 600001,小程序报错request:fail -102:net::ERR_CONNECTION_REFUSED,真实手机打开接口全都失效了,微信小程序真机测试失败,微信小程序{errno: 600001, errMsg: "request:fail -102:net::ERR_CONNECTION_REFUSED"},详细解决方法,https,服务器SSL证书,无法解决,服务器更换SSL证书,接口地址改了也不行
让bochs调试时的终端输出有颜色的文本的方法
最近在摆弄linux0.01的内核代码,在利用bochs调试时,发现控制台输入终端的字符颜色都一样,比较难直观地看出命令与指令的区分。后面在网上看到有网友贴终端的利用终端的字符颜色由转义序列(Escape Sequence)控制文本的输出颜色。所以现学现用,把bochs的源代码在输出的语句上加上颜色值,最张成功地实现了有颜色的输出信息。 具体请看引用的部分语句: 终端的字符颜色由转义序列(Es
100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)
100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)
从零自制x86引导程序
引导程序(Bootloader)是电脑启动时BIOS交接控制权的第一段代码,是衔接硬件和操作系统的关键。本文基于x86 16位实模式,从零实现“清屏+移动光标+打印文字”的极简引导程序,全程包含核心概念解析、可直接运行的代码、完整实践步骤,并解答新手常见疑问,适合零基础入门汇编和底层启动原理。
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
macOS下用自制汇编语言编写的x86实模式下的磁盘管理系统
macOS下用自制汇编语言编写的一个x86实模式(real mode)下的磁盘管理系统(类DOS),上次说的是清屏,现在看一下格式化虚拟磁盘的效果。hd80.img是一个虚拟磁盘,本来没有文件系统,在虚拟机bochs中运行磁盘管理系统,输入fmt命令,就可以格式化hd80.img,进而可以操作磁盘。
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
操作系统学习10 x86引导程序加载C语言程序
自制操作系统学习2 加载C语言程序一、准备工具二、操作步骤1. 实现步骤2. 重点(1) 汇编语言子程序实现(2) 在C中调用汇编的方法三、编译的重点3. 编译运行 一、准备工具 bochs Virtual Machine nasm gcc ld 等。更多需要的工具已经放在码云开源仓库。 二、操作步骤 1. 实现步骤 完成引导程序开发 使用汇编语言两段子程序 使用C语言开发调用汇编子程序 编译程序,制作软盘镜像 BIOS加载并运行汇编语言的引导程序 汇编语言程序从软盘读取10扇区,当中包含C语言程序
从0手写自己的Linux x86操作系统(视频教程)
从0手写自己的Linux x86操作系统(视频教程)
80X86汇编_绘制五角星程序
80X86汇编_绘制五角星程序DATAS SEGMENT mode dw 0COLOR DW 12 BKCOLOR DW 15 POINT dw 160,200,480,200,480,200,220,380 dw 220,380,320,80,320,80,420,380 dw 420,380,160,200DATAS ENDS STACKS SEGMENT DW 20
操作系统学习:启动进入实模式
本文参考书籍 操作系统真相还原 Linux内核完全剖析:基于0.12内核 x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 实模式相关介绍 实模式在上文已经做了简要的介绍,实模式的寄存器都是16位,实模式的1MB的寻址能力是通过段基址左移四位加上段内偏移实现的,由于BIOS启动的过程中就会被cpu执行,所以当bios加载完成时,1MB的内存布局如下图所示(图片来源操作系...
操作系统学习11 x86-C调用汇编程序与传参
自制操作系统学习3 C调用汇编程序与传参一、准备工作二、C调用汇编的方法1. 写汇编方法 本章实现字符的输入与输出 一、准备工作 Win7环境 Bochs gcc,ld,nasm等 代码架构如下: env和 tools里是一些编译开发工具。 代码托管在: 二、C调用汇编的方法 1. 写汇编方法 [BITS 16] global io_hlt global clear_screen global read_char; global print_char; global print_str; global
从零编写MBR:深入理解计算机启动流程与实模式编程实践
计算机启动流程是理解操作系统底层运行机制的关键。在x86架构中,当按下电源键后,BIOS会首先执行硬件自检,随后将硬盘第一个扇区的主引导记录加载到内存0x7C00地址处,并将控制权移交。MBR作为启动过程的第一阶段,其核心价值在于初始化硬件环境、建立基本内存布局,并为加载更复杂的操作系统内核或引导加载程序奠定基础。这一过程涉及实模式编程、直接内存访问和硬件中断调用等底层技术。在工程实践中,开发者常使用NASM汇编器编写MBR代码,并通过VirtualBox或QEMU等虚拟机进行测试验证。通过亲手实现一个能够
32位保护模式汇编语言[1]:实模式与保护模式的故事
漫游在机器指令的海洋,徘徊于实模式与保护模式之间,出入之间,自由无限。 ——谨以此系列文档献给广大疯狂痴迷于计算机程序的极客们~!
操作系统实模式相关
FFFF0-FFFFF的指令如下: 是一条跳转指令(jmp 0xfe05b),表示跳转到BIOS代码真正开始的地方,BIOS载入一些硬件信息,如何跳转到0x7c00处,交由MBR执行。 接下来便是填写MBR了: mbr.s ;主引导程序 ;------------------------------------------------------------ SECTION MBR vstart=0x7c00 mov ax,cs mov ds,ax mov.
《操作系统真象还原》 第二章 编写MBR主引导记录
0xFFFF0处存放着一条跳转指令,用于跳转到BIOS程序,BIOS程序会对0盘0道1扇区的最后两个字节进行校验查看是否存放的是MBR主引导记录,如果是0x55,0xaa,就会将改扇区的512字节加载到内存0x7C00处。8086CPU的寄存器是16位的(最多只能存储0x0000~0xFFFF的数值),但它的地址线是20位的(20位地址线,能访问的物理内存范围是0x00000~0xFFFFF,共1MB,这也是实模式的最大内存寻址能力。(CL,CH) = 窗口左上角的(X,Y)位置,此处为(0,0)
UEFI x86_64内核开发实战:从启动流程到NEP程序加载
UEFI(统一可扩展固件接口)作为现代计算机的标准固件,取代传统BIOS实现了64位长模式的直接启动机制。其核心原理是通过EFI应用程序加载机制,在启动时自动搜索并执行EFI系统分区中的可执行文件,省去了复杂的模式切换过程。这种设计为操作系统开发提供了硬件抽象层,开发者可以直接利用UEFI提供的内存映射表和图形输出协议。在x86_64架构下,UEFI环境的技术价值在于大幅降低了内核开发门槛,使得开发者能够专注于内核核心功能的实现。典型的应用场景包括嵌入式系统、定制化操作系统和教育用途的操作系统开发实践。本文
mkernel源代码逐行分析:从汇编引导到C语言主函数的实现细节
mkernel作为一个极简内核项目,展示了操作系统从硬件引导到用户空间的完整启动流程。本文将通过分析`kernel.asm`、`kernel.c`和`link.ld`三个核心文件,带你理解一个基础内核的实现细节。 ## 一、汇编引导:系统启动的第一步 内核启动的起点位于`kernel.asm`文件,这段汇编代码负责完成硬件初始化并交接控制权给C语言主函数。 ### 1.1 Multiboot
操作系统攻略:自己动手从零开始写操作系统——2.编写MBR主引导记录
计算机启动与内存管理摘要 计算机启动时通过BIOS在实模式下完成硬件检测和初始化,其核心特性包括16位地址总线(1MB寻址空间)、分段寻址机制和单一特权级。现代操作系统启动后切换至保护模式,该模式支持更大的内存空间(32位/64位)、4级特权级(Ring 0-3)、内存保护和多任务机制。两种模式的主要区别在于:实模式仅有1MB寻址能力且无安全保护,而保护模式通过分段和分页机制实现内存管理,支持虚拟内存和任务隔离。系统启动必须经过实模式阶段,随后进入保护模式以支持现代操作系统的安全性和功能需求。


1万+



被折叠的 条评论
为什么被折叠?



