📄 f12to16.asm
字号:
;*************************************************************
;
; hyperstone MS-DOS FAT File System Drivers
;
; Conversion routines for 12 bit FAT
;
; Christoph Baumhof 2000-03-21
; Reinhard K乭ne 2000-03-21
; Mihajlo Varga 2000-03-21
;
; Copyright (C) 1997-2000 hyperstone electronics GmbH Konstanz
;
; 2000-03-21 initial release
;
; $Id$
;
; $Log$
;
;*************************************************************
;
; Changes:
;
;*************************************************************
segment code
XDEF __fat12to16
XDEF __fat16to12
__fat12to16:
FRAME L7, L2
MOV L4, L0
SHRI L4, 1
ADD L4, L0
ADD L4, L1
LDBU.D L4, L5, 0
LDBU.D L4, L6, 1
SHLI L6, 8
OR L6, L5
CMPBI L0, 1
BNZ odd
MASK L6, L6, $FFF
fat12to16exit:
CMPI L6, $ff8
BST fat12to16exit1
ADDI L6, $f000
fat12to16exit1:
MOV L0, L6
RET PC, L2
odd: SHRI L6, 4
BR fat12to16exit
__fat16to12:
FRAME L7, L3
MOV L5, L0
SHRI L5, 1
ADD L5, L0
ADD L5, L1
CMPBI L0, 1
BNZ odd1
LDBU.D L5, L6, 1
MASK L6, L6, $F0
SHLI L6, 8
MASK L2, L2, $0FFF
BR ok
odd1:
LDBU.D L5, L6, 0
SHLI L2, 4
MASK L6, L6, $0F
ok:
OR L6, L2
STBU.D L5, L6, 0
SHRI L6, 8
STBU.D L5, L6, 1
RET PC, L3
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -