实验四分支和循环程序设计实验(精).pdf
上传人:13****51 上传时间:2024-09-12 格式:PDF 页数:9 大小:2MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验四分支和循环程序设计实验(精).pdf

实验四分支和循环程序设计实验(精).pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验四分支和循环程序设计实验一、实验要求和目的1.熟悉汇编语言程序设计结构;2.熟悉汇编语言分支程序基本指令的使用方法;3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法;4.了解汇编语言循环程序设计的基本流程;5.熟悉汇编语言循环基本指令的使用方法;6.掌握利用汇编语言的循环指令完成循环程序设计方法。二、软硬件环境1、硬件环境:计算机系统windows;2、软件环境:装有MASM、DEBUG、LINK、等应用程序。三、实验涉及的主要知识在实际应用中,经常根据一些条件来选择一条分支执行。汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号相减而导致的结果来进行。1.无条件转移指令JMP无条件转移指令JMP是使程序无条件转移至目标处,又分为段内转移、段间转移。2.条件转移指令JXX条件转移指令可分为三大类:1).简单条件转移指令指令。根据单个标志位的状态判断转移条件。标志位指令转移条件意义CFJCCF=1有进位/借位JNCCF=0无进位/借位ZFJE/JZZF=1相等/等于0JNE/JNZZF=0不相等/不等于0SFJSSF=1是负数JNSSF=0是正数OFJOOF=1有溢出JNOOF=0无溢出PFJP/JPEPF=1有偶数个1JNP/JPOPF=0有奇数个12).无符号数条件转移指令。假设在条件转移指令前使用比较指令,比较两个无符号数A,B,指令进行的的操作是A-B,其转移指令如下:指令转移条件意义JA/JNBECF=0ANDZF=0A>BJAE/JNBCF=0ORZF=1A>=BJB/JNAECF=1ANDZF=0A<BJBE/JNACF=1ORZF=1A<=B3).带符号数条件转移指令。指令转移条件意义JG/JNLESF=OFANDZF=0A>BJGE/JNLSF=OFORZF=1A>=BJL/JNGESFOFANDZF=0A<BJLE/JNGSFOFORZF=1A<=B四、实验内容与步骤1、判断方程AX2+BX+C=0是否有实根。若有实根,则将字节变量tag置1,否则置0。假设A、B、C均为字节变量,数据范围为-128~127。流程图:(2)程序代码:DATASSEGMENTA1DB?B1DB?C1DB?TAGDB?;此处输入数据段代码DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAH,01H;输入第一个数据INT21HSUBAL,30H;输入数据存入A,并转化为十进制数MOVA1,ALMOVAH,01H;输入第二个数据INT21HSUBAL,30HMOVB1,ALMOVAH,01H;输入第三个数据INT21HSUBAL,30H;输入数据存入C,并转化为十进制数MOVC1,AL程序结果:B*B-4AC=0,>0,<0的三种情况MOVAL,B1MULAL;计算B*B,结果存入AXMOVBX,AX;B*B结果存入BXMOVAL,A1IMULC1MOVCL,4IMULCL;计算4*A*CCMPBX,AXJGET1MOVTAG,0JMPNEXT1T1:MOVTAG,1;有根,将TAG赋值为1NEXT1:ADDTAG,30HMOVDL,TAG;输出TAG的值MOVAH,02HINT21HMOVAH,4CHINT21HCODESENDSENDSTART2、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z字符,显示“C”;若为a-z字符,显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则显示显示“R”。流程图:DATASSEGMENT;此处输入数据段代码结果DATASENDSCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:MOVAX,DATASMOVDS,AXMOVAH,01HINT21HCMPAL,'1';同1比较JNBONEONE:CMPAL,'9';同9比较JLREADJGETOWREAD:MOVDL,ALMOVAH,02HINT21HMOVAH,4CHINT21HTOW:CMPAL,'A';同A比较JGEAA:CMPAL,'Z';同Z比较READ1:MOVDL,'C'MOVAH,02HINT21HMOVAH,4CHINT21HTHREE:CMPAL,'a';同a比较