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



用户输入四位数字(假设他们输入1960)我需要将另一个数字与最后两位数字(60)进行比较,但是我卡住了。前两位可以是00-99之间的任意数,所以不能减去1900。我试过操纵二进制,但运气不好。有什么建议吗?我怎样才能从1960得到60,或者从2005得到05,等等。

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

除以100,使用余数:

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

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

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

最新更新