最近登录的好友
查看全部

共 7 个好友

迷你博客

共0篇迷你博客

最新帖子

共26 条帖子

徐光远(xgywd)在线状态 1月前

社区头衔:
专家排行榜
社区生日:
2008-05-10 |生日:2008-05-11
所在城市:
中国 辽宁 沈阳
技术专长:
音乐,计算机,证券
开发工具:
兴趣爱好:
个人简介:
本人杂学不精,爱好广泛,小气吝啬。最近而立之年,从而定下心来,苦学编程,也算是浪子回头。回首往事,虽莽撞懵懂,无一事后悔,就算浪费了10几年青春年少,也是认为这是成长所必须。
所在行业:
所在公司:
 
(仅好友可见)
联系方式:
(仅好友可见)
 
编辑我的资料
人气:
[人气排行榜] 共 768 人访问 / 查看详细
专家分:
[专家分排行榜] 共 359 分 / 查看详细
可用分:
[可用分排行榜] 共 1080 分
所获勋章:
个人动态
徐光远 现在没有任何动态。
博客
查看全部

共12 篇文章

留言
查看全部

共 3 条留言

leechrockgames 2008-10-02

你近来..去哪里了..联系我呀..QQ:359397187

姜咏江 2008-09-25

格式太糟糕了!

姜咏江 2008-09-25

     我是姜咏江。初次浏览你的blog,很欣赏你的气魄。现在计算机设计已经进入了软硬件一体化的时代,个人在家里就可以设计制作计算机了。中国人要改变在世界上落后的状态,将本来应属于我们的计算机财富掌握在自己手中,要在硬件上多下功夫。能用C++进行程序设计,就有能力进行计算机的CPU,乃至整机的设计。本想看你N!的文章,不知哪里去了。给你一个用我自己设计的计算机来求255以内阶乘的汇编程序,255的阶乘结果长度要有210个字节!下面是这个程序,其中标号、代码、代号是程序,后两列是我设计的指令集,不是解释。 我在j-pmc.blog.sohu.com有设计文章,有兴趣一块讨论。 序号 标号 代码 代号 功能设想                                           助记符 1 start stpk 把R数据存储单元内容送到累加器da LDA  R 2 in n 数据存储单元R的内容与累加器da的内容相加结果送da ADD  R 3 sda 1 用累加器da的内容减去数据存储单元R的内容结果送da SUB  R 4 str i 将R存储单元内容输出                                 OUT  R 5 str k 跳到程序存储器的R单元取指令执行                      JMP  R 6 str p 如果累加器da的值是0则跳到程序存储器的R单元取指令 JZ   R 7 str one 如果累加器da的值为负则跳到程序存储器的R单元取指令 JN   R 8 str ii 调子程序                                            CALL R 9 sda 2 输入数据到数据存储器的R存储单元                       IN   R 10 str two 将累加器da的内容送到数据存储器存储单元R            STR  R 11 zero 将数N送到累加器da                             SDA  N 12 datx 将累加器da的内容入栈                                  PUSH 13 dahp 将堆栈的内容送到累加器da                    POP 14 sda p 从子程序返回指令                             RET 15 dalp 将PTR的内容加1                            INC 16 ncry 将PTR的内容减1                            DEC 17 mult dpda 将累加器da的内容送x寄存器                      DATX 18 str pw0 将累加器da的内容送y寄存器                         DATY 19 lda k 将寄存器x、y的内容互换                      XCHY 20 madd pw0 x的内容送da                            XTDA 21 dapd y的内容送da                            YTDA 22 xtda 将累加器da的内容送到ptr低8位                      DALP 23 str m 将ptr的低8位内容送到累加器da                     PLDA 24 lda i 将da复位为0                            ZERO 25 sub ii 将数据输入到ptr指示的rom/ram存储单元             INP 26 jz next 如果除数为0则跳转到rom/ram的R单元指令执行  JERR R 27 lda i 如果输入的数据是h80则跳转到rom/ram的R单元指令执行 JEND R 28 add one 左移一位是1跳转到R单元指令执行                      JL   R 29 str i 右移一位是1跳转到R单元指令执行                   JR   R 30 inc 输入缓冲区空暂停                                  STPK 31 jmp mult 求da值的按位逻辑非,结果在da                 LNOT 32 next zero Da与R存储单元的逻辑与放入da                   LAND R 33 addc m Da与R存储单元的逻辑或放入da                     LOR  R 34 jcry mx2 Da与存储单元R的逻辑异或放入da                   LXOR R 35 jz goon 将da左移一位送x,da不变                      SHL 36 inc 将da右移一位送x,da不变                      SHR 37 dapd 执行下一条指令 NOP 38 lda ii 将累加器da的内容送到指针ptr高8位           DAHP 39 add one 将指针ptr的高8位内容送到累加器da                  PHDA 40 str ii 输入数据送到ptr指示的数据存储单元                 INPD 41 jmp goon 将da的值送到ptr指示单元                       DAPD 42 mx2 inc 将ptr指示单元内容送da                    DPDA 43 dapd 有符号da与R单元相乘,结果低字节送da,高字节送x MULS R 44 inc 累加器da与R单元相除,商送da,余数送x          DIVI R 45 sda 1 累加器da与R单元带进位加,结果送da,进位保留 ADDC R 46 dapd 累加器da与R单元带进位减,结果送da,进位保留 SUBC R 47 lda ii 无符号da与R单元相乘,结果低字节送da,高字节送x MULT R 48 add two 无符号da×R+x,本位结果送da,进位字节送x   MADD R 49 str ii 进位为1跳转                                 JCRY R 50 goon lda k 清除进位                                            NCTY 51 sub n 停止程序执行                                       STP 52 jz disp 程序输入结束                                       END 53 zero 54 dahp 55 sda p 56 dalp 57 lda k 58 add one 59 str k 60 sda 1 61 str i 62 ncry 63 zero 64 datx 65 jmp mult 66 disp zero 67 datx 68 disply dpda 69 str pw0 70 out pw0 71 call 3872 72 lda ii 73 sub one 74 jz exit 75 str ii 76 dpda 77 datx 78 dec 79 jmp disply 80 exit ret