三个汇编语言实验报告模板.docx

上传人:b****9 文档编号:25272541 上传时间:2023-06-06 格式:DOCX 页数:15 大小:17.45KB
下载 相关 举报
三个汇编语言实验报告模板.docx_第1页
第1页 / 共15页
三个汇编语言实验报告模板.docx_第2页
第2页 / 共15页
三个汇编语言实验报告模板.docx_第3页
第3页 / 共15页
三个汇编语言实验报告模板.docx_第4页
第4页 / 共15页
三个汇编语言实验报告模板.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

三个汇编语言实验报告模板.docx

《三个汇编语言实验报告模板.docx》由会员分享,可在线阅读,更多相关《三个汇编语言实验报告模板.docx(15页珍藏版)》请在冰豆网上搜索。

三个汇编语言实验报告模板.docx

三个汇编语言实验报告模板

0805054228丁洪健

实验二分支与循环程序设计实验

一、实验目的

1.掌握汇编语言程序上机过程。

2.掌握汇编语言结构。

3.学习汇编语言的伪操作。

4.了解汇编程序、连接程序、DOS系统装入和返回功能。

5.掌握用DEBUG调试汇编语言程序的方法

二、实验内容

1、输入一个字符,回车后输出一个字符串,说明其类型。

2、学会定义字符串和输出字符串。

3、学会在屏幕上输出一个字符,通过判断键盘按下一个键来执行分支程序。

三、实验设备及仪器

PC兼容计算机及系统软件

四、实验要求

编制程序,实现如下功能:

1、当输入0~9的数字,按回车后随即出现一个shuzi的字符串。

2、当输入一个字母,按回车后随即出现一个zimu的字符串。

3、当输入一个符号,按回车后随即出现一个fuhao的字符串。

4、先判断ASCII码,将数字、字母、符号的ASCII分开,当你输入一个字符以后程序根据你的字符的ASCII来跳转到输出其相应的字符串。

五、问题思考

1.汇编语言程序中语句END后的标号作用是什么?

2.将字符串分别定义在不同的段,怎么取其地址,取地址有几种方法?

六、实验报告

1.画出各程序流程图,列出程序清单,加上适量注释。

2.回答问题思考。

3.针对实验目的做小结。

 

assumecs:

code,ds:

data

datasegment

xdb'shuzi','$'

ydb'zimu','$'

zdb'fuhao','$'

dataends

codesegment

start:

movax,data

movds,ax

movah,0

int16h

cmpal,'0'

jgshu2

zi1:

cmpal,'A'

jgzi2

zi3:

cmpal,'a'

jgzi4

zi4:

cmpal,'z'

jlzichu

jmpfuchu

zi2:

cmpal,'Z'

jlzichu

jmpzi3

shu2:

cmpal,'9'

jlshuchu

jmpzi1

shuchu:

movah,2

movbh,0

movdh,5

movdl,12

int10h

movax,data

movds,ax

movdx,offsetx

movah,9

int21h

delay1:

movah,0

int16h

cmpal,71h

jnzdelay1;键盘输入,如果不是Q,等待

movax,4c00h

int21h

zichu:

movah,2

movbh,0

movdh,5

movdl,12

int10h

movax,data

movds,ax

movdx,offsety

movah,9

int21h

delay2:

movah,0

int16h

cmpal,71h

jnzdelay2;键盘输入,如果不是Q,等待

movax,4c00h

int21h

fuchu:

movah,2

movbh,0

movdh,5

movdl,12

int10h

movax,data

movds,ax

movdx,offsetz

movah,9

int21h

delay:

movah,0

int16h

cmpal,71h

jnzdelay;键盘输入,如果不是Q,等待

movax,4c00h

int21h

codeends

endstart

实验三中断程序设计实验

二、一、实验目的

三、1、掌握DOS系统提供的DOS和BIOS功能调用方法。

四、2、巩固汇编语言程序编写方法。

五、3、掌握DOS调用和BIOS调用的基本技巧

六、二、实验内容

七、1.在屏幕上显示系统时钟,可以输入时间间隔。

八、2.运行时先在屏幕上显示提示行,提示内容自定,作用是提示用户输入他需要的显示系统时间间隔。

然后系统就按照用户输入的间隔显示系统时间。

直到按下退出键。

九、三、实验设备及仪器

一十、PC兼容计算机及系统软件

一十一、四、实验要求

一十二、1、实验前参看教材或相关参考书,了解中断的设置、保存、调用关闭的方法,注意每个功能的入口参数,出口参数以及调用的中断功能号。

一十三、2、了解怎样编写中断服务子程序。

熟练分支的跳转。

一十四、3、掌握怎样在屏幕上输入字符串,怎么处理一个十六进制的数转换为十进制显示出来。

