当前位置: 网学 > 编程文档 > 汇编语言 > 正文

用汇编编写DOS下的内存驻留程序(2):基本原理

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
在循环指令,譬如:MOVS,MOVSB,MOVSW,CMPS,CMPSB和CMPSW.如果DF为1,循环运行时就使地  址值往前增加.如果DF为0,则使地址往后减少.
   OF(Over Flag):OF为1,表示一个考虑正负号的运算超出了正确的字节的长度.

2.1.4 循环
  所有的循环指令都是以CX作为计数器.一个循环会反复地执行直到CX等于某一特定值为止.以下的程序就是利用反复地相加,完成 两个数的相乘.
    mov ax,0
    mov cx,4
   next: add ax,6
    loop next
  在上面的程序中,LOOP指令执行时会把CX减1,并且检查CX的内容;如果CX等于0,就转移到下一条指令,否则就跳到NEXT标示的地方 执行.
  也可以用下面的程序完成相同的功能:
    mov ax,0
    mov cx,4
   next:
    add ax,6
    dec cx
    cmp cx,0
    jne next

2.1.5 内存的数据结构
  8088是以字节为存取数据的基本单位.计算机的存储结构是8位的字节,但是CPU本身处理数据则是以16位为单位.在内存中,都遵 循一个原则,即:高高低低的存储方式.高字节对应高地址,低字节对应低地址.
  下面是一个简单程序,在AX中放入一个字节的内容并显示:
   cseg segment
    org 100h
    assume cs:cseg,ds:cseg
   start:
    mov bx,cs
    mov ds,bx
    mov ah,''H''
    mov al,''L''
    mov test,ax
    mov al,[si]   ;First byte of test
    call dchar
    mov al,[si+1]  ;Second byte of test
    call dchar
    ret
   ;Display the character contained in AL
   dchar  proc
    push ax
    push bx
    mov bh,1
    mov ah,0eh
    int 10h
    pop bx
    pop ax
    ret
   dchar  endp
   test dw ?
   cseg ends 
    end start

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号