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

📄 q.asm

📁 读取fat分区表信息
💻 ASM
字号:
        CODE  SEGMENT   PUBLIC
              ASSUME    CS:CODE,DS:CODE
              ORG       100H
      START:  JMP       BEGIN
        MSG1  DB        'FAT id byte=','$'
        MSG2  DB        'Number of cluster=','$'
        MSG3  DB        'Sectors per clusters','$'
        MSG4  DB        'Sector size=','$'
      STRING  DB        6 DUP(?),0DH,0AH,'$'
       FATID  DB        0
       CLUST  DW        0
        SECT  DB        0
     SECSIZE  DW        0
;
;conver
;
      NUMASC  PROC
              MOV       CX,6
              MOV       BX,OFFSET STRING
      BLANK:  MOV       BYTE PTR[BX],' '
              INC       BX
              LOOP      BLANK
              MOV       SI,10
       NEXT:  XOR       DX,DX
              DIV       SI
              ADD       DX,'0'
              DEC       BX
              MOV       [BX],DL
              OR        AX,AX
              JNZ       NEXT
              RET
      NUMASC  ENDP
;
;main pro
;
      BEGIN:  MOV       AX,CS
              MOV       DS,AX
              PUSH      DS
              MOV       DL,03H
              MOV       AH,1CH
              INT       21H
              MOV       AH,[BX]
              POP       DS
              MOV       BYTE PTR FATID,AH
              MOV       WORD PTR CLUST,DX
              MOV       DX,OFFSET MSG1
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AL,BYTE PTR FATID
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AX,WORD PTR CLUST
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AL,BYTE PTR FATID
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              MOV       DX,OFFSET MSG2
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AX,WORD PTR CLUST
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              MOV       DX,OFFSET MSG3
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AL,BYTE PTR SECT
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
              MOV       DX,OFFSET MSG4
              MOV       AH,09H
              INT       21H
              XOR       AX,AX
              MOV       AX,WORD PTR SECSIZE
              CALL      NUMASC
              MOV       DX,OFFSET STRING
              MOV       AH,09H
              INT       21H
       DONE:  MOV       AH,01H
              INT       21H
        CODE  ENDS
              END       START















⌨️ 快捷键说明

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