Для студентов МГУ им. Ломоносова по предмету Практика расчётов на ПЭВМВарианты экзамена II semesterВарианты экзамена II semester 2019-04-28СтудИзба

Ответы: Варианты экзамена II semester

Описание

Описание файла отсутствует

Характеристики ответов (шпаргалок)

Учебное заведение
Семестр
Просмотров
133
Скачиваний
12
Размер
8,61 Mb

Список файлов

Экзамен 2002 Вариант 1

1. Дать определения понятий:

а) Абсолютный адрес

б) Неявный операнд

в) Близкий переход

2. В ЭВМ типа УМ-2 используется расслоение памяти на 16 банков, причём ячейка с

номером A попадает в банк с номером (A mod 16). Также используется конвейер из 6

этапов: 1) Чтение команды 2)Дешифровка команды 3) Чтение первого операнда

4) Чтение второго операнда 5) Выполнение команды 6) Запись результата (на место

первого операнда). Считая, что каждый этап работы конвейера занимает 1 единицу

времени и в первоначальный момент времени крнвейер пуст, вяснить, сколько времени

займёт выполнение следующих команд (слева - адреса команд, 01 - код сложения, все

числа - шеснадцатиричные):

0000: 01 5411 8073

0001: 01 0148 5411

0002: 01 6691 8073

3. Определить значения флагов SF, CF, OF после выполнения следующих команд:

mov AL, -56

add AL, 160

4. T db 256 dup (?)

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

соответственно, не привышает 255 символов). Выпишите комады (не более 6), которые

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

символа букву 'Т' (можно использовать любые регистры).

5. Пусть под сегмент стека в программе отведено 501h байт. Выписать команды (не

более 11), которые решают следующую задачу: скопировать всё текущее содержимое стека

(непустого) в область памяти, начинающуюся с адреса 31A80h (считать что эта область

не пересекается ни с сегментом стека, ни с сегментом команд; можно использовать любые

регистры, но нельзя менять SP).

mov cx,501h

mov ax,31a8h

mov es,ax

mov di,0

mov si,0

push ss

pop ds

rep movsb

push ds

pop ss

6. Выписать макрос JDIF LN, M (здесь LN - это <l1,l2,...,ln> - последовательность

чисел, заданных непосредственно; n>0; M - метка), который осуществляет переход на

метку M, если AX отлично от всех отрицательных чисел последовательности или если

отрицательных чисел в этой последовательности нет (никакие регистры, кроме AX,

использовать нельзя).

JDIF macro LN,M

local a

irp p,<LN>

if p lt 0

cmp ax,p

je a

endif

jmp M

endm

a:

endm

7. Вычеркните команды, записанные с ошибкой:

div 5

lea BX, [BX]

mov ES, DS

;this one I forgot

add 800[SI], 15

sub 15[SI], 800

test 11b, CL

8. В программе на Турбо Паскале процедура ... {$F+} procedure P(var С:char); external; ...

описана как внешняя. Написать на ассемблерный модуль, в котором была бы описана

процедура P, заменяющая символ С на символ chr((ord(С)+1)mod 256) (замечание: в

языке Турбо Паскаль ссылки процедуре всегда передаются в виде seg:offs, причём seg

записывается в стек первым).

9. Ответьте на следующие вопросы: а) Что такое внешние имена и чем они отличаются от

других имён модуля? б) Как ассемблер узнаёт, что какое-то имя является внешним?

10. Пусть даны следующий загрузочный модуль и его загаловок (слева указаны

относительные адреса команд; все числа - шеснадцатиричные):

(0) XX XX XX XX

(4) B8 00 00 8E

(8) XX XX XX XX

(A) XX XX XX XX

Длина программы 17

Точка входа 0:3

Начало и длина сегмента стека: 10 и 7

Таблица перемещаемых адресов:

сегментадрес вхождения

10 0:5

Пусть загрузчик выделил для программы область памяти, начинающуюся с адреса 27000h.

Указать, какие изменения загрузчик внесёт в программу и какие значения он присвоит

регистрам SS, SP, CS и IP.

Экзамен 2002 Вариант 1.Решение

Вариант: 1

Решил: Воронин Павел {a.k.a Pablito}

Группа: 110

Проверяющие: Кацкова О.Н и Пильщиков В.Н.

Оценка: 5

{баллов 54, но все найденные проверяющими ошибки исправлены}

1.

а) Абсолютный адрес - номер ячейки, ощитанный от начала оперативной памяти.

{звучит тупо, но это определение зачли как правильное :))}

б) Неявный операнд - операнд, местоположение которого заранее известно и потому в команде явным образом не указывается.

в) Близкий переход - переход внутри одного сегмента.

2.

Команды выполнятся за 11 единиц времени.

3.

SF=0, CF=1, OF=1

4.

lea BX, T

mov CL, [BX]

xor CH, CH

jcxz L

mov SI, CX

mov byte ptr [BX][SI], 'T'

L:

5.

mov AX, 31A8h

mov ES, AX

mov BP, SP

xor SI,SI

mov CX, 501h

sub CX, SP

L:

mov AH, [BP][SI]

mov ES:[SI], AH

inc SI

loop L

6.

JDIF macro LN, M

local L

irp P, <LN>

if P lt 0

cmp AX, P

je L

endif

endm

jmp M

L:

endm

{если задача была решена без использования условного ассемблирования - например, с помощью cmp и команд перехода - то за задачу ставили 0 баллов}

7.

неправильные команды:

div 5 {нельзя делить на непосредственный операнд}

mov ES, DS {если 1-ый операнд - сегментный регистр, то 2-ой - только r16 илиm16}

add 800[SI], 15 {неясен размер операндов, нужно использовать ptr}

test 11b, CL {1-ый операнд не может быть непосредственным}

правильные команды:

lea bx, [bx] {1-ый операнд - r16, 2-ой - адресное выражение, так что всё OK, правда смыслу, как в NOP :))}

sub 15[SI], 800 {800 может быть только солвом, поэтому ptr здесь не нужно}

8.

public P {процедура должна быть объявлена как общая}

CODE segment {название сегмента команд - только CODE или CSEG}

assume CS:CODE {в принципе, раз нет меток, то можно и без этого, но лучше написать - к этому придирались}

P proc far {процедура должна быть объявлена как дальняя}

push BP; сохраняем значение BP

mov BP, SP; устанавливаем BP на вершину стека

push DS; сохраняем значение DS

mov BX, [BP+6]; BX:=offs

mov AX, [BP+8]; AX:=seg

mov DS, AX; устанавливаем DS на начало сегмента, в котором расположена переменная

inc byte ptr [BX]; A:=chr((ord(A)+1)mod 256) {прикольно, но на асме смотрится проще, чем на паскакале}

pop DS; восстанавливаем значение DS

pop BP; восстанавливаем значение BP

{вызываемая из паскакаля процедура может гадить любые регистры, кроме DS, SS, SP и BP, так что на AX и BX мы можем положить, что я и сделал}

ret 4; возвращаемся и очищаем стек

P endp

CODE ends

end

{народ, не забудьте 2 последние строчки, на этом много кто порезался}

9.

а) Внешние имена - имена, описанные вне данного модуля (в других модулях). В отличие от других имён, их адреса (сегменты и смещения) ассемблер определить не может и потому записывает нули на места их вхождения и заносит их в таблицу вхождения внешних имён, которую выносит в заголовок объектного модуля.

б) Каждое внешнее имя, используемое в модуле, должно быть указано в директивах вида: extrn <имя>:<тип>{,<имя>:<тип>}.

10.

Изменится 4-я строчка, она станет такой: (4) B8 27 01 8E.

SS=2701h

SP=0007h

CS=2700h

IP=0003h

Экзамен 2002 Вариант 2

1. Дать определения понятий:

а) Машинное слово

б) Непосредственный операнд

в) Дальний переход

2. В ЭВМ типа УМ-3 используется расслоение памяти на 16 банков, причём ячейка с номером A попадает в банк с номером (A mod 16). Также используется конвейер из 6 этапов: 1) Чтение команды 2)Дешифровка команды 3) Чтение первого операнда 4) Чтение второго операнда 5) Выполнение команды 6) Запись результата. Считая, что каждый этап работы конвейера занимает 2 единицы времени и в первоначальный момент времени крнвейер пуст, вяснить, сколько времени займёт выполнение следующих команд (слева - адреса команд, 02 - код сложения, все числа - шеснадцатиричные):

0000: 02 4052 3932 4055

0001: 02 4052 3933 4056

0002: 02 4052 3934 4057

3. Определить значения флагов SF, CF, OF после выполнения следующих команд:

mov BH, 150

sub BH, -56

4. S db 256 dup (?)

Пусть T - непустая символьная строка переменной длины (длина указана в первом байте и, соответственно, не привышает 255 символов). Выпишите комады (не более 6), которые удаляют последний символ строки, если это буква 'S' (можно использовать любые регистры).

5. Пусть под сегмент стека в программе отведено 1001h байт. Выписать команды (не более 11), которые решают следующую задачу: скопировать всё текущее содержимое стека (непустого) в сегмент A того же размера (считать что эта область не пересекается ни с сегментом стека, ни с сегментом команд; можно использовать любые регистры, но нельзя менять SP).

