Информация


Programm.ws - это сайт, на котором вы можете почитать литературу по языкам программирования, а так-же посмотреть примеры работающих программ на С++, ассемблере, паскале и много другого..

Программирование — в обычном понимании, это процесс создания компьютерных программ.
В узком смысле (так называемое кодирование) под программированием понимается написание инструкций — программ — на конкретном языке программирования (часто по уже имеющемуся алгоритму — плану, методу решения поставленной задачи). Соответственно, люди, которые этим занимаются, называются программистами (на профессиональном жаргоне — кодерами), а те, кто разрабатывает алгоритмы — алгоритмистами, специалистами предметной области, математиками.
В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия» (также иначе «инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Глава б. Преобразование чисел

Вывод целых десятичных чисел из диапазона 0..99

Выше упоминалось, что для значений из диапазона 0..99 взаимное преобразование между символьной десятичной и двоичной формами может производиться командами умножения и деления двоично-десятичных (BCD-чисел) — ААМ и AAD.

;prg06_07.asm - ввод с консоли десятичного числа из диапазона 0..99
:и обратный его вывод на консоль.
buf_Oahstruc
len_bufdb 3 ;длина buf_0ah
len_in db 0 .действительная длина введенного слова (без учета Odh)
bufjn db 3 dup (20h) :буфер для ввода (с учетом Odh) ends .data
bufbuf_0ah<> adr_bufdd buf ' .code
:вводим 2 символа с клавиатуры, контроль на допустимые значения не делаем
ldsdx.adr_buf
mov ah.Oah
int 21h
хог ах.ах
emp buf .len_in,2 .-сколько чисел введено реально?
jne ml
mov ah.buf .bufjn ml: mov al.buf,buf_in+l
andax.OfOfh преобразование в неупакованное десятичное представление
add :в AL двоичный эквивалент исходного двузначного десятичного значения ;вывод на консоль содержимого AL
аат
mov dx.ax
or dx.03030h
rol dx.8 :выводим старшую цифру
mov ah,2
int 21h
rol dx.8 :выводим младшую цифру
int 21h

Для преобразования с целью последующего вывода на консоль больших двоичных значений можно использовать два способа: путем деления по модулю 10 (диапазон значений не ограничен) и с помощью сопроцессора (0..1018-1).