首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

.386的迷惑?

2013-09-25 
.386的疑惑????????????.386.model small.stack 64.datayesdbyes, ‘$’.codemain proc farmov ax,@datamo

.386的疑惑????????????

         .386
                .model small
                .stack 64
                
                .data
yes                db                 'yes', ‘$’


                .code
main proc far                
                mov ax,@data
                mov ds,ax
                
                 mov ah,09h         ; 显示字符串
  lea dx,yes
         int 21h
                
                mov ax,4c00h
                int 21h
                
main endp

end main                 


上面的程序是显示一个字符串,但是用masm6.15编译连接后,执行出错。。。
但是! 如果把.386放在.model之后,执行 正常。。。
 为何??????????????????? .386?汇编语言?汇编
[解决办法]
为什么,这是 Masm 对段是 16 位还是 32 位的约定,就是这么规定的,除非定义段是明确说明。Masm6 等自带的帮助里 model 语句说明的 See Also 部分中“.Model with .386 and .486” 有明确的说明。


[解决办法]
.MODEL SMALL
.386
;默认16位

.386
.MODEL SMALL
;默认32位

所以....
然后....
那个far...你懂的

热点排行