52.asm

来自「本书为清华大学第二版汇编语言的课后题详解」· 汇编 代码 · 共 49 行

ASM
49
字号
;第五章第二题
prognam segment
main proc far
     assume cs:prognam
start:
       push ds
       sub ax,ax
       push ax

next:  mov dl,0dh
       mov ah,2
       int 21h    ;打印回车
       mov dl,0ah
       mov ah,2
       int 21h
       
       mov ah,01
       int 21h    ;从键盘输入字符,字符的ascii 码在al寄存器中
       mov bl,al  ;把输入的字符送bl寄存器
       
       cmp bl,61h
       jl r         ;如果输入字符的Ascii码小于a的 ascii码退出
       jz suc       ;如果输入字符等于a,只打印后导字符,不打印前导字符。
       cmp bl,7ah
       jg r         ;如果输入字符的Ascii码大于z的 ascii码退出,即如果输入字符不在  a~z之间就退出
              

       mov dl,bl
       dec dl
       mov ah,02
       int 21h
       cmp dl,79h
       je next   ;比较打印的字符与z是否相同,如果相同只打印前导字符,不打印后导字符,直接从键盘输入下一个字符。
suc:   mov dl,bl
       inc dl
       mov ah,2
       int 21h
       
       jmp next   ;前导字符和后导字符都打印完了,输入下一个字符打印
    
       
       
    r:  ret
    main endp
    prognam ends
      end


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?