汇编笔记(四)

程序的编写
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

posted @ 2012-03-20 20:18  ○o尐懶錨o  阅读(224)  评论(0编辑  收藏  举报