第5 章 程序设计方法和上机调试根据程序执行的控制结构,汇编程序的设计可分为:顺序结构程序设计、分支结构程序设计、循环结构程序设计和子程序的设计等这也是结构化程序设计的一般方法。任何程序必须经过调试,才能检查出解题目的是否正确以及程序是否符合设计思想。在调试程序的过程中,应该善于利用机器提供的调试工具( 如DEBUG) 和有效的其他工具软件来进行工作,经过反复的“运行—发现错误—改正错误—运行”,才能得到正确的程序。这一点对初学者特别重要,它将给汇编语言编程提供很大的帮助。程序的编写和调试运行是学好汇编语言的重要手段。只有多编写程序和多调试运行程序,才能有效地提高编写和阅读程序的能力。本章将重点介绍汇编程序设计和上机调试的一般方法。5-1 程 序 设 计 方 法5-6-1 顺序程序设计顺序程序是一种最简单的程序,也称为直线程序,它的执行自始至终根据语句出现的先后顺序进行。[ 例5-1] 求两个数的平均值。这两个数分别放在x 单元和y 单元中,而平均值放在z 单元中。程序如下:DATA SEGMENT x DB 95 y DB 87 z DB ? DATA ENDSCODE SEGMENT MAIN PROC FARASSUME CS :CODE ,DS :DATA START :PUSH DS MOV AX ,0 PUSH AX MOV AX ,DATA;装填数据段寄存器 DS MOV DS,AX MOV AL,x ;第一个数送入AL ADD AL,y ;两数相加,结果送 AL MOV AH ,0 ADC AH ,0 ;带进位加法,进位送 AH MOV BL,2 ;除数 2 送BL DIV BL ;求平均值送 AL MOV z ,AL ;结果送入 z 单元RET MAIN ENDPCODE ENDS END START [ 例5-2] 在内存中自tab开始的16个单元连续存放着0~15的平方值( 平方表) ,任给一个数x(0≤x≤15),如13,且存放在x 单元中,查表求x 的平方值,并把结果送入y 单元中。根据给出的平方表,分析表的存放规律,可知表的起始地址与数x之和,正是x的平方值所在单元的地址,由此编制程序如下: DATA SEGMENT tabDB 0 ,1 ,4 ,9 ,16,25,36,49,64,81 DB 100 ,121 ,144 ,169 ,196 ,225 x DB 13 y DB ?DATA ENDS CODE SEGMENTASSUME CS :CODE ,DS :DATA START :MOVAX ,DATA MOVDS,AX LEA BX,tab MOV AH ,0 MOV AL,x ADD BX,AX MOV AL,[BX] MOV y ,AL MOV AH ,4CH INT 21H CODE ENDS END START 5-1-2 分支程序设计 顺序程序的特点...