一条指令的机器码通常包含操作码(OP)和操作数两部分指...
计算机学科专业基础综合组成原理-指令系统(四)

计算机学科专业基础综合组成原理-指令系统(四)(总分:100.00,做题时间:90分钟)一、{{B}}单项选择题{{/B}}(总题数:32,分数:60.00)1.在计算机系统层次结构中,处于硬件和软件交界面的是______。
∙ A.汇编语言∙ B.指令系统∙ C.操作系统∙ D.编译系统(分数:1.00)A.B. √C.D.解析:指令系统是计算机层次结构中软件与硬件的交界面。
2.指令系统采用不同寻址方式的目的是______。
∙ A.增加内存容量∙ B.缩短指令长度、扩大寻址空间∙ C.提高访问内存的速度∙ D.简化指令译码电路(分数:1.00)A.B. √C.D.解析:为了扩大寻址空间,计算机指令系统采用了很多不同方式的寻址方式。
3.下列指令中,对软件设计者完全透明的指令是______。
∙ A.机器指令∙ B.汇编指令∙ C.特权指令∙ D.微指令(分数:1.00)A.B.C.D. √解析:微指令仅有硬件设计者才能看到。
4.已知地址为3600H的内存单元中的内容为00FCH,地址为00FCH的内存单元的内容为3200H,而地址为3200H单元的内容为FC00H,某指令操作数寻址方式为变址寻址,执行该指令时变址寄存器的内容为0400H,指令中给出的形式地址为3200H,则该指令操作数为______。
∙ A.00FCH∙ B.3200H∙ C.3600H∙ D.FC00H(分数:1.00)A. √B.C.D.解析:5.根据计算机指令的格式,可知指令执行过程中的操作数可能存放在______。
Ⅰ.寄存器Ⅱ.指令本身Ⅲ.主存中Ⅳ.控制存储器∙ A.只有Ⅰ、Ⅲ∙ B.只有Ⅱ、Ⅲ∙ C.只有Ⅲ、Ⅳ∙ D.只有Ⅰ、Ⅱ、Ⅲ(分数:2.00)A.B.C.D. √解析:指令执行过程中的操作数可能来自于寄存器、指令本身地址码、主存,不会来自于控制存储器。
6.下列关于机器指令的叙述中不正确的是______。
∙ A.机器指令系统是计算机所具有的全部指令的集合∙ B.机器指令通常包括操作码、地址码两部分,按地址个数分为零地址指令、一地址指令、二地址指令、三地址指令∙ C.机器指令的长度取决于操作码长度、操作数地址长度、操作数个数∙ D.系列计算机是指指令系统完全相同、基本体系结构相同的一系列计算机(分数:2.00)A.B.C.D. √解析:7.数据寻址计算的是指令操作数的地址。
汇编语言指令格式

汇编语言指令格式汇编语言是一种低级语言,用于编写程序,并将其转换为机器码指令以在计算机上执行。
指令格式是汇编语言中非常关键的一部分,它定义了指令的结构和使用方式。
本文将详细介绍汇编语言指令格式的各个要素,以让读者全面了解并正确运用这些指令。
1. 指令的组成一条完整的汇编语言指令由多个要素组成,包括操作码、操作数、寻址方式等。
操作码指明了要执行的操作类型,操作数则提供了操作所需的数据。
不同的指令可以有不同数量的操作数,这取决于具体的指令类型。
寻址方式则用于确定操作数的地址。
2. 操作码操作码是指令的关键部分,它表示指令要执行的操作类型。
操作码可以是二进制、十进制或十六进制的数值,具体取决于汇编语言的规范。
常见的操作码包括加载数据到寄存器、算术运算、条件判断等。
3. 操作数操作数是指令的参数,用于提供操作所需的数据。
操作数可以是寄存器、内存地址、立即数或标号等。
寄存器是一种存储数据的设备,通常用于执行算术运算和存储临时数据。
内存地址指向内存中的特定位置,操作数可以通过读取或写入内存地址来获取或修改数据。
立即数是直接给出的数值,用于进行特定的操作。
4. 寻址方式寻址方式用于确定操作数的地址。
在汇编语言中,有多种寻址方式可供选择,如寄存器寻址、直接寻址、间接寻址、相对寻址等。
不同的寻址方式适用于不同的情况。
通过选择合适的寻址方式,可以更高效地访问和操作数据。
5. 指令格式示例下面是几种常见的汇编语言指令格式示例:- 加载指令(以x86架构为例):mov destination, source其中,destination表示目标操作数,可以是寄存器或内存地址;source表示源操作数,可以是寄存器、内存地址或立即数。
- 算术运算指令:add destination, source在这个简单的示例中,add指令将源操作数与目标操作数相加,并将结果存储在目标操作数中。
- 条件判断指令:cmp operand1, operand2cmp指令用于比较两个操作数的值。
计算机一级考试计算机文化基础易错题

