-Помощь новичкам

Всего опекалось новичков: 0
Проверено анкет за неделю: 0
За неделю набрано баллов: 0 (78506 место)
За все время набрано баллов: 59 (12454 место)

 -Поиск по дневнику

Поиск сообщений в Kitab

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 27.08.2009
Записей: 1177
Комментариев: 430
Написано: 1916

Ассемблер

Дневник

Пятница, 14 Мая 2010 г. 13:50 + в цитатник
Опишите назначения и возможности продуктов MASM, VMWare Workstation и термина Образ диска.2. Для чего нужно использовать вирутальную машину?3. Какое стандартное расширение имеют драйвера?4. Какие преимущества и недостатки имеет пакет MASM в сравнении из пакетом TASM?1. MASM(Macro Assembler) - это ассемблер разработанный компанией Microsoft,в котором реализована возможность поддержки макросов.1.2. Это специальное программное обеспечение, которое предназначенное для виртуализации x86-совместимых компьютеров.1.3. Образ диска - это файл, который содержит полную копию структуры файловой системы и данных, которые содержатся на диске: CD/DVD или раздел HDD.2. Это специальная пр ограммня среда, которая дает возможность на одном физическом компьютере имитировать роботу нескольких виртуальных машин, запуская при этом на каждой разные ОС и разное ПО.3. Если добавить в двух словах, то получиться следующее.MASM - это ассемблер для процессоров семейства x86. Предназначался для написания программ в операционной системы MS-DOS. Сейчас добавлена возможность написания программ для Windows. Система макрокоманд языка представляет собой структурированный язык высокого уровня, который можно использовать для написания программ любого размера и любого назначения.VMware Workstation - программное обеспечение, которое позволяет создавать и запускать одновременно несколько виртуальных машин, в каждой из которых работает своя гостевая операционная система. Поддерживаются как 32-битные, так и 64-битные версии ОС. По сути, из одного компьютера можно получить сразу несколько виртуальных компьютеров, причем эти виртуальные компьютеры при необходимости можно полностью изолировать друг от друга, а можно, наоборот, объединить в виртуальную локальную сеть. Версия VMware Workstation 6 имеет основные возможности: поддержку хостовых ОС Windows и Linux; возможность запуска 32-х и 64-битных гостевых систем; поддержку нескольких мониторов при работе с гостевой ОС в полноэкранном режиме; до 8 Гб оперативной памяти для одной виртуальной машины; до 2-х виртуальных процессоров и до 10-ти виртуальных сетевых адаптеров в гостевой системе; возможность записи активности виртуальной машины; простое создание резервных копий систем и получение неограниченного числа мгновенных снимков состояния гостевых систем; поддержку интерфейса USB 2.0; встроенный VNC-сервер; возможность гибкого управления виртуальными сетями и дисками; специализированный API для автоматизации административных задач.Изначально использование образов предполагало один из способов резервного копирования информации. Особенность его состояла в том, что в отличие от обычного архивирования, при создании образа создается точная копия структуры исходного набора файлов. Создать образ можно практически с любого носителя информации. Не имеет значения, что это будет в реальности: папка или набор папок и файлов на жестком диске, флеш-накопитель, дискета или любой другой носитель. В последнее время, говоря об образах, наиболее часто подразумевается образ CD или DVD дисков. Существует несколько основных форматов образов дисков: ISO, BIN, IMG. Основными возможностями создания образов дисков является: удобство, так как образ - это не набор разрозненных файлов, а один файл; выгода, так как, создав однажды образ операционной системы со всем необходимым софтом и драйверами, можно в следующий раз при установке системы использовать один этот диск, а не искать по полкам затерявшийся из общей кучи диск; безопасность. Скопировав однажды образ диска на винчестер компьютера, в любой момент можно записать его на другой диск, не опасаясь возникновения ошибок или возможной нехватки места; ну и самый распространенный вариант применения образов, это возможность создать виртуальный привод на ком пьютере, подключить к нему образ и работать с ним, как с самым обыкновенным приводом, только намного более скоростным, чем физический.Виртуальная машина может быть полезна для работы с двумя разными операционными системами на одном компьютере одновременно. Для различных опытов с ОС. Полетела ОС на виртуальной машине, не страшно. Там не теряются данные, как на хостовой машине. Для программистов виртуальная машина - это очень полезный инструмент. Во-первых, разработки можно тестировать на различных ОС. Во-вторых, виртуальную машину можно использовать для удаленной отладки, не покупая второй компьютер.Хоть драйвер и является разновидностью программ, но в его структуре нет «правильных» машинных команд и поэтому файлы драйверов имеют расширения имени, отличные от com или exe. Чаще всего используются расширения SYS, DRV, иногдаBIN.Самое большое преимущество MASM над TASM и NASM - это макросы и специальные директивы для упрощения программирования. Макрос inv oke он позволяет вызывать API функции по-обычному с проверкой количества и типа параметров. Это почти тот же call, как в TASM, но этот мак рос проверяет количество параметров и их типы. Главный недостаток MASM - огромное количество ошибок в штатной библиотеке. А также отсутствие поддержки некоторых инструкций и режимов адресации процессора.
Рубрики:  Вопрос-ответ

