RAMinit 程序编译运行考古记录

news2025/3/21 1:59:12

本科的时候浅浅研究了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 International

Assembling file:   RI.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  408k


C:\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 1992

Usage:   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 status
         x=auxiliary hotkey (default is "X") 
           x equ "1" means need AuxHotkey
         yy..=shift status  [CAScas]
           C: Left Ctrl    A: Left Alt    S: Left Shift
           c: Right Ctrl   a: Right Alt   s: Right Shift

Example: "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 RI

Contact me for RAMinit problems: (01)2561155 Call 1997

C:\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 USE16
	MESG 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 USE16
	     ASSUME CS:CODE,DS:DATA
	BEG:  	MOV    AX,DATA
	       	MOV    DS, AX
			MOV    CX,8
	PRINT:  MOV    AH,9
	        MOV    DX, OFFSET MESG
	        INT    21H
	        LOOP   PRINT
	CHECK_LOOP:
    		CMP CX, 10000
    		JG  RESET_CX
    		INC CX
    		JMP CHECK_LOOP

	RESET_CX:
			MOV	CX, 0
			JMP CHECK_LOOP

			MOV AH,4CH
			INT 21H            	;BACK TO DOS
CODE ENDS
END  BEG

清除驻留程序TSR

在线的代码给出了一个实例,首先,安装了雷军写的RI程序,然后,运行程序tsr.exe,改程序设置了一个“终止并驻留”程序,其在屏幕右上角显示时间,接下来我们可以按住左右两个CTRL按键或者输入命令ri /cls来清除TSR。

PS 希望有大佬可以具体讲讲相关的知识,我确实不大懂这个程序的功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2299321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Pico】使用Pico进行无线串流搜索不到电脑

使用Pico进行无线串流搜索不到电脑 官串方式:使用Pico互联连接电脑。 故障排查 以下来自官方文档 请按照以下步骡排除故障: 确认电脑和一体机连接了相同的路由器WiFi网络(相同网段) IP地址通常为192.168.XX,若两设备的IP地址前三段相同&…

Golang Model 字段自动化校验设计

背景 在我们日常开发中,不可避免的总要去进行各种参数校验,但是如果在某个场景中,要校验的字段非常多,并且在其中还有耦合关系,那么我们手写校验逻辑就变得非常的低效且难以维护。本篇文档就基于 DDD 领域模型设计的思…

移动端测试的挑战与解决方案:兼容性、网络问题及实战策略

引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…

Spring安装和使用(Eclipse环境)

一、Spring框架概述 1、 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复…

图论- Dijkstra算法

Dijkstra算法 前言概念BFS基础模版DijkstraDijkstra函数签名State类distTo 记录最短路径伪代码模版第一个问题解答第二个问题解答第三个问题解答 前言 学习这个算法之间,必须要对BFS遍历比较熟悉,它的本质就是一个特殊改造过的BFS算法. 概念 Dijkstra算法是一种计算图中单源…

CAS单点登录(第7版)9.属性

如有疑问,请看视频:CAS单点登录(第7版) 属性 属性定义 概述 属性定义 从身份验证或属性存储库源获取和解析 CAS 中属性的定义时,往往使用其名称进行定义和引用,而无需任何其他元数据或修饰。例如&#…

【电路笔记】-双向计数器

双向计数器 文章目录 双向计数器1、概述2、双向计数器双向计数器能够通过任何给定的计数序列向上或向下方向计数。 1、概述 双向计数器是同步向上/向下二进制计数器,能够在两个方向上向或从某个预设值以及零进行计数。 除了从零开始“向上”计数并增加或递增到某个预设值之外…

Python PyCharm DeepSeek接入

Python PyCharm DeepSeek接入 创建API key 首先进入DeepSeek官网,https://www.deepseek.com/ 点击左侧“API Keys”,创建API key,输出名称为“AI” 点击“创建",将API key保存,复制在其它地方。 在PyCharm中下…

从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交叉编译工具的源码 目标文件的名字及说…

【系统架构设计师】虚拟机体系结构风格

目录 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 项目背景 在日常工作和学习中,我们经常需要快速记录一些想法、收藏一些有用的链接或者保存一些重要的文本、图片内容。虽然市面上已经有很多笔记软件,但我想要一个更轻量、更简单的工具,专注于快速记录和智能检索。于是我开发了这款个人小记系统。 系统…

安全测试中的身份认证与访问控制深度解析

第一部分:基本概念与核心问题 1. 身份认证与访问控制基础 1.1 身份认证三要素 知识因素(密码、PIN码)持有因素(硬件令牌、手机)生物因素(指纹、面部识别)1.2 访问控制模型 DAC(自主访问控制)MAC(强制访问控制)RBAC(基于角色的访问控制)2. 关键安全机制 2.1 会话…