社区
茶馆
帖子详情
C++Builder如何嵌入汇编语言?在线等待
blcr
2002-12-31 11:52:34
我用 C++Builder 做一个工控程序,其中要向一个端口发送数据,我嵌入了汇编程序
asm
{
mov dx, 026dH
mov al, led1 //这一句有错误。
xor al,0080H
out dx, al
}
其中026dH 为输出端口地址,led1为一个变量,该变量随时都有可能变化,存放我要向该端口送出的数。我如何处理? 很久没有用汇编了,忘记了,请帮帮忙!!!
...全文
55
12
打赏
收藏
C++Builder如何嵌入汇编语言?在线等待
我用 C++Builder 做一个工控程序,其中要向一个端口发送数据,我嵌入了汇编程序 asm { mov dx, 026dH mov al, led1 //这一句有错误。 xor al,0080H out dx, al } 其中026dH 为输出端口地址,led1为一个变量,该变量随时都有可能变化,存放我要向该端口送出的数。我如何处理? 很久没有用汇编了,忘记了,请帮帮忙!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT-司马青衫
2003-01-11
打赏
举报
回复
2k
blcr
2002-12-31
打赏
举报
回复
老兄
0x260这是一个固定地址,变化的是要向它送的数据。
netsys2
2002-12-31
打赏
举报
回复
BYTE portNO = 0x260;
MyPort( &portNO);
blcr
2002-12-31
打赏
举报
回复
老兄:
能详细点么?
netsys2
2002-12-31
打赏
举报
回复
以指针方式存放即可,
MyPort(BYTE *portNO)
maxying
2002-12-31
打赏
举报
回复
关注~~~
bcbsoft
2002-12-31
打赏
举报
回复
这个贴子不应该放在 非技术区 !!
blcr
2002-12-31
打赏
举报
回复
我是否将led1以数组的方式存放?
netsys2
2002-12-31
打赏
举报
回复
我同事写的代码:
// 将16进制转换为字符串并加入空白间隔符,例如:输入0x12,0x34,0x56,输出"12 34 56 ")
// assic_str的长度应为:hex_len * 3 + 1
LPSTR _fastcall HexStrToCharStr2(BYTE *hex_array, LPSTR assic_str, int hex_len)
{
#pragma warn -8070 // 屏蔽无return警告
#pragma warn -8002 // 屏蔽嵌入汇编警告
__asm
{
MOV ESI,EAX // ESI = hex_array首地址
MOV EDI,ECX
PUSH EBX
ADD EDI,ECX
XOR EAX,EAX
ADD EDI,ECX // EDI = hex_len * 3
MOV EBX,ECX // EBX = hex_len
MOV [EDX + EDI],AL // 字符串末尾的'0'
__next2:
DEC EBX
MOVZX EAX,[ESI + EBX]
MOV ECX,EAX
AND AX,0x0F
SHR ECX,4
MOV AH,[EAX + ASCTABLE]
MOV AL,[ECX + ASCTABLE]
MOV [EDX + EDI - 3],AX
MOV EAX,' '
MOV [EDX + EDI - 1],AL
SUB EDI,3
JNZ __next2
MOV EAX,EDX // return = assic_str
POP EBX
}
#pragma warn +8002
}
#pragma warn +8070
netsys2
2002-12-31
打赏
举报
回复
是你自己编写的PORT函数!
blcr
2002-12-31
打赏
举报
回复
MyPort( &portNO,buf);
MyPort()是个什么东西???
netsys2
2002-12-31
打赏
举报
回复
BYTE portNO = 0x260;
BYTE buf[100];
//Put you data in buf
MyPort( &portNO,buf);
C++ Builder调用CODESOFT标签设计开发实战示例
C++ Builder是由Embarcadero推出的一款可视化C++开发工具,广泛应用于工业控制、
嵌入
式系统和桌面软件开发领域。其集成开发环境(IDE)融合了可视化界面设计与高效的C++编译器,极大提升了开发效率。本章将重点介绍...
RAD Studio 11.2详解其务实改进(Delphi & C++ Builder)-Alexandria
使用Delphi和
C++Builder
使得开发机构交付订单和市场需求的速度提高了5倍有余。● 快速的“原生”应用程序:操作系统本机的原生编译器,赋能App应用应有的原生速度(没有任何臃肿)。● 数据库访问:Delphi最原始的...
CNVCL for XE6 开发利器:高效构建Delphi/
C++Builder
应用
CNVCL(Custom Native VCL)是专为Embarcadero RAD Studio平台打造的高性能可视化组件库,深度兼容Delphi与
C++Builder
,聚焦于解决传统VCL在现代UI开发中的瓶颈。相较于原生VCL控件,CNVCL通过底层GDI+双缓冲绘制...
C++Builder
5编程实战:项目实例与开发技巧全解析(含光盘源码)
C++Builder
5 是 Borland 公司推出的经典 RAD(快速应用开发)工具,集成了可视化设计界面与高性能 C++ 编译器,广泛应用于 Windows 平台的桌面软件开发。其核心优势在于 VCL(Visual Component Library)框架的深度...
开发工具大比拼之Visual C++ VS Delphi(摘自delphi园地)
开发工具大比拼之Visual C++ VS Delphi引言 "Visual C++与Delphi之比较"最近在CSDN的论坛上的讨论非常火热...尽可能客观地比较介绍Visual C++和Delphi这两大主流开发工具的优缺点,其中将涉及到语言、应用框架、控件、
茶馆
551
社区成员
20,047
社区内容
发帖
与我相关
我的任务
茶馆
C++ Builder 茶馆
复制链接
扫一扫
分享
社区描述
C++ Builder 茶馆
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章