农学院微机原理第四章

合集下载

微机原理课件 清华大学冯博琴微机原理第4章 汇编语言程序设计

微机原理课件 清华大学冯博琴微机原理第4章 汇编语言程序设计

六、完整结构
DATA SEGMENT X DB 3 数据段 Y DB 5 DATA ENDS STACK SEGMENT STACK ‘STACK’ 堆栈段 DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE, DS: DATA, SS:STACK 分配段寄存器 BEGIN PROC FAR PUSH DS 将PSP首址压栈, XOR AX, AX 主过程名 以便返回DOS PUSH AX MOV AX, DATA 设置DS段寄存器内容 MOV DS, AX …… …… 返回DOS RET BEGIN ENDP 源程序结束,第 CODE ENDS 一条指令的地址 END BEGIN
DOS的指令是操作系统中的一个子程序,用
户使用时应调用这个子程序。
每当一个用户的可执行文件.EXE装入内存后,存储器的 分配情况如图: 00000H
系统占用 程序段前缀 用户数据区
DS,ES
SS CS
100个字节
用户堆栈区 用户代码段 …… ……
用户程序空间
FFFFFH
系统和 ROM占用
无论用户程序有几段,也无论这些段 的排列顺序如何,用户程序的代码前 一定有100个字节的程序段前缀 (Program Segment Prefix, 简称PSP), PSP给出了用户的可执行文件(.EXE) 的若干控制信息。其中PSP的开始处 (第1,2字节)有一条中断指令INT 20H 的代码,这条指令的功能是结束用户 程序,返回操作系统。在用户程序执 行完以后,通过执行该条指令就可以 返回DOS。
DS:0000H
41H 42H 43H ……
B数据段
DS:0000H
44H 45H 46H ……

微机原理第4章,清华大学第二版

微机原理第4章,清华大学第二版


40
组合类型

与其它模块中的同名段在满足定位类型的前提 下具有的组合方式:

NONE:
PUBLIC:
不组合
依次连接(顺序由LINK程序确定)
COMMON: 覆盖连接
STACK:
堆栈段的依次连接
AT 表达式:段定义在表达式值为段基的节边界 MEMORY: 相应段在同名段的最高地址处。

说明逻辑段的起始和结束;
说明不同程序模块中同类逻辑段之间的联系形 态
38
段定义伪指令格式
段名 SEGMENT [定位类型] [组合类型] [’类别’]

段名 ENDS
说明逻辑 段的起点
说明不同模块中同名 段的组和连接方式
39
定位类型

PARA: 段的起点从节边界开始
(16个字节为1节) BYTE: 段的起点从存储器任何地址开始 WORD:段的起点从偶地址开始 PAGE: 段的起点从页边界开始 (256个字节为1页)
第4章
汇编语言程序设计
1
主要内容

汇编语言源程序的结构 汇编语言语句格式 伪指令 功能调用 汇编语言程序设计
2
§4.1 汇编语言源程序
了解:

汇编语言源程序的结构

汇编语言语句类型及格式
3
一、汇编语言源程序结构
4
1. 汇编语言源程序与汇编程序

汇编语言源程序 汇编程序
用助记符编写 源程序的编译程序
47
六、过程定义伪指令

用于定义一个过程体
格式:
┇ RET
过程入口的 符号地址
过程名 PROC [ NEAR / FAR ]

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H

微机原理第四章1

微机原理第四章1

例:
N1 DB 15H, 36H N2 DW 1122H, 3344H LO: MOV AX, WORD PTR N1 ;使N1类型转换成字与AX类型匹配 MOV BL, BYTE PTR N2 ;使N2类型转换成字节与BL类型匹配
5)其它运算符
• 方括号[ ]。 指令中用方括号表示存储器操作数, 方括号里的内容表示操作数的偏移地址。 • 段重设运算符“:”。 运算符“:”跟在某个段寄存器名 (DS、ES、SS)之后表示段重设。 MOV AX, ES:[DI]
– – – – MOV AH, NOT 0FFH MOV BH, 8CH AND 77H MOV AL, 8CH OR 73H MOV BL, 0FFH XOR 44H
• 汇编时,计算表达式形成指令为:
MOV AH, 00H MOV BH, 04H MOV AL, 0FFH MOV BL, 0BBH
data string cr data stack
stack code start begin:
start code
name length_of_string segment db ‘abcduvwxyz’,0dh ;0DH为回车(CR) equ 0dh ends segment para stack’stack’ db 100 dup(?) ends segment assume cs:code,ds:data, ss:stack,es:data proc far push ds ;DS中包含程序段前缀起始地址 mov ax, 0 push ax …… endp ends end begin
• 字符串常量
• 例:‘A’
– MOV AL,’A’
• 例:’ABCD’
汇编时被译成对应的ASCII 码41H,42H,43H,44H

