Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2011, 23:45   #1
Владимир31
 
Регистрация: 28.03.2011
Сообщений: 3
По умолчанию нужно прокоментировать код

Используя вложенные циклы, сформировать и вывести на экран таблицу ASCII-символов с кодами в указанном диапазоне. Для формирования и вывода воспользовать следующее условие:формирование и вывод одной строки вывода во внешнем цикле (используется область памяти для одной строки вывода).
диапазон кодов символов: 38 – 204.
направление и длина (n) последовательности: столбцы по 16 символов


Код:
oursg segment
assume cs:oursg, ds:oursg
symb db 1000 dup('*') ; резервируем место (строку) в памяти
String db 1000 dup('%') ; резервируем место (строку) в памяти
begin:
; Заполнение строки в памяти символами
push cs
pop ds
 
mov cx,26
mov al,0 ; формируем с 0 символа
mov si,0 ; счётчик столбцов
mov di,0 ; позиция символа
M:
push si
push cx
 
mov cx,16
mov di,si
mov si,0
M2:
push ax ; запомнить al
 
cmp al,204
ja PR
 
cmp al,38
ja Vivod_symv
 
PR:mov al,32
 
Vivod_symv:
mov symb[di],al
inc di
mov symb[di],32
add di,27
 
pop ax ; запомнить al
inc al
inc si
cmp cx,si
ja M2
 
pop cx
pop si
inc si
inc si
cmp cx,si
ja M
 
exit:
mov bx, 17
mov si,0
mov di,26
Upr:
mov symb[di],0
inc di
mov symb[di],10
 
 
add di,27
inc si
cmp bx,si
ja Upr;
 
mov cx, 17
mov si,0
mov di,0
ByStr:
 
push cx
push si
mov cx, 26
mov si,0
Tostr:
mov dh,symb[di]
mov string[si],dh
inc di
inc si
cmp cx,si
ja Tostr
 
push ax
mov ah, 40h ; номер функции DOS вывода строки
mov cx, 26 ; длина выводимой строки (в байтах)
mov bx, 1 ; 1 - вывод на экран
mov dx, offset string; относительный адрес выводимой строки
int 21h ; вызов DOS
pop ax
 
pop si
pop cx
 
inc si
cmp cx,si
ja ByStr
 
mov ax, 4C00h ; AH = 4Ch, AL = 0 (код выхода)
int 21h ; Завершение программы
oursg ends
end begin
Владимир31 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прокоментировать md5. С. по скайпу. chesar Фриланс 0 04.02.2011 20:48
Прокоментировать проект [ C++ Builder ] Lemo Фриланс 2 10.04.2010 12:27
Прокоментировать 2 строки Syltan Общие вопросы C/C++ 8 24.09.2009 18:29
Господа можете прокоментировать код. hub2002 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.08.2009 02:03
С++ Прокоментировать программу М@лышка Помощь студентам 10 05.06.2009 03:30