南邮汇编第一次实验
来源:互联网 发布:二阶矩阵特征值怎么求 编辑:程序博客网 时间:2024/04/27 17:01
题目描述:从数据段单元开始有9个有符号数,找出最小值存放到数据段min单元,并将负数的个数显示在屏幕上.
DATAS SEGMENT array DB -4,-3,-2,-1,0,1,2,3,4;数据段 LEA si,array sum DB ? min DB ?DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX mov sum,0 mov CX,9 again: mov al,[si] cmp al,0 ;因为是db所以是字节类型,所以放在al中表示字节类型(一个字节)此部分也可以写成cmp BYTE PTR[si],0 JGE next inc sum;当小于0则累加记录小于0的个数sum next:inc si;不管怎样都要访问下一个单元的值(同样因为这里是DB所以是字节,所以只用往后+1) loop again mov AH,2;得到小于的个数但是需要转成字符+30H mov DL,sum add DL,30H INT 21H mov AH,2;这三行是换行,接下去是打印最小值 mov DL,0AH int 21H lea si,array;si重新指向数据段首部 mov cx,9 mov al,[si] mov min,al;min初始化为数据段第一个值但是注意源,目标操作数不能同时为内存操作数,所以需要通过寄存器转换) inc al;从第二个开始找比min小的数 again2: mov al,[si] cmp min,al;同样比较数据段中每一个值和min的大小 JL next2 mov al,[si] mov min,al next2: inc si loop again2 cmp min,0;接下去是打印min,当min为非负数直接打印,否则应当先输出负号,再输出它的相反数 JGE next3 mov AH, 02H;打印负号 mov DL, 2DH int 21H mov BL,0;用0减去这个数得到相反数 sub bl,min mov min,bl next3: mov AH,2 mov DL,min add DL,30H;转成字符类型 int 21H MOV AH,4CH INT 21HCODES ENDS END START
说明:第一行是小于0的个数,第二行是最小值
0 0
- 南邮汇编第一次实验
- 南邮汇编第二次实验
- 南邮汇编实验一
- 南邮汇编实验二(用户登录)
- 南邮汇编实验——汇编语言实现用户的登录,不回显密码
- 第一次实验
- 第一次实验
- 第一次实验
- 第一次实验
- 第一次实验
- 第一次实验
- 第一次实验
- 第一次反编
- 第一次编了一个恶意程序
- 第一次编程序的感想
- 编代码,第一次感觉累!
- 第一次java实验:"*号画圆"
- 第一次上机实验成果
- Listener监听器(ServletRequestListener,ServletRequestAttributeListener)
- Android--抽取Module Gradle中的版本号
- jboss的启动和终止
- PHP基础教程十五之文件、目录的操作
- 使用拦截器实现上传文件的过滤
- 南邮汇编第一次实验
- HDU 5973Game of Taking Stones 51nod 1185 威佐夫游戏 V2(威佐夫博弈)
- yii2中redirect 重定向传值
- 键盘错误代码39解决方法
- JavaScript 的性能优化:加载和执
- 学习页面化设计工作流流程图
- 对于win7上共享的文件在工作组的其他电脑上无权限访问的问题解决,以及工作组电脑无需密码登入访问设置
- 如何将android studio设置复位,将设置恢复到初始化
- Android内存管理优化建议