《汇编语言程序设计》实验报告
实验二 汇编语言顺序程序设计
1. 实验目的
- 掌握汇编语言程序设计的基本方法和技能
- 熟悉并搭建汇编语言环境
- 掌握汇编语言源程序的编辑汇编连接和执行的完整过程
- 掌握汇编过程中各种命令的作用及使用方法
2. 实验任务
- 采用顺序结构设计汇编程序
- 分析顺序结构程序的执行过程,掌握顺序结构汇编语言程序设计
- 熟悉DEBUG常用命令的使用
3. 实验步骤
3.1 顺序结构题目设计
3.2 编写代码
代码一
DATAS SEGMENT
;此处输入数据段代码
D1 DB 0DH,0AH,'Welcome to Assembly Language Program.',0DH,0AH,'$'
D2 DB 0DH,0AH,'The program is completed.',0AH,0AH,'Welcome to use it next time.',0DH,0AH,'$'
D3 DB 10
D4 DW ?
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV DX,OFFSET D1 ;D1字符串输出
MOV AH,9
INT 21H
MOV AL,D3 ;AL<--10
MUL AL ;AX<--10*10
MOV CX,AX ;CX<--AX
MOV BL,D3 ;BL<--10
MOV AL,8 ;AL<--8
MUL BL ;AX<--8*10
ADD AX,CX ;AX<--80+100
SUB AX,30 ;AX<--100-30
MOV D4,AX ;D4<--AX
MOV DX,OFFSET D2 ;D2字符串输出
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
代码二
DATAS SEGMENT
;此处输入数据段代码
NUM DW 100
SUM DD ?
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AX,NUM
ADD AX,1 ;AX=N+1
MUL NUM ;DX.AX=(1+N)*N
SHR DX,1 ;32位逻辑右移一位,相当于/2
RCR AX,1 ;DX.AX=DX.AX/2
MOV WORD PTR SUM,AX
MOV WORD PTR SUM+2,DX ;按小端方式保存
MOV AH,4CH
INT 21H
CODES ENDS
END START
3.3 代码分析
3.4 运行测试
图表 1 代码一测试
图表 2 代码二运行
图表 3 代码二结果
4. 实验总结
- 成功配置并搭建起汇编语言环境
- 成功运行了汇编语言代码测试,熟悉了汇编语言运行环境
- 掌握了汇编语言程序设计的基本方法和技能