0 / 0 / 1
Регистрация: 19.09.2013
Сообщений: 48
|
|
1 | |
необходимо исправить программу написаную на асемблере31.10.2013, 17:22. Показов 768. Ответов 1
Метки нет (Все метки)
нужно сделать в место прямоугольника флажок!
Turbo Assembler Version L4.ASM Assembler 1 0000 CSEG segment 2 assume CS:CSEG, DS:CSEG, SS:CSEG, ES: CSEG 3 org 100h 4 0100 EB 08 90 Begin: jmp Start 5 ;----- данные ----- 6 0103 20 Ns db 32 ; номер символа 7 0104 28 Nc db 40 ; номер столбца 8 0105 06 Nr db 6 ; номер строки 9 0106 0D rc db 13 ; номер столбца с которого начинается 10 строк 11 0107 29 pp db 41 12 0108 07 oo db 7 13 0109 30 ll db 48 14 15 010A E8 006D Start: call ClrScr ; очистка экрана 16 010D B4 02 mov ah, 2 ; установить положение курсора / функция 17 вывод символа для 21h прерывания 18 010F B7 00 mov bh, 0 ; номер видеостраницы 19 0111 B9 00FF mov cx, 255 ; количество повторений цикла = 20 количеству выводимых символов 21 0114 8A 36 0105r Vyvod: mov dh, Nr ; номер строки 22 0118 8A 16 0104r mov dl, Nc ; номер столбца 23 011C CD 10 int 10h 24 011E 8A 16 0103r mov dl, Ns ; номер символа 25 0122 CD 21 int 21h ; вывод символа 26 0124 80 3E 0104r 28 cmp Nc, 40 ; если вывод осуществлен в 35 столбец, 27 0129 74 03 jz NextR ; если ноль то перейти на новую строку 28 012B EB 12 90 jmp NextC ; иначе увеличить номер столбца 29 012E NextR: 30 012E FE 0E 0106r dec rc ; уменьшаем номер столбца 31 0132 FE 06 0105r inc Nr ; переход на новую строк 32 0136 A0 0106r mov al, rc ; первый номер столбца 33 0139 A2 0104r mov Nc, al ; Nc=первый номер столбца 34 013C EB 05 90 jmp NextS ; переход на следующий символ 35 013F FE 06 0104r NextC: inc Nc 36 0143 FE 06 0103r NextS: inc Ns ; следующий символ 37 0147 E2 CB loop Vyvod ; переход на вывод символа 38 39 40 41 0149 B9 0010 MOV CX,16 ;Количество строк в фигуре 42 43 014C 8A 36 0108r Vyvod2: mov dh, oo ; номер строки 44 0150 8A 16 0107r mov dl, pp ; номер столбца 45 0154 CD 10 int 10h 46 0156 8A 16 0103r mov dl, Ns ; номер символа 47 015A CD 21 int 21h ; вывод символа 48 015C A0 0109r mov al,ll 49 015F FE C0 inc al 50 0161 FE 06 0107r inc pp 51 0165 38 06 0107r cmp pp,al 52 53 54 0169 74 06 je NextC2 ;равно 55 016B 7C 00 jl NextR2 ;меньше 56 016D FE 06 0108r NextR2: inc oo 57 58 0171 FE 06 0103r NextC2: inc Ns 59 Turbo Assembler Version 1.0 10.10.13 18:52:06 Page 2 L4.ASM 60 0175 49 dec cx 61 62 63 64 65 66 67 68 69 70 71 72 0176 E2 D4 loop Vyvod2 ; переход на вывод символ 73 74 75 0178 CD 20 int 20h 76 77 ;---- процедуры ----- 78 79 ;---- процедура очистки экрана---- 80 017A ClrScr proc 81 017A 50 push ax 82 017B 53 push bx 83 017C 51 push cx 84 017D 52 push dx 85 017E B4 06 mov ah, 6 ;прокрутка экрана вверх 86 0180 B0 00 mov al, 0 ;0-заполняет весь экран пробелами 87 0182 B9 0000 mov cx, 0 ;верхний левый угол 0,0 88 0185 B6 18 mov dh, 24 ;номер строки нижнего правого угла 89 0187 B2 4F mov dl, 79 ;номер столбца нижнего правого угла 90 0189 B7 07 mov bh, 7 ;атрибут экрана черно-белый 91 018B CD 10 int 10h 92 018D 5A pop dx 93 018E 59 pop cx 94 018F 5B pop bx 95 0190 58 pop ax 96 0191 C3 Ret 97 0192 ClrScr EndP 98 99 0192 CSEG ends 100 end Begin Turbo Assembler Version 1.0 10.10.13 18:52:06 Page 3 Symbol Table Symbol Name Type Value Cref defined at # ??DATE Text "29.12.10" ??FILENAME Text "L4 " ??TIME Text "13:52:06" ??VERSION Number 0100 @CPU Text 0101H @CURSEG Text CSEG #1 @FILENAME Text L4 @WORDSIZE Text 2 #1 BEGIN Near CSEG:0100 #4 100 CLRSCR Near CSEG:017A 15 #80 LL Byte CSEG:0109 #13 48 NC Byte CSEG:0104 #7 22 26 33 35 NEXTC Near CSEG:013F 28 #35 NEXTC2 Near CSEG:0171 54 #58 NEXTR Near CSEG:012E 27 #29 NEXTR2 Near CSEG:016D 55 #56 NEXTS Near CSEG:0143 34 #36 NR Byte CSEG:0105 #8 21 31 NS Byte CSEG:0103 #6 24 36 46 58 OO Byte CSEG:0108 #12 43 56 PP Byte CSEG:0107 #11 44 50 51 RC Byte CSEG:0106 #9 30 32 START Near CSEG:010A 4 #15 VYVOD Near CSEG:0114 #21 37 VYVOD2 Near CSEG:014C #43 72 Groups & Segments Bit Size Align Combine Class Cref defined at # CSEG 16 0192 Para none #1 2 2 2 2
0
|
31.10.2013, 17:22 | |
Ответы с готовыми решениями:
1
Ускорить программу написаную с использованием selenium Как вставить в HTML5 программу, написаную на Паскале? Необходимо исправить программу Табуляция! Необходимо исправить программу |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
||||||
01.11.2013, 05:44 | 2 | |||||
0
|
01.11.2013, 05:44 | |
01.11.2013, 05:44 | |
Помогаю со студенческими работами здесь
2
Необходимо исправить программу! Тема массивы Обязательно ли устанавливать Framework для того чтобы выполнить программу написаную на C# языке Как динамически подключить dll написаную на C# Необходимо исправить ошибку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |