汇编语言——输入输出程序设计实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四输入/输出实验(2学时综合性实验)

1.实验目的

(1) 掌握输入输出程序设计的概念和方法。

(2) 了解PC机外围芯片8259的功能。

(3)学习如何在PC机上编写具有输入输出功能的程序,包括8259芯片的使用方法。

2.实验说明

本实验要求自行编写一个显示器输出处理程序,它可以完成内存中保存的一串字符在屏幕显示,

因此本实验既属于输入输出实验,也属于中断实验。

3.实验内容

编写一个显示器输出处理中断程序(名为NEW09),实现DOS 21H中断的9号功能,在屏幕上输出内存缓冲区BUF中以”$”结束的一串字符串。要求:缓冲区的偏移地址采用DX寄存器进行传递。

4.实验准备

(1) 预习输入输出程序设计的特点和方法。

(2) 仔细阅读参考程序,弄清外围芯片接口初始化的意义和方法。

5.实验步骤

(1) 建立源文件,并通过汇编和连接,产生可执行文件。

(2) 运行程序,观察常规字符键及功能键按下时程序的反应,

DATAS SEGMENT

buf db'li hongbin','$';此处输入数据段代码

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

main proc far

START:

mov al,68h

mov ah,35h

int 21h

push es

push bx

push ds

mov bx,offset buf

mov dx,offset new09

mov ax,seg new09

mov ds,ax

MOV AX,DATAS

MOV DS,AX

pop ds

pop bx

pop es

sti

mov al,68h

mov ah,25h

int 21h

main endp

new09 proc near

push ax

push bx

push ds

push dx

mov ax,datas

mov ds,ax

sti compare:

cmp [bx],'$'

je exit

mov dl,[bx]

mov ah,2

int 21h

inc bx

jmp compare exit:

cli

pop dx

pop ds

pop bx

pop ax

mov ah,4ch

int 21h

iret

new09 endp CODES ENDS

END START

相关文档
最新文档