| 
 | 
 
 
发表于 2021-3-9 10:12:12
|
显示全部楼层
 
 
 
- data segment para public 'DATA'
 
 -     db "Beginner's All-purpose Symbolic Instruction Code.",0
 
 - data ends
 
  
- stack segment para stack 'STACK' 
 
 -     dw 800h dup(00)
 
 - stack ends
 
  
- code segment para public 'CODE'
 
  
- assume cs:code , ds:data
 
  
- letterc proc near
 
 -          push ax
 
 -          push si
 
 -          push di
 
 -          push es
 
 -          push ds
 
 -          pop  es
 
 -          push si
 
 -          pop di
 
 -          cld
 
 - let_01:  lodsb
 
 -          or al,al
 
 -          jz let_03
 
 -          cmp al,'a'
 
 -          ja let_02
 
 -          cmp al,'z'
 
 -          jb let_02
 
 -          sub al,20h
 
 - let_02:  stosb
 
 -          jmp short let_01
 
 - let_03:  pop es
 
 -          pop di
 
 -          pop si
 
 -          pop ax
 
 -          ret
 
 - letterc endp
 
  
- main proc far
 
 -         mov ax,data
 
 -         mov ds,ax
 
 -         mov si,0
 
 -         call letterc
 
 -         mov ax,4c00h
 
 -         int 21h
 
 - main endp
 
 - code ends
 
 - end main
 
  复制代码 |   
 
 
 
 |