循环程序设计解析_第1页
循环程序设计解析_第2页
循环程序设计解析_第3页
循环程序设计解析_第4页
循环程序设计解析_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、淮海工学院计算机工程学院实验报告书课 程名:微机原理与接口技术题 目: 实验三程序设计与调试之三:循环程序设计班 级:学 号:姓 名:评语:成绩: 指导教师: 批阅时间:微机原理与接口技术实验报告-3 -1 .目的和要求1.1 进一步了解重复控制指令、串操作指令及重复前缀的格式和功能,通过解决循环问题练习这 些指令和重复前缀的选用。对于既可以用重复控制指令,又可以用串操作指令及重复前缀的 场合,比较两者的优劣。1.2 练习针对具体问题建立合适的循环结构,进一步了解计数控制、条件控制的循环结构的适用 场合。2 .实验内容2.1 验证题调试例1和例2给出的程序,验证两个程序的正确性。对于这两个程序

2、在si、di初值设置上的区别作出分析,并对两个程序的优劣作比较。【例1】 编写一程序,用以判断 buf1和buf2两个等长度的数据区中数据是否相同。相同则使 flag单元置0,否则置-1。;name cxample1.486dseg segment use16buf1 db (n个字节数)buf2 db (n个字节数)count equ $ buf2flag db 0dseg ends use16sseg segment stack use16db 80h dup (0)sseg endscseg segment use16assume ds dseg ss: sseg cs: csegsta

3、rt mov ax, dsegmov ds, axmov si , offset buf1- 1mov di , offset buf2- 1mov cx countnext: inc siinc dimov al sicmp al diloopz nextjz okmov flag -1ok mov ah 4chint 21hcseg endsend start若在此程序中将指令 mov si, offset buf1-1 mov di, offset buf2-1 改为mov si , offset buf1 mov di, offset buf2 且将指令 inc si inc di 改

4、放到cmp旨令之后,这样修改是否正确,请读者思考。【例2】 要求实现的程序功能与例 1同。分析:考虑到 repz前缀结合 cmpsb旨令可以实现两个存储器操作数的比较,实现变址寄存器si、di的增(或减1),实现计数寄存器 cx减1,并根据比较结果及(cx)是否为0来控制是否进 行后续数据的比较。因此,可将其用于本例题的循环程序设计。值得注意的是,cmpsbi令所涉及的两个操作数分别用 ds di和es: di给出,故应该使段寄存器 ds和es均存放dataa据段的段地 址;若在循环工彳部分之前使 si指向buf1数据区首址,使 di指向buf2数据区首址,则应同时使用 cld指令,使df置“

5、0,以便cmps脂令使si、di作增1修改。程序如下:;name example2cseg segment use16assume ds: dseg es: dseg ss: sseg cs cseg start mov ax dseg mov ds , ax mov es, axmov si , offset buf1 mov di , offset buf2 mov cx, count cldrepz cmpsb jz ok mov flag -1 ok mov ah, 4chint 21h cseg ends end start2.2 设计题(1)、编写程序,以统计 buf数据区中各有符

6、号字节数的平均值。上机调试程序,检查程序正确 性。(2)、按照要求编程,统计buf字数据区第一个零数据后的各数据中正数及负数的个数,并分别送posi及neg的储单元,试编写程序。(3)并且要求在搜索第一个零数据时分别采用重复控制指令和串操作指令。上机调试程序,检查程序正确性,并指出该程序使用了什么循环控制方法。验证一 :dseg segment ; use16buf1 db 34h,45h;(n 个字节数)buf2 db 35h,54h;(n 个字节数)count equ $-buf2org 100flag db 0dseg ends ;use16sseg segment stack ; us

