🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #1645

Re: MS VirtualPC i problem z iret

#1645
From: aa
Date: Fri, 21 Dec 2007 22:46
103 lines
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-mail
References: <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