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

asm汇编源代码之CPU型号检测

提供1个子程序:

  1. CPU型号检测 CPUTYPE

无输入参数,返回值AX指示CPU类型(报歉,当时最新CPU型号只有80486)

函数的返回值详细描述如下

CPUTYPE PROC  FAR
;OUT: AX=01, 8086; AX=02, 80286; AX=03, 80386; AX=04, 80486 UP;

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

        PUBLIC  CPUTYPE

CODE    SEGMENT
        ASSUME  CS:CODE
CPUTYPE PROC    FAR
;OUT: AX=01, 8086; AX=02, 80286; AX=03, 80386; AX=04, 80486 UP;

        PUSH    BX

        PUSHF
        POP     AX
        MOV     BX, AX

        AND     AX, 0FFFH       ; CLEAR b15-b12
        PUSH    AX
        POPF
        PUSHF
        POP     AX
        AND     AH, 0F0H
        JNZ     IS8086

        MOV     AX, BX
        OR      AX, 0F000H      ; SET b15-b12
        PUSH    AX
        POPF
        PUSHF
        POP     AX
        AND     AH, 0F0H
        JZ      IS80286

        MOV     BX, SP
        AND     SP, NOT 3
        DB      66H
        PUSHF
        DB      66H
        POP     AX
        DB      66H
        OR      AX, 0
        DW      4
        DB      66H
        PUSH    AX
        DB      66H
        POPF
        DB      66H
        PUSHF
        DB      66H
        POP     AX
        DB      66H
        TEST    AX, 0
        DW      4
        JZ      IS80386
        JMP     IS80486

IS8086:
        MOV     AX, 01
        POP     BX
        RETF

IS80286:
        MOV     AX, 02
        POP     BX
        RETF

IS80386:
        MOV     AX, 03
        MOV     SP, BX
        POP     BX
        RETF

IS80486:
        DB      66H
        AND     AX, NOT 0
        DW      NOT 4
        DB      66H
        PUSH    AX
        DB      66H
        POPF
        MOV     AX, 04
        MOV     SP, BX
        POP     BX
        RETF
CPUTYPE ENDP

CODE    ENDS
        END     CPUTYPE

相关文章:

  • Axure中继器(Repeater): 列表多选和 列表查询
  • Python 数据分析01 环境搭建教程
  • SpringBoot项目如何用ServiceLocatorFactoryBean优雅切换支付渠道?
  • FreeRTOS使任务处于运行态的API ?
  • IDEA遇到问题汇总
  • kernel32!GetQueuedCompletionStatus函数分析之返回值得有效性
  • 2025蓝桥杯算法竞赛深度突破:创新题型与高阶策略全解析
  • 【2025年泰迪杯数据挖掘挑战赛】B题 详细解题思路+数据预处理+代码分享
  • AI 谄媚式回应 | 善用成器,滥用成殇
  • Linux基础2
  • MCU刷写——S19(S-Record)文件格式详解及Python代码
  • 图像前后处理代码
  • Web信息收集
  • 【STM32】ST7789屏幕驱动
  • Windows中xxx.dll动态链接库文件转xxx.a静态库文件
  • Python Cookbook-5.15 根据姓的首字母将人名排序和分组
  • 深入解析 Spring AI Alibaba 多模态对话模型:构建下一代智能应用的实践指南
  • QML 中的 QVariantMap
  • Python Cookbook-5.14 给字典类型增加排名功能
  • CSPM认证对项目论证的范式革新:从合规审查到价值创造的战略跃迁
  • 深圳哪家做网站最好/南昌百度快速排名提升
  • 多语言企业网站源码/10常用的网络营销方法
  • 天河商城型网站建设/网站怎么添加外链
  • 企业网络营销青岛/优化神马排名软件
  • 洛阳疫情为啥不公布/长春关键词优化排名
  • 做网站卖什么发财/北京互联网公司