ImageVerifierCode 换一换
格式:PPT , 页数:162 ,大小:644.50KB ,
资源ID:11670419      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11670419.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第5章-程序举例.ppt)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第5章-程序举例.ppt

1、第5章 汇编语言程序设计,一.EXE文件编程格式 允许源程序使用多个逻辑段,适合编写大型程序,最 终能生成.EXE文件,例:将N1和N2两个单字节数以28为模求和SUM单元,5.1 汇编源程序的编程格式,.486 DATA SEGMENT USE16 N1 DB x x N2 DB x x SUM DB?DATA ENDS STACK_ SEGMENT STACK STACK USE16 DB 128 DUP(?)STACK_ ENDS,BEG:MOV AX,DATA MOV DS,AX MOV AX,STACK_ MOV SS,AX MOV SP,128 MOV AL,N1 ADD AL,N

2、2 MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END BEG,可省,CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA,SS:STACK_,说明:.EXE文件中堆栈段的设置 本例以“STACK_”为段名的逻辑段,选用了“STACK”链接参数,DOS自动认为“STACK_”段为堆栈段。所以,DOS将自动给SS:SP赋初值 因此,源程序给SS:SP赋初值的三条语句是多余的。,链接程序要求:.EXE文件中的源程序必须有堆栈段,否则链接时将给出警告信息 Warning no stack segment 但这不代表源程序有错,仅仅是警

3、告而已,如果源程序中不设置堆栈段(在链接时,会给出错误 信息),DOS将自动给程序分配最少128 字节的堆栈 区,故源程序中,如果没有大量数据压栈的话,可以不 设置堆栈段,从而简化程序。,二.COM文件的编程格式 1.汇编语言规定:COM文件的源程序只能有一个段:代码段,不允许 有堆栈段 在代码段偏移地址=100H处,必须是程序的启动指令 程序中使用的数据可以放在代码段的开始或结尾,.486.486CODE SEGMENT USE16 CODE SEGMENT USE16 ASSUME CS:CODE ASSUME CS:CODE ORG 100H ORG 100HBEG:JMP START

4、BEG:MOV AL,N1N1 DB XX ADD AL,N2 N2 DB XX MOV SUM,ALSUM DB?MOV AH,4CHSTART:MOV AL,N1 INT 21H ADD AL,N2 N1 DB XX MOV SUM,AL N2 DB XX MOV AH,4CH SUM DB?INT 21H CODE ENDS CODE ENDS END BEG END BEG,2.例:上例,写成COM格式源程序,3.COM文件的生成 设上例的文件名为 N1ADDN2.ASM 编辑生成 N1ADDN2.ASM 调用 TASM.EXE 生成 N1ADDN2.OBJ TASM N1ADDN2

5、调用 TLINK.EXE 生成 N1ADDN2.COM TLINK N1ADDN2/t 注意:链接参数为小写字母 t,三.EXE 文件、COM文件的内存映像,INT 20H,.,数据段,代码段,堆栈段,DS=ES,CS:IP,SS:SP,PSP,用户程序,EXE文件内存映像,EXE文件的内存映像 DOS把EXE文件调入内存之后,自动在目标程序上方(低地址处)生成一个有256字节的数据块程序段前缀(PSP)DOS令DS=ES=PSP段基址,即DS用户数据段段基址,ES用户附加段段基址 DOS令CS:IP=代码段启动指令的逻辑地址,三.EXE 文件、COM文件的内存映像,INT 20H,.,数据段

6、,代码段,堆栈段,DS=ES,CS:IP,SS:SP,PSP,用户程序,EXE文件内存映像,EXE文件的内存映像 DOS令SS:SP=用户堆栈段(如果有堆栈段的话)栈顶的逻辑地址,所以:用户程序必须给DS赋值,使DS=用户数据段段基址;用户程序必须给ES赋值,使ES=用户附加段段基址FS=GS=0,如果用户程序使用了FS、GS附加段,则必须给FS、GS赋初值,三.EXE 文件、COM文件的内存映像,INT 20H,.,代码段,堆栈段,00 H,00 H,CS=DS=ES=SS,IP=100H,SP,PSP,64K-256,COM文件内存映像,2.COM文件内存映像COM文件调入内存后,DOS也

7、在其上方生成一个PSP CS=DS=SS=ES=PSP段基址,即用户程序的代码段、数据段、ES附加段和堆栈区都在一个64k的逻辑段中 DOS自动使IP=100H,自动执行偏移地址为100H处的那条指令,三.EXE 文件、COM文件的内存映像,INT 20H,.,代码段,堆栈段,00 H,00 H,CS=DS=ES=SS,IP=100H,SP,PSP,64K-256,COM文件内存映像,2.COM文件内存映像DOS自动使SP=FFFEH,且SS:SP=SS:SP+1=0,这就意味在COM文件中代码段以下,FFFEH以上这一片存储单元都是用户的堆栈区 FS=GS=0,四.程序段前缀 PSP PSP

8、是一个有256字节的数据块,由DOS在装载可执行文件时自动生成。DOS通过PSP向用户程序传递数据,PSP是程序运行不可缺少的部分 每一个可执行文件都伴随有自己的PSP,五.返回DOS的基本方法 对于EXE文件和COM文件,返回DOS最常用的方法 是调用“INT 21H”的4CH功能。除此之外:1.对于COM文件还有以下3种方法可以返回DOS,即:直接执行INT 20H;,调用INT 21H的0号功能;执行RET指令。如果此时SP仍然等于FFFEH的话(程序中规范的使用堆栈,在执行RET之前把进栈的 数据全部弹出,则SP必然等于FFFEH),CPU将无条件 转入PSP的首单元,执行那里的INT

9、 20H,返回DOS。2.对于EXE文件的编程格式,还有一种返回DOS的方法,就是在需要返回DOS的时候,设法使CPU转到PSP首 单元,执行那里的INT 20指令。为此,源程序必须采取 下面的3项措施,缺一不可:把代码段包含在一个远过程之中;在给DS赋初值之前,用下列3条指令把PSP首单元的 物理地址压入栈顶,即:,PUSH DS MOV AX,0 PUSH AX 在采取了以上两条措施之后,程序在需要返回DOS的地 方执行一条RET指令即可返回DOS。因为这条RET指令 是远过程中的返回指令,它将从栈顶弹出4个字节,即把 PSP首单元的物理地址反弹到CS:IP之中,从而使CPU转 移到PSP

10、首单元,执行那里的INT 20H,再返回DOS。综上所述,虽然返回DOS有好几种方法,但是调用 INT 21H 的4CH功能,是返回DOS的最常用的方法,它的 优点是简单、通用,而且有利于组织批处理文件。,BIOS/DOS调用模式:MOV AH,功能号 设置入口参数 INT n 分析出口参数,BIOS/DOS功能调用,子程序调用结束后一般都有出口参数,这些出口参数常放在寄存器中,通过出口参数可以知道功能调用的成功与否。,其中n值因子程序不同而可能不同,比如:ROM BIOS有n=51FH,DOS有n=20H,21H,232AH,2EH,2FH,33H和67H等几种情况。有的n只对应一个子程序,

11、有的n对应很多子程序,,.2 DOS系统I/O功能调用,在DOS功能子程序调用中,我们把通过INT21H来实现的子程序调用成为DOS系统功能调用。,调用模式:MOV AH,功能号 设置入口参数 INT 21H 分析出口参数,功能号01H 等待键入一个字符,有回显,响应Ctrl_C 入口参数:无。出口参数:AL=按键的ASC码,若AL=0,表明按键是功 能键、光标键,需再次调用此功能,才能返回按键的扩 展码。,功能号02H 显示一个字符,响应Ctrl_C 入口参数:DL=待显字符的ASC码。出口参数:无。本功能在屏幕的当前位置显示一个字符,光标右移一 格,如果是在一行末尾显示字符,则光标返回下一

