77范文网 - 专业文章范例文档资料分享平台

北邮微机原理软件实验报告(3)

来源:网络收集 时间:2019-03-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 INT 21H

;正奇数的个数 MOV AH,09H

MOV DX,SEG STRING3 MOV DS,DX

MOV DX,OFFSET STRING3 INT 21H

MOV AH,02H MOV DL,PJ ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 INT 21H

;正偶数的个数 MOV AH,09H

MOV DX,SEG STRING4 MOV DS,DX

MOV DX,OFFSET STRING4 INT 21H

MOV AH,02H MOV DL,PO ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 INT 21H ;负数的个数 MOV AH,09H

MOV DX,SEG STRING5 MOV DS,DX

MOV DX,OFFSET STRING5 INT 21H

MOV AH,02H

MOV DL,M ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 ;负奇数的个数 INT 21H

MOV AH,09H

MOV DX,SEG STRING6 MOV DS,DX

MOV DX,OFFSET STRING6 INT 21H

MOV AH,02H MOV DL,MJ ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 INT 21H

;负偶数的个数 MOV AH,09H

MOV DX,SEG STRING7 MOV DS,DX

MOV DX,OFFSET STRING7 INT 21H

MOV AH,02H MOV DL,MO ADD DL,'0' INT 21H

MOV AH,09H

MOV DX,SEG STRING0 MOV DS,DX

MOV DX,OFFSET STRING0 INT 21H

MOV AH,4CH INT 21H CODES ENDS END START 四、程序流程图

开始 进入循环 是 否 负数+1 判断>=0 是 非负数 判断奇偶偶 负偶数+1 性奇 负奇数+1 是 正数+1 判断>0 否 零+1 奇偶判断 偶 正偶数+1 奇 正奇数+1 判断是否继续循环 否 输出结果 结束

五、程序运行结果

六、预习题:

1.十进制数 0 -- 9 所对应的 ASCII 码是什么? 如何将十进制数 0 -- 9 在屏幕上显示出来?

答:0的ASCII码是30h,以后依次递增。 要屏显0-9的数码,只需将AH置成02H(DOS功能调用),然后将要显示的数码的ASCII码存进DL里,然后执行INT 21H就可以打印字符。 或者,若这些数码是以字符串的格式存储,则可以将AH置成09H,(最后以’$’字符结束,)然后将串首地址传给DS,然后执行INT 21H就可以打印字符串。 2.如何检验一个数为正,为负或为零? 你能举出多少种不同的方法?

答:可以将待检验数与0比较(使用CMP指令后判断CF、OF或者以表达式【实用EQ、GE等操作符】的返回值来判断),也可以将待检验数与80H相与,判断ZF的值。 七、心得体会:

这个实验有两个要点,其实就是两个预习题目里讨论的问题。

一是字符显示。要显示数字字符,首先要把数据转换成ASCII码,然后调用DOS功能将其显示。其中使用09H号功能时,要特别注意每段待输出的字符串要以’$’结尾,不然无法识别串尾,输出乱码。

二是判断正负数。本程序选用CMP指令来实现该功能。注意与0相比时,要使用有符号数的条件跳转指令,JGE等等,在使用无符号数的条件跳转指令时,不是与0相比较。

判断奇偶同样也有很多途径,这里选择将待判别的数与01H相与后改变的标志位来判断奇偶,用TEST指令是一个很好的选择。

另外,通过这次试验,我对汇编程序的分支、循环结构有了进一步的理解。

实验三 代码转换程序设计 一、实验目的:

1.掌握几种最基本的代码转换方法; 2.运用子程序进行程序设计。

二、实验要求及内容:

1.从键盘上输入若干两位十进制数,寻找其中的最小值,然后在屏幕上显示出来; 2.两个十进制数之间的分隔符,输入结束标志自定,但要在报告中说明; 3.对输入要有检错措施,以防止非法字符输入,并有适当的提示;

4.将整个程序分解为若干模块,分别用子程序实现.在报告中要给出模块层次图。

三、源程序

DATA SEGMENT BUFFER DB 100

STR1 DB 'Please input number(space as list separator and enter as end):$' STR2 DB 'The minimum :$'

STR3 DB 'WHAT YOU HAVE INPUT IS WRONG!$' STR4 DB 0AH,0DH,'$' MIN DW ? DATA ENDS

STACK SEGMENT STACK 'stack' DB 100 DUP('s') STACK ENDS

CODE SEGMENT PARA'code'

ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR

MOV AX,DATA MOV DS,AX

CALL INPUT ;调用INPUT子程序

CALL COMPARE ;调用COMPARE子程序 CALL OUTPUT ;调用OUTPUT子程序 MOV AH,4CH INT 21H START ENDP ;输入字符子程序 INPUT PROC

MOV DX,OFFSET STR1 ;输入显示 MOV AH,9 INT 21H

MOV DX,OFFSET STR4 MOV AH,9 INT 21H

LEA BX,BUFFER

RE1: ;输入字符,进行独立判断,并

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库北邮微机原理软件实验报告(3)在线全文阅读。

北邮微机原理软件实验报告(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/548943.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: