0$房天下问答|怎么用汇编语言将数字组成的字符串转换成数值$https://m.fang.com/ask/ask_1009649.html$https://static.soufunimg.com/common_m/m_public/201511/images/asksharedefault.png
packc/pages/ask/detail/detail?askid=1009649
共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
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关注成功