微机原理上机答案(西电)Word文件下载.docx

上传人:聆听****声音 文档编号:472002 上传时间:2023-04-29 格式:DOCX 页数:19 大小:98.09KB
下载 相关 举报
微机原理上机答案(西电)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_第6页
第6页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第7页
第7页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第8页
第8页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第9页
第9页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第10页
第10页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第11页
第11页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第12页
第12页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第13页
第13页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第14页
第14页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第15页
第15页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第16页
第16页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第17页
第17页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第18页
第18页 / 共19页
微机原理上机答案(西电)Word文件下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理上机答案(西电)Word文件下载.docx

《微机原理上机答案(西电)Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理上机答案(西电)Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。

微机原理上机答案(西电)Word文件下载.docx

4.ShowTime;

STRING5 DB'

5.Exit.'

STRINGN DB'

Inputthenumberyouselect(1-5):

$'

IN_STR DB'

Inputthestring(includingletters&

numbers,lessthan60letters):

PRESTR DB'

Originalstring:

NEWSTR DB'

Newstring:

OUT_STR DB'

Thestringis$'

MAXCHR DB'

Themaximumis$'

IN_NUM DB'

Inputthenumbers(0-255,nomorethan20numbers):

'

OUT_NUM DB'

Sortednumbers:

IN_TIM DB'

Correctthetime(HH:

MM:

SS):

HINTSTR DB'

PressESC,gobacktothemenu;

orpressanykeytoplayagain!

KEYBUF DB61

DB?

