키보드에서 N자 이하, N자 이하를 입력하여 이 N자 중 A의 수를 구하고 A의 수를 화면에 표시합니다.

5239 단어

emu8086 어셈블리 언어


키보드에서 N자(N<16)를 입력하여 이 N자 중'A'의 수를 구하고'A'의 수를 화면에 표시합니다.


주: 절차는 여러분의 교류와 참고만 제공할 뿐이니 그대로 베끼지 마세요.


data segment

    string db "input string:$"

ends

 

stack segment

    dw  128  dup(0)

ends

 

code segment

    assume ds:data,cs:code;

start:

    mov ax, data;

    mov ds, ax ;

    lea dx, string;

    mov ah, 9;

    int 21h; 

    mov si,00h;

    mov dx,0000h;      

      

l0: mov ah, 1;

    int 21h;

    cmp al,0dh;

    jz l1;

    call countA;

    jmp l0;

    

l1: mov si,dx;

    mov ah,2;

    mov dl,0ah;

    int 21h;

    mov dl,0dh;

    int 21h;//
\r
call output; mov ax, 4c00h ; int 21h countA proc cmp al,'A'; jz plus; ret; plus: add dl,1; ret; countA endp; output proc cmp si,10; jb l2; sub si,10; mov dl,31h; mov ah,2; int 21h; l2: mov dx,si; add dx,30h; mov ah,2; int 21h; ret; output endp; ends; end start ;

4
  • cmp al, 0dh로 사용;문이 입력의 끝 여부를 판단합니다

  • 4
  • 출력할 때 A의 개수가 10보다 크고 10보다 작은 경우

  • 4
  • 출력할 때dl에 30을 더해서 숫자에 대응하는 ASCII 코드 값을 받아야 한다
  • 좋은 웹페이지 즐겨찾기