Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54

Ошибка перевода com в exe

21.10.2013, 10:09. Показов 875. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В программе нужно вывести матрицу в место нажатия мышкой.
Написал программу в формате com.Все работает.Препод попросил переделать в exe.Вот тут возникла проблема.Все вроде запускается,но при нажатии лкм возвращает на начало проги и зависает.
com:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
.model     tiny 
.code
                
org       100h          
 
start: 
 
mov     dx,offset str1
        mov       ah,9
        int       21h           
mov     dx,offset buffer
        mov       ah,0Ah
        int       21h 
mov     dx,offset crlf
        mov       ah,9
        int       21h                     
                  
 
 
       xor       di,di         
       xor       ax,ax
       mov       cl,blength
       xor       ch,ch
       xor       bx,bx
       mov       si,cx         
       mov       cl,10         
asc2hex:
       mov       bl,byte ptr bcontents[di]
       sub       bl,'0'        
       cmp       bl,9          
       mul       cx            
       add       ax,bx         
       inc       di            
       cmp       di,si         
       jb        asc2hex       
mov ds:0,al
 
 
 
mov     dx,offset str2
        mov       ah,9
        int       21h           
mov     dx,offset buffer
        mov       ah,0Ah
        int       21h 
mov     dx,offset crlf
        mov       ah,9
        int       21h              
                  
 
 
       xor       di,di         
       xor       ax,ax
       mov       cl,blength
       xor       ch,ch
       xor       bx,bx
       mov       si,cx         
       mov       cl,10         
asc2hex2:
       mov       bl,byte ptr bcontents[di]
       sub       bl,'0'        
       cmp       bl,9          
       mul       cx            
       add       ax,bx         
       inc       di            
       cmp       di,si         
       jb        asc2hex2       
mov ds:3,al
 
 
mov ah,09h
mov dx, offset mes1
int 21h
xor dx,dx 
mov cx,8
 
m0:   
      mov ah,01h
      int 21h
      sub AL,'0'
      
      jmp prov3
n3:
      xor ah,ah
      or dx,ax
      shl dx,1
      xor ax,ax
      
loop m0
     
      shr DX,1 
      mov ds:6,DL      
      
    
 
 
 
 
mov   ax,0003h
int   10h
mov ax,0000h
int 33h
mov ax,1
int 33h
mov ax,0ch
mov cx,0004h
lea dx,proga
int 33h
mov ah,0h
int 16h
mov ax,000ch
mov cx,0000h
int 33h
ret
 
 
 
 
proga proc:
 
mov al,es:6
mov cvet,al
mov al,es:0
add k,al
add k,al
mov al,es:3
add s,al
add s,al
 
mov ax,2
int 33h
mov bl,8
mov ax,cx
div bl
mov cx,ax
mov ax,dx
div bl
mov possim,cl
mov posstr,al
mov ax,0003h
int 10h
 
push ax
mov al,possim
add k,al
mov al,posstr
add s,al
pop ax
 
mov bl,cvet
mov cx,1
mov al,30h          
mov ah,9
jmp prov1
u3:
sub k,2
sub s,1
mov dl,possim
mov dh,posstr
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
u4:
mov dl,possim
mov dh,posstr
push ax
mov   ah, 2
int 10h
pop ax
sub s,1
test dl,1
jnz cloop10
sub k,1
jmp cloop
 
 
cloop10:
int 10h
cmp dl,k
jz i2
push ax
mov   ah, 2
inc dl
int 10h
mov ax,0E20h
int 10h
mov   ah, 2
inc dl
int 10h        
pop ax         
inc al
cmp dl,k
jnz cloop10
int 10h
i2:
inc al
inc dh
jmp continue_loop2
 
cloop7:
mov dl,possim
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
cloop6:
push ax
mov   ah,2 
inc dh
int 10h
pop ax
jmp cloop7
 
continue_loop2:
cmp dh, s
jnz cloop6
jmp exit
 
 
 
 
 
 
 
 
 
cloop:
int 10h
cmp dl,k
jz i1
push ax
mov   ah, 2
inc dl
int 10h
mov ax,0E20h
int 10h
mov   ah, 2
inc dl
int 10h        
pop ax         
inc al
cmp dl,k
jnz cloop
 
int 10h
push ax
mov   ah, 2
inc dl
int 10h
pop ax
i1:
inc al
inc dh     
jmp continue_loop
 
cloop2:
mov dl,possim
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
cloop3:
push ax
mov   ah,2 
inc dh
int 10h
pop ax
jmp cloop2
 
continue_loop:
cmp dh, s
jnz cloop3
jmp exit
 
prov3:
cmp al,1
ja  exit
jmp n3
 
 
prov1:
cmp k,79d
ja asc_error
jmp u3
 
asc_error:
mov k,79d
jmp u4
 
 
 
                   
 
exit:
retf
 
cvet db 0h
posstr db 0h
possim db 0h
mes1 db 'Vvedite atribut simvola:  $'
 
 
str1 db 'Vvedite kolichestvo simvolov:  $'
str2 db 'Vvedite kolichestvo strok:  $'
crlf     db       0Dh,0Ah,'$'
 
k db 0h
s db 0h
buffer   db       6             
blength  db       ?             
bcontents:
         
end        start
exe:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
.model     small
.data
cvet db 0h
posstr db 0h
possim db 0h
mes1 db 'Vvedite atribut simvola:  $'
 
 
str1 db 'Vvedite kolichestvo simvolov:  $'
str2 db 'Vvedite kolichestvo strok:  $'
crlf     db       0Dh,0Ah,'$'
 
k db 0h
s db 0h
buffer   db       6             
blength  db       ?             
bcontents db 9 dup (0)
.stack 100h
.code
                
       
 
main: 
mov ax,@data
mov ds,ax
 
 
mov     dx,offset str1
        mov       ah,9
        int       21h           
mov     dx,offset buffer
        mov       ah,0Ah
        int       21h 
mov     dx,offset crlf
        mov       ah,9
        int       21h                     
                  
 
 
       xor       di,di         
       xor       ax,ax
       mov       cl,blength
       xor       ch,ch
       xor       bx,bx
       mov       si,cx         
       mov       cl,10         
asc2hex:
       mov       bl,byte ptr bcontents[di]
       sub       bl,'0'        
       cmp       bl,9          
       mul       cx            
       add       ax,bx         
       inc       di            
       cmp       di,si         
       jb        asc2hex       
mov ds:100,al
 
 
 
mov     dx,offset str2
        mov       ah,9
        int       21h           
mov     dx,offset buffer
        mov       ah,0Ah
        int       21h 
mov     dx,offset crlf
        mov       ah,9
        int       21h              
                  
 
 
       xor       di,di         
       xor       ax,ax
       mov       cl,blength
       xor       ch,ch
       xor       bx,bx
       mov       si,cx         
       mov       cl,10         
asc2hex2:
       mov       bl,byte ptr bcontents[di]
       sub       bl,'0'        
       cmp       bl,9          
       mul       cx            
       add       ax,bx         
       inc       di            
       cmp       di,si         
       jb        asc2hex2       
mov ds:200,al
 
 
mov ah,09h
mov dx, offset mes1
int 21h
xor dx,dx 
mov cx,8
 
m0:   
      mov ah,01h
      int 21h
      sub AL,'0'
      
      jmp prov3
n3:
      xor ah,ah
      or dx,ax
      shl dx,1
      xor ax,ax
      
loop m0
     
      shr DX,1 
      mov ds:300,DL      
      
    
 
 
 
 
mov   ax,0003h
int   10h
mov ax,0000h
int 33h
mov ax,1
int 33h
mov ax,0ch
mov cx,0004h
mov dx,offset proga
                                
int 33h
mov ah,0h
int 16h
mov ax,000ch
mov cx,0000h
int 33h
mov ax,4c00h
int 21h
 
 
 
 
proga proc
 
mov al,es:300
mov cvet,al
mov al,es:100
add k,al
add k,al
mov al,es:200
add s,al
add s,al
 
mov ax,2
int 33h
mov bl,8
mov ax,cx
div bl
mov cx,ax
mov ax,dx
div bl
mov possim,cl
mov posstr,al
mov ax,0003h
int 10h
 
push ax
mov al,possim
add k,al
mov al,posstr
add s,al
pop ax
 
