x86处理器架构与汇编语言基础

需积分: 0 0 下载量 16 浏览量 更新于2024-07-15 收藏 937KB PDF 举报
"AL_chapt_02.pdf"文档主要探讨了x86处理器架构的相关知识,该章节来自第七版《Assembly Language for x86 Processors》全球版,作者是Kip Irvine。章节内容涵盖了广泛的主题,包括IA-32处理器架构、内存管理、64位处理器、IA-32微计算机组件以及输入输出系统。 在第一章概述中,读者可以了解到整个章节的结构和核心概念。首先,它介绍了通用的计算机设计概念,比如程序执行的基本原理,以及CPU(中央处理器)在其中的作用。CPU负责所有的计算和逻辑操作,通过时钟信号进行同步,控制单元(CU)则协调执行步骤的顺序。同时,Arithmetic Logic Unit(ALU)承担着执行算术和位操作的任务。 第二部分深入解析了基本微计算机设计,具体讨论了CPU的构成,特别是它的核心功能区,如CU和ALU。CPU的工作原理涉及到指令执行周期,即一个完整的指令如何被读取、解码、执行,然后将结果存储回内存。这个过程展示了计算机硬件如何与软件交互,使程序得以运行。 第三部分聚焦于IA-32处理器架构,这是x86系列的核心,其设计特点对于理解现代个人电脑技术至关重要。这部分可能会讲解指令集体系结构(ISA)、寻址模式、数据宽度等关键概念,以及它们如何影响程序的性能和效率。 随后的章节转向64位处理器,探讨了这种架构升级对系统性能和内存管理的影响,以及如何编写兼容这两种架构的代码。这部分内容对于了解现代计算机技术的进化和发展具有重要意义。 最后,文档还涉及到了IA-32微计算机的组成部分,包括内存、输入输出设备,以及它们在系统中的作用和接口。输入输出系统部分则详细解释了计算机如何与外部世界进行数据交换,包括输入设备如键盘和鼠标,以及输出设备如显示器和打印机。 AL_chapt_02.pdf为学习者提供了一个全面且深入的x86处理器架构和系统运作机制的入门指南,对于想要进入或进一步研究计算机硬件和低级编程的学生和专业人士来说,这是一个不可或缺的学习资源。

运行下面代码,运行结果没有保存文件,请帮我找出原因 # -- coding: utf-8 -- # 指定文件编码格式为utf-8 import urllib.request import re def getNovertContent(): url = 'http://www.quannovel.com/read/640/' req = urllib.request.Request(url) req.add_header( 'User-Agent', ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36') data = urllib.request.urlopen(req).read().decode('gbk') str1 = str(data) # 将网页数据转换为字符串 reg = r'
  • (.?)
  • ' reg = re.compile(reg) urls = reg.findall(str1) for url in urls: novel_url = url[0] novel_title = url[1] chapt = urllib.request.urlopen(novel_url).read() chapt_html = chapt.decode('gbk') reg = r'</script> (.?)</script> type="text/javascript">' reg = re.compile(reg, re.S) chapt_content = reg.findall(reg, chapt_html) chapt_content = chapt_content[0].replace( " ", "") chapt_content = chapt_content.replace("
    ", "") print("正在保存 %s" % novel_title) with open("{}.txt".format(novel_title), 'w') as f: f.write(chapt_content) getNovertContent()
  • 2023-06-02 上传