汇编语言程序设计实验5.docx
- 文档编号:10027314
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:9
- 大小:17.07KB
汇编语言程序设计实验5.docx
《汇编语言程序设计实验5.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验5.docx(9页珍藏版)》请在冰点文库上搜索。
汇编语言程序设计实验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总结常用系统调用的功能及调用方法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 实验