С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065

фасм отказывается компилировать программу

04.06.2013, 14:38. Показов 894. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
главный модуль
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
include 'constants.inc'
 
use16
        jmp start
counter dd 0
irq0_handler:
    push eax
    push edx
    push ebx
 
    xor edx, edx
    inc dword [counter]
    mov eax, dword [counter]
    mov ebx, 18;
    div ebx
    cmp edx, 0
    jnz .cont
 
    inc  byte [es:6]
 
    cmp  byte [es:6],":"
    jnz .cont
    mov byte [es:6],"0"
    inc byte [es:4]
 
    cmp byte [es:4], ":"
    jnz .cont
    mov byte [es:4],"0"
    inc byte [es:2]
 
    cmp byte [es:2], ":"
    jnz .cont
    mov byte [es:2],"0"
    inc byte [es:0]
 
    cmp byte [es:0], ":"
    jnz .cont
    mov byte [es:0], "0"
    mov byte [es:2], "0"
    mov byte [es:4], "0"
    mov byte [es:6], "0"
 
 .cont:
    pop ebx
    pop edx
    pop eax
 
int_EOI:
    push ax
    mov  al, 20h
    out  020h, al  
    out  0a0h, al
    pop  ax
    iretd
 
align 8
include 'IDT.inc'
align 8
include 'GDT.inc'
 
start:
        push cs
        push cs
        pop ds
        pop ds
        in      al,92h
        or      al,2
        out     92h,al
 
        xor     eax,eax
        mov     ax, cs
        shl     eax,4
        mov ebx, eax
        add     eax, PROTECTED_MODE_ENTRY_POINT
        mov     [ENTRY_OFF],eax
 
        mov eax, ebx
        add     ax, GDT
        mov     dword [GDTR+2],eax
        lgdt fword [GDTR]
 
        mov eax, ebx
        add ax, IDT
        mov dword [IDTR+2],eax
        lidt fword [IDTR]
 
        cli
        in al, 70h
        or al, 80h
        out 70h, al
 
        mov     eax,cr0
        or      al,1
        mov     cr0,eax
 
           db      66h
           db      0EAh
ENTRY_OFF  dd      PROTECTED_MODE_ENTRY_POINT
           dw      8
 
use32
PROTECTED_MODE_ENTRY_POINT:
        mov ax, DATA_SELEKTOR
        mov ds, ax
        mov fs, ax
        mov gs, ax
        mov ss, ax
        mov ax, VIDEO_SELECTOR
        mov es, ax
 
        mov  bx, 2820h
        mov     al, 00010001b
        out     020h, al
        out     0A0h, al
        mov     al, bl
        out     021h, al
        mov     al, bh
        out     0A1h, al
        mov     al, 00000100b
        out     021h, al
        mov     al, 2
        out     0A1h, al
        mov     al, 00000001b
        out     021h, al
        out     0A1h, al
 
        in   al, 70h
        and  al, 7Fh
        out  70h, al
        sti
        mov eax, 00F00h
        mov ecx, 0820h
        mov edi, 00
        rep stosw
 
        mov byte [es:0], "0"
        mov byte [es:2], "0"
        mov byte [es:4], "0"
        mov byte [es:6], "0"
        jmp $
