IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt

上传人(卖家):晟晟文业 文档编号:4145201 上传时间:2022-11-14 格式:PPT 页数:89 大小:298.51KB
下载 相关 举报
IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt_第1页
第1页 / 共89页
IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt_第2页
第2页 / 共89页
IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt_第3页
第3页 / 共89页
IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt_第4页
第4页 / 共89页
IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

1、 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章开开 始始 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算

2、机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章(扩充(扩充BIOS中断向量)中断向量)18019F 6067 为用户软中断保留为用户软中断保留1A01FF 687F 不用(其中不用(其中70777077为为I/OI/O设备中断向量)设备中断向量)200217 8085 BASIC使用使用2183C3 86F0 BASIC运行时,用于解释运行时,用于解释3C43FF F1FF 未用未用 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语

3、言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章:安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章code segment assume cs:

4、code mov ah,0 int 16h mov ah,4ch int 21h code endsend 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章code segment assume cs:code mov ah,2 int 16h mov ah,4ch int 21h code endsend 安徽理工大学安徽

5、理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章无无 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李

6、敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 9.2 显示器显示器I/O 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章

7、章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 从上面三种不同图形显示模式的介绍,不难从上面三种不同图形显示模式的介绍,不难看出:各种显示模式在显示缓冲区存储方式上的明看出:各种显示模式在显示缓冲区存储方式上的明显差异,操作象素方法的难易程度相差也很大,所显差异,操作象素方法的难易程度相差也很大,所以,再次建议:以,再

8、次建议:程序员不要用直接操作显示缓冲区程序员不要用直接操作显示缓冲区的办法来达到改变显示象素的目的,最好是通过的办法来达到改变显示象素的目的,最好是通过BIOSBIOS内的中断功能来实现相应的功能内的中断功能来实现相应的功能,这样,所编这样,所编写的程序能很方便地适应不同的图形显示模式。写的程序能很方便地适应不同的图形显示模式。显示器的屏幕通常划分为行和列的二维系统,显示适配器显示器的屏幕通常划分为行和列的二维系统,显示适配器就在行列组成的网格位置上显示字符。对应屏幕上的每个字符就在行列组成的网格位置上显示字符。对应屏幕上的每个字符位置,主存空间都有相应的存储单元与之对应,因此可说是显位置,主

9、存空间都有相应的存储单元与之对应,因此可说是显示屏幕式示屏幕式“存储器的映像存储器的映像”。对应显示屏幕上的每个字符,在。对应显示屏幕上的每个字符,在存储器中由连续的两个字节表示,存储器中由连续的两个字节表示,一个字节表示一个字节表示ASCIIASCII码,另一码,另一个字节保存字符的属性。个字节保存字符的属性。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章单色显示的属性值单色显示的属性值 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章彩色字符显示属性字节彩色字符显示属性字节

10、 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章110 棕RGB颜色000 黑蓝绿011青红101品红111白IRGB颜色IRGB颜色0000黑1000灰0001蓝1001浅蓝0010绿1010浅绿0011青1011浅青0100红1100浅红0101品红1101浅品红0110棕1110黄0111白1111强度白 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章3.显示存储器显示存储器 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言

11、 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章AL显示方式显示方式04025黑白文本方式黑白文本方式14025彩色文本方式彩色文本方式28025黑白文本方式黑白文本方式38025彩色文本方式彩色文本方式4320200彩色图形方式彩色图形方式5320200黑白图形方式黑白图形方式6640200黑白图形方式黑白图形方式78025黑白文本方式(单色显示卡)黑白文本方式(单色显示卡)安徽理工大学安徽理工大学 计算机科学与技

12、术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第

13、9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科

14、学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 9.3 串行通信口串行通信口I/O 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章串行通信可以分为两种类型:串行通信可以分为两种类型:同步通信、异步通信。同步通信、异步通信。一个字符一个字符地传输,每个字符一位一位地传一个字符一个字符地传输,每个字符一位一位地传输,传