Метки:  

Ассемблер

Дневник

Пятница, 14 Мая 2010 г. 13:43 + в цитатник
Требуется с помошью TASM организовать решение задачиДана квадратная матрица Найти минимальное из значений элементов побочной диагонали матрицы и соседних с ними справа и слева.Хар-ки:1)процессор intel core 2 solo CPU U35002)window vista home premium 32х разрядная3)Turbo Assembler Version 4.1 в папке asm находится фаил TASM поэтому думаю он предпочтителен4)вычисления производить в сопроцессореЭлементы матрицы целые числапример:1 6 0 42 5 7 18 9 0 41 2 3 5.Вот Вам программа:Код:N equ 4 ;размерность матрицыcseg segment para public 'code'assume cs:cseg, ds:dseg, es:dsegstart: ;точка входа mov ax, dseg ;настроим сегментные регистры mov ds, ax mov es, ax call GetMin ;ищемминимум в нужных диагоналях lea dx, sMin ;сообщение mov ah, 9 int 21h mov ax, min ;минимум call PrDec ;выведем знаковое десятичное число lea dx, sPress ;Pres any key mov ah, 9 int 21h mov ah, 0 ;ждем нажатие на клавишу int 16h mov ax, 4c00h ;выход в ДОС int 21h;ищем минимум в указанной диагонали;параметры: ; BX - адрес (база) массива; SI - индекс перв ого элемента диагонали; DX - приращение для индекса следующего элемента диагонали; CX - число элементов диагоналиDiagonal proc mov ax, [bx+si] ;очередной элемент диагонали cmp ax, min ;сравниваем (сравнение знаковое) с минимумом jge D_next ;если >=, то на следующий mov min, ax ;сохраним очередной минимальныйD_next: add si, dx ;индекс следующего элемента loop Diagonal ;по всем элементам диагонали retDiagonal endp;ищем минимум по трем диагоналямGetMin proc mov min,7fffh ;заведомо самое большое число lea bx, array ;адрес массива mov dx, 2*(N-1) ;приращение для следующего элемента (*2, потому что слова);диагональ выше побочной mov si, 2*(N-2) ;индекс первого элемента mov cx, N-1 ;число элементов call Diagonal;побочная диагональ mov si, 2*(N-1) ;индекс первого элемента mov cx, N ;число элементов call Diagonal;диагональ ниже побочной mov si, 2*(2 *N-1) ;индекс первого элемента mov cx, N-1 ;число элементов call Diagonal retGetMin endp;вывод десятичного числа из axPrDec proc test ax, ax ;проверим на знак jns pd_unsigned ;если неотрицательное, то на вывод push ax mov al, '-' ;выведем '-' int 29h pop ax neg ax ;получим модуль числаpd_unsigned: mov bx, 10 ;будем делить на 10, чтобы получить остатки xor cx, cx ;счетчик цифрpd_dig: ;цикл формированияцифр, xor dx, dx ; как остатков от деления на 10 div bx push dx ;очередной остаток = десятичному разряду inc cx ;считаем or ax, ax ;есть ли еще? jnz pd_digpd_pr: ;цикл вывода цифр pop ax ;извлекаем из стека в обратном порядке add al, '0' ;в символ int 29h LOOP pd_pr ;по всем retPrDec endpcseg endsdseg segment para public 'data'sMin db 'Minimum = $'sPres s db 0dh,0ah,'Press any key for exit$'min dw 0array dw 1,6,0,4 dw 2,5,7,1 dw 8,9,0,4 dw 1,2,3,5dseg ends end start ;конец программы.
Рубрики:  Программы

Метки:  

 Страницы: [1]