微机原理与接口技术李珍香版十个实验程序.docx

上传人:b****6 文档编号:8453802 上传时间:2023-01-31 格式:DOCX 页数:13 大小:292.81KB
下载 相关 举报
微机原理与接口技术李珍香版十个实验程序.docx_第1页
第1页 / 共13页
微机原理与接口技术李珍香版十个实验程序.docx_第2页
第2页 / 共13页
微机原理与接口技术李珍香版十个实验程序.docx_第3页
第3页 / 共13页
微机原理与接口技术李珍香版十个实验程序.docx_第4页
第4页 / 共13页
微机原理与接口技术李珍香版十个实验程序.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术李珍香版十个实验程序.docx

《微机原理与接口技术李珍香版十个实验程序.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术李珍香版十个实验程序.docx(13页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术李珍香版十个实验程序.docx

微机原理与接口技术李珍香版十个实验程序

实验一

1.实验目的:

掌握汇编语言源程序的结构。

2.实验内容:

显示一串字符串“hellowworld!

班级,学号”。

3.实验代码:

DATASEGMENT

MSDB'Hello,World!

$'

NSDB'151044A,151044106$'

DATAENDS

STACKSEGMENTSTACK

DW50DUP(?

STACKENDS

CODESEGMENT

ASSUMEDS:

DATA,CS:

CODE:

CODE,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMS

MOVAH,9

INT21H

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETNS

MOVAH,9

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验二

1.实验目的:

熟悉汇编语言源程序的编辑、汇编、连接、调试过程

2.实验内容:

两个8位16进制数相加(生日+当天日期)

3.实验代码:

DATASEGMENT

SRDD19970925H

RQDD20171111H

DATAENDS

STACKSEGMENTSTACK

DB50DUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,WORDPTRSR

ADDAX,WORDPTRRQ

MOVBX,WORDPTRSR+2

ADCBX,WORDPTRRQ+2

 

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验三

1.实验目的:

主要掌握汇编伪指令DB、DW、ORG、$的功能和用法

2.实验内容:

在内存单元X中定义一个8位数,要求将其高4位放入X+1单元的低4位,低4位放入X+2单元的低4位,并将X+1与X+2单元的高4位清0。

3.实验代码:

DATASEGMENT

Xdb23h,?

?

DATAENDS

STACKSEGMENTSTACK

DW100DUP(?

STACKENDS

 

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,X

MOVCL,4

SHRAL,CL

MOVX+1,AL

MOVAL,X

ANDAL,0FH

MOVX+2,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验四

1.实验目的:

理解和掌握变量的定义方法及系统如何为变量分配空间

2.实验内容:

实现将存放在AX与DX中的32位数据循环右移二进制数的4位。

3.实验代码:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVCL,4

MOVBH,AL

SHLBH,CL

SHRAX,CL

MOVBL,DL

SHLBL,CL

SHRDX,CL

ORAH,BL

ORDH,BH

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验五

1.实验目的:

掌握条件转移、无条件转移指令的使用方法

2.实验内容:

编写程序计算|X|的值,其中X为存放于X单元单元的16位操作数,要求将结果存入result单元中。

3.实验代码:

DATASEGMENT

XDB-100

RESULTDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,X

CMPAL,0

JGEDONE

NEGAL

DONE:

MOVRESULT,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验六

1.实验目的:

掌握分支程序设计、编写、调试和运行的方法。

2.实验内容:

从键盘输入一个字符,并判断该字符是否为一个数字,如果是请输出该数字字符,如果不是请输出“这不是一个数字”的英文提示信息(要求:

能连续输入)。

3.实验代码:

datasegment

str1db'PLEASEENTER:

',0AH,0DH,'$'

STR2DB'Thisisnotanumber!

',0AH,0DH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

AGAIN:

MOVAH,09H

LEADX,STR1

INT21H

MOVAH,08H

INT21H

CMPAL,'#'

JZEXIT

CMPAL,'9'

JAFALSE

MOVAH,2

MOVDL,AL

INT21H

MOVDL,0AH

MOVAH,02H

INT21H

JMPAGAIN

FALSE:

MOVDX,OFFSETSTR2

MOVAH,9

INT21H

JMPAGAIN

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

 

实验七

1.实验目的:

熟悉运算类指令对标志位的状态影响以及标志位状态的表示方法

2.实验内容:

编写一汇编语言程序,实现统计DX数据中所含的1的个数。

3.实验代码:

DATASEGMENT

SHUDW10H

COUNTDB0

DATAENDS

STACKSEGMENTSTACK

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVDX,SHU

MOVCL,0

JIA:

ANDDX,DX

JEEXIT

SHLDX,1

JNCJIA

INCCL

JMPJIA

EXIT:

MOVCOUNT,CL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验八

1.实验目的:

掌握循环指令LOOP、LOOPZ、LOOPNZ的使用方法

2.实验内容:

在数据段变量名为A的数据区内有10个字符,编程实现将这10个字符以相反次序传送到附加段变量名为B的内存区中。

源程序已部分给出,请将程序补充完整,并调试运行结果。

3.实验代码:

DATASEGMENT

ADB'1234567890'

nequ$-a

BDBndup(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,A

LEADI,B

ADDDI,9

MOVCX,10

MOVE:

MOVAL,[SI]

MOVES:

[DI],AL

INCSI

DECDI

LOOPMOVE

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验九

1.实验目的:

掌握实现单重、多重循环程序设计、编写、调试和运行的方法

2.实验内容:

编写一个程序,将内存1000H开始的连续100个字节送往2000H开始的连续100个内存单元中。

3.实验代码:

DATASEGMENT

ORG1000H

ADB100DUP(?

ORG2000H

BDB100DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,SEGDATA

MOVDS,AX

MOVSI,OFFSETA

MOVCX,100

MOVBL,0

L0:

MOV[SI],BL

INCSI

INCBL

LOOPL0

MOVSI,0

LEASI,A

LEADI,B

ADDSI,99

ADDDI,99

MOVCX,100

L1:

MOVAL,[SI]

MOV[DI],AL

DECSI

DECDI

LOOPL1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

实验十

1.实验目的:

掌握实现单重、多重循环程序设计、编写、调试和运行的方法。

2.实验内容:

编程实现由键盘输入任意一个字符,将该字符用二进制形式显示出它的ASCII码值(譬如:

若从键盘上键入“A”,则运行时在屏幕上显示出“01000001B”)。

3.实验代码:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAH,1

INT21H

MOVBL,AL

MOVCX,8

L1:

SHLBL,1

JNCL2

MOVDL,31H

JMPL3

L2:

MOVDL,30H

JMPL3

L3:

MOVAH,2

INT21H

LOOPL1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.实验结果:

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

当前位置:首页 > 高等教育 > 农学

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

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