- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
取反清0置1 CFCLCSTCCMCCLDDFSTDIFCLISTI5.8 状态标志位操作指令 8086/8088有7条状态标志位控制指令,它们可以直接和独立地对8086CPU中的某一状态标志位进行控制,用来设置或改变状态标志位的状态。5.11 简单的I/O功能调用 设置断点 DOS功能调用设置断点调用方法: INT 3功能: 停止程序运行,返回DEBUG入口条件: 无出口条件: 无说明:欲使程序结束运行从而检查运行结果时,则不应退出DEBUG,这时使用本功能。在以后上机实验时,多数是使用本功能来结束程序运行。DOS功能调用 DOS不仅为用户提供了许多使用的命令,还提供了上百个常用的子程序。对这些子程序的调用,称为系统功能调用(实际是中断指令INT 21H)。主要包括磁盘读写、控制管理、内存管理、基本的I/O管理等。 所有子程序从1号开始顺序编号,称为DOS功能调用号。DOS功能调用的过程 调用过程为: ⑴ DOS功能调用号送AH寄存器; ⑵ 如果需要,按要求给定入口条件(有的不需要入口条件); ⑶ 写入中断指令INT 21H。 调用结束,按功能使用其出口条件。DOS功能调用1、单字符键盘输入---1号功 能:从键盘上接收一个字符,并在屏幕上显示出来入口条件:无出口条件:AL=ASCII码调用方法:MOV AH,1INT 21HDOS功能调用2、单字符显示器输出---2号功 能:在屏幕上光标处显示1个字符入口条件:要显示的字符的ASCII码在DL中出口条件:无调用方法:MOV AH,2MOV DL,’A’INT 21HDOS功能调用3、程序结束退出---4CH号功能: 结束程序运行,将控制权交给调用它的程序入口条件: AL=返回码出口条件: 无调用方法: MOV AH,4CH MOV AL,0 INT 21H欲使程序结束运行时,使用本功能。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 21H…CSEG ENDS END STARTDOS功能调用4、多字符输入-0AH号 功 能:多个字符输入到缓冲区,以回车结束 入口条件:DS:DX=输入缓冲区首地址 出口条件:DS:DX=输入字符串所在缓冲区首地址注意:缓冲区第1字节存放预定字符个数,最多255个缓冲区第2字节保留,用于调用返回时存放实际输入的字符个数缓冲区第3字节开始,存放输入的字符缓冲区要考虑留1个字节作为回车符DOS功能调用5、多字符输出-9号功 能:多个字符输出到屏幕显示入口条件:DS:DX=输出字符缓冲区首地址出口条件:无注意:该功能对输出字符的个数没有要求,但输出字符串要以$结束5.12 顺序结构程序举例例5.1 计算y=-x。设x为三个字节长的数据,存于DATA1开始的单元。结果存入DATA2开始的单元。计算-x,就是对x取补。取补的概念: 一个数据取补,就是将这个数据包括符号位在内取反加1,或者用0 减去这个数据。带符号数据在机内用补码形式表示时,若原数据为负数,经取补操作后变为其绝对值,若原数据为正数,经取补操作后变为绝对值与其相等的负数。 取补与补码是两个不同的概念,一个数据的补码,是用补码形式表示这个数据,当数据为正时,它的补码就是数据本身; 当数据为负时,把其原码表示形式除符号位外取反加1,或者将其绝对值进行取补所得结果为其补码。 例如,用一个字节(8位二进制位) 表示数据 已知: N1取补后N1 N2取补后N2析将数据分为三种情况:(1) 最低字节不为0时,将最低字节取补,高、中字节取反;NOT,NOT,NEG例如00111100位取反后11000011+1110000112) 最低字节为0,中间字节非0,则中间节和低字节取补,高字节取反; NOT,NEG,NEG(3) 中间字节与低字节均为0 时,3个字节均取补。 NEG,NEG,NEG算法(1) 最低字节取补;(2) 进位取反;(3) 中间字节取反,取反的结果加进位;(4) 高字节取反,取反结果加进位。低字节不为0低字节为0,中字节不为0中低字节为0,高字节不为0(1) 最低字节取补;(2) 进位取反;(3) 中间字节取反,取反的结果加进位
文档评论(0)