汇编语言-实验五 输入输出程序设计_第1页
汇编语言-实验五 输入输出程序设计_第2页
汇编语言-实验五 输入输出程序设计_第3页
汇编语言-实验五 输入输出程序设计_第4页
汇编语言-实验五 输入输出程序设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验五 输入输出程序设计一、实验目的 1) 掌握输入输出程序的编写方法。 2) 熟悉系统功能调用的方法。 3) 熟悉动画程序的编写方法。 二、实验内容 1)在CRT上每隔一秒连续显示字符09。 编程提示 为了使输出的字符之间有空格,在每一个循环中输出一个09的字符和一个空格。为了输出09,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。 2)用系统功能调用将HELLO由键盘输入,再从屏幕输出*HELLO*。 3)编制在屏幕上画线的子程序,调用该子程序画一矩形。4)编制字母下落一行的子程序,调用该子程

2、序使字母从屏幕顶部下落到底部。5)创建一磁盘文件,保存从键盘输入的字符串。6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。三、源程序EXAM51 STACK SEGMENT STACK DB 1024 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV BL, 0 LP: MOV DL, 20H MOV AH, 2 INT 21H

3、MOV AL, BL ADD AL, 0 DAA AND AL, 0FH MOV BL, AL PUSH BX OR AL, 30H MOV DL, AL MOV AH, 2 INT 21H MOV BX, 3E8H LP2: MOV CX, 176H ;延时1ms LP1: PUSHF POPF LOOP LP1 DEC BX JNZ LP2 POP BX INC BL JMP LPCODE ENDS END START执行程序EXAM51EXE,屏幕上依次循环显示一个数字一个空格:0 1 2 3 4 5 6 7 8 9 EXAM5-2 STACK SEGMENT STACK DB 1024

4、 DUP(0)STACK ENDSDATA SEGMENTBUFF DB 6,7 DUP(?),$DATA ENDSINPUT MACRO BUFE MOV DX, OFFSET BUFE MOV AH, 0AH INT 21H ENDMPUTCHAR MACRO CHAR MOV DL, CHAR MOV AH, 02H INT 21H ENDMCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX, DATA MOV DS, AX INPUT BUFF ;读取字符串BUFF PUTCHAR 0DH PUTCHAR 0AH ;光标另

5、起一行 MOV CX, 0003HNEXT:PUTCHAR 2AH LOOP NEXT MOV CL, BUFF+1 SUB CH, CH MOV BX, OFFSET BUFF+2BEGIN: MOV AL, BX PUTCHAR AL INC BX LOOP BEGIN MOV CX, 0003HNEXT1: PUTCHAR 2AH LOOP NEXT1 MOV AH, 4CH INT 21HCODE ENDS END START执行程序EXAM52EXE,输入HELLO屏幕上显示结果:* HELLO * EXAM5-5 NAME EXAM6 SSTACK SEGMENT STACK st

6、ack DB 1024 DUP(?) SSTACK ENDS DATA SEGMENT ASKNAME DB 0DH,0AH,Enter the DB dest file name:$ ASKCONT DB 0DH,0AH,Enter the string DB as file content:0dh,0ah,$ FILEBUF DB 62,63DUP(?) HANDD DW? MSGMER DB 0DH,0AH,0AH DB Directory full,0DH,0AH,$ MSGWER DB 0DH,0AH,0AH DB isk full,0DH,0AH,$ MSGSUC DB 0DH,0

7、AH,0AH, DB Write file is Successful DB 0DH,0AH,$ DATA ENDS DISPLY MACRO TEXT MOV DX,OFFSET TEXT MOV AH,09H INT 21H ENDM CRHAND MACRO PATH,ATTR MOV DX,OFFSET PATH ;文件名 MOV CL,ATTR ;文件属性 XOR CH,CH MOV AH,3CH INT 21H ENDM WRHAND MACRO HAND,BUFF,BYTE MOV BX,HAND MOV DX,OFFSET BUFF ADD DX,2 MOV CL,BYTE X

8、OR CH,CH MOV AH,40H INT 21H ENDM CLHAND MACRO HAND MOV BX,HAND MOV AH,3EH INT 21H ENDM CODE SEGMENT PROG PROC FAR ASSUME CS:CODE,DS:DATA,SS:SSTACK PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX DISPLY ASKNAME ;提示输入文件名 MOV DX,OFFSET FILEBUF MOV AH,0AH INT 21H MOV DI,OFFSET FILEBUF2 MOV BL,FILEBUF1 XOR BH,BH MOV BYTE PTRBXDI,00H CRHAND FILEBUF2,0 ;创建并打开新文件 JC CRTERR MOV HANDD,AX ;存文件句柄 DISPLY ASKCONT ;提示键入文件内容 MOV DX,OFFSET FILEBUF MOV AH,0AH INT 21H WRHAND HANDD,FILEBUF,FILEBUF1 JC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论