资源描述:
《东北大学汇编语言顺序结构程序ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章顺序结构程序5.1程序设计的步骤5.2流程图的应用5.3程序的基本控制结构5.4数据传送指令5.5算术运算指令5.6逻辑操作指令5.7移位操作指令5.8状态标志位操作指令5.9简单的I/O功能调用5.10顺序结构程序举例5.1程序设计的步骤1.分析问题2.建立数学模型3.设计算法4.编制程序5.上机调试5.2流程图的应用(1)流程线(2)端点框(3)判断框(4)处理框(5)连接框5.3程序的基本控制结构S1S2S3S2S1YN条件=真S1条件=真NY条件=真S1S2YN(1)顺序结构(2)分支(选择)结构(3)循环(迭代)结构5.4数据传送指令数据传送指令共有12条:MOVPUSHPOP
2、XCHGXLATLEALDSLESLAHFSAHFPUSHFPOPF指令汇编格式:MOVdest,src操作:将一个源操作数(字节或字)传送到目标操作数中。dest←(src)受影响的状态标志位:没有说明:指令中dest和src不能同时为存储器操作数;CS不能做为目标操作数使用,段寄存器之间不能互相传送,立即数不能送入段寄存器。1.MOV(move)传送11.MOV(move)传送指令(举例)MOVALPHA_W,AXMOVBETA_B,ALMOVAL,ES:[BX+SI+1000H]MOVBX,1000HMOVDS,BXMOV[BX+10],ALMOV[BX],10HMOVDS,10HMOV
3、CS,AX21.MOV(move)传送指令(举例)MOVALPHA_W,AXMOVBETA_B,ALMOVAL,ES:[BX+SI+1000H]MOVBX,1000HMOVDS,BXMOV[BX+10],ALMOVBYTEPTR[BX],10HMOVWORDPTR[BX],10H32.PUSH(pushwordontostack)进栈指令汇编格式:PUSHsrc操作:堆栈指示器减2SP←SP-2将给定的操作数存放到由SP指出的栈顶中。(SP+1,SP)←(src)受影响的状态标志位:没有说明:PUSH指令的目标地址一定在当前堆栈中。SS内容为段基址,偏移量由堆栈指针SP指出。操作数一定是16
4、位的寄存器或存储器操作数。12.PUSH指令举例假定AX=1234H,BX=5678H,SS=2000H,SP=0100H,则执行下列指令后堆栈的状态是:PUSHAXPUSHBX22.PUSH指令举例PUSHAXPUSHBX3假定AX=1234H,BX=5678H,SS=2000H,SP=0100H,则执行下列指令后堆栈的状态是3.POP(popwordoffstackintodestination)出栈指令汇编格式:POPdest操作:(1)将堆栈栈顶中存放的字传送到操作数中。dest←(SP+1,SP)(2)堆栈指针加2SP←SP+2受影响的状态标志位:没有说明:目标操作数只能是1
5、6位的存储器或寄存器操作数(CS除外)。13.POP指令举例假定在执行指令:POPCXPOPDX之前,堆栈的状态如图所示。指令执行后CX,DX的内容及堆栈的状态?233.POP指令举例假定SI=1234H,DI=5678H,则执行下列指令后DS,ES的内容是?PUSHSIPUSHDIPOPDSPOPES4.XCHG(eXCHanGe)交换指令汇编格式:XCHGdest,src操作:dest的内容与src的内容互换。(dest)←→(src)受影响的状态标志位:没有说明:dest和src不能同时为存储器操作数。段寄存器、立即数不能作为操作数。14.XCHG指令举例XCHGAL,BLXCHGCL
6、,[BX]XCHGBL,[BX+SI+10]XCHGAX,AXXCHGAL,SIXCHG[SI],[BX+10]XCHGDX,DSXCHGAL,1025.XLAT(translate)转换表指令汇编格式:XLAT操作:BX和AL内容之和指出的内存字节单元的内容送到AL中。AL←(BX+AL)受影响的状态标志位:没有说明:XLAT指令用于查表。表的开始地址即表头地址由BX寄存器给出。AL中的原始值是要寻址的表中元素地址的位移量,规定表中第一个字节的位移量为0。这是一种特殊的基址变址寻址方式,基址寄存器为BX,变址寄存器为AL。1看如下的一种加密方式(替代加密):ABCDEFGHIJKLMNOPQ
7、YZDMRNHXJLIOQUWACRSTUVWXYZBEGFKPTSV明文:THISISACOMPUTER密文:GXJEJEYDWQAFGRB5.XLAT应用举例25.XLAT应用举例JMTABDB’YZDMRNHXJLIOQ’DB’UWACBEGFKPTSV’MOVAX,SEGJMTABMOVDS,AXMOVBX,OFFSETJMTABMOVAL,’T’;SUBAL,’A’MOVAH,0ADDB