惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
V
V2EX
博客园 - 叶小钗
雷峰网
雷峰网
小众软件
小众软件
量子位
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
G
Google Developers Blog
博客园_首页
博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享

博客园 - 华腾智算

逐个注释 前端学习全景图 · HTML5 + CSS3 全部知识点 前端学习全景图 从零实现跨平台 3D 引擎架构方案 2026年的跨平台 GUI 开发趋势 杀毒 现代图形学的本质 C++快速掌握之一 rust控制流-各种循环 rust控制流 rust函数和注释 rust复核类型--元组tuple和数组 rust的类型 rust常量和变量 rust正确的猜数游戏 rust猜数游戏2 rust猜数游戏 字体选型 20260810代码 理解图形学之一入门 Rust 标准库 `std` 中最常用、最核心的模块和类型 Rust 标准库std RUST教程 rust理解一 rust多文件组织 - 华腾智算 Cargo.toml Rust 语言教程 C#常用 C#第六天异常 通俗易懂解释编程-适用于任何编程语言
从文本文件加载指令到模拟内存中,并显示前11个内存单元的内容
华腾智算 · 2025-08-21 · via 博客园 - 华腾智算
# -*- coding: utf-8 -*-
'''
程序功能:从文本文件加载指令到模拟内存中,并显示前11个内存单元的内容
文件格式:每行包含内存地址和指令,例如 "0 LOAD 100"
'''

# 初始化一个长度为1000的内存空间,每个元素初始为空字符串
men = [''] * 1000

def loadProgram(file):
    """
    从文件加载程序到内存中
    
    参数:
        file: 包含程序指令的文本文件路径
        
    返回:
        list: 包含已加载指令的内存列表
    """
    # 以只读模式打开文件
    fil = open(file, "r")
    
    # 循环读取文件的每一行
    while True:
        line = fil.readline()
        
        # 如果读到文件末尾,退出循环
        if line == '':
            break
            
        # 使用空格分割行内容,得到字段列表
        flds = line.split()
        
        # 提取第一个字段作为内存地址并转换为整数
        address = int(flds[0])
        
        # 提取第二个字段作为指令
        instruc = flds[1]
        
        # 将剩余字段(操作数等)添加到指令字符串中
        for fld in flds[2:len(flds)]:
            instruc = instruc + " " + fld
            
        # 将指令存储到对应的内存地址
        men[address] = instruc
        
    # 关闭文件
    fil.close()
    
    # 返回填充后的内存
    return men

# 加载程序文件到内存
loadProgram('sum100.txt')

# 打印前11个内存单元的内容
for i in range(11):
    print('主存单元', i, ':', men[i])