《CPU指令系统》PPT课件

《CPU指令系统》PPT课件

ID:38590811

大小:3.40 MB

页数:256页

时间:2019-06-15

《CPU指令系统》PPT课件_第1页
《CPU指令系统》PPT课件_第2页
《CPU指令系统》PPT课件_第3页
《CPU指令系统》PPT课件_第4页
《CPU指令系统》PPT课件_第5页
资源描述:

《《CPU指令系统》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机所能执行的全部命令的集合即为该计算机的指令系统。按功能分类:数据传送类指令;例MOV算术运算类指令;例ADD逻辑运算与移位类指令;AND;SHL串操作类指令;MOVSB控制转移类指令;JMP处理器控制类指令;CLD;STD3.38086CPU的指令系统数据传送类指令共有14条,根据传送的内容可分成以下4组:(1)通用数据传送指令;(2)累加器专用传送指令;(3)地址传送指令;(4)标志寄存器传送指令。数据传送类指令(1)通用数据传送指令;基本传送指令MOV数据交换指令XCHG堆栈操作指令PUSH和POP查表转换指令XLAT基本传送指令MOV【指令格式】MOVdst,src【说明】指令中的

2、dst表示目标操作数,src表示源操作数.这种双操作数指令在汇编语言中的表示方法,总是将目标操作数写在前面,源操作数写在后面,两者之间用一个逗号隔开.【指令功能】将源操作数src传送到目标操作数dst.这种传送实际上是进行数据的”复制”,将源操作数复制到目标操作数中去,源操作数本身不变.【指令特点】①既可传送字节操作数(8位),也可以传送字操作数(16位).②可使用各种寻址方式.③可实现以下各种传送:寄存器与寄存器/存储器之间,立即数至寄存器或存储器,寄存器/存储器与段寄存器之间.基本传送指令MOV【注意】①源操作数和目的操作数类型必须匹配,不能一个是字,另一个是字节.②源操作数和目的操作数不

3、能同时为存储器操作数,即存储单元之间不能用MOV指令直接传送.③代码段寄存器CS和指令指针寄存器IP不能作为目的操作数,但CS可以作为源操作数.④立即数不能作为目的操作数.⑤不能用立即寻址方式给段寄存器传数.⑥段寄存器之间不能用MOV指令直接传送.⑦在传送字单元时,遵循“高字节在高地址,低字节在低地址”的原则。数据交换指令XCHG【指令格式】XCHGdst,src【指令功能】交换指令XCHG的操作是使源操作数src与目标操作数dst进行互换.即不仅将源操作数传送到目标操作数,而且,同时将目标操作数传送到源操作数。交换的内容可以是一个字节(8位),也可以是一个字(16位)。【注意】①交换指令的源

4、操作数和目标操作数各自均可以是寄存器或存储器,但不能两者同时为存储器。②段寄存器不能参加交换例:XCHGCH,AL字节操作XCHGBX,SI字操作XCHG[SI],CX存储器与寄存器之间交换【例】判断下例指令是否正确MOV[SI],[DI]MOVAH,BXMOVBL,1000MOVDX,1MOVCS,CXMOVES,1000HMOVDS,ESMOV1000H,BX计算MOVAX,[1000H]指令执行完毕后AX的内容若执行前,(DS)=1000H,(11000H)=34H,(11001H)=12H.堆栈操作指令PUSH和POP堆栈就是在存储器中指定的一个特定的存储区域。在这个区域中,信息的存入

5、与取出的原则是按照先进后出(firstinlastout,FILO)或后进先出(lastinfirstout,LIFO)的原则进行存取,称该存储区为堆栈。此时,信息的存入称为推入,信息的取出称为弹出。可以把堆栈想像成一个开口向上的容器。堆栈的一端是固定的,另一端是浮动的。堆栈的固定端是堆栈的底部,称为栈底。堆栈的浮动端可以推入或弹出数据,称为栈顶。向堆栈推入数据时,新推入数据堆放在以前推入数据的上面,而最先推入的数据被推至堆栈底部,最后推入的数据堆放在堆栈顶部。从堆栈弹出数据时,堆栈顶部的数据最先弹出,而最先推入的数据则是最后弹出。堆栈操作指令PUSH和POP由于堆栈顶部是浮动的,为了指示现在

6、堆栈中存放数据的位置,通常设置一个指针,即堆栈指针SP,始终指向堆栈的顶部。这样,堆栈中数据的进出取决于SP。当将数据(1个字节)推入堆栈时,SP自动减1,向上浮动而指向新的栈顶;当将数据从堆栈弹出时,SP自动加1,向下浮动而指向新的栈顶。堆栈有建栈、进栈和出栈3种基本操作。⑴建栈建立堆栈就是规定堆栈底部在存储器中的位置,可以通过数据传送指令将堆栈底部的地址设置在堆栈指针SP和堆栈段寄存器SS中。这时,栈中无数据,堆栈底部与顶部重叠,是一个空栈。例:MOVAX,3000HMOVSS,AXMOVSP,2000H堆栈操作指令PUSH和POP⑵进栈PUSH进栈PUSH就是把数据推入堆栈的操作。在80

7、86中,进栈或出栈操作都是以字为单位的,即每次在堆栈中存取数据均是两个字节(先存入高字节,再存入低字节,仍然遵循“高字节在高地址,低字节在低地址”的原则)。【指令格式】PUSHopr【指令功能】PUSH指令将16位的源操作数推入堆栈,而目标地址为当前栈顶,即由SP指示的单元。PUSH指令操作如下:①(SP)←(SP)-2②((SP)+1:(SP))←opr堆栈操作指令PUSH和POP⑶出栈POP出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。