实验2 分支程序设计.doc_第1页
实验2 分支程序设计.doc_第2页
实验2 分支程序设计.doc_第3页
实验2 分支程序设计.doc_第4页
全文预览已结束

下载本文档

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

文档简介

实验2 分支程序设计一、实验目的:熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法;掌握条件转移、无条件转移指令的使用方法。掌握分支程序设计、编写、调试和运行的方法。二、实验要求:1、上机前认真分析题意,找出算法,画出流程图,依据流程图,编好程序。2、认真调试程序,对程序可能存在的所有分支都要进行运行,只有这样才能证明程序的正确性。三、实验内容1.判断X单元数据的奇偶性,若为奇数,将Y单元设置为0FFH,若为偶数,将Y单元清0。程序:DATA SEGMENTX DB 52H Y DB ? DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,X TEST AL,01H JZ OUSHU MOV Y,0FFH JMP LBOUSHU:MOV Y,00H LB:MOV AH,4CH INT 21H CODE ENDS END START对程序进行编译,连接,运行后,用DEBUG程序进行调试。用反汇编U命令可知内存首地址为:1415:0,再用命令D查看数据在内存中的位置:52H 运行命令G后,然后用D查看结果在内存的位置,可以看到结果为00H将偶数52H修改为奇数51H,在运行程序进行调试得到结果如图:如图,结果符合题意。2. 设计个比较两个8位无符号数的大小、并把较小的数存人MIN单元的程序。假设这两个数分别存放在FIRST和SECOND单元中。程序如下: DATA SEGMENTFIRST DB 66H SECOND DB 27H MIN DB ? DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,FIRST MOV AH,SECOND CMP AL,AH JA SHU1 MOV MIN,AL JMP SHU2 SHU1:MOV MIN,AH SHU2:MOV AH,4CH INT 21HCODE ENDSEND START用U命令查看内存首地址为:13E0:0,再用D查看数据在内存中的位置:运行G命令后,用D命令查看内存结果:从上图看出结果符合。3、设在内存中连续存放了5个字型无符号数,试编写程序求出他们之和。程序如下:DATA SEGMENT TAB DW 0011H,0022H,1111H,1122H,1122H SUM DW ? DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA BX,TAB MOV AX,BX XOR BX,BX MOV CX,5 LEA SI,TAB AGAIN:MOV AX,SI ADD BX,AX LOOP AGAIN MOV SUM,BX MOV AH,4CH INT 21H CODE ENDS END START运行进行DEBUG以调试,输入U命令查看内存首地址,及D命令:再输入G及D命令查看结果内存由图上可看到结果,符合理论值。四、问题解决及收获体

温馨提示

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

评论

0/150

提交评论