试验七汇编语言程序设计和调试.DOC
文本预览下载声明
实验七 汇编语言程序设计和调试(四)
——宏指令、子程序调用
一.实验目的
进一步了解汇编语言程序设计及程序设计中宏指令、子程序的调用.
二.实验准备
1. PC系列微型计算机一台;
2. 软件安装DOS系统、 、。NAME LX71
STACK SEGMENT STACKSTSCK
DW 32 DUP(0)
TOP EQU $
STACK ENDS
DATA SEGMENT
CV DB HELLO HOW ARE YOU,0AH,0DH,$
CZ DW 12 DUP(?)
CY DB ?,?,$
DATA ENDS
CODE SEGMENT
ASSUME SS:STACK,DS:DATA,CS:CODE
MAIN PROC FAR
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV CX,11H
LEA SP,TOP
LEA SI,CV
LEA DI,CZ
AGAIN: MOV AH,[SI]
CMP AH,20H ; 空格的ASCCII码
JZ NEXT ; 等于空格转
ADD AH,20H
MOV [DI],AH
NEXT: INC SI
INC DI
DEC CX
JNZ AGAIN
EXIT: LEA DX,CZ ; 显示字符串首址
MOV AH,09H ; DOS功能调用号
INT 21H
RET
MAIN ENDP
CODE ENDS
END MAIN
(Ⅱ)实验步骤:
(1)利用EDIT 全屏幕编辑程序的编辑功能输入以上程序,以文件名为LX71.ASM存入C盘MASM子目录下。
(2)在DOS系统下执行执行文件MASM.EXE ,用宏汇编程序将LX71.ASM.汇编成目标文件LX71.OBJ
(3) 运行LINK执行文件将目标文件LX71.OBJ连接成为可执行的文件LX71.EXE。
(4) 查看列表文件LX71.LST ,
键入C:\MASMEDIT LX71.LST
观察显示列表文件内容,记录有关内容:
① 数据段的起始单元的偏移地址:
数据段中变量CV、CZ、CY的偏移地址:
数据段占有字节数:
数据段变量CV单元存放的数据:
② 堆栈段的起始单元的偏移地址:
堆栈段占有字节数:
TOP值为:
(5)在DOS环境下运行程序程序运行结束屏幕所显内容为:命令观察屏幕所显示的内容NAME LX72
CRLF MACRO
MOV AL,02H ;02号DOS功能调用
MOV DL,0DH
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
ENDM
DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,34H ;被加数的BCD码数的ASC码,前为低位
DATA2 DB 35H,34H,30H,38H,32H ;加数的BCD码数的ASC码
DATA ENDS
STACK SEGMENT PARA STACK STACK
STA DB 20 DUP(?)
TOP EQU $
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,OFFSET TOP
LEA SI,DATA2
显示全部