一十五、五、问题思考

一十六、1、调用INT21H中的0AH、09H功能时,要注意什么?

用0AH输入的字符串,不加处理,能否直接用09H功能输出?

一十七、2、ASCII字符串的作用是什么,它的格式是怎样?

一十八、六、实验报告

一十九、1、画出各任务流程图,给出程序清单,并加适当的注释。

二十、2、根据程序运行结果,总结实验所得,回答问题思考所问。

二十一、3、小结中断程序主要需要设置什么?

 

datasegment

messdb'Thesysytemtimeis$'

mess1db'pleaseinputtimeinterval:

$'

countdw1

dataends

codesegment

mainprocfar

assumecs:

code,ds:

data

start:

pushds

movax,0

pushax

movax,data

movds,ax

movdx,offsetmess1

movah,09h

int21h

movcx,2

movbx,0

shu:

movah,01h

int21h

cmpal,20h;空格

jezd

cmpal,70h;p

jeexit1

cmpal,30h

jlexit1

cmpal,39h

jgexit1

subal,30h

cbw

pushcx

xchgax,bx

movcx,10d

mulcx

popcx

xchgax,bx

addbx,ax

loopnzshu;键盘输入两个字符转换成10进制显示

zd:

movax,bx

movah,0

movcl,18d

mulcl

movsi,ax;乘以18,确定中断程序的执行次数

movdl,0dh

movah,02h

int21h

movdl,0ah

movah,02h

int21h;回车换行

moval,1ch

movah,35h

int21h;保存中断

pushes

pushbx

pushds

movax,segtime

movds,ax

movdx,offsettime

moval,1ch

movah,25h

int21h;设置新中断

popds

inal,21h

andal,11111110b

out21h,al

sti;允许定时中断

delay:

movah,0

int16h

cmpal,71h

jnzdelay;键盘输入,如果不是Q,等待

popdx

popds

moval,1ch

movah,25h

int21h;恢复中断

jmpstart

exit1:

ret

mainendp

timeprocnear

pushds

pushax

pushcx

pushdx

movax,data

movds,ax

sti

deccount

jnzexit

movdx,offsetmess

movah,09h

int21h;显示字符串

movah,2ch

int21h;取系统时间

pushdx

pushcx

movax,0

moval,ch

callbian;变成10进制

callxs;显示小时

callmh;显示:

popcx

movax,0

moval,cl

callbian

callxs

callmh

popdx;显示分

pushdx

movax,0

moval,dh

callbian

callxs;显示秒

popdx

movcount,si

movdl,0dh

movah,02h

int21h

movdl,0ah

movah,02h

int21h;回车换行

exit:

cli

popdx

popcx

popax

popds

iret

timeendp

bianprocnear

movbl,0ah

divbl

movdl,al

movdh,ah

moval,10h

muldl

addal,dh

ret

bianendp

xsprocnear

pushax

movdl,al

anddl,0f0h

movcl,4

rordl,cl

adddl,30h

movah,02h

int21h

popax

movdl,al

anddl,0fh

adddl,30h

movah,02h

int21h

ret

xsendp

mhprocnear

movdl,3ah

movah,02h

int21h

ret

mhendp

codeends

endstart

实验四屏幕显示程序设计实验

一、实验目的

1.熟悉编写和调试语言程序的方法,提高编程技巧。

2.掌握用软件实现几种码制之间的转换。

二、实验要求

编写完整汇编语言程序:

1.熟练掌握如何查看DOS中断调用和BIOS中断调用表。

2.学会清屏和在屏幕上开出不同大小,不同颜色,不同分辨率的窗口。

可以在窗口中输入字符,但不能超出窗口大小,应具有卷屏功能。

3.掌握对光标的处理,如,读光标的位置,置光标的位置。

三、实验说明

1、先清屏,除去编译连接完在屏幕上留下的文字。

2、置光标位置,然后显示字符串。

四、问题思考

1、DOS和BIOS中断调用的功能寄存器的是什么?

2、熟练一些基本的功能,对于一些返回参数和功能号要记住。

五、实验报告

内容要求:

1、画出主程序、各子程序流程图,给出程序清单,并加适量注释。

2、小结模块化编程设计方法。

3、给出程序运行结果。

datasegment

db'xxxxxxxx','$'

dataends

codesegment

start:

movah,2

movbh,0

movdh,5

movdl,12

int10h

movax,data

movds,ax

movdx,0

movah,9

int21h

delay:

movah,0

int16h

cmpal,71h

jnzdelay;键盘输入,如果不是Q,等待

movax,4c00h

int21h

codeends

endstart

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

当前位置:首页 > 职业教育 > 职高对口

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

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