第9章 中断调用程序设计_第1页
第9章 中断调用程序设计_第2页
第9章 中断调用程序设计_第3页
第9章 中断调用程序设计_第4页
第9章 中断调用程序设计_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章开开 始始 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言

2、第第9章章(扩充(扩充BIOS中断向量)中断向量)18019F 6067 为用户软中断保留为用户软中断保留1A01FF 687F 不用(其中不用(其中70707777为为I/OI/O设备中断向量)设备中断向量)200217 8085 BASIC使用使用2183C3 86F0 BASIC运行时,用于解释运行时,用于解释3C43FF F1FF 未用未用 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学

3、系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章: 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章code segment assume cs:code mov ah, 0 int 16h mov ah, 4ch int 21h code end

4、send 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章code segment assume cs:code mov ah, 2 int 16h mov ah, 4ch int 21h code endsend 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章无无 伊犁师范学院伊犁师范学院 计算

5、机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算

6、机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 9.2 显示器显示器I/O 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊

7、犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 从上面三种不同图形显示模式的介绍,不难从上面三种不同图形显示模式的介绍,不难看出:各种显示模式在显示缓冲区存储方式上的明看出:各种显示模式在显示缓冲区存储方式上的明显差异,操作象素方法的难易程度相差也很大,所显差异,操作象素方法的难易程度相差也很大,所以,再次建议:以,再次建议:程序员不要用直接操作显示缓冲区程序员不要用直接操作显示缓冲区的办法来达到改变显示象素的目的,最好是通过的办法来达到改变显示象素的目的,最好是通过BIOSBIOS内的中断功能来实现相应的功能内的中断功能来实现相应的功能,这样

8、,所编这样,所编写的程序能很方便地适应不同的图形显示模式。写的程序能很方便地适应不同的图形显示模式。 显示器的屏幕通常划分为行和列的二维系统,显示适配器显示器的屏幕通常划分为行和列的二维系统,显示适配器就在行列组成的网格位置上显示字符。对应屏幕上的每个字符就在行列组成的网格位置上显示字符。对应屏幕上的每个字符位置,主存空间都有相应的存储单元与之对应,因此可说是显位置,主存空间都有相应的存储单元与之对应,因此可说是显示屏幕式示屏幕式“存储器的映像存储器的映像”。对应显示屏幕上的每个字符,在。对应显示屏幕上的每个字符,在存储器中由连续的两个字节表示,存储器中由连续的两个字节表示,一个字节表示一个字

9、节表示ASCIIASCII码,另一码,另一个字节保存字符的属性。个字节保存字符的属性。 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章单色显示的属性值单色显示的属性值 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章彩色字符显示属性字节彩色字符显示属性字节 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章110 棕RGB颜色000 黑蓝绿011青红101品红111白IRGB颜色IRGB颜色0000黑1000灰0001蓝1001浅蓝0010绿10

10、10浅绿0011青1011浅青0100红1100浅红0101品红1101浅品红0110棕1110黄0111白1111强度白 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章3. 显示存储器显示存储器 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章AL显示方式显示方式04025黑白文本方式黑白文本方式14025彩色文本方式彩色文本方式28025黑白文本方式黑白文本方式38025彩色文本方式彩色文本

11、方式4320200彩色图形方式彩色图形方式5320200黑白图形方式黑白图形方式6640200黑白图形方式黑白图形方式78025黑白文本方式(单色显示卡)黑白文本方式(单色显示卡) 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师

12、范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师

13、范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 9.3 串行通信口串行通信口I/O 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章串行通信可以分为两种类型:串行通信可以分为两种类型:同步通信、异步通信。同步通信、异

14、步通信。一个字符一个字符地传输,每个字符一位一位地传一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以输,传输一个字符时,以起始位起始位开始,然后传输字开始,然后传输字符本身的各位,接着传输符本身的各位,接着传输校验位校验位,最后以,最后以停止位停止位结结束该字符的传输。一次传输的起始位、字符各位、束该字符的传输。一次传输的起始位、字符各位、校验位、停止位构成一组完整的信息,称为校验位、停止位构成一组完整的信息,称为帧帧(Frame)。)。帧与帧之间可有任意个帧与帧之间可有任意个空闲位空闲位。起始位之后时数据的最低位。起始位之后时数据的最低位。 伊犁师范学院伊犁师范学院 计算机

15、科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 在异步通信中,在异步通信中,每个每个字符字符都都要用起始位作为字符的开始要用起始位作为字符的开始和结束的标志,占用了传输的时间,所以在数据块传送时,和结束的标志,占用了传输的时间,所以在数据块传送时,为了提高效率,就要去掉这些标志,采用同步通信。为了提高效率,就要去掉这些标志,采用同步通信。同步通同步通信方式不给每个字符都加起始位和停止位,而把字符顺序的信方式不给每个字符都加起始位和停止位,而把字符顺序的连接起来,组成一个数据块连接起来,组成一个数据块(首尾相连的数据串),把这样(首尾相连的数据串),把这样一个数据块称为一个信

