- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
会计学;指令系统:微机处理器所能执行的各种指令的集合,不同的微
处理器有不同的指令系统。
对80X86/Pentium:
8086、8088指令系统为基本指令系统
286、386、486、Pentium在此基础上进行了扩充:
①8086/8088基本指令的增强及一些专用指令构成X86/Pentium
系列的实模式指令集,
②系统控制指令——对保护模式的多任务、存贮器管理、保护
机制提供了控制能力。;3.1.1 指令格式;操作码:由CPU设计人员定义。每一种操作唯一对应一个操作码。
例:加法操作助记符ADD;
数据传送操作助记符MOV;
比较操作助记符CMP;
操作数:可由编程人员采用不同方式给出。
指令格式:指令中对操作码、操作数的编码方式。;有效地址EA:从段的首地址到操作数所在地址的距离,用字节
数表示,是一个无符号16位整数,它指向段首地
址开始的64KB。;3.1.2 寻址方式;第3章 80X86/Pentium指令系统;有效地址EA组成:
EA=[基址Reg]+[变址Reg]+位移量
基址REG: BX,BP
变址REG: SI,DI
;1.立即寻址
操作数包含在指令中,操作数本身是指令代码的一部分.; 例: INC SI
MOV AX,BX
;(1)直接寻址 (EA=立即数)
有效地址EA直接在指令中给出,它存放在代码段操作码之后。
操作数一般在数据段DS中,这是一种默认方式。;② 直接寻址中EA可以以变量名的形式给出。
例:VALUE DB 12H
MOV AL,[VALUE]
或 MOV AL,VALUE ;VALUE又称为符号地址;寄存器间接寻址示意图;(3)基址寻址 EA=(基址Reg)+位移量
位移量在指令中给出并与代码一起存放在代码段中。
Reg使用规定如下:
BP、BX作基址Reg,其中BP默认在SS段,BX默认在DS段,
位移量是8或16位,且跟在操作码之后存放在代码段中。;第3章 80X86/Pentium指令系统;(4)变址寻址
EA=(变址寻址)+位移量
书写格式、寻址过程皆同基址寻址
SI
DI;(6)基址加变址寻址 EA=(基址Reg)+(变址Reg )
BX SI
BP DI;(7)带位移量的基址加变址寻址(又称为相对基址变址寻址)
EA=(基址Reg)+(变址Reg)+位移量
基址Reg与变址Reg的规定同前,
对段Reg的默认同前。;三、存贮器寻址时的段约定
存贮器寻址时,一般并不在指令中给出段Reg,而是遵寻一
种约定(默认)方式。见P99表3-2。;3.2 8086/8088指令系统;16位立即数;第3章 80X86/Pentium指令系统; 共有14条指令,分为4组。;一、通用数据传送指令
共5条,它们(除XCHG外)是唯一允许以Sreg作为操作数的指令。;例:
MOV AL,CH ;通用寄存器之间传送字节数据
MOV DS,AX ;通用寄存器→段寄存器(CS不能是目标)
MOV AX,0FF3BH ;立即数→通用寄存器
MOV AL,BUFFER ;存储器→通用寄存器
MOV DAT[BP+DI],ES ;段寄存器→存储器
MOV [1000H],25H ;立即数→存储器
MOV CX, [1000H] ;存储器→通用寄存器;3.堆栈操作指令PUSH/POP;注:1. 程序中有一个PUSH,必有一个对应的POP。
3. 遵循后进先出原则。
3. 按字进行操作(PUSH AH ; POP BL (错误))
4. PUSH CS ; POP CS
(可以) (错误);3.交换指令XCHG; 将待转换的代码组成表格,首地址→ BX,AL存放查找对象在表中下标,指令执行后,[BX+AL] → AL ,BX内容不变。;例:LEA AX,[2728H] ;AX=2728H
文档评论(0)