微机原理2007年-第三章-指令系统第二节传送指令

合集下载

微机原理与接口技术知识点总结

微机原理与接口技术知识点总结

微机原理与接口技术第一章概述二、计算机中的码制(重点 )P51、对于符号数,机器数常用的表示方法有原码、反码和补码三种。

注意:对正数,三种表示法均相同。

它们的差别在于对负数的表示。

(1)原码定义:符号位:0表示正,1表示负;数值位:真值的绝对值.注意:数0的原码不唯一(2)反码定义:若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反(3)补码定义:若X〈0,则[X]补= [X]反+12、8位二进制的表示范围:原码:—127~+127反码:—127~+127补码:—128~+1273、特殊数10000000●该数在原码中定义为: —0●在反码中定义为:-127●在补码中定义为:-128●对无符号数:(10000000)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与存储器之间的信息传送。

微机原理与接口技术第3章(指令部分)

微机原理与接口技术第3章(指令部分)
第 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

微机原理指令整理

微机原理指令整理

类别指令类型指令名称指令缩写指令功能影响标志格式格式含义源操作数目的操作数传送指令通用传输指令基本传输指令MOV将源操作数中的数据传送至目的操作数,以实现寄存器与寄存器、寄存器与存储器之间数据传送以及立即数送往寄存器或存储器无1.MOV WORD PTR [2000],AX将AX送2000和2001单元(低位在低地址,高位在高地址,下同)至少有一个是寄存器(除立即数送存储器外);不能在两个存储单元之间直接传送数据;不能在两个段寄存器之间直接传送数据;不能将立即数直接送至段寄存器;SS和SP赋值必须紧邻指令指针IP既不作目的操作数也不做源操作数2.MOV AX,ES:[BX+SI+50]将ES段(BX+SI+50)字单元内容送AX3.MOV SS,BX 将BX内容送SS4.MOV ES,SS:[DI+200]将SS段(DI+200)字单元内容送ES5.MOV BX,CX 将CS内容送BX6.MOV WORD PTR[BX+DI],SS将SS内容送(BX+DI)字单元CS不能作目的操作数;立即数不能作目的操作数7.MOV CL,DH 将DH内容送CL8.MOV DI,[SI+100]将(SI+100)字单元内容送DI9.MOV WORD PTR [DI],DX将DX内容送(DI)字单元10.MOV CX,3330 立即数3330送微机原理指令整理 1微机原理指令整理2CX11.MOV BYTE PTR [DI],0立即数0送(DI)字节单元 堆栈操作指令PUSH将来自通用寄存器、段寄存器或存储单元的一个字(16位)内容压入堆栈(SP 指向的栈顶个单元)无1.PUSH AX AX 内容进栈 通用寄存器、段寄存器、存储单元的一个字CS 不能作目的操作数; 2.PUSH SISI 内容进栈 3.PUSH ESES 内容进栈 4.PUSH CSCS 内容进栈 5.PUSH WORD PTR [BX](BX)和(BX+1)单元内容进栈6.PUSH WORD PTR BETA [BX] (BX+BETA)字单元内容进栈 不能使用8位源或目的操作数 POP将栈顶个单元的内容退出(弹出)到通用寄存器、段寄存器或存储单元无1.POP BX栈顶2个字节出栈到BX 不能使用8位源或目的操作数 2.POP DX 栈顶2个字节出栈到DX 通用寄存器、段寄存器、存储单元的一个字节;CS 不能作目的操作数3.POP ES栈顶2个字节出栈到ES 4.POP SS栈顶2个字节出栈到SS 5.POP [BX+50]栈顶2个字节出栈到(BX+50)字单元6.POP [BP+DI]栈顶2个字节出栈到(BP+DI )字单元交换指令XCHG 实现数据宽度相同的源操作数与目的操作数之间的数据交换,亦即同为8位或16位的累加器与寄存器、寄存器与寄存器以及寄存器与存储单元之间的数据交换无1.XCHG AL,BLAL与BL之间字节交换段寄存器、CS、IP、立即数不能作为源或目的操作数;两个存储单元之间、段寄存器与段寄存器之间不能进行交换2.XCHG CX,AXCX与AX之间字交换3.XCHG DH,CLDH与CL之间字节交换4.XCHG BX,CXBX与CX之间字交换5.XCHG BL,[1000]BL与1000单元内容字节交换6.XCHG WORD PTR [DI],DX(DI)字单元内容与DX字交换专用累加器传送指令换码指令XLAT专门使用累加器AL并将其中的值(比如按二进制、十进制或十六进制等编码)变换成内存某一表格区内对应的另一种编码(比如发光二极管LED的字形码或其他通讯码等)无MOV BX,TABLE_SEGCODEXLAT设置SEGCODE表首址对表进行检索有操作码,无操作数。

