📄 crc16.asm
字号:
.dwattr DW$3, DW_AT_begin_column(0x0e)
.dwpsn "CRC16.c",47,1
.dwfde DW$CIE
;***************************************************************
;* FNAME: _CRC16 FR SIZE: 6 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 6 Auto, 0 SOE *
;***************************************************************
_CRC16:
.dwcfa 0x1d, -2
.dwcfa 0x1c, 26, 0
.dwcfa 0x09, 40, 26
ADDB SP,#6
.dwcfa 0x1d, -8
;* AR4 assigned to _puchMsg
DW$4 .dwtag DW_TAG_formal_parameter, DW_AT_name("puchMsg"), DW_AT_symbol_name("_puchMsg")
.dwattr DW$4, DW_AT_type(*DW$T$19)
.dwattr DW$4, DW_AT_location[DW_OP_reg12]
;* AL assigned to _usDataLen
DW$5 .dwtag DW_TAG_formal_parameter, DW_AT_name("usDataLen"), DW_AT_symbol_name("_usDataLen")
.dwattr DW$5, DW_AT_type(*DW$T$11)
.dwattr DW$5, DW_AT_location[DW_OP_reg0]
DW$6 .dwtag DW_TAG_variable, DW_AT_name("puchMsg"), DW_AT_symbol_name("_puchMsg")
.dwattr DW$6, DW_AT_type(*DW$T$19)
.dwattr DW$6, DW_AT_location[DW_OP_breg20 -2]
DW$7 .dwtag DW_TAG_variable, DW_AT_name("usDataLen"), DW_AT_symbol_name("_usDataLen")
.dwattr DW$7, DW_AT_type(*DW$T$11)
.dwattr DW$7, DW_AT_location[DW_OP_breg20 -3]
DW$8 .dwtag DW_TAG_variable, DW_AT_name("uchCRCHi"), DW_AT_symbol_name("_uchCRCHi")
.dwattr DW$8, DW_AT_type(*DW$T$6)
.dwattr DW$8, DW_AT_location[DW_OP_breg20 -4]
DW$9 .dwtag DW_TAG_variable, DW_AT_name("uchCRCLo"), DW_AT_symbol_name("_uchCRCLo")
.dwattr DW$9, DW_AT_type(*DW$T$6)
.dwattr DW$9, DW_AT_location[DW_OP_breg20 -5]
DW$10 .dwtag DW_TAG_variable, DW_AT_name("uIndex"), DW_AT_symbol_name("_uIndex")
.dwattr DW$10, DW_AT_type(*DW$T$11)
.dwattr DW$10, DW_AT_location[DW_OP_breg20 -6]
MOV *-SP[3],AL ; |47|
MOVL *-SP[2],XAR4 ; |47|
.dwpsn "CRC16.c",48,19
MOVB AL,#255 ; |48|
MOV *-SP[4],AL ; |48|
.dwpsn "CRC16.c",49,19
MOV *-SP[5],AL ; |49|
.dwpsn "CRC16.c",51,5
MOV AH,*-SP[3] ; |51|
DEC *-SP[3] ; |51|
CMPB AH,#0 ; |51|
BF L2,EQ ; |51|
; branchcc occurs ; |51|
L1:
DW$L$_CRC16$2$B:
.dwpsn "CRC16.c",53,9
MOVL XAR4,*-SP[2] ; |53|
MOV AL,*XAR4++ ; |53|
ANDB AL,#255 ; |53|
MOVL *-SP[2],XAR4 ; |53|
XOR AL,*-SP[4] ; |53|
MOV *-SP[6],AL ; |53|
.dwpsn "CRC16.c",54,9
MOVZ AR0,*-SP[6] ; |54|
MOVL XAR4,#_auchCRCHi ; |54|
MOV AL,*+XAR4[AR0] ; |54|
XOR AL,*-SP[5] ; |54|
MOV *-SP[4],AL ; |54|
.dwpsn "CRC16.c",55,9
MOVZ AR0,*-SP[6] ; |55|
MOVL XAR4,#_auchCRCLo ; |55|
MOV AL,*+XAR4[AR0] ; |55|
MOV *-SP[5],AL ; |55|
.dwpsn "CRC16.c",56,5
MOV AH,*-SP[3] ; |56|
DEC *-SP[3] ; |56|
CMPB AH,#0 ; |56|
BF L1,NEQ ; |56|
; branchcc occurs ; |56|
DW$L$_CRC16$2$E:
L2:
.dwpsn "CRC16.c",57,5
MOV ACC,*-SP[4] << #8 ; |57|
OR AL,*-SP[5] ; |57|
.dwpsn "CRC16.c",58,1
SUBB SP,#6 ; |57|
.dwcfa 0x1d, -2
LRETR
; return occurs
DW$11 .dwtag DW_TAG_loop
.dwattr DW$11, DW_AT_name("F:\DISP_081009\CRC16.asm:L1:1:1223625711")
.dwattr DW$11, DW_AT_begin_file("CRC16.c")
.dwattr DW$11, DW_AT_begin_line(0x33)
.dwattr DW$11, DW_AT_end_line(0x38)
DW$12 .dwtag DW_TAG_loop_range
.dwattr DW$12, DW_AT_low_pc(DW$L$_CRC16$2$B)
.dwattr DW$12, DW_AT_high_pc(DW$L$_CRC16$2$E)
.dwendtag DW$11
.dwattr DW$3, DW_AT_end_file("CRC16.c")
.dwattr DW$3, DW_AT_end_line(0x3a)
.dwattr DW$3, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$3
;***************************************************************
;* TYPE INFORMATION *
;***************************************************************
DW$T$6 .dwtag DW_TAG_base_type, DW_AT_name("unsigned char")
.dwattr DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
.dwattr DW$T$6, DW_AT_byte_size(0x01)
DW$T$19 .dwtag DW_TAG_pointer_type, DW_AT_type(*DW$T$6)
.dwattr DW$T$19, DW_AT_address_class(0x16)
DW$T$20 .dwtag DW_TAG_array_type, DW_AT_type(*DW$T$6)
.dwattr DW$T$20, DW_AT_language(DW_LANG_C)
.dwattr DW$T$20, DW_AT_byte_size(0x100)
DW$13 .dwtag DW_TAG_subrange_type
.dwattr DW$13, DW_AT_upper_bound(0xff)
.dwendtag DW$T$20
DW$T$11 .dwtag DW_TAG_base_type, DW_AT_name("unsigned int")
.dwattr DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
.dwattr DW$T$11, DW_AT_byte_size(0x01)
DW$T$21 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$11)
.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
DW$14 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
DW$15 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
.dwendtag DW$T$21
.dwattr DW$3, DW_AT_external(0x01)
.dwattr DW$3, DW_AT_type(*DW$T$11)
.dwattr DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF CIE ENTRIES *
;***************************************************************
DW$CIE .dwcie 1, 40
.dwcfa 0x0c, 20, 0
.dwcfa 0x07, 0
.dwcfa 0x07, 1
.dwcfa 0x07, 2
.dwcfa 0x07, 3
.dwcfa 0x07, 4
.dwcfa 0x07, 5
.dwcfa 0x08, 6
.dwcfa 0x08, 7
.dwcfa 0x08, 8
.dwcfa 0x08, 9
.dwcfa 0x08, 10
.dwcfa 0x08, 11
.dwcfa 0x07, 12
.dwcfa 0x07, 13
.dwcfa 0x07, 14
.dwcfa 0x07, 15
.dwcfa 0x07, 16
.dwcfa 0x07, 17
.dwcfa 0x07, 18
.dwcfa 0x07, 19
.dwcfa 0x07, 20
.dwcfa 0x07, 21
.dwcfa 0x07, 22
.dwcfa 0x07, 23
.dwcfa 0x07, 24
.dwcfa 0x07, 25
.dwcfa 0x07, 26
.dwcfa 0x08, 27
.dwcfa 0x07, 28
.dwcfa 0x07, 29
.dwcfa 0x07, 30
.dwcfa 0x07, 31
.dwcfa 0x07, 32
.dwcfa 0x07, 33
.dwcfa 0x07, 34
.dwcfa 0x07, 35
.dwcfa 0x07, 36
.dwcfa 0x07, 37
.dwcfa 0x07, 38
.dwcfa 0x07, 39
.dwcfa 0x07, 40
;***************************************************************
;* DWARF REGISTER MAP *
;***************************************************************
DW$16 .dwtag DW_TAG_assign_register, DW_AT_name("AL")
.dwattr DW$16, DW_AT_location[DW_OP_reg0]
DW$17 .dwtag DW_TAG_assign_register, DW_AT_name("AH")
.dwattr DW$17, DW_AT_location[DW_OP_reg1]
DW$18 .dwtag DW_TAG_assign_register, DW_AT_name("PL")
.dwattr DW$18, DW_AT_location[DW_OP_reg2]
DW$19 .dwtag DW_TAG_assign_register, DW_AT_name("PH")
.dwattr DW$19, DW_AT_location[DW_OP_reg3]
DW$20 .dwtag DW_TAG_assign_register, DW_AT_name("AR0")
.dwattr DW$20, DW_AT_location[DW_OP_reg4]
DW$21 .dwtag DW_TAG_assign_register, DW_AT_name("XAR0")
.dwattr DW$21, DW_AT_location[DW_OP_reg5]
DW$22 .dwtag DW_TAG_assign_register, DW_AT_name("AR1")
.dwattr DW$22, DW_AT_location[DW_OP_reg6]
DW$23 .dwtag DW_TAG_assign_register, DW_AT_name("XAR1")
.dwattr DW$23, DW_AT_location[DW_OP_reg7]
DW$24 .dwtag DW_TAG_assign_register, DW_AT_name("AR2")
.dwattr DW$24, DW_AT_location[DW_OP_reg8]
DW$25 .dwtag DW_TAG_assign_register, DW_AT_name("XAR2")
.dwattr DW$25, DW_AT_location[DW_OP_reg9]
DW$26 .dwtag DW_TAG_assign_register, DW_AT_name("AR3")
.dwattr DW$26, DW_AT_location[DW_OP_reg10]
DW$27 .dwtag DW_TAG_assign_register, DW_AT_name("XAR3")
.dwattr DW$27, DW_AT_location[DW_OP_reg11]
DW$28 .dwtag DW_TAG_assign_register, DW_AT_name("AR4")
.dwattr DW$28, DW_AT_location[DW_OP_reg12]
DW$29 .dwtag DW_TAG_assign_register, DW_AT_name("XAR4")
.dwattr DW$29, DW_AT_location[DW_OP_reg13]
DW$30 .dwtag DW_TAG_assign_register, DW_AT_name("AR5")
.dwattr DW$30, DW_AT_location[DW_OP_reg14]
DW$31 .dwtag DW_TAG_assign_register, DW_AT_name("XAR5")
.dwattr DW$31, DW_AT_location[DW_OP_reg15]
DW$32 .dwtag DW_TAG_assign_register, DW_AT_name("AR6")
.dwattr DW$32, DW_AT_location[DW_OP_reg16]
DW$33 .dwtag DW_TAG_assign_register, DW_AT_name("XAR6")
.dwattr DW$33, DW_AT_location[DW_OP_reg17]
DW$34 .dwtag DW_TAG_assign_register, DW_AT_name("AR7")
.dwattr DW$34, DW_AT_location[DW_OP_reg18]
DW$35 .dwtag DW_TAG_assign_register, DW_AT_name("XAR7")
.dwattr DW$35, DW_AT_location[DW_OP_reg19]
DW$36 .dwtag DW_TAG_assign_register, DW_AT_name("SP")
.dwattr DW$36, DW_AT_location[DW_OP_reg20]
DW$37 .dwtag DW_TAG_assign_register, DW_AT_name("XT")
.dwattr DW$37, DW_AT_location[DW_OP_reg21]
DW$38 .dwtag DW_TAG_assign_register, DW_AT_name("T")
.dwattr DW$38, DW_AT_location[DW_OP_reg22]
DW$39 .dwtag DW_TAG_assign_register, DW_AT_name("ST0")
.dwattr DW$39, DW_AT_location[DW_OP_reg23]
DW$40 .dwtag DW_TAG_assign_register, DW_AT_name("ST1")
.dwattr DW$40, DW_AT_location[DW_OP_reg24]
DW$41 .dwtag DW_TAG_assign_register, DW_AT_name("PC")
.dwattr DW$41, DW_AT_location[DW_OP_reg25]
DW$42 .dwtag DW_TAG_assign_register, DW_AT_name("RPC")
.dwattr DW$42, DW_AT_location[DW_OP_reg26]
DW$43 .dwtag DW_TAG_assign_register, DW_AT_name("FP")
.dwattr DW$43, DW_AT_location[DW_OP_reg27]
DW$44 .dwtag DW_TAG_assign_register, DW_AT_name("DP")
.dwattr DW$44, DW_AT_location[DW_OP_reg28]
DW$45 .dwtag DW_TAG_assign_register, DW_AT_name("SXM")
.dwattr DW$45, DW_AT_location[DW_OP_reg29]
DW$46 .dwtag DW_TAG_assign_register, DW_AT_name("PM")
.dwattr DW$46, DW_AT_location[DW_OP_reg30]
DW$47 .dwtag DW_TAG_assign_register, DW_AT_name("OVM")
.dwattr DW$47, DW_AT_location[DW_OP_reg31]
DW$48 .dwtag DW_TAG_assign_register, DW_AT_name("PAGE0")
.dwattr DW$48, DW_AT_location[DW_OP_regx 0x20]
DW$49 .dwtag DW_TAG_assign_register, DW_AT_name("AMODE")
.dwattr DW$49, DW_AT_location[DW_OP_regx 0x21]
DW$50 .dwtag DW_TAG_assign_register, DW_AT_name("IFR")
.dwattr DW$50, DW_AT_location[DW_OP_regx 0x22]
DW$51 .dwtag DW_TAG_assign_register, DW_AT_name("IER")
.dwattr DW$51, DW_AT_location[DW_OP_regx 0x23]
DW$52 .dwtag DW_TAG_assign_register, DW_AT_name("IER")
.dwattr DW$52, DW_AT_location[DW_OP_regx 0x24]
DW$53 .dwtag DW_TAG_assign_register, DW_AT_name("PSEUDO")
.dwattr DW$53, DW_AT_location[DW_OP_regx 0x25]
DW$54 .dwtag DW_TAG_assign_register, DW_AT_name("PSEUDOH")
.dwattr DW$54, DW_AT_location[DW_OP_regx 0x26]
DW$55 .dwtag DW_TAG_assign_register, DW_AT_name("VOL")
.dwattr DW$55, DW_AT_location[DW_OP_regx 0x27]
DW$56 .dwtag DW_TAG_assign_register, DW_AT_name("CIE_RETA")
.dwattr DW$56, DW_AT_location[DW_OP_regx 0x28]
.dwendtag DW$CU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -