zoukankan      html  css  js  c++  java
  • 汇编语言(王爽 第三版)第十七章字符串的输入

        assume cs:code
        data segment
        db 128 dup (0)
        data ends
        
        code segment
    start:    mov ax,data
        mov ds,ax
        mov dh,24
        mov dl,2
        mov si,0
    
        call getstr
        mov ax,4c00h
        int 21h
    
    getstr:
        push ax
    getstrs:
        mov ah,0
        int 16h
        cmp al,20h
        jb nochar
        mov ah,0
        call charstack
        mov ah,2
        call charstack
        jmp getstrs
    nochar:
        cmp ah,0eh
        je backspace
        cmp ah,1ch
        je enter
        jmp getstrs
    backspace:
        mov ah,1
        call charstack
        mov ah,2
        call charstack
        jmp getstrs
    enter:
        mov al,0
        mov ah,0
        call charstack
        mov ah,2
        call charstack
        pop ax
        ret
        
    charstack:
        jmp short charstart
        table     dw charpush,charpop,charshow
        top    dw 0
    charstart:
        push bx
        push dx
        push di
        push es
        cmp ah,2
        ja sret
        mov bl,ah
        mov bh,0
        add bx,bx
        jmp word ptr table[bx]
    
    charpush:
        mov bx,top
        mov [si][bx],al
        inc top
        jmp sret
    charpop:
        cmp top,0
        je sret
        dec top
        mov bx,top
        mov al,[si][bx]
        jmp sret
    charshow:
        mov bx,0b800h
        mov es,bx
        mov al,160
        mov ah,0
        mul dh
        mov di,ax
        add dl,dl
        mov dh,0
        add di,dx
        mov bx,0
    charshows:
        cmp bx,top
        jne noempty
        mov byte ptr es:[di],' '
        jmp sret
    noempty:
        mov al,[si][bx]
        mov es:[di],al
        mov byte ptr es:[di+2],' '
        inc bx
        add di,2
        jmp charshows
    sret:    pop es
        pop di
        pop dx
        pop bx
        ret
        code ends
        end start
  • 相关阅读:
    字符编码
    visual studio 2015 安装记录和问题修复
    TCP状态转换图的理解
    静态库与动态库的编译链接
    运行库glibc
    堆栈的简单认识
    Makefile学习总结
    关于STM32单片机的IAP实现
    ubuntu12.0.4安装启动后无法进入图形操作界面
    观察者模式
  • 原文地址:https://www.cnblogs.com/monster-prince/p/5543543.html
Copyright © 2011-2022 走看看