西安电子科技大学微机原理大作业.docx
- 文档编号:1880065
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:28
- 大小:591.34KB
西安电子科技大学微机原理大作业.docx
《西安电子科技大学微机原理大作业.docx》由会员分享,可在线阅读,更多相关《西安电子科技大学微机原理大作业.docx(28页珍藏版)》请在冰豆网上搜索。
西安电子科技大学微机原理大作业
第一次上机
一、实验目的
1.熟练掌握8086/8088的各种寻址方式及应用。
2.掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础
二、实验仪器
586微机1台
三、实验内容
1.关于数据的寻址方式练习
8086/8088提供多种方式实现操作数寻址,大体可分为7种:
a.立即寻址
b.寄存器寻址
c.直接寻址
d.寄存器间接寻址
e.寄存器相对寻址
f.基址变址寻址
g.基址变址且相对寻址
掌握8086/8088的这些寻址方式,是学习汇编语言编程的关键。
指令
SRC寻址方式
SRC的地址
AX推算值
AX实际值
MOVAX,CX
寄存器寻址
0005
0005
MOVAX,500H
立即寻址
0500
0500
MOVAX,TABLE
直接寻址
1541:
0004
A5A4
A5A4
MOVAX,ES:
[BX]
寄存器间接寻址
1542:
0004
C5C4
C5C4
MOVAX,[BX+05H]
寄存器相对寻址
1541:
0009
AAA9
AAA9
MOVAX,SS:
[BX]+03H
寄存器相对寻址
153F:
0007
B8B7
B8B7
MOVAX,TABLE[BX]
寄存器相对寻址
1541:
0008
A9A8
A9A8
MOVAX,07H[BX]
寄存器相对寻址
1541:
000B
ACAB
ACAB
MOVAX,[BP]
寄存器间接寻址
153F:
0003
B4B3
B4B3
MOVAX,TABLE[BP]
寄存器相对寻址
1541:
0007
A8A7
A8A7
MOVAX,08H[BP]
寄存器相对寻址
153F:
000B
BCBB
BCBB
MOVAX,[BP+06H]
寄存器相对寻址
153F:
0009
BAB9
BAB9
MOVAX,DS:
[BP+03H]
寄存器相对寻址
1541:
0006
A7A6
A7A6
MOVAX,[BP]+05H
寄存器相对寻址
153F:
0008
B9B8
B9B8
MOVAX,ES:
[SI+03H]
寄存器相对寻址
1542:
0005
C6C5
C6C5
MOVAX,[DI+06H]
寄存器相对寻址
1541:
0007
A8A7
A8A7
MOVAX,[DI]+05H
寄存器相对寻址
1541:
0006
A7A6
A7A6
MOVAX,TABLE[SI]
寄存器相对寻址
1541:
0006
A7A6
A7A6
MOVAX,[SI]
寄存器间接寻址
1541:
0002
A3A2
A3A2
MOVAX,TABLE[DI]
寄存器相对寻址
1541:
0005
A6A5
A6A5
MOVAX,[SI]+05H
寄存器相对寻址
1541:
0007
A8A7
A8A7
MOVAX,[BX][DI+01H]
基址变址且相对寻址
1541:
0006
A7A6
A7A6
MOVAX,[BX][SI]+03H
基址变址且相对寻址
1541:
0009
AAA9
AAA9
MOVAX,TABLE[BX][SI]
基址变址且相对寻址
1541:
000A
ABAA
ABAA
MOVAX,ES:
[BX][DI]
基址变址寻址
1542:
0005
C6C5
C6C5
MOVAX,[BP][DI+02H]
基址变址且相对寻址
153F:
0006
B7B6
B7B6
MOVAX,TABLE[BP][DI]
基址变址且相对寻址
1541:
0008
A9A8
A9A8
MOVAX,ES:
[BP][SI]
基址变址寻址
1542:
0005
C6C5
C6C5
MOVAX,[BP][SI+05H]
基址变址且相对寻址
153F:
000A
BBBA
BBBA
MOVAX,03H[BP][DI]
基址变址且相对寻址
153F:
0007
B8B7
B8B7
MOVAX,[BP][SI]
基址变址寻址
153F:
0005
B6B5
B6B5
MOVAX,[BP+02H][DI+03H]
基址变址且相对寻址
153F:
0009
BAB9
BAB9
MOVAX,TABLE[BP+02H][DI+03H]
基址变址且相对寻址
1541:
000D
AEAD
AEAD
第二次上机
一、实验目的
1. 熟练掌握汇编语言程序设计的方法及上机步骤。
2. 掌握算术运算中,十进制数调整指令的应用。
3. 掌握子程序的设计方法。
4. 掌握DOS功能的调用方法。
二、实验仪器
586微机1台
三、实验内容
1.编写求十进制数02121424与21736543之和的程序,并将和以十进制数的形式送屏幕显示。
STACKSEGMENTSTACK'STACK'
DW100HDUP(?
)
STACKENDS
DATASEGMENT
ADD1DD02121424H
ADD2DD21736543H
SUMDD?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
LEASI,ADD1
LEADI,ADD2
LEABX,SUM
MOVAL,[SI]
ADDAL,[DI]
DAA
MOV[BX],AL
MOVAL,[SI+1]
ADCAL,[DI+1]
DAA
MOV[BX+1],AL
MOVAL,[SI+2]
ADCAL,[DI+2]
DAA
MOV[BX+2],AL
MOVAL,[SI+3]
ADCAL,[DI+3]
DAA
MOV[BX+3],AL
MOVDL,00
ADCDL,00
CALLDISPSUM
MOVAH,4CH
INT21H
DISPSUMPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHSI
MOVSI,4
PUSHDX
MOVCX,5
LAB:
PUSHCX
PUSHBX
MOVAL,DL
MOVBL,DL
MOVCL,4
SHRAL,CL
ADDAL,30H
MOVAH,02
MOVDL,AL
INT21H
ANDBL,0FH
ADDBL,30H
MOVAH,02
MOVDL,BL
INT21H
POPBX
POPCX
DECSI
MOVDL,[BX][SI]
LOOPLAB
POPDX
POPSI
POPCX
POPBX
POPAX
RET
DISPSUMENDP
CODEENDS
ENDSTART
2.有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。
STACKSEGMENTSTACK
DB256DUP(?
)
STACKENDS
DATASEGMENT
DATA1DW7800H,6832H,0000H,87H,1275H,0EC34H
STRING1DB'inputnumber:
',0DH,0AH,'$'
STRING2DB'Thenumbersfromlargetosmallis:
',0DH,0AH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAX,STACK
MOVSS,AX
LEADX,STRING1
MOVAH,09H
INT21H
MOVCX,6
LEASI,DATA1
L1:
MOVAX,[SI]
ADDSI,2
CALLDISPAX
CALLDISPCR
LOOPL1
MOVCX,5
LEASI,DATA1
ADDSI,10
LP1:
PUSHCX
PUSHSI
LP2:
MOVAX,[SI]
CMPAX,[SI-2]
JBENOXCHG
XCHGAX,[SI-2]
MOV[SI],AX
NOXCHG:
DECSI
DECSI
LOOPLP2
POPSI
POPCX
LOOPLP1
LEADX,STRING2
MOVAH,09H
INT21H
MOVCX,6
LEASI,DATA1
L2:
MOVAX,[SI]
ADDSI,2
CALLDISPAX
CALLDISPCR
LOOPL2
MOVAH,4CH
INT21H
DISPALPROC
PUSHAX
PUSHCX
PUSHDX
PUSHAX
MOVCL,4
SHRAL,CL
CALLCHANG
MOVAH,02H
MOVDL,AL
INT21H
POPAX
ANDAX,0FH
CALLCHANG
MOVAH,02H
MOVDL,AL
INT21H
POPDX
POPCX
POPAX
RET
DISPALENDP
CHANGPROC
CMPAL,10
JNGECHANG1
ADDAL,7
CHANG1:
ADDAL,30H
RET
CHANGENDP
DISPAXPROC
XCHGAL,AH
CALLDISPAL
XCHGAH,AL
CALLDISPAL
RET
DISPAXENDP
DISPCRPROC
PUSHAX
PUSHDX
MOVAH,2
MOVDL,0AH
INT21H
MOVAH,2
MOVDL,0DH
INT21H
POPDX
POPAX
RET
DISPCRENDP
CODEENDS
ENDSTART
第三、四次上机
一、实验目的
1.增强和提高汇编语言程序设计的能力,掌握模块化程序设计的方法.
2.熟练掌握DOS常用功能的调用方法.
二、实验仪器
586微机一台
三、实验内容
编写如下程序,并在机器上调试成功。
程序采用菜单式选择,可以接收用户从键盘输入的四个命令(1-4),各命令功能分别为:
(1)按下“1”键,完成字符串小写字母变成大写字母。
(2)按下“2”键,完成找最大值
(3)按下“3”键,完成排序
(4)按下“4”键,显示时间
(5)按下“5”键,结束程序运行,返回系统提示符。
;宏定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西安电子科技大学 微机 原理 作业