欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第7讲25.85.12汇编状态标志与dos指令调用.ppt

    • 资源ID:6107689       资源大小:197.55KB        全文页数:26页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7讲25.85.12汇编状态标志与dos指令调用.ppt

    1,5.8 状态标志位操作指令,8086/8088有7条状态标志位控制指令,它们可以直接和独立地对8086CPU中的某一状态标志位进行控制,用来设置或改变状态标志位的状态。,2,5.11 简单的I/O功能调用,设置断点 DOS功能调用,3,调用方法:INT 3功能:停止程序运行,返回DEBUG入口条件:无出口条件:无说明:欲使程序结束运行从而检查运行结果时,则不应退出DEBUG,这时使用本功能。在以后上机实验时,多数是使用本功能来结束程序运行。,设置断点,4,DOS功能调用,DOS不仅为用户提供了许多使用的命令,还提供了上百个常用的子程序。对这些子程序的调用,称为系统功能调用(实际是中断指令INT 21H)。主要包括磁盘读写、控制管理、内存管理、基本的I/O管理等。所有子程序从1号开始顺序编号,称为DOS功能调用号。,5,DOS功能调用的过程,调用过程为:DOS功能调用号送AH寄存器;如果需要,按要求给定入口条件(有的不需要入口条件);写入中断指令INT 21H。调用结束,按功能使用其出口条件。,6,DOS功能调用,1、单字符键盘输入-1号功 能:从键盘上接收一个字符,并在屏幕上显示出来入口条件:无出口条件:AL=ASCII码调用方法:,MOV AH,1INT 21H,7,DOS功能调用,2、单字符显示器输出-2号功 能:在屏幕上光标处显示1个字符入口条件:要显示的字符的ASCII码在DL中出口条件:无调用方法:,MOV AH,2MOV DL,AINT 21H,8,DOS功能调用,3、程序结束退出-4CH号功能:结束程序运行,将控制权交给调用它的程序入口条件:AL=返回码出口条件:无调用方法:MOV AH,4CHMOV AL,0INT 21H欲使程序结束运行时,使用本功能。,9,DOS功能调用,4、多字符输入0AH号 功 能:多个字符输入到缓冲区,以回车结束 入口条件:DS:DX输入缓冲区首地址 出口条件:DS:DX输入字符串所在缓冲区首地址注意:缓冲区第1字节存放预定字符个数,最多255个缓冲区第2字节保留,用于调用返回时存放实际输入的字符个数缓冲区第3字节开始,存放输入的字符缓冲区要考虑留1个字节作为回车符,DSEG SEGMENTBUF DB 50 DUP(0)DSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEG MOV DS,AX LEA DX,BUF MOV BUF,20 MOV AH,0AH INT 21HCSEG ENDS END START,10,DOS功能调用,5、多字符输出9号功 能:多个字符输出到屏幕显示入口条件:DS:DX输出字符缓冲区首地址出口条件:无注意:该功能对输出字符的个数没有要求,但输出字符串要以$结束,11,5.12 顺序结构程序举例,例5.1 计算y=-x。设x为三个字节长的数据,存于DATA1开始的单元。结果存入DATA2开始的单元。,计算-x,就是对x取补。,12,一个数据取补,就是将这个数据包括符号位在内取反加1,或者用0 减去这个数据。带符号数据在机内用补码形式表示时,若原数据为负数,经取补操作后变为其绝对值,若原数据为正数,经取补操作后变为绝对值与其相等的负数。取补与补码是两个不同的概念,一个数据的补码,是用补码形式表示这个数据,当数据为正时,它的补码就是数据本身;当数据为负时,把其原码表示形式除符号位外取反加1,或者将其绝对值进行取补所得结果为其补码。例如,用一个字节(8位二进制位)表示数据已知:N1=00000101,取补后N1=11111011 N2=11111011,取补后N2=00000101,取补的概念:,13,将数据分为三种情况:(1)最低字节不为0时,将最低字节取补,高、中字节取反;NOT,NOT,NEG例如:01001100 00111100 00010000按位取反后:10110011 11000011 11101111再+1:10110011 11000011 11110000(2)最低字节为0,中间字节非0,则中间节和低字节取补,高字节取反;NOT,NEG,NEG(3)中间字节与低字节均为0 时,3个字节均取补。NEG,NEG,NEG,分析,14,(1)最低字节取补;(2)进位取反;(3)中间字节取反,取反的结果加进位;(4)高字节取反,取反结果加进位。,算法,(1)最低字节取补;(2)进位取反;(3)中间字节取反,取反的结果加进位;(4)高字节取反,取反结果加进位。,低字节不为0,低字节为0,中字节不为0,中低字节为0,高字节不为0,NEG,CF=1,CF=0,NOT+0CF=0,NOT+0,NEG,CF=0,CF=1,NOT+1=NEGCF=0,NOT+0,NEG,CF=0,CF=1,NOT+1=NEGCF=1,NOT+1=NEG,1:;*EXAM 5.1.1*2:SSEGSEGMENT STACK;堆栈段3:STK DB 20 DUP(0)4:SSEG ENDS5:DSEG SEGMENT;数据段6:DATA1 DB 35H,26H,03H;(032635H)7:DATA2 DB 3 DUP(0)8:DSEG ENDS9:CSEG SEGMENT;代码段 10:ASSUME CS:CSEG,DS:DSEG11:ASSUME SS:SSEG12:MBNEG:MOV AX,DSEG;段寄存器初值13:MOV DS,AX14:MOV AX,SSEG15:MOV SS,AX16:MOV SP,SIZE STK;设置堆栈指针,17:MOVAL,DATA1;读入数据低字节 18:MOVAH,DATA1+1;读入数据中字节19:MOVBL,DATA1+2;读入数据高字节 20:NEGAL;取补低字节21:CMC;进位取反22:NOTAH;中字节取反23:ADCAH,0;加进位24:NOTBL;高字节取反25:ADCBL,0;加进位 26:MOVDATA2,AL;保存结果 27:MOVDATA2+1,AH28:MOVDATA2+2,BL29:MOVAX,4C00H30:INT21H31:CSEGENDS32:ENDMBNEG,17:MOVAL,DATA1;读入数据低字节 18:MOVAH,DATA1+1;读入数据中字节19:MOVBL,DATA1+2;读入数据高字节 20:NEGAL;取补低字节21:CMC;进位取反22:NOTAH;中字节取反23:ADCAH,0;加进位24:NOTBL;高字节取反25:ADCBL,0;加进位 26:MOVDATA2,AL;保存结果 27:MOVDATA2+1,AH28:MOVDATA2+2,BL29:MOVAX,4C00H30:INT21H31:CSEGENDS32:ENDMBNEG,MOVAX,WORD PTR DATA1,MOVWORD PTR DATA2,AX,17:LEASI,DATA1;取原数据首址18:LEADI,DATA2;取存放结果首址19:MOVAX,SI;读入数据中低字节20:NEGAX21:CMC22:INCSI;地址指针增量23:INCSI24:MOVBL,SI;读入数据高字节25:NOTBL26:ADCBL,027:MOVDI,AX;存放结果中低字节28:INCDI 29:INCDI 30:MOVDI,BL;存放结果高字节 31:MOVAX,4C00H33:INT21H33:CSEGENDS34:ENDMBNEG,使用寄存器间接寻址方式,17:LEASI,DATA1;取原数据首址18:LEADI,DATA2;取存放结果首址19:MOVAX,SI;读入数据中低字节20:NEGAX21:CMC22:INCSI;地址指针增量23:INCSI24:MOVBL,SI;读入数据高字节25:NOTBL26:ADCBL,027:MOVDI,AX;存放结果中低字节28:INCDI 29:INCDI 30:MOVDI,BL;存放结果高字节 31:MOVAX,4C00H33:INT21H33:CSEGENDS34:ENDMBNEG,使用寄存器间接寻址方式,ADD SI,2,?,ADD DI,2,?,17:LEASI,DATA1;取原数据首址18:LEADI,DATA2;取存放结果首址19:MOVAX,SI;读入数据中低字节20:NEGAX21:CMC22:INCSI;地址指针增量23:INCSI24:MOVBL,SI;读入数据高字节25:NOTBL26:ADCBL,027:MOVDI,AX;存放结果中低字节28:INCDI 29:INCDI 30:MOVDI,BL;存放结果高字节 31:MOVAX,4C00H33:INT21H33:CSEGENDS34:ENDMBNEG,使用变址寻址方式,MOV BL,SI+2,MOV DI+2,BL,22,17:LEASI,DATA1;取原数据首址18:LEADI,DATA2;取存放结果首址19:MOVAX,SI;读入数据中低字节20:NEGAX21:CMC24:MOVBL,SI+2;读入数据高字节25:NOTBL26:ADCBL,027:MOVDI,AX;存放结果中低字节30:MOVDI+2,BL;存放结果高字节 31:MOVAX,4C00H33:INT21H33:CSEGENDS34:ENDMBNEG,使用变址寻址方式(DI=SI+3),MOV SI+3,AXMOV SI+5,BL,23,17:LEASI,DATA1;取原数据首址18:MOVAX,0;AX清019:SUB AX,SI20:MOV SI+3,AX21:MOVBL,0;读入数据高字节22:SBBBL,SI+223:MOVSI+5,BL;存放结果高字节 24:MOVAX,4C00H25:INT21H26:CSEGENDS27:ENDMBNEG,换个算法(0-X),24,17:LEASI,DATA1;取原数据首址18:MOVAX,0;AX清019:SUB AX,SI20:MOV SI+3,AX21:MOVBL,0;读入数据高字节22:SBBBL,SI+223:MOVSI+5,BL;存放结果高字节 24:MOVAX,4C00H25:INT21H26:CSEGENDS27:ENDMBNEG,XOR AX,AX,XOR BL,BL,换个算法(0-X),25,17:LEASI,DATA1;取原数据首址18:MOVAX,0;AX清019:SUB AX,SI20:MOV SI+3,AX21:MOVBL,0;读入数据高字节22:SBBBL,SI+223:MOVSI+5,BL;存放结果高字节 24:MOVAX,4C00H25:INT21H26:CSEGENDS27:ENDMBNEG,XOR AX,AX,XOR BL,BL,换个算法(0-X),3BYTE,4T2BYTE,3T,2BYTE,4T2BYTE,3T,26,17:MOVAX,WORD PTR DATA1 19:SUB WORD PTR DATA2,AX20:MOV AL,DATA1+221:SBBDATA2+2,AL24:MOVAX,4C00H25:INT21H26:CSEGENDS27:ENDMBNEG,换个算法(0-X,利用结果单元已经是0),

    注意事项

    本文(第7讲25.85.12汇编状态标志与dos指令调用.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开