mul si ;B×D
mov [bx+0ah], dx
mul si ;A×D
add ax,[bx+0ah]
mul di ;B×C
adc dx,[bx+0ch]
mul di ;A×C
adc dx,0
32
data segment
sign db ?
db 100 dup(?)
mov dx, [bx+2] ;A->DX
mov si, [bx+4] ;D->SI
mov si, [bx+6] ;C->DI
cmp dx, 0 ;
jns gomul ; GOMUL
adc word ptr [bx+0eh],0 ;
done: ret
start endp
-1 x<0
xy
x“”“”xy=0;y= -1;y= 1
AL 00000001 R1
AL 00000010 R2
AL 00000100 R3
AL 00001000 R4
AL 00010000 R5
AL 00100000 R6
AL 01000000 R7
AL 10000000 R8
DB 100 DUP(?)
TOP EQU $-STACK
STARK ENDP
CODE ENDS
END BEGIN
COUNT EQU $-BUFFER
TOP EQU $-STACK
,N=90000,
90000/300=300
db 100 dup(?)
cwd
ret
2.X>0, 1/2<=a<1 -128<=b<=+127
3.X<0, -1<=a<-1/2 -128<=b<=+127
X
32
db 100 dup(?)
start proc far
begin push ds
mov ax, 0
cmp dx, 0
and dx, dx
jns again
ret
457BUFFERBLOCK
FUN1,FUN2
buffer dw 05, 05,05, 05, 05,05, 05, 05,05, 05, 05,05
block dw 12 dup (?)
db 100 dup (?)
start proc far
begin push ds
12571034689111201CC0011010110110000
name loop_use_logic_rula
data segment
buffer dw 11, 22, 33, 44, 55, 66, 77, 88, 99, 1234, 5678,
9876
block dw 12 dup (?)
db 100 dup (?)
start proc far
begin: push ds
mov ax, 0
2.I/O
3.I/OASCII7ASCII37H07H99ASCII39H
4.ASCIIASCII
5.ASCII
6.
08H 7BH DEL
7.ASCII7
db 100 dup (?)
again scasb ;
data segment
db 100 dup (?)
start proc far
begin push ds
again scasb ;
db 100 dup (?)
start proc far
begin: push ds
mov ax, 0
db 100 dup (?)
start proc far
begin: push ds
lea di,sting2
push cx
4: ASCIISTRING“1”“0”“1”
db 100 dup(?)
1CPU
data ends
db 100 dup (?)
add_0 add al,’0’
db 100 dup(?)
db 100 dup(?)
5: 16ASCII
db 100 dup(?)
start proc far
begin: push ds
js next1
db 100 dup(?)
jnc next NEXT
next: inc di
db 100 dup(?)
start proc far
begin: push ds
inc buffer
;
6
name find_nin_max_val
data segment
buffer db 10,22,12,80,6709127100040
minval db
maxval db ?
data ends
db 100 dup(?)
start proc far
begin: push ds
cmp al,minval
je next NEXT
2. ——Bubble Sort
N102212806709127100040
NeNN-1eN-1eN>eN-1eN-1eN-2e2e1…….
NN-1
00100
db 100 dup(?)
emp ax,buffer[si-2] ;eNeN-1
jge next ; eN>= eN-1,NEXT
next: dec si
dec si ;
ret
db 100 dup(?)
db 100 dup(?)
done: ret
start endp
code ends
end begin
eN/2N/2XX>eN/2eN/2N/2Ne3N/4XX< eN/20N/2eN/4X0
001115213457607890127N100N19X78
18
L0R10NJN/2J+R/2010/2=5,eN/2eJ57X78X>eJL=J=5R=10J510/27.5J7eJ78X
1
1 2
K 1 2 K 1 2 3 4
L 0 5 L 0 0 2 2
R 10 10 R 10 5 5 3
J 5 7 J 5 2 3 2
ej 57 78 ej 57 15 21 15
X>ej X=ej X< ej X> ej X< ej X≠ej
db 100 dup(?)
cmp ax,[bx] ;eJ
je found ;FOUND
popf
ret
db 100 dup(?)
cmp ax,[bx] ;XeJ
Pushf
Poopf
popf
1 2 3
6020
6000
6004
6020
6060
6060
60A0
60A0
0000
60A0
0000
6060
60A0
6020
6004
6000
6020
6060
db 100 dup(?)
db 100 dup(?)
mov [di],al
mov [di],al
mov [di],al
: 0123454
db 100 dup(?)
ret
db 100 dup(?)
Parameter Passing
MOV CX,[BX]
name use_suber_examl
data segment
db 100 dup(?)
Addz: add a1,’0’
db 100dup(?)
stack ends
code segment
assume cs:code,ss:stack
num2 dd 1h,12345h ;Y1,Y2
push bx
pop bx
mov cx,4
adc ax,cs:[bx+8] ;
mov cs:[bx+10h],ax ;
inc bx
inc bx
loop again
pop cx
pop ax
data segment
db 100dup(?)
stack ends
code segment
assume cs:code,ss:stack,ds:data,es:data
num2 dw offset va12,seg va12
result dw offset buffer,seg buffer
ret
;CS:[BX]32SIDS
;
xchg dx,bx
mov cx,4
add bx,0ch ;
pop di
pop si
pop bx
pop cx
pop ax
CS:[BX]3216
CALL
n!=
… AX-1→AX(3-1=2) AX-1→AX(2-1=1) AX-1→AX(1-1=0)
AX=NUM=3 ≠0 ≠0
CALL FACTOR CALL FACTOR CALL FACTOR
X1 X2 X3 POP AX(1→AX)
POP CX (3 →CX) POP CX(2 →CX) RET
MUL CX MUL CX
RET RET
AH,INT 21H
DOSI/O
0909BL0DAAAND 0FH
DOS2CRTASCIIDL
MOV DL ,OUTPUT_CHAR
db 100 dup(?)
mov ah,2
2
db 100dup(?)
stack ends
data segment
‘’‘’‘’111160016001240
Y
N
Y
Y
N
0
=24
DAA
1
0
=60
0
1
DAA
=60
DAA
db 100 dup(?)
BCDCX100002710H010064H100AH;
ASCII‘$’.9
BCD
ASCIIBCD
db ? ;
db 100dup(?)
stack ends
code segment
assume cs:code,ds:data,es:data,ss;stack
pop bx
dec b1
400H
MOV AH,0
INT 21H
JUMP0
³ËÊýÈ¡²¹
0
³Ë»ý±ê־ȡ·´
³ËÊý
³ËÊýÈ¡²¹
Ð޸ĵØÖ·Ö¸Õë
Ñ»·´ÎÊý¼õ
0
£¬ÉèµÚ
Ñ»·´ÎÊý¼õ
Âß¼³ß×óÒÆһλ
È¡Âß¼³ß
»·´ÎÊý£¬ÉèµØÖ·Ö¸Õë
Íê³É·ñ£¿
´æÒÆλ´ÎÊý
0
Éè´®
2
±£´æ¸ß
ת»»×Ó³ÌÐò
ÉèÑ»·´ÎÊý
´æÖÁ´æ´¢Æ÷
·µ»Ø
Íê³É·ñ£¿
ÉèÑ»·´ÎÊý¼ÆÊýÆ÷£¬
ÖÃÊýÂë¼ÆÊýÆ÷Ϊ
A
·µ»Ø
ÒÔҪɾ³ýµÄÔªËصĵØַΪĿµÄµØÖ·£¬ËüµÄÏÂÒ»¸öÔªËصÄ
µØַΪԴµØÖ·£¬ÒÔʣϵÄÔªËØÊýΪ´«ËÍÊý½øÐÐÊý¾Ý´«ËÍ
·µ»Ø
´®È«ËÑË÷
Íê·ñ£¿
1