首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汇编程序汇编如何工作

汇编程序汇编如何工作
EN

Stack Overflow用户
提问于 2022-01-14 09:20:43
回答 1查看 64关注 0票数 -1

程序集是否像其他高级语言一样从上到下开始执行?:

我的意思是,这段代码应该挂在第一行:

代码语言:javascript
复制
jmp $
times 510-($-$$) db 0
dw 0xaa55

但这并不是因为它被视为引导扇区(最后两行已被执行),这是如何工作的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-14 14:01:51

汇编程序编译工作方式

汇编程序不是“编译”的。如果您要从一种更抽象的编程语言翻译到一种更具体的“编程”语言,您可以说是编译。例如,Java→,另一个Java字节码。

汇编语言→机代码不被认为是“编译”,因为这两种“语言”具有相同的“威力”,两者都能同时描述一个算法。

从上到下开始执行程序集…

当CPU启动或重置时,指令指针被设置为零。但是,作为Michael has already pointed out,在实际执行任何操作之前,BIOS会处理几件事情。

…像其他高级语言一样?

大会不是高级程序集。这里有“高级汇编程序”,但它们本质上有一个更精细的宏扩展系统。

--我的意思是这段代码应该挂在第一行:

至少要做这样的事情:

代码语言:javascript
复制
    cli       ; clear interrupt: disables all maskable interrupts
stop:
    hlt       ; halt execution
    jmp stop  ; in case of a non-maskable interrupt

一种更复杂的方法是使用ACPI,但这并不适合3种更高级的LOC。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70708379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档