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
相关推荐
染指11103 天前
18.第二阶段x64游戏实战-MFC列表框
汇编·c++·windows·游戏·游戏逆向·x64dbg
RaLi和夕6 天前
单片机学习笔记9.数码管
汇编·笔记·单片机·嵌入式硬件·学习
yu4106216 天前
GCC 内建函数汇编展开详解
汇编
手打猪大屁10 天前
ARM裸机开发——I.MX6U_汇编LED灯驱动
汇编·arm开发
zhmc11 天前
Keil A51汇编伪指令
汇编
攻城狮7号12 天前
【第48节】探究汇编使用特性:从基础到混合编程
汇编·c++·windows
打工人你好17 天前
Visual Studio Code 在.S汇编文件中添加调试断点及功能简介
汇编·ide·vscode
红白小蛋糕18 天前
《操作系统真象还原》第八章(1)——内存管理系统
汇编·笔记·ubuntu
tjsoft19 天前
asm汇编源代码之按键处理相关函数
汇编
tjsoft20 天前
asm汇编源代码之-汉字点阵字库显示程序源代码下载
汇编