如何传递数据???

blcr 2002-12-27 04:14:45
我用 C++Builder 做一个工控程序,其中要向一个端口发送数据,我嵌入了汇编程序
asm
{
......
......
......
}
我要发送的数据是存放在一个变量中的,该变量随时都有可能变化,要将该变量存放的数据送出去,我如何处理? 很久没有用汇编了,忘记了,请帮帮忙!!!
...全文
11 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hs_guanqi 2002-12-28
  • 打赏
  • 举报
回复
不管怎样,outsw总是最安全的指令,它把当前DS:SI地址的数据送入端口,
因为outsw是一条指令,不可能中间被中断打断,因此送入端口的数据是最新的。
用子程序还是用宏等等只是设计方法问题。
另外,我觉得你要解决的东西的难点肯定不在技术上,而是思想上。
blcr 2002-12-28
  • 打赏
  • 举报
回复
up:

如何写???????
ahalf 2002-12-28
  • 打赏
  • 举报
回复
最简单的方法是写成子程序
不管你怎么传递参数,你都可以直接的处理,而不用考虑段的问题
blcr 2002-12-28
  • 打赏
  • 举报
回复
在我的程序中,要实现的功能是把变量data所代表的数据向一个port发出。data在程序中随时都在变化。请问如何实现???
hs_guanqi 2002-12-28
  • 打赏
  • 举报
回复
楼上有理

mov dx, port
mov si, offset data
outsw
可能更好
blcr 2002-12-28
  • 打赏
  • 举报
回复
老兄:
mov ax, data 中 data的类型为volatile能行吗?
是不是要取他的地址呢?我忘了。
hs_guanqi 2002-12-27
  • 打赏
  • 举报
回复
在c程序中声明变量为volatile,
在asm块中,
mov dx, port ;端口号
mov ax, data ;取当前变量值
out dx, ax

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