庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>汇编语言>相关源码>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

汇编的的各类源码--getseg_c

 作者:本站收集   日期:2005-8-1 15:39:10
字号选择〖 〗/ 双击滚屏 单击停止   
; Name          getseg -- Get current Segment Values
;
;
; Synopsis      getseg(pcs, pds, pes, pss, psi, pdi, psp, pflag);
;
;               unsigned *cs Pointer to where code segment address goes
;               unsigned *ds Pointer to data segment
;               unsigned *es Pointer to extra segment
;               unsigned *ss Pointer to stack segment
;               unsigned *si Pointer to si register
;               unsigned *di Pointer to di register
;               unsigned *sp Pointer to sp register
;               unsigned *flag Returns flag
;
;
; Returns       cs              value of Code segment
;               ds              value of Data segment
;               es              value of Extra segment
;               ss              value of Stack segment
;               si              value of SI register ****NOT RELIABLE****
;               di              value of DI register
;               sp              value of Stack Pointer
;               flag            value of Flags register
;
;
;


pgroup  group    prog
prog    segment  byte public 'PROG' ; Combine with C 'PROG' program segment
        assume   cs:pgroup
        public   getseg
getseg proc     near
        push     bp                 ; Save the frame pointer
        mov      bp,sp
        mov      si,[bp + 04]       ; Get the values for the registers
        mov      ax,[si]
        mov      si,[bp + 06]
        mov      bx, [si]
        mov      si,[bp + 08]
        mov      cx, [si]
        mov      si,[bp + 10]
        mov      dx,[si]
;==============================================================================
        mov ax, cs                  ;Get value of code segment
        mov bx, ds                  ;data segment
        mov cx, es                  ;extra segment
        mov dx, ss                  ;stack segment


;==============================================================================

uret:   mov      bp,sp              ; Now recover the values of the
        mov      si,[bp + 04]       ; parameters
        mov      [si],ax
        mov      si, [bp + 06]
        mov      [si], bx
        mov      si, [bp + 08]
        mov      [si], cx
        mov      si, [bp + 10]
        mov      [si], dx
        mov      si, [bp + 12]
        mov      [si], si
        mov      si, [bp + 14]
        mov      [si], di
        mov      si, [bp + 16]
        mov      [si], sp
        mov      al, 00             ;zero out al
        lahf                        ;load flag into ah
        mov      si, [bp + 18]
        mov      [si], ax


        mov      ax,0               ; No error

quit:   pop      bp                 ; Get the original frame pointer.
        ret
getseg endp
prog    ends
        end



上一篇:汇编的的各类源码--getspace    下一篇:汇编的的各类源码--fxn  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-8-1 15:39:10
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