ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:137.10KB ,
资源ID:21809348      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21809348.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机原理课程设计文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机原理课程设计文档格式.docx

1、00000000000000145、运行结果 图3 乘法运算运行结果6、源代码及注释data segment info1 db Input the first number:,0dh,0ah,$ info2 db 0dh,0ah,Input the second number: info3 db 0dh,0ah,The result is: info4 db 0dh,0ah,Error, one db 11 dup(?) two db 11 dup(? x db 4 dup(? y db 4 dup(? p dw 4 dup(?data endssstack segment stack sta

2、ck db 100h dup(?sstack endscode segmentmain proc far assume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,offset info1 ; 显示提示信息info1 mov ah,09h int 21h mov dx,offset one ;输入被乘数 mov bx,dx mov bx,byte ptr 9 mov ah,0ah int 21h call check ;检查输入字符的长度mov dx,offset x mov si,dx ;定义指针si指向变量x,作为子程序change

3、的入口参数 mov dx,offset one call change ;将输入的被乘数转化为十六进制数,并赋值给变量x mov dx,offset info2 ; mov dx,offset two ;输入乘数 mov ah,0ah mov dx,offset y 定义指针si指向变量y,作为子程序change的入口参数将输入的被乘数转化为十六进制数,并赋值给变量y mov ah,x+2 mov al,x+3 ;x1 mov bh,y+2 mov bl,y+3 ;y1 mul bx ;x1*y1 mov p+2,dx mov p,ax mov ah,x mov al,x+1 ;x2x2*y1

4、 add p+2,ax adc p+4,dx mov bh,y mov bl,y+1 ;y2x1*y2 adc p+6,0x2*y2 add p+4,ax adc p+6,dx mov dx,offset info3 ; 显示提示信息info3 mov ah,09 int 21h mov bx,offset p call displ ;显示计算结果 mov ah,4chmain endpchange proc ;以2个字符一组,将其从ASCII码转化为相应的十六进制数 add bx,2 mov cx,0404hloop1: mov al,bx sub al,30h cmp al,0ah jb

5、L1 sub al,07h cmp al,10h sub al,20h mov dx,offset info4L1: shl al,cl push ax mov al,bx+1 jb L2L2: mov dl,al pop ax add al,dl mov ds:si,al inc si dec ch jnz loop1 retchange endpdispl proc ;以2位十六进制数一组,先显示高位数,后显示低位数 mov ch,8loop2: mov al,bx+7 and al,0f0h mov cl,4 shr al,cl add al,30h cmp al,3ah jb ds1

6、add al,7ds1: mov ah,2 and ax,0fh jb ds2ds2: dec bx jnz loop2displ endpcheck proc ;检查输入的字符个数是否为8个,不足时在前面补0 mov ch,bx+1 sub al,ch mov cl,al je ch4ch1: inc bx sub ch,1 jne ch1 mov ch,clch2: mov bx,byte ptr 30h jne ch2 add bx,9ch3: mov bx,al jne ch3ch4:check endpcode ends end start 题目二 递归调用子程序设计1、设计分析 有

7、n个人坐在一起,第n个人比第n-1个人大h岁。第n-1个人比第n-2个人大h岁。以此类推,第2个人比第1个人大h岁。第1个人m岁。请问第n个人多大。用递归调用的方法设计程序完成题目。(2)设计要求:1)从键盘输入人数、第一个人的年龄和年龄差距2)结果显示于屏幕上 (3)设计过程:1) 定义数据段用于存储输出提示字符。 2)从键盘输入人数n存进寄存器bl,第一个人的年龄m存进寄存器cl,年龄出差距h存进寄存器ch。 3)递归调用age,算出第n个人的年龄,并把结果存在寄存器bx里。4)将结果(第n个人的年龄)向屏幕输出。2、 算法:age(n)=age(n-1)+hage(n-1)=age(n-

8、2)+hage(n-2)=age(n-3)+h age(2)=age(1)+h age(1)=m通用公式:age(n)=age(n-1)+h 当n1时age(1)=m 当n=1时3、 程序流程图:图4 递归调用子程序的程序流程图4、 测试数据:人数第一个人的年龄年龄差距第n个人的年龄0510020180280505、运行结果:图5 递归调用子程序的运行结果info1 db Input the number of people(199):info2 db 0dh,0ah,The last people age is:info3 db 0dh,0ah,Input first people age:

9、info4 db 0dh,0ah,age change:info5 db 0dh,0ah,Input Errorcr db 0dh,0ah,keybuf db 4 dup(?sstack st1 db 100 dup(?data,ss:sstackInput1: mov dx,offset info1 ;显示提示信息info1,提示输入人数 mov dx,offset keybuf ; 输入人数 mov bx,byte ptr 3 push dx lea dx,cr ;回车换行 pop dx call change ;将输入的人数转化为对应的十进制数 sub ch,0ffh ;若输入的非十进制

10、数,则重新输入人数 je Input1Input2: mov dx,offset info3 ;显示提示信息info3,提示输入第一个人年龄输入第一个人年龄 mov bx,byte ptr 3 push dx mov ah,09h 将输入的第一个人的年龄转化为对应的十进制数 sub ch,0ffh ;若输入的非十进制数,则重新输入第一个人的年龄 je Input2Input3: mov dx,offset info4 ;显示提示信息info4,提示输入年龄差距输入年龄差距 lea dx,cr ; call change ;将输入的年龄差距转化为对应的十进制数 sub ch,0ffh ;若输入的

11、非十进制数,则重新输入年龄差距 je Input3 pop cx;age change pop bx;first peoples age pop ax;number of people mov dx,0 call age ;递归调用子程序age mov dx,offset info2 ;显示提示信息info2,提示输出结果 call dispchange proc ;将输入的字符转化为相应的十进制数 lea dx,info5 mov ch,0ffh jmp L3 mov al,cl mov bl,0ah mul blL3: ret age proc ;通过递归调用可计算出最后一个人的年龄 cmp al,1 jnz chn mov dl,blchn: dec al call age add dl,clage endpdisp proc ;将计算结果以十进制数显示 mov cl,08h xor ax,ax mov ax,bx mov dl,100 div dl add al,30h ;显示百位数 shr ax,cl mov dl,10 显示十位数显示个位数disp endp end start

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1