mov ax,a

mov es,ax

mov si,0

mov cx,1001h

sub cx,sp

mov di,sp

push ss

pop ds

rep movsb

6. Выписать макрос JDIF LV, M (здесь LN - это <v1,v2,...,vn> - последовательность переменных; n>0; M - метка), который осуществляет переход на метку M, если AL отлично от всех байтовых переменных последовательности или если таковые в этой последовательности отсутствуют (никакие регистры, кроме AL, использовать нельзя).

JDIF macro LV,M

irp p,<LV>

if (type p) eq BYTE

cmp al,p

je a

endif

endm

jmp M

endm

a:

endm

7. Вычеркните команды, записанные с ошибкой:

???

8. В программе на Турбо Паскале процедура ... {$F+} procedure Q(var B:byte); external; ...

описана как внешняя. Написать ассемблерный модуль, в котором была бы описана процедура Q, которая присваивает B значение (B*103)mod 256 (замечание: в языке Турбо Паскаль ссылки процедуре всегда передаются в виде seg:offs, причём seg записывается в стек первым).

9. Ответьте на следующие вопросы: а) Что такое общие имена и чем они отличаются от других имён модуля? б) Как ассемблер узнаёт, что какое-то имя является общим?

10. Пусть даны следующий загрузочный модуль и его загаловок (слева указаны относительные адреса команд; все числа - шеснадцатиричные):

(0) XX XX XX XX

(4) XX XX XX XX

(8) XX XX XX XX

(A) XX XX XX XX

(10) B8 00 00 00

Длина программы 18

Точка входа 10:0

Начало и длина сегмента стека: 0 и 9

Таблица перемещаемых адресов:

сегментадрес вхождения

0 10:1

Пусть загрузчик выделил для программы область памяти, начинающуюся с адреса 44000h. Указать, какие изменения загрузчик внесёт в программу и какие значения он присвоит регистрам SS, SP, CS и IP.

Экзамен 2002 Вариант 2.Решение

Вариант: 2

Решил: Тараненко Олег {a.k.a Exidler}

Группа: 112

Проверяющие: Бордаченко и Матвеева

Оценка: 5

{баллов 48, но все найденные проверяющими ошибки исправлены}

1.

а) Машинное слово - содержимое ячейки

б) Непосредственный операнд - операнд, значение которого указывается в команде.

в) Дальний переход - межсегментный переход.

2.

Команды выполнятся за 22 единицы времени.

3.

SF=1, CF=1, OF=0

4.

mov BL, S

xor bh, bh

mov al, S[BX]

cmp AL, 'S'

jne @fin

dec S

@fin:

5.

mov bp, sp

mov ax, a

mov es, ax

xor bx, bx

@loop:

mov al,[bx]

mov es:[bx], al

inc bx

inc bp

cmp bp, 1001h

jae @done

jmp @loop

@done:

6.

JDIF macro LV,M

local @exitm

irp P, <LV>

if (type P) eq BYTE

cmp AL,P

je @exitm

endif

endm

jmp M

@exitm:

endm

7.

????

8.

public Q

CODE segment

assume CS:CODE

Q proc far

push BP

mov BP ,SP

push DS

mov BX, [BP+8]

mov DS, BX

mov BX, [BP+6]

mov AL, [BX]

mov CL, 103

mul CL

mov [BX], AL

pop DS

pop BP

ret 4

Q endp

code ends

end

9.

а) Общие имена - такие имена, к которым можно обращаться из других модулей. В отличие от других имён, они не локализуются.Кроме того, они заносятся в таблицу общих имён и фигурируют в заголовке объектного модуля.

б) Каждое общее имя, используемое в модуле, должно быть указано в директивах вида: public <имя>{,<имя>}.

10.

Изменится 10h-я строчка, она станет такой: (10) B8 00 44 00.

SS=4400h

SP=0009h

CS=4401h

IP=0000h

Вариант 2003

Распознанный текст из изображения:

Н р р) Е И.О.

У««затъ, «*кос «кассовое все«та«нос свело прсютав«эст байт 99И «дранок «одл н га«ос - в «оиолвктсаь«о«

гв

7 Опмтюс на еисдуюшие аопресм: в) Ета такое расслоение шнративмой памкпр б) В чем выпзда от р оса мшя памятиу «) Всрмо «и, по при раепюс«ии намыв «озмовси оюю«рсмваньй дшт)п к юобым лву«(раз«ичным) ачслкаи паизпб

3 Вьдшсзть коые«юл 0(лййаЮЮ, кс'горы«

кызыла«сап «оя буяны О в байт «смюа с

«бсомопшк а«рогом !АВСРЬ. (Момва

и г, зьзоюпь любыс рсгиакзьс.)

4 и ушъ рстисср 175 )юяыимт из кача«о есзысита Р (см. с«саэ), Опрслсыпь значение рыметра АН поею

ыполнсння кома«к уквзвнвьп птрию.

Р БЕОМЕНТ АББПМЕ Р5:Р

ХРВ(,2,3 ЕЕАВХЧ

Т РВ 4,5«К7,8 1.ЕА Р1,Х

Р Н4РБ МОЧ АН,Э(В)П-ЭЕН!

От«Юг АН=

5 Изв оп!о, по в ПК команды условного псрсюда

реализуют талька короткие псрсвюм. Опиппь

«рос

)Н.ОНС М (М ° нотка),

кагор ш ршлизуст действие «аманлы )Е в шсучю

ллинног исрсвша.

6. Пред«оззпе длз ПК такое лрсдсгзввсюм югичсския значений пос и (аис в вид б вт, лрн которо и амды

НОТ, АНР м Ой прап!лспо усамябют юючсскмс ошсрндю стрип«мы, ювъкаадвш и юпьюышии

оотвст ливио и к торос .тяичаетев етщ сдшаавсюш (е!ш' и (ЮЬ. п«с = бррй (Оюй эмбер об к«о«ать.)

7 В ши атък «рорасшиссннеиля сююкомвнвмММ25прнеюкюш мопр десеикнмжро ММ.

ММ МАСРО КЗ. О2ДЮ) ММ 2.5 ==ь

!Р Кс-! НЕ 1.

Аясъ РВ ") ЛС"

ЕНТНР

(РР!Р К.г .еО

ВАК Рю К РРР(КЙК!

ЕНР!Р

ЕНРМ

8 В прагра» с нс «зыке Турбо П саюь и» отса следуюшю опюэюс (бямзкой) лропедурм Н:

сУ(М ШС= О.. 400; Оувю: «ко

ъ= палов) с(шт;

рпссшпс Н( аг «юг ппц.

ъср е[фю юб;

Эзк юпь в ятом описав«и' опер тор мои«у ь«рв и юл

* и бюрную втек«у (ма перетер а), сэсриашую не 6 ЛМ 5 Л мшд «~Юбяяра 0

0. Вью«есть т бяюы якп тТИ), копрую после первого про ода еошэвит сгембл р при трансляпии с«с«умы го

алую;

РОБЕ!С )..Н Дурю:

С 5ЕО МЕНТ

А55ОМЕ С5.С 7

АРВЕ

1 МОЧ АХ.А

КЕТ

Н ЕОО 7

С ЕНРБ

ЕНО

!О Олнаюфуюошйкомпонеашик» -рсдзктнр взю м м лул ю и юл Оп п,ън ширмы а)В ме ы е

т в 07«аляму б) Почему ю «с мо«етаыпсвюпь апсмбдЮ7

и

е

Экзамен 2003 вариант 1

Распознанный текст из изображения:

Фамилия И.О.

Грриия

1. Написать десятичное число, которое выведется после выполнения фрагмента программы:

точ сх,-254 1

жоч аж, сх Огвет =

$впзХ аЬ 1

вЫ ах, еХ !

оиФ4аФ асс !

2. Написать справа от вопроса фрагмент программы

на Ассемблере (не более 8 команд), который выводит ~по ояййлФ) остаток от деления целого беззнакового числа размером в слово, расположенного по физическому адресу 123456, на число 19 (адрес дан в десятичной форме записи)

3. Записать справа от вопроса фрагмент программы

~не более 7 команд) для одноадреской учебной

машины, реализующий оператор присваивания

У: 2~Х/~У при следующем распределении памяти: ~

Х вЂ” 0100, У вЂ” 0101, Использовать мнемонические

коды операций: ЧТ вЂ” чгение из памяти на

сумматор, ЗП вЂ” запись из сумматора в память,

СЛ вЂ” сложение, УМН вЂ” умножение, ДБЛ вЂ” деление.

5. Пусть описан массив Х[0..99] знаковых целых чисел

Х с1Ь 100 с1пр (?)

и пусть в регистре Ьх находится число 1 от 0 до 99.

Записагь справа от вопроса минимальное число команд,

реализующее присваивание ах: = 1.*Х [~ ~ 1

б. На каком этапе обработки программы на Ассемблере в поле с именем Ра~ а команды

БТаг1: шоч ах, Ра~а

будет занесено числовое значение адреса начала сегмента Ра~а, деленное на 16. Привести обоснованный ответ на обороте.

7. Из указанных ниже команд на Ассемблере вычеркнуть те, которые записаны с ошибкой (при

описании переменной У бы 7):

аЬ1 101Ь,с1 шоч ах,У-З асЫ 40[Ьх],30 таоч Ъхр [зр+б~ сшр схр 'Ф' [Ьх1

8. Написать макроопределение с заголовком.

Мах3.лиза васго Х,Х

Это макроопределение должно присваивать параметру Х наибольшую из знаковых величин Х и У. Параметры Х и У должны быть только. переменными одинакового размера в байт или слово. Макроопределение обязательно должно проверять безличие и допустимость своих параметров, выдавая необходимые диагностики об ошибках. (Огвет на обороте).

4. Перечислить достоинства и недостатки независимой трансляции модулей на Ассемблере, Огвет

привести на обороте и обосновать.

Экзамен 2004 Вариант 1

Распознанный текст из изображения:

Фамилия И.О.

'" 1. Написать для учебной машины УМ-3 программу, которая вводит массив из 300 вещественных чисел и выводит

умму тех из этих чисел, которые больше предлоследнеео числа во введенном массиве. В программе длиной не более 14

трок необходимо использовать мнемонические обозначения кодов операций. (Ответ на обороте,)

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

выполняются следующие 6 этапов; 1) чтение команды, 2) дешифровка кода операции, 3) вычисление исполнительных

адресов, 4) чтение операндов, 5) выполнение операции, 6) запись результата. Считая, что иа каждый иэ этих этапов

тратится 1 единица времени, и что вначале конвейер был свободен, определить, сколько времени будет затрачено на

выполнение следующего фрагмента программы: виЬ ах,Х[в1] Ответ (число единиц времени) = адй Ьх,ах 1 хог Х[Й],Ьх

3. Дать определение мультипрограммного режима работы ЭВМ, перечислить все аппаратные средства ЭВМ,

необходимые для работы в мультипрограммном режиме. «Ответ на обороте.)

-] 4. А 0В?;беззиака

В 0% ?; соэнаком ~ ~с„х ~~,'~

Рассматрилая значение А как число без знака, а значение ~

В как киоко со скоком, пописать справа от вопроса ~ П к ' ~~ ~ ~.ц'

оманды «не более 8)„реализующие присваивание

В:= (В+А) йч 400. Считать, что при сложении ~йлЮ~

Р".' 'Р' 'т'Р ~н

переполнения не будет. Ю~

1„и.;' «, «-"

!

1

к к, в гт

Кт вт

4 6. Описать близкую функцию с именем Ча1ое, которая получает в качестве параметра адрес начала некоторого гмента памяти, лелеянный на 16. Функция выдает в качестве результата знаковое целое число, равное удвоенному начению байта с адресом 633 в этом сегменте. Функция должна выполнять стандартные соглашения о связях. (Ответ на обороте,)

4 7. Описать макроопределение с заголовком Л)1Р шасго 1.Ь1, М «где 1.Ь! — параметр-список <Х1, И2, ..., Ир явно

заданных знаковых чисел, а М вЂ” метка). Макроопределение делает переход на метку М, если значение регистра АХ

отлично от всех отпицательных чисел иэ параметра-списока 1.Х или если в 1ЛЧ нет отрицательных чисел.

Макроопределение не проверяет наличие и правильность типов своих параметров, не сохраняет используемые регистры,

(Ответ на я!бороте,)

~ох оТЖ-"Ф~

8. Пусть описана переменная Х ЭВ ?

Из указанных ниже команд вычеркнуть те, что записаны с ошибкой;

М1Л. АХ,ВХ 1.БА СХ,[31] ЗНЕ [131],1 А00 В1.,[ВЦ ЯЗВ Х,[ВХ] МОЧ МОИМ РТВ. Х,О

+ +,

9. Выписать вид внутреннего машинного представления байтов с адресами Х и Х+1 в двоичном нли

шестнадцатеричном виде;

Х йв — 2046

Вид байта с адресом Х

Вид байта с адресом Х+1 =

10, На каком этапе компиляции ассемблерной программы выявляется ошибка "неописанное имя"? Ответ и его

обоснование привести ниже на этой стороне листа.

5. Х ЭФ? Содержимое Х трактуется как дата в упакованном виде: левые 5 битов — число (1,.31), следующие 4 бита — номер месяца (1 ..12) и правые 7 битов — две последние цифры года «0..99). Выписать справа от вопроса команды «ие.более 6) для перехода на метку В13ММЕЕ, если в Х хранится летняя дата, Значение Х не менять.

1 1~.с-о'~ к /Н~

й.и.~~ У Л,

, ~ф~',~.„~~,

~~ $

Б Я.Х

~ ~ф~ЯРР С ~:~'иЛ -г

'р ° ~,'

Экзамен 2004 Вариант 2

Распознанный текст из изображения:

Н р р) Е И.О.

У««затъ, «*кос «кассовое все«та«нос свело прсютав«эст байт 99И «дранок «одл н га«ос - в «оиолвктсаь«о«

гв

7 Опмтюс на еисдуюшие аопресм: в) Ета такое расслоение шнративмой памкпр б) В чем выпзда от р оса мшя памятиу «) Всрмо «и, по при раепюс«ии намыв «озмовси оюю«рсмваньй дшт)п к юобым лву«(раз«ичным) ачслкаи паизпб

3 Вьдшсзть коые«юл 0(лййаЮЮ, кс'горы«

кызыла«сап «оя буяны О в байт «смюа с

«бсомопшк а«рогом !АВСРЬ. (Момва

и г, зьзоюпь любыс рсгиакзьс.)

4 и ушъ рстисср 175 )юяыимт из кача«о есзысита Р (см. с«саэ), Опрслсыпь значение рыметра АН поею

ыполнсння кома«к уквзвнвьп птрию.

Р БЕОМЕНТ АББПМЕ Р5:Р

ХРВ(,2,3 ЕЕАВХЧ

Т РВ 4,5«К7,8 1.ЕА Р1,Х

Р Н4РБ МОЧ АН,Э(В)П-ЭЕН!

От«Юг АН=

5 Изв оп!о, по в ПК команды условного псрсюда

реализуют талька короткие псрсвюм. Опиппь

«рос

)Н.ОНС М (М ° нотка),

кагор ш ршлизуст действие «аманлы )Е в шсучю

ллинног исрсвша.

6. Пред«оззпе длз ПК такое лрсдсгзввсюм югичсския значений пос и (аис в вид б вт, лрн которо и амды

НОТ, АНР м Ой прап!лспо усамябют юючсскмс ошсрндю стрип«мы, ювъкаадвш и юпьюышии

оотвст ливио и к торос .тяичаетев етщ сдшаавсюш (е!ш' и (ЮЬ. п«с = бррй (Оюй эмбер об к«о«ать.)

7 В ши атък «рорасшиссннеиля сююкомвнвмММ25прнеюкюш мопр десеикнмжро ММ.

ММ МАСРО КЗ. О2ДЮ) ММ 2.5 ==ь

!Р Кс-! НЕ 1.

Аясъ РВ ") ЛС"

ЕНТНР

(РР!Р К.г .еО

ВАК Рю К РРР(КЙК!

ЕНР!Р

ЕНРМ

8 В прагра» с нс «зыке Турбо П саюь и» отса следуюшю опюэюс (бямзкой) лропедурм Н:

сУ(М ШС= О.. 400; Оувю: «ко

ъ= палов) с(шт;

рпссшпс Н( аг «юг ппц.

ъср е[фю юб;

Эзк юпь в ятом описав«и' опер тор мои«у ь«рв и юл

* и бюрную втек«у (ма перетер а), сэсриашую не 6 ЛМ 5 Л мшд «~Юбяяра 0

0. Вью«есть т бяюы якп тТИ), копрую после первого про ода еошэвит сгембл р при трансляпии с«с«умы го

алую;

РОБЕ!С )..Н Дурю:

С 5ЕО МЕНТ

А55ОМЕ С5.С 7

АРВЕ

1 МОЧ АХ.А

КЕТ

Н ЕОО 7

С ЕНРБ

ЕНО

!О Олнаюфуюошйкомпонеашик» -рсдзктнр взю м м лул ю и юл Оп п,ън ширмы а)В ме ы е

т в 07«аляму б) Почему ю «с мо«етаыпсвюпь апсмбдЮ7

и

е

Экзамен 2004 Вариант 3

Распознанный текст из изображения:

Вар«и1нт 1. (04.06.2004)

Группа

сначала вводит массив нз 300 целых чисел, зетом вьао-

1, Написать для учебной мвщнны УМ*3-ирог1имму, »оторва сначала в д

и (это пс вый, е; нй и т,д, элемент массива). П програмдиг сумму всех зиемеитов этОЖ масанов с нечетными индексами (3' р, тр '... ~ ' мыс длиной на более 13 строк необходимо использовать мнемонические обозначения кодов операций, ( вст ив о орете .

3. Дать определение мультипрограммпого режима работы ЭВМ (ответ приве '

' ВЧ ( тает и ивестн ниже иа этой же стороне листа),

3, Для учебной трахадрвсиой ЭВМ УМ-3 дать определение следукзщнх понятий. (Ответ иа оборота),

а) Адрес ячейки, б) Мап«инное слово, в), Код операции.

4. Пусть ссгмснтныо регистры имеет такие значения: ~ Ответ:

С$-.1бббИ; 0$2555Ь; Б3=3444И, Б$4333И, Выписать не более т~4х

предложений Ассемблера„которые пересылаот содераамое байта памяти

с абсолютным адресом 344ЗАЬ в байт памяти с абсамтиым адрасом 355506 ~

$. Пусть Ч - номер группы, в которой Вы сейчас ~ вой аж« -3070

учитесь (1О 1,102 и т.д.). Для привадбнного справа ВФ1«скат ах

фрагмсита грограммы на Ассемблере определить, что эжк ах, с3.

булст»ывсдсио по макрокоманде отга1пФ.. ое ех,н

злвиХ п1~

Ответ. ! о1»тхйьс и и

б. Описать блнзку1о процедуру с именем Сйавс, которая ш«дучает» качестве параметра адрес исрсмсниой размером в слово из сегмента даипых. Процедура присваивает этой псрсмсииоа значение частно~ о ит дслсиия ща1«свого числа, щь ходягдегоса в двиной исрсмс«н1ой, па число 13, Процедура «)ояж««а выполнять стаидартныс соглашения о связях. (Ответ иа обороте).

7. Привести мвкроопредслсинс с именем ау~ ее, обра1аепие к которому имеет вил, показанный ниже слева (здесь и иарамстрс.списке: М.1 „х, — има, х; - знак вопроса 7 или "еисло, мои«ду к; и т; стоит щобщ), Это махроопраделение должно формировать мвкрорасигирепиа, показанное нимс справв. Макраопряделеййе ««е «)Олжт«о проверять ивличие и правильностьь типов своих параме гров, (Ответ иа оборотс),

к1 с1Ь ъ1

Зуав <н1 ч1, ,хх '««~«> +

$. Пусть описана исрсченная Х 0% 1

И:«указанных ниже ко«««ынд вычеркнуть зс, что записаны с ошибкой:

МЖ АЦ,А1. МОУ АХ,~ВХ,ЬЦ ЗН1. ~ЭХ1,1 АР0 АХ,'Х' АОС Х,1ВХ] МОУ В 'Е РТВ. Х 0

С«Имй4

>

9. Указать значенн» рсгистрв А1. (в виде знакового десятичного числа), н флагов СГ., Ю н ЯР, которые они будуг

иметь после выполнения слалуницнх двух команд:

«»сю Ю„-56; Ответ: АЬ=

а«Ы А1., 3 50

1о О

О. Опрсделнть, что такое статическая и дииамнческая св»зь по данным между модулями иа Ассемблере,

Ответ:

Экзамен 2004 вариант 2

4/06/2004

Экзамен по праку

Написал Бригида Иван (alf)

А С С Е М Б Л Е Р

В а р и а н т 2

1) Написать для УМ-3 программу, которая сначала вводит массив из 400 вещественных чисел, затем выводит сумму всех элементов этого массива с четными индексами (2, 4, ...). В программе длиной не более 13 строк необходимо использовать мнемонические обозначения кодов операций.

2) Дать определение, что такое аппарат привелегированных комманд.

3) Для учебной 3-х адресной ЭВМ УМ-3 дать определение следующих понятий:

а) регистр б) регистр(счетчик) адреса в) регистр команды

4) CS=1666h ; DS=2555h ; SS=3444h ; ES=4333h ; Выписать не более 3-х предложений Ассемблера, которые пересылают содержимое байта памяти с абс. адресом 25540h в байт памяти с абсолютным адресом 2666Bh

5) Пусть N-номер группы, в которой Вы сейчас учитесь (101, 102, и т.д.). Для приведенного фрагмента программы на Ассемблере определить, что будет выведено по команде outint:

mov ax,-4094

mov cx,ax

sar ax,cl

or ax,N

imul ah

outint ax

6) Описать близкую процедуру с именем Ost, которая получает в качестве параметра адрес переменной размером в слово из сегмента даных. Процедура присваивает этой переменной значение остатка от деления БЕЗЗНАКОВОГО числа, находящегося в данной переменной на 11. Процедура должна выполнять стандартные соглашения о связях.

7) Привести макроопределение с именем MovRG (k>=1, Ri-регистр общ назначения, Ni-число, между Ri и Ni стоит ПРОБЕЛ). Это макроопределение должно формировать макрорасширение команды показанной ниже. Макроопределение не должно проверять наличие и правильность типов своих параметров.

MovRG <R1 N1,...,Rk...Nk>

||

\/

mov R1,N1

....

mov Rk,Nk

8) x db ?

Вычеркнуть с ошибкой:

LEA DI,X[BP+2]

SHL X, BYTE PTR CX

MOV BX,[SP]

DIV [BX]

ADD BX,'B'

OR X, WORD PTR DH

9)Указать значение BH (в виде знакового десятичного числа) и флагов CF, OF, SF, после выполнения следующих двух команд:

mov BH,150

sub BH,-56

Ответ: BH=

CF=

OF=

SF=

10) Определить, что такое статическая и динамическая связь по управлению между модулями на Ассемблере.

1_2005 ответы 1

Распознанный текст из изображения:

ОТВЕТЫ. Вариант 1

1. УМ-С. Обратная польская запись: а Ь с ч +. Возможные решения:

00 0102 ОО 0104 00 '0!Об ОЗ 01 10 0100

2. Ответ:

1. По внешнему виду в памяти команды и данные не различаются.

2. Ко~да содержимое ячейки поступает в регистр команд (РК), оно трактуется как команда, а когда содержимое ячейки поступает на регистры операндов (в АЛУ), оно трактуется как дашюе.

х

х!

4. Ответ: А!.. =. ! 15, СГ = 1, ОР = 1, ЯГ = 0

жохг АХ,4000Ь

жоч РЯ,АХ

жоч РВ:[ОВСАРЬ),ОВСАРЬ! иокхг рак можно не писать

точ иокб рек РБ:[ОВСАРЬ+21,4

б. АРРЗ ркоо

ривЬ

шохг

ривЬ

ривЬ

бак

Ьр

Ьр,ар

с[в

Ьх

в стек а

натек Ь

в стек с

Ь*с

а+(Ь*су

из стека тек

ОО 0104 00 О!Об 03 00 0102 01 10 0100

в стек Ь

встек с

Ьхе

в стек а

Ь+(Ь 'с)

из стека гея

1_2005 ответы 2

Распознанный текст из изображения:

меч с[н,[Ьр+8]

шоч Ьх,[Ьртб]

ас[с) могг1 рсг [Ьх]об

ас[с мсгсз ркг [Ьх+2[,0

рор 'Ьх

рор Ьн

рор' Ьр

ген 4

ХООЗ есс[р

Оооооооте васко Х

1оса1 Н Ос[С

сева Ъуае рег Х, 1

бв Н Ос]о

1Г Тура Х ЕЯ стчогст

вик арг Х1

гс1 нексии раг Ха2,1

е1ве

ви1 Х,1

есскя

Н Ос[и:

есне

8. Ошибочные команлы подчеркнуты:

мш [нх] мю лх, [Вх,зт] аьсв х хоР, х, 'х' вос х,зР меч оиои> Рта х, с

9. Ответ:

[. Преимущество — могут выполшпъся большие программы, целиком не умещающиеся в оперативную память, по по мере вызова подгружая процедуры [на рабочее поле[.

2. Недостаток — увеличивается время выполнения программы

а) за счет работы слузкебных процедур динамического загрузчика

б) из-за выгрузки/загрузки процедур на рабочем поле [смена процедур, трешннг, свопинг).

10. Фрагмент се1 мента кода;

еоч ах, вен Х

мог Са,ах

тот ах, Х

снсз

еоч Ьх,13

ксз1ч Ьх

еоч Х, ах

2_2005

1. Написать программу на стековой УМ, реализующей присваивание res:=x*(y+z) не более, чем за 6 команд.

Коды команд:

ВСТЕК 00

ИЗСТЕКА 10

СЛОЖЕНИЕ 01

УМНОЖЕНИЕ 03

Адреса переменных: res=0200, x=0202, y=0204, z=0206.

2. Как ЭВМ отличает знаковое число от беззнакового?

3. Конвейер. Операции: 1) чтение команды

2) дешифровка

3) вычисление исполнительных адресов

4) чтение операндов

5) Выполнение команды

6) Запись рез-та

Каждый шаг - за 2 ед. времени. Посчитать время выполнения след. команд, если изначально конв. пуст.

SUB Y, 3

ADD Y, AX

AND X[SI], AX

4. MOV ax, 140

SUB ax, -50

Вычислить:

DH=

CF=

OF=

SF=

5. Загрузить в двойное слово с абсолютным адресом 3ABFCh значение 3ABFCh не более, чем за 5 команд.

6. Описать дальнюю процедуру one, удовлетворяющую всем стандартным соглашениям о связях, которая присваивает значение 1

далbней переменной типа dword, адрес которой передается ей в виде seg:ofs (далеко от текста, зато понятно условие).

7. Написать макроопределение EvenDiv MACRO X, где X - WORD либо DWORD, которое выписывает команды ассемблера, эквивалентные

следующему оператору Pascal:

if not odd(x) then x := x div 2

8. X DB ?

Что из нижеперечисленного неверно?

1. mov di,[p+2]

2. shr cx,cl

3. JMP word ptr X

4. DIV [di]

5. add bx,x

6. JMP X[bx]

9. Напишите преимущества и недостатки счета программы при статическом связывании модулей по сравнению с динамическим.

10. Начало нек. модуля на ASM:

include io.asm

extrn y:word

...

Написать фрагмент сегмента кода программы, в котором переменной y присваивается остаток от деления её на 11.

3_2005

1. Для стековой машины реализовать присваивание res:=a+b*c, используя не более 6 команд.

Адреса ячеек: res: 0300, a:0302, b:0304, c:0306.

Коды операций: ВСТЕК 00, СЛОЖЕНИЕ 01, УМНОЖЕНИЕ 04, ИЗСТЕКА 10.

2. Как в ЭВМ определяется, что хранится в ячейке - команда или данное?

3. Выполнение команды в ЦП разбито на этапы, выполняющиеся параллельно:

Чтение команды

Дешифровка кода операции

Вычисление исполнительного адреса

Чтение операндов

Выполнение операции

Запись результата

На выполнение кажого этапа тратится 3 единицы времени. За сколько единиц времени будут выолнены следующие команды:

mov bx,A

sub di,B[bx]

add ax,B[bx]

4. Выпишите значение регистра Bl (как знакового байта) и флагов CF, OF и SF после выполнения команд:

mov bl,120

add bl,110

5. Напишите фрагмент программы, реализующий пересылку в двойное слово по адресу 6CABDh значения 6CABDh, используя не более 5 команд.

6. Реализуйте дальнюю процедуру ADD5, которая получает через стек параметр - абсолютный адрес двойного слова, значение которого процедура должна увеличить на 5. Процедура должна соблюдать стандартные соглашения о связях.

7.Напишите макроопределение с заголовком OddDouble Macro X, которая получает как фактический параметр имя переменной - байта или двойного слова (беззнакового), и реализует следующий паскалевский оператор: if odd(x) then x:=x*2;

/позже Пильщиков сказал, что правильность входного параметра проверять не нужно/

8. X DW ?

Вычеркните неверные операторы:

mul 300

mov Ax,[X,Si]

JMP Ax

and X,'X'

sub X,SP

mov dword ptr x,1234h

9.Напишите, какие преимущества и недостатки есть у динамической схемы загрузки модульной програмы перед статической схемой.

10. Начало некоторого модуля:

include io.asm

extrn X:word

............

Выпишите фрагмент сегмента кода этого модуля, который присваивает переменной Х ее значение, деленное на 19.

4_2005

1. Написать программу на стековой УМ, реализующей присваивание res:=x*(y+z) не более, чем за 6 команд.

Коды команд:

ВСТЕК 00

ИЗСТЕКА 10

СЛОЖЕНИЕ 01

УМНОЖЕНИЕ 03

Адреса переменных: (точно не помню, придумайте сами четырехзначные адреса перем. x,y,z,res)

2. Как ЭВМ отличает знаковое число от беззнакового?

3. MOV DH, 50

SUB DH, 156

Вычислить:

DH= (знаковое)

CF=

OF=

SF=

4. Конвейер. Операции: 1) чтение команды

2) дешифровка

3) вычисление исполнительных адресов

4) чтение операндов

5) Выполнение команды

6) Запись рез-та

Каждый шаг - за 4 ед. времени. Посчитать время выполнения след. команд, если изначально конв. пуст.

ADD Z,3

SUB Z,AX

AND W[si],AX

5. Описать дальнюю процедуру TWO, удовлетворяющую всем стандартным соглашениям о связях, которая присваивает значение 2

далней переменной, адрес которой передается ей в качестве параметра.

6. Загрузить в двойное слово с абсолютным адресом 5BAFCh значение 5BAFCh не более, чем за 5 команд.

7. Написать макроопределение EvenDiv MACRO X, где X - WORD либо DWORD, которое выписывает команды ассемблера, эквивалентные

следующему оператору Pascal:

if not odd(x) then x := x div 2

8. X DB ?

Что из нижеперечисленного неверно?

1. LEA AX,[BX+2]

2. CHL cl,cl

3. JMP word ptr X

4. DIV 256

5. SUB dx,x

6. JMP X[DI]

9. Напишите преимущества и недостатки счета программы при статическом связывании модулей по сравнению с динамическим.

10. Начало нек. модуля на ASM:

include io.asm

extrn y:word

...

Написать фрагмент сегмента кода программы, в котором переменной y присваивается остаток от деления её на 17.

2 вариант

Вариант 2, 11 июня 2006. Ripped by Overrider

1. В стеке записано 125 символов (по 2 в машинном слове). Выписать фрагмент программы

на асмах, в котором в регистр ax записывается количество больших латинских букв

('A'..'Z') в тексте. Можно менять любой регистр, кроме sp.

2. Дать определение сегментной организации памяти. Какой недостаток имеет СОП?

3. Написать определения для УМ-3:

-машинное слово

-адрес ячейки

-регистр команд

4. MOV ch,140

SUB ch,-50

ch= cf= of= sf=

5. Привести не более 8 команд на асме, записывающих в слово с абсолютным адресом

3B564h остаток от деления содержимого этого слова на 11.

6. Описать близкую процедурус именем bitse, которая получает в качестве параметра

значение переменной A и дальний адрес переменной B. (все WORDы) Процедура присваивает

параметру B значение 1, если битовое прецтавление параметра A начинается и

заканчивается битом 1. Иначе B:=2. Процедура ДОЛЖНА выполнять ССС.

Привести пример вызова процедуры.

7. Привести макроопределение с заголовком mac2 MACRO a

Если параметр a непустой и является именем переменной-слова, то макрос должен записать

её в ax, bx, cx, dx. Иначе макроподстоновка ну просто обязана быть пустой.

8. Вычеркнуть ошибочные операторы:

AND [bx],3 MOV ds,[bp] MOV [sp+2],ax MUL ax,7 XCHG sp,dx JMP cx

9. Пусть в начале кодового сегмента стоит директива

ASSUME cs:code, ds:d1, es:e1, ss:s1

Пусть переменная d описана в сегменте d1, e - в e1, s - в s1. (все - слова)

Для каждой из приведённых команд записать, какой префикс сегмента вставит в машинный

код компилятор для этой команды (написать НЕТ, если не вставит):

MOV bx,e[bp]

MOV bx,s[bx]

MOV bx,d[bp][di]

MOV bx,d[si]

MOV bx,[bp][si]

Удачи на экзамене! ;)

4 вариант

Вариант 4, 11 июня 2006. Ripped by Kissa

1. В стеке записано 125 символов (по 2 в машинном слове). Выписать фрагмент программы

на асмах, в котором в регистр ax записывается количество больших латинских букв

('A'..'Z') в тексте. Можно менять любой регистр, кроме sp.

2. Дать определение сегментной организации памяти. Какой недостаток имеет СОП?

3. Написать определения для УМ-3:

-машинное слово

-адрес ячейки

-регистр команд

4. MOV dh,50

SUB dh,156

dh= cf= of= sf=

5. Привести не более 8 команд на асме, записывающих в слово с абсолютным адресом

4В564h остаток от деления содержимого этого слова на 12.

6. Описать близкую процедурус именем bitse, которая получает в качестве параметра

значение переменной A и дальний адрес переменной B. (все WORDы) Процедура присваивает

параметру B значение 1, если битовое прецтавление параметра A начинается и

заканчивается битом 1. Иначе B:=2. Процедура ДОЛЖНА выполнять ССС.

Привести пример вызова процедуры.

7. Привести макроопределение с заголовком mac4 MACRO b

Если параметр b непустой и является именем переменной-слова, то макрос должен записать

её в ax, bx, cx, dx. Иначе макрорасширение обязано быть пустым.

8. Вычеркнуть ошибочные операторы:

xchg bx,[bx]; neg byte ptr [si][di]; jmp cx; test ax,6[di]; add dx,[sp]; mov [bx],-1

9. Пусть в начале кодового сегмента стоит директива

ASSUME cs:code, ds:d1, es:e1, ss:s1

Пусть переменная d описана в сегменте d1, e - в e1, s - в s1. (все - слова)

Для каждой из приведённых команд записать, какой префикс сегмента вставит в машинный

код компилятор для этой команды (написать НЕТ, если не вставит):

MOV bx,e[bp]

MOV bx,s[bx]

MOV bx,d[bp][di]

MOV bx,d[si]

MOV bx,[bp][si]

1, 2, 3, 6, 9 тоже самое, что во втором

