first commit
This commit is contained in:
BIN
Lab/Lab3/material/task1/code.EXE
Executable file
BIN
Lab/Lab3/material/task1/code.EXE
Executable file
Binary file not shown.
80
Lab/Lab3/material/task1/code.LST
Executable file
80
Lab/Lab3/material/task1/code.LST
Executable file
@@ -0,0 +1,80 @@
|
||||
Turbo Assembler Version 5.3 05-06-23 19:07:51 Page 1
|
||||
code.asm
|
||||
|
||||
|
||||
|
||||
1 0000 DATA SEGMENT
|
||||
2 0000 00FF T DW 0FFH
|
||||
3 0002 DATA ENDS
|
||||
4
|
||||
5 0000 CODE SEGMENT
|
||||
6 ASSUME CS:CODE,DS:DATA
|
||||
7
|
||||
8 0000 START:
|
||||
9 0000 B8 0000s MOV AX,DATA
|
||||
10 0003 8E D8 MOV DS,AX
|
||||
11
|
||||
12 0005 BA 0283 MOV DX, 283H
|
||||
13 0008 B0 B1 MOV AL, 0B1H
|
||||
14 000A EE OUT DX, AL
|
||||
15
|
||||
16 000B BA 0281 MOV DX, 281H
|
||||
17 000E B0 00 MOV AL, 00H
|
||||
18 0010 EE OUT DX, AL
|
||||
19
|
||||
20 0011 BA 0280 MOV DX, 280H
|
||||
21 0014 EC IN AL, DX
|
||||
22
|
||||
23 0015 BA 0281 MOV DX, 281H
|
||||
24 0018 LP:
|
||||
25 0018 EE OUT DX, AL
|
||||
26 0019 E8 0004 CALL DELAY
|
||||
27 001C D0 C8 ROR AL, 1
|
||||
28 001E EB F8 JMP LP
|
||||
29
|
||||
30 0020 DELAY PROC
|
||||
31 0020 53 PUSH BX
|
||||
32 0021 50 PUSH AX
|
||||
33 0022 8B 1E 0000r MOV BX, T
|
||||
34 0026 A1 0000r MOV AX, T
|
||||
35 0029 DL1:
|
||||
36 0029 DL2:
|
||||
37 0029 4B DEC BX
|
||||
38 002A 75 FD JNZ DL1
|
||||
39 002C 48 DEC AX
|
||||
40 002D 75 FA JNZ DL2
|
||||
41 002F 58 POP AX
|
||||
42 0030 5B POP BX
|
||||
43 0031 C3 RET
|
||||
44 0032 DELAY ENDP
|
||||
45
|
||||
46 0032 CODE ENDS
|
||||
47 END START
|
||||
Turbo Assembler Version 5.3 05-06-23 19:07:51 Page 2
|
||||
Symbol Table
|
||||
|
||||
|
||||
|
||||
|
||||
Symbol Name Type Value
|
||||
|
||||
??DATE Text "05-06-23"
|
||||
??FILENAME Text "code "
|
||||
??TIME Text "19:07:51"
|
||||
??VERSION Number 0503
|
||||
@CPU Text 0101H
|
||||
@CURSEG Text CODE
|
||||
@FILENAME Text CODE
|
||||
@WORDSIZE Text 2
|
||||
DELAY Near16 CODE:0020
|
||||
DL1 Near16 CODE:0029
|
||||
DL2 Near16 CODE:0029
|
||||
LP Near16 CODE:0018
|
||||
START Near16 CODE:0000
|
||||
T Word DATA:0000
|
||||
|
||||
Groups & Segments Bit Size Align Combine Class
|
||||
|
||||
CODE 16 0032 Para none
|
||||
DATA 16 0002 Para none
|
||||
|
||||
7
Lab/Lab3/material/task1/code.MAP
Executable file
7
Lab/Lab3/material/task1/code.MAP
Executable file
@@ -0,0 +1,7 @@
|
||||
LINK : warning L4021: no stack segment
|
||||
|
||||
Start Stop Length Name Class
|
||||
00000H 00001H 00002H DATA
|
||||
00010H 00041H 00032H CODE
|
||||
|
||||
Program entry point at 0001:0000
|
||||
BIN
Lab/Lab3/material/task1/code.OBJ
Executable file
BIN
Lab/Lab3/material/task1/code.OBJ
Executable file
Binary file not shown.
47
Lab/Lab3/material/task1/code.asm
Executable file
47
Lab/Lab3/material/task1/code.asm
Executable file
@@ -0,0 +1,47 @@
|
||||
DATA SEGMENT
|
||||
T DW 0FFH
|
||||
DATA ENDS
|
||||
|
||||
CODE SEGMENT
|
||||
ASSUME CS:CODE, DS:DATA
|
||||
|
||||
START:
|
||||
MOV AX, DATA
|
||||
MOV DS, AX
|
||||
|
||||
MOV DX, 283H ; 命令口
|
||||
MOV AL, 10010000B ; 1|00(A组0方式)|1(PA输入)|0(PC4-7输出)|0(B组0方式)|0(PB输出)|0(PC0-3输出)
|
||||
OUT DX, AL
|
||||
|
||||
MOV DX, 281H ; B口
|
||||
MOV AL, 00H ; LED全置0
|
||||
OUT DX, AL
|
||||
|
||||
MOV DX, 280H ; A口
|
||||
IN AL, DX ; 读入到AL
|
||||
|
||||
MOV DX, 281H ; B口
|
||||
LP:
|
||||
OUT DX, AL ; 从B口输出AL
|
||||
CALL DELAY ; 延时
|
||||
ROR AL, 1 ; ROR(Rotate Right)把AL向右移1位,移出的位补到左边,实现走马灯
|
||||
JMP LP ; 无限循环
|
||||
|
||||
DELAY PROC
|
||||
PUSH BX
|
||||
PUSH AX
|
||||
MOV BX, T
|
||||
MOV AX, T
|
||||
DL1:
|
||||
DL2:
|
||||
DEC BX
|
||||
JNZ DL1
|
||||
DEC AX
|
||||
JNZ DL2
|
||||
POP AX
|
||||
POP BX
|
||||
RET
|
||||
DELAY ENDP
|
||||
|
||||
CODE ENDS
|
||||
END START
|
||||
Reference in New Issue
Block a user