书上的一段汇编,决定不知道是对还是错哪里错了

共有 744 人关注过本帖
标题:王爽汇编书上的一个问题,有点疑惑
等 级:新手上路
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:7&&&
王爽汇编书上的一个问题,有点疑惑
程序代码:assume cs:cde,ds:dta,ss:stk
dta segment
&&& dw h,h,0abch,0fedh,0edfh,0defh
stk segment
&&& dw <font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#,<font color=#
cde segment
start:mov ax,stk
&&&&&&&&mov ss,ax
&&&&&&&&mov sp,<font color=#
&&&&&&&&mov ax,dta
&&&&&&&&mov ds,ax
&&&&&&&&push ds:[<font color=#]
&&&&&&&&push ds:[<font color=#]
&&&&&&&&pop ds:[<font color=#]
&&&&&&&&pop ds:[<font color=#]
&&&&&&&&mov ax,4c00h
&&&&&&&&int 21h
设程序加载后,code段的段地址是X,则data段的段地址是______
stack段的段地址是______
网上有答案说是X-2,X-1
不能理解,求解释
PS.这是我想的:data段地址应该放在ds之中的,
栈段地址应该放在ss之中,
代码段在cs之中。
我用debug加载后是这样的:
如果cs为X的话,那么data段地址就是X-13,stack段地址就是X-3,不知道对不?
[ 本帖最后由 haolly 于
20:43 编辑 ]
来 自:上海
等 级:火箭侠
帖 子:858
专家分:3233
&&得分:20&
1. edit your code : end -& end start
2. compile -& link -& debug
3. think it over & over
技术问题,请不要以短消息方式提问
等 级:新手上路
回复 2楼 zaixuexi
什么意思?
来 自:上海
等 级:火箭侠
帖 子:858
专家分:3233
1. 修改你的代码end -& end start
2. 编译好了以后,再看debug
3. 根据debug的结果,自己先想一想
4. X-2,X-1这个答案是对的
这下说的够明白了吧
技术问题,请不要以短消息方式提问
来 自:上海
等 级:火箭侠
帖 子:858
专家分:3233
F:\&debug cc.exe
AX=0B6F&&BX=0000&&CX=0042&&DX=0000&&SP=0000&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6E&&CS=0B70&&IP=0003&&&NV UP EI PL NZ NA PO NC
0B70:&&&&&&&&& MOV&&&&&SS,AX
AX=0B6F&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=0008&&&NV UP EI PL NZ NA PO NC
0B70:B&&&&&&&&MOV&&&&&AX,0B6E
AX=0B6E&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=000B&&&NV UP EI PL NZ NA PO NC
0B70:000B 8ED8&&&&&&&&& MOV&&&&&DS,AX
AX=0B6E&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B6E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=000D&&&NV UP EI PL NZ NA PO NC
看到结果了,自己想一想,熟练了根本不用看结果,一看代码就知道了
你可以再想一想,为什么书上会在这一章出这道题,是不是书上之前提到的知识点已经完全掌握了?还是没掌握就过去了?还是看的不仔细?还是书写的不好?
什么叫总结经验,这就是总结经验(我怎么屁话肿么多?强烈鄙视下自己...)
技术问题,请不要以短消息方式提问
等 级:新手上路
回复 5楼 zaixuexi
谢谢。斑斑真给力。
这个我懂了。
来 自:上海
等 级:火箭侠
帖 子:858
专家分:3233
技术问题,请不要以短消息方式提问
等 级:论坛游民
帖 子:51
专家分:22
以下是引用zaixuexi在 21:33:01的发言:
F:\&debug cc.exe
AX=0B6F&&BX=0000&&CX=0042&&DX=0000&&SP=0000&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6E&&CS=0B70&&IP=0003&&&NV UP EI PL NZ NA PO NC
0B70:&&&&&&&&& MOV&&&&&SS,AX
AX=0B6F&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=0008&&&NV UP EI PL NZ NA PO NC
0B70:B&&&&&&&&MOV&&&&&AX,0B6E
AX=0B6E&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B5E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=000B&&&NV UP EI PL NZ NA PO NC
0B70:000B 8ED8&&&&&&&&& MOV&&&&&DS,AX
AX=0B6E&&BX=0000&&CX=0042&&DX=0000&&SP=0010&&BP=0000&&SI=0000&&DI=0000
DS=0B6E&&ES=0B5E&&SS=0B6F&&CS=0B70&&IP=000D&&&NV UP EI PL NZ NA PO NC
看到结果了,自己想一想,熟练了根本不用看结果,一看代码就知道了
你可以再想一想,为什么书上会在这一章出这道题,是不是书上之前提到的知识点已经完全掌握了?还是没掌握就过去了?还是看的不仔细?还是书写的不好?
什么叫总结经验,这就是总结经验(我怎么屁话肿么多?强烈鄙视下自己...)
请问下版主,是如何把这个弄成文本形式的哈?
版权所有,并保留所有权利。
Powered by , Processed in 0.031478 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved简单汇编问题(王爽书上的)。我的程序哪里错了!_百度知道
简单汇编问题(王爽书上的)。我的程序哪里错了!
4&#39,&#39;:[di+0dh],5937000: mov ax,&#39;1993&#39:assume cs,stacksg1983&#39,ss,16
mov ax,17800 ,ds,&#39,21
1977&#39,如果实在不行;。谢谢,0
mov cx,0,5&#39,&#39;,会在第二个loop处出现divide overflow(我在网上查了;;总收入 dw 3,590827,&#39: mov al,0stacksg ends codesg segment,7;,&#39;,778;;)table endsstacksg segment dw 0:[bx+si+54h]
mov es,8,&#39:[si+56h]
,382,97479:[bx+di],ax,130,&#39,15257; db &#39;6 dw 11542,ds,65,38,可以通过(因为我已用过正确答案调试),ax
mov ax,data
mov ds:[di+0ah]
mov es,&#39,0
mov cx,28,并计算人均收入,0
mov si,0;;4&#39,ax
mov sp:5&#39,&#39:[si+0a8h]
mov es,0,1001,看不懂)我希望可以在我的这段码上稍加修改,4c00h
int 21hcodesg endsend start 我在调试后,2390,&#39,22:[si+54h]9&#39,24486; db &#39;
dd 16,&#39,&#39,0;1981&#39,al
s0;year summ ne ,4037,16;1982&#39:[bx+si]
mov es,ds,4
add di,;,220,16000;?,,ax
mov ax,&#39:[di+10],al
loop s0mov ax,ds,&#39,ds,ax
mov ax,;,table
mov es,476:[bx+di+5h],&#39;1978&#39,&#39!我的代码,140417: push cx
mov bx;人数 data endstable segment db 21 dup (&#39,0;;,197514 dd 345980? &#39,&#39:stacksgdata segment db &#39,&#39;1&#39;1979&#39;:题目将data段中数据写入到table段中实验7,请告诉我为什么
请告诉我为什么davidrin 不好意思!如果不行!我希望可以在上面这个基础上修改通过,好多我都没学到过,你写的我看不懂
提问者采纳
mov [bx+10]:0[bp]
mov [bx],4修改为add si,4但是要注意,ax
mov bx: mov ax,table
mov ds。建议用比较“傻瓜”的方式,es,0
s。因为你在输入年份和收入时使用了si寄存器,ax
MOV ax,读取了未被定义的空间。等到输入1986年的数据时,就会跳过一个数据。另外,雇员数的大小是一个字:84[bp][si]
mov [bx+7],学会自己调试程序。但是,因为太麻烦,ax
mov cx,ds,ax
mov bp,[bx+7]
mov ax,雇员数的值为零,就是加了4个字节,data
mov ax,比如,自然出现了除法溢出,es,es:84[bp]
mov [bx+5],让别人帮忙修改程序的问题最好少提,4
mov ax,es。所以你得改变你的寻址方式,对于你的程序,这样,ax
add bx,4c00h
int 21hcodesg ends你可以慢慢修改:[si+0a8h].你是这样写的 mov ax,不能轻易的把add si,除数为零,ax
mov ax: mov si,也就是两个字节你给si加4,10h
add bp..,21
mov di,[bx+5]
div word ptr [bx+10]
mov [bx+13].add si:2[bp]
mov [bx+2]。做除法的时候,ax
mov ax。因为你跳过了一半的数据,es,修改会造成更大的错误,2
mov ax:start,2雇员数的存放有问题
提问者评价
两位的回答都解决了这个问题!是我一开始没说清楚。虽然二楼的代码我不满意!但Ta指出了我的错误所在!
其他类似问题
为您推荐:
汇编的相关知识
其他1条回答
assume cs:codesg,ss:stacksg
data segment
year db &#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;
db &#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;,&#039;;
db &#039;;,&#039;;,&#039;;
gain dd 16,22,382,00,,,514
dd 827,,,5937000
population dw 3,7,9,13,28,38,130,220,476,778,58,35,8226
dw , ;人数
table segment
db 21 dup (&#039;year summ ne ?? &#039;)
table ends
stacksg segment stack
dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start: mov ax,data
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇编问题,安装一个7ch的中断,是书上的,,但是我 -u 200:0 显示的指令怎么和 movsb进去的不一样咧?_百度知道
汇编问题,安装一个7ch的中断,是书上的,,但是我 -u 200:0 显示的指令怎么和 movsb进去的不一样咧?
cs mov ds: mov ax,0
mov ax,0 jcxz ok and byte ptr [si],offset capitalend - offset capital cld rep movsb
mov ax,200h mov word ptr es:[7ch*4],ax mov si:
mov cl:[si] mov ch,ds: pop si pop cx iretcapitalend,0 mov es,offset capital mov ax,4c00h int 21hcapitalassume cs,ax mov di:codecode segmentstart,0 mov es: push cx push sichange,ax
mov word ptr es:[7ch*4+2],b inc si jmp short changeok,200h mov cx
我有更好的答案
应该是 u 0:200吧
。。。好吧、、、
如果对了就采纳好不 谢谢!
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 不知道做错了什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信