1_2007

Вариант 1, 2007 г.

1) Выписать фрагмент программы (не более 7 команд) для УМ-1, реализующий присваивание А:=А*А+В*В (А - 0200, В - 0204, 00 - запись в сумматор, 10 - чтение из сумматора, 01 - сложение, 03 - умножение).

2) Что будет напечатано в результате выполнения команд:

mov ax, -936

cwd

mov bx, 3

idiv bx

outword ax

3) Вычеркнуть неверные команды ( X db ?, W dw ?):

mov ax, x-w

add es, w

mov [bx]+2, 7

xchg bx, [bx]

sbb ax, 'X'

shl dx, 5

4) В программе под сегмент стека отведено 500 байтов. Выписать фрагмент программы на Асемблере, который копирует находящиеся сейчас в стеке чётные числа-слова (word) в область памяти, начинающуюся с абсолютного адреса 7ABCDh. Считать, что эта область не пересекается ни со стеком, ни с этим фрагментом. Можно менять значения всех регистров, кроме SS и SP.

5) Указать значения al (в виде знакового десятичного числа), флагов CF, OF и SF после выполнения команд:

mov al, -56

add al, 170

6) Описать на Ассемблере близкую процедуру, заголовок которой на Паскале имеет вид

procedure Assgn( var X:integer; n:integer );

Процедура реализует присваивание x:=n. Параметры передаются через стек. Процедура должна выполнять стандартные соглашения о связях. Привести пример вызова этой процедуры для выполнения присваивания cnt:=zero (cnt имеет тип word, zero описано через директиву equ).

7) Привести макроопределение с заголовком JGT macro v, L (v - список переменных <v1,...,vk>, L - метка). Если значения всех переменных-слов из списка положительны (как знаковые числа) или таких переменных в списке нет, надо перейти на метку L. Выписать макрорасширение для макрокоманды JGT <z,a,y,w>, Con (a - байт, y, z - слова, w - двойное слово).

8) Программа на Ассемблере состоит из двух модулей. В кодовом сегменте головного модуля описана общедоступная (public) переменная X (word). Выписать второй модуль, который должен содержать процедуру с именем PechX, при вызове которой напечатается значение X как знаковое и как беззнаковое число.

9) В программе на Ассемблере есть предложения: extrn x:abs и mov ax, x. Какая служебная программа подставляет конкретное значение на место операнда X в команде mov ax, x ?

10) Дать определения следующих понятий для УМ-3:

а) адрес ячейки;

б) машинное слово;

в) код операции.

2_2007

Вариант 2, 2007 г.

1) Выписать фрагмент программы (не более 7 команд) для безадресной (стековой) учебной машины, реализующий присваивание А:=А*А+В*В (А <-> 0200, В <-> 0204, 00 - запись в сумматор, 10 - чтение из сумматора, 01 - сложение, 03 - умножение).

2) Что будет напечатано в результате выполнения команд:

mov ax, 342

mov BL, 2

div

cbw

outint

3) Вычеркнуть неверные команды ( X db ?, W dw ?):

mov ax, x-w

sub AX, DS

mov 5[BX][SI], 5000

xchg bx, [bx]

mov ax, 'X'

mov AX, [BL]

4) В программе под сегмент стека отведено 600 байтов. Выписать фрагмент программы на Асcемблере, который копирует находящиеся сейчас в стеке положительные числа-слова (word) в область памяти, начинающуюся с абсолютного адреса 5EFDCh. Считать, что эта область не пересекается ни со стеком, ни с этим фрагментом. Можно менять значения всех регистров, кроме SS и SP.

5) Указать значения BL (в виде знакового десятичного числа), флагов CF, OF и SF после выполнения команд:

mov BL, 160

sub BL, -56

6) Описать на Ассемблере близкую процедуру, заголовок которой на Паскале имеет вид

procedure AddNum( var X:integer; c:integer );

Процедура реализует присваивание x:=x+c. Параметры передаются через стек. Процедура должна выполнять стандартные соглашения о cвязях. Привести пример вызова этой процедуры для выполнения присваивания cnt:=cnt+one (cnt имеет тип word, one описано через директиву equ).

7) Привести макроопределение с заголовком JzeroL macro v, L (v - список переменных <v1,...,vk>, L - метка). Если значения всех переменных-байтов из списка положительны (как знаковые числа) или таких переменных в списке нет, надо перейти на метку L. Выписать макрорасширение для макрокоманды JzeroL <z,a,y,w>, Con (a - байт, y, z - слова, w - двойное слово).

8) Программа на Ассемблере состоит из двух модулей. В кодовом сегменте головного модуля описана общедоступная (public) переменная y типа byte (со знаком). Выписать второй модуль, который должен содержать процедуру с именем PechAbsY, при вызове которой напечатается абсолютное значение y.

9) В программе на Ассемблере есть предложения: data segment и mov ax, data. Какая служебная программа подставляет конкретное значение на место операнда data в команде mov ax, data ?

10) Дать определения следующих понятий для УМ-3:

а) регистр

б) регистр адреса (счётчик адреса)

в) регистр команды

3_2007

Вариант 3 2007

1)Выписать фрагмент программы (не более 7 команд) для УМ-1 реализующий A:=A^2+B^2, если A<->0204, B<->0204

(коды операций в УМ-1: 00 - запись в сумматор, 10 - чтение из сумматора, 01 - сложение, 03 - умножение)

2)Что будет напечатано после выполнения следующих команд:

mov ax,-2068

cwd

mov bx,2

idiv bx

outword ax

3)Вычеркнуть неверные команды (x db ?, w dw ?):

xchg si,[si]mov [bx]+2,4shl dx,5mov cx,w-xsbb ax,'x'add ds,w

4)Описан стек размером 400 байт. Выписать фрагмент программы, копирующий четные числа (word) из стека в область

памяти, начинающуюся с абсолютного адреса 4bacch. Считать, что сегменты не пересекаются, не изменять ss, sp

5)Определить значения флагов cf, of, sf и значение al (как знакового числа) после выполнения команд:

mov al,-56

add al,170

6)Описать близкую процедуру, для которой эквивалентный заголовок на Паскале имеет вид:

Procedure assgn(var x:int; n:int);

реализующую присваивание x:=n. Процедура должна удовлетворять стандартным соглашениям связи.

Выписать фрагмент программы, производящий присваивание nt:=zero, где nt - переменная типа word,

zero - числовая константа, заданная дириктивой equ

7)Привести макроопределение с заголовком

jgt macro v,l

где v - набор переменных <v1,v2,...,vk> любых типов, l - метка. Макрокоманда должна делать переход на метку

l, если значения всех переменных vi - слов - больше нуля (как знаковых чисел) или если переменных типа word нет.

Выписать макрорасширение для макрокоманды jgt <z,a,y,w> *тут были написаны 3 какихто символа, я не могу понять что я там писал*

где параметры имеют тип: a - byte, y,z - word, w - dword

8)Программа состоит из 2х модулей. В кодовом сегменте головного модуля (Public) описана общедоступная переменная

x (word). Выписать 2й модуль, содержащий процедуру pechx, печатающую x как знаковое и как беззнаковое

9)Есть предложения: extern x:abs и mov ax,x.

Какая служебная программа подставляет x в команду mov ax,x?

10) УМ-3.

Дать определения:

а)адрес ячейки

б)машинное слово

в)код операции

DSC01953

Распознанный текст из изображения:

* -,, !~!~'Х"!' ':Х". ' '-Фй~.' АЖ . ' .. "::... '::.ЯЯЯФ~<, . '~Ф-~~-,",

4»,:;~Щ34~ффВУфф~фгщщф ( ц~щу ф~ ~ц~~~ ~ )

.$4В$ФФ-."~ЬФ'кИ-+Д$ + Ь) ему В ~щ~

-~~"Ф4~ФВЮЬФЙЪЙОВЙЙФ 34ЩфЩ, Щ~ЩффффЩД ® щук~) щ щщфщф~~'„,"': ц~. " ."""~"'~:~""4

щхщеауры АКОЕ, уаелнчнвнккцМ на 1 значеиме ааремеиной 'Г тайа~аб~,аайфФМ~ф~~~~',", ",

$- В й~ю~Рймме на вссембмра ест предложным ЕХТКМ К.АВ8 й МОУ АХИ. ВВЭР,

ЩХН~ЫЫМ6 ЙОЮМЗБЛЯСТ КОНЩЗйТИОФ ЗНВЧЮНИФ Нй Яйся ОНФДФЙЛВ И В МОМФЖ~ МСВ АЖ» И~.",":,.",";.;:."':;;.";,"",":,'-,."",.::;."'Ъ".

9. П~:ать ажмйер Цй с~остонт из 5 лаюв чтание команчей мшифхака КОЙ. ЧТВЮФ 66$РММФ~"."':-'::."::;-':."';-'",""

~~ДЯЯфЯЯ~ д~~рцц~д -~ ц~д~~„р ъ~ ~~~ ~д~~ ~д~~д~~Д ~~~~ ~~ ~д~~щ~~ ~д~ ~д дд~~у ~ЯЯЯ~Яф' Щффффф~~"-::-'~-,",.:*:".":-"."~ф~

