汇编笔记(四)
程序的编写
2^3
abc segment
mov ax,2
add ax,ax
add ax,ax
abc ends
end
ends表示段的结束,end表示程序的结束
2012/3/18
loop指令
(1)loop和cx的相互配合
mov cx,循环次数
s:
循环执行的程序段
loop s
相当于c中的for和while
(2)123x236
assume cs:abc ;段寄存器abc
abc segment
mov ax,0 ;将ax赋值为0
mov cx,236 ;定义循环的次数236
s:add ax,123 ;ax累加123
loop s ;loop相当于for或者是while
mov ax,4c00h
int 21h
abc ends
end
提高效率:
236x123
assume cs:abc
abc segment
mov ax,0
mov cx,123
s:add ax,236
loop s
mov ax,4c00h
int 21h
abc ends
end
(3)代码
assume cs:code
code segment
;汇编语言中不能以字母开头所以要在ffffh前面加0
mov ax,0ffffh ;把段地址赋给ax
mov ds,ax ;把段地址赋给dx
mov bx,6 ;把偏移地址赋给bx
;因为ax为16位 bx为8位,所以不能直接用bx赋值给ax
mov al,[bx] ;把bx的值赋给al
mov ah,0 ;ah赋值为0
mov dx,0 ;dx
mov cx,3 ;循环的次数为三次(加3次)
s:add dx,ax ;
loop s
mov ax,4c00h
int 21h ;结束的入口
code ends
end