微机原理(第二章 指令系统)

微机原理(第二章 指令系统)

2.3 数据传送指令
数据传送类分为四类: 1. 通用传送: ①基本传送指令 MOV ②堆栈操作 ③交换指令 PUSH XCHG POP
2. 累加器专用传送: ①输入/ 输出 ②换码 3. 地址传送 4. 标志传送
2012-8-9
IN XLAT LEA LAHF
OUT
LDS SAHF
LES PUSHF POPF
19
7000 0
2000 1500 73500
CS段
2012-8-9
④ 变址寻址(相对寻址) 变址寻址适用于对一维数组的元素进行操作 ⑴无比例因子 EA=变址寄存器+位移量 16位寻址:SI,DI为基址寄存器, DS为默认段寄存器
32位寻址:除ESP外其余7个32位通用寄存器均可 作为变址寄存器,EBP默认SS为段寄存器,其余均 默认段寄存器为DS
执行后 AL=35H
完成什么功能?
2012-8-9
27
2. 堆栈操作指令 •PUSH 源操作数 进栈指令,先调整堆栈指针(-2), 再把源操作数压栈 PUSH AX PUSH [SI+5] POP 目标操作数 出栈指令,先将栈顶2字节送目标操作数,再调整 堆栈指针(+2) POP [SI+5] POP AX 注: 只能有16位通用寄存器进栈/出栈指令 •PUSHF POPF 16位标志寄存器进栈/出栈指令
2012-8-9 31
2. 减法指令 •SUB 目标操作数, 源操作数 目标操作数-源操作数——>目标操作数 •SBB 目标操作数, 源操作数 目标操作数-源操作数-CF——>目标操作数 •DEC 目标操作数 目标操作数-1——>目标操作数 •NEG 目标操作数 0-目标操作数——>目标操作数 影响A,C,O,P,S,Z 6个标志位 •CMP 目标操作数, 源操作数 只影响标志位,不改变目标操作数

微机原理第3章-指令系统

微机原理第3章-指令系统

▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB


PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:

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

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

• 例: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

微机原理第3章指令

微机原理第3章指令

第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。

为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。

第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。

个别指只有操作码没有操作数。

由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。

8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。

指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。

段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。

生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。

确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。

立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。

这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。

段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。

微机原理-常用指令用法

微机原理-常用指令用法

序号 指令 功能和特点 例程1 例程2 例程3 1 MOV 参与传送的操作数有:通用寄存器,段寄存器,存储单元,立即数四类。

有 有互相之间只要不违背以下原则即可进行传送:1.源,目的操作数长度一致2.源,目的操作数不能同为存储单元3.CS不能作为目的操作数4.段寄存器只能通过通用寄存器或存储单元进行赋值。

5.立即数不能作为目的操作数。

2 PUSH 一定是字操作(不能PUSH字节)有PUSH AX,PUSH DS,PUSH [0000H] ;【POP对等】SP <‐ SP‐2,字存入SP指向的地址(高位在高地址)操作数可以为通用寄存器,段寄存器或存储单元,CS可PUSH不可POP3 POP 与PUSH对等4 XCHG Xchg dst,src可在通用寄存器间,通用寄存器和存储单元间进行。

不能用段寄存器和立即数。

XCHG [1200H],DXXCHG AL,CL5 XLAT 直接写出XLAT就行,在调用该指令前,需将BX初始化为数据表的首地址,AL初始化为希望取得的数据在数据表中的序号。

在调用该指令后,AL中的内容被赋值为DS:[BX][AL]的内容。

6 LEA LEA BX,1000H[SI],执行后BX = SI+1000H有LEA BX,TABLEMOV BX,OFFSET TABLE,以上两条等价7 LDS 指针送寄存器和DS指令LDS dst,src将SRC指定的连续4个存储单元的内容传送到DS和DST指向的寄存器,高字送到DS,低字送到DST假设DS=3200H,(33550H)=3A78H,(33552H)=1998HLDS SI,[1550H]后,SI = 3A78H,DS = 1998H8 LES 类同LDS,不同的是DS改成了ES9 SAHF 将AH的内容送标志寄存器的低8位10 LAHF 把标志寄存器的低8位送入AH11 PUSHF 将16位标志寄存器内容压入堆栈12 POPF 从堆栈弹出字数据送人标志寄存器13 ADD Dst可以为存储单元或通用寄存器有 Src可为存储单元,通用寄存器或立即数,不能同时为存储单元Add ax,1234hAdd [1234h],ax14 ADC Adc dst,srcDst = dst+src+cf15 INC Inc dstDst为通用寄存器或存储单元影响OF,SF,ZF,AF,PF,但不影响CF。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


