微机原理课程设计电话薄设计程序清单Word格式.docx

上传人:b****5 文档编号:17425706 上传时间:2022-12-01 格式:DOCX 页数:19 大小:17.58KB
下载 相关 举报
微机原理课程设计电话薄设计程序清单Word格式.docx_第1页
第1页 / 共19页
微机原理课程设计电话薄设计程序清单Word格式.docx_第2页
第2页 / 共19页
微机原理课程设计电话薄设计程序清单Word格式.docx_第3页
第3页 / 共19页
微机原理课程设计电话薄设计程序清单Word格式.docx_第4页
第4页 / 共19页
微机原理课程设计电话薄设计程序清单Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

微机原理课程设计电话薄设计程序清单Word格式.docx

《微机原理课程设计电话薄设计程序清单Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计电话薄设计程序清单Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

微机原理课程设计电话薄设计程序清单Word格式.docx

xinmingstrdb'

Name:

deyustrdb'

Deyu:

tiyustrdb'

Tiyu:

lilunstrdb'

Lilun:

shijianstrdb'

Shijian:

zongcestrdb'

Zongce:

disstr1db'

Theallrecordslistasfollows!

'

0dh,0ah,'

disstr3db'

Thelistisempty!

titlestrdb'

Welecome!

1:

Input'

2:

Show'

6:

ESC'

0d,0ah,'

inputstr1db'

Pleaseinputtheinformationgofthestudent!

inputstr2db'

Sorry,thelistisfull,youcannotinput!

inputstr3db'

Youinputawrangscorce!

backstrdb'

Key3tomainmenu!

exitstrdb'

goodbye!

dataends

codesegment;

代码段

assumecs:

code,ds:

data

inputprocnear;

输入函数

leasi,cnt;

查看计数器内容是否为满

moval,[si]

cmpal,10

jbinput1;

低于转

leadx,inputstr2;

movah,09h

int21h

jmpinput2

input1:

leadx,inputstr1;

未满

leadx,xuehaostr;

提示

xorax,ax

leasi,cnt

movcl,[si]

moval,9

mulcl;

算偏移地址

leasi,xuehao

addsi,ax

movcx,8

xuehao1:

movah,01h

cmpal,0dh;

enter键

jzxuehao2

mov[si],al

incsi

loopxuehao1

xuehao2:

moval,24h;

$字符,结束

leadx,enter

leadx,xinmingstr;

提示输入姓名

moval,20

mulcl

leasi,xinming

movcx,19

xinming1:

cmpal,0dh

jzxinming2

loopxinming1

xinming2:

moval,24h

leadx,deyustr;

提示输入德育分数

moval,3

leasi,deyu

movcx,2

deyu1:

jzdeyu2

loopdeyu1

deyu2:

xorax,ax;

寄存器清零

xorbx,bx

xorcx,cx

xordx,dx

movbl,[si]

subbl,48;

减去48

movbh,[si]

subbh,48

moval,10

mulbl;

ax=al*bl

movbl,al

addbl,bh;

十进制数

movbh,0

leasi,deyuscore

mov[si],bx

leadx,tiyustr;

leasi,tiyu

tiyu1:

jztiyu2

looptiyu1

tiyu2:

xorbx,bx

subbl,48

mulbl

addbl,bh

leasi,tiyuscore

leadx,lilunstr;

leasi,lilun

lilun1:

jzlilun2

looplilun1

lilun2:

leasi,lilunscore

leadx,shijianstr;

提示

leasi,shijian

shijian1:

jzshijian2

loopshijian1

shijian2:

leasi,shijianscore

计数器加1

incal

input2:

ret

inputendp

chuliprocnear;

处理函数。

然后转换成字符存放到zongce里。

查看计数器是否有记录。

cmpcl,0

jachuli1

leadx,disstr3;

如果没有记录,则输出列表为空的提示语。

jmpchuli2

chuli1:

leasi,deyuscore;

后面依次把各科转换后的整数加到bl,小数加到bh。

最后bl中的数即整数数之和,bh小数之和。

movax,[si]

movcl,10

divcl

movbh,ah

addbh,ah

addbl,al

movcl,2

movch,ah

movcl,al

mulch

addbh,al

moval,bh

addbl,al;

bl是整数的数字,bh是小数的数字

moval,bl

movbl,10

divbl

movbl,al;

bl是十位数,bh是个位数

计算要放入的地址偏移量ax

deccl

leasi,zongce

addbl,48

mov[si],bl

addbh,48

mov[si],bh

movbl,24h

mov[si],bl;

第三位放“$”

chuli2:

chuliendp;

处理函数结束

displayprocnear;

显示函数

movbl,0;

用于记录要显示的数据,若要显示第N项,bl为N-1,一会儿计算偏移量要用

xorch,ch

movcl,[si];

把cnt里的数个cx,当做显示循环次数

cmpcx,0

jadis1

jmpdis2

dis1:

;

有记录,输出各项

pushcx

输出学号

moval,9;

al,放该项的长度。

mulbl;

算出偏移量ax,例:

每个学号占9个字节,则第一个学号偏移量为0,第2个为9,以此类推。

movcx,ax

leadx,xuehaostr

leadx,xuehao

adddx,cx

leadx,xinmingstr

输出名字

leadx,xinming

leadx,deyustr

输出德育分数

moval,4

leadx,deyu

leadx,tiyustr

输出体育分数

leadx,tiyu

jmpdis4

dis3:

jmpdis1

dis4:

leadx,lilunstr

输出理论分数

moval,4

leadx,lilun

leadx,shijianstr

输出实践分数

leadx,shijian

leadx,zongcestr

输出综测分数

leadx,zongce

incbl

popcx

loopdis3;

由于离dis1太远,不能直接跳转到,所以先跳到dis3,再跳到dis1

dis2:

displayendp;

显示函数结束

start:

主函数开始

movax,data

movds,ax

menu:

MOVAL,0

MOVBH,7

movcl,0

movch,0

movdh,26

movdl,79

movah,6

int10h

MOVBH,0

MOVDH,0

MOVDL,0

MOVAH,2

INT10H

leadx,titlestr;

输出提示语,提示输入选项

movah,07h;

输入选项

cmpal,'

1'

输入为“1”,执行输入,并对输入数据处理

jzshuru

2'

输入为“2”,执行显示功能

jzshow

6'

jzout1

jmpmenu

shuru:

callinput;

调用输入函数

callchuli;

调用处理函数

jmpback

show:

calldisplay;

调用显示函数

back:

leadx,backstr;

输出提示语“Key3tomainmenu!

3'

判断选项是否为“3”

jzmenu;

是3,返回主菜单

jmpback;

不是3,跳到back

out1:

leadx,exitstr

movah,09h

int21h

movAH,4Ch

codeends

endstart

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

当前位置:首页 > 高中教育 > 高中教育

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

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