删除整数的前两位数 - assembly / nasm

时间:2016-11-04 14:23:44

标签: assembly x86 nasm

用户输入四位数字(假设他们输入1960)我需要将另一个数字与最后两位数字(60)进行比较,但我被卡住了。前两位数可以是00-99之间的任何数字,所以我不能减去1900.我已经尝试过操纵二进制,但没有运气。任何建议我如何从1960年或从2005年05年起获得60,等等。

3 个答案:

答案 0 :(得分:3)

数据模块100! (数据%100) 或者除以然后取余数。同样的想法。

答案 1 :(得分:2)

除以100并使用余数:

mov    dx, 0
mov    ax, 1960
mov    bx, 100
div    bx
;REMAINDER 60 IS IN DX.

答案 2 :(得分:0)

首先从字符串转换为整数时跳过前两位数字。

按位技巧无法帮助你,因为10不是2的幂,所以十进制数的高位数会影响二进制表示的低位。