我尝试使用包含一个文件到我的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) 我正在尝试编写一个简单的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的原因是什么?有人有类似问题吗?
当我尝试启动线程(你)它什么也没做!这就是我班上的内容:
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)
输出什么都没有.有谁知道为什么?
我有一个奇怪的问题.我试图用聊天选项编写简单的客户端 - 服务器应用程序,但我遇到了一个问题 - 对象输入流读取错误的类.错误是:
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的实例.有没有人知道为什么,当然 - …