first commit

This commit is contained in:
2025-05-27 16:03:52 +08:00
commit 2d22d07f60
223 changed files with 5842 additions and 0 deletions

BIN
Lab/Lab3/material/task2/code.EXE Executable file

Binary file not shown.

134
Lab/Lab3/material/task2/code.LST Executable file
View File

@@ -0,0 +1,134 @@
Turbo Assembler Version 5.3 05-06-23 19:11:34 Page 1
code.asm
1 0000 DATA SEGMENT
2 0000 7F EIGHT DB 7FH
3 0001 5B TWO DB 5BH
4 0002 6D FIVE DB 6DH
5 0003 40 BAR DB 40H
6 0004 77 A DB 77H
7 0005 00FF T DW 0FFH
8 0007 DATA ENDS
9
10 0000 CODE SEGMENT
11 ASSUME CS:CODE, DS:DATA
12
13 0000 START:
14 0000 B8 0000s MOV AX, DATA
15 0003 8E D8 MOV DS, AX
16
17 0005 BA 0283 MOV DX, 283H
18 0008 B0 80 MOV AL, 10000000B
19 000A EE OUT DX, AL
20
21
22 000B LP:
23 000B BA 0280 MOV DX, 280H
24 000E B0 80 MOV AL, 10000000B
25 0010 EE OUT DX, AL
26 0011 BA 0281 MOV DX, 281H
27 0014 A0 0000r MOV AL, EIGHT
28 0017 EE OUT DX, AL
29 0018 E8 0051 CALL DELAY
30
31 001B BA 0280 MOV DX, 280H
32 001E B0 40 MOV AL, 01000000B
33 0020 EE OUT DX, AL
34 0021 BA 0281 MOV DX, 281H
35 0024 A0 0001r MOV AL, TWO
36 0027 EE OUT DX, AL
37 0028 E8 0041 CALL DELAY
38
39 002B BA 0280 MOV DX, 280H
40 002E B0 20 MOV AL, 00100000B
41 0030 EE OUT DX, AL
42 0031 BA 0281 MOV DX, 281H
43 0034 B0 6D MOV AL, 6DH
44 0036 EE OUT DX, AL
45 0037 E8 0032 CALL DELAY
46
47 003A BA 0280 MOV DX, 280H
48 003D B0 10 MOV AL, 00010000B
49 003F EE OUT DX, AL
50 0040 BA 0281 MOV DX, 281H
51 0043 A0 0002r MOV AL, FIVE
52 0046 EE OUT DX, AL
53 0047 E8 0022 CALL DELAY
54
55 004A BA 0280 MOV DX, 280H
56 004D B0 08 MOV AL, 00001000B
57 004F EE OUT DX, AL
Turbo Assembler Version 5.3 05-06-23 19:11:34 Page 2
code.asm
58 0050 BA 0281 MOV DX, 281H
59 0053 A0 0003r MOV AL, BAR
60 0056 EE OUT DX, AL
61 0057 E8 0012 CALL DELAY
62
63 005A BA 0280 MOV DX, 280H
64 005D B0 04 MOV AL, 00000100B
65 005F EE OUT DX, AL
66 0060 BA 0281 MOV DX, 281H
67 0063 A0 0004r MOV AL, A
68 0066 EE OUT DX, AL
69 0067 E8 0002 CALL DELAY
70
71 006A EB 9F JMP LP
72
73 006C DELAY PROC
74 006C 53 PUSH BX
75 006D 8B 1E 0005r MOV BX, T
76 0071 DL1:
77 0071 4B DEC BX
78 0072 75 FD JNZ DL1
79 0074 5B POP BX
80
81 0075 BA 0280 MOV DX, 280H
82 0078 B0 00 MOV AL, 00000000B
83 007A EE OUT DX, AL
84 007B BA 0281 MOV DX, 281H
85 007E B0 00 MOV AL, 0
86 0080 EE OUT DX, AL
87
88 0081 C3 RET
89 0082 DELAY ENDP
90
91 0082 CODE ENDS
92 END START
Turbo Assembler Version 5.3 05-06-23 19:11:34 Page 3
Symbol Table
Symbol Name Type Value
??DATE Text "05-06-23"
??FILENAME Text "code "
??TIME Text "19:11:34"
??VERSION Number 0503
@CPU Text 0101H
@CURSEG Text CODE
@FILENAME Text CODE
@WORDSIZE Text 2
A Byte DATA:0004
BAR Byte DATA:0003
DELAY Near16 CODE:006C
DL1 Near16 CODE:0071
EIGHT Byte DATA:0000
FIVE Byte DATA:0002
LP Near16 CODE:000B
START Near16 CODE:0000
T Word DATA:0005
TWO Byte DATA:0001
Groups & Segments Bit Size Align Combine Class
CODE 16 0082 Para none
DATA 16 0007 Para none

View File

@@ -0,0 +1,7 @@
LINK : warning L4021: no stack segment
Start Stop Length Name Class
00000H 00006H 00007H DATA
00010H 00091H 00082H CODE
Program entry point at 0001:0000

BIN
Lab/Lab3/material/task2/code.OBJ Executable file

Binary file not shown.

View File

@@ -0,0 +1,92 @@
DATA SEGMENT
EIGHT DB 7FH
TWO DB 5BH
FIVE DB 6DH
BAR DB 40H
A DB 77H
T DW 0FFH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, 283H ; 命令口
MOV AL, 10000000B ; 1|00(A组0方式)|0(PA输出)|0(PC4-7输出)|0(B组0方式)|0(PB输出)|0(PC0-3输出)
OUT DX, AL
LP:
MOV DX, 280H ; A口控制位码
MOV AL, 10000000B ; 第1位PA1置1
OUT DX, AL
MOV DX, 281H ; B口控制段码
MOV AL, EIGHT ; 输出数据段定义的字符“8”
OUT DX, AL
CALL DELAY ; 延时后清零
MOV DX, 280H
MOV AL, 01000000B ; 第2位PA2置1
OUT DX, AL
MOV DX, 281H
MOV AL, TWO ; 输出数据段定义的字符“2”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00100000B ; 第3位PA3置1
OUT DX, AL
MOV DX, 281H
MOV AL, FIVE ; 输出数据段定义的字符“5”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00010000B ; 第4位PA4置1
OUT DX, AL
MOV DX, 281H
MOV AL, FIVE ; 输出数据段定义的字符“5”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00001000B ; 第5位PA5置1
OUT DX, AL
MOV DX, 281H
MOV AL, BAR ; 输出数据段定义的字符“-”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00000100B ; 第6位PA6置1
OUT DX, AL
MOV DX, 281H
MOV AL, A ; 输出数据段定义的字符“A”
OUT DX, AL
CALL DELAY
JMP LP ; 无限循环
DELAY PROC
PUSH BX
MOV BX, T
DL1:
DEC BX
JNZ DL1
POP BX
; 将位码段码都置0否则前一位显示的字符会在显示下一位字符显示前在该位上显示
MOV DX, 280H
MOV AL, 00000000B
OUT DX, AL
MOV DX, 281H
MOV AL, 0
OUT DX, AL
RET
DELAY ENDP
CODE ENDS
END START