Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Ton_Marks]_Assembler_Tutorial(BookFi.org).doc
Скачиваний:
3
Добавлен:
11.11.2019
Размер:
216.06 Кб
Скачать

01H function

Use:

Sets parallel port.

Call registers:

AH = 01H

DX = Port to use

Return registers:

AH = Printer status

Port to use is defined in the DX register, for example: LPT=0, LPT2=1, and so on.

The state of the printer is coded bit by bit as follows:

BIT 1/0 MEANING

----------------------------------------

0 1 The waited time is over

1 -

2 -

3 1 input/output error

4 1 Chosen printer

5 1 out-of-paper

6 1 communication recognized

7 1 The printer is ready to use

1 and 2 bits are not relevant

Most BIOS sport 3 parallel ports, although there are BIOS which sport 4 parallel ports.

02H function

Uses:

Gets the printer status.

Call registers:

AH = 01H

DX = Port to use

Return registers

AH = Printer status.

Port to use is defined in the DX register, for example: LPT=0, LPT2=1, and

so on

The state of the printer is coded bit by bit as follows:

BIT 1/0 MEANING

----------------------------------------

0 1 The waited time is over

1 -

2 -

3 1 input/output error

4 1 Chosen printer

5 1 out-of-paper

6 1 communication recognized

7 1 The printer is ready to use

1 and 2 bits are not relevant

Most BIOS sport 3 parallel ports, although there are BIOS which sport 4

parallel ports.

5.5 Ways of working with files

There are two ways to work with files, the first one is by means of file control blocks or "FCB" and the second one is by means of communication channels, also known as "handles".

The first way of file handling has been used since the CPM operative system, predecessor of DOS, thus it assures certain compatibility with very old files from the CPM as well as from the 1.0 version of the DOS, besides this method allows us to have an unlimited number of open files at the same time. If you want to create a volume for the disk the only way to achieve this is by using this method.

Even after considering the advantages of the FCB, the use of the communication channels it is much simpler and it allows us a better handling of errors, besides, since it is much newer it is very probable that the files created this way maintain themselves compatible through later versions of the operative system.

For a greater facility on later explanations I will refer to the file control blocks as FCBs and to the communication channels as handles.

5.6 FCB method

Contents

5.6.1 Introduction

5.6.2 Open files

5.6.3 Create a new file

5.6.4 Sequential writing

5.6.5 Sequential reading

5.6.6Random reading and writing

5.6.7 Close a file

5.6.1 Introduction

There are two types of FCB, the normal, whose length is 37 bytes and the extended one of 44 bytes. On this tutorial we will only deal with the first type, so from now on when I refer to an FCB, I am really talking about a 37 bytes FCB.

The FCB is composed of information given by the programmer and by information which it takes directly from the operative system.

When thesetypes of files are used it is only possible to work on the current directory since the FCBs do not provide sport for the use of the organization by directories of DOS.

The FCB is formed by the following fields:

POSITION LENGTH MEANING

00H 1 Byte Drive

01H 8 Bytes File name

09H 3 Bytes Extension

0CH 2 Bytes Block number

0EH 2 Bytes Register size

10H 4 Bytes File size

14H 2 Bytes Creation date

16H 2 Bytes Creation hour

18H 8 Bytes Reserved

20H 1 Bytes Current register

21H 4 Bytes Random register

To select the work drive the next format is followed: drive A = 1; drive B = 2; etc. If 0 is used the drive being used at that moment will be taken as option.

The name of the file must be justified to the left and in case it is necessary the remaining bytes will have to be filled with spaces, and the extension of the file is placed the same way.

The current block and the current register tell the computer which register will be accessed on reading or writing operations. A block is a group of 128 registers. The first block of the file is the block 0. The first register is the register 0, therefore the last register of the first block would be the 127, since the numbering started with 0 and the block can contain 128 registers in total.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]