汇编语言程序设计实验报告(二) 一、实验目的 1)加深对循环结构的理解。 2)掌握循环程序的设计方法。 3)学习子程序的定义和调用方法。 4)掌握子程序、子程序的嵌套、递归子程序的结构。 5)掌握子程序设计、编制及调试。 6)熟练掌握 DEBUG 的常用命令,学会用 DEBUG 调试程序。 二、实验内容 1)编制在屏幕上显示九九乘法表的程序。 2)编制在屏幕上显示用*组成的三角形的程序。 三、实验结果 (1) (2) 四、源代码 (1) DATA SEGMENT M DB 31H,32H,33H,34H,35H,36H,37H,38H,39H DATA ENDS STACK1 SEGMENT STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV CX,9 MOV DI,OFFSET M LOP1:PUSH CX MOV CX,[DI] AND CX,0FH MOV SI,OFFSET M LOP2:MOV AL,[SI] MOV DL,AL MOV AH,2 INT 21H AND AL,0FH MOV BH,AL MOV DL,'*' MOV AH,2 INT 21H MOV BL,[DI] MOV DL,BL MOV AH,2 INT 21H MOV DL,'=' MOV AH,2 INT 21H AND BL,0FH MOV AL,BH MUL BL MOV AH,0 MOV DL,10 DIV DL MOV BL,AH CMP AL,0 JE NEXT MOV DL,AL ADD DL,30H MOV AH,2 INT 21H NEXT:MOV DL,BL ADD DL,30H MOV AH,2 INT 21H MOV DL,' ' MOV AH,2 INT 21H INC SI LOOP LOP2 MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH INT 21H INC DI POP CX LOOP LOP1 MOV AH,4CH INT 21H CODE ENDS END START (2) STACK1 SEGMENT STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK1 BEGIN: MOV AH,1 INT 21H MOV BL,AL SUB BL,30H MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H MOV BH,0 MOV CX,BX MOV BX,1 L1: PUSH CX MOV CX,BX L2: MOV DL,'*' MOV AH,2 INT 21H LOOP L2 MOV DL,0AH MOV AH,2 INT 21H MOV DL,0DH MOV AH,2 INT 21H ADD BX,1 POP CX LOOP L1 MOV AH,4CH INT 21H CODE ENDS END BEGIN 五、实验心得 这是第二次做汇编实验,首先,心理上已经没有了第一次做实验的那种茫然,知道了想要编写一个完整的程序,应当先将这一个大问题分解成若干个小的问题,找出每一个小问题所对应的解决方法,然后用代码一步一步实现,再将这一个一个...