Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите чуток плиззз. 
:(
    Опции темы
ShadowMaster
Дата 6.5.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Hi 2all! =))
Помогите плизз с прогой.
Тута у меня меню, а в нем 2 проги. Первая на файлы. Вторая на графику.
Вот на файлы работает намано как надо. А вот на графику просто вылетает в Волков и все.
Помогите плизз. Подскажите как поправить. Не бойтесь размера. Просто очень много строк содержит графическая программа. Здесь нужно разобратся как запустить графическую программу через меню. Я закоментировал некоторые блоки. Я думаю что надо либо меню как-то поправить либо конец графической программы, а у меня к сожалению ничего не получается. Осталось 2 дня до сдачи. Эт зачетная. Я прям не наю что делать.
Заранее спасибо огромное.

Код

stacksegment segment para stack 'stack'
dw 10h dup(?)
stacksegment ends

datasegment segment para public 'data'
NameFile db '11.txt',0
Handle dw 0
buffer db 0
summator dw 0
message db 13,10,'Srednee arifmeticheskoe: '
counter db 0
db 24h; end of string for 09h(int 21h)
firstmsg db '1-Dan fail s chislovoi informaciei.Vuchislit SA',13,10,'2-Graficheskaya ',13,10,24h 
datasegment ends

codesegment segment para public 'code'
assume cs:codesegment, ds:datasegment, ss:stacksegment 
start:
mov ax,datasegment
mov ds,ax

mov dx,offset firstmsg
mov ah,09h
int 21h
;Nachalo menu
wait_key:
mov ah,06h
mov dl,0ffh
int 21h
jz wait_key
cmp al,31h
je prg_1
prg_2:
call progr2
jmp exit
prg_1:
call progr1
exit:
;Konec menu
;-------- exit ----
mov ax,4c00h
int 21h
;------------------

;Nachalo koda pervoi programmu
progr1 proc

mov ah,3dh
mov dx,offset NameFile
mov al,2;r/w
int 21h
jc p1_ErrorOpening
;not error
mov Handle,ax;received handle

p1_my_loop:
mov ah,3fh
mov bx,Handle
mov dx,offset buffer
mov cx,1
int 21h
jc p1_ErrorReading
cmp ax,cx
jl p1_EndOfFile 
;readed 1 byte from file successfully
mov al,buffer
cmp al,39h ;>9?
ja p1_BadSymbol
cmp al,30h ;<0?
jb p1_BadSymbol
;symbol of the digit
and al,0Fh 
;good digit 0..9
xor ah,ah;clear ah
add summator,ax
inc counter

p1_BadSymbol:
mov ah,06h
mov dl,buffer
int 21h
jmp p1_my_loop

p1_EndOfFile:
;...
p1_SeekError:
;......
p1_ErrorReading:
;......
p1_ErrorOpening:
;......

mov ax,summator
mov bl,counter
div bl
add al,30h
mov counter,al

mov dx,offset message
mov ah,09h
int 21h

mov ah,40h
mov bx,Handle
mov dx,offset message
mov cx,28;length of the message
int 21h;write to file

mov ah,3eh
mov bx,Handle
int 21h
ret
;Konec koda pervoi programmu
progr1 endp
;Nachalo koda vtoroi programmu
progr2 proc

.286
data segment
  _srav     DW ?
  _Horg     DW ?
  adr       DW ?
  cen_x     DW ?
  cen_y     DB 100
  X_Left    DW ?
  X_Rigth   DW ?
  Y_Down    DB ?
  Y_UP      DB ?
  Color     DB 4
  Mas       DB ?
LineData  STRUC
  X1        DW ?
  Y1        DB ?
  X2        DW ?
  Y2        Db ?
LineData  Ends
LineTable LineData<160,37,175,80>
          LineData<175,80,220,87>
          LineData<220,87,185,110>
          LineData<185,110,195,150>
          LineData<195,150,160,125>
          LineData<160,125,125,150>
          LineData<125,150,135,110>
          LineData<135,110,100,87>
          LineData<100,87,145,80>
          LineData<145,80,160,37>
          DB 0FFh
data      Ends
;________________________________
stak      segment
          dw 256 (?)
stak      ends

code      segment
          assume CS:code,DS:data
;________________________________
    Line  PROC

          CMP   Cl,Ch
          JNC   UpToDown
          XCHG  Ch,Cl
          XCHG  BX,DX
UpToDown:
          SUB   Cl,Ch
          MOV   Al,160
          MUL   Ch
          ADD   AX,AX

          MOV   DI,AX
          ADD   DI,BX

          MOV   Ch,0
          SUB   DX,BX
          JC    @@RightToLeft
          CMP   CX,DX
          JC    @@RightDown
          MOV   AX,CX
          MOV   BP,CX
          SHR   AX,1
@@DownRightCicle:
          MOV   Bl,Color
          MOV   ES:[DI],Bl
          ADD   DI,320
          SUB   AX,DX
          JNC   @@DownRightTest
          INC   DI
          ADD   AX,BP
@@DownRightTest:
          LOOP  @@DownRightCicle
          RET
@@RightDown:
          XCHG  DX,CX
          MOV   AX,CX
          MOV   BP,CX
          SHR   AX,1
@@RightDownCicle:
          MOV   Bl,Color
          MOV   ES:[DI],Bl
          INC   DI
          SUB   AX,DX
          JNC   @@RightDownTest
          ADD   DI,320
          ADD   AX,BP
@@RightDownTest:
          LOOP  @@RightDownCicle
          RET
;‘Їа ў  ­ «Ґў®
@@RightToLeft:
          NEG   DX
          CMP   CX,DX
          JC    @@LeftDown
          MOV   AX,CX
          MOV   BP,CX
          SHR   AX,1
@@DownLeftCicle:
          MOV   Bl,Color
          MOV   ES:[DI],Bl
          ADD   DI,320
          SUB   AX,DX
          JNC   @@DownLeftTest
          DEC   DI
          ADD   AX,BP
@@DownLeftTest:
          LOOP  @@DownLeftCicle
          RET
@@LeftDown:
          XCHG  DX,CX
          MOV   AX,CX
          MOV   BP,CX
          SHR   AX,1
@@LeftDownCicle:
          MOV   Bl,Color
          MOV   ES:[DI],Bl
          DEC   DI
          SUB   AX,DX
          JNC   @@LeftDownTest
          ADD   DI,320
          ADD   AX,BP
@@LeftDownTest:
          LOOP  @@LeftDownCicle
          RET
    Line  ENDP
;________________________________
   _Left  PROC
          PUSH  DI
    @@LD:
          MOV   AL,ES:[DI-1]
          CMP   AL,Color
          JE    @@LD_Cicle
          DEC   DI
          JMP  @@LD
@@LD_Cicle:
          MOV   X_Left,DI
          POP   DI
          RET
   _Left  EndP
;________________________________
  _Rigth  PROC
          PUSH  DI
    @@RD:
          MOV   AL,ES:[DI]
          CMP   AL,Color
          JE    @@RD_Cicle
          INC   DI
          JMP  @@RD
@@RD_Cicle:
          MOV   X_Rigth,DI
          POP   DI
          RET
  _Rigth  EndP
;________________________________
Cen_Zac   PROC
          PUSH  DI
          MOV   DI,X_Left
  @@Cen_Zac:
          MOV   BL,Color
          MOV   ES:[DI],BL
          INC   DI
          CMP   DI,X_Rigth
          JE    @@Cen_IN
          JMP   @@Cen_Zac
   @@Cen_IN:
          POP   DI
          RET
Cen_Zac   EndP
;__________________________
Qute      PROC
          MOV   AH,06h
          MOV   DL,0FFh
          INT   21h
;          JNZ   @@Symb
;  @@Symb:
;          CMP   AL,0
;          JNE   @@_QIN

;          MOV   AH,06h
;          MOV   DL,0FFh
;          INT   21h

;          CMP   AL,10h
;          JE    @@_QOut
;          JMP   @@_QIN
;  @@_QOut:
          RET
