
лабораторная работа / лабораторные работы по ASSAMBLER / ЛАБА_3
.doc
Цель работы: ознакомление и изучение цепочных команд, используемых для обработки символьных данных.
ЗАДАНИЕ
Заменить заглавные символы символом ‘ # ’
Рабочая программа
model small
.data
stroka db 'SaPrInSkAyA TaNyA','$'
SMV DB '$'
.stack 256
.code
assume ds:@data, es:@data, ss:@data
start:
mov ax,@data
mov ds,ax
mov es,ax
lea bx,stroka
mov cx,17
m1:
mov al,[bx]
or al,al
cmp al,40h
jle m2
cmp al,5Bh
jge m2
mov al,'#'
mov [bx],al
m2:
inc bx
loop m1
int 21h
exit:
mov ah,09h
lea dx,stroka
int 21h
mov ax,4c00h
int 21h
end start
ФАЙЛ-ЛИСТИНГ
1 0000 model small
2 0000 .data
3 0000 4B 6F 52 6E 49 6C 4F+ stroka db 'SaPrInSkAyA TaNyA','$'
4 76 41 5F 6E 41 74 41+
5 6C 49 61 24
6 0012 24 SMV DB '$'
7 0000 .stack 256
8 0013 .code
9 assume ds:@data, es:@data, ss:@data
10
11 0000 start:
12 0000 B8 0000s mov ax,@data
13 0003 8E D8 mov ds,ax
14 0005 8E C0 mov es,ax
15 0007 BB 0000r lea bx,stroka
16 000A B9 0011 mov cx,17
17
18 000D m1:
19 000D 8A 07 mov al,[bx]
20 000F 0A C0 or al,al
21 0011 3C 40 cmp al,40h
22 0013 7E 08 jle m2
23 0015 3C 5B cmp al,5Bh
24 0017 7D 04 jge m2
25
26 0019 B0 23 mov al,'#'
27 001B 88 07 mov [bx],al
28
29
30 001D m2:
31 001D 43 inc bx
32 001E E2 ED loop m1
33
34 0020 CD 21 int 21h
35
36 0022 exit:
37 0022 B4 09 mov ah,09h
38 0024 BA 0000r lea dx,stroka
39
40 0027 CD 21 int 21h
41 0029 B8 4C00 mov ax,4c00h
42 002C CD 21 int 21h
43
44 end start