鱼C论坛

 找回密码
 立即注册
查看: 2722|回复: 4

[汇编作业] 实验16

[复制链接]
发表于 2014-10-7 22:59:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 avatar10010 于 2014-10-8 10:52 编辑
assume cs:code
code segment
start:                    
    mov ax,cs
    mov ds,ax
    mov si,setscreen  
    xor ax,ax
    mov es,ax
    mov di,200h
    mov cx,endscreen-setscreen
    cld
    rep movsb
    mov word ptr es:[7ch*4],200h
    mov word ptr es:[7ch*4+2],0

    mov ah,2     ;测试int 7ch中断
    mov al,4     ;测试int 7ch中断
    int 7ch      ;测试int 7ch中断
    mov ax,4c00h
    int 21h           
    org 200h
        
setscreen:
        jmp begin
        table dw sub0,sub1, sub2, sub3  
begin:
        push bx
        cmp ah,3
        ja sret
        mov bl,ah
        xor bh,bh
        add bx,bx
        call table[bx]
sret:
        pop bx
        iret
        
sub0:
        push bx
        push cx
        push es
        
        mov bx,0b800h
        mov es,bx
        xor bx,bx
        mov cx,2000
s0:
        mov byte ptr es:[bx],' '
        add bx,2
        loop s0
        
        pop es
        pop cx
        pop bx
        ret
        
sub1:
        push bx
        push cx
        push dx
        push es
        
        mov bx,0b800h
        mov es,bx
        mov bx,1
        and byte ptr es:[bx],11111000b
        or es:[bx],al
        mov dl,es:[bx]
        mov cx,2000
s1:
        mov es:[bx],dl
        add bx,2
        loop s1
                
        pop es
        pop dx
        pop cx
        pop bx
        ret
        
sub2:
        push bx
        push cx
        push dx
        push es
        
        mov cl,4
        shl al,cl
        mov bx,0b800h
        mov es,bx
        mov bx,1
        and byte ptr es:[bx],10001111b
        or es:[bx],al
        mov dl,es:[bx]
        mov cx,2000
s2:
        mov es:[bx],dl
        add bx,2
        loop s2
        
        pop es
        pop dx
        pop cx
        pop bx
        ret
        
sub3:
        push cx
        push si
        push di
        push es
        push ds
        
        mov si,0b800h
        mov es,si
        xor di,di
        mov ds,si
        mov si,160
        mov cx,24*80
        cld
        rep movsw
        
        mov cx,80
s3:
        mov byte ptr es:[di],' '
        add di,2
        loop s3
        
        pop ds
        pop es
        pop di
        pop si
        pop cx
        ret  
         
endscreen:
        nop  
           
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-8 08:16:03 From FishC Mobile | 显示全部楼层
int 7ch 是计算ax的平方的 mov ah 0时ax已经为0了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-8 09:20:03 | 显示全部楼层
15岁的小朋友 发表于 2014-10-8 08:16
int 7ch 是计算ax的平方的 mov ah 0时ax已经为0了

我是重新安装的int 7ch中断例程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-11-1 01:54:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-21 23:42:44 | 显示全部楼层
偏移很容易混淆
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 20:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表