汇编语言程序设计实验5._第1页
汇编语言程序设计实验5._第2页
汇编语言程序设计实验5._第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、实验五 输入输出程序设计一、实验目的1 掌握输入输出程序的编写方法。2 熟悉系统功能调用的方法。3 熟悉动画程序的编写方法。二、实验内容1在 CRT 上每隔一秒连续显示字符 0-9。编程提示 :为了使输出的字符之间有空格 , 在每一个循环中输出一个 0-9 的字符 和一 个空格。为了输出 0-9,置寄存器 BL 初值为 0,每循环一次使其增量。为了保证 输出 是十进制,增量后用 DAA 调整指令。由于输出为一位十进制数 ,用 AND 0FH 指令屏蔽 高 4 位。源程序:STACK SEGMENT STACKDB 1024 DUP(0STACK ENDSCODE SEGMENTASSUME C

2、S:CODE,SS:STACKSTART:MOV BL,0LP:MOV DL,20HINT 21HMOV AL,BLADD AL,0DAAAND AL,0FH MOV BL,ALPUSH BXOR AL,30HMOV DL,AL MOV AH,2INT 21HMOV BX,3E8H LP2:MOV CX,176H LP1:PUSHFPOPFLOOP LP1DEC BXJNZ LP2POP BXINC BLJMP LPCODE ENDS END START 运行结果 :2用系统功能调用将 HELLO 由'键盘输入 ,再从屏幕输出 *HELLO* 源程序:STACK SEGMENT STA

3、CKDB 1024 DUP(0STACK ENDSDA TA SEGMENTBUFF DB 6,7 DUP(?,'$'DA TA ENDSINPUT MACRO BUFFMOV DX,OFFSET BUFFINT 21HENDMPUTCHAR MACRO CHARMOV DL,CHARMOV AH,02HINT 21HENDMCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATAMOV DS,AXINPUT BUFFPUTCHAR 0DHPUTCHAR 0AHMOV CX,0003HNEXT:PUTCHAR 2

4、AHLOOP NEXTMOV CL,BUFF+1SUB CH,CHBEGIN:MOV AL,BXPUTCHAR ALINC BXLOOP BEGINMOV CX,0003HNEXT1:PUTCHAR 2AHLOOP NEXT1MOV AH,4CHINT 21HCODE ENDSEND START运行结果:源程序:3 编制在屏幕上画线的子程序 , 调用该子程序画一矩形DATA SEGMENTCOL DW 50 ; 列数设置为 50ROW DW 25 ; 行数设置为 25LENGTHS DW 100 ; 矩形的长是 100WIDTHS DW 50 ; 矩形的宽是 50COLOR DB 1 ;颜色是

5、 1 号颜色DATA ENDSSTACK1 SEGMENT STACKDW 20 DUP(0STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV AH,0 ; 设置显示方式MOV AL,12H ; 显示方式为图形 16 色INT 10HMOV DX,ROW ; 画上边的横线MOV CX,COLCALL PROC_XMOV DX,ROW ; 画左边竖线MOV CX,COLCALL PROC_YMOV DX,ROW ; 画右边竖线 ,让列号(COL 增加一个长度 (LENGTHS M

6、OVCX,COLADD CX,LENGTHS ; 增加列号MOV DX,ROW ; 画下面横线 ,让行号(ROW 增加一个宽度 (WIDTHS MOV CX,COLADD DX,WIDTHS ; 增加行号CALL PROC_XMOV AH,1 ; 输入颜色MOV AH,0MOV AL,3INT 10HMOV AH,4CH ; 结束INT 21HPROC_X PROC ;画横线的子程序MOV BP,LENGTHS ; 线长是长度 LENGTHS LOP1:MOV BH,0 ; 置页号INC CX ; 修改列号MOV AL,COLOR ; 取像素值MOV AH,0CH ; 写像素INT 10HDE

7、C BPJNE LOP1RETPROC_X ENDPPROC_Y PROC ;画竖线的子程序MOV BP,WIDTHSLOP2:MOV BH,0INC DX ; 修改行号MOV AL,COLORMOV AH,0CHINT 10HJNE LOP2RETPROC_Y ENDPCODE ENDSEND START运行结果:4 编制字母下落一行的子程序 ,调用该子程序使字母从屏幕顶部下落到底部。5 创建一磁盘文件 ,保存从键盘输入的字符串。6 编写程序用设置系统时间 ,首先从键盘以十进制数形式输入时间 ,然后修改系 统时 间 ,并重新以十进制形式显示时间。源程序:DATA SEGMENTCONST D

8、W 1000,100,10,1 DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV BH,0MOV DH,12MOV DL,35MOV AH,2INT 10HMOV AH,2AHINT 21HMOV AX,CXMOV BX,DXMOV DX,CXMOV CX,4MOV DI,OFFSET CONST LOP:MOV SI,DIMOV AX,DXMOV DX,0DIV SIOR AL,30HPUSH DXMOV DL,ALINT 21HINC DIINC DIPOP DXLOOP LOPMOV DL,'/'MOV AH,2INT 21HMOV AL,BHMOV AH,0MOV BH,10 DIV BH MOV DH,AH MOV DL,AL OR DL,30H MOV AH,2 INT 21H MOV DL,'/' MOV AH,2 INT 21H MOV AL,BL MOV AH,0 MOV BL,10 DIV BL MOV DH,AH MOV D

温馨提示

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

评论

0/150

提交评论