社区
汇编语言
帖子详情
为何程序从DS+1H处开始存放?
luck4
2005-12-22 02:57:50
书中有如下话:
“通过DS=0B2D,可知道我们的程序从0B3D:0000开始存放。”
为什么啊?DS不就是数据段么,干嘛要从数据段+上一个字型数据的空间处开始存放程序?
...全文
116
4
打赏
收藏
为何程序从DS+1H处开始存放?
书中有如下话: “通过DS=0B2D,可知道我们的程序从0B3D:0000开始存放。” 为什么啊?DS不就是数据段么,干嘛要从数据段+上一个字型数据的空间处开始存放程序?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luck4
2005-12-22
打赏
举报
回复
刚看书回想起来了,不好意思,我是初学者。谢谢rockefeller8(洛克菲勒) 指教!谢谢 JOKER_UFO(JOKER_UFO) 的批评!
JOKER_UFO
2005-12-22
打赏
举报
回复
to luck4()
你根本没搞明白DS的实际内涵,rockefeller8解释的很明白,你懂不懂 DS+1中存的东西!
多看看书!漫漫理解!
luck4
2005-12-22
打赏
举报
回复
谢谢指教,但是我问的不是偏移地址和段地址的由来。我问的是段地址为什么不是从寄存器ds中取,而是ds+1.
rockefeller8
2005-12-22
打赏
举报
回复
这是地址偏移的问题,
20位地址线,CPU是16位的,请问怎么能把这20位数据用16位表示下来呢?
方法:将20位的一个地址分成两个数据来保存:
高16位和低16位,很明显,有重复的,计算回20位是高16位左移4位加上低16位得到20位
上面的高16位就是楼主的0B3D
上面的低16位就是楼主的0000
高16位称为段地址,低16位称为偏移地址。
举个例子:学生时上间操时,段地址就相当于上小学时的第几班,而偏移地址相当于你是这个班里个第几高的。所有的学生就是内存空间,
楼主的0000是这个班的起始地址。
加法
程序
实现 46H+52H,并将结果放入SUM
应该是除了汇编语言的"Hello Word"
程序
之后,接触的第二个
程序
。 题目:加法
程序
实现46H+52H,并将运算结果
存放
在数据段变量SUM中。
程序
: .586 DATA SEGMENT USE16 SUM DB ? ;数据区 DATA EN
DS
CODE SEGMENT USE16 ASSUME CS:CODE,
DS
:DATA BEG: MOV AX,DATA...
汇编小
程序
分享 - movsb 指令
题目:4.请编写
程序
完成:
DS
:6000H开始
存放
字符串 " How are you! “,把该字符串从后往前传送
DS
:6030H 开始的内存区域中(即传送结束后,
DS
:6030H 开始的内容为”! uoy era woH "),试编写
程序
并上机调试。
程序
: code segment start: ; set segment registers: mov ax, 0 mov
ds
, ax mov es, ax mov di,6000H mov al,'H'
计算机组成原理与编语言
程序
设计(第四版)178页4-19题:在实例模式下,假设(
DS
)=1234H,(SI)==124H,(12464H)=30ABH,(12484H)=464H,有以下
程序
题目: 4-19 在实例模式下,假设(
DS
)=1234H,(SI)==124H,(12464H)=30ABH,(12484H)=464H,有以下
程序
段: LEA SI,[SI] MOV AX,[SI] MOV [SI+22H],1200H L
DS
SI,[SI+20H] ADD AX,[SI] 上述
程序
执行后,(
DS
)=________,(SI)=______,(AX)=_________。 解析: ...
【汇编语言】实验一
1.利用DEBUG
程序
中的“E”命令,将两个多字节数“12345678H”和 “FEDCBA98H”分别送入起始地址为
DS
:0200H和
DS
:0204H两个单元中。 很笨的方法,一个字节一个字节存入 当然,e命令可以一次修改多个单元 2.将
DS
:0200H单元和
DS
:0204H单元中的数据相加,并将运算结果
存放
在
DS
:0208H单元中 3.从
DS
:0000H开始的4个16位带符号数分别记为x,y,z,w,用E命令初始化为:540,1,-1, 0, 试求w=x*y+z-540 540的16位原码表示:
实验一 Debug
程序
的使用
实验一 Debug
程序
的使用 一. 实验目的 1、熟悉DEBUG
程序
中的命令,学会在DEBUG下调试运行汇编语言源
程序
。 2、掌握8086/8088的寻址方式及多字节数据的
处
理方法。 二. 实验内容 1、利用DEBUG
程序
中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为
DS
:0200H和
DS
:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写
程序
段,实现将
DS
:0200H单元和
DS
:0204H单元中的数据相加,并将运算结果
存放
在
DS
:020
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章