当前位置: 代码迷 >> 汇编语言 >> 有点小异常
  详细解决方案

有点小异常

热度:6001   发布时间:2013-02-26 00:00:00.0
有点小错误
Assembly code
data segment inputnum db 252 inputlen db ? inputstr  db 252 dup(?) showwarn db 'please input s string(less than 252)$' spcount dw ?data endscode segment assume ds:data,cs:codestart: mov ax,data      ;数据段装入 mov ds,ax ;显示提示字符串 lea dx,showwarn mov ah,09h int 21h ;用户输入字符串 lea dx,inputnum mov ah,0ah int 21h ;初始化各值 mov bx,0 sub ch,ch mov cl,inputlen ;记录实际字符数 add dx,2             ;使得dx指向首个字符 mov si,0             ;作为下标使用again: ;mov ax,20h           ;空格,用于判断 cmp inputstr[si],20h  ;比较字符串中该字符是否为空格 jz turn_handle       ;如果为空格则转向处理 cmp inputstr[si],'$' ;判断是否结束 jz exit              ;结束处理 inc si               ;否则自加,判断下一个字符 jmp again            ;下一次循环turn_handle:  inc bx  dec cl  mov di,1  add di,sirol_again:  mov ax,inputstr[di] //....................  mov inputstr[di-1],ax //...................  inc di  cmp inputstr[di],'$'  jz again  jmp rol_againexit:  lea dx,inputstr  mov ah,09h  int 21h  mov ah,4ch  int 21hcode ends  end start

大家看下两出省略号的地方,那里提示有错,这个我觉得应该没问题啊,大家帮忙找找

------解决方案--------------------------------------------------------
用AL
------解决方案--------------------------------------------------------
mov ax,inputstr[di]
mov inputstr[di-1],ax
改为:
mov ax,word ptr [inputstr+di]
mov word ptr [inputstr+di-1],ax

  相关解决方案