汇编语言中的start有什么用?(start只是一个标号,程序不一定非要从这儿才开始执行)

1.汇编语言中的start有什么用?

start就是一个标号,标志程序的入口而已,程序加载到内存之后CS:IP会指向这个标号,从START指向的指令开始运行
这个标号不一定是START,你也可以用MAIN,但在程序的最后要用END MAIN来提示程序结束
START也不一定在代码段的最前面,它的前面是可以有指令或数据的
例子(没有用start,用了main)(在代码段里放置变量是十分不规范的,这里只是为了举例):
assume cs:code
code segment
a db 0
b db 0
main:
mov ax,0
mov ax,4C00H
int 21H
code ends
end main

当然,start和main在汇编代码中也可以同时存在,看具体的需要而定。

2.汇编语言中START和MAIN有区别么?
没有区别,都是标号。叫什么都行

3.下面这段的来源:https://blog.csdn.net/lijun5635/article/details/7918392
·········································································································
start: 作为汇编程序的一个标号,定义了程序的入口,既程序从start:处开始执行。
若程序的第一条指令就是程序的入口,则start可以缺省。

start 使用结构如下:

start: \可以定义程序的入口 ,也可以仅仅作为一个标号来用

end start \定义程序段结束 (作为标号时,可以没有对应的end start)

其中 start 可以用其他字符代替,但是对应的end start 中的start也必须用同字符代替。
若第一个start缺省,则end start中的 start 也必须去掉。
········································································································
自己最近做汇编实验二时就发现,start可以仅仅作为一个标号来用,例如:jmp start 就表示跳到start指示的地方去,此时,程序中是可以没有end start的。书上也没有end start,但有end main

最后到底是end start还是end main,要看程序中的汇编指令倒底是从哪儿开始执行的,一般看assume伪指令下面的一行的main:还是start:就可以。

  • 14
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值