房天下 > 房天下问答 > 业主生活 > 其他
  • 怎么用汇编语言将数字组成的字符串转换成数值

    提问者:LIUZM

    发布于2010-11-04

共1个回答
  • 阳光融露 丨Lv 4
    datacate PROC NEAR PUSH CX (CX中保存的是实际有效字符数) DEC CX LEA SI,buf+2 (将SI指向字符串的首地址) d1: INC SI LOOP d1 (利用LOOP循环将到寄存器SI指向字符串的尾部,应该是倒数第二个字符) POP CX MOV DL,30h; MOV BL,10 MOV AX,1 d2: PUSH AX (将AX压栈,保护AX中的值) SUB BYTE PTR [SI],DL (由于字符是ASCII码表示的,因此减去30H后即可转换为十六进制数) MUL BYTE PTR [SI] ADD w,AX (year是前面定义的用来保存数值的字型量。即w DW 0) POP AX (上一步将数值保存到w中,这步AX出栈,恢复AX的值) MUL BL (使AX中的值,以10为倍数增大) DEC SI (循环SI每次减一指向前一个字符) LOOP d2 RETdatacate ENDP
    +14 2010-11-05 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。