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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2010-05-06 10:43] 第十五章笔记

1、发现在新int9中断程序中,将调用原int9中断那两条指令写到“F1”后面,则实现不了F1改变颜色的功能,暂时不知道为什么?
  回答:因为正常情况下汇编是顺序执行的,所以得先执行原int9的功能来处理键盘输入细节,后再执行新功能。

2、在实现“在屏幕上显示‘a’到‘z’的例子”中,主程序后有段“将int9恢复为原来的地址”的指令,删去后程序仍能正常运行功能,不知道作用在什么?
  回答:为保证程序的完整性。因为实现该程序后,将原int9的地址移走了,以后的程序使用int9中断就不行了,所以得把原int9恢复。...
阅读全文 | 评论次数(0) | 浏览次数(555) | 所属类型(阶段心得)

[2010-05-03 11:27] “在屏幕中间显示当前月份”的问题

看到这条程序,分开个位十位,我就想到div,调试成功,大家学习指教~ 
 原程序:    
    mov ah,al 
    mov cl,4 
    shr ah,cl ;除以16得到十位数 
    and al,00001111b ;得到个位的数 
    add ah,30h 
    add al,30h 
   结果:al放个位,ah放十位 
 改写的程序: 
     mov ah,0 
    mov bl,16 
    div bl ;al存放商(十位),ah存放余数(个位) 
    add ah,30h 
    add al,30h ...
阅读全文 | 评论次数(0) | 浏览次数(580) | 所属类型(阶段心得)

[2010-04-25 17:56] 关于T执行与G执行(1)

今天做rep movsb(P232)页时,发现用G直接执行完程序,寄存器不会改变,用T单步执行就能改变。有待发掘。
data segment
        db 'welcome to masm!'
        db 16 dup (0)
data ends

cod segment
        start:
        mov ax,data 
        mov ds,ax
        
        mov si,0
        mov di,16
        
        mov cx,16
        s:
        mov al,[si]
        mov [di],al
        inc di
        inc si
        loop s
        
        mov ax,4c00h
        int 2...
阅读全文 | 评论次数(2) | 浏览次数(508) | 所属类型(阶段心得)
页码数(1):  1