Ассемблер, способы адресации
курсовые работы, Программирование Объем работы: Год сдачи: 2008 Стоимость: 300 руб. Просмотров: 947 | | |
Оглавление
Введение
Заказать работу
Тестировани скорости сегментной и страничной адресации.
; Compile:
; tasm /m main.asm
; tlink /x /3 main.obj
; будут использоваться привелегированные команды процессора 386
.386p
; 16-битный сегмент кода
; выполнение программы начинается в нем
RMSEG segment para public 'code' use16
assume CS:RMSEG, DS:PMSEG, SS:STACKSEG
; CS указывает на RMSEG
; DS указывает на RMSEG (в нем хранятся данные)
; SS указывает на STACKSEG - сегмент стека
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Выполнение программы начинается здесь
start:
push PMSEG ; в этом сегменте хранятся данные
pop DS ; поместим его в ds
; Расчитаем смещения сегментов для
; использования в защищенном режиме
; запишем их в глобальную таблицу сегментов
xor eax,eax ; обнулить eax
mov ax,RMSEG ; поместить в ax смещение сегмента RMSEG
shl eax,4 ; сдвинуть влево на 4 бита
mov word ptr GDT_CS16+2,ax ; записать биты 0..15 адреса
shr eax,16 ; сдвинуть вправо на 16 бит
mov byte ptr GDT_CS16+4,al ; записать биты 16..23 адреса
mov ax,PMSEG ; моместить в ax смещение сегмента RMSEG
shl eax,4 ; сдвинуть влево на 4 бита
mov word ptr GDT_CS32+2,ax ; записать биты 0..15 адреса
mov word ptr GDT_DS32+2,ax ; записать биты 0..15 адреса
mov word ptr GDT_SS32+2,ax ; записать биты 0..15 адреса
shr eax,16 ; сдвинуть вправо на 16 бит
mov byte ptr GDT_CS32+4,al ; записать биты 16..23 адреса
mov byte ptr GDT_DS32+4,al ; записать биты 16..23 адреса
mov byte ptr GDT_SS32+4,al ; записать биты 16..23 адреса
После офорления заказа Вам будут доступны содержание, введение, список литературы*
*- если автор дал согласие и выложил это описание.