实验要求:
从键盘输入7位二进制数,显示对应的字符,回车键退出循环,终止程序。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
code segment assume cs:code start: mov bl,0 mov cx,7;循环为7次 L1: mov ah,1 int 21h;接受数字 cmp al,0dh;回车键退出 jz exit cmp al,30h jl exit cmp al,31h jg exit;无效输入 shl bl,1;算数左移,每输入一个字符,执行L1一次,BL向左移动一次 sub al,30h and al,01h add bl,al;将判断之后的AL的值给BL,防止程序执行过程中改变部分值 loop L1 output: mov dl,13 mov ah,2 int 21h;输出换行符 mov dl,10 mov ah,2 int 21h mov dl,bl mov ah,2 int 21h exit: mov ah,4ch int 21h code ends end start |
输入0110011即33H是3的码,注意只要输入7位即可,第一个0省略了。