问题标签 [16-bit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3737 浏览

audio - 通过截断减少样本位深度

我必须将数字音频信号的位深度从 24 位降低到 16 位。

只取每个样本的 16 个最高有效位(即截断)相当于进行比例计算(out = in * 0xFFFF / 0xFFFFFF)?

0 投票
3 回答
6271 浏览

java - 写入 16 位 BufferedImage TYPE_USHORT_GRAY

我正在尝试使用 BufferedImage.TYPE_USHORT_GRAY 将 16 位灰度图像数据写入 png。通常我写这样的图像:

然后:

设置像素,最后:

写入 png 图像。

但现在我有这个作为图像:

如何将像素保存为该格式?使用带有 16 位整数的 setRGB() 似乎不起作用,当我打开保存的 png 文件时,我看到很多条带发生。

我尝试保存从 0 到 65535 的简单渐变,然后在灰度图像上使用 setRGB(),并在 Photoshop 中检查结果。我可以看到图像每 256 行包含较小的渐变。我猜 setRGB() 或 imageIO 不能像我希望的那样工作。

有解决方法吗?imageIO 甚至支持 BufferedImage.TYPE_USHORT_GRAY 格式吗?还是只能保存8位数据?如果它可以保存 16 位数据,我将如何保存像素数据,最好以 setRGB() 的方式工作(所以对于某个 x,y 坐标)?

0 投票
1 回答
510 浏览

windows-xp - 可靠地检测 16 位进程

由于需要运行 15 年以上的应用程序,我希望创建一个监视程序以确保 16 位应用程序在 32 位版本的 Windows XP Pro 上运行,并在必要时启动它。通常我会使用 EnumWindows() 来查找应用程序的窗口。不幸的是,这对于 16 位应用程序不起作用,或者至少不可靠。

鉴于我完全无法控制相关应用程序中的代码,我如何可靠地检测它是否正在运行?我正在用 C(不是 C++ 或 C#)对此进行编码。

0 投票
4 回答
24994 浏览

assembly - 在 x86 程序集中将整数打印到控制台

当我在 16 位汇编中添加两个值时,将结果打印到控制台的最佳方法是什么?

目前我有这个代码:

我认为 dl 值应该是 ASCII 码,但我不确定如何将加法后的 ax 值转换为 ASCII。

0 投票
3 回答
1320 浏览

c - 16 位 DOS 中的 XMS 分配

请原谅我尝试死灵术,但我实际上需要为 16 位 DOS 编写一些代码(!)。我必须验证一个软件在为 16 位平台构建时是否正确执行,我发现我们的 XP 工作站实际上可以运行 16 位 DOS 应用程序,这使得使用现有的批处理测试系统成为可能。

无论如何,该软件由一个库和一个数据库组成。较小的数据库(最大约 150kB)可以定义为静态全局数组,也可以从文件读取到分配有 的缓冲区halloc(),因此我相当有信心库和测试工具构建正确。

但是,我们也有一些更大的数据库要测试,最高可达 ~1.8Mb。这太大了,无法正常分配,所以我写了一个小的支持库来分配XMS内存。有了这个,我可以在一个小玩具程序中成功地分配、使用(即写入和读取数据)和释放多达 16Mb 的数据。但是,在“真实”应用程序中使用 XMS 工具时,出现以下错误:

谷歌搜索这个错误几乎没有相关结果,这种类型的错误似乎通常归咎于杂项恶意软件。

代码库是严格的 C90,当前用于 DOS 构建的编译器是使用“大”内存模型的 OpenWatcom 1.9。构建时没有警告或错误。

XMS 支持库如下,错误似乎发生在调用 xmsmalloc() 之后:

一些具体的问题:

  1. 我在哪里可以找到有关错误消息的更多信息(我猜 OP 表示操作码,但其他字段呢?)
  2. 在 Windows XP 上运行时,我发现的 XMS API 参考是否仍然适用,或者是否有一些我应该参考的更新版本?
  3. 我可以用内联汇编程序搞砸系统状态吗?我应该如何解决?
  4. 您对如何解决这个问题有更好的想法吗?:-) DOS 扩展程序似乎需要 32 位模式,本练习的重点是使用 16 位模式。
0 投票
2 回答
1589 浏览

linux - linux下16位链接

当我使用命令“nasm -f elf -l hello.lst hello.asm”时,我在 linux 下使用 NASM 汇编程序,它工作正常,但是当与 gcc“gcc -o hello hello.o”链接时,它会产生错误:

hello.asm:(.text+0x4):重定位被截断以适应:R_386_16 对 `.data' collect2:ld 返回 1 个退出状态

我了解到这是 gcc 和 16 位的一些问题

任何解决方案?

0 投票
2 回答
2100 浏览

assembly - 在 x86 程序集中将整数转换为 ASCII 代码的问题

我正在尝试使用下面的代码将整数转换ax为 ASCII 代码。但是运行它会输出 515,而不是我预期的 513。错误在哪里?

0 投票
4 回答
14878 浏览

windows - 在 Windows 7 64 位上运行 16 位命令行应用程序

我有想要在 Windows 7 x64 上运行的 16 位命令行工具

我不想使用虚拟机

16 位工具可以以某种方式包装吗?

可能是 16 位 CMD.exe 模拟器

0 投票
2 回答
352 浏览

windows - 使用 Windows 16 位 API 更改目录

我用 MASM 6.0(Assembly API Windows 16 位)编写我想在我的代码中更改目录。我正在使用 DOS3Call 函数(比 int 21h 快)

使用此功能,我可以更改目录,但我想知道是否有任何 API 可以在不使用中断的情况下为我执行此操作。

我需要一个 16 位 API,32 位我知道怎么做。

有谁能够帮我?

对不起英语,我不是美国人...

0 投票
1 回答
2614 浏览

external - 如何使用 Flags: external 从 [Files] 中的 CD-ROM 复制文件?

我正在为具有 16 位安装程序的旧 cd-rom 游戏编写新安装程序,安装程序需要位于硬盘上并且能够从原始光盘复制文件。如果所有游戏文件都打包在安装程序中,我已经设置了一个可以安装游戏的脚本,这对个人使用来说很好,但我希望能够重新分发安装程序,以便其他人可以使用它。

我想为 CD-ROM 源驱动器设置一个单独的选择框,如下所示:http: //www.vincenzo.net/isxkb/index.php? title=Ask_for_a_drive_to_install但不是目标,而是我希望它是源,也可以选择目标目录。我需要的所有文件当前都列在 [Files] 部分中,我想将它们设置为 Flags: external 但我不知道如何从 CD-ROM 而不是 inno setup 的 setup.exe 文件夹中复制它们。