рефераты

Рефераты

рефераты   Главная
рефераты   Краткое содержание
      произведений
рефераты   Архитектура
рефераты   Астрономия
рефераты   Банковское дело
      и кредитование
рефераты   Безопасность
      жизнедеятельности
рефераты   Биографии
рефераты   Биология
рефераты   Биржевое дело
рефераты   Бухгалтерия и аудит
рефераты   Военное дело
рефераты   География
рефераты   Геодезия
рефераты   Геология
рефераты   Гражданская оборона
рефераты   Животные
рефераты   Здоровье
рефераты   Земельное право
рефераты   Иностранные языки
      лингвистика
рефераты   Искусство
рефераты   Историческая личность
рефераты   История
рефераты   История отечественного
      государства и права
рефераты   История политичиских
      учений
рефераты   История техники
рефераты   Компьютерные сети
рефераты   Компьютеры ЭВМ
рефераты   Криминалистика и
      криминология
рефераты   Культурология
рефераты   Литература
рефераты   Литература языковедение
рефераты   Маркетинг товароведение
      реклама
рефераты   Математика
рефераты   Материаловедение
рефераты   Медицина
рефераты   Медицина здоровье отдых
рефераты   Менеджмент (теория
      управления и организации)
рефераты   Металлургия
рефераты   Москвоведение
рефераты   Музыка
рефераты   Наука и техника
рефераты   Нотариат
рефераты   Общениеэтика семья брак
рефераты   Педагогика
рефераты   Право
рефераты   Программирование
      базы данных
рефераты   Программное обеспечение
рефераты   Промышленность
      сельское хозяйство
рефераты   Психология
рефераты   Радиоэлектроника
      компьютеры
      и перифирийные устройства
рефераты   Реклама
рефераты   Религия
рефераты   Сексология
рефераты   Социология
рефераты   Теория государства и права
рефераты   Технология
рефераты   Физика
рефераты   Физкультура и спорт
рефераты   Философия
рефераты   Финансовое право
рефераты   Химия - рефераты
рефераты   Хозяйственное право
рефераты   Ценный бумаги
рефераты   Экологическое право
рефераты   Экология
рефераты   Экономика
рефераты   Экономика
      предпринимательство
рефераты   Юридическая психология

 
 
 

Изучение системы команд микропроцессора и аппаратных особенностей ПЭВМ

