微机原理上机实验微机原理程序调试基础指导.docx

上传人:b****5 文档编号:5939374 上传时间:2023-01-02 格式:DOCX 页数:14 大小:21.19KB
下载 相关 举报
微机原理上机实验微机原理程序调试基础指导.docx_第1页
第1页 / 共14页
微机原理上机实验微机原理程序调试基础指导.docx_第2页
第2页 / 共14页
微机原理上机实验微机原理程序调试基础指导.docx_第3页
第3页 / 共14页
微机原理上机实验微机原理程序调试基础指导.docx_第4页
第4页 / 共14页
微机原理上机实验微机原理程序调试基础指导.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机原理上机实验微机原理程序调试基础指导.docx

《微机原理上机实验微机原理程序调试基础指导.docx》由会员分享,可在线阅读,更多相关《微机原理上机实验微机原理程序调试基础指导.docx(14页珍藏版)》请在冰豆网上搜索。

微机原理上机实验微机原理程序调试基础指导.docx

微机原理上机实验微机原理程序调试基础指导

宏汇编语言编程调试

上机实验报告

 

姓名:

XXX

学号:

1113014XX

班级:

机械110X

学院:

机械工程学院

 

2013/11/7

实验一宏汇编语言编程调试

一、   实验目的

为了深入理解汇编语言指令系统常用指令的含义,掌握汇编语言程序的编辑、连接和调试方法,用进行编程调试实验。

是在DOS环境下运行的一种功能很强的宏汇编程序,除具有一般汇编程序的功能外,还支持宏处理、条件汇编。

一、   实验方法

宏汇编语言系统只有数百K字节,主要由,,和四个文件组成,系统不需要安装。

由于Windows2000以上版本的操作系统没有MS-DOS方式,需从开始菜单的运行子菜单处键入CMD或COMMAND命令,进入命令行方式,设法进入汇编系统所在的文件夹子目录后。

操作过程如下:

文件名.ASM

进入编辑状态,编辑汇编语言源程序。

文件名.ASM

本实验程序目的:

在内存BUF1单元中存放一有符号数,判断此数的正负情况,并将正负情况存入BUF2中。

本实验结果为:

在内存BUF1中存放数字36,判断36正负为正即00000001,经补码显示为00000001存放到BUF2中。

DATASEGMENT

BUF1DB036H

BUF2DB?

DATAENDS

PROGRAMSEGMENT

ASSUMECS:

PROGRAM,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETBUF1

MOVDI,OFFSETBUF2

MOVAH,[BX]

ORAH,AH

JZZERO

JLMINUS

MOVAH,01H

JMPASSIGN

ZERO:

MOVAH,00H

JMPASSIGN

MINUS:

MOVAH,0FFH

ASSIGN:

MOV[DI],AH

MOVAH,4CH

INT21H

PROGRAMENDS

ENDSTART

文件名.ASM

对源程序进行汇编,根据提示输入三次文件名,分别得到目标代码文件:

文件名.OBJ;列表清单文件:

文件名.LST和交叉参考文件:

文件名.CRF。

如果出错重新汇编。

直到显示

0warningerrors

0seviererrors

Microsoft(R)MacroAssemblerVersion11/7/1318:

11:

31

Page1-1

10000DATASEGMENT

2000036BUF1DB036H

30001?

?

BUF2DB?

40002DATAENDS

50000PROGRAMSEGMENT

6ASSUMECS:

PROGRAM,DS:

DATA

70000B8----RSTART:

MOVAX,DATA

800038ED8MOVDS,AX

90005BB0000RMOVBX,OFFSETBUF1

100008BF0001RMOVDI,OFFSETBUF2

11000B8A27MOVAH,[BX]

12000D0AE4ORAH,AH

13000F7407JZZERO

1400117C0AJLMINUS

150013B401MOVAH,01H

160015EB0890JMPASSIGN

170018B400ZERO:

MOVAH,00H

18001AEB0390JMPASSIGN

19001DB4FFMINUS:

MOVAH,0FFH

20001F8825ASSIGN:

MOV[DI],AH

210021B44CMOVAH,4CH

220023CD21INT21H

230025PROGRAMENDS

24ENDSTART

Microsoft(R)MacroAssemblerVersion11/7/1318:

11:

31

Symbols-1

SegmentsandGroups:

NameLengthAlignCombineClass

DATA..............0002PARANONE

PROGRAM............0025PARANONE

Symbols:

NameTypeValueAttr

ASSIGN.............LNEAR001FPROGRAM

BUF1..............LBYTE0000DATA

BUF2..............LBYTE0001DATA

MINUS.............LNEAR001DPROGRAM

START.............LNEAR0000PROGRAM

ZERO..............LNEAR0018PROGRAM

@FILENAME...........TEXTXR

24SourceLines

24TotalLines

10Symbols

49212+399844Bytessymbolspacefree

0WarningErrors

0SevereErrors

文件名.OBJ

连接系统与目标文件,得到可执行文件:

文件名.EXE;和列表文件:

文件名.MAP。

通常不要选择连接库文件,直接回车即可。

LINK:

warningL4021:

