📄 1.lst
字号:
Microsoft (R) Macro Assembler Version 6.11 05/23/09 18:38:50
tempfile.asm Page 1 - 1
CIRCLE MACRO XC,YC,RADIUS,COLOR
LOCAL NEXT1,NEXT2,NEXT3,NEXT4,NEXT5,NEXT6,EXIT
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH BP
MOV AH,0CH
MOV AL,COLOR
MOV BH,0
MOV CX,XC
MOV DX,YC
MOV SI,0 ;X
MOV DI,RADIUS ;Y
MOV BP,1-RADIUS
NEXT1: CMP SI,DI
JL NEXT2
LEA BX,EXIT
JMP BX
NEXT2: INC SI
NEXT3: CMP BP,0
JGE NEXT4
ADD BP,SI
ADD BP,SI
ADD BP,1
JMP NEXT5
NEXT4: DEC DI
ADD BP,SI
ADD BP,SI
SUB BP,DI
SUB BP,DI
ADD BP,1
NEXT5: MOV BH,0
MOV CX,XC
MOV DX,YC
ADD CX,SI
ADD DX,DI
INT 10H
MOV CX,XC
MOV DX,YC
SUB CX,SI
ADD DX,DI
INT 10H
MOV CX,XC
MOV DX,YC
ADD CX,SI
SUB DX,DI
INT 10H
MOV CX,XC
MOV DX,YC
SUB CX,SI
SUB DX,DI
INT 10H
MOV CX,XC
MOV DX,YC
ADD CX,DI
ADD DX,SI
INT 10H
MOV CX,XC
MOV DX,YC
SUB CX,DI
ADD DX,SI
INT 10H
MOV CX,XC
MOV DX,YC
ADD CX,DI
SUB DX,SI
INT 10H
MOV CX,XC
MOV DX,YC
SUB CX,DI
SUB DX,SI
INT 10H
NEXT6: LEA BX,NEXT1
JMP BX
EXIT:
MOV AH,0CH
MOV AL,COLOR
MOV BH,0
MOV CX,XC-RADIUS
MOV DX,YC
INT 10H
MOV CX,XC+RADIUS
MOV DX,YC
INT 10H
MOV CX,XC
MOV DX,YC-RADIUS
INT 10H
MOV CX,XC
MOV DX,YC+RADIUS
INT 10H
POP BP
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
ENDM
0000 DATAS SEGMENT
;此处输入数据段代码
0000 DATAS ENDS
0000 STACKS SEGMENT
;此处输入堆栈段代码
0000 STACKS ENDS
0000 CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
0000 MAIN PROC FAR
0000 B8 ---- R MOV AX,DATAS
0003 8E D8 MOV DS,AX
0005 B8 0600 MOV AX,0600H
0008 B7 07 MOV BH,7
000A B9 0000 MOV CX,0
000D BA 184F MOV DX,184FH
0010 CD 10 INT 10H
0012 B4 0F MOV AH,0FH
0014 CD 10 INT 10H
0016 50 PUSH AX
0017 B4 00 MOV AH,0 ;
0019 B0 12 MOV AL,12H
001B CD 10 INT 10H
CIRCLE 100,100,50,01H
001D 50 1 PUSH AX
001E 53 1 PUSH BX
001F 51 1 PUSH CX
0020 52 1 PUSH DX
0021 56 1 PUSH SI
0022 57 1 PUSH DI
0023 55 1 PUSH BP
0024 B4 0C 1 MOV AH,0CH
0026 B0 01 1 MOV AL,01H
0028 B7 00 1 MOV BH,0
002A B9 0064 1 MOV CX,100
002D BA 0064 1 MOV DX,100
0030 BE 0000 1 MOV SI,0 ;X
0033 BF 0032 1 MOV DI,50 ;Y
0036 BD FFCF 1 MOV BP,1-50
0039 3B F7 1 ??0000: CMP SI,DI
003B 7C 06 1 JL ??0001
003D 8D 1E 00C6 R 1 LEA BX,??0006
0041 FF E3 1 JMP BX
0043 46 1 ??0001: INC SI
0044 83 FD 00 1 ??0002: CMP BP,0
0047 7D 09 1 JGE ??0003
0049 03 EE 1 ADD BP,SI
004B 03 EE 1 ADD BP,SI
004D 83 C5 01 1 ADD BP,1
0050 EB 0C 1 JMP ??0004
0052 4F 1 ??0003: DEC DI
0053 03 EE 1 ADD BP,SI
0055 03 EE 1 ADD BP,SI
0057 2B EF 1 SUB BP,DI
0059 2B EF 1 SUB BP,DI
005B 83 C5 01 1 ADD BP,1
005E B7 00 1 ??0004: MOV BH,0
0060 B9 0064 1 MOV CX,100
0063 BA 0064 1 MOV DX,100
0066 03 CE 1 ADD CX,SI
0068 03 D7 1 ADD DX,DI
006A CD 10 1 INT 10H
006C B9 0064 1 MOV CX,100
006F BA 0064 1 MOV DX,100
0072 2B CE 1 SUB CX,SI
0074 03 D7 1 ADD DX,DI
0076 CD 10 1 INT 10H
0078 B9 0064 1 MOV CX,100
007B BA 0064 1 MOV DX,100
007E 03 CE 1 ADD CX,SI
0080 2B D7 1 SUB DX,DI
0082 CD 10 1 INT 10H
0084 B9 0064 1 MOV CX,100
0087 BA 0064 1 MOV DX,100
008A 2B CE 1 SUB CX,SI
008C 2B D7 1 SUB DX,DI
008E CD 10 1 INT 10H
0090 B9 0064 1 MOV CX,100
0093 BA 0064 1 MOV DX,100
0096 03 CF 1 ADD CX,DI
0098 03 D6 1 ADD DX,SI
009A CD 10 1 INT 10H
009C B9 0064 1 MOV CX,100
009F BA 0064 1 MOV DX,100
00A2 2B CF 1 SUB CX,DI
00A4 03 D6 1 ADD DX,SI
00A6 CD 10 1 INT 10H
00A8 B9 0064 1 MOV CX,100
00AB BA 0064 1 MOV DX,100
00AE 03 CF 1 ADD CX,DI
00B0 2B D6 1 SUB DX,SI
00B2 CD 10 1 INT 10H
00B4 B9 0064 1 MOV CX,100
00B7 BA 0064 1 MOV DX,100
00BA 2B CF 1 SUB CX,DI
00BC 2B D6 1 SUB DX,SI
00BE CD 10 1 INT 10H
00C0 8D 1E 0039 R 1 ??0005: LEA BX,??0000
00C4 FF E3 1 JMP BX
00C6 1 ??0006:
00C6 B4 0C 1 MOV AH,0CH
00C8 B0 01 1 MOV AL,01H
00CA B7 00 1 MOV BH,0
00CC B9 0032 1 MOV CX,100-50
00CF BA 0064 1 MOV DX,100
00D2 CD 10 1 INT 10H
00D4 B9 0096 1 MOV CX,100+50
00D7 BA 0064 1 MOV DX,100
00DA CD 10 1 INT 10H
00DC B9 0064 1 MOV CX,100
00DF BA 0032 1 MOV DX,100-50
00E2 CD 10 1 INT 10H
00E4 B9 0064 1 MOV CX,100
00E7 BA 0096 1 MOV DX,100+50
00EA CD 10 1 INT 10H
00EC 5D 1 POP BP
00ED 5F 1 POP DI
00EE 5E 1 POP SI
00EF 5A 1 POP DX
00F0 59 1 POP CX
00F1 5B 1 POP BX
00F2 58 1 POP AX
;MOV AH,6
; MOV AL,0
; MOV CH,0
;MOV CL,0
; MOV DH,479
; MOV DL,639
;MOV BH,70H
; INT 10H
00F3 B4 01 MOV AH,1
00F5 CD 21 INT 21H
00F7 58 POP AX
00F8 B4 00 MOV AH,0
00FA CD 10 INT 10H
;此处输入代码段代码
00FC B4 4C MOV AH,4CH
00FE CD 21 INT 21H
0100 MAIN ENDP
0100 CODES ENDS
END MAIN
Microsoft (R) Macro Assembler Version 6.11 05/23/09 18:38:50
tempfile.asm Symbols 2 - 1
Macros:
N a m e Type
CIRCLE . . . . . . . . . . . . . Proc
Segments and Groups:
N a m e Size Length Align Combine Class
CODES . . . . . . . . . . . . . 16 Bit 0100 Para Private
DATAS . . . . . . . . . . . . . 16 Bit 0000 Para Private
STACKS . . . . . . . . . . . . . 16 Bit 0000 Para Private
Procedures, parameters and locals:
N a m e Type Value Attr
MAIN . . . . . . . . . . . . . . P Far 0000 CODES Length= 0100 Public
??0000 . . . . . . . . . . . . L Near 0039 CODES
??0001 . . . . . . . . . . . . L Near 0043 CODES
??0002 . . . . . . . . . . . . L Near 0044 CODES
??0003 . . . . . . . . . . . . L Near 0052 CODES
??0004 . . . . . . . . . . . . L Near 005E CODES
??0005 . . . . . . . . . . . . L Near 00C0 CODES
??0006 . . . . . . . . . . . . L Near 00C6 CODES
Symbols:
N a m e Type Value Attr
0 Warnings
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -