我是汇编语言的新手,我可以知道如何将二进制文件转换为另一种语言的ascii,但我很难用汇编(汇编IA32,linux中的intel)。
用户必须输入一个二进制字符串和长度,如:01100001011101000110000101110001011101010110010101101110 56
并且输出必须是:ataquen
我不是要求给我完整的功能,但我想知道是否有一些装配技巧可以帮助我构建我的程序。感谢。
答案 0 :(得分:1)
假设ESI指向用户输入且ECX = 8,这将转换八个ASCII" 0" &安培; " 1"
NextCh:
lodsb
ror al, 1
rcl ah, 1
loop NextCh
因此,如果输入为01110011
,那么AH为0b1110011 = 73H = 115 =''
答案 1 :(得分:0)
每个Ascii char由一个字节(8位)组成。你的每个角色都是30h或31h(0或1)。阅读其中的8个。计算它们的数量。输出为char。