СюлЬко единиц времени займет амаинеяие лосдсдмательности

ПЮ~й~~~~~~ |аа~~~~ ~а~ ещбы мвв~~язирф~ать ~~~~~а~ ~~~~ВФВ ~:~~

Р,,:,,:,,:-,:,:,,,:...,:::::::,:,::,'-::,.::,::."-,,::,-,:-:-:."::,':-::-::-::::,::,-:::,::,::-,:,::-::::,:-:::::::::::-::-,::-:-:."."'--':-.':-'-::::

-" ..~-.9Ф!~::эайФ9ю МАЖ,С, щ~С-. яма зжмкеай дермаееФ. ЬЩФф~й~;" .„',,'..', „' '

DSC01954

Распознанный текст из изображения:

ЖМУТ-АЖ, ж»"у А~ЮВЗ.Ж МО,,дщ+~,ужнбюцюц ЯВВ А~,'Х' щт щ( ~ 4. Пусть а программе ~цщ сети~ ~ „

~тарьи копирует иакодаизнеса сеИчас естеке четнике ц~~ . ианнииииакииузоса с абсолютнот о ащжса ~я щ'щ ~'щдат

жо а аобдасть стеком, ни с лти%$ фрад~фентом Яо~кно цен Реееиаетеа ЙН'Фф;:'."';-:-.':",;;.,'::: у,.'.",-:,"~~

ь зюменив асек регистро», кране $Б и Я'

Ю 6, Ои , Описать на ассемблере близкую иронедуру, загыоаок которой на Йаскаде Ийеет аид...,,,—.:,,:„",,:; =,-,:-...,::-'.,':::-'" -""".

рвоседию Авщю~ма'к: ~~г, е: паем

доаиет йроцвдура раааиумт прнсааиаание к: 6, йараметрм иередзйотек'а Етежа- ПРМ4ф~4~4ФФ~И:,""": ".::-';:.;:!::;:,':::;:;;::::"~!,:.„. у корать стжщартицм соглашением о самых. Выписать иредиозкеииа аесиибдара амиолиениа с хлмнцью зтой процедуры присваивания дмг кето, е витка, чеосае -иареииийМг"6~ба;,::,:..:::-";:::;::::~:;::.' жоМ, жо — целочислеииа» константа, описанная по директиве щц. 7. Привести макроащюледеиие с зыоловкоц

ЗбТ васк~ вД. Здесь ~ - список имен переменных любык типов '~,, ~,... ~~>, 1., - метка. Макрокоманда долмой делать 3м ход ма меч

ре д на метку 1 . есин значения всех переменных-сдоа из списка нож~жительиы (чиода знаковые) илн если а списке иет перечеииык тина ч огд. Выписать макрорасхмнреиие дав макрокоманды МЗТ ~к,а,у ч >,Сои. тле переменные имеют сдедуыщие тинн.' а - байт, у, а - сдоаи, и -даойное слово. Ф. Программа на ассемблере состоит из двух модуде6. В кодоаом саъжите тоноаиото моду~ описана обнмдостуииад (рай) неременнаа Х размером а споао. Выйиеать атороФ аиздУда которьва двшеи содержать процедуру е- имеяем уеейХ, йри аызоаа которои иаФиатаазЖдаа ~:":::::::::;:'-:.:".:,',:,';;-'.:: . л как чиеао со зидкан и мыс число без знака. ~ 8 4ЧФтраьеиа йаассембдере есть иредаакеина ВХТКМ Х:Ахи ~кй,тз ~Ф Х ~:,;:,....,...,...„,;:.":-".;:„..-;. иротраизеа ~ии

DSC02105

Распознанный текст из изображения:

Зын

3. Вьгчеркиуть синтаксически неверные команды

Мас/ 500 1ВХ3, 4ОО РдО ~3~~ ~с,~~ 1 ОХЧ АХ

СМР 20, ВХ ИИ> ВХ, (5~

4. Выписать фрагмент на ассемблере для записи числа -6 в двойное слово с абсолвэтиы~ адрееввг '

5. Описать процедуру, которая переставляет в обратном порядке элементы байтового массива..:

Адрес начала массива передае вся в ВХ, количество элементов — в СХ.

);

ммы, в котором содержится описание общедоступноой ачение переменной 'Ч типа слово, описанной в каком-

6, ргоседцге флаг а:~ого

