第四章_指令系统和寻址方式(9)

合集下载

第4章 指令系统和寻址方式

第4章 指令系统和寻址方式
操作码 MOD REG R/M* DISP-L DISP-H DATA-L DATA-H
4
第4章 8086CPU指令系统 4.1.4 操作数的寻址方式
在指令中,指定操作数或操作数存放位置的方法称为寻址方 式。 8086/8088CPU指令系统的操作数的来源有以下4种:立即数、 寄存器操作数、存储器操作数、端口操作数。 微机系统中除端口操作数外,有七种基本的操作数寻址方式: 立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接 寻址方式、寄存器相对寻址方式、基址加变址寻址方式、相对 基址加变址寻址方式,后五种寻址方式是确定存储器操作数有 效地址的计算方法。
第4章 8086CPU指令系统
5. 寄存器相对寻址(Register Relative Addressing)
操作数的有效地址EA 是8位或16位的位移量 (DISP8/16)与基址寄存器BX或基址指示器BP或某个变
址寄存器(DI或SI)之和,即
EA=(BX或BP或SI或DI)+DISP8/16。 MOV AX,[BX+10H]指令操作示意图如图4.6所示。
7
第4章 8086CPU指令系统
在存储器操作数的五种寻址方式中,数据都存放于存储单元
中,在指令操作过程中需要 BIU 通过一个总线周期的访问,才 能获得操作数。因此,存储器操作数的寻址方式是怎么根据给 出的操作数地址因子,计算出操作数的有效地址 EA(Effective Address)。有效地址EA是以下三个地址因子的组合,由CPU的 执行单元EU计算出来。
13
第4章 8086CPU指令系统
代码段 10000H 1000H:0000H
操作码 BX 20H 00H 操作码
1000H:0100H

MCS-51单片机的指令系统

MCS-51单片机的指令系统

整理ppt
12
4.2 寻址方式
51汇编语言有42种操作码助记符,用来描述33种操作功 能。一种操作码可以使用一种以上的数据类型,又由于 助记符规定了其访问的存储器空间,所以一种功能可能 有几个助记符(如MOV、MOVX、MOVC)。功能助记 符与寻址方式组合,得到111条指令。
整理ppt
13
4.2 寻址方式
1)无操作数单字节指令
这类指令只有操作码字段,操作数隐含在操作码中。
例如:INC DPTR
指令码为 :
数据指针隐含其中
整理ppt
6
指令的组成及字节数
2)含有操作数寄存器号的单字节指令 单字节的指令码由操作码字段和指示操作数所 在寄 存器号的字段组成。 例如;MOV A,Rn 指令码为:
其中,rrr为寄存器Rn的编号
整理ppt
2
4.1 指令和指令程序
“指令”: CPU能直接识别和执行的命令。 指令系统:CPU所能执行的全部指令的集合。
与CPU的能力、使用的方便灵活性密切相关。 指令的记忆问题?指令本身是二进制代码。
例如以下的51单片机指令:
把10放到累 740AH 加器A中 为பைடு நூலகம்便于记忆 指令助
A加20,结 果仍在A中
整理ppt
8
指令的组成及字节数
3.三字节指令(17条)
这条指令的指令码的第1字节为操作码;第2和第3字节为 操作数或操作数地址,有如下3类。 1)16位数据 例如:MOV DPTR,#26ABH 指令码为:
整理ppt
9
指令的组成及字节数
2)8位地址和8位数据 例如:MOV 74H,#0FFH 指令码为:
在MCS-51指令中,若操作数是以R0~R7来表示操作数时, 就属于寄存器寻址方式。

第4章 指令系统

第4章 指令系统

