在8086汇编程序中,段是用特殊的指令声明的,如.MODEL
、.STACK
等。
我注意到,如果我省略了emu8086中的.CODE
段指令,程序仍然可以正常运行。它有什么问题吗?
.MODEL SMALL
.STACK 100H
.DATA
;data definitions go here
; .CODE --> The program works even after omitting this line
MAIN PROC
;instructions go here
MAIN ENDP
;other procedures go here
END MAIN
1条答案
按热度按时间icomxhvb1#
通常,对于
.MODEL SMALL
,.CODE
和.DATA
部分都可以占用64KB(非重叠)。如果您没有标记.CODE
部分,emu8086可能只是在.DATA
部分插入了代码。这不会损害(太多),因为END MAIN
指令清楚地说明了程序从哪里开始执行。然而,它可能会将代码和数据的总量限制在64KB以内。有什么问题吗?
众所周知,emu8086存在许多问题,因此不抱怨缺少
.CODE
标记可能只是这些问题的另一个例子。除了省略
.CODE
之外,您还可以通过编写.COM程序来进一步简化程序开发。只需提到ORG 256
,然后编写代码和数据(最多64KB,堆栈位于高端)。就可以这么简单。