第二章 计算机中的信息表示数据信息控制信息数值型数据非数值型数据指令信息等第一节 定点表示与浮点表示
2.1.1 定点表示法无符号数定点整数定点小数
00000000~ 11111111 0~ 255
11111111 ~ 01111111原 原 -127~ 127
补10000000 ~ 01111111 补 -128~ 127
1.1111111 ~ 0.1111111原 原 -(1-2-7)~ (1-2-7)
1.0000000 ~ 0.1111111补 补 -1~ (1-2-7)
1
2-7
E
浮点数真值,N = + R × M
阶码
Ef E1 … Em Mf M1 … Mn浮点数机器格式:
尾数阶符 数符
R:阶码底,隐含约定。
E:阶码,为定点整数,补码或移码表示。
其 位数 决定 数值范围 ; 阶符 表示 数的大小 。
M:尾数,为定点小数,原码或补码表示。
其 位数 决定 数的精度 ; 数符 表示 数的正负 。
尾数规格化,1/2≤ M < 1 最高有效位绝对值为 1
2.1.2 浮点表示法
1,格式
2,表示范围与精度表示范围,-231~ 231 (1-2-9)
例,某规格化浮点数用补码表示,其中阶码 6位,含 1位阶符;尾数 10位,含 1位数符。
阶符 1位,阶码 m位,补码表示,以 2为底;
数符 1位,尾数 n位,补码表示,规格化。
最小浮点数,
最大浮点数,
最小浮点正数,
阶码为最大数,2 -1m
尾数为绝对值最大的负数,-1
尾数为最大数:
阶码为最大数,2 -1m
1-2-n
阶码为最小数,-2m
尾数为最小正数,2-1
表示精度,2-33
第二节 指令信息的表示指令:指示计算机执行某类操作的信息的集合。
本节主要讨论:一般 指令格式常用 寻址方式面向用户 指令类型
2.2.1 指令格式指令基本格式 操作码 θ 地址码 D
一个 一个或几个
1,指令字长定长指令格式变长指令格式便于控制
( 1) 定长操作码各指令 θ 的位置、位数固定相同。
( 2)扩展操作码各指令 θ 的位置、位数不固定,根据需要变化。
合理利用存储空间
2,操作码结构关键在设置扩展标志。
例,指令字长 16位,可含有 3,2,1或 0
个地址,每个地址占 4位。
操作码 地址码
15~ 12 11~ 8 7 ~ 4 3 ~ 00000 X Y Z
1110 X Y Z
...,..,..,..
1111 0000 Y Z
1111 1110 Y Z
...,..,..,..
三地址指令 15条二地址指令 15条
1111 1111 0000 Z
1111 1111 1110 Z
...,..,..,.,一地址指令 15条
1111 1111 1111 0000
1111 1111 1111 1111
...,..,..,.,零地址指令 16条
( 3)复合型操作码操作码分为几部分,每部分表示一种操作。
例,某机算逻指令
3,地址结构
0 1 2 3 4 5 6 7 8 15
基本操作 进位 移位 回送 判跳 操作数指令中提供的地址数 存储单元地址码寄存器编号
( 1)指令提供地址的方式显地址方式隐地址方式
:指令中明显指明地址。
:地址隐含约定,不出现在指令中。
直接或间接给出
( 2) 地址结构的简化操作数地址
● 四地址结构指令格式:
使用 隐地址 可以减少指令中的地址数,简化地址结构 。
θ D1 D2 D3 D4
结果地址 下条指令地址功能,(D1)θ (D2) D3
(D4) 下条指令用指令计数器 PC指示指令地址。
● 三地址结构指令格式:
操作数地址
θ D1 D2 D3
结果地址下条指令地址功能:
转移时,用转移地址修改 PC内容。
(D1)θ (D2) D3
(PC) + 1 PC
源 /目的
● 二地址结构指令格式,θ D1 D2
目的 /源功能,(D1)θ (D2) D2/D1
(PC) + 1 PC
双操作数:
● 一地址结构指令格式,θ D1 隐含约定单操作数:
功能:
● 零地址结构指令格式:
(D1)θ (A) A
(PC) + 1 PC
θ (D1) D1
(PC) + 1 PC
θ
功能,用于堆栈或特殊指令操作。
例,ADD;
执行前:
低SP 10
20
46
SP 30
46
执行后:
高低高
2.2.2 寻址方式是指 寻找操作数地址或操作数的方式 。
操作码 θ 立即数 S
( 1) 立即寻址指令直接给出操作数。
1,常见寻址方式定长格式:
变长格式,基本指令立即数 S
数在指令中,
其长度固定、
有限。
数在基本指令之后,其长度可变。
用来提供常数、设置初值等。
操作码 θ 有效地址 D
( 2) 直接寻址指令直接给出操作数地址。
存储单元号寄存器号
(数在 M中 )
(数在 R中 )
● 存储器直接寻址 (直接寻址)
定长格式 D的位数有限,限制访存范围变长格式 基本指令
DL
DH
D的位数可覆盖整个存储空间
S =( D)
操作码 θ 寄存器号 R
存储单元号寄存器号
(数在 M中 )
(数在 M中 )
● 寄存器直接寻址 (寄存器寻址)
格式 R所占位数少;访问 R比访问 M快格式
S =( R)
用于访问固定的存储单元或寄存器。
( 3)间接寻址指令给出操作数的间接地址。
● 存储器间址操作码 θ 间接地址 D
D=0030 0060...
0060 S...
S =((D))
M
间址单元地址指针操作码 θ 寄存器号 R
● 寄存器间址格式
R所占位数少; R可提供全字长地址码;
修改 R内容比修改 M内容快。
格式
S =((R))
指针不变 (由指令指定 ),指针内容可变,使同一指令可指向不同存储单元,以实现 程序的循环,共享,
并 提供转移地址 。
● 堆栈寻址操作码 θ 堆栈指针 SP
SP,..
S...S =((SP))
M
R=02
M
0040
0040 S
...
...
...
地址指针
0070
...
栈顶格式
SP既可出现在 指令中,也可隐含约定。
● 变址寻址
( 4)变址、基址寻址及其变化
SP 栈顶
M
S
...
......
低高堆栈向上生成压栈,SP自动减 1,再存数。
-(SP),自减型间址 。
先取数,SP再自动加 1。
(SP)+,自增型间址 。
出栈:
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
操作码 θ RX D
D的位数有限,若不能提供全字长地址码,会使访存空间受到限制 。
变址寄存器号例,用变址方式访问一组连续区间内的数组元素。
S =((RX)+ D)
D=首址D为存储区首址;(RX)为所访单元距离首址的长度;
RX初值为 0,每访问一个单元,(RX)+1。
格式 操作码 θ RX D
形式地址修改量 基准地址
n-1
...
0
1
2...
D+1D+2
D+n-1
...
格式
( D的位数只需覆盖一个较小的存储区间)
● 基址寻址基址寄存器号 Rb
4K
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
操作码 θ Rb D
位移量
S =((Rb)+ D)
基准地址 相对于基址的位移
M
...
...
…...
…...
Rb
4K改变 Rb的内容,程序能访问存储空间中任何一个定长区间 (4K)。
便于访问两维数组中某类指定的元素。
4K
4K
Rb M
...
...
…...
…...
Rb
D=2
D=2
学生姓名性别性别年龄年龄学生姓名变址与基址的区别:
变址,指令提供 基准量 (不变 ),
R提供 修改量 (可变 );适于处理一维数组。
基址,指令提供 位移量 (不变 ),
R提供 基准量 (可变 );用于扩大有限字长指令的访存空间。
S =((RX)+(Rb)+ D)
格式
● 基址加变址变址寄存器号指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
位移量操作码 θ RX Rb D
基址寄存器号便于处理两维数组。
格式
● 相对寻址指令给出位移量,PC内容与位移量之和为有效地址。 位移量操作码 θ PC ± D
或隐含指定
S =((PC)± D)
有效地址相对
PC上下浮动,给编程带来方便 。
格式
● 页面寻址指令给出位移量,PC的高位部分 与位移量拼接,形成有效地址。
位移量操作码 θ PC D
或隐含指定
S =((PC)H,D)
例,M为 64KB,划分为 256页,每页 256B。
页号 页内地址用于页式管理存储系统。
寻址速度快,适于组织程序模块,
有效利用存储空间。
PC
0165H 7C
...
...
...017CH S
2,对寻址方式的说明
( 1)操作码隐含说明不同寻址方式例,某机指令操作码最高两位
00,RR型指令,寄存器 -寄存器寻址
01,RX型指令,寄存器 -变址寻址
10,SI型指令,基址 -立即寻址
11,SS型指令,基址 -基址寻址
( 2)指令中设置专门字段说明寻址方式例,某机指令的每个地址字段中各设置一个
3位的寻址方式字段。
操作码 θ 寻址方式 R 寻址方式 R
源地址字段 目的地址字段
3位3位
2.2.3 指令类型
1.传送指令源地址 目的地址数设置时需考虑:
( 1)规定传送范围例,DJS-100系列:
80X86:
IBM370:
R M
R M,R R
R M,R R,M M
( 2)指明传送单位例,用操作码说明 (VAX-11):
用地址量说明 (80X86):
传送次数由计数器控制
MOVB
8
MOV AX,BX (16)
MOVW
16
MOVL
32
MOV AL,BL (8)
MOV EAX,EBX (32)
例,80X86的串传送指令,REP MOVSW
( 3)设置寻址方式在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。
2.输入 /输出指令各种信息主机 外设设置时需考虑:
( 1) I/O指令的功能扩展如何用通用 I/O指令实现对各种具体设备的控制?
● I/O指令中留有扩展余地指令中某些字段编码事先不定义,需要时再约定其含义。
● I/O接口中设置控制 /状态寄存器用于外设种类、数量不多的场合。
( 2)主机对外设的寻址方式如何设置控制 /状态寄存器是接口设计的关键。
寻找 I/O接口中的寄存器的方式。
主机用 输出指令 或 传送指令 将具体设备的控制命令按约定的代码格式送往接口中的 控制寄存器,向外设发出命令。
外设的状态信息也以某种格式放在接口的状态寄存器中,主机用 输入指令 或 传送指令 从 状态寄存器 中取出有关信息进行查询、分析。
I/O端口接口中的寄存器 的方式。
如何为 I/O端口分配地址?
● 单独编址
I/O地址空间不占主存空间,可与主存空间重叠。
=1 访问存储器
=0 访问 I/O端口需设置标志区分访问对象,如编址到寄存器,为每个寄存器 (I/O端口 )分配独立的端口地址;
I/O指令中给出端口地址。
M/IO
● 统一编址
I/O端口占据部分主存空间。
常将存储空间的低端分配给主存单元,高端分配给 I/O端口,以示区分。
编址到寄存器
● 设置 专用 I/O指令针对单独编址,用 I/O指令访问 I/O端口。
指令中说明输入 /输出操作,并给出端口地址。
:为每个寄存器 (I/O端口 )分配总线地址;
访问外设时,指令中给出总线地址。
( 3) I/O指令设置方式显式 I/O指令例,80X86I/O指令设置输入,IN AL,n;
端口地址
(n) AL (直接端口寻址 )
IN AL,DX;
间接端口地址
((DX)) AL(间接端口寻址 )
输出,OUT n,AL; (AL) n (直接端口寻址 )
OUT DX,AL; (AL) (DX)(间接端口寻址 )
主机调用输入机:
● 用 传送指令 实现 I/O操作针对统一编址,用传送指令访问 I/O端口。
不设专用 I/O指令。
例,某机 I/O接口中设置控制 /状态寄存器 CSR,其总线地址为 177550(8进制 )
数据缓冲寄存器 DBR,其总线地址为 177552
隐式 I/O指令控制 /状态字格式:
出错 故障 忙 完成 允许中断 维护 校验 启动
15 14 12 7 6 2 1 0
启动:
测试:
取数:
主机 177550控制字 (启动位为 1)传送指令主机 177550状态字传送指令主机 177552数据传送指令
● 通过 I/O处理机进行 I/O操作
CPU执行简单 I/O指令
(启动、停止、查询、清除 )
设置时需考虑 操作数类型,符号,进制 等;
运算结束后设置相应 状态标志 。
两级 I/O指令
( 1)算术运算指令
I/O处理机执行 I/O操作指令
(输入、输出 …… )
3.算术逻辑运算指令
( 2)逻辑运算指令实现对代码位的 设置,测试,清除,修改 等。
与或 异或控制程序流程。
( 1)转移指令
4,程序控制指令
( 2)转子指令与返回指令转子:操作码 子程序入口无条件转移条件转移循环
:操作码 转移地址
:操作码 转移地址 转移条件
:转移条件为循环计数值返回:操作码 返回地址同一条返回指令应能提供多个不同的返回地址。
返回地址的存取,用堆栈存放返回地址。
( 3)软中断指令 程序自陷指令第二章复习提纲
1.I/O指令的功能扩展 (目的、方法 ),外设编址方式和指令设置方式。
2.基本概念:扩展操作码 (扩展方法 )、地址结构
(简化方法 )、隐地址、显地址、基本寻址方式 (立即、直接、间址、变址 )的含义与应用场合。
表示不同的功能调用
…
调试程序 ………
早期主要用于 程序的调试 。
现在常常用于 系统功能调用 。
以 INT n 的形式出现在程序中。
2.1.1 定点表示法无符号数定点整数定点小数
00000000~ 11111111 0~ 255
11111111 ~ 01111111原 原 -127~ 127
补10000000 ~ 01111111 补 -128~ 127
1.1111111 ~ 0.1111111原 原 -(1-2-7)~ (1-2-7)
1.0000000 ~ 0.1111111补 补 -1~ (1-2-7)
1
2-7
E
浮点数真值,N = + R × M
阶码
Ef E1 … Em Mf M1 … Mn浮点数机器格式:
尾数阶符 数符
R:阶码底,隐含约定。
E:阶码,为定点整数,补码或移码表示。
其 位数 决定 数值范围 ; 阶符 表示 数的大小 。
M:尾数,为定点小数,原码或补码表示。
其 位数 决定 数的精度 ; 数符 表示 数的正负 。
尾数规格化,1/2≤ M < 1 最高有效位绝对值为 1
2.1.2 浮点表示法
1,格式
2,表示范围与精度表示范围,-231~ 231 (1-2-9)
例,某规格化浮点数用补码表示,其中阶码 6位,含 1位阶符;尾数 10位,含 1位数符。
阶符 1位,阶码 m位,补码表示,以 2为底;
数符 1位,尾数 n位,补码表示,规格化。
最小浮点数,
最大浮点数,
最小浮点正数,
阶码为最大数,2 -1m
尾数为绝对值最大的负数,-1
尾数为最大数:
阶码为最大数,2 -1m
1-2-n
阶码为最小数,-2m
尾数为最小正数,2-1
表示精度,2-33
第二节 指令信息的表示指令:指示计算机执行某类操作的信息的集合。
本节主要讨论:一般 指令格式常用 寻址方式面向用户 指令类型
2.2.1 指令格式指令基本格式 操作码 θ 地址码 D
一个 一个或几个
1,指令字长定长指令格式变长指令格式便于控制
( 1) 定长操作码各指令 θ 的位置、位数固定相同。
( 2)扩展操作码各指令 θ 的位置、位数不固定,根据需要变化。
合理利用存储空间
2,操作码结构关键在设置扩展标志。
例,指令字长 16位,可含有 3,2,1或 0
个地址,每个地址占 4位。
操作码 地址码
15~ 12 11~ 8 7 ~ 4 3 ~ 00000 X Y Z
1110 X Y Z
...,..,..,..
1111 0000 Y Z
1111 1110 Y Z
...,..,..,..
三地址指令 15条二地址指令 15条
1111 1111 0000 Z
1111 1111 1110 Z
...,..,..,.,一地址指令 15条
1111 1111 1111 0000
1111 1111 1111 1111
...,..,..,.,零地址指令 16条
( 3)复合型操作码操作码分为几部分,每部分表示一种操作。
例,某机算逻指令
3,地址结构
0 1 2 3 4 5 6 7 8 15
基本操作 进位 移位 回送 判跳 操作数指令中提供的地址数 存储单元地址码寄存器编号
( 1)指令提供地址的方式显地址方式隐地址方式
:指令中明显指明地址。
:地址隐含约定,不出现在指令中。
直接或间接给出
( 2) 地址结构的简化操作数地址
● 四地址结构指令格式:
使用 隐地址 可以减少指令中的地址数,简化地址结构 。
θ D1 D2 D3 D4
结果地址 下条指令地址功能,(D1)θ (D2) D3
(D4) 下条指令用指令计数器 PC指示指令地址。
● 三地址结构指令格式:
操作数地址
θ D1 D2 D3
结果地址下条指令地址功能:
转移时,用转移地址修改 PC内容。
(D1)θ (D2) D3
(PC) + 1 PC
源 /目的
● 二地址结构指令格式,θ D1 D2
目的 /源功能,(D1)θ (D2) D2/D1
(PC) + 1 PC
双操作数:
● 一地址结构指令格式,θ D1 隐含约定单操作数:
功能:
● 零地址结构指令格式:
(D1)θ (A) A
(PC) + 1 PC
θ (D1) D1
(PC) + 1 PC
θ
功能,用于堆栈或特殊指令操作。
例,ADD;
执行前:
低SP 10
20
46
SP 30
46
执行后:
高低高
2.2.2 寻址方式是指 寻找操作数地址或操作数的方式 。
操作码 θ 立即数 S
( 1) 立即寻址指令直接给出操作数。
1,常见寻址方式定长格式:
变长格式,基本指令立即数 S
数在指令中,
其长度固定、
有限。
数在基本指令之后,其长度可变。
用来提供常数、设置初值等。
操作码 θ 有效地址 D
( 2) 直接寻址指令直接给出操作数地址。
存储单元号寄存器号
(数在 M中 )
(数在 R中 )
● 存储器直接寻址 (直接寻址)
定长格式 D的位数有限,限制访存范围变长格式 基本指令
DL
DH
D的位数可覆盖整个存储空间
S =( D)
操作码 θ 寄存器号 R
存储单元号寄存器号
(数在 M中 )
(数在 M中 )
● 寄存器直接寻址 (寄存器寻址)
格式 R所占位数少;访问 R比访问 M快格式
S =( R)
用于访问固定的存储单元或寄存器。
( 3)间接寻址指令给出操作数的间接地址。
● 存储器间址操作码 θ 间接地址 D
D=0030 0060...
0060 S...
S =((D))
M
间址单元地址指针操作码 θ 寄存器号 R
● 寄存器间址格式
R所占位数少; R可提供全字长地址码;
修改 R内容比修改 M内容快。
格式
S =((R))
指针不变 (由指令指定 ),指针内容可变,使同一指令可指向不同存储单元,以实现 程序的循环,共享,
并 提供转移地址 。
● 堆栈寻址操作码 θ 堆栈指针 SP
SP,..
S...S =((SP))
M
R=02
M
0040
0040 S
...
...
...
地址指针
0070
...
栈顶格式
SP既可出现在 指令中,也可隐含约定。
● 变址寻址
( 4)变址、基址寻址及其变化
SP 栈顶
M
S
...
......
低高堆栈向上生成压栈,SP自动减 1,再存数。
-(SP),自减型间址 。
先取数,SP再自动加 1。
(SP)+,自增型间址 。
出栈:
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
操作码 θ RX D
D的位数有限,若不能提供全字长地址码,会使访存空间受到限制 。
变址寄存器号例,用变址方式访问一组连续区间内的数组元素。
S =((RX)+ D)
D=首址D为存储区首址;(RX)为所访单元距离首址的长度;
RX初值为 0,每访问一个单元,(RX)+1。
格式 操作码 θ RX D
形式地址修改量 基准地址
n-1
...
0
1
2...
D+1D+2
D+n-1
...
格式
( D的位数只需覆盖一个较小的存储区间)
● 基址寻址基址寄存器号 Rb
4K
指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
操作码 θ Rb D
位移量
S =((Rb)+ D)
基准地址 相对于基址的位移
M
...
...
…...
…...
Rb
4K改变 Rb的内容,程序能访问存储空间中任何一个定长区间 (4K)。
便于访问两维数组中某类指定的元素。
4K
4K
Rb M
...
...
…...
…...
Rb
D=2
D=2
学生姓名性别性别年龄年龄学生姓名变址与基址的区别:
变址,指令提供 基准量 (不变 ),
R提供 修改量 (可变 );适于处理一维数组。
基址,指令提供 位移量 (不变 ),
R提供 基准量 (可变 );用于扩大有限字长指令的访存空间。
S =((RX)+(Rb)+ D)
格式
● 基址加变址变址寄存器号指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。
位移量操作码 θ RX Rb D
基址寄存器号便于处理两维数组。
格式
● 相对寻址指令给出位移量,PC内容与位移量之和为有效地址。 位移量操作码 θ PC ± D
或隐含指定
S =((PC)± D)
有效地址相对
PC上下浮动,给编程带来方便 。
格式
● 页面寻址指令给出位移量,PC的高位部分 与位移量拼接,形成有效地址。
位移量操作码 θ PC D
或隐含指定
S =((PC)H,D)
例,M为 64KB,划分为 256页,每页 256B。
页号 页内地址用于页式管理存储系统。
寻址速度快,适于组织程序模块,
有效利用存储空间。
PC
0165H 7C
...
...
...017CH S
2,对寻址方式的说明
( 1)操作码隐含说明不同寻址方式例,某机指令操作码最高两位
00,RR型指令,寄存器 -寄存器寻址
01,RX型指令,寄存器 -变址寻址
10,SI型指令,基址 -立即寻址
11,SS型指令,基址 -基址寻址
( 2)指令中设置专门字段说明寻址方式例,某机指令的每个地址字段中各设置一个
3位的寻址方式字段。
操作码 θ 寻址方式 R 寻址方式 R
源地址字段 目的地址字段
3位3位
2.2.3 指令类型
1.传送指令源地址 目的地址数设置时需考虑:
( 1)规定传送范围例,DJS-100系列:
80X86:
IBM370:
R M
R M,R R
R M,R R,M M
( 2)指明传送单位例,用操作码说明 (VAX-11):
用地址量说明 (80X86):
传送次数由计数器控制
MOVB
8
MOV AX,BX (16)
MOVW
16
MOVL
32
MOV AL,BL (8)
MOV EAX,EBX (32)
例,80X86的串传送指令,REP MOVSW
( 3)设置寻址方式在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。
2.输入 /输出指令各种信息主机 外设设置时需考虑:
( 1) I/O指令的功能扩展如何用通用 I/O指令实现对各种具体设备的控制?
● I/O指令中留有扩展余地指令中某些字段编码事先不定义,需要时再约定其含义。
● I/O接口中设置控制 /状态寄存器用于外设种类、数量不多的场合。
( 2)主机对外设的寻址方式如何设置控制 /状态寄存器是接口设计的关键。
寻找 I/O接口中的寄存器的方式。
主机用 输出指令 或 传送指令 将具体设备的控制命令按约定的代码格式送往接口中的 控制寄存器,向外设发出命令。
外设的状态信息也以某种格式放在接口的状态寄存器中,主机用 输入指令 或 传送指令 从 状态寄存器 中取出有关信息进行查询、分析。
I/O端口接口中的寄存器 的方式。
如何为 I/O端口分配地址?
● 单独编址
I/O地址空间不占主存空间,可与主存空间重叠。
=1 访问存储器
=0 访问 I/O端口需设置标志区分访问对象,如编址到寄存器,为每个寄存器 (I/O端口 )分配独立的端口地址;
I/O指令中给出端口地址。
M/IO
● 统一编址
I/O端口占据部分主存空间。
常将存储空间的低端分配给主存单元,高端分配给 I/O端口,以示区分。
编址到寄存器
● 设置 专用 I/O指令针对单独编址,用 I/O指令访问 I/O端口。
指令中说明输入 /输出操作,并给出端口地址。
:为每个寄存器 (I/O端口 )分配总线地址;
访问外设时,指令中给出总线地址。
( 3) I/O指令设置方式显式 I/O指令例,80X86I/O指令设置输入,IN AL,n;
端口地址
(n) AL (直接端口寻址 )
IN AL,DX;
间接端口地址
((DX)) AL(间接端口寻址 )
输出,OUT n,AL; (AL) n (直接端口寻址 )
OUT DX,AL; (AL) (DX)(间接端口寻址 )
主机调用输入机:
● 用 传送指令 实现 I/O操作针对统一编址,用传送指令访问 I/O端口。
不设专用 I/O指令。
例,某机 I/O接口中设置控制 /状态寄存器 CSR,其总线地址为 177550(8进制 )
数据缓冲寄存器 DBR,其总线地址为 177552
隐式 I/O指令控制 /状态字格式:
出错 故障 忙 完成 允许中断 维护 校验 启动
15 14 12 7 6 2 1 0
启动:
测试:
取数:
主机 177550控制字 (启动位为 1)传送指令主机 177550状态字传送指令主机 177552数据传送指令
● 通过 I/O处理机进行 I/O操作
CPU执行简单 I/O指令
(启动、停止、查询、清除 )
设置时需考虑 操作数类型,符号,进制 等;
运算结束后设置相应 状态标志 。
两级 I/O指令
( 1)算术运算指令
I/O处理机执行 I/O操作指令
(输入、输出 …… )
3.算术逻辑运算指令
( 2)逻辑运算指令实现对代码位的 设置,测试,清除,修改 等。
与或 异或控制程序流程。
( 1)转移指令
4,程序控制指令
( 2)转子指令与返回指令转子:操作码 子程序入口无条件转移条件转移循环
:操作码 转移地址
:操作码 转移地址 转移条件
:转移条件为循环计数值返回:操作码 返回地址同一条返回指令应能提供多个不同的返回地址。
返回地址的存取,用堆栈存放返回地址。
( 3)软中断指令 程序自陷指令第二章复习提纲
1.I/O指令的功能扩展 (目的、方法 ),外设编址方式和指令设置方式。
2.基本概念:扩展操作码 (扩展方法 )、地址结构
(简化方法 )、隐地址、显地址、基本寻址方式 (立即、直接、间址、变址 )的含义与应用场合。
表示不同的功能调用
…
调试程序 ………
早期主要用于 程序的调试 。
现在常常用于 系统功能调用 。
以 INT n 的形式出现在程序中。