微机原理与接口技术第三章传送类指令
数据传送类指令

05
06
不允许直接向段寄存器传送立即数。
该指令不影响标志位。
06
数据传送类指令
例3-12
指出下列指令中的错误 (1)MOV [DI], [SI] (2)MOV DS, 1000H (3)MOV 2000H, AX
(1)两个操作数不能同时为存 储器操作数。
(2)不能直接向段寄存器传送 立即数,正确的指令应为:
(1)在CPU内部寄存器之间 进行数据传送。
例如,MOV BL, AL MOV BX, AX MOV DS, AX
(2)在CPU内部寄存器与存 储器之间进行数据传送。
例如,MOV AX, [1000H] MOV BX, [SI][BX] MOV DATA[BP], ES
(3)将立即数传送给寄存器。 例如,MOV AX, 1234H MOV SI, 1000H
例3-14
数据传送类指令
已知:(BX)=1122H,(DS)=3000H,(31000H)=1234H。执行指令: XCHG BX, [1000H] 源操作数的物理地址为:(DS)×16+1000H=31000H。 指令执行的结果为:(BX)=1234H,(31000H)=1122H。
要实现两个存储单元X与Y之间的数据交换, 可以执行如下指令:
数据传送类指令
例3-15 已知:(DS)=3000H,(32000H)=12H,(32001H)
=34H,(32002H)=56H,(32003H)=78H。执行指令: LDS SI, [2000H]
地址传送指令
1.5 输入输出指令
数据传送类指令
输入输出指令用于在I/O端口与CPU之间传送数据。
MOV AX, 1000H MOV DS, AX (3)立即数不能作为目的操 作数。
微机原理指令系统讲解

