📄 ms2_serial.cod
字号:
0002c e12fff1e bx lr
00030 |$L31200|
00030 00000000 DCD |??_7CBulPdd16550BUART@@6BCMiniThread@@@|
00034 00000000 DCD |??_7CBulPdd16550BUART@@6BCSerialPDD@@@|
00038 |$M31196|
ENDP ; |??0CBulPdd16550BUART@@QAA@PAGPAXPAU__HWOBJ@@@Z|, CBulPdd16550BUART::CBulPdd16550BUART
EXPORT |??1CBulPdd16550BUART@@UAA@XZ| ; CBulPdd16550BUART::~CBulPdd16550BUART
IMPORT |MmUnmapIoSpace|
00000 AREA |.text| { |??1CBulPdd16550BUART@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??1CBulPdd16550BUART@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CBulPdd16550BUART@@UAA@XZ| } ; comdat associative
|$T31207| DCD |$L31206|
DCD 0x40001101
; Function compile flags: /Ogsy
00000 AREA |.text| { |??1CBulPdd16550BUART@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??1CBulPdd16550BUART@@UAA@XZ| PROC ; CBulPdd16550BUART::~CBulPdd16550BUART
; 93 : ~CBulPdd16550BUART() {
00000 |$L31206|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M31204|
00004 e1a04000 mov r4, r0
; 94 : if (m_pBCRReg)
00008 e5943154 ldr r3, [r4, #0x154]
0000c e59f102c ldr r1, [pc, #0x2C]
00010 e59f2024 ldr r2, [pc, #0x24]
00014 e3530000 cmp r3, #0
; 95 : MmUnmapIoSpace(m_pBCRReg,0);
00018 15940154 ldrne r0, [r4, #0x154]
0001c e58410fc str r1, [r4, #0xFC]
00020 13a01000 movne r1, #0
00024 e5842000 str r2, [r4]
00028 1b000000 blne MmUnmapIoSpace
; 96 : }
0002c e1a00004 mov r0, r4
00030 eb000000 bl |??1CBulPdd16550@@UAA@XZ|
00034 e8bd4010 ldmia sp!, {r4, lr}
00038 e12fff1e bx lr
0003c |$L31209|
0003c 00000000 DCD |??_7CBulPdd16550BUART@@6BCSerialPDD@@@|
00040 00000000 DCD |??_7CBulPdd16550BUART@@6BCMiniThread@@@|
00044 |$M31205|
ENDP ; |??1CBulPdd16550BUART@@UAA@XZ|, CBulPdd16550BUART::~CBulPdd16550BUART
00000 AREA |.text| { |?SetDTR@CBulPdd16550BUART@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?SetDTR@CBulPdd16550BUART@@UAAXH@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetDTR@CBulPdd16550BUART@@UAAXH@Z| } ; comdat associative
|$T31218| DCD |$L31217|
DCD 0x40000800
; Function compile flags: /Ogsy
00000 AREA |.text| { |?SetDTR@CBulPdd16550BUART@@UAAXH@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?SetDTR@CBulPdd16550BUART@@UAAXH@Z| PROC ; CBulPdd16550BUART::SetDTR
; 117 : virtual void SetDTR(BOOL bSet) {
00000 |$L31217|
00000 |$M31215|
00000 e3510000 cmp r1, #0
; 118 : if (bSet)
; 119 : m_pBCRReg->misc_wr &= ~XLLP_BCR_MISCWR1_BTDTR;
00004 e5902154 ldr r2, [r0, #0x154]
00008 e5b23080 ldr r3, [r2, #0x80]!
0000c 13c33080 bicne r3, r3, #0x80
; 120 : else
; 121 : m_pBCRReg->misc_wr |= XLLP_BCR_MISCWR1_BTDTR;
00010 15823000 strne r3, [r2]
00014 03833080 orreq r3, r3, #0x80
00018 05823000 streq r3, [r2]
; 122 :
; 123 : }
0001c e12fff1e bx lr
00020 |$M31216|
ENDP ; |?SetDTR@CBulPdd16550BUART@@UAAXH@Z|, CBulPdd16550BUART::SetDTR
EXPORT |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ| ; CBulPdd16550BUART::ConfigurePinout
00000 AREA |.text| { |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ| } ; comdat associative
|$T31228| DCD |$L31227|
DCD 0x40001600
; Function compile flags: /Ogsy
00000 AREA |.text| { |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ| PROC ; CBulPdd16550BUART::ConfigurePinout
; 125 : BOOL ConfigurePinout() {
00000 |$L31227|
00000 |$M31225|
00000 e1a01000 mov r1, r0
; 126 : //Configuring GPIO pins for BTUART
; 127 : //Initialize GPIO pins
; 128 : //Write 0 on GPIO pins 43 and 45 before configuring them as outputs.
; 129 : m_pGPIOReg->GPCR1 = (XLLP_GPIO_BIT_BTTXD | XLLP_GPIO_BIT_BTRTS);
00004 e5913148 ldr r3, [r1, #0x148]
00008 e3a02b0a mov r2, #0xA, 22
; 130 :
; 131 : //Configure direction of GPIO pins 42 and 44 as input
; 132 : //and GPIO pins 43 and 45 as output
; 133 : m_pGPIOReg->GPDR1 &= ~( XLLP_GPIO_BIT_BTRXD | XLLP_GPIO_BIT_BTCTS);
; 134 : m_pGPIOReg->GPDR1 |= ( XLLP_GPIO_BIT_BTTXD | XLLP_GPIO_BIT_BTRTS);
; 135 :
; 136 :
; 137 : //Configure GPIO pins 42 and 44 for Alt_fn1. And pins 43 and 45 for Alt_fn2.
; 138 : m_pGPIOReg->GAFR1_L |= (XLLP_GPIO_AF_BIT_BTRXD | XLLP_GPIO_AF_BIT_BTCTS |
; 139 : XLLP_GPIO_AF_BIT_BTTXD | XLLP_GPIO_AF_BIT_BTRTS );
; 140 :
; 141 :
; 142 : //Turn on the BTUART transceiver
; 143 : m_pBCRReg->misc_wr |= XLLP_BCR_MISCWR1_nBT_OFF;
; 144 :
; 145 : return TRUE;
0000c e3a00001 mov r0, #1
00010 e5832028 str r2, [r3, #0x28]
00014 e5912148 ldr r2, [r1, #0x148]
00018 e5923010 ldr r3, [r2, #0x10]
0001c e3c33b05 bic r3, r3, #5, 22
00020 e5823010 str r3, [r2, #0x10]
00024 e5912148 ldr r2, [r1, #0x148]
00028 e5923010 ldr r3, [r2, #0x10]
0002c e3833b0a orr r3, r3, #0xA, 22
00030 e5823010 str r3, [r2, #0x10]
00034 e5912148 ldr r2, [r1, #0x148]
00038 e592305c ldr r3, [r2, #0x5C]
0003c e3833699 orr r3, r3, #0x99, 12
00040 e582305c str r3, [r2, #0x5C]
00044 e5912154 ldr r2, [r1, #0x154]
00048 e5b23080 ldr r3, [r2, #0x80]!
0004c e3833c01 orr r3, r3, #1, 24
00050 e5823000 str r3, [r2]
; 146 : }
00054 e12fff1e bx lr
00058 |$M31226|
ENDP ; |?ConfigurePinout@CBulPdd16550BUART@@AAAHXZ|, CBulPdd16550BUART::ConfigurePinout
IMPORT |??3@YAXPAX@Z| ; operator delete
00000 AREA |.text| { |??_GCBulPdd16550BUART@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??_GCBulPdd16550BUART@@UAAPAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??_GCBulPdd16550BUART@@UAAPAXI@Z| } ; comdat associative
|$T31239| DCD |$L31238|
DCD 0x40000a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |??_GCBulPdd16550BUART@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??_GCBulPdd16550BUART@@UAAPAXI@Z| PROC ; CBulPdd16550BUART::`scalar deleting destructor'
00000 |$L31238|
00000 e92d4030 stmdb sp!, {r4, r5, lr}
00004 |$M31236|
00004 e1a04001 mov r4, r1
00008 e1a05000 mov r5, r0
0000c eb000000 bl |??1CBulPdd16550BUART@@UAA@XZ|
00010 e3140001 tst r4, #1
00014 11a00005 movne r0, r5
00018 1b000000 blne |??3@YAXPAX@Z|
0001c e1a00005 mov r0, r5
00020 e8bd4030 ldmia sp!, {r4, r5, lr}
00024 e12fff1e bx lr
00028 |$M31237|
ENDP ; |??_GCBulPdd16550BUART@@UAAPAXI@Z|, CBulPdd16550BUART::`scalar deleting destructor'
EXPORT |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| ; CBulPdd16550SUART::CBulPdd16550SUART
EXPORT |?Init@CBulPdd16550SUART@@UAAHXZ| ; CBulPdd16550SUART::Init
EXPORT |?SerialRegisterRestore@CBulPdd16550SUART@@UAAXXZ| ; CBulPdd16550SUART::SerialRegisterRestore
EXPORT |??_7CBulPdd16550SUART@@6BCSerialPDD@@@| [ DATA ] ; CBulPdd16550SUART::`vftable'
EXPORT |??_7CBulPdd16550SUART@@6BCMiniThread@@@| [ DATA ] ; CBulPdd16550SUART::`vftable'
EXPORT |??_GCBulPdd16550SUART@@UAAPAXI@Z| ; CBulPdd16550SUART::`scalar deleting destructor'
IMPORT |??_ECBulPdd16550SUART@@UAAPAXI@Z|, WEAK |??_GCBulPdd16550SUART@@UAAPAXI@Z| ; CBulPdd16550SUART::`vector deleting destructor', CBulPdd16550SUART::`scalar deleting destructor'
00000 AREA |.text| { |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| } ; comdat associative
|$T31252| DCD |$L31251|
DCD 0x40000e01
00000 AREA |.rdata| { |??_7CBulPdd16550SUART@@6BCSerialPDD@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CBulPdd16550SUART@@6BCSerialPDD@@@| DCD |??_ECBulPdd16550SUART@@UAAPAXI@Z| ; CBulPdd16550SUART::`vftable'
DCD |?Init@CBulPdd16550SUART@@UAAHXZ|
DCD |?PostInit@CPdd16550@@UAAXXZ|
DCD |?Open@CBulPdd16550@@UAAHXZ|
DCD |?Close@CBulPdd16550@@UAAHXZ|
DCD |?Ioctl@CSerialPDD@@UAAHKPAEK0KPAK@Z|
DCD |?InitialPower@CSerialPDD@@UAAHH@Z|
DCD |?PowerOff@CSerialPDD@@UAAHXZ|
DCD |?PowerOn@CSerialPDD@@UAAHXZ|
DCD |?SetDevicePowerState@CSerialPDD@@UAAHW4_CEDEVICE_POWER_STATE@@@Z|
DCD |?SerialRegisterBackup@CBulPdd16550@@MAAXXZ|
DCD |?SerialRegisterRestore@CBulPdd16550SUART@@UAAXXZ|
DCD |?GetDevicePowerState@CSerialPDD@@UAA?AW4_CEDEVICE_POWER_STATE@@XZ|
DCD |?GetPowerCapabilities@CSerialPDD@@UAA?AU_POWER_CAPABILITIES@@XZ|
DCD |?InitialEnableInterrupt@CPdd16550@@UAAHH@Z|
DCD |?NotifyPDDInterrupt@CSerialPDD@@UAAHW4INTERRUPT_TYPE@@@Z|
DCD |?GetInterruptType@CSerialPDD@@UAA?AW4INTERRUPT_TYPE@@XZ|
DCD |?EventCallback@CSerialPDD@@UAAHKK@Z|
DCD |?DataReplaced@CSerialPDD@@UAAHPAEH@Z|
DCD |?PurgeComm@CSerialPDD@@UAAHK@Z|
DCD |?InitXmit@CPdd16550@@UAAHH@Z|
DCD |?XmitInterruptHandler@CBulPdd16550@@UAAXPAEPAK@Z|
DCD |?XmitComChar@CBulPdd16550@@UAAXE@Z|
DCD |?EnableXmitInterrupt@CBulPdd16550@@UAAHH@Z|
DCD |?CancelXmit@CPdd16550@@UAAHXZ|
DCD |?InitReceive@CPdd16550@@UAAHH@Z|
DCD |?GetRxBufferSize@CSerialPDD@@UAAKXZ|
DCD |?ReceiveInterruptHandler@CPdd16550@@UAAKPAEPAK@Z|
DCD |?CancelReceive@CPdd16550@@UAAKXZ|
DCD |?InitModem@CPdd16550@@UAAHH@Z|
DCD |?ModemInterruptHandler@CPdd16550@@UAAXXZ|
DCD |?GetModemStatus@CPdd16550@@UAAKXZ|
DCD |?SetDTR@CPdd16550@@UAAXH@Z|
DCD |?SetRTS@CPdd16550@@UAAXH@Z|
DCD |?IsCTSOff@CSerialPDD@@UAAHXZ|
DCD |?IsDSROff@CSerialPDD@@UAAHXZ|
DCD |?InitLine@CPdd16550@@UAAHH@Z|
DCD |?LineInterruptHandler@CPdd16550@@UAAXXZ|
DCD |?SetBreak@CPdd16550@@UAAXH@Z|
DCD |?SetBaudRate@CPdd16550@@UAAHKH@Z|
DCD |?SetByteSize@CPdd16550@@UAAHK@Z|
DCD |?SetParity@CPdd16550@@UAAHK@Z|
DCD |?SetStopBits@CPdd16550@@UAAHK@Z|
DCD |?SetDCB@CBulPdd16550@@UAAHPAU_DCB@@@Z|
DCD |?SetDefaultConfiguration@CSerialPDD@@UAAXXZ|
DCD |?GetDivisorOfRate@CBulPdd16550@@UAAHKPAK@Z|
DCD |?SetOutputMode@CBulPdd16550@@UAAXHH@Z|
DCD |?GetOutputMode@CSerialPDD@@UAAXPAH0@Z|
DCD |?SetReceiveError@CSerialPDD@@UAAXK@Z|
DCD |?GetReceivedError@CSerialPDD@@UAAKXZ|
DCD |?MapHardware@CBulPdd16550@@UAAHXZ|
DCD |?CreateHardwareAccess@CBulPdd16550@@UAAHXZ|
DCD |?GetWriteableSize@CPdd16550@@UAAKXZ|
DCD |?GetWaterMark@CBulPdd16550@@UAAKXZ|
DCD |?GetWaterMarkBit@CBulPdd16550@@UAAEXZ|
DCD |?GetCanWriteByte@CBulPdd16550@@UAAKXZ|
DCD |?InitIR@CBulPdd16550@@UAAHH@Z|
00000 AREA |.rdata| { |??_7CBulPdd16550SUART@@6BCMiniThread@@@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_7CBulPdd16550SUART@@6BCMiniThread@@@| DCD |?ThreadRun@CPdd16550@@EAAKXZ| ; CBulPdd16550SUART::`vftable'
; Function compile flags: /Ogsy
00000 AREA |.text| { |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any
00000 |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z| PROC ; CBulPdd16550SUART::CBulPdd16550SUART
; 154 : {
00000 |$L31251|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M31249|
00004 e1a04000 mov r4, r0
00008 eb000000 bl |??0CBulPdd16550@@QAA@PAGPAXPAU__HWOBJ@@@Z|
0000c e59f3020 ldr r3, [pc, #0x20]
00010 e59f2018 ldr r2, [pc, #0x18]
; 155 : m_pBCRReg = NULL;
00014 e3a01000 mov r1, #0
00018 e5843000 str r3, [r4]
0001c e58420fc str r2, [r4, #0xFC]
00020 e5841154 str r1, [r4, #0x154]
; 156 : };
00024 e1a00004 mov r0, r4
00028 e8bd4010 ldmia sp!, {r4, lr}
0002c e12fff1e bx lr
00030 |$L31254|
00030 00000000 DCD |??_7CBulPdd16550SUART@@6BCMiniThread@@@|
00034 00000000 DCD |??_7CBulPdd16550SUART@@6BCSerialPDD@@@|
00038 |$M31250|
ENDP ; |??0CBulPdd16550SUART@@QAA@PAGPAXPAU__HWOBJ@@@Z|, CBulPdd16550SUART::CBulPdd16550SUART
EXPORT |??1CBulPdd16550SUART@@UAA@XZ| ; CBulPdd16550SUART::~CBulPdd16550SUART
00000 AREA |.text| { |??1CBulPdd16550SUART@@UAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any
00000 AREA |.pdata$$??1CBulPdd16550SUART@@UAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??1CBulPdd16550SUART@@UAA@XZ| } ; comdat associative
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -