微机原理实验软件部分.docx
《微机原理实验软件部分.docx》由会员分享,可在线阅读,更多相关《微机原理实验软件部分.docx(14页珍藏版)》请在冰豆网上搜索。
![微机原理实验软件部分.docx](https://file1.bdocx.com/fileroot1/2023-2/6/836a1d8a-869e-4ea7-b608-840ba42f0aa7/836a1d8a-869e-4ea7-b608-840ba42f0aa71.gif)
微机原理实验软件部分
实验一
1,
2,实验源程序:
MOVAX,1000H
MOVDS,AX
MOVSI,50H
MOVDI,52H
MOVBX,54H
CLC
XORAX,AX
MOVAX,[SI]
MOVAX,[DI]
MOV[BX],AX
HLT
3
实验二
1,加法源程序:
SHOWMACROB
MOVDL,B
MOVAH,02H
INT21H
ENDM
DATASEGMENT
DATA1DB33H,39H,31H,37H,34H
DATA2DB36H,35H,30H,38H,32H
DATA3DB'__',0DH,0AH,'$'
DATAENDS
STACKSEGMENTSTACK
STADB20DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVAX,TOP
MOVSP,AX
MOVSI,OFFSETDATA2
MOVBX,05
SHOW20H
CALLDISPL
SHOW0DH
SHOW0AH
MOVSI,OFFSETDATA1
MOVBX,05
SHOW2BH
CALLDISPL
SHOW0DH
SHOW0AH
MOVCL,7
S1:
SHOW2DH
LOOPS1
SHOW0DH
SHOW0AH
MOVSI,OFFSETDATA1
MOVDI,OFFSETDATA2
CALLADDA
MOVSI,OFFSETDATA1
MOVBX,05
SHOW20H
CALLDISPL
MOVAX,4C00H
INT21H
DISPLPROCNEAR
DS1:
SHOW[SI+BX-1]
DECBX
JNZDS1
RET
DISPLENDP
ADDAPROCNEAR
MOVDX,SI
MOVBP,DI
MOVBX,05
AD1:
SUBBYTEPTR[SI+BX-1],30H
SUBBYTEPTR[DI+BX-1],30H
DECBX
JNZAD1
MOVSI,DX
MOVDI,BP
MOVCX,05
CLC
AD2:
MOVAL,[SI]
MOVBL,[DI]
ADCAL,BL
AAA
MOV[SI],AL
INCSI
INCDI
LOOPAD2
MOVSI,DX
MOVDI,BP
MOVBX,05
AD3:
ADDBYTEPTR[SI+BX-1],30H
ADDBYTEPTR[DI+BX-1],30H
DECBX
JNZAD3
RET
ADDAENDP
CODEENDS
ENDSTART
截图:
2,
3,乘法
源程序
SHOWMACROB
MOVDL,B
MOVAH,02H
INT21H
ENDM
DATASEGMENT
DATA1DB33H,39H,31H,37H,34H
DATA2DB36H,35H,30H,38H,32H
DATA3DB'__',0DH,0AH,'$'
DATAENDS
STACKSEGMENTSTACK
STADB20DUP(?
)
TOPEQULENGTHSTA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVAX,TOP
MOVSP,AX
MOVSI,OFFSETDATA2
MOVBX,05
SHOW20H
CALLDISPL
SHOW0DH
SHOW0AH
MOVSI,OFFSETDATA1
MOVBX,05
SHOW2BH
CALLDISPL
SHOW0DH
SHOW0AH
MOVCL,7
S1:
SHOW2DH
LOOPS1
SHOW0DH
SHOW0AH
MOVSI,OFFSETDATA1
MOVDI,OFFSETDATA2
CALLADDA
MOVSI,OFFSETDATA1
MOVBX,05
SHOW20H
CALLDISPL
MOVAX,4C00H
INT21H
DISPLPROCNEAR
DS1:
SHOW[SI+BX-1]
DECBX
JNZDS1
RET
DISPLENDP
ADDAPROCNEAR
MOVDX,SI
MOVBP,DI
MOVBX,05
AD1:
SUBBYTEPTR[SI+BX-1],30H
SUBBYTEPTR[DI+BX-1],30H
DECBX
JNZAD1
MOVSI,DX
MOVDI,BP
MOVCX,05
CLC
AD2:
MOVAL,[SI]
MOVBL,[DI]
ADCAL,BL
AAA
MOV[SI],AL
INCSI
INCDI
LOOPAD2
MOVSI,DX
MOVDI,BP
MOVBX,05
AD3:
ADDBYTEPTR[SI+BX-1],30H
ADDBYTEPTR[DI+BX-1],30H
DECBX
JNZAD3
RET
ADDAENDP
CODEENDS
ENDSTART
结果
统计数据
源程序:
DATASEGMENT
ARYDB1,3,-1,2,6,-9,-5,7,8,1,3,8,-6,8,-9,-7,2,4,-3,-3
DB-4,7,7,8,3,1,3,6,8,5,5,6,4,5,7,-4,2,4,5,-7,5,4
DB2,5,7,8,8,8,7,6,-5,4,3,2,1,-1,2,2,3,-4,5,6,7
N=$-ARY
LRESULTDW0
HRESULTDW0
TJJGDB'STATISTICSRESULT:
',0DH,0AH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
SHOWMACROB
PUSHDX
PUSHAX
MOVDX,B
MOVAH,02H
INT21H
POPAX
POPDX
ENDM
XORCX,CX
MOVCX,N
LEASI,ARY
LOP:
MOVAL,[SI]
CMPAL,0
JNSPLUS
INCLRESULT
JMPCONT
PLUS:
INCHRESULT
CONT:
INCSI
LOOPLOP
LEADX,TJJG
MOVAH,09H
INT21H
SHOW'+'
MOVAX,HRESULT
CALLDISPL
SHOW0DH
SHOW0AH
SHOW'-'
MOVAX,LRESULT
CALLDISPL
MOVAX,4C00H
INT21H
DISPLPROC
PUSHDX
PUSHAX
MOVCX,10
MOVDX,00H
MOVBX,00H
DIVCX
MOVBX,DX
ADDAL,30H
DISPL1:
MOVDL,AL
MOVAH,02H
INT21H
MOVDL,BL
ADDDL,30H
MOVAH,02H
INT21H
POPAX
POPDX
RET
DISPLENDP
CODEENDS
ENDSTART