MASM在16位代码中自动插入段初始化代码

时间:2016-09-25 00:55:25

标签: assembly x86 masm x86-16

我正在使用masm611在dosbox中编写16位汇编语言程序。我使用

编译并链接它
masm a.asm  
link a.obj  

然后我开始使用cv a

进行调试

但是在cv中显示的代码中,它会自动插入以下代码

    mov     ax,@data
    mov     ds,ax
    mov     bx,ss
    sub     bx,ax
    shl     bx,4
    mov     ss,ax
    add     sp,bx

自动插入上面的代码。有谁知道这段代码在做什么以及为什么插入它。

a.asm文件包含以下代码:

.model small  
.stack 4096  
.data  
hello_message   db  'Hello World!', 0dh, 0ah, '$'  
.code  
 .startup   ;  
    mov ax,@data  
    mov ds,ax  
    mov ah,9  
    mov dx,offset hello_message  
    int 21h  
    mov ax,4C00h  
    int 21h  
.exit  
end   

0 个答案:

没有答案