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

我的博客

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

[2010-01-26 16:35] 实验16 编写包含多个功能子程序的中断例程

assume cs:code
 stack segment
    db 128 dup (0)
 stack ends

code segment

set:jmp short sete
table  dw sub1,sub2,sub3,sub4
   sete:push bx
        mov bl,ah
        mov bh,0
        add bx,bx
        call word ptr table[bx]

        pop bx
        iret

sub1:push bx
     push cx...
阅读全文 | 评论次数(0) | 浏览次数(710) | 所属类型(汇编作业)

[2010-01-26 16:13] 对实验16知识点的深入

实验16的目的,其实是让我们了解直接定址表是怎么储存子程序入口地址的
因为table   dw sub1,sub2,sub3,sub4在debug载入之后出现一段我们看不懂的代码
我们引用一个小程序
assume cs:code
code segment
    start:nop
        nop
        mov bx,offset s2
      s2:mov ax,4c00h
         int 21h

code ends
end start
在debug载入
>-------------------------------------...
阅读全文 | 评论次数(0) | 浏览次数(628) | 所属类型(默认类型)

[2010-01-21 11:35] 实验15 (可以看到实验效果的)

//程序中加入了delay,在程序没有返回到DOS之前,按A键是可以看到效果的
============================================


assume cs:code
stack segment
  db 128 dup (0)
stack ends

code segment
  start:mov ax,stack 
        mov ss,ax
        mov sp,128
      
        push cs
        pop ds
        
        mov ax,0
 ...
阅读全文 | 评论次数(1) | 浏览次数(847) | 所属类型(汇编作业)

[2010-01-15 20:26] 实验14

学习到第14这章的朋友,估计都能解决这个问题,我自己写完之后,也去论坛看到许多朋友写的程序
当然解决的办法有很多种,有用中断的,还有定义:“9,8,7,4,2,0,“/”,“/”,“:”,“:”
我的方法跟大家都不一样,不定义数据段
================================================
assume cs:code
code segment
start:mov ax,0b800h
      mov es,ax
      mov di,21*160+50*2

      mov byte ptr es:[di+4],2fh
...
阅读全文 | 评论次数(0) | 浏览次数(570) | 所属类型(汇编作业)

[2010-01-13 11:56] 实验 13 编写、应用中断全程

(1)编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处
---我是用10号中断例程中的2号功能和9号功能来循环输出
-------------------------------------------------
代码如下:
assume cs:code
code segment
start:mov ax,cs
      mov ds,ax
      mov si,offset showstr

      mov ax,0
      mov es,ax
      mov di,200h
      mov cx,...
阅读全文 | 评论次数(0) | 浏览次数(660) | 所属类型(汇编作业)

[2010-01-08 15:47] 实验12 编写0号中断的处理程序

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
为了验证程序的正确性,我直接在程序中加入了除法溢出
这个程序刚开始写的时候,我没有在do0中加入mov ax,4c00h,int 21H这两条指令,运行后总说CPU遇到无效指令,我还找了半天问题
------------------------------------
assume cs:code
code segment
start:mov ax,cs
      mov ds,ax
      mov si,offset do0
      mov ax,0
      mov es,a...
阅读全文 | 评论次数(0) | 浏览次数(582) | 所属类型(汇编作业)

[2010-01-08 13:59] 第十二章检测题

<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>
下列指令能通过编译的是 
 1、  div [32] 
 2、  mov ax,ds:[bp] 
 3、  int 121h 
 4、  jmp 32 



在执行int指令前各个寄存器的值如下 
     AX=1221 BX=0005 CX=0014 DX=0000 SP=0016 BP=0000 SI=0000 DI=0000 
     DS=B800 ES=13F4 SS=1404 CS=1404 IP=0012 NV UP EI PL NZ NA PO NC 
     则int...
阅读全文 | 评论次数(0) | 浏览次数(569) | 所属类型(默认类型)

[2010-01-06 08:43] 实验11 编写子程序

letterc:push cx
        mov cx,0
    s:mov cl,[si]
      jcxz over
      cmp cl,61h
      jb next
      cmp cl,7ah
      ja next
      sub cl,20h
      mov [si],cl
 next:inc si
      jmp short s

 over:pop cx
      ret

这次的实验不难,记住大写字母的ASCII代码对照就行了
小写字母的范围是:61H~7AH
大写字母的范围是:41H~5AH ...
阅读全文 | 评论次数(0) | 浏览次数(612) | 所属类型(汇编作业)

[2009-12-30 16:34] OF值的判断方法

怎样判断OF的值是0还是1?
根据书本知识,如果有符号数在进行算数运算或者逻辑运算时,发生了溢出,则OF=1
          反之如果有符号数在进行算数运算或者逻辑运算时,没有发生溢出,则OF=0
如何直观的来判断,是否溢出?
我们可以这样理解,如果运算得不到正确结果,则溢出,如果能得到正确结果,则没有溢出
举例:
Mov al,80h
Add al,80h
首先看结果,运行后,al=0H,如果把数据当作是有符号数时,80h是-128的补码,两个-128之和就是-256,与结果0不符,我们就说有符号数在运算时发生溢出,OF=1
再来研究下,有符号数与无符号数
同一个数据...
阅读全文 | 评论次数(1) | 浏览次数(1515) | 所属类型(默认类型)

[2009-12-26 15:49] 课程设计1 精简版

根据朋友在我的一篇贴子里给出的代码,得到启示,把课程设计1中的dtoc_dw和dtoc合为一个子程序
下面贴出代码
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
assume cs:codesg
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','...
阅读全文 | 评论次数(0) | 浏览次数(636) | 所属类型(汇编作业)
『 查看更多文章 』