2. PUSH (Push word onto stack) . POP (Pop word off stack) 这是两条堆栈操作指令。 这是两条堆栈操作指令。
什么是堆栈? 按“后进先出(LIFO)”方式工作的存储区域。 堆栈以字为单位 以字为单位进行压入弹出操作。 以字为单位 堆栈操作是如何进行的? 为什么要设置堆栈? 为什么要按 “后进先出”方式工作?
(3) 凡是遇到给SS赋值指令,系统自动禁止外部中断,执行 凡是遇到给SS赋值指令 系统自动禁止外部中断, 赋值指令, 本条指令和下条指令,恢复对SS寄存器赋值前的中断开放情况 寄存器赋值前的中断开放情况。 本条指令和下条指令,恢复对SS寄存器赋值前的中断开放情况。 这样做为了允许程序员连续用两条指令分别对SS和 寄 这样做为了允许程序员连续用两条指令分别对 和SP寄 存器赋值,同时又防止堆栈空间变动过程出现中断。 存器赋值,同时又防止堆栈空间变动过程出现中断。 *在修改SS和SP的指令之间不要插入其他指令。 在修改SS和SP的指令之间不要插入其他指令 的指令之间不要插入其他指令。 (4) 所有通用传送指令不影响标志位 (除SAHF、POPF以外)。 、 Biblioteka 外)。 以外一. 数据传送指令
功能: 功能: 负责CPU和存储器 和存储器 负责 CPU和I/O端口 和 端口 CPU的内部寄存器之间的数据传 送。 的内部寄存器之间的数据传 特点: 特点: 它是计算机最基本、最重要的一种操作,使用比例最高。 它是计算机最基本、最重要的一种操作,使用比例最高。 通用传送指令包括: MOV, PUSH, POP ,XCHG 通用传送指令包括: MOV, PUSH, 累加器专用传送指令: IN, OUT;XLAT 累加器专用传送指令: OUT; 地址传送指令包括: LEA, LDS, LES 地址传送指令包括: 标志传送指令包括 : LAHF, SAHF, PUSHF, POPF 指令外, 除 SAHF和POPF指令外,对标志位没有影响。 和 指令外 对标志位没有影响。
思考:为什么加WORD PTR , BYTE PTR ? 思考:为什么加WORD MOV WORD PTR [ SI] ,057BH ;立即数→存储器 立即数→ MOV BYTE PTR MEM, 5 ;立即数→存储器 立即数→
内部寄存器( ③ CPU内部寄存器(除CS和IP外) 内部寄存器 和 外 与存储器(所有寻址方式)之间数据传送。 与存储器(所有寻址方式)之间数据传送。 存储单元之间不能直接传送
的符号: 介绍指令系统使用的符号: 八位寄存器: ,BH, , 八位寄存器 AH,AL,BH,B ,BL,CH,CL,DH,DL , , ,B , , , 十六位通用寄存器: 十六位通用寄存器 AX,BX,CX,DX,SP,BP,SI,DI , , , , , , , 堆栈指针 指令指针 标志位 目的和源变址寄存器 段寄存器 通用寄存器 SP IP Flags DI, SI CS, DS, ES, SS r
8086/8088指令助记符表(续) 指令助记符表( 指令助记符表
指令类别 逻 辑 指 令
串 处 理
记助符 AND, OR, XOR, NOT ,TEST SHL, SAL, SHR, SAR ROL, ROR, RCL, RCR MOVS, CMPS, SCAS, LODS, STOS REP, REPE/REPZ, REPNE/REPNZ JMP
指令类别 通用传送 数 输入输出 据 传 目标地址传送 送 标志传送 算 术 运 算 加法 减法 乘法 除法 转换 记助符 MOV, PUSH, POP, XCHG, XLAT IN, OUT LEA, LDS, LES LAHF, SAHF, PUSHF, POPF ADD, ADC, INC, AAA, DAA SUB, SBB, DEC, NEG, CMP, AAS, DAS, MUL, IMUL, AAM DIV, IDIV, AAD CBW, CWD
MOV指令应用 MOV指令应用
例: 实现将AREA1开始的 个数据传送到 开始的100个数据传送到 个数据传送到AREA2开始的单元。 开始的单元。 实现将 开始的 开始的单元
100个数据 个数据 AREA1: AREA2:


分析题意: 分析题意: 指令来完成100个数据传送 个数据传送, ①可以用200条MOV指令来完成 个数据传送, 可以用 条 指令来完成 指令操作重复,每个数据传送后的地址是变化的。 指令操作重复,每个数据传送后的地址是变化的。
例: MOV CS,AX ; 错 , MOV AX,CS , MOV IP, AX ;对 。 对 ;错 错
MOV AX, IP ; 对。 ,
(2)段地址的默认 BX、SI、DI间址默认段地址为DS, 、 、 间址默认段地址为 , 间址默认段地址为 BP间址默认段地址SS。 间址默认段地址 。 间址默认段地址
目的 源 功能: 功能:
把一个字节(B)或一个字( )操作数由源传送至目的。 把一个字节 或一个字(W)操作数由源传送至目的。 或一个字 寄存器/存储器之间 存储器之间; 寄存器 寄存器 存储器之间; 立即数→寄存器/存储器 立即数→寄存器/存储器 寄存器/存储器段寄存器之间的数据传送。 寄存器 存储器段寄存器之间的数据传送。 存储器
例: MOV MEM , AX MOV MEM ,DS MOV DISP[BX] ,CX ; 累加器→存储器 直接寻址 累加器→存储器,直接寻址 段寄存器→存储器, ;段寄存器→存储器,直接寻址 寄存器→存储器, ;寄存器→存储器,变址寻址 存储器→累加器, ;存储器→累加器,变址寻址 存储器→段寄存器, ;存储器→段寄存器,直接寻址 存储器→累加器, ;存储器→累加器,相对基址加变址
第二节 8086/8088的指令系统 的指令系统
8086/8088的指令系统中共有 种基本指令。 的指令系统中共有92种基本指令 的指令系统中共有 种基本指令。 可以分成6个功能组: 可以分成 个功能组: 个功能组
1. . 2. . 3. . 4. . 5. . 6. . 数据传送(Data transfer) 数据传送 算术运算(Arithmetic) 算术运算( ) 逻辑运算和移位指令(Logic& Shift) 逻辑运算和移位指令 串操作(String manipulation) 串操作 控制转移( 控制转移(Control Transfer) ) 处理器控制( 处理器控制(Processor Control) )
MOV AX , DISP [SI] MOV DS , MEM MOV CX , DISP [BX] [SI]
注意: 注意:
(1)不能用一条MOV指令实现以下传送。 不能用一条MOV指令实现以下传送。 指令实现以下传送 1 存储单元之间的传送
MOV MEM2 , MEM1 错。 MOV AX , MEM1 MOV MEM2 , AX
对。
2 立即数送段寄存器 例 : MOV DS,2000H ,
MOV AX, 2000 H MOV DS , AX
错。
对。
3 段寄存器之间的传送 MOV ES , DS ; 错
MOV AX , DS MOV ES , AX ;对。
4 注意CS和IP的使用 注意CS和IP的使用 CS和IP不能作为目标操作数 CS可以作为源操作数 CS和IP不能作为目标操作数,CS可以作为源操作数。 不能作为目标操作数, 可以作为源操作数。
AL或AX(取决于操作数长度 acc 或 取决于操作数长度) 取决于操作数长度
src , dest
源,目的操作数(下列寻址方式都可以用) 目的操作数(下列寻址方式都可以用)
[BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n] , , , [SI+n], , [N], , [DI+n], , r [BP+n], , [BX+n]
MOV DS,BX , MOV AX, CS
立即数传送至CPU内部通用寄存器组 ② 立即数传送至 内部通用寄存器组 (AX、BX、CX、DX、BP、SP、SI、DI)。 、 、 、 、 、 、 、 )。 用于给寄存器赋初值。 用于给寄存器赋初值。 不能直接给段寄存器赋值 例: MOV CL,04H , MOV AX,03FFH , ;立即数→8位寄存器 立即数→ 位 ;立即数→16位寄存器 立即数→ 位
[ ] ES:[ ] OPRD Seg im
存储器单元的内容(正常在数据段 存储器单元的内容 正常在数据段) 正常在数据段 附加数据段的内容 操作数 段寄存器( , , , ) 段寄存器(CS,DS,ES,SS) 立即数 (n 8位, nn 16位, nnnn 位 位 32位 ) 位
8086/8088指令助记符表 指令助记符表
STI, NOP, HLT, WAIT, ESC,LOCK
数据传送指令(Data 一、 数据传送指令
transfer)
通用传送指令( (一)通用传送指令(General Purpose Transfer) ) 输入输出指令( (二)输入输出指令(Input and Output) 目的地址传送指令( (三)目的地址传送指令(Address-object transfer) (四)标志传送指令(Flag register transfer) 标志传送指令(
逻辑运算 移位 循环移位 串操作 重复控制
无条件转移
控 转 条件 JA/JNBE,JAE/JNB,JB/JNAE,JBE/JNA,JC,JCXZ,JE/JZ,JNS,JO,JS, JG/ 制 移 转移 JNLE,JGE/JNL,JL/JNGE,JLE/JNG,JNC,JNE/JNZ,JNO,JNP/JPO,JP/JPE 转 循环控制 LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ 移 过程调用 CALL, RET 中断指令 INT, INTO, IRET 处理器控制 CLC, STC, CMC, CLD, STD, CLI,
相关文档
最新文档