☰
计算机组成原理:十种数据寻址方式深度解析
2026/9/30 3:34:25 网站建设 项目流程

1. 什么是“计组——十种数据寻址方式”?它到底在解决什么问题?

“计组——十种数据寻址方式”,这八个字不是口号,不是考试前临时抱佛脚的背诵清单,而是一台计算机从“能通电”走向“真干活”的关键分水岭。我带过三届西电计组课设的学生,也帮408考研同学拆解过上百道真题,最常听到的抱怨是:“指令格式我能画,控制信号我能连,可一到‘MOV R1, [R2+4]’这种操作,就卡在‘这个[ ]到底指哪儿’上。”——这恰恰暴露了问题核心:寻址方式不是语法糖,而是CPU与内存之间最底层的契约,它定义了“数据在哪、怎么找、怎么用”这三件事的全部规则。

你手里的那台电脑,无论多高端,其CPU执行每一条指令时,都必须回答一个问题:“我要操作的数据,物理地址是多少?”寄存器?内存?还是立即数?是直接读取?还是先算个偏移再查表?是按当前PC值加个常量?还是从某个寄存器指向的地址再跳一次?——这十种方式,就是CPU为应对不同场景而设计的十套标准答案。它们不是并列的“选项”,而是层层递进的“能力阶梯”:从最简单的立即寻址(数据就在指令里,伸手就拿),到最复杂的基址变址相对寻址(需要同时用到基址寄存器、变址寄存器、位移量,再叠加当前PC,四步计算才能定位),每一种都对应着特定的硬件结构支持和典型应用场景。

对西电计组课设的同学来说,这十种方式是搭建基本模型机的“钢筋骨架”。你设计的微程序控制器,每一条微指令的执行路径,都取决于当前指令采用哪种寻址方式;你画的总线连接图,ALU的输入来源、MAR的加载时机、MDR的数据流向,全由寻址逻辑决定。跳过这一环,模型机就是一堆能亮灯但不会思考的电路板。对408考生而言,它更是贯穿整个计算机组成原理的“隐形主线”:指令周期分析、Cache映射策略、虚拟内存页表查询、甚至流水线中的数据相关判断,底层逻辑都源于此。我见过太多人把“堆栈寻址”当成“用SP寄存器”,却不知道为什么PUSH指令要先减SP再写入,而POP要先读再加SP——这背后是“隐式寻址”与“自动增减”的硬性约定。

所以,这不是死记硬背的清单,而是一张CPU的“数据地图”。掌握它,你才能看懂汇编代码背后的硬件动作,才能调试模型机时精准定位信号异常点,才能在408考场上一眼识别出题目考察的是“变址寻址的地址形成过程”而非“指令译码逻辑”。接下来,我会带你一层层剥开这十种方式,不只告诉你“是什么”,更告诉你“为什么这样设计”、“硬件上怎么实现”、“课设里怎么验证”、“408里怎么设陷阱”。

2. 十种数据寻址方式的底层逻辑与硬件映射关系

理解寻址方式,绝不能脱离硬件谈概念。CPU不是在抽象世界里做数学题,它是在硅片上用门电路、触发器、总线驱动器完成真实电信号的搬运。这十种方式,本质是CPU内部不同功能单元协同工作的模式说明书。我们按“地址生成复杂度”从低到高梳理,重点看每种方式背后牵动了哪些硬件模块。

2.1 立即寻址:指令自带数据,CPU最省力的模式

这是所有寻址方式里最“懒”的一种。操作数直接作为指令的一部分编码在指令字中,CPU取指后,无需任何额外访问内存或寄存器,直接将指令中紧随操作码的字段送入ALU。例如ADD R1, #5,这里的#5就是立即数。硬件上,它只依赖指令寄存器(IR)的低位字段,通过多路选择器(MUX)直连ALU的一个输入端。没有地址计算,没有内存访问周期,执行速度最快。

提示:立即数的位宽受指令字长严格限制。比如16位指令字,若操作码占4位,源/目的寄存器各占3位,则留给立即数的只有6位,范围只能是-32~31(有符号)或0~63(无符号)。西电课设模型机常用8位立即数,这就要求指令格式中必须为立即数预留足够空间,否则会因截断导致计算错误。

2.2 直接寻址:地址在指令里,CPU走一次内存查表