nostacksegment

StartStopLengthNameClass

00000H00001H00002HDATA

00010H00034H00025HPROGRAM

Programentrypointat0001:

0000

4.调试过程:

F:

\DEBUGMASM5\文件名.EXE

-U0

1435:

0000B83414MOVAX,1434

1435:

00038ED8MOVDS,AX

1435:

0005BB0000MOVBX,0000

1435:

0008BF0100MOVDI,0001

1435:

000B8A27MOVAH,[BX]

1435:

000D0AE4ORAH,AH

1435:

000F7407JZ0018

1435:

00117C0AJL001D

1435:

0013B401MOVAH,01

1435:

0015EB08JMP001F

1435:

001790NOP

1435:

0018B400MOVAH,00

1435:

001AEB03JMP001F

1435:

001C90NOP

1435:

001DB4FFMOVAH,FF

1435:

001F8825MOV[DI],AH

-U

1435:

0021B44CMOVAH,4C

1435:

0023CD21INT21

1435:

00254DDECBP

1435:

0026FF8B5EFEDECWORDPTR[BP+DI+FE5E]

1435:

002A894710MOV[BX+10],AX

1435:

002DE94701JMP0177

1435:

0030FF7404PUSH[SI+04]

1435:

0033E83EFFCALLFF74

1435:

0036894510MOV[DI+10],AX

1435:

0039E93B01JMP0177

1435:

003C8B5EFEMOVBX,[BP-02]

1435:

003F8B05MOVAX,[DI]

-G=021

AX=0134BX=0000CX=0035DX=0000SP=0000BP=0000SI=0000DI=0001

DS=1434ES=1424SS=1434CS=1435IP=0021NVUPEIPLNZNAPENC

1435:

0021B44CMOVAH,4C

-DDS:

0

1434:

00003601000000000000-00000000000000006...............

1434:

0010B834148ED8BB0000-BF01008A270AE474.4..........'..t

1434:

0020077C0AB401EB0890-B400EB0390B4FF88.|..............

1434:

003025B44CCD214DFF8B-5EFE894710E94701%.L.!

M..^..G..G.

1434:

0040FF7404E83EFF8945-10E93B018B5EFE8B.t..>..E..;..^..

1434:

0050058B550239570275-0739077503E92701..'.

1434:

0060B82000E9D000807C-060075118B5EFE8B......|..u..^..

1434:

007047080B470A740680-7F1D08751B8B5EFEG.......u..^.

-Q

实验二汇编语言程序设计调试

一、   实验目的

为了深入理解汇编语言指令系统常用指令的含义,掌握汇编语言程序的编辑、连接和调试方法,用进行编程调试实验。

是在DOS环境下运行的一种功能很强的宏汇编程序,除具有一般汇编程序的功能外,还支持宏处理、条件汇编。

一、   实验方法

宏汇编语言系统只有数百K字节,主要由,,和四个文件组成,系统不需要安装。

由于Windows2000以上版本的操作系统没有MS-DOS方式,需从开始菜单的运行子菜单处键入CMD或COMMAND命令,进入命令行方式,设法进入汇编系统所在的文件夹子目录后。

操作过程如下:

1.EDIT文件名.ASM

程序功能:

进行各分数段的人数统计

结果是:

010002000100-030001000100

DATAREASEGMENT

GRADEDW56,69,84,82,73,88,99,63,100

NEQU($-GRADE)/2;统计GRADE中有多少个成绩

S5DW0;表示“低于60分”的人数

S6DW0;表示“60—69分”的人数

S7DW0;表示“70—79分”的人数

S8DW0;表示“80-89分”的人数

S9DW0;表示“90-99分”的人数

S10DW0;表示“100分”的人数

DATAREAENDS

PROGRAMSEGMENT

MAINPROCFAR

ASSUMECS:

PROGRAM,DS:

DATAREA

START:

PUSHDS

SUBAX,AX;将AX清零

PUSHAX

MOVAX,DATAREA;吧DATAREA的地址富裕AX

MOVDS,AX

MOVCX,N;循环次数

MOVBX,OFFSETGRADE;设置BX为指向GRADE的地址指针

COMPARE:

MOVAX,[BX];取GRADE中某一个成绩,判断是哪个级别

CMPAX,60;转到相应的程序段执行

JLFIVE

CMPAX,70

JLSIX

CMPAX,80

JLSEVEN

CMPAX,90

JLEIGHT

CMPAX,100

JNENINE

INCS10

JMPSHORTCHANGE

NINE:

INCS9;转到某个等级后,该等级的计数值加1

JMPSHORTCHANGE

EIGHT:

INCS8

JMPSHORTCHANGE

SEVEN:

INCS7

JMPSHORTCHANGE

SIX:

INCS6

JMPSHORTCHANGE

FIVE:

INCS5

CHANGE:

ADDBX,2;修改GRADE的地址指针,指向下一个成绩

LOOPCOMPARE

RET

MAINENDP

PROGRAMENDS

ENDSTART

进入编辑状态,编辑汇编语言源程序。

文件名.ASM

文件名.ASM

