C语言:
for(i=0i<10i++)a=a+i
汇编语言:
i equ 30h
m equ 31h
......
mov i,#0
mov m,#0
mov r2,#10
loop:
mov a,i
add a,m
mov m,a
djnz r2,loop
一个标准的循环程序应由以下四部分组成:循环准备、循环体、循环修改、循环控制。
循环准备是为循环做准备的,有循环次数和起始地址;循环体是循环程序解题所需的核心程序,题目要完成的功能在此进行;循环修改用来更新某些数据或修正循环控制的参数;循环控制是循环是否结束的控制。
如果在一个程序中的多个地方、或多个程序中的多个地方要用同一段程序,那么可以将这段程序单独设计,存放在某一存储区域,每当需要执行这段程序时,就调用指令转到这段程序去,执行完毕,再返回原来的程序。这段独立出来的程序叫做子程序或过程,调用它的程序称为主程序。采用子程序。使得设计结构清楚,程序的维护方便。当主程序需要执行这个子程序功能时,通过调用该子程序,执行子程序,子程序完成后返回主程序调用处,继续主程序后面的指令的执行。与子程序有关的指令有子程序的调用CALL、子程序返回RET两条指令。
DATA SEGMENTBUF DB 11H,22H,33H,44H,55H,66H,77H,88H
N DB $-BUF
MIN DB ?
MAX DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,SEG DATA
MOV DS,AX
MOV DL,N
XOR DH,DH
以下通过排序将最大置于首、最小置于尾
DEC DX
L1:
MOV CX,DX
MOV SI,OFFSET BUF
L2:
MOV AL,[SI+1]
CMP AL,[SI]
JG NEXT
XCHG AL,[SI]
MOV [SI+1],AL
NEXT:
INC SI
LOOP L2
DEC DX
JNZ L1
MOV SI,OFFSET BUF
MOV AL,[SI]
MOV MIN,AL
MOV AL,[SI+N-1]
MOV MAX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)