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

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
美团技术团队
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
A
About on SuperTechFans
Recent Announcements
Recent Announcements
D
Docker
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
腾讯CDC
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志

博客园 - 华腾智算

逐个注释 前端学习全景图 · 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])