实验四 DOS系统功能调用实验 解析

实验四 DOS 系统功能调用实验
一、实验目的 1、学习 DOS 系统功能调用的使用方法; 2、重点掌握键盘输入和输出显示的 DOS 系统功能调用的方法。 二、实验仪器 TDN86/51 教学实验系统,计算机 三、实验内容和步骤 无论是用户程序还是 DOS 系统本身,都离不开输入/输出操作,为了方便用户,PC DOS 系统将输入/输出管理程序编成一系列子程序,不仅系统可以使用,用户也可以像调子程序 一样方便地使用它们。调用系统提供的子程序,通常称为系统功能调用。DOS 系统功能调 用的方式是通过执行一条软中断指令 INT 21H 实现的。当寄存器 AH 中设置不同的值 时,该指令将完成不同的功能,我们称 AH 中设置的内容为功能号。通过下面的编程练习, 学会 DOS 系统功能 1、2、7、8、9、A 的调用方法。 开始 1、内容 从键盘上输入一组字符串,将其送入输入缓冲区,把字符串中 调用DOS系统功能9显示 小写的字符转换成大写后,再显示这组字符串。流程图如下: 一个提示字符串 “Please input string” 2、步骤 ①按流程图编写程序 调用DOS系统功能0A接 ②上机调试,实现题目要求的功能 收从键盘输入的一组小 写的字符串,并把它存放 思考题: 把上题中输入字符串中的最小字符和最大字符分别显示 在相应的空间里 出来。 参考源代码: 在字符串后加’$’ data segment string1 db 0dh,0ah,'please input string',0ah,0dh,'$' 调用DOS系统功能9显 string2 db 0dh,0ah,'do you want to input string 示这组字符串 again(Y/N)?',0ah,0dh,'$' buffer db 40h,? 检查每个存储单元若是 小写字母转变为大写 buffer1 db 40h dup(?) data ends 调用DOS系统功能9显 code segment 示转换后的这组字符串 assume cs:code,ds:data start:mov ax,data 调用DOS系统功能9显示 mov ds,ax 一个提示字符串 “Do you want to input again: mov dx,offset string1 string again(Y/N)?” mov ah,9 int 21h 调用DOS系统功能1等待 9 号指令是显示指令。在屏幕上显示 string1 的字符串。 一个字符的输入 mov dx,offset buffer buffer 的偏移地址给了 dx,dx 中 buffer 的字符个数 Y 输入是’Y’? N mov ah,0ah int 21h mov al,buffer+1 结束 指向字符最后一个数后再向后移动一位,计算字符串的个数,

地址从 00 开始,所有加一 cbw 把字符转换成字的格式 mov bx,offset buffer1 add bx,ax 9 号指令是显示指令。在屏幕上显示 string1 的字符串。 mov cx,ax mov byte ptr [bx],'$' mov dx,offset buffer1 mov ah,9 int 21h mov bx,offset buffer1 l1: mov al,[bx] cmp al,'a' jb l2 小于 cmp al,'z' ja l2 如果不是字母,跳转到 12(高于) sub al,20h al-20 相当于大写字母减去 20 变成小写字母 mov byte ptr [bx],al 转换 al 变成 ax 格式 l2: inc bx bx+1 loop l1 mov dl,0ah mov ah,2 int 21h

mov dl,0dh mov ah,2 P158 int 21h mov dx,offset buffer1 mov ah,9 int 21h mov dx,offset string2 mov ah,9 int 21h mov ah,1 int 21h and al,0dfh cmp al,'Y' 比较 al 与’Y’ jz again mov ah,4ch

int 21h code ends end start


相关文档

汇编实验四--DOS功能调用
实验四 DOS功能调用
1实验四 DOS功能调用练习
DOS系统功能调用及BIOS调用实验报告
实验6 DOS系统功能调用
6_DOS系统功能调用及BIOS调用实验
3.4 DOS系统功能调用
微机原理与接口技术实验指导 6_DOS系统功能调用及BIOS调用实验
实验二 DOS、BIOS系统功能调用
实验九 DOS功能调用方法
电脑版