中南民族大学汇编语言实验报告.docx

上传人:b****8 文档编号:10646535 上传时间:2023-02-22 格式:DOCX 页数:20 大小:169.48KB
下载 相关 举报
中南民族大学汇编语言实验报告.docx_第1页
第1页 / 共20页
中南民族大学汇编语言实验报告.docx_第2页
第2页 / 共20页
中南民族大学汇编语言实验报告.docx_第3页
第3页 / 共20页
中南民族大学汇编语言实验报告.docx_第4页
第4页 / 共20页
中南民族大学汇编语言实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

中南民族大学汇编语言实验报告.docx

《中南民族大学汇编语言实验报告.docx》由会员分享,可在线阅读,更多相关《中南民族大学汇编语言实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

中南民族大学汇编语言实验报告.docx

中南民族大学汇编语言实验报告

 

院系:

计算机科学学院

专业:

计算机科学与技术

年级:

2012级

课程名称:

汇编语言

学号:

姓名:

指导教师:

雷建云

 

2014年6月26日

 

年级

 2012级

班号

 

 学号

 

专业

计算机科学与技术

 姓名

 

实验名称

 字符显示

实验

类型

设计型

综合型

创新型

1. 题目:

输入一个字符,找出它的前导字符和后续字符,并按顺序显示这三个字符。

2.实验要求:

程序从键盘接收用户输入的一个字符后,然后分别找出它的前导字符和后续字符,再按顺序显示这三个字符。

在用户输入和显示字符之前都要有相应的提示信息。

3.提示:

从AL寄存器得到它的ASCII码,它的前导字符和后续字符的ASCII码分别比它的ASCII码少1或多1。

然后分别显示这三个字符。

.386

.MODELFLAT

ExitProcessPROTONEAR32stdcall,dwExitCode:

DWORD

INCLUDEio.h;headerfileforinput/output

crEQU0dh;carriagereturncharacter

LfEQU0ah;linefeed

.STACK4096;reserve4096-bytestack

.DATA

prompt1BYTE"Thisprogramwilloutputthreecharacter",cr,lf

BYTE"Enteracharacter:

",0

label1BYTEcr,Lf,"Thethreecharacteris",cr,lf

char3BYTE?

BYTEcr,Lf

char1BYTE?

BYTEcr,lf

char2BYTE?

BYTEcr,lf,0