16、息桢。在数据的开始加上一个同步字一个数据块称为一个信息桢。在数据的开始加上一个同步字符,而在信息的末尾加有一定的差错检验字符,其格式如下:符,而在信息的末尾加有一定的差错检验字符,其格式如下:同步字符同步字符 字符字符1 字符字符2 字符字符n 校验字符校验字符数据块数据块 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章实现串行通信有专用的接口芯片,实现串行通信有专用的接口芯片,常用的有常用的有USART(通通用同步用同步/异步接收异步接收/发送器发送器)如如Intel8251和和UART(通用异步接收通用异步接收/发送器发送器)如如Ins

17、8250。无论是无论是UART,还是,还是USART,均能实现数据发送时所,均能实现数据发送时所需要的需要的并串转换并串转换以及数据被以及数据被CPU接收时所需要的接收时所需要的串串并转换。并转换。 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章串行通信接口串行通信接口串行通信基础串行通信基础起始位起始位最低位最低位最高位最高位奇偶位奇偶位停止位停止位数据位数据位异步通信的信息格式:异步通信的信息格式: 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 并行通信中,传输速率以每秒钟传输多少字节

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

19、、发双方的波特率必须一致。传输一位所需要的时间T叫叫“位周期位周期”。例:计算串行传输5页,每页80 x25个字符总共需要多少位?假设每个字符8位,1位起始位和1位终止位。计算传输上述五页所需要的时间。数据传输率分别为2400bps 和9600bps 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章RS232串行通信接口串行通信接口为了兼容各厂家生产的数据通信设备,1960年电子工业协会(Electronics Industries association ,EIA)制定了RS-232接口标准,以后又陆续发布了修订版本RS-232A,RS-23

20、2B和RS-232C。目前广泛应用于个人计算机上的RS-232串行接口,他安装于PC机内的通信适配器版上。PC机上的机上的COM1、COM2接口,就是接口,就是RS-232C接口,使用接口,使用9针和针和25针连接器针连接器 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章RS-232C采用负逻辑,且信号电采用负逻辑,且信号电平与平与TTL不兼容,不兼容,规定逻辑规定逻辑“1”在在-3V-15V之间,之间,逻辑逻辑“0”在在+3V+15V之间。之间。RS-232C不是不是TTL电平的接口标电平的接口标准,当计算机与外设进行通信时,准,当计算机与

21、外设进行通信时,必须有相应的电平转换电路。通必须有相应的电平转换电路。通常采用的是常采用的是MC1488和和MC1489电电平转换器。平转换器。串行接口芯片串行接口芯片8250、8251均使用均使用TTL电平,应使用电平电平,应使用电平转换电路与转换电路与RS-232C连接器连接连接器连接。MC1488:TTL电平电平RS232电平电平 (用于发送方)(用于发送方)MC1489:TTL电平电平RS232电平电平 (用于接收方)(用于接收方) 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章IBM PC通信端口通信端口 在微机系统中,可以有两个或

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

