kognzhezhi 发表于 2022-5-4 19:32

汇编中的一点困惑

在学习call 和ret指令写代码的时候遇到一个疑问

比如像下面这个代码

start:.........

call diw
.
.
mov ax,4c00h
int 21h

code ends
end start
.
diw:

ret

加红字的部分为什么不能写 mov ax,4c00h 后面,而要写在ret后面才行

hackerbob 发表于 2022-5-4 19:46

那是结束标志,如果你放在那,执行到end start就停了

kognzhezhi 发表于 2022-5-4 20:02

hackerbob 发表于 2022-5-4 19:46
那是结束标志,如果你放在那,执行到end start就停了

前面不是有个call指令么,可以执行后面的语句,不知道能这么理解不

hackerbob 发表于 2022-5-4 20:07

kognzhezhi 发表于 2022-5-4 20:02
前面不是有个call指令么,可以执行后面的语句,不知道能这么理解不

大哥,你分清楚代码段的意义了吗,那个是代码段的结束标志,汇编不是c语言,不能那么理解,结束标志就是代码写完了

kognzhezhi 发表于 2022-5-4 20:19

hackerbob 发表于 2022-5-4 20:07
大哥,你分清楚代码段的意义了吗,那个是代码段的结束标志,汇编不是c语言,不能那么理解,结束标志就是 ...

有点笨。。。谢谢了,我脑子再转转弯

wmdz0729 发表于 2022-5-4 21:37

这些东西也能问吗
页: [1]
查看完整版本: 汇编中的一点困惑