Описание переменных-записей

Для описания такой переменной используют директиву следующего вида:

имя_переменной имя_типа <[список значений]>

D1 DATE <45,5,9>

Для работы с полями записей используются следующие средства языка ассемблера.

Оператор WIDTH

WIDTH имя поля записи

WIDTH имя записи или ее типа

WIDTH Y=7

WIDTH REC=6

Оператор MASK

MASK имя поля записи

MASK имя записи или ее типа

MASK REC =00111111b

MASK M =0000000111100000b

Данный оператор используется при выделении полей записей.

Пример:

Проверить содержит ли поле D записи D1 число 9

MOV AX, D1

AND AX, MASK D

CMP AX,9

JE YES

NO:

Пример:

Подсчитать количество студентов-отличников.

Описан структурный тип студент

STUD STRUC

FAM DB 20 DUP (?)

GR DW?

MARKS DB 5 DUP (?)

STUD ENDS

Объявление массива переменных типа структура

S STUD 100 (<>)

MOV DX, 0; число отличников

; внешний цикл (по студентам)

MOV CX, 100; общее число студентов

MOV BX, 0; начало информации об очередном студенте

M1: MOV AX, CX

; внутренний цикл (по оценкам)

MOV CX, 5; число оценок

MOV SI, 0; индекс оценки

M2: CMP (S[BX]).MARKS[SI],5; оценка=5?

JNE NEXT; нет - к следующему студенту

INC SI; к следующей оценке

LOOP M2

INC DX; учет отличника

NEXT: MOV CX, AX

ADD BX, TYPE STUD; на начало информации о следующем студенте

LOOP M1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: