汇编经典小程序.doc

上传人:sk****8 文档编号:4354293 上传时间:2019-10-25 格式:DOC 页数:5 大小:34.50KB
下载 相关 举报
汇编经典小程序.doc_第1页
第1页 / 共5页
汇编经典小程序.doc_第2页
第2页 / 共5页
汇编经典小程序.doc_第3页
第3页 / 共5页
汇编经典小程序.doc_第4页
第4页 / 共5页
汇编经典小程序.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验一:判断一个数X的正,负数,还是零。(假设是正数,输出+,是负数,输出-,是零,输出This is a zore !)DATA SEGMENTX DB 10CR EQU 0DHLF EQU 0AHW DB This is a zore!,CR,LF,$ZHENG DB +,CR,LF,$FU DB -,CR,LF,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,X AND AL,AL JZ L1 SHL AL,1 JC L3 JMP L2L1: MOV DX,OFFSET W M

2、OV AH,9 INT 21H JMP L4L2: MOV DX,OFFSET ZHENG MOV AH,9 INT 21H JMP L4L3: MOV DX,OFFSET FU MOV AH,9 INT 21H JMP L4L4: MOV AH,4CH INT 21HCODE ENDS END START 实验二:求十个数中的最小数,并以十进制输出。(若要求最大的,只要把JC 改为JNC 即可)(仅局限于0-16间的数比较,因为ADD AL,30H只是针对一位的十六进制转换十进制的算法)DATA SEGMENTXDAT DB 0AH,1FH,02H,03H,04H,05H,06H,07H,0

3、8H,09HMIN DB ?CR EQU 0DHLF EQU 0AHW DB is min,CR,LF,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV CX,9 MOV SI,OFFSET XDAT MOV AL,SIL2: CMP AL,SI+1 JC L1 MOV AL,SI+1L1: INC SI LOOP L2 ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV DX,OFFSET W MOV AH,9 INT 21HCODE ENDS END ST

4、ART实验三:设有3个单字节无符号数存放在BUF开始的缓冲区中,编写一个能将它们从大到小从新排列的程序。DATA SEGMENT BUF DB 87,234,123DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUF MOV AL,SI ;把3个数取到寄存器中 MOV BL,SI+1 MOV CL,SI+2 CMP AL,BL ;排序,将最大数送AL寄存器 JAE NEXT1 XCHG AL,BLNEXT1:CMP AL,CL JAE NEXT2 XCHG AL,CLN

5、EXT2:CMP BL,CL ;将最小输送CL寄存器 JAE NEXT3 XCHG BL,CLNEXT3:MOV SI,AL ;从大到小依次存回缓冲区,AL,BL,CL MOV SI+1,BL MOV SI+2,CL MOV AH,4CH INT 21HCODE ENDS END START实验三(2):设某一数组的长度为N,个元素均为字数据,试编制一个程序使该数组中的数据按照从小到大的次序排列。(要从大到小排序,只需把JBE改为JAE即可)ADATA SEGMENT N EQU 10 DATA DW 87,54,78,45,35,23,04H,12H,03H,21H ADATA ENDSAC

6、ODE SEGMENT ASSUME CS:ACODE,DS:ADATA START:MOV AX,ADATA MOV DS,AX MOV DS,AX MOV BX,0 MOV CX,N DEC CX LOP1: MOV DX,CX LOP2: MOV AX,DATABX CMP AX,DATABX+2 JBE CONTI XCHG AX,DATABX+2 MOV DATABX,AX CONTI: ADD BX,2 LOOP LOP2 MOV CX,DX MOV BX,0 LOOP LOP1 MOV AH,4CH INT 21H ACODE ENDSEND START 实验四:求十个数中的最小

7、数,并以十六进制输出。(若要求最大的,只需把JC 改为JNC 即可)DATA SEGMENTXDAT DB 0AH,1FH,0FH,0FH,0EH,0BH,0CH,0DH,0EH,0CHTAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46HMIN DB ?CR EQU 0DHLF EQU 0AHW DB is min,CR,LF,$DATA ENDSSSEG SEGMENT STACK DW 100 DUP(?)SSEG ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART

8、:MOV AX,DATA MOV DS,AX MOV CX,9 MOV SI,OFFSET XDAT MOV AL,SIL2: CMP AL,SI+1 JC L1 MOV AL,SI+1L1: INC SI LOOP L2CALL DISPP MOV DX,OFFSET W MOV AH,9 INT 21H MOV AH,4CH INT 21H DISPP PROC NEAR PUSH DX PUSH CX MOV DL,AL MOV CL,4 ROL DL,CL AND DL,0FHCALL DISP1 MOV DL,AL AND DL,0FHCALL DISP1 POP CX POP DXRETDISPP ENDPDISP1 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,DL MOV BX,OFFSET TAB MOV AH,0 ADD BX,AX MOV DL,BX MOV AH,2 INT 21H POP DX POP CX POP BX POP AXRETDISP1 ENDP CODE ENDS END START

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。