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

我的博客

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

[2009-01-30 17:26] 实验16

点击查看原图
assume cs:code 

code segment

start:
        mov ax,cs
        mov ds,ax
        mov si,offset iret_begin_1  ;安装源程序地址
        
        mov ax,0      ;安装目标程序地址
        mov es,ax
        mov di,200h

        mov cx,offset iret_end - offset iret_begin_1
        cld
        rep movsb ;if (cx!=0) jmp movbs;cx-=1;
        
        mov ax,0
        mov es,ax
        mov word ...
阅读全文 | 评论次数(2) | 浏览次数(524) | 所属类型(汇编作业)

[2009-01-26 16:51] 实验15

点击查看原图
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
      mov es,ax
      
      mov si,offset int9 ;指向源数据区
      
      mov di,204h ;指向目的数据区
...
阅读全文 | 评论次数(1) | 浏览次数(786) | 所属类型(汇编作业)

[2009-01-24 21:39] 15.5  安装新的int 9中断例程 的显示颜色的疑问3

在程序中,我发现pushf后,直到int9 这段子程序结束,都没有执行popf,那么保存pushf有什么用?请看标号int9ret处。

int9:
     push ax
     push bx
     push cx
     push es
     
     in al,60h ;把端口60h内容读入 
     
    
     pushf
     
     call dword ptr cs:[200h];调用原来的int 9中断例程 
     
     cmp al,3bh
     jne int9ret
     
  ...
阅读全文 | 评论次数(1) | 浏览次数(533) | 所属类型(汇编作业)

[2009-01-24 21:29] 15.5  安装新的int 9中断例程 的显示颜色的疑问(2)

点击查看原图
如果我从debug退出后,再进入debug,然后按F1,那么这时候出现两个界面,不能同步改变相同颜色,也就是说上面那个debug与下面debug会同时改变颜色,但改变各自的颜色。...
阅读全文 | 评论次数(2) | 浏览次数(578) | 所属类型(汇编作业)

[2009-01-24 21:26] 15.5  安装新的int 9中断例程 的显示颜色的疑问

点击查看原图
我把书本的程序运行了一下,发现以下问题:
1.如何实现按F1键后改变当前屏幕的显示颜色?

我把程序运行了后,发现不能改变屏幕显示颜色,要进入debug后,然后按F1才能实现改变屏幕显示颜色。...
阅读全文 | 评论次数(2) | 浏览次数(736) | 所属类型(汇编作业)

[2009-01-24 20:56] 检测点15.1

pushf
pushf
pop ax
and ah,11111100b
push ax
popf
call dword ptr ds:[0]

可以精简为:
pushf
call dword ptr ds:[0]
两条指令...
阅读全文 | 评论次数(2) | 浏览次数(561) | 所属类型(汇编作业)

[2009-01-24 20:47] 实验14

点击查看原图
assume cs:code,ds:data,ss:stack

data segment

interface db 9,8,7,4,2,0
time      db 18 dup(0)
struct    db 'x','x','/','x','x','/','x','x',' ','x','x',':','x','x',':','x','x',0


data ends

stack segment

db 10 dup(0)

stack ends



code segment
start:
      mov ax,data
      ...
阅读全文 | 评论次数(2) | 浏览次数(661) | 所属类型(汇编作业)

[2009-01-24 20:10] 检测点14.2

点击查看原图
用加法和移位指令计算(ax)=(ax)*10

assume cs:code

code segment
start:
      
      mov bx,0
      mov ax,0011h
      mov cl,1
      shl ax,cl ;左移1位相当于乘以2
      add bx,ax
      
      mov ax,0011h
      mov cl,3
      shl ax,cl;左移3位相当于乘以8
      add bx,ax
      
      
      mov ax,4c00h
   ...
阅读全文 | 评论次数(0) | 浏览次数(432) | 所属类型(汇编作业)

[2009-01-24 20:02] 检测点14.1(2)

点击查看原图
向CMOS RAM的2号单元写入0

assume cs:code

code segment
start:
        mov al,2
        out 70h,al
        in  al,71h ;观察没有写入之前的系统时间
        mov ah,al

        mov al,0
        out 71h,al
        in  al,71h;观察是否写入成功
        mov ah,al

         mov ax,4c00h
        int 21h

code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(586) | 所属类型(汇编作业)

[2009-01-24 19:44] 检测点14.1

点击查看原图
1.读取 CMOS RAM 的2号单元的内容


assume cs:code

code segment
start:
        mov al,2 ;把CMOS RAM中的2号单元写入端口70h
        out 70h,al
        in al,71h ;从端口71h读取CMOS RAM中的2号单元的内容
        mov ah,al
         mov ax,4c00h
        int 21h

code ends
end start...
阅读全文 | 评论次数(1) | 浏览次数(613) | 所属类型(汇编作业)
『 查看更多文章 』