南京理工大学微机实验报告.docx

上传人:b****6 文档编号:3088479 上传时间:2022-11-17 格式:DOCX 页数:15 大小:53.14KB
下载 相关 举报
南京理工大学微机实验报告.docx_第1页
第1页 / 共15页
南京理工大学微机实验报告.docx_第2页
第2页 / 共15页
南京理工大学微机实验报告.docx_第3页
第3页 / 共15页
南京理工大学微机实验报告.docx_第4页
第4页 / 共15页
南京理工大学微机实验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

南京理工大学微机实验报告.docx

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

南京理工大学微机实验报告.docx

南京理工大学微机实验报告

微机实验报告

实验2.1汇编语言程序的调试与运行

思考题:

1、带进位加法

程序:

DISPMACROX

MOVDL,X

MOVAH,02H

INT21H

ENDM

DATASEGMENT

DATA1DB'65087'

DATA2DB'75087'

NEQU$-DATA2

DATAENDS

STACKSEGMENTSTACK

STADB20DUP(?

TOPEQU$-STA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,TOP

MOVSP,AX

LEASI,DATA1

MOVBX,0

MOVCX,N

CALLDISPL

DISP'+'

LEASI,DATA2

MOVBX,0

MOVCX,N

CALLDISPL

DISP'='

LEADI,DATA1

MOVCX,N

CALLADDA

LEASI,DATA1

MOVBX,0

MOVCX,N

CMPDL,0

JZNEXT

DISP'1'

NEXT:

CALLDISPL

DISP0DH

DISP0AH

MOVAX,4C00H

INT21H

DISPLPROC

DS1:

MOVAH,02H

MOVDL,[SI+BX]

INT21H

INCBX

LOOPDS1

RET

DISPLENDP

ADDAPROC

PUSHCX

MOVBX,0

AD1:

SUBBYTEPTR[SI+BX],30H

SUBBYTEPTR[DI+BX],30H

INCBX

LOOPAD1

POPCX

PUSHCX

MOVBX,N-1

CLC

AD2:

MOVAL,[SI+BX]

ADCAL,[DI+BX]

AAA

MOV[DI+BX],AL

DECBX

LOOPAD2

POPCX

PUSHCX

MOVBX,0

MOVDL,0

JNCAD3

MOVDL,1

AD3:

ADDBYTEPTR[DI+BX],30H

INCBX

LOOPAD3

POPCX

RET

ADDAENDP

CODEENDS

ENDSTART

结果截图:

2、上机步骤,调试方法:

1、写代码完成功能要求,文件格式为.asm文件(如21si.asm),将文件放入带汇编工具的文件夹中,即含有汇编工具(MASM.EXE)和链接工具(LINK.EXE)的文件夹。

2、将文件用TC.EXE打开,保存,在File中选择Osshell,启动命令行,进入上述文件夹,输入masm21si回车后编译产生21si.obj文件,再输入link21si回车后链接产生21si.exe文件,最后输入21si,回车后运行即可

 

实验2.2分支程序设计

思考题

1、计算百分比程序:

DISPMACROX

MOVDL,X

MOVAH,02H

INT21H

ENDM

DISP1MACRO

ADDAL,30H

DISPAL

DISP'0'

DISP'%'

MOVDL,0DH

MOVAH,02H

INT21H

MOVDL,0AH

MOVAH,02H

INT21H

ENDM

DATASEGMENT

GRADEDW95H,60H,75H,92H,71H,86H,54H,89H,83H,76H

NEQU($-GRADE)/2

ORG30H

S5DW0

S6DW0

S7DW0

S8DW0

S9DW0

S10DW0

DATAENDS

STACKSEGMENTSTACK

STADB20DUP(0)

TOPEQU$-STA

STACKENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVCX,N

LEABX,GRADE

COMPARE:

MOVAX,[BX]

CMPAX,60H

JLFIVE

CMPAX,70H

JLSIX

CMPAX,80H

JLSEVEN

CMPAX,90H

JLEIGHT

CMPAX,100H

JNENINE

INCS10

JMPCHA

NINE:

INCS9

JMPCHA

EIGHT:

INCS8

JMPCHA

SEVEN:

INCS7

JMPCHA

SIX:

INCS6

JMPCHA

FIVE:

INCS5

JMPCHA

CHA:

ADDBX,2

LOOPCOMPARE

DISP'A'

MOVAX,S10

DISP1

DISP'B'

MOVAX,S9

DISP1

DISP'C'

MOVAX,S8

DISP1

DISP'D'

MOVAX,S7

DISP1

DISP'E'

MOVAX,S6

DISP1

DISP'F'

MOVAX,S5

DISP1

RET

MAINENDP

CODEENDS

ENDSTART

截图:

2、计算平均成绩程序:

DATASEGMENT

GRADEDW95H,60H,75H,92H,71H,86H,54H,89H,83H,76H

NEQU($-GRADE)/2

ORG30H

S5DW0

S6DW0

S7DW0

S8DW0

S9DW0

S10DW0

DATAENDS

STACKSEGMENTSTACK

STADB20DUP(0)

TOPEQU$-STA

STACKENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVDX,0

MOVDI,N

LEASI,GRADE

L1:

MOVBX,[SI]

PUSHBX

ANDBL,0F0H

MOVCL,4

SHRBL,CL

ADDDH,BL

POPBX

ANDBL,0FH

ADDDL,BL

INCSI

INCSI

DECDI

JNZL1

MOVAL,DH

MOVAH,0

MOVCL,10

DIVCL

MOVBH,AL

MOVAL,AH

MULCL

ADDDL,AL

MOVAH,0

MOVAL,DL

MOVCL,10

DIVCL

MOVBL,AL

ADDBH,30H

MOVDL,BH

MOVAH,2

INT21H

ADDBL,30H

MOVDL,BL

MOVAH,2

INT21H

MOVCX,N

LEABX,GRADE

COMPARE:

MOVAX,[BX]

CMPAX,60H

JLFIVE

CMPAX,70H

JLSIX

CMPAX,80H

JLSEVEN

CMPAX,90H

JLEIGHT

CMPAX,100H

JNENINE

INCS10

JMPCHA

NINE:

INCS9

JMPCHA

EIGHT:

INCS8

JMPCHA

SEVEN:

INCS7

JMPCHA

SIX:

INCS6

JMPCHA

FIVE:

INCS5

JMPCHA

CHA:

ADDBX,2

LOOPCOMPARE

RET

MAINENDP

CODEENDS

ENDSTART

结果截图:

实验2.3循环程序设计

1、键盘输入,显示成绩和名次:

程序:

DATASEGMENT

GRADEDW10DUP(0)

COUNTEQU($-GRADE)/2

ORG20H

RANKDW10DUP(?

HHDB10,13,'$'

MEG1DB'PLEASEINPUT10GRADE',10,13,'$'

MEG2DB'GRADE',10,13,'$'

MEG3DB'RANK',10,13,'$'

DATAENDS

;

STACKSEGMENTSTACK

STADB20DUP(20H)

TOPEQU$-STA

STACKENDS

;

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVSP,TOP

LEADX,MEG1

MOVAH,9

INT21H

LEASI,GRADE

AGAIN:

MOVAH,1

INT21H

CMPAL,'#'

JZEXIT

CMPAL,''

JZL1

MOV[SI],AL

INCSI

JMPAGAIN

L1:

MOVAL,[SI-2]

MOVAH,[SI-1]

MOV[SI-2],AH

MOV[SI-1],AL

JMPAGAIN

EXIT:

MOVDI,COUNT

MOVBX,0

LOOP1:

MOVAX,GRADE[BX]

MOVCX,COUNT

LEASI,GRADE

NEXT:

MOVDX,[SI]

CMPAX,DX

JANO_COUNT

INCWORDPTRRANK[BX]

NO_COUNT:

ADDSI,2

LOOPNEXT

ADDRANK[BX],30H

ADDBX,2

DECDI

JNZLOOP1

LEADX,HH

MOVAH,9

INT21H

LEADX,MEG2

MOVAH,9

INT21H

LEASI,GRADE

MOVCX,10

LOOP2:

MOVDL,[SI+1]

MOVAH,2

INT21H

MOVDL,[SI]

MOVAH,2

INT21H

LEADX,HH

MOVAH,9

INT21H

INCSI

INCSI

LOOPLOOP2

LEADX,HH

MOVAH,9

INT21H

LEADX,MEG3

MOVAH,9

INT21H

LEASI,RANK

MOVCX,20

LOOP3:

MOVDL,[SI]

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

当前位置:首页 > 法律文书 > 调解书

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

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