16-bit相关内容

无法在16位实模式下清除整个屏幕

我正在尝试在简单的16位实模式操作系统中清除屏幕.下面是代码: clearScreen: pusha mov ah, 0x7 mov al, 0 int 0x10 popa ret 我了解到将al设置为0并调用滚动屏幕中断会清除屏幕,但似乎只会将第一行的颜色更改为灰色. 感谢任何可以解释为什么它不起作用的人. 解决方案 问 ..
发布时间:2020-05-21 19:00:04 其他开发

Numpy和16位PGM

使用numpy在Python中读取16位PGM图像的有效而清晰的方法是什么? 由于PIL错误,我无法使用PIL加载16位PGM图像 .我可以使用以下代码读取标题: dt = np.dtype([('type', 'a2'), ('space_0', 'a1', ), ('x', 'a3', ), ..
发布时间:2020-05-18 18:51:14 Python

NASM组件16位“操作码和操作数的无效组合"

所以我试图编写一个程序来创建文件和我的名字. 但是我得到了“操作码和操作数的无效组合" mov handle, ax,我不知道为什么. 我看到了此处,您可以做到那我为什么不能 预先感谢您的帮助. org 100h mov ah, 3ch ;create a file mov dx, name ;file name mov cx, 0 int 21h mov h ..
发布时间:2020-05-16 21:07:30 其他开发

使用nasm关闭计算机

是否有可能通过nasm关闭或关闭计算机的电源(有区别吗?).我知道您可以使用它来重新启动: mov al, 0xFE out 0x64, al 有等同于关机的功能吗? 我正在制作自己的16位操作系统. 解决方案 您所拥有的代码不能保证正常工作.它取决于两个事实: 操作系统将物理IO内存映射到进程内存空间. 机器具有BIOS. 两者都不是真的. 以编程方式重新启 ..
发布时间:2020-05-16 21:07:12 其他开发

80x86 16位asm:lea cx,[cx * 8 + cx]在NASM上导致错误(编译.com文件)

NASM给出的错误(尽管我的操作系统正常)是“无效的有效地址". 现在,我已经看到了许多使用LEA的示例,我认为我做对了,但是我的NASM不喜欢它.我尝试了lea cx, [cx+9],它起作用了; lea cx, [bx+cx]没有. 现在,如果我将寄存器扩展到32位(即lea ecx, [ecx*8+ecx]),一切都会好起来,但是我只能使用16位和8位寄存器. 在这儿有没有 ..
发布时间:2020-05-16 21:04:41 其他开发

GCC裸机内联汇编SI寄存器不能很好地与指针一起玩

好了,这显然是一个初学者的问题,但这是我第一次尝试在 C 中创建一个操作系统(实际上,我几乎是全新的 C ..我习惯于 asm )所以,为什么这是无效的?据我所知, C 中的指针只是 uint16_t 用于指向内存中的某个区域,右(或者 uint32_t ,这就是为什么它不起作用)? 我创建了以下内核(“我已经创建了一个bootloader,并且所有程序集都加载了生成的KERNEL.BIN文件) ..
发布时间:2018-04-21 11:06:16 其他开发

如何用16位字实现浮点数

我如何实现浮点运算,如果我只有16位宽的内存位置?我试图实现IEEE-754 32位单精度浮点数。 谢谢 解决方案 有没有简单的方法来做到这一点。我必须为程序集中的所有函数创建我自己的软件库。 如果任何人有关于如何执行此操作的问题,我实现了加法,减法,乘法,平方根,除法,余弦和正弦。 ..
发布时间:2017-12-21 22:30:12 其他开发

嵌入D(编程语言)

我喜欢很多关于D的内容。 统一文档(这将是 使我的工作很容易) 内置于 语言的测试功能。 以语言调试代码支持。 转发声明。 (我总是 认为这是愚蠢的声明 相同的功能两次。) 内置功能来替换 预处理器。 模块 用于正确类型检查的typedef 而不是别名。 嵌套函数。 (咳嗽 PASCAL 咳嗽) 输入和输出参数。 (多显而易见!) 支持低级编程 - 嵌入式系 ..
发布时间:2017-08-15 20:21:33 HTML/CSS

16位C代码用于实模式内核

我不知道如何编译我的C内核为16位实模式。我试过各种编译器没有运气。我的bootloader只是将软盘中的原始扇区(我的内核刚好在磁盘上的第一个扇区之后)加载到物理内存地址1000h:0000h,然后跳转到它。我如何编译我的C内核工作在16位实模式? 我的基本内核: void OSmain() { unsigned char * videoram =(unsigned char ..
发布时间:2016-12-22 22:50:26 其他开发

c ++定义了16bit(高)的颜色

我正在开发一个带有TFT触摸屏的项目,这个屏幕上有一个附带的库。但在一些阅读后,我仍然没有得到什么。在库中有关于颜色的一些定义: / *一些RGB颜色定义* / #define Black 0x0000 / * 0,0,0 * / #define Navy 0x000F / * 0,0,128 * / #define DarkGreen 0x03E0 / * 0,128,0 * ..
发布时间:2016-12-18 00:41:23 C/C++开发

OpenCV写入保存黑色png

我想写一个C ++程序,将平面场应用于图像。它应该加载一个图像,并将其与另一个加载的图像,然后将其导出为一个PNG。我的程序正确编译,但只产生全黑图像。 #include #include #include #include ..
发布时间:2016-10-28 03:42:06 C/C++开发

在C中定义的16位整数

我需要声明的16位大小的整数,在C 我知道短期和int大小与计算机有关。 我试图用“stdint.h”,但似乎他们根本就 的typedef短int16_t 所以我的问题是: 我缺少的东西,短型保证16位长? 如果没有,是否有是保证它的方法吗? 解决方案 这意味着 int16_t 定义为短上的您的机器,而不是所有的机器。 只需使用 int16_t ,你绝对需要一个16位的整数类型;它被 ..
发布时间:2016-08-18 22:37:08 C/C++

- C#转换的8位或16位灰度原始像素数据

我需要能够为8位或16位的灰度级的像素数据转换成在.NET框架可以支持的文件格式。 我有可用的数据是填充在每个像素2字节的宽度,高度,方向(左下)和象素格式为4096级灰度(12位分辨率)的 因此​​,例如,每个像素的范围从0到4096,并且每个像素是2个字节。 我已经尝试使用PixelFormat.Format16bppGrayScale与位图构造函数,它抛出一个GDI +的异常。我已阅读 ..
发布时间:2016-08-08 16:57:06 C#/.NET

在USHORT C#按位移(UINT16)

我需要在16位整数(USHORT / UINT16)执行左移按位,但在C#位运算符似乎只适用于INT(32位)。我如何使用<<在一个USHORT,或者至少得到相同的结果用一个简单的解决方法吗? 解决方案 在换档之后投所得到的值回USHORT: USHORT值= 1; USHORT转移=(USHORT)(价值< 2); ..
发布时间:2016-08-07 20:00:36 C#/.NET

如何打印与中断彩色文本?

这是我的code将其以白色为主色调这是默认的打印。我知道如何在彩色打印照片,无需中断,但我并不想这样做。我想打印在使用我interrupts.How可以做任何其他的色彩?任何想法?提前致谢 我使用EMU8086作为汇编 数据段 惠康DB'惠康网友!“,13,10,”$“ 如何DB'你好',13,10,“$” 结束堆栈段 DW 64 DUP(0) 结束code段 开 ..
发布时间:2016-07-18 21:43:59 .NET Framework

与CMPSB指令混淆

我一直在寻找这个code和我很困惑在代表CMPSB 行。 .LOOP: 推CX MOV CX,0x000B; 11字符名称 MOV SI,ImageName;图像名称查找 推迪 代表CMPSB;测试项比赛 流行迪 JE LOAD_FAT 流行CX 加迪,0×0020;接下来排队目录项 ..
发布时间:2016-07-18 21:19:43 .NET Framework