Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 5
1

Кто может объяснить алгоритм работы программы?

23.06.2013, 16:59. Показов 915. Ответов 2
Метки нет (Все метки)

что делает программа я знаю, но в коде разобраться не могу. Нужен алгоритм, помогите пожалуйста, буду очень признателен.
Код программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
include io.asm
STACK_ SEGMENT STACK
DB 100h DUP(?)
STACK_ ENDS
 
 
data segment
a dw  1111,2,3,2,1111
b dw  1,2,3,5,7,1
yes db "Симметричен*",10,13,"$"
no  db "Не симметричен",10,13,"$"
data ends
 
 
code segment*
assume cs:code,ds:data,ss:stack_
palindr proc near
   push bp
   mov bp,sp
     
   push bx
   push cx
   push si
   push dx
     mov ax,1   
   mov bx,[bp+6]
   mov cx,[bp+4]
   mov si,bx
   
   mov dx,cx
   dec dx
   shl dx,1*
   mov si,bx
   add si,dx*
   shr cx,1
   
comp_ends:
   mov dx,[bx]   
   cmp dx,[si]
   je eqq
   mov ax,0
   jmp obloms
eqq:   
   add bx,2
   sub si,2
   loop comp_ends      
   
obloms:   
   pop si
   pop cx
     pop bx
     pop dx
     
     mov sp,bp
     pop bp
   ret;
endp palindr
 
start:
mov ax,data
mov ds,ax
 
lea bx,a
push bx
mov bx,5
push bx
call palindr
pop bx
pop bx
 
lea dx,yes
cmp ax,0
jne yout1
lea dx,no
yout1:
outstr
 
 
lea bx,b
push bx
mov bx,6
push bx
call palindr
pop bx
pop bx
 
lea dx,yes
cmp ax,0
jne yout2
lea dx,no
yout2:
outstr
 
MOV AX, 4C00h
INT 21h ;End Program
 
code ends
 
end start
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2013, 16:59
Ответы с готовыми решениями:

Кто может объяснить про соглашения о вызове функций?
Наткнулся на довольно странную реализацию, как такое может быть? Есть конструктор CUserSocket*...

Кто может объяснить алгоритм программы? Как она работает?
Нужно позарез. Реально помогите кто что знает. Рисую алгоритмы нужно разобраться, плс. коменты...

Кто может объяснить алгоритм прораммы.Как она работает?
Кто может объяснить алгоритм прораммы.Как она работает?по пунктам.сначала то, потом то... ...

Может ли кто объяснить механизм работы метода slice () для массива массивов?
задача 1: имеем массив из N элементов необходимо вывести первый и последний элемент этого...

2
Ушел с форума
Автор FAQ
14226 / 7098 / 850
Регистрация: 11.11.2010
Сообщений: 12,738
23.06.2013, 17:33 2
Цитата Сообщение от mamishov Посмотреть сообщение
что делает программа я знаю, но в коде разобраться не могу.
mamishov,
так облегчил бы задачу остальным и написал задание, а программа, судя по всему, определяет являются ли строки а и b палиандрами и пишет "Симметричен " или "Не симметричен", подпрограмме передается адрес строки в регистр SI и длина строки в регистр СХ, происходит сравнение первого и последнего символа, если совпадают - сравниваются второй и предпоследний и т.д.
1
4085 / 1799 / 211
Регистрация: 06.10.2010
Сообщений: 4,029
24.06.2013, 06:39 3
Даже не строки, а массивы word`ов.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2013, 06:39

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Объяснить алгоритм работы программы
На чёрно-белом изображении размером A строк x B столбцов необходимо найти полностью белый квадрат с...

Алгоритм программы шифрования данных может кто написать?
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <time.h>...

Кто может объяснить a = a + b?
Сейчас разбирал функцию for. Но суть не в этом. Меня застопорило такое уравнение: sum = sum + i. Я...

Кто может объяснить?
Кто может объяснить как это делать? Задание 1. В оперативной памяти вектор int X расположен,...

Кто нибудь может объяснить?
Посмотрите на глю! Кэто как?

Кто может объяснить ошибку?
нужно найти сумму элементов нечетных столбцов, вроде все так, но ищет четных..в упор не вижу ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.