Скачиваний:
76
Добавлен:
11.02.2014
Размер:
31.74 Кб
Скачать

Саратовский Государственный Технический Университет

Балаковский Институт Техники Технологии и Управления

Кафедра: УИТ

Специальность: УИТ

Лабораторная работа №3

По СПО

Вариант №13

Выполнил: Федосова Л.И.

Студент гр. УИТ-33

Принял: Тудвасева Г.В.

Балаково2004г.

Цель работы: ознакомление и изучение цепочных команд, используемых для обработки символьных данных.

Задание: Найти в строке символ «s» и заменить его символом «&», а символ «L» на « ».

Решение.

lr_3.asm

Turbo Assembler Version 3.1 15/04/04 14:41:07 Page 1

1 0000 CODESG SEGMENT PARA 'CODE'

2 ASSUME CS:CODESG,DS:CODESG,SS:CODESG

3 ORG 100H

4 0100 EB 13 90 BEGIN: JMP abc

5 0103 53 68 61 6C 6F 6D 65+ TITL DB 'Fedosova Liliya'

6 65 76 61 20 4E 61 74+

7 61 73 68 61

8 0115 M1: abc PROC

9 0115 FC cld

10 0116 B9 0012 MOV CX,18

11 0119 BF 0103r LEA DI,TITL

12 011C B0 6D MOV AL,'s'

13 011E F2> AE REPNE SCASB

14 0120 75 06 JNE M2

15 0122 4F DEC DI

16 0123 B0 26 MOV AL,'&'

17 0125 AA STOSB

18 0126 E2 ED LOOP M1

19 0128 B9 0012 M2: MOV CX,18

20 012B BF 0103r LEA DI,TITL

21 012E B0 4E MOV AL,'L'

22 0130 F2> AE REPNE SCASB

23 0132 75 06 JNE M3

24 0134 4F DEC DI

25 0135 B0 20 MOV AL,' '

26 0137 AA STOSB

27 0138 E2 EE LOOP M2

28 013A B4 40 M3: MOV AH,40H

29 013C BB 0001 MOV BX,01

30 013F B9 0012 MOV CX,18

31 0142 BA 0103r LEA DX,TITL

32 0145 CD 21 INT 21H

33 0147 C3 RET

34 0148 abc endp

35 0148 CODESG ENDS

36 END BEGIN

Turbo Assembler Version 3.1 15/04/04 14:41:07 Page 2

Symbol Table

Symbol Name Type Value

??DATE Text "15/04/04"

??FILENAME Text "lr_3 "

??TIME Text "14:41:07"

??VERSION Number 030A

@CPU Text 0101H

@CURSEG Text CODESG

@FILENAME Text LR_3

@WORDSIZE Text 2

ABC Near CODESG:0115

BEGIN Near CODESG:0100

M1 Near CODESG:0115

M2 Near CODESG:0128

M3 Near CODESG:013A

TITL Byte CODESG:0103

Groups & Segments Bit Size Align Combine Class

CODESG 16 0148 Para none CODE

Turbo Assembler Version 3.1 24/04/04 11:05:49 Page 1

lr3_1.asm

1 0000 wert segment para 'code'

2 assume cs:wert; ds:wert

3 org 100h

4 0100 EB 13 90 ad: jmp abc

5 0103 53 68 61 6C 6F 6D 65+ titl db 'Fedosova Liliya'

6 65 76 61 20 4E 61 74+

7 61 73 68 61

8 0115 abc proc

9 0115 B9 0012 mov cx,18

10 0118 BB 0103r lea bx,titl

11 011B 8A 27 m1: mov ah,[bx]

12 011D 80 FC 6D cmp ah,'s'

13 0120 74 03 JE M2

14 0122 EB 05 90 JMP M5

15 0125 B4 26 M2: mov ah,'&'

16 0127 88 27 mov [bx],ah

17 0129 8A 27 M5: mov ah,[bx]

18 012B 80 FC 4E cmp ah,'L'

19 012E 74 03 JE M3

20 0130 EB 05 90 JMP M6

21 0133 B4 20 M3: mov ah,' '

22 0135 88 27 mov [bx],ah

23 0137 43 M6: inc bx

24 0138 E2 E1 loop m1

25 013A E8 0001 call w1

26 013D C3 ret

27 013E abc endp

28 013E w1 proc;

29 013E B4 40 mov ah,40h

30 0140 BB 0001 mov bx,01h

31 0143 B9 0012 mov cx,18

32 0146 BA 0103r lea dx,titl

33 0149 CD 21 int 21h

34 014B C3 ret

35 014C w1 endp

36 014C wert ends

37 end ad

Turbo Assembler Version 3.1 24/04/04 11:05:49 Page 2

Symbol Table

Symbol Name Type Value

??DATE Text "24/04/04"

??FILENAME Text "lr3_1 "

??TIME Text "11:05:49"

??VERSION Number 030A

@CPU Text 0101H

@CURSEG Text WERT

@FILENAME Text LR3_1

@WORDSIZE Text 2

ABC Near WERT:0115

AD Near WERT:0100

M1 Near WERT:011B

M2 Near WERT:0125

M3 Near WERT:0133

M5 Near WERT:0129

M6 Near WERT:0137

TITL Byte WERT:0103

W1 Near WERT:013E

Groups & Segments Bit Size Align Combine Class

WERT 16 014C Para none CODE

Соседние файлы в папке лабораторные работы по ASSAMBLER