微机原理实验报告程序.docx

上传人:b****6 文档编号:7244216 上传时间:2023-01-22 格式:DOCX 页数:14 大小:15.90KB
下载 相关 举报
微机原理实验报告程序.docx_第1页
第1页 / 共14页
微机原理实验报告程序.docx_第2页
第2页 / 共14页
微机原理实验报告程序.docx_第3页
第3页 / 共14页
微机原理实验报告程序.docx_第4页
第4页 / 共14页
微机原理实验报告程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理实验报告程序.docx

《微机原理实验报告程序.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告程序.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理实验报告程序.docx

微机原理实验报告程序

实验2—1

(1)定义字

DATASEGMENT

ADW855CH

BDW0AB43H

NUMDW?

DATAENDS

CODESEGMENT

AssumeCS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,A

MOVBX,B

ADDAX,BX

MOVNUM,AX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验2—1

直接寻址

DATASEGMENT

ADB5CH,85H

BDB43H,0ABH

NUMDW?

DATAENDS

CODESEGMENT

AssumeCS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,A

MOVBX,B

ADDAX,BX

MOVNUM,AX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验2—3

拆字

DATASEGMENT

ORG1000H

NUMDW1234H

ORG4000H

ADB?

BDB?

DATAENDS

CODESEGMENT

AssumeCS:

CODE,DS:

DATA

START:

MOVAX,NUM

MOVA,AH

MOVB,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验3—3

DATASEGMENT

INFOR1DB0AH,0DH,'PleasePressanykeytoinputaletter:

$';0AH为换行,0DH为回车

INFOR2DB0AH,0DH,'YouInputalowercaseletter!

$'

INFOR3DB0AH,0DH,'Youinputauppercaseletter!

$'

INFOR4DB0AH,0DH,'Youinputadigit!

$'

INFOR5DB0ah,0dh,'Youinputotherletter!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETINFOR1

MOVAH,09H;输出字符串INFOR1

;MOVAH,1

INT21H

MOVAH,01H;从键盘输入一个字符

INT21H

CMPAL,'0'

JBOTHER;小于0,为其他字符

CMPAL,'9'

JBEDIGIT;大于等于0,小于等于9,为数字

CMPAL,'A'

JBOTHER

CMPAL,'Z'

JBEUPPER

CMPAL,'a'

JBOTHER

CMPAL,'z'

JBELOWER

JMPPEND

LOWER:

MOVDX,OFFSETINFOR2

MOVAH,09H

INT21H

JMPPEND

UPPER:

MOVDX,OFFSETINFOR3

MOVAH,09H

INT21H

JMPPEND

DIGIT:

MOVDX,OFFSETINFOR4

MOVAH,09H

INT21H

JMPPEND

OTHER:

MOVDX,OFFSETINFOR5

MOVAH,09H

INT21H

JMPPEND

PEND:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验3—1

DATASEGMENT

STRINGDB'Iamastudent'

LENEQU$-STRING

DATAENDS

CODESEGMENT

AssumeCS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETSTRING

MOVCL,LEN

NEXT:

MOVAL,[BX]

CMPAL,'a'

JBLOP

CMPAL,'z'

JALOP

SUBAL,20H

MOV[BX],AL

LOP:

INCBX

DECCL

JNZNEXT

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验4—1

DATASEGMENT

ADB''

NEQU$-A

BDBNDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,A

LEADI,B

ADDDI,N

MOVCX,N

MOVE:

MOVAL,[SI]

MOVES:

[DI],AL

INCSI

DECDI

LOOPMOVE

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验4—2

DATASEGMENT

ORG1000H

DB100DUP('A')

ORG1050H

DB100DUP('B')

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

;MOVES,AX

MOVSI,1000H

MOVDI,1050H

MOVCX,100

AGAIN:

MOVAL,[SI]

MOV[DI],AL

INCSI

INCDI

LOOPAGAIN

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验4—3

DATASEGMENT

BUFDW1,2,3,4,5,6,7,8,9,0

MAXDW0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETBUF

MOVCX,10

AGAIN:

MOVAX,[SI]

CMPAX,MAX

JBNEXT

MOVMAX,AX

NEXT:

INCSI

INCSI

LOOPAGAIN

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验6—1

DATASEGMENT

STRDB'Pleaseinputacharacter:

$'

STR1DB0ah,0dh

STR3DB?

'H$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETSTR

MOVAH,09H

INT21H

MOVAH,01H

INT21H

MOVSTR1,AL

MOVDX,OFFSETSTR1

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验6—2

DATASEGMENT

STR1DB0dh,0ah,'Pleaseinputacharacter:

$'

STR2DB0dh,0ah,'Youinputanumber!

$'

STR3DB0dh,0ah,'Thecharacteryouinputisnotanumber!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETSTR1

MOVAH,09H

INT21H

MOVAH,01H

INT21H

CMPAL,30H

JBNEXT1

CMPAL,39H

JANEXT1

MOVDX,OFFSETSTR2

MOVAH,09H

INT21H

JMPNEXT2

NEXT1:

MOVDX,OFFSETSTR3

MOVAH,09H

INT21H

NEXT2:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验6—3

DATASEGMENT

info1db0dh,0ah,'inputstring:

$'

info2db0dh,0ah,'outputstring:

$'

STRDB20DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETSTR

ADDSI,10

MOV[SI],BYTEPTR'$'

MOVDX,OFFSETinfo1

MOVAH,09H

INT21H

MOVCX,10

AGAIN:

MOVAH,01H

INT21H

DECSI

MOV[SI],AL

LOOPAGAIN

MOVDX,OFFSETSTR

MOVAH,09H

INT21H

MOVAH,01H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验6—1

;输入字符后回车

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

START:

MOVAX,CODE

MOVDS,AX

MOVAH,01H

INT21H

MOVDL,0AH

INT21H

PUSHAX

ANDAX,00FFH

MOVCL,4

SHRAL,CL

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21H

POPAX

ANDAL,0FH

CMPAL,0AH

JNCNEXT

ADDAL,30H

JMPfinal

NEXT:

ADDAL,37H

final:

MOVDL,AL

MOVAH,02H

INT21H

MOVDL,'H'

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验6—3

DATASEGMENT

info1DB0dh,0ah,'inputstring:

$'

info2DB0dh,0ah,'outputstring:

$'

STRDB0Bh,0,20dup(?

nEQU$-STR

DB'$'

DATAENDS

CODESEGMENT

ASSUMEcs:

code,ds:

data

START:

movax,DATA

movDS,ax

leaDX,info1

movAH,09H

INT21H

leaDX,STR

movAH,0AH

INT21H

MOVCX,0

leaSI,STR

movDI,SI

addDI,n-1

INCSI

INCSI

number:

MOVBL,[SI]

CMPBL,0DH

JZNEXT

INCCX

INCSI

JMPnumber

NEXT:

leaSI,STR

INCSI

INCSI

again:

movbl,[SI]

mov[DI],bl

INCSI

DECDI

loopagain

leaDX,info2

movAH,09H

INT21H

INCDI

movDX,DI

movAH,09H

INT21H

movAH,4ch

INT21h

CODEends

endstart

codesegment

assumecs:

code

start:

movah,1

int21h

cmpal,1bh

jztj

movbl,al

movch,2

rotate:

movcl,4

rolbl,cl

moval,bl

andal,0fh

addal,30h

cmpal,3ah

jlprintit

addal,7h

printit:

movdl,al

movah,2

int21h

decch

jnzrotate

jmpstart

tj:

movax,4c00h

int21h

codeends

endstart

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

当前位置:首页 > 医药卫生 > 临床医学

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

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