RAMinit 程序编译运行考古记录
本科的时候浅浅研究了DOSBox,今天看到网上挺多关于雷军代码的新闻,我把雷军代码在web上编译出来了,但是我是业余选手,所以做得比较差,不过大家感兴趣可以关注我的dosplay项目,旨在利用js-dos实现汇编语言在web中的运行,目前必须在电脑端打开才能编辑,手机上只能运行,代码使用我的chrome系的浏览器测试通过了,其他浏览器可能有问题。
点击运行雷军的RI.com代码 这个蓝色的链接使用chrome或者edge打开后应该可以看到自动编译RI.com程序,注意需要使用xWorker模拟器,同时打开/C/assembly/LeiJun/RI.asm文件,运行run-com命令。

我的完整编译程序的输出为:
C:\ASSEMBLY\LEIJUN>tasm RI.asm
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland InternationalAssembling file: RI.asm
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 408kC:\ASSEMBLY\LEIJUN>tlink /t RI.obj
Turbo Link Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International
Warning: DOSSEG directive ignored in module RI.ASM
运行程序可以获得如下内容:
C:\ASSEMBLY\LEIJUN>RI.com
RAMinit Version 2.12 Copyright (c) 1989-1994 by KingSoft Ltd.
Activate with: C:\ASSEMBLY\LEIJUN>ri /?
RAMinit Version 2.12 Copyright (c) 1989-1994 by KingSoft Ltd.
Programmed by Mr. Leijun Dec 1992Usage: RI [options]/H,/? Display this screen
/CLS Removes all TSR programs after current RI
/RET Removes TSR programs include current RI
/NEW Residents a new data copy of current environment
/ALL Removes all RI copies and all other tsr programs
/Sxyy.. Define Hotkey x=AuxHotkey yy..=shift statusx=auxiliary hotkey (default is "X") x equ "1" means need AuxHotkeyyy..=shift status [CAScas]C: Left Ctrl A: Left Alt S: Left Shiftc: Right Ctrl a: Right Alt s: Right ShiftExample: "RI /S1c" means Hotkey is Right_Ctrl+X"RI /S0Cc" means HotKey is Left_Ctrl+Right_Ctrl"RI /CLS" equals simply press hotkey"RI /RET" Removes all TSRs after current RI and this RIContact me for RAMinit problems: (01)2561155 Call 1997C:\ASSEMBLY\LEIJUN>ri ri /cls
RAMinit Version 2.12 Copyright (c) 1989-1994 by KingSoft Ltd.
可以看到这里面有雷军当年的联系方式,从打印出来的 RAMinit 程序的相关说明可以看出,这个代码的RAMinit 版本为 2.12,由金山软件(KingSoft Ltd.)在 1989 - 1994 年开发,编程者是 Mr. Leijun,编写时间为 1992 年 12 月。该程序主要用于管理内存中的驻留程序(TSR)
- 代码来自 https://github.com/doyou/RAMinit/
- 演示效果可以看 https://www.bilibili.com/video/BV1uF411k7RH
中断程序
该RI.com程序可以中断目前死循环的程序,比如如下的程序,通过tasm编译运行之后显然会陷入死循环,这时就可以调用RI.com中断程序,从而可以做其他的事情。
; the system is blocked when executing main program
; can be solved by RI.386
DATA SEGMENT USE16MESG DB 'I forget to exit my code 5555; press right ctrl + left ctrl to stop me by ri.com plz',0DH,0AH,'$'
DATA ENDS
CODE SEGMENT USE16ASSUME CS:CODE,DS:DATABEG: MOV AX,DATAMOV DS, AXMOV CX,8PRINT: MOV AH,9MOV DX, OFFSET MESGINT 21HLOOP PRINTCHECK_LOOP:CMP CX, 10000JG RESET_CXINC CXJMP CHECK_LOOPRESET_CX:MOV CX, 0JMP CHECK_LOOPMOV AH,4CHINT 21H ;BACK TO DOS
CODE ENDS
END BEG
清除驻留程序TSR
在线的代码给出了一个实例,首先,安装了雷军写的RI程序,然后,运行程序tsr.exe,改程序设置了一个“终止并驻留”程序,其在屏幕右上角显示时间,接下来我们可以按住左右两个CTRL按键或者输入命令ri /cls来清除TSR。
PS 希望有大佬可以具体讲讲相关的知识,我确实不大懂这个程序的功能
相关文章:
RAMinit 程序编译运行考古记录
本科的时候浅浅研究了DOSBox,今天看到网上挺多关于雷军代码的新闻,我把雷军代码在web上编译出来了,但是我是业余选手,所以做得比较差,不过大家感兴趣可以关注我的dosplay项目,旨在利用js-dos实现汇编语言在…...
2.【线性代数】——矩阵消元
二 矩阵消元 1. 消元法2. 单行或者单列的矩阵乘法2.1 单行矩阵乘法2.2 单列矩阵乘法 3. 用矩阵记录消元过程(初等矩阵) 【行的线性组合(数乘和加法)】3.1 row2-3row1的矩阵描述3.2 row3-2row2的矩阵描述3.3 矩阵乘法的性质 4. 用矩…...
Vue 3 30天精进之旅:Day 25 - PWA支持
一、引言 在前面的24天中,我们已经深入探讨了Vue 3的许多核心概念和高级特性。今天,我们将进入一个全新的领域——PWA(Progressive Web App)。PWA是一种现代Web应用程序的开发模式,它结合了Web和原生应用的优点&#…...
【Pico】使用Pico进行无线串流搜索不到电脑
使用Pico进行无线串流搜索不到电脑 官串方式:使用Pico互联连接电脑。 故障排查 以下来自官方文档 请按照以下步骡排除故障: 确认电脑和一体机连接了相同的路由器WiFi网络(相同网段) IP地址通常为192.168.XX,若两设备的IP地址前三段相同&…...
Golang Model 字段自动化校验设计
背景 在我们日常开发中,不可避免的总要去进行各种参数校验,但是如果在某个场景中,要校验的字段非常多,并且在其中还有耦合关系,那么我们手写校验逻辑就变得非常的低效且难以维护。本篇文档就基于 DDD 领域模型设计的思…...
移动端测试的挑战与解决方案:兼容性、网络问题及实战策略
引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…...
AI agent 未来好的趋势:AI医疗影像、智能客服、个性化推荐
AI agent 未来好的趋势:AI医疗影像、智能客服、个性化推荐 目录 AI agent 未来好的趋势:AI医疗影像、智能客服、个性化推荐比特币AI Agents稳定币扩容区块链AI基础设施AI驱动的软件应用AI赋能的行业应用AI医疗影像、智能客服、个性化推荐AI药物研发比特币 市场与机构化:2024…...
如何使用Three.js制作3D月球与星空效果
目录 1. 基本设置2. 创建星空效果3. 创建月球模型4. 添加中文3D文字5. 光照与相机配置6. 动画与控制7. 响应式布局8. 结语 在本文中,我们将一起学习如何利用Three.js实现一个3D月球与星空的效果,并添加一些有趣的元素,比如中文3D文字和互动功…...
Spring安装和使用(Eclipse环境)
一、Spring框架概述 1、 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复…...
网络安全-攻击流程-传输层
传输层攻击主要针对OSI模型的第四层,涉及TCP和UDP协议的安全漏洞。以下是常见攻击类型及其流程,以及防御措施: 1. SYN洪水攻击(TCP半连接攻击) 攻击流程: 目标选择:确定目标服务器的IP地址和开…...
图论- Dijkstra算法
Dijkstra算法 前言概念BFS基础模版DijkstraDijkstra函数签名State类distTo 记录最短路径伪代码模版第一个问题解答第二个问题解答第三个问题解答 前言 学习这个算法之间,必须要对BFS遍历比较熟悉,它的本质就是一个特殊改造过的BFS算法. 概念 Dijkstra算法是一种计算图中单源…...
CAS单点登录(第7版)9.属性
如有疑问,请看视频:CAS单点登录(第7版) 属性 属性定义 概述 属性定义 从身份验证或属性存储库源获取和解析 CAS 中属性的定义时,往往使用其名称进行定义和引用,而无需任何其他元数据或修饰。例如&#…...
一些常用的Yum源
一些常用的Yum源 # CentOS-Stream-AppStream.repo [appstream] nameCentOS Stream $releasever - AppStream baseurlhttps://mirrors4.tuna.tsinghua.edu.cn/centos-vault/8-stream/AppStream/x86_64/os/ gpgcheck0 enabled1# CentOS-Stream-BaseOS.repo [baseos] nameCentOS …...
【电路笔记】-双向计数器
双向计数器 文章目录 双向计数器1、概述2、双向计数器双向计数器能够通过任何给定的计数序列向上或向下方向计数。 1、概述 双向计数器是同步向上/向下二进制计数器,能够在两个方向上向或从某个预设值以及零进行计数。 除了从零开始“向上”计数并增加或递增到某个预设值之外…...
Python PyCharm DeepSeek接入
Python PyCharm DeepSeek接入 创建API key 首先进入DeepSeek官网,https://www.deepseek.com/ 点击左侧“API Keys”,创建API key,输出名称为“AI” 点击“创建",将API key保存,复制在其它地方。 在PyCharm中下…...
LeetCode 232: 用栈实现队列
LeetCode 232: 用栈实现队列 题目描述 使用栈实现队列的操作。支持以下操作: MyQueue():初始化队列。push(x):将元素 x 推入队列。pop():从队列中移除元素。peek():返回队列头部的元素。empty():检查队列…...
P6792 [SNOI2020] 区间和 Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an),有 m m m 个操作分两种: chmax ( l , r , v ) \operatorname{chmax}(l,r,v) chmax(l,r,v):对每个 i ∈ [ l , r ] i \in [l,r] i∈[l,…...
基于智能体和RWA的分布式商业生态商业模型架构设计
引言 在数字化和智能化的浪潮下,传统商业生态正经历着深刻的变革。如何通过技术的赋能推动商业模式的升级,成为各行各业的共识。**智能体(AI Agents)与现实世界资产(RWA)**的结合,为分布式商业生…...
从ARM官方获取自己想要的gcc交叉编译工具链接(Arm GNU Toolchain),并在Ubuntu系统中进行配置
前言 本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145547974 的分支博文。 在本博文中我们完成gcc交叉编译工具gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz的下载、配置、测试。 下载自己想要的gcc交叉编译工具的源码 目标文件的名字及说…...
Linux上Elasticsearch 集群部署指南
Es 集群部署 Es 集群部署 Es 集群部署 准备好三台服务器。示例使用:110.0.5.141/142/143 1、es用户和用户组创建,使用root账号 groupadd esuseradd -g es es2、将es安装包和ik分词器上传到:/home/es/目录下(任意目录都行&#…...
【系统架构设计师】虚拟机体系结构风格
目录 1. 说明2. 解释器体系结构风格3. 规则系统体系结构风格4. 例题4.1 例题1 1. 说明 1.p263。2.虚拟机体系结构风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。3.虚拟机体…...
Python 字典思维导图
在本章中,你将学习能够将相关信息关联起来的Python字典。你将学习如何访问和修改字典中的信息。鉴于字典可存储的信息量几乎不受限制,因此我们会演示如何遍 历字典中的数据。另外,你还将学习存储字典的列表、存储列表的字典和存储字典的字典。…...
前台、后台、守护进程对比,进程组的相关函数
前台进程,后台进程,守护进程的对比 在前面我们已经了解了前台进程,后台进程,守护进程。 直接在终端中输入命令: 这是最常见的启动前台进程的方式。例如,在终端中输入 ./myprogram 就可以启动 myprogram 程…...
openAI最新o1模型 推理能力上表现出色 准确性方面提升 API如何接入?
OpenAI o1模型在回答问题前会进行深入思考,并生成一条内部推理链,使其在尝试解决问题时可以识别并纠正错误,将复杂的步骤分解为更简单的部分,并在当前方法无效时尝试不同的途径。据悉,o1不仅数学水平与美国奥林匹克竞赛…...
跨平台键鼠共享免费方案--Deskflow!流畅体验用MacBook高效控制Windows设备
在混合办公场景中,多设备协同已成为提升效率的关键需求。对于同时使用Mac与Windows设备的用户,如何通过一套键盘和触控板实现无缝切换,避免桌面空间浪费与操作冗余?本文将基于开源工具Deskflow,提供一套专业级解决方案…...
CAS单点登录(第7版)27.开发人员
如有疑问,请看视频:CAS单点登录(第7版) 开发人员 Javadocs文档 group org.apereo.cas has published 42 artifact(s) with total 8210 version(s) org.apereo.cas org apereo.cas 小组已出版 42 件作品,共 8210 个版…...
算法与数据结构(多数元素)
题目 思路 方法一:哈希表 因为要求出现次数最多的元素,所以我们可以使用哈希映射存储每个元素及其出现的次数。每次记录出现的次数若比最大次数大,则替换。 方法二:摩尔算法 摩尔的核心算法就是对抗,因为存在次数多…...
【2.10-2.16学习周报】
文章目录 摘要Abstract一、理论方法介绍1.模糊类增量学习2.Rainbow Memory(RM)2.1多样性感知内存更新2.2通过数据增强增强样本多样性(DA) 二、实验1.实验概况2.RM核心代码3.实验结果 总结 摘要 本博客概述了文章《Rainbow Memory: Continual Learning with a Memory of Divers…...
python包的管理
管理python包 python能跻身最欢迎编程语言前列的一个主要原因是python有着活跃的社区提供丰富的包,诸如numpy,pandas,scikit-learn等等。 python的包都存放PyPI中,PyPI即Python Package Index,是python的软件仓库。所…...
我用 Cursor 开发了一款个人小记系统
https://note.iiter.cn 项目背景 在日常工作和学习中,我们经常需要快速记录一些想法、收藏一些有用的链接或者保存一些重要的文本、图片内容。虽然市面上已经有很多笔记软件,但我想要一个更轻量、更简单的工具,专注于快速记录和智能检索。于是我开发了这款个人小记系统。 系统…...
