小编Sep*_*ura的帖子

Zilog Z80 OP-Code实现

我正在为优秀的旧GameBoy开发一个模拟器,我正面临一些问题,如何必须实现一些基本的操作代码.

现在我正在实施AND操作; 前几个(0xA0 - > 0xA3; 0xA6和0xA7)非常简单,但寄存器H,L的AND操作有点不同.

您可以在以下链接下载z80的文档: um0080.pdf(第172页)

这里有一些例子来说明我的意思(使用伪代码),基本上我做了什么:

AND A,H(注意位移)

(read HL register; >> 8) save in cache C
R->C = R->HL >> 8;

perform AND operation with cache
AND_H(R->C);
R->A &= R->C;
Run Code Online (Sandbox Code Playgroud)

和A,L(注意位屏蔽)

(read HL register; &0xFF) save in cache C
R->C = R->HL &0xFF;
Run Code Online (Sandbox Code Playgroud)

我知道所有的位操作,我知道他们做了什么,但似乎我无法弄清楚为什么需要这样做.我有一些理论(如果我错了,请纠正我:-)):

我已经理解的是,寄存器H和L基本上是寄存器HL,它是一个16位寄存器.由于CPU /总线只能处理8位操作,因此需要将其拆分; 或更多的逻辑建议:由于它只有一个寄存器,H和L的值在寄存器中被屏蔽,它们只需要彼此分开(高/低半字节?).

如果有人能够让我更清楚,我会非常感激,因为我只想拥有更多的背景知识(所有这些内容如何在内部运作),所以对我来说非常重要,因为我知道自己在做什么.

c z80 emulation opcodes gameboy

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

PHP如何使用idn_to_ascii作为邮件地址

因为电子邮件地址的本地部分可能有变音符号(例如 \xc3\xb6\xc3\xa4\xc3\xbc),所以我需要将它们转换为 ascii,因为 Zend-Mail 无法处理它 -它总是抛出无效标头异常。

\n\n

所以有这个 php 函数idn_to_ascii可以将域名转换为 IDNA ASCII 格式。问题是我不确定如何正确使用它。

\n\n

让我们使用这个电子邮件地址:test\xc3\xb6@domain.com

\n\n
// doesn\'t work (unknown error):\nidn_to_ascii(\'test\xc3\xb6@domain.com\') --> xn--test@domain-ufb.com\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我只是转换电子邮件地址的本地部分,它似乎可以工作:

\n\n
idn_to_ascii(\'test\xc3\xb6\') --> xn--test-8qa@domain.com\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是如果域部分也包含变音符号怎么办?
\ne.g. 测试\xc3\xb6@domain\xc3\xb6.com

\n\n

我应该做这样的事情吗?

\n\n
idn_to_ascii(\'test\xc3\xb6\').\'@\'.idn_to_ascii(\'domain\xc3\xb6.com\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

另外在 php-homepage 上有人写了一条评论说你必须跳过高级域部分(并且官方文档是错误的):\n请参阅此处

\n\n
idn_to_ascii(\'domain\xc3\xb6\') // right\nidn_to_ascii(\'domain\xc3\xb6.com\') // wrong\n
Run Code Online (Sandbox Code Playgroud)\n\n

我现在很困惑:|
\n有人有这方面的经验吗?最糟糕的是:我什至无法测试它,因为我没有带元音变音的电子邮件地址。

\n

php email idn

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

mysqldump 兼容模式 postgresql 不起作用

我需要将 mysql 数据库转换为 postgres。只是为了测试,我在本地安装了一个mysql数据库,并创建了一个带有一张表的简单测试数据库。现在我不想使用选项进行 SQL 转储--compatible=postgresql

mysqldump test --compatible=postgresql -uroot > ~/Documents/testdump.sql
Run Code Online (Sandbox Code Playgroud)

但我总是收到以下错误消息:

Invalid mode to --compatible: postgresql
Run Code Online (Sandbox Code Playgroud)

我正在使用 OSX 并使用自制软件安装了 mysql

mysql 版本是: stable 8.0.12 (bottled)

我也用 Docker 容器和最新版本尝试过它,8.0.12但它也给了我同样的错误信息。我需要兼容模式,所以我可以使用带有 python 脚本的转储将其转换为 postgresql。

编辑

我降级到5.7它现在可以工作了 - 我仍然想知道为什么它不能与新版本一起使用。

mysql postgresql

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

标签 统计

c ×1

email ×1

emulation ×1

gameboy ×1

idn ×1

mysql ×1

opcodes ×1

php ×1

postgresql ×1

z80 ×1