7、e16db 80h dup(0)sseg endscseg segment ;use16assume ds:dseg,ss:sseg,cs:csegstart:mov ax,dsegmov ds,axmov si,offset buf1mov di,offset buf2mov cx,countmov al,sicmp al,dinext:inc siinc diloopz nextjz okmov flag,-1ok:mov ah,4chint 21hcseg ends验证二:dseg segmentbuf1 db 34h,45h;(n 个字节数)buf2 db 35h,54h;(n 个字节

8、数)count equ $-buf2org 100flag db 0dseg endssseg segment stackdb 80h dup(0)sseg endscseg segment;use16assume ds:dseg,es:dseg,ss:sseg,cs:csegstart:mov ax,dsegmov ds,axmov es,ax;mov si,offset buf1mov di,offset buf2mov cx,countcldrepz cmpsbjz okmov flag,-1ok: mov ah,4chint 21hcseg endsend startend start

9、设计题一:data segmentbuf db 12,24,36,27,33,16count equ $-bufsum db ?aver db ?data endsstack_ segment para stack stackorg 0030hdb 200 dup(?)微机原理与接口技术实验报告-3 -stack endsadc ah ,0code segmentassume cs:code,ds:data,ss:stack_main : movax,datamovds,axmovbx , offset bufmovcx,countmovsi , bxmovax ,0clcs next: ad

10、dal , si设计题二:data segmentbuf db -4,21,-67,0,5,-6,7,28,cout1 equ $-bufcout2 db 0,0,0data endsdispp macro nnmov dl , nnadd dl ,30hmov ah ,2int 21hmov ax ,0e0dhint 10hmov al ,0ahint 10hendmcode segmentassume cs:code,ds:databeg: mov ax ,datamov ds , axinc siloop s_nextmov cl ,countdiv clmov aver,alexit:

11、 mov ah,4chint 21hcode endsend mainmov cx,cout1last: mov al,bxcmp al,0je posijl negainc cout2jmp nextposi: inc cout2+1jmp nextnega: inc cout2+2next: inc bxloop lastdispp cout2dispp cout2+1dispp cout2+2mov ah,4chint 21hcode endsend begmov bx,offset buf3.测试数据与实验结果2.1验证题微机原理与接口技术实验报告-3 -的苣理员:*专提示符-debu

12、g linchaa.ekec:u5ersrdninistratorcd.c:userscdc:debug 1inchao.exe-lax-08do bx=oo0n cm=0180 dx=0r0o sp-0080ds=08co es=08cd ss=08d7 cs=b8df ip=0003bp=0o0r st=0oq0 dt-0r0onv up di pl nzha po nc08df;0003 8ed8nov-d ds:0000d8cb:000008c0:001008c0:0020o8c0:003008c9:004008c0:0050o8c0:0060o8c0:0070tds,fikcd75f

13、f7505cd202020 ff 05 56 ff ff b5 1400 0021 cb20 2020 209f 01 ff00 oo00 2020302bfi 04 ff0000 2020re 75 ff c000 0026 20fe-1d f。 05-01 01 ff-ff ff 08-ff ff 00-00 00o0-b0 09 20-00 00 2q-00 00i2 01 ff ff % bi0 0000心 90 ff ff 00 90 岫 007502110000do000005 70 ff ff os c600 000d。日 20 2020 20 00 0

14、002ff2fi00 on2020 00h u.vmikp .pb,ijrp.lle.fli-08do bk-0000 cm=018flds=98d0 es=09c0 ss=08d7fli8nr : r005 be0o00movdx=60oo sr-0080cs=08df ip=90051 si,br0flbp-0000 si=0000 di=60oonv up di pl nz na po ncq 哲理反:曲令遂示将-debug l;nkaq-efix-0800 bk-ooaeds-08d0 es=o8c0 08df:0o0b b90200 -tck=ei80 dx=i0e00 sp-008

15、0ss=08d7 cs-0bdf ip-o00bbp=0o00 si=fl00o 01-0062nv up di pl nz nfl po nchoucx,0002fix-0800 bm=oo00ns-nfino fs-osnn 08df:o00e 8a04 tck=0002 dx=000o sp-0080ss=r8d7 cs=q8df tp=0o0ehowal : subp=ooo0 si=00oo 01-0002nv up dt pi n7 na po ncds;0030=34ax-0334 8k-0a00us=08o0 es=o8c0 08df:0010 3a05 -d ds:0000c

