下载此文档

程序设计实例.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
例 :把从 MEM 单元开始的 20个8 位无符号数按从小到大的顺序排列。 DATA SEGMENT MEM DB 26H,98H,13H,40H,0A5H,66H,0EDH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ; 数据段初始化 LEA SI,MEM MOV CX,6 ; 外循环参数 CX , SI NEXT1: MOV BL,CL MOV DI,SI ; 内循环参数 BL , DI MOV AL,[SI] NEXT2: INC DI; 内循环地址指针变化 CMP AL,[DI] ;两数比较 JB NEXT3 ; 前数小于后数,转移 XCHG AL,[DI] MOV [SI],AL ; 数据交换 NEXT3: DEC BL JNZ NEXT2 ; 内循环结束判断 INC SI; 外循环地址指针变化 LOOP NEXT1 ; 外循环结束判断 MOV AH,4CH INT 21H CODE ENDS END START 例 :两个 6 字节数分别相加 DATA SEGMENT ADD1 DB 0FEH , 86H , 7CH , 35H , 68H , 77H ADD2 DB 45H , BCH , 7DH , 6AH , 87H , 90H SUM DB 6 DUP ( 0) DATA ENDS CODE SEGMENT ASSUME CS : CODE , DS : DATA START : MOV AX , DATA MOV DS , AX LEA SI, ADD1 LEA DI , ADD2 LEA BX , SUM MOV CX ,6 CLC ; CF=0 AGAIN : CALL SUBADD ;调用子程序 LOOP AGAIN ;循环调用 6次 MOV AH , 4CH INT 21H ; 子程序入口参数: SI, DI , BX 出口参数:SI, DI,BX SUBADD PROC ;完成一个字节相加 PUSH AX ;保护 AX 的值 MOV AL , [SI] ADC AL , [DI] MOV [BX] , AL INC SI INC DI INC BX POP AX ;恢复 AX 的值 RET SUBADD ENDP CODE ENDS END START 三、常见程序设计举例 1、ASCII →二进制把AL寄存器中的字符转换为二进制数,保存 2000H 单元中。 CODE SEGMENT ASSUME CS : CODE START: AND AL , 7FH CMP AL , '0' JL ERR CMP AL , '9' JG NEXT SUB AL ,30H MOV [2000 ], AL JMP STOP NEXT: CMP AL , 'A' JL ERR CMP AL , 'F' JG ERR SUB AL ,37H MOV [SI] , AL JMP STOP ERR: MOV BYTE PTR [2000 ],0FFH STOP: MOV AH , 4CH INT 21H CODE ENDS END START 2、二进制数→ASCII 把buff 中存放的 16 位二进制数转换为 AS

程序设计实例 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人phl806
  • 文件大小107 KB
  • 时间2017-02-24