欢迎来到天天文库
浏览记录
ID:38938173
大小:216.00 KB
页数:18页
时间:2019-06-21
《《汇编顺序结构程序》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章顺序结构程序5.1程序设计的步骤5.2流程图的应用5.3程序的基本控制结构5.4数据传送指令5.5算术运算指令5.6逻辑操作指令5.7移位操作指令5.8状态标志位操作指令5.11简单的I/O功能调用5.12顺序结构程序举例15.1程序设计的步骤1.分析问题2.建立数学模型3.设计算法4.编制程序5.上机调试25.2流程图的应用(1)流程线(2)端点框(3)判断框(4)处理框(5)连接框35.3程序的基本控制结构特点:程序顺序执行,不发生跳转(1)顺序结构4特点:程序在执行过程中发生跳转(2)分支结构条件为真?条件为真?5(3)循环结构S1条件=真NY条件=
2、真S1S2YN相当于C语言中Do…While结构相当于C语言中While{}结构65.4数据传送指令数据传送指令共有12条:MOVPUSHPOPXCHGXLATLEALDSLESLAHFSAHFPUSHFPOPF71.MOV指令指令汇编格式:MOVdest,src操作:将一个源操作数(字节或字)传送到目标操作数中,可以实现CPU内部寄存器之间、寄存器和内存之间的数据传送,还可以把一个立即数送给CPU的内部寄存器或者内存单元。dest←(src)受影响的状态标志位:没有8MOV指令举例MOVALPHA_W,AXMOVAL,BETA_BMOVAL,ES:[BX+SI
3、+1000H]MOVBX,2000HMOVDS,BXMOV[BX+10],4567HMOV[BX],10HMOVDS,10HMOVCS,AX9MOV指令举例MOVALPHA_W,AXMOVAL,BETA_BMOVAL,ES:[BX+SI+1000H]MOVBX,2000HMOVDS,BXMOV[BX+10],4567HMOVBYTEPTR[BX],10HMOVWORDPTR[BX],10H10注意:MOV指令可以传送8位数据,也可传送16位数据,具体取决于指令中涉及的寄存器是8位还是16位,也取决于立即数的形式。MOV指令中包括源操作数和目标操作数,两者之中应至
4、少有一个是用寄存器指出的,这可减少指令长度。不能在两个内存单元之间直接传送数据。寄存器可以是源操作数,也可以是目的操作数,但CS寄存器不能用作目的操作数,可以用作源操作数。MOVCS,AX错MOVAX,CS对11注意:IP寄存器不能作为操作数;MOVAX,IP错用BX、SI、DI间接寻址时,默认的段寄存器为DS,8086系统规定,当遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等本指令和下条指令执行之后,自动恢复对SS寄存器赋值前的中断开放情况,以利于程序员用连续的两条指令改变堆栈空间。写程序时要注意在修改SS和SP的指令之间不要插入其他指令。12注
5、意:立即数不能做目的操作数。立即数不能直接送入段寄存器。MOVDS,1234H源操作数与目的操作数数据类型必须相同。段寄存器之间不能互相传送。132.PUSH(pushwordontostack)进栈指令指令汇编格式:PUSHsrc操作:堆栈指针减2SP←SP-2将给定的操作数存放到由SP指出的栈顶中。(SP+1,SP)←(src)受影响的状态标志位:没有说明:PUSH指令的目标地址一定在当前堆栈中。SS内容为段值,偏移量由堆栈指针SP指出。操作数一定是16位的寄存器或存储器操作数。14PUSH指令举例假定AX=1234H,BX=5678H,SS=2000H,S
6、P=0100H,则执行下列指令后堆栈的状态是:PUSHAXPUSHBX15PUSH指令举例163.POP(popwordoffstackintodestination)出栈指令指令汇编格式:POPdest操作:(1)将堆栈栈顶中存放的字传送到操作数中。dest←(SP+1,SP)(2)堆栈指针加2SP←SP+2受影响的状态标志位:没有说明:目标操作数只能是16位的存储器操作数或寄存器操作数(CS除外)。17POP指令举例假定在执行指令:POPCXPOPDX之前,堆栈的状态如图所示。指令执行后,CX,DX的内容及堆栈的状态?18
此文档下载收益归作者所有