今天写了一下汇编实现冒泡的代码,映像最深的是:汇编本身是没有结构的,如果非要说有,那么也是顺序结构,那么如何实现循环和选择结构呢,这就要设置标志了,可以说设置标志是汇编学习的核心,那么要熟练设置标志就要掌握算数标志位的变化和跳转指令的对应关系,下面是我的代码:
DATAS SEGMENT
NUM db 10,9,8,7,6,5,4,3,2,1;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,9
MATCH:
MOV BX,0
CASE2:
MOV AL,NUM[BX]
CMP AL,NUM[BX+1]
JLE CASE1
MOV AL,NUM[BX]
MOV DL,NUM[BX+1]
MOV NUM[BX],DL
MOV NUM[BX+1],AL
CASE1:
INC BX
CMP BX,CX
JL CASE2
LOOP MATCH
MOV AH,4CH
INT 21H
CODES ENDS
END START