char4byte5dup(?

.CODE

_start:

outputprompt1

inputchar4,3;readASCIIcharacters

moval,char4

movchar1,al

incal

movchar2,al

 decal

decal

movchar3,al

outputlabel1

INVOKEExitProcess,0;exitwithreturncode0

PUBLIC_start

END

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验截图

心得体会

通过本次试验,我掌握的汇编语言的基本操作,及通过ASCII码对字符进行操作。

 

教师签名:

年月日

年级

 2012级

班号

 

 学号

 

专业

计算机科学与技术

 姓名

 

实验名称

 计算函数值

实验

类型

设计型

综合型

创新型

1. 题目:

计算给定函数值

2.实验要求:

编制程序,计算下面函数值

其中,从键盘输入x,y,输出数据为a。

输入输出时候都要求有提示信息。

3.提示:

这个给出两种方法如下:

(1)先输入x和y,然后用嵌套的IF结构来分别判断并给a赋值。

(2)分别为x和y设置一个标志变量,当值大于等于0时该变量等于1,当值小于0时该变量等于0。

然后用这两个变量进行异或操作,结果赋值给a。

(这个需要用到xor指令)。

 .386

.MODELFLAT

ExitProcessPROTONEAR32stdcall,dwExitCode:

DWORD

INCLUDEio.h;headerfileforinput/output

crEQU0dh;carriagereturncharacter

LfEQU0ah;linefeed

.STACK4096;reserve4096-bytestack

.DATA

prompt1byte"pleaseinputx:

",0

prompt2byte"pleaseinputy:

",0

stringbyte10dup(?

outstr1bytecr,lf,"a="

avaluebyte6dup(?

),cr,lf,0

.CODE

_start:

outputprompt1

inputstring,10

atoistring

movbx,ax

outputprompt2

inputstring,10

atoistring

movcx,0

cmpbx,0

jgeL1

cmpax,0

jlL2

L1:

cmpax,0

jgeL3

jmpL4

L2:

movcx,-1

jmpL4

L3:

movcx,1

 L4:

itoaavalue,cx

outputoutstr1

INVOKEExitProcess,0;exitwithreturncode0

PUBLIC_start

END

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验截图

心得体会

在试验中,根据提示输入两个整数,通过与0比较进行跳转,最后赋值输出。

 

教师签名:

年月日

年级

 2012级

班号

 

 学号

 

专业

计算机科学与技术

 姓名

 

实验名称

 用表格形式显示字符

实验

类型

设计型

综合型

创新型

1. 题目:

用表格形式显示ASCII字符

2.实验要求:

按15行×16列的表格形式显示ASCII码为10H-100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。

每16个字符为一行,每行中的相邻两个字符之间用空白符或空格符(ASCII码为0或20H)隔开。

 .386

.MODELFLAT

ExitProcessPROTONEAR32stdcall,dwExitCode:

DWORD

INCLUDEio.h;headerfileforinput/output

crEQU0dh;carriagereturncharacter

LfEQU0ah;linefeed

.STACK4096;reserve4096-bytestack

.DATA;reservestoragefordata

promotBYTE"TheprogramistoprintAsciifrom10hto100h",cr,Lf,0

lineDWORD?

rowDWORD?

ccfBYTE"",0

crlfBYTEcr,Lf,0

charBYTE1DUP(?

.CODE;startofmainprogramcode

_start:

outputpromot

movrow,0

movline,0

movchar,0Fh

doFirstWhile:

incline

cmpline,15

jgendFirstWhile

movrow,0

 doSecondWhile:

incrow

cmprow,16

jgendSecondWhile

addchar,1

outputchar

outputccf

jmpdoSecondWhile

endSecondWhile:

outputcrlf

jmpdoFirstWhile

endFirstWhile:

INVOKEExitProcess,0;exitwithreturncode0

PUBLIC_start;makeentrypointpublic

END;endofsourcecode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验截图

心得体会

在试验中,通过两个循环控制输出字符的行和列;程序用记事本打开,运行后只能输出部分字符,想查看完整输出需用编辑器打开。

 

教师签名:

年月日

年级

 2012级

班号

 

 学号

 

专业

计算机科学与技术

 姓名

实验名称

 求X的阶乘

实验

类型

设计型

综合型

创新型

 题目:

求X的阶乘值

2.实验要求:

输入一个整型数(不超过10),求出其阶乘值后输出,求阶乘的算法用子程序来实现。

3.提示:

可以用递归来实现,也可以用简单的循环来实现。

 .386

.MODELFLAT

ExitProcessPROTONEAR32stdcall,dwExitCode:

DWORD

INCLUDEio.h;headerfileforinput/output

crEQU0dh;carriagereturncharacter

LfEQU0ah;linefeed

.STACK40960;reserve4096-bytestack

.DATA;reservestoragefordata

prompt1BYTE'Thisprogramistocalculateanumbersfactorial',cr,lf

BYTE'Pleaseinputanumberthatisfrom0to10',cr,lf,0

stringBYTE20DUP(?

resultBYTE'Theansweris'

valueBYTE11DUP(?

BYTEcr,lf,0

.CODE;startofmainprogramcode

_start:

L1:

outputprompt1

inputstring,11

atodstring

cmpeax,0

jlL1

cmpeax,10

jgL1

pusheax

callFACT

 

INVOKEExitProcess,0;exitwithreturncode0

FACTPROCNEAR32

pushebp

movebp,esp

moveax,[ebp+8]

movecx,eax

cmpeax,0

jeL2

cmpeax,1

jeL2

dececx

forcount:

mulecx

loopforcount

jmpL3

L2:

moveax,1

L3:

dtoavalue,eax

outputresult

popebp

ret4

FACTENDP

 

PUBLIC_start;makeentrypointpublic

END;endofsourcecode

 

 

 

 

 

 

 

 

 

 

 

 

实验截图

心得体会

通过本试验,我进一步了解了子程序的设计与调用。

 

教师签名:

年月日

年级

 2012级

班号

 

 学号

专业

计算机科学与技术

 姓名

实验名称

 查找字符串中某字符的位置

实验

类型

设计型

综合型

创新型

 1.题目:

设有一字符串已存放在STRBUF为首址的数据区中,编一程序找出其中的′.′字符,并将其存放地址输出。

2.实验要求:

输入字符串,查找字符’.’所在的位置,并输出。

3.提示:

(1)如果字符串中不存在’.’字符则应该输出“Notfound”。

(2)如果字符串中存在多个’.’字符,则先试着输出第一个’.’的位置,然后设法输出所有的’.’的位置。

 .386

.MODELFLAT

ExitProcessPROTONEAR32stdcall,dwExitCode:

DWORD

INCLUDEio.h;headerfileforinput/output

crEQU0dh;carriagereturncharacter

LfEQU0ah;linefeed

.STACK4096;reserve4096-bytestack

.DATA

prompt1BYTE"Thisprogramwillchecka.fromastring,andoutputthepositionofthe.",cr,lf

BYTE"Enterastring:

",cr,Lf,0

stringBYTE80DUP(?

answer1BYTE"Thestringnotexistthecharacter.",cr,Lf,0

answer2BYTEcr,lf,"Thepostionofthe.is:

"

PosBYTE6DUP(?

),0

 

.CODE

_start:

outputprompt1

inputstring,80;readstring

leaeax,string

pusheax

callstrpos

INVOKEExitProcess,0;exitwithreturncode0

strposPROCNEAR32

pushebp

movebp,esp

pushedi

 movedi,[ebp+8]

movebx,-1

moval,'.'

movecx,0

cld

Forcount:

cmpBYTEPTR[edi],0

jeendfor

incecx

scasb

jneForcount

Found:

movebx,ecx

dtoaPos,ebx

outputanswer2

jmpForcount

endfor:

cmpebx,0

jgL2

L1:

outputanswer1

L2:

popedi

popebp

ret4

strposENDP

PUBLIC_start

END

 

 

 

 

 

 

 

 

 

实验截图

心得体会

通过本次试验,我基本掌握了串的操作,以及对源串和目标串的处理。

 

教师签名:

年月日

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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