Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Sklif
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 60
1

undefined symbol SCRLIN

20.12.2013, 21:54. Просмотров 597. Ответов 3
Метки нет (Все метки)

Здравствуйте, ниже будет код программы помогите подкорректировать.... пишет ошибку undefined symbol SCRLIN и правильные ли у меня вычисления: Программа вычисления выражения A*X/Y, если X делится на Y нацело
иначе A*X + Y
mov AX,XVAR
CWD
IDIV YVAR
TEST dx,dx; если делится без остатка, то DX=0
jnz a1
A1:
MOV AX,XVAR
DIV YVAR
MOV AUX,AX
MOV AX,AUX
MUL A1VAR
MOV AX,UVAR
;здесь AX=X/Y умножаем на A
jmp a2
A2:
MOV AX,A2VAR
MUL XVAR
MOV AUX1,AX
MOV AX,AUX1
ADD AX,YVAR
MOV AX,UVAR ;здесь вычисляем A*X + Y



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
TITLE   ALGBRAN (EXE)                   
 
STACKSG SEGMENT PARA STACK 'Stack'
    DW  32 DUP(?)   
STACKSG ENDS
 
DATASG  SEGMENT PARA 'Data'
        UVAR    DW (?)                
        A1VAR   DW 2
        A2VAR   DW 2
        XVAR    DW 2               
        YVAR    DW 2               
        ASCVAL  DB '      ','$'         
        AUX     DW (?)   
        AUX1    DW (?)                 
        XY      DW (?)                  
        CON     DW 1                   
        EXIT    DW (?)                 
DATASG  ENDS
;----------------------------------------
CODESG  SEGMENT PARA 'Code'
BEGIN   PROC    FAR
        ASSUME  CS:CODESG, DS:DATASG, SS:STACKSG
        PUSH    DS
        XOR     AX,AX                  
        PUSH    AX                      
        MOV     AX,DATASG              
        MOV     DS,AX                 
        LEA     SI,ASCVAL
;----------------------------------------
; Программа вычисления выражения
;A*X/Y,   если X делится на Y нацело
;иначе  A*X + Y
;----------------------------------------
 
;----------------------------------------
mov AX,XVAR
   CWD
   IDIV YVAR
   TEST dx,dx; если делится без остатка, то DX=0
   jnz a1
A1:
        MOV     AX,XVAR                
        DIV     YVAR
        MOV     AUX,AX 
        MOV     AX,AUX                
        MUL     A1VAR
        MOV     AX,UVAR
                                  ;здесь AX=X/Y умножаем на A
   jmp a2
A2:   
        MOV     AX,A2VAR                
        MUL     XVAR
        MOV     AUX1,AX 
        MOV     AX,AUX1                
        ADD     AX,YVAR
        MOV     AX,UVAR           ;здесь вычисляем A*X + Y
;----------------------------------------
        CALL    SCRLIN                
        RET                            
BEGIN   ENDP
CODESG  ENDS
        END     BEGIN
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 21:54
Ответы с готовыми решениями:

Undefined symbol
Почему компилятор не видит моей процедуры? ideal model small stack 1024 dataseg ...

Undefined symbol in module
Доброго времени суток. Объявил такую вещь в мейн файле: extrn obr:farкогда в программе пишу call...

Ошибка Undefined symbol: GWL_ STYLE
Не могу скомпилировать программу. Вот такие ошибки: Текст программы во вложенном файле. ...

Linker ошибка: Undefined symbol c in module modul.asm
При стыковке выбивает ошибка, которая в заголовке написана. В чем проблема может быть? #include...

Hello, world и ошибка "error A2006: undefined symbol"
помогите откомпилировать в масм32, выдает ошибку hello.asm(7) : error A2006: undefined symbol :...

3
Mikl___
Автор FAQ
13381 / 6382 / 630
Регистрация: 11.11.2010
Сообщений: 11,545
21.12.2013, 03:21 2
Sklif,
строка 59 "CALL SCRLIN", но ни процедуры, ни метки, ни переменной с таким именем нет. Чтобы понять правильные ли у тебя вычисления, сперва добейся получения ЕХЕ-файла, а потом погоняй его под отладчиком - ценность программирования в том, что ты находишь СВОИ ошибки в СВОЕЙ программе САМОСТОЯТЕЛЬНО
0
Sklif
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 60
21.12.2013, 21:33  [ТС] 3
Цитата Сообщение от Mikl___ Посмотреть сообщение
Sklif,
строка 59 "CALL SCRLIN", но ни процедуры, ни метки, ни переменной с таким именем нет. Чтобы понять правильные ли у тебя вычисления, сперва добейся получения ЕХЕ-файла, а потом погоняй его под отладчиком - ценность программирования в том, что ты находишь СВОИ ошибки в СВОЕЙ программе САМОСТОЯТЕЛЬНО
Спасибо, но я бы действительно погонял бы его и проверил на правильность вычислений, но эта ошибка не даёт мне возможности сделать проверку, кстати она встречается у меня не первый раз но как её исправить я так и не понял не могли бы Вы мне помочь? как правильно объявить процедуру метку или переменную с таким именем? просто как обычную переменную?
0
Mikl___
Автор FAQ
13381 / 6382 / 630
Регистрация: 11.11.2010
Сообщений: 11,545
22.12.2013, 03:46 4
Sklif,
после строки "BEGIN ENDP" набери
Assembler
1
2
3
4
SCRLIN proc
...;здесь тело процедуры
ret; возврат из процедуры
SCRLIN endp
сходи в библиотеку и возьми учебник
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 03:46

Ошибка при подключении плагина QPSQL "Symbol lookup error undefined symbol pqstatus"
Подскажите пожалуйста. Подключила драйвер PSQL, но при попытке выполнить код QSqlDatabase db...

Undefined symbol
Помогите пожалуйста. Нужно добавить форму к проекту, 4 добавились нормально, пятая вроде тоже, но...

Undefined symbol
Пишет, что a,b,n,h не объявлены. Что делать? Unit1.cpp(53): E2451 Undefined symbol 'a'...


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

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

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