对源程序进行汇编,根据提示输入三次文件名,分别得到目标代码文件:

文件名.OBJ;列表清单文件:

文件名.LST和交叉参考文件:

文件名.CRF。

如果出错重新汇编。

直到显示

0warningerrors

0seviererrors

Microsoft(R)MacroAssemblerVersion11/7/1322:

54:

45

Page1-1

10000DATAREASEGMENT

200000038004500540052GRADEDW56,69,84,82,73,88,99,6

3,100

3004900580063003F

40064

5=0009NEQU($-GRADE)/2;统计GRA

DE中有多少个成绩

600120000S5DW0;表示“低于60分”?

娜耸?

700140000S6DW0;表示“60—69分”?

娜耸?

800160000S7DW0;表示“70—79分”?

娜耸?

900180000S8DW0;表示“80-89分”的

人数

10001A0000S9DW0;表示“90-99分”的

人数

11001C0000S10DW0;表示“100分”的人

12001EDATAREAENDS

130000PROGRAMSEGMENT

140000MAINPROCFAR

15ASSUMECS:

PROGRAM,DS:

DATAREA

16

17

1800001ESTART:

PUSHDS

1900012BC0SUBAX,AX;将AX清零

20000350PUSHAX

210004B8----RMOVAX,DATAREA;吧DATAREA的地

址富裕AX

2200078ED8MOVDS,AX

230009B90009MOVCX,N;循环次数

24000CBB0000RMOVBX,OFFSETGRADE;设置BX为指

向GRADE的地址指针

25

26

27000F8B07COMPARE:

MOVAX,[BX];取G

RADE中某一个成绩,判断是哪个级别

2800113D003CCMPAX,60;转?

较嘤Φ某绦蚨沃葱?

2900147C32JLFIVE

3000163D0046CMPAX,70

3100197C27JLSIX

32001B3D0050CMPAX,80

33001E7C1CJLSEVEN

3400203D005ACMPAX,90

3500237C11JLEIGHT

3600253D0064CMPAX,100

3700287506JNENINE

38002AFF06001CRINCS10

39002EEB1CJMPSHORTCHANGE

400030FF06001ARNINE:

INCS9;转到某个等

级后,该等级的计数值加1

Microsoft(R)MacroAssemblerVersion11/7/1322:

54:

45

Page1-2

410034EB16JMPSHORTCHANGE

420036FF060018REIGHT:

INCS8

43003AEB10JMPSHORTCHANGE

44003CFF060016RSEVEN:

INCS7

450040EB0AJMPSHORTCHANGE

460042FF060014RSIX:

INCS6

470046EB04JMPSHORTCHANGE

480048FF060012RFIVE:

INCS5

49004C83C302CHANGE:

ADDBX,2;修改GRADE的地址

指针,指向下一个成绩

50004FE2BELOOPCOMPARE

51

52

530051CBRET

540052MAINENDP

550052PROGRAMENDS

56ENDSTART

Microsoft(R)MacroAssemblerVersion11/7/1322:

54:

45

Symbols-1

SegmentsandGroups:

NameLengthAlignCombineClass

DATAREA............001EPARANONE

PROGRAM............0052PARANONE

Symbols:

NameTypeValueAttr

CHANGE.............LNEAR004CPROGRAM

COMPARE............LNEAR000FPROGRAM

EIGHT.............LNEAR0036PROGRAM

FIVE..............LNEAR0048PROGRAM

GRADE.............LWORD0000DATAREA

MAIN..............FPROC0000PROGRAMLength=0052

N...............NUMBER0009

NINE..............LNEAR0030PROGRAM

S10..............LWORD001CDATAREA

S5...............LWORD0012DATAREA

S6...............LWORD0014DATAREA

S7...............LWORD0016DATAREA

S8...............LWORD0018DATAREA

S9...............LWORD001ADATAREA

SEVEN.............LNEAR003CPROGRAM

SIX..............LNEAR0042PROGRAM

START.............LNEAR0000PROGRAM

@FILENAME...........TEXTXR

54SourceLines

54TotalLines

21Symbols

49174+399914Bytessymbolspacefree

0WarningErrors

0SevereErrors

文件名.OBJ

连接系统与目标文件,得到可执行文件:

文件名.EXE;和列表文件:

文件名.MAP。

通常不要选择连接库文件,直接回车即可。

LINK:

warningL4021:

nostacksegment

StartStopLengthNameClass

00000H0001DH0001EHDATAREA

00020H00071H00052HPROGRAM

Programentrypointat0002:

0000

4.调试过程:

F:

\DEBUGMASM5\文件名.EXE

-U0

1434:

00001EPUSHDS

1434:

00012BC0SUBAX,AX

1434:

000350PUSHAX

1434:

0004B83214MOVAX,1432

1434:

00078ED8MOVDS,AX

1434:

0009B90900MOVCX,0009

1434:

000CBB0000MOVBX,0000

1434:

000F8B07MOVAX,[BX]

1434:

00113D3C00CMPAX,003C

1434:

00147C32JL0048

1434:

00163D4600CMPAX,0046

1434:

00197C27JL0042

1434:

001B3D5000CM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1