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

我的博客

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

[2009-06-06 12:50] 检测点6.1

点击查看原图
1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序.
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
start:mov ax,0
mov ds,ax
mov bx,0

mov cx,8
s:mov ax,[bx]
mov cs:[bx],ax  ;<----填空
add bx,2
loop s

mov ax,4c00h
int 21h
codesg ends
end start

2)下面的程序实现依次...
阅读全文 | 评论次数(2) | 浏览次数(549) | 所属类型(汇编作业)

[2009-06-06 11:33] 第六章 包含多个段的程序 (6.1~6.2)

程序取得所需空间的方法有两种:1在加载程序的时候为程序分配.2程序在执行的过程中想系统申请.

6.1
    "DB"的含义是定义 字节型 数据.DB 即Define byte
    "DW"的含义是定义 字型   数据.DW 即Define word 
    "DD"的含义是定义 双字型 数据.DD 即Define dword(double wotd)

6.2
    定义方法:
    如: DB 0,0,0,0  ;定义后的长度占4个字节.
        DW 0,0,0,0  ;定义后的长度占8个字节.
        DD 0,0,0,0, ;定义后的...
阅读全文 | 评论次数(1) | 浏览次数(489) | 所属类型(汇编语言(王爽)笔注)

[2009-06-02 22:42] 实验4

点击查看原图
1)编程,向内存0:200~0:23f依次传送0~63(3fh).
    分析:
        向内存0:200~0:23f依次传送0~63(3fh).
        可以知道写入方向为0:200~0:23f内存区域
         所以可以设定段地址为0,可以用DS来存放,偏移地址范围200h~23fh
         23fh-200h正好是64个内存字节单元,要送入的数据是0~63(3fh). 所以是把0~63个数字送入64个内存字节单元
         多次传送可以用LOOP来循环.

下面是代码:
assume cs:code
code segment...
阅读全文 | 评论次数(1) | 浏览次数(506) | 所属类型(汇编作业)

[2009-06-02 18:55] 第五章 [BX]和LOOP指令(5.1~5.8)

要完整的描述一个内存单元,需要两种信息:
      1)内存单元地址;
      2)内存单元长度;
    如:mov ax,[0]
       分析:  
       0表示内存单元偏移地址,段地址默认在DS(段寄存器)中. 
       ax位16位寄存器可存放2个字节,ax给出了内存单元长度2字节.
       当mov执行后把偏移地址为0和偏移地址为1的内存单元的内容送入AX.

       AH存放偏移地址为1的内存单元的内容,
       AL存放偏移地址为0的内存单元的内容.
      
       mov al,[0]
     ...
阅读全文 | 评论次数(0) | 浏览次数(843) | 所属类型(汇编语言(王爽)笔注)

[2009-06-02 18:02] 第四章 第一个程序(4.1~4.9)

4.1
   学习汇编常用工具
   MASM for DOS 内带DOS镜象
   http://www.sharej.com/topic/15379/
   Microsoft Virtual PC
   http://www.sharej.com/topic/14151/
   WINIMAGE 8.10.8100
   http://www.sharej.com/topic/14150/
   FloppyWriter
   http://www.sharej.com/topic/14147/
   Floppy Image 2.4.0
   http://www...
阅读全文 | 评论次数(1) | 浏览次数(619) | 所属类型(汇编语言(王爽)笔注)

[2009-06-02 17:40] 实验3

点击查看原图
;t1.asm
;#Mode=DOS
;MASMPlus 单文件代码模板 - 纯 DOS 程序
;--------------------------------------------------------------------
;单个文件需要指定编译模式,否则默认是EXE方式,在系统设置中可以设置默认是DOS还是Windows.
;编译模式自带了DOS/COM/CON/EXE/DLL/LIB这几种,如果有必要,可以更改ide.ini添加新的编译模式
;当然,更好的是创建为一个工程.更方便及易于管理,使用方法:按Ctrl多选->创建工程.必须有多个文件

assume c...
阅读全文 | 评论次数(2) | 浏览次数(520) | 所属类型(汇编作业)

[2009-06-02 14:56] 检测点3.2

1)补全程序使其可以将10000H~1000FH中的8个字,逆向复制到20000H~2000FH中.逆向复制的含义如图3.17 (Page70)
 分析:
     空栈SS:SP指向 栈底部字单元地址+2 的内存单元,
     栈最后一个字节单元地址为000FH,那栈最后一个字单元地址为EH.
     所以空栈的(SP)=00EH+2 ,(SP)=0010H
mov ax,1000h     
mov ds,ax         
MOV AX,2000H      
MOV SS,AX        
MOV SP,0010H        
push [0]
p...
阅读全文 | 评论次数(1) | 浏览次数(582) | 所属类型(汇编作业)

[2009-06-02 14:31] 第三章 寄存器-内存访问(3.6~3.10)

3.6
   栈是一种具有特殊访问方式的存储空间。
   特殊点在于 进空间的数据 后进先出。
   栈的两个基本操作:入栈和出栈。
   入栈 是将一个新的元素放到栈顶。
   出栈 是从栈顶取出一个元素。
   栈的这种操作规则被称为:LIFO(Last In First Out,后进先出)
  
3.7
   入栈和出栈的两个基本指令是PUSH(入栈)和POP(出栈)
   入栈和出栈操作都是以字为单位进行的。
   8086CPU中的段寄存器SS和寄存器SP ,栈顶的段地址存放在SS中,偏移地址存放在SP中。
   任意时刻 SS:SP指向栈顶元素。
   P...
阅读全文 | 评论次数(1) | 浏览次数(531) | 所属类型(汇编语言(王爽)笔注)

[2009-06-01 16:14] 检测点3.1

1)在DEBUG中,用“d 0:0 1f”查看内存内容,结果如下。
0000:0000 70 80 f0 30 ef 60 30 e2-00 80 80 12 66 20 22 60 
0000:0010 62 26 e6 d6 cc 2e 3c 3b-ab ba 00 00 26 06 66 88 
  下面程序执行前,AX=0,BX=0 ,写出每条汇编指令执行完后相关寄存器中的值。
mov ax,1
mov ds,ax
mov ax,[0000]   AX=2662h   ;ds=0001h
mov bx,[0001]   BX=e626h   ;ds=0001h
mov ...
阅读全文 | 评论次数(1) | 浏览次数(402) | 所属类型(汇编作业)

[2009-06-01 15:01] 第三章 寄存器-内存访问(3.1~3.5)

3.1
   一个字节由二个字节组成,一个字节由8bit(二进制)组成,一个地址单元可存放一个字节,即8bit.
   CPU中用16位寄存器来存储1个字,高8位存放高位字节,低8位存放低位字节。
    字单元,即存放一个字型数据(16位)的内存单元,由两个连续的内存单元组成。高地址内存单元存放字型数据的高位字,低地址内存单元存放字型数据的低位字。
   将起始地址为N的字单元简称为N地址字单元。
   
3.2
   mov可完成两种传送:1,将数据直接送入寄存器。2,将一个寄存器中的内容送入另一个寄存器。

3.3
   8686CPU 是16位结构,有16跟数据线,...
阅读全文 | 评论次数(1) | 浏览次数(418) | 所属类型(汇编语言(王爽)笔注)
『 查看更多文章 』