Article View: pl.comp.lang.asm
Article #1645Re: MS VirtualPC i problem z iret
From: aa
Date: Fri, 21 Dec 2007 22:46
Date: Fri, 21 Dec 2007 22:46
103 lines
3156 bytes
3156 bytes
Użytkownik "Michal Schulz" <michal.schulz@onet.eu> napisał w wiadomości
news:fkh5tv$k5v$1@news.onet.pl...
> aa wrote:
>
> Troche za malo konkretow podales a fusy w kubku sie skonczyly
>
Mam wyjątek 13 (ogólny) z adresem EIP = adresowi "iret". Nawet jak w tasku
jest tylko iret to wyjątek jest generowany i wskazuje na eip=0 (czyli iret).
Jezeli jest wypisywanie na ekran to napis pojawia się a potem jest wyjątek i
wnowu wskazuje na iret.
Pytanie: czy można iret zamienić na coś innego? Bo widać VPC sobie z nim nie
radzi.
Poniżej zamieszczam skórcony listing.
Andy
--------------
...
data segment use16
; Tablica GDT
gdt_null descr <>
gdt_data descr <data_size-1,0,0,92h>
gdt_code descr <code_size-1,0,0,9Ah>
gdt_stack descr <599,0,0,92h,0,>
gdt_screen descr <3999,8000h,0Bh,92h>
gdt_text1 descr <text1_size-1,0,0,9Ah,0,0> ;40
gdt_text2 descr <text2_size-1,0,0,9Ah,0,0> ;48
gdt_tss0 descr <103,0,0,89h,0,0> ;56
gdt_tss1 descr <103,0,0,89h,0,0> ;64
gdt_tss2 descr <103,0,0,89h,0,0> ;72
gdt_size=$-gdt_null
...
tss0 dw 52 dup (0)
tss1 dw 52 dup (0)
tss2 dw 52 dup (0)
task1_offs dw 0
task1_sel dw 64
task2_offs dw 0
task2_sel dw 72
data_size=$-gdt_null
data ends
...
;wstawienie do GDT adres seg. text1
...
;wstawienie do GDT adres seg. text2
...
;wstawienie do GDT adres TSS0
...
;wstawienie do GDT adres TSS1
...
;wstawienie do GDT adres TSS2
...
;inicjalizacja TSS1
mov tss1+4Ch,40 ; CS
mov tss1+20h,offset task1 ; IP
mov tss1+50h,24 ; SS
mov tss1+38h,200 ; SP
mov tss1+54h,40 ; DS=CS
mov tss1+48h,32 ; ES
;inicjalizacja TSS2
....
; Przejscie do trybu chronionego
...
; przelaczanie zadania
call dword ptr task1_offs
;; TU JUZ NIE WRACA
; Powrot do trybu real
...
main endp
...
;segment rozkazow zadania 1
text1 segment use16
task1 proc
; tu: wypisywanie na ekran napisu (działa)
iret
msg db 'Task1'
task1 endp
text1_size=$-task1
text1 ends
;segment rozkazow zadania 2
text2 segment use16
....
Technical Details
Message-ID:
<fkhfoo$mim$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<fkgpmi$r43$1@inews.gazeta.pl> <fkh5tv$k5v$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: "aa" <aa@o2.pl> Newsgroups: pl.comp.lang.asm Subject: Re: MS VirtualPC i problem z iret Date: Fri, 21 Dec 2007 23:46:42 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 104 Message-ID: <fkhfoo$mim$1@inews.gazeta.pl> References: <fkgpmi$r43$1@inews.gazeta.pl> <fkh5tv$k5v$1@news.onet.pl> NNTP-Posting-Host: 83-145-190-76.cable-modem.tkk.net.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1198277208 23126 83.145.190.76 (21 Dec 2007 22:46:48 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Fri, 21 Dec 2007 22:46:48 +0000 (UTC) X-Antivirus-Status: Clean X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-Priority: 3 X-Newsreader: Microsoft Outlook Express 6.00.2900.3138 X-User: sirtap X-Antivirus: avast! (VPS 071221-0, 2007-12-21), Outbound message X-MSMail-Priority: Normal Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit