小编The*_*eus的帖子

无法在NASM中包含文件

我尝试使用包含一个文件到我的boot.asm文件中

%include "input.asm"
Run Code Online (Sandbox Code Playgroud)

但每次我尝试编译它时都会收到错误消息,说nasm无法打开包含文件.
input.incIS与boot.asm在同一目录中我在这里和谷歌寻找答案,但没有人帮助我.

是否有一种特殊的方式包含文件应该在包含之前编译/格式化?或者只是我的鼻子在咆哮?

编辑:这是包含的代码:

mov ax, 0x07C0  ; set up segments
mov ds, ax    mov es, ax
mov si, welcome
call print_string
mov si, welcome2    
call print_string    
mov si, welcome4    
call print_string  
jmp .mainloop

%include 'input.asm'
mainloop:    ;loop here
Run Code Online (Sandbox Code Playgroud)

input.asm:

 ; ================
 ; calls start here
 ; ================

 print_string:
   lodsb        ; grab a byte from SI

   or al, al  ; logical or AL by itself
   jz .done   ; if the result is zero, get out

   mov …
Run Code Online (Sandbox Code Playgroud)

assembly nasm

6
推荐指数
2
解决办法
1万
查看次数

四边形出现在别人面前,而不是

我正在尝试编写一个简单的Doom风格游戏,为此我决定编写一个块式引擎(与Minecraft很相似),但是我遇到了一个问题:这些块渲染得非常奇怪,部分那里没有穿过的街区.

当你从左边看四边形时会发生这种情况:剩下 但是,当你从右边看时,一切看起来都很好: 对

我们来看看代码,好吗?这是我初始化OpenGL的方式:

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    gluPerspective(fov, (float) Display.getWidth() / (float) Display.getHeight(), 0, -2);

    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glEnable(GL_TEXTURE_2D);
    glEnable(GL_BLEND);
    glEnable(GL_CULL_FACE);
    glCullFace(GL_BACK);
Run Code Online (Sandbox Code Playgroud)

我使用显示列表渲染块的面.我尝试使用VBO,但改为显示列表,因为我认为它们导致了问题.每个显示列表看起来大致相同:

        glNewList(listTop, GL_COMPILE);
        glBegin(GL_QUADS);
        tex.bind();
            glTexCoord2f(0, 0);
        glVertex3f(x+0.0f, y+1.0f, z-1.0f); 
            glTexCoord2f(0, 1);
        glVertex3f(x+0.0f, y+1.0f, z+0.0f); 
            glTexCoord2f(1, 1);
        glVertex3f(x+1.0f, y+1.0f, z+0.0f); 
            glTexCoord2f(1, 0);
        glVertex3f(x+1.0f, y+1.0f, z-1.0f); 
        glEnd();
    glEndList();
Run Code Online (Sandbox Code Playgroud)

然后是渲染:

glClearColor(0, .5f, 0, 1);
    glClear(GL_COLOR_BUFFER_BIT);

            glPushMatrix();

          if(rTo)glCallList(listTop);
          if(rBt)glCallList(listBot);
          if(rFr)glCallList(listFront);
          if(rBk)glCallList(listBack);
          if(rLe)glCallList(listLeft);
          if(rRi)glCallList(listRight);

            glPopMatrix();

    glLoadIdentity();
    //Display.update() etc here
Run Code Online (Sandbox Code Playgroud)

那么,可能导致这个bug的原因是什么?有人有类似问题吗?

java opengl lwjgl

1
推荐指数
1
解决办法
55
查看次数

Java - 线程无法启动

当我尝试启动线程(你)它什么也没做!这就是我班上的内容:

private Updater uc;
Thread t1 = new Thread(uc);
-bunch of other code-
t1.start();
Run Code Online (Sandbox Code Playgroud)

Updater.java:

public class Updater implements Runnable{
public void run(){
  System.out.println("I work!");
  }
}
Run Code Online (Sandbox Code Playgroud)

输出什么都没有.有谁知道为什么?

java multithreading

0
推荐指数
1
解决办法
1405
查看次数

对象输入流类转换异常 - 即使它不应该发生

我有一个奇怪的问题.我试图用聊天选项编写简单的客户端 - 服务器应用程序,但我遇到了一个问题 - 对象输入流读取错误的类.错误是:

Exception in thread "Thread-4" java.lang.ClassCastException: org.oxomoco.packets.PacketAlive cannot be cast to org.oxomoco.packets.PacketMessage
at org.oxomoco.server.SocketConnectionServer.run(SocketConnectionServer.java:52)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

它发生在这里:

 PacketMessage pm = (PacketMessage)ois.readObject();
Run Code Online (Sandbox Code Playgroud)

这是循环中看起来像这样:

            while(true){




            //if(ois.readObject() instanceof PacketMessage){


            //  pm = (PacketMessage)ois.readObject();
            //  se.println(ois.readObject().toString());
            //}



            if((ois.readObject() instanceof PacketMessage)==true){
                System.out.println("It is: " + (ois.readObject() instanceof PacketMessage));

                PacketMessage pm = (PacketMessage)ois.readObject();

                se.acprintln(">>",uname + ": " +pm.getMsg());

            }
            if((ois.readObject() instanceof PacketAlive)==true){
                System.out.println("-it is: " + (ois.readObject() instanceof PacketAlive));
                PacketAlive pa = (PacketAlive)ois.readObject();
            }

    }
Run Code Online (Sandbox Code Playgroud)

不知何故 - 即使我检查实例 - 对象输入流是PacketMessage的实例,它应该是PacketAlive的实例.有没有人知道为什么,当然 - …

java sockets networking

0
推荐指数
1
解决办法
1420
查看次数

标签 统计

java ×3

assembly ×1

lwjgl ×1

multithreading ×1

nasm ×1

networking ×1

opengl ×1

sockets ×1