汇编语言-实验五 输入输出程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五输入输出程序设计
一、实验目的
1) 掌握输入输出程序的编写方法。
2) 熟悉系统功能调用的方法。
3) 熟悉动画程序的编写方法。
二、实验内容
1)在CRT上每隔一秒连续显示字符0-9。
编程提示
为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一个空格。为了输出0-9,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH 指令屏蔽高4位。
2)用系统功能调用将‘HELLO’由键盘输入,再从屏幕输出‘***HELLO***’。
3)编制在屏幕上画线的子程序,调用该子程序画一矩形。
4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。
5)创建一磁盘文件,保存从键盘输入的字符串。
6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。
7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。
8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。
三、源程序
EXAM5-1
STACK SEGMENT STACK
DB 1024 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START:MOV BL,0
LP:MOV DL,20H
MOV AH, 2
INT 21H
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 LP
CODE ENDS
END START
执行程序EXAM5-1·EXE,屏幕上依次循环显示一个数字一个空格:
0 1 2 3 4 5 6 7 8 9 ……
EXAM5-2
STACK SEGMENT STACK
DB 1024 DUP(0)
STACK ENDS
DA TA SEGMENT
BUFF DB 6,7 DUP(?),‘$’
DA TA ENDS
INPUT MACRO BUFE
MOV DX,OFFSET BUFE
MOV AH,0AH
INT 21H
ENDM
PUTCHAR MACRO CHAR
MOV DL,CHAR
MOV AH,02H
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA,SS:STACK START:MOV AX,DA TA
MOV DS,AX
INPUT BUFF ;读取字符串➝BUFF
PUTCHAR 0DH
PUTCHAR 0AH ;光标另起一行
MOV CX,0003H
NEXT:PUTCHAR 2AH
LOOP NEXT
MOV CL,BUFF+1
SUB CH,CH
MOV BX,OFFSET BUFF+2
BEGIN:MOV AL,[BX]
PUTCHAR AL
INC BX
LOOP BEGIN
MOV CX,0003H
NEXT1:PUTCHAR 2AH
LOOP NEXT1
MOV AH,4CH
INT 21H
CODE ENDS
END START
执行程序EXAM5-2·EXE,输入HELLO↙屏幕上显示结果:
*** HELLO ***
EXAM5-5
NAME EXAM6
SSTACK SEGMENT STACK ’stack’
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(?)
HAND_D DW?
MSGMER DB 0DH,0AH,0AH
DB ’Directory full’,0DH,0AH,’$’
MSGWER DB 0DH,0AH,0AH
DB ’Disk full’,0DH,0AH,’$’
MSGSUC DB 0DH,0AH,0AH,
DB ’Write file is Successful’
DB 0DH,0AH,’$’
DATA ENDS
DISPLY MACRO TEXT
MOV DX,OFFSET TEXT
MOV AH,09H
INT 21H