10 个经典汇编程序实例:从排序到字符串处理
实例 1:冒泡排序
BUBBLE_SORT PROC
MOV CX, N-1 ; 外层循环
OUTER:
MOV BX, 0
PUSH CX
INNER:
MOV AL, ARR[BX]
CMP AL, ARR[BX+1]
JLE NO_SWAP
XCHG AL, ARR[BX+1]
MOV ARR[BX], AL
NO_SWAP:
INC BX
LOOP INNER
POP CX
LOOP OUTER
RET
BUBBLE_SORT ENDP
实例 2:字符串长度
STRLEN PROC
MOV CX, 0
MOV BX, OFFSET STR
NEXT:
CMP BYTE PTR [BX], 0
JE DONE
INC CX
INC BX
JMP NEXT
DONE:
MOV AX, CX
RET
STRLEN ENDP
实例 3:十六进制转十进制
HEX2DEC PROC
MOV CX, 0
MOV BX, 10
CONVERT:
MOV DX, 0
DIV BX ; AX ÷ 10
PUSH DX ; 余数入栈
INC CX
CMP AX, 0
JNE CONVERT
PRINT:
POP DX
ADD DL, '0'
MOV AH, 02h
INT 21h
LOOP PRINT
RET
HEX2DEC ENDP
实例 4:阶乘
FACTORIAL PROC
MOV AX, 1
MOV CX, N
FACT_LOOP:
MUL CX ; AX * CX → DX:AX
LOOP FACT_LOOP
RET
FACTORIAL ENDP
实例 5:斐波那契数列
FIBONACCI PROC
MOV AX, 0
MOV BX, 1
MOV CX, N
FIB_LOOP:
MOV DX, AX
ADD DX, BX ; DX = AX + BX
MOV AX, BX
MOV BX, DX
; 打印 AX
LOOP FIB_LOOP
RET
FIBONACCI ENDP
更多实例
6. 字符串反转:双指针交换
7. 二进制转 ASCII:逐位提取
8. 最大公约数:辗转相除法
9. 数组求和:循环累加
10. 字符统计:频率数组
总结
这些实例覆盖了汇编编程的常见模式。动手敲一遍,你的汇编水平会有质的飞跃。
下一篇:《汇编语言实验指导:5 个动手实验从易到难》
原文链接:https://wenyiblog.top/2026/06/asm-17-examples/
首发于文艺技术笔记(wenyiblog.top),转载请注明出处。

浙公网安备 33010602011771号