ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »
