我想和大家分享带我走进编程的大门的三份教材:
1、重庆苦丁香软件公司制作的《C语言速成3.0》光盘教材
很早以前买的,那时候刚买电脑,没装宽带,所以喜欢到电脑城买些光盘回来。半年前总逼着自己看完了,算是摸着C语言的门了。
2、按键精灵
这个说起来有点意思,两年前喜欢玩游戏,想省事,所以学着写脚本,没想到写着写着,居然成了作者,卖脚本还赚了几千块,呵呵……再想往上发展的时候才发现其实自己懂得实在太少,正应了那句话,懂得越多的同时也发现不懂的更多。按键精灵的最重要的作用就是给了我学习编程的动力。后来我之所以能坚持看完第一个提到的C语言速成教材和另一本谭浩强写的《C程序设计》第三版(当然也是...
- [fpamc] 共勉……同达…… 06/03 20:16
- [yahwei] 我相信你会达成你梦想,坚信! 06/03 20:14
- [fpamc] 呵呵,我们这下雷阵冰雹雨了…… 我呢,也接触过按键精灵,但是呢,没有坚持下来反而被游戏拉了进去 06/03 14:43
- [yahwei] 不用ORG还是搞不定啊,zhujinwc师兄……call word ptr table[bx]应该改 05/25 13:43
- [zhujinwu] 楼主的程序中有3个地方需要修改一下: 1、在设置中断向量的时候,没有用“org 200h”的时候, 05/24 22:04
- [fpamc] 花了我12个小时…… 呵呵,谢谢支持哈!~O(∩_∩)O 05/24 13:30
- [yahwei] 你也完成第十六章了啊,效率很高哦,我蛮喜欢看你总结的笔记,呵呵。 05/24 13:16
- [fpamc] 哇咔咔~串了个门@(一-一)@ 05/24 07:43
- [dxiaolin] 顶顶更健康 05/23 21:20
- [dxiaolin] 回复不显示图片 http://www.asmedu.net/blog/user/bigimg.js 05/23 12:57
- [gnunix] 一起战斗!坚持到最后,加油! 05/12 18:24
[2012-06-03 13:36] 2012年6月3日 星期日 阴天
阅读全文 |
评论次数(3) |
浏览次数(975) |
所属类型(心情小记)
[2012-05-22 00:14] 实验题:第十六章 实验十六(有疑惑,待解决)[已解决]
2012.5.23经dxiaolin的提示,在标号int7ch之前加了一句“org 200h”。问题终于得到解决。org 200h的作用是使编译器将紧跟它之后的语句段的起始地址(偏移地址)变为200H,直到再次遇到ORG语句。
2012.5.22经测试,效果都正确,惟一不解的是有两句指令不明白。
mov word ptr es:[7ch*4],offset int7ch
mov word ptr es:[7ch*4+2],cs ;将安装地址加入中断向量表
中断安装在0:200H处,不知道为什么这两句换成下面这样就通不过?
mov word ptr es:[7ch*4],200H...
2012.5.22经测试,效果都正确,惟一不解的是有两句指令不明白。
mov word ptr es:[7ch*4],offset int7ch
mov word ptr es:[7ch*4+2],cs ;将安装地址加入中断向量表
中断安装在0:200H处,不知道为什么这两句换成下面这样就通不过?
mov word ptr es:[7ch*4],200H...
阅读全文 |
评论次数(16) |
浏览次数(1132) |
所属类型(汇编作业)
[2012-05-21 13:20] P294 16.3 关于例题二的补充
题目虽然完成,但个人并不满意,总觉得有更好的方法,这几天在看另一本关于汇编的书,总结性比较强,和王爽老师的这本教材刚好互补。
这题按题目要求加了判断角度范围的代码,如果不在给定的集合之内,则显示一行提示信息并退出程序。
关于指令table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180的补充知识:
变量定义格式:[变量名] 数据定义伪指令 表达式[,……]
首先,汇编语言中的符号常量名、变量名、段名、过程名、标号都称为标识符。标识符是由字母、数字(0-9)、特殊字符(?、.、@、_、$)组成的字符串,但该字符串不能以数字或下划线‘_’作为...
这题按题目要求加了判断角度范围的代码,如果不在给定的集合之内,则显示一行提示信息并退出程序。
关于指令table dw ag0,ag30,ag60,ag90,ag120,ag150,ag180的补充知识:
变量定义格式:[变量名] 数据定义伪指令 表达式[,……]
首先,汇编语言中的符号常量名、变量名、段名、过程名、标号都称为标识符。标识符是由字母、数字(0-9)、特殊字符(?、.、@、_、$)组成的字符串,但该字符串不能以数字或下划线‘_’作为...
阅读全文 |
评论次数(4) |
浏览次数(679) |
所属类型(笔记)
[2012-05-18 21:54] P292 16.3 直接定址表中的例题扩展
;编写子程序,以十六进制的形式在屏幕中间显示给定的字节型数据
;书上的例子是8位的,我改成了16位的,具体实现的细节也用了不同的方法
assume cs:code,ds:data
data segment
a db '0123456789ABCDEF'
data ends
code segment
start:
mov ax,data
mov ds,ax ;设置数据段
mov ax,0b800h
mov es,ax
mov di,160*12+36*2 ;设置显示区首地址
mov ax,0a8d7h ;AX中存放要显示的数据
mov s...
;书上的例子是8位的,我改成了16位的,具体实现的细节也用了不同的方法
assume cs:code,ds:data
data segment
a db '0123456789ABCDEF'
data ends
code segment
start:
mov ax,data
mov ds,ax ;设置数据段
mov ax,0b800h
mov es,ax
mov di,160*12+36*2 ;设置显示区首地址
mov ax,0a8d7h ;AX中存放要显示的数据
mov s...
阅读全文 |
评论次数(4) |
浏览次数(665) |
所属类型(笔记)
[2012-05-14 22:06] 交作业:P291 检测点16.2
下面的程序将DATA段中A处的8个数据累加,结果存储到B处的字中,补全程序。
assume cs:code,es:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
________mov ax,data
________mov es,ax
mov si,0
mov cx,8
s:
mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h ...
assume cs:code,es:data
data segment
a db 1,2,3,4,5,6,7,8
b dw 0
data ends
code segment
start:
________mov ax,data
________mov es,ax
mov si,0
mov cx,8
s:
mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h ...
阅读全文 |
评论次数(3) |
浏览次数(662) |
所属类型(汇编作业)
[2012-05-14 21:53] 交作业:P289 检测点16.1
下面的程序将CODE段中A处的8个数据累加,结果存储到B处的双字中,补全程序。
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s:mov ax,___a[si]
add ____word ptr b[0],ax
adc ____word ptr b[2],0
add si,__2
loop s
mov ax,4c00h
int 21h
code ends
end start...
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:mov si,0
mov cx,8
s:mov ax,___a[si]
add ____word ptr b[0],ax
adc ____word ptr b[2],0
add si,__2
loop s
mov ax,4c00h
int 21h
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(611) |
所属类型(汇编作业)
[2012-05-14 21:21] 实验题:第十五章 实验十五
;安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏幕的“A”;其他键照常处理。
;提示,按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80H
assume cs:code,ss:stack
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128 ;设置堆栈段
mov ax,cs
mov ds,ax
mov si,offset ...
;提示,按下一个键时产生的扫描码称为通码,松开一个键产生的扫描码称为断码。断码=通码+80H
assume cs:code,ss:stack
stack segment
db 128 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128 ;设置堆栈段
mov ax,cs
mov ds,ax
mov si,offset ...
阅读全文 |
评论次数(9) |
浏览次数(662) |
所属类型(汇编作业)
[2012-05-12 17:38] 交作业:P282 检测点15.1
;根据(1)和(2)小题的要求修改后的程序如下:
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
push es:[9*4]
pop ds:[0]
push es:[9*4+2]
pop ds:[2...
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
push es:[9*4]
pop ds:[0]
push es:[9*4+2]
pop ds:[2...
阅读全文 |
评论次数(6) |
浏览次数(676) |
所属类型(汇编作业)
[2012-05-12 15:57] 小记一则
第十五章还没看完,试着做了下检测题,一次通过。发现现在的题目已经不能完全达到检测的目的了啊,主要是题目太少了。还得靠自己找题目来做啊……...
阅读全文 |
评论次数(6) |
浏览次数(681) |
所属类型(汇编作业)
[2012-05-11 21:25] 实验十四,关于显示完整日期……
通过改变系统时间,多查看几次就可以发现年份信息的头两位在50单元和114单元中保存(可以看到0单元和60单元均保存有秒的信息,后接分时日月年)。找到年份单元的高两位,把它显示出来就简单得多了。
有个小插曲,我为了找到年份信息的高两位,把系统日期改成了1985年,完成后忘记改回来了,结果害得我好多软件出错,差点要重装系统了,呵呵。
;显示CMOS前128个单元的内容
assume cs:code
code segment
mov ax,0b800h
mov es,ax
mov di,160*3 ;从第三行第0列开始显示
mov cx,128
mov si,...
有个小插曲,我为了找到年份信息的高两位,把系统日期改成了1985年,完成后忘记改回来了,结果害得我好多软件出错,差点要重装系统了,呵呵。
;显示CMOS前128个单元的内容
assume cs:code
code segment
mov ax,0b800h
mov es,ax
mov di,160*3 ;从第三行第0列开始显示
mov cx,128
mov si,...
阅读全文 |
评论次数(4) |
浏览次数(639) |
所属类型(汇编作业)
『 查看更多文章 』