10.7 call和ret的配合使用
利用call和ret实现子程序的机制,框架如下:
标号:
指令
ret
具有子程序的源程序的框架:
assume cs:code
code segment
main:
...
call sub1
...
mov ax,4c00h
int 21h
sub1:
...
call sub2
...
ret
sub2:
...
ret
code ends
end main
10.8 mul指令
mul指令是乘法指令,使用mul做乘法的时候,要注意以下两点:
编程:计算data segment中8个数字的立方,并存储到data段中
assume cs:code,ds:data
data segment
dw 1,2,3,4,5,6,7,8
dd 8 dup (0)
data ends
code segment
main: mov ax,data
mov ds,ax
mov si,0 ;指向data段中第一行数据
mov di,16 ;指向data段中第二行数据
mov cx,8
s: mov bx,ds:[si]
call cube
mov ds:[di],ax
mov ds:2[di],dx
add si,2
add di,4
loop s
mov ax,4c00h
int 21h
cube: mov ax,bx
mul bx
mul bx
ret
code ends
end main