汇编语言程序设计实验5.docx

上传人:b****8 文档编号:10027314 上传时间:2023-05-23 格式:DOCX 页数:9 大小:17.07KB
下载 相关 举报
汇编语言程序设计实验5.docx_第1页
第1页 / 共9页
汇编语言程序设计实验5.docx_第2页
第2页 / 共9页
汇编语言程序设计实验5.docx_第3页
第3页 / 共9页
汇编语言程序设计实验5.docx_第4页
第4页 / 共9页
汇编语言程序设计实验5.docx_第5页
第5页 / 共9页
汇编语言程序设计实验5.docx_第6页
第6页 / 共9页
汇编语言程序设计实验5.docx_第7页
第7页 / 共9页
汇编语言程序设计实验5.docx_第8页
第8页 / 共9页
汇编语言程序设计实验5.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编语言程序设计实验5.docx

《汇编语言程序设计实验5.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验5.docx(9页珍藏版)》请在冰点文库上搜索。

汇编语言程序设计实验5.docx

汇编语言程序设计实验5

实验五输入输出程序设计

一、实验目的

1掌握输入输出程序的编写方法。

2熟悉系统功能调用的方法。

3熟悉动画程序的编写方法。

二、实验内容

1在CRT上每隔一秒连续显示字符0-9。

编程提示:

为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一个空格。

为了输出0-9,置寄存器BL初值为0,每循环一次使其增量。

为了保证输出是十进制,增量后用DAA调整指令。

由于输出为一位十进制数,用AND0FH指令屏蔽高4位。

源程序:

STACKSEGMENTSTACK

DB1024DUP(0

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

START:

MOVBL,0

LP:

MOVDL,20H

MOVAH,2

INT21H

MOVAL,BL

ADDAL,0

DAA

ANDAL,0FHMOVBL,AL

PUSHBX

ORAL,30H

MOVDL,ALMOVAH,2

INT21H

MOVBX,3E8HLP2:

MOVCX,176HLP1:

PUSHF

POPF

LOOPLP1

DECBX

JNZLP2

POPBX

INCBL

JMPLP

CODEENDSENDSTART运行结果:

2用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。

源程序:

STACKSEGMENTSTACK

DB1024DUP(0

STACKENDS

DATASEGMENT

BUFFDB6,7DUP(?

'$'

DATAENDS

INPUTMACROBUFF

MOVDX,OFFSETBUFF

MOVAH,0AH

INT21H

ENDM

PUTCHARMACROCHAR

MOVDL,CHAR

MOVAH,02H

INT21H

ENDM

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACKSTART:

MOVAX,DATA

MOVDS,AX

INPUTBUFF

PUTCHAR0DH

PUTCHAR0AH

MOVCX,0003H

NEXT:

PUTCHAR2AH

LOOPNEXT

MOVCL,BUFF+1

SUBCH,CH

MOVBX,OFFSETBUFF+2

BEGIN:

MOVAL,[BX]

PUTCHARAL

INCBX

LOOPBEGIN

MOVCX,0003H

NEXT1:

PUTCHAR2AH

LOOPNEXT1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

运行结果:

3编制在屏幕上画线的子程序,调用该子程序画一矩形。

源程序:

DATASEGMENT

COLDW50;列数设置为50

ROWDW25;行数设置为25

LENGTHSDW100;矩形的长是100

WIDTHSDW50;矩形的宽是50

COLORDB1;颜色是1号颜色

DATAENDS

STACK1SEGMENTSTACK

DW20DUP(0

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

MOVAH,0;设置显示方式

MOVAL,12H;显示方式为图形16色

INT10H

MOVDX,ROW;画上边的横线

MOVCX,COL

CALLPROC_X

MOVDX,ROW;画左边竖线

MOVCX,COL

CALLPROC_Y

MOVDX,ROW;画右边竖线,让列号(COL增加一个长度(LENGTHSMOVCX,COL

ADDCX,LENGTHS;增加列号

CALLPROC_Y

MOVDX,ROW;画下面横线,让行号(ROW增加一个宽度(WIDTHSMOVCX,COL

ADDDX,WIDTHS;增加行号

CALLPROC_X

MOVAH,1;输入颜色

MOVAH,0

MOVAL,3

INT10H

MOVAH,4CH;结束

INT21H

PROC_XPROC;画横线的子程序

MOVBP,LENGTHS;线长是长度LENGTHSLOP1:

MOVBH,0;置页号

INCCX;修改列号

MOVAL,COLOR;取像素值

MOVAH,0CH;写像素

INT10H

DECBP

JNELOP1

RET

PROC_XENDP

PROC_YPROC;画竖线的子程序

MOVBP,WIDTHS

LOP2:

MOVBH,0

INCDX;修改行号

MOVAL,COLOR

MOVAH,0CH

INT10H

JNELOP2

RET

PROC_YENDP

CODEENDS

ENDSTART

运行结果:

4编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。

5创建一磁盘文件,保存从键盘输入的字符串。

6编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。

源程序:

DATASEGMENT

CONSTDW1000,100,10,1DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATASTART:

MOVAX,DATA

MOVDS,AX

MOVBH,0

MOVDH,12

MOVDL,35

MOVAH,2

INT10H

MOVAH,2AH

INT21H

MOVAX,CX

MOVBX,DX

MOVDX,CX

MOVCX,4

MOVDI,OFFSETCONSTLOP:

MOVSI,[DI]

MOVAX,DX

MOVDX,0

DIVSI

ORAL,30H

PUSHDX

MOVDL,AL

MOVAH,2

INT21H

INCDI

INCDI

POPDX

LOOPLOP

MOVDL,'/'

MOVAH,2

INT21H

MOVAL,BH

MOVAH,0

MOVBH,10DIVBHMOVDH,AHMOVDL,ALORDL,30HMOVAH,2INT21HMOVDL,'/'MOVAH,2INT21HMOVAL,BLMOVAH,0MOVBL,10DIVBLMOVDH,AHMOVDL,ALORDL,30HMOVAH,2INT21H

MOVAH,4CHINT21HCODEENDSENDSTART运行结果:

三、实验报告的要求1列出源程序。

2总结输入输出程序及动画的编写方法。

3总结常用系统调用的功能及调用方法。

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2