汇编网首页登录博客注册
sleepinglion的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2010-08-15 17:00] 实验16源代码

老实说,这是我在这本书中写的最烂的一个程序。原因有四:1.我不清楚怎么写子程序调用的规范代码,这里面用的是书上的代码。2.没能将data段中的显示信息写成一个子程序。3.我总感觉有些BUG,感觉对这个程序的功能很不满意。4.没能从寄存器的角度对这段代码进行分析
但我仍将它贴出来,是因为我希望日后我能回头看一看我当初的水平。当初是多么的菜。激励自己进步。
assume cs:code,ds:data

data segment
        name1 db '(1)Clean the Screan',0dh,0ah,'$'
        name2 db '(2)Set the forecolore',0...
阅读全文 | 评论次数(0) | 浏览次数(652) | 所属类型(汇编作业)

[2010-08-09 01:47] 实验14

点击查看原图
首先得感谢“莫取网名”,他的程序让我找到了动态显示时间的方法。但是,他教我的动态显示时间的方法有一个BUG,就是,当再次加载程序的时候,就不能动态显示时间了。我不知道是为什么,也许是因为我一直都是用windows xp做实验的缘故吧。
  其次,其实这题给我们的第一感觉就应该能联想到实验13.3.当然,前提是做了那一题。
好了,贴出我的代码:
assume cs:code

code segment
        s1: db '/','/',' ',':',':',' '        ;一定要在最后加一个' ',为了和s2同长度。若不加,运行后面会出现O
        s2: db 9,8,7,4,2,0
st...
阅读全文 | 评论次数(0) | 浏览次数(701) | 所属类型(汇编作业)

[2010-08-06 20:12] 实验12(加了个字符颜色属性)

点击查看原图
稍微做了点改变,使字符为红色。其中出现了两处mov ax,4c00h int 21h我觉得第一处没必要使用的。请大家批评指正。谢谢!
assume cs:code
code segment
start:
        mov ax,cs
        mov ds,ax
        mov si,offset do0
        
        mov ax,0
        mov es,ax
        mov di,200h

        mov cx,offset do0end-offset do0
        cld
        rep movsb                        ;do0安装程序

        
        mov ax,0
        mov es,ax
        mov word ptr es:...
阅读全文 | 评论次数(1) | 浏览次数(817) | 所属类型(汇编作业)

[2010-08-06 03:43] 实验11源代码

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 cx
        push si ...
阅读全文 | 评论次数(0) | 浏览次数(697) | 所属类型(汇编作业)

[2010-08-05 06:29] 实验10(3.数值显示)

点击查看原图
assume cs:code
data segment
 db 10 dup(0)
data ends

code segment
start:
        mov ax,12666
        mov bx,data
        mov ds,bx
        mov si,0
        call dtoc

        mov dh,8
        mov dl,3
        mov cl,2
        call show_str

        mov ax,4c00h
        int 21h
dtoc:
push dx
push cx
push ax
push si
push di
s1:
        mov dx,0
        mov cx,10...
阅读全文 | 评论次数(0) | 浏览次数(637) | 所属类型(汇编作业)

[2010-07-30 20:55] 实验10(1.显示字符串)(望高手指点,帮忙优化)

点击查看原图
我对这个程序代码很不满意,感觉写得很乱。但目前没有时间进一步优化,希望高手能够指点一下。谢谢!
注:
1.mov es:[bx+si+1],ax中,必须要加1,因为显存中“偶字符,奇颜色”。否则会出现“乱码”
2.我不喜欢里面规定的(cl)=颜色,因为在用loop循环的时候非常麻烦,还得将cl再赋给dl,多走了一步。倒不如直接赋给其它寄存器,如di等。
assume cs:code
data segment
        db 'Welcome to masm!',0
data ends

code segment
start:
        mov dh,8
        mov dl,3
        mov ...
阅读全文 | 评论次数(2) | 浏览次数(878) | 所属类型(汇编作业)

[2010-07-30 02:29] 监测点10.5(1)程序分析

初始化时:
|__00___|00  SS
|__00___|01
|__00___|02
|__00___|03
|__00___|04
|__00___|05
|__00___|06
|__00___|07
|__00___|08
|__00___|09
|__00___|0A
|__00___|0B
|__00___|0C
|__00___|0D
|__00___|0E
|__00___|0F
|_______|<-sp

执行mov ds,ax后:
|__00___|00 SS,DS
|__00___|01
|__00___|02
|__0...
阅读全文 | 评论次数(0) | 浏览次数(301) | 所属类型(汇编作业)

[2010-07-29 22:43] 实验8最新源代码(这次通用性要好很多了)

点击查看原图
思路:用es指向显示字符串的地址,但由于要分3行显示,故需改变3次es的地址,可以通过栈来实现。第一次赋给es0b86eh,以后每次增0ah(自己算,不解释了)通过mov es dx来实现,改变es地址时,add dx 0ah。(表达能力太差了,你们自己看吧。有些东西是很难表达出来的,请谅解,等我有空再加注释吧。)这次我算真正的理解了一句话:一定要对栈小心操作。因为调试这个程序导致了我计算机两次蓝屏,悲剧!
assume cs:code,ds:data,ss:stack

data segment
        db 'Welcome to masm!'
        db 02h,24h,71h
dat...
阅读全文 | 评论次数(0) | 浏览次数(306) | 所属类型(汇编作业)

[2010-07-27 13:46] 实验8源代码

点击查看原图
虽然做出来了,可总是感觉很奇怪。这一章不是关于跳转指令吗,为什么我没用到跳转指令呢?
assume cs:code,ds:data
data segment
        dw 0b86eh,0b878h,0b882h   ;经计算得出的显示地址
        db 57h,01h,65h,01h,6ch,01h,63h,01h,6fh,01h,6dh,01h,65h,01h,20h,00h,74h,01h,6fh,01h
        db 20h,00h,6dh,01h,4fh,01h,73h,01h,6dh,01h,21h,01h

        db 57h,24h,65h,24h,6ch,24h,63h...
阅读全文 | 评论次数(2) | 浏览次数(579) | 所属类型(汇编作业)

[2010-07-26 21:53] 实验7源代码

assume cs:code
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,1183000,1843000...
阅读全文 | 评论次数(0) | 浏览次数(324) | 所属类型(汇编作业)
页码数(2):  1  2