编程,统计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