汇编中的一点疑问,求教一下

高处不生哈 2022-05-04 19:39:14

在使用call 和ret时

比如下面的代码

start:

call diw

mov ax,4c00h

int 21h

code ends

end start

diw:

ret

 

红字部分为什么不能写在这个位置,而要写在ret后面呢

...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tfrist 2022-06-08
  • 打赏
  • 举报
回复

那是给编译器看的 告诉它方法和代码段结束了! 而ret是代码 必须包含在方法定义里面。

SilentHunter460 2022-05-09
  • 打赏
  • 举报
回复

红色部分必须是雷打不动的放在最后,这是语法规则规定的。

O丸子爹O 2022-05-05
  • 打赏
  • 举报
回复

diw是一个函数,也就是一段代码,必须放在CODE段中。

zara 2022-05-05
  • 打赏
  • 举报
回复 1
因为最后两行本就应该是在 code段,红色在现在位置,ret 指令往哪段放;更有规定,end 语句后的内容是不被处理的,写多少都对源程序没意义,实际结果就是那个标号未定义。

21,458

社区成员

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

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