Отправляет email-рассылки с помощью сервиса Sendsay

Задачи по ассемблеру

  Все выпуски  

Задачи по ассемблеру


Информационный Канал Subscribe.Ru


Задачи по ассемблеру.


Выпуск #20.

Добрый день, уважаемые подписчики! Обновлен раздел Библиотека задач. Обязательно посетите его (об ошибках, недочетах, битых ссылках прошу сообщать мне).

Сегодня в выпуске:

1. Решение задачи #18.

2. Задача #19.

3. Команда для COMPO: HUGI COMPO 21

Решение задачи #19.

Таблица рекордов:

  Участник

Размер решения

1. G3

25 байт

2. Alexey_1

28 байт

Условие задачи.

Считать пароль, зашифровать и вывести на экран.

Решения.

Решение by G3:

;Task #19 by G3, 25 байт
;tasm /m task.asm
;tlink /x /3 /t task.obj
 .model tiny
 .386
 .code
org 100h

Start:
xchg  di,ax     ;di=0 (адрес переменной Pass=0)
mov   cl,8
L1:
mov   ah,08h
int   21h       ;ввод символа
shl   al,1      ;умножение на два
stosb
mov   al,'*'
int   29h       ;вывод '*'
loop  L1

pop   dx        ;dx=0 (адрес переменной Pass=0)
mov   ax,0924h
stosb           ;дописать '$' в конец строки
int   21h       ;вывод пароля
int   20h
end   Start

 

Решение by Alexey_1:

;tasm /m2 task19.asm
;tlink /t task19
;28 байта
;by Alex

CSEG segment
assume cs:CSEG, ds:CSEG, ss:CSEG, es:CSEG
org 100h
 .386
main:
mov   di,offset pass
mov   dx,di

mov   cl,8

qq:
xor   ax,ax
int   16h
shl   al,1
stosb
mov   al,'*'
int   29h
loop  qq

mov   al,'$'
stosb

mov   ah,9
int   21h

quit:
ret
pass   db 9 dup(?)
CSEG   ends
end main

 

У кого есть более короткое решение присылайте указав в теме номер задачи.

Задача #20.

Размер моего решения: 21 байт.

Задание:

Помимо типа данных "Byte беззнаковый" существует тип данных "Byte со знаком". Это тип для хранения чисел от -127..127. 

Ваша задача написать программу, которая сравнивала байт AL с нулем. И выводила бы на экран знаки ">", "<" или "=" в соответствии с результатом.

Обратите внимание на то, что:

1. В данном типе "-127" это "0" в нормальном, "0" - "127", "127" - "256".

2. AL должно быть проинициализировано командой mov. Например, mov al, -15.

Отправить решение до 19.02.2003

Команда для COMPO.

Hugi предлагает для решения COMPO 21. Те кто, хочет решать его в команде напишите письмо мне, для включения в команду. Написать нужно даже тем, кто включен в нее - для проверки. Только учтите, что решения будут посылаться от команды, а не от одного человека!!!

В заключение...

На главной странице сайта http://www.igoryksoft.narod.ru/ будут даны размеры программ лидеров, как только таковые появятся. И так будет с каждой задачей. Узнав, эту информацию каждый может прислать более оптимизированное решение.

Любые предложения по улучшению рассылки, Ваши задачи, вопросы прошу присылать мне на почту, указанную внизу рассылки. 

(с) IgorykSoft Все права защищены! 
URL: http://www.igoryksoft.narod.ru/  E-Mail: Igoryk@FromRu.Com


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное