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

上传人:b****6 文档编号:21809348 上传时间:2023-02-01 格式:DOCX 页数:17 大小:137.10KB
下载 相关 举报
计算机原理课程设计文档格式.docx_第1页
第1页 / 共17页
计算机原理课程设计文档格式.docx_第2页
第2页 / 共17页
计算机原理课程设计文档格式.docx_第3页
第3页 / 共17页
计算机原理课程设计文档格式.docx_第4页
第4页 / 共17页
计算机原理课程设计文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

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

《计算机原理课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《计算机原理课程设计文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

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

0000000000000014

5、运行结果

图3乘法运算运行结果

6、源代码及注释

datasegment

info1db'

Inputthefirstnumber:

'

0dh,0ah,'

$'

info2db0dh,0ah,'

Inputthesecondnumber:

info3db0dh,0ah,'

Theresultis:

info4db0dh,0ah,'

Error'

'

onedb11dup(?

twodb11dup(?

xdb4dup(?

ydb4dup(?

pdw4dup(?

dataends

sstacksegmentstack'

stack'

db100hdup(?

sstackends

codesegment

mainprocfar

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,offsetinfo1;

显示提示信息info1

movah,09h

int21h

movdx,offsetone;

输入被乘数

movbx,dx

mov[bx],byteptr9

movah,0ah

int21h

callcheck;

检查输入字符的长度

movdx,offsetx

movsi,dx;

定义指针si指向变量x,作为子程序change的入口参数

movdx,offsetone

callchange;

将输入的被乘数转化为十六进制数,并赋值给变量x

movdx,offsetinfo2;

movdx,offsettwo;

输入乘数

movah,0ah

movdx,offsety

定义指针si指向变量y,作为子程序change的入口参数

将输入的被乘数转化为十六进制数,并赋值给变量y

movah,x+2

moval,x+3;

x1

movbh,y+2

movbl,y+3;

y1

mulbx;

x1*y1

movp+2,dx

movp,ax

movah,x

moval,x+1;

x2

x2*y1

addp+2,ax

adcp+4,dx

movbh,y

movbl,y+1;

y2

x1*y2

adcp+6,0

x2*y2

addp+4,ax

adcp+6,dx

movdx,offsetinfo3;

显示提示信息info3

movah,09

int21h

movbx,offsetp

calldispl;

显示计算结果

movah,4ch

mainendp

changeproc;

以2个字符一组,将其从ASCII码转化为相应的十六进制数

addbx,2

movcx,0404h

loop1:

moval,[bx]

subal,30h

cmpal,0ah

jbL1

subal,07h

cmpal,10h

subal,20h

movdx,offsetinfo4

L1:

shlal,cl

pushax

moval,[bx+1]

jbL2

L2:

movdl,al

popax

addal,dl

movds:

[si],al

incsi

decch

jnzloop1

ret

changeendp

displproc;

以2位十六进制数一组,先显示高位数,后显示低位数

movch,8

loop2:

moval,[bx+7]

andal,0f0h

movcl,4

shral,cl

addal,30h

cmpal,3ah

jbds1

addal,7

ds1:

movah,2

andax,0fh

jbds2

ds2:

decbx

jnzloop2

displendp

checkproc;

检查输入的字符个数是否为8个,不足时在前面补0

movch,[bx+1]

subal,ch

movcl,al

jech4

ch1:

incbx

subch,1

jnech1

movch,cl

ch2:

mov[bx],byteptr30h

jnech2

addbx,9

ch3:

mov[bx],al

jnech3

ch4:

checkendp

codeends

endstart

题目二递归调用子程序设计

1、设计分析

有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)+h

age(n-1)=age(n-2)+h

age(n-2)=age(n-3)+h

age

(2)=age

(1)+h

age

(1)=m

通用公式:

age(n)=age(n-1)+h当n>

1时

age

(1)=m当n=1时

3、程序流程图:

图4递归调用子程序的程序流程图

4、测试数据:

人数

第一个人的年龄

年龄差距

第n个人的年龄

05

10

02

018

028

050

5、运行结果:

图5递归调用子程序的运行结果

info1db'

Inputthenumberofpeople(1~99):

info2db0dh,0ah,'

Thelastpeopleageis:

info3db0dh,0ah,'

Inputfirstpeopleage:

info4db0dh,0ah,'

agechange:

info5db0dh,0ah,'

InputError'

crdb0dh,0ah,'

keybufdb4dup(?

sstack'

st1db100dup(?

data,ss:

sstack

Input1:

movdx,offsetinfo1;

显示提示信息info1,提示输入人数

movdx,offsetkeybuf;

输入人数

mov[bx],byteptr3

pushdx

leadx,cr;

回车换行

popdx

callchange;

将输入的人数转化为对应的十进制数

subch,0ffh;

若输入的非十进制数,则重新输入人数

jeInput1

Input2:

movdx,offsetinfo3;

显示提示信息info3,提示输入第一个人年龄

输入第一个人年龄

mov[bx],byteptr3

pushdx

movah,09h

将输入的第一个人的年龄转化为对应的十进制数

subch,0ffh;

若输入的非十进制数,则重新输入第一个人的年龄

jeInput2

Input3:

movdx,offsetinfo4;

显示提示信息info4,提示输入年龄差距

输入年龄差距

leadx,cr;

callchange;

将输入的年龄差距转化为对应的十进制数

subch,0ffh;

若输入的非十进制数,则重新输入年龄差距

jeInput3

popcx;

agechange

popbx;

firstpeople'

sage

popax;

numberofpeople

movdx,0

callage;

递归调用子程序age

movdx,offsetinfo2;

显示提示信息info2,提示输出结果

calldisp

changeproc;

将输入的字符转化为相应的十进制数

leadx,info5

movch,0ffh

jmpL3

moval,cl

movbl,0ah

mulbl

L3:

ret

ageproc;

通过递归调用可计算出最后一个人的年龄

cmpal,1

jnzchn

movdl,bl

chn:

decal

callage

adddl,cl

ageendp

dispproc;

将计算结果以十进制数显示

movcl,08h

xorax,ax

movax,bx

movdl,100

divdl

addal,30h;

显示百位数

shrax,cl

movdl,10

显示十位数

显示个位数

dispendp

endstart

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

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

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