Код в формате:
[code lang=pascal h=100]var n:byte;
begin
read(n);
write(n,99-n)
end.[/code]
Занимает 2544 байта, против
[code lang=pascal h=100]procedure newstr;
begin{процедура перевода строки}
asm
mov al,10
int 29h
mov al,13
int 29h
end
end;
begin
asm
@@01: xor ax,ax{читаем символ без эхо}
int 16h
cmp al,'0'{проверяем цифра ли это}
jb @@01{не цифра цифра повторяем ввод}
cmp al,'9'
ja @@01
int 29h{не документированная функция(для ДОС 1) вывод в текущую позицию}
push ax
call newstr{переводим строку}
pop ax
push ax
int 29h
mov dl,'9'
mov ah,2
int 21h{аналог int 29h - выводим 9}
pop ax
mov dl,'9'{получаем разность}
sub dl,al
mov al,dl
add al,'0'
int 29h{выводим результат}
end
end.[/code]
Всего 1696 байта.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.