急求源程序,提供问题解决思路也可

smilefeel 2006-03-25 04:28:21
小弟今年考研,马上要复试了,因为是跨专业(我是学物理的,考计算机的),所以要加试微机原理,一个认识的老师给了几道参考题,有道汇编题,小弟实在做不出(汇编没学过,555~),盼各位大大能帮个忙,小弟感激不尽!!!

题目如下:
在内存BLOCK单元开始存放10个无符号数,从中找出最大的值送入MAX单元中。

小弟若是考上了,一定不会忘了各位大大的帮助的,谢谢了。
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
smilefeel 2006-03-25
  • 打赏
  • 举报
回复
谢谢雪狼!也祝你生活、工作好运不断~~
icbm 2006-03-25
  • 打赏
  • 举报
回复

.model small

data segment

block dw 1,32,11,34,55,55,881, 65535,0,36 ; 10个数据
max dw ? ; 存放最大数

data ends

code segment
assume cs: code, ds: data
start:
mov ax, data
mov ds, ax ; 装载数据段寄存器ds

mov si, offset block ; si指向block的第一个数

mov ax, [si] ; ax中存放最大数,第1个数存入ax

mov cx, 9 ; 从第2个数开始,循环9(从2到10)次
loop1:
inc si
inc si ; si指向下一个要比较的数

mov dx, [si] ; 取得要下一个数
cmp dx, ax ; 进行比较
jbe next ; jbe 是无符号数相比较,小于等于当前最大值时,不进行操作
mov ax, dx ; 大于当前最大值时,把找到的当前最大值存入ax
next:
loop loop1

mov max, ax ; 将找到的最大数存入max

mov ax, 4c00h
int 21h

code ends

end start


完整程序如上所示。祝你考研好运!:)
大熊猫侯佩 2006-03-25
  • 打赏
  • 举报
回复
定位 block , 一趟比较即可,最后将最大值放入 max 单元。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