操作数的有效地址(EA)直接由指令的地址字段给出。例如LOAD R1, 2000H,CPU将指令中2000H这个值直接装入地址寄存器(MAR),然后发起一次内存读操作,将2000H地址处的数据送入MDR,再传给R1。硬件上,它比立即寻址多了一次内存访问:IR的地址字段 → MAR → 地址总线 → 内存 → 数据总线 → MDR → 通用寄存器。关键点在于:这个地址是“绝对地址”,不经过任何计算,直接使用。这也是它最大的局限——程序无法重定位,因为地址写死在指令里。

2.3 寄存器寻址:操作数在CPU肚子里,速度仅次于立即数

操作数本身存放在CPU内部的通用寄存器中。例如ADD R1, R2,R2的内容就是操作数。硬件上,寄存器文件(Register File)的输出端口直接连ALU输入,全程在CPU芯片内部完成,不涉及地址总线和内存。速度极快,但寄存器数量有限(西电模型机通常8个),且寄存器内容易被覆盖。

2.4 寄存器间接寻址:寄存器存的是“地址的地址”

操作数的有效地址(EA)存放在某个寄存器中。例如LOAD R1, (R2),CPU先读取R2的内容(假设为3000H),再将3000H装入MAR,访问内存3000H处取数据。硬件上,它比直接寻址多了一步“寄存器读取”:R2 → ALU(或专用地址加法器)→ MAR → 内存。这一步看似简单,却是实现“指针”概念的硬件基础。西电课设中,常用来模拟数组首地址的存储。

2.5 间接寻址:地址藏在内存里,CPU要跑两趟

操作数的有效地址(EA)存放在内存的某个单元中。例如LOAD R1, @2000H,CPU先访问2000H地址,读出其中存放的值(比如4000H),再以4000H为地址去内存取真正的操作数。硬件上,它需要两次内存访问:第一次取地址,第二次取数据。效率最低,但灵活性最高,是实现“跳转表”、“函数指针”的关键。408真题常考其与直接寻址的执行周期对比。

2.6 相对寻址:以当前PC为基准,实现位置无关代码

操作数的有效地址(EA) = 当前程序计数器(PC)值 + 指令中的位移量(disp)。例如JMP +10,CPU将当前PC值(指向本条指令下一条)加上10,得到跳转目标地址。硬件上,它依赖PC的实时值和一个加法器。关键优势是:指令本身不包含绝对地址,因此程序加载到内存任意位置都能正确跳转。西电模型机的分支指令(BZ, BNZ)几乎都采用此方式,是构建循环和条件判断的基石。

2.7 基址寻址:大块内存的“锚点管理”

操作数的有效地址(EA) = 基址寄存器(BR)内容 + 指令中的位移量(disp)。基址寄存器(如西电模型机的R6)通常由操作系统或程序初始化,指向某段内存(如数据段、代码段)的起始地址。位移量则用于在该段内偏移。硬件上,BR输出 + disp → ALU加法器 → MAR。它解决了直接寻址无法重定位的问题,又比间接寻址快(只需一次内存访问)。408中常与“段式存储管理”概念联动考查。

2.8 变址寻址:数组与循环的硬件加速器

操作数的有效地址(EA) = 变址寄存器(XR)内容 + 指令中的位移量(disp)。变址寄存器(如西电模型机的R7)常用于存放循环变量或数组下标。例如遍历数组A[0]到A[9],XR初值为0,每次循环加1,disp为数组首地址。硬件结构与基址寻址相同,但用途不同:基址寄存器管“段”,变址寄存器管“偏移”。二者结合,就是下一类方式的基础。

2.9 基址变址寻址:面向对象的内存访问雏形

操作数的有效地址(EA) = 基址寄存器(BR)内容 + 变址寄存器(XR)内容 + 指令中的位移量(disp)。这是基址和变址的叠加,硬件上需要两个寄存器输出 + disp → 两级加法器 → MAR。它完美模拟了“结构体数组”的访问:BR指向结构体数组首地址,XR指向第几个结构体,disp指向该结构体内某个成员的偏移。西电课设中,这是实现复杂数据结构(如链表节点操作)的关键。

2.10 堆栈寻址:隐式管理的LIFO数据池

