鱼C论坛

 找回密码
 立即注册
查看: 1586|回复: 1

实验16的org指令

[复制链接]
发表于 2014-10-8 09:33:50 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 avatar10010 于 2014-10-8 09:55 编辑

问一下在本程序中如果不加org 200h,则call table[0]就不能正确找到对应的函数,这是为什么呢??



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 sub2
begin:
        call table[0]
        iret
        
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
         
endscreen:
        nop  
           
code ends
end start


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 20:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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