-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy path04-2.asm
98 lines (92 loc) · 1.05 KB
/
04-2.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
assume cs:code
data segment
dw 2,15,0
data ends
stack segment
dw 8 dup (0)
stack ends
code segment
start:
;使用add计算乘方
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov bx,0
mov cx,[bx+2]
mov dl,[bx]
mov bx,dx
mov al,1
mov ah,0
s1:
push cx
mov cx,bx
mov dx,ax
mov ax,0
s:
add ax,dx
loop s
pop cx
loop s1
mov dx,ax
;显示结果
mov ax,0b878h
mov ds,ax
mov bx,288h
mov ax,dx
mov dx,0
mov cx,5
s5:
push cx
mov cx,10
div cx
add dl,30h
mov [bx],dl
sub bx,2
mov dx,0
pop cx
loop s5
mov bx,8h
mov ax,data
mov ss,ax
mov sp,0
pop ax
mov dx,0
mov cx,5
s3:
push cx
mov cx,10
div cx
add dl,30h
mov [bx],dl
sub bx,2
mov dx,0
pop cx
loop s3
mov bx,0a0h
mov byte ptr [bx],'^'
mov bx,148h
pop ax
mov dx,0
mov cx,5
s4:
push cx
mov cx,10
div cx
add dl,30h
mov [bx],dl
sub bx,2
mov dx,0
pop cx
loop s4
mov bx,1e0h
mov byte ptr [bx+0h],'-'
mov byte ptr [bx+2h],'-'
mov byte ptr [bx+4h],'-'
mov byte ptr [bx+6h],'-'
mov byte ptr [bx+8h],'-'
mov ax,4c00h
int 21h
code ends
end start