社区
汇编语言
帖子详情
汇编中如何调用外部程序到指定内存
神杀中龙
2005-12-05 05:36:31
在C中可以通过
System("路径\文件");
exec()等调用外部程序,但是不一定是指定内存地址
而在汇编中如何实现这样的功能呢?
...全文
153
7
打赏
收藏
汇编中如何调用外部程序到指定内存
在C中可以通过 System("路径\文件"); exec()等调用外部程序,但是不一定是指定内存地址 而在汇编中如何实现这样的功能呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Leomaxking
2005-12-06
打赏
举报
回复
楼主不厚道
神杀中龙
2005-12-05
打赏
举报
回复
真是太感谢了,看来BIOS真的很强大,细节也很多吧,我会了解更多。
常
2005-12-05
打赏
举报
回复
dos中断在dos下才有效,因为其中断地址表是在dos初始化是填写的
bios中断是在系统初始化时设定的,开机过程大概是这样的,
开机后,cpu被设置成ffff:0,cpu从内存的这里开始执行两个步骤
A.执行 系统自检和初始化 程序。初始化程序将向内存的0000-03ff地址中填写各个中断地址
B.运行int 19,进行操作系统的引导。
可见bios的中断,是在开机启动,还没有进入操作系统时就建立好了
神杀中龙
2005-12-05
打赏
举报
回复
非常感谢,另外问一句 INT 21H中断是软件中断(DOS中断)
DOS中断需要DOS环境才可以执行吧
在windows下的DOS的虚拟86模式,所以执行DOS中断没问题
但是仅仅在 开机的一刹那 是没有任何系统的,所以只有BIOS中断可以执行,
加载 执行程序的BIOS中断是什么
Leomaxking
2005-12-05
打赏
举报
回复
直接用movs指令将执行代码复制到07c00地址512字节后的内存中就行了
神杀中龙
2005-12-05
打赏
举报
回复
那么dos下的int 21h的4bh可以保证加载程序到指定的内存地址吗?
比如我希望把程序加载到 内存07c00地址512字节后
大熊猫侯佩
2005-12-05
打赏
举报
回复
dos 下可以用 dos int 21h 中断的 4bh 服务 其功能是:
ah = 4bh 装配/执行程序 ds:dx = asciiz 串地址 失败 : ax = 错误码
es:bx = 参数区首地址
al = 0 装入执行
al = 3 装入不执行
win32 中也是调用系统提供的标准 api 接口来完成该功能。
汇编
语言
程序
设计
汇编
语言是一门低级
程序
设计语言,在数以千计的计算机语言
中
,有着不可替代的重要地位,广泛地用于开发操作系统内核、设备驱动
程序
等。随着近年来物联网、嵌入式系统的发展,
汇编
语言在行业
中
的地位也再次攀升,在...
汇编
语言--如何
调用
子
程序
最近刚学了
汇编
语言的子
程序
调用
,刚开始有些迷惑,现在大概弄懂了点。 1:
程序
内部
调用
子
程序
先看个例子: 编制一个子
程序
,求y=x^4,x为字节,y为字,且不会溢出 版本1:子
程序
的参数由寄存器bl提供,返回结果在ax
中
c语言实现
外部
程序
的
调用
,C语言
内存
中
执行
外部
代码详解(一) | Hoverlees' Blog...
应用
程序
执行
外部
代码一般有多种方式,最显然的就是操作系统提供的链接库的方式,链接库是一个个的库文件,在编译时直接链接到应用
程序
中
,或者是一个独立的库文件供应用
程序
调用
。但常常会有例如下面的一些应用场合:你想保护
程序
的核心代码,想把核心代码加密成一个自己定义的文件,然后在
程序
运行时加载到
内存
中
执行;出于保护或者为了定时更新,你希望自己的核心代码每次都是从网络上下载的,并且不希望在用户硬盘上留下任何痕...
C语言和
汇编
语言相互
调用
C语言和
汇编
语言相互
调用
不同的语言就像一座孤岛,似乎毫不相干,但是所有的代码最终都要编译成机器指令,他们本质上也是一样的,最终都是变成指令给CPU下达命令。 1. C语言的链接过程 我们知道一个C语言源文件变成可执行文件,需要经过一下几个步骤: 预处理。(hello.c -> hello.i)把头文件包含起来。 编译。(hello.i -> hello.s)编译成
汇编
代码。
汇编
。(hello.s -> hello.o)生成目标文件。 链接。(hello.o ->
AT&T
汇编
调用
C库函数
注:以下内容为学习笔记,多数是从书本、资料
中
得来,只为加深印象,及日后参考。然而本人表达能力较差,写的不好。因非翻译、非转载,只好选原创,但多数乃摘抄,实为惭愧。但若能帮助一二访客,幸甚! 前面尝试过使用write系统
调用
来显示CPU Vendor ID,这里将在AT&T
汇编
中
调用
C 库函数
中
的printf 来打印信息.
汇编
调用
C函数,方法很简单: 1)
调用
就是使用call 指令
汇编语言
21,458
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章