这道题是这样的。
在数据段中从0500H单元开始存放着100个带符号数(16位),要求把其中的正数传送至1000H开始的存储区;负数传送至1100H开始的存储区,且分别统计正数和负数的个数,并将正数和负数的个数分别存入1200H和1201H单元中
数据段定义的部分我没看懂
DATA SEGMENT
ORG 0500H
N0 DW X1,X2,…,X100 ;自定义100个带符号数
COUNT EQU $-BUFFER/2
N1 DW 1000H ;保存正数
N2 DW 1100H ;保存负数
N3 EQU 1200H ;保存个数
为什么之后他用LEA BX,NI 然后就把正数存进去了,这应该没有存在1000H那个单元吧?
汇编中的一个指令看不懂,希望帮我看看
答案:3 悬赏:0
解决时间 2021-02-18 13:59
- 提问者网友:放荡不羁
- 2021-02-18 07:03
最佳答案
- 二级知识专家网友:初心未变
- 2021-02-18 08:00
恩,你说的没错,N1,N2,N3的定义不对,正确的应该是
ORG 1000H
N1 DB 100 dup(?) ;从1000H开始定义100个空间,保存正数
ORG 1100H
N2 DB 100 dup(?) ;保存负数
ORG 1200H
N3 DB ?,?
这样空间定义好后就能放进去了
另外上面统计个数的一条指令要加(),正确的是COUNT EQU ($-BUFFER)/2
ORG 1000H
N1 DB 100 dup(?) ;从1000H开始定义100个空间,保存正数
ORG 1100H
N2 DB 100 dup(?) ;保存负数
ORG 1200H
N3 DB ?,?
这样空间定义好后就能放进去了
另外上面统计个数的一条指令要加(),正确的是COUNT EQU ($-BUFFER)/2
全部回答
- 1楼网友:如果这是命
- 2021-02-18 09:37
汇编中一个段是64KB, 即从0000H ~ FFFFH 。1000H本身就在这个范围内,当然可以直接用了
- 2楼网友:余生继续浪
- 2021-02-18 08:58
LEA BX,NI中的LEA是取地址的意思,把NI的地址赋给BX
执行这段指令后BX和NI都指向同一个地址单元
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