编程,统计data段中数值为8的字节的个数,用ax保存结果
我的代码
- Assembly code
assume cs:code,ds:data data segment db 8,11,8,1,8,5,63,38 data ends code segment 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
结果是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