汇编语言内存中数据存放

numDW1122H,3344H,5566H,7788H这样定义num,在内存中是怎样排列的,高低地址怎样,求详解,谢谢... num DW 1122H,3344H,5566H,7788H
这样定义num,在内存中是怎样排列的,高低地址怎样,求详解,谢谢
展开
 我来答
ningning393
推荐于2017-11-26
知道答主
回答量:20
采纳率:0%
帮助的人:17.5万
展开全部
22 低地址
11
44
33 高地址
每个dw的高地址存放高位数据,低地址存放低位数据。
8086汇编中数据是存放在数据段的,所有从低地址到高地址的存放。你在访问3344H时可以直接用[num+2]来访问。
需要区别的是windows的栈内存,是从高地址到低地址存放的。
百度网友9045b38
2013-12-24 · TA获得超过1972个赞
知道小有建树答主
回答量:984
采纳率:90%
帮助的人:522万
展开全部
数据在内存中的存放原则是低位在前高位在后,所以:
num DW 1122H,3344H,5566H,7788H 在内存中的存放顺序是:
22H,11H,44H,33H,66H,55H,88H,77H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈MC乐园
高粉答主

2018-04-17 · 每个回答都超有意思的
知道小有建树答主
回答量:95
采纳率:93%
帮助的人:1.8万
展开全部
dseg segment  d0 db 1  ;1byte  d1 db 2  d2 db 0

dd0 dw 1 ;2byte

dd1 dw 2

dd2 dw 0

qd0 dd 1 ;4byte

qd1 dd 2

qd2 dd 0

dseg ends

 

assume cs:cseg, ds:dseg

cseg segment

start:

mov ax, dseg

mov ds, ax

;1byte

mov al,d0

add al,d1  ; d0+d1

mov d2,al  ; save to d2

;2 byte

mov ax, dd0

add ax, dd1

mov dd2, ax

;4byte  

mov ax, word ptr qd0 ;低位数据在低地址,高位数据在高地址

add ax, word ptr qd1 ;低位数据相加

mov word ptr qd2, ax ;保存到qd2的低位

mov ax, word ptr qd0+2 ;高位

adc ax, word ptr qd1+2 ;高位相加,再加上低位相加时,有可能的进位

mov word ptr qd2+2, ax ;保存高位。如果高位相加有进位,这里未处理

mov ax,4c00h

int 21h

cseg ends

end start

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_fmlyht
2013-12-26 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1831万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式