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

我的博客

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

[2011-04-24 20:07] 实验13 编写,应用中断程序3

点击查看原图
(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
        m...
阅读全文 | 评论次数(0) | 浏览次数(476) | 所属类型(实验)

[2011-04-24 19:50] 实验13 编写,应用中断程序2

点击查看原图
第一段程序:

;安装int7ch中断例程
;功能为完成loop指令的功能。
assume cs:code
code segment
  start:mov ax,cs
        mov ds,ax
        mov ax,0
        mov es,ax
        mov si,offset lp
        mov di,200H
        mov cx,offset lpend-offset lp
        rep movsb 
        
        mov word ptr es:[7cH*4],200H...
阅读全文 | 评论次数(0) | 浏览次数(527) | 所属类型(实验)

[2011-04-24 19:37] 实验13 编写,应用中断程序1

点击查看原图
第一段程序:
;把之前show_str子程序修改一下变成中断例程
assume cs:code
data segment
    db "Welcome to masm!",0
data ends

code segment
  start: mov ax,cs
         mov ds,ax
         mov ax,0
         mov es,ax
         mov si,offset in7c
         mov di,200H
         mov cx,offset in7cend-offset in7c
     ...
阅读全文 | 评论次数(0) | 浏览次数(538) | 所属类型(实验)

[2011-04-21 22:27] 实验12 编写0号中断程序

点击查看原图
;用心,细心,不要因为书上有,就对着抄。还是要自己动手写一遍才能更深刻地记住。

assume cs:code

code segment
 start:mov ax,cs
        mov ds,ax
        mov ax,0
        mov es,ax
        mov si,offset in0    ;指向要复制指令的首地址
        mov di,200H          ;要复制到的起始地址
        mov cx,offset in0end-offset in0  ;计算0中断程序的字节数
        
  ...
阅读全文 | 评论次数(0) | 浏览次数(574) | 所属类型(实验)

[2011-04-21 11:38] 实验11 编写子程序letterc

点击查看原图
有了前面编写子程序的经验,现在编写这个letterc也容易多了。
这个实验要判断字母是否[a,z]成为关键。我还多调用了之前显示字符串的子程序,用来验证call letterc是否正确执行。。。
以下是代码:

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
         ...
阅读全文 | 评论次数(0) | 浏览次数(539) | 所属类型(实验)

[2011-04-19 18:45] 实验10 编写子程序3 数值显示

点击查看原图
assume cs:code

data segment
 db 10 dup (0)
data ends 
stack segment
    db 64 dup (0)
stack ends

code segment
 start: mov ax,stack
        mov ss,ax
        mov sp,64
 
       mov ax,12666
       mov bx,data
       mov si,0
       call dtoc
       
       mov dh,8
       mov dl...
阅读全文 | 评论次数(0) | 浏览次数(235) | 所属类型(实验)

[2011-04-18 21:42] 实验10 编写子程序2 divdw

点击查看原图
;子程序2 解决除法溢出
; 应用举例:计算1000000/10(F4240H/0AH)
assume cs:code
stack segment
  db 16 dup (0)
stack ends
code segment 
  start:mov ax,stack
        mov ss,ax
        mov sp,16

        mov ax,4240H
        mov dx,000FH
        mov cx,0AH
        call divdw
      
        mov ax,4c00H
        int 21H
      ...
阅读全文 | 评论次数(0) | 浏览次数(254) | 所属类型(实验)

[2011-04-18 20:42] 实验10 编写子程序1 显示字符串

点击查看原图
;实验10 编写子程序  t10a.asm
;子程序1 显示子符串show_str
;
;应用举例:在屏幕8行3列,用绿色显示DATA段的字符串

assume cs:code

data segment
  db 'Welcome to masm!',0
data ends

code segment
start:         mov dh,8    ;行
        mov dl,3        ;列
        mov cl,2        ;颜色
        mov ax,data
        mov ds,ax
        mov si,0        ;si指向字符串首地址
        call show_s...
阅读全文 | 评论次数(0) | 浏览次数(494) | 所属类型(实验)

[2011-04-18 08:05] 实验9 根据材料编程 还有一些不解

点击查看原图
说实在,我对这题的运行环境有很大的不解.一开始的时候,是在2003系统下编写的程序,无论如何也得不到字符显示在屏幕上.后来,把它拿到XP系统下,运行,OK.再后来,拿到win7系统下.....跟2003系统一样.无法得出结果.单步调试的结果:看到改写相应的内存单元,用D查看却是不一样的结果..希望有高人指点一下迷津!XP系统环境跟2003,win7差别在哪里?指的是运行汇编程序的不一样.

;实验9 根据材料编程
;书p197页

assume cs:code 

data segment
  db 'Welcome to masm!'
data ends
  
 cod...
阅读全文 | 评论次数(0) | 浏览次数(340) | 所属类型(实验)

[2011-04-16 19:15] 实验8 分析一个奇怪的程序

点击查看原图
程序能正确返回,就因为复制的是指令代码,而不是汇编语句。
指令代码中IP的位移又刚好指向第一条指令,真是鬼使神猜...
阅读全文 | 评论次数(0) | 浏览次数(211) | 所属类型(实验)
页码数(2):  1  2