Архитектура микропроцессоров и их программирование. Карягин А.П. - 35 стр.

UptoLike

Составители: 

35
int 21h
mov ah,4ch
int 21h
end
3.3.5 Составить программу преобразования символьной строки abcdefgi
в строку IGFEDCBA.
3.3.6 Составить программу преобразования двузначного символьного
числа в двоичный формат и программу преобразования двоичного формата в
ASCII-формат, используя программные фрагменты в примерах 3.2 и 3.3.
Пример 3.1 - Напишем программу преобразования символьного числа в
двоичное число, полагая, что (cx) = 10, (si) = адрес символьной строки, по ад-
ресу "adr1" в сегменте данных находится преобразуемое число, по адресу
"adr2" будет помещено двоичное число (результат), адреса " adr3" и " adr4" ис-
пользуются для хранения числа символов и множителя соответственно, а (bx) =
число обрабатываемых символов.
mov cx,10
lea si,adr1-1
mov bx,adr3
a10: mov al,[si+bx]
and ax,000fh
mul ax,adr4
add adr2,ax
mov ax,adr4
mul cx
mov adr4,ax
dec bx
jnz a10
Пример 3.2 - Напишем программу преобразования двоичного числа в
символьное число, полагая, что (cx) = 10, (si) = адрес символьной строки, (ax)
= двоичное число.
b10: cmp ax,0010
jb b20
xor dx,dx
div cx
or dl,30h
mov [si],dl
dec si
jmp b10
b20: or al,30h
mov [si],al
     int 21h
     mov ah,4ch
     int 21h
     end
        3.3.5 Составить программу преобразования символьной строки abcdefgi
в строку IGFEDCBA.
        3.3.6 Составить программу преобразования двузначного символьного
числа в двоичный формат и программу преобразования двоичного формата в
ASCII-формат, используя программные фрагменты в примерах 3.2 и 3.3.
        Пример 3.1 - Напишем программу преобразования символьного числа в
двоичное число, полагая, что (cx) = 10, (si) = адрес символьной строки, по ад-
ресу "adr1" в сегменте данных находится преобразуемое число, по адресу
"adr2" будет помещено двоичное число (результат), адреса " adr3" и " adr4" ис-
пользуются для хранения числа символов и множителя соответственно, а (bx) =
число обрабатываемых символов.
           mov cx,10
           lea si,adr1-1
           mov bx,adr3
      a10: mov al,[si+bx]
           and ax,000fh
           mul ax,adr4
           add adr2,ax
           mov ax,adr4
           mul cx
           mov adr4,ax
           dec bx
           jnz a10

      Пример 3.2 - Напишем программу преобразования двоичного числа в
символьное число, полагая, что (cx) = 10, (si) = адрес символьной строки, (ax)
= двоичное число.
       b10: cmp ax,0010
            jb b20
            xor dx,dx
            div cx
            or dl,30h
            mov [si],dl
            dec si
            jmp b10
       b20: or al,30h
            mov [si],al




                                                                            35