12、行的开 始格。如果是在屏幕的右下角显示字符,光标返回时屏 幕 要上滚一行。试验表明,该项功能要破坏AL寄存器的 内容。功能号07H 等待键入一个字符,无回显,不响应Ctrl_C。入口参数:无。出口参数:AL=按键的ASC码,若AL,需再次调用 该功能才能在AL中得到按键的扩展码。,功能号09H 显示字符串,响应Ctrl_C。入口参数:DS:DX=字符串首地址,字符串必须以$(即ASC码24H)为结束标志。出口参数:无。该项功能从屏幕当前位置开始,显示字符串,遇到结束标志$时停止,$字符并不显示。实验表明,9号功能也破坏AL寄存器的内容。,功能号08H 等待键入一个字符,无回显,响应Ctrl_C

13、。入口参数:无。出口参数:AL=按键的ASC码,若AL0,需再次调用 该功能才能在AL中得到按键的扩展码。,功能号0AH 等待键入一串字符,送用户程序数据缓冲区 入口参数、出口参数如图所示。,0AH要求键入的字符串以“回车”作为结束标志,换句话说,按下回车键后,此功能调用结束,光标返回当前行始格。“回车”符留在缓冲区当中。对数据缓冲区的格式有如下要求:缓冲区要设置在用户程序数据段,调用前,缓冲区首址偏移量应赋给DX寄存器。缓冲区首单元应预置“允许接受的字符个数”(包括回车符在内)。用户键入回车后,由0AH功能把实际键入的字符个数(不包括回车符)写入BUF+1单元。键入的字符串从BUF+2单元开

14、始依次存放。因此,缓冲区的容量要大于或等于键入串的长度+2(注意:键入的字符串长度应包括回车符)。缓冲区不接受超长字符,并发出声响以示警告,0AH在接收字符的过程中,有回显,响应Ctrl_C,按下退 格键可删除屏幕及缓冲区中的当前字符。下面的程序段给出了0AH功能调用的示范,它允许用户 键入15个字符(包括回车键)。假设 数据段 BUF DB 15 DB?DB 15 DUP(?)代码段.MOV AH,0AH MOV DX,OFFSET BUF INT 21H.,功能号0CH清除键盘缓冲区,然后调用由AL指定的功能。入口参数:AL允许是:01H 键入一个字符,有回显,响应Ctrl_C。06H 字

15、符 I/O。07H 键入一个字符,无回显,不响应Ctrl_C。08H 键入一个字符,无回显,响应Ctrl_C。0AH 键入一串字符,写入用户数据区。其他入口参数应根据相关的功能,另行设置。,功能号4CH 该功能是指,终止当前程序的运行,并把控制权交给调用它的程序。由被终止程序打开的全部文件都被关闭,该项功能还把程序占用的内存空间交还给DOS另行分配。该项功能允许被终止的程序传送一个“返回码”给调用它的程序。假若被终止的程序是由DOS 命令调入的,那么返回码可以被DOS批处理命令中的“IF ERRORLEVEL”子命令识别。入口参数:AL=返回码(或者不设置)。出口参数:无。说明:当用户程序执行

16、1,2,8,9,0AH,0BH,OCH功能调用 时,如果键入Ctrl_C或者Ctrl_Break,DOS将自动调用INT 23H中断处理程序,从而强行使用户程序中断,我们称 为响应Ctrl_C。,例:人机会话程序。问题:如何设置程序运行所需的数据?有以下几种方法数据设置在程序的数据段程序运行时通过人机会话临时键入程序装入时通过命令行参数给出 本例学习前两种方法,并以此学习DOS功能调用。,Li mai?(Y/N),What is your name?,1.会话内容及设计思路,Li nai;前者是程序给出的询问信息,后者是用户键入的回答,N;程序复制的姓名和回答提示,Li mai;再次问答,Li

17、 nai?(Y/N),What is your name?,Y,2.框图:,N,DATA SEGMENT USE16 MESG1 DB 0DH,0AH DB What is your name?$MESG2 DB?(Y/N)$BUF DB 30 DB?DB 30 DUP(?)DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DA:DATA BEG:MOV AX,DATA MOV DS,AX AGAIN:MOV AH,9 MOV DX,OFFSET MESG1 INT 21H;询问姓名 MOV AH,0AH MOV DX,OFFSET BUF INT 21H

18、;接收键入字符串 MOV BL,BUF+1 MOV BH,0,.486,;实际键入的字符个数BX MOV SI,OFFSET BUF+2 MOV BYTE PTRBX+SI,$;用$作为串结束符 MOV AH,2 MOVDL,0AH INT 21H;光标下移一行 MOV AH,9 MOV DX,OFFSET BUF+2 INT 21H;复制键入的字符串 MOV AH,9 MOV DX,OFFSET MESG2 INT 21H;给出认可信息 MOV AH,1 INT 21H;等待键入 CMP AL,Y;比较 JNE AGAIN MOV AH,4CH INT 21H;返回 DOSCODE ENDS

19、 END BEG,.3 BIOS键盘输入功能调用,主板EPROM中固化有基本I/O系统程序BIOS,它是最接近硬件的驱动程序,BIOS中的许多子程序可被用户程序调用,调用这些子程序称为BIOS功能调用。,调用模式:MOV AH,功能号 设置入口参数 INT 16H 分析出口参数,BIOS常用的键盘输入功能调用如下:(调用指令INT 16H)功能号00H读取键入的一个字符,无回显,响应Ctrl_C,无键入则等待。入口参数:无。出口参数:AL=键入字符的ASCII码.若AL=0,则AH=输入键的扩展码。,功能号01H 查询键盘缓冲区。入口参数:无。出口参数:Z标志=0,表示有键入,此时AL=键入字

20、符的码,AH=键入字符的扩展码。注意:该功能调用结束后,键代码仍留在键盘缓冲区中。Z标志=1,表示无键入。,功能号02H 读取当前转换键状态。入口参数:无。出口参数:AL=键盘状态字。状态字各位定义如下:AL7位置1 表示Insert键有效(被奇数次按下)。AL6位置1 表示Caps Lock键有效(相应的指示灯亮)。AL5位置1 表示Num Lock键有效(相应的指示灯亮)。AL4位置1 表示Scroll Lock键有效(相应的指示灯亮)。AL3位置1 表示按下了Alt键。AL2位置1 表示按下了Ctrl键。AL1位置1 表示按下了左Shift键。AL0位置1 表示按下了右Shift键。,功

21、能号10H 读扩展键盘,无回显,响应Ctrl_C。入口参数:无。出口参数:AL=键入字符的ASC码,若AL=0,则AH=键入字符的扩展码。功能号11H 查询扩展键盘缓冲区。入口参数:无。出口参数:Z标志=0,表示有键入,此时AL=键入字符的ASC码,AH=键入字符的扩展码。注意:该功能调用结束后,键代码仍留在键盘缓冲区中。Z标志=1,表示无键入。,功能号12H读取扩展键盘的转换键状态。入口参数:无。出口参数:AL=扩展键盘状态字,AL7 AL0的置位条 件同功能号02H。,例如:SCAN:MOV AH,1 INT 16H JZ SCAN MOV AH,0 INT 16H;按键的键代码AL,.4

22、 CRT显示器与BIOS文本显示功能调用,显示器是输出设备,显示适配器是CRT与主机的接口电路,CRT和CRT适配器共同组成了显示系统,文本方式:显示数字,字符 图形方式:显示点,由点(像点)组成图形,2.显示存储区与显示屏,单显8025文本方式,彩显8025文本方式,0页,1页,2页,3页,B000,B800,B900,BA00,BB00,ASC码,属性,.,ASC码,属性,:0000:0001,:0F9E:0F9F,079列,024行,显示存储区与屏幕字符的对应关系,显示存储区是系统RAM的一部分,其中存放待显字符 的 ASC码和它的属性字。工作在8025文本方式下,屏幕被“划分”为200

