本程序完全按照书的意思编写,我发现在在BBS上面有些人写出来的程序,已经违背了书上的题意,题意很明显,要让自己体会一下,对用户隐藏显存地址,他们只需要输入行数,列数及属性字节,就能达到他们的目的,我们要提供这样的一个接口,可是我发现有人在编写程序中用这三样作了立即数,倒,这样就不是接口那个概念了
程序思想:一,先将行数,列数转换成相应的地址!将ES指向显存起初地址,DI偏移
二,移动DS:SI指向的字符串到显存ES:DI,以0结束
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segm...


- [游客] 反对 那 jmp bx??应该占几个字节>>按你的理论应该是一个字节. 那为什么王爽书上写的是 12/19 11:19
- [lonelyboy] 楼上回答的精典. 07/11 08:55
- [leefox] 程序的起始地址包括声明在代码之前的数据在内,但不包括PSP,DS指向PSP的开始地址,所以程序的始地 06/01 01:25
- [debugkkk] 我有过博主的经历,对新知识的恐惧,我觉得克服这一点的办法是,如果怕什么的时候,就努力的让自己去多的接 05/22 20:36
- [mark0289] 第一题答案是第三个,ds默认应当是比ss,cs高出256字节,如果code段前有数据,那么cs就比s 05/20 09:53
- [mark0289] 这个第一题的本身让我很奇怪,因为我用debug调试的时候,r指令之后,ds肯定比ss高出256字节, 05/19 22:52
- [游客] 博主说的很对。 值得大家思考,一定要发挥题目的价值。 05/03 11:16
- [crazyman] 对于博主的问题,我是这样理解的。 jmp ... 指令最终生成的机器码跟跳转范围有关,这个在附注中 04/30 14:59
- [crazyman] 确实看的挺晕乎。。。 再看两边! 04/30 14:41
- [mouselove] jmp s和jmp near s是相等的,从机器码也可以看出,cpu会把他们以统一规则编码。(他们都 04/30 10:22
[2008-05-02 08:09] 10.1我也体会到了接口概念
阅读全文 |
评论次数(1) |
浏览次数(927) |
所属类型(个人心得)
[2008-04-30 10:04] 闲扯原码、反码、补码
闲扯原码、反码、补码
相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的...
相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发笑,我还是要思考。),于是得出了以下的结论。
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的...
阅读全文 |
评论次数(1) |
浏览次数(1604) |
所属类型(个人心得)
[2008-04-27 18:18] 实验七,两种方法完成
第一种方法:
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,118...
assume cs:codesg
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,118...
阅读全文 |
评论次数(2) |
浏览次数(730) |
所属类型(个人心得)
页码数(1):
1