这是一个任务,我不知道从哪里开始。将二进制/十六进制转换为八进制分割的汇编程序
分配:
一个字节可以使用三个八进制数字来表示。位7和位6决定左边的八进制数字(从不高于3);位5,4和3是中间数字;比特2,1和0是正确的数字。
例如,11010110b是11 010 110 b或326 oct。通过将2-3-3系统分别应用于高位和低位字节,可以将字的值表示为分割八进制数。
写procesure splitOctal一个字转换为stringof表示分割八进制数的值正好为7个字符;两组由空间隔开的三组。
遵循cdecl协议。该过程将有两个参数: 1)字值(作为双字的低位字传递) 2)长度为7个字节的目标字符串的地址。
修改:不要将值转换为单词压入堆栈,只能在堆栈中使用双字。所以推到一个双字转换到堆栈
我不知道从哪里开始通过移位位和旋转位做到这一点的价值。 也许给我一些材料阅读,或一点点kickstart?
你知道什么?你的教科书是否显示如何移位和旋转位,如果是这样,它说你不明白的是什么?你可以使用双字堆栈参数创建过程定义,并至少显示你知道的内容吗?另外,如果你指定了这个程序集的平台,它可能会有所帮助,因为它们通常非常不同(我已经使用过x86,x64,SPARC,PIC16F,Z80,IBM iSeries MI和其他一些平台)。 –
我相信我们正在使用8086.我知道如何移位和旋转位。我不明白如何让3位进入某个寄存器或指定的内存。 – GeekyDewd