- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环程序设计莆田学院汇编实验
电子信息工程学系实验报告
成 绩:课程名称:
成 绩:
指导教师(签名):实验项目名称:循环程序的设计 实验时间: 2012.12.13
指导教师(签名):
班级:计算机*** 姓名:*** 学号:010704203*******
实 验 目 的:
掌握程序设计中的顺序结构和循环结构。
实 验 环 境:
轻松汇编,DOS环境
实 验 内 容 及 过 程:
编程实现:
(1)已知数据段定义如下:
data segment
x db 12
array db 1,5,8,16,18,21,-1
data ends
把数据x插入到数组array中。
(2)已知数据段定义如下:
data segment
x db 16
array db 1,5,8,16,18,21,-1
data ends
从数组array中删除掉值等于x的元素。
(3)已知数据段定义如下:
data segment
x db 8
array db 1,5,8,16,18,21,-1
data ends
找出x在数组array中的位置。
(-1为数组结束的标志)
实 验 结 果 及 分 析:
(1)插入:
(2)删除:
(3)查找:
把找到的位置放在CX寄存器中:
实 验 心 得:
经过本次的实验操作,使我掌握了汇编种的顺序结构、循环结构的代码编写,对debug以及00、02之类的命令的理解。
附 录:
插入:
程序代码:
DATA SEGMENT
VACANCY DB ?
ARRAY DB 1,5,8,16,18,21,-1
X DB 12
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA
START:
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV AL,X
BRA1:
MOV BL,ARRAY[SI]
CMP BL,-1
JE BRA2
CMP BL,AL
JGE BRA2
MOV BH,ARRAY[SI]
MOV ARRAY[SI-1],BH
INC SI
JMP BRA1
BRA2:
MOV ARRAY[SI-1],AL
RET
MAIN ENDP
CODE ENDS
END START
程序框图:
开始结束
开始
结束
si-0
al-x
array[si]不等于-1?
array[si-1]-x
ret
array[si-1]-array[si]
si-si+1
array[si]x?
bra1
bra2
N
Y
Y
N
删除操作:
DATA SEGMENT
X DB 16
ARRAY DB 1,5,8,16,18,21,-1
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
文档评论(0)