23、0个“方 格”,每一个方格显示一个“点阵字符”,列号0 79,行号 0 24。显示器一个小方格对应显示存储区的两个单元,所以 2000个方格对应4000个单元。彩显适配器,文本显示存储区有16K,分为4页(0 3)段基址为 B800H,B900H,BA00H,BB00H。,3.当前页 系统启动时,BIOS自动完成显示适配器的初始化,显示器自动工作在8025黑白文本方式,并且默认第0页为“当前页”。CRT控制器按50屏/秒的速度从0页 显示区取字符屏幕显示,重复不断,故能收到稳定显 示的效果。调用5#功能,可以选择其他显示存储区(1 3)为“当前页”。,4.文本方式属性字 彩显属性字:,5.屏显

24、的编程方法 DOS功能调用(如:2#,9#)BIOS功能调用(0EH#,13H#)直接对显示存储区进行写操作,6.BIOS屏显功能调用的调用模式 MOV AH,功能号 预置入口参数 INT 10H 分析出口参数,7.文本方式BIOS屏显子功能 调用指令INT 10H。功能号00H 设置屏幕显示方式(兼有清屏功能)入口参数:AL=0 4025 黑白文本方式 AL=1 4025 彩色文本方式 AL=2 8025 黑白文本方式 AL=3 8025 彩色文本方式 出口参数:无。,功能号02H 预置光标位置。入口参数:BH=显示页号,DH=行号,DL=列号。出口参数:无。功能号05H 设置当前显示页。入

25、口参数:AL=显示存储器页号(在80 列方式中为03)。出口参数:在屏幕上显示出指定显示页的字符(只对文 本方式有效)。,功能号06H 窗口上滚。入口参数:AL=窗口上滚的行数,BH=底部空白行属性字,CH、CL=窗口左上角的行、列号,DH、DL=窗口右下角的行、列号。出口参数:无。说明:该功能允许在屏幕上定义一个窗口,并使窗口信息上 滚AL行。窗口是屏幕上一个局部的显示框,窗口上滚一行,即:窗 口顶部信息移出窗口之外而消失,窗口底部自动留出一 行空白,底部空白行的属性由BH中属性字决定。若AL=0,则窗口信息全部移出。,功能号0EH 显示一个字符。入口参数:AL=待显字符的ASC码。出口参数

26、:无。说明:该功能在光标的当前位置显示一个字符,随后光标 前进一格,满一行后自动换行,满一页则整屏信息上滚一 行。与DOS系统的2号功能调用具有相同的效果。,功能号13H 显示字符串。入口参数:AL=03,BH=显示页号,BL=属性字(当AL=0,1时有效),CX=串长度,DH,DL=字符串显示的起始行、列号,ES:BP=待显字符串首地址。出口参数:无。,说明:仅286以上微机BIOS有此功能,该功能从屏幕的指定 位置开始显示一串彩色字符。待显字符串需放在附加段,首地址偏移量需写入BP寄 存器。AL=0表示:待显字符串中仅包含字符的ASC码,串中 各字符的属性由BL中的属性字决定,串显示结束后

27、,光 标返回到调用前的位置。AL=1表示:待显字符串中仅包含字符的ASC码,串中 各字符的属性由BL中的属性字决定,串显示结束后,光 标停留在字符串的末尾。,AL=2表示:待显字符串中包含有各个字符的ASC码 和属性字,格式为ASC码,属性,ASC码,属性。串显示结束后,光标返回到调用前的位置。AL=3表示:待显字符串中包含有各个字符的ASC码 和属性字,格式同上,串显示结束后,光标停留在字符串 的末尾。当AL选择2或3的时候,CX中的串长度不包括各字符的 属性字节。,8.什么是“窗口上滚”?窗口:屏幕上任意位置的一个巨型区域称为一个“窗口”号功能可以在屏幕上定义一个窗口,并使窗口中 的信息向

28、上“平移”若干行,这称为“窗口上滚”,上滚后顶 部行信息移出窗口而消失,底部留出一空白行,空白行的 属性可由用户选择。,注意:13H功能是唯一能显示彩色字符的子功能 例:在屏幕左上角显示HELLO 黑底灰白字符 在屏幕中央显示 I AM A STUDENT 红底白字,思路:显示HELLO,用DOS功能#要求待显字符串放在数据段,串尾用$作结束符,显示I AM A STUDENT,用 BIOS 13H 功能它要求待显字符串在附加段 这意味着源程序至少要有三个逻辑段,我们令数据 段与附加段“重叠”,这样源程序仅设置两个逻辑段 即可。,.486DATA SEGMENT USE16MESG1 DB H

29、ELLO$MESG2 DB I AM A STUDENTLL=$MESG2DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE ASSUME DS:DATA ASSUME ES:DATA BEG:MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,0003H INT 10H,MOV AH,9 MOV DX,OFFSET MESG1 INT 21H MOV AX,1301H MOV BH,0 MOV BL,01001111B MOV CX,LL MOV DH,12 MOV DL,(80-LL)/2 MOV BP,OFFSET MESG2

30、INT 10H MOV AH,4CH INT 21H CODE ENDS END BEG,5.5 分支程序,例.二进制数显示 将BX寄存器中的内容以二进制数格式屏显,DOS功能调用 BIOS功能调用:(本例令BX=5678H),1,数BX,16次CX,C标=?,1AL,调BIOS.0EHCX-1CX,CX=0,0ALBX左移一位,0,N,Y,返DOS,解:486CODE SEGMENT USE16 ASSUME CS:CODE BEG:MOV BX,5678H MOV CX,16 LAST:MOV AL,0 ROL BX,1 JNC NEXT MOV AL,1 NEXT:MOV AH,0EH

31、INT 10H LOOP LAST MOV AH,4CH INT 21H CODE ENDS END BEG,例.复合分支举例(书例自学)某科室9人,统计月收入在800900间的人数,并用十进制数显示。,解:月收入是无符号数,对一批数处理应该用间址。,解:486DATA SEGMENT USE16NUM DW XX,XXDATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG:MOV AX,DATA MOV DS,AX MOV BX,OFFSET NUM MOV CL,9 MOV DL,0LAST:CMP WORD PTR BX,800 JC

32、NEXT;800时转 CMP WORD PTR BX,900,JA NEXT;900转 INC DLNEXT:INC BX INC BX DEC CL JNZ LAST ADD DL,30H;DL=09ASC码 MOV AH,2 INT 21H MOV AH,4CH INT 21HCODE ENDS END BEG,例.多分支段内转移要求:键入0,转P0程序段 键入1,转P1程序段 键入9,转P9程序段,思路:用比较指令配合直接转移指令实现 CMP 键入字符,0 JE P0 CMP 键入字符,1 JE P1,用转移地址表配合间接转移指令实现,解:486DATA SEGMENT USE16TAB

33、 DW P0,P1,P9;汇编后自动装入相应的偏移地址MESG DB 0DH,0AH,strike 09:$DATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG:MOV AX,DATA MOV DS,AXAGA:MOV AH,9 MOV DX,OFFSET MESG INT 21H MOV AH,1 INT 21H CMP AL,0 JC AGA,CMP AL,9JA AGASUB AL,30HMOVZX BX,ALADD BX,BX;2BXBXMOV SI,OFFSET TABJMP BX+SI;DS:BX+SI IPP0:P1:P9:CODE ENDS END BEG,1.循环程序的结构,5.6 循环程序,2.结束循环的技巧(编程技巧)用寄存器做循环计数器用内存单元做循环计数器用循环结束标志结束循环,例.设从BUF单元开始,存有若干

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2