西电微机原理上机作业完整版Word格式文档下载.docx

上传人:b****6 文档编号:19690369 上传时间:2023-01-08 格式:DOCX 页数:20 大小:224.96KB
下载 相关 举报
西电微机原理上机作业完整版Word格式文档下载.docx_第1页
第1页 / 共20页
西电微机原理上机作业完整版Word格式文档下载.docx_第2页
第2页 / 共20页
西电微机原理上机作业完整版Word格式文档下载.docx_第3页
第3页 / 共20页
西电微机原理上机作业完整版Word格式文档下载.docx_第4页
第4页 / 共20页
西电微机原理上机作业完整版Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

西电微机原理上机作业完整版Word格式文档下载.docx

《西电微机原理上机作业完整版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《西电微机原理上机作业完整版Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

西电微机原理上机作业完整版Word格式文档下载.docx

MOVAX,07H[BX]

000B

ACAB

MOVAX,[BP]

0003

B4B3

MOVAX,TABLE[BP]

A8A7

MOVAX,08H[BP]

BCBB

MOVAX,[BP+06H]

BAB9

MOVAX,DS:

[BP+03H]

0006

A7A6

MOVAX,[BP]+05H

B9B8

[SI+03H]

C6C5

MOVAX,[DI+06H]

MOVAX,[DI]+05H

MOVAX,TABLE[SI]

MOVAX,[SI]

0002

A3A2

MOVAX,TABLE[DI]

A6A5

MOVAX,[SI]+05H

MOVAX,[BX][DI+01H]

基址变址且相对寻址

MOVAX,[BX][SI]+03H

MOVAX,TABLE[BX][SI]

000A

ABAA

[BX][DI]

基址变址寻址

MOVAX,[BP][DI+02H]

B7B6

MOVAX,TABLE[BP][DI]

[BP][SI]

MOVAX,[BP][SI+05H]

BBBA

MOVAX,03H[BP][DI]

MOVAX,[BP][SI]

B6B5

MOVAX,[BP+02H][DI+03H]

MOVAX,TABLE[BP+02H][DI+03H]

000D

AEAD

1.编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。

STACKSEGMENTSTACK'

STACK'