微机原理-第4章-赵春文

微机原理-第4章-赵春文
00000H SS SP
AH 12H AL 34H 78H 56H 34H 12H
例:PUSH AX
50000H
栈顶
SP SP
50100H FFFFFH
例:PUSH BX ;BX=5678H
二、堆栈指令
• (2)出栈指令 指令格式: POP DST 指令功能: (SP)→ (DST)L (SP+1) → (DST)H ;SP+2 → SP
DS:SI
‘a’ ‘b’ ‘c’
例如:字节串传送指令 MOVSB 的作用是: (DS:SI)→(ES:DI)
… …
ES:DI
‘a’ ‘b’ ‘c’ …
4.3 8086/8088指令系统
• 8086/8088指令系统指令类型
8086/8088指令按操作数地址个数划分为三 种类型: 1.双操作数指令:OPR DST,SRC 2.单操作数指令:OPR DST 3.无操作数指令:OPR
4.2.3 存储器寻址
• 有效地址EA是由三个地址分量的某种组合 (1)位移量:指令代码中的一个8/16位二进制数 (2)基地址:BX或BP的内容 (3)变址量:SI或DI的内容 • 根据三个地址分量的不同组合,有4种不同的存储器寻 址方式: – 1、直接寻址方式 – 2、寄存器间接寻址 – 3、寄存器相对寻址 – 4、基址+变址寻址
4.2.3 存储器寻址
• 存储器寻址方式 – 上述两种寻址方式,操作数在寄存器或指令中。以 下几种寻址方式,操作数在存储器中 – 在汇编语言中,存储单元地址使用逻辑地址: 段基址:偏移量 – 通常汇编指令中,不直接给出提供段基址的段寄存 器名,而是执行指令时使用隐含来源。如DS提供段 基址。因此,存储器寻址方式,主要讨论如何形成 操作数逻辑地址的偏移量。 – 有效地址:按指令中存储器寻址方式计算得到的偏 移量,称为有效地址EA。

微型计算机原理-第4章(6)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(6)微机原理与接口技术(第三版)(王忠民)
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第六讲) 第一章 微型计算机系统导论(第一讲)
本节主要内容
1 逻辑类指令
第四章 80x86 指令系统—逻辑类指令
逻辑类指令
1. 逻辑运算指令 逻辑运算类指令与算术运算指令不同,算术指令是按字节或 字进行算术运算,而逻辑运算指令是把操作数按位来进行逻辑运算。
操作功能
CF
ds
t
CF
ds
t
0
ds
t ds
t
标志位影响
OS Z A PC 0 ○○○×○○
×○○×○○
0
○ ×
○ ○
○ ○
× ×
○ ○
○ ○
CF
○○○×○○ ×○○×○○
CF
○ ×
○ ○
○ ○
× ×
○ ○
○ ○
第四章 80x86 指令系统—逻辑类指令
说明: ⑴ 逻辑移位适用于无符号数,算术移位适用于有符号数。 ⑵ 逻辑左移和算术左移的机器码完全相同,是助记符的两种 写法。
第四章 80x86 指令系统—逻辑类指令
指令格式
AND dst, src OR dst, src
NOT dst XOR dst , src TEST dst, src
操作功能
(dst) ←(dst) (src)
(dst) ←(dst) (src) (dst) ← 0FFH-(dst))
CF CF
ds t
ds t ds
t ds t
CF CF
标志位影响
OSZ A PC
○○○×○○ ×○○×○○
○○○×○○ ×○○×○○ ○○○×○○ ×○○×○○ ○○○×○○ ×○○×○○

微机原理第四章

微机原理第四章

微机原理第四章在微机原理的学习中,第四章是一个非常重要的环节,本章主要介绍微机的输入输出系统。

输入输出系统是微机系统中的一个重要组成部分,其功能是将外部设备与微机系统相连,并进行数据的输入和输出。

本章将从输入输出系统的基本原理、输入输出接口、输入输出设备等方面进行介绍,帮助读者全面了解微机的输入输出系统。

首先,我们来介绍一下输入输出系统的基本原理。

输入输出系统是微机系统与外部设备进行数据交换的桥梁,它的主要功能是实现数据的输入和输出。

在微机系统中,CPU通过输入输出系统与外部设备进行通信,实现数据的交换和传输。

输入输出系统一般由输入输出接口和输入输出设备两部分组成,输入输出接口是连接CPU 和输入输出设备的桥梁,输入输出设备是实现数据输入输出功能的设备。

其次,我们将介绍输入输出接口的相关知识。

输入输出接口是连接CPU和输入输出设备的关键部件,它起着数据传输和转换的作用。

输入输出接口一般由接口芯片和接口电路组成,接口芯片是实现数据传输和控制的核心部件,接口电路是实现数据转换和信号调节的重要部分。

在微机系统中,输入输出接口起着非常重要的作用,它直接影响着输入输出系统的性能和稳定性。

接着,我们将介绍一些常见的输入输出设备。

输入输出设备是实现数据输入输出功能的设备,常见的输入设备有键盘、鼠标、扫描仪等,常见的输出设备有显示器、打印机、音响等。

输入输出设备在微机系统中起着非常重要的作用,它们直接影响着用户与微机系统的交互体验。

在选择输入输出设备时,需要根据实际需求和使用环境进行合理选择,以确保输入输出系统的正常运行和高效工作。

最后,我们将介绍一些输入输出系统的优化方法。

在实际应用中,为了提高输入输出系统的性能和稳定性,可以采取一些优化措施,例如优化接口设计、优化设备选择、优化数据传输方式等。

通过合理的优化措施,可以有效提高输入输出系统的工作效率和响应速度,提升用户体验和系统稳定性。

综上所述,微机原理第四章主要介绍了微机的输入输出系统,包括输入输出系统的基本原理、输入输出接口、输入输出设备和优化方法等内容。

微机原理微机原理讲义第4章课件

微机原理微机原理讲义第4章课件

