| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1586 人关注过本帖
标题:我自己第一次编的汇编程序
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用zklhp在2012-10-1 20:58:26的发言:


这个还是用C写罢 挺复杂的 汇编写起来太麻烦了

相加相对简单些 相乘就麻烦了。
喜欢这种感觉 还只用16位汇编 哈哈。。。

梅尚程荀
马谭杨奚







                                                       
2012-10-01 21:05
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 11楼 有容就大
我上面的代码 不是计算功能

只是从键盘获取  数字字符,以 空格键 为数据输入结束的标志
也就是 1 2 3 4 空格是合法的  其他的  1 2a34,就会自动结束程序的
 
功能是将 数字字符组合 ‘1’‘2’ 转换成 十进制数 12  存放到shu的地址里

然后再将 二进制12  显示在屏幕上

完成的动作  是从键盘上获取十进制数,并打印出 十进制数

和scanf(%d)  printf(%d)  功能类似

我要成为嘿嘿的黑客,替天行道
2012-10-01 21:56
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 9楼 有容就大
有哇,你给讲讲程序要满足什么要求

对了 微机原理 里说 DOS只能管理 640KB的内存空间是什么意思啊,不是1MB吗?

我要成为嘿嘿的黑客,替天行道
2012-10-01 21:59
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
大数 16位寄存器 也就AX BX CX DX  这几个寄存器,分别可以放 4个 字的内容  也就是 最大的无符号数为 2的 16*4 次方
采用高位+高位+CF 低位+低位  +  -

BCD码 计算方式 可以借用

我要成为嘿嘿的黑客,替天行道
2012-10-01 22:06
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
长老有什么好想法

我要成为嘿嘿的黑客,替天行道
2012-10-01 22:06
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用zhu224039在2012-10-1 21:59:12的发言:

有哇,你给讲讲程序要满足什么要求

对了 微机原理 里说 DOS只能管理 640KB的内存空间是什么意思啊,不是1MB吗?

DOS只能用内存空间低端的640KB
系统硬件要用到从A0000H~FFFFFH,共384KB的地方。其中有用于显示的视频缓冲区和BIOS程序空间,例如显卡,网卡和主板BIOS。

梅尚程荀
马谭杨奚







                                                       
2012-10-01 22:15
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用zhu224039在2012-10-1 22:06:01的发言:

大数 16位寄存器 也就AX BX CX DX  这几个寄存器,分别可以放 4个 字的内容  也就是 最大的无符号数为 2的 16*4 次方
采用高位+高位+CF 低位+低位  +  -

BCD码 计算方式 可以借用

感觉关键是用BCD码 注意循环 理论上相加的两个数的长度没有限制 根据你开出的 xxx dup(?)而定。

梅尚程荀
马谭杨奚







                                                       
2012-10-01 22:18
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
书上也是这么说的 ,为什么是640KB 而其他的地方不能用呢

我要成为嘿嘿的黑客,替天行道
2012-10-01 22:19
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:5 
最近也在看汇编,不为别的,就为了看懂linux 0.11内核的boot process 的那3个文件
bootsect.s setup.s head.s
不过貌似是对时间,金钱,人品的考验

可有能助我一臂之力者

[ 本帖最后由 madfrogme 于 2012-10-1 23:22 编辑 ]

The quieter you become, the more you can hear
2012-10-01 22:21
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
回复 17楼 有容就大
乘法  怎么办呢   
除法

我要成为嘿嘿的黑客,替天行道
2012-10-01 22:25
快速回复:我自己第一次编的汇编程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017200 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved