Вариант 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] Удачи на экзамене! ;)