《实验二循环与子程序程序设计.doc》由会员分享,可在线阅读,更多相关《实验二循环与子程序程序设计.doc(4页珍藏版)》请在金锄头文库上搜索。
1、实验二 循环与子程序程序设计一、 实验目的1) 加深对循环结构的理解。 2)掌握循环程序的设计方法。3)学习子程序的定义和调用方法。 4)掌握子程序、子程序的嵌套、递归子程序的结构。 5) 掌握子程序设计、编制及调试。 6) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。二、 实验内容3)编制在屏幕上显示九九乘法表的程序。4)编制在屏幕上显示用*组成的三角形的程序。三、 源程序EXAM23 DATA SEGMENT ATAD DB ?, 2AH, ?, 3DH, ?, ?, 20H, $ ATAD1 DB ?, 2AH, ?, 3DH, ?, ?, 0DH, 0AH, $DATA E
2、NDSSTACK SEGMENT STACK DB 20H DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV CL, 09H MOV BL, 00HOKL: MOV AL, 00H INC BLOK1: INC AL PUSH AX CMP BL, AL JZ OK MOV BH, AL MUL BL MOV DI, OFFSET ATAD CALL OKP POP AX JMP OK1OK: MOV BH, AL MUL BL MOV DI, OFFSET ATAD1
3、CALL OKP POP AX LOOP OKL MOV AH, 4CH INT 21HOKP PROC PUSH AX PUSH BX PUSH CX ADD BX, 3030H MOV DI, BH MOV DI + 02H, BL MOV CX, 0AH MOV DH, 00HOKL2: CMP AX, CX JS OK2 ADD CX, 0AH INC DH JMP OKL2OK2: SUB CX, 0AH SUB AX, CX MOV AH, DH ADD AX, 3030H MOV DI + 04H, AH MOV DI + 05H, AL MOV DX, DI MOV AH, 0
4、9H INT 21H POP CX POP BX POP AX RETOKP ENDPCODE ENDSEND START执行程序EXAM2-2EXE,屏幕上显示结果:1*1=011*2=02 2*2=041*3=03 2*3=06 3*3=091*4=04 2*4=08 3*4=12 4*4=161*5=05 2*5=10 3*5=15 4*5=20 5*5=251*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=08 2*8=16 3*8=24 4*8=32
5、 5*8=40 6*8=48 7*8=56 8*8=641*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81EXAM24CODES SEGMENTASSUME CS:CODESSTART: XOR BX,BX MOV DL,2AH MOV CX,9LOP: PUSH CX INC BL MOV CL,BL MOV DL,2AHLOP2: MOV AH,02H INT 21H LOOP LOP2 POP CX MOV DL,0AH MOV AH,02H INT 21H MOV DL,0DH MOV AH,02H INT 21H CMP BL,9 JZ ENDPRO LOOP LOPENDPRO: MOV AH,4CH INT 21HCODES ENDSEND START执行程序EXAM2-4EXE,屏幕上显示结果:*