南京理工大学微机实验报告.docx
- 文档编号:13400084
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:17
- 大小:53.05KB
南京理工大学微机实验报告.docx
《南京理工大学微机实验报告.docx》由会员分享,可在线阅读,更多相关《南京理工大学微机实验报告.docx(17页珍藏版)》请在冰点文库上搜索。
南京理工大学微机实验报告
微机实验报告
实验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]
CMPDL,3AH
JZL2
MOVAH,2
INT21H
JMPL3
L2:
MOVDL,31H
MOVAH,2
INT21H
MOVDL,30H
MOVAH,2
INT21H
L3:
INCSI
LOOPLOOP3
MOVAH,1
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
END
结果截图:
2、控制循环程序的方法:
计数条件控制法综合
3、程序的四个组成部分:
a、循环初始化
b、循环体
c、循环控制部分
d、循环结束部分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南京理工大学 微机 实验 报告