Qute      EndP
;________________________________
;‡ Єа б дЁЈгал
Up_Zac    PROC
   @@_Up:
          MOV   AL,160          ;Lehgth string
          MUL   CH
          ADD   AX,AX
          ADD   AX,cen_x
          MOV   DI,AX

          CALL  _Left
          CALL  _Rigth
          CALL  Cen_Zac

          MOV   AL,ES:[DI-320]
          CMP   AL,Color
          JE    @@_Out1
          DEC   CH
          JMP   @@_Up
   @@_Out1:
          RET
Up_Zac    EndP
;___________________________
Down_Zac  PROC
    @@_Down:
          MOV   AL,160          ;Lehgth string
          MUL   CH
          ADD   AX,AX
          ADD   AX,cen_x
          MOV   DI,AX

          CALL  _Left
          CALL  _Rigth
          CALL  Cen_Zac

          MOV   AL,ES:[DI+320]
          CMP   AL,Color
          JE    @@_Out2
          INC   CH
          JMP   @@_Down
   @@_Out2:
          RET
Down_Zac  EndP
;________________________________
;Ќ з «® Їа®Ја ¬л

          MOV   AX,data
          MOV   DS,AX

          MOV   AX,0A000h
          MOV   ES,AX

          MOV   AX,13h
          INT   010h

          MOV   SI,OFFSET LineTable

@@LineCicle:
          MOV   BX,DS:[SI]+[LineData.X1]
          MOV   Ch,DS:[SI]+[LineData.Y1]
          MOV   DX,DS:[SI]+[LineData.X2]
          MOV   Cl,DS:[SI]+[LineData.Y2]
          MOV   AL,Color
          Call  Line

          ADD   SI,SIZE LineData
          MOV   AX,DS:[SI]
          CMP   AX,250
          JC    @@LineCicle

          MOV   AH,00h
          INT   16h
;____________________________________
          MOV   DX,03CEh
          MOV   al,2
          MOV   AH,Color
          OUT   dx,ax
;____________________________________
          MOV   cen_x,160
          MOV   CH,cen_y
          CALL  Up_Zac
;____________________________________
          MOV   cen_x,160
          MOV   CH,cen_y
          INC   CH
          CALL  Down_Zac
          MOV   Mas,CH
          INC   CH
   @@L_Cen:
          SUB   cen_x,2
          CMP   cen_x,126
          JLE    @@_Out3
          CALL  Down_Zac
          INC   CH
          JMP   @@L_Cen
   @@_Out3:
          MOV   cen_x,127
          CALL  Down_Zac

          MOV   CH,Mas
          MOV   cen_x,160
          INC   CH
   @@R_Cen:
          ADD   cen_x,2
          CMP   cen_x,192
          JA    @@_Out4
          CALL  Down_Zac
          INC   CH
          JMP   @@R_Cen
   @@_Out4:
          MOV   cen_x,193
          CALL  Down_Zac
          MOV   AH,00h
          INT   16h
;____________________________________
          MOV   CX,63
   @@Nok: CLI
          mov   dx,3C8h
          mov   al,Color
          out   dx,al
          mov   dx,3C9h
          mov   ah,63
          sub   ah,cl
          mov   al,ah        ;Blue
          out   dx,al
          mov   al,cl        ;Green
          out   dx,al
          mov   al,cl        ;Red
          out   dx,al
          sti

          mov   ah,0
          int   16h
          dec   cx
          cmp   cx,0
          jne   @@Nok


          MOV   AH,00h
          INT   16h

          MOV   AH,03h
          INT   10h
;Konec koda vtoroi programmu
  

          INT   21h

code      Ends

ret
progr2 endp

codesegment ends

;Konec konca
end start
  

Это сообщение отредактировал(а) ShadowMaster - 6.5.2006, 23:09
PM MAIL   Вверх
Akina
Дата 6.5.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Ты всерьез думаешь что кто-то будет разбираться в полутыще строк некомментированной лапши? 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

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

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

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


 




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


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

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