我有装配任务的问题:
编写一个程序,在数据段中写入数字7-15,从偏移200h开始,然后使用循环并将它们与从内存中读取数据进行比较,DX将插入可被4整除的数字之和.
这是我的代码,它不起作用.我是汇编语言的初学者.有人可以帮帮我吗?
mov ax,data
mov ds,ax
mov cl,07d
mov ch,015d
mov [bx],200h
c:
mov [bx] ,cl
inc cl
inc bx
cmp cl,ch
jne c
c1:
mov cl,[bx]
if
AND ax, 3h
add dx, ax
inc cl
inc bx
else
jmp c1
end if
Run Code Online (Sandbox Code Playgroud)
没有IF
或ELSE
说明......嗯...... 任何汇编语言.如果要在程序集中使用等效的if/else块,则需要编写正确的指令序列.
例如,考虑这个C代码:
if (a == 0)
{
b = 1;
}
else
{
b = 2;
}
Run Code Online (Sandbox Code Playgroud)
适当的汇编代码看起来像这样:
cmp eax, 0
jne anotzero
aiszero:
mov ebx, 1
jmp endifblock
anotzero:
mov ebx, 2
jmp endifblock
endifblock:
nop
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7250 次 |
最近记录: |