我正在使用cc65 6502模拟器,它编译6502的代码.我希望链接6502代码和C代码并生成一个我可以执行的二进制文件.
我的C代码"main.c":
#include<stdio.h>
extern void foo(void);
int main() {
foo();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的6502代码"foo.s":
foo:
LDA #$00
STA $0200
Run Code Online (Sandbox Code Playgroud)
代码可能看起来很简单,但我只是想实现成功的链接.但我无法摆脱以下错误:
Unresolved external '_foo' referenced in:
main.s(27)
ld65: Error: 1 unresolved external(s) found - cannot create output file
import socket
import time
HOST = "192.168.x.x"
PORT = 5454
data = "Hello"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(HOST,PORT)
while True:
s.sendto(data(HOST,PORT))
print "send" + data
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
我收到这样的错误:
Traceback (most recent call last):
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/base/data/home/apps/s~lyfe-playtm/20161117t121204.397114004363270281/main.py", line 24, in <module>
s.connect(HOST,PORT)
File "/base/data/home/runtimes/python27/python27_dist/lib/python2.7/socket.py", line 222, in meth
return getattr(self._sock,name)(*args)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/remote_socket/_remote_socket.py", line 752, …Run Code Online (Sandbox Code Playgroud) 我在6502程序集中编写了一个计算斐波纳契数的函数.我在C中调用该函数,然后将这两个文件编译为6502的单个二进制文件.但是我得到的输出是不同的.10的斐波纳契数是55,但它输出2649.它计算数量的斐波纳契数,但不计算0到10范围内的整数.例如,0的斐波纳契数是257,1表示它是258,10表示2649和等等.为什么我得到这样的输出.
我的C代码:"main.c"
#include<stdio.h>
int fib();
int main() {
unsigned int p = fib();
printf("%u\n",p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
其中fib()是6502程序集中的外部函数,它与C代码链接在一起.
我的6502代码:"fib.s"
fib:
//calculates fibonacci
Run Code Online (Sandbox Code Playgroud)
我用这两个文件编译 cl65 -t sim6502 main.c fib.s -o fib