求解一个简单的汇编语言程序:在数据段存放5个数,计算这五个数的和,并将结果存放到数据段中。(最好添加注释)

bbatvv 2011-01-02 07:49:35
如题,谢谢大家~
...全文
618 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
znxllyuan 2011-01-02
  • 打赏
  • 举报
回复
data segment
he db 1,2,3,4,5 ;5个数
jie dw ? ;存放结果
data ends
code segment
assume cs:code ds:data
start:
mov ax.data
mov ds,ax
lea bx,he ;BX指向第一个数
mov si,1 ;SI指向第一2个数
mov cx,4
mov al,[bx] ;第一个数送入al
S: add al,[si] ;与下一个数相加
adc ah,0
inc si
loop s ;重复4次
mov jie,ax 存放结果
mov ax,4c00h
int 21h
code ends
end start
leetow2003 2011-01-02
  • 打赏
  • 举报
回复
data segment
;定义6个变量,其中5个赋初值
a1 db 1
a2 db 2
a3 db 3
a4 db 4
a5 db 5
a6 db ?
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data ;获得数据段段地址
mov ds,ax
mov bx,offset a1 ;获得第一个变量的偏移地址
mov ax,0
mov cx,5 ;需要循环5次
s1:add ah,[bx] ;把变量值依次加到ah中
inc bx ;变量偏移地址递增
loop s1
mov a6,ah ;最后把值赋给变量a6
mov ax,4c00h ;退出
int 21h
code ends
end start

你可以在debug下查看a6的值,先运行-g,然后先查看段知道(通过代码,用-u),最后-d

21,459

社区成员

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

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