版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Xxxxx大学微机原理课程设计说明书 2012 级 电气工程及其自动化 专业 971 班级题 目 产生随机数并运算的程序 姓 名 xxx 学号 xxxxx 指导教师 xxx 职称 xxx 二一二 年 十二 月 十四 日目录摘要1产生随机数并运算2一、产生随机数并运算程序的基本原理2二、设计方案22.1随机数的产生22.2将随机数转换为16进制ASCII码字符22.3 利用随机数判断随机数加减22.4 将表达式结果输出3三,软件设计33.1 流程图33.2 程序设计5四、结论11参考文献11摘 要本课程适合包括对该设计汇编程序要求分析、原理介绍、汇编流程图、程序说明、总结、参考文献。汇编执行指令
2、是机器指令的符号化表示,其操作码用记忆符表示,地址码直接用标号、变量名字、常数等表示,汇编执行指令经汇编程序翻译为机器指令,二者之间基本上保持一一对应的关系。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是会变出的目标程序占用内存较少,运行效率高,且能直接引用计算机的各种设备资源。关键词:汇编,中断,随机数产生随机数并运算一、产生随机数并运算程序的基本原理要随机产生两个十六进制数,所以要有随机数,可以在子程序中对产生的随机数进行定义,因为题目中有两个随机数,在子程序里会节省指令数,提高运行速度;将随机数转化为16进制的ASCII码字符,同样也需要利用子程序调用来节省指令工作时间;利用
3、产生的随机数判断应该是对结果进行加还是减;将随机数运算表达式及结果输出,此时需要用MOV AH,9 INT 21H这两条指令来进行多字符的输出;利用循环语句保持输出,编写在输入为Q是结束本次操作。二、设计方案2.1随机数的产生本次汇编采用的是INT 1AH进行产生随机数,因为产生随机数时在子程序里面进行的,为了不影响操作的结果,以及防止改变AX,BX,CX,DX的值,一定要先保护现场,然后使用STI清零IF位,读时钟信号的值,并将其保存在AX中,将AX的高8位与想与,所以此时AX的值的范围是0000H到03FFH,用AX除以101,会产生0到100的余数,将余数保存在BX中,那么此时产生的BX
4、的值就是所需的随机数,最后恢复现场。2.2将随机数转换为16进制ASCII码字符由于产生的随机数是存储在BX中的10进制,而认为重视要求16进制相加减,所以需要将其转化为16进制ASCII码字符。十进制转换为十六进制可类似于十进制转换为二进制数的降幂法和除法来转换为十六进制数。也可将十进制转换为二进制数,讲讲二进制转换为十六进制。2.3 利用随机数判断随机数加减在DATA段就定义了WWW这个标号的值,一来判断两个随机数是相加还是相减,如果WWW是0就执行相加的子程序,是1就执行相减的子程序,由于在将随机数转换为十六进制数的子程序中根据产生的随机数定义了WWW的值,而WWW的值只有0和1两种情况
5、,所以可以作为随机数加减的标志来判断。2.4 将表达式结果输出本次结果的输出需要包含参加运算的随机数的表达式,所以两个随机数与中间的+或者-,以及=都要进行定义,在DATA段里需要详细的制定然后在主程序里每完成一步可以确定表达式的符号后,需要通过DOS功能调用程序在屏幕上输出或输入字符,在本实验需要用到的几个有关DOS输入输出功能的调用号如下:调用号调用号功能01单字符输入02单字符输出0AH多字符输入09多字符输出6单字符输入/输出4CH过程终止DOS功能调用号需要送到AH寄存器中,如果有需要,按要求给定输入参数,最后还要再下面写入中断指令:INT 21H。三,软件设计3.1 流程图产生随机
6、数并运算流程图如图1所示:结果与表达式输出,循环保持开始WWW为0将A1与A2的和存储到AX寄存器中转化为16进制ASCII码字符产生另一随机数A2产生另一随机数A2A1转化为16进制数,并产生WWW产生随机数A1转化为16进制ASCII码字符将A1与A2的和存储到AX寄存器中结束NY图1:产生随机数并运算的顺序流程图3.2 程序设计DATA SEGMENT CC DB + WW DB - GG DB = II DB 0DH,0AH,$ AA DB 5 DUP(?) WWW DW 0 GHH DB 0,0Dh,0AH,$ BNM DW 0DATA ENDSSTACK SEGMENT DB 20
7、0 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV CX,20 CALL RAND ;产生一随机数 CALL MCAT ;将随机数转换为16进制表示的ASCII码字符 MOV AX,BX PUSH AX CMP WWW,0 ;WWW=0? JE A1 ;执行+ CMP WWW,1 ;WWW=1? JE A2 ;执行- A1: MOV DL,CC ;显示+ MOV AH,2 INT 21H CALL RAND ;产生另一随机数 ADD BX,0Fh CALL
8、MCAT ;将随机数转换为16进制表示的ASCII码字符 MOV DL,GG ;显示= MOV AH,2 INT 21H POP AX ADD AX,BX CMP AX,0 JNE yjw1 LEA DX,GHH MOV AH,9 INT 21h JMP QQ1 yjw1: JMP B1 A2: MOV DL,WW ;显示- MOV AH,2 INT 21H MOV CX,65535 mai1: loop mai1 CALL RAND1 CALL MCAT MOV DL,GG MOV AH,2 INT 21H POP AX SBB AX,BX CMP AX,0 JNE yjw2 LEA DX,
9、GHH MOV AH,9 INT 21H JMP QQ1 yjw2: JMP B1 B1: MOV BX,AX CALL MCAT LEA DX,II MOV AH,9 INT 21H QQ1: MOV AH,4CH INT 21HMCAT PROC ;将随机数转换为16进制表示的ASCII码字符子程序 PUSH AX PUSH BX PUSH CX PUSH DX CMP BX,9 JA S1 ;BX9跳转到S1 PUSH AX PUSH BX PUSH CX PUSH DX MOV AX,BX MOV bl,5 DIV bl ;除5把余数放到AH中 CMP AH,3 JAE vB1 MOV
10、 WWW,1 JMP vn1 vB1:MOV WWW,0 vn1:POP DX POP CX POP BX POP AX ADD BL,30H MOV AA,BL MOV AA+1,$; LEA DX,AA MOV AH,9 INT 21H JMP s3 s1:MOV CL,4 MOV AL,0 PUSH BX SHL BX,CL ;左移4位使BL内容移到BH中 CMP BH,9 JBE V1 SUB BH,9 ;BH9,加40H转换为ASCII码 ADD BH,40H JMP MM1 V1:ADD BH,30H MM1:MOV AA,BH POP BX AND BL,0FH PUSH AX
11、PUSH BX PUSH CX PUSH DX MOV AX,BX MOV bl,5 DIV bl CMP AH,3 JAE vb2 MOV WWW,1 JMP vn2 vb2:MOV WWW,0 vn2:POP DX POP CX POP BX POP AX CMP BL,9 JBE TT1 SUB BL,9 ADD BL,40H JMP RR1TT1: ADD BL,30H ; 转换成ASCII码RR1: MOV AA+1,BL MOV AA+2,$ LEA DX,AA ;9号字符串显示功能 MOV AH,9 INT 21H s3:POP DX POP CX POP BX POP AX R
12、ETMCAT ENDPRAND PROC PUSH CX PUSH DX PUSH AX STI MOV AH,0 ;读时钟计数器值 INT 1AH MOV AX,DX ;清高6位 AND AH,3 MOV DL,101 ;除101,产生0100余数 DIV DL MOV BL,AH ;余数存BX,作随机数 POP AX POP DX POP CX RETRAND ENDP四、结论在本次课程设计的过程中,通过对各种指令的再次使用加强了对各种指令的使用技巧,并在设计中,通过查阅资料,对各种不理解的问题都进行了处理。本程序需在DOS下运行。每运行一次可执行程序random.exe,即可显示任意两个
13、16进制数的加法或减法表达式及其运算结果。在减法运算中,如果被减数小于减数,显示“DIVide Overflow”的提示信息。通过对程序的编译和调试结果如下图:参考文献1 钱晓捷.微机原理与接口技术,第4版,机械工业出版社,2008年1月出版。 2 沈美明等编著.80X86汇编语言程序设计,清华大学出版社,2001年9月出版。3 杨素行等编著.微型计算机系统原理及应用,第2版,清华大学出版社,2004年2月出版。4 康华光.电子技术基础-数学部分,北京大学出版社,2006年出版。5 尚凤军.微机原理与接口技术,机械工业出版社,2008年出版。设计总结:汇编语言是我们理解整个计算机系统的最佳起点和最有效途径。人们经常认为汇编语言的应用范围很小,而忽视它的重要性。其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。汇编语言直接描述机器指令,比机器指令容易记忆和理解。通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。通过本次课程设计,认真阅读了相关知识,对单字符输入输出,多字符输入输出再次记忆和使用,通过使用入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年度业务合作传感器部署协议书
- 2025年江苏省常熟市高二生物下册期末考试检测卷带答案(能力提升)
- 2025年江苏省新沂市高二生物下册期末考试考试卷带答案(达标题)
- 2025年江苏省昆山市高二生物下册期末考试测试卷及答案【名校卷】
- 2026年广东省南雄市高二生物下册期末考试试卷附答案【满分必刷】
- 2026年湖北省麻城市高二生物下册期末考试检测卷及答案(夺冠)
- 2025年广东省兴宁市高二生物下册期末考试试卷含答案【预热题】
- 2026年江苏省如皋市高二生物下册期末考试模拟卷附答案(黄金题型)
- 2025年浙江省嵊州市高二生物下册期末考试模拟卷附答案
- 2026年四川省什邡市高二生物下册期末考试试卷完美版附答案
- DB32/T 4375-2022高校物业服务规范
- 接口柜配线图接口柜端子信号工程施工课件
- 金属非金属矿山开采方法手册
- DBJT13-366-2021 建筑工程附着式升降脚手架应用技术标准
- 城市道路日常养护作业服务投标文件(技术方案)
- 中药热奄包疗法操作评分标准
- JT∕T 795-2023 事故汽车修复技术规范
- 趣识古文字智慧树知到期末考试答案章节答案2024年吉林师范大学
- 2024初中数学中考总复习教案
- 眼内炎病例讨论
- 110KV电缆输电线工程施工组织设计
评论
0/150
提交评论