广工自动化微机实验胶印.docx
- 文档编号:13867373
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:51
- 大小:19.82KB
广工自动化微机实验胶印.docx
《广工自动化微机实验胶印.docx》由会员分享,可在线阅读,更多相关《广工自动化微机实验胶印.docx(51页珍藏版)》请在冰点文库上搜索。
广工自动化微机实验胶印
(大神出品,不保证没错误)
实验一:
1.1:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0500H
DATA1DB5DUP(?
)
ORG050AH
DATA2DB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVCX,5
MOVDI,OFFSETDATA1
MOVSI,OFFSETDATA2
LAB1:
MOVBL,0FFH
MOVAL,[DI]
CMPAL,3AH
JNBOK
SUBAL,30H
JCOK
MOVBL,AL
OK:
MOVAL,BL
MOV[SI],AL
INCDI
INCSI
LOOPLAB1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
1.2:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0500H
DATA1DW78EDH
ORG0510H
DATA2DB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
LEASI,DATA1
LEADI,DATA2+4
MOVBX,000AH
MOVCX,0005H
MOVAX,[SI]
AA0:
MOVDX,0000H
DIVBX
MOV[DI],DL
DECDI
LOOPAA0
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
1.3:
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0500H
DATA1DB2DUP(?
)
ORG050AH
DATA2DB4DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDI,OFFSETDATA1
MOVSI,OFFSETDATA2
MOVAX,[DI]
MOVCX,0004H
MOVBX,1000H
A1:
MOVDX,0000H
DIVBX
CMPAL,0AH
JAEA3
ADDAL,30H
A2:
MOV[SI],AL
INCSI
PUSHDX
MOVAX,BX
MOVBX,0010H
MOVDX,0000H
DIVBX
MOVBX,AX
POPDX
MOVAX,DX
LOOPA1
INT03H
A3:
SUBAL,0AH
ADDAL,41H
JMPA2
CODEENDS
ENDSTART
1.4
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0500H
DATA1DB8DUP(?
)
ORG0510H
DATA2DB8DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDI,OFFSETDATA1
MOVSI,OFFSETDATA2
MOVCX,0004H
MOVBL,0AH
MOVAH,00H
A1:
MOVAL,[DI]
MULBL
INCDI
MOVDL,[DI]
ADDAL,DL
MOV[SI],AL
INCDI
INCSI
LOOPA1
INT03H
CODEENDS
ENDSTART
1.5
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0600H
DATA1DB?
ORG0610H
JIEGUODB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,DATA1
LEADI,JIEGUO
XORCH,CH
MOVCL,04H
MOVDL,0AH
MOVDH,04H
A1:
MOVAL,[SI]
ANDAL,0FH
MOVBL,AL
MOVAL,[SI]
SHRAL,CL
MULDL
ADDAL,BL
MOV[DI],AL
INCSI
INCDI
DECDH
JNZA2
JMPA3
A2:
JMPA1
A3:
INT03H
CODEENDS
ENDSTART
1.6
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0300H
DATA1DB2DUP(?
)
ORG0308H
DATA2DB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDI,OFFSETDATA1
MOVSI,OFFSETDATA2
MOVAX,[DI]
MOVBX,2710H;十进制数的10000
MOVCX,0005H
A1:
MOVDX,0000H
DIVBX
MOV[SI],AL
INCSI
PUSHDX
MOVAX,BX
MOVBX,0AH
MOVDX,0000H
DIVBX
MOVBX,AX
POPDX
MOVAX,DX
LOOPA1
INT03H
CODEENDS
ENDSTART
实验二:
2.1
STACKSSEGMENT
DW64(?
)
STACKSENDS
DATASSEGMENT
ORG0700H
XDW0208H
YDW0509H
ZDW0304H
ORG0710H
QDW?
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
MOVAX,X
ADDAX,Y;X+Y结果存入AX中
AAA;BCD码调整
SUBAX,Z;X+Y-Z结果存入AX
AAS;BCD码调整
MOVQ,AX;Q存入3710单元
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
2.2
STACKSSEGMENT
DW64DUP(?
)
STACKSENDS
DATASSEGMENT
ORG0500H
TABDW0010H,0020H,0030H,0040H,0050H,0060H
ORG0510H
JIEGUODB2DUP(?
)
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
SUBAX,AX
MOVCX,06H
LEADI,TAB
BBB:
ADDAX,[DI]
INCDI
INCDI
DECCX
JNZBBB
MOVBX,06H
CWD
DIVBX
MOVBX,0AH
CWD
DIVBX
LEASI,JIEGUO
MOV[SI],AL
INCSI
MOV[SI],DL
;INT03H
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
2.3
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0500H
DATA1DB10H,15H,0FH
ORG0510H
JIEGUODB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,DATA1
LEADI,JIEGUO
MOVCX,0002H
MOVAL,[SI]
A1:
INCSI
ADDAL,[SI]
LOOPA1
MOVBL,04H
MULBL
MOVDL,64H
MOVAH,00H
DIVDL
MOV[DI],AL
INCDI
MOVAL,AH
MOVAH,00H
MOVDL,0AH
DIVDL
MOV[DI],AL
INCDI
MOV[DI],AH
INT03H
CODEENDS
ENDSTART
2.4
DATASSEGMENT
ORG0550H
XDB65H,67H,87H,19H,32H,54H,76H,98H;低位在低地址,高位在高地址
YDB65H,67H,87H,19H,32H,54H,76H,98H
DATASENDS
STACKSSEGMENT
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
MOVSI,00H;变址存于SI
MOVCX,04H;循环次数为4
CLC;CF位清零
BBB:
MOVAX,0550H[SI];取被加数4位存于AX中
ADCAX,0558H[SI];被加数4位减去减数4位
MOV0560H[SI],AX;结果存入3060H开始的单元
ADDSI,02H;变址加2
DECCX
JNZBBB;DI不为零时继续循环
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
2.5
STACKSSEGMENT
DW64(?
)
STACKSENDS
DATASSEGMENT
ORG0300H
XDW0608H
YDW0509H
ZDW0306H
ORG0310H
QDW?
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
MOVAX,X
SUBAX,Y;X-Y结果存入AX中
;AAS;BCD码调整
ADDAX,Z;X-Y+Z结果存入AX
;AAA;BCD码调整
MOVQ,AX;Q存入3710单元
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
2.6
DATASSEGMENT
ORG0550H
XDB65H,67H,87H,19H,32H,54H,76H,98H;低位在低地址,高位在高地址
YDB77H,39H,32H,48H,95H,28H,43H,56H
DATASENDS
STACKSSEGMENT
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,DATAS
MOVDS,AX
MOVSI,00H;变址存于SI
MOVCX,04H;循环次数为4
CLC;CF位清零
BBB:
MOVAX,0550H[SI];取被加数4位存于AX中
SBBAX,0558H[SI];被加数4位减去减数4位
MOV0560H[SI],AX;结果存入0506H开始的单元
ADDSI,02H;变址加2
DECCX
JNZBBB;DI不为零时继续循环
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
实验三:
3.1
DATASSEGMENT
ORG0500H
;BUFSIZEDB9;单元数据个数
NUMDB09h,12H,80H,78H,0C8H,00H,00H,0FEH,99H,34H
ORG0510H
RESULTDB3DUP(0,0,0)
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS
MOVDS,AX
MOVDI,OFFSETNUM;送数据地址到DI
LEABP,RESULT
MOVSI,00H
MOVCX,[di];循环次数
movch,00h
incdi
AGAIN:
TESTBYTEPTR[DI],80H
JZCOUNT;ZF=1,此数据为非负数,转移
INCBYTEPTR[BP+1];ZF=0,此数据为负数
JMPDONE
COUNT:
CMPBYTEPTR[DI],01H
JNCNEXT
INCBYTEPTR[BP+2];CF=1,此数据为0
JMPDONE
NEXT:
INCBYTEPTR[BP];CF=0,此数据为正数
DONE:
INCDI
LOOPAGAIN
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
3.2
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0200H
DAT0DB3DUP(?
)
ORG0204H
DATE0DW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,DAT0
LEADI,DATE0
MOVAL,[SI]
MOVAH,[SI+1]
MOVBL,[SI+2]
CMPAL,AH
JZA1
CMPAL,BL
JZA2
MOV[DI],SI
JMPA4
A2:
ADDSI,1
MOV[DI],SI
JMPA4
A1:
CMPAL,BL
JZA3
ADDSI,2
MOV[DI],SI
JMPA4
A3:
MOV[DI],0FFFFH
A4:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.3
DATASSEGMENT
ORG3700H
SCOREDB64H,61H,5DH,55H,52H,51H,44H,45H,47H,48H,4DH,4FH,3CH,3FH,40H,41H,33H,56H,59H,30H
ORG3720H
TOTDB5DUP(0,0,0,0,0)
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS
MOVDS,AX
MOVCX,20;循环次数
MOVSI,OFFSETSCORE;分数首地址送SI
BBB:
MOVBP,OFFSETTOT
MOVAL,BYTEPTR[SI]
CLC
CMPAL,60
JNBS70;CF=0,大于60跳转
JMPDONE
S70:
INCBP
CMPAL,70
JNBS80;CF=0,大于70跳转
JMPDONE
S80:
INCBP
CMPAL,80
JNBS90;CF=0,大于80跳转
JMPDONE
S90:
INCBP
CMPAL,90
JNBS100;CF=0,大于90跳转
JMPDONE
S100:
INCBP
DONE:
INCBYTEPTR[BP];对应分数段人数加1
INCSI
LOOPBBB
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
3.4
DATASSEGMENT
ORG0300H
LENDW0020H
NUM(定义20个数,由于太长,Worl里面显示成了几行,换行要在行首加DB)
DB12H,34H,34H,54H,65H,65H,53H,55H,09H,69H,0FCH,65H,0AAH,0FBH,98H,88H,0C3H,44H,12H,12H,45H,45H,76H,76H,32H,32H,76H,76H,0B7H,86H,21H,09H
ORG0400H
MAXDB?
ADDRESSDW?
DATASENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS
START:
MOVAX,DATAS
MOVDS,AX
LEASI,NUM
MOVAL,00H
MOVCX,LEN;循环次数
MOVADDRESS,0302H
CLC
BBB:
CMPAL,BYTEPTR[SI];讲AL中数据与(SI)中数据比较
JNBNEXT
CLC;CF=1,CF清零,记录数据地址
MOVAL,BYTEPTR[SI]
MOVADDRESS,SI
NEXT:
INCSI
LOOPBBB
MOVMAX,AL;将AL中最大数存入指定地址
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
3.5
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0300H
XDB?
ORG0305H
YDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,X
LEADI,Y
MOVCX,0003H
A1:
MOVAL,[SI]
INCSI
ANDAL,AL
JNSA2
MOVBYTEPTR[DI],0BH
INCDI
LOOPA1
JMPEXIT
A2:
JZA3
MOVBYTEPTR[DI],0AH
INCDI
LOOPA1
JMPEXIT
A3:
MOVBYTEPTR[DI],00H
INCDI
LOOPA1
EXIT:
INT03H
CODEENDS
ENDSTART
3.6
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
DATASEGMENT
ORG0200H
XDB?
ORG0105H
YDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,X
LEADI,Y
MOVCX,0003H
A1:
MOVAL,[SI]
INCSI
CMPAL,0C8H
JBEA2
MOVBYTEPTR[DI],90H
INCDI
LOOPA1
JMPEXIT
A2:
CMPAL,64H
JNZA3
MOVBYTEPTR[DI],50H
INCDI
LOOPA1
JMPEXIT
A3:
CMPAL,32H
JAEA4
MOVBYTEPTR[DI],00H
INCDI
A4:
LOOPA1
EXIT:
INT03H
CODEENDS
ENDSTART
实验四:
1.修改实验程序:
(1)
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
MOVBX,03H
A0:
CMPBX,00H
JZA3
PUSHBX;现场保护
MOVCX,09H;9个字符
MOVBL,31H
MOVAH,02H
A1:
MOVDL,BL
INT21H
INCBL
PUSHCX
MOVCX,0FFFFH
A2:
LOOPA2
POPCX
DECCX
JNZA1
MOVDL,0DH
MOVAH,02H
INT21H
MOVDL,0AH
MOVAH,02H
INT21H
POPBX
DECBX
JMPA0
A3:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
(2)
STACKSEGMENTSTACK
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STACK
START:
MOVBX,04H
A0:
CMPBX,00H
JZA3
PUSHBX;现场保护
MOVCX,001AH;26个字母
MOVBL,41H
MOVAH,01H
A1:
MOVAL,BL
INT10H
INCBL
DECCX
JNZA1
MOVCX,09H;9个字符
MOVBL,31H
MOVAH,01H
A2:
MOVAL,BL
INT10H
INCBL
DECCX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 微机 实验 胶印
![提示](https://static.bingdoc.com/images/bang_tan.gif)