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

我的博客

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

[2007-11-25 18:20] 推荐博文 绝处逢生---课程设计二之2功能实现

按照课本的提示,课程设计二的基本原理是:
1.写一段安装程序,在dos下执行,它负责把我们自己的启动程序机器码写入到软盘的0道0面1扇区上。
2.插入软盘,重启电脑(我用的是vmare虚拟机,dos系统),我们的启动程序就开始运行了,它的作用是:把4行文字打印到屏幕上,然后接受键盘输入。按1,2,3,4则分别执行4个功能,其他键呢就回到键盘输入等待。
好,以上比较容易实现,当电脑启动,显示出自己的字符串时,确实让人小小激动一下,就像《自己动手写操作系统》这本书里面写的那样,我们终于写了一个不依赖任何操作系统来执行的程序了,好神奇!
(几个月前,我看《自己动手写操作系统》开篇的时候,还对...
阅读全文 | 评论次数(2) | 浏览次数(1255) | 所属类型(汇编作业)

[2007-11-23 20:09] 推荐博文 方便代码重定位的数据定位方式

在《汇编语言》的P237页,书中提供了一种子程序保存数据的方式:
  do0: jmp short do0start
       db "over flow!"
do0start: mov ax,cs
          mov ds,ax
          mov si,202h
        ............
        ............
其中si是指向字符串起始地址的,它的值是这样确定的:
do0这段代码将被拷贝到0:200处,而jmp这一条指令占2个byte,所以字符串的起始地址为200h+2=202h。
这种方式存在一个问题:
如果我事...
阅读全文 | 评论次数(1) | 浏览次数(1117) | 所属类型(默认类型)

[2007-11-21 16:34] 学汇编

转载
为什么要学习汇编呢?现在不是大多数用C编写的了吗?是的,目前嵌入式软件大多数都是用C开发的。其实学习汇编,是为了更好了解CPU的处理,这个只是为了了解,为了更深入的了解,而不是用它来开发大部份的应用。当然它也是有用的地方,比如BOOTLOADER这样的程序,没有汇编,是不可能完成的。还有那些有特殊的指令,没有汇编也是不可能写得出来的。目前,我学习汇编,就是为了写BOOTLOADER。我也没有为了全部去学习它,而去学习,而是拿BOOTLOADER的源程序出来,从上面了解汇编,看懂别人的BOOTLOADER,或者能修改它的汇编,就算学习完成,而不必要每条指令都去死记它,去了解它。只要BOO...
阅读全文 | 评论次数(0) | 浏览次数(686) | 所属类型(默认类型)

[2007-10-28 21:57] 实验15

assume cs:code
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 int9
       mov ax,0
       mov es,ax
       mov di,204h
       mov cx,offset int9end-offset int9
       ...
阅读全文 | 评论次数(1) | 浏览次数(907) | 所属类型(汇编作业)

[2007-10-27 18:07] 实验14

思路:
把各个字段取出来,转换好,按格式填写到一个临时字符串里面,最后一次性把字符串写到屏幕。
把从端口取信息并转换的过程封装成子程序getport。
assume cs:code
code segment 
   year: db "99/"
   month:db "12/"
   day:  db "31 "
  hour:  db '00:'
  minu:  db '00:'
  sec:   db '00',0
 start: mov ax,cs
        mov ds,ax 
        mov al,9    ;取得年份
        mov bx,o...
阅读全文 | 评论次数(1) | 浏览次数(644) | 所属类型(汇编作业)

[2007-10-26 22:32] 实验13.3

assume cs:code
code segment
    s1:db 'Good,better,best,','$'
    s2:db 'Never let it rest,','$'
    s3:db 'Till good is better,','$'
    s4:db 'And better,best.','$'
    s: dw offset s1,offset s2,offset s3,offset s4
   row:db 2,4,6,8
 start:mov ax,cs
       mov ds,ax
       mov bx,offset ...
阅读全文 | 评论次数(1) | 浏览次数(657) | 所属类型(汇编作业)

[2007-10-26 22:12] 实验13.2

assume cs:code
code segment
start: mov ax,cs   ;安装程序
       mov ds,ax
       mov si,offset doi
       mov ax,0
       mov es,ax
       mov di,200h
       mov cx,offset doiend-offset doi
       cld
       rep movsb
       mov word ptr es:[7ch*4],200h
       mov word ptr es:[7ch*4+2],0
  ...
阅读全文 | 评论次数(1) | 浏览次数(656) | 所属类型(汇编作业)

[2007-10-26 21:48] 实验13.1

assume cs:code
data segment
  db 'welcome to masm!',0
data ends
code segment
start: mov ax,cs  ;安装程序
       mov ds,ax
       mov si,offset doi
       mov ax,0
       mov es,ax
       mov di,200h
       mov cx,offset doiend-offset doi
       cld
       rep movsb
       mov word ptr es:[...
阅读全文 | 评论次数(1) | 浏览次数(1370) | 所属类型(汇编作业)

[2007-10-25 21:46] 实验12

assume cs:code
code segment
   start: mov ax,0
          mov es,ax
          mov di,200h
          mov ax,code
          mov ds,ax
          mov si,offset do0
          mov cx,offset do0end-offset do0
          cld
          rep movsb
          mov word ptr es:[0],200h
          mov word...
阅读全文 | 评论次数(2) | 浏览次数(981) | 所属类型(汇编作业)

[2007-10-24 22:27] 实验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 dx
    lps:  mov dl,[si] ...
阅读全文 | 评论次数(1) | 浏览次数(857) | 所属类型(汇编作业)
『 查看更多文章 』