Программирование на Ассемблере

       

Пример использования битовой структуры


Дата создания файла задается в виде:

день :                   5 битов;

месяц :        4 бита;

год:             7 битов.

Год задает разность между текущим годом и 1970[13]

годом.

Значения для текущей даты упаковать в структуру и

проверить правильность упаковки.

ideal

p486

model  flat

extrn    ExitProcess:proc

dataseg

record data1 y:7, m:4, d:5

d1 data1          <>

day      db        1

month  db        11

year     dw       2000

codeseg

begin:

movzx ax, [day]

movzx bx, [month]

mov     cl, m

shl        bx, cl

or         ax, bx

mov     bx, [year]

sub       bx, 1970

mov     cl, y

shl        bx, cl

or         ax, bx

mov     [d1], ax           

mov     ax, [d1]

mov     bx, mask d

and      bx, ax

mov     [day], bl

mov     bx, mask m

and      bx, ax

mov     cl, m

shr       bx, cl

mov     [month], bl

mov     bx, mask y

and      bx, ax

mov     cl, y

shr       bx, cl

add      bx, 1970

mov     [year], bx

call       ExitProcess

end begin

Использование битовых структур позволяет сделать программу более мобильной. При изменении размера полей достаточно изменить только определение структуры, все остальные команды изменять не надо.



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий