📄 testh.lst
字号:
1022 E228 LDI R18,0x28
1023 E030 LDI R19,0
1024 940E1C56 CALL mod16s
1026 3000 CPI R16,0
1027 0701 CPC R16,R17
1028 F059 BEQ 0x1034
1029 E218 LDI R17,0x28
102A 850B LDD R16,Y+11
102B 940E1C90 CALL mod8u
102D 2300 TST R16
102E F029 BEQ 0x1034
(0353) point(x1,y1,color);
102F 82E8 STD Y+0,R14
1030 852D LDD R18,Y+13
1031 850B LDD R16,Y+11
1032 2711 CLR R17
1033 DCCD RCALL _point
(0354) }
(0355) x=x1;
1034 84AB LDD R10,Y+11
(0356) y=y1;
1035 84CD LDD R12,Y+13
(0357) dx=x2-x1;
1036 2C2A MOV R2,R10
1037 2433 CLR R3
1038 856F LDD R22,Y+15
1039 2777 CLR R23
103A 1962 SUB R22,R2
103B 0973 SBC R23,R3
(0358) if(dx==0)//直线与y轴平行
103C F009 BEQ 0x103E
103D C06C RJMP 0x10AA
(0359) {
(0360) if(y1<y2)
103E 840D LDD R0,Y+13
103F 8909 LDD R16,Y+17
1040 1600 CP R0,R16
1041 F008 BCS 0x1043
1042 C063 RJMP 0x10A6
(0361) {
(0362) for(;y<=y2;y++)
1043 C02F RJMP 0x1073
(0363) {
(0364) if(y>120)
1044 E788 LDI R24,0x78
1045 158C CP R24,R12
1046 F498 BCC 0x105A
(0365) {
(0366) if((y-120)%40!=0&&x%40!=0)
1047 E218 LDI R17,0x28
1048 2D0C MOV R16,R12
1049 5708 SUBI R16,0x78
104A 940E1C90 CALL mod8u
104C 2300 TST R16
104D F121 BEQ 0x1072
104E E218 LDI R17,0x28
104F 2D0A MOV R16,R10
1050 940E1C90 CALL mod8u
1052 2300 TST R16
1053 F0F1 BEQ 0x1072
(0367) point(x,y,color);
1054 82E8 STD Y+0,R14
1055 2D2C MOV R18,R12
1056 2D0A MOV R16,R10
1057 2711 CLR R17
1058 DCA8 RCALL _point
(0368) }
1059 C018 RJMP 0x1072
(0369) else
(0370) {
(0371) if((120-y)%40!=0&&x%40!=0)
105A 2C2C MOV R2,R12
105B 2433 CLR R3
105C E708 LDI R16,0x78
105D E010 LDI R17,0
105E 1902 SUB R16,R2
105F 0913 SBC R17,R3
1060 E228 LDI R18,0x28
1061 E030 LDI R19,0
1062 940E1C56 CALL mod16s
1064 3000 CPI R16,0
1065 0701 CPC R16,R17
1066 F059 BEQ 0x1072
1067 E218 LDI R17,0x28
1068 2D0A MOV R16,R10
1069 940E1C90 CALL mod8u
106B 2300 TST R16
106C F029 BEQ 0x1072
(0372) point(x,y,color);
106D 82E8 STD Y+0,R14
106E 2D2C MOV R18,R12
106F 2D0A MOV R16,R10
1070 2711 CLR R17
1071 DC8F RCALL _point
1072 94C3 INC R12
1073 8809 LDD R0,Y+17
1074 140C CP R0,R12
1075 F670 BCC 0x1044
(0373) }
(0374) }
(0375) }
1076 C18E RJMP 0x1205
(0376) else
(0377) {
(0378) for(;y>=y2;y--)
(0379) {
(0380) if(y>120)
1077 E788 LDI R24,0x78
1078 158C CP R24,R12
1079 F498 BCC 0x108D
(0381) {
(0382) if((y-120)%40!=0&&x%40!=0)
107A E218 LDI R17,0x28
107B 2D0C MOV R16,R12
107C 5708 SUBI R16,0x78
107D 940E1C90 CALL mod8u
107F 2300 TST R16
1080 F121 BEQ 0x10A5
1081 E218 LDI R17,0x28
1082 2D0A MOV R16,R10
1083 940E1C90 CALL mod8u
1085 2300 TST R16
1086 F0F1 BEQ 0x10A5
(0383) point(x,y,color);
1087 82E8 STD Y+0,R14
1088 2D2C MOV R18,R12
1089 2D0A MOV R16,R10
108A 2711 CLR R17
108B DC75 RCALL _point
(0384) }
108C C018 RJMP 0x10A5
(0385) else
(0386) {
(0387) if((120-y)%40!=0&&x%40!=0)
108D 2C2C MOV R2,R12
108E 2433 CLR R3
108F E708 LDI R16,0x78
1090 E010 LDI R17,0
1091 1902 SUB R16,R2
1092 0913 SBC R17,R3
1093 E228 LDI R18,0x28
1094 E030 LDI R19,0
1095 940E1C56 CALL mod16s
1097 3000 CPI R16,0
1098 0701 CPC R16,R17
1099 F059 BEQ 0x10A5
109A E218 LDI R17,0x28
109B 2D0A MOV R16,R10
109C 940E1C90 CALL mod8u
109E 2300 TST R16
109F F029 BEQ 0x10A5
(0388) point(x,y,color);
10A0 82E8 STD Y+0,R14
10A1 2D2C MOV R18,R12
10A2 2D0A MOV R16,R10
10A3 2711 CLR R17
10A4 DC5C RCALL _point
10A5 94CA DEC R12
10A6 8809 LDD R0,Y+17
10A7 14C0 CP R12,R0
10A8 F670 BCC 0x1077
(0389) }
(0390) }
(0391) }
(0392) }
10A9 C15B RJMP 0x1205
(0393) else if(y1==y2)//直线与X轴平行
10AA 840D LDD R0,Y+13
10AB 8909 LDD R16,Y+17
10AC 1600 CP R0,R16
10AD F009 BEQ 0x10AF
10AE C0A1 RJMP 0x1150
(0394) {
(0395) if(x1<x2)
10AF 840B LDD R0,Y+11
10B0 850F LDD R16,Y+15
10B1 1600 CP R0,R16
10B2 F008 BCS 0x10B4
10B3 C097 RJMP 0x114B
(0396) {
(0397) for(;x<=x2;x++)
10B4 C02F RJMP 0x10E4
(0398) {
(0399) if(y>120)
10B5 E788 LDI R24,0x78
10B6 158C CP R24,R12
10B7 F498 BCC 0x10CB
(0400) {
(0401) if((y-120)%40!=0&&x%40!=0)
10B8 E218 LDI R17,0x28
10B9 2D0C MOV R16,R12
10BA 5708 SUBI R16,0x78
10BB 940E1C90 CALL mod8u
10BD 2300 TST R16
10BE F121 BEQ 0x10E3
10BF E218 LDI R17,0x28
10C0 2D0A MOV R16,R10
10C1 940E1C90 CALL mod8u
10C3 2300 TST R16
10C4 F0F1 BEQ 0x10E3
(0402) point(x,y,color);
10C5 82E8 STD Y+0,R14
10C6 2D2C MOV R18,R12
10C7 2D0A MOV R16,R10
10C8 2711 CLR R17
10C9 DC37 RCALL _point
(0403) }
10CA C018 RJMP 0x10E3
(0404) else
(0405) {
(0406) if((120-y)%40!=0&&x%40!=0)
10CB 2C2C MOV R2,R12
10CC 2433 CLR R3
10CD E708 LDI R16,0x78
10CE E010 LDI R17,0
10CF 1902 SUB R16,R2
10D0 0913 SBC R17,R3
10D1 E228 LDI R18,0x28
10D2 E030 LDI R19,0
10D3 940E1C56 CALL mod16s
10D5 3000 CPI R16,0
10D6 0701 CPC R16,R17
10D7 F059 BEQ 0x10E3
10D8 E218 LDI R17,0x28
10D9 2D0A MOV R16,R10
10DA 940E1C90 CALL mod8u
10DC 2300 TST R16
10DD F029 BEQ 0x10E3
(0407) point(x,y,color);
10DE 82E8 STD Y+0,R14
10DF 2D2C MOV R18,R12
10E0 2D0A MOV R16,R10
10E1 2711 CLR R17
10E2 DC1E RCALL _point
10E3 94A3 INC R10
10E4 840F LDD R0,Y+15
10E5 140A CP R0,R10
10E6 F670 BCC 0x10B5
(0408) }
(0409) }
(0410) }
10E7 C11D RJMP 0x1205
(0411) else
(0412) {
(0413) for(;x>=x2;x--)
(0414) {
(0415) if(y>120)
10E8 E788 LDI R24,0x78
10E9 158C CP R24,R12
10EA F588 BCC 0x111C
(0416) {
(0417) if(y>120)
10EB 158C CP R24,R12
10EC F4A8 BCC 0x1102
(0418) {
(0419) if((y-120)%40!=0&&x%40!=0)
10ED E218 LDI R17,0x28
10EE 2D0C MOV R16,R12
10EF 5708 SUBI R16,0x78
10F0 940E1C90 CALL mod8u
10F2 2300 TST R16
10F3 F409 BNE 0x10F5
10F4 C055 RJMP 0x114A
10F5 E218 LDI R17,0x28
10F6 2D0A MOV R16,R10
10F7 940E1C90 CALL mod8u
10F9 2300 TST R16
10FA F409 BNE 0x10FC
10FB C04E RJMP 0x114A
(0420) point(x,y,color);
10FC 82E8 STD Y+0,R14
10FD 2D2C MOV R18,R12
10FE 2D0A MOV R16,R10
10FF 2711 CLR R17
1100 DC00 RCALL _point
(0421) }
1101 C048 RJMP 0x114A
(0422) else
(0423) {
(0424) if((120-y)%40!=0&&x%40!=0)
1102 2C2C MOV R2,R12
1103 2433 CLR R3
1104 E708 LDI R16,0x78
1105 E010 LDI R17,0
1106 1902 SUB R16,R2
1107 0913 SBC R17,R3
1108 E228 LDI R18,0x28
1109 E030 LDI R19,0
110A 940E1C56 CALL mod16s
110C 3000 CPI R16,0
110D 0701 CPC R16,R17
110E F409 BNE 0x1110
110F C03A RJMP 0x114A
1110 E218 LDI R17,0x28
1111 2D0A MOV R16,R10
1112 940E1C90 CALL mod8u
1114 2300 TST R16
1115 F1A1 BEQ 0x114A
(0425) point(x,y,color);
1116 82E8 STD Y+0,R14
1117 2D2C MOV R18,R12
1118 2D0A MOV R16,R10
1119 2711 CLR R17
111A DBE6 RCALL _point
(0426) }
(0427) }
111B C02E RJMP 0x114A
(0428) else
(0429) {
(0430) if(y>120)
111C E788 LDI R24,0x78
111D 158C CP R24,R12
111E F498 BCC 0x1132
(0431) {
(0432) if((y-120)%40!=0&&x%40!=0)
111F E218 LDI R17,0x28
1120 2D0C MOV R16,R12
1121 5708 SUBI R16,0x78
1122 940E1C90 CALL mod8u
1124 2300 TST R16
1125 F121 BEQ 0x114A
1126 E218 LDI R17,0x28
1127 2D0A MOV R16,R10
1128 940E1C90 CALL mod8u
112A 2300 TST R16
112B F0F1 BEQ 0x114A
(0433) point(x,y,color);
112C 82E8 STD Y+0,R14
112D 2D2C MOV R18,R12
112E 2D0A MOV R16,R10
112F 2711 CLR R17
1130 DBD0 RCALL _point
(0434) }
1131 C018 RJMP 0x114A
(0435) else
(0436) {
(0437) if((120-y)%40!=0&&x%40!=0)
1132 2C2C MOV R2,R12
1133 2433 CLR R3
1134 E708 LDI R16,0x78
1135 E010 LDI R17,0
1136 1902 SUB R16,R2
1137 0913 SBC R17,R3
1138 E228 LDI R18,0x28
1139 E030 LDI R19,0
113A 940E1C56 CALL mod16s
113C 3000 CPI R16,0
113D 0701 CPC R16,R17
113E F059 BEQ 0x114A
113F E218 LDI R17,0x28
1140 2D0A MOV R16,R10
1141 940E1C90 CALL mod8u
1143 2300 TST R16
1144 F029 BEQ 0x114A
(0438) point(x,y,color);
1145 82E8 STD Y+0,R14
1146 2D2C MOV R18,R12
1147 2D0A MOV R16,R10
1148 2711 CLR R17
1149 DBB7 RCALL _point
114A 94AA DEC R10
114B 840F LDD R0,Y+15
114C 14A0 CP R10,R0
114D F008 BCS 0x114F
114E CF99 RJMP 0x10E8
(0439) }
(0440) }
(0441) }
(0442) }
(0443) }
114F C0B5 RJMP 0x1205
(0444) else if(y1<y2)//直线与x轴夹角小于90°
1150 840D LDD R0,Y+13
1151 8909 LDD R16,Y+17
1152 1600 CP R0,R16
1153 F008 BCS 0x1155
1154 C056 RJMP 0x11AB
(0445) {
(0446) dy=y2-y1;
1155 2C20 MOV R2,R0
1156 2433 CLR R3
1157 2F40 MOV R20,R16
1158 2755 CLR R21
1159 1942 SUB R20,R2
115A 0953 SBC R21,R3
115B C047 RJMP 0x11A3
(0447)
(0448) while(x<=x2&&y<=y2)
(0449) {
(0450) if(y>120)
115C E788 LDI R24,0x78
115D 158C CP R24,R12
115E F498 BCC 0x1172
(0451) {
(0452) if((y-120)%40!=0&&x%40!=0)
115F E218 LDI R17,0x28
1160 2D0C MOV R16,R12
1161 5708 SUBI R16,0x78
1162 940E1C90 CALL mod8u
1164 2300 TST R16
1165 F121 BEQ 0x118A
1166 E218 LDI R17,0x28
1167 2D0A MOV R16,R10
1168 940E1C90 CALL mod8u
116A 2300 TST R16
116B F0F1 BEQ 0x118A
(0453) point(x,y,color);
116C 82E8 STD Y+0,R14
116D 2D2C MOV R18,R12
116E 2D0A MOV R16,R10
116F 2711 CLR R17
1170 DB90 RCALL _point
(0454) }
1171 C018 RJMP 0x118A
(0455) else
(0456) {
(0457) if((120-y)%40!=0&&x%40!=0)
1172 2C2C MOV R2,R12
1173 2433 CLR R3
1174 E708 LDI R16,0x78
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -