Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 03.05.2018, 12:02   #1
laketych
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 37
По умолчанию Как устранить ошибки?

Доброго времени суток!
Подскажите, как устранить данные ошибки?

(1) illegal instruction: LOCALS or wrong parameters.
(16) illegal instruction: English label or wrong parameters.
(30) illegal instruction: Ukrainian label or wrong parameters.
(44) illegal instruction: Russian label or wrong parameters.
(121) wrong parameters: LEA bx, English
(121) probably no zero prefix for hex; or no 'h' suffix; or wrong addressing; or undefined var: English


Код:
LOCALS
 
.model tiny
 
.code
 
        org     100h
main    proc
 
        jmp     start
 
Year    dw      0
Month   dw      0
Day     dw      0
 
English         label
        dw      offset  EnJanuary
        dw      offset  EnFebruary
        dw      offset  EnMarch
        dw      offset  EnApril
        dw      offset  EnMay
        dw      offset  EnJune
        dw      offset  EnJuly
        dw      offset  EnAugust
        dw      offset  EnSeptember
        dw      offset  EnOctober
        dw      offset  EnNovember
        dw      offset  EnDecember
 
Ukrainian       label
        dw      offset  UkJanuary
        dw      offset  UkFebruary
        dw      offset  UkMarch
        dw      offset  UkApril
        dw      offset  UkMay
        dw      offset  UkJune
        dw      offset  UkJuly
        dw      offset  UkAugust
        dw      offset  UkSeptember
        dw      offset  UkOctober
        dw      offset  UkNovember
        dw      offset  UkDecember
 
Russian         label
        dw      offset  RuJanuary
        dw      offset  RuFebruary
        dw      offset  RuMarch
        dw      offset  RuApril
        dw      offset  RuMay
        dw      offset  RuJune
        dw      offset  RuJuly
        dw      offset  RuAugust
        dw      offset  RuSeptember
        dw      offset  RuOctober
        dw      offset  RuNovember
        dw      offset  RuDecember
 
EnJanuary       db      'January', '$'
EnFebruary      db      'February', '$'
EnMarch         db      'March', '$'
EnApril         db      'April', '$'
EnMay           db      'May', '$'
EnJune          db      'June', '$'
EnJuly          db      'July', '$'
EnAugust        db      'August', '$'
EnSeptember     db      'September', '$'
EnOctober       db      'October', '$'
EnNovember      db      'November', '$'
EnDecember      db      'December', '$'
 
UkJanuary       db      'Sichen', '$'
UkFebruary      db      'Ljytij', '$'
UkMarch         db      'Berezen', '$'
UkApril         db      'Kviten', '$'
UkMay           db      'Traven', '$'
UkJune          db      'CHerven', '$'
UkJuly          db      'Lipen', '$'
UkAugust        db      'Serpen', '$'
UkSeptember     db      'Veresen', '$'
UkOctober       db      'Zhovten', '$'
UkNovember      db      'Listopad', '$'
UkDecember      db      'Gruden', '$'
 
RuJanuary       db      'yanvarya', '$'
RuFebruary      db      'fevralya', '$'
RuMarch         db      'marta', '$'
RuApril         db      'aprelya', '$'
RuMay           db      'maya', '$'
RuJune          db      'iyunya', '$'
RuJuly          db      'iyulya', '$'
RuAugust        db      'avgusta', '$'
RuSeptember     db      'sentyabrya', '$'
RuOctober       db      'oktyabrya', '$'
RuNovember      db      'noyabrya', '$'
RuDecember      db      'dekabrya', '$'
 
CrLf            db      0Dh, 0Ah, '$'
 
start:
        mov     ah,     2Ah
        int     21h
        mov     Year,   cx
        mov     ax,     0
        mov     al,     dh
        mov     Month,  ax
        mov     al,     dl
        mov     Day,    ax
        mov     ax,     Day
        call    OutInt
        mov     al,     '.'
        int     29h
        mov     ax,     Month
        call    OutInt
        mov     al,     '.'
        int     29h
        mov     ax,     Year
        call    Show_AX
        mov     ah,     09h
        lea     dx,     CrLf
        int     21h
        lea     bx,     English
        call    ShowDate
        lea     bx,     Ukrainian
        call    ShowDate
        lea     bx,     Russian
        call    ShowDate
 
        int     20h
main    endp
                                    
                                    
ShowDate        proc
        push    ax
        push    bx
        push    dx
        mov     ax,     Day
        call    OutInt
        mov     al,     ' '
        int     29h
        mov     ax,     Month   
        dec     ax
        add     bx,     ax
        add     bx,     ax
        mov     ah,     09h
        mov     dx,     [bx]
        int     21h
        mov     al,     ' '
        int     29h
        mov     ax,     Year
        call    Show_AX
        mov     ah,     09h
        lea     dx,     CrLf
        int     21h
 
        pop     dx
        pop     bx
        pop     ax
        ret
ShowDate        endp
                         
                         
OutInt proc
        push    ax
        push    dx
        aam
        add     ax,3030h
        mov     dl,ah
        mov     dh,al
        mov     ah,02
        int     21h
        mov     dl,dh
        int     21h
        pop     dx
        pop     ax
        ret
OutInt endp
                                    
              
                                    
Show_AX proc
        push    ax
        push    bx
        push    cx
        push    dx
        push    di
 
        mov     cx, 10
        xor     di, di      
 
        or      ax, ax
        jns     @@Conv
        push    ax
        mov     dx, '-'
        mov     ah, 2          
        int     21h
        pop     ax
 
        neg     ax
 
@@Conv:
        xor     dx, dx
        div     cx           
        add     dl, '0'       
        inc     di
        push    dx             
        or      ax, ax
        jnz     @@Conv    
        
@@Show:
        pop     dx             
        mov     ah, 2          
        int     21h
        dec     di             
        jnz     @@Show
 
        pop     di
        pop     dx
        pop     cx
        pop     bx
        pop     ax
        ret
Show_AX endp
 
end     main
P.S В Ассемблере ничего не знаю. Осталась последняя работа, что бы сдать.
laketych вне форума Ответить с цитированием
Старый 03.05.2018, 12:04   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Чем пытаетесь компилировать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.06.2019, 04:43   #3
Nif-naf
Пользователь
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 68
По умолчанию

He Bce lea bx,english MoryT ,BoT lea bx, byte ptr english ;1 cuMB. Macc.
Немного о GoAsm.
Nif-naf вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите устранить ошибки в коде Екатерина57 Win Api 5 31.05.2017 23:33
Нужно устранить ошибки в коде (C++) Wolf6666 Помощь студентам 0 12.06.2012 16:54
Как устранить ошибку? Кинельски Общие вопросы Delphi 7 10.10.2010 00:46
Оптимизировать и помочь устранить ошибки. Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 1 27.01.2009 00:54


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS