77范文网 - 专业文章范例文档资料分享平台

汇编语言程序设计实验报告(2)

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

对编译成功之后的文件进行链接,以生成能运行的.exe文件,如下图1-1所示:

1-1

链接之后发现链接(Link)之后也是成功的,接下来就进行测试的最后一步,即运行

1.exe文件,输入一串字符串,看能否达到预期的目的,如达到,则成功,否者重新编译。

可见,与预期目的一致,达到了目的。 6.该实验使用的知识点: 1.中断调用,以及使用功能号实现输入输出 2.使用循环,无条件转移指令(JMP)等

实验二

1.

实验内容:

(1). 程序中自定义缓冲区AREA1,其中存放200个有序的无符号字型数据(至少有3个重复数据),编程序将其排序后送到自AREA2开始的单元中,要求传送后的数据从大到小排序,并实现查找功能,判定需要查找的数据在AREA1与AREA2中分别对应的位置,并通过查看内存验证结果的正确性。把有序的无符号字型数据换成带符号字型数据,实现以上功能。

(2). 熟悉DEBUG调试环境。使用DEBUG调试程序察看机器码,并单步执行,观察每一条指令的执行结果、 寄存器的内容、内存变量和堆栈数据的变化情况。

2. 实验代码如下:

assume ds:data, cs:code, ss:stack

data segment

area1 dw 2,2,2,10,15,255,0,67,143 count dw $-area1 index dw 0

area2 dw 200 dup(0) flag db 200 dup(0)

tips1 db 'Please input the number you want to find:','$' tips2 db 'Not Found!','$' crlf db 0dh,0ah,'$' output db 5 dup('$') data ends

stack segment stack dw 32 dup(?) stack ends

code segment

findmost proc ;find the greatest number in area1, put it in AX push bx push cx push dx push bp

lea bx,area1 mov dx,[bx]

add bx,2 lo:

cmp dx,[bx]

jge smaller

;jae smaller ;无符号时使用此指令,并将上条指令注释掉

and flag[bx],1 jnz smaller

mov dx,[bx] ;将当前最大值储存 mov bp,bx smaller:

add bx,2

cmp bx,count ;检查是否为最后一个元素

;记录最大值于ax jl notfinish mov ax,dx

mov WORD PTR ds:flag[bp],1

pop bp pop dx pop cx pop bx ret notfinish: jmp lo findmost endp

writeGreatest2area2 proc ;按照要求将数据写入area2 push ax push bx lea bx,area2 find_another: call findmost mov [bx],ax add bx,2

mov index,bx lea ax,area2 sub index,ax

lea ax,count cmp index,ax

jnz find_another pop bx pop ax ret

writeGreatest2area2 endp

convertDigital2Ascii proc push bx push dx

mov dx,ax xor bx,bx

mov cl,100 div cl add ax,48

mov output[bx],al inc bx

mov ax,dx mov cl,10 div cl add ah,48 add al,48

mov output[bx],al

inc bx

mov output[bx],ah

lea dx,output mov ah,9 int 21h

lea dx,crlf int 21h

mov ax,dx pop dx pop bx ret

convertDigital2Ascii endp

findTheValue proc ;在两个区域中分别查找数字ax的位置 push ax push bx push si push cx push dx

mov cx,count

mov bx,-2 equal1:

add bx,2

cmp ax,area1[bx] jnz equal1 push ax mov ax,bx

sar ax,1 inc ax

call convertDigital2Ascii pop ax

mov bx,-2 equal2:

add bx,2

cmp ax,area2[bx] jnz equal2 push ax mov ax,bx

sar ax,1 inc ax

call convertDigital2Ascii pop ax

pop dx pop cx pop si pop bx pop ax ret

findTheValue endp

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库汇编语言程序设计实验报告(2)在线全文阅读。

汇编语言程序设计实验报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/983853.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: