资源描述:
《《汇编语言》课内实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途《汇编语言》课内实验报告学生姓名:程 苹2011309020102及学号:学院:理学院班 级:数学111课程名称:汇编语言实验题目:汇编语言程序设计指导教师姓名及职称:刘力 实验师方向 实验师 2012年6月18日个人收集整理勿做商业用途一、实验题目:汇编语言程序设计二、实验目的:1.了解汇编语言循环程序设计的基本流程;ﻩ2.熟悉汇编语言循环基本指令的使用方法;3.掌握利用汇编语言的循环指令完成循环程序设计方法。三、实验内容:1.简单的加法运算程序:DATAS SEGMEN
2、T FIVEDB5DATAS ENDSSTACKS SEGMENT DB 128DUP (?)STACKSENDSCODESSEGMENT ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART: MOVAX,DATASMOVDS,AX MOVAL,FIVEADDAL,3 ADDAL,30HMOV DL,AL MOVAH,2 INT21H MOVAH,4CH INT21HCODES ENDSENDSTART2.循环程序设计示例:设VARY中有一组8位的符号数,编程统
3、计其中 正数、负数、零的个数,分别存 VM、VN、VK变量中。个人收集整理勿做商业用途分析:设定此数组的元素匀为字节数据,则数组VARY中的数据个数用CNTEQU$-VARY求出,则循环次数为CNT次。在程序中,要将CNT的值送入CX中。将数组VARY中元素挨个与0比较,利用状态标志寄存器中的ZF位求出零的个数,利用SF位求出正、负数的个数。具体程序设计:stacksegmentpara'stack' dw 20H dup(0)stackendsdatasegment varydb 23h,78h,56h
4、,0abh,00h,0cdh,59h,14h,98h,0efh,00h,0c0hcntequ $-varyvmdb ?vn db?vkdb?data endscode segmentassumecs:code,ds:data,ss:stackstart:movax,datamovds,axmov bx,0movdl,0leasi,varymovcx,cntlop1:cmpbyteptr[si],0jezerojslop2incbhjmp nextlop2:incbljmpnextzero:incdl个人收
5、集整理勿做商业用途next:incsilooplop1movvm,bhmovvn,blmov vk,dlmovah,4chint21hcodeendsend start四、实验结果:图1 编译程序图2链接程序个人收集整理勿做商业用途图2 编译程序图3链接程序图4 调试程序图5调试程序个人收集整理勿做商业用途五、实验体会或遇到问题:这次好难啊好难啊!!!还有一次课内实验,加油!↖(^ω^)↗