Rambus内存条模块(Rdram)
7
存储器分类 随着计算机系统结构的发展和器件的发展,存
储器的种类日益繁多,分类的方法也有很多种
1)按构成存储器的器件和存储介质分类
存储器
磁芯存储器 半导体存储器 光电存储器 磁膜,磁泡存储器 光盘存储器
从理论上讲,只要有两个明显稳定的物理状态的器件和介
质都能用来存储二进制信息。
Y6
Y7
输入
输出
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
00 0 01 111 111
00 1 10 111 111
01 0 11 011 111
01 1 11 101 111
10 0 11 110 111
10 1 11 111 011
11 0 11 111 101
11 1 11 111 110
微型计算机原理及应用
1
第四章 存储器是核心组成部分之一。因为 有了它,计算机才具有“记忆”功能,才能把程序及数据 的代码保存起来,才能使计算机系统脱离人的干预,而自 动完成信息处理的功能。
存储器的性能指标有:容量、速度和成本。
容量:指存储器所包含的存储单元的总数
4
在计算机系统中常采用三级存储器结构
Cache存储器
内存储器
主存储器(RAM和ROM)(使用半导体存储器芯片)
外存储器(软盘、硬盘、光盘) 后备存储器(磁带、光盘)
外存储器 (辅助存储器)
从整体看,其速度接近高速缓存的速度,其容量
接近辅助存储器的容量,而位成本接近廉价慢速
辅存的平均价格。
5
6
单列直插式内存条
半导体 存储器
掩膜ROM(Mask ROM)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章:非法指令--无法确定是字节量还是字量操作
当无法通过任一个操作数确定操作类型时,
需要利用汇编语言的操作符显式指明 MOV [BX+SI], 255 ;非法指令,修正: ;mov byte ptr [bx+si],255 ;byte ptr 说明是字节操作 ;mov word ptr [bx+si],255 ;word ptr 说明是字操作
reg seg
代表r8或r16 段寄存器CS、DS、ES、SS
第4章:操作数的表达符号(2) 操作数符号 含义(寻址方式) m8 一个8位存储器操作数单元(包括所有主存 寻址方式) m16 一个16位存储器操作数单元(包括所有主存 寻址方式) mem dest src 代表m8或m16 目的操作数 源操作数
第4章:相对寻址方式中的位移量
在寄存器相对和相对基址变址寻址方式中,其位
移量不仅可用常量表示,也可用符号表示 这个符号可以是变量名,例如WVAR变量,而且 支持多种表达形式
MOV AX, [DI+WVAR] ; ;等同于 MOV AX, WVAR[DI] MOV AX,[BX+SI+WVAR] ;等同于 MOV AX, [SI+WVAR] ;等同于 MOV AX, WVAR[BX+SI] ;等同于 MOV AX, WVAR[BX][SI]
提供方便灵活的通用传送操作 有3条指令 MOV XCHG MOV XLAT
XCHG XLAT
第4章:1. 传送指令MOV(move)
把一个字节或字的操作数从源地址传 送至目的地址
MOV reg/mem,imm ;立即数送寄存器或主存 MOV reg/mem/seg,reg ;寄存器送(段)寄存器或主存 MOV reg/seg,mem ;主存送(段)寄存器 MOV reg/mem,seg ;段寄存器送寄存器或主存
;AX←DS:[2000H]
演示
MOV AX, ES: [2000H] ;AX←ES:[2000H]
第4章:2. 寄存器间接寻址方式
有效地址存放在基址寄存器BX或变址寄存 器SI、DI中 默认的段地址在DS段寄存器,可使用段超 越前缀改变 MOV AX, [BX] ;AX←DS:[BX]
演示
第4章:3. 寄存器相对寻址方式
第4章:非法指令--两个操作数都是存储器
8086指令系统除串操作指令外,不允许两个操作
数都是存储单元(存储器操作数) MOV buf2, buf1 ;非法指令,修正: ;假设buf2和buf1是两个字变量 ;mov ax,buf1 ;mov buf2,ax ;假设buf2和buf1是两个字节变量 ;mov al,buf1 ;mov buf2,al
mov [si],ds mov ax,ds mov es,ax
;ax←ds ;es←ax←ds
对段寄存器的操作不灵活
第4章:MOV指令传送功能图解
立即数
存 储 器
MOV指令也并非任意传送! 通用寄存器 AX BX CX DX BP SP SI DI
段寄存器 CS DS ES SS
非法指令的主要现象: 两个操作数的类型不一致 无法确定是字节量还是字量操作 两个操作数都是存储器 段寄存器的操作有一些限制
第4章:2. 交换指令XCHG(exchange)
把两个地方的数据进行互换
XCHG reg,reg/mem ;reg reg/mem
寄存器与寄存器之间对换数据
寄存器与存储器之间对换数据
演示
不能在存储器与存储器之间对换数据
第4章:例4.2 数据交换
mov ax,1199h ;ax=1199h xchg ah,al ;ax=9911h ;等同于 xchg al,ah mov wvar,5566h ;wvar是一个字量变量 xchg ax,wvar ;ax=5566h,wvar=9911h ;等同于 xchg wvar,ax xchg al,byte ptr wvar+1 ;ax=5599h,wvar=6611h ;“byte ptr wvar+1”强制为字节量,只取高字 节与AL类型交换,否则数据类型不匹配
演示
第4章:MOV指令--立即数传送
MOV CL,4 ;CL←4,字节传送 MOV DX,0ffH ;DX←00ffH,字传送 MOV SI,200H ;SI←0200H,字传送 MOV bvar,0aH ;字节传送 ;假设bvar是一个字节变量,定义如下:bvar DB 0 MOV wvar,0bH ;字传送 ;假设wvar是一个字变量,定义如下:wvar DW 0
1、直接寻址方式 2、寄存器间接寻址方式 3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式
第4章:1. 直接寻址方式
直接寻址方式的有效地址在指令中直接给出 默认的段地址在DS段寄存器,可使用段超越前 缀改变 用中括号包含有效地址,表达存储单元的内容
MOV AX, [2000H]
明确指令是字节操作还是字操作 以字母开头的常数要有前导0
第4章:MOV指令--寄存器传送
mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov [bx],al
;ah←al,字节传送 ;bvar←ch ,字节传送 ;ax←bx,字传送 ;ds←ax,字传送 ;[bx]←al,字节传送
寄存器具有明确的字节和字类型
第4章:MOV指令--存储器传送
mov al,[bx] mov dx,[bp] mov dx,[bp+4] mov es,[si]
;al←ds:[bx] ;dx←ss:[bp+0] ;dx←ss:[bp+4] ;es←ds:[si]
不存在存储器向存储器的传送指令
第4章:MOV指令--段寄存器传送
掌握操作数的寻址方式后,进入指令学习
第4章:4.2 数据传送类指令
数据传送是计算机中最基本、最重要的一种操作, 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握
MOV XCHG XLAT PUSH POP LEA
第4章: 4.2.1 通用数据传送指令
第4章:非法指令--段寄存器的操作有一些限制
8086指令系统中,能直接对段寄存器操作的指令
只有MOV等个别传送指令,并且不灵活 MOV DS, ES ;非法指令,修正: ;mov ax,es ;mov ds,ax MOV DS, 100H ;非法指令,修正: ;mov ax,100h ;mov ds,ax MOV CS, [SI] ;非法指令 ;指令存在,但不能执行
有效地址是寄存器内容与有符号8位或16位位移 量之和,寄存器可以是BX、BP或SI、DI 有效地址=BX/BP/SI/DI+8/16位位移量 段地址对应BX/SI/DI寄存器默认是DS,对应BP 寄存器默认是SS;可用段超越前缀改变
MOV AX, [SI+06H] MOV AX, 06H[SI]
;AX←DS:[SI+06H]
MOV指令
第4章:4.1.1 立即数寻址方式
指令中的操作数直接存放在机器代码中,紧跟在 操作码之后(操作数作为指令的一部分存放在操 作码之后的主存单元中) 这种操作数被称为立即数imm 可以是8位数值i8(00H~FFH) 也可以是16位数值i16(0000H~FFFFH) 立即数寻址方式常用来给寄存器和存储单元赋值, 多以常量形式出现
第4章:操作数的表达符号(1) 操作数符号 i8 i16 imm r8 r16 含义(寻址方式) 一个8位立即数 一个16位立即数 代表i8或i16 任意一个8位通用寄存器 AH, AL, BH, BL, CH, CL, DH, DL 任意一个16位通用寄存器 AX, BX, CX, DX, SI, DI, BP, SP
MOV AX, [BX+DI+6] ;AX←DS:[BX+DI+6]
演示
MOV AX, 6[BX+DI]
MOV AX, 6[BX][DI]
第4章:存储器寻址方式中的变量
变量指示内存中的数据,变量名具有地址属性。
存储器寻找方式中经常采用变量形式 变量的定义
WVAR DW 1234H ;定义16位变量WVAR,具有初值1234H ;假设其偏移地址为10H
第4章:指令的组成
操作码
操作数
指令由操作码和操作数两部分组成
操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分 操作数是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或两 个操作数,也有个别指令有3个甚至4个操作数
第4章:指令的助记符格式
演示
;AX←DS:[SI+06H]
第4章:4. 基址变址寻址方式
有效地址由基址寄存器(BX或BP)的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应BX基址寄存器默认是DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] MOV AX, [BX][SI]
;AX←DS:[BX+SI]
演示
;AX←DS:[BX+SI]
第4章:5. 相对基址变址寻址方式
有效地址是基址寄存器(BX/BP)、变址寄存器 (SI/DI)与一个8位或16位位移量之和: 有效地址=BX/BP+SI/DI+8/16位位移量 段地址对应BX基址寄存器默认是DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
第4章 8086的寻址方式 与指令系统
第4章:8086的寻址方式与指令系统-教学重点
8086的寻址方式 8086的基本指令
相关文档
最新文档