⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci.asm

📁 DOS下
💻 ASM
字号:
data segment
     	D1	DB	'bus number:$',0DH,0AH
     	D2  	DB	'dvice number:$',0DH,0Ah
       	D3 	DB	'function number:$',0DH,0AH
        D4 	DB	'v.ID:$',0DH,0AH
 	D5 	DB	'd.ID:$',0DH,0AH
data ends
stack segment stack
      dw 100 dup(?)
stack ends
CODE segment
.586P
     assume cs:code,ds:data,ss:stack
begin:  
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov eax,80000000h     	  
     loop1:                        
        push eax
        mov dx,0cf8h
        out dx,eax
        mov dx,0cfch
        in  eax,dx
        mov edx,eax   ;edx lode V.id,D.id
        push edx
        not  edx  
        test edx,0ffffffffh
        pop  edx
        pop  eax	  
        jnz  display
   backed: 
        add  eax,00000100h 
        cmp  eax,80ffff00h   
        jna loop1         ;<=
        jmp OVER
     	  
display:

          push eax  ;V.id
          push edx 
          push edx
          lea dx,D4
          mov ah,9
          int 21h  
         pop  edx
         shr  dx,0ch;            rigt move12bit
         and  dl,0fh
         cmp  dl,0ah
         jc k7 
         add dl,37h
         mov ah,2
         int 21h
          jmp k8
       K7:add dl,30h
          mov ah,2
          int 21h
       k8:pop edx      
          push edx          ;2 zifu
           shr dx,08h
           and dl,0fh
           cmp dl,0ah
           jc  k9
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k10
      k9:  add dl,30h
           mov ah,2
           int 21h
      k10: pop edx
           push edx          ;3zifu
           shr dx,04h
           and dl,0fh
           cmp dl,0ah
           jc  k11
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k12
      k11: add dl,30h        
           mov ah,2
           int 21h
      k12: pop edx   
           push edx          ;4zifu
           and dl,0fh
           cmp dl,0ah
           jc  k13
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k14
      k13: add dl,30h       
           mov ah,2
           int 21h
           
      k14: mov dl,20h        ;space  
           mov ah,2
           int 21h
           pop edx
           push edx          ;D.id
           lea dx,D5
           mov ah,9
           int 21h 
           shr edx,1ch
           and dl,0fh
           cmp dl,0ah
           jc  k15
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k16
  k15:     add dl,30h        
           mov ah,2
           int 21h
  k16:     pop edx  
     	   push edx          ;   2zifu
           shr edx,18h
           and dl,0fh
           cmp dl,0ah
           jc  k17
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k18
      k17: add dl,30h        
           mov ah,2
           int 21h
      k18: pop edx   
 	   push edx          ;   3zifu
           shr edx,14h
           and dl,0fh
           cmp dl,0ah
           jc  k19
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k20
      k19: add dl,30h        
           mov ah,2
           int 21h
 k20:      pop edx   
	   push edx          ;   4zifu
           shr edx,10h
           and dl,0fh
           cmp dl,0ah
           jc  k21
           add dl,37h
           mov ah,2
           int 21h
 	   jmp k22
      k21: add dl,30h        
           mov ah,2
           int 21h
       k22:mov dl,20h         ;space  
           mov ah,2
           int 21h
           pop edx
           pop eax

        



        push edx    ;        ;function number
        push eax    ;
        
        lea dx,D3             ;putout
        mov ah,9
        int 21h
       
     pop eax     ;
     push eax    ;
        shr eax,08h
        mov dl,al
        and dl,0007h
        add dl,30h
        mov ah,2
        int 21h 
        mov dl,20h       ;space
        mov ah,2
        int 21h 
        pop eax    ;
        push eax    ;
        push eax   ;                   ;device number
        lea dx,D2                    ;putout
        mov ah,9
        int 21h
        pop eax     ;
        shr eax,0bh 
        push eax    ;
        mov dl,al
        and dl,01fh
        shr dl,04h
        add dl,30h
        mov ah,2
        int 21h
        pop eax         ;
        mov dl,al
        and dl,0fh
        cmp dl,0ah
        jc  k1
        mov al,dl
        and dl,0fh
        add dl ,37h
        mov ah,2
        int 21h
        jmp K2
     K1:add dl,30h
        mov ah,2
        int 21h
     K2:
         mov dl,20h
         mov ah,2
         int 21h
        pop eax      ;
        push eax    ;
        push eax    ;            ;bus number
        lea dx,D1                ;putout
        mov ah,9
        int 21h
        pop eax;
        shr eax,010h
        push eax;
        mov dl,al
        shr dl,04h
        cmp dl,0ah
        jc  K3
        add dl,37h
        mov ah,2
        int 21h
        jmp K4
K3:     add dl,30h
        mov ah,2
        int 21h
K4:     pop eax       ;
        mov dl,al
        and dl,0fh
        cmp dl,0ah
        jc  K5
        add dl,37h
        mov ah,2
        int 21h
        jmp K6
   K5:  add dl,30h
        mov ah,2
        int 21h      
     K6: mov dl,0dh     ;CR
         mov ah,2
         int 21h
         mov dl,0ah     ;LF
         mov ah,2
         int 21h
         pop eax    ;
         pop edx    ;
         jmp backed
   OVER:mov ah,4ch
        int 21h

        code ends
END begin
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -