鱼C论坛

 找回密码
 立即注册
查看: 3134|回复: 3

关于汇编语言int9中断的问题?

[复制链接]
发表于 2020-1-29 23:59:33 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wwwzuocom 于 2020-2-2 20:37 编辑

assume cs:code
stack segment
  db 128 dup (0)
stack ends

data segment
  dw 0,0
data ends

code segment
  start:mov ax,stack
        mov ss,ax
        mov sp,128
        
        mov ax,data
        mov ds,ax

        mov ax,0
        mov es,ax

        push es:[9*4]
        pop ds:[0]
        push es:[9*4+2]
        pop ds:[2]

        mov word ptr es:[9*4],offset int9
        mov es:[9*4+2],cs
        
         
        mov ax,0b800h
        mov es,ax
        mov ah,"a"
      s:mov es:[160*12+40*2],ah
        call delay
        inc ah
        cmp ah,"z"
        jna s
      
      

        mov ax,0
        mov es,ax

        push ds:[0]
        pop es:[9*4]
        push ds:[2]
        pop es:[9*4+2]
      
        mov ax,4c00h
        int 21h
        
  int9:push ax
       push bx
       push es
      
        
       ;in al,60h
      
       ;pushf
       ;pushf                                                在上面显视字母时只要按ESC不就产生中断把IF和TF设为0标志和CS 和IP 入栈吗
       ;pop bx                                           此处屏弊为什么字母的颜色只变一下不能多变?
       ;and bh,11111100b                        不是应该每按一下ESC都要进到这里颜色都要变一下吗?
       ;push bx
       ;popf
       ;call dword ptr ds:[0]
       ;cmp al,1
       ;jne int9ret
       mov ax,0b800h
       mov es,ax  
       inc byte ptr es:[160*12+40*2+1]
            
int9ret:pop es
         pop bx
         pop ax
         iret                                            上面按下ESC  标志和CS 和IP 入栈到这里iret出栈不对吗?                           
         

  delay:push ax                        也不知我说的清楚不求大神指点迷津
        push dx
        
        mov ax,0
        mov dx,1000h
     s1:sub ax,1
        sbb dx,0
        cmp ax,0
        jne s1
        cmp dx,0
        jne s1
        pop dx
        pop ax
        ret
      


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

使用道具 举报

发表于 2020-1-30 12:33:38 | 显示全部楼层
编语言??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-2 20:45:27 | 显示全部楼层

assume cs:code
stack segment
  db 128 dup (0)
stack ends

data segment
  dw 0,0
data ends

code segment
  start:mov ax,stack
        mov ss,ax
        mov sp,128
        
        mov ax,data
        mov ds,ax

        mov ax,0
        mov es,ax

        push es:[9*4]
        pop ds:[0]
        push es:[9*4+2]
        pop ds:[2]

        mov word ptr es:[9*4],offset int9
        mov es:[9*4+2],cs
        
         
        mov ax,0b800h
        mov es,ax
        mov ah,"a"
      s:mov es:[160*12+40*2],ah
        call delay
        inc ah
        cmp ah,"z"
        jna s
      
      

        mov ax,0
        mov es,ax

        push ds:[0]
        pop es:[9*4]
        push ds:[2]
        pop es:[9*4+2]
      
        mov ax,4c00h
        int 21h
        
  int9:push ax
       push bx
       push es
      
        
       in al,60h
      
       ;pushf
       ;pushf                                                
       ;pop bx                                          
       ;and bh,11111100b                        
       ;push bx
       ;popf                           我是想问把加分号的地方屏弊了为什么不能正常显视在进入int9时标志硬件自动保存了IF,TF也设0了CS和IP也入栈了最后用的iretr反回为什么不能正长显视呢
       ;call dword ptr ds:[0]
       cmp al,1
       jne int9ret
       mov ax,0b800h
       mov es,ax  
       inc byte ptr es:[160*12+40*2+1]
            
int9ret:pop es
         pop bx
         pop ax
         iret                                            上面按下ESC  标志和CS 和IP 入栈到这里iret出栈不对吗?                           
         

  delay:push ax                        也不知我说的清楚不求大神指点迷津
        push dx
        
        mov ax,0
        mov dx,1000h
     s1:sub ax,1
        sbb dx,0
        cmp ax,0
        jne s1
        cmp dx,0
        jne s1
        pop dx
        pop ax
        ret
      


code ends
end start
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 16:24:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 07:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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