微机实验报告最新Word格式文档下载.docx
- 文档编号:16596087
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:146.91KB
微机实验报告最新Word格式文档下载.docx
《微机实验报告最新Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机实验报告最新Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
\masm5>
masmone1.asm经过汇编后源程序为:
0WarningErrors
0SevereErrors。
即为汇编通过
3).用连接程序link产生执行文件exe
linkone1.obj
4).用DEBUG调试程序调用格式如下:
F:
debugone1.exe
此时,DEBUG已将执行程序装入内存,可直接用g命令运行程序。
-g
Match.对程序进行反汇编:
-u
0B9B:
0000B89A0BMOVAX,0B9A
00038ED8MOVDS,AX
00058B260400MOVSP,[0004]
00098BECMOVBP,SP
000BBE0000MOVSI,0000
000E8B840000MOVAX,[SI+0000]
00128B9C0200MOVBX,[SI+0002]
001650
PUSH
AX
001753
BX
001858
POP
00195B
001AB44C
MOV
AH,4C
001CCD21
INT
21
001EF6EB
IMUL
BL
反汇编后,与源程序的要求相符合
堆栈指令运行前AX,BX的内容
-g16
BP=2000
UPEIPL
AX=3000BX=5000CX=002EDX=0000SP=2000
SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=0016NVNZNAPONC
001650PUSHAX
堆栈指令执行后ZX,BX的值如下所示:
-g1A
AX=5000BX=3000CX=002EDX=0000SP=2000BP=2000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=001ANVUPEIPL
NZNAPONC
001AB44CMOVAH,4C
由以上可知:
AX与BX的内容得到了交换
5)汇编以及调试中所遇到的问题:
1.MOv语句比较容易出现错误対源程序进行汇编时无法通过,编程序时应该多注意语法错误。
2.使用debug进行调试时,忘记让程序只运行到断点之前,导致查找出来的AX与BX的内容分并没有进行交换,还是保持原来的值不变,修正后在堆栈指令前先查出AX与BX的值,堆栈后在次查询Ax与BX的值,对比之后AX确实与BX的内容交换了。
实验二内存操作数及寻址方法
1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。
2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。
3、掌握简单指令的执行过程。
二.实验内容:
1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;
请编一程序段将AX和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间存储单元,用字处理程序编辑程序,用masm.exe和link.exe对源程序进行汇编程和连接,用DEBUG调试程序。
程序步骤与实验一的第六个题目一致
2、用masm和link对以下程序进行汇编和连接,调试程序在DEBUG调试程序状态下进行。
用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
ORG0300H
ADB12H,23H,34H,45H,56H,67H,78H,89H,9AH
MOVAX,DATA
MOVAX,BX
MOVAX,0300H
MOVAX,[0300H]
MOVAX,[BX]
MOVSI,2
MOVAX,0001[BX]
MOVAX,[BX][SI]
MOVAX,0001[BX][SI]
OBJ,命令格式如下:
1.在DOS环境下,用汇编程序MASM对源文件汇编产生目标文件
masmone1.asm
经过汇编后源程序为:
即为汇编通过
2.用连接程序link产生执行文件exe
3.用debug调试程序:
Match.
4.对程序进行反汇编:
180E:
0000B8DD17
AX,17DD
00038ED8
DS,AX
00058BC3
AX,BX
0007B80003
AX,0300
000AB80003
000D8B07
AX,[BX]
000FBE0200
SI,0002
00128B4701
AX,[BX+01]
00158B00
AX,[BX+SI]
00178B4001
AX,[BX+SI+
001EC406FF76
LES
AX,[76FF]
由第五行:
180E:
000AB80003MOVAX,0300并没有执行源程序中的:
MOVAX,[0300H]指令,所以执行后AX的结果为0000应该对程序进行修改修改后的原程序如下:
DATASEGMENTORG0300HADB12H,23H,34H,45H,56H,67H,78H,89H,9AHDATAENDSPROGNAMSEGMENT
MOVDX,0300H
MOVBX,DX
0005BA0003
DX,0300
00088BDA
BX,DX
000A8B07
000CBE0200
000F8B4701
00128B00
00148B4001
0017B44C
0019CD21
INT21
001B057183
ADD
AX,8371
使用单步执行方法分析每条指令源地址的形成过程:
将数据段的首地址存入寄存器AX中
-t
AX=17DDBX=0000CX=032BDX=0000SP=0000BP=0000SI=0000DI=0000DS=17CDES=17CDSS=17DDCS=180EIP=0003NVUPEIPLNZNAPONC180E:
把AX的值作为DS的首地址
AX=17DDBX=0000CX=032BDX=0000SP=0000BP=0000SI=0000DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0005NVUPEIPLNZNAPONC180E:
0005BA0003MOVDX,0300
AX=17DDBX=0000CX=032BDX=0300SP=0000BP=0000SI=0000DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0008NVUPEIPLNZNAPONC180E:
00088BDAMOVBX,DX
AX=17DDBX=0300CX=032BDX=0300SP=0000BP=0000SI=0000DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=000ANVUPEIPLNZNAPONC180E:
000A8B07MOVAX,[BX]
DS:
0300=2312
将偏移量BX存到寄存器AX中
AX=2312BX=0300CX=032BDX=0300SP=0000BP=0000SI=0000DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=000CNVUPEIPLNZNAPONC180E:
000CBE0200MOVSI,0002
将0002赋值给SI
AX=2312BX=0300CX=032BDX=0300SP=0000BP=0000SI=0002DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=000FNVUPEIPLNZNAPONC180E:
000F8B4701MOVAX,[BX+01]
0301=3423
AX=3423BX=0300CX=032BDX=0300SP=0000BP=0000SI=0002DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0012NVUPEIPLNZNAPONC180E:
00128B00MOVAX,[BX+SI]
0302=4534
AX=4534BX=0300CX=032BDX=0300SP=0000BP=0000SI=0002DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0014NVUPEIPLNZNAPONC180E:
00148B4001MOVAX,[BX+SI+01]
0303=5645
AX=5645BX=0300CX=032BDX=0300SP=0000BP=0000SI=0002DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0017NVUPEIPLNZNAPONC
MOVAH,4C;
系统功能调用的功能号:
4C功能:
带返回码结束
AX=4C45BX=0300CX=032BDX=0300SP=0000BP=0000SI=0002DI=0000DS=17DDES=17CDSS=17DDCS=180EIP=0019NVUPEIPLNZNAPONC180E:
0019CD21INT21
段中指;
有以上可知经过调试后AX=5645H
实验三算术运算指令
一.实验目的
1.学习算术运算指令的用法。
2•熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。
二.实验内容
编写三个完整的汇编语言源程序,完成以下计算。
其中X、Y、Z、R、W均为存放16位带符号数单元的地址。
⑴ZJW+(Z—X)
(2)ZJW—(X+6)—(R+9)
(3)ZJ(W*X)/(Y+6),RJ余数
三.实验操作步骤:
(1)ZJW+(Z-X)
1)实验的源程序如下:
XDW2567H
WDW5841H
ZDW36C2H
DATA
MOVAX,X
SUB[Z],AX;
(Z—X)
;
W+(Z-X)
MOVAX,[W]ADC[Z],AX
INT21HPROGNAMENDS
2)对程序进行反汇编:
001BFE8946F6DECBYTEPTR[BX+DI+F646]
001FEB06JMP0027反汇编后,以上结果可以看出与源程序相符合查询:
-d0b9a:
0000,000f
0B9A:
000067254158C2360000-0000000000000000g%AX.6
执行到断点前
-gf
AX=2567BX=0000CX=002ADX=0000SP=0000BP=0000SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=000FNVUPEIPLNZACPONC0B9B:
000FA10200MOVAX,[0002]DS:
0002=5841
查询执行后的结果:
0000672541585B110000-0000000000000000g%AX[
36c2H-2567H=115BH满足题意得到Z-X的值
-t2
DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=0012NVUPEIPLNZACPONC
0012ADC[0004],AXDS:
0004=115B
AX=5841BX=0000CX=002ADX=0000SP=0000BP=0000SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=0016NVUPEIPLNZNAPENC
0016B44CMOVAH,4C
0000,000f
0000672541589C690000-0000000000000000g%AX.i
115BH+5841H=699CH得到W+(Z-X)的值
(2)ZJW—(X+6)—(R+9)
XDW2674H
WDW7046H
RDW310CH
ZDW?
MOVAX,DATAMOVDS,AXMOVSI,0ADC[X],0006HADC[R],0009HMOVAX,[X]SUB[W],AXMOVAX,[R]SUB[W],AXMOVAX,[W]MOV[Z],AXMOVAH,4CH
MOVAX,0B9A
MOVSI,0000
WORDPTR[0000],+06
PROGNAMENDSENDSTART对程序进行反汇编:
-u0B9B:
0000B89A0B0B9B:
00038ED80B9B:
0005BE00000B9B:
000806ADC
-g12
AX=0B9ABX=0000CX=003ADX=0000SP=0000BP=0000SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=0012NVUPEIPLNZACPONC0B9B:
0012A10000MOVAX,[0000]DS:
0000=267A
0000,000f
00007A26465015310000-0000000000000000z&
FP.1
2674H+6=267AH;
310cH+9=3115H;
分别表示X+6,R+9的值;
-g26
AX=F8B7
BX=0000CX=003ADX=0000SP=0000BP=0000SI=0000
DS=0B9A
ES=0B8ASS=0B9ACS=0B9BIP=0026NVUPEINGNZNAPECY
0026B44CMOVAH,4C
0000
7A26B7181531B718-0000000000000000z&
...1
0010
B89A0B8ED8BE0000-8316000006831604
0020
0009A10000290602-00A1040029060200))...
0030
A10200A30600B44C-CD21FF76F6B8D205
L.!
.v
0040
50FF362421E81864-83C408C45E062683
P.6$!
..d.…d&
.
0050
7F06007409A1A407-398672FF760AFF36
0060
2421B8DD05EB3090-803E60080074218B
0070
9E72FF8B36D22580-3800740AFF362421
$!
.…0..>
'
..t!
.r..6.%.8.t..6$!
7046H-267AH-3115H=187BH;
实现了:
W—(X+6)-(R+9)
(3)Z・(W*X)/(Y+6),R・余数
1.源程序如下:
DATASEGMENT
XDW5201H
WDW1357H
YDW3671HRDW?
ZDW?
DATASTART:
MOVDS,AXMOVAX,XIMUL[W]ADD[Y],0006HIDIV[Y]MOV[Z],AXMOV[R],DXMOVAH,4CHINT21H
0000B89A0B
0005A10000
0008F72E02000B9B:
000C06ADD0B9B:
0011F73E0400
0015A30800
0018MOV
001CB44C
PROGNAMENDSENDSTART
MOVAX,[0000]
IMULWORDPTR[0002]
WORDPTR[0004],+06
IDIVWORDPTR[0004]
MOV[0008],AX
[0006],DX
MOVAH,4C
001ECD21
-gc
AX=F157BX=0000CX=0030DX=0631SP=0000BP=0000SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=000COVUPEIPLNZNAPOCY
000C06ADDWORDPTR[0004],+06DS:
0004=3671
-g15
AX=1D1EBX=0000CX=0030DX=1465SP=0000BP=0000SI=0000DI=0000
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=0015NVUPEIPLNZNAPENC0B9B:
0015A30800MOV[0008],AXDS:
0008=0000
-g1c
DS=0B9AES=0B8ASS=0B9ACS=0B9BIP=001CNVUPEIPLNZNAPENC0B9B:
001CB44CMOVAH,4C
0006
6514-1E1D000000000000
B89A0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 实验 报告 最新