码迷,mamicode.com
首页 > 其他好文 > 详细

4-分支和循环

时间:2021-06-13 10:23:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:提示   比较   offset   10个   star   set   运行   segment   初始化   

掌握分支结合循环程序设计的结构和设计方法。
编程:

根据成绩数组cj中保存的10个学生的成绩,统计相应学生的名次并填入名次数组mc中(提示:一个学生的名次等于成绩高于该学生的人数加1)。

测试用数据:学生成绩数组:46、68、88、87、76、89、99、65、100、80

结果应该为:10、……、1、?

 

data segment

cj db 46,68,88,87,76,89,99,65,100,80

mc db 10 dup(1)   ;都初始化为第1名

data ends

 

code segment

assume cs:code,ds:data

start:mov ax,data

mov ds,ax

 

mov bx,offset cj

mov si,offset mc

mov bp,bx ;用bp保存成绩首地址

mov cx,10

lop1:mov dx,cx ;外层循环,保护cx值    ;循环比较,成绩低于他人下降1名,否则不变      

mov cx,10

mov ah,[bx]

lop2:mov di,10 ;内层循环,依次与10个人比较

sub di,cx

cmp ah,ds:[bp+di]

jl down

jmp next

down:add byte ptr [si],1

next:

loop lop2

inc bx ;一轮比较结束后,都指向下一个要比较的人

inc si

mov cx,dx ;外层循环,恢复cx值

loop lop1

 

mov ax,4c00h

int 21h

code ends

end start

 

程序运行前,前十个为学生成绩,后十个为他们的名次,先设为1

 技术图片

 

 

程序运行后,后十个存放对应名次,依次为第10、8、4、5、7、3、2、9、1、6名

技术图片

 

4-分支和循环

标签:提示   比较   offset   10个   star   set   运行   segment   初始化   

原文地址:https://www.cnblogs.com/concentricCircle/p/14878453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!