• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >汇编语言 > 汇编源码系列之cobload

汇编源码系列之cobload

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了汇编源码,易语言反汇编源码,win7用远程汇编源码,反汇编源码,易语言汇编源码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
</div>

这个都是过去DOS时代的汇编源码,虽然已经过去了,但是对于学习汇编还是有帮助的,汇编语言只是程序员一门基础语言,大多人掌握即可,不一定要深入研究.......

;COBLOAD.ASM   07/09/84 - DKeels
;----------------------------------------------------------------------------
;This program provides COBOL programs with access to the program loader (LOAD)
;by passing parameters via the system parameter area (SYSPARM).
;
;Inputs:
;01 COBLOAD-PARMS
; 05 FILE-SPEC-1  PIC X(80).  Contains complete drive, path and filename.
; 05 PARAMETER-1  PIC X(80).  Contains command line parameters.
; 05 FILE-SPEC-2  PIC X(80).  Same as 1.
; 05 PARAMETER-2  PIC X(80).  Same as 1.
;
;Outputs:
; None.
;----------------------------------------------------------------------------
CL_CODE_SEG  SEGMENT PUBLIC 'CODE'
    ASSUME  CS:CL_CODE_SEG,DS:CL_CODE_SEG,ES:CL_CODE_SEG
STACK_PARM  STRUC
PUSHED_SI  DW  ?
PUSHED_DI  DW  ?
PUSHED_DS  DW  ?
PUSHED_ES  DW  ?
PUSHED_BP  DW  ?
RETURN_IP  DW  ?
RETURN_CS  DW  ?
PARM1_OFFSET  DW  ?
PARM1_DS  DW  ?
STACK_PARM  ENDS
    PUBLIC  COBLOAD    ;make known to COBOL at link time
COBLOAD    PROC  FAR
  ;prologue
    PUSH  BP
    PUSH  ES
    PUSH  DS
    PUSH  DI
    PUSH  SI
    MOV  BP,SP    ;set base for stack parm structure
  ;address caller's parameter block
    MOV  AX,[BP].PARM1_DS
    MOV  DS,AX      ;DS -> cobol data seg
    MOV  SI,[BP].PARM1_OFFSET  ;SI -> offset to parm block
  ;address load's parameter block in sysparm
    MOV  DX,'dk'    ;verification switch
    INT  77H    ;get seg addr in AX
    MOV  ES,AX    ;ES -> sysparm
    MOV  DI,0    ;DI -> offset to LOAD parms
  ;move cobol's parm block to load's parm block (in sysparm)
    CLD        ;set direction for moves
    MOV  CX,80      ;length of move
    REP  MOVSB      ;move file spec 1
ASCIIZ1:  MOV  BYTE PTR ES:[DI],0  ;make asciiz string
    DEC  DI
    MOV  AL,BYTE PTR ES:[DI]
    CMP  AL,' '      ;nullify trailing spaces
    JE  ASCIIZ1
    MOV  BX,81      ;point to parm length byte
    MOV  BYTE PTR ES:[BX],82  ;init length of parm, + 2
    MOV  DI,82      ;point to 1st parm position
    MOV  CX,80      ;length of move
    REP  MOVSB      ;move parm
ADD_CR_1:  MOV  BYTE PTR ES:[DI],13  ;add carriage return
    DEC  BYTE PTR ES:[BX]  ;sub 1 from length of parm
    DEC  DI
    MOV  AL,BYTE PTR ES:[DI]
    CMP  AL,' '      ;put cr in trailing spaces
    JE  ADD_CR_1
    MOV  DI,163
    MOV  CX,80      ;length of move
    REP  MOVSB      ;move file spec 2
ASCIIZ2:  MOV  BYTE PTR ES:[DI],0  ;make asciiz string
    DEC  DI
    MOV  AL,BYTE PTR ES:[DI]
    CMP  AL,' '      ;nullify trailing spaces
    JE  ASCIIZ2
    MOV  BX,244      ;point to parm length byte
    MOV  BYTE PTR ES:[BX],82  ;init length of parm, + 2
    MOV  DI,245      ;point to 1st parm position
    MOV  CX,80      ;length of move
    REP  MOVSB      ;move parm
ADD_CR_2:  MOV  BYTE PTR ES:[DI],13  ;add carriage return
    DEC  BYTE PTR ES:[BX]  ;sub 1 from length of parm
    DEC  DI
    MOV  AL,BYTE PTR ES:[DI]
    CMP  AL,' '      ;put cr in trailing spaces
    JE  ADD_CR_2
  ;return to caller
    POP  SI
    POP  DI
    POP  DS
    POP  ES
    POP  BP
    RET  4
COBLOAD    ENDP
CL_CODE_SEG  ENDS
    END


</div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 汇编源码系列之inthand
  • 汇编源码系列之cdcheck
  • 汇编源码系列之cldoc12
  • 汇编源码系列之basload
  • 汇编源码系列之basmain
  • 汇编源码系列之brk2
  • 汇编源码系列之cleanf
  • 汇编源码系列之charop
  • 汇编源码系列之sertype
  • 汇编源码系列之comint

相关文章

  • 2017-06-28汇编教程之树型视图控件
  • 2017-06-28MASM-两个16位二进制数减法模拟
  • 2017-06-28汇编源码系列之sertype
  • 2017-06-28汇编的字符串操作指令
  • 2017-06-17变量和标号的属性
  • 2017-06-28汇编内存管理和文件输入输出
  • 2017-06-28汇编源码系列之brk
  • 2017-06-28“HELLO,WORLD”进阶汇编程序系列
  • 2017-06-17标志寄存器传送指令
  • 2017-06-28通用控件详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 汇编源码系列之clean
    • VxD消息框例程
    • 汇编教程:Win32调试API(2)
    • Game Faster V1.0
    • 移位指令在汇编Win32消息处理中的一些问题
    • 存储单元的地址和内容
    • V86模式切换程序
    • 给程序加个图标
    • 汇编语言中‘子程序’的设计方法
    • WIN98SE硬盘主引导记录代码反汇编分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有