Ниже пример программы nasm + opengl. После компиляции падает. Вопрос - почему? Если запускать в gdb , затем команда run окошко и цветной треугольник прорисовывается, т.е. до какойто степени оно работает.
help me please
; ----------------------------------------------------------------------------
; triangle.asm
;
; A very simple *Windows* OpenGL application using the GLUT library.  It
; draws a nicely colored triangle in a top-level application window.  One
; interesting thing is that the Windows GL and GLUT functions do NOT use the
; C calling convention; instead they use the "stdcall" convention which is
; like C except that the callee pops the parameters.
; ----------------------------------------------------------------------------
        global  main
        extern  glClear
        extern  glBegin
        extern  glEnd
        extern  glColor3f
        extern  glVertex3f
        extern  glFlush
        extern  glutInit
        extern  glutInitDisplayMode
        extern  glutInitWindowPosition
        extern  glutInitWindowSize
        extern  glutCreateWindow
        extern  glutDisplayFunc
        extern  glutKeyboardFunc
        extern  glutPostRedisplay
        extern  glutReshapeFunc
        extern  glutMainLoop
        section .text
title:  db      'A Simple Triangle', 0
zero:   dd      0.0
one:    dd      1.0
half:   dd      0.5
neghalf:dd      -0.5
display:
        push    dword 16384
        call    glClear              ; glClear(GL_COLOR_BUFFER_BIT)
        push    dword 9
        call    glBegin              ; glBegin(GL_POLYGON)
        push    dword 0
        push    dword 0
        push    dword [one]
        call    glColor3f           ; glColor3f(1, 0, 0)
        push    dword 0
        push    dword [neghalf]
        push    dword [neghalf]
        call    glVertex3f          ; glVertex(-.5, -.5, 0)
        push    dword 0
        push    dword [one]
        push    dword 0
        call    glColor3f           ; glColor3f(0, 1, 0)
        push    dword 0
        push    dword [neghalf]
        push    dword [half]
        call    glVertex3f          ; glVertex(.5, -.5, 0)
        push    dword [one]
        push    dword 0
        push    dword 0
        call    glColor3f           ; glColor3f(0, 0, 1)
        push    dword 0
        push    dword [half]
        push    dword 0
        call    glVertex3f          ; glVertex(0, .5, 0)
        call    glEnd                ; glEnd()
        call    glFlush              ; glFlush()
        ret
keyboard:
	  pop    ebx;
	  pop    ebx;
	  pop    ebx;
	  call   glutPostRedisplay
	  ret
	  
reshape:
	  pop    ebx;
	  pop    ebx;
	  ret
main:
        push    dword [esp+8]           ; push argv
        lea     eax, [esp+8]            ; get addr of argc (offset changed :-)
        push    eax
        call    glutInit             ; glutInit(&argc, argv)
        push    dword 0
        call    glutInitDisplayMode
        push    dword 80
        push    dword 80
        call    glutInitWindowPosition
        push    dword 300
        push    dword 400
        call    glutInitWindowSize
        push    title
        call    glutCreateWindow
        push    display
        call    glutDisplayFunc
        call    glutMainLoop
        ret
 


    
      Ответ на:
      
          комментарий
        от Darkman 
  
    
      Ответ на:
      
          комментарий
        от nikolayd 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от Darkman 
  

    
      Ответ на:
      
          комментарий
        от svr4 
  
    
      Ответ на:
      
          комментарий
        от nikolayd 
  
    
      Ответ на:
      
          комментарий
        от Darkman 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от svr4 
  
    
      Ответ на:
      
          комментарий
        от generatorglukoff 
  
    
      Ответ на:
      
          комментарий
        от svr4 
  
    
      Ответ на:
      
          комментарий
        от svr4 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  
    
      Ответ на:
      
          комментарий
        от svr4 
  
    
      Ответ на:
      
          комментарий
        от Darkman 
  
    
      Ответ на:
      
          комментарий
        от Darkman 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Неопределённая ссылка на «glClear» (2020)
- Форум OpenGL: освещение (2005)
- Форум Hello world на opengl сегфолтится:( (2011)
- Форум как сделать библиотеку с glut (2013)
- Форум openGL: почему-то не работает ничего, кроме последней функции (2011)
- Форум [OpenGL] Туплю :/ (2008)
- Форум Программа для OpenGL под mingw32 (2007)
- Форум OpenGL. Ошибка проверки глубины. (2013)
- Форум OpenGL (2008)
- Форум Тормоизт текстурированный куб в OpenGL. (2003)