constants.inc
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        CODE_SELEKTOR  equ 8h
    DATA_SELEKTOR  equ 10h
        VIDEO_SELECTOR equ 18h
    VIDEO_BUFFER equ 0B8000h 
        
        macro DEFINE_GATE _address, _code_selektor, _type
{
        dw _address and 0FFFFh, _code_selektor, _type, _address shr 16
}
 
 struc descriptor limit0_15,base0_15,base16_23,flags1,flags2,base24_31
{
        .limit0_15 dw limit0_15
        .base0_15  dw base0_15
        .base16_23 db base16_23
        .flags1    db flags1
        .flags2    db flags2
        .base24_31 db base24_31
}
IDT.inc
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
IDT:
        dq 0 ; 0
        dq 0
        dq 0 ; 2
        dq 0 ; 3
        dq 0 ; 4
        dq 0 ; 5
        dq 0 ; 6
        dq 0 ; 7
        dq 0 ; 8
        dq 0 ; 9
        dq 0 ; 10
        dq 0 ; 11
        dq 0 ; 12
        dq 0
        dq 0  ; 14
        dq 0  ; 15
        dq 0  ; 16
        dq 0  ; 17
        dq 0  ; 18
        dq 0  ; 19
        dq 0  ; 20
        dq 0  ; 21
        dq 0  ; 22
        dq 0  ; 23
        dq 0  ; 24
        dq 0  ; 25
        dq 0  ; 26
        dq 0  ; 27
        dq 0  ; 28
        dq 0  ; 29
        dq 0  ; 30
        dq 0  ; 31
        DEFINE_GATE irq0_handler, CODE_SELEKTOR,INT_GATE  ; 20 (IRQ 0 - системный таймер)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 21 (IRQ 1 - клавиатура)ss
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 22 (IRQ 2 - ведомый контроллер прерываний)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 23 (IRQ 3 - COM2)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 24 (IRQ 4 - COM1)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 25 (IRQ 7 - LPT2)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 26 (IRQ 6 - FDD)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 27 (IRQ 7 - LPT1)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 28 (8)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 29 (9)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2A (10)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2B (11)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2C (12)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2D (13)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2E (14)
        DEFINE_GATE int_EOI, CODE_SELEKTOR,INT_GATE       ; 2F (15)
 
IDTR:
        dw IDT_SIZE-1
        dd ?
GDT.inc
Assembler
1
2
3
4
5
6
7
8
9
10
11
   
GDT:
NULL descriptor 0,0,0,0,0,0
CODE_desc descriptor 0FFFFh, 00h, 00h, 10011010b, 11001111b, 00h
DATA_desc descriptor 0FFFFh, 00h, 00h, 10010010b, 11001111b, 00h
VIDEO_descr db 0FFh,0FFh,00h,80h,0Bh,10010010b,01000000b,00h
GDT_size equ $-GDT
label GDTR fword
    dw GDT_size-1
    dd ?
GDT_END:
в итоге фасм говорит undefined symbol в файле IDT.inc и показывает на irq0_handler. в чем проблема?
Вложения
Тип файла: rar kernel.rar (1.7 Кб, 5 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2013, 14:38
Ответы с готовыми решениями:

ФАСМ для линукс
где можно раздобыть его, что ни скачаю все под винду..

Как исправить программу, что бы компилировать без -no-pio
GAS. Программа компилируется только с ключом -no-pio .data printf_format: .string "<%s>\n" #define READ_CHUNK 128 ...

фасм дурак или я что-то недогоняю? О_О
format PE console include 'include\win32ax.inc' entry start section '.data' data readable writeable n dd 0 ...

1
Эксперт быдлокодинга
 Аватар для Полный 30h
2094 / 528 / 70
Регистрация: 04.11.2010
Сообщений: 1,314
04.06.2013, 15:41
error: undefined symbol 'INT_GATE'.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2013, 15:41
Помогаю со студенческими работами здесь

Компилятор отказывается компилировать. (
Вообщем сам вопрос, чем могла быть вызвана такая проблема? Нажимаю F9 в дельфи маргнет Run и закроется и сразу переходит обратно в...

Обратная матрица. Отказывается компилировать.
Нужно для матрицы 30*30 найти обратную. Задаю матрицу через rand() состоящую из 1 и 0. С помощью Метода Гаусса — Жордана нахожу обратную...

Eclipse отказывается компилировать. ArrayIndexOutOfBoundsException
в чем ошибка эклипс отказывается компилировать выдает вот такую ошибку!!!! Exception in thread "main"...

Проблема: DevC++ отказывается компилировать (виста)!
Помогите, плиз, с такой проблемой: DevC++ 4.9.9.2, скачал, установил, вроде всё работает, НО отказывается компилировать в принципе. Нажимаю...

Компилятор в xcode отказывается компилировать код
занимаюсь программированием на си, скачал xcode, занимаюсь по книжке Керниган и ричи - почему компилятор в xcode отказывается компилировать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru