汇编语言实验5-循环程序设计_第1页
汇编语言实验5-循环程序设计_第2页
汇编语言实验5-循环程序设计_第3页
汇编语言实验5-循环程序设计_第4页
汇编语言实验5-循环程序设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇 编 语 言 实 验 报 告Assembly Language Programming LabReports_班级: _ 姓名:_ 学号:_ 实验日期:_学院: _计算机与通信工程学院_ 专业:_计算机科学与技术_实验顺序:_实验五_ 实验名称:_循环程序设计_ 实验分数:_ 考评日期:_ 指导教师: _1 实验目的1、 掌握两种循环结构,DO WHILE的循环结构用CMP指令和条件转移指令构成。DO UNTIL用loop,loope,loopne这三种指令实现。2、 掌握以下指令 掌握循环指令,loop,loope,loopne。 掌握串处理指令,movs,cmps,scas,lods,stos 以及和他们联合使用的重复前缀指令rep,repz,repnz。 掌握伪指令 EQU 及操作符 $的使用。 掌握cmp,test和条件转移指令构成的循环结构。3、 掌握循环程序的设计过程,写出设计方法,给出程序框图,写出循环程序。4、 掌握多重循环中,可以由内层循环向外层循环跳转,或者直接向外层程序跳转,但是不允许从外向内跳转。5、会用循环实现排序算法。_2 实验环境操作系统:windows xp编译程序:masm 5.0_3 实验原理1、 loop指令循环2、二层、三层循环嵌套_4 实验步骤及结果分析1.简单的循环程序。(1)写出y=5!的程序段。data segment info db The 5!=$ t db ABCDEFdata endsstack segment db 512 dup(?)stack endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,512 mov dx,offset info mov ah,9 int 21h mov cx,4 mov al,1 mov bl,2 x: mul bl inc bl loop x mov cx,4 y: push cx mov cl,4 rol ax,cl mov si,ax and ax,0fh mov bx,ax mov dl,tbx mov ah,2 int 21h mov ax,si pop cx loop y mov ah,4ch int 21hcode endsend start运行截图:(2)在程序为N的字节数组value中取出第一个负数存在BL中。 代码见6-1.asm和6-2.asmdata segment info db The ID of th first negative number is:$ t db ABCDEF t1 db 1,3,5,7,-9,11,-13,15 count equ $-t1data endsstack segment db 512 dup(?)stack endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,512 mov dx,offset info mov ah,9 int 21h mov cx,count mov bx,0 x: mov al,t1bx inc bx and al,b loopz x dec bx mov ax,bx mov cx,4 y: push cx mov cl,4 rol ax,cl mov si,ax and ax,0fh mov bx,ax mov dl,tbx mov ah,2 int 21h mov ax,si pop cx loop y mov ah,4ch int 21hcode endsend start运行截图:2.串处理程序(1) 查找CATI表中的字符,找到后将其保存到SIGN单元,其位置值保存到ADDI单元。data segment value dw 1,2,3,4,5,6,7,8,9data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,value4 mov ah,4ch int 21hcode endsend start运行截图:(2) 在长度为N的字数组VALUE中取出第3个数保存到AX中。data segment value dw 1,2,3,4,5,6,7,8,9data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov ax,value4 mov ah,4ch int 21hcode endsend start运行截图:3.排序数组table中存放8个小写字母computer。编写程序,将它们按降序排序。data segment t db computer count equ $-tdata endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov cx,count dec cx bubble: push cx mov bx,0 change: mov al,tbx cmp al,tbx+1 jae next xchg al,tbx+1 mov tbx,al next: inc bx loop change pop cx loop bubble mov ah,4ch int 21hcode endsend start运行截图: 4.综合练习(1)上课练习题目分别统计3个班级中某科成绩优秀的人数和不及格的人数。 data segment a db 62,93,56,91,34,87,92,51 db 93,72,84,52,99,48,83,76 db 46,81,92,83,84,68,53,88 m dw 3 n dw 8 max db 3 dup(0) min db 3 dup(0)data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov cx,m mov bx,0 mov si,0 x: push cx mov cx,n y: mov al,abx cmp al,90 jae let1 cmp al,60 jae let2 inc minsi jmp let2 let1:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论