| 
 | 
 
 
发表于 2017-5-7 14:09:43
|
显示全部楼层
 
 
 
你为什么不调试程序? 
 
 
延时部分有问题,已经修复 
- assume cs:code
 
  
- stack segment
 
 -     db 128 dup(0)
 
 - stack ends
 
  
- code segment
 
 - start:
 
 -         mov ax, stack
 
 -         mov ss, ax
 
 -         mov sp, 128
 
  
-         call show_ch
 
  
-         mov ax, 4c00H
 
 -         int 21H
 
 -         
 
 - ;==========================================
 
  
- show_ch:
 
 -         push ax
 
 -         push es
 
 -         push di
 
  
-         mov ax, 0b800H
 
 -         mov es, ax
 
 -         
 
 -         mov di, 160*12+40*2
 
 -         mov al, 'a'
 
 - print:
 
 -         mov es:[di],al
 
 -         inc al
 
 -         
 
 -         call delay
 
 -         
 
 -         cmp al, 'z'
 
 -         jna print
 
  
-         pop di
 
 -         pop es
 
 -         pop ax
 
 -         ret
 
 -         
 
 - ;==========================================
 
  
- delay:
 
 -         push ax
 
  
-         mov al, 0
 
 -         out 70H, al
 
 -         
 
 -         in al, 71H
 
 -         mov ah, al
 
 -         
 
 - delay_s:
 
 -         mov al, 0
 
 -         out 70H, al
 
 -         
 
 -         in al, 71H
 
 -         cmp ah, al
 
 -         je  delay_s
 
  
-         pop ax
 
 -         ret
 
 -         
 
 - code ends
 
  
- end start
 
 
  复制代码 |   
 
 
 
 |