DW100HDUP(?

TOPLABELWORD

STACKENDS;

堆栈段

DATASEGMENT

ADD1DD12678532H

ADD2DD21736543H

SUMDD?

DATAENDS;

数据段

CODESEGMENT;

代码段

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

LEASP,TOP

LEASI,ADD1

LEADI,ADD2

MOVAL,[SI]

ADDAL,[DI]

DAA

MOVBYTEPTRSUM,AL

MOVAL,[SI+1]

ADCAL,[DI+1]

DAA

MOVBYTEPTRSUM+1,AL

MOVAL,[SI+2]

ADCAL,[DI+2]

MOVBYTEPTRSUM+2,AL

MOVAL,[SI+3]

ADCAL,[DI+3]

MOVBYTEPTRSUM+3,AL

MOVAX,WORDPTRSUM+2

CALLDISPAX

MOVAX,WORDPTRSUM

MOVAH,4CH

INT21H

DISPALPROCNEAR

PUSHAX

PUSHCX

PUSHDX

MOVCL,4

SHRAL,CL

CALLCHANG

MOVAH,02

MOVDL,AL

INT21H

POPAX

ANDAL,0FH

POPDX

POPCX

RET

DISPALENDP

CHANGPROCNEAR

CMPAL,10

JNGECHANG1

ADDAL,7

CHANG1:

ADDAL,30H

CHANGENDP

DISPAXPROCNEAR

XCHGAL,AH

CALLDISPAL

XCHGAH,AL

DISPAXENDP

CODEENDS

ENDSTART

2.有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

STACKSEGMENTSTACK

DB256DUP(?

STACKENDS

DATA1DW7800H,6832H,0000H,87H,1275H,0EC34H

STRING1DB'

inputnumber:

'

0DH,0AH,'

$'

STRING2DB'

Thenumbersfromlargetosmallis:

DATAENDS

CODESEGMENT

ASSUMECS:

DATA,ES:

MOVES,AX

LEADX,STRING1

MOVAH,09H

MOVCX,6

LEASI,DATA1

L1:

MOVAX,[SI]

ADDSI,2

CALLDISPCR

LOOPL1

MOVCX,5

ADDSI,10

LP1:

PUSHSI

LP2:

CMPAX,[SI-2]

JBENOXCHG

XCHGAX,[SI-2]

MOV[SI],AX

NOXCHG:

DECSI

LOOPLP2

POPSI

LOOPLP1

LEADX,STRING2

MOVCX,6

L2:

LOOPL2

DISPALPROC

MOVAH,02H

POPAX

ANDAX,0FH

CHANGPROC

CHANGENDP

DISPAXPROC

DISPCRPROC

MOVAH,2

MOVDL,0AH

MOVDL,0DH

DISPCRENDP

3.编写如下程序,并在机器上调试成功。

程序采用菜单式选择,可以接收用户从键盘输入的四个命令(1-4),各命令功能分别为:

(1)按下“1”键,完成字符串小写字母变成大写字母。

(2)按下“2”键,完成找最大值

(3)按下“3”键,完成排序

(4)按下“4”键,结束程序运行,返回系统提示符。

DISPLMACROSTR

PUSHDX

PUSHAX

LEADX,STR

ENDM

ISCONTINUEMACROL

DISPS15,10,SMENU

MOVAH,08H

CMPAL,1BH

JNEL

JMPMAIN

CURSORMACROCURX,CURY

PUSHBX

MOVDH,CURX

MOVDL,CURY

MOVBH,0

INT10H

POPBX

DISPSMACROX,Y,STR

MOVBH,00H

MOVDH,X

MOVDL,Y

LEADX,STR

SCROLLMACRON,ULR,ULC,LRR,LRC,ATT

MOVAH,06H

MOVAL,N

MOVCH,ULR

MOVCL,ULC

MOVDH,LRR

MOVDL,LRC

MOVBH,ATT

PREPMACROT

LEASI,INBUF+1

LEADI,OUTBUF

SCROLL21,2,0,22,79,0FH

DISPS3,20,T

DISPS6,2,CAPION

DISPS8,2,INCAP

MOVAH,0AH

MOVCH,0

MOVCL,[SI]

INCSI

DB100HDUP(?

BASEDWMAIN,LTC,FMV,SORTS,EXIT

WELCMDB'

Welcometothisprogram!

MMENUCDB'

Pleaseinputthenumber!

MMENU1DB'

1-LowercaseLettersToCapitalLetters$'

MMENU2DB'

2-FindTheMaximumfigure$'

MMENU3DB'

3-Sort$'

MMENU4DB'

4-Exit!

SMENUDB'

PressAnyKeyTorestart,Press"

ESC"

ToReturnToMainMenu!

WROCAPDB'

WRONG!

Youhavepress"

"

key!

Pleaseinputanumberbetween1and4!

CAPIONDB'

PleaseInputYourStringsandEndWith"

Enter"

Key!

INCAPDB'

YourInputIs:

$'

INBUFDB100

DB?

DB100DUP(?

OUTCAPDB'

MyOutputIs:

OUTBUFDB100DUP(?

MAXCAPDB'

ThecharofmaxASCIIis:

.$'

ERRINFDB'

ERROR!

Pleasechecktheformatyouinput!

TDINVDB'

Invalidtimedata!

Inputagain!

NODATCAPDB'

Youhaveinputnothing!

TIMEDB8DUP('

:

),12DUP('

'

LEADX,INBUF

CLC

MAIN:

SCROLL0,0,0,24,79,0

SCROLL25,0,0,24,79,50H

DISPS8,20,MMENUC

DISPS10,20,MMENU1

DISPS12,20,MMENU2

DISPS14,20,MMENU3

DISPS16,20,MMENU4

ML:

CURSOR19,1DH

MOVAH,01H

CMPAL,31H

JLERROR

CMPAL,35H

JGERROR

ANDAX,00FH

LEABX,BASE

SHLAL,1

ADDBX,AX

JMPWORDPTR[BX]

;

CMPAL,'

1'

JELTC

2'

JEFMV

3'

JESORTS

4'

JEEXIT

ERROR:

CMPAL,0DH

JEMCR

MOV[WROCAP+23],AL;

Otherchar

MOV[WROCAP+24],'

JMPD

MCR:

MOVWORDPTR[WROCAP+23],'

RC'

D:

DISPS20,5,WROCAP;

Showthewronginformation

JMPML

LTC:

CALLLLTOCL

ISCONTINUELTC

FMV:

CALLFMAXV

ISCONTINUEFMV

SORTS:

CALLSORT

ISCONTINUESORTS

EXIT:

LLTOCLPROC

REFLASHL:

PREPMMENU1

CMPCL,0

JEREFLASHL

LL1:

a'

JBMTOB;

NOCHANGE

z'

JAMTOB

SUBAL,20H;

Convert

MTOB:

MOV[DI],AL

INCSI

INCDI

LOOPLL1

MOVBYTEPTR[DI],'

DISPS10,2,OUTCAP

DISPS10,17,OUTBUF

LLTOCLENDP

FMAXVPROC

REFLASHF:

PREPMMENU2

JEREFLASHF

MOVAL,0

FL1:

CMPAL,[SI]

JANEXT

NEXT:

LOOPFL1

MOV[MAXCAP+26],AL

DISPS10,2,MAXCAP

RET

FMAXVENDP

SORTPROC

PREPMMENU3

DECCX

ADDSI,CX

MOVBYTEPTR[SI+1],'

CMPAL,[SI-1]

JBENOXCHG

XCHGAL,[SI-1]

MOV[SI],AL

POPSI

POPCX

DISPS10,2,OUTCAP

DISPS10,17,INBUF[2]

RET

SORTENDP

BCDASCPROCNEAR

CBW

MOVBL,10

DIVBL

MOVTIME[SI],AL

ADDAH,30H

MOVTIME[SI],AH

BCDASCENDP

ENDSTART

按下4键

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

当前位置:首页 > 成人教育 > 电大

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

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