加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

段定义中的定位类型和组合类型

(2011-01-02 20:40:27)
标签:

杂谈

分类: 汇编

段定义中的定位类型和组合类型

一、定位类型表示当前段对起始地址的要求,从而指示连接程序如何衔接相邻俩段。

dseg segment para  common
mess   db 'hello!',0dh,0ah,'$'  
dseg ends
;
cseg segment para public ;可以把定位类型改为word或byte,然后通过debug查看数据段和代码段的衔接情况
     assume cs:cseg,ds:dseg
start:
     mov ax,dseg
     mov ds,ax
     mov dx,offset mess
     mov ah,9
     int 21h  
     mov ax,4c00h
     int 21h
cseg ends
     end start

二、组合类型
组合类型是为不同模块的同名段之间的组合,有public、common等组合类型;
模块:module1.asm

dseg segment para  common
mess   db 'hello!',0dh,0ah,'$'  
dseg ends
;
cseg segment para public 
     assume cs:cseg,ds:dseg
start:
     mov ax,dseg
     mov ds,ax
     mov dx,offset mess
     mov ah,9
     int 21h  
cseg ends
     end start

模块:module2.asm
dseg segment para common
   db 'OK'  
dseg ends
;
cseg segment byte  public
     mov ax,4c00h
     int 21h
cseg ends
     end

分别编译:masm module1.asm与masm module2.asm,然后链接:link module1+module2
最后可以用debug查看module1.exe文件


出处:http://blog.sina.com.cn/leetow

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有