求一MCS-51汇编的简单程序

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:09:07
题目:古代某棋手在一次国际性比赛中赢得了第一名,为国家争得了荣誉,国王重奖这位棋手,颁发的奖金的方式就是在棋盘的100个方格上依次放入与棋盘编号等号克数的黄金,请你设计程序帮助这位古代棋手计算出他一共获得多少克黄金。(将结果存在30H和31H中。)

最好有文字注释,不要太复杂,感谢各位~

org 0000h
ljmp main
org 0030h
main:
mov 30h,#0;高位
mov 31h,#0;低位
mov r3,#100;100个格子
mov r2,#1;第一个格子的编号
loop:
mov a,r2
clr c
add a,31h
mov 31h,a
mov a,#0
adda a,30h;带进位位加法,这里目的是把进位加到30h
mov 30h,a
inc r2
djnz r3,loop;把所有加完
ljmp $;算出结果
end