微机原理与汇编语言第07章.pptVIP

  • 39
  • 0
  • 约1.59万字
  • 约 69页
  • 2017-08-31 发布于江西
  • 举报
微机原理与汇编语言第07章

第7章 汇编语言程序设计 第7章 汇编语言程序设计 7.1 简单程序设计应用举例 7.2 分支程序设计及应用举例 7.3 循环程序设计及应用举例 7.1 简单程序设计应用举例 简单程序是指顺序结构程序, 在程序中不包含任何转移类指令. 执行时按指令的先后次序从第一条开始逐条执行,直至程序结束. 例题 例题 1 有X,Y两个16位数3456H和0ABCDH,求两数之和,并将结果送到Z单元. 解:①编写流程图 例题(续上页) 程序清单 DATA SEGMENT X DW 3456H Y DW 0ABCDH Z DW 00 DATA ENDS ;设置数据段,取名DATA CODE SEGMENT ASSUME DS :DATA,CS:CODE START : MOV AX,DATA ;取数码段DATA段址至AX MOV DS,AX ;段地址送DS LEA SI,X ;将X的有效地址送S1 LEA DI, Y ;将Y的有效地址送D1 MOV AX,[SI] ;将X的值送AX ADD AX,[DI] ;AX+Y的值送回AX MOV Z, AX ;将AX的值送到存储单元Z MOV AH, 4CH ;设置功能号 INT 21H ;系统功能调用,返回DOS CODE ENDS END START [例7.1.2]:编写一个程序,实现键入任一个字符,显示其十进制的ASCⅡ码(例如:键入A,显示41H)。 [例7.1.3]:以BUF为首地址的内存单元中存有1~15的平方表。查表求X单元中数(在1~15之间)的平方值,并送回X单元。 7.2 分支程序设计及应用举例 7.2.1 条件转移指令 分支程序的基本思想是 根据逻辑判断的结果来 形成程序的分支。 如图,若A成立, 则执行P1;否则执行P2。 [例7.2.1]:以BUF为首地址的内存单元中,存放若干个8位的带符号数,统计≥0的数的个数,并将结果存入RESULT字节单元中。 7.2.2 分支结构程序设计应用举例 分支程序的基本思想是根据逻辑判断的结果来形成程序的分支,如图7-1,若A成立,则执行P1;否则执行P2。 [例7.2.3]:设一个字节的二进制数存放在BINNUM单元中。编写程序将它转换成十六进制数的形式显示在屏幕上。 7.2 分支程序设计及应用举例 利用转移指令,控制计算机执行某段程序或不执行某段程序,就是分支程序。 例题 1.内存中有一个8位带符号数,求其绝对值,并将结果放回原处. 解答: 程序清单 例题1 程序清单(续上页) DATA2 SEGMENT M DB 05H ; 第二个程序换成-5,即0fbh DATA2 ENDS CODE2 SEGMENT ASSUME CS:CODE2,DS:DATA2 START: MOV AX,DATA2 MOV DS,AX ;送段地址至DS LEA SI,M ;取M的指针 MOV AL,[SI] ;取带符号数 AND AL,AL ;判断符号位 JNS DONE ;SF=0,转移到DONE NEG AL ;SF=1,AL0,AL求补 DONE: MOV [SI],AL ;绝对值送回原内存单元 MOV DL, [SI] ADD DL, 30H MOV AH, 02H INT 21H ; 系统功能调用,显示该数值 MOV AH,4CH INT 21H CODE2 ENDS END START 例题 2. 编写程序实现函数. 1 (当X0) Y= 0 (当X=0) 9 (当X0) 解答: 程序清单 例题2 程序清单_数据段(续上页) DATAXY SEGMENT X DB 8FH ; 另外两组分别是7FH,00H Y DB ? DATAXY ENDS 例题2 程序清单_代码段(续上页) CODE SEGMENT ASSUME CS:CODE,DS:DATAXY START: MOV AX,DATAXY MOV DS

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档