1、1946年、美国宾夕法尼亚大学、ENIAC、冯·诺依曼、存储程序结构。
2、世界上的第一台个人微机于1971。
3、计算机的分类:按计算机的综合指标分为:巨型、小巨型、大型、小型、微型和工作站。
发展趋势:向五化方向发展,即巨型化、微型化、网络化、智能化、多媒体化。
目前计算机产品朝着巨型化和微型化两个方向发展。
4、相对于巨型机而言微型计算机的特点是重量轻、体积小、价格便宜、使用最广泛。
5、第一代与第二代计算机都没有使用操作系统。
6、现在我们使用的计算机属于第五代计算机,其多媒体信息处理能力是第五代计算机的标志。
7、计算机的字长,指计算机能直接处理的二进制数据的位数,是指一个英文字符在计算机内部存放时所需的二进制位数。
CPU进行运算和处理的最有效长度称为字长。
计算机字长取决于数据总线的宽度。
8、16位字长的计算机是指能计算最大为16位十进制数的计算机(错误)9、计算机存储器的最小单位是比特(又称bit)。
信息的最小单位是位,一个字节由八位组成。
1byte=8bit。
字节:最小的存储单位,一个字节等于8位二进制数,符号Byte,简写为“B”;10、计算机的特点是运算速度快、计算精度高、存储能力强、具有对信息的记忆能力、具有逻辑处理能力、可进行逻辑判断、可靠性高、通用性强、程序自动执行。
11、计算机的主要性能指标: 主频、字长、存储容量、存取周期、运行速度。
12、计算机硬件系统包括5部分:运算器、控制器、存储器、输入设备、输出设备(运算器与控制器称为中央处理单元CPU)13、控制器在ALU和主存储器间工作,控制器能理解、翻译、执行所有的指令。
14、计算机中算术运算和逻辑运算具有相同的逻辑基础。
15、运算器的核心部件是由加法器和若干寄存器部件组成,前者用于实施运算,后者用于存放参加运算的各类数据及运算结果。
运算速度是个综合性的指标,用MTPS来衡量计算机的运算速度,影响运算速度的因素,主要是主频和存取周期,字长和存储容量也有影响。
汇编指令机器码总结

汇编指令机器码总结与验证摘要:本文介绍了汇编指令机器码的含义与作用,并讨论了指令的组成结构即操作码与地址码。
然后全面总结了机器码中的单字节操作码,并利用Debug工具进行了详细的验证。
关键词:指令;机器码一、机器码概述[1]机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
这种指令集就称为机器码,它是电脑的CPU可直接解读的数据。
一条指令是机器语言的一个语句,是一组有意义的二进制代码。
计算机通过执行指令来处理各种数据。
为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息:a) 操作码b) 操作数的地址c) 操作结果的存储地址d) 下条指令的地址一条指令实际上包括两种信息即操作码和地址码。
操作码用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),其长度取决于指令系统中的指令条数。
地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。
二、机器码详解[2]由上文已知,一条指令一般由操作码和地址码组成。
其中,操作码是指明CPU对内存或寄存器中的数据进行什么样的操作,地址码给出这些数据对象。
下面我们就将指令分为两部分进行研究。
1.操作码操作码一般占用1个字节(8位)或2个字节(16位)。
其中最低比特(记作W)在很多指令中表示目标操作数的位宽,W=0表示字节长(8位)操作数,W=1表示双字节长(16位)操作数。
例如,操作码00000000B(W=0)表示“ADD 8位寄存器,8位寄存器”,而00000001B(W=1)表示“ADD 16位寄存器,16位寄存器”。
2.地址码地址码一般占用1个字节,其中的8个比特位可分为三组,形式一般为“oommmrrr”。
这些分组大致可分为以下四个类型:1) “oo”——表示指令的地址偏移量类型a) 00:如果mmm=110,那么指令后紧跟一个地址偏移量;否则未使用地址偏移量b) 01:指令后紧跟一个8比特无符号地址偏移量c) 10:指令后紧跟一个16比特无符号地址偏移量d) 11:此时mmm表示一个寄存器而不是地址2) “mmm”——表示存储器操作数地址a) 000 : DS:[BX+SI]b) 001 : DS:[BX+DI]c) 010 : SS:[BP+SI]d) 011 : SS:[BP+DI]e) 100 : DS:[SI]f) 101 : DS:[DI]g) 110 : SS:[BP]h) 111 : DS:[BX]3) “rrr”——表示通用寄存器(下列分别表示当W=0;W=1;32位)a) 000:AL:AX:EAXb) 001:CL:CX:ECXc) 010:DL:DX:EDXd) 011:BL:BX:EBXe) 100:AH:SP:ESPf) 101:CH:BP:EBPg) 110:DH:SI:ESIh) 111:BH:DI:EDI4) “sss”——表示段寄存器a) 000 : ESb) 001 : CSc) 010 : SSd) 011 : DSe) 100 : FS (386+)f) 101 : GS (386+)三、操作码总结与验证[3]从上一节可以看出,一条指令的操作码变化有限(8比特操作码只有不超过256个)而且相对地址码更为重要,因此这一节我们重点讨论单字节指令的操作码。
汇编指令与机器码的相互转换

汇编指令与机器码的相互转换机器语言我们只要重点理解一下几个概念:1. 机器语言指令有操作码(OP)和地址码两部分组成|_____________OP_______________|__d__|__w__||_____________OP_______________|__s__|__w__| <--此格式用于立即寻址方式在多数操作码中,常使用某些位来指示某些信息:如图上结构里的:w=1 时对字来操作w=0 时对字节来操作d值在双操作数指令中才有效当d=1 时有且只有一个寄存器用于目的操作数d=0 时有且只有一个寄存器用于源操作数s=1 时立即数为8位,但要求扩展成16位数s=0 时当指令作字节操作/有16位立即数由于汇编的指令格式很多,这里我只作一些基本情况介绍,必要时读者可以下载/查阅80x86汇编小站提供的OPCODES手册来查阅。
2. 寻址方式的机器语言表示:| mod | reg | r/m ||_____|_____|_____|_____|_____|_____|_____|reg 表示寄存器方式,在不包括立即数的双操作数指令的情况下,规定必须有一个操作数在寄存器中,该寄存器由reg字段指定,并与操作码字节中的w位相组合确定的寄存器mod字段与r/m(register/memory)字段结合在一起确定另一个操作数的寻址方式现在你们下载了80x86汇编小站()提供的OPCODES 手册了吗?下载好了,请解压后打开里面的:opcodes.html 文件,然后熟悉里面的表格:现在熟悉简单的:____________________________________________________________________________ __表1 <PS:部分资料> rrr : W=0 : W=1 : reg32000 : AL : AX : EAX001 : CL : CX : ECX010 : DL : DX : EDX011 : BL : BX : EBX100 : AH : SP : ESP101 : CH : BP : EBP110 : DH : SI : ESI111 : BH : DI : EDI____________________________________________________________________________ __表2 <PS:部分资料> rrr : Index Register000 : EAX001 : ECX010 : EDX011 : EBX100 : No Index101 : EBP110 : ES I111 : EDI____________________________________________________________________________ __表3 <PS:部分资料> mmm : Function 11w=1000 : DS:[BX+S I]001 : DS:[BX+DI]010 : SS:[BP+S I]011 : SS:[BP+DI] BX100 : DS:[SI]101 : DS:[DI]110 : SS:[BP]111 : DS:[BX]____________________________________________________________________________ __表4 <PS:部分资料>oo : Function00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used01 : An 8-bit signed displacement follows the opcode10 : A 16-bit signed displacement follows the opcode11 : mmm specifies a register, instead of an addressing mode____________________________________________________________________________ __上面的表,你都看明白了吗?现在我就教你们如何利用这样的表格来把汇编指令翻译机器码3.指令格式简介8086所用的16位指令格式:________ _____________ ________ ________|操作码| + |mod-reg-r/m| + |位移量| + |立即数|1~2字节0~1字节0~2字节0~2字节OK!以上就是基本知识,下面我们来实践吧:———————————————————————————————————————问题:MOV AX,1234H 对应的机器码为:B83412MOV EBX,0 对应的机器码为:66BB00000000MOV CL,55H 对应的机器码为: B155MOV AX,BX 对应的机器码为:8BC3我在问一下,机器码的数据格式是什么?好像是机器指令+操作数(高位存放在地址高位,低位存放在地址低位),但是前面MOV AX,怎么就变成了B8,弄不明白,请指教。
《大学计算机基础》第1章作业

一、单选题(每小题5分,共340分,得分 330 分)1、在计算机中,常用的数制是_________。
A、十六进制B、二进制C、八进制D、十进制你的回答: B (√) 参考答案:B2、在微型计算机系统中,微处理器又称为_________。
A、RAMB、ROMC、CPUD、VGA你的回答: C (√) 参考答案:C3、计算机的硬件系统由______各部分组成。
A、控制器、运算器、存储器、输入输出设备。
B、控制器、显示器、打印机、主机、键盘。
C、CPU、主机、显示器、打印机、硬盘、键盘。
D、主机箱、集成块、显示器、电源、键盘你的回答: A (√) 参考答案:A4、下面几个数中,最小的数是_________。
A、二进制数100010010B、八进制数420C、十进制数273D、十六进制数10F你的回答: D (√) 参考答案:D5、软磁盘和硬磁盘都是()。
A、海量存储器B、计算机的外存储器C、计算机的内存储器D、备用存储器你的回答: B (√) 参考答案:B6、在下列设备中,()不能作为微型计算机的输出设备。
A、绘图仪B、键盘C、打印机D、显示器你的回答: B (√) 参考答案:B7、十进制数10.125转换为二进制数为___________。
A、1011.010B、1001.111C、1010.001D、1100.101你的回答: C (√) 参考答案:C8、计算机病毒是一种___________。
A、特殊的芯片B、人为编制地特殊程序C、微生物D、能传染的生物病毒你的回答: B (√) 参考答案:B9、计算机的发展经历了机械式计算机、()式计算机和电子计算机三个阶段。
A、电子管B、机电C、晶体管D、集成电路你的回答: B (√) 参考答案:B10、摩尔定律指出,微芯片上集成的晶体管数目每()个月翻一番。
A、6B、12C、18D、24你的回答: C (√) 参考答案:C11、第四代计算机采用大规模和超大规模()作为主要电子元件。
计算机组成原理 本科生期末试卷1~5选择填空答案

本科生期末试卷(一)一、选择题(每小题1分,共15分)1 从器件角度看,计算机经历了五代变化。
但从系统结构看,至今绝大多数计算机仍属于(冯.诺依曼)计算机。
2 某机字长32位,其中1位表示符号位。
若用定点整数表示,则最小负整数为(-(231-1) )。
3 以下有关运算器的描述,(算术运算与逻辑运算)是正确的。
4 EEPROM是指(电擦除可编程只读存储器)。
5 常用的虚拟存储系统由(主存-辅存)两级存储器组成,其中辅存是大容量的磁表面存储器。
6 RISC访内指令中,操作数的物理位置一般安排在(两个通用寄存器)。
7 当前的CPU由(控制器、运算器、cache)组成。
8 流水CPU是由一系列叫做“段”的处理部件组成。
和具备m个并行部件的CPU相比,一个m段流水CPU的吞吐能力是(具备同等水平)。
9 在集中式总线仲裁中,(独立请求)方式响应时间最快。
10 CPU中跟踪指令后继地址的寄存器是(程序计数器)。
11 从信息流的传输速度来看,(单总线)系统工作效率最低。
12 单级中断系统中,CPU一旦响应中断,立即关闭(中断屏蔽)标志,以防止本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。
13 安腾处理机的典型指令格式为(41位)位。
14 下面操作中应该由特权指令完成的是(从用户模式切换到管理员模式)。
15 下列各项中,不属于安腾体系结构基本特征的是(超线程)。
二、填空题(每小题2分,共20分)1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(IRA )码。
2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。
其中阶码E的值等于指数的真值( e )加上一个固定的偏移值(127 )。
3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。
4 虚拟存储器分为页式、(段)式、(段页)式三种。
《大学计算机基础》(第3版)习题和参考答案.

第1章计算机系统基础选择题1.计算机的发展经历了机械式计算机、( B )式计算机和电子计算机三个阶段。
(A)电子管(B)机电(C)晶体管(D)集成电路2.英国数学家巴贝奇1822年设计了一种程序控制的通用( D )。
(A)加法器(B)微机(C)大型计算机(D)分析机3.美国宾夕法尼亚大学1946年研制成功了一台大型通用数字电子计算机( A )。
(A)ENIAC (B)Z3 (C)IBM PC (D)Pentium4.爱德华·罗伯茨1975年发明了第一台微机( C )。
(A)Apple II (B)IBM PC/XT (C)牛郎星(D)织女星5.1981年IBM公司推出了第一台( B)位个人计算机IBM PC 5150。
(A)8 (B)16 (C)32 (D)646.中国大陆1985年自行研制成功了第一台PC兼容机( C )0520微机。
(A)联想(B)方正(C)长城(D)银河7.摩尔定律指出,微芯片上集成的晶体管数目每( C )个月翻一番。
(A)6 (B)12 (C)18 (D)248.第四代计算机采用大规模和超大规模( B )作为主要电子元件。
(A)微处理器(B)集成电路(C)存储器(D)晶体管9.计算机朝着大型化和( C)化两个方向发展。
(A)科学(B)商业(C)微机(D)实用10.计算机中最重要的核心部件是(A )。
(A)CPU (B)DRAM (C)CD-ROM (D)CRT11.计算机类型大致可以分为:大型计算机、( A )、嵌入式系统三类。
(A)微机(B)服务器(C)工业PC (D)笔记本微机12.大型集群计算机技术是利用许多台单独的( D )组成一个计算机群。
(A)CPU (B)DRAM (C)PC (D)计算机13.( C)系统是将微机或微机核心部件安装在某个专用设备之内。
(A)大型计算机(B)网络(C)嵌入式(D)服务器14.冯结构计算机包括:输入设备、输出设备、存储器、控制器、( B )五大组成部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如: 例如:设DS=3000H, BX=2000H, SI=1000H, MASK=0250H MOV AX,MASK[BX][SI]或MOV AX,MASK[BX+SI]或 , 或 , 或 MOV AX, [MASK+BX+SI] , BX 20H 00H 0H SI 10H
OP 50H 02H
⑵寄存器间接寻址 操作数的有效地址由基址寄存器BX、BP或变址寄存器 操作数的有效地址由基址寄存器BX、BP或变址寄存器 SI、DI提供。 SI、DI提供 提供。 BX BP SI BP
EA=
例如: 例如:设DS=2000H, AX=7850H ,BX=1000H MOV AX,[BX]; , ;
例如: 而指令如下: 例如:设DS=2000H, AX=7850H ,而指令如下: 而指令如下 MOV AX,[3000H]; , ;
CS→ 操作码 操作: 操作:2000×10H × +EA= PA= 3000H 23000H 23000H 23001H AX 30H 78H 50H 50H 30H 数据段 00H 10H 代码段
寻找操作数存放地址的方式称为寻址方式 寻找操作数存放地址的方式称为寻址方式 8086的寻址方式分为两类: 8086的寻址方式分为两类: 的寻址方式分为两类 数据寻址方式
√本节
转移地址寻址方式
2.4.1 立即寻址 该寻址方式中,指令直接给出 位或16位的操作数 直接给出8 该寻址方式中,指令直接给出8位或16位的操作数 立即数)。该数紧跟在操作码之后, )。该数紧跟在操作码之后 (立即数)。该数紧跟在操作码之后,作为指令的操 作数字段存放在指令代码中 如果是16位立即数, 如果是16位立即数,那么低位字节数存放在低地址 位立即数 单元中,高位字节数存放在高地址单元中。 单元中,高位字节数存放在高地址单元中。机器码存 放形式如图
⑴直接寻址 在直接寻址方式中, 在直接寻址方式中 , 操作数的有效地址由指令直接 给出, 给出,即 EA=位移量 EA=位移量 在指令机器码中, 16 位有效地址存放在代码段指令操 在指令机器码中 , 16位有效地址存放在代码段指令操 作码后的操作数字段中。 作码后的操作数字段中。
此时段寄存器为DS 此时段寄存器为
16位有效地址EA=基址+变址+位移量 16位有效地址 位有效地址EA=基址 变址+ 基址+
在 8086中 , 基址由基址寄存器 BX和基址指针BP提 8086中 基址由基址寄存器BX和基址指针 提 和基址指针BP 变址由变址寄存器SI 、 DI 提供 位移量是一个8 提供, 供 , 变址由变址寄存器 SI、DI提供, 位移量是一个 8 位或16位二进制常数 位二进制常数。 位或16位二进制常数。即 EA= BX BP
2.4.3 存储器寻址 存储器寻址的操作数在某个或某几个存储单元中。 存储器寻址的操作数在某个或某几个存储单元中。 要得到存储器操作数, 要得到存储器操作数 , 必须执行访问存储器单元的总 线周期。 存储器单元的逻辑地址由两部分组成: 线周期 。 存储器单元的逻辑地址由两部分组成 : 段地 址和偏移地址。段址通常由DS提供 提供, 址和偏移地址 。 段址通常由 DS提供, 如果通过基址指 BP寻址 则段址由SS提供 寻址, 提供。 针BP寻址,则段址由SS提供。 偏移地址( 有效地址、 EA ) 由下面3 偏移地址 ( 有效地址 、 EA) 由下面 3 个地址分量计算 得到: 得到:
00H
操作: 操作:3000×10H × +EA= 2000H + 1000H + 0250H PA= AX 33250H 78H
DS→ 33250H 33251H 78H 56H 数据段
56H
2.4 8086寻址方式 寻址方式
一条指令的机器码通常包含操作码(OP)和操作 一条指令的机器码通常包含操作码(OP) 数两部分。指令的格式如下: 数两部分。指令的格式如下: 操作码OP CODE 操作码 操作数Operand 操作数
例如,MOV AL,03H; 例如, , ; SOPD 源操作数 目的操作数 DOPD 操作码 操作码表示指令执行什么操作(必有) 操作码表示指令执行什么操作(必有) 操作数表示参加操作的数或数的存放地址
⑸基址变址寻址 操作数的有效地址是基址寄存器的值与变址寄存器的 值相加形成, 值相加形成,即 EA=基址 EA=基址+变址 基址+
例如: 例如:设DS=3000H, BX=6780H, DI=0041H MOV AX,[BX][DI]或MOV AX,[BX+DI] ; , 或 ,
BX 67H 80H DI 00H 41H
代码段 OP 操作码 低位D16 操作数 低位 高位D16 高位
代码段 OP D8
操作码 操作数Βιβλιοθήκη 例2.2 MOV AX,3578H AX,3578H 指令执行后,AX=3578H,16位数据存入 寄存器 位数据存入AX寄存器。 指令执行后,AX=3578H,16位数据存入AX寄存器。
AX AH 35H XX AL 78H XX CS MOV 78H 35H 代码段
图中指令存放在代码段中,OP表示该指令的操作码部 图中指令存放在代码段中,OP表示该指令的操作码部 MOV表示 接下去存放立即数的低位字节78H, 表示) 分(用MOV表示),接下去存放立即数的低位字节78H, 再存放高位字节35H,它们是指令机器码的一部分。 再存放高位字节35H,它们是指令机器码的一部分。
例如: 例如:设SS=3000H, BP=2000H MOV AX,4000H[BP]或MOV AX,[BP+4000H] ; , 或 ,
BP 20H 00H CS→ 操作码 操作: 操作:3000×10H × +EA= 2000H + 4000H PA= 36000H SS→ 36000H 36001H AX 12H 34H 34H 12H 数据段 00H 40H 代码段
2.4.2 寄存器寻址 操作数在寄存器中, 操作数在寄存器中,指令给出存放操作数的寄存器 寄存器名称)即可。 号(寄存器名称)即可。 对于16 位操作数 寄存器可以是AX 、 BX 、 CX、 对于 16位操作数 , 寄存器可以是 AX、 BX、 CX 、 位操作数, DX、SI、DI、SP和BP等; DX、SI、DI、SP和BP等 对于8位操作数,寄存器可以是AL、AH、BL、BH、 对于8位操作数,寄存器可以是AL、AH、BL、BH、 CL、CH、DL和DH。 CL、CH、DL和DH。 该寻址方式由于操作数在寄存器中, 该寻址方式由于操作数在寄存器中,不需访问存储 故可得到较高的运算速度。 器,故可得到较高的运算速度。
⑷带位移的变址寻址 操作数的有效地址由变址寄存器的值与位移量相加形 成,即 EA=变址 EA=变址+位移量 变址+ 例2.8 MOV AL,COUNT[SI] , 或MOV AL,[SI+COUNT] , 其中位移量COUNT为符号地址, 可由伪指令来定义 , 为符号地址, 其中位移量 为符号地址 可由伪指令来定义, 详见第3章伪指令 章伪指令) (详见第 章伪指令)。 其功能是将数据段中EA=(SI+COUNT的16位偏移量) 位偏移量) 其功能是将数据段中 ( 的 位偏移量 的内存单元的8位操作数送给 位操作数送给AL: 的内存单元的 位操作数送给 : 即AL ←(SI+COUNT) ( )
BX 10H 00H
操作: 操作:2000×10H × +EA= PA= 1000H 21000H
DS→
数据段
21000H 21001H AX 50H 78H A0H 50H
A0H 50H
⑶带位移的基址寻址 操作数的有效地址由基址寄存器的值与位移量相加形 成,即 EA=基址 EA=基址+位移量 基址+
例2.3 MOV AX , BX 若指令执行前,AX=3064H BX=1234H 若指令执行前,AX=3064H,BX=1234H。 则指令执行后,AX=1234H,BX=1234H。 则指令执行后,AX=1234H,BX=1234H。
AX 1234H 3064H BX 1234H
问题:如果指令为MOV AL , BL呢? BL呢 问题:如果指令为MOV
操作: 操作:3000×10H × +EA= 6780H + 0041H PA= 367C1H DS→ 367C1H 367C2H AX 12H 34H 34H 12H 数据段
⑹带位移的基址变址寻址 操作数的有效地址是一个基址寄存器的内容, 操作数的有效地址是一个基址寄存器的内容 , 一个变 址寄存器的内容与位移量之和, 址寄存器的内容与位移量之和,即 EA=基址 变址+ EA=基址+变址+位移量 基址+ 例2.8 MOV AL,COUNT[SI] , 或MOV AL,[SI+COUNT] , 其中位移量COUNT为符号地址, 可由伪指令来定义 , 为符号地址, 其中位移量 为符号地址 可由伪指令来定义, 详见第3章伪指令 章伪指令) (详见第 章伪指令)。 其功能是将数据段中EA=(SI+COUNT的16位偏移量) 位偏移量) 其功能是将数据段中 ( 的 位偏移量 的内存单元的8位操作数送给 位操作数送给AL: 的内存单元的 位操作数送给 : 即AL ←(SI+COUNT) ( )
基址
+
SI DI
变址
+
8位 位 16位 位
位移量
位移量
基址
变址
位移量
以上3 个分量的不同组合, 可以构成6 以上 3 个分量的不同组合 , 可以构成 6 种不同的有效 地址形成方式,即存储器操作数有6种寻址方式: 地址形成方式,即存储器操作数有6种寻址方式: 位移量 位移量 基址 变址 基址/变址 基址 基址 位移量 基址+位移量 基址 变址 位移量 变址+位移量 变址 基址 变址 基址+变址 基址 基址 变址 位移量 基址+变址 基址 变址+位移量