内联 ASM C++中的数据库 ASM 变量
DB ASM variable in Inline ASM C++
我正在尝试弄清楚如何将 ASM 中的数据库变量用于内联 ASM C++
我有这个 ASM 代码:
filename db "C:imagen.bmp"
eti0:
mov ah,3dh
mov al,0
mov dx,offset filename
int 21h
在C++:
//ASCII of C:imagen.bmp plus zero in the end because of int 21h
int filename=6758921051099710310111046981091120;
asm{
mov ah,3dh
mov al,0
mov dx,offset filename
int 21h
}
这是正确的吗?
类型 int
只能容纳 16 位有符号整数,您尝试分配给filename
的数字远远超出了其范围。由于int
变量的长度为两个字节,因此它们对于存储文件名并不是那么有用。 相反,您应该将名称存储在如下所示的char
数组中:
char filename[] = "C:\imagen.bmp";
数组将包含一个零字节作为其最终元素,就像C++中的字符串一样。
您也可以将整个内容替换为:
int handle;
_dos_open("C:\imagen.bmp", 0, &handle);
相关文章:
- 查询SQLite数据库中的日期
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何在ArangoDb AQL查询中指定数据库
- 从数据库实时显示QT c++中的数据
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- 无法在C++中建立与MySQL数据库的连接
- 将类实现到数据库程序中
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 调试编译的服务器在数据库打开时崩溃
- 使用C++获取程序的 ASM
- C++变量mysql_query到数据库
- LMDB:在有限的内存系统中打开大型数据库
- 如何在多个线程中创建 QSql数据库连接时防止名称冲突
- 以只读模式打开数据库时SQLITE_CANTOPEN错误
- 如何使用SQLite将数据库中的值导出为C / C++中的字符串或字符?
- 如何在Qt中从数据库中检索二进制数据?
- 如何从网站获取数据并将其传输到数据库?
- 在装有 CLion 的 Mac 上使用 C++ 连接到 MySQL 数据库时出现问题
- 内联 ASM C++中的数据库 ASM 变量