2012-3-21
10
四、寄存器间接寻址(Register Indirect 寄存器间接寻址 Addressing) MOV AX,[DI] 指令中的16位寄存器的内容不是操作数,而是 指令中的 位寄存器的内容不是操作数, 位寄存器的内容不是操作数 操作数的偏移地址,操作数本身则在存储器中。 操作数的偏移地址,操作数本身则在存储器中。 可用的寄存器有四个,分别是: 、 、 可用的寄存器有四个,分别是:SI、DI、BX 和BP,但如果使用不同的间址寄存器,则相 ,但如果使用不同的间址寄存器, 应的段寄存器有所不同
2012-3-21 23
一般传送指令MOV (Movement) ⑴ 一般传送指令 MOV dest,src ;(dest)←(src) ← 既可传送字节操作数( 位 既可传送字节操作数(8位),也可传送 字操作数( 位 字操作数(16位); 可使用本章讨论过的各种寻址方式; 可使用本章讨论过的各种寻址方式; 可实现以下各种传送: 可实现以下各种传送:
2012-3-21 26
堆栈操作指令PUSH和POP (Push ⑵ 堆栈操作指令 和 word onto stack, Pop word off stack) 堆栈是内存中一个特定的区域, 堆栈是内存中一个特定的区域,用以存放 寄存器或存储器中暂时不用但又必须保存 的数据。 的数据。
2012-3-21
2012-3-21 7
直接寻址: MOV AX,[3200H] 如果DS=5000H,则所 寻找的操作数的物理 地址: 5000H×10H+3200H =50000H+3200H =53200H
2012-3-21 8
段超越 : MOV BX,ES:[2100H]
2012-3-21
微机原理与接口技术知识点总结

微机原理与接口技术知识点总结(总18页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--微机原理与接口技术第一章概述二、计算机中的码制(重点)P51、对于符号数,机器数常用的表示方法有原码、反码和补码三种。
注意:对正数,三种表示法均相同。
它们的差别在于对负数的表示。
(1)原码定义:符号位:0表示正,1表示负;数值位:真值的绝对值。
注意:数0的原码不唯一(2)反码定义:若X<0,则 [X]反= 对应原码的符号位不变,数值部分按位求反(3)补码定义:若X<0,则[X]补= [X]反+12、8位二进制的表示范围:原码:-127~+127反码:-127~+127补码:-128~+1273、特殊数该数在原码中定义为: -0在反码中定义为: -127在补码中定义为: -128对无符号数:()2= 128三、信息的编码1、字符的编码P8计算机采用7位二进制代码对字符进行编码(1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。
(2)英文字母A~Z的ASCII码从1000001(41H)开始顺序递增,字母a~z的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。
第二章微机组成原理第一节、微机的结构1、计算机的经典结构——冯.诺依曼结构P11(1)微机由CPU(运算器和控制器)、存储器和I/O接口组成2、系统总线的分类(1)数据总线(Data Bus),它决定了处理器的字长。
(2)地址总线(Address Bus),它决定系统所能直接访问的存储器空间的容量。
(3)控制总线(Control Bus)第二节、8086微处理器1、8086,其内部数据总线的宽度是16位,16位CPU。
外部数据总线宽度也是16位8086地址线位20根,有1MB(220)寻址空间。
P272、8086CPU从功能上分成两部分:总线接口单元(BIU)、执行单元(EU)BIU:负责8086CPU与存储器之间的信息传送。
微机原理与接口技术:08第3章 寻址方式和指令系统3.3 习题3

交通信息与控制工程系教案(理论教学用)课程名称微机原理与接口技术第 8 次第 4 周 2 学时上课教室WM1310 课程类型专业基础课授课对象自动化专业章节名称第三章寻址方式和指令系统(3.3)教学目的和要求1.掌握8086的基本指令,如逻辑运算和移位指令、串操作指令、程序控制指令等。
讲授主要内容及时间分配1.逻辑运算和移位指令;(35min)2.串操作指令;(20min)3.程序控制指令;(25min)4.处理器控制指令。
(10min)教学重点与难点重点:1.逻辑运算和移位指令的基本功能和格式;2.串操作指令的基本功能和格式;3.程序控制指令的基本功能和格式。
难点:逻辑运算和移位指令的基本功能和格式。
要求掌握知识点和分析方法1.逻辑运算和移位指令的格式、功能及应用方法;2.串操作指令的格式、功能及应用方法;3.程序控制指令的格式、功能及应用方法。
启发与提问1.逻辑移位和算术移位指令的区别?教学手段多媒体+板书作业布置思考题:1.远跳转和近跳转的区别?3.2, 3.53.9, 3.113.12, 3.14主要参考资料备注讲授内容三、逻辑运算和移位类1.逻辑运算逻辑运算指令对操作数的要求大多与MOV指令相同。
逻辑运算是按位操作的,它包括AND(与)、OR (或)、NOT(非)、XOR(异或)和TEST(测试)指令。
除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF位无定义,SF、ZF和PF 根据运算结果设置。
“与”运算指令格式:AND OPRD1,OPRD2操作:两操作数相“与”,结果送目标地址。
【例】要屏蔽AL中的高4位。
AND AL,00001111B【例】AND AL,AL此指令执行前后,(AL)无变化,但执行后使标志位发生了变化,即CF=0,OF=0。
“或”运算指令格式:OR OPRD1,OPRD2操作:两操作数相“或”,结果送目标地址【例】(AL)=0FH,OR AL,10000000B(AL)=8FH【例】OR AL,AL指令执行前后,(AL)不变,但执行后标志位发生了变化,即CF=0,OF=0。
微机原理与接口技术第3章 80x86指令系统

52234H 89H (操作数低8位) 52235H 67H (操作数高8位)
……
运行结果:(AX) = 6789H
图3-11 基址变址寻址
图3-12 DEBUG下基址变址指令的输入、汇编及执行
5、相对基址变址寻址
EA = 基址 + 变址 + 位移量
例如:(DS)=5000H,(BX)=1234H,(SI)=1000H ,则: MOV AX,[BX+SI+2000H]
I/O端口寻址
间接端口寻址:采用这种寻址方式时,端口地址为16 位(0~0FFFFH)。
必须先将端口地址存放到寄存器DX中。
例如:
MOV DX,1000H ;端口地址为1000H OUT DX,AL ;间接端口寻址
小结
1. 立即寻址方式:MOV AX,0FF00H 2. 寄存器寻址方式: MOV DX,AX 3. 直接寻址方式: MOV AX,[2000H] 4. 寄存器间接寻址方式: MOV BX,[SI] 5. 寄存器相对寻址方式: MOV AL,COUNT[BX] 6. 基址变址寻址方式: MOV AX,[BX][SI] 7. 相对基址变址寻址方式:
SS
SP
栈顶(低地址)
堆 栈
已入栈 的数据
……
段
栈底(高地址)
图3-20 堆栈结构
➢ 指令格式:PUSH 16位/32位源操作数 POP 16位/32位目的操作数
源操作数:16位或32位通用寄存器、段寄存器或存储器操作 数
386以上系统允许PUSH指令的源操作数为立即数 目的操作数:16位或32位通用寄存器、段寄存器或存储器操 作数 只有386以上的处理器才能使用32位的操作数
微机原理与接口技术第3章(指令部分)

例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
南邮 微机原理(微型计算机与接口技术)复习ASM含部分答案

第三章 2。80486的工作模式:实地址模式和保护虚拟地址模式。 。 的工作模式: 的工作模式 实地址模式和保护虚拟地址模式。 80486的三个存贮地址空间:逻辑空间、线性空间和物理空间。 的三个存贮地址空间:逻辑空间、线性空间和物理空间。 的三个存贮地址空间 在实模式下,486只能访问第一个1M内存(00000H~FFFFFH) 在实模式下,486只能访问第一个1M内存(00000H FFFFFH) 只能访问第一个1M内存(00000H 逻辑空间=物理空间=1M(2 逻辑空间=物理空间=1M(220) 在保护模式下,486可以访问 可以访问4G(2 在保护模式下,486可以访问4G(232)物理存储空间 (0000,0000H~FFFF,FFFFH) (0000,0000H FFFF,FFFFH) 逻辑空间(虚拟空间)可达246=64T 逻辑空间(虚拟空间)可达2
bufdb11223344请修改下列指令movaxwordptrbufincbyteptrbx源目操作数不可同为内存操作数源目操作数属性一致长度相同当目标操作数为间址变址基址基变址的内存操作数而源操作数为单字节双字节立即数则目标操作数必须用ptr说明类型若操作数为间变基基变的内存操作数则必须用ptr说明类型对于单操作数指令如
第三章 1。基本结构寄存器的名称、位长和作用。 。基本结构寄存器的名称、位长和作用。 (1)通用寄存器 通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP (1)通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,EBP (2)段寄存器 段寄存器:CS,SS,DS,ES,FS,GS (2)段寄存器:CS,SS,DS,ES,FS,GS (3)指针寄存器 指针寄存器:EIP,ESP (3)指针寄存器:EIP,ESP (4)标志寄存器:EFLAG (4)标志寄存器:EFLAG 标志寄存器 15位标志分为两类 状态标志和控制标志 位标志分为两类:状态标志和控制标志 位标志分为两类 6种状态标志:CF OF ZF PF AF SF 种状态标志: 种状态标志 中的SP寄存器是一个 位的寄存器。 例:80486 CPU中的 寄存器是一个 B 位的寄存器。 中的 A. 8位 位 B. 16位 位 C. 24位 位 D. 32位 位
南邮 微机原理(微型计算机与接口技术)第3章习题解答

解:先将物理地址写成逻辑地址 源逻辑地址为 1000H:2345H 目的逻辑地址为 2000H:3456H MOV AX,1000H ;设置DS段寄存器 MOV DS, AX MOV AX, 2000H ;设置ES段寄存器 MOV ES, AX MOV SI, 2345H ;设置源偏移地址 MOV DI, 3456H ;设置目的偏移地址 MOV CX, 1024 ;设置长度值 CLD ;设置地址为增量方向 REP MOVSB ;重复传送指令
第3章习题解答
3.5 (1)方法1 MOV AX,WORD PTR FIRST MOV BX,WORD PTR SECOND MOV WORD PTR FIRST,BX MOV WORD PTR SECOND,AX 注意: PTR用于临时修改属性,常用方法是 在存储器操作数之前使用。 例如: WOR PTR FIRST WORD PTR [BX] BYTE PTR [SI+BX]
;移位次数=8 ;含进位的循环左移一位 ;含进位的循环右移一位 ;移位次数有无达到8次 ;有无达到8次,没有转L1 ;将结果传送到AL
3.10 第1小题的框图
置源数据区指针 置正数缓冲区指针 置负数缓冲区指针 置数据长度
从源缓冲区 取一个数
Y
=0吗?
N
N
是正数吗?
Y
传送到负数缓冲区 传送到正数缓冲区 负数缓冲区指针加1 正数缓冲区指针加1 源数据区指针加1 数据长度减1
S1: CMP BYTE PTR [BX],0 ;与0比较 JZ COM ;=0 准备取下一个数判断 JL M1 ;为负数转到M1处理 MOV AL,[BX] ;取数 MOV [SI],AL ;将正数存入PLUS缓冲区 INC SI ;修改正数缓冲区地址指针 JMP COM ;转到长度计数部分 M1: MOV AL,[BX] ;取数 MOV [DI], AL ;将负数存入MINUS缓冲区 INC DI ;修改负数缓冲区地址指针 COM: INC BX ;修改源数据地址指针 LOOP S1 ;数据长度减1,并判断 HLT ;结束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 例:XLAT CS:table
注意
• 指令执行时采用隐含约定的寻址方 式来查找数据; • 指令中隐含使用了寄存器DS、BX、 AL,如使用其它某个段寄存器,则不 能缺省,必须指明。
4.栈操作指令
• (1)进栈指令 • 功能:SP内容减2后将src压入栈区 中SS和SP指定位置 • 格式:PUSH src
(2)存储标志寄存器指令
• 功能:把寄存器中第7、6、4、2、 0的内容分别送入标志寄存器的SF、 ZF、AF、PF、CF各标志位 • 格式;SAHF
(3)标志寄存器进栈指令
• 功能:首先把堆栈指针SP减2,然 后将16位标志寄存器FR的全部内容 压入SP指向的栈顶字单元中 • 格式:PUSHF
(2)装入地址指令
• 格式:LDS dest,src • 功能:把src指定内存中连续4个字 节单元内容的低16位数据存入dest 指定的通用寄存器中,高16位存入 DS中
格式:LES dest,src
• 功能:把src指定内存中连续4个字 节单元内容的低16位数据存入dest 指定的通用寄存器中,高16位存入 ES中
数据传送类指令
1. 2. 3. 4. 5. 6. 7. 传送指令 交换指令 换码指令 栈操作指令 标志传送指令 地址传送指令 输入/输出指令
1.传送指令
• 功能:将数据从源操作数传送到目的操作数, 具有“复制”性质; • 格式:MOV dest,src
立即数 通用寄存器 AX BX CX DX SP BP SI DI 段寄存器 DS ES SS
• 例XCHG AL,[BP] XCHG DL,BH
注意
• 可在通用寄存器之间,或通用寄存器与 存储器之间交换;
• 不允许存储器之间,立即数与存储器或 寄存器之间,段寄存器间进行交换, CS,IP,出表中AL指明位置的数据,并 赋给AL • 格式:XLAT
例;PUSH AX
• (2)出栈指令 • 功能:将栈区中SS和SP指定位置的 一个字数据弹出到dest,同时SP内 容加2 • 格式:POP dest
例:POP BX
• 注意
• dest不能为CS; • 堆栈原则为后进先出; • src,dest都不能为立即数。
5.标志传送指令
• (1)取标志寄存器指令 • 功能:把标志寄存器的低8位传送给 AH寄存器 • 格式:LAHF
(4)标志寄存器出栈指令
• 功能:首先把现堆栈顶部的一个字 的内容弹出到标志寄存器FR,然后 SP加2 • 格式:POPF
6.地址传送指令
• (1)装入有效地址指令 • 功能:把指定的EA(偏移量)送到指定 的寄存器中 • 格式:LEA dest,src • 注意(本指令传送的是偏移量,不是操 作数,dest必须是通用寄存器之一,src 必须是内存操作数)
存储器
例:MOV AX,1234H MOV AL,CL
• 注意
• MOV指令源、目的操作数长度必须一致; • 源、目的操作数不能同时为段寄存器, 也不能同时为存储器单元; • 不允许立即数直接给段寄存器传送数据、 CS做dest和IP、FR参与。
2.交换指令
• 功能:将源操作数和目的操作数内的数 据做交换 • 格式:XCHG dest,src
注意
• dest必须是通用寄存器之一,src必 须是内存操作数。
7.输入输出指令
• 功能:实现CPU与I/O端口间进行 数据传送 • 格式:IN dest,src • OUT dest,src
注意
• 输入输出指令中,对I/O端口均允 许直接寻址和寄存器间接寻址; • 输入指令中的dest,输出指令中src, 当进行字节传输时,必须是AL,当 进行字传输时,必须是AX。