Ьерп а;=а от~ 16+ (25+ а

Не используя команд деле

соглашением о связях.

слОю оез знака ~

пюд 64 ейск;

Йя, реализовазь

7. Выписать не головной пропел1 ры Я.,'В!, умень Нибудь другом модуле.

дуль програ

ающей на 1 зн

Я. В программе на ассемблере есть предложения В %БРЕХТ и МОУ АХ,О. какая служебиМ -" -". программа подставляет конкретное значение иа место операнда В и команде 54СФ АХ,Р ~ 9. Пусть конвейер цП состоит из 5 этапов: чтение команды, дешифровка КОИ. чтение «Ф.'Ф~-;.:

выполнение операции. запись результата, каждый этап выполняется за одну единичку Я~;:::,.'-,''-:;,::','";

Сколько единиц времени эаймег выполнение последовательности

ЛИЭ СХ„3

рта А~ 4

DSC02107

Распознанный текст из изображения:

Я ~ 4фф$МЙФЬМФ М4~ФМИФВ "МФЩ)6МЮФ Ф ЗЙФМВ: ' ~~:"ММКФ-;: '!; мЬ Ъ'3 "4 УКЗЗЗТЪ 3$ВЧЮКЙВ ~ЮРИСТ(М СН ~В ВИЛФ ЗйЭКОВОГО Деа$ТИчищч~ ещ~дц) у~ фщдц~ ~ф Щ,~у'~~~~;""""" ' пжле вываляна смеющих двух ммзмд: вке 1"Н. 140 5 Прим~.ти не бадей 5 комика. заипсмамо66кк чесу ЗАфйМ~'-:Ф;:,',~~~~~~,,",„' ' адрео~м ЗАВЕСЬ. ~

Яра,~;щ щ~~НХ~ЩЩф,'ЮНИФ С 3ЭЮАОМИЮМ ~~'ЯМОВИФЙМ О$Щ>ВНфОМ ЖаеФ ОФКА ФЬеа Х;=Х 4Ь 2 ~

$.$А 9$ . Ц 43ЦКСЖ„Ц.- .":::;..':=:::~~ф~::...,,.:;...,,,:: -::,„::~";!"';.'",.""'

Задачи к экзамену неизвестно какого года

Вариант 1 (199? год)

1. Указать значение регистра AL после выполнения следующих команд :

MOV AL, 131

ADD AL, 50

JL M1

MOV AL, 1

JMP M2

M1: MOV AL, 0

M2:

2. Имеется описание массива Y [0..55] из чисел без знака :

Y DB 56 DUP(?)

и пусть в регистре BX находится некоторое число k (0<= k <= 45).

выпишите команды (не более 4), реализующие переход по метке M

при выполнении условия

Y[k + 10] < k + Y[10]

3. Вычеркните неправильные адресные выражения :

X[0], SI + 2, X[DI] + 4, [BX] + X + [BP], X[CX],

[X + 2] + [BP + SI], [BX],

где X имя переменной X DW ?

4. Выпишите команды (без строковых команд и индексов повторения),

выполняющие то же действие, что и

REP MOVSB.

5. В стеке записано не менее 10 слов, причем десятое (сверху) из

них - это адрес (смещение) некоторого байта из сегмента памяти,

на начало которого указывает регистр ES. Выпишите команды,

которые записывают 0 в этот байт и при этом сохраняют значения

всех регистров и не используют переменные.

6. Выписать таблицу общих имен (ТОБЩ) и таблицу перемещаемых адресов

(ТПА), которые построит ассемблер при трансляции следующего

модуля :

PUBLIC X, Y

QSEGMENT

XDW 2 DUP(Q)

YDW Z, Q

ZDB ?

QENDS

END

7. Укажите ошибку, которую зафиксирует ассемблер при трансляции :

CSEGMENT

ASSUME CS:C

XDW 1

BE: MOV AX, Y

ADD AX, X

Y DW 2

C ENDS

как ее можно исправить ?

8. В арифметических командах ЭВМ (УМ-С) не указывается ни одного

адреса. Как в этих командах определяются операнды.

Вариант 2 (199? год)

1. Сравните одноадресную (УМ - 1) и стековую (УМ - С) ЭВМ по следующим

критериям : удобство программирования, быстродействие и размер

памяти, занимаемой эквивалентными программами.

2. Выпишите значение регистра AL (HEX), и флаги CF, OF, ZF и SF после

выполнения следующих команд :

MOV AL, 20

ADD AL, 120

3. Имеется описание массива X[0..99] :

X DB 100 DUP(?)

и пусть в регистре DI находится некоторое число i (0<=i<=99). Выпишите

команды (не более 4), реализующие присваивание

x[24] := x[i] + i

4. При следующих значениях регистров

DS = 2222h, ES = 3333h, SS = 4444h, CS = 5555h, SI = 0F00Fh

определите абсолютный адрес первого операнда команды

SUB [SI + 3030h], AH

5. Вычеркните неправильные адресные выражения :

4[BH], [DI + Y + 2], 6[Y], Y[DI][SI], [SI] + Y[BX], [BP] + [DI],

BX[SI]

6. Выпишите команды (с командой CMPSB, но без префиксов повторения),

выполняющие то же действие, что и

REPE CMPSB

7. В стеке записано не менее 2х слов. Выпишите команды, которые меняют

местами два верхних слова стека и при этом сохраняют значения всех

регистров и не используют переменные.

8. Предположим, вашей программе приходится несколько раз проверять,

принадлежат ли значения символьных переменных каким либо диапазонам

символов (например : X - цифра?, Y - малая лат. буква?). Как вы

Опишете это повторяющееся действие - как макрос или как процедуру?

9. Выпишите макрорасширениедля макрокоманды M1 2 при следующем описании

макроса M1 :

M1 MACRO K

JMP W&K

IF K + 1 EQ 3

X DB '&K + 1'

ELSE

W2 MOV BX, K&K

ENDIF

Вариант 3 (199? год)

1. Указать значение регистра AL после выполнения следующих команд:

MOV AL, 131

SUB AL, 50

JGE M1

MOV AL, 10

JMP M2

M1:MOV AL, 20

M2:

2. Имеется описание массива X[-10..10]:

X DW 21 dup (?)

и пусть в регистре DI находится некоторое число i (0<=i<=10).

Выпишите команды (не более четырех), реализующие присваивание

x[i]:=x[0]+i. Можно изменять значение любых регистров.

3. Вычеркните неправильные адресные выражения

4[BH] [DI+Y+2] 6[Y] Y[DI][SI] [SI]+Y[BX] [BP]+[DI] BX[SI]

где Y - имя переменной Y DW ...

4. Выписать таблицу общих имен (ТОБЩ) и таблицу вхождений внешних

имен (ТВНЕШ), которые построит ассемблер при трансляции следующего

модуля:

EXTRN P: FAR

PUBLIC A,C

SSEGMENT

ADB 100H DUP(?)

BDW P

CDW B, SEG P

SENDS

END

5. В стеке записано не менее двух слов. Выпишите команды, которые

удаляют из стека второе (сверху) слово, и при этом сохраняют

значения всех регистров (кроме SP) и не используют переменные.

6. Укажите ошибку, которую зафиксирует ассемблер при трансляции:

CSEGMENT

ASSUME CS:C

XDW 1

BEG: MOV AX, Y

ADD AX, X

YDW 2

C ENDS

Как ее можно исправить?

7. Выпишите команды (без строковых команд и без префиксов

повторения), выполняющие то же действие, что и пара команд

REP MOVSB,

при DF = 0.

8. В арифметических командах стековой ЭВМ (УМ - С) не указывается

ни одного адреса. Как в этих командах командах определяются

операнды.

Вариант 4 (199? год)

1. Пусть в ЭВМ имеется кэш-память, размер которой - 16 блоков по

16 машинных слов в каждом и в которой используется алгоритм

прямого размещения блоков (содержимое ячеек с шестнадцатеричными

адресами xyzw0, xyzw1, ... xyzwF размещается в блоке с номером w).

Пусть на чтение одного слова из кэш-памяти в центральный процессор

тратится 1 единица времени, а на чтение одного блока из оперативной

памяти в кэш-память - 10 единиц. Считая, что в начале кэш-память

была свободной, определить, сколько времени потребуется на чтение

данных, когда в программе последовательно нужны данные из ячеек со

следующими 16-ричными адресами:

5F045, B082A, 67049, B0870, B0821, 5F046, B0820, 5F04E

2. Считая, что перед выполнением команды PUSH 8[BX+DI] регистры имели

следующие значения:

DS=1234h, SS=0f900h, SP=7052h, BX=9999h, DI=6666h

Указать в 16-ричном виде абсолютные адреса ячеек "откуда" и "куда"

переписывает данная команда слово.

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

PUSH CS MOV ES, DS ADD [SI], 5

LEA AX,[BX] XCHG [SI],[SI+3] MUL 10

4. Ответить на следующе 2 вопроса: на каком проходе и как именно

ассемблер выявляет ошибку "повторное описание имени" (одно

и то же имя описано дважды) ?

5. Выписать таблицу общих имен (ТОБЩ) и таблицу перемещаемых адресов

(ТПА), которые построит ассемблер при трансляции следующего

модуля :

PUBLIC X, Y

QSEGMENT

XDW 2 DUP(Q)

YDW Z, Q

ZDB ?

Q ENDS

END

6. Выписать команды (с командой CMPSB, но без префиксов повторения),

выполняющие то же действие, что и пара команд

REPE CMPSB.

Можно использовать регистр AL в качестве вспомогательного.

7. При следующих значения регистров

DS = 2222h ES = 3333h CS = 5555h SI = 0F00Fh

Определить абсолютный (20 - разрядный) адрес 1-го операнда команды

SUB [SI+3030h], AH

Указать формулу вычисления этого адреса.

Вариант

1. Для стековой машины реализовать присваивание res:=a+b*c, используя не более 6 команд.

Адреса ячеек: res: 0300, a:0302, b:0304, c:0306. Коды операций: ВСТЕК 00, СЛОЖЕНИЕ 01, УМНОЖЕНИЕ 04, ИЗСТЕКА 10.

2. Как в ЭВМ определяется, что хранится в ячейке - команда или данное?

3. Выполнение команды в ЦП разбито на этапы, выполняющиеся параллельно:

Чтение команды

Дешифровка кода операции

Вычисление исполнительного адреса

Чтение операндов

Выполнение операции

Запись результата

На выполнение кажого этапа тратится 3 единицы времени. За сколько единиц времени будут выолнены следующие команды:

mov bx,A

sub di,B[bx]

add ax,B[bx]

4. Выпишите значение регистра Bl (как знакового байта) и флагов CF, OF и SF после выполнения команд:

mov bl,120

add bl,110

5. Напишите фрагмент программы, реализующий пересылку в двойное слово по адресу 6CABDh значения 6CABDh, используя не более 5 команд.

6. Реализуйте дальнюю процедуру ADD5, которая получает через стек параметр - абсолютный адрес ячейки памяти, значение которой процедура должна увеличить на 5. Процедура должна соблюдать стандартные соглашения о связях.

7.Напишите макроопределение с заголовком OddDouble Macro X, которая получает как фактический параметр имя переменной - байта или двойного слова (беззнакового), и реализует следующий паскалевский оператор: if odd(x) then x:=x*2;

/позже Пильщиков сказал, что правильность входного параметра проверять не нужно/

8. Вычеркните неверные операторы:

mul 300

mov Ax,[X,Si]

JMP Ax

and X,'X'

sub X,SP

mov dword ptr x,1234h

upd: x dw ?

9.Напишите, какие преимущества и недостатки есть у динамической схемы загрузки модульной програмы перед статической схемой.

10. Справа выписано начало модуля, которому передаётся внешняя (знаковая) переменная Х. Выпишите фрагмент сегмента кода этого модуля, который присваивает переменной x ее значение, деленное на 19.

include io.asm

extrn X:word

Ответы

В студии появляются ответы:

1)

00 0200

03 0200

10 0200

00 0204

03 0204

01 0200

10 0200

2)

64502

3)

mov [bx]+2, 4

shl dx, 5

adc ds, w

4)

mov ax, 4bach

mov ds, ax

mov bx, 0ch

mov ax, 400

sub ax, sp

shr ax, 1

mov cx, ax

jcxz fin

mov bp, sp

L: mov ax, [bp]

test ax, 1

jnz next

mov [bx], ax

add bx, 2

next:

add bp, 2

loop L

fin:

5)

114, of=cf=1, sf=0

6)

assgn proc near

push bp

mov bp, sp

push ax

push bx

mov ax, [bp+4]

mov bx, [bp+6]

mov [bx], ax

pop bx

pop ax

pop bp

ret 4

assgn endp

...

lea ax, cnt

push ax

mov ax, zero

push ax

call assgn

7)jgt macro v, L

local T

ifb <v>

jmp L

else

irp a, <v>

if type a eq word

cmp a, 0

jle T

endif

endm

jmp L

T: nop

endif

endm

8)

Ненунах, пусть ботаны пишут)

9)

Редактор внешних связей

10)

Адрес - порядковый номер в памяти

Маш. слово - 32 бит, хранящиеся в ячейке

Код операции - часть маш. слова, которая в ЦП трактуется как номер команды, которую надо выполнить

Прочти меня!!!

Файл скачан с сайта StudIzba.com

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

Картинка-подпись
Хочешь зарабатывать на СтудИзбе больше 10к рублей в месяц? Научу бесплатно!
Начать зарабатывать

Комментарии

Поделитесь ссылкой:
Рейтинг-
0
0
0
0
0
Поделитесь ссылкой:
Сопутствующие материалы
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5161
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее