Тема: Помогите пожалуйста сделать комменты и блок схему к программе на Assembler.

Ответить в теме
Показано с 1 по 12 из 12
  1. Вверх #1
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию Помогите пожалуйста сделать комменты и блок схему к программе на Assembler.

    Товарищи программеры, мне очень понадобилась Ваша помощь. Дело в том, что у меня есть злостный препод, которому даже на 3 нужно разложить всё совсем по полочкам...И так у меня есть 4 кода программ, к ним нужно сделать блок схемы и очень-очень подробно раскомментировать каждую строку программы(что делает данный оператор, как он работает, что за операнды и тп...)...Программы буду писать отдельными месседжами...


  2. Вверх #2
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №3.1

    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке
    model tiny
    .code
    org 100h
    m1:   mov cx,256
            mov dl,0
            mov ah,02h
    clp:   int 21h
            inc dl
            test dl,0Fh
            jnz cont
            push dx
            mov dl,0Dh
            int 21h
            mov dl,0Ah
            int 21h
            pop dx
    cont: loop clp
            mov ax,4c00h
            int 21h
    end m1
    Последний раз редактировалось VladMasters; 23.02.2010 в 22:01.

  3. Вверх #3
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №3.2

    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке через пробел
    model tiny
    .code
    org 100h
    start: mov cx,256
            mov dl,0
            mov ah,06h
    clp:   int 21h
            inc dl
            push dx
            mov dl,20h
            int 21h
            pop dx
            test dl,0Fh
            jnz cont
            push dx
            mov dl,0Dh
            int 21h
            mov dl,0Ah
            int 21h
            pop dx
    cont: loop clp
            mov ah,4c00h
            int 21h
    end start
    Последний раз редактировалось VladMasters; 23.02.2010 в 22:52.

  4. Вверх #4
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №4.1

    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке через пробел
    ;Белым цветом на синем фоне
    model tiny
    .code
    org 100h
    start: mov ax,0003h
             int 10h
             mov si,256
             mov ah,02h
             mov dx,0
             int 10h
             mov ah,09h
             mov bl,00011111b
             mov al,0
             mov cx,1
    clp:    int 10h
             dec si
             jz m1
             push ax
             mov ah,2
             inc dl
             int 10h
             mov ax,0920h
             int 10h
             mov ah,2
             inc dl
             int 10h
             pop ax
             inc al
             test al,0Fh
             jnz clp
             push ax
             mov ah,02h
             inc dh
             mov dl,0
             int 10h
             pop ax
             jmp clp
    m1:    mov ah,2
             inc dl
             int 10h
             mov ax,0920h
             int 10h
             mov ax,4c00h
             int 21h
    end start
    Последний раз редактировалось VladMasters; 23.02.2010 в 22:02.

  5. Вверх #5
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №4.2

    Код:
    ;Выдача на экран символа "A" в 16 цветах(8 темных, 8 светлых) на синем фоне
    model tiny
    .code
    org 100h
    start: mov ax,0003h
             int 10h
             mov si,8
             mov cx,10
             mov bl,00010000b
             mov al,41h
             mov dh,0
             mov dl,0
    vv:    mov ah,02h
             int 10h
             mov ah,09h
             int 10h
             add bl,1000b
             mov dl,20
             mov ah,02h
             int 10h
             mov ah,09h
             int 10h
             mov dl,0
             sub bl,1000b
             inc bl
             inc dh
             cmp dh,08h
             jne vv
             mov ax,4c00h
             int21h
    end start
    Последний раз редактировалось VladMasters; 23.02.2010 в 22:02.

  6. Вверх #6
    Посетитель Аватар для Денёк Юрич
    Пол
    Мужской
    Возраст
    37
    Сообщений
    245
    Репутация
    61
    ах ты ленивый, Skeeter, а посидеть разобраться? =)). Ты на кого учишься )))?

  7. Вверх #7
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398
    Цитата Сообщение от Денёк Юрич Посмотреть сообщение
    ах ты ленивый, Skeeter, а посидеть разобраться? =)). Ты на кого учишься )))?
    да вот уже разбираюсь целый семестр, препод говорит, шо я баран и нифига не понимаю. Схемы сам рисовал - он забраковал, вот мне интересно что местные гуру предложат.
    Учусь на супер-специальности: "Автоматизация систем обработки информации и принятия решений", грубо говоря программист+покопаться в железяках и сетях...Но по факту на всем потоке я(и ещё человек 8 из 40 с хером) больше всего понимаю эту специальность, но при этом один сраный ассемблер сдаю уже 2-ю сессию, как и остальные 12 человек и 40 "взагали" на потоке...
    Последний раз редактировалось VladMasters; 02.03.2010 в 07:16.

  8. Вверх #8
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №3.1

    Написано при помощи телефонного разговора с Afonya88.
    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке
    model tiny		;модель памяти для .com файлов
    .code			;упрощенная деректива определения сегмента данных
    org 100h		;смещение программы при записи в память на 256 байт 
    m1:	mov cx,256	;помещение в р-р cx значение 256(кол-во проходов цикла)
    	mov dl,0	;помещение в р-р dl значение 0(номер первого символа таблицы ASCII кодов) 
    	mov ah,02h	;помещение в р-р ah значение 02h(комманда вывода символа из р-а dl на экран)
    clp: 	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	inc dl		;увеличение значения в р-е dl на 1
    	test dl,0Fh	;сравнение значения в р-е dl с значением 0Fh
    	jnz cont	;условный переход на метку cont, если бит z в флаговом р-е не равен 0
    	push dx		;значение р-а dx записывается в стек
    	mov dl,0Dh	;помещение в р-р dl значение 0Dh(перевод коретки на начало строки)
    	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	mov dl,0Ah	;помещение в р-р dl значение 0Ah(перевод коретки на следующую строку)
    	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	pop dx		;помещение в р-р dx значений из стека
    cont:	loop clp	;переход на метку clp, отнимание значения в р-е cx -1
    	mov ax,4c00h	;помещение в р-р ax значение 4с00h(команда выхода в MS-DOS)
    	int 21h		;вызов системного прерывания(выполняется функция в р-е ax)
    end m1

  9. Вверх #9
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №3.2

    Написано при помощи телефонного разговора с Afonya88.
    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке через пробел
    model tiny		;модель памяти для .com файлов
    .code			;упрощенная деректива определения сегмента данных
    org 100h		;смещение программы при записи в память на 256 байт 
    start: 	mov cx,256	;помещение в р-р cx значение 256(кол-во проходов цикла)
            mov dl,0	;помещение в р-р dl значение 0(номер первого символа таблицы ASCII кодов)
            mov ah,06h	;помещение в р-р ah значение 06h(комманда консольного ввода/вывода символа из р-а dl на экран)
    clp:   	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	inc dl		;увеличение значения в р-е dl на 1
            push dx		;значение р-а dx записывается в стек
            mov dl,20h	;помещение в р-р dl значение 20h(номер символа "пробел" в таблице ASCII кодов)
            int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
            pop dx		;помещение в р-р dx значений из стека
            test dl,0Fh	;сравнение значения в р-е dl с значением 0Fh
            jnz cont	;условный переход на метку cont, если бит z в флаговом р-е не равен 0
            push dx		;значение р-а dx записывается в стек
    	mov dl,0Dh	;помещение в р-р dl значение 0Dh(перевод коретки на начало строки)
    	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	mov dl,0Ah	;помещение в р-р dl значение 0Ah(перевод коретки на следующую строку)
    	int 21h		;вызов системного прерывания(выполняется функция в р-е ah)
    	pop dx		;помещение в р-р dx значений из стека
    cont: 	loop clp	;переход на метку clp, отнимание значения в р-е cx -1
            mov ah,4c00h	;помещение в р-р ax значение 4с00h(команда выхода в MS-DOS)
            int 21h		;вызов системного прерывания(выполняется функция в р-е ax)
    end start
    Последний раз редактировалось VladMasters; 24.02.2010 в 01:06.

  10. Вверх #10
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398

    По умолчанию №4.1

    Собственными усилиями сделал комментарии к коду.
    Код:
    ;Выдача на экран символов ASCII кодов
    ;По 16 символов в строке через пробел
    ;Белым цветом на синем фоне
    model tiny			;модель памяти для .com файлов
    .code				;упрощенная деректива определения сегмента данных
    org 100h			;смещение программы при записи в память на 256 байт
    start:	mov ax,0003h		;помещение в р-р ax значение 0003h(комманда очистки экрана и установки текстового режима формата 80x25 с цветами 16/8)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а al)
            mov si,256		;помещение в р-р si значение 256(кол-во проходов цикла)
            mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            mov dx,0		;помещение в р-р dx значение 0(позиция курсора - строка:0, колонка:0)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            mov ah,09h		;помещение в р-р ah значение 09h(комманда вывода символа из р-а al в текущей позиции курсора)
            mov bl,00011111b	;помещение в р-р bl значение 00011111b(параметр цвета комманды 09h)
            mov al,0		;помещение в р-р al значение 0(параметр номера символа для вывода, в таблице ASCII кодов, комманды 09h) 
            mov cx,1		;помещение в р-р cx значение 1(параметр счетчика выводимых символов комманды 09h)
    clp:    int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-в: bl,al,cx)
            dec si			;вычитание -1 из значиния в р-е si
            jz m1			;условный переход на метку m1, если бит z в флаговом р-е равен 0
            push ax			;значение р-а ax записывается в стек
            mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)		
            inc dl			;увеличение значения в р-е dl на 1
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            mov ax,0920h		;помещение в р-р ax значение 0920h(комманда вывода символа из р-а al в текущей позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с с параметрами из р-в: bl,al,cx)
            mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            inc dl			;увеличение значения в р-е dl на 1
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            pop ax			;помещение в р-р ax значений из стека
            inc al			;увеличение значения в р-е dl на 1(увеличивается номер кода символа в ASCII таблице)
            test al,0Fh		;сравнение значения в р-е dl с значением 0Fh
            jnz clp			;условный переход на метку clp, если бит z в флаговом р-е не равен 0
            push ax			;значение р-а ax записывается в стек
            mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            inc dh			;увеличение значения в р-е dh на 1
            mov dl,0		;помещение в р-р dl значение 0(переведет коретку в начало строки)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            pop ax			;помещение в р-р ax значений из стека
            jmp clp			;переход на метку clp
    m1:     mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            inc dl			;увеличение значения в р-е dl на 1
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            mov ax,0920h		;помещение в р-р ax значение 0920h(комманда вывода символа из р-а al в текущей позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с с параметрами из р-в: bl,al,cx)
           	mov ah,4c00h		;помещение в р-р ax значение 4с00h(команда выхода в MS-DOS)
            int 21h			;вызов системного прерывания(выполняется функция в р-е ax)
    end start

  11. Вверх #11
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398
    Собственными усилиями сделал комментарии к коду.
    Код:
    ;Выдача на экран символа "A" в 16 цветах(8 темных, 8 светлых) на синем фоне
    model tiny			;модель памяти для .com файлов
    .code				;упрощенная деректива определения сегмента данных
    org 100h			;смещение программы при записи в память на 256 байт
    start:	mov ax,0003h		;помещение в р-р ax значение 0003h(комманда очистки экрана и установки текстового режима формата 80x25 с цветами 16/8)
    	int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а al)
            mov si,8		;помещение в р-р si значение 256(кол-во проходов цикла)
            mov cx,10		;помещение в р-р cx значение 10(параметр счетчика выводимых символов комманды 09h)
            mov bl,0001111b		;помещение в р-р bl значение 0001111b(параметр цвета комманды 09h)
            mov al,41h		;помещение в р-р al значение 41h(параметр номера символа для вывода, в таблице ASCII кодов, комманды 09h. 41h="A")
            mov dx,0		;помещение в р-р dx значение 0(позиция курсора - строка:0, колонка:0)
    vv:    	mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            mov ah,09h		;помещение в р-р ah значение 09h(комманда вывода символа из р-а al в текущей позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-в: bl,al,cx)
            add bl,1000b		;добавление 1000b к значению в р-е bl(увеличение кода цвета)
            mov dl,20		;помещение в р-р dl значение 20(переведет коретку в начало 2-й колонки)
            mov ah,02h		;помещение в р-р ah значение 02h(комманда установки позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с параметрами из р-а dx)
            mov ah,09h		;помещение в р-р ah значение 09h(комманда вывода символа из р-а al в текущей позиции курсора)
            int 10h			;вызов системного прерывания(выполняется функция в р-е ah, с с параметрами из р-в: bl,al,cx)
            mov dl,0		;помещение в р-р dl значение 0(переведет коретку в начало строки)
            sub bl,1000b		;отнимание 1000b от значения в р-е bl(уменьшение кода цвета)
            inc bl			;увеличение значения в р-е db на 1(изменение кода цвета)
            inc dh			;увеличение значения в р-е dh на 1(переведет коретку на следующую строку)
            cmp dh,08h		;сравнение значения в р-е dl с значением 08h
            jne vv			;условный переход на метку vv, если бит z в флаговом р-е равен 0
           	mov ah,4c00h		;помещение в р-р ax значение 4с00h(команда выхода в MS-DOS)
            int 21h			;вызов системного прерывания(выполняется функция в р-е ax)
    end start

  12. Вверх #12
    Живёт на форуме Аватар для VladMasters
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    33
    Сообщений
    4,012
    Репутация
    2398
    Ну что же, вот своими усилиями сделал 2 протокол работ 4.1 и 4.2, 3.1 и 3.2(с помощью Афони), и если на просторах инета найдется такой же несчатный студент, который учится в ТПА ОГАХ и попал на Системное ПО к Джулею А.П., то я думаю это ему очень сильно пригодиться...
    Последний раз редактировалось VladMasters; 24.02.2010 в 09:57.


Ответить в теме

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 02.06.2014, 07:46
  2. помогите с заданием по ASSEMBLER
    от Elprishepa в разделе Программирование
    Ответов: 5
    Последнее сообщение: 10.11.2011, 20:58
  3. Assembler: неужели никто не знает?
    от -=DREDD112=- в разделе Программирование
    Ответов: 5
    Последнее сообщение: 26.05.2008, 22:28
  4. Assembler: неужели никто не знает?
    от -=DREDD112=- в разделе Программирование
    Ответов: 0
    Последнее сообщение: 16.05.2008, 18:44

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения