网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月11日
漏签
0
天
汇编吧
关注:
45,324
贴子:
163,677
看贴
图片
吧主推荐
游戏
8
回复贴,共
1
页
<<返回汇编吧
>0< 加载中...
大神求解
只看楼主
收藏
回复
CR7207325
基础知识
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大二初学者,电脑系统win8,请问用什么的软件实验汇编语言好呢?老师推荐了个masm for windows但是有明显的弊端啊,求大神推荐
CR7207325
基础知识
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶!
CR7207325
基础知识
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶!
CR7207325
基础知识
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顶!
秋枫正绿
基础知识
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
DATAS SEGMENT DATA DB 24,18,-8,-16,66,56,86,6,10,98 COUNT DB 10,10DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,ES:DATASSTART: MOV AX,DATAS MOV DS,AX MOV ES,AX MOV BL,1 ;改进版本,用BL来检验是否排序完成,减少循环次数LOOP1: CMP BL,0 JE DATAOUT ;ZF=1,若相等或为0,则跳转XOR BL,BL ;用逻辑异或将BL清零 MOV CL,COUNT ;COUNT用于外层的计数 DEC CL ;CL减一,CL用于内层的计数 PUSH CX ;将CX压入堆栈 LEA DI,DATA ;将数据段首地址赋值给DI LOOP2: MOV AL,[DI] CMP AL,[DI+1] ;将前一个数与后一个数比较 JLE LOOP3 ;ZF=1或SF!=OF 若前一个数小于或等于后一个数,则跳转到LOOP3XCHG [DI+1],AL ;前者大于后者,则交换两数MOV [DI],AL ;如果前一个数字大于后一个数字,则交换 MOV BL,1 LOOP3: INC DI ;指针加一LOOP LOOP2 ;循环L00P2,直到CX==0成立 POP CX ;将CX从堆栈中弹出 MOV COUNT,CL ;改变外层计数器的值 JMP LOOP1 DATAOUT: MOV CL,10 ;开始数据输出 LEA DI,DATA ;载入数据段(数组)首地址 NEXT: MOV AX,0 ;输出下一个数 MOV BH,2 ;输出的数字之间的空格 MOV AL,[DI] ;取数 CMP AL,0 JGE NON ;如果是非负数,则跳至NON NEG AL ;若是负数,将AL中的负数取补转成对应的正数 PUSH AX ;INT 21H 中断将会有一个返回值 MOV AH,2 ;同时显示负数的标记‘-’ MOV DL,'-' ;注意这个时候 AX 的值会因为 21H中断的调用而改变, 所以先要保存起来 INT 21H ;若是负数,在屏幕上显示‘-’号 POP AX ;某些中断之后AX会改变 NON: XOR AH,AH ;将AH清零DIV COUNT+1 ;除以10取十位 MOV DH,AH ;AH是余数,AL是商(如果是个位数,则AL为零) CMP AL,0 JE SINGLE ;如果AL为零(个位数),则跳转到DIR,直接输出十位数 ADD AL,30H ;将数字转换成ASC码 MOV DL,AL ;数字放入DL,在屏幕输出 MOV AH,2 INT 21H ;显示十位上的数值 SINGLE: MOV AL,DH ;将余数(个位数)放入AL XOR AH,AH ;将AH清零 ADD AX,3030H MOV DL,AL ;所以最好在显示时判断是否是大于100或者小于100再根据判断结果来处理 DIV OUTP:MOV AH,2 ;显示输出功能INT 21H ;显示个位数 DEC BH ;BH减一JZ XT ;若相等或为0,则跳转MOV DL,BL ;BL为零,屏幕输出空格 JMP OUTP XT: DEC CL ;输出数组下一个 JZ DONE ;如果ZF标志位为零(CL为零),则程序完成 INC DI ;数组指针+1 JMP NEXT ;继续输出数组下一个数 DONE: MOV AH,1 ;键盘输入并回显功能,目的是使程序输出窗口暂停,以便看到输出结果INT 21H MOV AH,4CH ;带返回码结束功能INT 21H ;返回系统 CODES ENDS END START
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示