- 2024-11-20CF1102(*^▽^*)
A.IntegerSequenceDividingCF原题链接题目大意:给出\(n\),要求把序列\(1,2,…,n\)分成两个集合,输出两个集合的和的最小差值。\((1\leqslantn\leqslant2\times10^{9})\)解题思路:我们坚信它是可以分成我们想要的两个差值最小的集合的差值一定和\(\Sigma_{i=1}^{n}i\)有关。
- 2024-11-19汇编语言-实验10编写子程序
名称:show_str功能,在指定的位置,用指定的颜色,显示一个用0结束的字符串。参数:(dh)行号。(dl)列号,(cl)颜色ds:si指向字符串首地址返回无应用举例:8行3列,用绿色显示data中的字符串代码如下:assumecs:codedatasegmentdb'Welcometomasm!',0dataendscodesegmentstart:movdh,8
- 2024-11-19王爽汇编笔记
1.测试环境1.1DosBox简介:模拟dos环境的一个软件下载地址:https://www.dosbox.com/download.php?main=1安装步骤:下一步......问题1:'debug'不是内部或外部命令,也不是可运行的程序或批处理文件。debug:无法将“debug”项识别为cmdlet、函数、脚本文件或可运行程序的名
- 2024-11-17【汇编语言】更灵活的定位内存地址的方法(三)—— 不同的寻址方式的灵活应用
文章目录前言1.比较不同的寻址方式2.问题一3.问题一的分析与求解3.1分析3.1.1数据的存储结构3.1.2分析处理过程3.2代码实现4.问题二5.问题二的分析与求解5.1分析5.1.1数据的存储结构5.1.2分析处理过程5.2代码实现6.问题三7.问题三的分析与求解7.1分
- 2024-11-17【汇编语言】更灵活的定位内存地址的方法(二)—— 从 [bx+idata] 到 [bx+si+idata]:让你灵活的访问内存
文章目录前言1.[bx+idata]1.1更加灵活的访问内存1.2示例1.3问题一1.4问题一的分析与求解2.用[bx+idata]的方式进行数组的处理2.1问题引入2.2原来的解决方案2.3新的解决方案2.3.1改进后的程序2.3.2还可以写成这样2.3.3用C语言来描述看看2.4比较与总结3.
- 2024-11-16磁场的绘制
详见如下python代码 importmatplotlib.pyplotaspltimportnumpyasnp#定义常量mu_0=4*np.pi*1e-7#真空的磁导率(Tm/A)#定义磁偶极子类classMagneticDipole:def__init__(self,magnetic_moment,position):self.magnetic_moment=np
- 2024-10-30四、常用寄存器
DS:内存段地址寄存器段地址、偏移地址与物理地址内存中数据的地址由段地址和偏移地址组成,其中段地址乘以16再加上偏移地址就是真实的物理地址。对于16进制的数来说,乘以十六就是整体向左移一位,例如:0xFE*16=0xFE0物理地址可以由多种段地址+偏移地址组合而成例如物理
- 2024-10-30三、常用汇编指令
MOV指令作用:数据移动movcx,ax //将ax寄存器中的值复制到cx寄存器中movdx,FFFF //将数据0xFFFF放到寄存器dx中moval,bh //将bx寄存器的高八位的数据复制到ax寄存器的低八位NOP:空指令指令、数据对齐可以有效地提高程序的性能,使用NOP指令,可以使得指令按字对齐,
- 2024-10-21AT_abc348_d [ABC348D] Medicines on Grid 题解
题目传送门题目大意:给定一个\(n\timesm\)的地图,要求从起点S走到终点T,每移动\(1\)个会消耗\(1\)点能量,障碍#不能走,空地为.可以走,体力消耗至\(0\)也无法移动,地图位置\((x_i,y_i)\)有一瓶可以变成\(e_i\)体力的药,可以选择是否喝。问能否抵达终点,可以输出Yes,否
- 2024-10-1930天自制操作系统(一)启动区
一、启动区 ORG 0x7C00 JMP entry DB 0x90 DB "HELLOIPL" DW 512 DB 1 DW 1 DB 2 DW 224 DW 2880 DB 0xf0 DW 9 DW 18 DW 2 DD 0 DD 2880 DB 0,0,0x29 DD 0xffffffff DB "HELLO-OS" DB "FAT12" RESB
- 2024-10-13闲话 10.13
有二阶线性递推数列\(x_{n+1}=px_n+qx_{n-1}\),考虑求出其通项公式。设有\(a,b\)使得\[x_{n+1}-ax_n=b(x_n-ax_{n-1})\]移项解得\(a+b=p,-ab=q\)。根据韦达定理\(a,b\)是\(x^2-px-q=0\)的两个根,可以交换\(a,b\),得\[x_{n+1}-bx_n=a(x_n-bx_{n-1})\]发现均为等比数列
- 2024-10-10逆向基础 || x86汇编
x86汇编1.寄存器本环境寄存器大小为2字节=1字型=16bit早期的x86CPU只有8个寄存器,而且每个都有不同的用途,通过DOS环境下我们可以看到有各种寄存器,接下来就一步步的认识它们!AX-->ahalBX-->bhblCX-->chclDX-->dhdl上面4种
- 2024-10-10操作系统:内核的基本实现(一)屏幕输出与C语言支持
使用C语言cdecl约定HimuOSKernel遵守cdecl约定,在32位操作系统上,函数实参在线程栈上按照从右至左的顺序依次压栈(x86cdecl的参数总是在栈上)函数结果保存在寄存器EAX/AX/AL中浮点型结果存放在寄存器ST0中编译后的函数名前缀以一个下划线字符调用者负责清栈8比特或
- 2024-10-08流程转移与子程序
转移概念一般情况下指令是顺序逐条执行,然而在实际情况中常常需要改变程序的执行流程。转移指令:可以控制CPU执行内存中某处代码的指令可以修改IP,或者同时修改CS和IP的指令转移指令按行为分为:段内转移:只修改IP,如jmpax段间转移:同时修改CS和IP,如jmp1000:0根据指
- 2024-10-08C#联合Visionpro编程学习记录,视觉中需要考虑旋转中心工况的计算方法探讨
一、考虑旋转中心的工况解法,1,视觉中引导定位或者对位贴合时,机械手或者xyzr轴上手爪中心和末端轴中心不同轴时,就要考虑旋转中心问题;2,如果设备的CT要求没有很苛刻,可以采用2次拍照的方案解决,1次拍照后纠偏角度,然后在纠正角度后的位置2次拍照纠正x、y偏差; 看下图:第一次拍照得到红
- 2024-09-27汇编语言王爽实验七
代码如下assumecs:codesgdatasegment db'1975','1976','1977','1978','1979','1980','1981','1982','1983' db'1984','1985','1986','
- 2024-09-26matlab划分区域的等高线云图(代码)
出图结果如下:代码如下,按需修改clear;clc;numRows=100;%数据区域,步长,步数numCols=100;ax=-2;bx=2;ay=-2;by=2;hx=(bx-ax)/numCols;hy=(by-ay)/numRows;XXC=ax:hx:bx;%坐标阵,dataYYC=ay:hy:by;CCC=zeros(numRows+1,numCols+1);hold
- 2024-09-22速通汇编(七)BX、SI、DI寄存器,BP寄存器,直接寻址和间接寻址
下文中出现的"idata",指的都是任意常量一,基于BX、SI、DI等寄存器的寻址形式在第五篇中曾介绍过DS寄存器的作用,简要复习一下->速通汇编(五)认识段地址与偏移地址,CS、IP寄存器和jmp指令,DS寄存器_arm汇编前两个地址是什么-CSDN博客可以如此说:汇编中出现的形如[偏移地址]形式的
- 2024-09-22matlab绘制二维云图,划分区域,并显示每个区域的均值
绘制成图如下:代码如下:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%创建绘图的数据ax=0;bx=1;ay=0;by=1;nx=100;%数据的x轴点数ny=100;%数据的y轴点数hx=(bx-ax)/(nx-1);hy=(by-ay)/(ny-1);X=ax:hx:bx;Y=ay:hy:by;data=zeros(ny,nx
- 2024-09-18菜鸟笔记之PWN入门(1.1.1)汇编语言基础与堆栈入门
啥是汇编语言?有啥用?深入了解计算机底层,我们会发现,计算机实际上只能执行一些非常基础的操作,但其速度却非常快。计算机的CPU只能执行机器码,即由一系列0和1组成的指令。不同的0和1组合会触发计算机中的不同电路,从而进行各种操作。由于这些0和1的组合很长,阅读起来不方便,因此通常以1
- 2024-08-25本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数。
/*题目描述本题目要求一元二次方程ax^2+bx+c=0的根,结果保留2位小数。 输入输入在一行中给出3个浮点系数a、b、c,中间用空格分开。输入在一行中给出2个正整数A和B。输出根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个
- 2024-08-21Aseembly(九)-[BX] Loop
正如本篇文章的标题所示:本篇文章主要是进行[BX]和loop的讲解上篇文章我们讲述了关于自己去dosbox里面编写汇编程序并且一步一步的编译(masm)链接(link)然后进行debug的过程,也进行了一个关于栈的实验:详情请见我的上一篇文章Aseembly(八)-汇编语言编写程序让我
- 2024-08-142024.8.14 总结(集训)
依然是TQX来讲字符串。/bx/bx/bx属于是两个上午速通字符串里一些重要的内容。上课时只有manacher和PAM是我有点听懂了的。于是下午看TQX的博客学了PAM,看之前看过的博客复习了下SAM,给why讲了些、和他讨论了PAM,AC了洛谷上的PAM板子,看TQX的PPT学了manache
- 2024-08-13chapter11------进入保护模式
全局描述符表(GDT)这里要先说明下,保护模式下对内存段的访问是有限制的,简单来说就是你不能再随意的访问了,只能访问授权给你的,然后段的访问限制等等信息就记载在一个叫做全局描述表里段描述符段描述符存储了某个段的具体信息,就像我们每个人的档案一样,记录着我们的信息然后段描述