📄 ideio.lst
字号:
C51 COMPILER V7.20 IDEIO 05/26/2005 07:10:16 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE IDEIO
OBJECT MODULE PLACED IN ..\..\IDEIO.obj
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE IDEIO.C LARGE BROWSE DEBUG OBJECTEXTEND OBJECT(..\..\IDEIO.obj)
line level source
1 #define _LIBRARY_DEFINE
2 #include <stdio.h>
3 #include "..\Inc\AT8xC51SND1.h"
4 #include "..\Inc\GLOBAL.h"
5 #include "..\Inc\COMMON.h"
6 #include "..\Inc\MP3.h"
7 #include "IDEIO.h"
8
9 //IDE设备控制寄存器地址
10 #define IDE_ADDR_CTRL_STATUS IDE_ADDR_BASE + IDE_ADDR_CTRL + IDE_IO_DA2 + IDE_IO_DA1
11 #define IDE_ADDR_CTRL_CONTROL IDE_ADDR_BASE + IDE_ADDR_CTRL + IDE_IO_DA2 + IDE_IO_DA1
12
13 //IDE设备命令寄存器地址
14 #define IDE_ADDR_CMD_DATA IDE_ADDR_BASE + IDE_ADDR_CMD
15 #define IDE_ADDR_CMD_ERROR IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA0
16 #define IDE_ADDR_CMD_SECCNT IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA1
17 #define IDE_ADDR_CMD_LBA0 IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA1 + IDE_IO_DA0
18 #define IDE_ADDR_CMD_LBA1 IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2
19 #define IDE_ADDR_CMD_LBA2 IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA0
20 #define IDE_ADDR_CMD_LBA3 IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA1
21 #define IDE_ADDR_CMD_STATUS IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA1 + IDE_IO_DA0
22 #define IDE_ADDR_CMD_COMMAND IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA1 + IDE_IO_DA0
23 #define IDE_ADDR_CMD_SECTOR IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA1 + IDE_IO_DA0
24 #define IDE_ADDR_CMD_CYLMSB IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2
25 #define IDE_ADDR_CMD_CYLLSB IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA0
26 #define IDE_ADDR_CMD_HEAD IDE_ADDR_BASE + IDE_ADDR_CMD + IDE_IO_DA2 + IDE_IO_DA1
27
28 //IDE设备状态字
29 #define IDE_STATUS_BSY 0x80
30 #define IDE_STATUS_DRDY 0x40
31 #define IDE_STATUS_DF 0x20
32 #define IDE_STATUS_DSC 0x10
33 #define IDE_STATUS_DRQ 0x08
34 #define IDE_STATUS_CORR 0x04
35 #define IDE_STATUS_IDX 0x02
36 #define IDE_STATUS_ERR 0x01
37
38 //IDE设备出错标志
39 #define IDE_ERR_UNC 0x40
40 #define IDE_ERR_MC 0x20
41 #define IDE_ERR_IDNF 0x10
42 #define IDE_ERR_MCR 0x08
43 #define IDE_ERR_ABRT 0x04
44 #define IDE_ERR_TK0NF 0x02
45 #define IDE_ERR_AMNF 0x01
46
47 //IDE设备控制标志
48 #define IDE_CTRL_SRST 0x04
49 #define IDE_CTRL_nIEN 0x02
50 #define IDE_CTRL_LBA 0x40
51 #define IDE_CTRL_DEV 0x10
52
53 //IDE设备命令
54 #define IDE_CMD_RECAL 0x10
55 #define IDE_CMD_READ 0x20
C51 COMPILER V7.20 IDEIO 05/26/2005 07:10:16 PAGE 2
56 #define IDE_CMD_WRITE 0x30
57 #define IDE_CMD_DEVDIAG 0x90
58 #define IDE_CMD_INIT 0x91
59 #define IDE_CMD_IDLE_IMMEDIATE 0xE1
60 #define IDE_CMD_SLEEP 0xE6
61 #define IDE_CMD_STANDBY 0xE0
62 #define IDE_CMD_IDENTIFYDEV 0xEC
63
64 #define IDE_WAIT TRUE
65 #define IDE_NOWAIT FALSE
66
67 //IDE 读写操作
68 #define IDE_READ_LSB(addr,dat) dat=*((BYTE xdata *)addr)
69 #define IDE_READ_MSB(addr) SET_BIT_6(AUXR),*((BYTE xdata *)addr),CLEAR_BIT_6(AUXR),IDE_PORT_DATMSB
70 #define IDE_WRITE_LSB(addr,dat) *((BYTE xdata *)addr)=dat
71 #define IDE_WRITE_MSB(addr,dat) IDE_PORT_DATMSB=dat,EXT16=1,*((BYTE xdata *)addr|(dat<<8)),EXT16=0
72 #define IDE_READ_WORD(addr,lo,hi) SET_BIT_6(AUXR);lo=*((BYTE xdata *)addr);hi=IDE_PORT_DATMSB;CLEAR_BIT
-_6(AUXR)
73 #define IDE_WRITE_WORD(addr,lo,hi) SET_BIT_6(AUXR);IDE_PORT_DATMSB=hi;*((BYTE xdata *)addr)=lo;CLEAR_BI
-T_6(AUXR)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -