Отчет 3 (1075949)
Текст из файла
Защищено: Большаков С.А./ Гапанюк Ю.Е. "__"_____________2014 г. | Продемонстрировано: Большаков С.А./ Гапанюк Ю.Е. "__"_____________2014 г. |
Лабораторная работа №3 по курсу
Системное программирование
" Вывод трех символов "
С Дополнительными Требованиями
4
(количество листов)
Вариант № 9
ИСПОЛНИТЕЛЬ: | |
студент группы ИУ5-42 | ________________ |
Зайков С.А. | "__"_____________2014 г. |
Москва - 2014
СОДЕРЖАНИЕ
1. Цель выполнения лабораторной работы 17
2. Порядок работы 17
3. Блок схема программы 17
4. Листинг программы на Ассемблере 17
5. Результаты работы программы 17
-
Цель выполнения лабораторной работы
Ознакомление с работой с языком ACCEMBLER. Освоение ввода, вывода на экран.
-
Порядок работы
Разработать и отладить программу на языке Ассемблер для вывода на экран дисплея трех первых заглавных русских букв (A, Б, В), на трех отдельных строках дисплея подряд (программируется перевод строки и возврат каретки!). Работа выполняется в режиме командной строки (допускается использование для отладки и демонстрации любого файлового менеджера).
После завершения вывода букв на экран организовать ожидание ввода любого символа с клавиатуры (нажатие клавиши).
Доп.Требования:
В программе организовать очистку экрана до начала вывода символов, а также после завершения работы программы. Очистка экрана должна выполняться отдельной дополнительной процедурой на языке Ассемблер (название ее - CLRSCR). Очистка экрана должна быть выполнена без организации циклов вывода символов с помощью соответствующего прерывания (найденного в справочнике).
В программе дополнительно вывести столбиком (построчно) фамилию, имя и отчество студента. Организовать циклическое выполнение основной части программы при вводе ожидаемого символа, отличного от символа звездочки (“*”). Развернуть и запустить СП QC25 (есть на сайте) и проверить работу своей программы в этой оболочке.
-
Блок схема программы
-
Листинг программы На Ассемблере
Turbo Assembler Version 3.1 04/04/14 08:32:06 Page 1
LAB3.ASM
1 0000 MYCODE SEGMENT 'CODE'
2 ASSUME CS:MYCODE, DS:MYCODE
3 0000 41 LET DB 'A'
4 0001 42 GET DB 'B'
5 0002 43 TET DB 'C'
6
7 0003 START:
8 0003 BEGIN:
9 0003 E8 007D CALL CLRS
10 ;Zagruzka segmentnogo registra dannih
11 0006 0E PUSH CS
12 0007 1F POP DS
13
14 ;Vyvod symvola A na ekran
15 0008 8A 16 0000r MOV DL, LET
16 000C E8 005D CALL PUTCH
17 000F E8 0064 CALL CLRF
18
19 ;Vyvod symvola B na ekran
20 0012 8A 16 0001r MOV DL, GET
21 0016 E8 0053 CALL PUTCH
22 0019 E8 005A CALL CLRF
23
24 ;Vyvod symvola C na ekran
25 001C 8A 16 0002r MOV DL, TET
26 0020 E8 0049 CALL PUTCH
27 0023 E8 0050 CALL CLRF
28
29 ;Vyvod Imeny, Familii i Gruppy studenta
30 0026 B4 09 MOV AH, 09H
31 0028 BA 0051r MOV DX, offset SecondName
32 002B CD 21 INT 21H
33 002D E8 0046 CALL CLRF
34 0030 B4 09 MOV AH, 09H
35 0032 BA 0058r MOV DX, offset FirstName
36 0035 CD 21 INT 21H
37 0037 E8 003C CALL CLRF
38 003A B4 09 MOV AH, 09H
39 003C BA 005Fr MOV DX, offset Groupe
40 003F CD 21 INT 21H
41 0041 E8 0032 CALL CLRF
42 ;Ozidanie zavershenia programmy
43 0044 E8 002A CALL GETCH
44 0047 3C 2A CMP AL, '*'
45 0049 75 B8 JNE BEGIN
46 ;Vyhod is programmy
47 004B B0 00 MOV AL, 0
48 004D B4 4C MOV AH, 4CH
49 004F CD 21 INT 21H
51 0051 5A 61 79 6B 6F 76 24 SecondName DB 'Zaykov$'
52 0058 53 65 72 67 65 79 24 FirstName DB 'Sergey$'
53 005F 47 72 6F 75 70 20 49+ Groupe DB 'Group IU5-42$'
54 55 35 2D 34 32 24
56 006C PUTCH PROC
57 006C B4 02 MOV AH, 02H
Turbo Assembler Version 3.1 04/04/14 08:32:06 Page 2
LAB3.ASM
58 006E CD 21 INT 21H
59 0070 C3 RET
60 0071 PUTCH ENDP
61
62 0071 GETCH PROC
63 0071 B4 01 MOV AH, 01H
64 0073 CD 21 INT 021H
65 0075 C3 RET
66 0076 GETCH ENDP
67
68 0076 CLRF PROC
69 0076 B4 02 MOV AH, 02
70 0078 B2 0D MOV DL, 13
71 007A CD 21 INT 21H
72
73 007C B4 02 MOV AH, 02
74 007E B2 0A MOV DL, 10
75 0080 CD 21 INT 21H
76 0082 C3 RET
77 0083 CLRF ENDP
78
79 0083 CLRS PROC
80 0083 B4 00 MOV AH, 0H
81 0085 B0 03 MOV AL, 3H
82 0087 CD 10 INT 10H
83 0089 C3 RET
84 008A CLRS ENDP
85
86 008A MYCODE ENDS
87 END START
Turbo Assembler Version 3.1 04/04/14 08:32:06 Page 3
Symbol Table
Symbol Name Type Value
??DATE Text "04/04/14"
??FILENAME Text "LAB3 "
??TIME Text "08:32:06"
??VERSION Number 030A
@CPU Text 0101H
@CURSEG Text MYCODE
@FILENAME Text LAB3
@WORDSIZE Text 2
BEGIN Near MYCODE:0003
CLRF Near MYCODE:0076
CLRS Near MYCODE:0083
FIRSTNAME Byte MYCODE:0058
GET Byte MYCODE:0001
GETCH Near MYCODE:0071
GROUPE Byte MYCODE:005F
LET Byte MYCODE:0000
PUTCH Near MYCODE:006C
SECONDNAME Byte MYCODE:0051
START Near MYCODE:0003
TET Byte MYCODE:0002
Groups & Segments Bit Size Align Combine Class
MYCODE 16 008A Para none CODE
-
Результаты работы программы
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.