Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
qwe321
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 23
1

Ошибка с процедурой

09.05.2013, 10:05. Просмотров 404. Ответов 2
Метки нет (Все метки)

1-й вариант с процедурой не работает(вызывается на 40 строке):
выдает ошибку "Процессор NTVDM обнаружил недопустимую инструкцию. CS:06ed IP:0012 OP:ed 06 46 32 d9"

Что я сделал не так, вроде же всё правильно написал

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
ssg segment para stack 'stack'
    dw 32 dup(?)
ssg ends
 
datasg segment para 'data'
ends
 
codesg segment para 'code'
begin proc far
    
assume cs:codesg,ds:datasg,ss:ssg
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax 
 
qwe proc
    mov ah,02
    mov bh,00
    int 10h
    ret
qwe endp
 
;clrscr
mov ax,0600h
mov bh,70h
mov cx,0000
mov dx,184fh
int 10h
;clrscr2
mov ax,0600h
mov bh,2eh
mov cx,094fh
mov dx,0000
int 10h
;loc_blue
mov dh,08
mov dl,00
call qwe
;blue
mov ah,09
mov al,'b'
mov bh,00
mov bl,11h
mov cx,340
int 10h
;loc_blue2
mov ah,02
mov bh,00
mov dh,12
mov dl,60
int 10h
;blue_2
mov ah,09
mov al,'b'
mov bh,00
mov bl,11h
mov cx,267
int 10h
;loc_red
mov ah,02
mov bh,00
mov dh,16
mov dl,00
int 10h
;red
mov ah,09
mov al,'r'
mov bh,00
mov bl,44h
mov cx,640
int 10h
 
ret
begin endp
codesg ends
end begin
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
ssg segment para stack 'stack'
    dw 32 dup(?)
ssg ends
 
datasg segment para 'data'
ends
 
codesg segment para 'code'
begin proc far
    
assume cs:codesg,ds:datasg,ss:ssg
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax 
 
;clrscr
mov ax,0600h
mov bh,70h
mov cx,0000
mov dx,184fh
int 10h
;clrscr2
mov ax,0600h
mov bh,2eh
mov cx,094fh
mov dx,0000
int 10h
;loc_blue 
mov ah,02
mov bh,00
mov dh,08
mov dl,00
int 10h
;blue
mov ah,09
mov al,'b'
mov bh,00
mov bl,11h
mov cx,340
int 10h
;loc_blue2
mov ah,02
mov bh,00
mov dh,12
mov dl,60
int 10h
;blue_2
mov ah,09
mov al,'b'
mov bh,00
mov bl,11h
mov cx,267
int 10h
;loc_red
mov ah,02
mov bh,00
mov dh,16
mov dl,00
int 10h
;red
mov ah,09
mov al,'r'
mov bh,00
mov bl,44h
mov cx,640
int 10h
 
ret
begin endp
codesg ends
end begin
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2013, 10:05
Ответы с готовыми решениями:

В чем разница между процедурой окна и хуковской процедурой?
Поясню вопрос: Как я понял определенный хук 'фильтрует' сообщения пришедшие...

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

Ошибка перед процедурой
Выдаёт ошибку 113. Error in statement (Ошибка в операторе) в процедуре....

Ошибка с процедурой Sort
var n, i: integer; t: double; s: string; b: array of (double,...

Ошибка при повторном открытии книги процедурой
Private Sub CommandButton4_Click() If WorkbookIsOpen("Книга.xls") = True...

2
Argogo
491 / 235 / 39
Регистрация: 29.03.2013
Сообщений: 504
09.05.2013, 11:33 2
qwe321, насколько я понял, тебе нужен флаг России?
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
;----------------------------------
ssg segment para stack 'stack'
    dw  32 dup(?)
ssg ends
;----------------------------------
mScrollUp   MACRO   UlR, UlC, RdR, RdC, Attr, Qty
        mov dx, RdR*100h+RdC
        mov cx, UlR*100h+UlC
        IFNB    <Attr>
        mov bh, Attr
        ELSE
        mov bh, 7
        ENDIF
        IFNB    <Qty>
        mov ax, 600h+Qty
        ELSE
        mov ax, 600h
        ENDIF
        int 10h
        ENDM
;-------------------
mSetCursor  MACRO   Row, Col
        mov dx, Row*100h+Col
        call    SetCursor
        ENDM
;-------------------
mWriteChar  MACRO   Char, Attr, Qty
        mov ax, 900h+Char
        mov bx, Attr
        mov cx, Qty
        int 10h
        ENDM
;----------------------------------
codesg  segment para 'code'
    assume  cs:codesg, ds:nothing, ss:ssg
begin   proc
 
    mSetCursor  25,0
    mScrollUp    0,0,  7,79, 70h 
    mScrollUp    8,0, 16,79, 10h 
    mScrollUp   17,0, 24,79, 40h 
 
    
    xor ax, ax
    int 16h
    mScrollUp    0,0, 24,79, 07h 
    mov ax, 4c00h
    int 21h     
begin   endp
;------------------------------
SetCursor   proc    near
        mov ah,2
        mov bh,0
        int 10h
        ret
SetCursor   endp
;------------------------------
codesg  ends
    end begin
1
AFP
649 / 336 / 37
Регистрация: 04.04.2012
Сообщений: 887
13.05.2013, 20:22 3
Не совсем в теме, но кажется, нарушена структура программы (вход в программу, расположение процедуры).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 20:22

Программа с процедурой (2)
Задание 6. Написать программу с процедурой: а) Написать программу подсчета...

8.2 Помогите С Процедурой
Помогите разобраться с задачей. Перепробывал много вариантов, но так как я...

Работа с процедурой
Доброго времени суток, нуждаюсь в помощи. Имеется процедура которая привязана...


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

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

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