16、x=boo? dx-00d0 sp=0o8bss=08d7 cs=08df ip=0010bp=00o0 si=0ro0 )t-fl002 nv up di pl nz na po nc 05:0002=35o8d0:000034a5355a口日po白000-00000。口口p00980b8d0:eo10do(ui0000典000000-006000000000000008do:002000岫000000660300-0000000060加00的0800:603000鲍000000000000-0000000000000000o8d0:0040d00 0000b000。0000-00000b0

17、0pd。口白00800:005000日日000000000000-000000000000000008d0;006000购000。00eo加00000809:607000鲍000000000000-0000000000000000cmpal.(dll4e5t微机原理与接口技术实验报告-5 -1.而i苣理员:能令15示苻-debug linchao.exe? (c) 2009 microsoft corporation?c:xuserssrdninistratorcdc;debug linchao.exe -tax=08d0 bk=0600ds-08c0 es-08c

18、008df:00o3 8ed8ck=01e0 dx=0000 sp=0e8gss-08d7 cs=08of ip-0003bp=0000 si=0000 01=0000nv up di pl nznfl p0 ncmov-d ds:0000 (ji8c0;000t) 08c0:0010 08c0:0020 08c00o30 0800:0040 0300:0050 o3co:0060 0800:0070-1os,nmcd 75ff7505co202020 05ff 0500212020ff 56 ff u 明 cb 20 209f 01 ff00 明 00202000 2b ff 18 do 0

19、0 20209a f0 fl-id 04 75 05-01 ff ff ff-ff 0。 cd 08 rr 配 ee eo-ee 00 00 00-00 20 20 20-0020 20 2b001-0 01 fff 00 0009 0042 01 fff 0000 00 000200 ff rr0000 fio 0075 021700 明0000 oobi5 ff 68 00 do 20 20 0。70 02 ff ff c6 2fl 00 go 00 od 20 20 20 20 00 00u,m!kp.ax-08d0 bx-0000ds=08d0 es=08c0 08df:0005 8t

20、c6ck-0160ss=08d7movdx-0000cs=08dfsp-0080ip=0005bp=00o0st-0000 oi-0o00nv up l) pl nz nh p0 ncnn岩理点自等提示均debug linichad.exefix=08d0 bx=b0o0ds=o8d0 es=0bd008df:g011 f308df:0012 a6-1hx=08dg bx=0009ds=08d0 es=08d0 08df:0013 7405fix=08d0 bx-0000ds=08d0 es-b8d0i 一 回 la-ick-0002 dx=oo00ss=08d7 cs=08dfrep2cmp

21、sbck=q001ss=08d7 jz08df:0015 c6066400frck-0001ss-08d7sp=0o80ip=00udx-0000cs=08df001flsp=b080ip=0013hovdx=0o0o sp-b080cs=68df ip-0015bvtf ptrbp-0000 si=oo00 di=0oo2nv up dt pl nz nfl po nc13p=o000 sl=dd01 di=0003nv up 01 ng nz fic pe cvbp-0000 si=oo01 di-0003-d ds:0000 0800:0000 0800:0010 03do:0020 0

22、3d0;0d30 0800:0040 0800:00500sd0:0060 0800:007000641,rrnv up di ng hzfic pe cvds:r06t=q0设计题:34 0030 00 0000 f0 加45 000000000900 (j954 000000 oo00 000000 oo do 00 0000 do 000000010000000000000000060go0000 的00-00 00-00 00-00 00-00 00-00 00-0000-00 00-000000 口 000000030 加000000 oa000000 (jo000000000000

23、000000 0000 典00 0000 典0000000000 fio do0000 00 bi0 州00 00 0。0000000060go 0000 的4e5t微机原理与接口技术实验报告-7 -2而i苣理员:能令15示苻-debug linchao.exe? (c) 2009 micrasotl corpardtion?c:xuserssrdninistratorcdc;debug linchao.exe -taix=08d0 bk=0600ds-08c0 es-08c008df:00o3 8ed8ck=01e0 dx=0000 sp=0e8gss-08d7 cs=08of ip-000

24、3movbp=0000 si=0000 01=0000nv up di pl nznfl p0 nc-d ds:0000 0i8c0;000t) 08c0i0010 08c0:0020 o8c00030 0800:0040 0300:0050 0800:0060 d8cb:0070-1os,nmcd 75ff7505co20202005ff0500212020ff 56 ff u 明 cb 20 209f 01 ff00 明 00202000 2b ff 18 do 00 20209a f0 fl-id 04 75 05-01 ff ff ff-ff 0。 cd 08 rr 配 ee eo-e

25、e 00 00 00-00 20 20 20-0020 20 2b001-0 01 fff 00 0009 0042 01 fff 00 0000 0002 00 ff rr00 00 fio os75 021700 明000000bi5 ff 68 00 do 20 20 0。70 02 ff ff c6 2fl 00 go 00 od 20 20 20 20 00 00u,m!kp.nix-08d0 bx-0000ds=08d0 es=08c0 08df:0005 8tc6ck-0160ss=08d7 movdx-0000cs=08dfsp-0080ip=0005bp=00o0st-000

26、0 01-0000nv up l) pl nz nh p0 nce岩理点自等提示均debug linchad.exefix=08d0 bx=b0o0ds=o8d0 es=0bd0 08df:g011 f3 08df:0012 a6 -1hx=08dg bx=0009ds=08d0 es=08d0 08df:0013 7405-tfix=08d0 bx-0000ds=08d0 es-b8d0ck-0002 dx=oo00ss=08d7 cs=08dfrep2cmpsbck=q001ss=08d7 jz08df:0o15 c6066400frck-0001ss-08d7sp=0o80ip=00ud

27、x-0000cs=08df 001flsp=b080ip=0013hovdx=0o0o sp-b080cs=68df ip-0015bvtf ptrbp-0000 si=oo00 di=0oo2nv up dt pl nz nfl po nc13p=o000 sl=dd01 di=0003nv up 01 ng nz fic pe cvbp-0000 si=oo01 di-0003-d ds:0000 0800:0000 0800:0010 03d0:0020 03d0;0d30 0800:0040 0800:0050 0sd0:0060 0800:007000641,rrnv up di n

28、g hzfic pe cvds:r06t=q034 0030 00 0000 f0 加45 000000000900 (j9540000000000000000 00 do000000 do000000010000000000000000060go0000 的00-00 00-00 00-00 00-0000-00 00-000000 口 000000000-00 0000-00 00000000 oa000000 (jo0000000000000000000000 典000000 典0000000000 fio do0000 00 bi0 州00 00 0。0000000060go0000

29、的4e5t微机原理与接口技术实验报告-9 -3j罡理员:急母戋不符-debug lin ehaa.exeftczz?c c c c c c c c 88888888t0 0 0 0 0 0 0_w- -m-bal234567rtw-w- - - -m-08800d =exs8cd75汗7505cd202005f5010020f00222flk-0800 bx=0o00ds=08do es=o8c00004:0005 bb9000-tok-0bd0 bx-0000ds=08do es-08c00804:0008 b9060ocx-0080 dx=00o0 sp-o0c8 bp-0000 81呢弼

30、 di=0oo0ss=08d7 cs=08d4 tp=00o3 nv up di pl nz na po ncmov dshfikf6f40b00f5f10c220bf8000002f10022r 4 f 0 0 0 09 0 10 0 025f07fc0 0 00 02f 0it00 02-e-5f800001 0 tf2 iff4 0ff0ff 00020ff5 2 7 07 0705 f 8 00f0 0of607 f c 0ck-0080 dx-0000 sp=09c8=0807 cs=08dt ip=0o05movbk.0000cx-0080 dx=0000 sp-00c8ss-08d7 cs=08d4 ip=o如bmovcm ,00060 0 0000o o 0 0220 0 002202ff2a0000202000up.bp=0000si=0o00 01-0090nu

温馨提示

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

评论

0/150

提交评论