当前位置: 代码迷 >> 汇编语言 >> 初学者有关问题,高人来帮忙
  详细解决方案

初学者有关问题,高人来帮忙

热度:2078   发布时间:2013-02-26 00:00:00.0
菜鸟问题,高人来帮忙
编程,统计data段中数值为8的字节的个数,用ax保存结果
我的代码
Assembly code
assume cs:code,ds:datadata segmentdb 8,11,8,1,8,5,63,38data endscode segmentmov ax,datamov ds,axmov ax,0mov bx,0mov cx,8s:cmp byte ptr [bx],8jne badd ax,1b:add bx,1loop sint 21hcode endsend 

结果是ax的值为2,与预测值3不符。
我单步运行了一下,发现了错误所在

ds:[0]本该是8,debug的显示却是2DH。请高人指点这是怎么回事

------解决方案--------------------------------------------------------
为程序指定入口,就是红字。你再试一试
assume cs:code,ds:data
data segment
db 8,11,8,1,8,5,63,38
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0
mov bx,0
mov cx,8
s:cmp byte ptr [bx],8
jne b
add ax,1
b:add bx,1
loop s
int 21h
code ends
end start
  相关解决方案