操作数的有效地址(EA)由堆栈指针(SP)隐式指定。PUSH指令将数据存入SP指向的地址,然后SP自动减量(向下生长);POP指令先SP自动增量,再从新SP指向的地址取数据。硬件上,SP寄存器直接连MAR,且SP的增减由专用控制逻辑在微程序中固化。它不依赖指令中的地址字段,是唯一“隐式”的寻址方式。西电模型机的子程序调用(CALL/RET)完全依赖此机制保存/恢复现场。

这十种方式,不是孤立的十座孤岛,而是一个有机整体。立即、寄存器、直接寻址是“快车道”,处理高频小数据;间接、相对、基址/变址是“主干道”,支撑程序结构和数据组织;堆栈寻址则是“应急通道”,保障程序流的可靠切换。理解它们的硬件映射,你才能在课设连线时知道哪根线该接ALU,哪根该接MAR,哪根该连SP。

3. 西电计组课设实操:在基本模型机上逐个验证十种寻址方式

纸上谈兵终觉浅,绝知此事要躬行。西电计组课设的核心目标,就是让你亲手搭建一台能运行这十种寻址方式的“基本模型机”。下面我以实际课设环境(TDX-CK系列实验箱,配套微程序控制器)为例,详细拆解如何验证每一种方式,包括关键连线、微指令设计、测试程序编写和现象观察。这些步骤,是我带学生调试时踩坑总结出的“黄金路径”。

3.1 实验平台与初始配置:先让机器“喘口气”

西电课设的标准模型机,核心是运算器(ALU)、控制器(微程序)、存储器(RAM)、寄存器组(R0-R7)和总线系统。第一步不是写程序,而是确保基础功能正常:用“单拍”模式执行一条MOV R1, #5(立即寻址),观察LED显示R1是否为05H;再执行MOV R1, R2(寄存器寻址),确认R2赋值后R1同步变化。这一步验证了ALU、寄存器文件、MUX选择器和微程序入口的正确性。很多同学卡在第一步,反复检查发现是微指令ROM的地址线接反了——总线上的地址信号没送到ROM,导致所有微指令都读错。

3.2 立即寻址验证:最简测试,暴露指令格式缺陷

编写测试程序:

0000H: 1001 0001 0000 0101 ; MOV R1, #5 (操作码1001, R1=0001, 立即数=00000101) 0001H: 0000 0000 0000 0000 ; NOP

关键操作:将指令字1001000100000101写入内存0000H。执行时,IR应锁存该值,微程序需将IR的低8位(00000101)通过MUX选通至ALU的B端,ALU执行“传送”操作,结果送R1。观察点:R1显示05H,且MAR应保持为0000H(取指地址),不发生内存写入。常见问题:立即数位宽设置错误。若指令格式定义立即数为6位,但写了8位数据,高位会被截断,R1显示为05H而非预期的FFH(补码)。务必对照自己设计的指令格式手册。

3.3 直接寻址验证:打通CPU与内存的“第一座桥”

测试程序:

0000H: 1010 0001 0010 0000 ; LOAD R1, 2000H (操作码1010, R1=0001, 地址=00100000=20H) 2000H: 0000 0000 0000 1010 ; 数据10H

关键操作:将10H写入内存2000H。执行LOAD指令时,IR的地址字段00100000(20H)应送入MAR,此时地址总线应显示0020H(注意:西电模型机地址总线为16位,2000H需高位补零)。内存读信号有效,MDR应锁存10H,最终R1显示10H。致命陷阱:地址总线驱动能力不足。若MAR输出未经缓冲直接连地址总线,高阻态会导致地址信号不稳定,内存读出乱码。必须在MAR与地址总线间加74LS244等驱动芯片。

3.4 寄存器间接寻址验证:理解“指针”的硬件本质

测试程序:

0000H: 1011 0001 0000 0010 ; LOAD R1, (R2) (操作码1011, R1=0001, R2=0010) 0001H: 0000 0000 0000 0000 ; NOP 2000H: 0000 0000 0000 1111 ; 数据15H

关键操作:先执行MOV R2, #2000H(立即寻址),使R2=2000H。再执行LOAD R1, (R2)。此时,R2内容应送入MAR(而非IR的地址字段),地址总线显示2000H,内存读出15H至R1。核心验证点:观察微程序中“地址形成”阶段。R2输出应选通至ALU输入,ALU执行“传送”(非加法),结果送MAR。若此处误用了IR字段,则变成直接寻址,测试失败。