mov bl,cvet
mov cx,1
mov al,30h          
mov ah,9
jmp prov1
u3:
sub k,2
sub s,1
mov dl,possim
mov dh,posstr
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
u4:
mov dl,possim
mov dh,posstr
push ax
mov   ah, 2
int 10h
pop ax
sub s,1
test dl,1
jnz cloop10
sub k,1
jmp cloop
 
 
cloop10:
int 10h
cmp dl,k
jz i2
push ax
mov   ah, 2
inc dl
int 10h
mov ax,0E20h
int 10h
mov   ah, 2
inc dl
int 10h        
pop ax         
inc al
cmp dl,k
jnz cloop10
int 10h
i2:
inc al
inc dh
jmp continue_loop2
 
cloop7:
mov dl,possim
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
cloop6:
push ax
mov   ah,2 
inc dh
int 10h
pop ax
jmp cloop7
 
continue_loop2:
cmp dh, s
jnz cloop6
jmp exit
 
 
 
 
 
 
 
 
 
cloop:
int 10h
cmp dl,k
jz i1
push ax
mov   ah, 2
inc dl
int 10h
mov ax,0E20h
int 10h
mov   ah, 2
inc dl
int 10h        
pop ax         
inc al
cmp dl,k
jnz cloop
 
int 10h
push ax
mov   ah, 2
inc dl
int 10h
pop ax
i1:
inc al
inc dh     
jmp continue_loop
 
cloop2:
mov dl,possim
push ax
mov   ah, 2
int 10h
pop ax
jmp cloop
 
 
cloop3:
push ax
mov   ah,2 
inc dh
int 10h
pop ax
jmp cloop2
 
continue_loop:
cmp dh, s
jnz cloop3
jmp exit
 
prov3:
cmp al,1
ja  exit
jmp n3
 
 
prov1:
cmp k,79d
ja asc_error
jmp u3
 
asc_error:
mov k,79d
jmp u4
 
 
 
                   
 
exit:
 
proga endp
 
         
end main
В чем ошибка?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2013, 10:09
Ответы с готовыми решениями:

Не запускаются AVZ. exe, CCleaner. exe, AutoLogger. exe, regedit. exe. Словил вирус bizigames
Доброго времени суток. Захотел я почистить комп от мусора всякого при помощи CCleaner, как не тут-то было. В общем, .exeшники...

Не запускаются AVZ. exe, CCleaner. exe, AutoLogger. exe, regedit. exe Дублируются процессы
Добрый день) не запускались экзешники перечисленные в топе, исправила кое как процессы chrome.exe, opera.exe, svchost.exe, explorer.exe...

Ошибка перевода из Str в Int
Доброго времени суток...Подскажите в чём ошибка! Вот код void __fastcall TForm1::FormCreate(TObject *Sender) { String f, k, y,...

2
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16372 / 7684 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
21.10.2013, 10:32
Цитата Сообщение от TiraniD Посмотреть сообщение
Написал программу в формате com.Все работает.
А чему должен быть равен атрибут? У меня, например, после ввода атрибута (числа от 0 до 9) программа завершается. Да и в процессе компиляции компилятор указал на ошибочную строку "proga proc:" может быть есть другой (рабочий) вариант текста СОМ-программы?
0
0 / 0 / 0
Регистрация: 25.11.2012
Сообщений: 54
21.10.2013, 15:20  [ТС]
Указывать в двоичном виде.01000000 например.Это черные буквы на красном фоне.Но вот еще что понял.У меня в com программе выводит матрицу после нажатия лкм.Но при втором нажатии просто зависает,а должно также выводить.

Добавлено через 19 минут
И да.proga proc: нужно убрать proc.Забыл удалить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2013, 15:20
Помогаю со студенческими работами здесь

Ошибка перевода QString в const char*
собственно сам вопрос пытаюсь формировать название файла на основании текущей даты, указанной в календаре int iYear =...

Ошибка на функции перевода типа данных
В общем - пишу домашку - программу для перевода из одной системы счисления в другую. Выдаёт ошибку, причём я не могу понять из-за чего....

Ошибка в коде перевода из 10-ной с/с в двоичную
procedure TForm1.Edit1Change(Sender: TObject); var a,b,c:integer; s:string; begin a:=0; c:=0; val((Edit1.Text),b); ...

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее благодарен! #include <stdio.h> int...

Вирусы dwm.exe dllhost.exe ctfmon.exe svchost.exe
Проблема заключается в том что у меня на компьютере в диспетчере задач стоят задачи которые я не могу снять а именно: dwm.exe dllhost.exe...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru