主题:大伙帮忙看看我这条指令为什么会出错??
.data
NumList db 12,24,10,30,27
.code
mov al,byte ptr [esi]
mov cx,5 ;初始化循环计数器cx
@loop:
inc esi
cmp al,byte ptr [esi]
ja @Next ;大于则比较下一个
mov al,byte ptr [esi] ;小于则将大的数存入eax
@Next:
loop @loop
........
其它代码不帖上来了,编译没出错.但运行时程序出错在 cmp al,byte ptr[esi]这条指令,但我实在不清楚为什么上面用 mov al,[esi] 没错,
但第二次用到 cmp al,byte ptr[esi] 就出错了...(我是在Win32下,要用到32位地址,所以指针用esi)
NumList db 12,24,10,30,27
.code
mov al,byte ptr [esi]
mov cx,5 ;初始化循环计数器cx
@loop:
inc esi
cmp al,byte ptr [esi]
ja @Next ;大于则比较下一个
mov al,byte ptr [esi] ;小于则将大的数存入eax
@Next:
loop @loop
........
其它代码不帖上来了,编译没出错.但运行时程序出错在 cmp al,byte ptr[esi]这条指令,但我实在不清楚为什么上面用 mov al,[esi] 没错,
但第二次用到 cmp al,byte ptr[esi] 就出错了...(我是在Win32下,要用到32位地址,所以指针用esi)