DB61DUP(?

NUMBUF DB?

DB20DUP(?

DATA ENDS

CODE SEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVSP,OFFSETTOP

MAIN:

CALLFARPTRMENU ;

设置显示器

AGAIN:

MOVAH,2

MOVBH,0 ;

页号

MOVDL,41 ;

列号

MOVDH,10 ;

行号

INT10H ;

光标位置设置

MOVAH,1

INT21H

CMPAL,'

1'

JBAGAIN

5'

JAAGAIN

SUBAL,'

;

N-1

SHLAL,1 ;

(N-1)*2

CBW ;

AL->

AX

LEABX,TABLE

ADDBX,AX

JMPWORDPTR[BX]

G1:

CALLFARPTRCHGLTR

MOVAH,8

CMPAL,1BH

JZMAIN

JMPG1

G2:

CALLFARPTRMAXLTR

JMPG2

G3:

CALLFARPTRSORTNUM

JMPG3

G4:

CALLFARPTRTIMCHK

JZMAIN

JMPG4

G5:

MOVAH,4CH

MENU PROCFAR ;

显示主界面

;

设置显示器方式

MOVAH,0

MOVAL,3;

MOVBL,0;

清屏

MOVDL,5 ;

MOVDH,5 ;

MOVAH,9

LEADX,STRING1

MOVDH,6 ;

LEADX,STRING2

MOVDH,7 ;

LEADX,STRING3

MOVDH,8 ;

LEADX,STRING4

MOVDH,9 ;

LEADX,STRING5

LEADX,STRINGN

RET

MENU ENDP

CHGLTR PROCFAR ;

将输入字符串中小写字母便换成大写字母

RECHG:

MOVAL,3

MOVBL,0

输入提示光标位置设置

LEADX,IN_STR

INT21H ;

输入字符串提示

输入字符串光标位置设置

MOVAH,0AH

LEADX,KEYBUF

输入字符串

CMPKEYBUF+1,0

JZRECHG ;

判断输入字符串是否为空串

LEABX,KEYBUF+2

MOVAL,KEYBUF+1

CBW

MOVCX,AX

MOVBYTEPTR[BX],'

;

在输入字符串尾加结束标志$

源字符串提示光标位置设置

LEADX,PRESTR

输出源字符串提示

LEADX,KEYBUF+2

输出源字符串

LCHG:

CMPBYTEPTR[BX],61H

JBNOCHG

ANDBYTEPTR[BX],0DFH

NOCHG:

INCBX

LOOPLCHG ;

将字符串中小写字母转换成大写字母

新字符串提示光标位置设置

LEADX,NEWSTR

输出新字符串提示

输出新字符串

提示信息光标位置设置

LEADX,HINTSTR

输出提示信息

CHGLTR ENDP

MAXLTR PROCFAR ;

在输入字符串中找出最大值

REMAX:

JZREMAX ;

在输入字符串位加结束标志$

LEADX,OUT_STR

输出字符串提示

输出字符串

LEADX,MAXCHR

输出字符串中最大值提示

MOVDL,0

LCMP:

CMP[BX],DL

JBNOLCHG

MOVDL,[BX]

NOLCHG:

LOOPLCMP ;

找出字符串中最大字符,放入DL

输出字符串中最大字符

MAXLTR ENDP

SORTNUM PROCFAR ;

对输入数据组排序

RESORT:

LEADX,IN_NUM

输入数据组光标位置设置

输入数据组字符串

CALLCIN_INT ;

字符串转换成数据串

CMPAL,0

JZRESORT ;

判断数据串是否有错

CMPNUMBUF,0

判断数据串是否为空

输出提示光标位置设置

LEADX,OUT_NUM

输出数据串提示

输出数据组光标位置设置

CALLFARPTRMPSORT ;

数据组排序

CALLFARPTRINT_OUT ;

数据组的输出

SORTNUM ENDP

CIN_INT PROCNEAR ;

读入整型数

;

入口参数:

出口参数为:

AL(有无错误标志,0为有,1为无)

MOVCL,KEYBUF+1

LEASI,KEYBUF+2

MOVCH,0 ;

数据组数据个数置0

MOVDH,10

MOVAL,0 ;

当前数据x=0

MOVDL,0 ;

有无数据标志置0,即无数据

FNDNUM:

CMPBYTEPTR[SI],'

JZADDNUM ;

判断当前字符是否为空格

0'

JBERRNUM

9'

JAERRNUM ;

判断当前字符是否在'

-'

之间

MOVDL,1 ;

有无数据标志置1,即有数据

MULDH

XORBH,BH

MOVBL,[SI]

ADDAX,BX

SUBAX,'

计算出当前数据x

CMPAH,0

判断x是否越界

JMPNEXT

ADDNUM:

CMPDL,1

JNZNEXT ;

判断是否有数据

INCCH ;

数据组数据个数加1

CALLADDNEW

清零

NEXT:

INCSI

DECCL

CMPCL,0

JNZFNDNUM ;

依次检查各字符

JNZTOTAL ;

判断是否有未加入的数据

INCCH

TOTAL:

MOVNUMBUF,CH ;

置数据组数据个数

MOVAL,1 ;

输入数据无错误

JMPCRTNUM

ERRNUM:

输入数据有错误

CRTNUM:

RET

CIN_INTENDP

ADDNEW PROCNEAR ;

增加新数

CH(数据组数据个数)、AL(当前数据x)

出口参数:

PUSHAX

LEABX,NUMBUF

MOVAL,CH

POPAX

MOV[BX],AL

ADDNEW ENDP

MPSORT PROCFAR ;

MOVAL,NUMBUF

CMPAL,1

JBENOSORT ;

若只有一个元素,停止排序

LEASI,NUMBUF ;

SI指向数据组首地址

ADDSI,CX ;

SI指向数据组末地址

DECCX ;

外循环次数

LP1:

;

外循环开始

PUSHCX

PUSHSI

交换标志置0

LP2:

内循环开始

MOVAL,[SI]

CMPAL,[SI-1]

JAENOXCHG

XCHGAL,[SI-1] ;

交换操作

MOV[SI],AL

交换标志置1

NOXCHG:

DECSI

LOOPLP2

POPSI

POPCX

JNZNOSORT ;

判断交换标志

LOOPLP1

NOSORT:

RET

MPSORT ENDP

INT_OUT PROCFAR ;

输出数据组

MOVBL,10H

LEASI,NUMBUF+1

PRINT:

CALLOUTNUM

MOVDL,'

LOOPPRINT

INT_OUTENDP

OUTNUM PROCNEAR ;

将十进制数以十六进制输出

AL(待转换的数据),BL(转换进制数16)

DIVBL

CMPAH,10

JBPNUM

ADDAH,7

PNUM:

ADDAH,30H

MOVDL,AH

PUSHDX

JZOUTN

OUTN:

POPDX

OUTNUM ENDP

TIMCHK PROCFAR ;

设定并显示时间

设置提示光标位置设置

LEADX,IN_TIM

时间串提示

输入时间串

MOVBL,10

MOVAL,KEYBUF+2

MULBL

ADDAL,KEYBUF+3

JBINVALID

CMPAL,24

JAEINVALID ;

判断时有效性

MOVCH,AL

MOVAL,KEYBUF+5

ADDAL,KEYBUF+6

CMPAL,60

JAEIN

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2