23、位的寄存器,程序员可以通过这些寄存器进行编程,以控制数据按设定的格式发送或接收数据。 BIOS数据区的COM端口地址是第一个寄存器的地址。 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章串行口功能调用、DOS串行通信口功能使用DOS命令可以设置串行通信参数,如波特率,字长,校验位和终止位。格式:MODE COMm:b ,p ,d , s例如:MODE COM1 :24,O,8,1说明:波特率用最高两位来表示,P是校验位(N无,O奇,E偶。端口号的分配:BIOS位,DOS为 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔

24、汇编语言汇编语言 第第9章章DOS串行通信口功能调用串行通信口功能调用 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第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 伊犁师范学院伊犁师范学院 计算机科学系计算机科

25、学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章串行通信口串行通信口 BIOS功能调用功能调用(int 14h) 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章例:两台例:两台PC机通过机通过COM2端口进行串行数据通信,端口进行串行数据通信,编写一个汇编语言程序,要求从一台编写一个汇编语言程序,要求从一台PC 机上键盘机上键盘上输入的字符传送到另一台上输入的字符传送到另一台PC机,若按下机,若按下ESC键,键,则退出程序。在程序中,则退出程序。在程序中,COM2端口初始化为端口初始化为 4800BPS,8位数据,无校验,位数据,无校验,

26、1位终止位;位终止位; 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章.data.datamessage 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

27、 other PC ,0ah,0dh db press esc to exit,$ db press esc to exit,$.code .code main procmain proc mov ax,data mov ax,data mov ds,ax mov ds,ax mov ah,09 mov ah,09 mov bx,offset message mov bx,offset message int 21h int 21h mov ah,0mov ah,0 mov dx,1 mov dx,1 mov al,03ch mov al,03ch int int 14h14hagain: m

28、ov al,01again: mov al,01 int 16h int 16h jz next jz next mov ah,0 mov ah,0 int int 16h16h 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 cmp al,1bhcmp al,1bh je exit je exit mov ah,1mov ah,1 mov dx,1 mov dx,1 int int 14h14h next: next: mov ah,3mov ah,3 mov dx,1 mov dx,1 int int 14h14h and ah,1 an

29、d ah,1 cmp ah,1 cmp ah,1 jne again jne again mov ah,2mov ah,2 mov dx,1 mov dx,1 int 14h int 14h mov mov dl,al dl,al mov ah,2mov ah,2 int 21h int 21h jmp jmp again againexit:mov ah,4chexit:mov ah,4ch int int 21h21hmain endpmain endpendend 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院

30、 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院

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

32、系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章data segmentdata segment fname db c:masmfile1.dat,0 fname db c:masmfile1.dat,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 cs:code,ds:data,es assum

33、e cs:code,ds:data,es:data:datastart:mov ax,datastart:mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov dx,offset fname mov dx,offset fname mov cx,0 mov cx,0 mov ah,3ch mov ah,3ch int 21h int 21h mov si mov si,ax,axnew: mov bxnew: mov bx,0,0 mov cxmov cx,20h,20h era:mov ah,01h era:mov ah,01h in

34、t 21h int 21h mov datbx mov datbx,al,al inc bx inc bx loop era loop era mov datbx,0ah mov datbx,0ah mov dx,offset dat mov dx,offset dat mov cx,20h mov cx,20h mov bx,si mov bx,si mov ah,40h mov ah,40h int 21h int 21h mov bx,si mov bx,si mov ah,3eh mov ah,3eh int 21h int 21h mov ah,4ch mov ah,4ch int

35、int 21h 21h code ends code endsend startend start例:从键盘输入例:从键盘输入20个字符存放到利用扩充文件管理方式建立个字符存放到利用扩充文件管理方式建立的文件中。的文件中。 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章data segmentdata segment fname db c:masmfile1.dat fname db c:masmfile1.dat,0,0 fname1 db c:masmfile2.dat,0 fname1 db c:masmfile2.dat,0 dta

36、dta db 80h dup(0)db 80h dup(0) dta1 db 80h dup(0) dta1 db 80h dup(0)data endsdata endscode segmentcode segment assume cs:code,ds assume cs:code,ds:data:datastart:mov ax,datastart:mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov dx,offset fnamemov dx,offset fname mov al,0 mov al,0 mov ah,3dh m

37、ov ah,3dh int 21h int 21h mov si,ax mov si,ax mov bx,si mov bx,si mov dx,offset dta1mov dx,offset dta1 mov cx,10h mov cx,10h mov ah,3fh mov ah,3fh int int 21h 21h mov di,axmov di,ax mov ah,3ehmov ah,3eh int 21h int 21h mov dx,offset fname1mov dx,offset fname1 mov cx,0 mov cx,0 mov ah,3ch mov ah,3ch

38、int 21h int 21h mov si,ax mov si,ax mov dx,offset dta1mov dx,offset dta1 mov cx,di mov cx,di mov bx,si mov bx,si mov ah,40h mov ah,40h int 21h int 21h mov bx,si mov bx,si mov ah,3eh mov ah,3eh int 21h int 21h mov ah,4ch mov ah,4ch int int 21h 21hcode endscode endsend startend start例:从文件例:从文件file1中读取

39、中读取10个字符到个字符到file2文件中文件中 伊犁师范学院伊犁师范学院 计算机科学系计算机科学系 伊力亚尔伊力亚尔 汇编语言汇编语言 第第9章章data segmentdata segment fname db c:masmfile1.dat fname db c:masmfile1.dat,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,$ mess

40、1 db reading 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 stack stack segment stack dw dw 100 dup(0) 100 dup(0) top label word top label wordstack endsstack endscode segmentcode segmentmain proc farmain proc

41、far assume cs:code,ds:data,ss assume cs:code,ds:data,ss:stack:stackstart:push dsstart:push ds sub ax,axsub ax,ax push ax push ax mov ax,data mov ax,data mov ds,ax mov ds,ax mov es,ax mov es,ax mov ax,stack mov ax,stack mov ss,ax mov ss,ax mov dx,offset mess1 mov dx,offset mess1 mov ah,09h mov ah,09h

42、 int int 21h 21hcall inputcall input dec di dec di mov si,di mov si,di mov dx,offset mess3 mov dx,offset mess3 mov ah,9 mov ah,9 int 21h int 21h mov dx,offset mess2 mov dx,offset mess2 mov ah,9 mov ah,9 int int 21h 21hcall inputcall input mov dx,offset mess3 mov dx,offset mess3 mov ah,09h mov ah,09h int 21h int 21h mov dx,offset fname mov dx,offset fname mov al,0 mov al,0 mov ah,3dh mov ah,3dh int 21h int 21h mov bx,ax mov bx,ax mov cx,0 mov cx,0 mov dx,si mov dx,si mov al,0 mov al,0 mov ah,42h mov ah,42h int int 21h 21h 例:从文

温馨提示

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

评论

0/150

提交评论