Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Interapt 
:(
    Опции темы
xseroxas
Дата 4.12.2007, 18:12 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Возникла проблема, надо написат прогу которая узнаёт команду Interrupt on Overflow(INTO), эсли встретила вывести на екран бце регицтры и 3 последних знаценй из стека. мозет кто мысл какую подкинет.

Спасиба за раниэ.
PM MAIL   Вверх
MAKCim
Дата 5.12.2007, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



xseroxas
пишите нормальным русским языком
Цитата(xseroxas @  4.12.2007,  18:12 Найти цитируемый пост)
которая узнаёт команду Interrupt on Overflow(INTO)

что значит узнает?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
dumb
Дата 5.12.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 4
Всего: 158



Цитата(MAKCim @  5.12.2007,  00:40 Найти цитируемый пост)
что значит узнает?
типа обработчик int 4 нужно написать... smile
PM MAIL   Вверх
xseroxas
Дата 11.12.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2007

Репутация: нет
Всего: нет



Код


    .MODEL small        
    .STACK 100h

    IntNo = 4h

; ----- Data-------------------------------------------------

    .DATA
hex             DB "0123456789ABCDEF"    
msg1             DB ":"
cmdAddr         DB "0000 : $"
firstBytes      DB "0000",0Dh,0Ah,"$"
Counter        DB 5
ClockCnt    DB 0
Msg        DB "Int!",0Dh,0Ah,"$"

; ----- Kod -----------------------------------------------------------------

    .CODE

OrigISRSeg    DW ?
OrigISROfs    DW ?

Strt:
    mov ax,@data
    mov ds,ax

    ; --- es <- 0
    mov ax, 0
    mov es, ax

    mov ax,es:[IntNo*4]
    mov cs:[OrigISROfs],ax
    mov ax,es:[IntNo*4 + 2]
    mov cs:[OrigISRSeg],ax

    pushf
    cli
    mov word ptr es:[IntNo*4],offset ISRProcedure
    mov word ptr es:[IntNo*4 + 2],seg ISRProcedure
    popf
    int 4h
    xor ax,ax

     int 4h
     int 4h
     int 4h
    
    push ds
    mov ax,cs:[OrigISRSeg]
    mov ds,ax
    mov dx,cs:[OrigISROfs]
    mov ah,25h
    mov al,IntNo
    int 21h
    pop ds

    mov ax,04C00h
    int 21h            

;--------------------------------------------------------------------------
ISRProcedure PROC
    push bp
    
     mov bp,sp
    
    push ax
    push bx
    push dx
    push ds

    mov ax,@data
    mov ds,ax
    
  
    mov ax,[bp+2]
    mov dx,OFFSET cmdAddr
    call IntToHex
    call PrintStr
    push ds
    mov ds,[bp + 4]
    mov bx,[bp + 2]
    mov ax,[bx]
    pop ds

    xchg al,ah
    mov dx,OFFSET firstBytes
    call IntToHex
    call PrintStr
    pop ds
    pop dx
    pop bx
    pop ax
    pop bp
    
    push cs:[OrigISRSeg]
    push cs:[OrigISROfs]
    retf
ISRProcedure ENDP

;--------------------------------------------------------------------------
; PrintStr$ - prints string to STDOUT
;    IN
;      ds:dx - string
;--------------------------------------------------------------------------
PrintStr PROC
    push ax

    mov ah,9h
    int 21h

    pop ax
    ret
PrintStr ENDP


IntToHex PROC
    push ax
    push bx
    push cx
    push di
    push dx

    mov di,dx
    mov cx,4

@@lopppp:
    rol ax,4
    mov bx,ax
    and bx,0Fh
    mov bl,[bx + hex]
    mov [di],bl
    inc di
    loop @@lopppp

    pop dx
    pop di
    pop cx
    pop bx
    pop ax
    ret
IntToHex ENDP

END Strt





Да програма должна когда встречаэт INT 4h запускать интерапт и печятат адрес где оне нашлас и код свой в HЕХ

коешто сам набросил но вот както адрес ниправилна показываэт, показываэт код и адрес на один в период. Может кто поможыт исправит.

Спасиба smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0707 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.