3. 规整性
规整性包括指令系统的对称性,匀齐性,指令 格式和数据格式的一致性.对称性是指:在指 令系统中所有的寄存器和存储器单元都可同等 对待,所有的指令都可使用各种寻址方式.匀 齐性是指:一种操作性质的指令可以支持各种 数据类型.
4.兼容性 兼容性
系列机各机种之间具有相同的基本结构和共 同的基本指令集,因而指令系统是兼容的,即 各机种上基本软件可以通用.但由于不同机种 推出的时间不同,只能做到"向上兼容" .
目前在指令操作码设计上主要采用以下两 种编码方式 1. 固定长度操作码 操作码的长度是固定的,且集中放在 指令字的一个字段中,指令的其余部分全 部用于地址码.例如IBM370机和VAX-11系 列机,操作码的长度均为8位,可表示256 种不同的操作. 2. 可变长度操作码
4.2.2 地址码
地址码用于指定操作数和存放运算结果的地址, 通常称为操作数.操作数可以是一个直接的数或者 是一个数据所在的地址,它以空格与操作码分开.
例如: MOV AX,[SI]
假如用户用高级语言编程,根本不用 考虑寻址方式,因为这是编译程序的事,但 若用汇编语言编程,则应对它有确切的了解, 才能编出正确而又高效的程序.此时应认真 阅读指令系统的说明书,因为不同计算机采 用的寻址方式是不同的,即使是同一种寻址 方式,在不同的计算机中也有不同的表达方 式或含义. 思考:设计指令系统时,数据的寻址方式 越多越好吗?为什么?
4.直接寻址 指令中的形式地址A就是操作数的真实 地址EA,这种寻址方式称为直接寻址方式, 又称为绝对寻址方式.如图5-3所示.
OP 寻址特征 A 主存 A 操作数
图5-3 直接寻址方式
例如: MOV AL,[0080H] MOV AX,[1000H]

微机原理第04章(寻址方式和传送指令)

微机原理第04章(寻址方式和传送指令)

2、指令组成 计算机中指令由操作码字段和操作数字段两部分组成。 一条可以由1~7个字节组成。 操作码字段-----―指示计算机要执行的操作, 操作数字段-----―指出在指令执行操作过程中所需要的操作数; 可以是操作数本身;可以是操作数地址或是地址的一部分;可以 是指向操作数地址的指针或其他有关 操作数的信息。
+ 1 1 SS 1000H 0 0 0 BP 3000H 0 ...
3 0 0 0 3 AH 12H 0 0 AL 34H 0
13000H
执行前: (SS)=1000H ,
(BP)=3000H , (AX)=1234H 执行后:PA=13000H (13000H)=1234H
34H 12H
堆 栈 段
55H
代 码 段
... 50000H 55040H ... 48H 55H ... 堆 栈 段
指令执行后:EA=5040H PA=55040H (55040H)=5548H (AX)=5548H
寄存器相对寻址方式 MOV AX,COUNT[BP]
用途:这种寻址方式同样用于表格处理。 表格首地址COUNT 修改基址或变址寄存器来取得表格中的值。 例:某数据表的首地址为COUNT 欲读取表中第10个数据,存放到(AL)中。
演示
;AX←DS:[SI+06H]
8086/8088 CPU 中有两个变址寄存器 : 源变址寄存器 SI ; 目的变址寄存器 DI 。
操作数一般在内存的数据段中,但允许段跨越。 除有段跨越前缀之外,形成物理地址有二种方式:
(BX) PA=16d ×(DS)+ (SI) (DI) + 16位位移量 8位位移量
段内偏移量为适应各种数据结构的需要,可以有几个部分组 成,所以也把它称为有效地址EA。

《计算机组成原理》教程第4章指令系统

《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.

微机原理与汇编程序设计复习题

微机原理与汇编程序设计复习题

微机原理与汇编程序设计复习题微机系统与汇编语言复习题单项选择题10某2=20分填空题10某2=20分问答题:5某5=25分程序分析题4某5=20分设计应用题1某15=15分第一章微型计算机概述答:微型计算机系统是以微型计算机为主体,配上软件系统和外部设备而构成的。

第二章计算机中的数据表示1.58的非压缩BCD和压缩BCD各如何表示?写出存入D某的指令。

