- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工业用微型计算机第二章
第二章 学习辅导
指令系统
计算机的指令系统。可以分为六大类: = 1 \* GB3 ①数据传送指令; = 2 \* GB3 ②算术传送指令; = 3 \* GB3 ③逻辑运算和移位指令; = 4 \* GB3 ④串操作指令; = 5 \* GB3 ⑤控制转移指令; = 6 \* GB3 ⑥处理器控制指令。
一、指令格式
指令是以二进制代码形式表示的操作命令,这种二进制代码称为机器码。
寻址方式,通常是指CPU指令中规定的寻找操作数所在地址的方式,8086/8088CPU内部设置了多个有关地址的寄存器,如各种地址指针寄存器以及变址寄存器等,因而使8086/8088的基本寻址方式有以下七种。
二、立即寻址(Immediate Addrssing)
例如:
MOV CL,28H
MOV AX,3189H
三、寄存器寻址(Register Addrssing)
指令中指定某些CPU寄存器存放操作数。上述寄存器可能是通用寄存器(8位或16位)、地址指针或变址寄存器,以及段寄存器。例如:
MOV SS,AX
四、直接寻址(Direct Addrssing)
直接寻址指令在指令的操作码后面直接给出操作数的16位偏移地址。这个偏移地址也称为有效地址EA(Effective Address),它与指令的操作码一起,存放在内存的代码段,也是低8位在前,高8位在后。但是,操作数本身一般存放在内存的数据段。例如:
MOV AX,〔3100H〕
五、变址寻址(Indexed Addressing)
变址寻址指令将规定的变址寄存器的内容加上指令中给出的位移量,得到操作数的有效地址。8086/8088CPU中变址寄存器有两个:源变址寄存器SI和目的变址寄存器DI。位移可以是8位或16位二进制数,一般情况下操作数在内存的数据段,但也允许段超越。
下面是一条变址寻址指令的例子。
MOV BX,〔SI+1003H〕
六、基址寻址(Based Addrssing)
基址与变址相类似,不同之处在于指令中使用基址寄存器BX或基址指针寄存器BP,而不是变址寄存器SI和DI。
需要指出一点,当使用BX寄存器实现基址时,一般情况下操作数是在数据段,即段地址在DS寄存器;而当使用BP时操作数通常在堆栈段,即段地址在SS寄存器中。但是,同样允许段超越。下面两条指令是基址寻址的例子。
MOV SI,DATA〔BX〕
MOV BLOCK〔BP〕,AX
8086/8088的指令系统
一、数据传送指令(Data transfer)
数据传送指令按其功能的不同,可以分为以下四组:
= 1 \* GB3 ①通用数据传送指令; = 2 \* GB3 ②输入/输出指令; = 3 \* GB3 ③目标地址传送指令; = 4 \* GB3 ④标志传送指令。
以下是MOV指令的几个例子:
MOV AX,CS ;段寄存器至通用寄存器
MOV AL,125 ;立即数至寄存器
MOV MEM,15 ;立即数至存储器,直接寻址
MOV SI,BX ;寄存器至寄存器
MOV DS,AX ;通用寄存器至段寄存器
MOV 〔BX〕,50H ;立即数至存储器,寄存器间址
MOV MEM,AX ;寄存器至存储器,直接寻址
MOV MEM,DS ;段寄存器至存储器,直接寻址
MOV DISP〔BX〕,CX ;寄存器至存储器,基址寻址
MOV AX,DISP〔SI〕 ;存储器至寄存器,变址寻址
MOV DS,MEM ;存储器至段寄存器,直接寻址
MOV AX,DISPBX〕〔SI ;存储器至寄存器,基址-变址寻址
PUSH(Push word onto stack)推入操作
POP(Pop word off stacks)弹出操作
指令格式及操作:
PUSH src;(SP) ←(SP)-2,首先,堆栈指针-2送给堆栈指针
((SP)+1:(SP))←(src),再把源操作数(字)推入堆栈中
POP dest;(dest) ←((SP)+1:(SP)),首先,堆栈的内容弹出到目的操作数
(SP) ←(SP)+2,再使堆栈指针加2
这是两条堆栈操作指令,PUSH指令将寄存器或存储器的内容推入堆栈;POP指令将堆栈中的内容弹出到寄存器或存储器,但都是字操作。
PUSH和POP指令的操作数可能有三种情况:
1)寄存器
2)段寄存器
3)存储器
无论那种操作数,其类型必须是字操作数(16位),如果推入或弹出堆栈的寄存器操作数,则应是一个16位寄存器。如果是存储器操作数,是两个地址连续的存储单元。如:
PUSH AX ;通用寄存器椎入堆栈
PUSH BP ;基址指针寄存器推入
原创力文档


文档评论(0)