Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
Chena
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 1
#1

Прошу помочь разобраться с текстом проги - Assembler

24.04.2011, 23:22. Просмотров 415. Ответов 0
Метки нет (Все метки)

Ребята! Помогите плиз разобраться, что выполняет фрагмент программы:
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
100
101
102
103
104
105
106
107
108
109
110
111
var_28  =byte ptr -28h
var_18  =byte ptr -18h
var_E   =byte ptr -0Eh
var_D   =byte ptr -0Dh
var_4   =byte ptr -4
var_2   =byte ptr -2
    push    si
    push    di
    lea ax, [bp+var_28]
    push    ss
    push    ax
    push    ds
    push    offset unk_16978
    mov cx, 10h
    call    N_SCOPY@
    xor dx, dx
    jmp short loc_102B5
 
loc_102AC:
    lea bx, [bp+var_18]
    add bx, dx
    mov byte ptr [bx], 0
    inc dx
 
loc_102B5:
    cmp dx, 0Ah
    jl  short loc_102AC
    mov [bp+var_2], 0Ah
    jmp short loc_102D4
 
loc_102C1:
    mov bx, 0Ah
    sub bx, [bp+var_2]
    lea ax, [bp+var_E]
    add bx, ax
    mov al, byte ptr [bp+var_2]
    mov [bx], al
    dec [bp+var_2]
 
loc_102D4:
    cmp [bp+var_2], 0
    jge short loc_102C1
    mov [bp+var_2], 3
    xor si, si
    jmp short loc_10328
 
loc_102E3:
    mov al, [bp+si+var_E]
    cbw
    mov dx, ax
    mov cl, byte ptr[bp+var_2]
    shl dx, cl
    and dx, 0FFh
    mov al, [bp+si+var_D] 
    cbw
    mov [bp+var_4], ax
    xor di, di
    jmp short loc_1031F
 
loc_102FD:
    mov bx, di
    add bx, bx
    lea ax, [bp+var_28]
    add bx, ax
    mov ax, [bp+var_4]
    test    [bx], ax
    jz  short loc_1031E
    mov bx, 8
    sub bx, [bp+var_2]
    add bx, di
    add bx, bx
    lea ax, [bp+var_28]
    add bx, ax
    or  dx, [bx] 
 
loc_1031E:
    
    inc di
loc_1031F:
    cmp di, [bp+var_2]
    jl  short   loc_102FD
    mov [bp+si+var_18], dl
    inc si
 
loc_10328:
    cmp si, 0Ah
    jl  short loc_102E3
    pop di
    pop si
    return  0
N_SCOPY@    proc    near
arg_0   = dword ptr 4
arg_4   = dword ptr 8
    push    bp
    mov bp,sp
    push    si
    push    di
    push    ds
    lds si, [bp+arg_0]
    les di, [bp+arg_4]
    cld
    shr cx, 1
    rep movsw
    adc cx,cx
    rep mowsb
    pop ds
    pop di
    pop si
    pop bp
    return  8
N_SCOPY@    endp
Особенно интересует инициализация: почему указатели минусовые? Пожалуйста помогите девушке...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 23:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Прошу помочь разобраться с текстом проги (Assembler):

Разобраться с текстом программы. - Assembler
Есть текст программы на ассемблере, но я мало что в нем понимаю, можете помочь расставить комментарии в тексте, которые говорят о том, что...

Просьба помочь разобраться с программой по вычислению выражения (a-4)/(b+c)-d - Assembler
Здравствуйте, уважаемые форумчане. По к курсовой работе необходимо выполнить практическое задание: Написать на Assemblere программу по...

Прошу помочь разобраться с готовой задачей - Visual C++
Привет всем! Прошу разобраться с такой задачей. Наверное многие из вас изучали курс ТОЭ (или хотя бы раздел физики под названием...

прошу помочь разобраться с COUNT() и AVG() - PHP БД
значит вот, чтобы было понятно: например, в БД есть список зарегистрированных юзверей, и мне нужно узнать сколько их всего и ...

Прошу помочь разобраться подключаю HD, не грузится система - Материнские платы
Уважаемые эксперты и знатоки. Помогите разобраться. Компьютер следующей конфигурации: ЦП - Intel Pentium 4 520, 2833 MHz (14 x 202) ...

Прошу помочь разобраться с полем, как в модуле производится расчет? - VBA
Доброго времени суток всем. Есть база данных(прилагается). Досталась по наследству. Не могу понять, как в таблицу sredvzvech, поле - zdobbm...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2011, 23:22
Привет! Вот еще темы с ответами:

Абрамов № 61, 85, 334(а), 374, 67(б,а). Прошу помочь, мне нужны эти задания для зачета прошу помощи. - Turbo Pascal
Прошу помощи, скачайте файл Абрамов (пожалуйста), номер 61, 85, 334(а), 374, 67(а,б). Помочите чем сможете пожалуйста

Прошу помочь - Flash
Ребят, помогите игру короткие нарды найти пожалуйста... измучился уже, пол интернета перелопатил. суть такая - залив файлы игры на какой...

Прошу помочь - C++
Нужно привести програмку в порядок, с первой частью вроде справился, со второй не могу, ошибка С2784. Первая часть: было: ...

прошу помочь - BIOS
Здраствуйте! У меня такая проблема, при входе в Windows стоял пароль, который я забыл. Я переустоновил винду, не форматируя винт. Теперь с...


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

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

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