- [chinatree] 有些事,努力去做了不一定能成功,但是不去做是绝对不会成功的。 11/09 01:14
- [fpamc] 哇咔咔!不错不错。。 07/09 01:09
- [fpamc] 对的。 07/05 07:22
- [ltp1234] 哦。。。我也是发现,好像只能重启虚拟机 06/28 07:05
- [fpamc] 说实话,还可以简化。 如果学了外中断,就可以实现按键退出。 你的程序现在是死循环。 06/27 07:24
- [ltp1234] 恩,明白,看别人说可以动态,我一想也是,最后加上jmp语句应该就可以了。 05/16 22:36
- [tomato] 可以来个循环执行。 05/16 22:02
- [ltp1234] 动画怎么制作成效果图?不懂? 05/15 07:01
- [tomato] 能看到效果图就好了...... 05/15 00:07
- [ltp1234] 恩,谢谢fpamc,忘了加h,验证没有问题 05/14 23:53
- [jeremy] 可以加你好友吗?我的469614823 08/07 14:38
[2012-11-09 00:07] 好长时间没来网站了,好怀念
由于工作的原因,压力有点大,最近想重新捡起来,哎,发现好多代码写不出来了,我去,不要这样对我啊,代码真是丢不得啊,我还想学玩win32编程,能够成为一个编码人员是我的梦想,毕业四年,一直没有本事转过来,又不想培训,只能默默的学习,确实需要很大的压力,希望我能和汇编网一起成长。坚持,再坚持,希望能看见自己想要的。。...
阅读全文 |
评论次数(1) |
浏览次数(585) |
所属类型(默认类型)
[2012-07-08 23:41] 实验16,勉强完成,悲催
首先感谢fpamc,这个题目我卡那个标号地址那里断断续续几天,真是有点烦了,最后看了下fpamc的文章'实验16「扩展」'的实验心得,我也没有理解,直到我再看debug的内容的时候,才发现fpamc说的有道理,debug下面的标号a地址为安装程序开始的cs和偏移地址(之前一直想a的地址怎么不对呢,就是转不过弯来,那个地址怎么出来的,看不明白,天赋也就这样了),于是我把中断例程改在放前面了,再debug发现还是不对,偏移地址对了,段地址不对了,变成0了,要获得正确的202h地址,还得改中断向量表(不得不感叹编译器真是个神奇的东西)。获取知识容易,想改变自己错误的认知还是有点难的,得冷静,从“错误...
阅读全文 |
评论次数(1) |
浏览次数(623) |
所属类型(汇编作业)
[2012-07-05 07:18] 实验15
书看了几遍,书中的代码才看明白,晕倒。。。中断真有点不好理解。看懂了很有意思。。
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,204h
mov si,offset int9
mov cx,offset int9end-offset int9
cld
rep movsb ;安装中断程序
push es:[9*4+0]
pop es:[200h]
push es:[9*4+2]
pop es:[202h] ;保存旧的中断例...
assume cs:code
code segment
start: mov ax,0
mov es,ax
mov ax,cs
mov ds,ax
mov di,204h
mov si,offset int9
mov cx,offset int9end-offset int9
cld
rep movsb ;安装中断程序
push es:[9*4+0]
pop es:[200h]
push es:[9*4+2]
pop es:[202h] ;保存旧的中断例...
阅读全文 |
评论次数(1) |
浏览次数(608) |
所属类型(汇编作业)
[2012-06-27 00:04] 实验14的改进
还是有个小问题,就是在windows模拟控制台上可以正常显示,在ms-dos6.22下面(虚拟机环境)会多出一个字符,已经实现了动态显示。先贴出来,或许哪天就想清楚了。代码如下:
assume cs:code
data segment
db 32 dup(0)
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
;==读...
assume cs:code
data segment
db 32 dup(0)
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
;==读...
阅读全文 |
评论次数(2) |
浏览次数(586) |
所属类型(汇编作业)
[2012-05-16 19:24] 实验14,
将之前做的显示字符串拿来直接用了,发现确实后面的内容得靠前面掌握才能进行饿。代码如下:
assume cs:code
data segment
db 32 dup(0)
data ends
stack segment
db 16 dup(0)
stack ends
code segment
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
;==读取年份==
mov cx,4
mov al,9
out 70h,al
in al,7...
assume cs:code
data segment
db 32 dup(0)
data ends
stack segment
db 16 dup(0)
stack ends
code segment
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,16
;==读取年份==
mov cx,4
mov al,9
out 70h,al
in al,7...
阅读全文 |
评论次数(2) |
浏览次数(626) |
所属类型(汇编作业)
[2012-05-14 20:51] 针对实验13-1所做的一个简单动画
这个题目我把书上的应用程序改了,中断程序没有改过,其实我想把动画过程代码写到中断程序里面的,还是算了,感觉好像不太好。我发现自己一个问题,我写代码好慢,尤其是一个寄存器被当做几个用途的时候,容易转晕;还有应用程序进入到中断程序和子程序的时候总怕寄存器的值被他们改变了。要改了,估计几个小时得去调bug了。不多说了,效果图不上了,直接上代码。
应用程序代码如下:
assume cs:code
data segment
a db"welcome to masm!",0
b db" ",0
data ends
code segment
start: ...
应用程序代码如下:
assume cs:code
data segment
a db"welcome to masm!",0
b db" ",0
data ends
code segment
start: ...
阅读全文 |
评论次数(2) |
浏览次数(619) |
所属类型(汇编作业)
[2012-05-13 23:36] 实验13.2,没有验证,应该没有问题(书上都有代码),有时间验证
assume cs:codesg
codesg segment
;==安装中断程序==
mov ax,cs
mov ds,ax
mov si,offset do
mov ax,0
mov es,ax
mov di,200h
mov cx,offset doend-offset do
cld
rep movsb
;==设置中断向量==
mov ax,0
mov ds,ax
mov word ptr ds:[7ch*4+0],200
mov word ptr ds:[7ch*4+2],0
mov ...
codesg segment
;==安装中断程序==
mov ax,cs
mov ds,ax
mov si,offset do
mov ax,0
mov es,ax
mov di,200h
mov cx,offset doend-offset do
cld
rep movsb
;==设置中断向量==
mov ax,0
mov ds,ax
mov word ptr ds:[7ch*4+0],200
mov word ptr ds:[7ch*4+2],0
mov ...
阅读全文 |
评论次数(3) |
浏览次数(564) |
所属类型(汇编作业)
[2012-05-13 07:50] 实验13-1,终于调试出来了
昨天这题调试到下半夜1:30,发现debug t状态下每个字符都可以显示,就是直接g显示一个!,想了半天也没发现是什么问题,纠结,没办法,只好睡觉(第二天要上班,希望第二天有收获),今天早上起来,不到半个小时,问题果然一下子出来了,原来是DH,DL没有改变,小问题都没看出来,精神好就是好,呵呵;这题给我的启示是还是各个中断程序以及子程序之间的参数影响,不确定正确的,debug t下面应该可以看明白错在哪里。代码如下:
assume cs:codesg
codesg segment
;==安装中断处理程序==
start: mov ax,cs
mov ds,ax
mov ...
assume cs:codesg
codesg segment
;==安装中断处理程序==
start: mov ax,cs
mov ds,ax
mov ...
阅读全文 |
评论次数(5) |
浏览次数(399) |
所属类型(汇编作业)
[2012-05-10 22:50] 第12章实验,书上有代码,重在自己理解加实践检验。
assume cs:codesg
codesg segment
start:
;==do0安装程序==
mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset do0end-offset do0
cld
rep movsb
;==设置中断向量表==
mov ax,0
mov es,ax
mov word ptr es:[0],0200h
mov word ptr es:[0+2],0
mov ax,4c00...
codesg segment
start:
;==do0安装程序==
mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,0200h
mov cx,offset do0end-offset do0
cld
rep movsb
;==设置中断向量表==
mov ax,0
mov es,ax
mov word ptr es:[0],0200h
mov word ptr es:[0+2],0
mov ax,4c00...
阅读全文 |
评论次数(1) |
浏览次数(389) |
所属类型(汇编作业)
[2012-05-10 20:08] 这段时间把后面的书基本上看完,回头做题目,代码如下:
assume cs:codesg
datasg segment
db "Beginner 's all-purpose symbolic instruction code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
push ax
push si
push bx
sub ax,ax
p:
mov cl,byte ptr ds:[si]
mov...
datasg segment
db "Beginner 's all-purpose symbolic instruction code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
letterc:
push ax
push si
push bx
sub ax,ax
p:
mov cl,byte ptr ds:[si]
mov...
阅读全文 |
评论次数(1) |
浏览次数(390) |
所属类型(汇编作业)
『 查看更多文章 』