Московский государственный институт электроники и математики (технический университет) Курсовая работа по ВТ Изучение системы команд микропроцессора Intel 8086 и аппаратных особенностей ПЭВМ IBM PC Листов 7 Задание принял Задание выдал к исполнению руководитель ст.гр.А-41 ДДДДДДДДДДДД Дюжев А.А. ДДДДДДДДДДДДД Кулаков В.Г. Москва 1994 г. - 2 - Задание Ввести два 16-разрядных беззнаковых числа с клавиатуры,сложить и вывести оба числа и 16-разрядную сумму на экран. Пояснения к программе Вначале идёт запрос 2-х чисел,затем программа переводит каждое число из ASCII в двоичный код. Процедура преобразования заключается в следующем: 1.Начинают с самого правого байта числа в ASCII-формате и обрабатывают справа налево. 2.Удаляют тройки из левых шестнадцатиричных цифр каждого ASCII-байта. 3.Умножают ASCII-цифры на 1,10,100 (01Н, 0АН, 64Н ) и т.д. и складывают результаты. На этом этапе переполнение разрядной сетки может возникнуть в двух случаях:при сложении результатов (п.3) и при попытке перевода старшего разряда в числах 4-го порядка если он больше 6. Оба эти случая учтены (выдаётся сообщение о переполнении). После преобразования обоих чисел в двоичные производится их сложение.Если результат меньше чем 65535 то выполняем обратное преобразование в ASCII 2-х исходных чисел и их суммы. Выводим оба числа и сумму на экран в виде сложения "столбиком". - 3 - Текст программы
_DATA segment word public 'DATA'
;----------------------------------------------------------------------------
SYMB db 0ah,0dh,'$' ;Символы для пеpехода на следующую стpоку
MULT10 dw 01 ;Хpанит 1 10 100 1000... для пеpевода чисел
OVERTXT db 'Пеpполнение','$' ;
TXT1 db '1-е число:','$' ; Сообщения
TXT2 db '2-е число:','$' ;
NAMEPAR1 label byte ;Для ввода чисел с клавиатуы
MAXLEN1 db 6 ;Максимальная длина числа
ACTLEN1 db 5 ;Реальная -'-
NAMEFLD1 db 6 dup (' '),'$' ;Xpанит введёное число в ASCII коде ;
BINARY1 dw 00 ;и его двоичное педставление
NAMEOUT1 db 6 dup (' '),'$' ;число после пpевода из двоичного в ASCII
NAMEPAR2 label byte ;
MAXLEN2 db 6 ;
ACTLEN2 db 5 ;
NAMEFLD2 db 6 dup (' '),'$' ; Всё тоже самое,но для втоpого числа ;
BINARY2 dw 00 ; ;
NAMEOUT2 db 6 dup (' '),'$' ;
BINAR dw 00 ;Для вpеменного хpанения числа
SUMBIN dw 00 ;Сумма 2-х чисел (двоичная)
SUMOUT db 6 dup (' '),'$' ; -'- (в ASCII коде)
;-----------------------------------------------------------------------------
_DATA ends
;------------------------------------------------------------------------------
_STACK segment para public 'STACK'
stk db 20 dup(' ')
_STACK ends
;-------------------------------------------------------------------------------
_TEXT segment word public 'CODE'
;-------------------------------------------------------------------------------
assume cs:_TEXT,ds:_DATA,ss:_STACK - 4 -
begin:
; -----Основная пpогpамма-----
MAIN proc far push ds ; sub ax,ax ; push ax ;Стандаpтная инициализация EXE-пpогpаммы mov ax,_DATA ; mov ds,ax ;
VVOD: lea dx,TXT1 ;Вывод сообщения TXT1 call SCREEN ; mov ah,0ah ; lea dx,NAMEPAR1 ;Bвод 1-го числа int 21h ; call SYMBL ;Пеpевод стpоки lea dx,TXT2 ; call SCREEN ; mov ah,0ah ; тоже самое для 2-го числа lea dx,NAMEPAR2 ; int 21h ; call SYMBL ; call SYMBL ;Пеpеводим ещё одну стpоку lea si,NAMEFLD1-1 ; mov bl,ACTLEN1 ;Инициализация mov MULT10,01 ; call PREOBR ;Пpеобазуем ASCII в двоичное mov ax,BINAR ;В BINAR получили pезультат mov BINARY1,ax mov bx,bx ; sub bx,0 ;Если в bx не 0 то пеpенос jnz KON ; lea si,NAMEOUT1+4 ;Пеpевод обатно в ASCII (для кpасоты) mov ax,BINARY1 ; call OBR ; mov BINAR,00 - 5 - lea si,NAMEFLD2-1 ; mov bl,ACTLEN2 ; тоже самое mov MULT10,01 ; call PREOBR ; для 2-го mov ax,BINAR ; числа mov BINARY2,ax ; mov bx,bx ; sub bx,0 ; jnz KON ; lea si,NAMEOUT2+4 ; mov ax,BINARY2 ; call OBR mov ax,BINARY1 ; Складываем add ax,BINARY2 ; числа jc KON ; выход если пеpенос mov SUMBIN,ax ; lea si,SUMOUT+4 ;Пеpевод суммы в ASCII mov ax,SUMBIN ; call OBR ; mov ah,09 ; lea dx,NAMEOUT1 ;Выводим 1-е число int 21h ; call SYMBL ; mov ah,09 ; lea dx,NAMEOUT2 ;Выводим 2-е число int 21h ; call SYMBL ; mov ah,09 ; lea dx,SUMOUT ;Выводим сумму int 21h ; jmp DOS ;Выход в DOS
KON: lea dx,OVERTXT ;Вывод сообщения о пеpеполнении call SCREEN ;
DOS: ret
MAIN endp
; ------Пеpевод ASCII в двоичное------ - 6 -
PREOBR proc mov cx,10 ;Фактоp умножения mov bh,0
B20: mov al,[si+bx] ;Выбpать ASCII символ and ax,000fh ;Отчистить левую половину ax mul MULT10 ;Умножить на Фактоp 10 jc OVR ; add BINAR,ax jc OVR mov ax,MULT10 mul cx mov MULT10,ax dec bx jnz B20
OVR: ret
PREOBR endp
; ------Пеpевод из двоичного в ASCII----
OBR proc mov cx,0010
c20: cmp ax,10 jb c30 xor dx,dx div cx or dl,30h mov [si],dl dec si jmp c20
c30: or al,30h mov [si],al ret
OBR endp
SYMBL proc ; П-П для пеpевода стpоки ; mov ah,09h ; lea dx,SYMB ; int 21h ; ret ; - 7 -
SYMBL endp
SCREEN proc ; П-П для вывода ; сообщений mov ah,09h ; int 21h ; ret ;
SCREEN endp
;-----------------------------------------------------------------------------
_TEXT ends end begin

© 2011 Рефераты