《基本结构程序设计》PPT课件.ppt_第1页
《基本结构程序设计》PPT课件.ppt_第2页
《基本结构程序设计》PPT课件.ppt_第3页
《基本结构程序设计》PPT课件.ppt_第4页
《基本结构程序设计》PPT课件.ppt_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、牙齿章节的内容:掌握顺序结构程序的设计。掌握分支转移命令的使用。掌握分支程序和循环程序的设计方法。第5章基本结构计算机编程,牙齿章节要求,1 .熟悉顺序结构程序的设计方法,并可以使用汇编语言基本命令熟练掌握顺序结构计算机编程。2.熟练掌握使用分支转移命令、有效的测试标志生成方法、转移命令方法选择等。掌握分支计算机编程方法。掌握循环计算机编程方法和字符串命令的应用。牙齿章节的重点和难点:装配指令的综合应用和多分支,多循环计算机编程。计划时间: 8-10点,顺序结构程序在设计上比较简单,按照命令书的编写顺序执行一系列任务。这也称为直线程序。配置,输入数据,已知数据,即计算机可以运算的对象,处理,根

2、据问题的需要对输入数据进行适当的运算处理,输出结果,运算处理结果输出,基本语句:资料传输命令,算术运算命令和逻辑运算符命令,执行进程:5.1顺序结构计算机编程.整个过程:数据段;启动数据段STRING DB WELCOME!13,10,$数据恩德斯;数据段结束代码段;片段开始assume cs:代码,ds: data start : mov ax,数据移动ds,ax;设置Dsmovah,9。子功能编号9,输出字符串leadx,string字符串偏移地址int 21h调用系统功能MOV AX,4c00h返回到Dos int 21h code ends:片段结束开始,示例:为3个8位无符号86H、

3、34H、21h编写RESULT=86H*34H-21H的程序。data segment num db 86h,34h,21h result dw?data ends code segment assume cs : code、ds: data start : mov ax、data mov ds、ax leasi、num mov al、si mov bl、si1BX高位字节为0 subax,BX mov result,AX;计算结果Movah,4ch Int 21h Code Ends end Start存储,示例:以BUF开头的内存具有015的平方值表。表格会取得x个储存格数目(015到01

4、5)的平方值,并传回x个储存格。data segment buf db 0、1、4、9、16、25、36、49、64、81、100、121、144、169、196、2功能:无条件将程序发送到指定的目标地址、类型、段内传输、IP值更改段间移植、IP和CS值更改、直接、间接、格式:JMP目标标签、功能:IP IP disp、格式:JMP字符地址指针、功能:IP无条件转移命令JMP,功能:满足基于特定标志位或标志位的逻辑操作的条件,如果向指定目标转移过程的条件不满足,则执行节目顺序。,注意:条件切换的目标地址在127或-128字节范围内。1。单标志位的条件切换命令2。组合条件的条件切换命令,2 .条

5、件切换命令,(1)。单个标志位的条件移植命令,类型,C标志Z=1:00,上一个,JNE/JNZ,Z=0:00,上一个,S标志,JS,S=1:00,上一个,JNS,S=0:00(2)在条件切换命令之前安排算术运算、比较、测试等,以影响相应标志位的指令,无符号数:a大于b小于有符号数。g表示大于L时小于L;过程1: CMP AX,0 JZ L MOV CX,200 JMP NEXT L: MOV CX,50 next:比较AX是否为0;如果AX为0,则ZF=1,如果传输AX不是0牙齿,则CX=200,转到NEXT,过程段2: CMP AX,0 JNZ L MOV CX,50 JMP NEXT L:

6、 MOV CX,200 NEXT:是 :检查AX当前值的正负,如果为正数,则将CX设置为50,过程1比较AX是否为零,并影响SF标志。如果AX为正数(即SF=0),则发送;如果AX为负数,则CX=200,转至NEXT;过程2: ADD AX,0 JS L MOV CX,50 JMP NEXT L: MOV CX,200 NEXT:过程3(测试为ZF):TEST AX,8000h jnz l mov过程部分SHR AX,1,范例 :知道W为16位数,W为正数则为Z=W,0则为Z=400H,负值则为Z=|W| 50H。流程图片段,程序片段1: MOV AX、W CMP AX、0 JZ L1 JNS

7、 L2 NEG AX ADD AX、50H MOV Z、AX JMP NEXT L2: MOV Z、AX JMP NEXT L1: MOV Z、Joe、jns和节目段如下:movax、x CMP ax、50 jg too _ high如果大于,则转至too _ highsubax,y overflow。溢出发送nonneg结果为:neg ax nonneg : mov result,ax too _ high : overflow :yes:已知x以有符号数比较x值,如果x大于55H,则y=编程解决牙齿问题。、MOV AX、X CMP AX、55h第一次比较jg xgy大于CMP AX,-1;

8、第二个比较JL xly小于MOV Y,0;y=0 jmp exit xly:negax;查找绝对值MOV Y,ax。结果为Y JMP EXIT XGY: SAR AX,1;如果大于,则Y=X/2-30H SUB AX,30H MOV Y,AX;结果为Y TEST:5.2.2双分支结构节目,1 .必须执行双分支结构程序的一般结构、双分支结构程序的一般结构1、双分支结构程序的一般结构2、在执行条件生成条件测试之前生成状态标志的第一个命令(例如测试)。准备条件检查。测试和方向条件切换命令自动测试相应的状态标志位,以确定是否满足条件并确定进程的其他方向。每个条件切换命令都恰好有两个茄子选择、切换或顺序

9、执行。标签对于每个分支,必须标记发送的目标地址。需要注意的问题,2 .双分支结构计算机编程示例,示例 :设计字符比较节目,两个字符相同时为YES显示否则,no,data segment D1 db a D2 db res1 db yes,$ res2 db no,$ data ENDS CODE segment assume cs 3360 CODE,ds : data start 3360 mm 大小比较,向a单元发送更大的数量,data segment a db 39h b db 0b4h data ends code segment assuuus ds : data start : m

10、ov ax,data mov ds,ax mov al 数据段DA1 DBX1、X2;X1,X2是两个有符号的MAX DB吗?data ends stak segment stack dw 20h dup(?)stak ends code segment assume cs : code,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,da1获取X1并将其发送到AL的CMP AL,DA1 1 JGE L1。XX2移动到L1时,将生成MOVAL,DA1分支。对于XX2,DA1的内容包括AL L1: MOV MAX、AL MOV AH、4ch int 21h code ends end start、5.2.3多分支结构计算机编程,语义3360进程有三个或更多分支,设计方法:双分支1。在多双分支结构中实施多分支结构计算机编程,示例 :计算符号函数SNG(X)值,数据段x db 0b9h y db?data ends code segment assume cs : code、ds: data

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论