河北工业大学汇编实验二.doc
文本预览下载声明
实验二 循环与子程序程序设计
一、实验目的
加深对循环结构的理解。
掌握循环程序的设计方法。
学习子程序的定义和调用方法。
掌握子程序、子程序的嵌套、递归子程序的结构。
掌握子程序设计、编制及调试。
熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
二、实验内容
3)编制在屏幕上显示九九乘法表的程序。
4)编制在屏幕上显示用*组成的三角形的程序。
三、实验设备
PC机一台
四、实验步骤
1) 按程序流程图编制实验程序。
2) 输入源程序。
3) 汇编、连接程序,执行程序,检查结果。
4)对内存单元3000H开始的100个存储单元用E命令输入任意数。
5) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。
6) 用D命令检查执行结果。
程序源代码
3)在屏幕上显示九九乘法表的程序
DATA SEGMENT
NUM1 DB 1,2,3,4,5,6,7,8,9
NUM2 DB 1,2,3,4,5,6,7,8,9
COUNT EQU $-NUM2
FH1 DB *,$
FH2 DB =,$
FH3 DB ,$
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START:MOV AX,DATA
MOV DS,AX
LEA SI,NUM1
LEA DI,NUM2
MOV CX,45
LOP1: PUSH CX
MOV BL,BYTE PTR [SI]
MOV DL,BL
MOV AH,02H
ADD DL,30H
INT 21H
MOV DL,FH1
MOV AH,02H
INT 21H
MOV AL,BYTE PTR [DI]
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV DL,FH2
INT 21H
MOV AH,0H
MOV AL,BYTE PTR [DI]
IMUL BYTE PTR [SI]
MOV BH,10
DIV BH
ADD AL,30H
ADD AH,30H
MOV BL,AH
MOV AH,02H
MOV DL,AL
INT 21H
MOV DL,BL
INT 21H
MOV DL,FH3
INT 21H
MOV AL,BYTE PTR [DI]
CMP AL,BYTE PTR [SI]
JE TAB1
INC DI
LOOP LOP1
TAB1: MOV AH,2H
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
LEA DI,NUM2
INC SI
POP CX
LOOP LOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START
在屏幕上显示用*组成的三角形的程序
DATA SEGMENT
DISP DB PLEASE ENTER THE LENGTH(0-9):,$
LENGTH1 DW ?
NUM DW ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 220H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV NUM,1
MOV DX,OFFSET DISP
MOV AH,09H
INT 21H
MOV DL,0DH
MOV AH,02H
IN
显示全部