Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
14.04.2015
Размер:
2.03 Mб
Скачать

110

 

 

Chapter 4. Assembler Directives

 

 

 

 

 

 

 

 

 

 

HCSEG

SEGMENT

HCONST SEG

 

Defines a segment with the name HCSEG with the memory class HCONST. The segment is SEGMENT aligned, this means it starts on a 64KByte segment.

RSEG

The RSEG directive selects a generic segment that was previously declared using the SEGMENT directive. The RSEG directive uses the following format:

 

 

RSEG segment

 

 

 

 

 

where

 

 

 

 

 

segment

is the name of a segment that was previously defined using

 

 

 

the SEGMENT directive. Once selected, the specified

 

 

 

4

 

 

segment remains active until a new segment is specified.

 

Example

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.

 

 

 

 

 

.

 

 

 

 

 

MYPROG

SEGMENT

CODE

; declare a segment

 

 

 

RSEG

MYPROG

; select the segment

 

 

 

MOV

A, #0

 

 

 

 

MOV

P0, A

 

 

 

.

 

 

 

 

 

.

 

 

 

 

 

.

 

 

 

Shaded directives and options are available only in AX51 and A251.

Keil Software — A51/AX51/A251 Macro Assembler and Utilities

111

 

 

BSEG, CSEG, DSEG, ISEG, XSEG

The BSEG, CSEG, DSEG, ISEG, XSEG directives select an absolute segment. This directives use the following formats:

BSEG

AT

address

defines an absolute BIT segment.

CSEG

AT

address

defines an absolute CODE segment.

DSEG

AT

address

defines an absolute DATA segment.

ISEG

AT

address

defines an absolute IDATA segment.

XSEG

AT

address

defines an absolute XDATA segment.

where

 

address

is an optional absolute base address at which the segment

 

begins. The address may not contain any forward

 

references and must be an expression that can be evaluated

 

to a valid address.

CSEG, DSEG, ISEG, BSEG and XSEG select an absolute segment within the

4

code, internal data, indirect internal data, bit, or external data address spaces. If

you choose to specify an absolute address (by including AT address), the

assembler terminates the last absolute segment, if any, of the specified segment type, and creates a new absolute segment starting at that address. If you do not specify an address, the last absolute segment of the specified type is continued. If no absolute segment of this type was selected and the absolute address is omitted, a new segment is created starting at location 0. You cannot use any forward references and the start address must be an absolute expression.

The AX51 and A251 Macro Assembler supports the BSEG, CSEG, DSEG, ISEG, and XSEG directives for A51 compatibility.

Shaded directives and options are available only in AX51 and A251.

112

Chapter 4. Assembler Directives

 

 

These directives are converted to standard segments as follows:

 

 

A51 Directive

Converted to AX51/A251 Segment Declaration

 

 

BSEG AT 20H.1

?BI?modulename?n SEGMENT OFFS 20H.1

 

 

CSEG AT 1234H

?CO?modulename?n SEGMENT OFFS 1234H

 

 

DSEG AT 40H

?DT?modulename?n SEGMENT OFFS 40H

 

 

ISEG AT 80H

?ID?modulename?n SEGMENT OFFS 80H

 

 

XSEG AT 5100H

?XD?modulename?n SEGMENT OFFS 5100H

 

 

where

 

 

 

 

 

 

modulname

is the name of the current assembler module

 

 

n

is a sequential number incremented for every absolute

 

 

 

segment.

 

 

 

 

 

Examples

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

BSEG AT 30h

; absolute bit segment @ 30h

 

DEC_FLAG:

DBIT

1

; absolute bit

 

INC_FLAG:

DBIT

1

 

 

 

 

 

CSEG AT 100h

; absolute code segment @ 100h

 

 

PARITY_TAB:

DB

00h

; parity for 00h

 

 

 

DB

01h

;

01h

 

 

 

DB

01h

;

02h

 

 

 

DB

00h

;

03h

 

 

.

 

 

 

 

 

 

.

 

 

 

 

 

 

.

 

 

 

 

 

 

 

DB

01h

;

FEh

 

 

 

DB

00h

;

FFh

 

 

 

DSEG AT 40h

; absolute data segment @ 40h

 

 

TMP_A:

DS

2

; absolute data word

 

 

TMP_B:

DS

4

 

 

 

 

 

ISEG AT 40h

; abs indirect data seg @ 40h

 

 

TMP_IA:

DS

2

 

 

 

 

TMP_IB:

DS

4

 

 

 

 

 

XSEG AT 1000h

; abs external data seg @ 1000h

 

 

OEMNAME:

DS

25

; abs external data

 

 

PRDNAME:

DS

25

 

 

 

 

VERSION:

DS

25

 

 

Shaded directives and options are available only in AX51 and A251.

Соседние файлы в папке HLP