当前位置: 首页 > news >正文

asm汇编语言源代码之-获取环境变量

提供1个子程序:

  1. 读取环境变量 GETENVSTR

具体功能及参数描述如下

 GETENVSTR PROC FAR
;IN: DS=PSP SEG.
;   ES:BX -> ENV VAR NAME
;OUT: DS:DX -> ENV VAR VALUE; IF DX=0FFFFH, NOT FOUND
 

 

; more source code at http://www.ahjoe.com/source/srcdown.asp

        PUBLIC  GETENVSTR

CODE    SEGMENT
        ASSUME  CS:CODE
GETENVSTR PROC  FAR
;IN:  DS=PSP SEG.
;     ES:BX -> ENV VAR NAME
;OUT: DS:DX -> ENV VAR VALUE; IF DX=0FFFFH, NOT FOUND

        PUSH    AX
        PUSH    BX
        PUSH    SI
        PUSH    DI

        XOR     DI, DI
        MOV     DX, BX

        MOV     DS, DS:[2CH]
REPEAG:
        MOV     BX, DX
FINDREP:
        MOV     AL, ES:[BX]
        CMP     AL, DS:[DI]
        JNZ     NOTEQU
        INC     BX
        INC     DI
        JMP     FINDREP

NOTEQU:
        CMP     BYTE PTR DS:[DI], '='
        JNZ     NOTEQUCH
        CMP     BYTE PTR ES:[BX], 0
        JZ      FOUNDIT
NOTEQUCH:
        CMP     BYTE PTR DS:[DI], 0
        JZ      LOCAZERO
        INC     DI
        JMP     NOTEQUCH
LOCAZERO:
        INC     DI
        CMP     BYTE  PTR DS:[DI], 0
        JNZ     REPEAG
        MOV     DX, 0FFFFH
        JMP     GETENVOK
FOUNDIT:
        MOV     DX, DI
        INC     DX
GETENVOK:
        POP     DI
        POP     SI
        POP     BX
        POP     AX
        RETF
GETENVSTR ENDP
CODE    ENDS
        END     GETENVSTR

相关文章:

  • 【c语言】结构体习题
  • Vitis: 使用自定义IP时 Makefile错误 导致编译报错
  • Spring AI使用tool Calling和MCP
  • spring cloud alibaba 的服务治理框架(服务注册与发现)Nacos 使用详解
  • 微信小程序开发常用语法和api
  • 基本的DOS命令
  • 程序化广告行业(80/89):近年发展动态与技术标准演进
  • dolphinscheduler创建文件夹显示存储未启用的问题--已解决
  • Windows for Redis 后台服务运行
  • 驱动学习专栏--写在前面
  • MyBatis-plus 快速入门
  • Mouse without Borders – 用一套鼠标 / 键盘控制四台电脑
  • trae 中设置 python flake8
  • Java中的Map vs Python字典:核心对比与使用指南
  • 【力扣hot100题】(091)最小路径和
  • Python正则表达式实战技巧:如何高效处理文本匹配?
  • [redis进阶一]redis的持久化(1)RDB篇章
  • Python | 第十七章 | pyecharts开发图表 | 折线图 | 地图 | 轮播图
  • ESP32S3 TCP直接通信实战指南
  • Linux网络编程——详解网络层IP协议、网段划分、路由
  • 重庆网站建设网站/谷歌seo详细教学
  • 为什么我的电脑有些网站打不开/百度搜索收录
  • 公司服务器租用/网站seo基本流程
  • 学做网站零基础/百度一下你就知道官页
  • 学做内账的网站/中山360推广
  • 烟台优化网站排名/百家号seo怎么做