Не то заносится в SI, DI

Тема в разделе "WASM.BEGINNERS", создана пользователем tosha, 13 сен 2005.

  1. tosha

    tosha New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    7
    Есть ламерский код, но он глючит:

    .286

    CSEG segment

    assume cs:CSEG,ds:CSEG,ss:CSEG,es:CSEG

    org 100h



    BEGIN:

    push 0BF00h

    pop es

    mov di,offset Begin

    mov si,di

    mov cx,offset Finish-100h

    rep movsb



    mov bx,offset Prog_end

    push cs

    push bx



    mov bx,offset Prog_jmp

    push 0BF00h

    push bx

    retf



    Prog_jmp:

    ;Начало глюка

    ;В первый раз или в SI, или в DI заносится че-то не то

    mov di,100h

    mov si,offset File_first6

    ;А вот во второй раз все нормуль

    mov di,100h

    mov si,offset File_first6

    ;Конец глюка

    retf

    Prog_end:

    ret





    File_first6 db ?

    Finish equ $



    CSEG ends

    end BEGIN



    На моем проце(Pentium M 730) он глючит в выделенном фрагменте. Даже просто через DOS пробовал грузить. На остальных процах все нормуль. Мож у кого есть такой же проц и он проверит...