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

我的博客

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

[2009-05-14 13:27] sp和bp之间的区别

sp和bp之间是由区别的,以下是转手的资料:
指针寄存器包括堆栈寄存器SP(stack pointer)和基数指针寄存器BP(base pointer),变值寄存器包括源变址寄存器SI(source index)和目的变值寄存器DI(destination index)。这4个寄存器都是16位寄存器,这些寄存器在运算过程中也可以用来存放操作数(只能以字为单位),但经常的用途是在段内寻址时提供偏移地址,SP,BP一般与段寄存器SS  
联用,以确定堆栈寄存器中某一单元的地址,SP用以指示栈顶的偏移地址,而BP可作为堆栈区中的一个基地址,用以确定在堆栈中的操作数地址。SI,DI一般与段寄存器 ...
阅读全文 | 评论次数(1) | 浏览次数(559) | 所属类型(汇编作业)

[2009-05-14 12:57] 第10章 实验10 3数值显示

点击查看原图
经过一番奋斗,终于把第三个子程序写出来了,可以继续做我的课程设计1了,甚是兴奋矣。、
数值显示这道题目出得真是妙,答案很快做出来了,不过一开始显示的是逆置的字符串。那么要考虑的问题就是怎么使得所有的数值显示正常,根据课本给出的转换字符的算法,则在将字符存入data段的时候是需要将字符逆置写入,这个细节方面的东西方法很多,不过感觉自己写的方法还不错,欢迎各位批评!
下面是我的源程序:
assume cs:code
data segment
     db 10 dup(0)
data ends

stack segment
     db 16 dup(0) ;自定义栈段
s...
阅读全文 | 评论次数(1) | 浏览次数(522) | 所属类型(汇编作业)

[2009-05-13 21:55] 实验10 编写子程序2 解决除法溢出的问题

2.解决除法溢出的问题 
名称:divdw 
功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为 

dword型。 
参数:(ax)=dword型数据的低16位 
      (dx)=dword型数据的高16位 
      (cx)=除数 
返回:(dx)=结果的高16位,(ax)=结果的低16位 
      (cx)=余数 
 
assume cs:code
 stack segment
 db 16 dup(0) ;自定义栈段
 stack ends
   
code segment 
start:
    mov ...
阅读全文 | 评论次数(1) | 浏览次数(586) | 所属类型(汇编作业)

[2009-05-12 21:48] 第十章 编写子程序 1

点击查看原图
;名称:show_str 
 ;说明:在指定的位置,用指定的颜色,显示一个用0结束的字符串 
 ;参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79),(cl)=颜色,ds:si指向字符串的首地址 
 ;返回值:无  
data SEGMENT
    db 'Welcome to masm!',0  
data ENDS


CODES SEGMENT
    ASSUME CS:CODES
START:
    mov dh, 8
    mov dl, 3
    mov cl, 2
    mov ax,data  
    mo...
阅读全文 | 评论次数(4) | 浏览次数(632) | 所属类型(汇编作业)

[2009-05-08 22:41] 第四章实验

第(1)和(2)两题就不写了,下面写一下第(3)题的结果:
(3)PSP的头两个字节是CD 20,用Debug加载程序,查看psp的内容如下所示:

C:\>debug shiyan3.exe
-r
AX=0000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=150C  ES=150C  SS=151C  CS=151C  IP=0000   NV UP EI PL NZ NA PO NC
151C:0000 B80020        MOV     AX,2000
-
-d 150C:...
阅读全文 | 评论次数(1) | 浏览次数(596) | 所属类型(汇编作业)

[2009-05-08 21:42] 第六章 作业整理

实验五 
第一题 

CS=151Ch,SS=151Ah,DS=151Bh 
data段的段地址为x-2,stack段的段地址为x-1 

第二题 

CS=151Ch,SS=151Ah,DS=151Bh 
data段的段地址为x-2,stack段的段地址为x-1 

实际占有空间是 比n大的最小的16的倍数 

第三题 

CS=151Ah,SS=151Dh,DS=151Eh 
data段的段地址为x+3,stack段的段地址为x+4 

第四题 
只有第三个可以正确执行,用DEBUG可以查看到内存单元寄存器的状态,此时只有第三个的cs:ip给出了正确的...
阅读全文 | 评论次数(1) | 浏览次数(606) | 所属类型(汇编作业)

[2009-05-08 10:18] 实验9 根据材料编程

点击查看原图
一、实验目的
    熟悉80 x 25彩色字符模式显示缓冲区的特点,进一步熟练掌握汇编语法的知识应用。
二、实验内容
    题目描述:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串“welcome to masm!”。
三、实验步骤
1.        首先根据显示缓冲区的大小计算出要显示的字符串的内存地址:由于显示缓冲区为80字符×25行区域,并且其在内存地址B8000H~BFFFFH的空间里面。要在显示缓冲区的第一页的中间分别显示绿色、绿底红色、白底蓝色的字符串“welcome to masm!”这三行字符串,可计算出显示字符的起始地址为第一页的第12行,内存地址为:0b86e:40。...
阅读全文 | 评论次数(1) | 浏览次数(479) | 所属类型(汇编作业)

[2009-05-07 17:33] 第二章实验

PC机主板中的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。 

我输入的是:-d FFFF:0000 f
得到的结果是:
 .[...07/10/07..v...
阅读全文 | 评论次数(1) | 浏览次数(488) | 所属类型(汇编作业)

[2009-05-07 17:07] 第4章汇编测试题目

关于伪指令相关描述错误的是__2___。  
 1、 伪指令没有对应的机器码,只用来指导汇编过程的。  
 2、 伪指令由编译器处理,在程序中可有可无。  
 3、 编译器要通过执行伪指令才能对源程序进行相应的处理操作,完成编译工作。  
 4、 伪指令是汇编语言源程序不可缺少的组成部分。  
下列程序中,出现逻辑错误的是:__2__  
 1、 assume cs:code  
    code segment  
    mov ax,2  
    add ax,ax  
    mov ax,4c00h  
    int 21h  
    code  
 ...
阅读全文 | 评论次数(1) | 浏览次数(606) | 所属类型(汇编作业)

[2009-05-07 09:52] 第3章汇编测试解析

共5道单选题目 
能够只将al中的内容压入栈的指令序列是_____。
        1、          push al
        2、          pop ax
        3、          mov ah,0
                     push ax
        4、          mov ax,0
                     push ax

注解:1、PUSH和POP的操作对象是字,AL是字节,操作对象不一致 
      2、POP AX是出栈命令 
      3、其实我并不懂为什么要先把AH赋0,只是觉得这个比较适合, 
      4、AX值被改变
 
下列指令的书写正确的是:____
        1、          push al
        2、          mov cs:[0],d...
阅读全文 | 评论次数(1) | 浏览次数(577) | 所属类型(汇编作业)
『 查看更多文章 』