dma_ini.ms
来自「一款SmartPhone的驱动代码」· MS 代码 · 共 968 行 · 第 1/3 页
MS
968 行
.def PutBox, val 128, scl 8, type 0x94, endef
.def GetBox, val 132, scl 8, type 0x94, endef
.def PutBoxMask, val 136, scl 8, type 0x94, endef
.def ScaleBox, val 140, scl 8, type 0x94, endef
.def CopyBox, val 144, scl 8, type 0x94, endef
.def CrossBlit, val 148, scl 8, type 0x94, endef
.def DrawHLine, val 152, scl 8, type 0x94, endef
.def PutHLine, val 156, scl 8, type 0x94, endef
.def GetHLine, val 160, scl 8, type 0x94, endef
.def DrawVLine, val 164, scl 8, type 0x94, endef
.def PutVLine, val 168, scl 8, type 0x94, endef
.def GetVLine, val 172, scl 8, type 0x94, endef
.def DrawPixel, val 176, scl 8, type 0x94, endef
.def GetPixel, val 180, scl 8, type 0x94, endef
.def circle, val 184, scl 8, type 0x94, endef
.def line, val 188, scl 8, type 0x94, endef
.def rectangle, val 192, scl 8, type 0x94, endef
.def ellipse, val 196, scl 8, type 0x94, endef
.def ellipsearc, val 200, scl 8, type 0x94, endef
.def fillellipsearc, val 204, scl 8, type 0x94, endef
.def arc, val 208, scl 8, type 0x94, endef
.def T_GAL_Output, val 212, scl 102, tag T_GAL_Output, size 212, endef
.def T_GAL_Output, scl 13, tag T_GAL_Output, size 212, type 0x8, endef
.def T_GAL_ScreenDevice, scl 10, type 0x8, size 84, endef
.def xRes, val 0, scl 8, type 0x4, endef
.def yRes, val 4, scl 8, type 0x4, endef
.def bpp, val 8, scl 8, type 0x4, endef
.def planes, val 12, scl 8, type 0x4, endef
.def InitScrDev, val 16, scl 8, type 0x191, endef
.def SetPalette, val 20, scl 8, type 0x91, endef
.def GetPalette, val 24, scl 8, type 0x91, endef
.def DrawPixel, val 28, scl 8, type 0x91, endef
.def ReadPixel, val 32, scl 8, type 0x9e, endef
.def DrawHLine, val 36, scl 8, type 0x91, endef
.def PutHLine, val 40, scl 8, type 0x91, endef
.def GetHLine, val 44, scl 8, type 0x91, endef
.def DrawVLine, val 48, scl 8, type 0x91, endef
.def PutVLine, val 52, scl 8, type 0x91, endef
.def GetVLine, val 56, scl 8, type 0x91, endef
.def Blit, val 60, scl 8, type 0x91, endef
.def PutBox, val 64, scl 8, type 0x91, endef
.def GetBox, val 68, scl 8, type 0x91, endef
.def PutBoxMask, val 72, scl 8, type 0x91, endef
.def CopyBox, val 76, scl 8, type 0x91, endef
.def MapColor, val 80, scl 8, type 0x9e, endef
.def T_GAL_ScreenDevice, val 84, scl 102, tag T_GAL_ScreenDevice, size 84, endef
.def T_GAL_ScreenDevice, scl 13, tag T_GAL_ScreenDevice, size 84, type 0x8, endef
.def T_IAL_Input, scl 10, type 0x8, size 56, endef
.def UpdateMouse, val 0, scl 8, type 0x94, endef
.def GetMouseX, val 4, scl 8, type 0x94, endef
.def GetMouseY, val 8, scl 8, type 0x94, endef
.def SetMouseXY, val 12, scl 8, type 0x91, endef
.def GetMouseButton, val 16, scl 8, type 0x94, endef
.def SetMouseRange, val 20, scl 8, type 0x91, endef
.def SuspendMouse, val 24, scl 8, type 0x91, endef
.def ResumeMouse, val 28, scl 8, type 0x91, endef
.def UpdateKeyboard, val 32, scl 8, type 0x94, endef
.def GetKeyboardState, val 36, scl 8, type 0x192, endef
.def SuspendKeyboard, val 40, scl 8, type 0x91, endef
.def ResumeKeyboard, val 44, scl 8, type 0x91, endef
.def SetLeds, val 48, scl 8, type 0x91, endef
.def WaitEvent, val 52, scl 8, type 0x94, endef
.def T_IAL_Input, val 56, scl 102, tag T_IAL_Input, size 56, endef
.def T_IAL_Input, scl 13, tag T_IAL_Input, size 56, type 0x8, endef
.align 1
.def init_timer3_8bit, val init_timer3_8bit, scl 2, type 0x21, endef
.global init_timer3_8bit
.loc 16
.def ent, scl 101, type 0x0, endef
init_timer3_8bit:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.loc 28
ext 0x0 ; xld.w %r11,0x0004014e ; 262478
ext 0x1005
ld.w %r11,0xe
;.set volatile
ld.ub %r10,[%r11] ; xld.ub %r10,[%r11]
;.set novolatile
and %r10,0xf ; xand %r10,%r10,0x0000000f
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 29
bset [%r11],0x7 ; xbset [%r11],0x7
.loc 41
ext 0x0 ; xld.w %r11,0x0004016d ; 262509
ext 0x1005
ld.w %r11,0x2d
ext 0x0 ; xld.w %r10,0x00000032 ; 50
ld.w %r10,0x32
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 42
ext 0x0 ; xld.w %r11,0x00040285 ; 262789
ext 0x100a
ld.w %r11,0x5
bset [%r11],0x3 ; xbset [%r11],0x3
.loc 48
ext 0x0 ; xld.w %r11,0x0004016c ; 262508
ext 0x1005
ld.w %r11,0x2c
ld.w %r10,0x7 ; xld.w %r10,0x00000007 ; 7
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 51
ret
.def end, scl 111, type 0x0, endef
.align 1
.def init_hsdma3, val init_hsdma3, scl 2, type 0x21, endef
.global init_hsdma3
.loc 54
.def ent, scl 101, type 0x0, endef
init_hsdma3:
; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
; .mask 0x80000000,-4
; .fmask 0x00000000,0
.def add, val 12, scl 17, type 0x1d, endef
.loc 56
ext 0x0 ; xld.w %r13,0x0004825c ; 295516
ext 0x1209
ld.w %r13,0x1c
bclr [%r13],0x0 ; xbclr [%r13],0x0
.loc 59
ext 0x0 ; xld.w %r11,0x00040299 ; 262809
ext 0x100a
ld.w %r11,0x19
ext 0x1 ; xld.w %r10,0x00000050 ; 80
ld.w %r10,0x10
;.set volatile
ld.b [%r11],%r10 ; xld.b [%r11],%r10
;.set novolatile
.loc 64
ext 0x0 ; xld.w %r11,0x00048250 ; 295504
ext 0x1209
ld.w %r11,0x10
ext 0x1400 ; xld.w %r10,-1610593536 ; 0xa0004b00
ext 0x12c
ld.w %r10,0x0
;.set volatile
ld.w [%r11],%r10 ; xld.w [%r11],%r10
;.set novolatile
.loc 68
ext 0x0 ; xld.w %r10,0x00048254 ; 295508
ext 0x1209
ld.w %r10,0x14
ext 0x200 ; xsub %r12,%r12,268435456
ext 0x0
sub %r12,0x0
;.set volatile
ld.w [%r10],%r12 ; xld.w [%r10],%r12
;.set novolatile
.loc 71
ext 0x0 ; xld.w %r11,0x00048258 ; 295512
ext 0x1209
ld.w %r11,0x18
ext 0x80 ; xld.w %r10,0x04000002 ; 67108866
ext 0x0
ld.w %r10,0x2
;.set volatile
ld.w [%r11],%r10 ; xld.w [%r11],%r10
;.set novolatile
.loc 77
ext 0x0 ; xld.w %r11,0x00040281 ; 262785
ext 0x100a
ld.w %r11,0x1
bset [%r11],0x3 ; xbset [%r11],0x3
.loc 83
bset [%r13],0x0 ; xbset [%r13],0x0
.loc 86
ret
.def end, scl 111, type 0x0, endef
.align 1
.def StartDMA, val StartDMA, scl 2, type 0x21, endef
.global StartDMA
.loc 90
.def ent, scl 101, type 0x0, endef
StartDMA:
; .frame %sp,8,$31 # vars= 0, regs= 2/0, args= 0, extra= 0
; .mask 0x80010000,-4
; .fmask 0x00000000,0
pushn %r0
ld.w %r7,[%sp+0x2] ; xld.w %r7,[%sp+8]
ld.w %r0,[%sp+0x3] ; xld.w %r0,[%sp+12]
ld.w %r6,%r12
ld.w %r4,%r13
ld.w %r5,%r14
ld.w %r12,%r15
.def x1, val 6, scl 17, type 0xd, endef
.def y1, val 4, scl 17, type 0xd, endef
.def x2, val 5, scl 17, type 0xd, endef
.def y2, val 12, scl 17, type 0xd, endef
.def Srcbuf, val 8, scl 9, type 0x1d, endef
.def Desbuf, val 12, scl 9, type 0x1d, endef
.def Srcbuf, val 7, scl 4, type 0x1d, endef
.def Desbuf, val 0, scl 4, type 0x1d, endef
.loc 91
.def begin, scl 100, type 0x0, endef
.def f, val 10, scl 4, type 0xc, endef
.loc 93
ext 0x0 ; xld.w %r10,0x00040281 ; 262785
ext 0x100a
ld.w %r10,0x1
.loc 94
btst [%r10],0x3 ; xbtst [%r10],0x3
jrne __LX5 ; xjrne __L5
ext 0x0 ; xld.w %r11,0x00040281 ; 262785
ext 0x100a
ld.w %r11,0x1
__LX6: ; __L6:
.loc 95
btst [%r11],0x3 ; xbtst [%r11],0x3
jreq __LX6 ; xjreq __L6
__LX5: ; __L5:
.loc 98
ext 0x0 ; xld.w %r14,0x00040281 ; 262785
ext 0x100a
ld.w %r14,0x1
bset [%r14],0x3 ; xbset [%r14],0x3
.loc 100
ext 0x0 ; xld.w %r13,0x0004825c ; 295516
ext 0x1209
ld.w %r13,0x1c
bclr [%r13],0x0 ; xbclr [%r13],0x0
.loc 104
ext 0x0 ; xld.w %r11,0x00048254 ; 295508
ext 0x1209
ld.w %r11,0x14
ld.w %r10,%r7 ; xsub %r10,%r7,268435456
ext 0x200
ext 0x0
sub %r10,0x0
;.set volatile
ld.w [%r11],%r10 ; xld.w [%r11],%r10
;.set novolatile
.loc 107
ext 0x0 ; xld.w %r11,0x00048258 ; 295512
ext 0x1209
ld.w %r11,0x18
ld.w %r10,%r0 ; xadd %r10,%r0,67108864
ext 0x80
ext 0x0
add %r10,0x0
;.set volatile
ld.w [%r11],%r10 ; xld.w [%r11],%r10
;.set novolatile
.loc 113
ext 0x0 ; xld.w %r15,0x00048250 ; 295504
ext 0x1209
ld.w %r15,0x10
ld.uh %r12,%r12
ld.uh %r10,%r4
sub %r12,%r10
add %r12,0x1 ; xadd %r12,%r12,1
ld.uh %r10,%r5
ld.uh %r11,%r6
sub %r10,%r11
add %r10,0x1 ; xadd %r10,%r10,1
mlt.w %r12,%r10
ld.w %r10,%alr
ext 0xc00 ; xsub %r10,%r10,1610612736
ext 0x0
sub %r10,0x0
;.set volatile
ld.w [%r15],%r10 ; xld.w [%r15],%r10
;.set novolatile
.loc 114
bset [%r13],0x0 ; xbset [%r13],0x0
.loc 117
.loc 118
btst [%r14],0x3 ; xbtst [%r14],0x3
jrne __LX9 ; xjrne __L9
ext 0x0 ; xld.w %r11,0x00040281 ; 262785
ext 0x100a
ld.w %r11,0x1
__LX10: ; __L10:
.loc 119
btst [%r11],0x3 ; xbtst [%r11],0x3
jreq __LX10 ; xjreq __L10
__LX9: ; __L9:
.loc 122
.def bend, scl 110, type 0x0, endef
popn %r0
ret
.def end, scl 111, type 0x0, endef
.endfile
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?