15、输一个字符时,以输,传输一个字符时,以起始位起始位开始,然后传输字开始,然后传输字符本身的各位,接着传输符本身的各位,接着传输校验位校验位,最后以,最后以停止位停止位结结束该字符的传输。一次传输的起始位、字符各位、束该字符的传输。一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为校验位、停止位构成一组完整的信息,称为帧帧(Frame)。)。帧与帧之间可有任意个帧与帧之间可有任意个空闲位空闲位。起始位之后时数据的最低位。起始位之后时数据的最低位。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 在异步通信中,在异步通信中,

16、每个每个字符字符都都要用起始位作为字符的开始要用起始位作为字符的开始和结束的标志,占用了传输的时间,所以在数据块传送时,和结束的标志,占用了传输的时间,所以在数据块传送时,为了提高效率,就要去掉这些标志,采用同步通信。为了提高效率,就要去掉这些标志,采用同步通信。同步通同步通信方式不给每个字符都加起始位和停止位,而把字符顺序的信方式不给每个字符都加起始位和停止位,而把字符顺序的连接起来,组成一个数据块连接起来,组成一个数据块(首尾相连的数据串),把这样(首尾相连的数据串),把这样一个数据块称为一个信息桢。在数据的开始加上一个同步字一个数据块称为一个信息桢。在数据的开始加上一个同步字符,而在信息

17、的末尾加有一定的差错检验字符,其格式如下:符,而在信息的末尾加有一定的差错检验字符,其格式如下:同步字符同步字符 字符字符1 字符字符2 字符字符n 校验字符校验字符数据块数据块 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章实现串行通信有专用的接口芯片,实现串行通信有专用的接口芯片,常用的有常用的有USART(通通用同步用同步/异步接收异步接收/发送器发送器)如如Intel8251和和UART(通用异步接收通用异步接收/发送器发送器)如如Ins 8250。无论是无论是UART,还是还是USART,均能实现数据发送时所均能实现数据发送

18、时所需要的需要的并串转换并串转换以及数据被以及数据被CPU接收时所需要的接收时所需要的串串并转换。并转换。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章串行通信接口串行通信接口串行通信基础串行通信基础起始位起始位最低位最低位最高位最高位奇偶位奇偶位停止位停止位数据位数据位异步通信的信息格式:异步通信的信息格式:安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 并行通信中,传输速率以每秒钟传输多少字节来表并行通信中,传输速率以每秒钟传输多少字节来表示。而串行通信中,传输速率是用波

19、特率来表示。所谓示。而串行通信中,传输速率是用波特率来表示。所谓波特率是指单位时间内传送二进制数据的位数波特率是指单位时间内传送二进制数据的位数(简写为简写为bps)。在计算机里,每秒传输多少位和波特率的含义是在计算机里,每秒传输多少位和波特率的含义是完全一致的完全一致的。但是要注意,在最初的定义上(波特率是但是要注意,在最初的定义上(波特率是每秒传输离散信号的数目),每秒传输多少位和波特率每秒传输离散信号的数目),每秒传输多少位和波特率是不相同的。是不相同的。收、发双方的波特率必须一致。传输一位所需要的时间收、发双方的波特率必须一致。传输一位所需要的时间T叫叫“位周期位周期”。例:计算串行传

20、输5页,每页80 x25个字符总共需要多少位?假设每个字符8位,1位起始位和1位终止位。计算传输上述五页所需要的时间。数据传输率分别为2400bps 和9600bps 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章RS232串行通信接口串行通信接口为了兼容各厂家生产的数据通信设备,1960年电子工业协会(Electronics Industries association,EIA)制定了RS-232接口标准,以后又陆续发布了修订版本RS-232A,RS-232B和RS-232C。目前广泛应用于个人计算机上的RS-232串行接口,他安装

21、于PC机内的通信适配器版上。PC机上的机上的COM1、COM2接口,就是接口,就是RS-232C接口,使用接口,使用9针和针和25针连接器针连接器 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章RS-232C采用负逻辑,且信号电采用负逻辑,且信号电平与平与TTL不兼容,不兼容,规定逻辑规定逻辑“1”在在-3V-15V之间,之间,逻辑逻辑“0”在在+3V+15V之间。之间。RS-232C不是不是TTL电平的接口标电平的接口标准,当计算机与外设进行通信时,准,当计算机与外设进行通信时,必须有相应的电平转换电路。通必须有相应的电平转换电路。

22、通常采用的是常采用的是MC1488和和MC1489电电平转换器。平转换器。串行接口芯片串行接口芯片8250、8251均使用均使用TTL电平,应使用电平电平,应使用电平转换电路与转换电路与RS-232C连接器连接连接器连接。MC1488:TTL电平电平RS232电平电平(用于发送方)(用于发送方)MC1489:TTL电平电平RS232电平电平(用于接收方)(用于接收方)安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章IBM PC通信端口通信端口 在微机系统中,可以有两个或多个端口连接到不同的外部设备上进行通信,如IBM PC和80X86兼

23、容机可以连接4个通信端口,他们的编号为COM14(BIOS编号为COM03),但程序每次只能对其中一个端口进行存取。当微机加电自检时,由加电自检程序来测试通用异步收发器的4个COM端口是否存在,如果微机系统中设置了COM端口,则设置的每个COM端口的I/O地址就写到BIOS数据区的0040:00000040:0007,每个端口地址占用两个字节。如果没有连接串行端口,BIOS数据区 的这几个单元的内容就成为0。可以用DEBUG查看URAT的端口地址。保存在BIOS数据区的COM端口地址称为基地址,因为每个 COM端口都包括一组位的寄存器,程序员可以通过这些寄存器进行编程,以控制数据按设定的格式发

24、送或接收数据。BIOS数据区的COM端口地址是第一个寄存器的地址。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章串行口功能调用、DOS串行通信口功能使用DOS命令可以设置串行通信参数,如波特率,字长,校验位和终止位。格式:MODE COMm:b,p,d,s例如:MODE COM1:24,O,8,1说明:波特率用最高两位来表示,P是校验位(N无,O奇,E偶。端口号的分配:BIOS位,DOS为 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章DOS串行通信口功能调用串行通信口功能调

25、用 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章例:例:INPUT_CHAR DB?:MOV AH,3INT 21HMOV INPUT _CHAR,ALBUFFER DB HELLOBUF_LEN EQU$-BUFFER :MOV BX,SEG BUFFERMOV DS,BXMOV BX,OFFSET BUFFERMOV CX,BUF_LENNEXT:MOV DL,BXMOV AH,4INT 21HLOOP NEXT 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章串行通信口

26、串行通信口 BIOS功能调用功能调用(int 14h)安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章例:两台例:两台PC机通过机通过COM2端口进行串行数据通信,端口进行串行数据通信,编写一个汇编语言程序,要求从一台编写一个汇编语言程序,要求从一台PC 机上键盘机上键盘上输入的字符传送到另一台上输入的字符传送到另一台PC机,若按下机,若按下ESC键,键,则退出程序。在程序中,则退出程序。在程序中,COM2端口初始化为端口初始化为 4800BPS,8位数据,无校验,位数据,无校验,1位终止位;位终止位;安徽理工大学安徽理工大学 计算机科

27、学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章.datadatamessage db serial communication via com2,4800,no p,1stop,8 bit data,0ah,0dh,message db serial communication via com2,4800,no p,1stop,8 bit data,0ah,0dh,$db any key press is sent to other PC,0ah,0dh db any key press is sent to other PC,0ah,0dh db press esc

28、 to exit,$db press esc to exit,$.code.code main procmain proc mov mov ax,data ax,data mov ds mov ds,ax,ax mov mov ah,09 ah,09 mov bx mov bx,offset message,offset message int int 21h21h movmov ah,0 ah,0 mov dx mov dx,1,1 mov mov al,03ch al,03ch int int 14h14hagain:again:mov mov al,01 al,01 int int 16

29、h16h jz jz nextnext mov mov ah,0 ah,0 int int 16h16h 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 cmp cmp al,1bhal,1bh je je exit exit movmov ah,1 ah,1 mov dx mov dx,1,1 int int 14h14h next:next:movmov ah,3 ah,3 mov dx mov dx,1,1 int int 14h14h and ah,1 and ah,1 cmp cmp ah,1 ah,1 jne jne ag

30、ain again movmov ah,2 ah,2 mov dx mov dx,1,1 int int 14h 14h mov mov dl,al dl,al movmov ah,2 ah,2 int int 21h 21h jmp jmp again againexit:exit:movmov ah,4ch ah,4ch int int 21h21hmainmain endp endpendend 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言

31、汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与

32、技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 6.移动文件指针(42H)功能:移动由文件代号标志的文件读写指针的位置入口参数:在bx预置文件代号,在cx:dx双字中预置移 动位移量,在 al 中预置移动方式移动方式:00h 移动后文件指针值=0+移动位移量01h 移动后文件指针值=当前文件指针值+移动位移量02h 移动后文件指针值=文件尾值+移动位移量出口参数:CF=0 表示移动成功,此时CX:DX双字中返回移动后文件指针值;CF=1 表示移动失败,此时AX中返回值为1表示移动方式无效,为6表示无效的文件代号。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术

33、系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章data segmentdata segment fname fname db c:db c:masmmasmfile1.file1.datdat,0,0 dat dat db 80h dup(0)db 80h dup(0)dat1 db 80h dup(0)dat1 db 80h dup(0)data endsdata endscode segmentcode segment assume assume cs cs:code,:code,d

34、sds:data,:data,eses:data:datastart:start:movmov ax,data ax,data mov ds mov ds,ax,ax mov es mov es,ax,ax mov dx mov dx,offset,offset fname fname mov cx mov cx,0,0 mov mov ah,3ch ah,3ch int int 21h 21h mov si mov si,ax,axnew:new:mov bx mov bx,0,0 mov cxmov cx,20h,20h era:era:movmov ah,01h ah,01h int i

35、nt 21h 21h mov dat mov dat bxbx,al,al inc inc bx bx loop eraloop era mov dat mov dat bxbx,0ah,0ah mov dx mov dx,offset,offset dat dat mov cx mov cx,20h,20h mov bx mov bx,sisi mov mov ah,40h ah,40h int int 21h 21h mov bx mov bx,sisi mov mov ah,3eh ah,3eh int int 21h 21h mov mov ah,4ch ah,4ch int int

36、21h 21h code ends code endsend startend start例:从键盘输入例:从键盘输入20个字符存放到利用扩充文件管理方式建立个字符存放到利用扩充文件管理方式建立的文件中。的文件中。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章data segmentdata segment fname fname db c:db c:masmmasmfile1.file1.datdat,0,0 fname1 db c:fname1 db c:masmmasmfile2.file2.datdat,0,0 dta dta

37、 db 80h dup(0)db 80h dup(0)dta1 db 80h dup(0)dta1 db 80h dup(0)data endsdata endscode segmentcode segment assume assume cs cs:code,:code,dsds:data:datastart:start:movmov ax,data ax,data mov ds mov ds,ax,ax mov es mov es,ax,ax mov dxmov dx,offset,offset fname fname mov mov al,0 al,0 mov mov ah,3dh ah

38、,3dh int int 21h 21h mov si mov si,ax,ax mov bx mov bx,sisi mov dxmov dx,offset dta1,offset dta1 mov cx mov cx,10h,10h mov mov ah,3fh ah,3fh int int 21h 21h mov dimov di,ax,ax movmov ah,3eh ah,3eh int int 21h 21h mov dxmov dx,offset fname1,offset fname1 mov cx mov cx,0,0 mov mov ah,3ch ah,3ch int in

39、t 21h 21h mov si mov si,ax,ax mov dxmov dx,offset dta1,offset dta1 mov cx mov cx,didi mov bx mov bx,sisi mov mov ah,40h ah,40h int int 21h 21h mov bx mov bx,sisi mov mov ah,3eh ah,3eh int int 21h 21h mov mov ah,4ch ah,4ch int int 21h 21hcode endscode endsend startend start例:从文件例:从文件file1中读取中读取10个字符到

40、个字符到file2文件中文件中 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章data segmentdata segment fname fname db c:db c:masmmasmfile1.file1.datdat,0,0 data1 db 8,?,8 dup(?)data1 db 8,?,8 dup(?)dat1 db 3000h dup(0)dat1 db 3000h dup(0)src dw src dw 0ah 0ah mess1 db reading from n1=?,10,13,$mess1 db readin

41、g from n1=?,10,13,$mess2 db long n2=?,10,13,$mess2 db long n2=?,10,13,$mess3 db 10,13,$mess3 db 10,13,$data endsdata endsstack segment stackstack segment stack dw dw 100 dup(0)100 dup(0)top label word top label wordstack endsstack endscode segmentcode segmentmain proc farmain proc far assume assume

42、cs cs:code,:code,dsds:data,:data,ssss:stack:stackstart:pushstart:push ds ds sub ax,axsub ax,ax push ax push ax mov mov ax,data ax,data mov ds mov ds,ax,ax mov es mov es,ax,ax mov mov ax,stack ax,stack mov ss mov ss,ax,ax mov dx mov dx,offset mess1,offset mess1 mov mov ah,09h ah,09h int int 21h 21hca

43、ll inputcall input dec di dec di mov si mov si,didi mov dx mov dx,offset mess3,offset mess3 mov mov ah,9 ah,9 int int 21h 21h mov dx mov dx,offset mess2,offset mess2 mov mov ah,9 ah,9 int int 21h 21hcall inputcall input mov dx mov dx,offset mess3,offset mess3 mov mov ah,09h ah,09h int int 21h 21h mo

44、v dx mov dx,offset,offset fname fname movmov al,0 al,0 mov mov ah,3dh ah,3dh int int 21h 21h mov bx mov bx,ax,ax mov cx mov cx,0,0 mov dx mov dx,sisi mov mov al,0 al,0 mov mov ah,42h ah,42h int int 21h 21h 例:从文件FILE1.DAT中读文件从N1起,长度为N2的字符串,并在屏幕中显示。N1 N2 为十进制数。安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编

45、语言汇编语言 第第9章章 mov dxmov dx,offset dat1,offset dat1 mov cx mov cx,didi mov mov ah,3fh ah,3fh int int 21h 21h mov di mov di,ax,ax mov mov ah,3eh ah,3eh int int 21h 21h mov dx mov dx,offset mess3,offset mess3 mov mov ah,09h ah,09h int int 21h 21h mov dx mov dx,offset dat1,offset dat1 mov mov al,$al,$mov

46、 bx mov bx,didi mov mov dat1 dat1bxbx,al,al mov dx mov dx,offset dat1,offset dat1 mov mov ah,9 ah,9 int int 21h 21h mov mov ah,4ch ah,4ch int int 21h 21hmainmain endp endp input proc nearinput proc near mov dx mov dx,offset data1,offset data1 mov mov ah,0ah ah,0ah int int 21h 21h mov bx mov bx,1,1 m

47、ov mov al,data1 al,data1bxbx mov mov ah,0 ah,0 mov cx mov cx,ax,ax mov bx mov bx,2,2 mov di mov di,0,0loop1:loop1:mov mov al,data1 al,data1bxbx sub al,30h sub al,30h mov mov ah,0 ah,0 push ax push ax mov dx mov dx,offset mess3,offset mess3 mov mov ah,9 ah,9 int int 21h 21h mov mov ax,ax,didi mul src

48、 mul src mov di mov di,ax,ax pop ax pop ax add ax,add ax,didi mov di mov di,ax,ax inc inc bx bx loop loop1loop loop1 ret retinputinput endp endpcode endscode endsend startend start 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章 安徽理工大学安徽理工大学 计算机科学与技术系计算机科学与技术系 李敬兆李敬兆 汇编语言汇编语言 第第9章章

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(IBM-PC汇编语言BIOS和DOS中断调用程序设计课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|