forked from QSCTech/zju-icicles
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added course material for "Assembly Language and Computer Interface" …
…taught by Prof. Shou Shanxiong, who teaches the x86 version of this course
- Loading branch information
1 parent
42f4c95
commit 58ec9b8
Showing
529 changed files
with
33,052 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
由于在这门课程目前(2017-18学年)尽管课程号相同,但是不同老师的授课内容是完全不同的,如首山雄老师教的是x86平台的内容,而有的老师教授MIPS平台等。因此,本目录下再按照老师开设二级目录以进行区分。 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
本目录下的文件来自曹西301实验室的电脑上,为多年前的实验ppt、参考代码等。由于实验板已经很老了(2004年的),几乎很难找到有用的相关资料,因此这些多年前的资料在我们进行实验时起到了很大的作用。随着时间推移,实验部分的教学内容和要求都有了很大的变化,这些内容仅供参考。 |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
;һ���ĵ����ӣ����ö�ʱ�����жϷ�ʽ��ʱ���ò��пڿ���LED��ɨ�� | ||
;��ҪSXL_100�ӿ�ʵ����һ�� | ||
|
||
DSEG SEGMENT | ||
ADDRESS DW 0DE00H ;ʵ���˿���ַ | ||
CSCS DW 0 ;���ڱ���ԭ�ж�CS | ||
IPIP DW 0 ;���ڱ���ԭ�ж�IP | ||
DISP DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,098H ;�������ʾ���� | ||
SG DB 1110B,1101B,1011B,0111B ;λѡ | ||
STAT DB 0 ;����5259״̬ | ||
STATUS DB 0 ;����9052״̬ | ||
TIME DB 0,0,0,0 ;��ʼʱ��00��00 | ||
CNT DB 0 ;����ֵ����20Ϊ1�� | ||
DSEG ENDS | ||
CSEG SEGMENT | ||
ASSUME CS:CSEG,DS:DSEG | ||
MAIN PROC FAR | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;���ü�����������ʽ | ||
MOV DX,ADDRESS | ||
ADD DX,23H | ||
MOV AL,10110110B | ||
OUT DX,AL | ||
|
||
MOV DX,ADDRESS | ||
ADD DX,22H | ||
MOV AX,50000 | ||
OUT DX,AL | ||
MOV AL,AH | ||
OUT DX,AL | ||
|
||
;���ò��ڹ�����ʽ | ||
MOV DX,ADDRESS | ||
ADD DX,3H | ||
MOV AL,10000000B | ||
OUT DX,AL | ||
|
||
;���ж� | ||
CLI | ||
|
||
;ȡԭ�жϣ�����INT 72H | ||
MOV AX,3572H | ||
INT 21H | ||
MOV CSCS,ES | ||
MOV IPIP,BX | ||
|
||
;�������ж� | ||
MOV AX,CS | ||
MOV DS,AX | ||
MOV DX,OFFSET INTS | ||
MOV AX,2572H | ||
INT 21H | ||
|
||
;����DS,ES | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;ʹ��9052 | ||
MOV DX,0DD80H + 4CH | ||
IN AL,DX | ||
MOV STATUS,AL | ||
OR AL,5BH | ||
OUT DX,AL | ||
MOV DX,0DD80H + 4DH | ||
IN AL,DX | ||
OR AL,0CH | ||
OUT DX,AL | ||
|
||
;������ | ||
IN AL,0A1H | ||
MOV STAT,AL | ||
AND AL,11111011B | ||
OUT 0A1H,AL | ||
|
||
;���ж� | ||
STI | ||
|
||
;�жϴ��� | ||
MOV DI,0H | ||
;����� | ||
LP: CMP TIME[0],10 | ||
JNZ LR | ||
|
||
MOV TIME[0],0 | ||
ADD TIME[1],1 | ||
CMP TIME[1],6 | ||
JNZ LR | ||
|
||
MOV TIME[1],0 | ||
ADD TIME[2],1 | ||
CMP TIME[2],10 | ||
JNZ LR | ||
|
||
MOV TIME[2],0 | ||
ADD TIME[3],1 | ||
CMP TIME[3],6 | ||
JNZ LR | ||
|
||
MOV TIME[3],0 | ||
|
||
LR: MOV DX,ADDRESS ;����λѡ | ||
ADD DX,1H | ||
MOV AL,SG[DI] | ||
OUT DX,AL | ||
|
||
MOV DX,ADDRESS ;��������ܶ��� | ||
MOV BL,TIME[DI] | ||
MOV BH,0 | ||
MOV AL,DISP[BX] | ||
OUT DX,AL | ||
|
||
CALL DELAY ;��ʱ | ||
|
||
INC DI | ||
|
||
CMP DI,4 | ||
JNZ LP | ||
MOV DI,0 | ||
JMP LP | ||
|
||
;���ж� | ||
CLI | ||
|
||
;����DS,ES | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;5:���� | ||
MOV AL,STAT | ||
OUT 0A1h,AL | ||
|
||
;�ر�9052 | ||
MOV DX,0DD80H + 4CH | ||
mov AL,STATUS | ||
OUT DX,AL | ||
|
||
;6:�ָ�ԭ�ж� | ||
MOV DX,IPIP | ||
MOV AX,CSCS | ||
MOV DS,AX | ||
MOV AX,2572H | ||
INT 21H | ||
|
||
;���ж� | ||
STI | ||
|
||
;����DOS | ||
MOV AH,4CH | ||
INT 21H | ||
MAIN ENDP | ||
|
||
;��ʱ�ӳ��� | ||
DELAY PROC | ||
PUSH AX | ||
PUSH CX | ||
MOV AX,0H | ||
L: INC AX | ||
MOV CX,0H | ||
R: INC CX | ||
CMP CX,0FFH | ||
JNZ R | ||
CMP AX,0FFH | ||
JNZ L | ||
POP CX | ||
POP AX | ||
RET | ||
DELAY ENDP | ||
|
||
;�жϴ������� | ||
INTS PROC FAR | ||
;���ж� | ||
CLI | ||
;�����ֳ� | ||
PUSH AX | ||
|
||
;�жϴ��� | ||
ADD CNT,1H | ||
CMP CNT,20 | ||
JB IR | ||
|
||
MOV CNT,0H | ||
ADD TIME[0],1 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
;һ���ĵ����ӣ����ö�ʱ�����жϷ�ʽ��ʱ���ò��пڿ���LED��ɨ�� | ||
|
||
DSEG SEGMENT | ||
ADDRESS DW 0DE00H ;ʵ���˿���ַ | ||
CSCS DW 0 ;���ڱ���ԭ�ж�CS | ||
IPIP DW 0 ;���ڱ���ԭ�ж�IP | ||
DISP DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,098H ;�������ʾ���� | ||
SG DB 1110B,1101B,1011B,0111B ;λѡ | ||
STAT DB 0 ;����5259״̬ | ||
STATUS DB 0 ;����9052״̬ | ||
TIME DB 0,0,0,0 ;��ʼʱ��00��00 | ||
CNT DB 0 ;����ֵ����20Ϊ1�� | ||
DSEG ENDS | ||
CSEG SEGMENT | ||
ASSUME CS:CSEG,DS:DSEG | ||
MAIN PROC FAR | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;���ü�����������ʽ | ||
MOV DX,ADDRESS | ||
ADD DX,23H | ||
MOV AL,10110110B | ||
OUT DX,AL | ||
|
||
MOV DX,ADDRESS | ||
ADD DX,22H | ||
MOV AX,50000 | ||
OUT DX,AL | ||
MOV AL,AH | ||
OUT DX,AL | ||
|
||
;���ò��ڹ�����ʽ | ||
MOV DX,ADDRESS | ||
ADD DX,3H | ||
MOV AL,10000000B | ||
OUT DX,AL | ||
|
||
;���ж� | ||
CLI | ||
|
||
;ȡԭ�жϣ�����INT 72H | ||
MOV AX,3572H | ||
INT 21H | ||
MOV CSCS,ES | ||
MOV IPIP,BX | ||
|
||
;�������ж� | ||
MOV AX,CS | ||
MOV DS,AX | ||
MOV DX,OFFSET INTS | ||
MOV AX,2572H | ||
INT 21H | ||
|
||
;����DS,ES | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;ʹ��9052 | ||
MOV DX,0DD80H + 4CH | ||
IN AL,DX | ||
MOV STATUS,AL | ||
OR AL,5BH | ||
OUT DX,AL | ||
MOV DX,0DD80H + 4DH | ||
IN AL,DX | ||
OR AL,0CH | ||
OUT DX,AL | ||
|
||
;������ | ||
IN AL,0A1H | ||
MOV STAT,AL | ||
AND AL,11111011B | ||
OUT 0A1H,AL | ||
|
||
;���ж� | ||
STI | ||
|
||
;�жϴ��� | ||
MOV DI,0H | ||
;����� | ||
LP: CMP TIME[0],10 | ||
JNZ LR | ||
|
||
MOV TIME[0],0 | ||
ADD TIME[1],1 | ||
CMP TIME[1],6 | ||
JNZ LR | ||
|
||
MOV TIME[1],0 | ||
ADD TIME[2],1 | ||
CMP TIME[2],10 | ||
JNZ LR | ||
|
||
MOV TIME[2],0 | ||
ADD TIME[3],1 | ||
CMP TIME[3],6 | ||
JNZ LR | ||
|
||
MOV TIME[3],0 | ||
|
||
LR: MOV DX,ADDRESS ;����λѡ | ||
ADD DX,1H | ||
MOV AL,SG[DI] | ||
OUT DX,AL | ||
|
||
MOV DX,ADDRESS ;��������ܶ��� | ||
MOV BL,TIME[DI] | ||
MOV BH,0 | ||
MOV AL,DISP[BX] | ||
OUT DX,AL | ||
|
||
CALL DELAY ;��ʱ | ||
|
||
INC DI | ||
|
||
CMP DI,4 | ||
JNZ LP | ||
MOV DI,0 | ||
JMP LP | ||
|
||
;���ж� | ||
CLI | ||
|
||
;����DS,ES | ||
MOV AX,DSEG | ||
MOV DS,AX | ||
MOV ES,AX | ||
|
||
;5:���� | ||
MOV AL,STAT | ||
OUT 0A1h,AL | ||
|
||
;�ر�9052 | ||
MOV DX,0DD80H + 4CH | ||
mov AL,STATUS | ||
OUT DX,AL | ||
|
||
;6:�ָ�ԭ�ж� | ||
MOV DX,IPIP | ||
MOV AX,CSCS | ||
MOV DS,AX | ||
MOV AX,2572H | ||
INT 21H | ||
|
||
;���ж� | ||
STI | ||
|
||
;����DOS | ||
MOV AH,4CH | ||
INT 21H | ||
MAIN ENDP | ||
|
||
;��ʱ�ӳ��� | ||
DELAY PROC | ||
PUSH AX | ||
PUSH CX | ||
MOV AX,0H | ||
L: INC AX | ||
MOV CX,0H | ||
R: INC CX | ||
CMP CX,0FFH | ||
JNZ R | ||
CMP AX,0FFH | ||
JNZ L | ||
POP CX | ||
POP AX | ||
RET | ||
DELAY ENDP | ||
|
||
;�жϴ������� | ||
INTS PROC FAR | ||
;���ж� | ||
CLI | ||
;�����ֳ� | ||
PUSH AX | ||
|
||
;�жϴ��� | ||
ADD CNT,1H | ||
CMP CNT,20 | ||
JB IR | ||
|
||
MOV CNT,0H | ||
ADD TIME[0],1 |
Binary file not shown.
Oops, something went wrong.