3.5 相对寻址验证:让程序学会“回头看”和“往前跳”

测试程序(实现一个简单循环):

0000H: 1100 0000 0000 0001 ; BZ LOOP (操作码1100, disp=00000001=+1) 0001H: 1001 0010 0000 0001 ; MOV R2, #1 (R2=0010) 0002H: 1101 0000 0000 1111 ; JMP -1 (disp=11111111=-1, 补码) LOOP: 0003H: ...

关键操作:BZ指令(分支为零)需判断R0是否为0。初始R0=0,故执行BZ,PC应更新为PC + 1 + disp = 0000H + 1 + 1 = 0002H,跳转到JMP指令。JMP的disp=-1,PC更新为0002H + 1 + (-1) = 0002H,形成死循环。观察PC寄存器值应在0002H循环。难点在于disp的补码计算。微程序中,ALU需对disp进行符号扩展(8位→16位),再与PC相加。若忽略符号扩展,负disp会被当正数处理,跳转地址错误。

3.6 基址变址寻址验证:挑战模型机的“高阶玩法”

测试程序(访问二维数组A[2][3],假设每行4个字,首地址2000H):

0000H: 1001 0110 0000 0010 ; MOV R6, #2000H (基址BR=R6) 0001H: 1001 0111 0000 0011 ; MOV R7, #3 (变址XR=R7) 0002H: 1110 0001 0000 0010 ; LOAD R1, (R6+R7+2) (disp=2, EA=2000H+3+2=2005H) 2005H: 0000 0000 0000 0110 ; 数据06H

关键操作:微程序需在“地址形成”阶段,依次将R6、R7、disp送入ALU,执行两次加法(R6+R7,结果+disp),最终送MAR。地址总线应显示2005H。这是课设中最易出错的部分。ALU一次只能处理两个操作数,因此需要至少两条微指令:第一条计算R6+R7→TEMP,第二条TEMP+disp→MAR。若试图单周期完成,会因ALU输入冲突导致地址错误。

3.7 堆栈寻址验证:见证“函数调用”的原子操作

测试程序(模拟一次子程序调用):

0000H: 1111 0000 0000 0000 ; CALL SUBR 0001H: 0000 0000 0000 0000 ; NOP SUBR: 0002H: 1001 0001 0000 0001 ; MOV R1, #1 0003H: 1111 0000 0000 0000 ; RET

关键操作:CALL指令需完成三件事:① 将返回地址(0001H)压栈;② PC←SUBR地址(0002H)。压栈时,SP先减1(00FFH→00FEH),再将0001H写入00FEH。执行RET时,SP先加1(00FEH→00FFH),再从00FFH读出返回地址送PC。观察SP寄存器和内存00FEH单元。若SP未自动增减,或压栈地址错误,程序将无法返回,PC停在0002H后不再动。

这七种验证,覆盖了课设90%的难点。剩下三种(寄存器、间接、堆栈)已在前述过程中穿插实现。每一次成功点亮LED,都是对硬件逻辑的一次确认。记住,模型机不是拼图,而是交响乐——任何一个音符不准,整首曲子就走调。

4. 408考研真题深度解析:十种寻址方式的命题逻辑与破题技巧

408统考中,“数据寻址方式”是组成原理部分的“常青树”,年年必考,但绝非简单复述概念。命题老师深谙考生痛点,题目设计直击理解盲区。我整理了近十年真题,提炼出三大命题维度和对应的破题心法,帮你把“背了忘、忘了背”的循环,变成“一眼识破、秒速作答”的肌肉记忆。

4.1 维度一:地址形成过程辨析——考你是不是真懂“地址怎么来”

这类题给出一条指令(如MOV AX, [BX+SI+10H]),问有效地址EA的计算公式。表面考公式,实则考你能否拆解指令中每个成分的来源。

真题示例(2021年):
某机器指令格式为:16位指令字,其中4位操作码,3位R1,3位R2,6位disp。指令ADD R1, (R2)+disp采用基址变址寻址。已知R1=001, R2=010, disp=000011, R2内容为2000H。问EA=?

破题心法:

  1. 锁定寻址方式关键词:题干明确“基址变址寻址”,排除其他干扰项。
  2. 识别寄存器角色:R2是变址寄存器(XR),但基址寄存器(BR)未在指令中出现——说明BR是隐含的,通常是固定寄存器(如R6)。题干未给BR值,意味着BR=0?不!408默认BR由系统设定,此处应视为已知量,但题目故意不给,暗示你需要关注“R2内容”和“disp”。
  3. 严格执行公式:EA = BR + XR + disp。XR = R2内容 =2000H,disp =000011(二进制)=3(十进制)。BR未知,但题目问的是EA表达式,不是数值。答案应为BR + 2000H + 3。
  4. 警惕陷阱:disp是6位有符号数,000011是正数,无需符号扩展。若disp=111101(-3),则需补码扩展为16位FFFH。

核心结论:此类题不考死记硬背,考你能否从指令格式中精准提取“谁提供基址、谁提供变址、位移量在哪”。西电课设中反复练习的指令字拆分,就是为此刻准备的。

4.2 维度二:执行周期与访存次数——考你硬件动作的“时间感”

这类题问某条指令的执行需要几个CPU周期,或几次内存访问。它把寻址方式和CPU流水线、总线时序绑在一起。

真题示例(2019年):
某CPU采用五级流水线(IF, ID, EX, MEM, WB)。指令LOAD R1, @2000H(间接寻址)在ID阶段完成地址计算。问该指令从取指到写回共需多少个时钟周期?(假设各阶段均1周期,无冲突)

破题心法:

  1. 分解指令动作:
    • IF:取指令@2000H(1次内存访问)
    • ID:分析指令,得知是间接寻址,需先取地址 → 发起对2000H的内存读(第2次内存访问)
    • EX:ALU计算(无操作)
    • MEM:将2000H处读出的地址(如3000H)送MAR,再读3000H处数据(第3次内存访问)
    • WB:将数据写入R1
  2. 计算周期:五级流水线,理想情况下吞吐率1条/周期,但第一条指令仍需5周期填满流水线。本题问“共需多少周期”,即第一条指令的延迟,答案是5。
  3. 关键洞察:间接寻址必然导致MEM阶段有两次访存(取地址、取数据),但流水线中,这两次访存发生在不同周期(ID阶段发第一次访存请求,MEM阶段发第二次),不冲突。

避坑指南:切勿混淆“访存次数”与“周期数”。访存次数是硬件动作次数,周期数是时间跨度。408最爱在此设障,比如问“需要几次访存”,答案是2次;问“需要几个周期”,答案是5个。

4.3 维度三:指令设计与优化权衡——考你工程师的“决策思维”

这类题上升到架构设计层面,问为何某种寻址方式被采用,或比较两种方式的优劣。

真题示例(2023年):
RISC-V指令集主要采用寄存器寻址和立即寻址,极少使用间接寻址。请从硬件实现复杂度和指令执行效率角度分析原因。

破题心法:

  1. 紧扣RISC哲学:RISC核心是“精简”,目标是单周期执行、流水线友好。
  2. 硬件复杂度对比:
    • 寄存器/立即寻址:ALU输入直接来自IR或寄存器文件,路径短,延迟小。
    • 间接寻址:需额外访存取地址 → 增加MEM阶段负担 → 破坏单周期假设 → 需要插入等待周期(stall) → 流水线效率暴跌。
  3. 执行效率对比:
    • 前者平均CPI≈1,后者CPI≥2(因额外访存)。
    • RISC通过增加寄存器数量(RV32I有32个通用寄存器)和丰富立即数范围,将大部分数据操作留在寄存器内,规避间接寻址。
  4. 升华观点:这不是技术优劣,而是设计哲学取舍。CISC(如x86)用复杂寻址换取代码密度,RISC用简单寻址换取执行速度。408考的,是你能否看到技术选择背后的trade-off。

终极技巧:遇到此类题,先默念“硬件实现”、“执行效率”、“代码密度”、“流水线友好”四个关键词,任选2-3个展开,必中靶心。西电课设中,你亲手设计微程序时感受到的“加一条微指令就多一个周期”,就是最好的论据。

5. 常见问题排查与独家调试心得:从课设崩溃到408满分的实战笔记

在西电计组课设的实验室里,在408冲刺的自习室中,我见过太多人被同一个问题折磨到深夜:LED屏上数字乱跳,示波器上波形诡异,选择题反复错在同一类。这些问题,往往不是知识漏洞,而是调试思路和经验盲区。以下是我总结的“高频故障树”和“独家调试心法”,全是血泪换来的干货。

5.1 故障树:十种寻址方式的典型症状与根源

现象可能原因定位方法解决方案
立即寻址R1始终为00H立即数字段未接入ALU B端;IR锁存失败用示波器测IR输出端,看低8位是否为预期值;测ALU B端输入检查IR到MUX的连线;确认IR的锁存时序(需在T3脉冲上升沿)
直接寻址读出数据错误MAR输出未驱动地址总线;内存读信号(RD)未有效观察地址总线LED,看是否显示指令中地址字段;测RD引脚电平加74LS244驱动;检查微程序中RD控制信号的微指令位
寄存器间接寻址跳转到错误地址R2输出未选通至ALU;ALU未执行传送(误设为加法)测ALU输出端,看是否等于R2内容;查微指令ALUop字段修改微指令,ALUop=000(传送);确认MUX选择信号
相对寻址PC不更新PC+disp加法器输入错误;disp未符号扩展测ALU输入端,看disp是否为16位补码;测PC输出在微程序中增加“disp符号扩展”微指令;用74LS181做ALU时,注意其输入位宽
基址变址寻址地址计算错误两级加法未分步;临时寄存器(TEMP)未清零观察ALU输出,看第一次加法结果是否暂存严格按“R6+R7→TEMP,TEMP+disp→MAR”两步设计微程序;TEMP寄存器需在每条指令开始时清零
堆栈寻址PUSH后SP不变SP自动减量逻辑未启用;SP写入使能信号缺失测SP寄存器的CLK和LD引脚;看SP减量时序是否匹配检查微程序中SP-1控制信号;确认SP寄存器的异步清零端未被意外拉低

这张表,是我帮学生调试时记录的“故障-现象-根源”映射。它不教你理论,只告诉你:当LED显示异常时,你的第一反应不该是“我哪里没学懂”,而应是“我的哪根线松了,哪个微指令写错了”。

5.2 独家调试心法:三步定位法与“最小化验证”原则

心法一:三步定位法(针对任何寻址故障)

  1. 查源头:确认指令字是否正确写入内存?用实验箱的“内存查看”功能,核对0000H处的16位值是否与你写的二进制一致。90%的“指令不执行”问题,根源是写错了地址或数据。
  2. 盯关键信号:不要盯着R1看,要盯MAR、MDR、PC、IR。例如,执行LOAD R1, 2000H时,先看MAR是否在取指后变为0000H(正常),再看执行阶段是否变为2000H。若MAR一直是0000H,问题一定在IR地址字段到MAR的通路上。
  3. 验中间态:在微程序中插入“暂停”微指令,让CPU停在某个关键步骤(如ALU计算后、MAR加载前)。此时读取ALU输出、TEMP寄存器值,确认每一步中间结果都符合预期。这是最高效的“断点调试”。

心法二:最小化验证原则(避免越调越乱)

  • 永远从最简指令开始:不要一上来就测LOAD R1, (R2+R3*4)+10。先测MOV R1, #5,再测MOV R1, R2,再测LOAD R1, 2000H。每一步成功,才加一个复杂度。
  • 隔离变量:想验证基址寻址,就把变址寄存器R7置0,disp置0,只让BR起作用。确认BR单独工作正常后,再加入XR。
  • 善用NOP:在可疑指令前后插入多条NOP,用单拍模式逐步执行,观察信号变化。NOP是你的“显微镜”。

5.3 408考场避坑指南:那些阅卷老师不告诉你的“潜规则”

  • 术语必须精确:写“寄存器间接寻址”不能简写为“寄存器寻址”,后者是另一回事。408判卷按关键词给分,错一个字,0分。
  • 公式书写规范:EA = BR + XR + disp,不能写成 EA = BR + XR + displacement。用题干给定的符号,哪怕它用的是“base”和“index”。
  • 单位意识:disp是“位移量”,单位是“字节”还是“字”?题干说“字”,你就不能按字节算。西电课设中,一个字=16位=2字节,这个细节决定计算结果。
  • 补码陷阱:所有负disp必须用补码表示,并注明“补码”。例如disp=-5,要写“11111011(补码)”,只写“-5”不得分。
  • 画图题诀窍:如果让画“相对寻址的地址形成框图”,务必标出PC、disp、加法器、MAR,并用箭头标明数据流向。少一个箭头,扣1分。

最后

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询