答:58的非压缩BCD是0508H存入D某的指令:MOVD某,0508H58的压缩BCD和是58H存入D某的指令:MOVD某,0058H2、什么是ASCII码?可表示哪些信息?按其作用可分为哪些?答:ASCII码是美国信息交换标准代码的简称,用于给西文字符编码。

包括英文字母的大小写、数字、专用字符、控制字符等;按其作用可分为:34个控制字符;10个阿拉伯数字52个英文大小写字母;32个专用符号第三章80某86微处理器及其体系结构1、8086CPU信号线RESET的功能是什么?8086复位后内部寄存器状态是怎样的?8086CPU复位后从什么单元中取第一条指令执行。

答:RESET—复位信号输入8086复位后CS=FFFFH、DS=0000H、ES=0000H、SS=0000H、IP=0000H、FR=0000H8086CPU复位后从CS某10H+IP=FFFFH某10H+0000H=FFFF0H地址单元中取第一条指令执行启动系统。

CS:IP=FFFF:0000H2、已知一个SRAM芯片的容量为8K某8和64K某8,地址线、数据线各为多少?答:SRAM芯片的容量为8K某8:地址线13条,数据线8条SRAM芯片的容量为64K某8:地址线16条、数据线8条3、指令指针寄存器IP多少位?有何功能?答:IP是一个16位的寄存器,存放EU要执行的下一条指令的偏移地址,用以控制程序中指令的执行顺序,实现对代码段指令的跟踪4、8086CPU用于地址锁存器输入允许的控制信号和用于数据收发器允许的控制信号各是什么信号?答:用于地址锁存器输入允许的控制信号是ALE,用于数据收发器允许的控制信号是DEN5、是什么引脚?答:等待测试引脚6、INTA是什么引脚?答:中断响应引脚7、M/IO是什么引脚?答:存储器访问/输入输出访问控制引脚8、8086CPU最小、最大方式时用于总线请求、允许的信号线各是什么?答:最小:HOLD---总线请求HLDA---总线响应最大:RQ/GT0、RQ/GT19、8086CPU访问存贮器和访问I/O的地址分别各为什么?可寻址的最大存贮器空间和最大I/O空间分别各为多少?答:8086CPU访问存贮器的地址是A19—A0,可寻址的最大存贮器空间是1MB.8086CPU访问I/O的地址是A15—A0,可寻址的最大I/O空间是64KB.10、什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?答:程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。

楼第4章指令系统习题解答

楼第4章指令系统习题解答

楼第4章指令系统习题解答习题解答:1.什么是寻址模式?8086/8088 CPU的寻址模式是什么?答:指令的寻址方式就是指获得操作数所在地址的方法。

8086/8088cpu指令的寻址方式可分为8种,为立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址。

2.指示源操作数和目标操作数在以下指令中的寻址方式(1)movax,[si]源操作数:寄存器寻址目的操作数:寄存器间接寻址(2)movdi,100源操作数:寄存器寻址目的操作数:立即寻址(3)mov[bx],al源操作数:寄存器间接寻址目的操作数:寄存器寻址(4)mov[bx+si],cx源操作数:基址变址寻址目的操作数:寄存器寻址(5)adddx,106h[si]源操作数:寄存器寻址目的操作数:寄存器相对寻址3.阅读以下说明(1)sti对(2)call1000h错(3)divax,dl错(4)shlal,4错(5)popax对(6)inal,[30h]错(7)inccs错(8)out40h,al对4.地址是根据已知的物理条件计算的。

已知:SS=1000h,ES=2000h,DS=3000h,CS=4000H,BX=5000h,di=1200h,BP=2300h(1)(2)(3)(4)(5)5.将SP的初始值设置为2400h,ax=4000H,BX=3600h,然后在执行pushax指令后,SP=?,执行pushbx和popax后,SP=?答:则执行指令pushax后,sp=2400h-2=23feh,再执行pushbx和popaxMovax,[2300h]计算公式:DS×16+2300hmov[BX][di],ax计算公式:DS×16+BX+diaddax,es:[2100h]计算公式:es×16+2100hsubdx,[BP+6]计算公式:SS×16+BP+6movax,[di]计算公式:DS×16+di后sp=23feh。

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑴ 小于(不大于等于):JL(JNGE) ⑵ 不小于(大于等于):JNL(JGE) ⑶ 小于等于(不大于):JLE(JNG) ⑷ 不小于等于(大于):JNLE(JG )
有符号数条件转移指令(执行A-B操作) 指令 JG/JNLE JGE/JNL JL/JNGE JLE/JNG 条件 SF=OF AND ZF=0 SF=OF OR ZF=1 SF≠OF AND ZF=0 SF≠OF OR ZF=1 意义 A>B A≥B A<B A≤B
判断计数器为0
again: mov cx,100 movsb ;传送一个字节 dec cx ;传送次数减1 jnz again ;判断传送次数cx是否为0 ;不为0(ZF=0),则转移;否则,结束
again:
next:
mov cx,100 jcxz next movsb dec cx jmp again ...
另一种做法
again:
next:
xor al,al cmp bx,0 jz next shl bx,1 adc al,0 jmp again ...
BX 记录BX “1”的 BX中“ 个数 ;AL=0,CF=0
;也可使用 shr bx,1
;AL保存1的个数Fra bibliotek比较无符号数高低
Jxx
• 无符号数的大小用高(Above)低(Below)表 示 • 利用CF确定高低、利用ZF标志确定相等 (Equal) • 两数的高低分成4种关系:
JC/JNC 例:JC/JNC JC/JNC指令
;记录BX中1的个数 xor al,al ;AL=0,CF=0 again: test bx,0ffffh ;等价于 cmp bx,0 je next shl bx,1 jnc again inc al jmp again next: ... ;AL保存1的个数
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
例:比较有符号数
cmp ax,bx ;比较ax和bx jnl next;若ax≥bx,转移 xchg ax,bx ;若ax<bx,交换 ...
next:
结果:AX保存较大的有符号数
计数器CX为0转移
JCXZ label ;CX=0,发生转移:IP←IP+8位位移量 ;CX≠0,顺序执行
• 这是一条较特殊的指令 • CX寄存器通常在程序中用做计数器 • JCXZ指令用来判断计数是否为0
JP/JNP 例:JP/JNP JP/JNP指令
;设字符的ASCII码在AL寄存器中 ;将字符加上奇校验位 ;在字符ASCII码中为“1”的个数已为奇数时 ;则令其最高位为“0”;否则令最高位为“1” and al,7fh ;最高位置“0”,同时判断“1”的个数 jnp next ;个数已为奇数,则转向next or al,80h ;否则,最高位置“1” next: ...
;判断传送次数cx是否为0
cmp cx,0 jz next
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
第四章 指令系统和寻址方式 第一章 基础知识
例:比较无符号数
cmp ax,bx ;比较ax和bx jnb next;若ax≥bx,转移 xchg ax,bx ;若ax<bx,交换 ...
next:
结果:AX保存较大的无符号数
比较有符号数 大小
Jxx
• 有符号数的大(Greater)小(Less)需要组合 OF、SF标志,并利用ZF标志确定相等(Equal) • 两数的大小分成4种关系:
⑴ ⑵ ⑶ ⑷ 低于(不高于等于):JB(JNAE) 不低于(高于等于):JNB(JAE) 低于等于(不高于):JBE(JNA) 不低于等于(高于):JNBE(JA )
无符号数条件转移指令(执行A-B操作) 指令 JA/JNBE JAE/JNB JB/JNAE JBE/JNA 条件 CF=0 AND ZF=0 CF=0 OR ZF=1 CF=1 AND ZF=0 CF=1 OR ZF=1 意义 A>B A≥B A<B A≤B
相关文档
最新文档