《基本控制结构》PPT课件.ppt
《《基本控制结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《基本控制结构》PPT课件.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章基本控制结构 讲授要点 字符与字符串的输入/输出方法 双分支与多分支结构 循环程序的控制方法1/19/202380 x86汇编语言程序设计5.1 顺序结构5.1.1 简单程序设计 DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAH,1INT21H;输入字母CMPAL,aJBEXIT;小于a退出CMPAL,zJAEXIT;大于z退出SUBAL,20H;大于a小于z,则转换成大写字母(减20h后转换为大写
2、)MOVDL,ALMOVAH,02H;AH=2,显示字符INT21HJMPSTARTEXIT:MOVAH,4CH;前面没有入栈操作,所以要调用编号为4C的功能返回DOSINT21HCODESENDSENDSTART1/19/202380 x86汇编语言程序设计5.1.2 字符与字符串的输入/输出方法DOS系统调用INT21H提供了字符及字符串的I/O功能,例如:01H:从键盘读入一个字符02H:显示一个字符09H:显示一个字符串0AH:从键盘读入一个字符串1/19/202380 x86汇编语言程序设计5.1.2 字符与字符串的输入/输出方法1.1.从键盘读入一个字符从键盘读入一个字符功能号:0
3、1H出口参数:AL=输入字符的ASCII码功能:等待从键盘读入一个字符,将其ASCII码送入AL,同时将该字符显示在屏幕上。调用方法:movah,1int21h说明:输入一个字符后,不需要回车。若只键入回车,则AL=0DH。1/19/202380 x86汇编语言程序设计5.1.2 字符与字符串的输入/输出方法2.2.显示一个字符显示一个字符功能号:02H入口参数:DL=要显示字符的ASCII码功能:在当前光标位置显示DL中的字符,光标右移。调用方法示例:movdl,A;显示字符Amovah,2int21h说明:显示字符0DH和0AH将产生回车和换行的作用。1/19/202380 x86汇编语言
4、程序设计5.1.2 字符与字符串的输入/输出方法3.3.显示一个字符串显示一个字符串功能号:09H入口参数:DS:DX=欲显示字符串在内存的首地址,且字符串必须以$(24H)作为结束符。功能:在当前光标位置,显示由DS:DX所指的、以$结尾的字符串,且光标右移。其中,$不算在显示的字符串之内。调用方法示例:StringdbHello!,$;显示字符串Hello!movax,segStringmovds,axmovdx,offsetStringmovah,9int21h1/19/202380 x86汇编语言程序设计5.1.2 字符与字符串的输入/输出方法4.4.从键盘读入一个字符串从键盘读入一个
5、字符串功能号:0AH入口参数:DS:DX=输入缓冲区首地址输入缓冲区格式:第0字节事先设置为缓冲区最多能容纳的字符个数(包括回车);第1字节将存放实际字符个数(不包括回车),由系统自动设置;从第2字节开始存放实际输入的字符串,最后为回车符。功能:从键盘读入一个字符串,存入DS:DX所指的缓冲区。调用方法示例:bufdb10,?,10dup(?);定义输入缓冲区movax,segbufmovds,axleadx,bufmovah,0ahint21h1/19/202380 x86汇编语言程序设计5.1.2 字符与字符串的输入/输出方法5.5.字符与字符串的输入字符与字符串的输入/输出举例输出举例D
6、OS系统调用只提供了字符与字符串的输入/输出方法。如果要输入/输出其它类型的数据,如常用的整数,则必须由应用程序来实现与字符之间的转换。例如,欲输出整数126,只能以字符(串)的方式输出1、2、6。对于程序员来说,在需要用户输入时给出输入提示,对输入数据进行有效性检查,在输出结果时说明其表示的含义,是一种好的设计习惯。1/19/202380 x86汇编语言程序设计1/19/202380 x86汇编语言程序设计1/19/202380 x86汇编语言程序设计1/19/202380 x86汇编语言程序设计第一章第一章 基础知识基础知识第五章第五章 汇编语言程序结构汇编语言程序结构 例:从键盘输入字符
7、并将输入的字符显示出来,如果输入是英文字符小写字母,例:从键盘输入字符并将输入的字符显示出来,如果输入是英文字符小写字母,将小写字母转换成为大写字母。将小写字母转换成为大写字母。data segmentmessage dbThis is a sample program of keyboard and disply db0dh,0ah,Please strike the key!,0dh,0ah,$data ends;定义数据段,数据段给出提示内容。在数据段中;定义数据段,数据段给出提示内容。在数据段中0dh和和0ah分别表示回车和分别表示回车和;换行字符。字符;换行字符。字符$表示字符串的结
8、束标志。如果没有回车和换行会出现什表示字符串的结束标志。如果没有回车和换行会出现什;么显示结果。;么显示结果。1/19/202380 x86汇编语言程序设计第一章第一章 基础知识基础知识第五章第五章 汇编语言程序结构汇编语言程序结构stacksegment stackdb50 dup(?)stackends;定义堆栈段。其中;定义堆栈段。其中 参数参数stack表示程序在运行过程中,该段为系统堆栈段中表示程序在运行过程中,该段为系统堆栈段中;的一部分。如果不加这个,将单独对本程序建立堆栈。;的一部分。如果不加这个,将单独对本程序建立堆栈。codesegmentassume cs:code,ds
9、:data,ss:stack;明确段寄存器与段定义之间的关系;明确段寄存器与段定义之间的关系start:movax,data movds,axmov ax,stack;可以省,为什么?;可以省,为什么?mov ss,ax;可以省,为什么?;可以省,为什么?;初始化段寄存器;初始化段寄存器1/19/202380 x86汇编语言程序设计第一章第一章 基础知识基础知识第五章第五章 汇编语言程序结构汇编语言程序结构movdx,offset messagemovah,9int21h;显示字符串。调用;显示字符串。调用21H中断(也是中断(也是DOS功能调用)的功能调用)的9号功能,该功能是号功能,该功能
10、是;显示字符串,其中;显示字符串,其中DS:DX为字符串地址,为字符串地址,$为字符串结束标志。为字符串结束标志。again:movah,1int21h;调用;调用21H中断的中断的1号功能,将键盘输入的字符号功能,将键盘输入的字符ASC码存在码存在al寄存器寄存器cmpal,1bh;和;和ESC键输入字符对比键输入字符对比jeexit;如果是按下;如果是按下ESC键,就跳转结束键,就跳转结束cmpal,61h;和;和a字符对比字符对比jcnd;产生借位,就是小于;产生借位,就是小于a字符,跳转到字符,跳转到nd直接输入结果直接输入结果cmpal,7ah;和;和z字符对比字符对比jand;没有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本控制结构 基本 控制 结构 PPT 课件
限制150内