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

  • Просмотров 3983
  • Скачиваний 576
  • Размер файла 5
    Кб

Московский государственный институт электроники и математики (технический университет) Курсовая работа по ВТ Изучение системы команд микропроцессора 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